@zentauri-ui/zentauri-components 1.4.61 → 1.4.63
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/README.md +73 -73
- package/dist/{chunk-JE3PD5ZA.js → chunk-2VUMVDR3.js} +8 -8
- package/dist/{chunk-JE3PD5ZA.js.map → chunk-2VUMVDR3.js.map} +1 -1
- package/dist/{chunk-DFEZH7TC.mjs → chunk-4D54YOL6.mjs} +2 -2
- package/dist/{chunk-DFEZH7TC.mjs.map → chunk-4D54YOL6.mjs.map} +1 -1
- package/dist/{chunk-UXGHUBNJ.mjs → chunk-4LT2GNJL.mjs} +13 -13
- package/dist/{chunk-UXGHUBNJ.mjs.map → chunk-4LT2GNJL.mjs.map} +1 -1
- package/dist/{chunk-BORK3BJO.mjs → chunk-5TV7EL3H.mjs} +19 -19
- package/dist/chunk-5TV7EL3H.mjs.map +1 -0
- package/dist/{chunk-BSWYZTYK.js → chunk-7DCFVPWN.js} +2 -2
- package/dist/chunk-7DCFVPWN.js.map +1 -0
- package/dist/{chunk-5QB2KNZQ.js → chunk-7TLKLMBM.js} +11 -9
- package/dist/chunk-7TLKLMBM.js.map +1 -0
- package/dist/{chunk-2P3UU2J3.mjs → chunk-A6KMZ5ZS.mjs} +12 -12
- package/dist/chunk-A6KMZ5ZS.mjs.map +1 -0
- package/dist/{chunk-OJ67PZ6N.js → chunk-BCZIYH53.js} +8 -8
- package/dist/{chunk-OJ67PZ6N.js.map → chunk-BCZIYH53.js.map} +1 -1
- package/dist/{chunk-3OR47XMY.js → chunk-E4FZY7O2.js} +52 -33
- package/dist/chunk-E4FZY7O2.js.map +1 -0
- package/dist/{chunk-XLAFQ24R.js → chunk-G3B6OHFG.js} +49 -41
- package/dist/chunk-G3B6OHFG.js.map +1 -0
- package/dist/{chunk-RDSPHBHK.mjs → chunk-G3LEYBRV.mjs} +50 -7
- package/dist/chunk-G3LEYBRV.mjs.map +1 -0
- package/dist/chunk-GBWGVNDA.js +160 -0
- package/dist/chunk-GBWGVNDA.js.map +1 -0
- package/dist/{chunk-LVUPECBT.mjs → chunk-H2I54QPJ.mjs} +12 -12
- package/dist/chunk-H2I54QPJ.mjs.map +1 -0
- package/dist/{chunk-XWM2S6VV.mjs → chunk-I6GR234Z.mjs} +22 -20
- package/dist/chunk-I6GR234Z.mjs.map +1 -0
- package/dist/{chunk-WZKGRU3U.js → chunk-JUDMPOCI.js} +103 -38
- package/dist/chunk-JUDMPOCI.js.map +1 -0
- package/dist/chunk-K6YI4FJO.mjs +158 -0
- package/dist/chunk-K6YI4FJO.mjs.map +1 -0
- package/dist/{chunk-WP7GYBRI.js → chunk-KC5LEZ6J.js} +2 -2
- package/dist/chunk-KC5LEZ6J.js.map +1 -0
- package/dist/{chunk-PCK6LX3K.js → chunk-KEKNNZD3.js} +19 -19
- package/dist/{chunk-PCK6LX3K.js.map → chunk-KEKNNZD3.js.map} +1 -1
- package/dist/{chunk-UBFKTC2P.mjs → chunk-LJ7AAIA3.mjs} +3 -3
- package/dist/{chunk-UBFKTC2P.mjs.map → chunk-LJ7AAIA3.mjs.map} +1 -1
- package/dist/{chunk-BVXTOEBI.mjs → chunk-LN77JJTY.mjs} +45 -26
- package/dist/chunk-LN77JJTY.mjs.map +1 -0
- package/dist/{chunk-E3DZNJAD.js → chunk-MCOQHXRW.js} +23 -21
- package/dist/chunk-MCOQHXRW.js.map +1 -0
- package/dist/{chunk-FLILFCQE.mjs → chunk-MTLLJFUI.mjs} +7 -8
- package/dist/chunk-MTLLJFUI.mjs.map +1 -0
- package/dist/{chunk-C2FCPQTO.js → chunk-MXKGDFQH.js} +7 -7
- package/dist/{chunk-C2FCPQTO.js.map → chunk-MXKGDFQH.js.map} +1 -1
- package/dist/{chunk-UOFTZKMM.js → chunk-MXLRXYIX.js} +18 -18
- package/dist/{chunk-UOFTZKMM.js.map → chunk-MXLRXYIX.js.map} +1 -1
- package/dist/{chunk-6I7X5BF2.js → chunk-N2OAI2HN.js} +18 -18
- package/dist/chunk-N2OAI2HN.js.map +1 -0
- package/dist/{chunk-BITDSQMR.js → chunk-OB4KJZK2.js} +19 -19
- package/dist/chunk-OB4KJZK2.js.map +1 -0
- package/dist/{chunk-2PQEXQVR.js → chunk-PWL5WD34.js} +76 -27
- package/dist/chunk-PWL5WD34.js.map +1 -0
- package/dist/{chunk-FT2LMA66.mjs → chunk-QADZK5R7.mjs} +2 -2
- package/dist/chunk-QADZK5R7.mjs.map +1 -0
- package/dist/{chunk-XIXF7UVM.mjs → chunk-QEGACUFU.mjs} +12 -12
- package/dist/chunk-QEGACUFU.mjs.map +1 -0
- package/dist/{chunk-WDCIZHXY.mjs → chunk-QZTEFGZF.mjs} +6 -4
- package/dist/chunk-QZTEFGZF.mjs.map +1 -0
- package/dist/{chunk-N4NO3SYL.js → chunk-SKPZCISM.js} +48 -40
- package/dist/chunk-SKPZCISM.js.map +1 -0
- package/dist/{chunk-7HL3A4YF.mjs → chunk-TJUNN2PT.mjs} +73 -24
- package/dist/chunk-TJUNN2PT.mjs.map +1 -0
- package/dist/{chunk-IXDJ3IPG.mjs → chunk-TTYZBO4E.mjs} +40 -32
- package/dist/chunk-TTYZBO4E.mjs.map +1 -0
- package/dist/{chunk-4B7KGBQB.js → chunk-UWA23DUC.js} +12 -13
- package/dist/chunk-UWA23DUC.js.map +1 -0
- package/dist/{chunk-CY5BQKRZ.mjs → chunk-VXDEPZKH.mjs} +2 -2
- package/dist/chunk-VXDEPZKH.mjs.map +1 -0
- package/dist/{chunk-TZ2JVWTZ.mjs → chunk-YNBJAFI2.mjs} +3 -3
- package/dist/{chunk-TZ2JVWTZ.mjs.map → chunk-YNBJAFI2.mjs.map} +1 -1
- package/dist/{chunk-P5HUBXUX.js → chunk-YTRGRHEB.js} +55 -12
- package/dist/chunk-YTRGRHEB.js.map +1 -0
- package/dist/{chunk-U4YQCAXW.js → chunk-Z7PHKV2T.js} +18 -18
- package/dist/chunk-Z7PHKV2T.js.map +1 -0
- package/dist/{chunk-YNCD6TKE.mjs → chunk-ZBBFOMSJ.mjs} +103 -38
- package/dist/chunk-ZBBFOMSJ.mjs.map +1 -0
- package/dist/{chunk-PGH27VTL.mjs → chunk-ZIDKBEQJ.mjs} +40 -32
- package/dist/chunk-ZIDKBEQJ.mjs.map +1 -0
- package/dist/{chunk-UOZYPWDZ.js → chunk-ZS5756ZC.js} +2 -2
- package/dist/{chunk-UOZYPWDZ.js.map → chunk-ZS5756ZC.js.map} +1 -1
- package/dist/{chunk-W6PRMYUC.mjs → chunk-ZYZJ74XB.mjs} +3 -3
- package/dist/{chunk-W6PRMYUC.mjs.map → chunk-ZYZJ74XB.mjs.map} +1 -1
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useClickOutside/useClickOutside.d.ts.map +1 -1
- package/dist/hooks/useClickOutside.js +2 -2
- package/dist/hooks/useClickOutside.mjs +1 -1
- package/dist/hooks/useClipboard/useClipboard.d.ts.map +1 -1
- package/dist/hooks/useClipboard.js.map +1 -1
- package/dist/hooks/useClipboard.mjs.map +1 -1
- package/dist/hooks/useFocusManagement/useFocusManagement.d.ts +5 -14
- package/dist/hooks/useFocusManagement/useFocusManagement.d.ts.map +1 -1
- package/dist/hooks/useFocusManagement.js +2 -2
- package/dist/hooks/useFocusManagement.mjs +1 -1
- package/dist/hooks/useLocalStorage/index.d.ts +1 -1
- package/dist/hooks/useLocalStorage/index.d.ts.map +1 -1
- package/dist/hooks/useLocalStorage.js +1 -3
- package/dist/hooks/useLocalStorage.js.map +1 -1
- package/dist/hooks/useLocalStorage.mjs +1 -3
- package/dist/hooks/useLocalStorage.mjs.map +1 -1
- package/dist/hooks/useMediaQuery/useMediaQuery.d.ts.map +1 -1
- package/dist/hooks/useMediaQuery.js +2 -2
- package/dist/hooks/useMediaQuery.mjs +1 -1
- package/dist/hooks/usePagination.js +4 -4
- package/dist/hooks/usePagination.mjs +2 -2
- package/dist/hooks/usePrefersColorScheme.js +2 -2
- package/dist/hooks/usePrefersColorScheme.mjs +1 -1
- package/dist/hooks/usePrefersReducedMotion.js +2 -2
- package/dist/hooks/usePrefersReducedMotion.mjs +1 -1
- package/dist/hooks/useResizeObserver/index.d.ts +1 -1
- package/dist/hooks/useResizeObserver/index.d.ts.map +1 -1
- package/dist/hooks/useSessionStorage/useSessionStorage.d.ts.map +1 -1
- package/dist/hooks/useSessionStorage.js.map +1 -1
- package/dist/hooks/useSessionStorage.mjs.map +1 -1
- package/dist/hooks/useThrottledCallback/useThrottledCallback.d.ts.map +1 -1
- package/dist/hooks/useThrottledCallback.js.map +1 -1
- package/dist/hooks/useThrottledCallback.mjs.map +1 -1
- package/dist/hooks/useWindowSize/useWindowSize.d.ts.map +1 -1
- package/dist/hooks/useWindowSize.js +4 -1
- package/dist/hooks/useWindowSize.js.map +1 -1
- package/dist/hooks/useWindowSize.mjs +4 -1
- package/dist/hooks/useWindowSize.mjs.map +1 -1
- package/dist/hooks/utils.js +5 -5
- package/dist/hooks/utils.mjs +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/ui/accordion/accordion.d.ts.map +1 -1
- package/dist/ui/accordion/animated/accordion-content-animated.d.ts.map +1 -1
- package/dist/ui/accordion/animated/index.d.ts +1 -1
- package/dist/ui/accordion/animated/index.d.ts.map +1 -1
- package/dist/ui/accordion/animated/types.d.ts.map +1 -1
- package/dist/ui/accordion/animated.js +8 -11
- package/dist/ui/accordion/animated.js.map +1 -1
- package/dist/ui/accordion/animated.mjs +4 -7
- package/dist/ui/accordion/animated.mjs.map +1 -1
- package/dist/ui/accordion.js +10 -10
- package/dist/ui/accordion.js.map +1 -1
- package/dist/ui/accordion.mjs +3 -3
- package/dist/ui/accordion.mjs.map +1 -1
- package/dist/ui/alert/alert-base.d.ts.map +1 -1
- package/dist/ui/alert/alert.d.ts.map +1 -1
- package/dist/ui/alert/animated/index.d.ts.map +1 -1
- package/dist/ui/alert/animated.js +3 -3
- package/dist/ui/alert/animated.mjs +2 -2
- package/dist/ui/alert/types.d.ts.map +1 -1
- package/dist/ui/alert.js +11 -11
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/alert.mjs +3 -3
- package/dist/ui/alert.mjs.map +1 -1
- package/dist/ui/avatar/animated/index.d.ts +1 -1
- package/dist/ui/avatar/animated/index.d.ts.map +1 -1
- package/dist/ui/avatar/animated.js +6 -6
- package/dist/ui/avatar/animated.mjs +3 -3
- package/dist/ui/avatar/avatar-base.d.ts.map +1 -1
- package/dist/ui/avatar/avatar.d.ts.map +1 -1
- package/dist/ui/avatar/variants.d.ts.map +1 -1
- package/dist/ui/avatar.js +10 -10
- package/dist/ui/avatar.js.map +1 -1
- package/dist/ui/avatar.mjs +3 -3
- package/dist/ui/avatar.mjs.map +1 -1
- package/dist/ui/badge/animated/index.d.ts +1 -1
- package/dist/ui/badge/animated/index.d.ts.map +1 -1
- package/dist/ui/badge/animated/types.d.ts.map +1 -1
- package/dist/ui/badge/animated.js +3 -3
- package/dist/ui/badge/animated.mjs +2 -2
- package/dist/ui/badge/badge-base.d.ts +1 -1
- package/dist/ui/badge/badge-base.d.ts.map +1 -1
- package/dist/ui/badge/types.d.ts +1 -0
- package/dist/ui/badge/types.d.ts.map +1 -1
- package/dist/ui/badge/variants.d.ts +16 -16
- package/dist/ui/badge/variants.d.ts.map +1 -1
- package/dist/ui/badge.js +5 -5
- package/dist/ui/badge.mjs +3 -3
- package/dist/ui/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/ui/breadcrumb/types.d.ts.map +1 -1
- package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
- package/dist/ui/breadcrumb.js +47 -43
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/breadcrumb.mjs +43 -39
- package/dist/ui/breadcrumb.mjs.map +1 -1
- package/dist/ui/buttons/animated/index.d.ts +1 -1
- package/dist/ui/buttons/animated/index.d.ts.map +1 -1
- package/dist/ui/buttons/animated/types.d.ts.map +1 -1
- package/dist/ui/buttons/animated.js +4 -4
- package/dist/ui/buttons/animated.mjs +2 -2
- package/dist/ui/buttons/types.d.ts.map +1 -1
- package/dist/ui/buttons.js +5 -5
- package/dist/ui/buttons.mjs +3 -3
- package/dist/ui/card/animated.js +8 -8
- package/dist/ui/card/animated.mjs +3 -3
- package/dist/ui/card/card-base.d.ts.map +1 -1
- package/dist/ui/card/card.d.ts.map +1 -1
- package/dist/ui/card/index.d.ts +2 -2
- package/dist/ui/card/index.d.ts.map +1 -1
- package/dist/ui/card.js +13 -13
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/card.mjs +3 -3
- package/dist/ui/card.mjs.map +1 -1
- package/dist/ui/divider/animated/index.d.ts +1 -1
- package/dist/ui/divider/animated/index.d.ts.map +1 -1
- package/dist/ui/divider/animated/types.d.ts.map +1 -1
- package/dist/ui/divider/animated.js +3 -3
- package/dist/ui/divider/animated.mjs +2 -2
- package/dist/ui/divider/divider-base.d.ts.map +1 -1
- package/dist/ui/divider.js +7 -7
- package/dist/ui/divider.mjs +3 -3
- package/dist/ui/drawer/animated/drawer-content-animated.d.ts.map +1 -1
- package/dist/ui/drawer/animated/index.d.ts +1 -1
- package/dist/ui/drawer/animated/index.d.ts.map +1 -1
- package/dist/ui/drawer/animated.js +19 -20
- package/dist/ui/drawer/animated.js.map +1 -1
- package/dist/ui/drawer/animated.mjs +9 -10
- package/dist/ui/drawer/animated.mjs.map +1 -1
- package/dist/ui/drawer/drawer-base.d.ts +1 -1
- package/dist/ui/drawer/drawer-base.d.ts.map +1 -1
- package/dist/ui/drawer/types.d.ts +1 -0
- package/dist/ui/drawer/types.d.ts.map +1 -1
- package/dist/ui/drawer.js +13 -13
- package/dist/ui/drawer.mjs +3 -3
- package/dist/ui/dropdown/dropdown.d.ts +1 -1
- package/dist/ui/dropdown/dropdown.d.ts.map +1 -1
- package/dist/ui/dropdown/types.d.ts +1 -0
- package/dist/ui/dropdown/types.d.ts.map +1 -1
- package/dist/ui/dropdown/variants.d.ts +1 -1
- package/dist/ui/dropdown.js +49 -31
- package/dist/ui/dropdown.js.map +1 -1
- package/dist/ui/dropdown.mjs +46 -28
- package/dist/ui/dropdown.mjs.map +1 -1
- package/dist/ui/empty-state/animated/empty-state-animated.d.ts.map +1 -1
- package/dist/ui/empty-state/animated/index.d.ts +2 -2
- package/dist/ui/empty-state/animated/index.d.ts.map +1 -1
- package/dist/ui/empty-state/animated.js +3 -3
- package/dist/ui/empty-state/animated.js.map +1 -1
- package/dist/ui/empty-state/animated.mjs +2 -2
- package/dist/ui/empty-state/animated.mjs.map +1 -1
- package/dist/ui/empty-state/empty-state-base.d.ts.map +1 -1
- package/dist/ui/empty-state/index.d.ts +1 -1
- package/dist/ui/empty-state/index.d.ts.map +1 -1
- package/dist/ui/empty-state/types.d.ts +1 -0
- package/dist/ui/empty-state/types.d.ts.map +1 -1
- package/dist/ui/empty-state.js +11 -11
- package/dist/ui/empty-state.mjs +3 -3
- package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
- package/dist/ui/file-upload/variants.d.ts.map +1 -1
- package/dist/ui/file-upload.js +4 -6
- package/dist/ui/file-upload.js.map +1 -1
- package/dist/ui/file-upload.mjs +2 -4
- package/dist/ui/file-upload.mjs.map +1 -1
- package/dist/ui/inputs/animated/index.d.ts +1 -1
- package/dist/ui/inputs/animated/index.d.ts.map +1 -1
- package/dist/ui/inputs/animated.js +3 -3
- package/dist/ui/inputs/animated.mjs +1 -1
- package/dist/ui/inputs/input-base.d.ts.map +1 -1
- package/dist/ui/inputs/types.d.ts +3 -1
- package/dist/ui/inputs/types.d.ts.map +1 -1
- package/dist/ui/inputs.js +49 -5
- package/dist/ui/inputs.js.map +1 -1
- package/dist/ui/inputs.mjs +47 -3
- package/dist/ui/inputs.mjs.map +1 -1
- package/dist/ui/modal/animated/index.d.ts +1 -1
- package/dist/ui/modal/animated/index.d.ts.map +1 -1
- package/dist/ui/modal/animated/modal-content-animated.d.ts.map +1 -1
- package/dist/ui/modal/animated.js +12 -13
- package/dist/ui/modal/animated.js.map +1 -1
- package/dist/ui/modal/animated.mjs +8 -9
- package/dist/ui/modal/animated.mjs.map +1 -1
- package/dist/ui/modal/index.d.ts +1 -1
- package/dist/ui/modal/index.d.ts.map +1 -1
- package/dist/ui/modal/modal-base.d.ts +4 -2
- package/dist/ui/modal/modal-base.d.ts.map +1 -1
- package/dist/ui/modal/types.d.ts.map +1 -1
- package/dist/ui/modal.js +14 -14
- package/dist/ui/modal.js.map +1 -1
- package/dist/ui/modal.mjs +4 -4
- package/dist/ui/modal.mjs.map +1 -1
- package/dist/ui/pagination.js +25 -25
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +15 -15
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/progress/animated/progress-animated.d.ts.map +1 -1
- package/dist/ui/progress/animated.js +52 -14
- package/dist/ui/progress/animated.js.map +1 -1
- package/dist/ui/progress/animated.mjs +45 -7
- package/dist/ui/progress/animated.mjs.map +1 -1
- package/dist/ui/progress/index.d.ts +2 -2
- package/dist/ui/progress/index.d.ts.map +1 -1
- package/dist/ui/progress/progress-base.d.ts.map +1 -1
- package/dist/ui/progress/progress.d.ts.map +1 -1
- package/dist/ui/progress/types.d.ts +3 -0
- package/dist/ui/progress/types.d.ts.map +1 -1
- package/dist/ui/progress.js +10 -15
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/progress.mjs +4 -9
- package/dist/ui/progress.mjs.map +1 -1
- package/dist/ui/search/search-bar.d.ts +1 -1
- package/dist/ui/search/search-bar.d.ts.map +1 -1
- package/dist/ui/search/search-suggestion-list.d.ts.map +1 -1
- package/dist/ui/search/search-suggestion-utils.d.ts.map +1 -1
- package/dist/ui/search.js +15 -7
- package/dist/ui/search.js.map +1 -1
- package/dist/ui/search.mjs +11 -3
- package/dist/ui/search.mjs.map +1 -1
- package/dist/ui/select/select.d.ts +1 -1
- package/dist/ui/select/select.d.ts.map +1 -1
- package/dist/ui/select/types.d.ts +1 -0
- package/dist/ui/select/types.d.ts.map +1 -1
- package/dist/ui/select/variants.d.ts +1 -1
- package/dist/ui/select/variants.d.ts.map +1 -1
- package/dist/ui/select.js +145 -63
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +141 -59
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/skeleton/animated/skeleton-animated.d.ts.map +1 -1
- package/dist/ui/skeleton/animated/types.d.ts.map +1 -1
- package/dist/ui/skeleton/animated.js +34 -10
- package/dist/ui/skeleton/animated.js.map +1 -1
- package/dist/ui/skeleton/animated.mjs +29 -5
- package/dist/ui/skeleton/animated.mjs.map +1 -1
- package/dist/ui/skeleton/variants.d.ts +1 -1
- package/dist/ui/skeleton.js +10 -10
- package/dist/ui/skeleton.mjs +2 -2
- package/dist/ui/slider/slider.d.ts.map +1 -1
- package/dist/ui/slider/types.d.ts +8 -2
- package/dist/ui/slider/types.d.ts.map +1 -1
- package/dist/ui/slider.js +53 -17
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/slider.mjs +45 -9
- package/dist/ui/slider.mjs.map +1 -1
- package/dist/ui/spinner/animated/spinner.d.ts.map +1 -1
- package/dist/ui/spinner/animated.js +68 -56
- package/dist/ui/spinner/animated.js.map +1 -1
- package/dist/ui/spinner/animated.mjs +64 -52
- package/dist/ui/spinner/animated.mjs.map +1 -1
- package/dist/ui/stepper/stepper.d.ts +2 -7
- package/dist/ui/stepper/stepper.d.ts.map +1 -1
- package/dist/ui/stepper/types.d.ts +3 -3
- package/dist/ui/stepper/types.d.ts.map +1 -1
- package/dist/ui/stepper/variants.d.ts +1 -1
- package/dist/ui/stepper/variants.d.ts.map +1 -1
- package/dist/ui/stepper.js +12 -13
- package/dist/ui/stepper.js.map +1 -1
- package/dist/ui/stepper.mjs +9 -10
- package/dist/ui/stepper.mjs.map +1 -1
- package/dist/ui/table/animated/index.d.ts +2 -2
- package/dist/ui/table/animated/index.d.ts.map +1 -1
- package/dist/ui/table/animated.js +9 -9
- package/dist/ui/table/animated.mjs +3 -3
- package/dist/ui/table/table-base.d.ts +1 -1
- package/dist/ui/table/table-base.d.ts.map +1 -1
- package/dist/ui/table/types.d.ts +5 -1
- package/dist/ui/table/types.d.ts.map +1 -1
- package/dist/ui/table.js +15 -15
- package/dist/ui/table.mjs +2 -2
- package/dist/ui/tabs/animated/animations.d.ts.map +1 -1
- package/dist/ui/tabs/animated/index.d.ts +1 -1
- package/dist/ui/tabs/animated/index.d.ts.map +1 -1
- package/dist/ui/tabs/animated/types.d.ts.map +1 -1
- package/dist/ui/tabs/animated.js +4 -4
- package/dist/ui/tabs/animated.js.map +1 -1
- package/dist/ui/tabs/animated.mjs +2 -2
- package/dist/ui/tabs/animated.mjs.map +1 -1
- package/dist/ui/tabs/index.d.ts +1 -1
- package/dist/ui/tabs/index.d.ts.map +1 -1
- package/dist/ui/tabs/tabs-base.d.ts.map +1 -1
- package/dist/ui/tabs/tabs.d.ts +1 -1
- package/dist/ui/tabs/tabs.d.ts.map +1 -1
- package/dist/ui/tabs/types.d.ts +2 -1
- package/dist/ui/tabs/types.d.ts.map +1 -1
- package/dist/ui/tabs.js +10 -10
- package/dist/ui/tabs.mjs +2 -2
- package/dist/ui/toast/animated/toast-animated.d.ts.map +1 -1
- package/dist/ui/toast/animated.js +12 -10
- package/dist/ui/toast/animated.js.map +1 -1
- package/dist/ui/toast/animated.mjs +5 -3
- package/dist/ui/toast/animated.mjs.map +1 -1
- package/dist/ui/toast/types.d.ts.map +1 -1
- package/dist/ui/toast.js +13 -13
- package/dist/ui/toast.mjs +2 -2
- package/dist/ui/toggle/animated/index.d.ts +2 -2
- package/dist/ui/toggle/animated/index.d.ts.map +1 -1
- package/dist/ui/toggle/animated/types.d.ts.map +1 -1
- package/dist/ui/toggle/animated.js +3 -3
- package/dist/ui/toggle/animated.mjs +1 -1
- package/dist/ui/toggle/index.d.ts +1 -1
- package/dist/ui/toggle/index.d.ts.map +1 -1
- package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
- package/dist/ui/toggle.js +31 -6
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/toggle.mjs +30 -5
- package/dist/ui/toggle.mjs.map +1 -1
- package/dist/ui/tooltip/animated/animations.d.ts.map +1 -1
- package/dist/ui/tooltip/animated/types.d.ts.map +1 -1
- package/dist/ui/tooltip/animated.js +5 -5
- package/dist/ui/tooltip/animated.js.map +1 -1
- package/dist/ui/tooltip/animated.mjs +2 -2
- package/dist/ui/tooltip/animated.mjs.map +1 -1
- package/dist/ui/tooltip/tooltip-base.d.ts.map +1 -1
- package/dist/ui/tooltip/types.d.ts +1 -0
- package/dist/ui/tooltip/types.d.ts.map +1 -1
- package/dist/ui/tooltip/variants.d.ts.map +1 -1
- package/dist/ui/tooltip.js +8 -8
- package/dist/ui/tooltip.mjs +2 -2
- package/dist/ui/typography/blockquote-base.d.ts.map +1 -1
- package/dist/ui/typography/code-block-base.d.ts.map +1 -1
- package/dist/ui/typography/heading-base.d.ts.map +1 -1
- package/dist/ui/typography/list-base.d.ts.map +1 -1
- package/dist/ui/typography/types.d.ts.map +1 -1
- package/dist/ui/typography/variants.d.ts.map +1 -1
- package/dist/ui/typography.js +12 -34
- package/dist/ui/typography.js.map +1 -1
- package/dist/ui/typography.mjs +4 -26
- package/dist/ui/typography.mjs.map +1 -1
- package/package.json +1 -1
- package/src/hooks/index.ts +8 -2
- package/src/hooks/useClickOutside/useClickOutside.ts +1 -4
- package/src/hooks/useClipboard/useClipboard.test.ts +3 -1
- package/src/hooks/useClipboard/useClipboard.ts +1 -2
- package/src/hooks/useDisclosure/useDisclosure.test.ts +1 -2
- package/src/hooks/useDocumentTitle/useDocumentTitle.test.ts +1 -3
- package/src/hooks/useFocusManagement/useFocusManagement.test.tsx +8 -0
- package/src/hooks/useFocusManagement/useFocusManagement.ts +162 -34
- package/src/hooks/useInView/useInView.test.ts +6 -1
- package/src/hooks/useLocalStorage/index.ts +1 -4
- package/src/hooks/useLocalStorage/useLocalStorage.test.ts +8 -20
- package/src/hooks/useLocalStorage/useLocalStorage.ts +4 -4
- package/src/hooks/useMediaQuery/useMediaQuery.ts +1 -4
- package/src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.test.ts +3 -1
- package/src/hooks/useResizeObserver/index.ts +1 -4
- package/src/hooks/useSessionStorage/useSessionStorage.test.ts +2 -6
- package/src/hooks/useSessionStorage/useSessionStorage.ts +4 -2
- package/src/hooks/useThrottledCallback/useThrottledCallback.ts +4 -3
- package/src/hooks/useWindowSize/useWindowSize.ts +4 -1
- package/src/lib/utils.ts +3 -3
- package/src/ui/accordion/accordion.tsx +6 -1
- package/src/ui/accordion/animated/accordion-content-animated.tsx +1 -4
- package/src/ui/accordion/animated/index.ts +4 -1
- package/src/ui/accordion/animated/types.ts +6 -2
- package/src/ui/alert/alert-base.tsx +6 -1
- package/src/ui/alert/alert.tsx +2 -2
- package/src/ui/alert/animated/index.ts +2 -2
- package/src/ui/alert/animated/types.ts +1 -1
- package/src/ui/alert/types.ts +1 -3
- package/src/ui/alert/variants.ts +9 -9
- package/src/ui/avatar/animated/index.ts +6 -2
- package/src/ui/avatar/avatar-base.tsx +2 -7
- package/src/ui/avatar/avatar.tsx +6 -1
- package/src/ui/avatar/variants.ts +23 -11
- package/src/ui/badge/animated/index.ts +6 -2
- package/src/ui/badge/animated/types.ts +1 -2
- package/src/ui/badge/badge-base.tsx +4 -1
- package/src/ui/badge/types.ts +1 -0
- package/src/ui/badge/variants.ts +16 -18
- package/src/ui/breadcrumb/breadcrumb.tsx +10 -2
- package/src/ui/breadcrumb/types.ts +20 -9
- package/src/ui/breadcrumb/variants.ts +34 -38
- package/src/ui/buttons/animated/index.ts +7 -1
- package/src/ui/buttons/animated/types.ts +0 -1
- package/src/ui/buttons/button.test.tsx +2 -2
- package/src/ui/buttons/types.ts +4 -5
- package/src/ui/buttons/variants.ts +17 -17
- package/src/ui/card/animated/types.ts +0 -1
- package/src/ui/card/card-base.tsx +1 -6
- package/src/ui/card/card.test.tsx +7 -3
- package/src/ui/card/card.tsx +1 -3
- package/src/ui/card/index.ts +7 -3
- package/src/ui/card/types.ts +1 -1
- package/src/ui/card/variants.ts +9 -9
- package/src/ui/divider/animated/index.ts +5 -1
- package/src/ui/divider/animated/types.ts +4 -2
- package/src/ui/divider/divider-base.tsx +0 -1
- package/src/ui/drawer/animated/drawer-content-animated.tsx +6 -11
- package/src/ui/drawer/animated/index.ts +6 -1
- package/src/ui/drawer/drawer-base.tsx +16 -8
- package/src/ui/drawer/types.ts +12 -3
- package/src/ui/drawer/variants.ts +18 -18
- package/src/ui/dropdown/dropdown.test.tsx +1 -3
- package/src/ui/dropdown/dropdown.tsx +30 -5
- package/src/ui/dropdown/types.ts +1 -0
- package/src/ui/dropdown/variants.ts +20 -20
- package/src/ui/empty-state/animated/empty-state-animated.tsx +2 -4
- package/src/ui/empty-state/animated/index.ts +8 -5
- package/src/ui/empty-state/empty-state-base.tsx +14 -2
- package/src/ui/empty-state/index.ts +7 -1
- package/src/ui/empty-state/types.ts +1 -0
- package/src/ui/file-upload/file-upload.tsx +3 -9
- package/src/ui/file-upload/variants.ts +18 -9
- package/src/ui/inputs/animated/index.ts +7 -1
- package/src/ui/inputs/input-base.tsx +60 -6
- package/src/ui/inputs/input.test.tsx +5 -1
- package/src/ui/inputs/types.ts +7 -2
- package/src/ui/modal/animated/index.ts +6 -1
- package/src/ui/modal/animated/modal-content-animated.tsx +4 -5
- package/src/ui/modal/index.ts +1 -1
- package/src/ui/modal/modal-base.tsx +19 -10
- package/src/ui/modal/modal.test.tsx +44 -4
- package/src/ui/modal/modal.tsx +1 -1
- package/src/ui/modal/types.ts +10 -2
- package/src/ui/modal/variants.ts +18 -18
- package/src/ui/pagination/pagination.tsx +2 -2
- package/src/ui/pagination/variants.ts +9 -9
- package/src/ui/progress/animated/progress-animated.tsx +43 -5
- package/src/ui/progress/animated/types.ts +1 -1
- package/src/ui/progress/index.ts +12 -2
- package/src/ui/progress/progress-base.tsx +61 -5
- package/src/ui/progress/progress.test.tsx +1 -3
- package/src/ui/progress/progress.tsx +2 -6
- package/src/ui/progress/types.ts +3 -0
- package/src/ui/search/filter-search-suggestions.test.ts +46 -12
- package/src/ui/search/filter-search-suggestions.ts +3 -3
- package/src/ui/search/search-bar.tsx +22 -22
- package/src/ui/search/search-suggestion-list.tsx +14 -5
- package/src/ui/search/search-suggestion-utils.ts +4 -1
- package/src/ui/select/select.tsx +96 -6
- package/src/ui/select/types.ts +1 -0
- package/src/ui/select/variants.ts +71 -68
- package/src/ui/skeleton/animated/skeleton-animated.tsx +25 -4
- package/src/ui/skeleton/animated/types.ts +0 -1
- package/src/ui/skeleton/skeleton-base.tsx +3 -3
- package/src/ui/skeleton/variants.ts +9 -9
- package/src/ui/slider/slider.test.tsx +23 -9
- package/src/ui/slider/slider.tsx +45 -4
- package/src/ui/slider/types.ts +9 -3
- package/src/ui/slider/variants.ts +1 -1
- package/src/ui/spinner/animated/spinner.tsx +6 -3
- package/src/ui/stepper/stepper.test.tsx +5 -6
- package/src/ui/stepper/stepper.tsx +12 -16
- package/src/ui/stepper/types.ts +11 -5
- package/src/ui/stepper/variants.ts +30 -15
- package/src/ui/table/animated/index.ts +6 -4
- package/src/ui/table/table-base.tsx +32 -11
- package/src/ui/table/types.ts +8 -1
- package/src/ui/tabs/animated/animations.ts +5 -1
- package/src/ui/tabs/animated/index.ts +7 -1
- package/src/ui/tabs/animated/types.ts +3 -3
- package/src/ui/tabs/index.ts +8 -1
- package/src/ui/tabs/tabs-base.tsx +71 -10
- package/src/ui/tabs/tabs.tsx +8 -1
- package/src/ui/tabs/types.ts +2 -1
- package/src/ui/tabs/variants.ts +10 -10
- package/src/ui/toast/animated/toast-animated.tsx +3 -1
- package/src/ui/toast/animated/types.ts +1 -1
- package/src/ui/toast/toast-base.tsx +1 -1
- package/src/ui/toast/types.ts +3 -1
- package/src/ui/toast/variants.ts +9 -9
- package/src/ui/toggle/animated/index.ts +7 -4
- package/src/ui/toggle/animated/types.ts +4 -2
- package/src/ui/toggle/index.ts +5 -1
- package/src/ui/toggle/toggle-base.tsx +36 -4
- package/src/ui/tooltip/animated/animations.ts +0 -1
- package/src/ui/tooltip/animated/types.ts +0 -1
- package/src/ui/tooltip/tooltip-base.tsx +118 -22
- package/src/ui/tooltip/types.ts +1 -0
- package/src/ui/tooltip/variants.ts +11 -13
- package/src/ui/typography/blockquote-base.tsx +1 -8
- package/src/ui/typography/code-block-base.tsx +19 -24
- package/src/ui/typography/heading-base.tsx +35 -38
- package/src/ui/typography/inline-code-base.tsx +15 -15
- package/src/ui/typography/list-base.tsx +1 -9
- package/src/ui/typography/text-base.tsx +32 -32
- package/src/ui/typography/types.ts +4 -17
- package/src/ui/typography/typography.test.tsx +3 -1
- package/src/ui/typography/variants.ts +16 -8
- package/dist/chunk-2P3UU2J3.mjs.map +0 -1
- package/dist/chunk-2PQEXQVR.js.map +0 -1
- package/dist/chunk-3OR47XMY.js.map +0 -1
- package/dist/chunk-4B7KGBQB.js.map +0 -1
- package/dist/chunk-5QB2KNZQ.js.map +0 -1
- package/dist/chunk-6I7X5BF2.js.map +0 -1
- package/dist/chunk-7HL3A4YF.mjs.map +0 -1
- package/dist/chunk-BITDSQMR.js.map +0 -1
- package/dist/chunk-BORK3BJO.mjs.map +0 -1
- package/dist/chunk-BSWYZTYK.js.map +0 -1
- package/dist/chunk-BVXTOEBI.mjs.map +0 -1
- package/dist/chunk-CY5BQKRZ.mjs.map +0 -1
- package/dist/chunk-E3DZNJAD.js.map +0 -1
- package/dist/chunk-FLILFCQE.mjs.map +0 -1
- package/dist/chunk-FT2LMA66.mjs.map +0 -1
- package/dist/chunk-IXDJ3IPG.mjs.map +0 -1
- package/dist/chunk-LVUPECBT.mjs.map +0 -1
- package/dist/chunk-N4NO3SYL.js.map +0 -1
- package/dist/chunk-P5HUBXUX.js.map +0 -1
- package/dist/chunk-PGH27VTL.mjs.map +0 -1
- package/dist/chunk-RDSPHBHK.mjs.map +0 -1
- package/dist/chunk-U4YQCAXW.js.map +0 -1
- package/dist/chunk-WDCIZHXY.mjs.map +0 -1
- package/dist/chunk-WL5I7RVS.mjs +0 -54
- package/dist/chunk-WL5I7RVS.mjs.map +0 -1
- package/dist/chunk-WP7GYBRI.js.map +0 -1
- package/dist/chunk-WZKGRU3U.js.map +0 -1
- package/dist/chunk-XIXF7UVM.mjs.map +0 -1
- package/dist/chunk-XLAFQ24R.js.map +0 -1
- package/dist/chunk-XWM2S6VV.mjs.map +0 -1
- package/dist/chunk-YNCD6TKE.mjs.map +0 -1
- package/dist/chunk-YPLVTUYL.js +0 -56
- package/dist/chunk-YPLVTUYL.js.map +0 -1
package/dist/ui/search.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { inputVariants } from '../chunk-AOEI4V3W.mjs';
|
|
3
|
-
import { cn } from '../chunk-
|
|
3
|
+
import { cn } from '../chunk-4D54YOL6.mjs';
|
|
4
4
|
import { useId, Fragment } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -20,6 +20,7 @@ var SearchBar = function SearchBar2({
|
|
|
20
20
|
comboboxListboxId,
|
|
21
21
|
comboboxActiveOptionId,
|
|
22
22
|
comboboxExpanded,
|
|
23
|
+
"aria-label": ariaLabel,
|
|
23
24
|
ref,
|
|
24
25
|
...rest
|
|
25
26
|
}) {
|
|
@@ -50,6 +51,7 @@ var SearchBar = function SearchBar2({
|
|
|
50
51
|
spellCheck: false,
|
|
51
52
|
disabled,
|
|
52
53
|
value,
|
|
54
|
+
"aria-label": ariaLabel ?? (combobox ? void 0 : "Search"),
|
|
53
55
|
"data-slot": "search-bar-input",
|
|
54
56
|
className: cn(
|
|
55
57
|
inputVariants({ appearance, size: inputSize, ring, as: "input" }),
|
|
@@ -97,7 +99,10 @@ function SearchSuggestionList({
|
|
|
97
99
|
"div",
|
|
98
100
|
{
|
|
99
101
|
"data-slot": "search-suggestion-list-empty",
|
|
100
|
-
className: cn(
|
|
102
|
+
className: cn(
|
|
103
|
+
"px-1 py-6 text-center text-sm text-slate-500",
|
|
104
|
+
className
|
|
105
|
+
),
|
|
101
106
|
children: emptyLabel ?? "No matches."
|
|
102
107
|
}
|
|
103
108
|
);
|
|
@@ -117,7 +122,10 @@ function SearchSuggestionList({
|
|
|
117
122
|
{
|
|
118
123
|
"data-slot": "search-suggestion-list",
|
|
119
124
|
"aria-label": "Search results",
|
|
120
|
-
className: cn(
|
|
125
|
+
className: cn(
|
|
126
|
+
"flex max-h-[min(50vh,360px)] flex-col gap-1 overflow-y-auto pr-1",
|
|
127
|
+
className
|
|
128
|
+
),
|
|
121
129
|
children: /* @__PURE__ */ jsx(
|
|
122
130
|
"div",
|
|
123
131
|
{
|
package/dist/ui/search.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/search/search-bar.tsx","../../src/ui/search/search-suggestion-utils.ts","../../src/ui/search/search-suggestion-list.tsx","../../src/ui/search/filter-search-suggestions.ts"],"names":["SearchBar","jsx","jsxs"],"mappings":"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","file":"search.mjs","sourcesContent":["\"use client\";\n\nimport { useId } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { inputVariants } from \"../inputs/variants\";\n\nimport type { SearchBarProps } from \"./types\";\n\nexport const SearchBar = function SearchBar(\n {\n value,\n onValueChange,\n leadingSlot,\n className,\n inputClassName,\n appearance = \"default\",\n inputSize = \"md\",\n ring = true,\n id,\n onChange,\n disabled,\n type,\n comboboxListboxId,\n comboboxActiveOptionId,\n comboboxExpanded,\n ref,\n ...rest\n }: SearchBarProps,\n) {\n const generatedId = useId();\n const controlId = id ?? generatedId;\n const combobox = Boolean(comboboxListboxId);\n\n return (\n <div\n data-slot=\"search-bar\"\n className={cn(\"relative flex w-full min-w-0 items-center\", className)}\n >\n {leadingSlot ? (\n <span\n className=\"pointer-events-none absolute left-3 top-1/2 z-1 flex -translate-y-1/2 text-slate-400 [&_svg]:size-4\"\n aria-hidden\n >\n {leadingSlot}\n </span>\n ) : null}\n <input\n ref={ref}\n id={controlId}\n type={type ?? \"search\"}\n autoComplete=\"off\"\n spellCheck={false}\n disabled={disabled}\n value={value}\n data-slot=\"search-bar-input\"\n className={cn(\n inputVariants({ appearance, size: inputSize, ring, as: \"input\" }),\n leadingSlot ? \"pl-10\" : null,\n inputClassName,\n )}\n onChange={(event) => {\n onChange?.(event);\n onValueChange?.(event.target.value);\n }}\n {...(combobox\n ? {\n role: \"combobox\" as const,\n \"aria-autocomplete\": \"list\" as const,\n \"aria-controls\": comboboxListboxId,\n \"aria-expanded\": comboboxExpanded ?? false,\n ...(comboboxActiveOptionId\n ? { \"aria-activedescendant\": comboboxActiveOptionId }\n : {}),\n }\n : {})}\n {...rest}\n />\n </div>\n );\n}\n\nSearchBar.displayName = \"SearchBar\";\n","/**\n * Builds a stable DOM id for a listbox option so `aria-activedescendant` on the combobox\n * input can reference it. Safe for href-like `itemId` strings.\n */\nexport function searchSuggestionOptionDomId(listboxId: string, itemId: string): string {\n const safe = itemId.replace(/[^a-zA-Z0-9_-]/g, \"_\");\n return `${listboxId}_opt_${safe}`;\n}\n","\"use client\";\n\nimport { Fragment } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { searchSuggestionOptionDomId } from \"./search-suggestion-utils\";\n\nimport type { SearchSuggestionListProps } from \"./types\";\n\nconst rowClassName =\n \"flex w-full flex-col gap-0.5 rounded-lg px-3 py-2.5 text-left text-sm transition-colors hover:bg-white/5 focus-visible:bg-white/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-cyan-400/50\";\n\nexport function SearchSuggestionList({\n items,\n onSelect,\n activeId,\n onActiveIdChange,\n listboxId,\n className,\n listClassName,\n emptyLabel,\n}: SearchSuggestionListProps) {\n if (items.length === 0) {\n return (\n <div\n data-slot=\"search-suggestion-list-empty\"\n className={cn(\"px-1 py-6 text-center text-sm text-slate-500\", className)}\n >\n {emptyLabel ?? \"No matches.\"}\n </div>\n );\n }\n\n const useListbox = Boolean(listboxId);\n\n const rows: Array<{\n item: (typeof items)[number];\n showGroup: boolean;\n }> = [];\n let lastGroupSeen: string | undefined;\n for (const item of items) {\n const showGroup = Boolean(item.group && item.group !== lastGroupSeen);\n if (item.group) {\n lastGroupSeen = item.group;\n }\n rows.push({ item, showGroup });\n }\n\n return (\n <nav\n data-slot=\"search-suggestion-list\"\n aria-label=\"Search results\"\n className={cn(\"flex max-h-[min(50vh,360px)] flex-col gap-1 overflow-y-auto pr-1\", className)}\n >\n <div\n {...(useListbox\n ? {\n id: listboxId,\n role: \"listbox\" as const,\n }\n : {})}\n className={cn(\"flex flex-col gap-0.5\", listClassName)}\n >\n {rows.map(({ item, showGroup }) => {\n const isActive = activeId === item.id;\n const optionDomId =\n useListbox && listboxId ? searchSuggestionOptionDomId(listboxId, item.id) : undefined;\n return (\n <Fragment key={item.id}>\n {showGroup ? (\n <div\n role=\"presentation\"\n className=\"sticky top-0 z-1 bg-slate-950/95 px-2 pb-1 pt-2 text-xs font-semibold uppercase tracking-wide text-slate-500 backdrop-blur-sm\"\n >\n {item.group}\n </div>\n ) : null}\n <button\n type=\"button\"\n id={optionDomId}\n role={useListbox ? \"option\" : undefined}\n aria-selected={useListbox ? isActive : undefined}\n data-active={isActive ? \"\" : undefined}\n className={cn(rowClassName, isActive ? \"bg-white/5\" : null)}\n onMouseEnter={() => onActiveIdChange?.(item.id)}\n onFocus={() => onActiveIdChange?.(item.id)}\n onClick={() => onSelect(item.id)}\n >\n <span className=\"font-medium text-slate-100\">{item.label}</span>\n {item.description ? (\n <span className=\"truncate text-xs text-slate-500\">{item.description}</span>\n ) : null}\n </button>\n </Fragment>\n );\n })}\n </div>\n </nav>\n );\n}\n\nSearchSuggestionList.displayName = \"SearchSuggestionList\";\n\n","import type { SearchFilterable } from \"./types\";\n\nexport type FilterSearchSuggestionsOptions = {\n /** Maximum number of matches returned. */\n maxResults?: number;\n};\n\n/**\n * Returns items whose label, description, href, or keywords contain the query (case-insensitive).\n * Whitespace-only query matches no items.\n */\nexport function filterSearchSuggestions<T extends SearchFilterable>({\n query,\n items,\n options = { maxResults: 20 },\n}: {\n query: string;\n items: readonly T[];\n options?: FilterSearchSuggestionsOptions;\n}): T[] {\n const maxResults = options.maxResults ?? 20;\n const normalized = query.trim().toLowerCase();\n if (!normalized) {\n return [];\n }\n\n const matches: T[] = [];\n for (const item of items) {\n const isMatch =\n item.label.toLowerCase().includes(normalized) ||\n (item.description?.toLowerCase().includes(normalized)) ||\n (item.href?.toLowerCase().includes(normalized)) ||\n (item.keywords?.some((k) => k.toLowerCase().includes(normalized)));\n\n if (isMatch) {\n matches.push(item);\n if (matches.length >= maxResults || maxResults <= 0) {\n break;\n }\n }\n }\n return matches;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/ui/search/search-bar.tsx","../../src/ui/search/search-suggestion-utils.ts","../../src/ui/search/search-suggestion-list.tsx","../../src/ui/search/filter-search-suggestions.ts"],"names":["SearchBar","jsx","jsxs"],"mappings":"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","file":"search.mjs","sourcesContent":["\"use client\";\n\nimport { useId } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { inputVariants } from \"../inputs/variants\";\n\nimport type { SearchBarProps } from \"./types\";\n\nexport const SearchBar = function SearchBar({\n value,\n onValueChange,\n leadingSlot,\n className,\n inputClassName,\n appearance = \"default\",\n inputSize = \"md\",\n ring = true,\n id,\n onChange,\n disabled,\n type,\n comboboxListboxId,\n comboboxActiveOptionId,\n comboboxExpanded,\n \"aria-label\": ariaLabel,\n ref,\n ...rest\n}: SearchBarProps) {\n const generatedId = useId();\n const controlId = id ?? generatedId;\n const combobox = Boolean(comboboxListboxId);\n\n return (\n <div\n data-slot=\"search-bar\"\n className={cn(\"relative flex w-full min-w-0 items-center\", className)}\n >\n {leadingSlot ? (\n <span\n className=\"pointer-events-none absolute left-3 top-1/2 z-1 flex -translate-y-1/2 text-slate-400 [&_svg]:size-4\"\n aria-hidden\n >\n {leadingSlot}\n </span>\n ) : null}\n <input\n ref={ref}\n id={controlId}\n type={type ?? \"search\"}\n autoComplete=\"off\"\n spellCheck={false}\n disabled={disabled}\n value={value}\n aria-label={ariaLabel ?? (combobox ? undefined : \"Search\")}\n data-slot=\"search-bar-input\"\n className={cn(\n inputVariants({ appearance, size: inputSize, ring, as: \"input\" }),\n leadingSlot ? \"pl-10\" : null,\n inputClassName,\n )}\n onChange={(event) => {\n onChange?.(event);\n onValueChange?.(event.target.value);\n }}\n {...(combobox\n ? {\n role: \"combobox\" as const,\n \"aria-autocomplete\": \"list\" as const,\n \"aria-controls\": comboboxListboxId,\n \"aria-expanded\": comboboxExpanded ?? false,\n ...(comboboxActiveOptionId\n ? { \"aria-activedescendant\": comboboxActiveOptionId }\n : {}),\n }\n : {})}\n {...rest}\n />\n </div>\n );\n};\n\nSearchBar.displayName = \"SearchBar\";\n","/**\n * Builds a stable DOM id for a listbox option so `aria-activedescendant` on the combobox\n * input can reference it. Safe for href-like `itemId` strings.\n */\nexport function searchSuggestionOptionDomId(\n listboxId: string,\n itemId: string,\n): string {\n const safe = itemId.replace(/[^a-zA-Z0-9_-]/g, \"_\");\n return `${listboxId}_opt_${safe}`;\n}\n","\"use client\";\n\nimport { Fragment } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { searchSuggestionOptionDomId } from \"./search-suggestion-utils\";\n\nimport type { SearchSuggestionListProps } from \"./types\";\n\nconst rowClassName =\n \"flex w-full flex-col gap-0.5 rounded-lg px-3 py-2.5 text-left text-sm transition-colors hover:bg-white/5 focus-visible:bg-white/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-cyan-400/50\";\n\nexport function SearchSuggestionList({\n items,\n onSelect,\n activeId,\n onActiveIdChange,\n listboxId,\n className,\n listClassName,\n emptyLabel,\n}: SearchSuggestionListProps) {\n if (items.length === 0) {\n return (\n <div\n data-slot=\"search-suggestion-list-empty\"\n className={cn(\n \"px-1 py-6 text-center text-sm text-slate-500\",\n className,\n )}\n >\n {emptyLabel ?? \"No matches.\"}\n </div>\n );\n }\n\n const useListbox = Boolean(listboxId);\n\n const rows: Array<{\n item: (typeof items)[number];\n showGroup: boolean;\n }> = [];\n let lastGroupSeen: string | undefined;\n for (const item of items) {\n const showGroup = Boolean(item.group && item.group !== lastGroupSeen);\n if (item.group) {\n lastGroupSeen = item.group;\n }\n rows.push({ item, showGroup });\n }\n\n return (\n <nav\n data-slot=\"search-suggestion-list\"\n aria-label=\"Search results\"\n className={cn(\n \"flex max-h-[min(50vh,360px)] flex-col gap-1 overflow-y-auto pr-1\",\n className,\n )}\n >\n <div\n {...(useListbox\n ? {\n id: listboxId,\n role: \"listbox\" as const,\n }\n : {})}\n className={cn(\"flex flex-col gap-0.5\", listClassName)}\n >\n {rows.map(({ item, showGroup }) => {\n const isActive = activeId === item.id;\n const optionDomId =\n useListbox && listboxId\n ? searchSuggestionOptionDomId(listboxId, item.id)\n : undefined;\n return (\n <Fragment key={item.id}>\n {showGroup ? (\n <div\n role=\"presentation\"\n className=\"sticky top-0 z-1 bg-slate-950/95 px-2 pb-1 pt-2 text-xs font-semibold uppercase tracking-wide text-slate-500 backdrop-blur-sm\"\n >\n {item.group}\n </div>\n ) : null}\n <button\n type=\"button\"\n id={optionDomId}\n role={useListbox ? \"option\" : undefined}\n aria-selected={useListbox ? isActive : undefined}\n data-active={isActive ? \"\" : undefined}\n className={cn(rowClassName, isActive ? \"bg-white/5\" : null)}\n onMouseEnter={() => onActiveIdChange?.(item.id)}\n onFocus={() => onActiveIdChange?.(item.id)}\n onClick={() => onSelect(item.id)}\n >\n <span className=\"font-medium text-slate-100\">{item.label}</span>\n {item.description ? (\n <span className=\"truncate text-xs text-slate-500\">\n {item.description}\n </span>\n ) : null}\n </button>\n </Fragment>\n );\n })}\n </div>\n </nav>\n );\n}\n\nSearchSuggestionList.displayName = \"SearchSuggestionList\";\n","import type { SearchFilterable } from \"./types\";\n\nexport type FilterSearchSuggestionsOptions = {\n /** Maximum number of matches returned. */\n maxResults?: number;\n};\n\n/**\n * Returns items whose label, description, href, or keywords contain the query (case-insensitive).\n * Whitespace-only query matches no items.\n */\nexport function filterSearchSuggestions<T extends SearchFilterable>({\n query,\n items,\n options = { maxResults: 20 },\n}: {\n query: string;\n items: readonly T[];\n options?: FilterSearchSuggestionsOptions;\n}): T[] {\n const maxResults = options.maxResults ?? 20;\n const normalized = query.trim().toLowerCase();\n if (!normalized) {\n return [];\n }\n\n const matches: T[] = [];\n for (const item of items) {\n const isMatch =\n item.label.toLowerCase().includes(normalized) ||\n item.description?.toLowerCase().includes(normalized) ||\n item.href?.toLowerCase().includes(normalized) ||\n item.keywords?.some((k) => k.toLowerCase().includes(normalized));\n\n if (isMatch) {\n matches.push(item);\n if (matches.length >= maxResults || maxResults <= 0) {\n break;\n }\n }\n }\n return matches;\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { SelectContextType } from "./types";
|
|
|
3
3
|
export declare const SelectContext: import("react").Context<SelectContextType | null>;
|
|
4
4
|
export declare const useSelect: () => SelectContextType;
|
|
5
5
|
export declare const Select: ({ children, value, defaultValue, onChange, multiple, }: SelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export declare const SelectTrigger: ({ className, variant, size, ...props }: SelectTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const SelectTrigger: ({ className, variant, size, onClick, ...props }: SelectTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export declare const SelectValue: ({ placeholder, className, ...props }: SelectValueProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export declare const SelectContent: ({ children, className, appearance, size, spacing, ...props }: SelectContentProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
9
9
|
export declare const SelectItem: ({ value, children, disabled, appearance, className, ...props }: SelectItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/ui/select/select.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAEX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQ5C,eAAO,MAAM,aAAa,mDAAgD,CAAC;AAE3E,eAAO,MAAM,SAAS,yBAIrB,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,wDAMpB,WAAW,
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/ui/select/select.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAEX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQ5C,eAAO,MAAM,aAAa,mDAAgD,CAAC;AAE3E,eAAO,MAAM,SAAS,yBAIrB,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,wDAMpB,WAAW,4CA2Eb,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,iDAM3B,kBAAkB,4CAmBpB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,sCAIzB,gBAAgB,4CAuBlB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,8DAO3B,kBAAkB,mDAwFpB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,gEAOxB,eAAe,4CAwCjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,KAAK,GACL,MAAM,GACN,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,iBAAiB,CAAC;AACtB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,yBAAyB,GAAG,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE5E,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GACxD,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,GAAG;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG;IAC/D,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,KAAK,GACL,MAAM,GACN,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,iBAAiB,CAAC;AACtB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,yBAAyB,GAAG,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE5E,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GACxD,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,GAAG;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG;IAC/D,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC"}
|
|
@@ -9,6 +9,6 @@ export declare const selectItemVariants: (props?: ({
|
|
|
9
9
|
export declare const selectContentVariants: (props?: ({
|
|
10
10
|
appearance?: "default" | "outline" | "ghost" | "glass" | "emerald" | "indigo" | "purple" | "pink" | "rose" | "sky" | "teal" | "yellow" | "orange" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
|
|
11
11
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
12
|
-
spacing?: "default" | "sm" | "md" | "lg" | "xl" |
|
|
12
|
+
spacing?: "none" | "default" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
13
13
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
14
14
|
//# sourceMappingURL=variants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/select/variants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;;8EAgDjC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;
|
|
1
|
+
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/select/variants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;;8EAgDjC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;8EAsD9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;8EAyDjC,CAAC"}
|
package/dist/ui/select.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var classVarianceAuthority = require('class-variance-authority');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
|
|
9
9
|
var selectTriggerVariants = classVarianceAuthority.cva(
|
|
10
|
-
"flex items-center justify-between rounded-md border transition-all focus:outline-none",
|
|
10
|
+
"flex items-center justify-between rounded-md border transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2",
|
|
11
11
|
{
|
|
12
12
|
variants: {
|
|
13
13
|
variant: {
|
|
@@ -24,15 +24,15 @@ var selectTriggerVariants = classVarianceAuthority.cva(
|
|
|
24
24
|
indigo: "border-indigo-500 text-indigo-500",
|
|
25
25
|
emerald: "border-emerald-600 text-emerald-600",
|
|
26
26
|
glass: "border-white/15 bg-white/10 text-white backdrop-blur-md",
|
|
27
|
-
"gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 bg-
|
|
28
|
-
"gradient-green": "bg-linear-to-r from-green-600 to-lime-600 bg-
|
|
29
|
-
"gradient-red": "bg-linear-to-r from-red-600 to-pink-600 bg-
|
|
30
|
-
"gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 bg-
|
|
31
|
-
"gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 bg-
|
|
32
|
-
"gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 bg-
|
|
33
|
-
"gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 bg-
|
|
34
|
-
"gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 bg-
|
|
35
|
-
"gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 bg-
|
|
27
|
+
"gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-white",
|
|
28
|
+
"gradient-green": "bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-white",
|
|
29
|
+
"gradient-red": "bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-white",
|
|
30
|
+
"gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-white",
|
|
31
|
+
"gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-white",
|
|
32
|
+
"gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-white",
|
|
33
|
+
"gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-white",
|
|
34
|
+
"gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-white",
|
|
35
|
+
"gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-white"
|
|
36
36
|
},
|
|
37
37
|
size: {
|
|
38
38
|
sm: "px-2 py-1 text-sm",
|
|
@@ -46,40 +46,43 @@ var selectTriggerVariants = classVarianceAuthority.cva(
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
);
|
|
49
|
-
var selectItemVariants = classVarianceAuthority.cva(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
49
|
+
var selectItemVariants = classVarianceAuthority.cva(
|
|
50
|
+
"cursor-pointer px-3 py-2 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-inset",
|
|
51
|
+
{
|
|
52
|
+
variants: {
|
|
53
|
+
appearance: {
|
|
54
|
+
default: "bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
|
|
55
|
+
glass: "bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100",
|
|
56
|
+
outline: "border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
|
|
57
|
+
ghost: "border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900",
|
|
58
|
+
sky: "border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800",
|
|
59
|
+
rose: "border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800",
|
|
60
|
+
purple: "border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800",
|
|
61
|
+
pink: "border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800",
|
|
62
|
+
orange: "border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800",
|
|
63
|
+
yellow: "border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800",
|
|
64
|
+
teal: "border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800",
|
|
65
|
+
indigo: "border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800",
|
|
66
|
+
emerald: "border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800",
|
|
67
|
+
"gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100",
|
|
68
|
+
"gradient-green": "bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100",
|
|
69
|
+
"gradient-red": "bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100",
|
|
70
|
+
"gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100",
|
|
71
|
+
"gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100",
|
|
72
|
+
"gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100",
|
|
73
|
+
"gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100",
|
|
74
|
+
"gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100",
|
|
75
|
+
"gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100"
|
|
76
|
+
},
|
|
77
|
+
disabled: {
|
|
78
|
+
true: "opacity-50 cursor-not-allowed"
|
|
79
|
+
}
|
|
74
80
|
},
|
|
75
|
-
|
|
76
|
-
|
|
81
|
+
defaultVariants: {
|
|
82
|
+
appearance: "default"
|
|
77
83
|
}
|
|
78
|
-
},
|
|
79
|
-
defaultVariants: {
|
|
80
|
-
appearance: "default"
|
|
81
84
|
}
|
|
82
|
-
|
|
85
|
+
);
|
|
83
86
|
var selectContentVariants = classVarianceAuthority.cva(
|
|
84
87
|
"absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md",
|
|
85
88
|
{
|
|
@@ -98,15 +101,15 @@ var selectContentVariants = classVarianceAuthority.cva(
|
|
|
98
101
|
teal: "border-teal-600",
|
|
99
102
|
indigo: "border-indigo-600",
|
|
100
103
|
emerald: "border-emerald-600",
|
|
101
|
-
"gradient-blue": "bg-
|
|
102
|
-
"gradient-green": "bg-
|
|
103
|
-
"gradient-red": "bg-
|
|
104
|
-
"gradient-yellow": "bg-
|
|
105
|
-
"gradient-purple": "bg-
|
|
106
|
-
"gradient-teal": "bg-
|
|
107
|
-
"gradient-indigo": "bg-
|
|
108
|
-
"gradient-pink": "bg-
|
|
109
|
-
"gradient-orange": "bg-
|
|
104
|
+
"gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
|
|
105
|
+
"gradient-green": "bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
|
|
106
|
+
"gradient-red": "bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
|
|
107
|
+
"gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
|
|
108
|
+
"gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
|
|
109
|
+
"gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
|
|
110
|
+
"gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
|
|
111
|
+
"gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
|
|
112
|
+
"gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl"
|
|
110
113
|
},
|
|
111
114
|
size: {
|
|
112
115
|
sm: "px-2 py-1 text-sm",
|
|
@@ -142,6 +145,7 @@ var Select = ({
|
|
|
142
145
|
onChange,
|
|
143
146
|
multiple = true
|
|
144
147
|
}) => {
|
|
148
|
+
const listboxId = `${react.useId()}-listbox`;
|
|
145
149
|
const [internal, setInternal] = react.useState(defaultValue);
|
|
146
150
|
const [open, setOpen] = react.useState(false);
|
|
147
151
|
const [options, setOptions] = react.useState([]);
|
|
@@ -198,7 +202,8 @@ var Select = ({
|
|
|
198
202
|
isSelected,
|
|
199
203
|
registerOption,
|
|
200
204
|
options,
|
|
201
|
-
multiple
|
|
205
|
+
multiple,
|
|
206
|
+
listboxId
|
|
202
207
|
},
|
|
203
208
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: rootRef, className: "relative w-full", children })
|
|
204
209
|
}
|
|
@@ -208,16 +213,25 @@ var SelectTrigger = ({
|
|
|
208
213
|
className,
|
|
209
214
|
variant,
|
|
210
215
|
size,
|
|
216
|
+
onClick,
|
|
211
217
|
...props
|
|
212
218
|
}) => {
|
|
213
|
-
const { open, setOpen } = useSelect();
|
|
219
|
+
const { open, setOpen, listboxId } = useSelect();
|
|
214
220
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
215
221
|
"button",
|
|
216
222
|
{
|
|
217
223
|
type: "button",
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
224
|
+
"aria-expanded": open,
|
|
225
|
+
"aria-haspopup": "listbox",
|
|
226
|
+
"aria-controls": listboxId,
|
|
227
|
+
className: chunkZS5756ZC_js.cn(selectTriggerVariants({ variant, size }), className),
|
|
228
|
+
...props,
|
|
229
|
+
onClick: (event) => {
|
|
230
|
+
onClick?.(event);
|
|
231
|
+
if (!event.defaultPrevented) {
|
|
232
|
+
setOpen(!open);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
221
235
|
}
|
|
222
236
|
);
|
|
223
237
|
};
|
|
@@ -229,9 +243,9 @@ var SelectValue = ({
|
|
|
229
243
|
const { selected, options } = useSelect();
|
|
230
244
|
const selectedOptions = options.filter((o) => selected.includes(o.value));
|
|
231
245
|
if (selectedOptions.length === 0) {
|
|
232
|
-
return /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
246
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkZS5756ZC_js.cn(className), ...props, children: placeholder });
|
|
233
247
|
}
|
|
234
|
-
return /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
248
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkZS5756ZC_js.cn(className), ...props, children: selectedOptions.map((option, index) => /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
235
249
|
index > 0 ? ", " : null,
|
|
236
250
|
option.label
|
|
237
251
|
] }, option.value)) });
|
|
@@ -244,12 +258,73 @@ var SelectContent = ({
|
|
|
244
258
|
spacing = "default",
|
|
245
259
|
...props
|
|
246
260
|
}) => {
|
|
247
|
-
const { open } = useSelect();
|
|
261
|
+
const { open, listboxId, multiple } = useSelect();
|
|
262
|
+
const panelRef = react.useRef(null);
|
|
263
|
+
react.useEffect(() => {
|
|
264
|
+
if (!open) {
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
const panel = panelRef.current;
|
|
268
|
+
if (!panel) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
const opts = Array.from(
|
|
272
|
+
panel.querySelectorAll('[role="option"]')
|
|
273
|
+
).filter((el) => el.getAttribute("aria-disabled") !== "true");
|
|
274
|
+
requestAnimationFrame(() => opts[0]?.focus());
|
|
275
|
+
}, [open]);
|
|
276
|
+
react.useEffect(() => {
|
|
277
|
+
if (!open) {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
const panel = panelRef.current;
|
|
281
|
+
if (!panel) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
const enabledOptions = () => Array.from(panel.querySelectorAll('[role="option"]')).filter(
|
|
285
|
+
(el) => el.getAttribute("aria-disabled") !== "true"
|
|
286
|
+
);
|
|
287
|
+
const handleKeyDown = (event) => {
|
|
288
|
+
const options = enabledOptions();
|
|
289
|
+
if (options.length === 0) {
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
const idx = options.findIndex((el) => el === document.activeElement);
|
|
293
|
+
if (event.key === "ArrowDown") {
|
|
294
|
+
event.preventDefault();
|
|
295
|
+
const next = idx < 0 ? 0 : Math.min(idx + 1, options.length - 1);
|
|
296
|
+
options[next]?.focus();
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
if (event.key === "ArrowUp") {
|
|
300
|
+
event.preventDefault();
|
|
301
|
+
const prev = idx <= 0 ? options.length - 1 : Math.max(idx - 1, 0);
|
|
302
|
+
options[prev]?.focus();
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
if (event.key === "Home") {
|
|
306
|
+
event.preventDefault();
|
|
307
|
+
options[0]?.focus();
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
if (event.key === "End") {
|
|
311
|
+
event.preventDefault();
|
|
312
|
+
options[options.length - 1]?.focus();
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
panel.addEventListener("keydown", handleKeyDown);
|
|
316
|
+
return () => panel.removeEventListener("keydown", handleKeyDown);
|
|
317
|
+
}, [open]);
|
|
248
318
|
if (!open) return null;
|
|
249
319
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
250
320
|
"div",
|
|
251
321
|
{
|
|
252
|
-
|
|
322
|
+
ref: panelRef,
|
|
323
|
+
id: listboxId,
|
|
324
|
+
role: "listbox",
|
|
325
|
+
"aria-multiselectable": multiple,
|
|
326
|
+
tabIndex: -1,
|
|
327
|
+
className: chunkZS5756ZC_js.cn(
|
|
253
328
|
selectContentVariants({ appearance, size, spacing }),
|
|
254
329
|
className
|
|
255
330
|
),
|
|
@@ -276,13 +351,20 @@ var SelectItem = ({
|
|
|
276
351
|
{
|
|
277
352
|
role: "option",
|
|
278
353
|
"aria-selected": isActive,
|
|
279
|
-
|
|
354
|
+
"aria-disabled": disabled ? true : void 0,
|
|
355
|
+
tabIndex: -1,
|
|
280
356
|
onClick: () => !disabled && toggleValue(value),
|
|
281
357
|
onKeyDown: (e) => {
|
|
282
|
-
if (
|
|
358
|
+
if (disabled) {
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
362
|
+
e.preventDefault();
|
|
363
|
+
toggleValue(value);
|
|
364
|
+
}
|
|
283
365
|
},
|
|
284
366
|
"data-selected": isActive ? "true" : "false",
|
|
285
|
-
className:
|
|
367
|
+
className: chunkZS5756ZC_js.cn(
|
|
286
368
|
selectItemVariants({
|
|
287
369
|
disabled,
|
|
288
370
|
appearance
|