ov25-ui
Version:
A UI configurator for OV25 product visualization
23 lines (22 loc) • 1.21 kB
TypeScript
import React from 'react';
export declare const MODAL_GALLERY_SLOT_ID = "ov25-modal-gallery-slot";
export interface ConfiguratorModalProps {
isOpen: boolean;
onClose: () => void;
/** Ignored when useGallerySlot is true. */
children?: React.ReactNode;
/** Empty gallery slot; useIframePositioning moves the preloaded iframe here. */
useGallerySlot?: boolean;
/** Snapshot shown in the slot while the backdrop fades in; iframe mounts after `onModalShellOpeningComplete`. */
galleryOpeningBitmap?: ImageBitmap | null;
/** When true, the bitmap layer is hidden so the repositioned iframe can cover the slot. */
suppressGalleryOpeningBitmap?: boolean;
/** Fires when the modal backdrop has finished opening (opacity in). Parent then enables iframe positioning. */
onModalShellOpeningComplete?: () => void;
/**
* When true (deferred preload gallery, no opening bitmap), notify shell ready after layout (~2 rAF) instead of
* waiting for opacity transitionend / fallback timer so the iframe tracks the modal open on mobile.
*/
earlyShellReadyForDeferredGallery?: boolean;
}
export declare const ConfiguratorModal: React.FC<ConfiguratorModalProps>;