@zentauri-ui/zentauri-components 1.4.5 → 1.4.7
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 +196 -88
- package/cli/index.mjs +45 -26
- package/cli/registry.json +11 -2
- package/cli/rewrite-imports.mjs +8 -3
- package/dist/charts/area/Area.d.ts +6 -0
- package/dist/charts/area/Area.d.ts.map +1 -0
- package/dist/charts/area/index.d.ts +4 -0
- package/dist/charts/area/index.d.ts.map +1 -0
- package/dist/charts/area.js +119 -0
- package/dist/charts/area.js.map +1 -0
- package/dist/charts/area.mjs +106 -0
- package/dist/charts/area.mjs.map +1 -0
- package/dist/charts/bar/Bar.d.ts +6 -0
- package/dist/charts/bar/Bar.d.ts.map +1 -0
- package/dist/charts/bar/index.d.ts +4 -0
- package/dist/charts/bar/index.d.ts.map +1 -0
- package/dist/charts/bar.js +110 -0
- package/dist/charts/bar.js.map +1 -0
- package/dist/charts/bar.mjs +97 -0
- package/dist/charts/bar.mjs.map +1 -0
- package/dist/charts/bubble/Bubble.d.ts +6 -0
- package/dist/charts/bubble/Bubble.d.ts.map +1 -0
- package/dist/charts/bubble/index.d.ts +4 -0
- package/dist/charts/bubble/index.d.ts.map +1 -0
- package/dist/charts/bubble.js +122 -0
- package/dist/charts/bubble.js.map +1 -0
- package/dist/charts/bubble.mjs +109 -0
- package/dist/charts/bubble.mjs.map +1 -0
- package/dist/charts/line/Line.d.ts +6 -0
- package/dist/charts/line/Line.d.ts.map +1 -0
- package/dist/charts/line/index.d.ts +4 -0
- package/dist/charts/line/index.d.ts.map +1 -0
- package/dist/charts/line.js +113 -0
- package/dist/charts/line.js.map +1 -0
- package/dist/charts/line.mjs +100 -0
- package/dist/charts/line.mjs.map +1 -0
- package/dist/charts/shared/chart-frame.d.ts +32 -0
- package/dist/charts/shared/chart-frame.d.ts.map +1 -0
- package/dist/charts/shared/colors.d.ts +43 -0
- package/dist/charts/shared/colors.d.ts.map +1 -0
- package/dist/charts/shared/types.d.ts +43 -0
- package/dist/charts/shared/types.d.ts.map +1 -0
- package/dist/charts/shared/variants.d.ts +93 -0
- package/dist/charts/shared/variants.d.ts.map +1 -0
- package/dist/{chunk-IXDJ3IPG.mjs → chunk-2BAMNRAL.mjs} +40 -32
- package/dist/chunk-2BAMNRAL.mjs.map +1 -0
- 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-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-U4YQCAXW.js → chunk-AD2LA3XN.js} +18 -18
- package/dist/chunk-AD2LA3XN.js.map +1 -0
- package/dist/{chunk-XLAFQ24R.js → chunk-AUGLZ3AN.js} +49 -41
- package/dist/chunk-AUGLZ3AN.js.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-UBFKTC2P.mjs → chunk-C5L465FW.mjs} +12 -12
- package/dist/chunk-C5L465FW.mjs.map +1 -0
- package/dist/chunk-CIN5JDN4.js +174 -0
- package/dist/chunk-CIN5JDN4.js.map +1 -0
- package/dist/{chunk-3OR47XMY.js → chunk-E4FZY7O2.js} +52 -33
- package/dist/chunk-E4FZY7O2.js.map +1 -0
- package/dist/{chunk-LVUPECBT.mjs → chunk-FQBMIZH2.mjs} +12 -12
- package/dist/chunk-FQBMIZH2.mjs.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-XWM2S6VV.mjs → chunk-I6GR234Z.mjs} +22 -20
- package/dist/chunk-I6GR234Z.mjs.map +1 -0
- package/dist/{chunk-UXGHUBNJ.mjs → chunk-INMNX3HQ.mjs} +13 -13
- package/dist/{chunk-UXGHUBNJ.mjs.map → chunk-INMNX3HQ.mjs.map} +1 -1
- package/dist/chunk-IQZROQNJ.mjs +165 -0
- package/dist/chunk-IQZROQNJ.mjs.map +1 -0
- package/dist/{chunk-PGH27VTL.mjs → chunk-JBAUEGYD.mjs} +40 -32
- package/dist/chunk-JBAUEGYD.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-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-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-PCK6LX3K.js → chunk-OLEMP2HL.js} +19 -19
- package/dist/{chunk-PCK6LX3K.js.map → chunk-OLEMP2HL.js.map} +1 -1
- package/dist/{chunk-2PQEXQVR.js → chunk-PWL5WD34.js} +76 -27
- package/dist/chunk-PWL5WD34.js.map +1 -0
- package/dist/{chunk-N4NO3SYL.js → chunk-Q5B44QW7.js} +48 -40
- package/dist/chunk-Q5B44QW7.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-WDCIZHXY.mjs → chunk-QZTEFGZF.mjs} +6 -4
- package/dist/chunk-QZTEFGZF.mjs.map +1 -0
- package/dist/{chunk-UOFTZKMM.js → chunk-S7WKFNPT.js} +18 -18
- package/dist/chunk-S7WKFNPT.js.map +1 -0
- package/dist/{chunk-XIXF7UVM.mjs → chunk-TINHLHCN.mjs} +12 -12
- package/dist/chunk-TINHLHCN.mjs.map +1 -0
- package/dist/{chunk-7HL3A4YF.mjs → chunk-TJUNN2PT.mjs} +73 -24
- package/dist/chunk-TJUNN2PT.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-C2FCPQTO.js → chunk-Y745GQR2.js} +16 -16
- package/dist/chunk-Y745GQR2.js.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-YNCD6TKE.mjs → chunk-ZBBFOMSJ.mjs} +103 -38
- package/dist/chunk-ZBBFOMSJ.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/variants.d.ts +2 -2
- 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/variants.d.ts +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 +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 +18 -18
- 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 +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/variants.d.ts +2 -2
- 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/variants.d.ts +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/variants.d.ts +2 -2
- 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/variants.d.ts +3 -3
- 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 +4 -4
- 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 +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/variants.d.ts +2 -2
- 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/variants.d.ts +2 -2
- 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/pagination.d.ts +2 -2
- package/dist/ui/pagination/variants.d.ts +3 -3
- 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/variants.d.ts +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 +25 -13
- package/dist/ui/search.js.map +1 -1
- package/dist/ui/search.mjs +21 -9
- 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 +4 -4
- 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 +3 -3
- 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/variants.d.ts +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/variants.d.ts +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/variants.d.ts +3 -3
- 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/variants.d.ts +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/variants.d.ts +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/variants.d.ts +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 +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 +6 -0
- package/dist/ui/typography/blockquote-base.d.ts.map +1 -0
- package/dist/ui/typography/blockquote.d.ts +6 -0
- package/dist/ui/typography/blockquote.d.ts.map +1 -0
- package/dist/ui/typography/code-block-base.d.ts +6 -0
- package/dist/ui/typography/code-block-base.d.ts.map +1 -0
- package/dist/ui/typography/code-block.d.ts +6 -0
- package/dist/ui/typography/code-block.d.ts.map +1 -0
- package/dist/ui/typography/heading-base.d.ts +6 -0
- package/dist/ui/typography/heading-base.d.ts.map +1 -0
- package/dist/ui/typography/heading.d.ts +6 -0
- package/dist/ui/typography/heading.d.ts.map +1 -0
- package/dist/ui/typography/index.d.ts +9 -0
- package/dist/ui/typography/index.d.ts.map +1 -0
- package/dist/ui/typography/inline-code-base.d.ts +6 -0
- package/dist/ui/typography/inline-code-base.d.ts.map +1 -0
- package/dist/ui/typography/inline-code.d.ts +6 -0
- package/dist/ui/typography/inline-code.d.ts.map +1 -0
- package/dist/ui/typography/list-base.d.ts +10 -0
- package/dist/ui/typography/list-base.d.ts.map +1 -0
- package/dist/ui/typography/list.d.ts +12 -0
- package/dist/ui/typography/list.d.ts.map +1 -0
- package/dist/ui/typography/text-base.d.ts +6 -0
- package/dist/ui/typography/text-base.d.ts.map +1 -0
- package/dist/ui/typography/text.d.ts +6 -0
- package/dist/ui/typography/text.d.ts.map +1 -0
- package/dist/ui/typography/types.d.ts +56 -0
- package/dist/ui/typography/types.d.ts.map +1 -0
- package/dist/ui/typography/variants.d.ts +16 -0
- package/dist/ui/typography/variants.d.ts.map +1 -0
- package/dist/ui/typography.js +312 -0
- package/dist/ui/typography.js.map +1 -0
- package/dist/ui/typography.mjs +299 -0
- package/dist/ui/typography.mjs.map +1 -0
- package/package.json +32 -12
- package/src/charts/area/Area.tsx +103 -0
- package/src/charts/area/index.ts +9 -0
- package/src/charts/bar/Bar.tsx +94 -0
- package/src/charts/bar/index.ts +9 -0
- package/src/charts/bubble/Bubble.tsx +113 -0
- package/src/charts/bubble/index.ts +9 -0
- package/src/charts/line/Line.tsx +97 -0
- package/src/charts/line/index.ts +9 -0
- package/src/charts/shared/chart-frame.tsx +107 -0
- package/src/charts/shared/colors.ts +31 -0
- package/src/charts/shared/types.ts +60 -0
- package/src/charts/shared/variants.ts +87 -0
- 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/accordion/variants.ts +9 -9
- 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 +23 -23
- package/src/ui/search/search-suggestion-list.tsx +28 -11
- 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 +32 -0
- package/src/ui/typography/blockquote.tsx +8 -0
- package/src/ui/typography/code-block-base.tsx +32 -0
- package/src/ui/typography/code-block.tsx +8 -0
- package/src/ui/typography/heading-base.tsx +56 -0
- package/src/ui/typography/heading.tsx +8 -0
- package/src/ui/typography/index.ts +28 -0
- package/src/ui/typography/inline-code-base.tsx +27 -0
- package/src/ui/typography/inline-code.tsx +8 -0
- package/src/ui/typography/list-base.tsx +80 -0
- package/src/ui/typography/list.tsx +15 -0
- package/src/ui/typography/text-base.tsx +43 -0
- package/src/ui/typography/text.tsx +8 -0
- package/src/ui/typography/types.ts +77 -0
- package/src/ui/typography/typography.test.tsx +82 -0
- package/src/ui/typography/variants.ts +80 -0
- 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-C2FCPQTO.js.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-UBFKTC2P.mjs.map +0 -1
- package/dist/chunk-UOFTZKMM.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
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from '../chunk-4D54YOL6.mjs';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var typographyToneVariants = cva("", {
|
|
7
|
+
variants: {
|
|
8
|
+
tone: {
|
|
9
|
+
default: "text-slate-50 border-white/15",
|
|
10
|
+
muted: "text-slate-400 border-white/15",
|
|
11
|
+
primary: "text-cyan-300 border-cyan-300/40",
|
|
12
|
+
secondary: "text-slate-300 border-white/15",
|
|
13
|
+
accent: "text-violet-300 border-violet-300/40",
|
|
14
|
+
destructive: "text-rose-400 border-rose-300/40",
|
|
15
|
+
info: "text-sky-300 border-sky-300/40",
|
|
16
|
+
success: "text-emerald-300 border-emerald-300/40",
|
|
17
|
+
warning: "text-amber-300 border-amber-300/40",
|
|
18
|
+
error: "text-red-300 border-red-300/40",
|
|
19
|
+
"gradient-pink-violet": "bg-linear-to-r from-pink-400 to-violet-400 bg-clip-text text-transparent",
|
|
20
|
+
"gradient-cyan-violet": "bg-linear-to-r from-cyan-400 to-violet-400 bg-clip-text text-transparent",
|
|
21
|
+
"gradient-cyan-blue": "bg-linear-to-r from-cyan-400 to-blue-400 bg-clip-text text-transparent",
|
|
22
|
+
"gradient-cyan-green": "bg-linear-to-r from-cyan-400 to-green-400 bg-clip-text text-transparent",
|
|
23
|
+
"gradient-cyan-orange": "bg-linear-to-r from-cyan-400 to-orange-400 bg-clip-text text-transparent",
|
|
24
|
+
"gradient-cyan-red": "bg-linear-to-r from-cyan-400 to-red-400 bg-clip-text text-transparent",
|
|
25
|
+
"gradient-cyan-purple": "bg-linear-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent",
|
|
26
|
+
"gradient-cyan-pink": "bg-linear-to-r from-cyan-400 to-pink-400 bg-clip-text text-transparent"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
defaultVariants: {
|
|
30
|
+
tone: "default"
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
var headingLevelVariants = cva("scroll-m-20", {
|
|
34
|
+
variants: {
|
|
35
|
+
level: {
|
|
36
|
+
1: "text-4xl font-bold tracking-tight md:text-5xl",
|
|
37
|
+
2: "text-3xl font-semibold tracking-tight",
|
|
38
|
+
3: "text-2xl font-semibold tracking-tight",
|
|
39
|
+
4: "text-xl font-semibold tracking-tight",
|
|
40
|
+
5: "text-lg font-medium",
|
|
41
|
+
6: "text-base font-medium"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
var textSizeVariants = cva("", {
|
|
46
|
+
variants: {
|
|
47
|
+
size: {
|
|
48
|
+
sm: "text-sm leading-relaxed",
|
|
49
|
+
base: "text-base leading-relaxed",
|
|
50
|
+
lg: "text-lg leading-relaxed"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
defaultVariants: {
|
|
54
|
+
size: "base"
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
var unorderedListMarkerVariants = cva("space-y-2 pl-5", {
|
|
58
|
+
variants: {
|
|
59
|
+
marker: {
|
|
60
|
+
disc: "list-disc",
|
|
61
|
+
circle: "[list-style-type:circle]",
|
|
62
|
+
none: "list-none pl-0"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
defaultVariants: {
|
|
66
|
+
marker: "disc"
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
var orderedListVariants = cva("list-decimal space-y-2 pl-5");
|
|
70
|
+
var HEADING_TAGS = {
|
|
71
|
+
1: "h1",
|
|
72
|
+
2: "h2",
|
|
73
|
+
3: "h3",
|
|
74
|
+
4: "h4",
|
|
75
|
+
5: "h5",
|
|
76
|
+
6: "h6"
|
|
77
|
+
};
|
|
78
|
+
var HeadingBase = (props) => {
|
|
79
|
+
const {
|
|
80
|
+
level,
|
|
81
|
+
displayLevel,
|
|
82
|
+
tone,
|
|
83
|
+
bold,
|
|
84
|
+
italic,
|
|
85
|
+
underline,
|
|
86
|
+
strikethrough,
|
|
87
|
+
ref,
|
|
88
|
+
className,
|
|
89
|
+
children,
|
|
90
|
+
...rest
|
|
91
|
+
} = props;
|
|
92
|
+
const Tag = HEADING_TAGS[level];
|
|
93
|
+
const scale = displayLevel ?? level;
|
|
94
|
+
return /* @__PURE__ */ jsx(
|
|
95
|
+
Tag,
|
|
96
|
+
{
|
|
97
|
+
ref,
|
|
98
|
+
"data-slot": "typography-heading",
|
|
99
|
+
"data-level": level,
|
|
100
|
+
className: cn(
|
|
101
|
+
typographyToneVariants({ tone }),
|
|
102
|
+
headingLevelVariants({ level: scale }),
|
|
103
|
+
bold && "font-bold",
|
|
104
|
+
italic && "italic",
|
|
105
|
+
underline && "underline underline-offset-4",
|
|
106
|
+
strikethrough && "line-through",
|
|
107
|
+
className
|
|
108
|
+
),
|
|
109
|
+
...rest,
|
|
110
|
+
children
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
};
|
|
114
|
+
HeadingBase.displayName = "Heading";
|
|
115
|
+
var Heading = (props) => {
|
|
116
|
+
return /* @__PURE__ */ jsx(HeadingBase, { ...props });
|
|
117
|
+
};
|
|
118
|
+
Heading.displayName = "Heading";
|
|
119
|
+
var TextBase = (props) => {
|
|
120
|
+
const {
|
|
121
|
+
as = "p",
|
|
122
|
+
size = "base",
|
|
123
|
+
tone,
|
|
124
|
+
bold,
|
|
125
|
+
italic,
|
|
126
|
+
underline,
|
|
127
|
+
strikethrough,
|
|
128
|
+
highlight,
|
|
129
|
+
className,
|
|
130
|
+
children,
|
|
131
|
+
...rest
|
|
132
|
+
} = props;
|
|
133
|
+
const Component = as;
|
|
134
|
+
return /* @__PURE__ */ jsx(
|
|
135
|
+
Component,
|
|
136
|
+
{
|
|
137
|
+
"data-slot": "typography-text",
|
|
138
|
+
className: cn(
|
|
139
|
+
typographyToneVariants({ tone }),
|
|
140
|
+
textSizeVariants({ size }),
|
|
141
|
+
bold && "font-semibold",
|
|
142
|
+
italic && "italic",
|
|
143
|
+
underline && "underline underline-offset-2",
|
|
144
|
+
strikethrough && "line-through",
|
|
145
|
+
highlight && "rounded bg-amber-400/15 px-0.5",
|
|
146
|
+
className
|
|
147
|
+
),
|
|
148
|
+
...rest,
|
|
149
|
+
children
|
|
150
|
+
}
|
|
151
|
+
);
|
|
152
|
+
};
|
|
153
|
+
TextBase.displayName = "Text";
|
|
154
|
+
var Text = (props) => {
|
|
155
|
+
return /* @__PURE__ */ jsx(TextBase, { ...props });
|
|
156
|
+
};
|
|
157
|
+
Text.displayName = "Text";
|
|
158
|
+
function ListBase(props) {
|
|
159
|
+
if ("ordered" in props && props.ordered === true) {
|
|
160
|
+
const { tone: tone2, className: className2, children: children2, ref: ref2, ordered: ordered2, marker: marker2, ...rest2 } = props;
|
|
161
|
+
return /* @__PURE__ */ jsx(
|
|
162
|
+
"ol",
|
|
163
|
+
{
|
|
164
|
+
ref: ref2,
|
|
165
|
+
"data-slot": "typography-list",
|
|
166
|
+
"data-list-type": "ordered",
|
|
167
|
+
className: cn(
|
|
168
|
+
typographyToneVariants({ tone: tone2 }),
|
|
169
|
+
orderedListVariants(),
|
|
170
|
+
className2
|
|
171
|
+
),
|
|
172
|
+
...rest2,
|
|
173
|
+
children: children2
|
|
174
|
+
}
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
const {
|
|
178
|
+
marker = "disc",
|
|
179
|
+
tone,
|
|
180
|
+
className,
|
|
181
|
+
children,
|
|
182
|
+
ref,
|
|
183
|
+
ordered,
|
|
184
|
+
...rest
|
|
185
|
+
} = props;
|
|
186
|
+
return /* @__PURE__ */ jsx(
|
|
187
|
+
"ul",
|
|
188
|
+
{
|
|
189
|
+
ref,
|
|
190
|
+
"data-slot": "typography-list",
|
|
191
|
+
"data-list-type": "unordered",
|
|
192
|
+
className: cn(
|
|
193
|
+
typographyToneVariants({ tone }),
|
|
194
|
+
unorderedListMarkerVariants({ marker }),
|
|
195
|
+
className
|
|
196
|
+
),
|
|
197
|
+
...rest,
|
|
198
|
+
children
|
|
199
|
+
}
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
ListBase.displayName = "List";
|
|
203
|
+
function ListItemBase(props) {
|
|
204
|
+
const { className, children, ref, ...rest } = props;
|
|
205
|
+
return /* @__PURE__ */ jsx(
|
|
206
|
+
"li",
|
|
207
|
+
{
|
|
208
|
+
ref,
|
|
209
|
+
"data-slot": "typography-list-item",
|
|
210
|
+
className: cn("leading-relaxed", className),
|
|
211
|
+
...rest,
|
|
212
|
+
children
|
|
213
|
+
}
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
ListItemBase.displayName = "ListItem";
|
|
217
|
+
var ListItem = ListItemBase;
|
|
218
|
+
function ListRoot(props) {
|
|
219
|
+
return /* @__PURE__ */ jsx(ListBase, { ...props });
|
|
220
|
+
}
|
|
221
|
+
var List = Object.assign(ListRoot, {
|
|
222
|
+
Item: ListItem
|
|
223
|
+
});
|
|
224
|
+
ListRoot.displayName = "List";
|
|
225
|
+
var BlockquoteBase = (props) => {
|
|
226
|
+
const { tone, attribution, className, children, ref, ...rest } = props;
|
|
227
|
+
return /* @__PURE__ */ jsxs(
|
|
228
|
+
"blockquote",
|
|
229
|
+
{
|
|
230
|
+
ref,
|
|
231
|
+
"data-slot": "typography-blockquote",
|
|
232
|
+
className: cn(
|
|
233
|
+
typographyToneVariants({ tone }),
|
|
234
|
+
"border-l-4 py-1 pl-4 italic",
|
|
235
|
+
className
|
|
236
|
+
),
|
|
237
|
+
...rest,
|
|
238
|
+
children: [
|
|
239
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-2 leading-relaxed", children }),
|
|
240
|
+
attribution ? /* @__PURE__ */ jsx("footer", { className: "mt-3 text-sm not-italic", children: /* @__PURE__ */ jsx("cite", { children: attribution }) }) : null
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
);
|
|
244
|
+
};
|
|
245
|
+
BlockquoteBase.displayName = "Blockquote";
|
|
246
|
+
var Blockquote = (props) => {
|
|
247
|
+
return /* @__PURE__ */ jsx(BlockquoteBase, { ...props });
|
|
248
|
+
};
|
|
249
|
+
Blockquote.displayName = "Blockquote";
|
|
250
|
+
var InlineCodeBase = (props) => {
|
|
251
|
+
const { tone, className, children, ref, ...rest } = props;
|
|
252
|
+
return /* @__PURE__ */ jsx(
|
|
253
|
+
"code",
|
|
254
|
+
{
|
|
255
|
+
ref,
|
|
256
|
+
"data-slot": "typography-inline-code",
|
|
257
|
+
className: cn(
|
|
258
|
+
typographyToneVariants({ tone }),
|
|
259
|
+
"rounded-md border border-white/10 bg-white/6 px-1.5 py-0.5 font-mono text-[0.925em] font-normal",
|
|
260
|
+
className
|
|
261
|
+
),
|
|
262
|
+
...rest,
|
|
263
|
+
children
|
|
264
|
+
}
|
|
265
|
+
);
|
|
266
|
+
};
|
|
267
|
+
InlineCodeBase.displayName = "InlineCode";
|
|
268
|
+
var InlineCode = (props) => {
|
|
269
|
+
return /* @__PURE__ */ jsx(InlineCodeBase, { ...props });
|
|
270
|
+
};
|
|
271
|
+
InlineCode.displayName = "InlineCode";
|
|
272
|
+
var CodeBlockBase = (props) => {
|
|
273
|
+
const { tone, language, className, children, ref, ...rest } = props;
|
|
274
|
+
const ariaLabel = language ? `Code sample (${language})` : "Code sample";
|
|
275
|
+
return /* @__PURE__ */ jsx(
|
|
276
|
+
"pre",
|
|
277
|
+
{
|
|
278
|
+
ref,
|
|
279
|
+
"data-slot": "typography-code-block",
|
|
280
|
+
"aria-label": ariaLabel,
|
|
281
|
+
className: cn(
|
|
282
|
+
typographyToneVariants({ tone }),
|
|
283
|
+
"overflow-x-auto rounded-xl border border-white/10 bg-slate-950/80 p-4 text-sm leading-relaxed shadow-inner shadow-slate-950/40",
|
|
284
|
+
className
|
|
285
|
+
),
|
|
286
|
+
...rest,
|
|
287
|
+
children: /* @__PURE__ */ jsx("code", { className: "font-mono text-[0.95em] whitespace-pre-wrap wrap-break-word", children })
|
|
288
|
+
}
|
|
289
|
+
);
|
|
290
|
+
};
|
|
291
|
+
CodeBlockBase.displayName = "CodeBlock";
|
|
292
|
+
var CodeBlock = (props) => {
|
|
293
|
+
return /* @__PURE__ */ jsx(CodeBlockBase, { ...props });
|
|
294
|
+
};
|
|
295
|
+
CodeBlock.displayName = "CodeBlock";
|
|
296
|
+
|
|
297
|
+
export { Blockquote, CodeBlock, Heading, InlineCode, List, ListItem, Text, headingLevelVariants, orderedListVariants, textSizeVariants, typographyToneVariants, unorderedListMarkerVariants };
|
|
298
|
+
//# sourceMappingURL=typography.mjs.map
|
|
299
|
+
//# sourceMappingURL=typography.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/typography/variants.ts","../../src/ui/typography/heading-base.tsx","../../src/ui/typography/heading.tsx","../../src/ui/typography/text-base.tsx","../../src/ui/typography/text.tsx","../../src/ui/typography/list-base.tsx","../../src/ui/typography/list.tsx","../../src/ui/typography/blockquote-base.tsx","../../src/ui/typography/blockquote.tsx","../../src/ui/typography/inline-code-base.tsx","../../src/ui/typography/inline-code.tsx","../../src/ui/typography/code-block-base.tsx","../../src/ui/typography/code-block.tsx"],"names":["jsx","tone","className","children","ref","ordered","marker","rest"],"mappings":"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","file":"typography.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\n/** Semantic text colors aligned with slate/cyan/violet accents used across the kit (dark-first). */\nexport const typographyToneVariants = cva(\"\", {\n variants: {\n tone: {\n default: \"text-slate-50 border-white/15\",\n muted: \"text-slate-400 border-white/15\",\n primary: \"text-cyan-300 border-cyan-300/40\",\n secondary: \"text-slate-300 border-white/15\",\n accent: \"text-violet-300 border-violet-300/40\",\n destructive: \"text-rose-400 border-rose-300/40\",\n info: \"text-sky-300 border-sky-300/40\",\n success: \"text-emerald-300 border-emerald-300/40\",\n warning: \"text-amber-300 border-amber-300/40\",\n error: \"text-red-300 border-red-300/40\",\n \"gradient-pink-violet\":\n \"bg-linear-to-r from-pink-400 to-violet-400 bg-clip-text text-transparent\",\n \"gradient-cyan-violet\":\n \"bg-linear-to-r from-cyan-400 to-violet-400 bg-clip-text text-transparent\",\n \"gradient-cyan-blue\":\n \"bg-linear-to-r from-cyan-400 to-blue-400 bg-clip-text text-transparent\",\n \"gradient-cyan-green\":\n \"bg-linear-to-r from-cyan-400 to-green-400 bg-clip-text text-transparent\",\n \"gradient-cyan-orange\":\n \"bg-linear-to-r from-cyan-400 to-orange-400 bg-clip-text text-transparent\",\n \"gradient-cyan-red\":\n \"bg-linear-to-r from-cyan-400 to-red-400 bg-clip-text text-transparent\",\n \"gradient-cyan-purple\":\n \"bg-linear-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent\",\n \"gradient-cyan-pink\":\n \"bg-linear-to-r from-cyan-400 to-pink-400 bg-clip-text text-transparent\",\n },\n },\n defaultVariants: {\n tone: \"default\",\n },\n});\n\nexport const headingLevelVariants = cva(\"scroll-m-20\", {\n variants: {\n level: {\n 1: \"text-4xl font-bold tracking-tight md:text-5xl\",\n 2: \"text-3xl font-semibold tracking-tight\",\n 3: \"text-2xl font-semibold tracking-tight\",\n 4: \"text-xl font-semibold tracking-tight\",\n 5: \"text-lg font-medium\",\n 6: \"text-base font-medium\",\n },\n },\n});\n\nexport const textSizeVariants = cva(\"\", {\n variants: {\n size: {\n sm: \"text-sm leading-relaxed\",\n base: \"text-base leading-relaxed\",\n lg: \"text-lg leading-relaxed\",\n },\n },\n defaultVariants: {\n size: \"base\",\n },\n});\n\n/** Marker style for unordered lists; ignored when `ordered` is true (decimal numbering). */\nexport const unorderedListMarkerVariants = cva(\"space-y-2 pl-5\", {\n variants: {\n marker: {\n disc: \"list-disc\",\n circle: \"[list-style-type:circle]\",\n none: \"list-none pl-0\",\n },\n },\n defaultVariants: {\n marker: \"disc\",\n },\n});\n\nexport const orderedListVariants = cva(\"list-decimal space-y-2 pl-5\");\n","import { forwardRef } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { HeadingProps } from \"./types\";\nimport { headingLevelVariants, typographyToneVariants } from \"./variants\";\n\nconst HEADING_TAGS = {\n 1: \"h1\",\n 2: \"h2\",\n 3: \"h3\",\n 4: \"h4\",\n 5: \"h5\",\n 6: \"h6\",\n} as const;\n\nexport const HeadingBase = (props: HeadingProps) => {\n const {\n level,\n displayLevel,\n tone,\n bold,\n italic,\n underline,\n strikethrough,\n ref,\n className,\n children,\n ...rest\n } = props;\n\n const Tag = HEADING_TAGS[level];\n const scale = displayLevel ?? level;\n\n return (\n <Tag\n ref={ref}\n data-slot=\"typography-heading\"\n data-level={level}\n className={cn(\n typographyToneVariants({ tone }),\n headingLevelVariants({ level: scale }),\n bold && \"font-bold\",\n italic && \"italic\",\n underline && \"underline underline-offset-4\",\n strikethrough && \"line-through\",\n className,\n )}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\nHeadingBase.displayName = \"Heading\";\n","import { HeadingBase } from \"./heading-base\";\nimport type { HeadingProps } from \"./types\";\n\nexport const Heading = (props: HeadingProps) => {\n return <HeadingBase {...props} />;\n};\n\nHeading.displayName = \"Heading\";\n","import { cn } from \"../../lib/utils\";\n\nimport type { TextProps } from \"./types\";\nimport { textSizeVariants, typographyToneVariants } from \"./variants\";\n\nexport const TextBase = (props: TextProps) => {\n const {\n as = \"p\",\n size = \"base\",\n tone,\n bold,\n italic,\n underline,\n strikethrough,\n highlight,\n className,\n children,\n ...rest\n } = props;\n\n const Component = as;\n\n return (\n <Component\n data-slot=\"typography-text\"\n className={cn(\n typographyToneVariants({ tone }),\n textSizeVariants({ size }),\n bold && \"font-semibold\",\n italic && \"italic\",\n underline && \"underline underline-offset-2\",\n strikethrough && \"line-through\",\n highlight && \"rounded bg-amber-400/15 px-0.5\",\n className,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n};\n\nTextBase.displayName = \"Text\";\n","import { TextBase } from \"./text-base\";\nimport type { TextProps } from \"./types\";\n\nexport const Text = (props: TextProps) => {\n return <TextBase {...props} />;\n};\n\nText.displayName = \"Text\";\n","import { cn } from \"../../lib/utils\";\n\nimport type { ListProps, ListItemProps } from \"./types\";\nimport {\n orderedListVariants,\n typographyToneVariants,\n unorderedListMarkerVariants,\n} from \"./variants\";\n\nexport function ListBase(props: ListProps) {\n if (\"ordered\" in props && props.ordered === true) {\n const { tone, className, children, ref, ordered, marker, ...rest } = props;\n\n void ordered;\n void marker;\n\n return (\n <ol\n ref={ref}\n data-slot=\"typography-list\"\n data-list-type=\"ordered\"\n className={cn(\n typographyToneVariants({ tone }),\n orderedListVariants(),\n className,\n )}\n {...rest}\n >\n {children}\n </ol>\n );\n }\n\n const {\n marker = \"disc\",\n tone,\n className,\n children,\n ref,\n ordered,\n ...rest\n } = props;\n\n void ordered;\n\n return (\n <ul\n ref={ref}\n data-slot=\"typography-list\"\n data-list-type=\"unordered\"\n className={cn(\n typographyToneVariants({ tone }),\n unorderedListMarkerVariants({ marker }),\n className,\n )}\n {...rest}\n >\n {children}\n </ul>\n );\n}\n\nListBase.displayName = \"List\";\n\nexport function ListItemBase(props: ListItemProps) {\n const { className, children, ref, ...rest } = props;\n\n return (\n <li\n ref={ref}\n data-slot=\"typography-list-item\"\n className={cn(\"leading-relaxed\", className)}\n {...rest}\n >\n {children}\n </li>\n );\n}\n\nListItemBase.displayName = \"ListItem\";\n","import type { ListProps } from \"./types\";\n\nimport { ListBase, ListItemBase } from \"./list-base\";\n\nexport const ListItem = ListItemBase;\n\nfunction ListRoot(props: ListProps) {\n return <ListBase {...props} />;\n}\n\nexport const List = Object.assign(ListRoot, {\n Item: ListItem,\n});\n\nListRoot.displayName = \"List\";\n","import { forwardRef } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { BlockquoteProps } from \"./types\";\nimport { typographyToneVariants } from \"./variants\";\n\nexport const BlockquoteBase = (props: BlockquoteProps) => {\n const { tone, attribution, className, children, ref, ...rest } = props;\n\n return (\n <blockquote\n ref={ref}\n data-slot=\"typography-blockquote\"\n className={cn(\n typographyToneVariants({ tone }),\n \"border-l-4 py-1 pl-4 italic\",\n className,\n )}\n {...rest}\n >\n <div className=\"space-y-2 leading-relaxed\">{children}</div>\n {attribution ? (\n <footer className=\"mt-3 text-sm not-italic\">\n <cite>{attribution}</cite>\n </footer>\n ) : null}\n </blockquote>\n );\n};\n\nBlockquoteBase.displayName = \"Blockquote\";\n","import { BlockquoteBase } from \"./blockquote-base\";\nimport type { BlockquoteProps } from \"./types\";\n\nexport const Blockquote = (props: BlockquoteProps) => {\n return <BlockquoteBase {...props} />;\n};\n\nBlockquote.displayName = \"Blockquote\";\n","import { forwardRef } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { InlineCodeProps } from \"./types\";\nimport { typographyToneVariants } from \"./variants\";\n\nexport const InlineCodeBase = (props: InlineCodeProps) => {\n const { tone, className, children, ref, ...rest } = props;\n\n return (\n <code\n ref={ref}\n data-slot=\"typography-inline-code\"\n className={cn(\n typographyToneVariants({ tone }),\n \"rounded-md border border-white/10 bg-white/6 px-1.5 py-0.5 font-mono text-[0.925em] font-normal\",\n className,\n )}\n {...rest}\n >\n {children}\n </code>\n );\n};\n\nInlineCodeBase.displayName = \"InlineCode\";\n","import { InlineCodeBase } from \"./inline-code-base\";\nimport type { InlineCodeProps } from \"./types\";\n\nexport const InlineCode = (props: InlineCodeProps) => {\n return <InlineCodeBase {...props} />;\n};\n\nInlineCode.displayName = \"InlineCode\";\n","import { forwardRef } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { CodeBlockProps } from \"./types\";\nimport { typographyToneVariants } from \"./variants\";\n\nexport const CodeBlockBase = (props: CodeBlockProps) => {\n const { tone, language, className, children, ref, ...rest } = props;\n\n const ariaLabel = language ? `Code sample (${language})` : \"Code sample\";\n\n return (\n <pre\n ref={ref}\n data-slot=\"typography-code-block\"\n aria-label={ariaLabel}\n className={cn(\n typographyToneVariants({ tone }),\n \"overflow-x-auto rounded-xl border border-white/10 bg-slate-950/80 p-4 text-sm leading-relaxed shadow-inner shadow-slate-950/40\",\n className,\n )}\n {...rest}\n >\n <code className=\"font-mono text-[0.95em] whitespace-pre-wrap wrap-break-word\">\n {children}\n </code>\n </pre>\n );\n};\n\nCodeBlockBase.displayName = \"CodeBlock\";\n","import { CodeBlockBase } from \"./code-block-base\";\nimport type { CodeBlockProps } from \"./types\";\n\nexport const CodeBlock = (props: CodeBlockProps) => {\n return <CodeBlockBase {...props} />;\n};\n\nCodeBlock.displayName = \"CodeBlock\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zentauri-ui/zentauri-components",
|
|
3
|
-
"version": "1.4.
|
|
4
|
-
"description": "React + Tailwind UI kit with ESM/CJS builds, per-entry exports, and a zentauri-components / zentauri-ui CLI to vendor UI or hook source into your app",
|
|
3
|
+
"version": "1.4.7",
|
|
4
|
+
"description": "React + Tailwind UI kit with charts, ESM/CJS builds, per-entry exports, and a zentauri-components / zentauri-ui CLI to vendor UI or hook source into your app",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"files": [
|
|
6
|
+
"files": [
|
|
7
|
+
"dist",
|
|
8
|
+
"src/ui",
|
|
9
|
+
"src/charts",
|
|
10
|
+
"src/lib",
|
|
11
|
+
"src/hooks",
|
|
12
|
+
"cli"
|
|
13
|
+
],
|
|
7
14
|
"sideEffects": false,
|
|
8
15
|
"bin": {
|
|
9
16
|
"zentauri-components": "cli/index.mjs",
|
|
@@ -23,6 +30,11 @@
|
|
|
23
30
|
"import": "./dist/ui/*/animated.mjs",
|
|
24
31
|
"require": "./dist/ui/*/animated.js"
|
|
25
32
|
},
|
|
33
|
+
"./charts/*": {
|
|
34
|
+
"types": "./dist/charts/*/index.d.ts",
|
|
35
|
+
"import": "./dist/charts/*.mjs",
|
|
36
|
+
"require": "./dist/charts/*.js"
|
|
37
|
+
},
|
|
26
38
|
"./hooks/utils": {
|
|
27
39
|
"types": "./dist/lib/utils.d.ts",
|
|
28
40
|
"import": "./dist/hooks/utils.mjs",
|
|
@@ -45,17 +57,25 @@
|
|
|
45
57
|
"test:watch": "vitest"
|
|
46
58
|
},
|
|
47
59
|
"peerDependencies": {
|
|
48
|
-
"react": ">18",
|
|
49
|
-
"react-dom": ">18",
|
|
50
60
|
"class-variance-authority": "*",
|
|
51
61
|
"clsx": "*",
|
|
52
|
-
"tailwind-merge": "*",
|
|
53
62
|
"framer-motion": "*",
|
|
54
|
-
"react
|
|
63
|
+
"react": ">18",
|
|
64
|
+
"react-dom": ">18",
|
|
65
|
+
"react-icons": "*",
|
|
66
|
+
"recharts": "*",
|
|
67
|
+
"tailwind-merge": "*"
|
|
55
68
|
},
|
|
56
69
|
"peerDependenciesMeta": {
|
|
57
|
-
"framer-motion": {
|
|
58
|
-
|
|
70
|
+
"framer-motion": {
|
|
71
|
+
"optional": true
|
|
72
|
+
},
|
|
73
|
+
"react-icons": {
|
|
74
|
+
"optional": true
|
|
75
|
+
},
|
|
76
|
+
"recharts": {
|
|
77
|
+
"optional": true
|
|
78
|
+
}
|
|
59
79
|
},
|
|
60
80
|
"devDependencies": {
|
|
61
81
|
"@repo/typescript-config": "workspace:*",
|
|
@@ -66,8 +86,8 @@
|
|
|
66
86
|
"@types/react": "^19",
|
|
67
87
|
"@types/react-dom": "^19",
|
|
68
88
|
"jsdom": "^26.1.0",
|
|
89
|
+
"tsup": "^8.5.1",
|
|
69
90
|
"typescript": "^5",
|
|
70
|
-
"vitest": "^4.1.4"
|
|
71
|
-
"tsup": "^8.5.1"
|
|
91
|
+
"vitest": "^4.1.4"
|
|
72
92
|
}
|
|
73
|
-
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from "recharts";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
ChartDecorators,
|
|
7
|
+
ChartFrame,
|
|
8
|
+
defaultChartMargin,
|
|
9
|
+
} from "../shared/chart-frame";
|
|
10
|
+
import { getSeriesFill, resolveColor } from "../shared/colors";
|
|
11
|
+
import type { AreaChartProps } from "../shared/types";
|
|
12
|
+
|
|
13
|
+
export function AreaChart<
|
|
14
|
+
TDatum extends Record<string, number | string | null | undefined>,
|
|
15
|
+
>({
|
|
16
|
+
appearance,
|
|
17
|
+
className,
|
|
18
|
+
containerStyle,
|
|
19
|
+
data,
|
|
20
|
+
density,
|
|
21
|
+
emptyState = null,
|
|
22
|
+
height = 320,
|
|
23
|
+
margin = defaultChartMargin,
|
|
24
|
+
series,
|
|
25
|
+
showGrid = true,
|
|
26
|
+
showLegend = false,
|
|
27
|
+
showTooltip = true,
|
|
28
|
+
tooltipColor = "#0f172a",
|
|
29
|
+
stacked = false,
|
|
30
|
+
style,
|
|
31
|
+
syncId,
|
|
32
|
+
xKey,
|
|
33
|
+
...props
|
|
34
|
+
}: AreaChartProps<TDatum>) {
|
|
35
|
+
const hasData = data.length > 0 && series.length > 0;
|
|
36
|
+
const xAxisKey = String(xKey);
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<ChartFrame
|
|
40
|
+
appearance={appearance}
|
|
41
|
+
className={className}
|
|
42
|
+
containerStyle={containerStyle}
|
|
43
|
+
density={density}
|
|
44
|
+
emptyState={emptyState}
|
|
45
|
+
hasData={hasData}
|
|
46
|
+
height={height}
|
|
47
|
+
style={style}
|
|
48
|
+
{...props}
|
|
49
|
+
>
|
|
50
|
+
<RechartsAreaChart data={data} margin={margin} syncId={syncId}>
|
|
51
|
+
<ChartDecorators
|
|
52
|
+
axis={
|
|
53
|
+
<>
|
|
54
|
+
<XAxis
|
|
55
|
+
dataKey={xAxisKey}
|
|
56
|
+
minTickGap={24}
|
|
57
|
+
tickLine={false}
|
|
58
|
+
tickMargin={10}
|
|
59
|
+
axisLine={false}
|
|
60
|
+
fontSize={12}
|
|
61
|
+
fill="#ffffff"
|
|
62
|
+
color="#ffffff"
|
|
63
|
+
/>
|
|
64
|
+
<YAxis
|
|
65
|
+
width={40}
|
|
66
|
+
tickLine={false}
|
|
67
|
+
tickMargin={8}
|
|
68
|
+
axisLine={false}
|
|
69
|
+
fontSize={12}
|
|
70
|
+
fill="#ffffff"
|
|
71
|
+
color="#ffffff"
|
|
72
|
+
/>
|
|
73
|
+
</>
|
|
74
|
+
}
|
|
75
|
+
showGrid={showGrid}
|
|
76
|
+
showLegend={showLegend}
|
|
77
|
+
showTooltip={showTooltip}
|
|
78
|
+
tooltipColor={tooltipColor}
|
|
79
|
+
/>
|
|
80
|
+
{series.map((item, index) => {
|
|
81
|
+
const color = resolveColor(item.color, index);
|
|
82
|
+
const fill = getSeriesFill(item, index)
|
|
83
|
+
console.log(fill)
|
|
84
|
+
return (
|
|
85
|
+
<Area
|
|
86
|
+
key={item.dataKey}
|
|
87
|
+
type="monotone"
|
|
88
|
+
dataKey={item.dataKey}
|
|
89
|
+
name={item.name}
|
|
90
|
+
stackId={stacked ? (item.stackId ?? "stack") : item.stackId}
|
|
91
|
+
stroke={color.stroke}
|
|
92
|
+
fill={fill}
|
|
93
|
+
fillOpacity={1}
|
|
94
|
+
strokeWidth={2}
|
|
95
|
+
/>
|
|
96
|
+
);
|
|
97
|
+
})}
|
|
98
|
+
</RechartsAreaChart>
|
|
99
|
+
</ChartFrame>
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
AreaChart.displayName = "AreaChart";
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Bar, BarChart as RechartsBarChart, XAxis, YAxis } from "recharts";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
ChartDecorators,
|
|
7
|
+
ChartFrame,
|
|
8
|
+
defaultChartMargin,
|
|
9
|
+
} from "../shared/chart-frame";
|
|
10
|
+
import { resolveColor } from "../shared/colors";
|
|
11
|
+
import type { BarChartProps } from "../shared/types";
|
|
12
|
+
|
|
13
|
+
export function BarChart<
|
|
14
|
+
TDatum extends Record<string, number | string | null | undefined>,
|
|
15
|
+
>({
|
|
16
|
+
appearance,
|
|
17
|
+
className,
|
|
18
|
+
containerStyle,
|
|
19
|
+
data,
|
|
20
|
+
density,
|
|
21
|
+
emptyState = null,
|
|
22
|
+
height = 320,
|
|
23
|
+
margin = defaultChartMargin,
|
|
24
|
+
series,
|
|
25
|
+
showGrid = true,
|
|
26
|
+
showLegend = false,
|
|
27
|
+
showTooltip = true,
|
|
28
|
+
tooltipColor = "#0f172a",
|
|
29
|
+
stacked = false,
|
|
30
|
+
style,
|
|
31
|
+
syncId,
|
|
32
|
+
xKey,
|
|
33
|
+
...props
|
|
34
|
+
}: BarChartProps<TDatum>) {
|
|
35
|
+
const hasData = data.length > 0 && series.length > 0;
|
|
36
|
+
const xAxisKey = String(xKey);
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<ChartFrame
|
|
40
|
+
appearance={appearance}
|
|
41
|
+
className={className}
|
|
42
|
+
containerStyle={containerStyle}
|
|
43
|
+
density={density}
|
|
44
|
+
emptyState={emptyState}
|
|
45
|
+
hasData={hasData}
|
|
46
|
+
height={height}
|
|
47
|
+
style={style}
|
|
48
|
+
{...props}
|
|
49
|
+
>
|
|
50
|
+
<RechartsBarChart data={data} margin={margin} syncId={syncId}>
|
|
51
|
+
<ChartDecorators
|
|
52
|
+
axis={
|
|
53
|
+
<>
|
|
54
|
+
<XAxis
|
|
55
|
+
dataKey={xAxisKey}
|
|
56
|
+
minTickGap={24}
|
|
57
|
+
tickLine={false}
|
|
58
|
+
tickMargin={10}
|
|
59
|
+
axisLine={false}
|
|
60
|
+
fontSize={12}
|
|
61
|
+
/>
|
|
62
|
+
<YAxis
|
|
63
|
+
width={40}
|
|
64
|
+
tickLine={false}
|
|
65
|
+
tickMargin={8}
|
|
66
|
+
axisLine={false}
|
|
67
|
+
fontSize={12}
|
|
68
|
+
/>
|
|
69
|
+
</>
|
|
70
|
+
}
|
|
71
|
+
showGrid={showGrid}
|
|
72
|
+
showLegend={showLegend}
|
|
73
|
+
showTooltip={showTooltip}
|
|
74
|
+
tooltipColor={tooltipColor}
|
|
75
|
+
/>
|
|
76
|
+
{series.map((item, index) => {
|
|
77
|
+
const color = resolveColor(item.color, index);
|
|
78
|
+
return (
|
|
79
|
+
<Bar
|
|
80
|
+
key={item.dataKey}
|
|
81
|
+
dataKey={item.dataKey}
|
|
82
|
+
name={item.name}
|
|
83
|
+
stackId={stacked ? (item.stackId ?? "stack") : item.stackId}
|
|
84
|
+
fill={item.fill ?? color.stroke}
|
|
85
|
+
radius={[6, 6, 0, 0]}
|
|
86
|
+
/>
|
|
87
|
+
);
|
|
88
|
+
})}
|
|
89
|
+
</RechartsBarChart>
|
|
90
|
+
</ChartFrame>
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
BarChart.displayName = "BarChart";
|