@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/buttons/variants.ts"],"names":[],"mappings":";;;AAEO,IAAM,cAAA,GAAiB,GAAA;AAAA,EAC5B;AAAA,IACE,4EAAA;AAAA,IACA,uFAAA;AAAA,IACA,4IAAA;AAAA,IACA,kDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,OAAA,EACE,uLAAA;AAAA,QACF,SAAA,EACE,6GAAA;AAAA,QACF,WAAA,EACE,kFAAA;AAAA,QACF,OAAA,EACE,mJAAA;AAAA,QACF,KAAA,EACE,0FAAA;AAAA,QACF,IAAA,EAAM,oFAAA;AAAA,QACN,KAAA,EACE,mKAAA;AAAA,QACF,OAAA,EACE,8FAAA;AAAA,QACF,MAAA,EACE,0FAAA;AAAA,QACF,MAAA,EACE,0FAAA;AAAA,QACF,IAAA,EAAM,kFAAA;AAAA,QACN,IAAA,EAAM,kFAAA;AAAA,QACN,GAAA,EAAK,8EAAA;AAAA,QACL,IAAA,EAAM,kFAAA;AAAA,QACN,MAAA,EACE,0FAAA;AAAA,QACF,MAAA,EACE,0FAAA;AAAA,QACF,IAAA,EAAM,kFAAA;AAAA,QACN,KAAA,EACE,sFAAA;AAAA,QACF,MAAA,EACE,0FAAA;AAAA,QACF,eAAA,EACE,uLAAA;AAAA,QACF,gBAAA,EACE,mLAAA;AAAA,QACF,cAAA,EACE,2KAAA;AAAA,QACF,iBAAA,EACE,+LAAA;AAAA,QACF,iBAAA,EACE,uLAAA;AAAA,QACF,eAAA,EACE,+KAAA;AAAA,QACF,iBAAA,EACE,+LAAA;AAAA,QACF,eAAA,EACE,+KAAA;AAAA,QACF,iBAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,yBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,6BAAA;AAAA,QACJ,EAAA,EAAI,2BAAA;AAAA,QACJ,KAAA,EAAO,mCAAA;AAAA,QACP,KAAA,EAAO,qCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,6BAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,MAAA,EAAQ,sCAAA;AAAA,QACR,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY,SAAA;AAAA,MACZ,IAAA,EAAM;AAAA;AACR;AAEJ","file":"chunk-EZS47EZW.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const buttonVariants = cva(\n [\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl\",\n \"text-sm font-medium ring-offset-slate-50 dark:ring-offset-slate-950 transition-colors\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-600 dark:focus-visible:ring-slate-300 focus-visible:ring-offset-2\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"select-none\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-slate-900 dark:bg-slate-50 text-slate-50 dark:text-slate-950 shadow-[0_1px_2px_rgba(15,23,42,0.08)] dark:shadow-[0_1px_2px_rgba(15,23,42,0.12)] hover:bg-black dark:hover:bg-white\",\n secondary:\n \"bg-slate-200 dark:bg-slate-800 text-slate-900 dark:text-slate-50 hover:bg-slate-300 dark:hover:bg-slate-700\",\n destructive:\n \"bg-rose-500 dark:bg-rose-700 text-white hover:bg-rose-500 dark:hover:bg-rose-800\",\n outline:\n \"border border-black/10 dark:border-white/10 bg-black/5 dark:bg-white/5 text-slate-900 dark:text-slate-50 hover:bg-black/10 dark:hover:bg-white/10\",\n ghost:\n \"bg-transparent text-slate-700 dark:text-slate-200 hover:bg-black/5 dark:hover:bg-white/5\",\n link: \"bg-transparent text-cyan-700 dark:text-cyan-300 underline-offset-4 hover:underline\",\n glass:\n \"border border-black/15 dark:border-white/15 bg-black/10 dark:bg-white/10 text-slate-900 dark:text-white backdrop-blur-md hover:bg-black/15 dark:hover:bg-white/15\",\n emerald:\n \"bg-emerald-500 dark:bg-emerald-800 text-white hover:bg-emerald-500 dark:hover:bg-emerald-900\",\n indigo:\n \"bg-indigo-800 dark:bg-indigo-600 text-white hover:bg-indigo-800 dark:hover:bg-indigo-600\",\n purple:\n \"bg-purple-800 dark:bg-purple-600 text-white hover:bg-purple-800 dark:hover:bg-purple-600\",\n pink: \"bg-pink-800 dark:bg-pink-600 text-white hover:bg-pink-800 dark:hover:bg-pink-600\",\n rose: \"bg-rose-800 dark:bg-rose-600 text-white hover:bg-rose-800 dark:hover:bg-rose-600\",\n sky: \"bg-sky-500 dark:bg-sky-700 text-white hover:bg-sky-500 dark:hover:bg-sky-800\",\n teal: \"bg-teal-500 dark:bg-teal-700 text-white hover:bg-teal-500 dark:hover:bg-teal-800\",\n yellow:\n \"bg-yellow-500 dark:bg-yellow-800 text-white hover:bg-yellow-500 dark:hover:bg-yellow-900\",\n orange:\n \"bg-orange-500 dark:bg-orange-800 text-white hover:bg-orange-500 dark:hover:bg-orange-900\",\n gray: \"bg-gray-500 dark:bg-gray-700 text-white hover:bg-gray-500 dark:hover:bg-gray-800\",\n amber:\n \"bg-amber-500 dark:bg-amber-800 text-white hover:bg-amber-500 dark:hover:bg-amber-900\",\n violet:\n \"bg-violet-800 dark:bg-violet-600 text-white hover:bg-violet-800 dark:hover:bg-violet-600\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 text-white hover:from-blue-800 dark:hover:from-blue-600 hover:to-purple-800 dark:hover:to-purple-600\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 text-white hover:from-green-800 dark:hover:from-green-600 hover:to-lime-800 dark:hover:to-lime-600\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 text-white hover:from-red-800 dark:hover:from-red-600 hover:to-pink-800 dark:hover:to-pink-600\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 text-white hover:from-yellow-800 dark:hover:from-yellow-600 hover:to-orange-800 dark:hover:to-orange-600\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 text-white hover:from-purple-800 dark:hover:from-purple-600 hover:to-pink-800 dark:hover:to-pink-600\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 text-white hover:from-teal-800 dark:hover:from-teal-600 hover:to-cyan-800 dark:hover:to-cyan-600\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 text-white hover:from-indigo-800 dark:hover:from-indigo-600 hover:to-purple-800 dark:hover:to-purple-600\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 text-white hover:from-pink-800 dark:hover:from-pink-600 hover:to-rose-800 dark:hover:to-rose-600\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 text-white hover:from-orange-800 dark:hover:from-orange-600 hover:to-red-800 dark:hover:to-red-600\",\n },\n size: {\n sm: \"h-7 md:h-9 px-3 text-xs\",\n md: \"h-9 md:h-11 px-4\",\n lg: \"h-10 md:h-12 px-5 text-base\",\n xl: \"h-12 md:h-14 px-6 text-lg\",\n \"2xl\": \"h-14 md:h-16 px-6 md:px-8 text-xl\",\n \"3xl\": \"h-16 md:h-18 px-8 md:px-10 text-2xl\",\n \"4xl\": \"h-18 md:h-20 px-10 md:px-12 text-2xl\",\n \"5xl\": \"h-20 md:h-22 px-12 md:px-14 text-2xl\",\n \"6xl\": \"h-22 md:h-24 px-14 md:px-16 text-2xl\",\n \"7xl\": \"h-24 md:h-26 px-16 md:px-18 text-2xl\",\n \"8xl\": \"h-26 md:h-28 px-20 text-2xl\",\n \"9xl\": \"h-24 md:h-30 px-18 md:px-22 text-2xl\",\n \"10xl\": \"h-26 md:h-32 px-20 md:px-24 text-2xl\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n"]}
|
|
@@ -6,26 +6,26 @@ var react = require('react');
|
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
|
|
8
8
|
var tableVariants = classVarianceAuthority.cva(
|
|
9
|
-
"w-full table-auto border-collapse caption-bottom text-sm text-slate-200 md:table-fixed",
|
|
9
|
+
"w-full table-auto border-collapse caption-bottom text-sm text-slate-700 dark:text-slate-200 md:table-fixed",
|
|
10
10
|
{
|
|
11
11
|
variants: {
|
|
12
12
|
appearance: {
|
|
13
13
|
default: "",
|
|
14
14
|
striped: "",
|
|
15
|
-
bordered: "border border-white/10",
|
|
15
|
+
bordered: "border border-black/10 dark:border-white/10",
|
|
16
16
|
ghost: "",
|
|
17
|
-
sky: "border border-sky-600",
|
|
18
|
-
rose: "border border-rose-600",
|
|
19
|
-
purple: "border border-purple-600",
|
|
20
|
-
pink: "border border-pink-600",
|
|
21
|
-
orange: "border border-orange-600",
|
|
22
|
-
yellow: "border border-yellow-600",
|
|
23
|
-
teal: "border border-teal-600",
|
|
24
|
-
indigo: "border border-indigo-600",
|
|
25
|
-
emerald: "border border-emerald-600",
|
|
26
|
-
gray: "border border-gray-600",
|
|
27
|
-
amber: "border border-amber-600",
|
|
28
|
-
violet: "border border-violet-600"
|
|
17
|
+
sky: "border border-sky-800 dark:border-sky-600",
|
|
18
|
+
rose: "border border-rose-800 dark:border-rose-600",
|
|
19
|
+
purple: "border border-purple-800 dark:border-purple-600",
|
|
20
|
+
pink: "border border-pink-800 dark:border-pink-600",
|
|
21
|
+
orange: "border border-orange-800 dark:border-orange-600",
|
|
22
|
+
yellow: "border border-yellow-800 dark:border-yellow-600",
|
|
23
|
+
teal: "border border-teal-800 dark:border-teal-600",
|
|
24
|
+
indigo: "border border-indigo-800 dark:border-indigo-600",
|
|
25
|
+
emerald: "border border-emerald-800 dark:border-emerald-600",
|
|
26
|
+
gray: "border border-gray-800 dark:border-gray-600",
|
|
27
|
+
amber: "border border-amber-800 dark:border-amber-600",
|
|
28
|
+
violet: "border border-violet-800 dark:border-violet-600"
|
|
29
29
|
},
|
|
30
30
|
size: {
|
|
31
31
|
sm: "text-xs",
|
|
@@ -45,26 +45,26 @@ var tableVariants = classVarianceAuthority.cva(
|
|
|
45
45
|
}
|
|
46
46
|
);
|
|
47
47
|
var tableRowVariants = classVarianceAuthority.cva(
|
|
48
|
-
"border-b border-white/5 transition-colors data-[state=selected]:bg-white/[0.06]",
|
|
48
|
+
"border-b border-black/5 dark:border-white/5 transition-colors data-[state=selected]:bg-black/[0.06] dark:data-[state=selected]:bg-white/[0.06]",
|
|
49
49
|
{
|
|
50
50
|
variants: {
|
|
51
51
|
appearance: {
|
|
52
52
|
default: "",
|
|
53
|
-
striped: "odd:bg-white/[0.03]",
|
|
53
|
+
striped: "odd:bg-black/[0.03] dark:odd:bg-white/[0.03]",
|
|
54
54
|
bordered: "",
|
|
55
|
-
ghost: "border-transparent hover:bg-white/[0.03]",
|
|
56
|
-
sky: "border-sky-600 hover:bg-sky-600",
|
|
57
|
-
rose: "border-rose-600 hover:bg-rose-900",
|
|
58
|
-
purple: "border-purple-600 hover:bg-purple-900",
|
|
59
|
-
pink: "border-pink-600 hover:bg-pink-900",
|
|
60
|
-
orange: "border-orange-600 hover:bg-orange-900",
|
|
61
|
-
yellow: "border-yellow-600 hover:bg-yellow-900",
|
|
62
|
-
teal: "border-teal-600 hover:bg-teal-900",
|
|
63
|
-
indigo: "border-indigo-600 hover:bg-indigo-900",
|
|
64
|
-
emerald: "border-emerald-600 hover:bg-emerald-900",
|
|
65
|
-
gray: "border-gray-600 hover:bg-gray-900",
|
|
66
|
-
amber: "border-amber-600 hover:bg-amber-900",
|
|
67
|
-
violet: "border-violet-600 hover:bg-violet-900"
|
|
55
|
+
ghost: "border-transparent hover:bg-black/[0.03] dark:hover:bg-white/[0.03]",
|
|
56
|
+
sky: "border-sky-800 dark:border-sky-600 hover:bg-sky-800 dark:hover:bg-sky-600 hover:text-sky-100",
|
|
57
|
+
rose: "border-rose-800 dark:border-rose-600 hover:bg-rose-500 dark:hover:bg-rose-900 hover:text-rose-100",
|
|
58
|
+
purple: "border-purple-800 dark:border-purple-600 hover:bg-purple-500 dark:hover:bg-purple-900 hover:text-purple-100",
|
|
59
|
+
pink: "border-pink-800 dark:border-pink-600 hover:bg-pink-500 dark:hover:bg-pink-900 hover:text-pink-100",
|
|
60
|
+
orange: "border-orange-800 dark:border-orange-600 hover:bg-orange-500 dark:hover:bg-orange-900 hover:text-orange-100",
|
|
61
|
+
yellow: "border-yellow-800 dark:border-yellow-600 hover:bg-yellow-500 dark:hover:bg-yellow-900 hover:text-yellow-100",
|
|
62
|
+
teal: "border-teal-800 dark:border-teal-600 hover:bg-teal-500 dark:hover:bg-teal-900 hover:text-teal-100",
|
|
63
|
+
indigo: "border-indigo-800 dark:border-indigo-600 hover:bg-indigo-500 dark:hover:bg-indigo-900 hover:text-indigo-100",
|
|
64
|
+
emerald: "border-emerald-800 dark:border-emerald-600 hover:bg-emerald-500 dark:hover:bg-emerald-900 hover:text-emerald-100",
|
|
65
|
+
gray: "border-gray-800 dark:border-gray-600 hover:bg-gray-500 dark:hover:bg-gray-900 hover:text-gray-100",
|
|
66
|
+
amber: "border-amber-800 dark:border-amber-600 hover:bg-amber-500 dark:hover:bg-amber-900 hover:text-amber-100",
|
|
67
|
+
violet: "border-violet-800 dark:border-violet-600 hover:bg-violet-500 dark:hover:bg-violet-900 hover:text-violet-100"
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
70
|
defaultVariants: { appearance: "default" }
|
|
@@ -75,22 +75,22 @@ var tableCellVariants = classVarianceAuthority.cva(
|
|
|
75
75
|
{
|
|
76
76
|
variants: {
|
|
77
77
|
appearance: {
|
|
78
|
-
default: "border-white/10",
|
|
79
|
-
striped: "border-white/10",
|
|
80
|
-
bordered: "border-white/10",
|
|
81
|
-
ghost: "border-white/10",
|
|
82
|
-
sky: "border-sky-600",
|
|
83
|
-
rose: "border-rose-600",
|
|
84
|
-
purple: "border-purple-600",
|
|
85
|
-
pink: "border-pink-600",
|
|
86
|
-
orange: "border-orange-600",
|
|
87
|
-
yellow: "border-yellow-600",
|
|
88
|
-
teal: "border-teal-600",
|
|
89
|
-
indigo: "border-indigo-600",
|
|
90
|
-
emerald: "border-emerald-600",
|
|
91
|
-
gray: "border-gray-600",
|
|
92
|
-
amber: "border-amber-600",
|
|
93
|
-
violet: "border-violet-600"
|
|
78
|
+
default: "border-black/10 dark:border-white/10",
|
|
79
|
+
striped: "border-black/10 dark:border-white/10",
|
|
80
|
+
bordered: "border-black/10 dark:border-white/10",
|
|
81
|
+
ghost: "border-black/10 dark:border-white/10",
|
|
82
|
+
sky: "border-sky-800 dark:border-sky-600",
|
|
83
|
+
rose: "border-rose-800 dark:border-rose-600",
|
|
84
|
+
purple: "border-purple-800 dark:border-purple-600",
|
|
85
|
+
pink: "border-pink-800 dark:border-pink-600",
|
|
86
|
+
orange: "border-orange-800 dark:border-orange-600",
|
|
87
|
+
yellow: "border-yellow-800 dark:border-yellow-600",
|
|
88
|
+
teal: "border-teal-800 dark:border-teal-600",
|
|
89
|
+
indigo: "border-indigo-800 dark:border-indigo-600",
|
|
90
|
+
emerald: "border-emerald-800 dark:border-emerald-600",
|
|
91
|
+
gray: "border-gray-800 dark:border-gray-600",
|
|
92
|
+
amber: "border-amber-800 dark:border-amber-600",
|
|
93
|
+
violet: "border-violet-800 dark:border-violet-600"
|
|
94
94
|
},
|
|
95
95
|
size: {
|
|
96
96
|
sm: "p-2",
|
|
@@ -167,7 +167,7 @@ function TableBase(props) {
|
|
|
167
167
|
TableBase.displayName = "Table";
|
|
168
168
|
function TableHeader({ className, children }) {
|
|
169
169
|
const { stickyHeader } = useTableContext("TableHeader");
|
|
170
|
-
const stickyClass = stickyHeader ? "sticky top-0 z-10 bg-slate-950/95 backdrop-blur" : "";
|
|
170
|
+
const stickyClass = stickyHeader ? "sticky top-0 z-10 dark:bg-slate-950/95 bg-slate-50/95 backdrop-blur" : "";
|
|
171
171
|
return /* @__PURE__ */ jsxRuntime.jsx("thead", { "data-slot": "table-header", className: chunkZS5756ZC_js.cn(stickyClass, className), children });
|
|
172
172
|
}
|
|
173
173
|
TableHeader.displayName = "TableHeader";
|
|
@@ -288,5 +288,5 @@ exports.tableCellVariants = tableCellVariants;
|
|
|
288
288
|
exports.tableRowVariants = tableRowVariants;
|
|
289
289
|
exports.tableVariants = tableVariants;
|
|
290
290
|
exports.useTableContext = useTableContext;
|
|
291
|
-
//# sourceMappingURL=chunk-
|
|
292
|
-
//# sourceMappingURL=chunk-
|
|
291
|
+
//# sourceMappingURL=chunk-GHJN3Z3V.js.map
|
|
292
|
+
//# sourceMappingURL=chunk-GHJN3Z3V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/table/variants.ts","../src/ui/table/table-base.tsx"],"names":["cva","createContext","useContext","useMemo","jsx","cn"],"mappings":"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","file":"chunk-GHJN3Z3V.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const tableVariants = cva(\n \"w-full table-auto border-collapse caption-bottom text-sm text-slate-700 dark:text-slate-200 md:table-fixed\",\n {\n variants: {\n appearance: {\n default: \"\",\n striped: \"\",\n bordered: \"border border-black/10 dark:border-white/10\",\n ghost: \"\",\n sky: \"border border-sky-800 dark:border-sky-600\",\n rose: \"border border-rose-800 dark:border-rose-600\",\n purple: \"border border-purple-800 dark:border-purple-600\",\n pink: \"border border-pink-800 dark:border-pink-600\",\n orange: \"border border-orange-800 dark:border-orange-600\",\n yellow: \"border border-yellow-800 dark:border-yellow-600\",\n teal: \"border border-teal-800 dark:border-teal-600\",\n indigo: \"border border-indigo-800 dark:border-indigo-600\",\n emerald: \"border border-emerald-800 dark:border-emerald-600\",\n gray: \"border border-gray-800 dark:border-gray-600\",\n amber: \"border border-amber-800 dark:border-amber-600\",\n violet: \"border border-violet-800 dark:border-violet-600\",\n },\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n stickyHeader: {\n true: \"\",\n false: \"\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n stickyHeader: false,\n },\n },\n);\n\nexport const tableRowVariants = cva(\n \"border-b border-black/5 dark:border-white/5 transition-colors data-[state=selected]:bg-black/[0.06] dark:data-[state=selected]:bg-white/[0.06]\",\n {\n variants: {\n appearance: {\n default: \"\",\n striped: \"odd:bg-black/[0.03] dark:odd:bg-white/[0.03]\",\n bordered: \"\",\n ghost:\n \"border-transparent hover:bg-black/[0.03] dark:hover:bg-white/[0.03]\",\n sky: \"border-sky-800 dark:border-sky-600 hover:bg-sky-800 dark:hover:bg-sky-600 hover:text-sky-100\",\n rose: \"border-rose-800 dark:border-rose-600 hover:bg-rose-500 dark:hover:bg-rose-900 hover:text-rose-100\",\n purple:\n \"border-purple-800 dark:border-purple-600 hover:bg-purple-500 dark:hover:bg-purple-900 hover:text-purple-100\",\n pink: \"border-pink-800 dark:border-pink-600 hover:bg-pink-500 dark:hover:bg-pink-900 hover:text-pink-100\",\n orange:\n \"border-orange-800 dark:border-orange-600 hover:bg-orange-500 dark:hover:bg-orange-900 hover:text-orange-100\",\n yellow:\n \"border-yellow-800 dark:border-yellow-600 hover:bg-yellow-500 dark:hover:bg-yellow-900 hover:text-yellow-100\",\n teal: \"border-teal-800 dark:border-teal-600 hover:bg-teal-500 dark:hover:bg-teal-900 hover:text-teal-100\",\n indigo:\n \"border-indigo-800 dark:border-indigo-600 hover:bg-indigo-500 dark:hover:bg-indigo-900 hover:text-indigo-100\",\n emerald:\n \"border-emerald-800 dark:border-emerald-600 hover:bg-emerald-500 dark:hover:bg-emerald-900 hover:text-emerald-100\",\n gray: \"border-gray-800 dark:border-gray-600 hover:bg-gray-500 dark:hover:bg-gray-900 hover:text-gray-100\",\n amber:\n \"border-amber-800 dark:border-amber-600 hover:bg-amber-500 dark:hover:bg-amber-900 hover:text-amber-100\",\n violet:\n \"border-violet-800 dark:border-violet-600 hover:bg-violet-500 dark:hover:bg-violet-900 hover:text-violet-100\",\n },\n },\n defaultVariants: { appearance: \"default\" },\n },\n);\n\nexport const tableCellVariants = cva(\n \"min-w-0 border p-3 align-middle break-words\",\n {\n variants: {\n appearance: {\n default: \"border-black/10 dark:border-white/10\",\n striped: \"border-black/10 dark:border-white/10\",\n bordered: \"border-black/10 dark:border-white/10\",\n ghost: \"border-black/10 dark:border-white/10\",\n sky: \"border-sky-800 dark:border-sky-600\",\n rose: \"border-rose-800 dark:border-rose-600\",\n purple: \"border-purple-800 dark:border-purple-600\",\n pink: \"border-pink-800 dark:border-pink-600\",\n orange: \"border-orange-800 dark:border-orange-600\",\n yellow: \"border-yellow-800 dark:border-yellow-600\",\n teal: \"border-teal-800 dark:border-teal-600\",\n indigo: \"border-indigo-800 dark:border-indigo-600\",\n emerald: \"border-emerald-800 dark:border-emerald-600\",\n gray: \"border-gray-800 dark:border-gray-600\",\n amber: \"border-amber-800 dark:border-amber-600\",\n violet: \"border-violet-800 dark:border-violet-600\",\n },\n size: {\n sm: \"p-2\",\n md: \"p-3\",\n lg: \"p-4\",\n },\n textAlign: {\n left: \"text-left\",\n center: \"text-center\",\n right: \"text-right\",\n },\n },\n defaultVariants: { appearance: \"default\", size: \"md\" },\n },\n);\n","\"use client\";\n\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n TableCtx,\n TableCellProps,\n TableHeadCellProps,\n TableProps,\n TableSectionProps,\n} from \"./types\";\nimport { tableCellVariants, tableRowVariants, tableVariants } from \"./variants\";\n\nexport const TableContext = createContext<TableCtx | null>(null);\n\nexport function useTableContext(component: string): TableCtx {\n const ctx = useContext(TableContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Table>`);\n }\n return ctx;\n}\n\nexport function TableBase(props: TableProps) {\n const {\n className,\n appearance = \"default\",\n size = \"md\",\n textAlign = \"left\",\n stickyHeader = false,\n scrollAreaAriaLabel,\n children,\n ref,\n ...rest\n } = props;\n const ctx = useMemo(\n () => ({\n appearance: appearance ?? \"default\",\n size: size ?? \"md\",\n stickyHeader: Boolean(stickyHeader),\n rowAnimation: \"none\" as const,\n textAlign,\n }),\n [appearance, size, stickyHeader, textAlign],\n );\n\n return (\n <TableContext.Provider value={ctx}>\n <div\n data-slot=\"table-scroll\"\n tabIndex={0}\n role=\"region\"\n aria-label={scrollAreaAriaLabel ?? \"Scrollable table\"}\n className={cn(\n \"relative w-full overflow-auto\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\",\n )}\n >\n <table\n ref={ref}\n data-slot=\"table\"\n className={cn(\n tableVariants({ appearance, size, stickyHeader }),\n \"w-full min-w-0 table\",\n className,\n )}\n {...rest}\n >\n {children}\n </table>\n </div>\n </TableContext.Provider>\n );\n}\n\nTableBase.displayName = \"Table\";\n\nexport function TableHeader({ className, children }: TableSectionProps) {\n const { stickyHeader } = useTableContext(\"TableHeader\");\n const stickyClass = stickyHeader\n ? \"sticky top-0 z-10 dark:bg-slate-950/95 bg-slate-50/95 backdrop-blur\"\n : \"\";\n return (\n <thead data-slot=\"table-header\" className={cn(stickyClass, className)}>\n {children}\n </thead>\n );\n}\n\nTableHeader.displayName = \"TableHeader\";\n\nexport function TableBody({ className, children }: TableSectionProps) {\n return (\n <tbody data-slot=\"table-body\" className={cn(className)}>\n {children}\n </tbody>\n );\n}\n\nTableBody.displayName = \"TableBody\";\n\nexport function TableFooter({ className, children }: TableSectionProps) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\n \"border-t border-white/10 bg-white/3 font-medium\",\n className,\n )}\n >\n {children}\n </tfoot>\n );\n}\n\nTableFooter.displayName = \"TableFooter\";\n\nexport function TableRow({\n className,\n children,\n ref,\n as: Wrapper = \"tr\",\n ...rest\n}: TableSectionProps & { ref?: React.Ref<HTMLTableRowElement> }) {\n const { appearance } = useTableContext(\"TableRow\");\n\n return (\n <tr\n ref={ref}\n data-slot=\"table-row\"\n className={cn(tableRowVariants({ appearance }), className)}\n {...rest}\n >\n {children}\n </tr>\n );\n}\n\nTableRow.displayName = \"TableRow\";\n\nexport function TableHead({\n className,\n children,\n scope = \"col\",\n sortDirection,\n ref,\n ...rest\n}: TableHeadCellProps) {\n const { appearance, size, textAlign } = useTableContext(\"TableHead\");\n return (\n <th\n ref={ref}\n data-slot=\"table-head\"\n scope={scope}\n aria-sort={sortDirection}\n className={cn(\n tableCellVariants({ appearance, size, textAlign }),\n className,\n )}\n {...rest}\n >\n {children}\n </th>\n );\n}\n\nTableHead.displayName = \"TableHead\";\n\nexport function TableCell({\n className,\n children,\n ref,\n scope,\n ...rest\n}: TableCellProps) {\n const { appearance, size, textAlign } = useTableContext(\"TableCell\");\n const cellClassName = cn(\n tableCellVariants({ appearance, size, textAlign }),\n className,\n );\n\n if (scope !== undefined) {\n return (\n <th\n ref={ref}\n data-slot=\"table-cell\"\n scope={scope}\n className={cellClassName}\n {...rest}\n >\n {children}\n </th>\n );\n }\n\n return (\n <td ref={ref} data-slot=\"table-cell\" className={cellClassName} {...rest}>\n {children}\n </td>\n );\n}\n\nTableCell.displayName = \"TableCell\";\n\nexport function TableCaption({ className, children }: TableSectionProps) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn(\"mt-3 text-left text-xs text-slate-500\", className)}\n >\n {children}\n </caption>\n );\n}\n\nTableCaption.displayName = \"TableCaption\";\n"]}
|
|
@@ -4,33 +4,33 @@ import { createContext, useState, useMemo, useEffect, Children, isValidElement,
|
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
|
|
6
6
|
var avatarVariants = cva(
|
|
7
|
-
"relative flex shrink-0 overflow-hidden rounded-full border border-
|
|
7
|
+
"relative flex shrink-0 overflow-hidden rounded-full border border-black/10 dark:border-white/10 text-slate-700 dark:text-slate-200",
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
appearance: {
|
|
11
|
-
default: "border-white/10 bg-white/10 text-slate-200",
|
|
12
|
-
muted: "border-black/40 bg-slate-
|
|
13
|
-
sky: "border-sky-600 bg-sky-600/[0.03] text-slate-200",
|
|
14
|
-
rose: "border-rose-600 bg-rose-600/[0.03] text-slate-200",
|
|
15
|
-
purple: "border-purple-600 bg-purple-600/[0.03] text-slate-200",
|
|
16
|
-
pink: "border-pink-600 bg-pink-600/[0.03] text-slate-200",
|
|
17
|
-
orange: "border-orange-600 bg-orange-600/[0.03] text-slate-200",
|
|
18
|
-
yellow: "border-yellow-600 bg-yellow-600/[0.03] text-slate-200",
|
|
19
|
-
teal: "border-teal-600 bg-teal-600/[0.03] text-slate-200",
|
|
20
|
-
indigo: "border-indigo-600 bg-indigo-600/[0.03] text-slate-200",
|
|
21
|
-
emerald: "border-emerald-600 bg-emerald-600/[0.03] text-slate-200",
|
|
22
|
-
gray: "border-gray-600 bg-gray-600/[0.03] text-slate-200",
|
|
23
|
-
amber: "border-amber-600 bg-amber-600/[0.03] text-slate-200",
|
|
24
|
-
violet: "border-violet-600 bg-violet-600/[0.03] text-slate-200",
|
|
25
|
-
"gradient-blue": "bg-linear-to-r from-blue-
|
|
26
|
-
"gradient-green": "bg-linear-to-r from-green-
|
|
27
|
-
"gradient-red": "bg-linear-to-r from-red-
|
|
28
|
-
"gradient-yellow": "bg-linear-to-r from-yellow-
|
|
29
|
-
"gradient-purple": "bg-linear-to-r from-purple-
|
|
30
|
-
"gradient-teal": "bg-linear-to-r from-teal-
|
|
31
|
-
"gradient-indigo": "bg-linear-to-r from-indigo-
|
|
32
|
-
"gradient-pink": "bg-linear-to-r from-pink-
|
|
33
|
-
"gradient-orange": "bg-linear-to-r from-orange-
|
|
11
|
+
default: "border-black/10 dark:border-white/10 bg-black/10 dark:bg-white/10 text-slate-700 dark:text-slate-200",
|
|
12
|
+
muted: "border-black/40 bg-slate-50 dark:border-white/10 dark:bg-slate-950/40 text-slate-700 dark:text-slate-200",
|
|
13
|
+
sky: "border-sky-800 dark:border-sky-600 bg-sky-100/50 dark:bg-sky-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
14
|
+
rose: "border-rose-800 dark:border-rose-600 bg-rose-100/50 dark:bg-rose-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
15
|
+
purple: "border-purple-800 dark:border-purple-600 bg-purple-100/50 dark:bg-purple-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
16
|
+
pink: "border-pink-800 dark:border-pink-600 bg-pink-100/50 dark:bg-pink-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
17
|
+
orange: "border-orange-800 dark:border-orange-600 bg-orange-100/50 dark:bg-orange-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
18
|
+
yellow: "border-yellow-800 dark:border-yellow-600 bg-yellow-100/50 dark:bg-yellow-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
19
|
+
teal: "border-teal-800 dark:border-teal-600 bg-teal-100/50 dark:bg-teal-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
20
|
+
indigo: "border-indigo-800 dark:border-indigo-600 bg-indigo-100/50 dark:bg-indigo-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
21
|
+
emerald: "border-emerald-800 dark:border-emerald-600 bg-emerald-100/50 dark:bg-emerald-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
22
|
+
gray: "border-gray-800 dark:border-gray-600 bg-gray-100/50 dark:bg-gray-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
23
|
+
amber: "border-amber-800 dark:border-amber-600 bg-amber-100/50 dark:bg-amber-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
24
|
+
violet: "border-violet-800 dark:border-violet-600 bg-violet-100/50 dark:bg-violet-600/[0.03] text-slate-700 dark:text-slate-200",
|
|
25
|
+
"gradient-blue": "bg-linear-to-r from-blue-500 dark:from-blue-600 to-purple-500 dark:to-purple-600 backdrop-blur-xl text-slate-700 dark:text-slate-200",
|
|
26
|
+
"gradient-green": "bg-linear-to-r from-green-500 dark:from-green-600 to-lime-500 dark:to-lime-600 backdrop-blur-xl text-slate-700 dark:text-slate-200",
|
|
27
|
+
"gradient-red": "bg-linear-to-r from-red-500 dark:from-red-600 to-pink-500 dark:to-pink-600 backdrop-blur-xl text-slate-700 dark:text-slate-200",
|
|
28
|
+
"gradient-yellow": "bg-linear-to-r from-yellow-500 dark:from-yellow-600 to-orange-500 dark:to-orange-600 backdrop-blur-xl text-slate-700 dark:text-slate-200",
|
|
29
|
+
"gradient-purple": "bg-linear-to-r from-purple-500 dark:from-purple-600 to-pink-500 dark:to-pink-600 backdrop-blur-xl text-slate-700 dark:text-slate-200",
|
|
30
|
+
"gradient-teal": "bg-linear-to-r from-teal-500 dark:from-teal-600 to-cyan-500 dark:to-cyan-600 backdrop-blur-xl text-slate-700 dark:text-slate-200",
|
|
31
|
+
"gradient-indigo": "bg-linear-to-r from-indigo-500 dark:from-indigo-600 to-purple-500 dark:to-purple-600 backdrop-blur-xl text-slate-700 dark:text-slate-200",
|
|
32
|
+
"gradient-pink": "bg-linear-to-r from-pink-500 dark:from-pink-600 to-rose-500 dark:to-rose-600 backdrop-blur-xl text-slate-700 dark:text-slate-200",
|
|
33
|
+
"gradient-orange": "bg-linear-to-r from-orange-500 dark:from-orange-600 to-red-500 dark:to-red-600 backdrop-blur-xl text-slate-700 dark:text-slate-200"
|
|
34
34
|
},
|
|
35
35
|
size: {
|
|
36
36
|
sm: "size-8 text-xs",
|
|
@@ -47,10 +47,10 @@ var avatarVariants = cva(
|
|
|
47
47
|
);
|
|
48
48
|
var avatarImageVariants = cva("aspect-square size-full object-cover");
|
|
49
49
|
var avatarFallbackVariants = cva(
|
|
50
|
-
"flex size-full items-center justify-center bg-slate-800 font-medium text-slate-100"
|
|
50
|
+
"flex size-full items-center justify-center bg-slate-200 dark:bg-slate-800 font-medium text-slate-800 dark:text-slate-100"
|
|
51
51
|
);
|
|
52
52
|
var avatarGroupVariants = cva(
|
|
53
|
-
"flex items-center [&_[data-slot=avatar]]:-ml-2 [&_[data-slot=avatar]]:ring-2 [&_[data-slot=avatar]]:ring-slate-950 [&_[data-slot=avatar]]:first:ml-0"
|
|
53
|
+
"flex items-center [&_[data-slot=avatar]]:-ml-2 [&_[data-slot=avatar]]:ring-2 [&_[data-slot=avatar]]:ring-white dark:[&_[data-slot=avatar]]:ring-slate-950 [&_[data-slot=avatar]]:first:ml-0"
|
|
54
54
|
);
|
|
55
55
|
var AvatarContext = createContext(null);
|
|
56
56
|
function useAvatarContext(component) {
|
|
@@ -192,5 +192,5 @@ function AvatarGroup({
|
|
|
192
192
|
AvatarGroup.displayName = "AvatarGroup";
|
|
193
193
|
|
|
194
194
|
export { AvatarBase, AvatarFallback, AvatarGroup, AvatarImage, avatarFallbackVariants, avatarGroupVariants, avatarImageVariants, avatarVariants };
|
|
195
|
-
//# sourceMappingURL=chunk-
|
|
196
|
-
//# sourceMappingURL=chunk-
|
|
195
|
+
//# sourceMappingURL=chunk-GIC3J6HR.mjs.map
|
|
196
|
+
//# sourceMappingURL=chunk-GIC3J6HR.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/avatar/variants.ts","../src/ui/avatar/avatar-base.tsx"],"names":[],"mappings":"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","file":"chunk-GIC3J6HR.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const avatarVariants = cva(\n \"relative flex shrink-0 overflow-hidden rounded-full border border-black/10 dark:border-white/10 text-slate-700 dark:text-slate-200\",\n {\n variants: {\n appearance: {\n default:\n \"border-black/10 dark:border-white/10 bg-black/10 dark:bg-white/10 text-slate-700 dark:text-slate-200\",\n muted:\n \"border-black/40 bg-slate-50 dark:border-white/10 dark:bg-slate-950/40 text-slate-700 dark:text-slate-200\",\n sky: \"border-sky-800 dark:border-sky-600 bg-sky-100/50 dark:bg-sky-600/[0.03] text-slate-700 dark:text-slate-200\",\n rose: \"border-rose-800 dark:border-rose-600 bg-rose-100/50 dark:bg-rose-600/[0.03] text-slate-700 dark:text-slate-200\",\n purple:\n \"border-purple-800 dark:border-purple-600 bg-purple-100/50 dark:bg-purple-600/[0.03] text-slate-700 dark:text-slate-200\",\n pink: \"border-pink-800 dark:border-pink-600 bg-pink-100/50 dark:bg-pink-600/[0.03] text-slate-700 dark:text-slate-200\",\n orange:\n \"border-orange-800 dark:border-orange-600 bg-orange-100/50 dark:bg-orange-600/[0.03] text-slate-700 dark:text-slate-200\",\n yellow:\n \"border-yellow-800 dark:border-yellow-600 bg-yellow-100/50 dark:bg-yellow-600/[0.03] text-slate-700 dark:text-slate-200\",\n teal: \"border-teal-800 dark:border-teal-600 bg-teal-100/50 dark:bg-teal-600/[0.03] text-slate-700 dark:text-slate-200\",\n indigo:\n \"border-indigo-800 dark:border-indigo-600 bg-indigo-100/50 dark:bg-indigo-600/[0.03] text-slate-700 dark:text-slate-200\",\n emerald:\n \"border-emerald-800 dark:border-emerald-600 bg-emerald-100/50 dark:bg-emerald-600/[0.03] text-slate-700 dark:text-slate-200\",\n gray: \"border-gray-800 dark:border-gray-600 bg-gray-100/50 dark:bg-gray-600/[0.03] text-slate-700 dark:text-slate-200\",\n amber:\n \"border-amber-800 dark:border-amber-600 bg-amber-100/50 dark:bg-amber-600/[0.03] text-slate-700 dark:text-slate-200\",\n violet:\n \"border-violet-800 dark:border-violet-600 bg-violet-100/50 dark:bg-violet-600/[0.03] text-slate-700 dark:text-slate-200\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-500 dark:from-blue-600 to-purple-500 dark:to-purple-600 backdrop-blur-xl text-slate-700 dark:text-slate-200\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-500 dark:from-green-600 to-lime-500 dark:to-lime-600 backdrop-blur-xl text-slate-700 dark:text-slate-200\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-500 dark:from-red-600 to-pink-500 dark:to-pink-600 backdrop-blur-xl text-slate-700 dark:text-slate-200\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-500 dark:from-yellow-600 to-orange-500 dark:to-orange-600 backdrop-blur-xl text-slate-700 dark:text-slate-200\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-500 dark:from-purple-600 to-pink-500 dark:to-pink-600 backdrop-blur-xl text-slate-700 dark:text-slate-200\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-500 dark:from-teal-600 to-cyan-500 dark:to-cyan-600 backdrop-blur-xl text-slate-700 dark:text-slate-200\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-500 dark:from-indigo-600 to-purple-500 dark:to-purple-600 backdrop-blur-xl text-slate-700 dark:text-slate-200\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-500 dark:from-pink-600 to-rose-500 dark:to-rose-600 backdrop-blur-xl text-slate-700 dark:text-slate-200\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-500 dark:from-orange-600 to-red-500 dark:to-red-600 backdrop-blur-xl text-slate-700 dark:text-slate-200\",\n },\n size: {\n sm: \"size-8 text-xs\",\n md: \"size-10 text-sm\",\n lg: \"size-12 text-base\",\n xl: \"size-16 text-lg\",\n },\n },\n defaultVariants: {\n size: \"md\",\n appearance: \"default\",\n },\n },\n);\n\nexport const avatarImageVariants = cva(\"aspect-square size-full object-cover\");\n\nexport const avatarFallbackVariants = cva(\n \"flex size-full items-center justify-center bg-slate-200 dark:bg-slate-800 font-medium text-slate-800 dark:text-slate-100\",\n);\n\nexport const avatarGroupVariants = cva(\n \"flex items-center [&_[data-slot=avatar]]:-ml-2 [&_[data-slot=avatar]]:ring-2 [&_[data-slot=avatar]]:ring-white dark:[&_[data-slot=avatar]]:ring-slate-950 [&_[data-slot=avatar]]:first:ml-0\",\n);\n","\"use client\";\n\nimport {\n Children,\n createContext,\n isValidElement,\n useContext,\n useEffect,\n useMemo,\n useState,\n type Ref,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n AvatarBaseProps,\n AvatarCtx,\n AvatarFallbackProps,\n AvatarGroupProps,\n AvatarImageProps,\n ImageStatus,\n} from \"./types\";\nimport {\n avatarFallbackVariants,\n avatarGroupVariants,\n avatarImageVariants,\n avatarVariants,\n} from \"./variants\";\n\nconst AvatarContext = createContext<AvatarCtx | null>(null);\n\nfunction useAvatarContext(component: string): AvatarCtx {\n const ctx = useContext(AvatarContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Avatar>`);\n }\n return ctx;\n}\n\nexport function AvatarBase({\n className,\n size,\n appearance,\n children,\n ref,\n as: Wrapper = \"span\",\n ...rest\n}: AvatarBaseProps) {\n const [imageStatus, setImageStatus] = useState<ImageStatus>(\"idle\");\n const ctx = useMemo(() => ({ imageStatus, setImageStatus }), [imageStatus]);\n\n return (\n <AvatarContext.Provider value={ctx}>\n <Wrapper\n ref={ref}\n data-slot=\"avatar\"\n className={cn(avatarVariants({ size, appearance }), className)}\n {...rest}\n >\n {children}\n </Wrapper>\n </AvatarContext.Provider>\n );\n}\n\nAvatarBase.displayName = \"Avatar\";\n\nexport function AvatarImage({\n className,\n onLoad,\n onError,\n ref,\n ...rest\n}: AvatarImageProps & { ref?: Ref<HTMLImageElement> }) {\n const { setImageStatus } = useAvatarContext(\"AvatarImage\");\n\n return (\n <img\n ref={ref}\n data-slot=\"avatar-image\"\n className={cn(avatarImageVariants(), className)}\n onLoad={(e) => {\n setImageStatus(\"loaded\");\n onLoad?.(e);\n }}\n onError={(e) => {\n setImageStatus(\"error\");\n onError?.(e);\n }}\n {...rest}\n />\n );\n}\n\nAvatarImage.displayName = \"AvatarImage\";\n\nexport function AvatarFallback({\n className,\n delayMs = 0,\n ref,\n ...rest\n}: AvatarFallbackProps & { ref?: Ref<HTMLSpanElement> }) {\n const { imageStatus } = useAvatarContext(\"AvatarFallback\");\n const [show, setShow] = useState(delayMs === 0);\n\n useEffect(() => {\n if (imageStatus === \"loaded\") {\n setShow(false);\n return;\n }\n if (imageStatus === \"error\") {\n setShow(true);\n return;\n }\n if (delayMs <= 0) {\n setShow(true);\n return;\n }\n const t = window.setTimeout(() => setShow(true), delayMs);\n return () => window.clearTimeout(t);\n }, [delayMs, imageStatus]);\n\n if (!show) {\n return null;\n }\n\n return (\n <span\n ref={ref}\n data-slot=\"avatar-fallback\"\n className={cn(avatarFallbackVariants(), className)}\n {...rest}\n />\n );\n}\n\nAvatarFallback.displayName = \"AvatarFallback\";\n\nexport function AvatarGroup({\n className,\n max,\n children,\n ref,\n ...rest\n}: AvatarGroupProps & { ref?: Ref<HTMLDivElement> }) {\n const childArray = useMemo(\n () => Children.toArray(children).filter(isValidElement),\n [children],\n );\n const visible = max !== undefined ? childArray.slice(0, max) : childArray;\n const overflow =\n max !== undefined && childArray.length > max ? childArray.length - max : 0;\n\n return (\n <div\n ref={ref}\n data-slot=\"avatar-group\"\n className={cn(avatarGroupVariants(), className)}\n {...rest}\n >\n {visible}\n {overflow > 0 ? (\n <span\n data-slot=\"avatar-group-overflow\"\n className={cn(\n avatarVariants({ size: \"md\" }),\n \"z-10 grid place-items-center bg-slate-800 text-xs font-semibold text-white\",\n )}\n aria-label={`${overflow} more`}\n >\n +{overflow}\n </span>\n ) : null}\n </div>\n );\n}\n\nAvatarGroup.displayName = \"AvatarGroup\";\n"]}
|
|
@@ -6,29 +6,29 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
6
6
|
var accordionVariants = cva("w-full", {
|
|
7
7
|
variants: {
|
|
8
8
|
appearance: {
|
|
9
|
-
default: "divide-y divide-white/10 rounded-xl border border-white/10",
|
|
10
|
-
outline: "divide-y divide-white/10 rounded-xl border border-white/15",
|
|
11
|
-
ghost: "divide-y divide-white/5",
|
|
9
|
+
default: "divide-y divide-black/10 dark:divide-white/10 rounded-xl border border-black/10 dark:border-white/10",
|
|
10
|
+
outline: "divide-y divide-black/10 dark:divide-white/10 rounded-xl border border-black/15 dark:border-white/15",
|
|
11
|
+
ghost: "divide-y divide-black/5 dark:divide-white/5",
|
|
12
12
|
card: "space-y-2",
|
|
13
13
|
separated: "space-y-3",
|
|
14
|
-
sky: "divide-y divide-sky-600 rounded-xl border border-sky-600",
|
|
15
|
-
rose: "divide-y divide-rose-600 rounded-xl border border-rose-600",
|
|
16
|
-
purple: "divide-y divide-purple-600 rounded-xl border border-purple-600",
|
|
17
|
-
pink: "divide-y divide-pink-600 rounded-xl border border-pink-600",
|
|
18
|
-
orange: "divide-y divide-orange-600 rounded-xl border border-orange-600",
|
|
19
|
-
yellow: "divide-y divide-yellow-600 rounded-xl border border-yellow-600",
|
|
20
|
-
teal: "divide-y divide-teal-600 rounded-xl border border-teal-600",
|
|
21
|
-
indigo: "divide-y divide-indigo-600 rounded-xl border border-indigo-600",
|
|
22
|
-
emerald: "divide-y divide-emerald-600 rounded-xl border border-emerald-600",
|
|
23
|
-
"gradient-blue": "divide-y divide-blue-600 rounded-xl border border-blue-600",
|
|
24
|
-
"gradient-green": "divide-y divide-green-600 rounded-xl border border-green-600",
|
|
25
|
-
"gradient-red": "divide-y divide-red-600 rounded-xl border border-red-600",
|
|
26
|
-
"gradient-yellow": "divide-y divide-yellow-600 rounded-xl border border-yellow-600",
|
|
27
|
-
"gradient-purple": "divide-y divide-purple-600 rounded-xl border border-purple-600",
|
|
28
|
-
"gradient-teal": "divide-y divide-teal-600 rounded-xl border border-teal-600",
|
|
29
|
-
"gradient-indigo": "divide-y divide-indigo-600 rounded-xl border border-indigo-600",
|
|
30
|
-
"gradient-pink": "divide-y divide-pink-600 rounded-xl border border-pink-600",
|
|
31
|
-
"gradient-orange": "divide-y divide-orange-600 rounded-xl border border-orange-600"
|
|
14
|
+
sky: "divide-y divide-sky-800 dark:divide-sky-600 rounded-xl border border-sky-800 dark:border-sky-600",
|
|
15
|
+
rose: "divide-y divide-rose-800 dark:divide-rose-600 rounded-xl border border-rose-800 dark:border-rose-600",
|
|
16
|
+
purple: "divide-y divide-purple-800 dark:divide-purple-600 rounded-xl border border-purple-800 dark:border-purple-600",
|
|
17
|
+
pink: "divide-y divide-pink-800 dark:divide-pink-600 rounded-xl border border-pink-800 dark:border-pink-600",
|
|
18
|
+
orange: "divide-y divide-orange-800 dark:divide-orange-600 rounded-xl border border-orange-800 dark:border-orange-600",
|
|
19
|
+
yellow: "divide-y divide-yellow-800 dark:divide-yellow-600 rounded-xl border border-yellow-800 dark:border-yellow-600",
|
|
20
|
+
teal: "divide-y divide-teal-800 dark:divide-teal-600 rounded-xl border border-teal-800 dark:border-teal-600",
|
|
21
|
+
indigo: "divide-y divide-indigo-800 dark:divide-indigo-600 rounded-xl border border-indigo-800 dark:border-indigo-600",
|
|
22
|
+
emerald: "divide-y divide-emerald-800 dark:divide-emerald-600 rounded-xl border border-emerald-800 dark:border-emerald-600",
|
|
23
|
+
"gradient-blue": "divide-y divide-blue-800 dark:divide-blue-600 rounded-xl border border-blue-800 dark:border-blue-600",
|
|
24
|
+
"gradient-green": "divide-y divide-green-800 dark:divide-green-600 rounded-xl border border-green-800 dark:border-green-600",
|
|
25
|
+
"gradient-red": "divide-y divide-red-800 dark:divide-red-600 rounded-xl border border-red-800 dark:border-red-600",
|
|
26
|
+
"gradient-yellow": "divide-y divide-yellow-800 dark:divide-yellow-600 rounded-xl border border-yellow-800 dark:border-yellow-600",
|
|
27
|
+
"gradient-purple": "divide-y divide-purple-800 dark:divide-purple-600 rounded-xl border border-purple-800 dark:border-purple-600",
|
|
28
|
+
"gradient-teal": "divide-y divide-teal-800 dark:divide-teal-600 rounded-xl border border-teal-800 dark:border-teal-600",
|
|
29
|
+
"gradient-indigo": "divide-y divide-indigo-800 dark:divide-indigo-600 rounded-xl border border-indigo-800 dark:border-indigo-600",
|
|
30
|
+
"gradient-pink": "divide-y divide-pink-800 dark:divide-pink-600 rounded-xl border border-pink-800 dark:border-pink-600",
|
|
31
|
+
"gradient-orange": "divide-y divide-orange-800 dark:divide-orange-600 rounded-xl border border-orange-800 dark:border-orange-600"
|
|
32
32
|
},
|
|
33
33
|
size: {
|
|
34
34
|
sm: "px-3 py-2 text-sm",
|
|
@@ -41,38 +41,38 @@ var accordionVariants = cva("w-full", {
|
|
|
41
41
|
size: "md"
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
|
-
var accordionItemVariants = cva("", {
|
|
44
|
+
var accordionItemVariants = cva("text-slate-900 dark:text-slate-200", {
|
|
45
45
|
variants: {
|
|
46
46
|
appearance: {
|
|
47
47
|
default: "",
|
|
48
48
|
outline: "",
|
|
49
49
|
ghost: "",
|
|
50
|
-
card: "rounded-xl border border-
|
|
51
|
-
separated: "rounded-xl border border-white/10 bg-slate-950/40 p-2",
|
|
52
|
-
sky: "rounded-xl border border-sky-600 bg-sky-600/[0.03] p-2",
|
|
53
|
-
rose: "rounded-xl border border-rose-600 bg-rose-600/[0.03] p-2",
|
|
54
|
-
purple: "rounded-xl border border-purple-600 bg-purple-600/[0.03] p-2",
|
|
55
|
-
pink: "rounded-xl border border-pink-600 bg-pink-600/[0.03] p-2",
|
|
56
|
-
orange: "rounded-xl border border-orange-600 bg-orange-600/[0.03] p-2",
|
|
57
|
-
yellow: "rounded-xl border border-yellow-600 bg-yellow-600/[0.03] p-2",
|
|
58
|
-
teal: "rounded-xl border border-teal-600 bg-teal-600/[0.03] p-2",
|
|
59
|
-
indigo: "rounded-xl border border-indigo-600 bg-indigo-600/[0.03] p-2",
|
|
60
|
-
emerald: "rounded-xl border border-emerald-600 bg-emerald-600/[0.03] p-2",
|
|
61
|
-
"gradient-blue": "rounded-xl bg-linear-to-r from-blue-600 to-purple-600
|
|
62
|
-
"gradient-green": "rounded-xl bg-linear-to-r from-green-600 to-lime-600
|
|
63
|
-
"gradient-red": "rounded-xl bg-linear-to-r from-red-600 to-pink-600
|
|
64
|
-
"gradient-yellow": "rounded-xl bg-linear-to-r from-yellow-600 to-orange-600
|
|
65
|
-
"gradient-purple": "rounded-xl bg-linear-to-r from-purple-600 to-pink-600
|
|
66
|
-
"gradient-teal": "rounded-xl bg-linear-to-r from-teal-600 to-cyan-600
|
|
67
|
-
"gradient-indigo": "rounded-xl bg-linear-to-r from-indigo-600 to-purple-600
|
|
68
|
-
"gradient-pink": "rounded-xl bg-linear-to-r from-pink-600 to-rose-600
|
|
69
|
-
"gradient-orange": "rounded-xl bg-linear-to-r from-orange-600 to-red-600
|
|
50
|
+
card: "rounded-xl border border-black/10 bg-black/5 p-2",
|
|
51
|
+
separated: "rounded-xl border border-black/10 dark:border-white/10 bg-slate-50/40 dark:bg-slate-950/40 p-2",
|
|
52
|
+
sky: "rounded-xl border border-sky-800 dark:border-sky-600 bg-sky-100/50 dark:bg-sky-600/[0.03] p-2",
|
|
53
|
+
rose: "rounded-xl border border-rose-800 dark:border-rose-600 bg-rose-100/50 dark:bg-rose-600/[0.03] p-2",
|
|
54
|
+
purple: "rounded-xl border border-purple-800 dark:border-purple-600 bg-purple-100/50 dark:bg-purple-600/[0.03] p-2",
|
|
55
|
+
pink: "rounded-xl border border-pink-800 dark:border-pink-600 bg-pink-100/50 dark:bg-pink-600/[0.03] p-2",
|
|
56
|
+
orange: "rounded-xl border border-orange-800 dark:border-orange-600 bg-orange-100/50 dark:bg-orange-600/[0.03] p-2",
|
|
57
|
+
yellow: "rounded-xl border border-yellow-800 dark:border-yellow-600 bg-yellow-100/50 dark:bg-yellow-600/[0.03] p-2",
|
|
58
|
+
teal: "rounded-xl border border-teal-800 dark:border-teal-600 bg-teal-100/50 dark:bg-teal-600/[0.03] p-2",
|
|
59
|
+
indigo: "rounded-xl border border-indigo-800 dark:border-indigo-600 bg-indigo-100/50 dark:bg-indigo-600/[0.03] p-2",
|
|
60
|
+
emerald: "rounded-xl border border-emerald-800 dark:border-emerald-600 bg-emerald-100/50 dark:bg-emerald-600/[0.03] p-2",
|
|
61
|
+
"gradient-blue": "rounded-xl bg-linear-to-r from-blue-300 dark:from-blue-600 to-purple-300 dark:to-purple-600 p-2",
|
|
62
|
+
"gradient-green": "rounded-xl bg-linear-to-r from-green-300 dark:from-green-600 to-lime-300 dark:to-lime-600 p-2",
|
|
63
|
+
"gradient-red": "rounded-xl bg-linear-to-r from-red-300 dark:from-red-600 to-pink-300 dark:to-pink-600 p-2",
|
|
64
|
+
"gradient-yellow": "rounded-xl bg-linear-to-r from-yellow-300 dark:from-yellow-600 to-orange-300 dark:to-orange-600 p-2",
|
|
65
|
+
"gradient-purple": "rounded-xl bg-linear-to-r from-purple-300 dark:from-purple-600 to-pink-300 dark:to-pink-600 p-2",
|
|
66
|
+
"gradient-teal": "rounded-xl bg-linear-to-r from-teal-300 dark:from-teal-600 to-cyan-300 dark:to-cyan-600 p-2",
|
|
67
|
+
"gradient-indigo": "rounded-xl bg-linear-to-r from-indigo-300 dark:from-indigo-600 to-purple-300 dark:to-purple-600 p-2",
|
|
68
|
+
"gradient-pink": "rounded-xl bg-linear-to-r from-pink-300 dark:from-pink-600 to-rose-300 dark:to-rose-600 p-2",
|
|
69
|
+
"gradient-orange": "rounded-xl bg-linear-to-r from-orange-300 dark:from-orange-600 to-red-300 dark:to-red-600 p-2"
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
defaultVariants: { appearance: "default" }
|
|
73
73
|
});
|
|
74
74
|
var accordionTriggerVariants = cva(
|
|
75
|
-
"flex w-full items-center justify-between gap-3 py-3 text-left font-medium text-slate-
|
|
75
|
+
"flex w-full items-center justify-between gap-3 py-3 text-left font-medium text-slate-800 dark:text-slate-200 outline-none transition hover:text-slate-900 dark:hover:text-white focus-visible:ring-2 focus-visible:ring-black/30 dark:focus-visible:ring-white/30",
|
|
76
76
|
{
|
|
77
77
|
variants: {
|
|
78
78
|
size: {
|
|
@@ -264,5 +264,5 @@ function AccordionContent({
|
|
|
264
264
|
AccordionContent.displayName = "AccordionContent";
|
|
265
265
|
|
|
266
266
|
export { AccordionBase, AccordionContent, AccordionItem, AccordionTrigger, accordionContentVariants, accordionItemVariants, accordionTriggerVariants, accordionVariants, useAccordionContext, useAccordionItemValue };
|
|
267
|
-
//# sourceMappingURL=chunk-
|
|
268
|
-
//# sourceMappingURL=chunk-
|
|
267
|
+
//# sourceMappingURL=chunk-HARD4NMB.mjs.map
|
|
268
|
+
//# sourceMappingURL=chunk-HARD4NMB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/accordion/variants.ts","../src/ui/accordion/accordion-base.tsx"],"names":["next"],"mappings":"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","file":"chunk-HARD4NMB.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const accordionVariants = cva(\"w-full\", {\n variants: {\n appearance: {\n default:\n \"divide-y divide-black/10 dark:divide-white/10 rounded-xl border border-black/10 dark:border-white/10\",\n outline:\n \"divide-y divide-black/10 dark:divide-white/10 rounded-xl border border-black/15 dark:border-white/15\",\n ghost: \"divide-y divide-black/5 dark:divide-white/5\",\n card: \"space-y-2\",\n separated: \"space-y-3\",\n sky: \"divide-y divide-sky-800 dark:divide-sky-600 rounded-xl border border-sky-800 dark:border-sky-600\",\n rose: \"divide-y divide-rose-800 dark:divide-rose-600 rounded-xl border border-rose-800 dark:border-rose-600\",\n purple:\n \"divide-y divide-purple-800 dark:divide-purple-600 rounded-xl border border-purple-800 dark:border-purple-600\",\n pink: \"divide-y divide-pink-800 dark:divide-pink-600 rounded-xl border border-pink-800 dark:border-pink-600\",\n orange:\n \"divide-y divide-orange-800 dark:divide-orange-600 rounded-xl border border-orange-800 dark:border-orange-600\",\n yellow:\n \"divide-y divide-yellow-800 dark:divide-yellow-600 rounded-xl border border-yellow-800 dark:border-yellow-600\",\n teal: \"divide-y divide-teal-800 dark:divide-teal-600 rounded-xl border border-teal-800 dark:border-teal-600\",\n indigo:\n \"divide-y divide-indigo-800 dark:divide-indigo-600 rounded-xl border border-indigo-800 dark:border-indigo-600\",\n emerald:\n \"divide-y divide-emerald-800 dark:divide-emerald-600 rounded-xl border border-emerald-800 dark:border-emerald-600\",\n \"gradient-blue\":\n \"divide-y divide-blue-800 dark:divide-blue-600 rounded-xl border border-blue-800 dark:border-blue-600\",\n \"gradient-green\":\n \"divide-y divide-green-800 dark:divide-green-600 rounded-xl border border-green-800 dark:border-green-600\",\n \"gradient-red\":\n \"divide-y divide-red-800 dark:divide-red-600 rounded-xl border border-red-800 dark:border-red-600\",\n \"gradient-yellow\":\n \"divide-y divide-yellow-800 dark:divide-yellow-600 rounded-xl border border-yellow-800 dark:border-yellow-600\",\n \"gradient-purple\":\n \"divide-y divide-purple-800 dark:divide-purple-600 rounded-xl border border-purple-800 dark:border-purple-600\",\n \"gradient-teal\":\n \"divide-y divide-teal-800 dark:divide-teal-600 rounded-xl border border-teal-800 dark:border-teal-600\",\n \"gradient-indigo\":\n \"divide-y divide-indigo-800 dark:divide-indigo-600 rounded-xl border border-indigo-800 dark:border-indigo-600\",\n \"gradient-pink\":\n \"divide-y divide-pink-800 dark:divide-pink-600 rounded-xl border border-pink-800 dark:border-pink-600\",\n \"gradient-orange\":\n \"divide-y divide-orange-800 dark:divide-orange-600 rounded-xl border border-orange-800 dark:border-orange-600\",\n },\n size: {\n sm: \"px-3 py-2 text-sm\",\n md: \"px-4 py-3 text-sm\",\n lg: \"px-5 py-4 text-base\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n});\n\nexport const accordionItemVariants = cva(\"text-slate-900 dark:text-slate-200\", {\n variants: {\n appearance: {\n default: \"\",\n outline: \"\",\n ghost: \"\",\n card: \"rounded-xl border border-black/10 bg-black/5 p-2\",\n separated:\n \"rounded-xl border border-black/10 dark:border-white/10 bg-slate-50/40 dark:bg-slate-950/40 p-2\",\n sky: \"rounded-xl border border-sky-800 dark:border-sky-600 bg-sky-100/50 dark:bg-sky-600/[0.03] p-2\",\n rose: \"rounded-xl border border-rose-800 dark:border-rose-600 bg-rose-100/50 dark:bg-rose-600/[0.03] p-2\",\n purple:\n \"rounded-xl border border-purple-800 dark:border-purple-600 bg-purple-100/50 dark:bg-purple-600/[0.03] p-2\",\n pink: \"rounded-xl border border-pink-800 dark:border-pink-600 bg-pink-100/50 dark:bg-pink-600/[0.03] p-2\",\n orange:\n \"rounded-xl border border-orange-800 dark:border-orange-600 bg-orange-100/50 dark:bg-orange-600/[0.03] p-2\",\n yellow:\n \"rounded-xl border border-yellow-800 dark:border-yellow-600 bg-yellow-100/50 dark:bg-yellow-600/[0.03] p-2\",\n teal: \"rounded-xl border border-teal-800 dark:border-teal-600 bg-teal-100/50 dark:bg-teal-600/[0.03] p-2\",\n indigo:\n \"rounded-xl border border-indigo-800 dark:border-indigo-600 bg-indigo-100/50 dark:bg-indigo-600/[0.03] p-2\",\n emerald:\n \"rounded-xl border border-emerald-800 dark:border-emerald-600 bg-emerald-100/50 dark:bg-emerald-600/[0.03] p-2\",\n \"gradient-blue\":\n \"rounded-xl bg-linear-to-r from-blue-300 dark:from-blue-600 to-purple-300 dark:to-purple-600 p-2\",\n \"gradient-green\":\n \"rounded-xl bg-linear-to-r from-green-300 dark:from-green-600 to-lime-300 dark:to-lime-600 p-2\",\n \"gradient-red\":\n \"rounded-xl bg-linear-to-r from-red-300 dark:from-red-600 to-pink-300 dark:to-pink-600 p-2\",\n \"gradient-yellow\":\n \"rounded-xl bg-linear-to-r from-yellow-300 dark:from-yellow-600 to-orange-300 dark:to-orange-600 p-2\",\n \"gradient-purple\":\n \"rounded-xl bg-linear-to-r from-purple-300 dark:from-purple-600 to-pink-300 dark:to-pink-600 p-2\",\n \"gradient-teal\":\n \"rounded-xl bg-linear-to-r from-teal-300 dark:from-teal-600 to-cyan-300 dark:to-cyan-600 p-2\",\n \"gradient-indigo\":\n \"rounded-xl bg-linear-to-r from-indigo-300 dark:from-indigo-600 to-purple-300 dark:to-purple-600 p-2\",\n \"gradient-pink\":\n \"rounded-xl bg-linear-to-r from-pink-300 dark:from-pink-600 to-rose-300 dark:to-rose-600 p-2\",\n \"gradient-orange\":\n \"rounded-xl bg-linear-to-r from-orange-300 dark:from-orange-600 to-red-300 dark:to-red-600 p-2\",\n },\n },\n defaultVariants: { appearance: \"default\" },\n});\n\nexport const accordionTriggerVariants = cva(\n \"flex w-full items-center justify-between gap-3 py-3 text-left font-medium text-slate-800 dark:text-slate-200 outline-none transition hover:text-slate-900 dark:hover:text-white focus-visible:ring-2 focus-visible:ring-black/30 dark:focus-visible:ring-white/30\",\n {\n variants: {\n size: {\n sm: \"py-2 text-sm\",\n md: \"py-3 text-sm\",\n lg: \"py-4 text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const accordionContentVariants = cva(\"pb-3 text-sm\", {\n variants: {\n size: {\n sm: \"pb-2 text-xs\",\n md: \"pb-3 text-sm\",\n lg: \"pb-4 text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useState,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n AccordionBaseProps,\n AccordionContentProps,\n AccordionCtx,\n AccordionItemProps,\n AccordionTriggerProps,\n} from \"./types\";\nimport {\n accordionContentVariants,\n accordionItemVariants,\n accordionTriggerVariants,\n accordionVariants,\n} from \"./variants\";\n\nconst AccordionContext = createContext<AccordionCtx | null>(null);\n\nconst AccordionItemValueContext = createContext<string | null>(null);\n\nexport function useAccordionContext(component: string): AccordionCtx {\n const ctx = useContext(AccordionContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Accordion>`);\n }\n return ctx;\n}\n\nexport function useAccordionItemValue(component: string): string {\n const value = useContext(AccordionItemValueContext);\n if (!value) {\n throw new Error(`${component} must be used within <AccordionItem>`);\n }\n return value;\n}\n\nexport function AccordionBase({\n type = \"single\",\n value,\n values,\n defaultValue,\n defaultValues,\n onValueChange,\n onValuesChange,\n appearance = \"default\",\n size = \"md\",\n className,\n children,\n}: AccordionBaseProps) {\n const isSingleControlled = value !== undefined;\n const isMultipleControlled = values !== undefined;\n const [singleUncontrolled, setSingleUncontrolled] = useState<\n string | undefined\n >(defaultValue);\n const [multipleUncontrolled, setMultipleUncontrolled] = useState<string[]>(\n defaultValues ?? [],\n );\n\n const singleValue = isSingleControlled ? value : singleUncontrolled;\n const multipleValues = useMemo(\n () => (isMultipleControlled ? (values ?? []) : multipleUncontrolled),\n [isMultipleControlled, values, multipleUncontrolled],\n );\n\n const isOpen = useCallback(\n (itemValue: string) => {\n if (type === \"single\") {\n return singleValue === itemValue;\n }\n return multipleValues.includes(itemValue);\n },\n [multipleValues, singleValue, type],\n );\n\n const toggle = useCallback(\n (itemValue: string) => {\n if (type === \"single\") {\n const next = singleValue === itemValue ? undefined : itemValue;\n if (!isSingleControlled) {\n setSingleUncontrolled(next);\n }\n onValueChange?.(next);\n return;\n }\n const exists = multipleValues.includes(itemValue);\n const next = exists\n ? multipleValues.filter((entry) => entry !== itemValue)\n : [...multipleValues, itemValue];\n if (!isMultipleControlled) {\n setMultipleUncontrolled(next);\n }\n onValuesChange?.(next);\n },\n [\n isMultipleControlled,\n isSingleControlled,\n multipleValues,\n onValueChange,\n onValuesChange,\n singleValue,\n type,\n ],\n );\n\n const ctx = useMemo(\n () => ({\n type,\n appearance: appearance ?? \"default\",\n size: size ?? \"md\",\n isOpen,\n toggle,\n }),\n [appearance, isOpen, size, toggle, type],\n );\n\n return (\n <AccordionContext.Provider value={ctx}>\n <div\n data-slot=\"accordion\"\n className={cn(accordionVariants({ appearance, size }), className)}\n >\n {children}\n </div>\n </AccordionContext.Provider>\n );\n}\n\nAccordionBase.displayName = \"Accordion\";\n\nexport function AccordionItem({\n className,\n value,\n children,\n ref,\n ...rest\n}: AccordionItemProps) {\n const { appearance } = useAccordionContext(\"AccordionItem\");\n return (\n <AccordionItemValueContext.Provider value={value}>\n <div\n ref={ref}\n data-slot=\"accordion-item\"\n data-value={value}\n className={cn(accordionItemVariants({ appearance }), className)}\n {...rest}\n >\n {children}\n </div>\n </AccordionItemValueContext.Provider>\n );\n}\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport function AccordionTrigger({\n className,\n children,\n ref,\n ...rest\n}: AccordionTriggerProps) {\n const itemValue = useAccordionItemValue(\"AccordionTrigger\");\n const { isOpen, toggle, size } = useAccordionContext(\"AccordionTrigger\");\n const open = isOpen(itemValue);\n const panelId = `${itemValue}-panel`;\n const baseId = useId();\n\n return (\n <h3 className=\"m-0\">\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"accordion-trigger\"\n id={`${baseId}-trigger-${itemValue}`}\n aria-expanded={open}\n aria-controls={panelId}\n className={cn(accordionTriggerVariants({ size }), className)}\n onClick={() => toggle(itemValue)}\n {...rest}\n >\n {children}\n </button>\n </h3>\n );\n}\n\nAccordionTrigger.displayName = \"AccordionTrigger\";\n\nexport function AccordionContent({\n className,\n children,\n ref,\n}: AccordionContentProps) {\n const itemValue = useAccordionItemValue(\"AccordionContent\");\n const { isOpen, size } = useAccordionContext(\"AccordionContent\");\n const open = isOpen(itemValue);\n const panelId = `${itemValue}-panel`;\n\n return open ? (\n <div\n key={itemValue}\n ref={ref}\n id={panelId}\n role=\"region\"\n data-slot=\"accordion-content\"\n className={cn(accordionContentVariants({ size }), className)}\n >\n {children}\n </div>\n ) : null;\n}\n\nAccordionContent.displayName = \"AccordionContent\";\n"]}
|
|
@@ -27,5 +27,5 @@ function useControllableState({
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
exports.useControllableState = useControllableState;
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
30
|
+
//# sourceMappingURL=chunk-HPN7H5ZM.js.map
|
|
31
|
+
//# sourceMappingURL=chunk-HPN7H5ZM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useControllableState/useControllableState.ts"],"names":["useState","useRef","useCallback"],"mappings":";;;;;AAwBO,SAAS,oBAAA,CAAwB;AAAA,EACtC,KAAA,EAAO,SAAA;AAAA,EACP,YAAA;AAAA,EACA;AACF,CAAA,EAA6E;AAC3E,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,eAAS,YAAY,CAAA;AAC7D,EAAA,MAAM,eAAe,SAAA,KAAc,MAAA;AACnC,EAAA,MAAM,KAAA,GAAQ,eAAe,SAAA,GAAY,YAAA;AACzC,EAAA,MAAM,WAAA,GAAcC,aAAO,QAAQ,CAAA;AACnC,EAAA,WAAA,CAAY,OAAA,GAAU,QAAA;AAEtB,EAAA,MAAM,QAAA,GAAWC,iBAAA;AAAA,IACf,CAAC,IAAA,KAA+B;AAC9B,MAAA,MAAM,WACJ,OAAO,IAAA,KAAS,UAAA,GAAc,IAAA,CAAwB,KAAK,CAAA,GAAI,IAAA;AACjE,MAAA,IAAI,CAAC,YAAA,EAAc;AACjB,QAAA,eAAA,CAAgB,QAAQ,CAAA;AAAA,MAC1B;AACA,MAAA,WAAA,CAAY,UAAU,QAAQ,CAAA;AAAA,IAChC,CAAA;AAAA,IACA,CAAC,cAAc,KAAK;AAAA,GACtB;AAEA,EAAA,OAAO,CAAC,OAAO,QAAQ,CAAA;AACzB","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useControllableState/useControllableState.ts"],"names":["useState","useRef","useCallback"],"mappings":";;;;;AAwBO,SAAS,oBAAA,CAAwB;AAAA,EACtC,KAAA,EAAO,SAAA;AAAA,EACP,YAAA;AAAA,EACA;AACF,CAAA,EAA6E;AAC3E,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,eAAS,YAAY,CAAA;AAC7D,EAAA,MAAM,eAAe,SAAA,KAAc,MAAA;AACnC,EAAA,MAAM,KAAA,GAAQ,eAAe,SAAA,GAAY,YAAA;AACzC,EAAA,MAAM,WAAA,GAAcC,aAAO,QAAQ,CAAA;AACnC,EAAA,WAAA,CAAY,OAAA,GAAU,QAAA;AAEtB,EAAA,MAAM,QAAA,GAAWC,iBAAA;AAAA,IACf,CAAC,IAAA,KAA+B;AAC9B,MAAA,MAAM,WACJ,OAAO,IAAA,KAAS,UAAA,GAAc,IAAA,CAAwB,KAAK,CAAA,GAAI,IAAA;AACjE,MAAA,IAAI,CAAC,YAAA,EAAc;AACjB,QAAA,eAAA,CAAgB,QAAQ,CAAA;AAAA,MAC1B;AACA,MAAA,WAAA,CAAY,UAAU,QAAQ,CAAA;AAAA,IAChC,CAAA;AAAA,IACA,CAAC,cAAc,KAAK;AAAA,GACtB;AAEA,EAAA,OAAO,CAAC,OAAO,QAAQ,CAAA;AACzB","file":"chunk-HPN7H5ZM.js","sourcesContent":["\"use client\";\n\nimport { useCallback, useRef, useState } from \"react\";\n\nexport type UseControllableStateParams<T> = {\n /** When defined, the hook is controlled and this value is returned as state. */\n value?: T;\n /** Initial / fallback value when uncontrolled (`value` is `undefined`). */\n defaultValue: T;\n /** Notified on every `setValue` with the resolved next value (controlled and uncontrolled). */\n onChange?: (next: T) => void;\n};\n\n/**\n * Implements the React “controlled vs uncontrolled” pattern as a single state tuple.\n *\n * - If `value` is `undefined`, internal state mirrors `defaultValue` and updates on `setValue`.\n * - If `value` is defined, returned state follows `value`; `setValue` still calls `onChange` so the parent can update.\n * - `setValue` accepts either the next value or an updater `(prev) => next` (updater uses the current `value` in controlled mode).\n *\n * @typeParam T - State value type.\n * @param params - `value`, `defaultValue`, and optional `onChange`.\n * @returns `[value, setValue]` compatible with `useState`-style usage.\n */\nexport function useControllableState<T>({\n value: valueProp,\n defaultValue,\n onChange,\n}: UseControllableStateParams<T>): [T, (next: T | ((prev: T) => T)) => void] {\n const [uncontrolled, setUncontrolled] = useState(defaultValue);\n const isControlled = valueProp !== undefined;\n const value = isControlled ? valueProp : uncontrolled;\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const setValue = useCallback(\n (next: T | ((prev: T) => T)) => {\n const resolved =\n typeof next === \"function\" ? (next as (prev: T) => T)(value) : next;\n if (!isControlled) {\n setUncontrolled(resolved);\n }\n onChangeRef.current?.(resolved);\n },\n [isControlled, value],\n );\n\n return [value, setValue];\n}\n"]}
|