/*! * Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved. * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.") * * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and limitations under the License. */ import { type ReactNode } from "react"; export type FullScreenOverlayContextType = { /** * If `true`, the component is already rendering inside an overlay's container, so an overlay opened from it renders into that same container. */ isWithinOverlay?: boolean; overlayEmotionRootElement?: HTMLDivElement | HTMLElement; overlayShadowRootElement?: HTMLDivElement | HTMLElement; }; export declare const FullScreenOverlayContext: import("react").Context; export declare const useFullScreenOverlayContext: () => FullScreenOverlayContextType; export declare const OVERLAY_DATA_ATTRIBUTES: { readonly dialog: "data-odyssey-react-dialog-overlay-component"; readonly drawer: "data-odyssey-react-drawer-overlay-component"; readonly toastStack: "data-odyssey-react-toast-stack-overlay-component"; readonly default: "data-odyssey-react-overlay-component"; }; export type OverlayType = keyof typeof OVERLAY_DATA_ATTRIBUTES; export type FullScreenOverlayProviderProps = { children: ReactNode; /** * An optional HTML `id` attribute to be applied to the overlay's container element. */ fullScreenOverlayId?: string; hasShadowDom?: boolean; /** * @experimental This is the element overlays will render into. By default, it's set to `document.body`. * * If you specify this value , it will render overlays into this container, such as the `shadowRootElement` over the document body. Most likely, you don't need to change this value, but you might run into strange issues related iframes and other shadow roots. This is here as a safeguard; not meant to be used. */ overlayParentElement?: HTMLDivElement | HTMLElement; /** * Type of overlay being rendered. This controls the data attribute set on the overlay parent element. * @default "default" * @deprecated Overlays no longer create containers of their own, so the app's one container only needs `data-odyssey-react-overlay-component`. Select overlays by that attribute and the app's `fullScreenOverlayId`. */ overlayType?: OverlayType; }; declare const MemoizedFullScreenOverlayProvider: import("react").MemoExoticComponent<({ children, hasShadowDom, overlayParentElement: overlayParentElementProp, overlayType, fullScreenOverlayId, }: FullScreenOverlayProviderProps) => import("@emotion/react/jsx-runtime").JSX.Element>; export { MemoizedFullScreenOverlayProvider as FullScreenOverlayProvider }; //# sourceMappingURL=FullScreenOverlayContext.d.ts.map