@zentauri-ui/zentauri-components 1.5.22 → 1.6.0
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 +136 -70
- package/cli/registry.json +2 -0
- package/dist/charts/area.js.map +1 -1
- package/dist/charts/area.mjs.map +1 -1
- package/dist/charts/bubble/Bubble.d.ts.map +1 -1
- package/dist/charts/bubble.js.map +1 -1
- package/dist/charts/bubble.mjs.map +1 -1
- package/dist/charts/pie/Pie.d.ts.map +1 -1
- package/dist/charts/pie.js +20 -2
- package/dist/charts/pie.js.map +1 -1
- package/dist/charts/pie.mjs +20 -2
- package/dist/charts/pie.mjs.map +1 -1
- package/dist/charts/shared/types.d.ts.map +1 -1
- package/dist/{chunk-G3LEYBRV.mjs → chunk-25EAVVGS.mjs} +61 -58
- package/dist/chunk-25EAVVGS.mjs.map +1 -0
- package/dist/{chunk-BCZIYH53.js → chunk-3OXIZ4ZO.js} +28 -28
- package/dist/chunk-3OXIZ4ZO.js.map +1 -0
- package/dist/chunk-3PC7XLJX.js +102 -0
- package/dist/chunk-3PC7XLJX.js.map +1 -0
- package/dist/chunk-4ECCMHAX.mjs +323 -0
- package/dist/chunk-4ECCMHAX.mjs.map +1 -0
- package/dist/chunk-4MPNRGUA.mjs +65 -0
- package/dist/chunk-4MPNRGUA.mjs.map +1 -0
- package/dist/{chunk-Y745GQR2.js → chunk-4PZIDDC6.js} +45 -45
- package/dist/chunk-4PZIDDC6.js.map +1 -0
- package/dist/{chunk-PWL5WD34.js → chunk-662PJBZD.js} +27 -26
- package/dist/chunk-662PJBZD.js.map +1 -0
- package/dist/{chunk-TINHLHCN.mjs → chunk-73RHHGIA.mjs} +39 -36
- package/dist/chunk-73RHHGIA.mjs.map +1 -0
- package/dist/{chunk-OLEMP2HL.js → chunk-746CV3AN.js} +29 -36
- package/dist/chunk-746CV3AN.js.map +1 -0
- package/dist/{chunk-AUGLZ3AN.js → chunk-BMFPUQZC.js} +50 -50
- package/dist/chunk-BMFPUQZC.js.map +1 -0
- package/dist/chunk-CFTDAGKD.js +130 -0
- package/dist/chunk-CFTDAGKD.js.map +1 -0
- package/dist/{chunk-N2OAI2HN.js → chunk-D55YIHBN.js} +15 -15
- package/dist/chunk-D55YIHBN.js.map +1 -0
- package/dist/chunk-DO2LEXUY.js +62 -0
- package/dist/chunk-DO2LEXUY.js.map +1 -0
- package/dist/chunk-EU63V22F.mjs +126 -0
- package/dist/chunk-EU63V22F.mjs.map +1 -0
- package/dist/chunk-EZS47EZW.mjs +70 -0
- package/dist/chunk-EZS47EZW.mjs.map +1 -0
- package/dist/{chunk-E4FZY7O2.js → chunk-GHJN3Z3V.js} +48 -48
- package/dist/chunk-GHJN3Z3V.js.map +1 -0
- package/dist/{chunk-MTLLJFUI.mjs → chunk-GIC3J6HR.mjs} +28 -28
- package/dist/chunk-GIC3J6HR.mjs.map +1 -0
- package/dist/{chunk-C5L465FW.mjs → chunk-HARD4NMB.mjs} +45 -45
- package/dist/chunk-HARD4NMB.mjs.map +1 -0
- package/dist/{chunk-2VQJ6OIL.js → chunk-HPN7H5ZM.js} +2 -2
- package/dist/{chunk-2VQJ6OIL.js.map → chunk-HPN7H5ZM.js.map} +1 -1
- package/dist/{chunk-YTRGRHEB.js → chunk-HV7LVRK3.js} +61 -58
- package/dist/chunk-HV7LVRK3.js.map +1 -0
- package/dist/{chunk-Q5B44QW7.js → chunk-J4LG43O2.js} +51 -51
- package/dist/chunk-J4LG43O2.js.map +1 -0
- package/dist/{chunk-ZYZJ74XB.mjs → chunk-J5QJEKY2.mjs} +28 -28
- package/dist/chunk-J5QJEKY2.mjs.map +1 -0
- package/dist/{chunk-7TLKLMBM.js → chunk-JOMSI4WH.js} +18 -15
- package/dist/chunk-JOMSI4WH.js.map +1 -0
- package/dist/{chunk-ZBBFOMSJ.mjs → chunk-M6FS7X54.mjs} +22 -22
- package/dist/chunk-M6FS7X54.mjs.map +1 -0
- package/dist/{chunk-JUDMPOCI.js → chunk-MM3P52WS.js} +22 -22
- package/dist/chunk-MM3P52WS.js.map +1 -0
- package/dist/chunk-N6B35KWW.mjs +3 -0
- package/dist/chunk-N6B35KWW.mjs.map +1 -0
- package/dist/{chunk-73VCO5TE.mjs → chunk-NWOE2TZN.mjs} +2 -2
- package/dist/{chunk-73VCO5TE.mjs.map → chunk-NWOE2TZN.mjs.map} +1 -1
- package/dist/{chunk-UWA23DUC.js → chunk-OB6TYS5Q.js} +28 -28
- package/dist/chunk-OB6TYS5Q.js.map +1 -0
- package/dist/{chunk-QZTEFGZF.mjs → chunk-OVTWPGMW.mjs} +18 -15
- package/dist/chunk-OVTWPGMW.mjs.map +1 -0
- package/dist/chunk-PPVJ4INP.mjs +60 -0
- package/dist/chunk-PPVJ4INP.mjs.map +1 -0
- package/dist/{chunk-LN77JJTY.mjs → chunk-PSIAOIXJ.mjs} +48 -48
- package/dist/chunk-PSIAOIXJ.mjs.map +1 -0
- package/dist/chunk-QNF4JPFP.js +339 -0
- package/dist/chunk-QNF4JPFP.js.map +1 -0
- package/dist/{chunk-A6KMZ5ZS.mjs → chunk-QSIJKHC5.mjs} +15 -15
- package/dist/chunk-QSIJKHC5.mjs.map +1 -0
- package/dist/chunk-RFFGQYDQ.mjs +337 -0
- package/dist/chunk-RFFGQYDQ.mjs.map +1 -0
- package/dist/chunk-RGOMHX4G.js +4 -0
- package/dist/chunk-RGOMHX4G.js.map +1 -0
- package/dist/{chunk-INMNX3HQ.mjs → chunk-S5H2OMTZ.mjs} +29 -36
- package/dist/chunk-S5H2OMTZ.mjs.map +1 -0
- package/dist/{chunk-JBAUEGYD.mjs → chunk-TFWKF3DR.mjs} +51 -51
- package/dist/chunk-TFWKF3DR.mjs.map +1 -0
- package/dist/chunk-VGWA26BN.js +72 -0
- package/dist/chunk-VGWA26BN.js.map +1 -0
- package/dist/chunk-VMCOX3Z2.js +67 -0
- package/dist/chunk-VMCOX3Z2.js.map +1 -0
- package/dist/chunk-Y3AHRRNM.mjs +99 -0
- package/dist/chunk-Y3AHRRNM.mjs.map +1 -0
- package/dist/{chunk-TJUNN2PT.mjs → chunk-YD3LVW7V.mjs} +27 -26
- package/dist/chunk-YD3LVW7V.mjs.map +1 -0
- package/dist/{chunk-AD2LA3XN.js → chunk-YIO7DFUA.js} +39 -36
- package/dist/chunk-YIO7DFUA.js.map +1 -0
- package/dist/chunk-YRTGORVB.js +232 -0
- package/dist/chunk-YRTGORVB.js.map +1 -0
- package/dist/chunk-Z7QK472J.mjs +220 -0
- package/dist/chunk-Z7QK472J.mjs.map +1 -0
- package/dist/hooks/useControllableState.js +3 -2
- package/dist/hooks/useControllableState.mjs +2 -1
- package/dist/hooks/useDisclosure.js +3 -2
- package/dist/hooks/useDisclosure.js.map +1 -1
- package/dist/hooks/useDisclosure.mjs +2 -1
- package/dist/hooks/useDisclosure.mjs.map +1 -1
- package/dist/hooks/useDynamicStepper/index.d.ts +2 -0
- package/dist/hooks/useDynamicStepper/index.d.ts.map +1 -0
- package/dist/hooks/useDynamicStepper/useDynamicStepper.d.ts +9 -0
- package/dist/hooks/useDynamicStepper/useDynamicStepper.d.ts.map +1 -0
- package/dist/hooks/useDynamicStepper.js +14 -0
- package/dist/hooks/useDynamicStepper.js.map +1 -0
- package/dist/hooks/useDynamicStepper.mjs +5 -0
- package/dist/hooks/useDynamicStepper.mjs.map +1 -0
- package/dist/ui/accordion/animated.js +7 -7
- package/dist/ui/accordion/animated.mjs +2 -2
- package/dist/ui/accordion/variants.d.ts.map +1 -1
- package/dist/ui/accordion.js +9 -9
- package/dist/ui/accordion.mjs +2 -2
- package/dist/ui/alert/animated.js +2 -2
- package/dist/ui/alert/animated.mjs +1 -1
- package/dist/ui/alert/variants.d.ts.map +1 -1
- package/dist/ui/alert.js +10 -10
- package/dist/ui/alert.mjs +2 -2
- package/dist/ui/avatar/animated.js +5 -5
- package/dist/ui/avatar/animated.mjs +2 -2
- package/dist/ui/avatar/variants.d.ts.map +1 -1
- package/dist/ui/avatar.js +9 -9
- package/dist/ui/avatar.mjs +2 -2
- package/dist/ui/badge/animated.js +2 -2
- package/dist/ui/badge/animated.mjs +1 -1
- package/dist/ui/badge/variants.d.ts +24 -24
- package/dist/ui/badge/variants.d.ts.map +1 -1
- package/dist/ui/badge.js +4 -4
- package/dist/ui/badge.mjs +2 -2
- package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
- package/dist/ui/breadcrumb.js +30 -25
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/breadcrumb.mjs +30 -25
- package/dist/ui/breadcrumb.mjs.map +1 -1
- package/dist/ui/buttons/animated.js +3 -3
- package/dist/ui/buttons/animated.mjs +1 -1
- package/dist/ui/buttons/variants.d.ts.map +1 -1
- package/dist/ui/buttons.js +9 -57
- package/dist/ui/buttons.js.map +1 -1
- package/dist/ui/buttons.mjs +3 -59
- package/dist/ui/buttons.mjs.map +1 -1
- package/dist/ui/card/animated.js +7 -7
- package/dist/ui/card/animated.mjs +2 -2
- package/dist/ui/card/variants.d.ts.map +1 -1
- package/dist/ui/card.js +12 -12
- package/dist/ui/card.mjs +2 -2
- package/dist/ui/divider/animated.js +2 -2
- package/dist/ui/divider/animated.mjs +1 -1
- package/dist/ui/divider.js +6 -6
- package/dist/ui/divider.mjs +2 -2
- package/dist/ui/drawer/animated.js +11 -11
- package/dist/ui/drawer/animated.mjs +2 -2
- package/dist/ui/drawer/variants.d.ts.map +1 -1
- package/dist/ui/drawer.js +11 -11
- package/dist/ui/drawer.mjs +1 -1
- package/dist/ui/dropdown/variants.d.ts.map +1 -1
- package/dist/ui/dropdown.js +52 -52
- package/dist/ui/dropdown.js.map +1 -1
- package/dist/ui/dropdown.mjs +52 -52
- package/dist/ui/dropdown.mjs.map +1 -1
- package/dist/ui/dynamic-stepper/dynamic-stepper.d.ts +6 -0
- package/dist/ui/dynamic-stepper/dynamic-stepper.d.ts.map +1 -0
- package/dist/ui/dynamic-stepper/index.d.ts +5 -0
- package/dist/ui/dynamic-stepper/index.d.ts.map +1 -0
- package/dist/ui/dynamic-stepper/types.d.ts +61 -0
- package/dist/ui/dynamic-stepper/types.d.ts.map +1 -0
- package/dist/ui/dynamic-stepper/variants.d.ts +21 -0
- package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -0
- package/dist/ui/dynamic-stepper.js +315 -0
- package/dist/ui/dynamic-stepper.js.map +1 -0
- package/dist/ui/dynamic-stepper.mjs +308 -0
- package/dist/ui/dynamic-stepper.mjs.map +1 -0
- package/dist/ui/empty-state/animated.js +2 -2
- package/dist/ui/empty-state/animated.mjs +1 -1
- package/dist/ui/empty-state/variants.d.ts.map +1 -1
- package/dist/ui/empty-state.js +10 -10
- package/dist/ui/empty-state.mjs +2 -2
- 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 +18 -18
- package/dist/ui/file-upload.js.map +1 -1
- package/dist/ui/file-upload.mjs +18 -18
- package/dist/ui/file-upload.mjs.map +1 -1
- package/dist/ui/inputs/animated.js +3 -3
- package/dist/ui/inputs/animated.mjs +1 -1
- package/dist/ui/inputs/types.d.ts +1 -1
- package/dist/ui/inputs/types.d.ts.map +1 -1
- package/dist/ui/inputs/variants.d.ts +1 -1
- package/dist/ui/inputs/variants.d.ts.map +1 -1
- package/dist/ui/inputs.js +4 -4
- package/dist/ui/inputs.mjs +2 -2
- package/dist/ui/modal/animated.js +4 -4
- package/dist/ui/modal/animated.mjs +1 -1
- package/dist/ui/modal/variants.d.ts.map +1 -1
- package/dist/ui/modal.js +12 -12
- package/dist/ui/modal.mjs +2 -2
- package/dist/ui/pagination/pagination.d.ts +5 -16
- package/dist/ui/pagination/pagination.d.ts.map +1 -1
- package/dist/ui/pagination/types.d.ts +2 -2
- package/dist/ui/pagination/types.d.ts.map +1 -1
- package/dist/ui/pagination/variants.d.ts.map +1 -1
- package/dist/ui/pagination.js +200 -209
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +201 -210
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/progress/animated.js +8 -8
- package/dist/ui/progress/animated.mjs +2 -2
- package/dist/ui/progress/variants.d.ts.map +1 -1
- package/dist/ui/progress.js +9 -9
- package/dist/ui/progress.mjs +2 -2
- 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.js +10 -9
- package/dist/ui/search.js.map +1 -1
- package/dist/ui/search.mjs +9 -8
- package/dist/ui/search.mjs.map +1 -1
- package/dist/ui/select/variants.d.ts.map +1 -1
- package/dist/ui/select.js +66 -66
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +66 -66
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/skeleton/animated.js +8 -8
- package/dist/ui/skeleton/animated.mjs +1 -1
- package/dist/ui/skeleton/variants.d.ts.map +1 -1
- package/dist/ui/skeleton.js +9 -9
- package/dist/ui/skeleton.mjs +1 -1
- package/dist/ui/slider.js +25 -25
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/slider.mjs +25 -25
- package/dist/ui/slider.mjs.map +1 -1
- package/dist/ui/spinner/animated.js +22 -22
- package/dist/ui/spinner/animated.js.map +1 -1
- package/dist/ui/spinner/animated.mjs +22 -22
- package/dist/ui/spinner/animated.mjs.map +1 -1
- package/dist/ui/stepper/stepper.d.ts.map +1 -1
- package/dist/ui/stepper/variants.d.ts.map +1 -1
- package/dist/ui/stepper.js +29 -26
- package/dist/ui/stepper.js.map +1 -1
- package/dist/ui/stepper.mjs +29 -26
- package/dist/ui/stepper.mjs.map +1 -1
- package/dist/ui/table/animated.js +8 -8
- package/dist/ui/table/animated.mjs +2 -2
- package/dist/ui/table/variants.d.ts.map +1 -1
- package/dist/ui/table.js +14 -14
- package/dist/ui/table.mjs +1 -1
- package/dist/ui/tabs/animated.js +2 -2
- package/dist/ui/tabs/animated.mjs +1 -1
- package/dist/ui/tabs/variants.d.ts.map +1 -1
- package/dist/ui/tabs.js +9 -9
- package/dist/ui/tabs.mjs +1 -1
- package/dist/ui/toast/animated.js +7 -7
- package/dist/ui/toast/animated.mjs +1 -1
- package/dist/ui/toast/toast-base.d.ts.map +1 -1
- package/dist/ui/toast/variants.d.ts.map +1 -1
- package/dist/ui/toast.js +12 -12
- package/dist/ui/toast.mjs +1 -1
- package/dist/ui/toggle/animated/toggle-animated.d.ts.map +1 -1
- package/dist/ui/toggle/animated.js +5 -4
- package/dist/ui/toggle/animated.js.map +1 -1
- package/dist/ui/toggle/animated.mjs +4 -3
- package/dist/ui/toggle/animated.mjs.map +1 -1
- package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
- package/dist/ui/toggle/variants.d.ts +1 -0
- package/dist/ui/toggle/variants.d.ts.map +1 -1
- package/dist/ui/toggle.js +8 -7
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/toggle.mjs +6 -5
- package/dist/ui/toggle.mjs.map +1 -1
- package/dist/ui/tooltip/animated.js +3 -3
- package/dist/ui/tooltip/animated.mjs +1 -1
- package/dist/ui/tooltip/variants.d.ts.map +1 -1
- package/dist/ui/tooltip.js +7 -7
- package/dist/ui/tooltip.mjs +1 -1
- 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/inline-code-base.d.ts.map +1 -1
- package/dist/ui/typography/variants.d.ts.map +1 -1
- package/dist/ui/typography.js +19 -19
- package/dist/ui/typography.js.map +1 -1
- package/dist/ui/typography.mjs +19 -19
- package/dist/ui/typography.mjs.map +1 -1
- package/package.json +4 -3
- package/src/charts/area/Area.tsx +1 -1
- package/src/charts/bubble/Bubble.tsx +10 -2
- package/src/charts/pie/Pie.tsx +22 -3
- package/src/charts/shared/types.ts +1 -1
- package/src/hooks/useDynamicStepper/index.ts +1 -0
- package/src/hooks/useDynamicStepper/useDynamicStepper.test.ts +107 -0
- package/src/hooks/useDynamicStepper/useDynamicStepper.ts +85 -0
- package/src/ui/accordion/variants.ts +55 -43
- package/src/ui/alert/variants.ts +45 -32
- package/src/ui/avatar/variants.ts +34 -26
- package/src/ui/badge/variants.ts +42 -29
- package/src/ui/breadcrumb/variants.ts +30 -25
- package/src/ui/buttons/variants.ts +40 -30
- package/src/ui/card/variants.ts +49 -39
- package/src/ui/divider/variants.ts +26 -26
- package/src/ui/drawer/drawer-base.tsx +1 -1
- package/src/ui/drawer/variants.ts +64 -48
- package/src/ui/dropdown/dropdown.tsx +1 -1
- package/src/ui/dropdown/variants.ts +63 -52
- package/src/ui/dynamic-stepper/dynamic-stepper.test.tsx +113 -0
- package/src/ui/dynamic-stepper/dynamic-stepper.tsx +173 -0
- package/src/ui/dynamic-stepper/index.ts +22 -0
- package/src/ui/dynamic-stepper/types.ts +85 -0
- package/src/ui/dynamic-stepper/variants.ts +247 -0
- package/src/ui/empty-state/variants.ts +14 -11
- package/src/ui/file-upload/file-upload.tsx +5 -3
- package/src/ui/file-upload/variants.ts +16 -15
- package/src/ui/inputs/types.ts +1 -1
- package/src/ui/inputs/variants.ts +106 -47
- package/src/ui/modal/modal-base.tsx +1 -1
- package/src/ui/modal/variants.ts +64 -47
- package/src/ui/pagination/pagination.tsx +186 -197
- package/src/ui/pagination/types.ts +2 -5
- package/src/ui/pagination/variants.ts +31 -28
- package/src/ui/progress/variants.ts +79 -65
- package/src/ui/search/search-bar.tsx +2 -1
- package/src/ui/search/search-suggestion-list.tsx +7 -5
- package/src/ui/select/variants.ts +72 -66
- package/src/ui/skeleton/variants.ts +22 -13
- package/src/ui/slider/variants.ts +25 -25
- package/src/ui/spinner/animated/variants.ts +22 -22
- package/src/ui/stepper/stepper.tsx +5 -2
- package/src/ui/stepper/variants.ts +25 -24
- package/src/ui/table/table-base.tsx +1 -1
- package/src/ui/table/variants.ts +53 -45
- package/src/ui/tabs/variants.ts +38 -23
- package/src/ui/toast/toast-base.tsx +1 -4
- package/src/ui/toast/variants.ts +33 -26
- package/src/ui/toggle/animated/toggle-animated.tsx +3 -2
- package/src/ui/toggle/toggle-base.tsx +4 -3
- package/src/ui/toggle/variants.ts +60 -28
- package/src/ui/tooltip/variants.ts +21 -20
- package/src/ui/typography/blockquote-base.tsx +0 -2
- package/src/ui/typography/code-block-base.tsx +1 -3
- package/src/ui/typography/heading-base.tsx +0 -2
- package/src/ui/typography/inline-code-base.tsx +0 -2
- package/src/ui/typography/variants.ts +21 -18
- package/dist/chunk-2BAMNRAL.mjs +0 -323
- package/dist/chunk-2BAMNRAL.mjs.map +0 -1
- package/dist/chunk-5TV7EL3H.mjs +0 -70
- package/dist/chunk-5TV7EL3H.mjs.map +0 -1
- package/dist/chunk-7TLKLMBM.js.map +0 -1
- package/dist/chunk-A6KMZ5ZS.mjs.map +0 -1
- package/dist/chunk-AD2LA3XN.js.map +0 -1
- package/dist/chunk-AOEI4V3W.mjs +0 -286
- package/dist/chunk-AOEI4V3W.mjs.map +0 -1
- package/dist/chunk-AUGLZ3AN.js.map +0 -1
- package/dist/chunk-BCZIYH53.js.map +0 -1
- package/dist/chunk-C5L465FW.mjs.map +0 -1
- package/dist/chunk-E4FZY7O2.js.map +0 -1
- package/dist/chunk-FQBMIZH2.mjs +0 -217
- package/dist/chunk-FQBMIZH2.mjs.map +0 -1
- package/dist/chunk-G3LEYBRV.mjs.map +0 -1
- package/dist/chunk-I6GR234Z.mjs +0 -126
- package/dist/chunk-I6GR234Z.mjs.map +0 -1
- package/dist/chunk-INMNX3HQ.mjs.map +0 -1
- package/dist/chunk-JBAUEGYD.mjs.map +0 -1
- package/dist/chunk-JQ5TIJ4F.mjs +0 -68
- package/dist/chunk-JQ5TIJ4F.mjs.map +0 -1
- package/dist/chunk-JUDMPOCI.js.map +0 -1
- package/dist/chunk-LN77JJTY.mjs.map +0 -1
- package/dist/chunk-MCOQHXRW.js +0 -130
- package/dist/chunk-MCOQHXRW.js.map +0 -1
- package/dist/chunk-MTLLJFUI.mjs.map +0 -1
- package/dist/chunk-N2OAI2HN.js.map +0 -1
- package/dist/chunk-OB4KJZK2.js +0 -72
- package/dist/chunk-OB4KJZK2.js.map +0 -1
- package/dist/chunk-OLEMP2HL.js.map +0 -1
- package/dist/chunk-PWL5WD34.js.map +0 -1
- package/dist/chunk-Q5B44QW7.js.map +0 -1
- package/dist/chunk-QZKMFSH5.js +0 -288
- package/dist/chunk-QZKMFSH5.js.map +0 -1
- package/dist/chunk-QZTEFGZF.mjs.map +0 -1
- package/dist/chunk-S7WKFNPT.js +0 -229
- package/dist/chunk-S7WKFNPT.js.map +0 -1
- package/dist/chunk-TINHLHCN.mjs.map +0 -1
- package/dist/chunk-TJUNN2PT.mjs.map +0 -1
- package/dist/chunk-UWA23DUC.js.map +0 -1
- package/dist/chunk-X22LLJL6.js +0 -71
- package/dist/chunk-X22LLJL6.js.map +0 -1
- package/dist/chunk-Y745GQR2.js.map +0 -1
- package/dist/chunk-YTRGRHEB.js.map +0 -1
- package/dist/chunk-ZBBFOMSJ.mjs.map +0 -1
- package/dist/chunk-ZYZJ74XB.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ A React UI kit for building product interfaces with Tailwind CSS. Components are
|
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
The library targets **React 18+** apps that use **Tailwind CSS v4** (or an equivalent setup where Tailwind can scan this package via `@source`). Styling uses utility classes; **class-variance-authority** powers variant APIs (size, appearance, and similar props), with **clsx** and **tailwind-merge** for predictable `className` composition. **Framer Motion** backs motion where a feature ships animated variants, and **react-icons** is used for iconography where applicable.
|
|
7
|
+
The library targets **React 18+** apps that use **Tailwind CSS v4** (or an equivalent setup where Tailwind can scan this package via `@source`). Styling uses utility classes; **class-variance-authority** powers variant APIs (size, appearance, and similar props), with **clsx** and **tailwind-merge** for predictable `className` composition. Component variants are light-theme ready by default and include paired `dark:` Tailwind classes for dark-mode surfaces, text, borders, focus rings, gradients, and form controls. **Framer Motion** backs motion where a feature ships animated variants, and **react-icons** is used for iconography where applicable.
|
|
8
8
|
|
|
9
9
|
Published artifacts live under `dist/`. Imports use **per-entry subpaths**: `@zentauri-ui/zentauri-components/ui/<area>` for static UI, `@zentauri-ui/zentauri-components/ui/<area>/animated` where a motion bundle exists, `@zentauri-ui/zentauri-components/charts/<type>` for Recharts-powered chart primitives, and `@zentauri-ui/zentauri-components/hooks/<entry>` for React hooks (and shared helpers under `hooks/utils`). Base UI entries do **not** re-export animated components; motion lives on its own entry so optional `framer-motion` usage stays tree-shakeable and chunk-friendly. Each entry resolves to its own ESM (`.mjs`), CJS (`.js`), and types (`.d.ts`) so bundlers pull only what you import. Most apps rely on Tailwind scanning the package sources (see installation); a separate CSS import is not required for that setup.
|
|
10
10
|
|
|
@@ -36,42 +36,44 @@ Published motion entries (same `<name>` as the base UI folder):
|
|
|
36
36
|
|
|
37
37
|
- **React** and **React DOM** `>= 18` (peer dependencies)
|
|
38
38
|
- A Tailwind pipeline that can **scan** this package (see Step 3 below)
|
|
39
|
+
- Tailwind dark-mode support through the standard `dark:` variant (`class` / selector or media strategy, depending on your app)
|
|
39
40
|
|
|
40
41
|
## Components
|
|
41
42
|
|
|
42
43
|
Import static primitives from `@zentauri-ui/zentauri-components/ui/<subpath>` when the **Base** column lists a path. Charts use `@zentauri-ui/zentauri-components/charts/<type>`. When the **Animated** column lists a path, motion components and preset helpers come from `@zentauri-ui/zentauri-components/ui/<subpath>/animated` (they are not exported from the base entry). **Spinner** has no static bundle—use only the animated subpath.
|
|
43
44
|
|
|
44
|
-
| Area
|
|
45
|
-
|
|
|
46
|
-
| Accordion
|
|
47
|
-
| Alert
|
|
48
|
-
| Avatar
|
|
49
|
-
| Badge
|
|
50
|
-
| Breadcrumb
|
|
51
|
-
| Button
|
|
52
|
-
| Card
|
|
53
|
-
| Charts
|
|
54
|
-
| Divider
|
|
55
|
-
| Drawer
|
|
56
|
-
| Dropdown
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
|
|
|
74
|
-
|
|
|
45
|
+
| Area | Base subpath | Animated subpath `…/ui/…/animated` |
|
|
46
|
+
| --------------- | ----------------- | ---------------------------------- |
|
|
47
|
+
| Accordion | `accordion` | `accordion/animated` |
|
|
48
|
+
| Alert | `alert` | `alert/animated` |
|
|
49
|
+
| Avatar | `avatar` | `avatar/animated` |
|
|
50
|
+
| Badge | `badge` | `badge/animated` |
|
|
51
|
+
| Breadcrumb | `breadcrumb` | — |
|
|
52
|
+
| Button | `buttons` | `buttons/animated` |
|
|
53
|
+
| Card | `card` | `card/animated` |
|
|
54
|
+
| Charts | `charts/<type>` | — |
|
|
55
|
+
| Divider | `divider` | `divider/animated` |
|
|
56
|
+
| Drawer | `drawer` | `drawer/animated` |
|
|
57
|
+
| Dropdown | `dropdown` | — |
|
|
58
|
+
| Dynamic stepper | `dynamic-stepper` | — |
|
|
59
|
+
| Empty state | `empty-state` | `empty-state/animated` |
|
|
60
|
+
| File upload | `file-upload` | — |
|
|
61
|
+
| Input | `inputs` | `inputs/animated` |
|
|
62
|
+
| Modal | `modal` | `modal/animated` |
|
|
63
|
+
| Pagination | `pagination` | — |
|
|
64
|
+
| Progress | `progress` | `progress/animated` |
|
|
65
|
+
| Search | `search` | - |
|
|
66
|
+
| Select | `select` | — |
|
|
67
|
+
| Skeleton | `skeleton` | `skeleton/animated` |
|
|
68
|
+
| Slider | `slider` | — |
|
|
69
|
+
| Spinner | — | `spinner/animated` |
|
|
70
|
+
| Stepper | `stepper` | — |
|
|
71
|
+
| Table | `table` | `table/animated` |
|
|
72
|
+
| Tabs | `tabs` | `tabs/animated` |
|
|
73
|
+
| Toast | `toast` | `toast/animated` |
|
|
74
|
+
| Toggle | `toggle` | `toggle/animated` |
|
|
75
|
+
| Tooltip | `tooltip` | `tooltip/animated` |
|
|
76
|
+
| Typography | `typography` | — |
|
|
75
77
|
|
|
76
78
|
## Typography
|
|
77
79
|
|
|
@@ -175,43 +177,99 @@ export function RevenueChart() {
|
|
|
175
177
|
}
|
|
176
178
|
```
|
|
177
179
|
|
|
180
|
+
## Dynamic Stepper
|
|
181
|
+
|
|
182
|
+
Import the UI from **`@zentauri-ui/zentauri-components/ui/dynamic-stepper`**. This entry is **static only** (no `/animated` subpath). It is separate from the compositional **Stepper** primitives under `ui/stepper` (for example `Stepper`, `StepperItem`, `StepperIndicator`).
|
|
183
|
+
|
|
184
|
+
**Component:** `DynamicStepper` — data-driven steps with Previous / Next controls backed by the **Button** component (`buttonAppearance`, `buttonSize`).
|
|
185
|
+
|
|
186
|
+
**Hook:** `useDynamicStepper` — `@zentauri-ui/zentauri-components/hooks/useDynamicStepper`. Holds a clamped 0-based active step, `goPrevious` / `goNext`, `canGoPrevious` / `canGoNext`, and controlled/uncontrolled wiring (`activeStep`, `defaultActiveStep`, `onActiveStepChange`, `onPrevious`, `onNext`). `DynamicStepper` uses this hook internally.
|
|
187
|
+
|
|
188
|
+
**Types (UI barrel):** `DynamicStepperProps`, `DynamicStepperStep`, `DynamicStepperOrientation`, `DynamicStepperButtonAppearance`, `DynamicStepperButtonSize`, `DynamicStepperIndicatorSize`, `DynamicStepperIndicatorToneAppearance`, `UseDynamicStepperParams`, `UseDynamicStepperResult`.
|
|
189
|
+
|
|
190
|
+
**Step items (`steps`):** optional `id`, `title`, `description`, `indicator` (defaults to a 1-based index).
|
|
191
|
+
|
|
192
|
+
**Indicator tones:** `indicatorCompleteAppearance`, `indicatorCurrentAppearance`, `indicatorUpcomingAppearance` — same keys as **Button** `appearance` except **`gradient-*`** values (defaults: `emerald`, `violet`, `outline`).
|
|
193
|
+
|
|
194
|
+
**Layout:** `orientation` (`horizontal` | `vertical`), `indicatorSize` (`sm` | `md` | `lg`).
|
|
195
|
+
|
|
196
|
+
**Stable targeting:** DOM **`id`** suffixes `-previous`, `-next`, `-mapper` (prefixed by React `useId`) and **`data-slot`** keys including `dynamic-stepper-previous`, `dynamic-stepper-next`, `dynamic-stepper-mapper`.
|
|
197
|
+
|
|
198
|
+
**CVA helpers:** `dynamicStepperRootVariants`, `dynamicStepperMapperVariants`, `dynamicStepperItemVariants`, `dynamicStepperIndicatorVariants`, `dynamicStepperIndicatorToneClass`.
|
|
199
|
+
|
|
200
|
+
```tsx
|
|
201
|
+
import {
|
|
202
|
+
DynamicStepper,
|
|
203
|
+
type DynamicStepperStep,
|
|
204
|
+
} from "@zentauri-ui/zentauri-components/ui/dynamic-stepper";
|
|
205
|
+
import { useDynamicStepper } from "@zentauri-ui/zentauri-components/hooks/useDynamicStepper";
|
|
206
|
+
|
|
207
|
+
const steps: DynamicStepperStep[] = [
|
|
208
|
+
{ id: "cart", title: "Cart", description: "Review items" },
|
|
209
|
+
{ id: "pay", title: "Payment", description: "Enter details" },
|
|
210
|
+
];
|
|
211
|
+
|
|
212
|
+
export function CheckoutFlow() {
|
|
213
|
+
return (
|
|
214
|
+
<DynamicStepper
|
|
215
|
+
steps={steps}
|
|
216
|
+
defaultActiveStep={0}
|
|
217
|
+
buttonAppearance="outline"
|
|
218
|
+
indicatorCompleteAppearance="sky"
|
|
219
|
+
indicatorCurrentAppearance="rose"
|
|
220
|
+
indicatorUpcomingAppearance="outline"
|
|
221
|
+
/>
|
|
222
|
+
);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/** Headless-only example */
|
|
226
|
+
export function useWizardSteps(stepCount: number) {
|
|
227
|
+
return useDynamicStepper({
|
|
228
|
+
stepCount,
|
|
229
|
+
defaultActiveStep: 0,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
178
234
|
## React hooks
|
|
179
235
|
|
|
180
236
|
Hooks live in `src/hooks/`. Each hook is a separate published entry under `@zentauri-ui/zentauri-components/hooks/<name>` (same pattern as UI areas). Types are exported where the implementation defines them (for example `UseDisclosureResult`, `PaginationPageItem`). For class-name merging and pagination helpers used alongside hooks, import from `@zentauri-ui/zentauri-components/hooks/utils`.
|
|
181
237
|
|
|
182
|
-
| Hook / module | Subpath `…/hooks/…` | Notes (selected exports)
|
|
183
|
-
| --------------------------- | --------------------------- |
|
|
184
|
-
| `useBodyScrollLock` | `useBodyScrollLock` | Locks document scroll while open
|
|
185
|
-
| `useClickOutside` | `useClickOutside` | `ClickOutsideEventType`, `UseClickOutsideParams`
|
|
186
|
-
| `useClipboard` | `useClipboard` | `UseClipboardResult`
|
|
187
|
-
| `useControllableState` | `useControllableState` | `UseControllableStateParams`
|
|
188
|
-
| `useDebouncedValue` | `useDebouncedValue` | Debounced state from a value
|
|
189
|
-
| `useDisclosure` | `useDisclosure` | `UseDisclosureParams`, `UseDisclosureResult`
|
|
190
|
-
| `useDocumentTitle` | `useDocumentTitle` | `UseDocumentTitleParams`
|
|
191
|
-
| `
|
|
192
|
-
| `
|
|
193
|
-
| `
|
|
194
|
-
| `
|
|
195
|
-
| `
|
|
196
|
-
| `
|
|
197
|
-
| `
|
|
198
|
-
| `
|
|
199
|
-
| `
|
|
200
|
-
| `
|
|
201
|
-
| `
|
|
202
|
-
| `
|
|
203
|
-
| `
|
|
204
|
-
| `
|
|
205
|
-
| `
|
|
206
|
-
| `
|
|
207
|
-
| `
|
|
208
|
-
| `
|
|
209
|
-
| `
|
|
238
|
+
| Hook / module | Subpath `…/hooks/…` | Notes (selected exports) |
|
|
239
|
+
| --------------------------- | --------------------------- | ----------------------------------------------------------------------------------------- |
|
|
240
|
+
| `useBodyScrollLock` | `useBodyScrollLock` | Locks document scroll while open |
|
|
241
|
+
| `useClickOutside` | `useClickOutside` | `ClickOutsideEventType`, `UseClickOutsideParams` |
|
|
242
|
+
| `useClipboard` | `useClipboard` | `UseClipboardResult` |
|
|
243
|
+
| `useControllableState` | `useControllableState` | `UseControllableStateParams` |
|
|
244
|
+
| `useDebouncedValue` | `useDebouncedValue` | Debounced state from a value |
|
|
245
|
+
| `useDisclosure` | `useDisclosure` | `UseDisclosureParams`, `UseDisclosureResult` |
|
|
246
|
+
| `useDocumentTitle` | `useDocumentTitle` | `UseDocumentTitleParams` |
|
|
247
|
+
| `useDynamicStepper` | `useDynamicStepper` | `UseDynamicStepperParams`, `UseDynamicStepperResult` (types also on `ui/dynamic-stepper`) |
|
|
248
|
+
| `useFocusManagement` | `useFocusManagement` | Focus trap / focus moves for overlays |
|
|
249
|
+
| `useHover` | `useHover` | Pointer hover state |
|
|
250
|
+
| `useInView` | `useInView` | `UseInViewParams` |
|
|
251
|
+
| `useIntersectionObserver` | `useIntersectionObserver` | `UseIntersectionObserverParams` |
|
|
252
|
+
| `useIsomorphicLayoutEffect` | `useIsomorphicLayoutEffect` | `useLayoutEffect` safe for SSR |
|
|
253
|
+
| `useIsMounted` | `useIsMounted` | Ref / flag after mount |
|
|
254
|
+
| `useLocalStorage` | `useLocalStorage` | `UseLocalStorageResult` |
|
|
255
|
+
| `useMediaQuery` | `useMediaQuery` | Match CSS media queries |
|
|
256
|
+
| `useNetworkStatus` | `useNetworkStatus` | Online / offline |
|
|
257
|
+
| `usePageVisibility` | `usePageVisibility` | Document visibility API |
|
|
258
|
+
| `usePagination` | `usePagination` | `buildPaginationItems`, `BuildPaginationItemsParams`, `PaginationPageItem` |
|
|
259
|
+
| `usePrefersColorScheme` | `usePrefersColorScheme` | `ColorSchemePreference` |
|
|
260
|
+
| `usePrefersReducedMotion` | `usePrefersReducedMotion` | `prefers-reduced-motion` |
|
|
261
|
+
| `useResizeObserver` | `useResizeObserver` | `ElementSize` |
|
|
262
|
+
| `useSessionStorage` | `useSessionStorage` | `UseSessionStorageResult` |
|
|
263
|
+
| `useThrottledCallback` | `useThrottledCallback` | Throttled callback ref |
|
|
264
|
+
| `useToggle` | `useToggle` | Boolean toggle state |
|
|
265
|
+
| `useWindowSize` | `useWindowSize` | `WindowSize` |
|
|
266
|
+
| `cn`, `clampPage`, `range` | `utils` | Shared helpers from `src/lib/utils.ts` |
|
|
210
267
|
|
|
211
268
|
#### Hook import example
|
|
212
269
|
|
|
213
270
|
```tsx
|
|
214
271
|
import { useDisclosure } from "@zentauri-ui/zentauri-components/hooks/useDisclosure";
|
|
272
|
+
import { useDynamicStepper } from "@zentauri-ui/zentauri-components/hooks/useDynamicStepper";
|
|
215
273
|
import { useMediaQuery } from "@zentauri-ui/zentauri-components/hooks/useMediaQuery";
|
|
216
274
|
import {
|
|
217
275
|
buildPaginationItems,
|
|
@@ -220,7 +278,7 @@ import {
|
|
|
220
278
|
import { cn } from "@zentauri-ui/zentauri-components/hooks/utils";
|
|
221
279
|
```
|
|
222
280
|
|
|
223
|
-
Some UI packages re-export the hook that belongs to that component (for example `usePagination` from `@zentauri-ui/zentauri-components/ui/pagination`). Prefer `hooks/<name>` when you only need the hook without the UI primitives.
|
|
281
|
+
Some UI packages re-export the hook that belongs to that component (for example `usePagination` from `@zentauri-ui/zentauri-components/ui/pagination`). **`dynamic-stepper`** exports hook-related **types** only; import **`useDynamicStepper`** from `hooks/useDynamicStepper`. Prefer `hooks/<name>` when you only need the hook without the UI primitives.
|
|
224
282
|
|
|
225
283
|
## Installation
|
|
226
284
|
|
|
@@ -302,6 +360,14 @@ Add an `@source` entry so Tailwind scans class names inside `@zentauri-ui/zentau
|
|
|
302
360
|
@source "../node_modules/@zentauri-ui/zentauri-components";
|
|
303
361
|
```
|
|
304
362
|
|
|
363
|
+
The package ships light-first styles with `dark:` overrides in the same class strings, so Tailwind must see both the base utilities and the dark variant utilities. With Tailwind v4, keep your app's existing dark-mode selector or media setup; the components respond wherever your app activates Tailwind's `dark:` variant.
|
|
364
|
+
|
|
365
|
+
```tsx
|
|
366
|
+
<main className="min-h-screen bg-white text-slate-900 dark:bg-slate-950 dark:text-slate-50">
|
|
367
|
+
<Button appearance="outline">Theme-aware action</Button>
|
|
368
|
+
</main>
|
|
369
|
+
```
|
|
370
|
+
|
|
305
371
|
### Step 4 — Import and use components and hooks
|
|
306
372
|
|
|
307
373
|
Use **one subpath per UI area** (static and animated are separate entries: `ui/<name>` vs `ui/<name>/animated`) and **one subpath per hook module** so the bundler resolves only the entries you use.
|
|
@@ -352,7 +418,7 @@ import { Spinner } from "@zentauri-ui/zentauri-components/ui/spinner/animated";
|
|
|
352
418
|
#### Usage
|
|
353
419
|
|
|
354
420
|
```tsx
|
|
355
|
-
<div className="rounded-3xl border border-
|
|
421
|
+
<div className="rounded-3xl border border-slate-900/10 bg-white p-5 shadow-2xl shadow-slate-950/10 backdrop-blur-xl dark:border-white/10 dark:bg-white/5 dark:shadow-slate-950/40">
|
|
356
422
|
<Accordion
|
|
357
423
|
type="single"
|
|
358
424
|
defaultValue="item-1"
|
|
@@ -362,7 +428,7 @@ import { Spinner } from "@zentauri-ui/zentauri-components/ui/spinner/animated";
|
|
|
362
428
|
<AccordionItem value="item-1">
|
|
363
429
|
<AccordionTrigger>Shipping</AccordionTrigger>
|
|
364
430
|
<AccordionContent>
|
|
365
|
-
<p className="text-sm text-slate-300">
|
|
431
|
+
<p className="text-sm text-slate-900 dark:text-slate-300">
|
|
366
432
|
Standard delivery in 3-5 business days. Express options at checkout.
|
|
367
433
|
</p>
|
|
368
434
|
</AccordionContent>
|
|
@@ -370,7 +436,7 @@ import { Spinner } from "@zentauri-ui/zentauri-components/ui/spinner/animated";
|
|
|
370
436
|
<AccordionItem value="item-2">
|
|
371
437
|
<AccordionTrigger>Returns</AccordionTrigger>
|
|
372
438
|
<AccordionContent>
|
|
373
|
-
<p className="text-sm text-slate-300">
|
|
439
|
+
<p className="text-sm text-slate-900 dark:text-slate-300">
|
|
374
440
|
Free returns within 30 days of delivery in original condition.
|
|
375
441
|
</p>
|
|
376
442
|
</AccordionContent>
|
|
@@ -418,11 +484,11 @@ node node_modules/@zentauri-ui/zentauri-components/cli/index.mjs add accordion
|
|
|
418
484
|
node node_modules/@zentauri-ui/zentauri-components/cli/index.mjs add hook useWindowSize
|
|
419
485
|
```
|
|
420
486
|
|
|
421
|
-
| Command | What it does
|
|
422
|
-
| --------------------- |
|
|
423
|
-
| `init` | Writes **`components.json`** in the current working directory (or `--cwd`) with default `aliases` and `resolvedPaths`. Refuses to overwrite an existing file.
|
|
424
|
-
| `add <names...>` | Walks up from `--cwd` (default `.`) to find `components.json`, then copies each resolved **UI** folder under `src/ui` or chart entry under `src/charts/<type>`, pulls in hooks those files depend on (including transitive hook imports), and creates **`lib/utils`** at `resolvedPaths.utils` from the package template if it is missing.
|
|
425
|
-
| `add hook <names...>` | Same config lookup; copies only **hook** folders listed under `registry.hooks` (from `hooksEntryNames` in `tsup.config.ts`), including transitive sibling-hook imports. Does not copy UI unless a hook’s imports require you to add a component separately (for example `usePagination` imports types from `ui/pagination`).
|
|
487
|
+
| Command | What it does |
|
|
488
|
+
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
489
|
+
| `init` | Writes **`components.json`** in the current working directory (or `--cwd`) with default `aliases` and `resolvedPaths`. Refuses to overwrite an existing file. |
|
|
490
|
+
| `add <names...>` | Walks up from `--cwd` (default `.`) to find `components.json`, then copies each resolved **UI** folder under `src/ui` or chart entry under `src/charts/<type>`, pulls in hooks those files depend on (including transitive hook imports), and creates **`lib/utils`** at `resolvedPaths.utils` from the package template if it is missing. |
|
|
491
|
+
| `add hook <names...>` | Same config lookup; copies only **hook** folders listed under `registry.hooks` (from `hooksEntryNames` in `tsup.config.ts`), including transitive sibling-hook imports. Does not copy UI unless a hook’s imports require you to add a component separately (for example `usePagination` imports types from `ui/pagination`; `useDynamicStepper` imports types from `ui/dynamic-stepper`). |
|
|
426
492
|
|
|
427
493
|
Global flags: `-h` / `--help`, `-v` / `--version`, `--cwd <dir>` (relative to `process.cwd()`).
|
|
428
494
|
|
|
@@ -467,7 +533,7 @@ After `add`, imports inside copied `.ts`/`.tsx` files are rewritten using your `
|
|
|
467
533
|
| **`npm` + package `exports`** (earlier sections) | You want versioned dependencies, smallest app-owned surface, and tree-shaken `dist/` entries. |
|
|
468
534
|
| **`init` / `add`** | You want vendored source under your repo (customize primitives, match shadcn-style workflows, or lock file-level behavior). |
|
|
469
535
|
|
|
470
|
-
Tailwind still needs to see the classes your **copied** files use—point `@source` at those paths (for example your `src/components/ui`) rather than only at `node_modules/@zentauri-ui/zentauri-components` if you no longer rely on scanning the published package.
|
|
536
|
+
Tailwind still needs to see the classes your **copied** files use—point `@source` at those paths (for example your `src/components/ui`) rather than only at `node_modules/@zentauri-ui/zentauri-components` if you no longer rely on scanning the published package. This matters for the light/dark variant pairs too: copied components keep their base light utilities and `dark:` overrides, and both need to be included in Tailwind's generated CSS.
|
|
471
537
|
|
|
472
538
|
## Checkout the components:
|
|
473
539
|
|
package/cli/registry.json
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"divider",
|
|
18
18
|
"drawer",
|
|
19
19
|
"dropdown",
|
|
20
|
+
"dynamic-stepper",
|
|
20
21
|
"empty-state",
|
|
21
22
|
"file-upload",
|
|
22
23
|
"inputs",
|
|
@@ -44,6 +45,7 @@
|
|
|
44
45
|
"useDebouncedValue",
|
|
45
46
|
"useDisclosure",
|
|
46
47
|
"useDocumentTitle",
|
|
48
|
+
"useDynamicStepper",
|
|
47
49
|
"useFocusManagement",
|
|
48
50
|
"useHover",
|
|
49
51
|
"useInView",
|
package/dist/charts/area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsAreaChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","getSeriesFill","Area"],"mappings":"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","file":"area.js","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsAreaChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n const fill = getSeriesFill(item, index)
|
|
1
|
+
{"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsAreaChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","getSeriesFill","Area"],"mappings":"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","file":"area.js","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsAreaChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n const fill = getSeriesFill(item, index);\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill ?? color.fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
|
package/dist/charts/area.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["RechartsAreaChart"],"mappings":"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","file":"area.mjs","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsAreaChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n const fill = getSeriesFill(item, index)
|
|
1
|
+
{"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["RechartsAreaChart"],"mappings":"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","file":"area.mjs","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsAreaChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n const fill = getSeriesFill(item, index);\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill ?? color.fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../src/charts/bubble/Bubble.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,WAAW,CACzB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,MAA2B,EAC3B,MAAM,EACN,QAAe,EACf,UAAkB,EAClB,WAAkB,EAClB,YAAwB,EACxB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../src/charts/bubble/Bubble.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,WAAW,CACzB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,MAA2B,EAC3B,MAAM,EACN,QAAe,EACf,UAAkB,EAClB,WAAkB,EAClB,YAAwB,EACxB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,MAAM,CAAC,2CAwE1B;yBA5Fe,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsScatterChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","Scatter","ZAxis"],"mappings":";;;;;;;;AAmBO,SAAS,WAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,MAAA,GAAS,GAAA;AAAA,EACT,MAAA,GAASA,mCAAA;AAAA,EACT,MAAA;AAAA,EACA,QAAA,GAAW,IAAA;AAAA,EACX,UAAA,GAAa,KAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,YAAA,GAAe,SAAA;AAAA,EACf,KAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA6B;AAC3B,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,GAAS,CAAA,IAAK,OAAO,MAAA,GAAS,CAAA;AACnD,EAAA,MAAM,QAAA,GAAW,OAAO,IAAI,CAAA;AAE5B,EAAA,uBACEC,cAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAC,eAAA,CAACC,qBAAA,EAAA,EAAqB,IAAA,EAAY,MAAA,EAAgB,MAAA,EAChD,QAAA,EAAA;AAAA,wBAAAH,cAAA;AAAA,UAACI,gCAAA;AAAA,UAAA;AAAA,YACC,sBACEF,eAAA,CAAAG,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,8BAAAL,cAAA;AAAA,gBAACM,cAAA;AAAA,gBAAA;AAAA,kBACC,OAAA,EAAS,QAAA;AAAA,kBACT,IAAA,
|
|
1
|
+
{"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsScatterChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","Scatter","ZAxis"],"mappings":"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","file":"bubble.js","sourcesContent":["\"use client\";\n\nimport {\n Scatter,\n ScatterChart as RechartsScatterChart,\n XAxis,\n YAxis,\n ZAxis,\n Bar,\n} from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { BubbleChartProps } from \"../shared/types\";\n\nexport function BubbleChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n ...props\n}: BubbleChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsScatterChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Scatter\n key={item.dataKey}\n data={data.map((entry) => ({\n ...entry,\n __chartY: entry[item.dataKey],\n __chartZ: item.zKey ? entry[item.zKey] : undefined,\n }))}\n name={item.name}\n fill={item.fill ?? color.stroke}\n />\n );\n })}\n <ZAxis dataKey=\"__chartZ\" range={[64, 720]} />\n </RechartsScatterChart>\n </ChartFrame>\n );\n}\n\nBubbleChart.displayName = \"BubbleChart\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["RechartsScatterChart"],"mappings":";;;;;;;AAmBO,SAAS,WAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,MAAA,GAAS,GAAA;AAAA,EACT,MAAA,GAAS,kBAAA;AAAA,EACT,MAAA;AAAA,EACA,QAAA,GAAW,IAAA;AAAA,EACX,UAAA,GAAa,KAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,YAAA,GAAe,SAAA;AAAA,EACf,KAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA6B;AAC3B,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,GAAS,CAAA,IAAK,OAAO,MAAA,GAAS,CAAA;AACnD,EAAA,MAAM,QAAA,GAAW,OAAO,IAAI,CAAA;AAE5B,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,IAAA,CAACA,YAAA,EAAA,EAAqB,IAAA,EAAY,MAAA,EAAgB,MAAA,EAChD,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACC,sBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,8BAAA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,OAAA,EAAS,QAAA;AAAA,kBACT,IAAA,
|
|
1
|
+
{"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["RechartsScatterChart"],"mappings":"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","file":"bubble.mjs","sourcesContent":["\"use client\";\n\nimport {\n Scatter,\n ScatterChart as RechartsScatterChart,\n XAxis,\n YAxis,\n ZAxis,\n Bar,\n} from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { BubbleChartProps } from \"../shared/types\";\n\nexport function BubbleChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n ...props\n}: BubbleChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsScatterChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Scatter\n key={item.dataKey}\n data={data.map((entry) => ({\n ...entry,\n __chartY: entry[item.dataKey],\n __chartZ: item.zKey ? entry[item.zKey] : undefined,\n }))}\n name={item.name}\n fill={item.fill ?? color.stroke}\n />\n );\n })}\n <ZAxis dataKey=\"__chartZ\" range={[64, 720]} />\n </RechartsScatterChart>\n </ChartFrame>\n );\n}\n\nBubbleChart.displayName = \"BubbleChart\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pie.d.ts","sourceRoot":"","sources":["../../../src/charts/pie/Pie.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Pie.d.ts","sourceRoot":"","sources":["../../../src/charts/pie/Pie.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAmCrD,wBAAgB,QAAQ,CACtB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAiB,EACjB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,KAAa,EACb,SAAiB,EACjB,UAAoB,EACpB,OAAO,EACP,YAAgB,EAChB,UAAiB,EACjB,WAAkB,EAClB,YAAwB,EACxB,MAAkB,EAClB,IAAgB,EAChB,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,EACL,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,MAAM,CAAC,2CA8CvB;yBAzEe,QAAQ"}
|
package/dist/charts/pie.js
CHANGED
|
@@ -7,7 +7,15 @@ var recharts = require('recharts');
|
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
|
|
9
9
|
var RADIAN = Math.PI / 180;
|
|
10
|
-
var renderCustomizedLabel = ({
|
|
10
|
+
var renderCustomizedLabel = ({
|
|
11
|
+
cx,
|
|
12
|
+
cy,
|
|
13
|
+
midAngle,
|
|
14
|
+
innerRadius,
|
|
15
|
+
outerRadius,
|
|
16
|
+
percent,
|
|
17
|
+
fill
|
|
18
|
+
}) => {
|
|
11
19
|
if (cx == null || cy == null || innerRadius == null || outerRadius == null) {
|
|
12
20
|
return null;
|
|
13
21
|
}
|
|
@@ -16,7 +24,17 @@ var renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, perce
|
|
|
16
24
|
const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);
|
|
17
25
|
const ncy = Number(cy);
|
|
18
26
|
const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);
|
|
19
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
27
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
28
|
+
"text",
|
|
29
|
+
{
|
|
30
|
+
x,
|
|
31
|
+
y,
|
|
32
|
+
fill,
|
|
33
|
+
textAnchor: x > ncx ? "start" : "end",
|
|
34
|
+
dominantBaseline: "central",
|
|
35
|
+
children: `${((percent ?? 0) * 100).toFixed(0)}%`
|
|
36
|
+
}
|
|
37
|
+
);
|
|
20
38
|
};
|
|
21
39
|
function PieChart({
|
|
22
40
|
appearance,
|
package/dist/charts/pie.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["jsx","ChartFrame","RechartsPieChart","Tooltip","Legend","Pie","props"],"mappings":";;;;;;;AAaA,IAAM,MAAA,GAAS,KAAK,EAAA,GAAK,GAAA;AAEzB,IAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["jsx","ChartFrame","RechartsPieChart","Tooltip","Legend","Pie","props"],"mappings":";;;;;;;AAaA,IAAM,MAAA,GAAS,KAAK,EAAA,GAAK,GAAA;AAEzB,IAAM,wBAAwB,CAAC;AAAA,EAC7B,EAAA;AAAA,EACA,EAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,KAA2B;AACzB,EAAA,IAAI,MAAM,IAAA,IAAQ,EAAA,IAAM,QAAQ,WAAA,IAAe,IAAA,IAAQ,eAAe,IAAA,EAAM;AAC1E,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,MAAM,MAAA,GAAS,WAAA,GAAA,CAAe,WAAA,GAAc,WAAA,IAAe,GAAA;AAC3D,EAAA,MAAM,GAAA,GAAM,OAAO,EAAE,CAAA;AACrB,EAAA,MAAM,CAAA,GAAI,MAAM,MAAA,GAAS,IAAA,CAAK,IAAI,EAAE,QAAA,IAAY,KAAK,MAAM,CAAA;AAC3D,EAAA,MAAM,GAAA,GAAM,OAAO,EAAE,CAAA;AACrB,EAAA,MAAM,CAAA,GAAI,MAAM,MAAA,GAAS,IAAA,CAAK,IAAI,EAAE,QAAA,IAAY,KAAK,MAAM,CAAA;AAE3D,EAAA,uBACEA,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,CAAA;AAAA,MACA,CAAA;AAAA,MACA,IAAA;AAAA,MACA,UAAA,EAAY,CAAA,GAAI,GAAA,GAAM,OAAA,GAAU,KAAA;AAAA,MAChC,gBAAA,EAAiB,SAAA;AAAA,MAEhB,eAAK,OAAA,IAAW,CAAA,IAAK,GAAA,EAAK,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA;AAAA;AAAA,GACvC;AAEJ,CAAA;AAEO,SAAS,QAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA,GAAe,EAAA;AAAA,EACf,IAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,MAAA,GAAS,GAAA;AAAA,EACT,KAAA,GAAQ,KAAA;AAAA,EACR,SAAA,GAAY,KAAA;AAAA,EACZ,UAAA,GAAa,OAAA;AAAA,EACb,OAAA;AAAA,EACA,YAAA,GAAe,CAAA;AAAA,EACf,UAAA,GAAa,IAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,YAAA,GAAe,SAAA;AAAA,EACf,MAAA,GAAS,SAAA;AAAA,EACT,IAAA,GAAO,SAAA;AAAA,EACP,WAAA;AAAA,EACA,WAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0B;AACxB,EAAA,MAAM,OAAA,GAAU,KAAK,MAAA,GAAS,CAAA;AAE9B,EAAA,uBACEA,cAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,0CAACC,iBAAA,EAAA,EACE,QAAA,EAAA;AAAA,QAAA,WAAA,mBACCF,cAAA;AAAA,UAACG,gBAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAc,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,YACpC,UAAA,EAAY,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,YAClC,SAAA,EAAW,EAAE,KAAA,EAAO,YAAA;AAAa;AAAA,SACnC,GACE,IAAA;AAAA,QACH,UAAA,mBAAaH,cAAA,CAACI,eAAA,EAAA,EAAO,KAAA,EAAM,gBAAe,CAAA,GAAK,IAAA;AAAA,wBAChDJ,cAAA;AAAA,UAACK,YAAA;AAAA,UAAA;AAAA,YACC,IAAA;AAAA,YACA,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,YACvB,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,YACvB,WAAA;AAAA,YACA,WAAA;AAAA,YACA,YAAA;AAAA,YACA,YAAA;AAAA,YACA,SAAA;AAAA,YACA,KAAA,EACE,KAAA,GACI,CAACC,MAAAA,KACC,qBAAA,CAAsB,EAAE,GAAGA,MAAAA,EAAO,IAAA,EAAM,UAAA,EAAY,CAAA,GACtD,MAAA;AAAA,YAEN,MAAA;AAAA,YACA,IAAA;AAAA,YACA;AAAA;AAAA;AACF,OAAA,EACF;AAAA;AAAA,GACF;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"pie.js","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({\n cx,\n cy,\n midAngle,\n innerRadius,\n outerRadius,\n percent,\n fill,\n}: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill={fill}\n textAnchor={x > ncx ? \"start\" : \"end\"}\n dominantBaseline=\"central\"\n >\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={\n label\n ? (props: PieLabelRenderProps) =>\n renderCustomizedLabel({ ...props, fill: labelColor })\n : undefined\n }\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
|
package/dist/charts/pie.mjs
CHANGED
|
@@ -6,7 +6,15 @@ import { PieChart as PieChart$1, Tooltip, Legend, Pie } from 'recharts';
|
|
|
6
6
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
7
|
|
|
8
8
|
var RADIAN = Math.PI / 180;
|
|
9
|
-
var renderCustomizedLabel = ({
|
|
9
|
+
var renderCustomizedLabel = ({
|
|
10
|
+
cx,
|
|
11
|
+
cy,
|
|
12
|
+
midAngle,
|
|
13
|
+
innerRadius,
|
|
14
|
+
outerRadius,
|
|
15
|
+
percent,
|
|
16
|
+
fill
|
|
17
|
+
}) => {
|
|
10
18
|
if (cx == null || cy == null || innerRadius == null || outerRadius == null) {
|
|
11
19
|
return null;
|
|
12
20
|
}
|
|
@@ -15,7 +23,17 @@ var renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, perce
|
|
|
15
23
|
const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);
|
|
16
24
|
const ncy = Number(cy);
|
|
17
25
|
const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);
|
|
18
|
-
return /* @__PURE__ */ jsx(
|
|
26
|
+
return /* @__PURE__ */ jsx(
|
|
27
|
+
"text",
|
|
28
|
+
{
|
|
29
|
+
x,
|
|
30
|
+
y,
|
|
31
|
+
fill,
|
|
32
|
+
textAnchor: x > ncx ? "start" : "end",
|
|
33
|
+
dominantBaseline: "central",
|
|
34
|
+
children: `${((percent ?? 0) * 100).toFixed(0)}%`
|
|
35
|
+
}
|
|
36
|
+
);
|
|
19
37
|
};
|
|
20
38
|
function PieChart({
|
|
21
39
|
appearance,
|
package/dist/charts/pie.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["RechartsPieChart","props"],"mappings":";;;;;;AAaA,IAAM,MAAA,GAAS,KAAK,EAAA,GAAK,GAAA;AAEzB,IAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["RechartsPieChart","props"],"mappings":"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","file":"pie.mjs","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({\n cx,\n cy,\n midAngle,\n innerRadius,\n outerRadius,\n percent,\n fill,\n}: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill={fill}\n textAnchor={x > ncx ? \"start\" : \"end\"}\n dominantBaseline=\"central\"\n >\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={\n label\n ? (props: PieLabelRenderProps) =>\n renderCustomizedLabel({ ...props, fill: labelColor })\n : undefined\n }\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
|