@wow-two-beta/ui 0.0.71 → 0.0.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-VYFPLQPV.js → chunk-2L7KB7ZG.js} +4 -4
- package/dist/chunk-2L7KB7ZG.js.map +1 -0
- package/dist/{chunk-RNHY33US.js → chunk-2YBWJHVV.js} +5 -5
- package/dist/chunk-2YBWJHVV.js.map +1 -0
- package/dist/{chunk-ORYO55KN.js → chunk-5CZUTB7Q.js} +15 -15
- package/dist/chunk-5CZUTB7Q.js.map +1 -0
- package/dist/{chunk-QTHKG7MQ.js → chunk-5DRWPYQ2.js} +8 -8
- package/dist/chunk-5DRWPYQ2.js.map +1 -0
- package/dist/{chunk-D7ZFCHX5.js → chunk-6WPRGGCJ.js} +4 -4
- package/dist/chunk-6WPRGGCJ.js.map +1 -0
- package/dist/{chunk-XOUAFZ2E.js → chunk-AXSWZXPJ.js} +11 -11
- package/dist/chunk-AXSWZXPJ.js.map +1 -0
- package/dist/{chunk-VTRPW2QQ.js → chunk-BFQX2J5L.js} +14 -14
- package/dist/chunk-BFQX2J5L.js.map +1 -0
- package/dist/{chunk-UFTKE5U7.js → chunk-DRUWR4VC.js} +15 -15
- package/dist/chunk-DRUWR4VC.js.map +1 -0
- package/dist/{chunk-KD6MJOL5.js → chunk-DVN7XGVN.js} +16 -16
- package/dist/chunk-DVN7XGVN.js.map +1 -0
- package/dist/{chunk-LS4EGKUK.js → chunk-EI7EKA2V.js} +12 -12
- package/dist/chunk-EI7EKA2V.js.map +1 -0
- package/dist/{chunk-XFUD3RZK.js → chunk-FSKL2DAK.js} +10 -10
- package/dist/chunk-FSKL2DAK.js.map +1 -0
- package/dist/{chunk-OZBLEOLZ.js → chunk-GCBZ6FF7.js} +4 -4
- package/dist/chunk-GCBZ6FF7.js.map +1 -0
- package/dist/{chunk-GPMNI5MG.js → chunk-JU5KT24H.js} +6 -6
- package/dist/chunk-JU5KT24H.js.map +1 -0
- package/dist/{chunk-B4X7XXSM.js → chunk-NY7OZGNY.js} +5 -5
- package/dist/chunk-NY7OZGNY.js.map +1 -0
- package/dist/{chunk-D4ZT36AZ.js → chunk-PCRID2JL.js} +2 -2
- package/dist/chunk-PCRID2JL.js.map +1 -0
- package/dist/{chunk-KZLEHWAJ.js → chunk-PNHIAN3U.js} +5 -5
- package/dist/chunk-PNHIAN3U.js.map +1 -0
- package/dist/{chunk-3FJ7WWRB.js → chunk-Q3HSAOWW.js} +15 -14
- package/dist/chunk-Q3HSAOWW.js.map +1 -0
- package/dist/{chunk-X5JSX4PU.js → chunk-QVY7SIMR.js} +8 -8
- package/dist/chunk-QVY7SIMR.js.map +1 -0
- package/dist/{chunk-F4HGQMUI.js → chunk-SVSFK6TB.js} +2 -2
- package/dist/chunk-SVSFK6TB.js.map +1 -0
- package/dist/{chunk-XSW3NZDD.js → chunk-TOB23IBK.js} +18 -18
- package/dist/chunk-TOB23IBK.js.map +1 -0
- package/dist/{chunk-UMRRFZ4R.js → chunk-XU4ZOEMV.js} +4 -4
- package/dist/chunk-XU4ZOEMV.js.map +1 -0
- package/dist/{chunk-WKVWOAQV.js → chunk-Y423OHFD.js} +3 -3
- package/dist/chunk-Y423OHFD.js.map +1 -0
- package/dist/chunk-Y572FCSC.js +43 -0
- package/dist/chunk-Y572FCSC.js.map +1 -0
- package/dist/{chunk-SIAFOCT4.js → chunk-ZOK62HJB.js} +6 -6
- package/dist/chunk-ZOK62HJB.js.map +1 -0
- package/dist/domain/color/Gradient.d.ts +45 -0
- package/dist/domain/color/GradientType.d.ts +8 -0
- package/dist/domain/color/index.d.ts +3 -0
- package/dist/domain/color/index.js +4 -0
- package/dist/{hooks → foundation/hooks}/index.js +3 -3
- package/dist/{http → foundation/http}/index.js +2 -2
- package/dist/foundation/http/index.js.map +1 -0
- package/dist/foundation/icons/index.js +6 -0
- package/dist/{primitives → foundation/primitives}/index.js +4 -4
- package/dist/{themes → foundation/themes}/index.js +2 -2
- package/dist/{utils → foundation/utils}/index.js +3 -3
- package/dist/index.d.ts +13 -12
- package/dist/index.js +24 -23
- package/dist/{actions → presentation/actions}/button/Button.d.ts +1 -1
- package/dist/{actions → presentation/actions}/button/Button.variants.d.ts +1 -1
- package/dist/{actions → presentation/actions}/fab/FAB.variants.d.ts +1 -1
- package/dist/presentation/actions/index.js +11 -0
- package/dist/{actions → presentation/actions}/link/Link.variants.d.ts +1 -1
- package/dist/{actions → presentation/actions}/toggleButton/ToggleButton.d.ts +1 -1
- package/dist/{actions → presentation/actions}/toggleButton/ToggleButton.variants.d.ts +1 -1
- package/dist/presentation/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +51 -0
- package/dist/{display → presentation/display}/avatar/Avatar.d.ts +1 -1
- package/dist/{display → presentation/display}/avatar/Avatar.variants.d.ts +1 -1
- package/dist/{display → presentation/display}/badge/Badge.variants.d.ts +1 -1
- package/dist/{display → presentation/display}/card/Card.d.ts +1 -1
- package/dist/{display → presentation/display}/code/Code.variants.d.ts +1 -1
- package/dist/{display → presentation/display}/heading/Heading.variants.d.ts +1 -1
- package/dist/{display → presentation/display}/index.js +11 -11
- package/dist/{display → presentation/display}/list/List.variants.d.ts +1 -1
- package/dist/{display → presentation/display}/tag/Tag.variants.d.ts +1 -1
- package/dist/{display → presentation/display}/text/Text.variants.d.ts +1 -1
- package/dist/{display → presentation/display}/tooltip/Tooltip.d.ts +1 -1
- package/dist/{feedback → presentation/feedback}/alertSimple/AlertSimple.variants.d.ts +1 -1
- package/dist/{feedback → presentation/feedback}/bannerSimple/BannerSimple.variants.d.ts +1 -1
- package/dist/{feedback → presentation/feedback}/index.js +10 -10
- package/dist/{feedback → presentation/feedback}/progressBar/ProgressBar.variants.d.ts +1 -1
- package/dist/{feedback → presentation/feedback}/skeleton/Skeleton.variants.d.ts +1 -1
- package/dist/{feedback → presentation/feedback}/spinner/Spinner.variants.d.ts +1 -1
- package/dist/{feedback → presentation/feedback}/toastSimple/ToastSimple.variants.d.ts +1 -1
- package/dist/{forms → presentation/forms}/InputStyles.d.ts +1 -1
- package/dist/{forms → presentation/forms}/checkbox/Checkbox.d.ts +1 -1
- package/dist/{forms → presentation/forms}/checkbox/Checkbox.variants.d.ts +1 -1
- package/dist/{forms → presentation/forms}/colorSwatch/ColorSwatch.variants.d.ts +1 -1
- package/dist/{forms → presentation/forms}/combobox/Combobox.d.ts +2 -2
- package/dist/{forms → presentation/forms}/index.js +15 -15
- package/dist/{forms → presentation/forms}/listbox/Listbox.d.ts +1 -1
- package/dist/{forms → presentation/forms}/listbox/Listbox.variants.d.ts +1 -1
- package/dist/{forms → presentation/forms}/multiSelect/MultiSelect.d.ts +1 -1
- package/dist/{forms → presentation/forms}/select/Select.d.ts +1 -1
- package/dist/{forms → presentation/forms}/select/Select.variants.d.ts +1 -1
- package/dist/{layout → presentation/layout}/container/Container.variants.d.ts +1 -1
- package/dist/{layout → presentation/layout}/divider/Divider.variants.d.ts +1 -1
- package/dist/{layout → presentation/layout}/grid/Grid.variants.d.ts +1 -1
- package/dist/presentation/layout/index.js +14 -0
- package/dist/{layout → presentation/layout}/navbar/Navbar.d.ts +1 -1
- package/dist/{layout → presentation/layout}/navbar/Navbar.variants.d.ts +1 -1
- package/dist/{layout → presentation/layout}/overlay/Overlay.d.ts +1 -1
- package/dist/{layout → presentation/layout}/overlay/Overlay.variants.d.ts +1 -1
- package/dist/{layout → presentation/layout}/section/Section.d.ts +1 -1
- package/dist/{layout → presentation/layout}/section/Section.variants.d.ts +1 -1
- package/dist/{layout → presentation/layout}/stack/Stack.variants.d.ts +1 -1
- package/dist/{layout → presentation/layout}/surface/Surface.d.ts +1 -1
- package/dist/{nav → presentation/nav}/index.js +12 -12
- package/dist/{nav → presentation/nav}/menu/Menu.d.ts +2 -2
- package/dist/{nav → presentation/nav}/menu/Menu.variants.d.ts +1 -1
- package/dist/{nav → presentation/nav}/menubar/Menubar.variants.d.ts +1 -1
- package/dist/{overlays → presentation/overlays}/bottomSheet/BottomSheet.d.ts +1 -1
- package/dist/{overlays → presentation/overlays}/drawer/Drawer.d.ts +1 -1
- package/dist/{overlays → presentation/overlays}/hoverCard/HoverCard.d.ts +1 -1
- package/dist/{overlays → presentation/overlays}/index.js +11 -11
- package/dist/presentation/overlays/index.js.map +1 -0
- package/dist/{overlays → presentation/overlays}/modal/Modal.d.ts +1 -1
- package/dist/{overlays → presentation/overlays}/popover/Popover.d.ts +2 -2
- package/package.json +58 -53
- package/dist/actions/index.js +0 -11
- package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +0 -27
- package/dist/chunk-3FJ7WWRB.js.map +0 -1
- package/dist/chunk-B4X7XXSM.js.map +0 -1
- package/dist/chunk-D4ZT36AZ.js.map +0 -1
- package/dist/chunk-D7ZFCHX5.js.map +0 -1
- package/dist/chunk-F4HGQMUI.js.map +0 -1
- package/dist/chunk-GPMNI5MG.js.map +0 -1
- package/dist/chunk-KD6MJOL5.js.map +0 -1
- package/dist/chunk-KZLEHWAJ.js.map +0 -1
- package/dist/chunk-LS4EGKUK.js.map +0 -1
- package/dist/chunk-ORYO55KN.js.map +0 -1
- package/dist/chunk-OZBLEOLZ.js.map +0 -1
- package/dist/chunk-QTHKG7MQ.js.map +0 -1
- package/dist/chunk-RNHY33US.js.map +0 -1
- package/dist/chunk-SIAFOCT4.js.map +0 -1
- package/dist/chunk-UFTKE5U7.js.map +0 -1
- package/dist/chunk-UMRRFZ4R.js.map +0 -1
- package/dist/chunk-VTRPW2QQ.js.map +0 -1
- package/dist/chunk-VYFPLQPV.js.map +0 -1
- package/dist/chunk-WKVWOAQV.js.map +0 -1
- package/dist/chunk-X5JSX4PU.js.map +0 -1
- package/dist/chunk-XFUD3RZK.js.map +0 -1
- package/dist/chunk-XOUAFZ2E.js.map +0 -1
- package/dist/chunk-XSW3NZDD.js.map +0 -1
- package/dist/http/index.js.map +0 -1
- package/dist/icons/index.js +0 -6
- package/dist/layout/index.js +0 -14
- /package/dist/{actions → domain/color}/index.js.map +0 -0
- /package/dist/{hooks → foundation/hooks}/index.d.ts +0 -0
- /package/dist/{display → foundation/hooks}/index.js.map +0 -0
- /package/dist/{hooks → foundation/hooks}/useClipboard/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useClipboard/useClipboard.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useControlled/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useControlled/useControlled.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useDebounceHandler/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useDebounceHandler/useDebounceHandler.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useDisclosure/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useDisclosure/useDisclosure.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useEscape/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useEscape/useEscape.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useEventListener/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useEventListener/useEventListener.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useFocusTrap/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useFocusTrap/useFocusTrap.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useId/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useId/useId.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useMediaQuery/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useMediaQuery/useMediaQuery.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useOutsideClick/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useOutsideClick/useOutsideClick.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useReducedMotion/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useReducedMotion/useReducedMotion.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useResizeObserver/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useResizeObserver/useResizeObserver.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useScrollLock/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useScrollLock/useScrollLock.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useTypeahead/index.d.ts +0 -0
- /package/dist/{hooks → foundation/hooks}/useTypeahead/useTypeahead.d.ts +0 -0
- /package/dist/{http → foundation/http}/ApiError.d.ts +0 -0
- /package/dist/{http → foundation/http}/ApiResponse.d.ts +0 -0
- /package/dist/{http → foundation/http}/DateBrands.d.ts +0 -0
- /package/dist/{http → foundation/http}/ProblemDetails.d.ts +0 -0
- /package/dist/{http → foundation/http}/index.d.ts +0 -0
- /package/dist/{http → foundation/http}/temporalReviver.d.ts +0 -0
- /package/dist/{icons → foundation/icons}/Icon.d.ts +0 -0
- /package/dist/{icons → foundation/icons}/Spinner.d.ts +0 -0
- /package/dist/{icons → foundation/icons}/index.d.ts +0 -0
- /package/dist/{feedback → foundation/icons}/index.js.map +0 -0
- /package/dist/{primitives → foundation/primitives}/accessibleIcon/AccessibleIcon.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/accessibleIcon/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/anchoredPositioner/AnchoredPositioner.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/anchoredPositioner/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/announce/Announce.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/announce/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/collection/Collection.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/collection/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/colorModeProvider/ColorModeProvider.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/colorModeProvider/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/directionProvider/DirectionProvider.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/directionProvider/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/dismissableLayer/DismissableLayer.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/dismissableLayer/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/focusScope/FocusScope.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/focusScope/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/formControlContext/FormControlContext.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/formControlContext/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/index.d.ts +0 -0
- /package/dist/{forms → foundation/primitives}/index.js.map +0 -0
- /package/dist/{primitives → foundation/primitives}/overlayArrow/OverlayArrow.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/overlayArrow/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/portal/Portal.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/portal/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/presence/Presence.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/presence/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/rovingFocusGroup/RovingFocusGroup.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/rovingFocusGroup/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/scrollLockProvider/ScrollLockProvider.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/scrollLockProvider/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/slot/Slot.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/slot/index.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/visuallyHidden/VisuallyHidden.d.ts +0 -0
- /package/dist/{primitives → foundation/primitives}/visuallyHidden/index.d.ts +0 -0
- /package/dist/{themes → foundation/themes}/Oklch.d.ts +0 -0
- /package/dist/{themes → foundation/themes}/Theme.d.ts +0 -0
- /package/dist/{themes → foundation/themes}/Tokens.d.ts +0 -0
- /package/dist/{themes → foundation/themes}/css.d.ts +0 -0
- /package/dist/{themes → foundation/themes}/generate.d.ts +0 -0
- /package/dist/{themes → foundation/themes}/index.d.ts +0 -0
- /package/dist/{hooks → foundation/themes}/index.js.map +0 -0
- /package/dist/{themes → foundation/themes}/pool.d.ts +0 -0
- /package/dist/{themes → foundation/themes}/registry.d.ts +0 -0
- /package/dist/{themes → foundation/themes}/validate.d.ts +0 -0
- /package/dist/{themes → foundation/themes}/validated.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/ColorExtensions/ColorExtensions.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/ColorExtensions/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/CssExtensions/CssExtensions.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/CssExtensions/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/Environment/Environment.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/Environment/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/Equality/Equality.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/Equality/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/HtmlExtensions/HtmlExtensions.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/HtmlExtensions/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/KeyboardExtensions/KeyboardExtensions.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/KeyboardExtensions/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/Layers/Layers.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/Layers/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/OptionalExtensions/OptionalExtensions.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/OptionalExtensions/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/PressExtensions/PressExtensions.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/PressExtensions/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/StyleTokens/StyleTokens.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/StyleTokens/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/SurfaceStyles/SurfaceStyles.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/SurfaceStyles/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/Tones/Tones.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/Tones/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/TransitionExtensions/TransitionExtensions.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/TransitionExtensions/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/cn/cn.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/cn/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/composeEventHandlers/composeEventHandlers.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/composeEventHandlers/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/composeRefs/composeRefs.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/composeRefs/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/dataAttr/dataAttr.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/dataAttr/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/index.d.ts +0 -0
- /package/dist/{icons → foundation/utils}/index.js.map +0 -0
- /package/dist/{utils → foundation/utils}/polymorphic/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/polymorphic/polymorphic.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/tv/index.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/tv/tv.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/backToTopButton/BackToTopButton.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/backToTopButton/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/button/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/buttonGroup/ButtonGroup.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/buttonGroup/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/copyButton/CopyButton.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/copyButton/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/disclosureButton/DisclosureButton.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/disclosureButton/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/fab/FAB.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/fab/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/index.d.ts +0 -0
- /package/dist/{layout → presentation/actions}/index.js.map +0 -0
- /package/dist/{actions → presentation/actions}/link/Link.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/link/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/segmentedControl/SegmentedControl.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/segmentedControl/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/speedDial/SpeedDial.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/speedDial/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/toggleButton/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/toggleButtonGroup/index.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/toolbar/Toolbar.d.ts +0 -0
- /package/dist/{actions → presentation/actions}/toolbar/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/accordion/Accordion.d.ts +0 -0
- /package/dist/{display → presentation/display}/accordion/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/activityFeed/ActivityFeed.d.ts +0 -0
- /package/dist/{display → presentation/display}/activityFeed/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/animatedNumber/AnimatedNumber.d.ts +0 -0
- /package/dist/{display → presentation/display}/animatedNumber/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/annotationMarker/AnnotationMarker.d.ts +0 -0
- /package/dist/{display → presentation/display}/annotationMarker/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/audioPlayer/AudioPlayer.d.ts +0 -0
- /package/dist/{display → presentation/display}/audioPlayer/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/audioWaveform/AudioWaveform.d.ts +0 -0
- /package/dist/{display → presentation/display}/audioWaveform/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/avatar/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/avatarGroup/AvatarGroup.d.ts +0 -0
- /package/dist/{display → presentation/display}/avatarGroup/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/badge/Badge.d.ts +0 -0
- /package/dist/{display → presentation/display}/badge/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/badgeOverlay/BadgeOverlay.d.ts +0 -0
- /package/dist/{display → presentation/display}/badgeOverlay/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/card/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/carousel/Carousel.d.ts +0 -0
- /package/dist/{display → presentation/display}/carousel/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/chatBubble/ChatBubble.d.ts +0 -0
- /package/dist/{display → presentation/display}/chatBubble/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/code/Code.d.ts +0 -0
- /package/dist/{display → presentation/display}/code/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/collapsible/Collapsible.d.ts +0 -0
- /package/dist/{display → presentation/display}/collapsible/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/commentThread/CommentThread.d.ts +0 -0
- /package/dist/{display → presentation/display}/commentThread/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/confetti/Confetti.d.ts +0 -0
- /package/dist/{display → presentation/display}/confetti/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/countBadge/CountBadge.d.ts +0 -0
- /package/dist/{display → presentation/display}/countBadge/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/countUp/CountUp.d.ts +0 -0
- /package/dist/{display → presentation/display}/countUp/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/dataGrid/DataGrid.d.ts +0 -0
- /package/dist/{display → presentation/display}/dataGrid/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/dataTable/DataTable.d.ts +0 -0
- /package/dist/{display → presentation/display}/dataTable/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/descriptionList/DescriptionList.d.ts +0 -0
- /package/dist/{display → presentation/display}/descriptionList/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/diffViewer/DiffViewer.d.ts +0 -0
- /package/dist/{display → presentation/display}/diffViewer/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/emptyState/EmptyState.d.ts +0 -0
- /package/dist/{display → presentation/display}/emptyState/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/eventCalendar/EventCalendar.d.ts +0 -0
- /package/dist/{display → presentation/display}/eventCalendar/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/eyebrow/Eyebrow.d.ts +0 -0
- /package/dist/{display → presentation/display}/eyebrow/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/featureCard/FeatureCard.d.ts +0 -0
- /package/dist/{display → presentation/display}/featureCard/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/gantt/Gantt.d.ts +0 -0
- /package/dist/{display → presentation/display}/gantt/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/gradientText/GradientText.d.ts +0 -0
- /package/dist/{display → presentation/display}/gradientText/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/heading/Heading.d.ts +0 -0
- /package/dist/{display → presentation/display}/heading/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/heatmapCalendar/HeatmapCalendar.d.ts +0 -0
- /package/dist/{display → presentation/display}/heatmapCalendar/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/highlight/Highlight.d.ts +0 -0
- /package/dist/{display → presentation/display}/highlight/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/image/Image.d.ts +0 -0
- /package/dist/{display → presentation/display}/image/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/index.d.ts +0 -0
- /package/dist/{nav → presentation/display}/index.js.map +0 -0
- /package/dist/{display → presentation/display}/infoRow/InfoRow.d.ts +0 -0
- /package/dist/{display → presentation/display}/infoRow/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/kbd/Kbd.d.ts +0 -0
- /package/dist/{display → presentation/display}/kbd/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/keyboardShortcut/KeyboardShortcut.d.ts +0 -0
- /package/dist/{display → presentation/display}/keyboardShortcut/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/list/List.d.ts +0 -0
- /package/dist/{display → presentation/display}/list/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/mark/Mark.d.ts +0 -0
- /package/dist/{display → presentation/display}/mark/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/marquee/Marquee.d.ts +0 -0
- /package/dist/{display → presentation/display}/marquee/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/messageList/MessageList.d.ts +0 -0
- /package/dist/{display → presentation/display}/messageList/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/metaInline/MetaInline.d.ts +0 -0
- /package/dist/{display → presentation/display}/metaInline/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/metricChip/MetricChip.d.ts +0 -0
- /package/dist/{display → presentation/display}/metricChip/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/nodeEditor/NodeEditor.d.ts +0 -0
- /package/dist/{display → presentation/display}/nodeEditor/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/notificationDot/NotificationDot.d.ts +0 -0
- /package/dist/{display → presentation/display}/notificationDot/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/pdfViewer/PDFViewer.d.ts +0 -0
- /package/dist/{display → presentation/display}/pdfViewer/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/pricingCard/PricingCard.d.ts +0 -0
- /package/dist/{display → presentation/display}/pricingCard/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/quote/Quote.d.ts +0 -0
- /package/dist/{display → presentation/display}/quote/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/reactionBar/ReactionBar.d.ts +0 -0
- /package/dist/{display → presentation/display}/reactionBar/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/scheduleView/ScheduleView.d.ts +0 -0
- /package/dist/{display → presentation/display}/scheduleView/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/scrollReveal/ScrollReveal.d.ts +0 -0
- /package/dist/{display → presentation/display}/scrollReveal/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/sectionHeader/SectionHeader.d.ts +0 -0
- /package/dist/{display → presentation/display}/sectionHeader/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/separator/Separator.d.ts +0 -0
- /package/dist/{display → presentation/display}/separator/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/snippet/Snippet.d.ts +0 -0
- /package/dist/{display → presentation/display}/snippet/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/sortable/Sortable.d.ts +0 -0
- /package/dist/{display → presentation/display}/sortable/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/sparkline/Sparkline.d.ts +0 -0
- /package/dist/{display → presentation/display}/sparkline/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/stat/Stat.d.ts +0 -0
- /package/dist/{display → presentation/display}/stat/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/status/Status.d.ts +0 -0
- /package/dist/{display → presentation/display}/status/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/stepCard/StepCard.d.ts +0 -0
- /package/dist/{display → presentation/display}/stepCard/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/swipeActions/SwipeActions.d.ts +0 -0
- /package/dist/{display → presentation/display}/swipeActions/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/table/Table.d.ts +0 -0
- /package/dist/{display → presentation/display}/table/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/tabs/Tabs.d.ts +0 -0
- /package/dist/{display → presentation/display}/tabs/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/tag/Tag.d.ts +0 -0
- /package/dist/{display → presentation/display}/tag/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/text/Text.d.ts +0 -0
- /package/dist/{display → presentation/display}/text/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/threadView/ThreadView.d.ts +0 -0
- /package/dist/{display → presentation/display}/threadView/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/tilt/Tilt.d.ts +0 -0
- /package/dist/{display → presentation/display}/tilt/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/timeline/Timeline.d.ts +0 -0
- /package/dist/{display → presentation/display}/timeline/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/tooltip/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/tree/Tree.d.ts +0 -0
- /package/dist/{display → presentation/display}/tree/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/typewriter/Typewriter.d.ts +0 -0
- /package/dist/{display → presentation/display}/typewriter/index.d.ts +0 -0
- /package/dist/{display → presentation/display}/videoPlayer/VideoPlayer.d.ts +0 -0
- /package/dist/{display → presentation/display}/videoPlayer/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/alert/Alert.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/alert/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/alertSimple/AlertSimple.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/alertSimple/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/banner/Banner.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/banner/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/bannerSimple/BannerSimple.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/bannerSimple/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/callout/Callout.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/callout/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/index.d.ts +0 -0
- /package/dist/{overlays → presentation/feedback}/index.js.map +0 -0
- /package/dist/{feedback → presentation/feedback}/inlineSpinner/InlineSpinner.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/inlineSpinner/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/liveCursor/LiveCursor.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/liveCursor/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/loadingOverlay/LoadingOverlay.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/loadingOverlay/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/loadingState/LoadingState.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/loadingState/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/meterBar/MeterBar.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/meterBar/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/notificationCenter/NotificationCenter.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/notificationCenter/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/onboardingChecklist/OnboardingChecklist.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/onboardingChecklist/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/presenceIndicator/PresenceIndicator.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/presenceIndicator/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/progressBar/ProgressBar.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/progressBar/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/progressCircle/ProgressCircle.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/progressCircle/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/progressSteps/ProgressSteps.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/progressSteps/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/skeleton/Skeleton.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/skeleton/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/spinner/Spinner.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/spinner/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/statusIndicator/StatusIndicator.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/statusIndicator/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/toast/Toast.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/toast/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/toastSimple/ToastSimple.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/toastSimple/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/toaster/Toaster.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/toaster/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/tour/Tour.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/tour/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/trendIndicator/TrendIndicator.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/trendIndicator/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/typingIndicator/TypingIndicator.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/typingIndicator/index.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/undoBar/UndoBar.d.ts +0 -0
- /package/dist/{feedback → presentation/feedback}/undoBar/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/ColorExtensions.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/DateExtensions.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/MonthGrid.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/addressForm/AddressForm.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/addressForm/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/calendar/Calendar.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/calendar/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/characterCount/CharacterCount.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/characterCount/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/chatComposer/ChatComposer.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/chatComposer/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/checkbox/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/checkboxField/CheckboxField.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/checkboxField/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/checkboxGroup/CheckboxGroup.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/checkboxGroup/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/choiceCard/ChoiceCard.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/choiceCard/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/codeEditor/CodeEditor.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/codeEditor/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorArea/ColorArea.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorArea/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorField/ColorField.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorField/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorPicker/ColorPicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorPicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorSlider/ColorSlider.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorSlider/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorSwatch/ColorSwatch.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorSwatch/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorSwatchPicker/ColorSwatchPicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorSwatchPicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorWheel/ColorWheel.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/colorWheel/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/combobox/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/cronInput/CronInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/cronInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/currencyInput/CurrencyInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/currencyInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/dateField/DateField.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/dateField/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/datePicker/DatePicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/datePicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/dateRangePicker/DateRangePicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/dateRangePicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/editable/Editable.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/editable/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/emailInput/EmailInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/emailInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/emojiPicker/EmojiPicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/emojiPicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/field/Field.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/field/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/fieldset/Fieldset.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/fieldset/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/filePicker/FilePicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/filePicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/fileUpload/FileUpload.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/fileUpload/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/fontPicker/FontPicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/fontPicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/formErrorMessage/FormErrorMessage.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/formErrorMessage/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/formHelperText/FormHelperText.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/formHelperText/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/gradientPicker/GradientPicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/gradientPicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/iconPicker/IconPicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/iconPicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/index.d.ts +0 -0
- /package/dist/{primitives → presentation/forms}/index.js.map +0 -0
- /package/dist/{forms → presentation/forms}/inputAddon/InputAddon.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/inputAddon/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/inputGroup/InputGroup.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/inputGroup/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/jsonEditor/JSONEditor.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/jsonEditor/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/keyboardShortcutPicker/KeyboardShortcutPicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/keyboardShortcutPicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/knob/Knob.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/knob/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/label/Label.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/label/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/labeledInput/LabeledInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/labeledInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/legend/Legend.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/legend/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/listbox/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/markdownEditor/MarkdownEditor.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/markdownEditor/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/maskedInput/MaskedInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/maskedInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/multiSelect/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/numberInput/NumberInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/numberInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/passwordInput/PasswordInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/passwordInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/passwordStrength/PasswordStrength.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/passwordStrength/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/percentInput/PercentInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/percentInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/phoneInput/PhoneInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/phoneInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/pinInput/PinInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/pinInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/radio/Radio.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/radio/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/radioField/RadioField.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/radioField/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/radioGroup/RadioGroup.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/radioGroup/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/rangeCalendar/RangeCalendar.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/rangeCalendar/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/reactionPicker/ReactionPicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/reactionPicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/recurrenceEditor/RecurrenceEditor.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/recurrenceEditor/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/searchInput/SearchInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/searchInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/select/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/slider/Slider.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/slider/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/stepper/Stepper.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/stepper/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/switch/Switch.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/switch/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/switchField/SwitchField.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/switchField/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/tagsInput/TagsInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/tagsInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/telInput/TelInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/telInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/textInput/TextInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/textInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/textareaInput/TextareaInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/textareaInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/timeField/TimeField.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/timeField/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/timePicker/TimePicker.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/timePicker/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/urlInput/UrlInput.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/urlInput/index.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/wizard/Wizard.d.ts +0 -0
- /package/dist/{forms → presentation/forms}/wizard/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/appShell/AppShell.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/appShell/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/aspectRatio/AspectRatio.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/aspectRatio/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/box/Box.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/box/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/center/Center.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/center/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/cluster/Cluster.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/cluster/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/container/Container.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/container/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/divider/Divider.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/divider/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/flex/Flex.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/flex/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/frame/Frame.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/frame/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/grid/Grid.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/grid/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/hStack/HStack.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/hStack/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/index.d.ts +0 -0
- /package/dist/{themes → presentation/layout}/index.js.map +0 -0
- /package/dist/{layout → presentation/layout}/inline/Inline.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/inline/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/navbar/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/overlay/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/pullToRefresh/PullToRefresh.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/pullToRefresh/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/resizablePanels/ResizablePanels.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/resizablePanels/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/scrollArea/ScrollArea.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/scrollArea/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/section/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/spacer/Spacer.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/spacer/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/stack/Stack.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/stack/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/surface/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/twoColumn/TwoColumn.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/twoColumn/index.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/vStack/VStack.d.ts +0 -0
- /package/dist/{layout → presentation/layout}/vStack/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/breadcrumb/Breadcrumb.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/breadcrumb/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/commandPalette/CommandPalette.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/commandPalette/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/contextMenu/ContextMenu.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/contextMenu/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/dropdownMenu/DropdownMenu.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/dropdownMenu/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/index.d.ts +0 -0
- /package/dist/{utils → presentation/nav}/index.js.map +0 -0
- /package/dist/{nav → presentation/nav}/menu/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/menubar/Menubar.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/menubar/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/navItem/NavItem.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/navItem/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/navigationMenu/NavigationMenu.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/navigationMenu/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/pagination/Pagination.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/pagination/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/scrollSpy/ScrollSpy.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/scrollSpy/index.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/tableOfContents/TableOfContents.d.ts +0 -0
- /package/dist/{nav → presentation/nav}/tableOfContents/index.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/OverlayChrome.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/actionSheet/ActionSheet.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/actionSheet/index.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/alertModal/AlertModal.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/alertModal/index.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/backdrop/Backdrop.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/backdrop/index.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/bottomSheet/index.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/drawer/index.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/hoverCard/index.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/index.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/modal/index.d.ts +0 -0
- /package/dist/{overlays → presentation/overlays}/popover/index.d.ts +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Portal, Presence } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Portal, Presence } from './chunk-NY7OZGNY.js';
|
|
2
|
+
import { cn } from './chunk-PCRID2JL.js';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -24,5 +24,5 @@ var Backdrop = forwardRef(function Backdrop2({ open = true, isBlurred, pointerEv
|
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
export { Backdrop };
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
28
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-2L7KB7ZG.js.map
|
|
28
|
+
//# sourceMappingURL=chunk-2L7KB7ZG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/presentation/overlays/backdrop/Backdrop.tsx"],"names":["Backdrop"],"mappings":";;;;;AAgBO,IAAM,WAAW,UAAA,CAA0C,SAASA,SAAAA,CACzE,EAAE,OAAO,IAAA,EAAM,SAAA,EAAW,aAAA,GAAgB,MAAA,EAAQ,UAAU,SAAA,EAAW,KAAA,EAAO,GAAG,IAAA,IACjF,GAAA,EACA;AAGA,EAAA,MAAM,IAAA,mBACJ,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAO,EAAE,aAAA,EAAe,GAAG,KAAA,EAAM;AAAA,MACjC,SAAA,EAAW,EAAA;AAAA,QACT,qCAAA;AAAA,QACA,2DAAA;AAAA,QACA,8DAAA;AAAA,QACA,SAAA,IAAa,kBAAA;AAAA,QACb;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEF,EAAA,MAAM,QAAA,mBAAW,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAW,MAAO,QAAA,EAAA,IAAA,EAAK,CAAA;AAClD,EAAA,OAAO,QAAA,GAAW,QAAA,mBAAW,GAAA,CAAC,MAAA,EAAA,EAAQ,QAAA,EAAA,QAAA,EAAS,CAAA;AACjD,CAAC","file":"chunk-2L7KB7ZG.js","sourcesContent":["import { forwardRef, type HTMLAttributes } from 'react';\nimport { cn } from '../../../foundation/utils';\nimport { Portal, Presence } from '../../../foundation/primitives';\n\nexport interface BackdropProps extends HTMLAttributes<HTMLDivElement> {\n /** Mount state. Default `true`. */\n open?: boolean;\n /** Apply backdrop-blur. */\n isBlurred?: boolean;\n /** When `'none'`, clicks pass through. Default `'auto'`. */\n pointerEvents?: 'auto' | 'none';\n /** Skip the Portal wrap — render in place. */\n isInline?: boolean;\n}\n\n/** Fixed-position scrim. Used by Modal / Drawer / LoadingOverlay; also public for custom overlay surfaces. */\nexport const Backdrop = forwardRef<HTMLDivElement, BackdropProps>(function Backdrop(\n { open = true, isBlurred, pointerEvents = 'auto', isInline, className, style, ...rest },\n ref,\n) {\n // `data-state` is injected by <Presence>; the fade tokens are gated on it so\n // enter plays on mount and exit plays before Presence defers the unmount.\n const node = (\n <div\n ref={ref}\n style={{ pointerEvents, ...style }}\n className={cn(\n 'fixed inset-0 z-overlay bg-black/50',\n 'motion-safe:data-[state=open]:animate-(--animate-fade-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-fade-out)',\n isBlurred && 'backdrop-blur-sm',\n className,\n )}\n {...rest}\n />\n );\n const presence = <Presence isPresent={open}>{node}</Presence>;\n return isInline ? presence : <Portal>{presence}</Portal>;\n});\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { useScrollLock, useId } from './chunk-
|
|
1
|
+
import { useScrollLock, useId } from './chunk-SVSFK6TB.js';
|
|
2
2
|
import { __export } from './chunk-DCHYNTHI.js';
|
|
3
3
|
import { useState, useRef, useLayoutEffect, useCallback, useEffect, useSyncExternalStore } from 'react';
|
|
4
4
|
|
|
5
|
-
// src/hooks/index.ts
|
|
5
|
+
// src/foundation/hooks/index.ts
|
|
6
6
|
var hooks_exports = {};
|
|
7
7
|
__export(hooks_exports, {
|
|
8
8
|
useClipboard: () => useClipboard,
|
|
@@ -193,7 +193,7 @@ function useMediaQuery(query) {
|
|
|
193
193
|
);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
// src/hooks/useReducedMotion/useReducedMotion.ts
|
|
196
|
+
// src/foundation/hooks/useReducedMotion/useReducedMotion.ts
|
|
197
197
|
function useReducedMotion() {
|
|
198
198
|
return useMediaQuery("(prefers-reduced-motion: reduce)");
|
|
199
199
|
}
|
|
@@ -331,5 +331,5 @@ function useTypeahead(options) {
|
|
|
331
331
|
}
|
|
332
332
|
|
|
333
333
|
export { hooks_exports, useClipboard, useControlled, useDebounceHandler, useDisclosure, useEscape, useEventListener, useFocusTrap, useMediaQuery, useOutsideClick, useReducedMotion, useResizeObserver, useTypeahead };
|
|
334
|
-
//# sourceMappingURL=chunk-
|
|
335
|
-
//# sourceMappingURL=chunk-
|
|
334
|
+
//# sourceMappingURL=chunk-2YBWJHVV.js.map
|
|
335
|
+
//# sourceMappingURL=chunk-2YBWJHVV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/foundation/hooks/index.ts","../src/foundation/hooks/useControlled/useControlled.ts","../src/foundation/hooks/useDisclosure/useDisclosure.ts","../src/foundation/hooks/useEventListener/useEventListener.ts","../src/foundation/hooks/useOutsideClick/useOutsideClick.ts","../src/foundation/hooks/useEscape/useEscape.ts","../src/foundation/hooks/useFocusTrap/useFocusTrap.ts","../src/foundation/hooks/useResizeObserver/useResizeObserver.ts","../src/foundation/hooks/useMediaQuery/useMediaQuery.ts","../src/foundation/hooks/useReducedMotion/useReducedMotion.ts","../src/foundation/hooks/useClipboard/useClipboard.ts","../src/foundation/hooks/useDebounceHandler/useDebounceHandler.ts","../src/foundation/hooks/useTypeahead/useTypeahead.ts"],"names":["useState","useCallback","useRef","useLayoutEffect","useEffect"],"mappings":"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","file":"chunk-2YBWJHVV.js","sourcesContent":["export { useId } from './useId';\nexport { useControlled } from './useControlled';\nexport { useDisclosure, type DisclosureControls } from './useDisclosure';\nexport { useEventListener } from './useEventListener';\nexport { useOutsideClick } from './useOutsideClick';\nexport { useEscape } from './useEscape';\nexport { useFocusTrap } from './useFocusTrap';\nexport { useScrollLock } from './useScrollLock';\nexport { useResizeObserver } from './useResizeObserver';\nexport { useMediaQuery } from './useMediaQuery';\nexport { useReducedMotion } from './useReducedMotion';\nexport { useClipboard, type UseClipboardOptions, type ClipboardControls } from './useClipboard';\nexport { useDebounceHandler } from './useDebounceHandler';\nexport {\n useTypeahead,\n type UseTypeaheadOptions,\n type UseTypeaheadReturn,\n} from './useTypeahead';\n","import { useCallback, useLayoutEffect, useRef, useState } from 'react';\n\ninterface UseControlledOptions<T> {\n controlled: T | undefined;\n default: T;\n onChange?: (value: T) => void;\n}\n\n/**\n * Standard controlled/uncontrolled pattern.\n *\n * - If `controlled` is defined, the component is controlled — internal state is\n * ignored, `setValue` only fires `onChange`.\n * - Otherwise the component owns its state, `setValue` updates it, and `onChange`\n * still fires for consumers that want to observe changes.\n */\nexport function useControlled<T>({\n controlled,\n default: defaultValue,\n onChange,\n}: UseControlledOptions<T>): [T, (value: T) => void] {\n const [uncontrolled, setUncontrolled] = useState<T>(defaultValue);\n const onChangeRef = useRef(onChange);\n useLayoutEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n const isControlled = controlled !== undefined;\n const value = isControlled ? controlled : uncontrolled;\n\n const setValue = useCallback(\n (next: T) => {\n if (!isControlled) setUncontrolled(next);\n onChangeRef.current?.(next);\n },\n [isControlled],\n );\n\n return [value, setValue];\n}\n","import { useCallback, useState } from 'react';\n\nexport interface DisclosureControls {\n isOpen: boolean;\n open: () => void;\n close: () => void;\n toggle: () => void;\n setOpen: (next: boolean) => void;\n}\n\n/**\n * Minimal open/close state with stable callbacks. The standard backbone for\n * Modal, Drawer, Popover, Menu, Accordion, etc. Use `useControlled` underneath\n * when the consumer may also pass a controlled `open` prop.\n */\nexport function useDisclosure(initial = false): DisclosureControls {\n const [isOpen, setIsOpen] = useState(initial);\n const open = useCallback(() => setIsOpen(true), []);\n const close = useCallback(() => setIsOpen(false), []);\n const toggle = useCallback(() => setIsOpen((o) => !o), []);\n return { isOpen, open, close, toggle, setOpen: setIsOpen };\n}\n","import { useEffect, useLayoutEffect, useRef } from 'react';\n\ntype Target = Window | Document | HTMLElement | null;\n\n/**\n * Add an event listener and clean it up automatically. Handler is read from\n * a ref so consumers don't need to memoize it.\n */\nexport function useEventListener<K extends string>(\n event: K,\n handler: (event: Event) => void,\n target: Target = document,\n options?: boolean | AddEventListenerOptions,\n): void {\n const handlerRef = useRef(handler);\n const optionsRef = useRef(options);\n useLayoutEffect(() => {\n handlerRef.current = handler;\n optionsRef.current = options;\n }, [handler, options]);\n\n useEffect(() => {\n if (!target) return;\n // Capture options at attach time — remove must use the same capture flag.\n const listenerOptions = optionsRef.current;\n const listener = (e: Event) => handlerRef.current(e);\n target.addEventListener(event, listener, listenerOptions);\n return () => target.removeEventListener(event, listener, listenerOptions);\n }, [event, target]);\n}\n","import { useEffect, useLayoutEffect, useRef, type RefObject } from 'react';\n\n/**\n * Fire `handler` when the user clicks outside any of the provided refs.\n * Uses `pointerdown` so it fires before focus shifts (avoids losing focus\n * inside an overlay before a click on a trigger registers).\n */\nexport function useOutsideClick(\n refs: RefObject<HTMLElement | null> | RefObject<HTMLElement | null>[],\n handler: (event: PointerEvent) => void,\n enabled = true,\n): void {\n const handlerRef = useRef(handler);\n const refsRef = useRef(refs);\n useLayoutEffect(() => {\n handlerRef.current = handler;\n refsRef.current = refs;\n }, [handler, refs]);\n\n useEffect(() => {\n if (!enabled) return;\n\n const onPointerDown = (e: PointerEvent) => {\n const target = e.target as Node | null;\n if (!target) return;\n const refList = Array.isArray(refsRef.current) ? refsRef.current : [refsRef.current];\n for (const ref of refList) {\n if (ref.current && ref.current.contains(target)) return;\n }\n handlerRef.current(e);\n };\n\n document.addEventListener('pointerdown', onPointerDown, true);\n return () => document.removeEventListener('pointerdown', onPointerDown, true);\n }, [enabled]);\n}\n","import { useEffect, useLayoutEffect, useRef } from 'react';\n\n/**\n * Fire `handler` when the Escape key is pressed at the document level.\n * For nested overlays, the topmost should call `event.stopPropagation()` in\n * its handler — `DismissableLayer` handles this stack-style.\n */\nexport function useEscape(handler: (event: KeyboardEvent) => void, enabled = true): void {\n const handlerRef = useRef(handler);\n useLayoutEffect(() => {\n handlerRef.current = handler;\n }, [handler]);\n\n useEffect(() => {\n if (!enabled) return;\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') handlerRef.current(e);\n };\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [enabled]);\n}\n","import { useEffect, type RefObject } from 'react';\n\nconst FOCUSABLE_SELECTOR = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n '[contenteditable=\"true\"]',\n].join(',');\n\nfunction isVisible(el: HTMLElement): boolean {\n // checkVisibility covers display/visibility/content-visibility; the\n // getClientRects fallback (older engines) still includes position:fixed\n // elements, which `offsetParent !== null` would wrongly exclude.\n return el.checkVisibility?.() ?? el.getClientRects().length > 0;\n}\n\nfunction getFocusable(container: HTMLElement): HTMLElement[] {\n return Array.from(container.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR)).filter(\n (el) => el.getAttribute('aria-hidden') !== 'true' && isVisible(el),\n );\n}\n\n/**\n * Trap Tab / Shift+Tab focus inside the referenced element. On mount, focuses\n * the first focusable child (unless already focused inside). On unmount,\n * returns focus to the element that had it before mounting.\n *\n * For richer behavior (sentinels, nested traps), wrap `FocusScope` instead —\n * this hook is the lower primitive.\n */\nexport function useFocusTrap(ref: RefObject<HTMLElement | null>, enabled = true): void {\n useEffect(() => {\n if (!enabled || !ref.current) return;\n const container = ref.current;\n const previouslyFocused = document.activeElement as HTMLElement | null;\n\n const previousTabIndex = container.getAttribute('tabindex');\n let tabIndexMutated = false;\n\n const focusables = getFocusable(container);\n if (focusables.length > 0 && !container.contains(document.activeElement)) {\n focusables[0]?.focus();\n } else if (focusables.length === 0) {\n container.tabIndex = -1;\n tabIndexMutated = true;\n container.focus();\n }\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== 'Tab') return;\n const items = getFocusable(container);\n if (items.length === 0) {\n e.preventDefault();\n return;\n }\n const first = items[0];\n const last = items[items.length - 1];\n if (!first || !last) return;\n const active = document.activeElement;\n if (e.shiftKey && active === first) {\n e.preventDefault();\n last.focus();\n } else if (!e.shiftKey && active === last) {\n e.preventDefault();\n first.focus();\n }\n };\n\n container.addEventListener('keydown', onKeyDown);\n return () => {\n container.removeEventListener('keydown', onKeyDown);\n if (tabIndexMutated) {\n if (previousTabIndex === null) container.removeAttribute('tabindex');\n else container.setAttribute('tabindex', previousTabIndex);\n }\n previouslyFocused?.focus?.();\n };\n }, [ref, enabled]);\n}\n","import { useEffect, useLayoutEffect, useRef, type RefObject } from 'react';\n\n/**\n * Run `callback` whenever the referenced element's size changes. Returns\n * synchronously after layout, before paint. Cleans up automatically.\n */\nexport function useResizeObserver<T extends HTMLElement>(\n ref: RefObject<T | null>,\n callback: (entry: ResizeObserverEntry) => void,\n enabled = true,\n): void {\n const callbackRef = useRef(callback);\n useLayoutEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (!enabled || !ref.current || typeof ResizeObserver === 'undefined') return;\n const element = ref.current;\n const observer = new ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry) callbackRef.current(entry);\n });\n observer.observe(element);\n return () => observer.disconnect();\n }, [ref, enabled]);\n}\n","import { useCallback, useSyncExternalStore } from 'react';\n\n/**\n * Reactively follow a CSS media query. Pass a query string like\n * `'(min-width: 768px)'` or `'(prefers-reduced-motion: reduce)'`.\n * SSR-safe — renders `false` on the server, syncs to the real value on the client.\n */\nexport function useMediaQuery(query: string): boolean {\n const subscribe = useCallback(\n (onStoreChange: () => void) => {\n const mql = window.matchMedia(query);\n mql.addEventListener('change', onStoreChange);\n return () => mql.removeEventListener('change', onStoreChange);\n },\n [query],\n );\n\n return useSyncExternalStore(\n subscribe,\n () => window.matchMedia(query).matches,\n () => false,\n );\n}\n","import { useMediaQuery } from '../useMediaQuery';\n\n/**\n * Returns `true` when the user has requested reduced motion via OS settings.\n * Components should short-circuit looping/transitional animations to a\n * static final state when this is `true`.\n */\nexport function useReducedMotion(): boolean {\n return useMediaQuery('(prefers-reduced-motion: reduce)');\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport interface UseClipboardOptions {\n /** Reset `copied` back to false after this many ms. Default 2000. Set 0 to keep state until explicitly reset. */\n resetAfter?: number;\n}\n\nexport interface ClipboardControls {\n /** True for `resetAfter` ms after a successful copy. */\n copied: boolean;\n /** Last error from `navigator.clipboard.writeText`, if any. */\n error: Error | null;\n /** Write `text` to the system clipboard. Returns the promise. */\n copy: (text: string) => Promise<void>;\n /** Force-clear the `copied` flag. */\n reset: () => void;\n}\n\n/**\n * Wraps `navigator.clipboard.writeText` with a transient `copied` flag for\n * post-action UI (icon swap, \"Copied!\" tooltip). Pass `resetAfter: 0` to\n * keep `copied` true until you call `reset()`.\n */\nexport function useClipboard({ resetAfter = 2000 }: UseClipboardOptions = {}): ClipboardControls {\n const [copied, setCopied] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const reset = useCallback(() => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n setCopied(false);\n setError(null);\n }, []);\n\n const copy = useCallback(\n async (text: string) => {\n try {\n await navigator.clipboard.writeText(text);\n setError(null);\n setCopied(true);\n if (resetAfter > 0) {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => setCopied(false), resetAfter);\n }\n } catch (err) {\n setCopied(false);\n setError(err instanceof Error ? err : new Error(String(err)));\n }\n },\n [resetAfter],\n );\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n };\n }, []);\n\n return { copied, error, copy, reset };\n}\n","import { useCallback, useRef } from 'react';\nimport type { SyntheticEvent } from 'react';\n\n/**\n * Throttle a React event handler. First call in a `ms` window fires; subsequent\n * within the window are swallowed via `event.preventDefault()`. When `ms` is\n * `undefined`, the handler passes through unchanged. Use to prevent rapid-fire\n * gestures (double-clicks, double-submits, repeated touches) without wiring\n * timer state in the consumer.\n *\n * Functionally a *throttle* (first wins). The `Debounce` naming is kept for\n * vocabulary consistency with the `debounceMs` props on consuming components.\n */\nexport function useDebounceHandler<E extends SyntheticEvent>(\n handler: ((event: E) => void) | undefined,\n ms: number | undefined,\n): (event: E) => void {\n const lastTimeRef = useRef(0);\n return useCallback(\n (event: E) => {\n if (ms !== undefined) {\n const now = Date.now();\n if (now - lastTimeRef.current < ms) {\n event.preventDefault();\n return;\n }\n lastTimeRef.current = now;\n }\n handler?.(event);\n },\n [handler, ms],\n );\n}\n","import { useCallback, useEffect, useRef } from 'react';\nimport type { KeyboardEvent } from 'react';\n\n/** Resolves the typeahead item pool — a static array or a getter read lazily on each keystroke. */\ntype ItemSource<T> = readonly T[] | (() => readonly T[]);\n\n/** Configures {@link useTypeahead}. `T` is the item type the caller stores per option. */\nexport interface UseTypeaheadOptions<T> {\n /** Supplies the items to match against; a function is re-read on every keystroke (live lists). */\n items: ItemSource<T>;\n /** Extracts the comparable label from an item. Matching is case-insensitive on this string. */\n getLabel: (item: T) => string;\n /** Reports whether an item is disabled; disabled items are skipped during matching. */\n isDisabled?: (item: T) => boolean;\n /** Fires with the matched item and its index in the (live) item array when a keystroke resolves. */\n onMatch: (item: T, index: number) => void;\n /** Returns the index of the currently-active item — same-letter cycling starts after it. */\n getActiveIndex?: () => number;\n /** Disables the matcher when `false`; every key falls through unhandled. Defaults to `true`. */\n enabled?: boolean;\n /** Idle time (ms) after which the typed buffer resets. Defaults to `500`. */\n timeout?: number;\n}\n\n/** The keyboard handler + manual reset returned by {@link useTypeahead}. */\nexport interface UseTypeaheadReturn {\n /** Feeds a keydown into the matcher. Returns `true` when consumed (caller should stop), else `false`. */\n onKeyDown: (event: KeyboardEvent) => boolean;\n /** Clears the typed buffer immediately (e.g. on blur / close). */\n reset: () => void;\n}\n\n/** Reports whether a key event carries a single printable character (and no command modifier). */\nfunction isPrintableKey(event: KeyboardEvent): boolean {\n if (event.ctrlKey || event.metaKey || event.altKey) return false;\n // Printable keys surface as a single char in `key`; named keys (Enter, ArrowDown…) are multi-char.\n return event.key.length === 1;\n}\n\n/** Reports whether every char in the buffer is the same letter — the \"cycle\" case (e.g. \"aaa\"). */\nfunction isAllSameChar(buffer: string): boolean {\n return buffer.length > 0 && [...buffer].every((c) => c === buffer[0]);\n}\n\n/**\n * APG-correct type-to-select matcher (WAI-ARIA listbox/combobox typeahead). Accumulates printable\n * chars into a buffer (resets after `timeout` ms idle): a repeated single char cycles to the next\n * label starting with it (after `getActiveIndex()`, wrap-around), else prefix-matches the whole\n * buffer case-insensitively; disabled items skipped. On a hit `onMatch(item, index)` fires; consumed\n * keys return `true`, others `false` to fall through. Space is typeable only while buffering (a\n * leading Space reaches the caller). SSR-safe; reset timer cleared on unmount.\n */\nexport function useTypeahead<T>(options: UseTypeaheadOptions<T>): UseTypeaheadReturn {\n const { enabled = true } = options;\n\n /* Consumer fns/values read through a ref so `onKeyDown` stays referentially stable\n (callers wire it into their own memoised keydown handlers). */\n const optsRef = useRef(options);\n optsRef.current = options;\n\n const bufferRef = useRef('');\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const clearTimer = useCallback(() => {\n if (timerRef.current !== null) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n }, []);\n\n const reset = useCallback(() => {\n bufferRef.current = '';\n clearTimer();\n }, [clearTimer]);\n\n /* Clears the pending reset timer on unmount (no stale fire after teardown). */\n useEffect(() => clearTimer, [clearTimer]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent): boolean => {\n const o = optsRef.current;\n if (o.enabled === false) return false;\n if (!isPrintableKey(event)) return false;\n\n const isSpace = event.key === ' ';\n const hasBuffer = bufferRef.current.length > 0;\n /* Reserve Space: with no active buffer, hand it back so the caller can select; while typing,\n a Space is a real character (matches labels with spaces) and is consumed. */\n if (isSpace && !hasBuffer) return false;\n\n const resolved = typeof o.items === 'function' ? o.items() : o.items;\n const list = resolved as readonly T[];\n if (list.length === 0) return false;\n\n const nextBuffer = bufferRef.current + event.key;\n bufferRef.current = nextBuffer;\n\n /* Restart the idle window on every accepted keystroke. */\n clearTimer();\n timerRef.current = setTimeout(() => {\n bufferRef.current = '';\n timerRef.current = null;\n }, o.timeout ?? 500);\n\n const labelOf = (item: T) => o.getLabel(item).toLowerCase();\n const disabledOf = (item: T) => (o.isDisabled ? o.isDisabled(item) : false);\n const startFrom = o.getActiveIndex ? o.getActiveIndex() : -1;\n\n let matchIndex = -1;\n if (isAllSameChar(nextBuffer)) {\n /* Same-letter repeat → cycle to the next label starting with that letter, after the active one. */\n const char = nextBuffer[0]!.toLowerCase();\n for (let step = 1; step <= list.length; step += 1) {\n const idx = (startFrom + step + list.length) % list.length;\n const item = list[idx]!;\n if (!disabledOf(item) && labelOf(item).startsWith(char)) {\n matchIndex = idx;\n break;\n }\n }\n } else {\n /* Multi-char buffer → prefix-match the whole buffer; scan from the current item forward so a\n refining sequence stays put when the active item still matches. */\n const prefix = nextBuffer.toLowerCase();\n const begin = startFrom < 0 ? 0 : startFrom;\n for (let step = 0; step < list.length; step += 1) {\n const idx = (begin + step) % list.length;\n const item = list[idx]!;\n if (!disabledOf(item) && labelOf(item).startsWith(prefix)) {\n matchIndex = idx;\n break;\n }\n }\n }\n\n if (matchIndex >= 0) {\n o.onMatch(list[matchIndex]!, matchIndex);\n return true;\n }\n /* No label matched, but the char was consumed into the buffer (and Space, once buffering,\n must not double as select) — report handled so the caller doesn't also act on it. */\n return true;\n },\n [clearTimer],\n );\n\n /* `enabled` toggling off mid-type should not leave a stale buffer/timer armed. */\n useEffect(() => {\n if (!enabled) reset();\n }, [enabled, reset]);\n\n return { onKeyDown, reset };\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Spinner } from './chunk-
|
|
2
|
-
import { Drawer, DrawerContent } from './chunk-
|
|
3
|
-
import { useControlled, useMediaQuery } from './chunk-
|
|
4
|
-
import { tv, TransitionExtensions, CssExtensions, surfaceVariants } from './chunk-
|
|
5
|
-
import { Announce, Presence, Slot } from './chunk-
|
|
6
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Spinner } from './chunk-PNHIAN3U.js';
|
|
2
|
+
import { Drawer, DrawerContent } from './chunk-QVY7SIMR.js';
|
|
3
|
+
import { useControlled, useMediaQuery } from './chunk-2YBWJHVV.js';
|
|
4
|
+
import { tv, TransitionExtensions, CssExtensions, surfaceVariants } from './chunk-TOB23IBK.js';
|
|
5
|
+
import { Announce, Presence, Slot } from './chunk-NY7OZGNY.js';
|
|
6
|
+
import { cn } from './chunk-PCRID2JL.js';
|
|
7
7
|
import { forwardRef, createContext, useRef, useEffect, useCallback, useMemo, Children, isValidElement, useState, useContext } from 'react';
|
|
8
8
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
9
9
|
|
|
@@ -12,7 +12,7 @@ var Box = forwardRef(
|
|
|
12
12
|
);
|
|
13
13
|
Box.displayName = "Box";
|
|
14
14
|
|
|
15
|
-
// src/layout/stack/Stack.variants.ts
|
|
15
|
+
// src/presentation/layout/stack/Stack.variants.ts
|
|
16
16
|
var stackVariants = tv({
|
|
17
17
|
base: "flex",
|
|
18
18
|
variants: {
|
|
@@ -76,7 +76,7 @@ HStack.displayName = "HStack";
|
|
|
76
76
|
var VStack = forwardRef((props, ref) => /* @__PURE__ */ jsx(Stack, { ref, direction: "column", ...props }));
|
|
77
77
|
VStack.displayName = "VStack";
|
|
78
78
|
|
|
79
|
-
// src/layout/grid/Grid.variants.ts
|
|
79
|
+
// src/presentation/layout/grid/Grid.variants.ts
|
|
80
80
|
var gridVariants = tv({
|
|
81
81
|
base: "grid",
|
|
82
82
|
variants: {
|
|
@@ -256,7 +256,7 @@ var Grid = forwardRef(
|
|
|
256
256
|
);
|
|
257
257
|
Grid.displayName = "Grid";
|
|
258
258
|
|
|
259
|
-
// src/layout/container/Container.variants.ts
|
|
259
|
+
// src/presentation/layout/container/Container.variants.ts
|
|
260
260
|
var containerVariants = tv({
|
|
261
261
|
base: "mx-auto w-full px-4",
|
|
262
262
|
variants: {
|
|
@@ -336,7 +336,7 @@ var Center = forwardRef(
|
|
|
336
336
|
);
|
|
337
337
|
Center.displayName = "Center";
|
|
338
338
|
|
|
339
|
-
// src/layout/divider/Divider.variants.ts
|
|
339
|
+
// src/presentation/layout/divider/Divider.variants.ts
|
|
340
340
|
var dividerVariants = tv({
|
|
341
341
|
base: "border-border",
|
|
342
342
|
variants: {
|
|
@@ -1102,7 +1102,7 @@ function useAppShell() {
|
|
|
1102
1102
|
return useAppShellContext();
|
|
1103
1103
|
}
|
|
1104
1104
|
|
|
1105
|
-
// src/layout/overlay/Overlay.variants.ts
|
|
1105
|
+
// src/presentation/layout/overlay/Overlay.variants.ts
|
|
1106
1106
|
var overlayVariants = tv({
|
|
1107
1107
|
base: "absolute",
|
|
1108
1108
|
variants: {
|
|
@@ -1329,7 +1329,7 @@ var Surface = forwardRef(function Surface2({
|
|
|
1329
1329
|
});
|
|
1330
1330
|
Surface.displayName = COMPONENT_NAME2;
|
|
1331
1331
|
|
|
1332
|
-
// src/layout/section/Section.variants.ts
|
|
1332
|
+
// src/presentation/layout/section/Section.variants.ts
|
|
1333
1333
|
var sectionVariants = tv({
|
|
1334
1334
|
base: "w-full",
|
|
1335
1335
|
variants: {
|
|
@@ -1363,7 +1363,7 @@ var Section = forwardRef(function Section2({ tone, containerSize, py, bleed = fa
|
|
|
1363
1363
|
});
|
|
1364
1364
|
Section.displayName = "Section";
|
|
1365
1365
|
|
|
1366
|
-
// src/layout/navbar/Navbar.variants.ts
|
|
1366
|
+
// src/presentation/layout/navbar/Navbar.variants.ts
|
|
1367
1367
|
var navbarVariants = tv({
|
|
1368
1368
|
base: "w-full",
|
|
1369
1369
|
variants: {
|
|
@@ -1428,5 +1428,5 @@ var Navbar = forwardRef(function Navbar2({
|
|
|
1428
1428
|
Navbar.displayName = "Navbar";
|
|
1429
1429
|
|
|
1430
1430
|
export { AppShell2 as AppShell, AppShellAside, AppShellContent, AppShellFooter, AppShellHeader, AppShellMain, AppShellSidebar, AspectRatio, Box, Center, Cluster, Container, Divider, Flex, Frame, Grid, HStack, Navbar, Overlay, PullToRefresh, ResizablePanel, ResizablePanels2 as ResizablePanels, ResizableSeparator, ScrollArea, Section, Spacer, Stack, Surface, TwoColumn, VStack, containerVariants, dividerVariants, gridVariants, navbarVariants, resolveGridColumns, resolveGridGap, sectionVariants, stackVariants, useAppShell };
|
|
1431
|
-
//# sourceMappingURL=chunk-
|
|
1432
|
-
//# sourceMappingURL=chunk-
|
|
1431
|
+
//# sourceMappingURL=chunk-5CZUTB7Q.js.map
|
|
1432
|
+
//# sourceMappingURL=chunk-5CZUTB7Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/presentation/layout/box/Box.tsx","../src/presentation/layout/stack/Stack.variants.ts","../src/presentation/layout/stack/Stack.tsx","../src/presentation/layout/hStack/HStack.tsx","../src/presentation/layout/vStack/VStack.tsx","../src/presentation/layout/grid/Grid.variants.ts","../src/presentation/layout/grid/Grid.tsx","../src/presentation/layout/container/Container.variants.ts","../src/presentation/layout/container/Container.tsx","../src/presentation/layout/flex/Flex.tsx","../src/presentation/layout/aspectRatio/AspectRatio.tsx","../src/presentation/layout/spacer/Spacer.tsx","../src/presentation/layout/center/Center.tsx","../src/presentation/layout/divider/Divider.variants.ts","../src/presentation/layout/divider/Divider.tsx","../src/presentation/layout/scrollArea/ScrollArea.tsx","../src/presentation/layout/cluster/Cluster.tsx","../src/presentation/layout/frame/Frame.tsx","../src/presentation/layout/twoColumn/TwoColumn.tsx","../src/presentation/layout/resizablePanels/ResizablePanels.tsx","../src/presentation/layout/pullToRefresh/PullToRefresh.tsx","../src/presentation/layout/appShell/AppShell.tsx","../src/presentation/layout/overlay/Overlay.variants.ts","../src/presentation/layout/overlay/Overlay.tsx","../src/presentation/layout/surface/Surface.tsx","../src/presentation/layout/section/Section.variants.ts","../src/presentation/layout/section/Section.tsx","../src/presentation/layout/navbar/Navbar.variants.ts","../src/presentation/layout/navbar/Navbar.tsx"],"names":["forwardRef","jsx","GAP","jsxs","ResizablePanel","ResizableSeparator","ResizablePanels","PullToRefresh","useRef","useState","reached","useEffect","createContext","useContext","useMemo","AppShellHeader","AppShellSidebar","AppShellMain","AppShellContent","AppShellAside","AppShellFooter","AppShell","isValidElement","COMPONENT_NAME","Surface","Section","Navbar"],"mappings":"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","file":"chunk-5CZUTB7Q.js","sourcesContent":["import { forwardRef, type ComponentPropsWithoutRef, type ElementType, type Ref } from 'react';\nimport { cn } from '../../../foundation/utils';\n\nexport interface BoxProps extends Omit<ComponentPropsWithoutRef<'div'>, 'as'> {\n /** HTML element to render. Default `div`. */\n as?: ElementType;\n}\n\n/**\n * The lowest-level layout primitive. Renders any element (default `div`)\n * with className passthrough. Use as a styling shell when no other layout\n * atom fits.\n */\nexport const Box = forwardRef<HTMLElement, BoxProps>(\n ({ as: Component = 'div', className, ...props }, ref) => (\n <Component ref={ref as Ref<HTMLElement>} className={cn(className)} {...props} />\n ),\n);\nBox.displayName = 'Box';\n","import { tv, type VariantProps } from '../../../foundation/utils';\n\nexport const stackVariants = tv({\n base: 'flex',\n variants: {\n direction: {\n row: 'flex-row',\n column: 'flex-col',\n 'row-reverse': 'flex-row-reverse',\n 'column-reverse': 'flex-col-reverse',\n },\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n baseline: 'items-baseline',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n },\n gap: {\n '0': 'gap-0',\n '1': 'gap-1',\n '2': 'gap-2',\n '3': 'gap-3',\n '4': 'gap-4',\n '5': 'gap-5',\n '6': 'gap-6',\n '8': 'gap-8',\n '10': 'gap-10',\n '12': 'gap-12',\n },\n wrap: {\n wrap: 'flex-wrap',\n nowrap: 'flex-nowrap',\n 'wrap-reverse': 'flex-wrap-reverse',\n },\n },\n defaultVariants: {\n direction: 'column',\n gap: '4',\n },\n});\n\nexport type StackVariants = VariantProps<typeof stackVariants>;\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ElementType,\n type Ref,\n} from 'react';\nimport { cn } from '../../../foundation/utils';\nimport { stackVariants, type StackVariants } from './Stack.variants';\n\nexport interface StackProps\n extends Omit<ComponentPropsWithoutRef<'div'>, 'as'>,\n StackVariants {\n as?: ElementType;\n}\n\n/**\n * Vertical (default) or horizontal flex container with gap and alignment\n * variants. For row preset use `HStack`, for column use `VStack`.\n */\nexport const Stack = forwardRef<HTMLElement, StackProps>(\n ({ as: Component = 'div', className, direction, align, justify, gap, wrap, ...props }, ref) => (\n <Component\n ref={ref as Ref<HTMLElement>}\n className={cn(stackVariants({ direction, align, justify, gap, wrap }), className)}\n {...props}\n />\n ),\n);\nStack.displayName = 'Stack';\n","import { forwardRef, type Ref } from 'react';\nimport { Stack, type StackProps } from '../stack/Stack';\n\nexport type HStackProps = Omit<StackProps, 'direction'>;\n\n/** Stack preset: `direction=\"row\"`. */\nexport const HStack = forwardRef<HTMLElement, HStackProps>((props, ref) => (\n <Stack ref={ref as Ref<HTMLElement>} direction=\"row\" {...props} />\n));\nHStack.displayName = 'HStack';\n","import { forwardRef, type Ref } from 'react';\nimport { Stack, type StackProps } from '../stack/Stack';\n\nexport type VStackProps = Omit<StackProps, 'direction'>;\n\n/** Stack preset: `direction=\"column\"` (default). Provided for symmetry with HStack. */\nexport const VStack = forwardRef<HTMLElement, VStackProps>((props, ref) => (\n <Stack ref={ref as Ref<HTMLElement>} direction=\"column\" {...props} />\n));\nVStack.displayName = 'VStack';\n","import { tv, type VariantProps } from '../../../foundation/utils';\n\nexport const gridVariants = tv({\n base: 'grid',\n variants: {\n columns: {\n '1': 'grid-cols-1',\n '2': 'grid-cols-2',\n '3': 'grid-cols-3',\n '4': 'grid-cols-4',\n '5': 'grid-cols-5',\n '6': 'grid-cols-6',\n '8': 'grid-cols-8',\n '12': 'grid-cols-12',\n },\n gap: {\n '0': 'gap-0',\n '1': 'gap-1',\n '2': 'gap-2',\n '3': 'gap-3',\n '4': 'gap-4',\n '5': 'gap-5',\n '6': 'gap-6',\n '8': 'gap-8',\n '10': 'gap-10',\n '12': 'gap-12',\n },\n },\n defaultVariants: {\n columns: '2',\n gap: '4',\n },\n});\n\nexport type GridVariants = VariantProps<typeof gridVariants>;\n\n/** Represents the scalar column count accepted by `Grid` (also the per-breakpoint value). */\nexport type GridColumns = NonNullable<GridVariants['columns']>;\n\n/** Represents the scalar gap step accepted by `Grid` (also the per-breakpoint value). */\nexport type GridGap = NonNullable<GridVariants['gap']>;\n\n/** Represents the responsive breakpoints `Grid` understands (`base` = unprefixed). */\nexport type GridBreakpoint = 'base' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Represents a responsive value for `columns` / `gap` — a per-breakpoint map.\n * `base` is the unprefixed value; the rest map to Tailwind's `sm:`–`xl:` prefixes.\n */\nexport type GridResponsive<T extends string> = Partial<Record<GridBreakpoint, T>>;\n\n/* Tailwind can't see interpolated class names, so every responsive permutation\n is spelled out as a complete literal here (base + sm/md/lg/xl prefixes). */\nconst COLUMN_CLASSES: Record<GridBreakpoint, Record<GridColumns, string>> = {\n base: {\n '1': 'grid-cols-1',\n '2': 'grid-cols-2',\n '3': 'grid-cols-3',\n '4': 'grid-cols-4',\n '5': 'grid-cols-5',\n '6': 'grid-cols-6',\n '8': 'grid-cols-8',\n '12': 'grid-cols-12',\n },\n sm: {\n '1': 'sm:grid-cols-1',\n '2': 'sm:grid-cols-2',\n '3': 'sm:grid-cols-3',\n '4': 'sm:grid-cols-4',\n '5': 'sm:grid-cols-5',\n '6': 'sm:grid-cols-6',\n '8': 'sm:grid-cols-8',\n '12': 'sm:grid-cols-12',\n },\n md: {\n '1': 'md:grid-cols-1',\n '2': 'md:grid-cols-2',\n '3': 'md:grid-cols-3',\n '4': 'md:grid-cols-4',\n '5': 'md:grid-cols-5',\n '6': 'md:grid-cols-6',\n '8': 'md:grid-cols-8',\n '12': 'md:grid-cols-12',\n },\n lg: {\n '1': 'lg:grid-cols-1',\n '2': 'lg:grid-cols-2',\n '3': 'lg:grid-cols-3',\n '4': 'lg:grid-cols-4',\n '5': 'lg:grid-cols-5',\n '6': 'lg:grid-cols-6',\n '8': 'lg:grid-cols-8',\n '12': 'lg:grid-cols-12',\n },\n xl: {\n '1': 'xl:grid-cols-1',\n '2': 'xl:grid-cols-2',\n '3': 'xl:grid-cols-3',\n '4': 'xl:grid-cols-4',\n '5': 'xl:grid-cols-5',\n '6': 'xl:grid-cols-6',\n '8': 'xl:grid-cols-8',\n '12': 'xl:grid-cols-12',\n },\n};\n\nconst GAP_CLASSES: Record<GridBreakpoint, Record<GridGap, string>> = {\n base: {\n '0': 'gap-0',\n '1': 'gap-1',\n '2': 'gap-2',\n '3': 'gap-3',\n '4': 'gap-4',\n '5': 'gap-5',\n '6': 'gap-6',\n '8': 'gap-8',\n '10': 'gap-10',\n '12': 'gap-12',\n },\n sm: {\n '0': 'sm:gap-0',\n '1': 'sm:gap-1',\n '2': 'sm:gap-2',\n '3': 'sm:gap-3',\n '4': 'sm:gap-4',\n '5': 'sm:gap-5',\n '6': 'sm:gap-6',\n '8': 'sm:gap-8',\n '10': 'sm:gap-10',\n '12': 'sm:gap-12',\n },\n md: {\n '0': 'md:gap-0',\n '1': 'md:gap-1',\n '2': 'md:gap-2',\n '3': 'md:gap-3',\n '4': 'md:gap-4',\n '5': 'md:gap-5',\n '6': 'md:gap-6',\n '8': 'md:gap-8',\n '10': 'md:gap-10',\n '12': 'md:gap-12',\n },\n lg: {\n '0': 'lg:gap-0',\n '1': 'lg:gap-1',\n '2': 'lg:gap-2',\n '3': 'lg:gap-3',\n '4': 'lg:gap-4',\n '5': 'lg:gap-5',\n '6': 'lg:gap-6',\n '8': 'lg:gap-8',\n '10': 'lg:gap-10',\n '12': 'lg:gap-12',\n },\n xl: {\n '0': 'xl:gap-0',\n '1': 'xl:gap-1',\n '2': 'xl:gap-2',\n '3': 'xl:gap-3',\n '4': 'xl:gap-4',\n '5': 'xl:gap-5',\n '6': 'xl:gap-6',\n '8': 'xl:gap-8',\n '10': 'xl:gap-10',\n '12': 'xl:gap-12',\n },\n};\n\nconst BREAKPOINT_ORDER: readonly GridBreakpoint[] = ['base', 'sm', 'md', 'lg', 'xl'];\n\n/** Resolves a scalar-or-responsive `columns` value to its complete Tailwind class string. */\nexport function resolveGridColumns(\n value: GridColumns | GridResponsive<GridColumns> | undefined,\n): string | undefined {\n if (value === undefined) return undefined;\n if (typeof value === 'string') return COLUMN_CLASSES.base[value];\n return BREAKPOINT_ORDER.map((bp) => {\n const v = value[bp];\n return v === undefined ? undefined : COLUMN_CLASSES[bp][v];\n })\n .filter((c): c is string => Boolean(c))\n .join(' ');\n}\n\n/** Resolves a scalar-or-responsive `gap` value to its complete Tailwind class string. */\nexport function resolveGridGap(\n value: GridGap | GridResponsive<GridGap> | undefined,\n): string | undefined {\n if (value === undefined) return undefined;\n if (typeof value === 'string') return GAP_CLASSES.base[value];\n return BREAKPOINT_ORDER.map((bp) => {\n const v = value[bp];\n return v === undefined ? undefined : GAP_CLASSES[bp][v];\n })\n .filter((c): c is string => Boolean(c))\n .join(' ');\n}\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ElementType,\n type Ref,\n} from 'react';\nimport { cn } from '../../../foundation/utils';\nimport {\n resolveGridColumns,\n resolveGridGap,\n type GridColumns,\n type GridGap,\n type GridResponsive,\n} from './Grid.variants';\n\nexport interface GridProps extends Omit<ComponentPropsWithoutRef<'div'>, 'as'> {\n as?: ElementType;\n /**\n * Equal-column track count. Scalar (`'3'`) emits `grid-cols-3`; a responsive\n * map (`{ base: '1', md: '2', lg: '3' }`) emits per-breakpoint prefixed\n * classes. Default `'2'`.\n */\n columns?: GridColumns | GridResponsive<GridColumns>;\n /**\n * Gap between tracks. Scalar (`'4'`) emits `gap-4`; a responsive map\n * (`{ base: '2', lg: '6' }`) emits per-breakpoint prefixed classes. Default `'4'`.\n */\n gap?: GridGap | GridResponsive<GridGap>;\n}\n\n/**\n * CSS grid container with column and gap variants. Both `columns` and `gap`\n * accept a scalar value or a responsive `{ base, sm, md, lg, xl }` map. For\n * non-uniform tracks pass an explicit `style={{ gridTemplateColumns }}` — the\n * variant covers the equal-column case.\n */\nexport const Grid = forwardRef<HTMLElement, GridProps>(\n ({ as: Component = 'div', className, columns = '2', gap = '4', ...props }, ref) => (\n <Component\n ref={ref as Ref<HTMLElement>}\n className={cn(\n 'grid',\n resolveGridColumns(columns),\n resolveGridGap(gap),\n className,\n )}\n {...props}\n />\n ),\n);\nGrid.displayName = 'Grid';\n","import { tv, type VariantProps } from '../../../foundation/utils';\n\nexport const containerVariants = tv({\n base: 'mx-auto w-full px-4',\n variants: {\n size: {\n sm: 'max-w-screen-sm',\n md: 'max-w-screen-md',\n lg: 'max-w-screen-lg',\n xl: 'max-w-screen-xl',\n '2xl': 'max-w-screen-2xl',\n full: 'max-w-full',\n },\n },\n defaultVariants: {\n size: 'lg',\n },\n});\n\nexport type ContainerVariants = VariantProps<typeof containerVariants>;\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ElementType,\n type Ref,\n} from 'react';\nimport { cn } from '../../../foundation/utils';\nimport { containerVariants, type ContainerVariants } from './Container.variants';\n\nexport interface ContainerProps\n extends Omit<ComponentPropsWithoutRef<'div'>, 'as'>,\n ContainerVariants {\n as?: ElementType;\n}\n\n/**\n * Centered max-width wrapper with horizontal padding. Use at page-level to\n * constrain content width.\n */\nexport const Container = forwardRef<HTMLElement, ContainerProps>(\n ({ as: Component = 'div', className, size, ...props }, ref) => (\n <Component\n ref={ref as Ref<HTMLElement>}\n className={cn(containerVariants({ size }), className)}\n {...props}\n />\n ),\n);\nContainer.displayName = 'Container';\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ElementType,\n type Ref,\n} from 'react';\nimport { cn } from '../../../foundation/utils';\n\nexport interface FlexProps extends Omit<ComponentPropsWithoutRef<'div'>, 'as'> {\n as?: ElementType;\n}\n\n/**\n * Bare flex container — no opinions on direction, gap, or alignment.\n * Use for one-off flex layouts that don't fit `Stack`'s variant matrix.\n */\nexport const Flex = forwardRef<HTMLElement, FlexProps>(\n ({ as: Component = 'div', className, ...props }, ref) => (\n <Component\n ref={ref as Ref<HTMLElement>}\n className={cn('flex', className)}\n {...props}\n />\n ),\n);\nFlex.displayName = 'Flex';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../../foundation/utils';\n\nexport interface AspectRatioProps extends ComponentPropsWithoutRef<'div'> {\n /** Numeric ratio (width/height). Default 1 (square). */\n ratio?: number;\n}\n\n/**\n * Constrain children to an aspect ratio (width / height). Children are\n * absolutely positioned and stretched to fill — typically pass a single\n * `<img>`, `<video>`, or `<iframe>` with `className=\"absolute inset-0 w-full h-full\"`.\n */\nexport const AspectRatio = forwardRef<HTMLDivElement, AspectRatioProps>(\n ({ ratio = 1, className, style, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('relative w-full', className)}\n style={{ aspectRatio: `${ratio}`, ...style }}\n {...props}\n >\n {children}\n </div>\n ),\n);\nAspectRatio.displayName = 'AspectRatio';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../../foundation/utils';\n\nexport interface SpacerProps extends ComponentPropsWithoutRef<'div'> {\n /** Optional explicit size (CSS length). When inside a flex/grid parent,\n * the default `flex: 1` already pushes siblings apart. */\n size?: number | string;\n axis?: 'horizontal' | 'vertical';\n}\n\n/**\n * A flexible empty box. In a flex parent it expands (`flex: 1`) and pushes\n * siblings to opposite ends. Pass `size` for a fixed gap.\n */\nexport const Spacer = forwardRef<HTMLDivElement, SpacerProps>(\n ({ size, axis = 'horizontal', className, style, ...props }, ref) => {\n const fixed: React.CSSProperties | undefined =\n size !== undefined\n ? axis === 'horizontal'\n ? { width: typeof size === 'number' ? `${size}px` : size, flexShrink: 0 }\n : { height: typeof size === 'number' ? `${size}px` : size, flexShrink: 0 }\n : undefined;\n\n return (\n <div\n ref={ref}\n aria-hidden=\"true\"\n className={cn(size === undefined && 'flex-1', className)}\n style={{ ...fixed, ...style }}\n {...props}\n />\n );\n },\n);\nSpacer.displayName = 'Spacer';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../../foundation/utils';\n\nexport type CenterProps = ComponentPropsWithoutRef<'div'>;\n\n/** Flex shorthand that centers its children both axes. */\nexport const Center = forwardRef<HTMLDivElement, CenterProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex items-center justify-center', className)}\n {...props}\n />\n ),\n);\nCenter.displayName = 'Center';\n","import { tv, type VariantProps } from '../../../foundation/utils';\n\n/**\n * Provides the rule geometry for `Divider`. A horizontal divider is a full-width\n * top border; a vertical divider is a full-height left border that stretches to\n * its flex/grid parent. The line color is the semantic `border` token.\n */\nexport const dividerVariants = tv({\n base: 'border-border',\n variants: {\n orientation: {\n horizontal: 'w-full border-t',\n vertical: 'h-full self-stretch border-l',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type DividerVariants = VariantProps<typeof dividerVariants>;\n\n/** Represents the axis of a `Divider` (`horizontal` · `vertical`). */\nexport type DividerOrientation = NonNullable<DividerVariants['orientation']>;\n","import { forwardRef, type ComponentPropsWithoutRef, type ReactNode } from 'react';\nimport { cn } from '../../../foundation/utils';\nimport { dividerVariants, type DividerOrientation } from './Divider.variants';\n\nexport interface DividerProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n /** Axis of the rule. Default `horizontal`. */\n orientation?: DividerOrientation;\n /**\n * Optional centered content overlaid on the rule — the classic \"or\" separator.\n * Horizontal only (ignored when `orientation=\"vertical\"`). When present the rule\n * is split either side of the label and the divider is exposed as a labelled\n * (non-decorative) separator.\n */\n label?: ReactNode;\n}\n\n/**\n * A thin rule that separates content, using the semantic `border` token.\n * Plain by default; pass `label` for a horizontal rule with centered content\n * (e.g. `<Divider label=\"or\" />`) sitting on the surface background.\n */\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n ({ orientation = 'horizontal', label, className, ...props }, ref) => {\n if (label != null && orientation === 'horizontal') {\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn('flex w-full items-center gap-3', className)}\n {...props}\n >\n <span className=\"h-px flex-1 bg-border\" />\n <span className=\"text-sm text-muted-foreground\">{label}</span>\n <span className=\"h-px flex-1 bg-border\" />\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation={orientation}\n className={cn(dividerVariants({ orientation }), className)}\n {...props}\n />\n );\n },\n);\nDivider.displayName = 'Divider';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../../foundation/utils';\n\nexport interface ScrollAreaProps extends ComponentPropsWithoutRef<'div'> {\n axis?: 'vertical' | 'horizontal' | 'both';\n}\n\n/**\n * Native scrollable container with stable visuals. For custom-styled\n * scrollbars (track + thumb separately animated) use the L5 ScrollArea\n * organism. This atom exists for the common case.\n */\nexport const ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>(\n ({ axis = 'vertical', className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'relative',\n axis === 'vertical' && 'overflow-y-auto overflow-x-hidden',\n axis === 'horizontal' && 'overflow-x-auto overflow-y-hidden',\n axis === 'both' && 'overflow-auto',\n className,\n )}\n {...props}\n />\n ),\n);\nScrollArea.displayName = 'ScrollArea';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../../foundation/utils';\n\nexport interface ClusterProps extends ComponentPropsWithoutRef<'div'> {\n /** Gap between children. Default `4`. */\n gap?: '2' | '3' | '4' | '6' | '8';\n /** Justify on cross axis. Default `center`. */\n justify?: 'start' | 'center' | 'end';\n}\n\nconst GAP: Record<NonNullable<ClusterProps['gap']>, string> = {\n '2': 'gap-2', '3': 'gap-3', '4': 'gap-4', '6': 'gap-6', '8': 'gap-8',\n};\nconst JUSTIFY: Record<NonNullable<ClusterProps['justify']>, string> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n};\n\n/**\n * Centered wrapping row — for auth-page action clusters, hero CTAs, footer\n * link groups. `Inline` left-aligns; `Cluster` centers by default.\n */\nexport const Cluster = forwardRef<HTMLDivElement, ClusterProps>(\n ({ gap = '4', justify = 'center', className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex flex-wrap items-center', GAP[gap], JUSTIFY[justify], className)}\n {...props}\n />\n ),\n);\nCluster.displayName = 'Cluster';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../../foundation/utils';\n\nexport interface FrameProps extends ComponentPropsWithoutRef<'div'> {\n /** Padding. Default `4`. */\n padding?: '0' | '2' | '3' | '4' | '6' | '8';\n /** Border radius. Default `md`. */\n radius?: 'none' | 'sm' | 'md' | 'lg';\n /** Surface background — `card` (raised) or `muted` (recessed). Default `card`. */\n surface?: 'card' | 'muted' | 'transparent';\n /** Show the border. Default `true`. */\n isBordered?: boolean;\n}\n\nconst PADDING: Record<NonNullable<FrameProps['padding']>, string> = {\n '0': '', '2': 'p-2', '3': 'p-3', '4': 'p-4', '6': 'p-6', '8': 'p-8',\n};\nconst RADIUS: Record<NonNullable<FrameProps['radius']>, string> = {\n none: '', sm: 'rounded-sm', md: 'rounded-md', lg: 'rounded-lg',\n};\nconst SURFACE: Record<NonNullable<FrameProps['surface']>, string> = {\n card: 'bg-card text-card-foreground',\n muted: 'bg-muted text-foreground',\n transparent: '',\n};\n\n/**\n * Bordered shell with padding + radius — `Card` without slot semantics.\n * Use when you want the visual but not the structured Header/Body/Footer.\n */\nexport const Frame = forwardRef<HTMLDivElement, FrameProps>(\n ({ padding = '4', radius = 'md', surface = 'card', isBordered = true, className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n SURFACE[surface],\n PADDING[padding],\n RADIUS[radius],\n isBordered && 'border border-border',\n className,\n )}\n {...props}\n />\n ),\n);\nFrame.displayName = 'Frame';\n","import { forwardRef, type ComponentPropsWithoutRef, type ReactNode } from 'react';\nimport { cn } from '../../../foundation/utils';\n\nexport interface TwoColumnProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n /** Sidebar / aside content. */\n aside: ReactNode;\n /** Main content. */\n children: ReactNode;\n /** Aside width — Tailwind class string (e.g. `w-64`). Default `w-64`. */\n asideWidth?: string;\n /** Side the aside sits on. Default `left`. */\n asideSide?: 'left' | 'right';\n /** Gap between aside and main. Default `6`. */\n gap?: '0' | '4' | '6' | '8' | '10';\n}\n\nconst GAP: Record<NonNullable<TwoColumnProps['gap']>, string> = {\n '0': 'gap-0', '4': 'gap-4', '6': 'gap-6', '8': 'gap-8', '10': 'gap-10',\n};\n\n/**\n * Two-pane layout — fixed-width aside + flexible main. Sidebar+content,\n * filter+results, table-of-contents+article patterns.\n */\nexport const TwoColumn = forwardRef<HTMLDivElement, TwoColumnProps>(\n (\n { aside, children, asideWidth = 'w-64', asideSide = 'left', gap = '6', className, ...props },\n ref,\n ) => (\n <div\n ref={ref}\n className={cn(\n 'flex w-full',\n asideSide === 'right' && 'flex-row-reverse',\n GAP[gap],\n className,\n )}\n {...props}\n >\n <aside className={cn('shrink-0', asideWidth)}>{aside}</aside>\n <main className=\"min-w-0 flex-1\">{children}</main>\n </div>\n ),\n);\nTwoColumn.displayName = 'TwoColumn';\n","import {\n Children,\n createContext,\n forwardRef,\n isValidElement,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type KeyboardEvent,\n type MouseEvent as ReactMouseEvent,\n type ReactNode,\n} from 'react';\nimport { cn } from '../../../foundation/utils';\nimport { useControlled } from '../../../foundation/hooks';\n\ninterface PanelInfo {\n index: number;\n defaultSize: number;\n minSize: number;\n maxSize: number;\n}\n\ninterface ResizableContextValue {\n orientation: 'horizontal' | 'vertical';\n sizes: number[];\n panels: React.MutableRefObject<PanelInfo[]>;\n containerRef: React.MutableRefObject<HTMLDivElement | null>;\n beginDrag: (separatorIndex: number, event: ReactMouseEvent) => void;\n nudge: (separatorIndex: number, deltaPct: number) => void;\n resetPair: (separatorIndex: number) => void;\n}\n\nconst ResizableContext = createContext<ResizableContextValue | null>(null);\n\nfunction useResizableContext() {\n const ctx = useContext(ResizableContext);\n if (!ctx) throw new Error('ResizablePanels.* must be used inside <ResizablePanels>');\n return ctx;\n}\n\nexport interface ResizablePanelsProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: 'horizontal' | 'vertical';\n defaultSizes?: number[];\n sizes?: number[];\n onSizesChange?: (sizes: number[]) => void;\n children: ReactNode;\n}\n\nfunction countPanels(children: ReactNode): number {\n let n = 0;\n Children.forEach(children, (child) => {\n if (isValidElement(child) && (child.type as { displayName?: string }).displayName === 'ResizablePanel') {\n n += 1;\n }\n });\n return n;\n}\n\nconst ResizablePanelsRoot = forwardRef<HTMLDivElement, ResizablePanelsProps>(\n function ResizablePanels(\n { orientation = 'horizontal', defaultSizes, sizes: sizesProp, onSizesChange, className, children, ...rest },\n forwardedRef,\n ) {\n const panels = useRef<PanelInfo[]>([]);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const dragCleanupRef = useRef<(() => void) | null>(null);\n const panelCount = countPanels(children);\n\n // Unmounting mid-drag must release the window listeners + body style overrides.\n useEffect(() => () => dragCleanupRef.current?.(), []);\n\n const initialSizes =\n defaultSizes && defaultSizes.length === panelCount\n ? defaultSizes\n : Array(panelCount).fill(100 / Math.max(panelCount, 1));\n\n const [sizes, setSizes] = useControlled<number[]>({\n controlled: sizesProp,\n default: initialSizes,\n onChange: onSizesChange,\n });\n\n // If the panel count changes (children added/removed), reset to equal sizes.\n useEffect(() => {\n if (sizes.length === panelCount) return;\n setSizes(Array(panelCount).fill(100 / Math.max(panelCount, 1)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [panelCount]);\n\n const applyDelta = useCallback(\n (separatorIndex: number, deltaPct: number) => {\n const a = separatorIndex;\n const b = separatorIndex + 1;\n const aInfo = panels.current[a];\n const bInfo = panels.current[b];\n if (!aInfo || !bInfo) return;\n const next = sizes.slice();\n let nextA = next[a]! + deltaPct;\n let nextB = next[b]! - deltaPct;\n\n // Clamp by min/max — adjust deltaPct on overshoot.\n if (nextA < aInfo.minSize) {\n const adj = aInfo.minSize - nextA;\n nextA += adj;\n nextB -= adj;\n }\n if (nextB < bInfo.minSize) {\n const adj = bInfo.minSize - nextB;\n nextB += adj;\n nextA -= adj;\n }\n if (nextA > aInfo.maxSize) {\n const adj = nextA - aInfo.maxSize;\n nextA -= adj;\n nextB += adj;\n }\n if (nextB > bInfo.maxSize) {\n const adj = nextB - bInfo.maxSize;\n nextB -= adj;\n nextA += adj;\n }\n\n next[a] = nextA;\n next[b] = nextB;\n setSizes(next);\n },\n [sizes, setSizes],\n );\n\n const beginDrag = useCallback(\n (separatorIndex: number, event: ReactMouseEvent) => {\n const container = containerRef.current;\n if (!container) return;\n const startX = event.clientX;\n const startY = event.clientY;\n const rect = container.getBoundingClientRect();\n const total = orientation === 'horizontal' ? rect.width : rect.height;\n if (total === 0) return;\n\n const startSizes = sizes.slice();\n\n const onMove = (e: MouseEvent) => {\n const deltaPx =\n orientation === 'horizontal' ? e.clientX - startX : e.clientY - startY;\n const deltaPct = (deltaPx / total) * 100;\n // Recompute against the start state, not the live state, to prevent drift.\n const a = separatorIndex;\n const b = separatorIndex + 1;\n const aInfo = panels.current[a];\n const bInfo = panels.current[b];\n if (!aInfo || !bInfo) return;\n let nextA = startSizes[a]! + deltaPct;\n let nextB = startSizes[b]! - deltaPct;\n nextA = Math.max(aInfo.minSize, Math.min(aInfo.maxSize, nextA));\n nextB = Math.max(bInfo.minSize, Math.min(bInfo.maxSize, nextB));\n // Restore the locked total after clamping.\n const sum = nextA + nextB;\n const startSum = startSizes[a]! + startSizes[b]!;\n if (sum !== startSum) {\n const diff = startSum - sum;\n // Push surplus onto whichever side has slack.\n if (nextA + diff <= aInfo.maxSize && nextA + diff >= aInfo.minSize) {\n nextA = nextA + diff;\n } else {\n nextB = nextB + diff;\n }\n }\n const next = startSizes.slice();\n next[a] = nextA;\n next[b] = nextB;\n setSizes(next);\n };\n\n const onUp = () => {\n window.removeEventListener('mousemove', onMove);\n window.removeEventListener('mouseup', onUp);\n document.body.style.cursor = '';\n document.body.style.userSelect = '';\n dragCleanupRef.current = null;\n };\n\n document.body.style.cursor = orientation === 'horizontal' ? 'col-resize' : 'row-resize';\n document.body.style.userSelect = 'none';\n window.addEventListener('mousemove', onMove);\n window.addEventListener('mouseup', onUp);\n dragCleanupRef.current = onUp;\n },\n [orientation, sizes, setSizes],\n );\n\n const resetPair = useCallback(\n (separatorIndex: number) => {\n const a = separatorIndex;\n const b = separatorIndex + 1;\n const aInfo = panels.current[a];\n const bInfo = panels.current[b];\n if (!aInfo || !bInfo) return;\n const next = sizes.slice();\n const total = next[a]! + next[b]!;\n next[a] = (total * aInfo.defaultSize) / (aInfo.defaultSize + bInfo.defaultSize);\n next[b] = total - next[a]!;\n setSizes(next);\n },\n [sizes, setSizes],\n );\n\n const ctx = useMemo<ResizableContextValue>(\n () => ({\n orientation,\n sizes,\n panels,\n containerRef,\n beginDrag,\n nudge: applyDelta,\n resetPair,\n }),\n [orientation, sizes, beginDrag, applyDelta, resetPair],\n );\n\n // Render children with separator indices threaded through.\n let panelIdx = 0;\n let sepIdx = 0;\n const elements = Children.map(children, (child) => {\n if (!isValidElement(child)) return child;\n const displayName = (child.type as { displayName?: string }).displayName;\n if (displayName === 'ResizablePanel') {\n const node = (\n <ResizablePanelInner\n key={`p-${panelIdx}`}\n index={panelIdx}\n {...(child.props as ResizablePanelProps)}\n />\n );\n panelIdx += 1;\n return node;\n }\n if (displayName === 'ResizableSeparator') {\n const node = (\n <ResizableSeparatorInner\n key={`s-${sepIdx}`}\n index={sepIdx}\n {...(child.props as ResizableSeparatorProps)}\n />\n );\n sepIdx += 1;\n return node;\n }\n return child;\n });\n\n return (\n <ResizableContext.Provider value={ctx}>\n <div\n ref={(el) => {\n containerRef.current = el;\n if (typeof forwardedRef === 'function') forwardedRef(el);\n else if (forwardedRef) (forwardedRef as React.MutableRefObject<HTMLDivElement | null>).current = el;\n }}\n data-orientation={orientation}\n className={cn(\n 'flex h-full w-full',\n orientation === 'horizontal' ? 'flex-row' : 'flex-col',\n className,\n )}\n {...rest}\n >\n {elements}\n </div>\n </ResizableContext.Provider>\n );\n },\n);\n\nexport interface ResizablePanelProps extends HTMLAttributes<HTMLDivElement> {\n defaultSize?: number;\n minSize?: number;\n maxSize?: number;\n children?: ReactNode;\n}\n\ninterface ResizablePanelInnerProps extends ResizablePanelProps {\n index: number;\n}\n\nfunction ResizablePanelInner({\n index,\n defaultSize = 100,\n minSize = 0,\n maxSize = 100,\n className,\n children,\n ...rest\n}: ResizablePanelInnerProps) {\n const ctx = useResizableContext();\n\n // Register panel info before first paint so beginDrag can reference it.\n if (!ctx.panels.current[index]) {\n ctx.panels.current[index] = { index, defaultSize, minSize, maxSize };\n } else {\n ctx.panels.current[index] = { index, defaultSize, minSize, maxSize };\n }\n\n const size = ctx.sizes[index] ?? defaultSize;\n\n return (\n <div\n data-panel-index={index}\n className={cn('overflow-auto', className)}\n style={\n ctx.orientation === 'horizontal'\n ? { width: `${size}%`, height: '100%' }\n : { height: `${size}%`, width: '100%' }\n }\n {...rest}\n >\n {children}\n </div>\n );\n}\n\n// Marker component — ResizablePanels swaps each <ResizablePanel> for its inner\n// impl via Children.map. The wrapper exists only as a typed slot.\nexport const ResizablePanel = forwardRef<HTMLDivElement, ResizablePanelProps>(\n function ResizablePanel() {\n return null;\n },\n);\nResizablePanel.displayName = 'ResizablePanel';\n\nexport interface ResizableSeparatorProps extends HTMLAttributes<HTMLDivElement> {\n isDisabled?: boolean;\n}\n\ninterface ResizableSeparatorInnerProps extends ResizableSeparatorProps {\n index: number;\n}\n\nfunction ResizableSeparatorInner({\n index,\n isDisabled,\n className,\n onKeyDown,\n onDoubleClick,\n ...rest\n}: ResizableSeparatorInnerProps) {\n const ctx = useResizableContext();\n const [dragging, setDragging] = useState(false);\n\n const handleMouseDown = (e: ReactMouseEvent<HTMLDivElement>) => {\n if (isDisabled) return;\n if (e.button !== 0) return;\n e.preventDefault();\n setDragging(true);\n ctx.beginDrag(index, e);\n const onUp = () => {\n setDragging(false);\n window.removeEventListener('mouseup', onUp);\n };\n window.addEventListener('mouseup', onUp);\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented || isDisabled) return;\n const step = e.shiftKey ? 10 : 1;\n if (ctx.orientation === 'horizontal') {\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n ctx.nudge(index, -step);\n } else if (e.key === 'ArrowRight') {\n e.preventDefault();\n ctx.nudge(index, step);\n }\n } else {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n ctx.nudge(index, -step);\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n ctx.nudge(index, step);\n }\n }\n };\n\n // Announce the panel BEFORE the separator — ArrowRight/ArrowDown grow it, so size moves with the key.\n const ariaValueNow = ctx.sizes[index] ?? 50;\n const panelBefore = ctx.panels.current[index];\n\n return (\n <div\n role=\"separator\"\n aria-orientation={ctx.orientation === 'horizontal' ? 'vertical' : 'horizontal'}\n aria-valuenow={Math.round(ariaValueNow)}\n aria-valuemin={panelBefore?.minSize ?? 0}\n aria-valuemax={panelBefore?.maxSize ?? 100}\n aria-disabled={isDisabled || undefined}\n tabIndex={isDisabled ? -1 : 0}\n data-dragging={dragging || undefined}\n onMouseDown={handleMouseDown}\n onKeyDown={handleKeyDown}\n onDoubleClick={(e) => {\n onDoubleClick?.(e);\n if (e.defaultPrevented || isDisabled) return;\n ctx.resetPair(index);\n }}\n className={cn(\n 'flex shrink-0 items-center justify-center bg-border transition-colors',\n ctx.orientation === 'horizontal'\n ? 'w-1 cursor-col-resize hover:bg-border-strong data-[dragging]:bg-primary'\n : 'h-1 cursor-row-resize hover:bg-border-strong data-[dragging]:bg-primary',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n isDisabled && 'cursor-default opacity-50 hover:bg-border',\n className,\n )}\n {...rest}\n />\n );\n}\n\nexport const ResizableSeparator = forwardRef<HTMLDivElement, ResizableSeparatorProps>(\n function ResizableSeparator() {\n return null;\n },\n);\nResizableSeparator.displayName = 'ResizableSeparator';\n\nexport const ResizablePanels = Object.assign(ResizablePanelsRoot, {\n Panel: ResizablePanel,\n Separator: ResizableSeparator,\n});\n\nexport default ResizablePanels;\n","import {\n forwardRef,\n useEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type PointerEvent as ReactPointerEvent,\n type ReactNode,\n} from 'react';\nimport { cn } from '../../../foundation/utils';\nimport { Announce } from '../../../foundation/primitives';\nimport { Spinner } from '../../feedback/spinner';\n\nexport interface PullToRefreshProps extends HTMLAttributes<HTMLDivElement> {\n onRefresh: () => Promise<void> | void;\n threshold?: number;\n maxPull?: number;\n isDisabled?: boolean;\n children: ReactNode;\n}\n\n/**\n * Pull-to-refresh wrapper. Listen to pointer drag at scrollTop=0; once past\n * `threshold`, fire `onRefresh`. Visual indicator: spinner that scales in as\n * the user pulls.\n */\nexport const PullToRefresh = forwardRef<HTMLDivElement, PullToRefreshProps>(\n function PullToRefresh(\n { onRefresh, threshold = 60, maxPull = 120, isDisabled, className, children, ...rest },\n forwardedRef,\n ) {\n const containerRef = useRef<HTMLDivElement | null>(null);\n const startYRef = useRef<number | null>(null);\n const [pull, setPull] = useState(0);\n const [refreshing, setRefreshing] = useState(false);\n\n const onPointerDown = (e: ReactPointerEvent<HTMLDivElement>) => {\n if (isDisabled || refreshing) return;\n const el = containerRef.current;\n if (!el || el.scrollTop > 0) return;\n startYRef.current = e.clientY;\n };\n\n const onPointerMove = (e: ReactPointerEvent<HTMLDivElement>) => {\n if (startYRef.current == null) return;\n // Pointer was released outside the container — abandon the gesture.\n if (e.buttons === 0) {\n startYRef.current = null;\n setPull(0);\n return;\n }\n const dy = e.clientY - startYRef.current;\n if (dy < 0) {\n setPull(0);\n return;\n }\n // Resistance: sub-linear growth past threshold.\n const eased = dy < threshold ? dy : threshold + (dy - threshold) * 0.4;\n setPull(Math.min(maxPull, eased));\n };\n\n const onPointerUp = async () => {\n if (startYRef.current == null) return;\n const reached = pull >= threshold;\n startYRef.current = null;\n if (reached) {\n setRefreshing(true);\n setPull(threshold);\n try {\n await onRefresh();\n } finally {\n setRefreshing(false);\n setPull(0);\n }\n } else {\n setPull(0);\n }\n };\n\n // Touch: native vertical pan fires pointercancel and kills the gesture.\n // preventDefault touchmove only mid-pull (scrollTop 0, moving down); normal scroll stays native.\n useEffect(() => {\n const el = containerRef.current;\n if (!el) return;\n const onTouchMove = (e: TouchEvent) => {\n if (startYRef.current == null || !e.cancelable) return;\n if (el.scrollTop > 0) return;\n const touch = e.touches[0];\n if (!touch) return;\n if (touch.clientY - startYRef.current > 0) e.preventDefault();\n };\n el.addEventListener('touchmove', onTouchMove, { passive: false });\n return () => el.removeEventListener('touchmove', onTouchMove);\n }, []);\n\n // Releasing the pointer outside the container must still finish the gesture.\n useEffect(() => {\n if (pull === 0) return;\n const finish = () => {\n void onPointerUp();\n };\n window.addEventListener('pointerup', finish);\n window.addEventListener('pointercancel', finish);\n return () => {\n window.removeEventListener('pointerup', finish);\n window.removeEventListener('pointercancel', finish);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pull]);\n\n const reached = pull >= threshold;\n\n return (\n <div\n ref={(el) => {\n containerRef.current = el;\n if (typeof forwardedRef === 'function') forwardedRef(el);\n else if (forwardedRef) (forwardedRef as React.MutableRefObject<HTMLDivElement | null>).current = el;\n }}\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={onPointerUp}\n onPointerCancel={onPointerUp}\n className={cn('relative h-full overflow-y-auto', className)}\n {...rest}\n >\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-x-0 top-0 z-raised flex items-center justify-center\"\n style={{\n height: pull,\n transition: startYRef.current == null ? 'height 200ms ease-out' : 'none',\n }}\n >\n {pull > 8 && (\n <div\n className={cn(\n 'transition-opacity',\n refreshing ? 'opacity-100' : reached ? 'opacity-100' : 'opacity-60',\n )}\n style={{ transform: `scale(${Math.min(1, pull / threshold)})` }}\n >\n <Spinner size=\"md\" tone={reached ? 'brand' : 'default'} />\n </div>\n )}\n </div>\n <div\n style={{\n transform: `translateY(${pull}px)`,\n transition: startYRef.current == null ? 'transform 200ms ease-out' : 'none',\n }}\n >\n {children}\n </div>\n <Announce politeness=\"polite\">\n {refreshing ? 'Refreshing' : ''}\n </Announce>\n </div>\n );\n },\n);\n","import {\n createContext,\n forwardRef,\n useContext,\n useMemo,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cn } from '../../../foundation/utils';\nimport { useControlled, useMediaQuery } from '../../../foundation/hooks';\nimport { Drawer, DrawerContent } from '../../overlays/drawer';\n\ntype Breakpoint = 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\nconst BREAKPOINT_PX: Record<Breakpoint, number> = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n};\n\n// Complete class strings per breakpoint — Tailwind can't see interpolated names.\nconst SIDEBAR_STATIC_CLASSES: Record<Breakpoint, string> = {\n sm: 'hidden sm:flex',\n md: 'hidden md:flex',\n lg: 'hidden lg:flex',\n xl: 'hidden xl:flex',\n '2xl': 'hidden 2xl:flex',\n};\n\ninterface AppShellContextValue {\n sidebarWidth: string;\n asideWidth: string;\n sidebarBreakpoint: Breakpoint;\n isSidebarOpen: boolean;\n setSidebarOpen: (open: boolean) => void;\n isSidebarCollapsed: boolean;\n isAsideHidden: boolean;\n}\n\nconst AppShellContext = createContext<AppShellContextValue | null>(null);\n\nfunction useAppShellContext() {\n const ctx = useContext(AppShellContext);\n if (!ctx) throw new Error('AppShell.* must be used inside <AppShell>');\n return ctx;\n}\n\nexport interface AppShellProps extends HTMLAttributes<HTMLDivElement> {\n sidebarWidth?: string;\n asideWidth?: string;\n sidebarBreakpoint?: Breakpoint;\n asideBreakpoint?: Breakpoint;\n isSidebarOpen?: boolean;\n defaultSidebarOpen?: boolean;\n onSidebarOpenChange?: (open: boolean) => void;\n children: ReactNode;\n}\n\n/**\n * Top-level page frame. Children: `AppShell.Header / Sidebar / Main / Aside /\n * Footer`. CSS-grid layout; sidebar collapses to a Drawer below\n * `sidebarBreakpoint`.\n */\nconst AppShellRoot = forwardRef<HTMLDivElement, AppShellProps>(function AppShell(\n {\n sidebarWidth = '240px',\n asideWidth = '280px',\n sidebarBreakpoint = 'lg',\n asideBreakpoint = 'xl',\n isSidebarOpen: sidebarOpenProp,\n defaultSidebarOpen = false,\n onSidebarOpenChange,\n className,\n children,\n ...rest\n },\n ref,\n) {\n const [isSidebarOpen, setSidebarOpen] = useControlled({\n controlled: sidebarOpenProp,\n default: defaultSidebarOpen,\n onChange: onSidebarOpenChange,\n });\n\n const isSidebarCollapsed = !useMediaQuery(`(min-width: ${BREAKPOINT_PX[sidebarBreakpoint]}px)`);\n const isAsideHidden = !useMediaQuery(`(min-width: ${BREAKPOINT_PX[asideBreakpoint]}px)`);\n\n const ctx = useMemo<AppShellContextValue>(\n () => ({\n sidebarWidth,\n asideWidth,\n sidebarBreakpoint,\n isSidebarOpen,\n setSidebarOpen,\n isSidebarCollapsed,\n isAsideHidden,\n }),\n [sidebarWidth, asideWidth, sidebarBreakpoint, isSidebarOpen, setSidebarOpen, isSidebarCollapsed, isAsideHidden],\n );\n\n const gridTemplate = isSidebarCollapsed\n ? `'header header' auto 'main main' 1fr 'footer footer' auto / 1fr`\n : `'header header' auto 'sidebar main' 1fr 'sidebar footer' auto / ${sidebarWidth} 1fr`;\n\n return (\n <AppShellContext.Provider value={ctx}>\n <div\n ref={ref}\n className={cn('grid min-h-svh bg-background text-foreground', className)}\n style={{ gridTemplate }}\n {...rest}\n >\n <a\n href=\"#app-shell-main\"\n className=\"sr-only focus:not-sr-only focus:fixed focus:left-2 focus:top-2 focus:z-modal focus:rounded-md focus:bg-card focus:px-3 focus:py-2 focus:shadow\"\n >\n Skip to content\n </a>\n {children}\n </div>\n </AppShellContext.Provider>\n );\n});\n\nexport type AppShellHeaderProps = HTMLAttributes<HTMLElement>;\n\nexport const AppShellHeader = forwardRef<HTMLElement, AppShellHeaderProps>(\n function AppShellHeader({ className, ...rest }, ref) {\n return (\n <header\n ref={ref}\n role=\"banner\"\n className={cn(\n 'sticky top-0 z-sticky flex h-14 items-center gap-3 border-b border-border bg-card px-4 [grid-area:header]',\n className,\n )}\n {...rest}\n />\n );\n },\n);\n\nexport type AppShellSidebarProps = HTMLAttributes<HTMLElement>;\n\nexport const AppShellSidebar = forwardRef<HTMLElement, AppShellSidebarProps>(\n function AppShellSidebar({ className, children, ...rest }, ref) {\n const ctx = useAppShellContext();\n\n if (ctx.isSidebarCollapsed) {\n return (\n <Drawer open={ctx.isSidebarOpen} onOpenChange={ctx.setSidebarOpen} side=\"left\">\n <DrawerContent className=\"w-72 max-w-[80%]\">\n <nav className={cn('flex h-full flex-col', className)}>{children}</nav>\n </DrawerContent>\n </Drawer>\n );\n }\n return (\n <aside\n ref={ref}\n className={cn(\n 'sticky top-14 h-[calc(100svh-3.5rem)] overflow-y-auto border-r border-border bg-card [grid-area:sidebar]',\n SIDEBAR_STATIC_CLASSES[ctx.sidebarBreakpoint],\n className,\n )}\n {...rest}\n >\n <nav className=\"flex h-full w-full flex-col p-3\">{children}</nav>\n </aside>\n );\n },\n);\n\nexport type AppShellMainProps = HTMLAttributes<HTMLElement>;\n\nexport const AppShellMain = forwardRef<HTMLElement, AppShellMainProps>(\n function AppShellMain({ className, children, ...rest }, ref) {\n return (\n <main\n ref={ref}\n id=\"app-shell-main\"\n className={cn(\n 'flex flex-col [grid-area:main] focus:outline-none',\n className,\n )}\n tabIndex={-1}\n {...rest}\n >\n {children}\n </main>\n );\n },\n);\n\nexport type AppShellContentProps = HTMLAttributes<HTMLDivElement>;\n\nexport const AppShellContent = forwardRef<HTMLDivElement, AppShellContentProps>(\n function AppShellContent({ className, ...rest }, ref) {\n return <div ref={ref} className={cn('flex-1 overflow-y-auto p-6', className)} {...rest} />;\n },\n);\n\nexport type AppShellAsideProps = HTMLAttributes<HTMLElement>;\n\nexport const AppShellAside = forwardRef<HTMLElement, AppShellAsideProps>(\n function AppShellAside({ className, ...rest }, ref) {\n const ctx = useAppShellContext();\n if (ctx.isAsideHidden) return null;\n return (\n <aside\n ref={ref}\n style={{ width: ctx.asideWidth }}\n className={cn(\n 'sticky top-14 h-[calc(100svh-3.5rem)] shrink-0 overflow-y-auto border-l border-border bg-card p-4',\n className,\n )}\n {...rest}\n />\n );\n },\n);\n\nexport type AppShellFooterProps = HTMLAttributes<HTMLElement>;\n\nexport const AppShellFooter = forwardRef<HTMLElement, AppShellFooterProps>(\n function AppShellFooter({ className, ...rest }, ref) {\n return (\n <footer\n ref={ref}\n role=\"contentinfo\"\n className={cn(\n 'border-t border-border bg-card px-4 py-3 text-sm text-muted-foreground [grid-area:footer]',\n className,\n )}\n {...rest}\n />\n );\n },\n);\n\nexport const AppShell = Object.assign(AppShellRoot, {\n Header: AppShellHeader,\n Sidebar: AppShellSidebar,\n Main: AppShellMain,\n Content: AppShellContent,\n Aside: AppShellAside,\n Footer: AppShellFooter,\n});\n\nexport function useAppShell() {\n return useAppShellContext();\n}\n\nexport default AppShell;\n","import { tv, type VariantProps } from '../../../foundation/utils';\n\n/* Overlay positioning + visibility + transition surface — see Overlay.standard.md + Overlay.spec.md. */\nexport const overlayVariants = tv({\n base: 'absolute',\n variants: {\n position: {\n 'top-right': 'top-[var(--ui-overlay-inset,0.5rem)] right-[var(--ui-overlay-inset,0.5rem)]',\n 'top-left': 'top-[var(--ui-overlay-inset,0.5rem)] left-[var(--ui-overlay-inset,0.5rem)]',\n 'bottom-right': 'bottom-[var(--ui-overlay-inset,0.5rem)] right-[var(--ui-overlay-inset,0.5rem)]',\n 'bottom-left': 'bottom-[var(--ui-overlay-inset,0.5rem)] left-[var(--ui-overlay-inset,0.5rem)]',\n 'top': 'top-[var(--ui-overlay-inset,0.5rem)] left-1/2 -translate-x-1/2',\n 'bottom': 'bottom-[var(--ui-overlay-inset,0.5rem)] left-1/2 -translate-x-1/2',\n 'left': 'left-[var(--ui-overlay-inset,0.5rem)] top-1/2 -translate-y-1/2',\n 'right': 'right-[var(--ui-overlay-inset,0.5rem)] top-1/2 -translate-y-1/2',\n 'center': 'top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2',\n 'custom': '', // consumer passed inset object — positioning via inline style\n },\n visibilityMode: {\n 'always': '',\n 'hover': 'opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 group-hover:[transition-duration:var(--ui-overlay-enter,200ms)] group-focus-within:[transition-duration:var(--ui-overlay-enter,200ms)]',\n 'focus-within': 'opacity-0 group-focus-within:opacity-100 group-focus-within:[transition-duration:var(--ui-overlay-enter,200ms)]',\n 'presence': 'data-[state=closed]:opacity-0 data-[state=open]:[transition-duration:var(--ui-overlay-enter,200ms)]',\n },\n transition: {\n 'none': '',\n 'fade': 'transition-opacity duration-[var(--ui-overlay-exit,200ms)] ease-out',\n 'fade-scale': 'transition-[opacity,transform] duration-[var(--ui-overlay-exit,200ms)] ease-out',\n 'fade-slide-up': 'transition-[opacity,transform] duration-[var(--ui-overlay-exit,200ms)] ease-out',\n 'fade-slide-down': 'transition-[opacity,transform] duration-[var(--ui-overlay-exit,200ms)] ease-out',\n 'fade-slide-left': 'transition-[opacity,transform] duration-[var(--ui-overlay-exit,200ms)] ease-out',\n 'fade-slide-right': 'transition-[opacity,transform] duration-[var(--ui-overlay-exit,200ms)] ease-out',\n },\n },\n compoundVariants: [\n // === HOVER mode + transform-bearing transitions ===\n {\n visibilityMode: 'hover', transition: 'fade-scale',\n class:\n 'scale-95 group-hover:scale-100 group-focus-within:scale-100 ' +\n 'motion-reduce:scale-100 motion-reduce:group-hover:scale-100 motion-reduce:group-focus-within:scale-100',\n },\n {\n visibilityMode: 'hover', transition: 'fade-slide-up',\n class:\n 'translate-y-1 group-hover:translate-y-0 group-focus-within:translate-y-0 ' +\n 'motion-reduce:translate-y-0 motion-reduce:group-hover:translate-y-0 motion-reduce:group-focus-within:translate-y-0',\n },\n {\n visibilityMode: 'hover', transition: 'fade-slide-down',\n class:\n '-translate-y-1 group-hover:translate-y-0 group-focus-within:translate-y-0 ' +\n 'motion-reduce:translate-y-0 motion-reduce:group-hover:translate-y-0 motion-reduce:group-focus-within:translate-y-0',\n },\n {\n visibilityMode: 'hover', transition: 'fade-slide-left',\n class:\n 'translate-x-1 group-hover:translate-x-0 group-focus-within:translate-x-0 ' +\n 'motion-reduce:translate-x-0 motion-reduce:group-hover:translate-x-0 motion-reduce:group-focus-within:translate-x-0',\n },\n {\n visibilityMode: 'hover', transition: 'fade-slide-right',\n class:\n '-translate-x-1 group-hover:translate-x-0 group-focus-within:translate-x-0 ' +\n 'motion-reduce:translate-x-0 motion-reduce:group-hover:translate-x-0 motion-reduce:group-focus-within:translate-x-0',\n },\n\n // === FOCUS-WITHIN mode + transform-bearing transitions ===\n {\n visibilityMode: 'focus-within', transition: 'fade-scale',\n class: 'scale-95 group-focus-within:scale-100 motion-reduce:scale-100 motion-reduce:group-focus-within:scale-100',\n },\n {\n visibilityMode: 'focus-within', transition: 'fade-slide-up',\n class: 'translate-y-1 group-focus-within:translate-y-0 motion-reduce:translate-y-0 motion-reduce:group-focus-within:translate-y-0',\n },\n {\n visibilityMode: 'focus-within', transition: 'fade-slide-down',\n class: '-translate-y-1 group-focus-within:translate-y-0 motion-reduce:translate-y-0 motion-reduce:group-focus-within:translate-y-0',\n },\n {\n visibilityMode: 'focus-within', transition: 'fade-slide-left',\n class: 'translate-x-1 group-focus-within:translate-x-0 motion-reduce:translate-x-0 motion-reduce:group-focus-within:translate-x-0',\n },\n {\n visibilityMode: 'focus-within', transition: 'fade-slide-right',\n class: '-translate-x-1 group-focus-within:translate-x-0 motion-reduce:translate-x-0 motion-reduce:group-focus-within:translate-x-0',\n },\n\n // === PRESENCE mode (data-state-driven) + transform-bearing transitions ===\n {\n visibilityMode: 'presence', transition: 'fade-scale',\n class: 'data-[state=closed]:scale-95 motion-reduce:data-[state=closed]:scale-100',\n },\n {\n visibilityMode: 'presence', transition: 'fade-slide-up',\n class: 'data-[state=closed]:translate-y-1 motion-reduce:data-[state=closed]:translate-y-0',\n },\n {\n visibilityMode: 'presence', transition: 'fade-slide-down',\n class: 'data-[state=closed]:-translate-y-1 motion-reduce:data-[state=closed]:translate-y-0',\n },\n {\n visibilityMode: 'presence', transition: 'fade-slide-left',\n class: 'data-[state=closed]:translate-x-1 motion-reduce:data-[state=closed]:translate-x-0',\n },\n {\n visibilityMode: 'presence', transition: 'fade-slide-right',\n class: 'data-[state=closed]:-translate-x-1 motion-reduce:data-[state=closed]:translate-x-0',\n },\n ],\n defaultVariants: {\n position: 'top-right',\n visibilityMode: 'always',\n transition: 'none',\n },\n});\n\nexport type OverlayVariants = VariantProps<typeof overlayVariants>;\n","import {\n forwardRef,\n isValidElement,\n type CSSProperties,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n cn,\n CssExtensions,\n TransitionExtensions,\n type SizeValue,\n type AbsolutePosition,\n type AbsolutePositionPreset,\n type AbsoluteInsetOverrides,\n type PresenceAnimationDurationProp,\n} from '../../../foundation/utils';\nimport { Slot, Presence } from '../../../foundation/primitives';\nimport { overlayVariants } from './Overlay.variants';\n\nconst COMPONENT_NAME = 'Overlay';\n\n/* Re-exported for ergonomic consumer imports — same shape as the shared types. */\nexport type OverlayPosition = AbsolutePosition;\nexport type OverlayAppearOn = 'always' | 'hover' | 'focus-within';\nexport type OverlayTransition =\n | 'none'\n | 'fade'\n | 'fade-scale'\n | 'fade-slide-up'\n | 'fade-slide-down'\n | 'fade-slide-left'\n | 'fade-slide-right';\nexport type OverlayDuration = PresenceAnimationDurationProp;\n\nexport interface OverlayProps {\n /* Anchor location — preset corner/edge/center, or raw inset object. Default 'top-right'. */\n position?: OverlayPosition;\n\n /* Spacing from edge for preset positions. Default '0.5rem'. Ignored for custom inset object. */\n inset?: SizeValue;\n\n /* z-index. Default 10. */\n zIndex?: number | string;\n\n /* Visibility trigger while mounted. Default 'always'. Hover / focus-within modes require parent `className=\"group\"`. */\n appearOn?: OverlayAppearOn;\n\n /* Optional presence — when provided, controls mount/unmount with exit transition (defers unmount until transitionend). */\n isOpen?: boolean;\n\n /* Animation effect for show/hide. Defaults to 'fade' if any visibility gating is active, else 'none'. */\n transition?: OverlayTransition;\n\n /* Duration in ms. Number = symmetric; object = asymmetric enter/exit. Default 200. */\n transitionDuration?: OverlayDuration;\n\n /* CSS timing function. Default 'ease-out'. */\n transitionEasing?: string;\n\n /* Render as the single child element via Slot (no extra wrapper div). Default true. */\n asChild?: boolean;\n\n /* Extra classes merged onto the rendered element (or wrapper when asChild=false). */\n className?: string;\n\n /* Extra inline styles merged onto the rendered element. */\n style?: CSSProperties;\n\n /* Single React element when asChild=true (default), or arbitrary content when asChild=false. */\n children: ReactNode;\n}\n\n/* Renders a positioned overlay anchored to its nearest positioned ancestor — for image-corner controls, badges, hover-revealed actions, and conditionally mounted floating elements. */\nexport const Overlay = forwardRef<HTMLElement, OverlayProps>(\n (\n {\n position = 'top-right',\n inset,\n zIndex = 10,\n appearOn = 'always',\n isOpen,\n transition,\n transitionDuration,\n transitionEasing,\n asChild = true,\n className,\n style,\n children,\n },\n forwardedRef,\n ) => {\n const isPresenceMode = isOpen !== undefined;\n const isCustomPosition = typeof position === 'object' && position !== null;\n\n const effectiveTransition: OverlayTransition =\n transition ??\n (isPresenceMode || appearOn !== 'always' ? 'fade' : 'none');\n\n const visibilityMode: 'always' | 'hover' | 'focus-within' | 'presence' =\n isPresenceMode\n ? 'presence'\n : appearOn === 'hover'\n ? 'hover'\n : appearOn === 'focus-within'\n ? 'focus-within'\n : 'always';\n\n const { enter, exit } = TransitionExtensions.resolveDuration(transitionDuration);\n\n const inlineStyle: CSSProperties & Record<string, string | number> = {\n ...style,\n zIndex,\n // CSS vars consumed by tailwind variants — exit is the baseline\n // transition-duration; enter overrides it on hover / focus-within / open.\n ['--ui-overlay-enter' as string]: `${enter}ms`,\n ['--ui-overlay-exit' as string]: `${exit}ms`,\n };\n\n if (inset !== undefined) {\n inlineStyle['--ui-overlay-inset'] = CssExtensions.toCss(inset);\n }\n\n if (transitionEasing) {\n inlineStyle.transitionTimingFunction = transitionEasing;\n }\n\n if (isCustomPosition) {\n const p = position as AbsoluteInsetOverrides;\n if (p.top !== undefined) inlineStyle.top = CssExtensions.toCss(p.top);\n if (p.right !== undefined) inlineStyle.right = CssExtensions.toCss(p.right);\n if (p.bottom !== undefined) inlineStyle.bottom = CssExtensions.toCss(p.bottom);\n if (p.left !== undefined) inlineStyle.left = CssExtensions.toCss(p.left);\n }\n\n const classes = cn(\n overlayVariants({\n position: isCustomPosition ? 'custom' : (position as AbsolutePositionPreset),\n visibilityMode,\n transition: effectiveTransition,\n }),\n className,\n );\n\n const renderRoot = (extra?: Record<string, unknown>): ReactElement | null => {\n if (asChild) {\n if (!isValidElement(children)) return null;\n return (\n <Slot\n ref={forwardedRef as Ref<HTMLElement>}\n className={classes}\n style={inlineStyle}\n {...extra}\n >\n {children}\n </Slot>\n );\n }\n return (\n <div\n ref={forwardedRef as Ref<HTMLDivElement>}\n className={classes}\n style={inlineStyle}\n {...extra}\n >\n {children}\n </div>\n );\n };\n\n if (isPresenceMode) {\n const root = renderRoot();\n if (!root) return null;\n return <Presence isPresent={isOpen}>{root}</Presence>;\n }\n\n return renderRoot();\n },\n);\n\nOverlay.displayName = COMPONENT_NAME;\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ElementType,\n type Ref,\n} from 'react';\nimport { Slot } from '../../../foundation/primitives';\nimport { cn, surfaceVariants, type SurfaceVariants } from '../../../foundation/utils';\n\nconst COMPONENT_NAME = 'Surface';\n\n/** Represents the prop surface of the `Surface` atom. */\nexport interface SurfaceProps\n extends Omit<ComponentPropsWithoutRef<'div'>, 'children'>,\n SurfaceVariants {\n /** Names the HTML element to render; defaults to `div`. */\n as?: ElementType;\n /** Merges styles onto the immediate child instead of rendering a wrapper. */\n asChild?: boolean;\n children?: React.ReactNode;\n}\n\n/** Provides a styled visual surface composed from the `surfaceVariants` matrix. */\nexport const Surface = forwardRef<HTMLElement, SurfaceProps>(function Surface(\n {\n as: Component = 'div',\n asChild = false,\n variant,\n tone,\n radius,\n padding,\n elevation,\n className,\n children,\n ...rest\n },\n ref,\n) {\n const composed = cn(\n surfaceVariants({ variant, tone, radius, padding, elevation }),\n className,\n );\n\n if (asChild) {\n return (\n <Slot ref={ref as Ref<HTMLElement>} className={composed} {...rest}>\n {children}\n </Slot>\n );\n }\n\n return (\n <Component ref={ref as Ref<HTMLElement>} className={composed} {...rest}>\n {children}\n </Component>\n );\n});\n\nSurface.displayName = COMPONENT_NAME;\n","import { tv, type VariantProps } from '../../../foundation/utils';\n\n/** Provides the vertical-rhythm (top/bottom padding) scale for the `Section` band. */\nexport const sectionVariants = tv({\n base: 'w-full',\n variants: {\n /* Vertical padding — the band's top/bottom breathing room. */\n py: {\n none: 'py-0',\n sm: 'py-6',\n md: 'py-10',\n lg: 'py-16',\n xl: 'py-24',\n },\n },\n defaultVariants: {\n py: 'md',\n },\n});\n\nexport type SectionVariants = VariantProps<typeof sectionVariants>;\n\n/** Represents the vertical-padding axis of the `Section` band (`none`–`xl`). */\nexport type SectionPaddingY = NonNullable<SectionVariants['py']>;\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cn, surfaceVariants, type SurfaceTone } from '../../../foundation/utils';\nimport { Container, type ContainerProps } from '../container';\nimport { sectionVariants, type SectionPaddingY } from './Section.variants';\n\nexport interface SectionProps extends ComponentPropsWithoutRef<'section'> {\n /**\n * Tinted background tone for the band. Applies the shadow-less `subtle`\n * surface treatment (low-alpha tinted fill + `border-border`). Omit for a\n * transparent band (no fill, no border).\n */\n tone?: SurfaceTone;\n /** Max-width of the inner centered `Container`. Passthrough to `Container.size`. Default `lg`. */\n containerSize?: ContainerProps['size'];\n /** Vertical padding (the band's top/bottom rhythm). Default `md`. */\n py?: SectionPaddingY;\n /** Renders the band as a full-bleed `<section>` with no inner `Container` (edge-to-edge content). */\n bleed?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Full-bleed `<section>` band with an inner centered `Container`. The repetitive\n * marketing \"section band\" pattern: optional tinted (shadow-less) background,\n * passthrough container width, and vertical padding. Pass `bleed` to drop the\n * inner Container for edge-to-edge content.\n */\nexport const Section = forwardRef<HTMLElement, SectionProps>(function Section(\n { tone, containerSize, py, bleed = false, className, children, ...rest },\n ref,\n) {\n return (\n <section\n ref={ref}\n className={cn(\n sectionVariants({ py }),\n tone && surfaceVariants({ variant: 'subtle', tone, radius: 'none' }),\n className,\n )}\n {...rest}\n >\n {bleed ? children : <Container size={containerSize}>{children}</Container>}\n </section>\n );\n});\n\nSection.displayName = 'Section';\n","import { tv, type VariantProps } from '../../../foundation/utils';\n\n/** Provides the header-band chrome (height, sticky positioning) for `Navbar`. */\nexport const navbarVariants = tv({\n base: 'w-full',\n variants: {\n /* Sticks the band to the top of the scroll container when true. */\n sticky: {\n true: 'sticky top-0 z-sticky',\n false: '',\n },\n /* Band height — the bar's vertical size. */\n height: {\n sm: 'h-12',\n md: 'h-14',\n lg: 'h-16',\n },\n },\n defaultVariants: {\n sticky: false,\n height: 'md',\n },\n});\n\nexport type NavbarVariants = VariantProps<typeof navbarVariants>;\n\n/** Represents the band-height axis of the `Navbar` (`sm` · `md` · `lg`). */\nexport type NavbarHeight = NonNullable<NavbarVariants['height']>;\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cn, surfaceVariants, type SurfaceTone } from '../../../foundation/utils';\nimport { Container, type ContainerProps } from '../container';\nimport {\n navbarVariants,\n type NavbarHeight,\n} from './Navbar.variants';\n\nexport interface NavbarProps\n extends Omit<ComponentPropsWithoutRef<'header'>, 'children'> {\n /** Leading slot — laid out at the start of the row (brand / logo / nav links). */\n start?: ReactNode;\n /** Centre slot — laid out in the middle of the row (search / primary nav). */\n center?: ReactNode;\n /** Trailing slot — laid out at the end of the row (actions / avatar / CTA). */\n end?: ReactNode;\n /**\n * Raw row content — replaces the `start` / `center` / `end` slot layout when\n * provided. Use for fully custom bars.\n */\n children?: ReactNode;\n /** Max-width of the inner centered `Container`. Passthrough to `Container.size`. Default `lg`. */\n containerSize?: ContainerProps['size'];\n /** Band height. Default `md`. */\n height?: NavbarHeight;\n /** Sticks the bar to the top of the scroll container. Default `false` (non-sticky). */\n sticky?: boolean;\n /**\n * Tinted background tone for the band — applies the shadow-less `subtle`\n * surface treatment. Omit for a transparent bar (relies on `bordered` / page bg).\n */\n tone?: SurfaceTone;\n /** Renders a bottom border under the bar. Default `true`. */\n bordered?: boolean;\n}\n\n/**\n * Lightweight header band (`<header>`) with `start` / `center` / `end` slots\n * laid out in a row inside a centered `Container`. The everyday \"navbar +\n * centered content\" need that `AppShell` (a 5-slot dashboard grid w/ sidebar)\n * overshoots. Non-sticky by default; pass `sticky` to pin it.\n */\nexport const Navbar = forwardRef<HTMLElement, NavbarProps>(function Navbar(\n {\n start,\n center,\n end,\n children,\n containerSize,\n height,\n sticky = false,\n tone,\n bordered = true,\n className,\n ...rest\n },\n ref,\n) {\n return (\n <header\n ref={ref}\n className={cn(\n navbarVariants({ sticky, height }),\n bordered && 'border-b border-border',\n tone ? surfaceVariants({ variant: 'subtle', tone, radius: 'none' }) : 'bg-card',\n className,\n )}\n {...rest}\n >\n <Container size={containerSize} className=\"flex h-full items-center gap-3\">\n {children ?? (\n <>\n {start != null && (\n <div className=\"flex min-w-0 items-center gap-3\">{start}</div>\n )}\n {center != null && (\n <div className=\"flex min-w-0 flex-1 items-center justify-center gap-3\">\n {center}\n </div>\n )}\n {/* Push `end` to the trailing edge when there's no centre slot to absorb the slack. */}\n {end != null && (\n <div\n className={cn(\n 'flex min-w-0 items-center gap-3',\n center == null && 'ml-auto',\n )}\n >\n {end}\n </div>\n )}\n </>\n )}\n </Container>\n </header>\n );\n});\n\nNavbar.displayName = 'Navbar';\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { OverlayChromeProvider, OverlayCloseButton, OverlayFooter, OverlayBody, OverlayDescription, OverlayTitle, OverlayHeader } from './chunk-
|
|
2
|
-
import { Backdrop } from './chunk-
|
|
3
|
-
import { useControlled } from './chunk-
|
|
4
|
-
import { surfaceVariants } from './chunk-
|
|
5
|
-
import { Slot, Portal, ScrollLockProvider, Presence, DismissableLayer } from './chunk-
|
|
6
|
-
import { composeRefs, cn } from './chunk-
|
|
1
|
+
import { OverlayChromeProvider, OverlayCloseButton, OverlayFooter, OverlayBody, OverlayDescription, OverlayTitle, OverlayHeader } from './chunk-GCBZ6FF7.js';
|
|
2
|
+
import { Backdrop } from './chunk-2L7KB7ZG.js';
|
|
3
|
+
import { useControlled } from './chunk-2YBWJHVV.js';
|
|
4
|
+
import { surfaceVariants } from './chunk-TOB23IBK.js';
|
|
5
|
+
import { Slot, Portal, ScrollLockProvider, Presence, DismissableLayer } from './chunk-NY7OZGNY.js';
|
|
6
|
+
import { composeRefs, cn } from './chunk-PCRID2JL.js';
|
|
7
7
|
import { createContext, forwardRef, useCallback, useMemo, useContext, useRef, useId } from 'react';
|
|
8
8
|
import { FocusScope } from '@radix-ui/react-focus-scope';
|
|
9
9
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -180,5 +180,5 @@ var Modal = Object.assign(ModalRoot, {
|
|
|
180
180
|
});
|
|
181
181
|
|
|
182
182
|
export { Modal, ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger };
|
|
183
|
-
//# sourceMappingURL=chunk-
|
|
184
|
-
//# sourceMappingURL=chunk-
|
|
183
|
+
//# sourceMappingURL=chunk-5DRWPYQ2.js.map
|
|
184
|
+
//# sourceMappingURL=chunk-5DRWPYQ2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/presentation/overlays/modal/Modal.tsx"],"names":["ModalTrigger","ModalContent","ModalBackdrop"],"mappings":"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","file":"chunk-5DRWPYQ2.js","sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useId,\n useMemo,\n useRef,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { cn, composeRefs, surfaceVariants, type SurfaceVariants } from '../../../foundation/utils';\nimport { useControlled } from '../../../foundation/hooks';\nimport { DismissableLayer, Portal, Presence, ScrollLockProvider, Slot } from '../../../foundation/primitives';\nimport { Backdrop } from '../backdrop';\nimport {\n OverlayBody,\n OverlayChromeProvider,\n OverlayCloseButton,\n OverlayDescription,\n OverlayFooter,\n OverlayHeader,\n OverlayTitle,\n type OverlayChromeContextValue,\n} from '../OverlayChrome';\n\ninterface ModalContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n triggerRef: React.MutableRefObject<HTMLElement | null>;\n titleId: string;\n descriptionId: string;\n role: 'dialog' | 'alertdialog';\n dismissOnOutsideClick: boolean;\n dismissOnEscape: boolean;\n}\n\nconst ModalContext = createContext<ModalContextValue | null>(null);\n\nfunction useModalContext() {\n const ctx = useContext(ModalContext);\n if (!ctx) throw new Error('Modal.* must be used inside <Modal>');\n return ctx;\n}\n\nexport interface ModalProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n dismissOnOutsideClick?: boolean;\n dismissOnEscape?: boolean;\n /** Internal — `AlertModal` overrides this. */\n role?: 'dialog' | 'alertdialog';\n children: ReactNode;\n}\n\nfunction ModalRoot({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n dismissOnOutsideClick = true,\n dismissOnEscape = true,\n role = 'dialog',\n children,\n}: ModalProps) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const triggerRef = useRef<HTMLElement | null>(null);\n const titleId = useId();\n const descriptionId = useId();\n\n const ctx = useMemo<ModalContextValue>(\n () => ({\n open,\n setOpen,\n triggerRef,\n titleId,\n descriptionId,\n role,\n dismissOnOutsideClick,\n dismissOnEscape,\n }),\n [open, setOpen, titleId, descriptionId, role, dismissOnOutsideClick, dismissOnEscape],\n );\n\n return <ModalContext.Provider value={ctx}>{children}</ModalContext.Provider>;\n}\nModalRoot.displayName = 'Modal';\n\nexport interface ModalTriggerProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n asChild?: boolean;\n children: ReactNode;\n}\n\nexport const ModalTrigger = forwardRef<HTMLButtonElement, ModalTriggerProps>(\n function ModalTrigger({ asChild, onClick, children, ...rest }, forwardedRef) {\n const ctx = useModalContext();\n const Component = asChild ? Slot : 'button';\n return (\n <Component\n ref={composeRefs(forwardedRef, ctx.triggerRef as React.MutableRefObject<HTMLButtonElement | null>) as never}\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={ctx.open}\n data-state={ctx.open ? 'open' : 'closed'}\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n ctx.setOpen(true);\n }}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\n\n/** Represents the prop surface of `Modal.Content`. */\nexport interface ModalContentProps extends HTMLAttributes<HTMLDivElement>, SurfaceVariants {\n /** Disables the default backdrop when true. */\n hideBackdrop?: boolean;\n /** Applies a backdrop blur. */\n isBlurred?: boolean;\n children: ReactNode;\n}\n\nexport const ModalContent = forwardRef<HTMLDivElement, ModalContentProps>(\n function ModalContent(\n {\n hideBackdrop,\n isBlurred,\n variant,\n tone,\n radius,\n padding,\n elevation,\n className,\n children,\n ...rest\n },\n forwardedRef,\n ) {\n const ctx = useModalContext();\n\n const close = useCallback(() => {\n ctx.setOpen(false);\n requestAnimationFrame(() => ctx.triggerRef.current?.focus());\n }, [ctx]);\n\n const chromeCtx = useMemo<OverlayChromeContextValue>(\n () => ({ titleId: ctx.titleId, descriptionId: ctx.descriptionId, close }),\n [ctx.titleId, ctx.descriptionId, close],\n );\n\n return (\n <Portal>\n <ScrollLockProvider>\n {/* Backdrop in its own Presence so its fade-out plays before unmount.\n `Presence` injects `data-state` + `ref` onto the cloned child, which is\n the animating node it watches for `animationend` — so each animated\n element gets its own Presence (one cloned child = one watched node). */}\n {!hideBackdrop && (\n <Presence isPresent={ctx.open}>\n <ModalBackdrop isBlurred={isBlurred} />\n </Presence>\n )}\n {/* Outside-click dismissal lives on the centering wrapper (it covers the\n backdrop): a click on the padding (target === currentTarget) = outside.\n The wrapper is the Presence-animated node — `Presence` injects\n `data-state` + `ref` onto it and watches *its own* animations (no\n subtree walk), so the wrapper carries a (transparent) fade and the\n visible pop lands on the panel via `group-data-[state=*]`. Both share\n the same token timing, so the wrapper fade gates unmount correctly. */}\n <Presence isPresent={ctx.open}>\n <div\n className={cn(\n 'group fixed inset-0 z-modal grid place-items-center overflow-y-auto p-4',\n 'motion-safe:data-[state=open]:animate-(--animate-fade-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-fade-out)',\n )}\n onClick={(e) => {\n if (e.target !== e.currentTarget) return;\n if (ctx.dismissOnOutsideClick) ctx.setOpen(false);\n }}\n >\n <FocusScope asChild trapped loop>\n <DismissableLayer\n isEscapeDisabled={!ctx.dismissOnEscape}\n onEscape={() => ctx.setOpen(false)}\n isOutsideClickDisabled\n >\n <div\n ref={forwardedRef}\n role={ctx.role}\n aria-modal=\"true\"\n aria-labelledby={ctx.titleId}\n aria-describedby={ctx.descriptionId}\n className={cn(\n 'relative w-full max-w-lg',\n 'motion-safe:group-data-[state=open]:animate-(--animate-pop-in)',\n 'motion-safe:group-data-[state=closed]:animate-(--animate-pop-out)',\n surfaceVariants({\n variant: variant ?? 'elevated',\n tone,\n radius: radius ?? 'lg',\n padding: padding ?? 'xl',\n elevation,\n }),\n className,\n )}\n {...rest}\n >\n <OverlayChromeProvider value={chromeCtx}>{children}</OverlayChromeProvider>\n </div>\n </DismissableLayer>\n </FocusScope>\n </div>\n </Presence>\n </ScrollLockProvider>\n </Portal>\n );\n },\n);\n\n/**\n * `Presence`-clonable backdrop: a single `forwardRef` element that spreads\n * `data-state` (injected by `Presence`) onto its node and animates the scrim\n * fade off it. Kept `open` (mount is controlled by `Presence`, not the prop) so\n * the fade-out can play before unmount.\n */\nconst ModalBackdrop = forwardRef<HTMLDivElement, { isBlurred?: boolean } & HTMLAttributes<HTMLDivElement>>(\n function ModalBackdrop({ isBlurred, className, ...props }, ref) {\n return (\n <Backdrop\n ref={ref}\n isInline\n isBlurred={isBlurred}\n className={cn(\n 'motion-safe:data-[state=open]:animate-(--animate-fade-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-fade-out)',\n className,\n )}\n {...props}\n />\n );\n },\n);\n\n// Re-export shared chrome subcomponents under the Modal namespace.\nexport const ModalHeader = OverlayHeader;\nexport const ModalTitle = OverlayTitle;\nexport const ModalDescription = OverlayDescription;\nexport const ModalBody = OverlayBody;\nexport const ModalFooter = OverlayFooter;\nexport const ModalClose = OverlayCloseButton;\n\n/**\n * Compound component: the root carries its subparts as typed statics via\n * `Object.assign`, so `<Modal.Content>` type-checks from the named import\n * (`import { Modal }`) — not just the default. Flat subparts (`ModalContent`,\n * …) remain exported for tree-shaking and à-la-carte use.\n */\nexport const Modal = Object.assign(ModalRoot, {\n Trigger: ModalTrigger,\n Content: ModalContent,\n Header: ModalHeader,\n Title: ModalTitle,\n Description: ModalDescription,\n Body: ModalBody,\n Footer: ModalFooter,\n Close: ModalClose,\n});\n\nexport default Modal;\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-PCRID2JL.js';
|
|
2
2
|
import { __export } from './chunk-DCHYNTHI.js';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
5
|
import { Loader2 } from 'lucide-react';
|
|
6
6
|
|
|
7
|
-
// src/icons/index.ts
|
|
7
|
+
// src/foundation/icons/index.ts
|
|
8
8
|
var icons_exports = {};
|
|
9
9
|
__export(icons_exports, {
|
|
10
10
|
Icon: () => Icon,
|
|
@@ -39,5 +39,5 @@ var Spinner = ({ className }) => /* @__PURE__ */ jsx(
|
|
|
39
39
|
);
|
|
40
40
|
|
|
41
41
|
export { Icon, Spinner, icons_exports };
|
|
42
|
-
//# sourceMappingURL=chunk-
|
|
43
|
-
//# sourceMappingURL=chunk-
|
|
42
|
+
//# sourceMappingURL=chunk-6WPRGGCJ.js.map
|
|
43
|
+
//# sourceMappingURL=chunk-6WPRGGCJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/foundation/icons/index.ts","../src/foundation/icons/Icon.tsx","../src/foundation/icons/Spinner.tsx"],"names":["jsx"],"mappings":";;;;;;;AAAA,IAAA,aAAA,GAAA;AAAA,QAAA,CAAA,aAAA,EAAA;AAAA,EAAA,IAAA,EAAA,MAAA,IAAA;AAAA,EAAA,OAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AC6BO,IAAM,IAAA,GAAO,UAAA;AAAA,EAClB,CAAC,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,GAAO,EAAA,EAAI,SAAA,EAAW,YAAA,EAAc,SAAA,EAAW,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AACnF,IAAA,MAAM,WAAW,SAAA,KAAc,MAAA;AAC/B,IAAA,uBACE,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA;AAAA,QACA,SAAA,EAAW,EAAA,CAAG,UAAA,EAAY,SAAS,CAAA;AAAA,QACnC,aAAA,EAAa,WAAW,MAAA,GAAY,IAAA;AAAA,QACpC,YAAA,EAAY,SAAA;AAAA,QACZ,IAAA,EAAM,WAAW,KAAA,GAAQ,MAAA;AAAA,QACzB,SAAA,EAAW,KAAA;AAAA,QACV,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,IAAA,CAAK,WAAA,GAAc,MAAA;ACrCZ,IAAM,OAAA,GAAU,CAAC,EAAE,SAAA,uBACxBA,GAAAA;AAAA,EAAC,OAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAW,EAAA,CAAG,cAAA,EAAgB,SAAS,CAAA;AAAA,IACvC,aAAA,EAAY,MAAA;AAAA,IACZ,IAAA,EAAK;AAAA;AACP","file":"chunk-6WPRGGCJ.js","sourcesContent":["export { Icon, type IconProps, type IconAdapter, type IconAdapterProps } from './Icon';\nexport { Spinner, type SpinnerProps } from './Spinner';\n","import { forwardRef, type ComponentType, type SVGProps } from 'react';\nimport { cn } from '../utils/cn';\n\nexport interface IconAdapterProps extends SVGProps<SVGSVGElement> {\n size?: number | string;\n}\n\nexport type IconAdapter = ComponentType<IconAdapterProps>;\n\nexport interface IconProps extends Omit<SVGProps<SVGSVGElement>, 'aria-hidden'> {\n /** Icon component — pass a `lucide-react` icon, custom SVG component, or any matching shape. */\n icon: IconAdapter;\n /** Pixel size of the rendered SVG. Default 20. */\n size?: number | string;\n /**\n * Provide an aria-label when the icon stands alone (decorative siblings\n * should pass it via parent). Sets `role=\"img\"` and unhides from AT.\n * Without it, the icon is `aria-hidden` and decorative.\n */\n 'aria-label'?: string;\n}\n\n/**\n * Generic icon wrapper. Accepts any icon component matching the lucide-react\n * shape (`{ size, color, className, ...svgProps }`).\n *\n * - Without `aria-label` → decorative, `aria-hidden`.\n * - With `aria-label` → semantic, `role=\"img\"`.\n */\nexport const Icon = forwardRef<SVGSVGElement, IconProps>(\n ({ icon: IconComp, size = 20, className, 'aria-label': ariaLabel, ...rest }, ref) => {\n const labelled = ariaLabel !== undefined;\n return (\n <IconComp\n ref={ref}\n size={size}\n className={cn('shrink-0', className)}\n aria-hidden={labelled ? undefined : true}\n aria-label={ariaLabel}\n role={labelled ? 'img' : undefined}\n focusable={false}\n {...rest}\n />\n );\n },\n);\nIcon.displayName = 'Icon';\n","import { Loader2 } from 'lucide-react';\nimport { cn } from '../utils';\n\nexport interface SpinnerProps {\n /* Extra classes merged onto the underlying SVG. */\n className?: string;\n}\n\n/* Renders a spinning loader icon — for inline action-loading feedback or standalone progress indication. */\nexport const Spinner = ({ className }: SpinnerProps) => (\n <Loader2\n className={cn('animate-spin', className)}\n aria-hidden=\"true\"\n size=\"1em\"\n />\n);\n"]}
|