@zentauri-ui/zentauri-components 1.5.31 → 1.6.2
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 +78 -69
- 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-PWL5WD34.js → chunk-3Z73M5TW.js} +27 -26
- package/dist/chunk-3Z73M5TW.js.map +1 -0
- package/dist/{chunk-AUGLZ3AN.js → chunk-4F56BLZQ.js} +51 -51
- package/dist/chunk-4F56BLZQ.js.map +1 -0
- package/dist/{chunk-JJDANNNL.mjs → chunk-4MPNRGUA.mjs} +3 -9
- 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-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-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-KXUG4WVW.js → chunk-DO2LEXUY.js} +5 -5
- package/dist/{chunk-KXUG4WVW.js.map → chunk-DO2LEXUY.js.map} +1 -1
- 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-GPAUYUM3.js +232 -0
- package/dist/chunk-GPAUYUM3.js.map +1 -0
- package/dist/{chunk-C5L465FW.mjs → chunk-HARD4NMB.mjs} +45 -45
- package/dist/chunk-HARD4NMB.mjs.map +1 -0
- package/dist/{chunk-YTRGRHEB.js → chunk-HV7LVRK3.js} +61 -58
- package/dist/chunk-HV7LVRK3.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-JE6B3DHW.mjs +220 -0
- package/dist/chunk-JE6B3DHW.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-Q5B44QW7.js → chunk-KA5MORDC.js} +52 -52
- package/dist/chunk-KA5MORDC.js.map +1 -0
- package/dist/{chunk-TJUNN2PT.mjs → chunk-LPL6NJ5Q.mjs} +27 -26
- package/dist/chunk-LPL6NJ5Q.mjs.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-UWA23DUC.js → chunk-OB6TYS5Q.js} +28 -28
- package/dist/chunk-OB6TYS5Q.js.map +1 -0
- package/dist/chunk-OHST7AHC.mjs +99 -0
- package/dist/chunk-OHST7AHC.mjs.map +1 -0
- package/dist/{chunk-QZTEFGZF.mjs → chunk-OVTWPGMW.mjs} +18 -15
- package/dist/chunk-OVTWPGMW.mjs.map +1 -0
- package/dist/{chunk-7OHC4ERB.mjs → chunk-PPVJ4INP.mjs} +3 -3
- package/dist/{chunk-7OHC4ERB.mjs.map → chunk-PPVJ4INP.mjs.map} +1 -1
- 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-INMNX3HQ.mjs → chunk-S5H2OMTZ.mjs} +29 -36
- package/dist/chunk-S5H2OMTZ.mjs.map +1 -0
- package/dist/chunk-TIPNRH26.js +102 -0
- package/dist/chunk-TIPNRH26.js.map +1 -0
- package/dist/chunk-V2PEOBAT.mjs +324 -0
- package/dist/chunk-V2PEOBAT.mjs.map +1 -0
- package/dist/chunk-VGWA26BN.js +72 -0
- package/dist/chunk-VGWA26BN.js.map +1 -0
- package/dist/{chunk-MEJMX4QI.js → chunk-VMCOX3Z2.js} +3 -9
- package/dist/chunk-VMCOX3Z2.js.map +1 -0
- package/dist/chunk-WNLDXBS6.mjs +323 -0
- package/dist/chunk-WNLDXBS6.mjs.map +1 -0
- package/dist/{chunk-AD2LA3XN.js → chunk-YIO7DFUA.js} +39 -36
- package/dist/chunk-YIO7DFUA.js.map +1 -0
- package/dist/hooks/useDynamicStepper/index.d.ts +1 -1
- package/dist/hooks/useDynamicStepper/index.d.ts.map +1 -1
- package/dist/hooks/useDynamicStepper/useDynamicStepper.d.ts.map +1 -1
- package/dist/hooks/useDynamicStepper.js +2 -2
- package/dist/hooks/useDynamicStepper.mjs +1 -1
- 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 +4 -4
- package/dist/ui/buttons.mjs +2 -2
- 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/index.d.ts +1 -1
- package/dist/ui/dynamic-stepper/index.d.ts.map +1 -1
- package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
- package/dist/ui/dynamic-stepper.js +75 -72
- package/dist/ui/dynamic-stepper.js.map +1 -1
- package/dist/ui/dynamic-stepper.mjs +72 -69
- package/dist/ui/dynamic-stepper.mjs.map +1 -1
- 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/types.d.ts.map +1 -1
- package/dist/ui/pagination/variants.d.ts.map +1 -1
- package/dist/ui/pagination.js +33 -33
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +30 -30
- 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 +67 -67
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +67 -67
- 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/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 -3
- package/src/hooks/useDynamicStepper/useDynamicStepper.ts +1 -7
- 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 +2 -2
- 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 +6 -2
- package/src/ui/dynamic-stepper/dynamic-stepper.tsx +2 -2
- package/src/ui/dynamic-stepper/index.ts +1 -3
- package/src/ui/dynamic-stepper/variants.ts +73 -64
- 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 +2 -2
- package/src/ui/modal/variants.ts +64 -47
- package/src/ui/pagination/pagination.tsx +1 -1
- package/src/ui/pagination/types.ts +1 -4
- 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 +73 -67
- 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 +61 -29
- package/src/ui/tooltip/variants.ts +21 -20
- package/src/ui/typography/code-block-base.tsx +1 -1
- 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 +0 -324
- package/dist/chunk-JBAUEGYD.mjs.map +0 -1
- package/dist/chunk-JJDANNNL.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-MEJMX4QI.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/drawer/variants.ts","../src/ui/drawer/drawer-base.tsx"],"names":[],"mappings":"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","file":"chunk-V2PEOBAT.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const drawerOverlayVariants = cva(\n \"fixed inset-0 z-50 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-sm\",\n);\n\nexport const drawerTriggerVariants = cva(\n \"relative inline-flex shrink-0 cursor-pointer border rounded px-3 py-1.5\",\n {\n variants: {\n appearance: {\n default: \"bg-slate-950\",\n glass:\n \"border-black/15 dark:border-white/15 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-xl text-slate-900 dark:text-white\",\n sky: \"border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl text-sky-800 dark:text-white\",\n rose: \"border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl text-rose-800 dark:text-white\",\n purple:\n \"border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl text-purple-800 dark:text-white\",\n pink: \"border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl text-pink-800 dark:text-white\",\n orange:\n \"border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl text-orange-800 dark:text-white\",\n yellow:\n \"border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl text-yellow-800 dark:text-white\",\n teal: \"border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl text-teal-800 dark:text-white\",\n indigo:\n \"border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl text-indigo-800 dark:text-white\",\n emerald:\n \"border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl text-emerald-800 dark:text-white\",\n gray: \"border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl text-gray-800 dark:text-white\",\n amber:\n \"border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl text-amber-800 dark:text-white\",\n violet:\n \"border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl text-violet-800 dark:text-white\",\n \"gradient-blue\":\n \"border-blue-800 dark:border-blue-600 bg-linear-to-r from-blue-50 dark:from-blue-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl text-blue-800 dark:text-white\",\n \"gradient-green\":\n \"border-green-800 dark:border-green-600 bg-linear-to-r from-green-50 dark:from-green-950/70 to-lime-50 dark:to-lime-950/70 backdrop-blur-xl text-green-800 dark:text-white\",\n \"gradient-red\":\n \"border-red-800 dark:border-red-600 bg-linear-to-r from-red-50 dark:from-red-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl text-red-800 dark:text-white\",\n \"gradient-yellow\":\n \"border-yellow-800 dark:border-yellow-600 bg-linear-to-r from-yellow-50 dark:from-yellow-950/70 to-orange-50 dark:to-orange-950/70 backdrop-blur-xl text-yellow-800 dark:text-white\",\n \"gradient-purple\":\n \"border-purple-800 dark:border-purple-600 bg-linear-to-r from-purple-50 dark:from-purple-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl text-purple-800 dark:text-white\",\n \"gradient-teal\":\n \"border-teal-800 dark:border-teal-600 bg-linear-to-r from-teal-50 dark:from-teal-950/70 to-cyan-50 dark:to-cyan-950/70 backdrop-blur-xl text-teal-800 dark:text-white\",\n \"gradient-indigo\":\n \"border-indigo-800 dark:border-indigo-600 bg-linear-to-r from-indigo-50 dark:from-indigo-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl text-indigo-800 dark:text-white\",\n \"gradient-pink\":\n \"border-pink-800 dark:border-pink-600 bg-linear-to-r from-pink-50 dark:from-pink-950/70 to-rose-50 dark:to-rose-950/70 backdrop-blur-xl text-pink-800 dark:text-white\",\n \"gradient-orange\":\n \"border-orange-800 dark:border-orange-600 bg-linear-to-r from-orange-50 dark:from-orange-950/70 to-red-50 dark:to-red-950/70 backdrop-blur-xl text-orange-800 dark:text-white\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n },\n },\n);\n\nexport const drawerContentVariants = cva(\n \"fixed z-50 flex max-h-[min(92vh,900px)] flex-col border border-black/10 dark:border-white/10 bg-slate-50 dark:bg-slate-950 p-6 text-slate-900 dark:text-slate-50 shadow-[0_12px_40px_rgba(15,23,42,0.14)] dark:shadow-[0_24px_80px_rgba(15,23,42,0.55)] focus:outline-none\",\n {\n variants: {\n side: {\n left: \"left-0 top-0 h-full w-[min(100%,420px)]\",\n right: \"right-0 top-0 h-full w-[min(100%,420px)]\",\n top: \"left-0 top-0 w-full max-h-[min(92vh,520px)]\",\n bottom: \"bottom-0 left-0 w-full max-h-[min(92vh,520px)]\",\n },\n size: {\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n full: \"\",\n },\n appearance: {\n default: \"bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-white\",\n glass:\n \"border-black/15 dark:border-white/15 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-xl\",\n sky: \"border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl\",\n purple:\n \"border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl\",\n orange:\n \"border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl\",\n yellow:\n \"border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl\",\n indigo:\n \"border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl\",\n emerald:\n \"border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl\",\n amber:\n \"border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl\",\n violet:\n \"border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\":\n \"border-blue-800 dark:border-blue-600 bg-linear-to-r from-blue-50 dark:from-blue-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\":\n \"border-green-800 dark:border-green-600 bg-linear-to-r from-green-50 dark:from-green-950/70 to-lime-50 dark:to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\":\n \"border-red-800 dark:border-red-600 bg-linear-to-r from-red-50 dark:from-red-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\":\n \"border-yellow-800 dark:border-yellow-600 bg-linear-to-r from-yellow-50 dark:from-yellow-950/70 to-orange-50 dark:to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\":\n \"border-purple-800 dark:border-purple-600 bg-linear-to-r from-purple-50 dark:from-purple-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\":\n \"border-teal-800 dark:border-teal-600 bg-linear-to-r from-teal-50 dark:from-teal-950/70 to-cyan-50 dark:to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\":\n \"border-indigo-800 dark:border-indigo-600 bg-linear-to-r from-indigo-50 dark:from-indigo-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\":\n \"border-pink-800 dark:border-pink-600 bg-linear-to-r from-pink-50 dark:from-pink-950/70 to-rose-50 dark:to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\":\n \"border-orange-800 dark:border-orange-600 bg-linear-to-r from-orange-50 dark:from-orange-950/70 to-red-50 dark:to-red-950/70 backdrop-blur-xl\",\n },\n },\n compoundVariants: [\n { side: \"left\", size: \"sm\", class: \"w-[min(100%,320px)]\" },\n { side: \"left\", size: \"md\", class: \"w-[min(100%,420px)]\" },\n { side: \"left\", size: \"lg\", class: \"w-[min(100%,520px)]\" },\n { side: \"left\", size: \"xl\", class: \"w-[min(100%,640px)]\" },\n { side: \"left\", size: \"full\", class: \"w-full max-w-none\" },\n { side: \"right\", size: \"sm\", class: \"w-[min(100%,320px)]\" },\n { side: \"right\", size: \"md\", class: \"w-[min(100%,420px)]\" },\n { side: \"right\", size: \"lg\", class: \"w-[min(100%,520px)]\" },\n { side: \"right\", size: \"xl\", class: \"w-[min(100%,640px)]\" },\n { side: \"right\", size: \"full\", class: \"w-full max-w-none\" },\n ],\n defaultVariants: {\n side: \"right\",\n size: \"md\",\n appearance: \"default\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useRef,\n useState,\n type RefObject,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../../lib/utils\";\nimport { useFocusManagement } from \"../../hooks/useFocusManagement\";\n\nimport type {\n DrawerContentProps,\n DrawerCtx,\n DrawerProps,\n DrawerSectionProps,\n DrawerTriggerProps,\n} from \"./types\";\nimport {\n drawerContentVariants,\n drawerOverlayVariants,\n drawerTriggerVariants,\n} from \"./variants\";\n\nconst DrawerContext = createContext<DrawerCtx | null>(null);\n\nexport function useDrawerContext(component: string): DrawerCtx {\n const ctx = useContext(DrawerContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Drawer>`);\n }\n return ctx;\n}\n\nexport function Drawer({\n open,\n defaultOpen = false,\n onOpenChange,\n children,\n}: DrawerProps) {\n const isControlled = open !== undefined;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const resolvedOpen = isControlled ? Boolean(open) : uncontrolledOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolledOpen(next);\n }\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const baseId = useId();\n const titleId = `${baseId}-title`;\n const descriptionId = `${baseId}-description`;\n const contentRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n\n const ctx = useMemo(\n () => ({\n open: resolvedOpen,\n setOpen,\n titleId,\n descriptionId,\n contentRef,\n triggerRef,\n }),\n [descriptionId, resolvedOpen, setOpen, titleId],\n );\n\n return (\n <DrawerContext.Provider value={ctx}>{children}</DrawerContext.Provider>\n );\n}\n\nDrawer.displayName = \"Drawer\";\n\nexport function DrawerTrigger({\n className,\n children,\n appearance,\n onClick,\n ref: refProp,\n ...rest\n}: DrawerTriggerProps) {\n const { setOpen, triggerRef } = useDrawerContext(\"DrawerTrigger\");\n return (\n <button\n ref={(node) => {\n triggerRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLButtonElement | null>).current = node;\n }\n }}\n type=\"button\"\n data-slot=\"drawer-trigger\"\n className={cn(drawerTriggerVariants({ appearance }), className)}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(true);\n }\n }}\n {...rest}\n >\n {children}\n </button>\n );\n}\n\nDrawerTrigger.displayName = \"DrawerTrigger\";\n\nexport function DrawerContent({\n className,\n side = \"right\",\n size,\n appearance,\n children,\n ref,\n id,\n style,\n}: DrawerContentProps) {\n const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } =\n useDrawerContext(\"DrawerContent\");\n const resolvedSide = side ?? \"right\";\n\n useFocusManagement({\n open,\n setOpen,\n contentRef,\n triggerRef,\n });\n\n const portalTarget = typeof document !== \"undefined\" ? document.body : null;\n if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n open ? (\n <div className=\"fixed inset-0 z-50\" data-slot=\"drawer-portal\">\n <div\n role=\"presentation\"\n data-slot=\"drawer-overlay\"\n className={drawerOverlayVariants()}\n onClick={() => setOpen(false)}\n />\n <div\n ref={(node) => {\n contentRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as RefObject<HTMLDivElement | null>).current = node;\n }\n }}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n data-slot=\"drawer-content\"\n tabIndex={-1}\n className={cn(\n drawerContentVariants({ side: resolvedSide, size, appearance }),\n className,\n )}\n id={id}\n style={style}\n >\n {children}\n </div>\n </div>\n ) : null,\n portalTarget,\n );\n}\n\nDrawerContent.displayName = \"DrawerContent\";\n\nexport function DrawerHeader({ className, children }: DrawerSectionProps) {\n return (\n <header\n data-slot=\"drawer-header\"\n className={cn(\"mb-4 flex flex-col gap-2\", className)}\n >\n {children}\n </header>\n );\n}\n\nDrawerHeader.displayName = \"DrawerHeader\";\n\nexport function DrawerBody({ className, children }: DrawerSectionProps) {\n return (\n <div\n data-slot=\"drawer-body\"\n className={cn(\"flex-1 text-sm\", className)}\n >\n {children}\n </div>\n );\n}\n\nDrawerBody.displayName = \"DrawerBody\";\n\nexport function DrawerFooter({ className, children }: DrawerSectionProps) {\n return (\n <footer\n data-slot=\"drawer-footer\"\n className={cn(\"mt-6 flex justify-end gap-2\", className)}\n >\n {children}\n </footer>\n );\n}\n\nDrawerFooter.displayName = \"DrawerFooter\";\n\nexport function DrawerTitle({ className, children }: DrawerSectionProps) {\n const { titleId } = useDrawerContext(\"DrawerTitle\");\n return (\n <h2\n id={titleId}\n data-slot=\"drawer-title\"\n className={cn(\"text-lg font-semibold\", className)}\n >\n {children}\n </h2>\n );\n}\n\nDrawerTitle.displayName = \"DrawerTitle\";\n\nexport function DrawerClose({\n className,\n children,\n ...rest\n}: DrawerSectionProps) {\n const { setOpen } = useDrawerContext(\"DrawerClose\");\n return (\n <button\n type=\"button\"\n data-slot=\"drawer-close\"\n className={cn(\n \"absolute right-4 top-4 inline-flex size-9 items-center justify-center rounded-md dark:text-slate-200 text-slate-900 transition hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/30\",\n className,\n )}\n aria-label=\"Close drawer\"\n onClick={() => setOpen(false)}\n {...rest}\n >\n {children ?? \"×\"}\n </button>\n );\n}\n\nDrawerClose.displayName = \"DrawerClose\";\n"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
4
|
+
|
|
5
|
+
// src/ui/buttons/variants.ts
|
|
6
|
+
var buttonVariants = classVarianceAuthority.cva(
|
|
7
|
+
[
|
|
8
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl",
|
|
9
|
+
"text-sm font-medium ring-offset-slate-50 dark:ring-offset-slate-950 transition-colors",
|
|
10
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-600 dark:focus-visible:ring-slate-300 focus-visible:ring-offset-2",
|
|
11
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
12
|
+
"select-none"
|
|
13
|
+
],
|
|
14
|
+
{
|
|
15
|
+
variants: {
|
|
16
|
+
appearance: {
|
|
17
|
+
default: "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",
|
|
18
|
+
secondary: "bg-slate-200 dark:bg-slate-800 text-slate-900 dark:text-slate-50 hover:bg-slate-300 dark:hover:bg-slate-700",
|
|
19
|
+
destructive: "bg-rose-500 dark:bg-rose-700 text-white hover:bg-rose-500 dark:hover:bg-rose-800",
|
|
20
|
+
outline: "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",
|
|
21
|
+
ghost: "bg-transparent text-slate-700 dark:text-slate-200 hover:bg-black/5 dark:hover:bg-white/5",
|
|
22
|
+
link: "bg-transparent text-cyan-700 dark:text-cyan-300 underline-offset-4 hover:underline",
|
|
23
|
+
glass: "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",
|
|
24
|
+
emerald: "bg-emerald-500 dark:bg-emerald-800 text-white hover:bg-emerald-500 dark:hover:bg-emerald-900",
|
|
25
|
+
indigo: "bg-indigo-800 dark:bg-indigo-600 text-white hover:bg-indigo-800 dark:hover:bg-indigo-600",
|
|
26
|
+
purple: "bg-purple-800 dark:bg-purple-600 text-white hover:bg-purple-800 dark:hover:bg-purple-600",
|
|
27
|
+
pink: "bg-pink-800 dark:bg-pink-600 text-white hover:bg-pink-800 dark:hover:bg-pink-600",
|
|
28
|
+
rose: "bg-rose-800 dark:bg-rose-600 text-white hover:bg-rose-800 dark:hover:bg-rose-600",
|
|
29
|
+
sky: "bg-sky-500 dark:bg-sky-700 text-white hover:bg-sky-500 dark:hover:bg-sky-800",
|
|
30
|
+
teal: "bg-teal-500 dark:bg-teal-700 text-white hover:bg-teal-500 dark:hover:bg-teal-800",
|
|
31
|
+
yellow: "bg-yellow-500 dark:bg-yellow-800 text-white hover:bg-yellow-500 dark:hover:bg-yellow-900",
|
|
32
|
+
orange: "bg-orange-500 dark:bg-orange-800 text-white hover:bg-orange-500 dark:hover:bg-orange-900",
|
|
33
|
+
gray: "bg-gray-500 dark:bg-gray-700 text-white hover:bg-gray-500 dark:hover:bg-gray-800",
|
|
34
|
+
amber: "bg-amber-500 dark:bg-amber-800 text-white hover:bg-amber-500 dark:hover:bg-amber-900",
|
|
35
|
+
violet: "bg-violet-800 dark:bg-violet-600 text-white hover:bg-violet-800 dark:hover:bg-violet-600",
|
|
36
|
+
"gradient-blue": "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",
|
|
37
|
+
"gradient-green": "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",
|
|
38
|
+
"gradient-red": "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",
|
|
39
|
+
"gradient-yellow": "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",
|
|
40
|
+
"gradient-purple": "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",
|
|
41
|
+
"gradient-teal": "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",
|
|
42
|
+
"gradient-indigo": "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",
|
|
43
|
+
"gradient-pink": "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",
|
|
44
|
+
"gradient-orange": "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"
|
|
45
|
+
},
|
|
46
|
+
size: {
|
|
47
|
+
sm: "h-7 md:h-9 px-3 text-xs",
|
|
48
|
+
md: "h-9 md:h-11 px-4",
|
|
49
|
+
lg: "h-10 md:h-12 px-5 text-base",
|
|
50
|
+
xl: "h-12 md:h-14 px-6 text-lg",
|
|
51
|
+
"2xl": "h-14 md:h-16 px-6 md:px-8 text-xl",
|
|
52
|
+
"3xl": "h-16 md:h-18 px-8 md:px-10 text-2xl",
|
|
53
|
+
"4xl": "h-18 md:h-20 px-10 md:px-12 text-2xl",
|
|
54
|
+
"5xl": "h-20 md:h-22 px-12 md:px-14 text-2xl",
|
|
55
|
+
"6xl": "h-22 md:h-24 px-14 md:px-16 text-2xl",
|
|
56
|
+
"7xl": "h-24 md:h-26 px-16 md:px-18 text-2xl",
|
|
57
|
+
"8xl": "h-26 md:h-28 px-20 text-2xl",
|
|
58
|
+
"9xl": "h-24 md:h-30 px-18 md:px-22 text-2xl",
|
|
59
|
+
"10xl": "h-26 md:h-32 px-20 md:px-24 text-2xl",
|
|
60
|
+
icon: "h-10 w-10"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
defaultVariants: {
|
|
64
|
+
appearance: "default",
|
|
65
|
+
size: "md"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
exports.buttonVariants = buttonVariants;
|
|
71
|
+
//# sourceMappingURL=chunk-VGWA26BN.js.map
|
|
72
|
+
//# sourceMappingURL=chunk-VGWA26BN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/buttons/variants.ts"],"names":["cva"],"mappings":";;;;;AAEO,IAAM,cAAA,GAAiBA,0BAAA;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-VGWA26BN.js","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"]}
|
|
@@ -42,13 +42,7 @@ function useDynamicStepper({
|
|
|
42
42
|
const nextStep = clampDynamicStepperIndex(activeStep - 1, stepCount);
|
|
43
43
|
setStoredStep(nextStep);
|
|
44
44
|
onPrevious?.(nextStep);
|
|
45
|
-
}, [
|
|
46
|
-
activeStep,
|
|
47
|
-
canGoPrevious,
|
|
48
|
-
onPrevious,
|
|
49
|
-
setStoredStep,
|
|
50
|
-
stepCount
|
|
51
|
-
]);
|
|
45
|
+
}, [activeStep, canGoPrevious, onPrevious, setStoredStep, stepCount]);
|
|
52
46
|
const goNext = react.useCallback(() => {
|
|
53
47
|
if (!canGoNext) {
|
|
54
48
|
return;
|
|
@@ -69,5 +63,5 @@ function useDynamicStepper({
|
|
|
69
63
|
}
|
|
70
64
|
|
|
71
65
|
exports.useDynamicStepper = useDynamicStepper;
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-VMCOX3Z2.js.map
|
|
67
|
+
//# sourceMappingURL=chunk-VMCOX3Z2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useDynamicStepper/useDynamicStepper.ts"],"names":["useControllableState","useMemo","useCallback"],"mappings":";;;;;AAWA,SAAS,wBAAA,CAAyB,OAAe,SAAA,EAA2B;AAC1E,EAAA,IAAI,aAAa,CAAA,EAAG;AAClB,IAAA,OAAO,CAAA;AAAA,EACT;AACA,EAAA,OAAO,IAAA,CAAK,IAAI,IAAA,CAAK,GAAA,CAAI,OAAO,CAAC,CAAA,EAAG,YAAY,CAAC,CAAA;AACnD;AAQO,SAAS,iBAAA,CAAkB;AAAA,EAChC,SAAA;AAAA,EACA,UAAA,EAAY,cAAA;AAAA,EACZ,iBAAA,GAAoB,CAAA;AAAA,EACpB,kBAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAAqD;AACnD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,qCAAA,CAA6B;AAAA,IAC/D,KAAA,EAAO,cAAA;AAAA,IACP,YAAA,EAAc,wBAAA,CAAyB,iBAAA,EAAmB,SAAS,CAAA;AAAA,IACnE,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,UAAA,GAAaC,aAAA;AAAA,IACjB,MAAM,wBAAA,CAAyB,UAAA,EAAY,SAAS,CAAA;AAAA,IACpD,CAAC,YAAY,SAAS;AAAA,GACxB;AAEA,EAAA,MAAM,aAAA,GAAgB,SAAA,GAAY,CAAA,IAAK,UAAA,GAAa,CAAA;AACpD,EAAA,MAAM,SAAA,GAAY,SAAA,GAAY,CAAA,IAAK,UAAA,GAAa,SAAA,GAAY,CAAA;AAE5D,EAAA,MAAM,aAAA,GAAgBC,iBAAA;AAAA,IACpB,CAAC,IAAA,KAA8C;AAC7C,MAAA,MAAM,WACJ,OAAO,IAAA,KAAS,UAAA,GACX,IAAA,CAAkC,UAAU,CAAA,GAC7C,IAAA;AACN,MAAA,aAAA,CAAc,wBAAA,CAAyB,QAAA,EAAU,SAAS,CAAC,CAAA;AAAA,IAC7D,CAAA;AAAA,IACA,CAAC,UAAA,EAAY,aAAA,EAAe,SAAS;AAAA,GACvC;AAEA,EAAA,MAAM,UAAA,GAAaA,kBAAY,MAAM;AACnC,IAAA,IAAI,CAAC,aAAA,EAAe;AAClB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,QAAA,GAAW,wBAAA,CAAyB,UAAA,GAAa,CAAA,EAAG,SAAS,CAAA;AACnE,IAAA,aAAA,CAAc,QAAQ,CAAA;AACtB,IAAA,UAAA,GAAa,QAAQ,CAAA;AAAA,EACvB,GAAG,CAAC,UAAA,EAAY,eAAe,UAAA,EAAY,aAAA,EAAe,SAAS,CAAC,CAAA;AAEpE,EAAA,MAAM,MAAA,GAASA,kBAAY,MAAM;AAC/B,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA;AAAA,IACF;AACA,IAAA,MAAM,QAAA,GAAW,wBAAA,CAAyB,UAAA,GAAa,CAAA,EAAG,SAAS,CAAA;AACnE,IAAA,aAAA,CAAc,QAAQ,CAAA;AACtB,IAAA,MAAA,GAAS,QAAQ,CAAA;AAAA,EACnB,GAAG,CAAC,UAAA,EAAY,WAAW,MAAA,EAAQ,aAAA,EAAe,SAAS,CAAC,CAAA;AAE5D,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA,aAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-VMCOX3Z2.js","sourcesContent":["\"use client\";\n\nimport { useCallback, useMemo } from \"react\";\n\nimport { useControllableState } from \"../useControllableState/useControllableState\";\n\nimport type {\n UseDynamicStepperParams,\n UseDynamicStepperResult,\n} from \"../../ui/dynamic-stepper/types\";\n\nfunction clampDynamicStepperIndex(index: number, stepCount: number): number {\n if (stepCount <= 0) {\n return 0;\n }\n return Math.min(Math.max(index, 0), stepCount - 1);\n}\n\n/**\n * Headless multi-step index with prev/next navigation.\n *\n * @param params.stepCount - Number of steps (0-based count semantics via indices).\n * @returns Active step, setter, navigation helpers, and boundary flags.\n */\nexport function useDynamicStepper({\n stepCount,\n activeStep: activeStepProp,\n defaultActiveStep = 0,\n onActiveStepChange,\n onPrevious,\n onNext,\n}: UseDynamicStepperParams): UseDynamicStepperResult {\n const [storedStep, setStoredStep] = useControllableState<number>({\n value: activeStepProp,\n defaultValue: clampDynamicStepperIndex(defaultActiveStep, stepCount),\n onChange: onActiveStepChange,\n });\n\n const activeStep = useMemo(\n () => clampDynamicStepperIndex(storedStep, stepCount),\n [storedStep, stepCount],\n );\n\n const canGoPrevious = stepCount > 0 && activeStep > 0;\n const canGoNext = stepCount > 0 && activeStep < stepCount - 1;\n\n const setActiveStep = useCallback(\n (next: number | ((prev: number) => number)) => {\n const resolved =\n typeof next === \"function\"\n ? (next as (prev: number) => number)(activeStep)\n : next;\n setStoredStep(clampDynamicStepperIndex(resolved, stepCount));\n },\n [activeStep, setStoredStep, stepCount],\n );\n\n const goPrevious = useCallback(() => {\n if (!canGoPrevious) {\n return;\n }\n const nextStep = clampDynamicStepperIndex(activeStep - 1, stepCount);\n setStoredStep(nextStep);\n onPrevious?.(nextStep);\n }, [activeStep, canGoPrevious, onPrevious, setStoredStep, stepCount]);\n\n const goNext = useCallback(() => {\n if (!canGoNext) {\n return;\n }\n const nextStep = clampDynamicStepperIndex(activeStep + 1, stepCount);\n setStoredStep(nextStep);\n onNext?.(nextStep);\n }, [activeStep, canGoNext, onNext, setStoredStep, stepCount]);\n\n return {\n activeStep,\n setActiveStep,\n goPrevious,\n goNext,\n canGoPrevious,\n canGoNext,\n stepCount,\n };\n}\n"]}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { useFocusManagement } from './chunk-K6YI4FJO.mjs';
|
|
2
|
+
import { cn } from './chunk-4D54YOL6.mjs';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { createContext, useContext, useState, useCallback, useId, useRef, useMemo } from 'react';
|
|
5
|
+
import { createPortal } from 'react-dom';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var modalOverlayVariants = cva(
|
|
9
|
+
"fixed inset-0 z-50 bg-slate-950/70 backdrop-blur-sm data-[state=open]:animate-in"
|
|
10
|
+
);
|
|
11
|
+
var modalTriggerVariants = cva(
|
|
12
|
+
"relative inline-flex shrink-0 cursor-pointer rounded-md border",
|
|
13
|
+
{
|
|
14
|
+
variants: {
|
|
15
|
+
appearance: {
|
|
16
|
+
default: "bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-slate-50",
|
|
17
|
+
glass: "border-black/15 dark:border-white/15 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-xl text-slate-900 dark:text-slate-50",
|
|
18
|
+
sky: "border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl text-sky-800 dark:text-sky-50",
|
|
19
|
+
rose: "border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl text-rose-800 dark:text-rose-50",
|
|
20
|
+
purple: "border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl text-purple-800 dark:text-purple-50",
|
|
21
|
+
pink: "border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl text-pink-800 dark:text-pink-50",
|
|
22
|
+
orange: "border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl text-orange-800 dark:text-orange-50",
|
|
23
|
+
yellow: "border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl text-yellow-800 dark:text-yellow-50",
|
|
24
|
+
teal: "border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl text-teal-800 dark:text-teal-50",
|
|
25
|
+
indigo: "border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl text-indigo-800 dark:text-indigo-50",
|
|
26
|
+
emerald: "border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl text-emerald-800 dark:text-emerald-50",
|
|
27
|
+
gray: "border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl text-gray-800 dark:text-gray-50",
|
|
28
|
+
amber: "border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl text-amber-800 dark:text-amber-50",
|
|
29
|
+
violet: "border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl text-violet-800 dark:text-violet-50",
|
|
30
|
+
"gradient-blue": "border-blue-800 dark:border-blue-600 bg-linear-to-r from-blue-50 dark:from-blue-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl text-blue-800 dark:text-blue-50",
|
|
31
|
+
"gradient-green": "border-green-800 dark:border-green-600 bg-linear-to-r from-green-50 dark:from-green-950/70 to-lime-50 dark:to-lime-950/70 backdrop-blur-xl text-green-800 dark:text-green-50",
|
|
32
|
+
"gradient-red": "border-red-800 dark:border-red-600 bg-linear-to-r from-red-50 dark:from-red-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl text-red-800 dark:text-red-50",
|
|
33
|
+
"gradient-yellow": "border-yellow-800 dark:border-yellow-600 bg-linear-to-r from-yellow-50 dark:from-yellow-950/70 to-orange-50 dark:to-orange-950/70 backdrop-blur-xl text-yellow-800 dark:text-yellow-50",
|
|
34
|
+
"gradient-purple": "border-purple-800 dark:border-purple-600 bg-linear-to-r from-purple-50 dark:from-purple-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl text-purple-800 dark:text-purple-50",
|
|
35
|
+
"gradient-teal": "border-teal-800 dark:border-teal-600 bg-linear-to-r from-teal-50 dark:from-teal-950/70 to-cyan-50 dark:to-cyan-950/70 backdrop-blur-xl text-teal-800 dark:text-teal-50",
|
|
36
|
+
"gradient-indigo": "border-indigo-800 dark:border-indigo-600 bg-linear-to-r from-indigo-50 dark:from-indigo-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl text-indigo-800 dark:text-indigo-50",
|
|
37
|
+
"gradient-pink": "border-pink-800 dark:border-pink-600 bg-linear-to-r from-pink-50 dark:from-pink-950/70 to-rose-50 dark:to-rose-950/70 backdrop-blur-xl text-pink-800 dark:text-pink-50",
|
|
38
|
+
"gradient-orange": "border-orange-800 dark:border-orange-600 bg-linear-to-r from-orange-50 dark:from-orange-950/70 to-red-50 dark:to-red-950/70 backdrop-blur-xl text-orange-800 dark:text-orange-50"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
defaultVariants: {
|
|
42
|
+
appearance: "default"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
var modalContentVariants = cva(
|
|
47
|
+
"fixed left-1/2 z-50 w-[calc(100%-2rem)] max-h-[min(90vh,720px)] translate-x-[-50%] overflow-y-auto border border-black/10 dark:border-white/10 bg-slate-50 dark:bg-slate-950 p-6 text-slate-900 dark:text-slate-50 shadow-[0_12px_40px_rgba(15,23,42,0.14)] dark:shadow-[0_24px_80px_rgba(15,23,42,0.55)] focus:outline-none",
|
|
48
|
+
{
|
|
49
|
+
variants: {
|
|
50
|
+
size: {
|
|
51
|
+
sm: "max-w-md",
|
|
52
|
+
md: "max-w-lg",
|
|
53
|
+
lg: "max-w-2xl",
|
|
54
|
+
xl: "max-w-4xl",
|
|
55
|
+
full: "max-w-[calc(100%-2rem)]"
|
|
56
|
+
},
|
|
57
|
+
position: {
|
|
58
|
+
center: "top-1/2 translate-y-[-50%]",
|
|
59
|
+
top: "top-10 translate-y-0",
|
|
60
|
+
bottom: "bottom-10 translate-y-0"
|
|
61
|
+
},
|
|
62
|
+
appearance: {
|
|
63
|
+
default: "bg-slate-50 dark:bg-slate-950",
|
|
64
|
+
glass: "border-black/15 dark:border-white/15 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-xl",
|
|
65
|
+
sky: "border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl",
|
|
66
|
+
rose: "border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl",
|
|
67
|
+
purple: "border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl",
|
|
68
|
+
pink: "border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl",
|
|
69
|
+
orange: "border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl",
|
|
70
|
+
yellow: "border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl",
|
|
71
|
+
teal: "border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl",
|
|
72
|
+
indigo: "border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl",
|
|
73
|
+
emerald: "border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl",
|
|
74
|
+
gray: "border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl",
|
|
75
|
+
amber: "border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl",
|
|
76
|
+
violet: "border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl",
|
|
77
|
+
"gradient-blue": "border-blue-800 dark:border-blue-600 bg-linear-to-r from-blue-50 dark:from-blue-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl",
|
|
78
|
+
"gradient-green": "border-green-800 dark:border-green-600 bg-linear-to-r from-green-50 dark:from-green-950/70 to-lime-50 dark:to-lime-950/70 backdrop-blur-xl",
|
|
79
|
+
"gradient-red": "border-red-800 dark:border-red-600 bg-linear-to-r from-red-50 dark:from-red-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl",
|
|
80
|
+
"gradient-yellow": "border-yellow-800 dark:border-yellow-600 bg-linear-to-r from-yellow-50 dark:from-yellow-950/70 to-orange-50 dark:to-orange-950/70 backdrop-blur-xl",
|
|
81
|
+
"gradient-purple": "border-purple-800 dark:border-purple-600 bg-linear-to-r from-purple-50 dark:from-purple-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl",
|
|
82
|
+
"gradient-teal": "border-teal-800 dark:border-teal-600 bg-linear-to-r from-teal-50 dark:from-teal-950/70 to-cyan-50 dark:to-cyan-950/70 backdrop-blur-xl",
|
|
83
|
+
"gradient-indigo": "border-indigo-800 dark:border-indigo-600 bg-linear-to-r from-indigo-50 dark:from-indigo-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl",
|
|
84
|
+
"gradient-pink": "border-pink-800 dark:border-pink-600 bg-linear-to-r from-pink-50 dark:from-pink-950/70 to-rose-50 dark:to-rose-950/70 backdrop-blur-xl",
|
|
85
|
+
"gradient-orange": "border-orange-800 dark:border-orange-600 bg-linear-to-r from-orange-50 dark:from-orange-950/70 to-red-50 dark:to-red-950/70 backdrop-blur-xl"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
defaultVariants: {
|
|
89
|
+
size: "md",
|
|
90
|
+
position: "center",
|
|
91
|
+
appearance: "default"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
var ModalContext = createContext(null);
|
|
96
|
+
function useModalContext(component) {
|
|
97
|
+
const ctx = useContext(ModalContext);
|
|
98
|
+
if (!ctx) {
|
|
99
|
+
throw new Error(`${component} must be used within <Modal>`);
|
|
100
|
+
}
|
|
101
|
+
return ctx;
|
|
102
|
+
}
|
|
103
|
+
function Modal({
|
|
104
|
+
open,
|
|
105
|
+
defaultOpen = false,
|
|
106
|
+
onOpenChange,
|
|
107
|
+
children
|
|
108
|
+
}) {
|
|
109
|
+
const isControlled = open !== void 0;
|
|
110
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
111
|
+
const resolvedOpen = isControlled ? Boolean(open) : uncontrolledOpen;
|
|
112
|
+
const setOpen = useCallback(
|
|
113
|
+
(next) => {
|
|
114
|
+
if (!isControlled) {
|
|
115
|
+
setUncontrolledOpen(next);
|
|
116
|
+
}
|
|
117
|
+
onOpenChange?.(next);
|
|
118
|
+
},
|
|
119
|
+
[isControlled, onOpenChange]
|
|
120
|
+
);
|
|
121
|
+
const baseId = useId();
|
|
122
|
+
const titleId = `${baseId}-title`;
|
|
123
|
+
const descriptionId = `${baseId}-description`;
|
|
124
|
+
const contentRef = useRef(null);
|
|
125
|
+
const triggerRef = useRef(null);
|
|
126
|
+
const ctx = useMemo(
|
|
127
|
+
() => ({
|
|
128
|
+
open: resolvedOpen,
|
|
129
|
+
setOpen,
|
|
130
|
+
titleId,
|
|
131
|
+
descriptionId,
|
|
132
|
+
contentRef,
|
|
133
|
+
triggerRef
|
|
134
|
+
}),
|
|
135
|
+
[descriptionId, resolvedOpen, setOpen, titleId]
|
|
136
|
+
);
|
|
137
|
+
return /* @__PURE__ */ jsx(ModalContext.Provider, { value: ctx, children });
|
|
138
|
+
}
|
|
139
|
+
Modal.displayName = "Modal";
|
|
140
|
+
function ModalTrigger({
|
|
141
|
+
className,
|
|
142
|
+
children,
|
|
143
|
+
appearance,
|
|
144
|
+
onClick,
|
|
145
|
+
ref: refProp,
|
|
146
|
+
...rest
|
|
147
|
+
}) {
|
|
148
|
+
const { setOpen, triggerRef } = useModalContext("ModalTrigger");
|
|
149
|
+
return /* @__PURE__ */ jsx(
|
|
150
|
+
"button",
|
|
151
|
+
{
|
|
152
|
+
ref: (node) => {
|
|
153
|
+
triggerRef.current = node;
|
|
154
|
+
if (typeof refProp === "function") {
|
|
155
|
+
refProp(node);
|
|
156
|
+
} else if (refProp) {
|
|
157
|
+
refProp.current = node;
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
type: "button",
|
|
161
|
+
"data-slot": "modal-trigger",
|
|
162
|
+
className: cn(modalTriggerVariants({ appearance }), className),
|
|
163
|
+
onClick: (event) => {
|
|
164
|
+
onClick?.(event);
|
|
165
|
+
if (!event.defaultPrevented) {
|
|
166
|
+
setOpen(true);
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
...rest,
|
|
170
|
+
children
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
ModalTrigger.displayName = "ModalTrigger";
|
|
175
|
+
function ModalContent({
|
|
176
|
+
className,
|
|
177
|
+
size,
|
|
178
|
+
position,
|
|
179
|
+
appearance,
|
|
180
|
+
children,
|
|
181
|
+
ref,
|
|
182
|
+
id,
|
|
183
|
+
style
|
|
184
|
+
}) {
|
|
185
|
+
const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } = useModalContext("ModalContent");
|
|
186
|
+
useFocusManagement({
|
|
187
|
+
open,
|
|
188
|
+
setOpen,
|
|
189
|
+
contentRef,
|
|
190
|
+
triggerRef
|
|
191
|
+
});
|
|
192
|
+
const portalTarget = typeof document !== "undefined" ? document.body : null;
|
|
193
|
+
if (!portalTarget) {
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
return createPortal(
|
|
197
|
+
open ? /* @__PURE__ */ jsxs("div", { className: "fixed inset-0 z-9999", "data-slot": "modal-portal", children: [
|
|
198
|
+
/* @__PURE__ */ jsx(
|
|
199
|
+
"div",
|
|
200
|
+
{
|
|
201
|
+
role: "presentation",
|
|
202
|
+
"data-slot": "modal-overlay",
|
|
203
|
+
className: modalOverlayVariants(),
|
|
204
|
+
onClick: () => setOpen(false)
|
|
205
|
+
}
|
|
206
|
+
),
|
|
207
|
+
/* @__PURE__ */ jsx(
|
|
208
|
+
"div",
|
|
209
|
+
{
|
|
210
|
+
ref: (node) => {
|
|
211
|
+
contentRef.current = node;
|
|
212
|
+
if (typeof ref === "function") {
|
|
213
|
+
ref(node);
|
|
214
|
+
} else if (ref) {
|
|
215
|
+
ref.current = node;
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
role: "dialog",
|
|
219
|
+
"aria-modal": "true",
|
|
220
|
+
"aria-labelledby": titleId,
|
|
221
|
+
"aria-describedby": descriptionId,
|
|
222
|
+
"data-slot": "modal-content",
|
|
223
|
+
tabIndex: -1,
|
|
224
|
+
className: cn(
|
|
225
|
+
modalContentVariants({ size, position, appearance }),
|
|
226
|
+
className
|
|
227
|
+
),
|
|
228
|
+
id,
|
|
229
|
+
style,
|
|
230
|
+
children
|
|
231
|
+
}
|
|
232
|
+
)
|
|
233
|
+
] }) : null,
|
|
234
|
+
portalTarget
|
|
235
|
+
);
|
|
236
|
+
}
|
|
237
|
+
ModalContent.displayName = "ModalContent";
|
|
238
|
+
function ModalHeader({ className, children }) {
|
|
239
|
+
return /* @__PURE__ */ jsx(
|
|
240
|
+
"header",
|
|
241
|
+
{
|
|
242
|
+
"data-slot": "modal-header",
|
|
243
|
+
className: cn("mb-4 flex flex-col gap-2", className),
|
|
244
|
+
children
|
|
245
|
+
}
|
|
246
|
+
);
|
|
247
|
+
}
|
|
248
|
+
ModalHeader.displayName = "ModalHeader";
|
|
249
|
+
function ModalBody({ className, children }) {
|
|
250
|
+
return /* @__PURE__ */ jsx(
|
|
251
|
+
"div",
|
|
252
|
+
{
|
|
253
|
+
"data-slot": "modal-body",
|
|
254
|
+
className: cn("text-sm text-slate-300", className),
|
|
255
|
+
children
|
|
256
|
+
}
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
ModalBody.displayName = "ModalBody";
|
|
260
|
+
function ModalFooter({ className, children }) {
|
|
261
|
+
return /* @__PURE__ */ jsx(
|
|
262
|
+
"footer",
|
|
263
|
+
{
|
|
264
|
+
"data-slot": "modal-footer",
|
|
265
|
+
className: cn("mt-6 flex justify-end gap-2", className),
|
|
266
|
+
children
|
|
267
|
+
}
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
ModalFooter.displayName = "ModalFooter";
|
|
271
|
+
function ModalTitle({ className, children }) {
|
|
272
|
+
const { titleId } = useModalContext("ModalTitle");
|
|
273
|
+
return /* @__PURE__ */ jsx(
|
|
274
|
+
"h2",
|
|
275
|
+
{
|
|
276
|
+
id: titleId,
|
|
277
|
+
"data-slot": "modal-title",
|
|
278
|
+
className: cn("text-lg font-semibold", className),
|
|
279
|
+
children
|
|
280
|
+
}
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
ModalTitle.displayName = "ModalTitle";
|
|
284
|
+
function ModalDescription({ className, children }) {
|
|
285
|
+
const { descriptionId } = useModalContext("ModalDescription");
|
|
286
|
+
return /* @__PURE__ */ jsx(
|
|
287
|
+
"p",
|
|
288
|
+
{
|
|
289
|
+
id: descriptionId,
|
|
290
|
+
"data-slot": "modal-description",
|
|
291
|
+
className: cn("text-sm text-slate-400", className),
|
|
292
|
+
children
|
|
293
|
+
}
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
ModalDescription.displayName = "ModalDescription";
|
|
297
|
+
function ModalClose({
|
|
298
|
+
className,
|
|
299
|
+
children,
|
|
300
|
+
...rest
|
|
301
|
+
}) {
|
|
302
|
+
const { setOpen } = useModalContext("ModalClose");
|
|
303
|
+
return /* @__PURE__ */ jsx(
|
|
304
|
+
"button",
|
|
305
|
+
{
|
|
306
|
+
type: "button",
|
|
307
|
+
"data-slot": "modal-close",
|
|
308
|
+
className: cn(
|
|
309
|
+
"absolute right-4 top-4 inline-flex size-14 items-center cursor-pointer justify-center rounded-md text-slate-800 dark:text-slate-200 transition hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/30",
|
|
310
|
+
className
|
|
311
|
+
),
|
|
312
|
+
"aria-label": "Close dialog",
|
|
313
|
+
onClick: () => setOpen(false),
|
|
314
|
+
...rest,
|
|
315
|
+
children: children ?? "\xD7"
|
|
316
|
+
}
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
ModalClose.displayName = "ModalClose";
|
|
320
|
+
|
|
321
|
+
export { Modal, ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, modalContentVariants, modalOverlayVariants, useModalContext };
|
|
322
|
+
//# sourceMappingURL=chunk-WNLDXBS6.mjs.map
|
|
323
|
+
//# sourceMappingURL=chunk-WNLDXBS6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/modal/variants.ts","../src/ui/modal/modal-base.tsx"],"names":[],"mappings":"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","file":"chunk-WNLDXBS6.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const modalOverlayVariants = cva(\n \"fixed inset-0 z-50 bg-slate-950/70 backdrop-blur-sm data-[state=open]:animate-in\",\n);\n\nexport const modalTriggerVariants = cva(\n \"relative inline-flex shrink-0 cursor-pointer rounded-md border\",\n {\n variants: {\n appearance: {\n default:\n \"bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-slate-50\",\n glass:\n \"border-black/15 dark:border-white/15 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-xl text-slate-900 dark:text-slate-50\",\n sky: \"border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl text-sky-800 dark:text-sky-50\",\n rose: \"border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl text-rose-800 dark:text-rose-50\",\n purple:\n \"border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl text-purple-800 dark:text-purple-50\",\n pink: \"border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl text-pink-800 dark:text-pink-50\",\n orange:\n \"border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl text-orange-800 dark:text-orange-50\",\n yellow:\n \"border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl text-yellow-800 dark:text-yellow-50\",\n teal: \"border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl text-teal-800 dark:text-teal-50\",\n indigo:\n \"border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl text-indigo-800 dark:text-indigo-50\",\n emerald:\n \"border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl text-emerald-800 dark:text-emerald-50\",\n gray: \"border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl text-gray-800 dark:text-gray-50\",\n amber:\n \"border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl text-amber-800 dark:text-amber-50\",\n violet:\n \"border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl text-violet-800 dark:text-violet-50\",\n \"gradient-blue\":\n \"border-blue-800 dark:border-blue-600 bg-linear-to-r from-blue-50 dark:from-blue-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl text-blue-800 dark:text-blue-50\",\n \"gradient-green\":\n \"border-green-800 dark:border-green-600 bg-linear-to-r from-green-50 dark:from-green-950/70 to-lime-50 dark:to-lime-950/70 backdrop-blur-xl text-green-800 dark:text-green-50\",\n \"gradient-red\":\n \"border-red-800 dark:border-red-600 bg-linear-to-r from-red-50 dark:from-red-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl text-red-800 dark:text-red-50\",\n \"gradient-yellow\":\n \"border-yellow-800 dark:border-yellow-600 bg-linear-to-r from-yellow-50 dark:from-yellow-950/70 to-orange-50 dark:to-orange-950/70 backdrop-blur-xl text-yellow-800 dark:text-yellow-50\",\n \"gradient-purple\":\n \"border-purple-800 dark:border-purple-600 bg-linear-to-r from-purple-50 dark:from-purple-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl text-purple-800 dark:text-purple-50\",\n \"gradient-teal\":\n \"border-teal-800 dark:border-teal-600 bg-linear-to-r from-teal-50 dark:from-teal-950/70 to-cyan-50 dark:to-cyan-950/70 backdrop-blur-xl text-teal-800 dark:text-teal-50\",\n \"gradient-indigo\":\n \"border-indigo-800 dark:border-indigo-600 bg-linear-to-r from-indigo-50 dark:from-indigo-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl text-indigo-800 dark:text-indigo-50\",\n \"gradient-pink\":\n \"border-pink-800 dark:border-pink-600 bg-linear-to-r from-pink-50 dark:from-pink-950/70 to-rose-50 dark:to-rose-950/70 backdrop-blur-xl text-pink-800 dark:text-pink-50\",\n \"gradient-orange\":\n \"border-orange-800 dark:border-orange-600 bg-linear-to-r from-orange-50 dark:from-orange-950/70 to-red-50 dark:to-red-950/70 backdrop-blur-xl text-orange-800 dark:text-orange-50\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n },\n },\n);\n\nexport const modalContentVariants = cva(\n \"fixed left-1/2 z-50 w-[calc(100%-2rem)] max-h-[min(90vh,720px)] translate-x-[-50%] overflow-y-auto border border-black/10 dark:border-white/10 bg-slate-50 dark:bg-slate-950 p-6 text-slate-900 dark:text-slate-50 shadow-[0_12px_40px_rgba(15,23,42,0.14)] dark:shadow-[0_24px_80px_rgba(15,23,42,0.55)] focus:outline-none\",\n {\n variants: {\n size: {\n sm: \"max-w-md\",\n md: \"max-w-lg\",\n lg: \"max-w-2xl\",\n xl: \"max-w-4xl\",\n full: \"max-w-[calc(100%-2rem)]\",\n },\n position: {\n center: \"top-1/2 translate-y-[-50%]\",\n top: \"top-10 translate-y-0\",\n bottom: \"bottom-10 translate-y-0\",\n },\n appearance: {\n default: \"bg-slate-50 dark:bg-slate-950\",\n glass:\n \"border-black/15 dark:border-white/15 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-xl\",\n sky: \"border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl\",\n purple:\n \"border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl\",\n orange:\n \"border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl\",\n yellow:\n \"border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl\",\n indigo:\n \"border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl\",\n emerald:\n \"border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl\",\n amber:\n \"border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl\",\n violet:\n \"border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\":\n \"border-blue-800 dark:border-blue-600 bg-linear-to-r from-blue-50 dark:from-blue-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\":\n \"border-green-800 dark:border-green-600 bg-linear-to-r from-green-50 dark:from-green-950/70 to-lime-50 dark:to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\":\n \"border-red-800 dark:border-red-600 bg-linear-to-r from-red-50 dark:from-red-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\":\n \"border-yellow-800 dark:border-yellow-600 bg-linear-to-r from-yellow-50 dark:from-yellow-950/70 to-orange-50 dark:to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\":\n \"border-purple-800 dark:border-purple-600 bg-linear-to-r from-purple-50 dark:from-purple-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\":\n \"border-teal-800 dark:border-teal-600 bg-linear-to-r from-teal-50 dark:from-teal-950/70 to-cyan-50 dark:to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\":\n \"border-indigo-800 dark:border-indigo-600 bg-linear-to-r from-indigo-50 dark:from-indigo-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\":\n \"border-pink-800 dark:border-pink-600 bg-linear-to-r from-pink-50 dark:from-pink-950/70 to-rose-50 dark:to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\":\n \"border-orange-800 dark:border-orange-600 bg-linear-to-r from-orange-50 dark:from-orange-950/70 to-red-50 dark:to-red-950/70 backdrop-blur-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n position: \"center\",\n appearance: \"default\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useRef,\n useState,\n type RefObject,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../../lib/utils\";\nimport { useFocusManagement } from \"../../hooks/useFocusManagement\";\n\nimport type {\n ModalContentProps,\n ModalProps,\n ModalSectionProps,\n ModalTriggerProps,\n} from \"./types\";\nimport {\n modalContentVariants,\n modalOverlayVariants,\n modalTriggerVariants,\n} from \"./variants\";\n\ntype ModalCtx = {\n open: boolean;\n setOpen: (next: boolean) => void;\n titleId: string;\n descriptionId: string;\n contentRef: RefObject<HTMLDivElement | null>;\n triggerRef: RefObject<HTMLElement | null>;\n};\n\nconst ModalContext = createContext<ModalCtx | null>(null);\n\nexport function useModalContext(component: string): ModalCtx {\n const ctx = useContext(ModalContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Modal>`);\n }\n return ctx;\n}\n\nexport function Modal({\n open,\n defaultOpen = false,\n onOpenChange,\n children,\n}: ModalProps) {\n const isControlled = open !== undefined;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const resolvedOpen = isControlled ? Boolean(open) : uncontrolledOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolledOpen(next);\n }\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const baseId = useId();\n const titleId = `${baseId}-title`;\n const descriptionId = `${baseId}-description`;\n const contentRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n\n const ctx = useMemo(\n () => ({\n open: resolvedOpen,\n setOpen,\n titleId,\n descriptionId,\n contentRef,\n triggerRef,\n }),\n [descriptionId, resolvedOpen, setOpen, titleId],\n );\n\n return <ModalContext.Provider value={ctx}>{children}</ModalContext.Provider>;\n}\n\nModal.displayName = \"Modal\";\n\nexport function ModalTrigger({\n className,\n children,\n appearance,\n onClick,\n ref: refProp,\n ...rest\n}: ModalTriggerProps) {\n const { setOpen, triggerRef } = useModalContext(\"ModalTrigger\");\n return (\n <button\n ref={(node) => {\n triggerRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLButtonElement | null>).current = node;\n }\n }}\n type=\"button\"\n data-slot=\"modal-trigger\"\n className={cn(modalTriggerVariants({ appearance }), className)}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(true);\n }\n }}\n {...rest}\n >\n {children}\n </button>\n );\n}\n\nModalTrigger.displayName = \"ModalTrigger\";\n\nexport function ModalContent({\n className,\n size,\n position,\n appearance,\n children,\n ref,\n id,\n style,\n}: ModalContentProps) {\n const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } =\n useModalContext(\"ModalContent\");\n\n useFocusManagement({\n open,\n setOpen,\n contentRef,\n triggerRef,\n });\n\n const portalTarget = typeof document !== \"undefined\" ? document.body : null;\n\n if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n open ? (\n <div className=\"fixed inset-0 z-9999\" data-slot=\"modal-portal\">\n <div\n role=\"presentation\"\n data-slot=\"modal-overlay\"\n className={modalOverlayVariants()}\n onClick={() => setOpen(false)}\n />\n <div\n ref={(node) => {\n contentRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as React.RefObject<HTMLDivElement | null>).current = node;\n }\n }}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n data-slot=\"modal-content\"\n tabIndex={-1}\n className={cn(\n modalContentVariants({ size, position, appearance }),\n className,\n )}\n id={id}\n style={style}\n >\n {children}\n </div>\n </div>\n ) : null,\n portalTarget,\n );\n}\n\nModalContent.displayName = \"ModalContent\";\n\nexport function ModalHeader({ className, children }: ModalSectionProps) {\n return (\n <header\n data-slot=\"modal-header\"\n className={cn(\"mb-4 flex flex-col gap-2\", className)}\n >\n {children}\n </header>\n );\n}\n\nModalHeader.displayName = \"ModalHeader\";\n\nexport function ModalBody({ className, children }: ModalSectionProps) {\n return (\n <div\n data-slot=\"modal-body\"\n className={cn(\"text-sm text-slate-300\", className)}\n >\n {children}\n </div>\n );\n}\n\nModalBody.displayName = \"ModalBody\";\n\nexport function ModalFooter({ className, children }: ModalSectionProps) {\n return (\n <footer\n data-slot=\"modal-footer\"\n className={cn(\"mt-6 flex justify-end gap-2\", className)}\n >\n {children}\n </footer>\n );\n}\n\nModalFooter.displayName = \"ModalFooter\";\n\nexport function ModalTitle({ className, children }: ModalSectionProps) {\n const { titleId } = useModalContext(\"ModalTitle\");\n return (\n <h2\n id={titleId}\n data-slot=\"modal-title\"\n className={cn(\"text-lg font-semibold\", className)}\n >\n {children}\n </h2>\n );\n}\n\nModalTitle.displayName = \"ModalTitle\";\n\nexport function ModalDescription({ className, children }: ModalSectionProps) {\n const { descriptionId } = useModalContext(\"ModalDescription\");\n return (\n <p\n id={descriptionId}\n data-slot=\"modal-description\"\n className={cn(\"text-sm text-slate-400\", className)}\n >\n {children}\n </p>\n );\n}\n\nModalDescription.displayName = \"ModalDescription\";\n\nexport function ModalClose({\n className,\n children,\n ...rest\n}: ModalSectionProps) {\n const { setOpen } = useModalContext(\"ModalClose\");\n return (\n <button\n type=\"button\"\n data-slot=\"modal-close\"\n className={cn(\n \"absolute right-4 top-4 inline-flex size-14 items-center cursor-pointer justify-center rounded-md text-slate-800 dark:text-slate-200 transition hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/30\",\n className,\n )}\n aria-label=\"Close dialog\"\n onClick={() => setOpen(false)}\n {...rest}\n >\n {children ?? \"×\"}\n </button>\n );\n}\n\nModalClose.displayName = \"ModalClose\";\n"]}
|