import { type ElementType, useState } from 'react'; import { Button, Flex, TwoButtonDialog } from '@quotalab/qds'; import { OverlayProvider, useOverlay, overlays } from '.'; export default { title: 'Overlay Manager / Event', decorators: [ (Story: ElementType) => ( ), ], }; export function Default() { const { overlayList } = useOverlay(); return ( { overlays.open(({ overlayId }) => { return ( overlays.close(overlayId)}> Overlay Component # {overlayId} ); }); }} > open content modal overlayList {overlayList.map((item) => { return id: {item.id}; })} ); } export function RemovePrevModal() { const [overlayId, setOverlayId] = useState(); const { overlayList } = useOverlay(); return ( { if (overlayId != null) overlays.close(overlayId); overlays.open(({ overlayId }) => { setOverlayId(overlayId); return ( overlays.close(overlayId)}> Overlay Component # {overlayId} ); }); }} > open content modal overlayList {overlayList.map((item) => { return id: {item.id}; })} ); } export function OpenOverlay() { const { overlayList } = useOverlay(); return ( { overlays.open(({ isOpen, onClose }) => { return ; }); }} > openOverlay overlayList {overlayList.map((item) => { return id: {item.id}; })} ); }
overlays.close(overlayId)}> Overlay Component # {overlayId}
overlayList