@wow-two-beta/ui 0.0.70 → 0.0.72
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-DQGWGXDZ.js +35 -0
- package/dist/chunk-DQGWGXDZ.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-R5MOEUXM.js → chunk-Q3HSAOWW.js} +55 -32
- 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-SIAFOCT4.js → chunk-ZOK62HJB.js} +6 -6
- package/dist/chunk-ZOK62HJB.js.map +1 -0
- package/dist/domain/color/Gradient.d.ts +39 -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 +2 -1
- package/dist/{actions → presentation/actions}/button/Button.variants.d.ts +8 -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/presentation/actions/segmentedControl/SegmentedControl.d.ts +9 -0
- 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/segmentedControl/SegmentedControl.d.ts +0 -4
- package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +0 -20
- 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-R5MOEUXM.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/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,10 +1,10 @@
|
|
|
1
|
-
import { listboxItemVariants, listboxEmptyVariants, listboxSeparatorVariants, listboxGroupLabelVariants } from './chunk-
|
|
2
|
-
import { ModalContent, Modal } from './chunk-
|
|
3
|
-
import { useControlled, useReducedMotion } from './chunk-
|
|
4
|
-
import { Icon } from './chunk-
|
|
5
|
-
import { dataAttr, tv, surfaceVariants } from './chunk-
|
|
6
|
-
import { Slot, RovingFocusGroup, useRovingFocusItem, Portal, AnchoredPositioner, DismissableLayer, Presence } from './chunk-
|
|
7
|
-
import { cn, composeRefs } from './chunk-
|
|
1
|
+
import { listboxItemVariants, listboxEmptyVariants, listboxSeparatorVariants, listboxGroupLabelVariants } from './chunk-XU4ZOEMV.js';
|
|
2
|
+
import { ModalContent, Modal } from './chunk-5DRWPYQ2.js';
|
|
3
|
+
import { useControlled, useReducedMotion } from './chunk-2YBWJHVV.js';
|
|
4
|
+
import { Icon } from './chunk-6WPRGGCJ.js';
|
|
5
|
+
import { dataAttr, tv, surfaceVariants } from './chunk-TOB23IBK.js';
|
|
6
|
+
import { Slot, RovingFocusGroup, useRovingFocusItem, Portal, AnchoredPositioner, DismissableLayer, Presence } from './chunk-NY7OZGNY.js';
|
|
7
|
+
import { cn, composeRefs } from './chunk-PCRID2JL.js';
|
|
8
8
|
import { forwardRef, Fragment, createContext, useId, useRef, useEffect, useCallback, useMemo, useState, useContext } from 'react';
|
|
9
9
|
import { ChevronsLeft, ChevronLeft, ChevronRight, ChevronsRight, ChevronDown, Search } from 'lucide-react';
|
|
10
10
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
@@ -147,7 +147,7 @@ var NavItem = forwardRef(
|
|
|
147
147
|
);
|
|
148
148
|
NavItem.displayName = "NavItem";
|
|
149
149
|
|
|
150
|
-
// src/nav/menu/Menu.variants.ts
|
|
150
|
+
// src/presentation/nav/menu/Menu.variants.ts
|
|
151
151
|
var menuVariants = tv({
|
|
152
152
|
base: "flex min-w-[8rem] flex-col gap-0.5 rounded-md border border-border bg-popover p-1 text-sm text-popover-foreground shadow-md outline-none"
|
|
153
153
|
});
|
|
@@ -622,7 +622,7 @@ var ContextMenu = Object.assign(ContextMenuRoot, {
|
|
|
622
622
|
Separator: MenuSeparator
|
|
623
623
|
});
|
|
624
624
|
|
|
625
|
-
// src/nav/menubar/Menubar.variants.ts
|
|
625
|
+
// src/presentation/nav/menubar/Menubar.variants.ts
|
|
626
626
|
var menubarVariants = tv({
|
|
627
627
|
base: "flex items-center gap-1 rounded-md border border-border bg-background p-1"
|
|
628
628
|
});
|
|
@@ -1510,5 +1510,5 @@ var TableOfContents = forwardRef(
|
|
|
1510
1510
|
);
|
|
1511
1511
|
|
|
1512
1512
|
export { Breadcrumb, CommandPalette, CommandPaletteContent, CommandPaletteEmpty, CommandPaletteGroup, CommandPaletteInput, CommandPaletteItem, CommandPaletteList, CommandPaletteSeparator, ContextMenu, ContextMenuContent, ContextMenuTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuTrigger, Menu, MenuGroup, MenuItem, MenuLabel, MenuSeparator, Menubar2 as Menubar, MenubarContent, MenubarMenu, MenubarTrigger, NavItem, NavigationMenu2 as NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, Pagination, ScrollSpy, TableOfContents, menuItemVariants, menuLabelVariants, menuSeparatorVariants, menuVariants, useScrollSpy };
|
|
1513
|
-
//# sourceMappingURL=chunk-
|
|
1514
|
-
//# sourceMappingURL=chunk-
|
|
1513
|
+
//# sourceMappingURL=chunk-AXSWZXPJ.js.map
|
|
1514
|
+
//# sourceMappingURL=chunk-AXSWZXPJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/presentation/nav/breadcrumb/Breadcrumb.tsx","../src/presentation/nav/pagination/Pagination.tsx","../src/presentation/nav/navItem/NavItem.tsx","../src/presentation/nav/menu/Menu.variants.ts","../src/presentation/nav/menu/Menu.tsx","../src/presentation/nav/dropdownMenu/DropdownMenu.tsx","../src/presentation/nav/contextMenu/ContextMenu.tsx","../src/presentation/nav/menubar/Menubar.variants.ts","../src/presentation/nav/menubar/Menubar.tsx","../src/presentation/nav/navigationMenu/NavigationMenu.tsx","../src/presentation/nav/commandPalette/CommandPalette.tsx","../src/presentation/nav/scrollSpy/ScrollSpy.tsx","../src/presentation/nav/tableOfContents/TableOfContents.tsx"],"names":["forwardRef","jsxs","jsx","ChevronRight","MenuItem","createContext","useContext","useRef","useMemo","DropdownMenuTrigger","useCallback","DropdownMenuPanel","useEffect","useState","ContextMenuTrigger","MenubarTrigger","Menubar","NavigationMenuList","NavigationMenuItem","useId","NavigationMenuTrigger","NavigationMenuLink","NavigationMenuPanel","NavigationMenuContent","NavigationMenu","CommandPaletteContent","CommandPaletteInput","CommandPaletteList","CommandPaletteItem","CommandPaletteEmpty","Fragment","TableOfContents"],"mappings":"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","file":"chunk-AXSWZXPJ.js","sourcesContent":["import { Fragment, forwardRef, type ComponentPropsWithoutRef, type ReactNode } from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { cn } from '../../../foundation/utils';\nimport { Icon } from '../../../foundation/icons';\n\nexport interface BreadcrumbItem {\n label: ReactNode;\n /** Make this item a link. Last item is typically rendered as plain text. */\n href?: string;\n}\n\nexport interface BreadcrumbProps extends ComponentPropsWithoutRef<'nav'> {\n items: BreadcrumbItem[];\n /** Custom separator element. Default chevron-right icon. */\n separator?: ReactNode;\n}\n\n/**\n * Linear position trail — list of links + separators. The last item is\n * always rendered as `aria-current=\"page\"` and not a link. Use the L5\n * collapsing version when the chain gets long.\n */\nexport const Breadcrumb = forwardRef<HTMLElement, BreadcrumbProps>(\n ({ items, separator, className, ...props }, ref) => {\n const sep = separator ?? <Icon icon={ChevronRight} size={14} />;\n return (\n <nav ref={ref} aria-label=\"Breadcrumb\" className={cn('text-sm', className)} {...props}>\n <ol className=\"flex flex-wrap items-center gap-1.5\">\n {items.map((item, i) => {\n const isLast = i === items.length - 1;\n return (\n <Fragment key={i}>\n <li>\n {item.href && !isLast ? (\n <a\n href={item.href}\n className=\"text-muted-foreground hover:text-foreground hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm\"\n >\n {item.label}\n </a>\n ) : (\n <span aria-current={isLast ? 'page' : undefined} className=\"text-foreground\">\n {item.label}\n </span>\n )}\n </li>\n {!isLast && (\n <li aria-hidden=\"true\" className=\"text-subtle-foreground\">\n {sep}\n </li>\n )}\n </Fragment>\n );\n })}\n </ol>\n </nav>\n );\n },\n);\nBreadcrumb.displayName = 'Breadcrumb';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\nimport { cn } from '../../../foundation/utils';\nimport { Icon } from '../../../foundation/icons';\n\nexport interface PaginationProps extends Omit<ComponentPropsWithoutRef<'nav'>, 'onChange'> {\n /** Total page count (1-based). */\n total: number;\n /** Current page (1-based). */\n page: number;\n /** Fires with the new page on click. */\n onPageChange: (page: number) => void;\n /** Number of page buttons surrounding the current. Default `1` (so 1 + current + 1 = 3). */\n siblings?: number;\n /** Hide first/last buttons (just show prev/next + numbers). */\n hideFirstLast?: boolean;\n}\n\nfunction range(start: number, end: number): number[] {\n return Array.from({ length: end - start + 1 }, (_, i) => start + i);\n}\n\nfunction buildPages(total: number, page: number, siblings: number): (number | 'ellipsis')[] {\n if (total <= 1) return [1];\n const left = Math.max(2, page - siblings);\n const right = Math.min(total - 1, page + siblings);\n const pages: (number | 'ellipsis')[] = [1];\n if (left > 2) pages.push('ellipsis');\n pages.push(...range(left, right));\n if (right < total - 1) pages.push('ellipsis');\n if (total > 1) pages.push(total);\n return pages;\n}\n\n/**\n * Compact page-number row with prev/next + ellipses for skipped ranges.\n * Stateless — consumer drives `page` and reacts to `onPageChange`.\n */\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(\n (\n { total, page, onPageChange, siblings = 1, hideFirstLast = false, className, ...props },\n ref,\n ) => {\n const pages = buildPages(total, page, siblings);\n const go = (p: number) => onPageChange(Math.min(total, Math.max(1, p)));\n\n const baseBtn =\n 'inline-flex h-8 min-w-8 items-center justify-center rounded-md border border-transparent px-2 text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50';\n\n return (\n <nav ref={ref} aria-label=\"Pagination\" className={cn('inline-flex items-center gap-1', className)} {...props}>\n {!hideFirstLast && (\n <button\n type=\"button\"\n aria-label=\"First page\"\n disabled={page <= 1}\n onClick={() => go(1)}\n className={cn(baseBtn, 'hover:bg-muted')}\n >\n <Icon icon={ChevronsLeft} size={16} />\n </button>\n )}\n <button\n type=\"button\"\n aria-label=\"Previous page\"\n disabled={page <= 1}\n onClick={() => go(page - 1)}\n className={cn(baseBtn, 'hover:bg-muted')}\n >\n <Icon icon={ChevronLeft} size={16} />\n </button>\n {pages.map((p, i) =>\n p === 'ellipsis' ? (\n <span key={`e-${i}`} className=\"px-1 text-muted-foreground\">…</span>\n ) : (\n <button\n key={p}\n type=\"button\"\n aria-current={p === page ? 'page' : undefined}\n onClick={() => go(p)}\n className={cn(\n baseBtn,\n p === page ? 'border-primary bg-primary text-primary-foreground' : 'hover:bg-muted',\n )}\n >\n {p}\n </button>\n ),\n )}\n <button\n type=\"button\"\n aria-label=\"Next page\"\n disabled={page >= total}\n onClick={() => go(page + 1)}\n className={cn(baseBtn, 'hover:bg-muted')}\n >\n <Icon icon={ChevronRight} size={16} />\n </button>\n {!hideFirstLast && (\n <button\n type=\"button\"\n aria-label=\"Last page\"\n disabled={page >= total}\n onClick={() => go(total)}\n className={cn(baseBtn, 'hover:bg-muted')}\n >\n <Icon icon={ChevronsRight} size={16} />\n </button>\n )}\n </nav>\n );\n },\n);\nPagination.displayName = 'Pagination';\n","import { forwardRef, type AnchorHTMLAttributes, type ReactNode } from 'react';\nimport { cn, dataAttr } from '../../../foundation/utils';\nimport { Slot } from '../../../foundation/primitives';\n\nexport interface NavItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /** When true, render the child element instead of an `<a>` (router Link). */\n asChild?: boolean;\n /** Optional leading icon. */\n icon?: ReactNode;\n /** Visual label. */\n children: ReactNode;\n /** Trailing slot — typically a count badge or status dot. */\n trailing?: ReactNode;\n /** Mark active (visual + `aria-current=\"page\"`). */\n isActive?: boolean;\n /** Visual size. Default `md`. */\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst SIZE: Record<NonNullable<NavItemProps['size']>, string> = {\n sm: 'h-8 px-2 text-sm gap-2',\n md: 'h-9 px-2.5 text-sm gap-2.5',\n lg: 'h-11 px-3 text-base gap-3',\n};\n\n/**\n * Sidebar / nav row — icon + label + trailing slot + active state. Default `<a>`;\n * pass `asChild` to forward to a router Link. Sets `aria-current=\"page\"` when `isActive`.\n */\nexport const NavItem = forwardRef<HTMLAnchorElement, NavItemProps>(\n ({ asChild, icon, children, trailing, isActive, size = 'md', className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a';\n return (\n <Comp\n ref={ref}\n aria-current={isActive ? 'page' : undefined}\n data-active={dataAttr(isActive)}\n className={cn(\n 'group inline-flex w-full items-center rounded-md font-medium text-foreground transition-colors',\n 'hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n 'data-[active]:bg-primary-soft data-[active]:text-primary-soft-foreground',\n SIZE[size],\n className,\n )}\n {...(props as AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {icon && <span className=\"text-muted-foreground group-data-[active]:text-current\">{icon}</span>}\n <span className=\"flex-1 truncate text-left\">{children}</span>\n {trailing && <span className=\"shrink-0\">{trailing}</span>}\n </Comp>\n );\n },\n);\nNavItem.displayName = 'NavItem';\n","import { tv, type VariantProps } from '../../../foundation/utils';\n\nexport const menuVariants = tv({\n base: 'flex min-w-[8rem] flex-col gap-0.5 rounded-md border border-border bg-popover p-1 text-sm text-popover-foreground shadow-md outline-none',\n});\n\nexport const menuItemVariants = tv({\n base: 'relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors focus:bg-muted focus:text-foreground hover:bg-muted hover:text-foreground',\n variants: {\n state: {\n default: 'text-popover-foreground',\n destructive: 'text-destructive focus:bg-destructive-soft hover:bg-destructive-soft',\n disabled: 'pointer-events-none opacity-50',\n },\n },\n defaultVariants: { state: 'default' },\n});\n\nexport const menuLabelVariants = tv({\n base: 'px-2 py-1.5 text-xs font-semibold text-muted-foreground',\n});\n\nexport const menuSeparatorVariants = tv({\n base: '-mx-1 my-1 h-px bg-border',\n});\n\nexport type MenuVariants = VariantProps<typeof menuVariants>;\nexport type MenuItemVariants = VariantProps<typeof menuItemVariants>;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { cn, composeRefs, surfaceVariants, type SurfaceVariants } from '../../../foundation/utils';\nimport { AnchoredPositioner, DismissableLayer, Portal, Presence } from '../../../foundation/primitives';\nimport {\n menuItemVariants,\n menuLabelVariants,\n menuSeparatorVariants,\n menuVariants,\n type MenuItemVariants,\n} from './Menu.variants';\n\ninterface MenuItemEntry {\n id: string;\n ref: HTMLButtonElement | null;\n disabled: boolean;\n}\n\ninterface MenuContextValue {\n registerItem: (entry: MenuItemEntry) => void;\n unregisterItem: (id: string) => void;\n itemsRef: React.MutableRefObject<MenuItemEntry[]>;\n onClose: () => void;\n}\n\nconst MenuContext = createContext<MenuContextValue | null>(null);\n\nfunction useMenuContext() {\n const ctx = useContext(MenuContext);\n if (!ctx) throw new Error('Menu.Item / Group / Label / Separator must be used inside <Menu>');\n return ctx;\n}\n\n/** Represents the prop surface of `Menu`. */\nexport interface MenuProps extends SurfaceVariants {\n open: boolean;\n anchor: HTMLElement | null;\n onClose: () => void;\n placement?: React.ComponentProps<typeof AnchoredPositioner>['placement'];\n offset?: number;\n /** Keydown observed on the menu container — lets wrappers (e.g. Menubar) add navigation. */\n onKeyDown?: (e: KeyboardEvent<HTMLDivElement>) => void;\n /** Labels the menu for screen readers. */\n 'aria-label'?: string;\n className?: string;\n children: ReactNode;\n}\n\nfunction MenuRoot({\n open,\n anchor,\n onClose,\n placement = 'bottom-start',\n offset = 6,\n onKeyDown,\n 'aria-label': ariaLabel,\n variant,\n tone,\n radius,\n padding,\n elevation,\n className,\n children,\n}: MenuProps) {\n const itemsRef = useRef<MenuItemEntry[]>([]);\n\n const registerItem = useCallback((entry: MenuItemEntry) => {\n const idx = itemsRef.current.findIndex((i) => i.id === entry.id);\n if (idx >= 0) itemsRef.current[idx] = entry;\n else itemsRef.current.push(entry);\n }, []);\n const unregisterItem = useCallback((id: string) => {\n itemsRef.current = itemsRef.current.filter((i) => i.id !== id);\n }, []);\n\n const ctx = useMemo<MenuContextValue>(\n () => ({ registerItem, unregisterItem, itemsRef, onClose }),\n [registerItem, unregisterItem, onClose],\n );\n\n // No hard `if (!open) return null` — Presence (below) keeps the surface\n // mounted through its pop-out exit, flipping data-state to \"closed\" and\n // deferring unmount until the animation ends.\n return (\n <MenuContext.Provider value={ctx}>\n <Portal>\n <AnchoredPositioner\n anchor={anchor}\n placement={placement}\n offset={offset}\n className=\"z-dropdown\"\n >\n {/* Presence drives data-state on the menu surface and defers unmount until the\n pop-out finishes. FocusScope `asChild` + DismissableLayer (forwardRef, spreads\n props) relay Presence's ref + data-state down onto the surface div. */}\n <Presence isPresent={open}>\n <FocusScope asChild trapped loop>\n <DismissableLayer\n role=\"menu\"\n aria-label={ariaLabel}\n onEscape={onClose}\n onOutsidePointerDown={(e) => {\n if (anchor?.contains(e.target as Node)) return;\n onClose();\n }}\n className={cn(\n surfaceVariants({\n variant: variant ?? 'surface',\n tone,\n radius: radius ?? 'md',\n padding: padding ?? 'xs',\n elevation,\n }),\n menuVariants(),\n 'motion-safe:data-[state=open]:animate-(--animate-pop-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-pop-out)',\n 'motion-reduce:animate-none',\n className,\n )}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n if (e.key === 'Tab') {\n e.preventDefault();\n onClose();\n }\n }}\n >\n {children}\n </DismissableLayer>\n </FocusScope>\n </Presence>\n </AnchoredPositioner>\n </Portal>\n </MenuContext.Provider>\n );\n}\nMenuRoot.displayName = 'Menu';\n\nexport interface MenuItemProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onSelect'>,\n MenuItemVariants {\n /** Fired when the item is activated (Enter / Space / click). Menu closes after. */\n onSelect?: () => void;\n /** Disable activation. */\n isDisabled?: boolean;\n}\n\nexport const MenuItem = forwardRef<HTMLButtonElement, MenuItemProps>(function MenuItem(\n { onSelect, isDisabled = false, state, className, onClick, onKeyDown, children, ...rest },\n forwardedRef,\n) {\n const ctx = useMenuContext();\n const id = useId();\n const ref = useRef<HTMLButtonElement | null>(null);\n\n useEffect(() => {\n ctx.registerItem({ id, ref: ref.current, disabled: isDisabled });\n return () => ctx.unregisterItem(id);\n }, [ctx, id, isDisabled]);\n\n const moveFocus = useCallback(\n (target: 1 | -1 | 'first' | 'last') => {\n const list = ctx.itemsRef.current.filter((i) => !i.disabled);\n if (list.length === 0) return;\n if (target === 'first' || target === 'last') {\n list[target === 'first' ? 0 : list.length - 1]?.ref?.focus();\n return;\n }\n const idx = list.findIndex((i) => i.id === id);\n let nextIdx = idx + target;\n if (idx === -1) nextIdx = target === 1 ? 0 : list.length - 1;\n if (nextIdx < 0) nextIdx = list.length - 1;\n if (nextIdx >= list.length) nextIdx = 0;\n list[nextIdx]?.ref?.focus();\n },\n [ctx, id],\n );\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented || isDisabled) return;\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n moveFocus(1);\n break;\n case 'ArrowUp':\n e.preventDefault();\n moveFocus(-1);\n break;\n case 'Home':\n e.preventDefault();\n moveFocus('first');\n break;\n case 'End':\n e.preventDefault();\n moveFocus('last');\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n onSelect?.();\n ctx.onClose();\n break;\n }\n };\n\n const itemState = state ?? (isDisabled ? 'disabled' : 'default');\n return (\n <button\n ref={composeRefs(forwardedRef, ref)}\n type=\"button\"\n role=\"menuitem\"\n disabled={isDisabled}\n aria-disabled={isDisabled || undefined}\n data-disabled={isDisabled ? '' : undefined}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented || isDisabled) return;\n onSelect?.();\n ctx.onClose();\n }}\n onKeyDown={handleKeyDown}\n className={cn(menuItemVariants({ state: itemState }), className)}\n {...rest}\n >\n {children}\n </button>\n );\n});\n\nexport interface MenuGroupProps extends HTMLAttributes<HTMLDivElement> {\n label?: ReactNode;\n children: ReactNode;\n}\n\nexport function MenuGroup({ label, children, className, ...rest }: MenuGroupProps) {\n const labelId = useId();\n return (\n <div\n role=\"group\"\n aria-labelledby={label ? labelId : undefined}\n className={className}\n {...rest}\n >\n {label && (\n <div id={labelId} className={menuLabelVariants()}>\n {label}\n </div>\n )}\n {children}\n </div>\n );\n}\n\nexport function MenuLabel({\n children,\n className,\n ...rest\n}: HTMLAttributes<HTMLDivElement>) {\n return (\n <div className={cn(menuLabelVariants(), className)} {...rest}>\n {children}\n </div>\n );\n}\n\nexport function MenuSeparator(props: HTMLAttributes<HTMLDivElement>) {\n return <div role=\"separator\" className={menuSeparatorVariants()} {...props} />;\n}\n\nexport const Menu = Object.assign(MenuRoot, {\n Item: MenuItem,\n Group: MenuGroup,\n Label: MenuLabel,\n Separator: MenuSeparator,\n});\n\nexport default Menu;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cn, composeRefs } from '../../../foundation/utils';\nimport { Presence, Slot } from '../../../foundation/primitives';\nimport { useControlled, useReducedMotion } from '../../../foundation/hooks';\nimport {\n Menu,\n MenuItem,\n MenuGroup,\n MenuLabel,\n MenuSeparator,\n type MenuProps,\n} from '../menu';\n\ninterface DropdownMenuContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n triggerRef: React.MutableRefObject<HTMLButtonElement | null>;\n /** Trigger node kept in state so anchored content re-renders once the ref attaches. */\n triggerNode: HTMLButtonElement | null;\n setTriggerNode: (node: HTMLButtonElement | null) => void;\n placement: MenuProps['placement'];\n offset: number;\n}\n\nconst DropdownMenuContext = createContext<DropdownMenuContextValue | null>(null);\n\nfunction useDropdownMenuContext() {\n const ctx = useContext(DropdownMenuContext);\n if (!ctx) throw new Error('DropdownMenu.* must be used inside <DropdownMenu>');\n return ctx;\n}\n\nexport interface DropdownMenuProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n placement?: MenuProps['placement'];\n offset?: number;\n children: ReactNode;\n}\n\nfunction DropdownMenuRoot({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n placement = 'bottom-start',\n offset = 6,\n children,\n}: DropdownMenuProps) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const [triggerNode, setTriggerNode] = useState<HTMLButtonElement | null>(null);\n\n const ctx = useMemo<DropdownMenuContextValue>(\n () => ({ open, setOpen, triggerRef, triggerNode, setTriggerNode, placement, offset }),\n [open, setOpen, triggerNode, placement, offset],\n );\n\n return <DropdownMenuContext.Provider value={ctx}>{children}</DropdownMenuContext.Provider>;\n}\nDropdownMenuRoot.displayName = 'DropdownMenu';\n\nexport interface DropdownMenuTriggerProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** Render the trigger as the single child (e.g., `<Button>`). */\n asChild?: boolean;\n children: ReactNode;\n}\n\nexport const DropdownMenuTrigger = forwardRef<HTMLButtonElement, DropdownMenuTriggerProps>(\n function DropdownMenuTrigger(\n { asChild, onClick, onKeyDown, children, ...rest },\n forwardedRef,\n ) {\n const ctx = useDropdownMenuContext();\n const Component = asChild ? Slot : 'button';\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n ctx.setOpen(!ctx.open);\n },\n [ctx, onClick],\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n ctx.setOpen(true);\n }\n },\n [ctx, onKeyDown],\n );\n\n return (\n <Component\n ref={composeRefs(forwardedRef, ctx.triggerRef, ctx.setTriggerNode) as never}\n type=\"button\"\n aria-haspopup=\"menu\"\n aria-expanded={ctx.open}\n data-state={ctx.open ? 'open' : 'closed'}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\n\nexport interface DropdownMenuContentProps {\n className?: string;\n 'aria-label'?: string;\n children: ReactNode;\n}\n\n/**\n * Animated panel handed to `Menu` as its child. `Presence` clones `data-state`\n * (\"open\" | \"closed\") + a `ref` onto this element, so the pop tokens below run\n * gated on that state. forwardRef + `{...props}` spread are required so the ref\n * and `data-state` actually land here.\n */\nconst DropdownMenuPanel = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n function DropdownMenuPanel({ className, children, ...props }, ref) {\n return (\n <div\n ref={ref}\n className={cn(\n /* pop (fade + slight scale) gated on data-state; motion-safe so\n reduced-motion users get no movement. */\n 'motion-safe:data-[state=open]:animate-(--animate-pop-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-pop-out)',\n 'motion-reduce:animate-none',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nexport function DropdownMenuContent({\n className,\n 'aria-label': ariaLabel,\n children,\n}: DropdownMenuContentProps) {\n const ctx = useDropdownMenuContext();\n const reducedMotion = useReducedMotion();\n /* Keep `Menu` (positioner / focus scope / dismiss layer) mounted while the\n pop-out plays — `Menu` hard-unmounts on `!open`, which would kill the exit.\n Opening flips this true synchronously; closing defers the unmount until the\n panel's exit animation ends (`onAnimationEnd` below). Under reduced motion\n no animation fires, so drop it on the next frame instead. */\n const [mounted, setMounted] = useState(ctx.open);\n useEffect(() => {\n if (ctx.open) {\n setMounted(true);\n return;\n }\n if (!reducedMotion) return;\n const raf = requestAnimationFrame(() => setMounted(false));\n return () => cancelAnimationFrame(raf);\n }, [ctx.open, reducedMotion]);\n\n if (!mounted) return null;\n\n return (\n <Menu\n open={mounted}\n anchor={ctx.triggerNode}\n onClose={() => {\n ctx.setOpen(false);\n requestAnimationFrame(() => ctx.triggerRef.current?.focus());\n }}\n placement={ctx.placement}\n offset={ctx.offset}\n aria-label={ariaLabel}\n >\n <Presence isPresent={ctx.open}>\n <DropdownMenuPanel\n className={className}\n onAnimationEnd={() => {\n /* Drop `Menu` once the exit animation completes. */\n if (!ctx.open) setMounted(false);\n }}\n >\n {children}\n </DropdownMenuPanel>\n </Presence>\n </Menu>\n );\n}\n\nexport const DropdownMenu = Object.assign(DropdownMenuRoot, {\n Trigger: DropdownMenuTrigger,\n Content: DropdownMenuContent,\n Item: MenuItem,\n Group: MenuGroup,\n Label: MenuLabel,\n Separator: MenuSeparator,\n});\n\nexport default DropdownMenu;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cn, composeRefs } from '../../../foundation/utils';\nimport { Slot } from '../../../foundation/primitives';\nimport {\n Menu,\n MenuItem,\n MenuGroup,\n MenuLabel,\n MenuSeparator,\n type MenuProps,\n} from '../menu';\n\ninterface ContextMenuContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n anchor: HTMLElement | null;\n setAnchor: (el: HTMLElement | null) => void;\n triggerRef: React.MutableRefObject<HTMLElement | null>;\n}\n\nconst ContextMenuContext = createContext<ContextMenuContextValue | null>(null);\n\nfunction useContextMenuContext() {\n const ctx = useContext(ContextMenuContext);\n if (!ctx) throw new Error('ContextMenu.* must be used inside <ContextMenu>');\n return ctx;\n}\n\nexport interface ContextMenuProps {\n children: ReactNode;\n}\n\n/** Build a zero-size virtual element at coordinates to anchor Floating UI. */\nfunction makeVirtualAnchor(x: number, y: number): HTMLElement {\n const el = document.createElement('div');\n el.style.position = 'fixed';\n el.style.left = `${x}px`;\n el.style.top = `${y}px`;\n el.style.width = '0px';\n el.style.height = '0px';\n el.style.pointerEvents = 'none';\n document.body.appendChild(el);\n return el;\n}\n\nfunction ContextMenuRoot({ children }: ContextMenuProps) {\n const [open, setOpen] = useState(false);\n const [anchor, setAnchorState] = useState<HTMLElement | null>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n\n const setAnchor = useCallback((el: HTMLElement | null) => {\n setAnchorState((prev) => {\n if (prev && prev.parentNode === document.body) prev.remove();\n return el;\n });\n }, []);\n\n const handleSetOpen = useCallback(\n (next: boolean) => {\n setOpen(next);\n if (!next) setAnchor(null);\n },\n [setAnchor],\n );\n\n // Remove the body-appended virtual anchor when it is replaced or on unmount.\n useEffect(() => {\n if (!anchor) return;\n return () => {\n if (anchor.parentNode === document.body) anchor.remove();\n };\n }, [anchor]);\n\n const ctx = useMemo<ContextMenuContextValue>(\n () => ({ open, setOpen: handleSetOpen, anchor, setAnchor, triggerRef }),\n [open, handleSetOpen, anchor, setAnchor],\n );\n\n return <ContextMenuContext.Provider value={ctx}>{children}</ContextMenuContext.Provider>;\n}\nContextMenuRoot.displayName = 'ContextMenu';\n\nexport interface ContextMenuTriggerProps extends HTMLAttributes<HTMLDivElement> {\n asChild?: boolean;\n isDisabled?: boolean;\n children: ReactNode;\n}\n\nexport const ContextMenuTrigger = forwardRef<HTMLDivElement, ContextMenuTriggerProps>(\n function ContextMenuTrigger(\n { asChild, isDisabled, onContextMenu, onPointerDown, onPointerCancel, onPointerUp, children, ...rest },\n forwardedRef,\n ) {\n const ctx = useContextMenuContext();\n const longPressTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const Component = asChild ? Slot : 'div';\n\n const handleContextMenu = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n onContextMenu?.(e);\n if (e.defaultPrevented || isDisabled) return;\n e.preventDefault();\n ctx.setAnchor(makeVirtualAnchor(e.clientX, e.clientY));\n ctx.setOpen(true);\n },\n [ctx, isDisabled, onContextMenu],\n );\n\n const clearLongPress = useCallback(() => {\n if (longPressTimer.current) clearTimeout(longPressTimer.current);\n longPressTimer.current = null;\n }, []);\n\n // Clear a pending long-press timer if the trigger unmounts mid-press.\n useEffect(() => () => clearLongPress(), [clearLongPress]);\n\n return (\n <Component\n ref={composeRefs(forwardedRef, ctx.triggerRef) as never}\n onContextMenu={handleContextMenu}\n onPointerDown={(e: React.PointerEvent<HTMLDivElement>) => {\n onPointerDown?.(e);\n if (e.defaultPrevented || isDisabled || e.pointerType !== 'touch') return;\n const x = e.clientX;\n const y = e.clientY;\n longPressTimer.current = setTimeout(() => {\n ctx.setAnchor(makeVirtualAnchor(x, y));\n ctx.setOpen(true);\n }, 600);\n }}\n onPointerUp={(e: React.PointerEvent<HTMLDivElement>) => {\n onPointerUp?.(e);\n clearLongPress();\n }}\n onPointerCancel={(e: React.PointerEvent<HTMLDivElement>) => {\n onPointerCancel?.(e);\n clearLongPress();\n }}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\n\nexport interface ContextMenuContentProps {\n className?: string;\n placement?: MenuProps['placement'];\n offset?: number;\n 'aria-label'?: string;\n children: ReactNode;\n}\n\nexport function ContextMenuContent({\n className,\n placement = 'bottom-start',\n offset = 2,\n 'aria-label': ariaLabel,\n children,\n}: ContextMenuContentProps) {\n const ctx = useContextMenuContext();\n return (\n <Menu\n open={ctx.open}\n anchor={ctx.anchor}\n onClose={() => ctx.setOpen(false)}\n placement={placement}\n offset={offset}\n aria-label={ariaLabel}\n // Enter-only pop: the surface mounts when `open` flips true, so the\n // anim fires once on mount. motion-safe gates it for reduced-motion.\n // (Exit anim is owned by the shared Menu's unmount gate — see note below.)\n className={cn('motion-safe:animate-(--animate-pop-in)', className)}\n >\n {children}\n </Menu>\n );\n}\n\nexport const ContextMenu = Object.assign(ContextMenuRoot, {\n Trigger: ContextMenuTrigger,\n Content: ContextMenuContent,\n Item: MenuItem,\n Group: MenuGroup,\n Label: MenuLabel,\n Separator: MenuSeparator,\n});\n\nexport default ContextMenu;\n","import { tv, type VariantProps } from '../../../foundation/utils';\n\nexport const menubarVariants = tv({\n base: 'flex items-center gap-1 rounded-md border border-border bg-background p-1',\n});\n\nexport const menubarTriggerVariants = tv({\n base: 'inline-flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium text-foreground outline-none transition-colors hover:bg-muted focus-visible:bg-muted data-[state=open]:bg-muted',\n});\n\nexport type MenubarVariants = VariantProps<typeof menubarVariants>;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cn, composeRefs } from '../../../foundation/utils';\nimport { useControlled } from '../../../foundation/hooks';\nimport {\n Menu,\n MenuItem,\n MenuGroup,\n MenuLabel,\n MenuSeparator,\n type MenuProps,\n} from '../menu';\nimport { menubarTriggerVariants, menubarVariants } from './Menubar.variants';\n\ninterface MenubarContextValue {\n activeId: string | null;\n setActiveId: (id: string | null) => void;\n registerTrigger: (id: string, ref: HTMLButtonElement | null) => void;\n unregisterTrigger: (id: string) => void;\n triggersRef: React.MutableRefObject<{ id: string; ref: HTMLButtonElement | null }[]>;\n /** Focuses the trigger adjacent to `fromId`; switches the open menu when one is open. */\n moveAcross: (fromId: string, direction: 1 | -1) => void;\n}\n\nconst MenubarContext = createContext<MenubarContextValue | null>(null);\n\nfunction useMenubarContext() {\n const ctx = useContext(MenubarContext);\n if (!ctx) throw new Error('Menubar.* must be used inside <Menubar>');\n return ctx;\n}\n\ninterface MenubarMenuContextValue {\n id: string;\n open: boolean;\n setOpen: (open: boolean) => void;\n triggerRef: React.MutableRefObject<HTMLButtonElement | null>;\n /** Trigger node kept in state so anchored content re-renders once the ref attaches. */\n triggerNode: HTMLButtonElement | null;\n setTriggerNode: (node: HTMLButtonElement | null) => void;\n}\n\nconst MenubarMenuContext = createContext<MenubarMenuContextValue | null>(null);\n\nfunction useMenubarMenuContext() {\n const ctx = useContext(MenubarMenuContext);\n if (!ctx) throw new Error('Menubar.Trigger / Content must be used inside <Menubar.Menu>');\n return ctx;\n}\n\nexport interface MenubarProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange'> {\n /** Id of the currently-open menu, or `null` if none. */\n value?: string | null;\n defaultValue?: string | null;\n onValueChange?: (value: string | null) => void;\n children: ReactNode;\n}\n\nconst MenubarRoot = forwardRef<HTMLDivElement, MenubarProps>(function Menubar(\n { value, defaultValue = null, onValueChange, className, children, ...rest },\n ref,\n) {\n const [activeId, setActiveId] = useControlled<string | null>({\n controlled: value,\n default: defaultValue,\n onChange: onValueChange,\n });\n\n const triggersRef = useRef<{ id: string; ref: HTMLButtonElement | null }[]>([]);\n\n const registerTrigger = useCallback((id: string, triggerRef: HTMLButtonElement | null) => {\n const idx = triggersRef.current.findIndex((t) => t.id === id);\n if (idx >= 0) triggersRef.current[idx] = { id, ref: triggerRef };\n else triggersRef.current.push({ id, ref: triggerRef });\n }, []);\n const unregisterTrigger = useCallback((id: string) => {\n triggersRef.current = triggersRef.current.filter((t) => t.id !== id);\n }, []);\n\n const moveAcross = useCallback(\n (fromId: string, direction: 1 | -1) => {\n const list = triggersRef.current;\n const idx = list.findIndex((t) => t.id === fromId);\n if (idx === -1) return;\n let nextIdx = idx + direction;\n if (nextIdx < 0) nextIdx = list.length - 1;\n if (nextIdx >= list.length) nextIdx = 0;\n const next = list[nextIdx];\n if (!next) return;\n next.ref?.focus();\n // If a menu is already open, switch the open menu to follow focus.\n if (activeId !== null) setActiveId(next.id);\n },\n [activeId, setActiveId],\n );\n\n const ctx = useMemo<MenubarContextValue>(\n () => ({ activeId, setActiveId, registerTrigger, unregisterTrigger, triggersRef, moveAcross }),\n [activeId, setActiveId, registerTrigger, unregisterTrigger, moveAcross],\n );\n\n return (\n <MenubarContext.Provider value={ctx}>\n <div\n ref={ref}\n role=\"menubar\"\n className={cn(menubarVariants(), className)}\n {...rest}\n >\n {children}\n </div>\n </MenubarContext.Provider>\n );\n});\n\nexport interface MenubarMenuProps {\n /** Stable id for this menu — used for active-menu tracking. */\n value: string;\n children: ReactNode;\n}\n\nexport function MenubarMenu({ value, children }: MenubarMenuProps) {\n const ctx = useMenubarContext();\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const [triggerNode, setTriggerNode] = useState<HTMLButtonElement | null>(null);\n\n const open = ctx.activeId === value;\n const setOpen = useCallback(\n (next: boolean) => {\n ctx.setActiveId(next ? value : null);\n },\n [ctx, value],\n );\n\n const menuCtx = useMemo<MenubarMenuContextValue>(\n () => ({ id: value, open, setOpen, triggerRef, triggerNode, setTriggerNode }),\n [value, open, setOpen, triggerNode],\n );\n\n return <MenubarMenuContext.Provider value={menuCtx}>{children}</MenubarMenuContext.Provider>;\n}\n\nexport interface MenubarTriggerProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n children: ReactNode;\n}\n\nexport const MenubarTrigger = forwardRef<HTMLButtonElement, MenubarTriggerProps>(\n function MenubarTrigger(\n { className, onClick, onKeyDown, onPointerEnter, children, ...rest },\n forwardedRef,\n ) {\n const bar = useMenubarContext();\n const menu = useMenubarMenuContext();\n\n useEffect(() => {\n bar.registerTrigger(menu.id, menu.triggerRef.current);\n return () => bar.unregisterTrigger(menu.id);\n }, [bar, menu.id, menu.triggerRef]);\n\n return (\n <button\n ref={composeRefs(forwardedRef, menu.triggerRef, menu.setTriggerNode)}\n type=\"button\"\n role=\"menuitem\"\n aria-haspopup=\"menu\"\n aria-expanded={menu.open}\n data-state={menu.open ? 'open' : 'closed'}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n menu.setOpen(!menu.open);\n }}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n // If any menu is open, switching the trigger pointer-over switches the active menu.\n if (bar.activeId !== null && bar.activeId !== menu.id) {\n bar.setActiveId(menu.id);\n }\n }}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n bar.moveAcross(menu.id, 1);\n break;\n case 'ArrowLeft':\n e.preventDefault();\n bar.moveAcross(menu.id, -1);\n break;\n case 'ArrowDown':\n case 'Enter':\n case ' ':\n e.preventDefault();\n menu.setOpen(true);\n break;\n case 'Home':\n e.preventDefault();\n bar.triggersRef.current[0]?.ref?.focus();\n break;\n case 'End': {\n e.preventDefault();\n const list = bar.triggersRef.current;\n list[list.length - 1]?.ref?.focus();\n break;\n }\n }\n }}\n className={cn(menubarTriggerVariants(), className)}\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\n\nexport interface MenubarContentProps {\n className?: string;\n placement?: MenuProps['placement'];\n offset?: number;\n 'aria-label'?: string;\n children: ReactNode;\n}\n\nexport function MenubarContent({\n className,\n placement = 'bottom-start',\n offset = 4,\n 'aria-label': ariaLabel,\n children,\n}: MenubarContentProps) {\n const bar = useMenubarContext();\n const menu = useMenubarMenuContext();\n return (\n <Menu\n open={menu.open}\n anchor={menu.triggerNode}\n onClose={() => {\n menu.setOpen(false);\n requestAnimationFrame(() => menu.triggerRef.current?.focus());\n }}\n onKeyDown={(e) => {\n // Arrow across menus while a popup is open — close current, open adjacent.\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n bar.moveAcross(menu.id, 1);\n break;\n case 'ArrowLeft':\n e.preventDefault();\n bar.moveAcross(menu.id, -1);\n break;\n }\n }}\n placement={placement}\n offset={offset}\n aria-label={ariaLabel}\n className={className}\n >\n {children}\n </Menu>\n );\n}\n\nexport const Menubar = Object.assign(MenubarRoot, {\n Menu: MenubarMenu,\n Trigger: MenubarTrigger,\n Content: MenubarContent,\n Item: MenuItem,\n Group: MenuGroup,\n Label: MenuLabel,\n Separator: MenuSeparator,\n});\n\nexport default Menubar;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { ChevronDown } from 'lucide-react';\nimport { cn, surfaceVariants } from '../../../foundation/utils';\nimport { useControlled, useReducedMotion } from '../../../foundation/hooks';\nimport {\n AnchoredPositioner,\n DismissableLayer,\n Portal,\n Presence,\n RovingFocusGroup,\n useRovingFocusItem,\n} from '../../../foundation/primitives';\n\ninterface NavigationMenuContextValue {\n activeId: string | null;\n setActiveId: (id: string | null) => void;\n}\n\nconst NavigationMenuContext = createContext<NavigationMenuContextValue | null>(null);\n\nfunction useNavContext() {\n const ctx = useContext(NavigationMenuContext);\n if (!ctx) throw new Error('NavigationMenu.* must be used inside <NavigationMenu>');\n return ctx;\n}\n\ninterface NavigationMenuItemContextValue {\n value: string;\n open: boolean;\n triggerRef: React.MutableRefObject<HTMLButtonElement | null>;\n contentId: string;\n triggerId: string;\n}\n\nconst NavigationMenuItemContext = createContext<NavigationMenuItemContextValue | null>(null);\n\nfunction useNavItemContext() {\n const ctx = useContext(NavigationMenuItemContext);\n if (!ctx)\n throw new Error('NavigationMenu.Trigger / Content must be used inside <NavigationMenu.Item>');\n return ctx;\n}\n\nexport interface NavigationMenuProps extends Omit<HTMLAttributes<HTMLElement>, 'defaultValue'> {\n value?: string | null;\n defaultValue?: string | null;\n onValueChange?: (value: string | null) => void;\n}\n\nconst NavigationMenuRoot = forwardRef<HTMLElement, NavigationMenuProps>(\n function NavigationMenu(\n {\n value,\n defaultValue = null,\n onValueChange,\n 'aria-label': ariaLabel = 'Main navigation',\n className,\n children,\n ...rest\n },\n ref,\n ) {\n const [activeId, setActiveId] = useControlled<string | null>({\n controlled: value,\n default: defaultValue,\n onChange: onValueChange,\n });\n\n const ctx = useMemo<NavigationMenuContextValue>(\n () => ({ activeId, setActiveId }),\n [activeId, setActiveId],\n );\n\n return (\n <NavigationMenuContext.Provider value={ctx}>\n <nav\n ref={ref}\n aria-label={ariaLabel}\n className={cn('relative', className)}\n {...rest}\n >\n {children}\n </nav>\n </NavigationMenuContext.Provider>\n );\n },\n);\n\nexport interface NavigationMenuListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport const NavigationMenuList = forwardRef<HTMLDivElement, NavigationMenuListProps>(\n function NavigationMenuList({ className, children, ...rest }, ref) {\n return (\n <RovingFocusGroup\n ref={ref}\n orientation=\"horizontal\"\n canLoop\n role=\"list\"\n className={cn('flex items-center gap-1', className)}\n {...rest}\n >\n {children}\n </RovingFocusGroup>\n );\n },\n);\n\nexport interface NavigationMenuItemProps extends HTMLAttributes<HTMLLIElement> {\n /** Stable id for active-state tracking. Required when item has a Trigger + Content. */\n value: string;\n children: ReactNode;\n}\n\nexport const NavigationMenuItem = forwardRef<HTMLLIElement, NavigationMenuItemProps>(\n function NavigationMenuItem({ value, className, children, ...rest }, ref) {\n const nav = useNavContext();\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const contentId = useId();\n const triggerId = useId();\n const open = nav.activeId === value;\n\n const itemCtx = useMemo<NavigationMenuItemContextValue>(\n () => ({ value, open, triggerRef, contentId, triggerId }),\n [value, open, contentId, triggerId],\n );\n\n return (\n <NavigationMenuItemContext.Provider value={itemCtx}>\n <li ref={ref} className={cn('relative', className)} {...rest}>\n {children}\n </li>\n </NavigationMenuItemContext.Provider>\n );\n },\n);\n\nexport interface NavigationMenuTriggerProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n children: ReactNode;\n}\n\nexport const NavigationMenuTrigger = forwardRef<HTMLButtonElement, NavigationMenuTriggerProps>(\n function NavigationMenuTrigger(\n { className, onClick, onPointerEnter, onKeyDown, onFocus, children, ...rest },\n ref,\n ) {\n const nav = useNavContext();\n const item = useNavItemContext();\n const roving = useRovingFocusItem();\n return (\n <button\n ref={(node) => {\n item.triggerRef.current = node;\n roving.ref(node);\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n }}\n id={item.triggerId}\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded={item.open}\n aria-controls={item.contentId}\n data-state={item.open ? 'open' : 'closed'}\n tabIndex={roving.tabIndex}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n nav.setActiveId(item.open ? null : item.value);\n }}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n if (nav.activeId !== null && nav.activeId !== item.value) {\n nav.setActiveId(item.value);\n }\n }}\n onFocus={(e) => {\n onFocus?.(e);\n roving.onFocus();\n }}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n roving.onKeyDown(e);\n }}\n className={cn(\n 'inline-flex items-center gap-1 rounded-md px-3 py-1.5 text-sm font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=open]:bg-muted',\n className,\n )}\n {...rest}\n >\n {children}\n <ChevronDown\n className={cn('h-4 w-4 transition-transform', item.open && 'rotate-180')}\n />\n </button>\n );\n },\n);\n\nexport interface NavigationMenuLinkProps\n extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> {\n children: ReactNode;\n}\n\nexport const NavigationMenuLink = forwardRef<HTMLAnchorElement, NavigationMenuLinkProps>(\n function NavigationMenuLink({ className, onKeyDown, onFocus, children, ...rest }, ref) {\n const roving = useRovingFocusItem();\n return (\n <a\n ref={(node) => {\n roving.ref(node);\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n }}\n tabIndex={roving.tabIndex}\n onFocus={(e) => {\n onFocus?.(e);\n roving.onFocus();\n }}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n roving.onKeyDown(e);\n }}\n className={cn(\n 'inline-flex items-center rounded-md px-3 py-1.5 text-sm font-medium text-foreground transition-colors hover:bg-muted hover:underline-offset-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n className,\n )}\n {...rest}\n >\n {children}\n </a>\n );\n },\n);\n\nexport interface NavigationMenuContentProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\n/**\n * Animated panel cloned by `Presence`, which injects `data-state`\n * (\"open\" | \"closed\") + a `ref` onto this element so the pop tokens below run\n * gated on that state. forwardRef + `{...props}` spread are required so the ref\n * and `data-state` actually land here.\n */\nconst NavigationMenuPanel = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n function NavigationMenuPanel({ className, children, ...props }, ref) {\n return (\n <div\n ref={ref}\n className={cn(\n /* pop (fade + slight scale) gated on data-state; motion-safe so\n reduced-motion users get no movement. */\n 'min-w-[12rem] outline-none',\n 'motion-safe:data-[state=open]:animate-(--animate-pop-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-pop-out)',\n 'motion-reduce:animate-none',\n surfaceVariants({ variant: 'surface', radius: 'md', padding: 'md' }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nexport const NavigationMenuContent = forwardRef<HTMLDivElement, NavigationMenuContentProps>(\n function NavigationMenuContent({ className, children, ...rest }, ref) {\n const nav = useNavContext();\n const item = useNavItemContext();\n const reducedMotion = useReducedMotion();\n\n const handleClose = useCallback(() => {\n nav.setActiveId(null);\n requestAnimationFrame(() => item.triggerRef.current?.focus());\n }, [nav, item.triggerRef]);\n\n /* Keep the positioner / dismiss layer mounted while the pop-out plays — the\n stack hard-unmounts on `!open`, which would kill the exit. Opening flips\n this true synchronously; closing defers the unmount until the panel's exit\n animation ends (`onAnimationEnd` below). Under reduced motion no animation\n fires, so drop it on the next frame instead. */\n const [mounted, setMounted] = useState(item.open);\n useEffect(() => {\n if (item.open) {\n setMounted(true);\n return;\n }\n if (!reducedMotion) return;\n const raf = requestAnimationFrame(() => setMounted(false));\n return () => cancelAnimationFrame(raf);\n }, [item.open, reducedMotion]);\n\n if (!mounted) return null;\n return (\n <Portal>\n <AnchoredPositioner\n anchor={item.triggerRef.current}\n placement=\"bottom-start\"\n offset={6}\n className=\"z-dropdown\"\n >\n <DismissableLayer\n onEscape={handleClose}\n onOutsidePointerDown={(e) => {\n if (item.triggerRef.current?.contains(e.target as Node)) return;\n nav.setActiveId(null);\n }}\n >\n <Presence isPresent={item.open}>\n <NavigationMenuPanel\n ref={ref}\n id={item.contentId}\n aria-labelledby={item.triggerId}\n className={className}\n onAnimationEnd={() => {\n /* Drop the positioner stack once the exit animation completes. */\n if (!item.open) setMounted(false);\n }}\n {...rest}\n >\n {children}\n </NavigationMenuPanel>\n </Presence>\n </DismissableLayer>\n </AnchoredPositioner>\n </Portal>\n );\n },\n);\n\nexport const NavigationMenu = Object.assign(NavigationMenuRoot, {\n List: NavigationMenuList,\n Item: NavigationMenuItem,\n Trigger: NavigationMenuTrigger,\n Content: NavigationMenuContent,\n Link: NavigationMenuLink,\n});\n\nexport default NavigationMenu;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { Search } from 'lucide-react';\nimport { cn } from '../../../foundation/utils';\nimport { useControlled } from '../../../foundation/hooks';\nimport { Icon } from '../../../foundation/icons';\nimport { Modal, ModalContent } from '../../overlays/modal';\nimport {\n listboxEmptyVariants,\n listboxGroupLabelVariants,\n listboxItemVariants,\n listboxSeparatorVariants,\n} from '../../forms/listbox/Listbox.variants';\n\ninterface CommandItemEntry {\n id: string;\n value: string;\n searchText: string;\n disabled: boolean;\n onSelect: () => void;\n closeOnSelect: boolean;\n}\n\ninterface CommandPaletteContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n inputValue: string;\n setInputValue: (input: string) => void;\n activeId: string | null;\n setActiveId: (id: string | null) => void;\n itemsRef: React.MutableRefObject<CommandItemEntry[]>;\n registerItem: (entry: CommandItemEntry) => void;\n unregisterItem: (id: string) => void;\n /** Bumped on every register/unregister — lets consumers observe the mutable registry. */\n registryVersion: number;\n filter: (searchText: string, search: string) => boolean;\n inputId: string;\n listboxId: string;\n inputRef: React.MutableRefObject<HTMLInputElement | null>;\n}\n\nconst CommandPaletteContext = createContext<CommandPaletteContextValue | null>(null);\n\nfunction useCommandPaletteContext() {\n const ctx = useContext(CommandPaletteContext);\n if (!ctx) throw new Error('CommandPalette.* must be used inside <CommandPalette>');\n return ctx;\n}\n\nconst defaultFilter = (searchText: string, search: string) =>\n searchText.toLowerCase().includes(search.toLowerCase());\n\nexport interface CommandPaletteProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n inputValue?: string;\n defaultInputValue?: string;\n onInputChange?: (input: string) => void;\n triggerKey?: string;\n filter?: (searchText: string, search: string) => boolean;\n children: ReactNode;\n}\n\nfunction CommandPaletteRoot({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n inputValue: inputProp,\n defaultInputValue,\n onInputChange,\n triggerKey,\n filter = defaultFilter,\n children,\n}: CommandPaletteProps) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const [inputValue, setInputValue] = useControlled({\n controlled: inputProp,\n default: defaultInputValue ?? '',\n onChange: onInputChange,\n });\n\n const itemsRef = useRef<CommandItemEntry[]>([]);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const [activeId, setActiveId] = useState<string | null>(null);\n // Items register via effects post-render; bump a version so registry readers recompute once items exist (fresh-open flow).\n const [registryVersion, setRegistryVersion] = useState(0);\n const inputId = useId();\n const listboxId = useId();\n\n const registerItem = useCallback((entry: CommandItemEntry) => {\n const idx = itemsRef.current.findIndex((i) => i.id === entry.id);\n if (idx >= 0) itemsRef.current[idx] = entry;\n else itemsRef.current.push(entry);\n setRegistryVersion((v) => v + 1);\n }, []);\n\n const unregisterItem = useCallback((id: string) => {\n itemsRef.current = itemsRef.current.filter((i) => i.id !== id);\n setRegistryVersion((v) => v + 1);\n }, []);\n\n // Global keybinding (cmd-/ctrl-K).\n useEffect(() => {\n if (!triggerKey) return;\n const onKey = (e: KeyboardEvent | globalThis.KeyboardEvent) => {\n if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === triggerKey.toLowerCase()) {\n e.preventDefault();\n setOpen(true);\n }\n };\n document.addEventListener('keydown', onKey as (e: globalThis.KeyboardEvent) => void);\n return () =>\n document.removeEventListener(\n 'keydown',\n onKey as (e: globalThis.KeyboardEvent) => void,\n );\n }, [triggerKey, setOpen]);\n\n // Reset search + active id on open/close transitions.\n useEffect(() => {\n if (!open) {\n setActiveId(null);\n }\n }, [open]);\n\n const ctx = useMemo<CommandPaletteContextValue>(\n () => ({\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeId,\n setActiveId,\n itemsRef,\n registerItem,\n unregisterItem,\n registryVersion,\n filter,\n inputId,\n listboxId,\n inputRef,\n }),\n [\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeId,\n registerItem,\n unregisterItem,\n registryVersion,\n filter,\n inputId,\n listboxId,\n ],\n );\n\n return (\n <CommandPaletteContext.Provider value={ctx}>\n <Modal open={open} onOpenChange={setOpen}>\n {children}\n </Modal>\n </CommandPaletteContext.Provider>\n );\n}\nCommandPaletteRoot.displayName = 'CommandPalette';\n\nexport type CommandPaletteContentProps = HTMLAttributes<HTMLDivElement>;\n\nexport const CommandPaletteContent = forwardRef<HTMLDivElement, CommandPaletteContentProps>(\n function CommandPaletteContent({ className, children, ...rest }, forwardedRef) {\n return (\n <ModalContent\n ref={forwardedRef}\n className={cn('w-full max-w-xl gap-0 overflow-hidden p-0', className)}\n {...rest}\n >\n {children}\n </ModalContent>\n );\n },\n);\n\nexport type CommandPaletteInputProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'onChange'\n>;\n\nexport const CommandPaletteInput = forwardRef<HTMLInputElement, CommandPaletteInputProps>(\n function CommandPaletteInput(\n { className, placeholder = 'Type a command…', onKeyDown, ...rest },\n forwardedRef,\n ) {\n const ctx = useCommandPaletteContext();\n\n // Keep DOM focus on the input whenever palette is open.\n useEffect(() => {\n if (ctx.open && ctx.inputRef.current) ctx.inputRef.current.focus();\n }, [ctx.open, ctx.inputRef]);\n\n const visibleItems = useCallback(() => {\n return ctx.itemsRef.current.filter(\n (i) => !i.disabled && (ctx.inputValue === '' || ctx.filter(i.searchText, ctx.inputValue)),\n );\n }, [ctx]);\n\n // Auto-set first match when the filter or the item registry changes.\n useEffect(() => {\n const list = visibleItems();\n if (list.length > 0 && !list.some((i) => i.id === ctx.activeId)) {\n ctx.setActiveId(list[0]!.id);\n } else if (list.length === 0) {\n ctx.setActiveId(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ctx.inputValue, ctx.registryVersion]);\n\n const moveActive = (direction: 1 | -1) => {\n const list = visibleItems();\n if (list.length === 0) return;\n const idx = list.findIndex((i) => i.id === ctx.activeId);\n let nextIdx = idx + direction;\n if (idx === -1) nextIdx = direction === 1 ? 0 : list.length - 1;\n if (nextIdx < 0) nextIdx = list.length - 1;\n if (nextIdx >= list.length) nextIdx = 0;\n ctx.setActiveId(list[nextIdx]!.id);\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n moveActive(1);\n break;\n case 'ArrowUp':\n e.preventDefault();\n moveActive(-1);\n break;\n case 'Home':\n if (e.target === ctx.inputRef.current) {\n const list = visibleItems();\n if (list.length > 0) ctx.setActiveId(list[0]!.id);\n }\n break;\n case 'End':\n if (e.target === ctx.inputRef.current) {\n const list = visibleItems();\n if (list.length > 0) ctx.setActiveId(list[list.length - 1]!.id);\n }\n break;\n case 'Enter': {\n if (!ctx.activeId) return;\n const entry = ctx.itemsRef.current.find((i) => i.id === ctx.activeId);\n if (!entry || entry.disabled) return;\n e.preventDefault();\n entry.onSelect();\n if (entry.closeOnSelect) ctx.setOpen(false);\n break;\n }\n }\n };\n\n return (\n <div className=\"flex items-center gap-2 border-b border-border px-3\">\n <Icon icon={Search} size={16} className=\"text-muted-foreground\" />\n <input\n {...rest}\n ref={(el) => {\n ctx.inputRef.current = el;\n if (typeof forwardedRef === 'function') forwardedRef(el);\n else if (forwardedRef)\n (forwardedRef as React.MutableRefObject<HTMLInputElement | null>).current = el;\n }}\n id={ctx.inputId}\n type=\"text\"\n role=\"combobox\"\n aria-expanded\n aria-controls={ctx.listboxId}\n aria-activedescendant={ctx.activeId ?? undefined}\n aria-autocomplete=\"list\"\n placeholder={placeholder}\n value={ctx.inputValue}\n onChange={(e) => ctx.setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n className={cn(\n 'flex h-12 w-full bg-transparent text-sm text-foreground placeholder:text-subtle-foreground outline-none disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n />\n </div>\n );\n },\n);\n\nexport type CommandPaletteListProps = HTMLAttributes<HTMLDivElement>;\n\nexport const CommandPaletteList = forwardRef<HTMLDivElement, CommandPaletteListProps>(\n function CommandPaletteList({ className, children, ...rest }, forwardedRef) {\n const ctx = useCommandPaletteContext();\n return (\n <div\n ref={forwardedRef}\n id={ctx.listboxId}\n role=\"listbox\"\n aria-labelledby={ctx.inputId}\n className={cn('max-h-80 overflow-y-auto p-1', className)}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nexport interface CommandPaletteGroupProps extends HTMLAttributes<HTMLDivElement> {\n label?: ReactNode;\n}\n\nexport function CommandPaletteGroup({\n label,\n children,\n className,\n ...rest\n}: CommandPaletteGroupProps) {\n const labelId = useId();\n return (\n <div\n role=\"group\"\n aria-labelledby={label ? labelId : undefined}\n className={className}\n {...rest}\n >\n {label && (\n <div id={labelId} className={listboxGroupLabelVariants()}>\n {label}\n </div>\n )}\n {children}\n </div>\n );\n}\n\nexport function CommandPaletteSeparator(props: HTMLAttributes<HTMLDivElement>) {\n return <div role=\"separator\" className={listboxSeparatorVariants()} {...props} />;\n}\n\nexport interface CommandPaletteItemProps extends HTMLAttributes<HTMLDivElement> {\n value: string;\n /** Text used by the filter; defaults to `value`. Pass when children include icons. */\n searchText?: string;\n isDisabled?: boolean;\n onSelect?: () => void;\n closeOnSelect?: boolean;\n children: ReactNode;\n}\n\nexport const CommandPaletteItem = forwardRef<HTMLDivElement, CommandPaletteItemProps>(\n function CommandPaletteItem(\n {\n value,\n searchText,\n isDisabled = false,\n onSelect,\n closeOnSelect = true,\n className,\n children,\n onClick,\n onPointerEnter,\n ...rest\n },\n forwardedRef,\n ) {\n const ctx = useCommandPaletteContext();\n const id = useId();\n\n // Resolve text for filter — fall back to children if string.\n const resolvedSearch =\n searchText ??\n (typeof children === 'string' ? children : Array.isArray(children) ? children.filter((c) => typeof c === 'string').join(' ') : value);\n\n // Depend on stable callbacks, not `ctx`: registering bumps registryVersion (new ctx identity), which would re-run this effect forever.\n const { registerItem, unregisterItem } = ctx;\n useEffect(() => {\n registerItem({\n id,\n value,\n searchText: resolvedSearch,\n disabled: isDisabled,\n onSelect: () => onSelect?.(),\n closeOnSelect,\n });\n return () => unregisterItem(id);\n }, [registerItem, unregisterItem, id, value, resolvedSearch, isDisabled, onSelect, closeOnSelect]);\n\n // Hide if filtered out.\n const matches = ctx.inputValue === '' || ctx.filter(resolvedSearch, ctx.inputValue);\n if (!matches) return null;\n\n const isActive = ctx.activeId === id;\n const state = isDisabled ? 'disabled' : isActive ? 'active' : 'default';\n\n return (\n <div\n ref={forwardedRef}\n id={id}\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={isDisabled || undefined}\n data-active={isActive ? '' : undefined}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented || isDisabled) return;\n onSelect?.();\n if (closeOnSelect) ctx.setOpen(false);\n }}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n if (!isDisabled) ctx.setActiveId(id);\n }}\n className={cn(listboxItemVariants({ state }), className)}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nexport type CommandPaletteEmptyProps = HTMLAttributes<HTMLDivElement>;\n\nexport const CommandPaletteEmpty = forwardRef<HTMLDivElement, CommandPaletteEmptyProps>(\n function CommandPaletteEmpty({ className, children, ...rest }, forwardedRef) {\n const ctx = useCommandPaletteContext();\n // Show only when zero items match.\n const matchCount = ctx.itemsRef.current.filter(\n (i) => ctx.inputValue === '' || ctx.filter(i.searchText, ctx.inputValue),\n ).length;\n if (matchCount > 0) return null;\n return (\n <div\n ref={forwardedRef}\n role=\"presentation\"\n className={cn(listboxEmptyVariants(), className)}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nexport const CommandPalette = Object.assign(CommandPaletteRoot, {\n Content: CommandPaletteContent,\n Input: CommandPaletteInput,\n List: CommandPaletteList,\n Group: CommandPaletteGroup,\n Item: CommandPaletteItem,\n Empty: CommandPaletteEmpty,\n Separator: CommandPaletteSeparator,\n});\n\nexport default CommandPalette;\n","import { useEffect, useState, type ReactNode } from 'react';\n\nexport interface UseScrollSpyOptions {\n rootMargin?: string;\n threshold?: number | number[];\n /** Element to observe within. Defaults to viewport. */\n root?: Element | Document | null;\n}\n\n/**\n * Track which of `ids` is currently the topmost in-view section.\n * Uses `IntersectionObserver` — returns `null` until the first intersection.\n */\nexport function useScrollSpy(\n ids: string[],\n { rootMargin = '0px 0px -60% 0px', threshold = 0, root = null }: UseScrollSpyOptions = {},\n): string | null {\n const [activeId, setActiveId] = useState<string | null>(null);\n\n useEffect(() => {\n if (typeof IntersectionObserver === 'undefined' || ids.length === 0) return;\n\n const seen = new Map<string, number>(); // id → top offset\n const elements = ids\n .map((id) => document.getElementById(id))\n .filter((el): el is HTMLElement => el != null);\n\n const observer = new IntersectionObserver(\n (entries) => {\n for (const e of entries) {\n if (e.isIntersecting) {\n seen.set(e.target.id, e.boundingClientRect.top);\n } else {\n seen.delete(e.target.id);\n }\n }\n if (seen.size === 0) return;\n // Pick the section whose top is closest to (but above) the rootMargin band.\n let bestId: string | null = null;\n let bestTop = Number.POSITIVE_INFINITY;\n for (const [id, top] of seen) {\n if (top < bestTop) {\n bestTop = top;\n bestId = id;\n }\n }\n setActiveId(bestId);\n },\n { rootMargin, threshold, root: root as Element | Document | null },\n );\n\n for (const el of elements) observer.observe(el);\n return () => observer.disconnect();\n }, [ids, rootMargin, threshold, root]);\n\n return activeId;\n}\n\nexport interface ScrollSpyProps extends UseScrollSpyOptions {\n ids: string[];\n onActiveChange?: (id: string | null) => void;\n children?: (ctx: { activeId: string | null }) => ReactNode;\n}\n\n/**\n * Render-prop variant of `useScrollSpy`. Emits `activeId` via callback or\n * render prop. Renders nothing by default.\n */\nexport function ScrollSpy({\n ids,\n rootMargin,\n threshold,\n root,\n onActiveChange,\n children,\n}: ScrollSpyProps) {\n const activeId = useScrollSpy(ids, { rootMargin, threshold, root });\n\n useEffect(() => {\n onActiveChange?.(activeId);\n }, [activeId, onActiveChange]);\n\n return children ? <>{children({ activeId })}</> : null;\n}\n","import {\n forwardRef,\n useEffect,\n useMemo,\n useState,\n type HTMLAttributes,\n type ReactNode,\n type RefObject,\n} from 'react';\nimport { cn } from '../../../foundation/utils';\nimport { useScrollSpy } from '../scrollSpy/ScrollSpy';\n\nexport interface TableOfContentsItem {\n id: string;\n label: ReactNode;\n /** Indent level. 0 = top, 1 = nested, … */\n depth?: number;\n}\n\nexport interface TableOfContentsProps extends HTMLAttributes<HTMLElement> {\n items?: TableOfContentsItem[];\n /** Auto-extract from this element's headings. */\n source?: RefObject<HTMLElement>;\n /** CSS selector used with `source`. Default `h2, h3`. */\n headingSelector?: string;\n /** Override the auto-derived active id. */\n activeId?: string | null;\n /** Apply `sticky top-4 self-start` helper classes. */\n isSticky?: boolean;\n}\n\nfunction depthFromTagName(tag: string): number {\n const match = /^H([1-6])$/i.exec(tag);\n return match ? Number(match[1]) - 2 : 0; // h2 → 0, h3 → 1, h4 → 2\n}\n\n/**\n * Outline of headings — `items` (explicit) or `source` (auto-extract).\n * Active entry derived from `useScrollSpy` over the headings' IDs.\n */\nexport const TableOfContents = forwardRef<HTMLElement, TableOfContentsProps>(\n function TableOfContents(\n {\n items: itemsProp,\n source,\n headingSelector = 'h2, h3',\n activeId: activeIdProp,\n isSticky,\n className,\n ...rest\n },\n ref,\n ) {\n const [extracted, setExtracted] = useState<TableOfContentsItem[]>([]);\n\n useEffect(() => {\n if (itemsProp || !source?.current) return;\n const root = source.current;\n const headings = Array.from(root.querySelectorAll<HTMLElement>(headingSelector));\n const list = headings\n .filter((h) => h.id)\n .map((h) => ({\n id: h.id,\n label: h.textContent ?? '',\n depth: Math.max(0, depthFromTagName(h.tagName)),\n }));\n setExtracted(list);\n }, [itemsProp, source, headingSelector]);\n\n const items = itemsProp ?? extracted;\n const ids = useMemo(() => items.map((i) => i.id), [items]);\n const spyId = useScrollSpy(ids);\n const activeId = activeIdProp !== undefined ? activeIdProp : spyId;\n\n if (items.length === 0) return null;\n\n return (\n <nav\n ref={ref}\n aria-label=\"Table of contents\"\n className={cn(isSticky && 'sticky top-4 self-start', className)}\n {...rest}\n >\n <ul className=\"space-y-1 text-sm\">\n {items.map((item) => {\n const isActive = item.id === activeId;\n const depth = item.depth ?? 0;\n return (\n <li\n key={item.id}\n style={{ paddingLeft: depth * 12 }}\n >\n <a\n href={`#${item.id}`}\n aria-current={isActive ? 'location' : undefined}\n className={cn(\n 'block rounded-sm px-2 py-1 transition-colors',\n isActive\n ? 'bg-muted font-medium text-foreground'\n : 'text-muted-foreground hover:bg-muted/40 hover:text-foreground',\n )}\n >\n {item.label}\n </a>\n </li>\n );\n })}\n </ul>\n </nav>\n );\n },\n);\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Spinner } from './chunk-
|
|
2
|
-
import { Backdrop } from './chunk-
|
|
3
|
-
import { useReducedMotion, useControlled } from './chunk-
|
|
4
|
-
import { Icon } from './chunk-
|
|
5
|
-
import { tv, surfaceVariants } from './chunk-
|
|
6
|
-
import { Presence, Portal, Announce } from './chunk-
|
|
7
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Spinner } from './chunk-PNHIAN3U.js';
|
|
2
|
+
import { Backdrop } from './chunk-2L7KB7ZG.js';
|
|
3
|
+
import { useReducedMotion, useControlled } from './chunk-2YBWJHVV.js';
|
|
4
|
+
import { Icon } from './chunk-6WPRGGCJ.js';
|
|
5
|
+
import { tv, surfaceVariants } from './chunk-TOB23IBK.js';
|
|
6
|
+
import { Presence, Portal, Announce } from './chunk-NY7OZGNY.js';
|
|
7
|
+
import { cn } from './chunk-PCRID2JL.js';
|
|
8
8
|
import { forwardRef, useRef, useEffect, createContext, useState, Children, isValidElement, useMemo, useContext, useId, useCallback } from 'react';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
10
10
|
import { X, Check, TrendingUp, TrendingDown, Minus, ChevronDown, Bell } from 'lucide-react';
|
|
11
11
|
|
|
12
|
-
// src/feedback/skeleton/Skeleton.variants.ts
|
|
12
|
+
// src/presentation/feedback/skeleton/Skeleton.variants.ts
|
|
13
13
|
var skeletonVariants = tv({
|
|
14
14
|
base: "animate-pulse bg-muted",
|
|
15
15
|
variants: {
|
|
@@ -36,7 +36,7 @@ var Skeleton = forwardRef(
|
|
|
36
36
|
);
|
|
37
37
|
Skeleton.displayName = "Skeleton";
|
|
38
38
|
|
|
39
|
-
// src/feedback/progressBar/ProgressBar.variants.ts
|
|
39
|
+
// src/presentation/feedback/progressBar/ProgressBar.variants.ts
|
|
40
40
|
var progressTrackVariants = tv({
|
|
41
41
|
base: "h-2 w-full overflow-hidden rounded-full bg-muted",
|
|
42
42
|
variants: {
|
|
@@ -157,7 +157,7 @@ var ProgressCircle = forwardRef(
|
|
|
157
157
|
);
|
|
158
158
|
ProgressCircle.displayName = "ProgressCircle";
|
|
159
159
|
|
|
160
|
-
// src/feedback/alertSimple/AlertSimple.variants.ts
|
|
160
|
+
// src/presentation/feedback/alertSimple/AlertSimple.variants.ts
|
|
161
161
|
var alertSimpleVariants = tv({
|
|
162
162
|
base: "rounded-md border px-4 py-3 text-sm",
|
|
163
163
|
variants: {
|
|
@@ -186,7 +186,7 @@ var AlertSimple = forwardRef(
|
|
|
186
186
|
);
|
|
187
187
|
AlertSimple.displayName = "AlertSimple";
|
|
188
188
|
|
|
189
|
-
// src/feedback/bannerSimple/BannerSimple.variants.ts
|
|
189
|
+
// src/presentation/feedback/bannerSimple/BannerSimple.variants.ts
|
|
190
190
|
var bannerSimpleVariants = tv({
|
|
191
191
|
base: "w-full px-6 py-3 text-sm",
|
|
192
192
|
variants: {
|
|
@@ -245,7 +245,7 @@ var ToastSimple = forwardRef(
|
|
|
245
245
|
);
|
|
246
246
|
ToastSimple.displayName = "ToastSimple";
|
|
247
247
|
|
|
248
|
-
// src/feedback/toastSimple/ToastSimple.variants.ts
|
|
248
|
+
// src/presentation/feedback/toastSimple/ToastSimple.variants.ts
|
|
249
249
|
var toastSimpleVariants = tv({
|
|
250
250
|
base: "pointer-events-auto rounded-md border bg-popover text-popover-foreground shadow-lg px-4 py-3 text-sm",
|
|
251
251
|
variants: {
|
|
@@ -1627,5 +1627,5 @@ var NotificationCenter = NotificationCenterInner;
|
|
|
1627
1627
|
NotificationCenter.Item = NotificationItem;
|
|
1628
1628
|
|
|
1629
1629
|
export { Alert, AlertSimple, Banner, BannerSimple, Callout, InlineSpinner, LiveCursor, LoadingOverlay, LoadingState, MeterBar, NotificationCenter, NotificationItem, OnboardingChecklist2 as OnboardingChecklist, OnboardingChecklistTask, PresenceIndicator, ProgressBar, ProgressCircle, ProgressSteps, Skeleton, StatusIndicator, Toast, ToastSimple, Toaster, Tour, TrendIndicator, TypingIndicator, UndoBar, alertSimpleVariants, bannerSimpleVariants, progressFillVariants, progressTrackVariants, skeletonVariants, toastSimpleVariants, toaster, useOnboardingChecklist, useToaster };
|
|
1630
|
-
//# sourceMappingURL=chunk-
|
|
1631
|
-
//# sourceMappingURL=chunk-
|
|
1630
|
+
//# sourceMappingURL=chunk-BFQX2J5L.js.map
|
|
1631
|
+
//# sourceMappingURL=chunk-BFQX2J5L.js.map
|