@zentauri-ui/zentauri-components 1.6.0 → 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/dist/{chunk-662PJBZD.js → chunk-3Z73M5TW.js} +21 -21
- package/dist/chunk-3Z73M5TW.js.map +1 -0
- package/dist/{chunk-BMFPUQZC.js → chunk-4F56BLZQ.js} +3 -3
- package/dist/{chunk-BMFPUQZC.js.map → chunk-4F56BLZQ.js.map} +1 -1
- package/dist/{chunk-YRTGORVB.js → chunk-GPAUYUM3.js} +4 -4
- package/dist/{chunk-YRTGORVB.js.map → chunk-GPAUYUM3.js.map} +1 -1
- package/dist/{chunk-Z7QK472J.mjs → chunk-JE6B3DHW.mjs} +4 -4
- package/dist/{chunk-Z7QK472J.mjs.map → chunk-JE6B3DHW.mjs.map} +1 -1
- package/dist/{chunk-J4LG43O2.js → chunk-KA5MORDC.js} +4 -4
- package/dist/{chunk-J4LG43O2.js.map → chunk-KA5MORDC.js.map} +1 -1
- package/dist/{chunk-YD3LVW7V.mjs → chunk-LPL6NJ5Q.mjs} +21 -21
- package/dist/chunk-LPL6NJ5Q.mjs.map +1 -0
- package/dist/{chunk-Y3AHRRNM.mjs → chunk-OHST7AHC.mjs} +27 -27
- package/dist/chunk-OHST7AHC.mjs.map +1 -0
- package/dist/{chunk-3PC7XLJX.js → chunk-TIPNRH26.js} +27 -27
- package/dist/chunk-TIPNRH26.js.map +1 -0
- package/dist/{chunk-TFWKF3DR.mjs → chunk-V2PEOBAT.mjs} +4 -4
- package/dist/{chunk-TFWKF3DR.mjs.map → chunk-V2PEOBAT.mjs.map} +1 -1
- package/dist/{chunk-4ECCMHAX.mjs → chunk-WNLDXBS6.mjs} +3 -3
- package/dist/{chunk-4ECCMHAX.mjs.map → chunk-WNLDXBS6.mjs.map} +1 -1
- package/dist/ui/card/animated.js +7 -7
- package/dist/ui/card/animated.mjs +2 -2
- package/dist/ui/card.js +12 -12
- package/dist/ui/card.mjs +2 -2
- package/dist/ui/drawer/animated.js +11 -11
- package/dist/ui/drawer/animated.mjs +2 -2
- package/dist/ui/drawer.js +11 -11
- package/dist/ui/drawer.mjs +1 -1
- package/dist/ui/modal/animated.js +4 -4
- package/dist/ui/modal/animated.mjs +1 -1
- package/dist/ui/modal.js +12 -12
- package/dist/ui/modal.mjs +2 -2
- package/dist/ui/select.js +13 -13
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +13 -13
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/tabs/animated.js +2 -2
- package/dist/ui/tabs/animated.mjs +1 -1
- package/dist/ui/tabs.js +9 -9
- package/dist/ui/tabs.mjs +1 -1
- package/dist/ui/toggle/animated.js +3 -3
- package/dist/ui/toggle/animated.mjs +1 -1
- package/dist/ui/toggle.js +5 -5
- package/dist/ui/toggle.mjs +2 -2
- package/package.json +1 -1
- package/src/ui/card/variants.ts +2 -2
- package/src/ui/drawer/drawer-base.tsx +1 -1
- package/src/ui/drawer/variants.ts +1 -1
- package/src/ui/modal/modal-base.tsx +1 -1
- package/src/ui/select/variants.ts +13 -13
- package/src/ui/tabs/variants.ts +19 -19
- package/src/ui/toggle/variants.ts +25 -25
- package/dist/chunk-3PC7XLJX.js.map +0 -1
- package/dist/chunk-662PJBZD.js.map +0 -1
- package/dist/chunk-Y3AHRRNM.mjs.map +0 -1
- package/dist/chunk-YD3LVW7V.mjs.map +0 -1
|
@@ -34,25 +34,25 @@ var tabsTriggerVariants = classVarianceAuthority.cva(
|
|
|
34
34
|
variants: {
|
|
35
35
|
appearance: {
|
|
36
36
|
default: "bg-transparent text-slate-900 dark:text-slate-50",
|
|
37
|
-
sky: "bg-sky-300 text-sky-900 dark:text-sky-200 data-[state=active]:bg-sky-900 dark:data-[state=active]:bg-sky-
|
|
38
|
-
rose: "bg-rose-300 text-rose-900 dark:text-rose-200 data-[state=active]:bg-rose-900 dark:data-[state=active]:bg-rose-
|
|
39
|
-
purple: "bg-purple-300 text-purple-900 dark:text-purple-200 data-[state=active]:bg-purple-900 dark:data-[state=active]:bg-purple-
|
|
40
|
-
pink: "bg-pink-300 text-pink-900 dark:text-pink-200 data-[state=active]:bg-pink-900 dark:data-[state=active]:bg-pink-
|
|
41
|
-
orange: "bg-orange-300 text-orange-900 dark:text-orange-200 data-[state=active]:bg-orange-900 dark:data-[state=active]:bg-orange-
|
|
42
|
-
yellow: "bg-yellow-300 text-yellow-900 dark:text-yellow-200 data-[state=active]:bg-yellow-900 dark:data-[state=active]:bg-yellow-
|
|
43
|
-
teal: "bg-teal-300 text-teal-900 dark:text-teal-200 data-[state=active]:bg-teal-900 dark:data-[state=active]:bg-teal-
|
|
44
|
-
indigo: "bg-indigo-300 text-indigo-900 dark:text-indigo-200 data-[state=active]:bg-indigo-900 dark:data-[state=active]:bg-indigo-
|
|
45
|
-
emerald: "bg-emerald-300 text-emerald-900 dark:text-emerald-200 data-[state=active]:bg-emerald-900 dark:data-[state=active]:bg-emerald-
|
|
46
|
-
gray: "bg-gray-300 text-gray-900 dark:text-gray-200 data-[state=active]:bg-gray-900 dark:data-[state=active]:bg-gray-
|
|
47
|
-
"gradient-blue": "bg-linear-to-r from-blue-800 dark:from-blue-800 to-purple-800 dark:to-purple-800 text-blue-100 dark:text-blue-
|
|
48
|
-
"gradient-green": "bg-linear-to-r from-green-800 dark:from-green-800 to-lime-800 dark:to-lime-800 text-green-100 dark:text-green-
|
|
49
|
-
"gradient-red": "bg-linear-to-r from-red-800 dark:from-red-800 to-pink-800 dark:to-pink-800 text-red-100 dark:text-red-
|
|
50
|
-
"gradient-yellow": "bg-linear-to-r from-yellow-800 dark:from-yellow-800 to-orange-800 dark:to-orange-800 text-yellow-100 dark:text-yellow-
|
|
51
|
-
"gradient-purple": "bg-linear-to-r from-purple-800 dark:from-purple-800 to-pink-800 dark:to-pink-800 text-purple-100 dark:text-purple-
|
|
52
|
-
"gradient-teal": "bg-linear-to-r from-teal-800 dark:from-teal-800 to-cyan-800 dark:to-cyan-800 text-teal-100 dark:text-teal-
|
|
53
|
-
"gradient-indigo": "bg-linear-to-r from-indigo-800 dark:from-indigo-800 to-purple-800 dark:to-purple-800 text-indigo-100 dark:text-indigo-
|
|
54
|
-
"gradient-pink": "bg-linear-to-r from-pink-800 dark:from-pink-800 to-rose-800 dark:to-rose-800 text-pink-100 dark:text-pink-
|
|
55
|
-
"gradient-orange": "bg-linear-to-r from-orange-800 dark:from-orange-800 to-red-800 dark:to-red-800 text-orange-100 dark:text-orange-
|
|
37
|
+
sky: "bg-sky-300 text-sky-900 dark:bg-sky-900 dark:text-sky-200 data-[state=active]:bg-sky-900 dark:data-[state=active]:bg-sky-700 data-[state=active]:text-sky-50 dark:data-[state=active]:text-sky-100",
|
|
38
|
+
rose: "bg-rose-300 text-rose-900 dark:bg-rose-900 dark:text-rose-200 data-[state=active]:bg-rose-900 dark:data-[state=active]:bg-rose-700 data-[state=active]:text-rose-50 dark:data-[state=active]:text-rose-100",
|
|
39
|
+
purple: "bg-purple-300 text-purple-900 dark:bg-purple-900 dark:text-purple-200 data-[state=active]:bg-purple-900 dark:data-[state=active]:bg-purple-700 data-[state=active]:text-purple-50 dark:data-[state=active]:text-purple-100",
|
|
40
|
+
pink: "bg-pink-300 text-pink-900 dark:bg-pink-900 dark:text-pink-200 data-[state=active]:bg-pink-900 dark:data-[state=active]:bg-pink-700 data-[state=active]:text-pink-50 dark:data-[state=active]:text-pink-100",
|
|
41
|
+
orange: "bg-orange-300 text-orange-900 dark:bg-orange-900 dark:text-orange-200 data-[state=active]:bg-orange-900 dark:data-[state=active]:bg-orange-700 data-[state=active]:text-orange-50 dark:data-[state=active]:text-orange-100",
|
|
42
|
+
yellow: "bg-yellow-300 text-yellow-900 dark:bg-yellow-900 dark:text-yellow-200 data-[state=active]:bg-yellow-900 dark:data-[state=active]:bg-yellow-700 data-[state=active]:text-yellow-50 dark:data-[state=active]:text-yellow-100",
|
|
43
|
+
teal: "bg-teal-300 text-teal-900 dark:bg-teal-900 dark:text-teal-200 data-[state=active]:bg-teal-900 dark:data-[state=active]:bg-teal-700 data-[state=active]:text-teal-50 dark:data-[state=active]:text-teal-100",
|
|
44
|
+
indigo: "bg-indigo-300 text-indigo-900 dark:bg-indigo-900 dark:text-indigo-200 data-[state=active]:bg-indigo-900 dark:data-[state=active]:bg-indigo-700 data-[state=active]:text-indigo-50 dark:data-[state=active]:text-indigo-100",
|
|
45
|
+
emerald: "bg-emerald-300 text-emerald-900 dark:bg-emerald-900 dark:text-emerald-200 data-[state=active]:bg-emerald-900 dark:data-[state=active]:bg-emerald-700 data-[state=active]:text-emerald-50 dark:data-[state=active]:text-emerald-100",
|
|
46
|
+
gray: "bg-gray-300 text-gray-900 dark:bg-gray-900 dark:text-gray-200 data-[state=active]:bg-gray-900 dark:data-[state=active]:bg-gray-700 data-[state=active]:text-gray-50 dark:data-[state=active]:text-gray-100",
|
|
47
|
+
"gradient-blue": "bg-linear-to-r from-blue-800 dark:from-blue-800 to-purple-800 dark:to-purple-800 text-blue-100 dark:text-blue-50 data-[state=active]:from-blue-600 dark:data-[state=active]:from-blue-600 data-[state=active]:to-purple-600 dark:data-[state=active]:to-purple-600 data-[state=active]:text-blue-100 dark:data-[state=active]:text-blue-100",
|
|
48
|
+
"gradient-green": "bg-linear-to-r from-green-800 dark:from-green-800 to-lime-800 dark:to-lime-800 text-green-100 dark:text-green-50 data-[state=active]:from-green-600 dark:data-[state=active]:from-green-600 data-[state=active]:to-lime-600 dark:data-[state=active]:to-lime-600 data-[state=active]:text-green-100 dark:data-[state=active]:text-green-100",
|
|
49
|
+
"gradient-red": "bg-linear-to-r from-red-800 dark:from-red-800 to-pink-800 dark:to-pink-800 text-red-100 dark:text-red-50 data-[state=active]:from-red-600 dark:data-[state=active]:from-red-600 data-[state=active]:to-pink-600 dark:data-[state=active]:to-pink-600 data-[state=active]:text-red-100 dark:data-[state=active]:text-red-100",
|
|
50
|
+
"gradient-yellow": "bg-linear-to-r from-yellow-800 dark:from-yellow-800 to-orange-800 dark:to-orange-800 text-yellow-100 dark:text-yellow-50 data-[state=active]:from-yellow-600 dark:data-[state=active]:from-yellow-600 data-[state=active]:to-orange-600 dark:data-[state=active]:to-orange-600 data-[state=active]:text-yellow-100 dark:data-[state=active]:text-yellow-100",
|
|
51
|
+
"gradient-purple": "bg-linear-to-r from-purple-800 dark:from-purple-800 to-pink-800 dark:to-pink-800 text-purple-100 dark:text-purple-50 data-[state=active]:from-purple-600 dark:data-[state=active]:from-purple-600 data-[state=active]:to-pink-600 dark:data-[state=active]:to-pink-600 data-[state=active]:text-purple-100 dark:data-[state=active]:text-purple-100",
|
|
52
|
+
"gradient-teal": "bg-linear-to-r from-teal-800 dark:from-teal-800 to-cyan-800 dark:to-cyan-800 text-teal-100 dark:text-teal-50 data-[state=active]:from-teal-600 dark:data-[state=active]:from-teal-600 data-[state=active]:to-cyan-600 dark:data-[state=active]:to-cyan-600 data-[state=active]:text-teal-100 dark:data-[state=active]:text-teal-100",
|
|
53
|
+
"gradient-indigo": "bg-linear-to-r from-indigo-800 dark:from-indigo-800 to-purple-800 dark:to-purple-800 text-indigo-100 dark:text-indigo-50 data-[state=active]:from-indigo-600 dark:data-[state=active]:from-indigo-600 data-[state=active]:to-purple-600 dark:data-[state=active]:to-purple-600 data-[state=active]:text-indigo-100 dark:data-[state=active]:text-indigo-100",
|
|
54
|
+
"gradient-pink": "bg-linear-to-r from-pink-800 dark:from-pink-800 to-rose-800 dark:to-rose-800 text-pink-100 dark:text-pink-50 data-[state=active]:from-pink-600 dark:data-[state=active]:from-pink-600 data-[state=active]:to-rose-600 dark:data-[state=active]:to-rose-600 data-[state=active]:text-pink-100 dark:data-[state=active]:text-pink-100",
|
|
55
|
+
"gradient-orange": "bg-linear-to-r from-orange-800 dark:from-orange-800 to-red-800 dark:to-red-800 text-orange-100 dark:text-orange-50 data-[state=active]:from-orange-600 dark:data-[state=active]:from-orange-600 data-[state=active]:to-red-600 dark:data-[state=active]:to-red-600 data-[state=active]:text-orange-100 dark:data-[state=active]:text-orange-100"
|
|
56
56
|
},
|
|
57
57
|
variant: {
|
|
58
58
|
default: "data-[state=active]:bg-background",
|
|
@@ -269,5 +269,5 @@ exports.TabsTrigger = TabsTrigger;
|
|
|
269
269
|
exports.tabsListVariants = tabsListVariants;
|
|
270
270
|
exports.tabsTriggerVariants = tabsTriggerVariants;
|
|
271
271
|
exports.useTabs = useTabs;
|
|
272
|
-
//# sourceMappingURL=chunk-
|
|
273
|
-
//# sourceMappingURL=chunk-
|
|
272
|
+
//# sourceMappingURL=chunk-3Z73M5TW.js.map
|
|
273
|
+
//# sourceMappingURL=chunk-3Z73M5TW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/tabs/variants.ts","../src/ui/tabs/tabs-base.tsx"],"names":["cva","createContext","useContext","useState","useId","useRef","jsx","cn"],"mappings":"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","file":"chunk-3Z73M5TW.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const tabsListVariants = cva(\"flex items-center gap-1\", {\n variants: {\n variant: {\n default: \"bg-transparent\",\n underline: \"border-b-2 border-transparent\",\n pills: \"rounded-md\",\n },\n size: {\n sm: \"text-sm p-1\",\n md: \"text-base p-1.5\",\n lg: \"text-lg p-2\",\n },\n orientation: {\n horizontal: \"flex-row\",\n vertical: \"flex-col\",\n },\n },\n defaultVariants: {\n size: \"md\",\n orientation: \"horizontal\",\n variant: \"pills\",\n },\n});\n\nexport const tabsTriggerVariants = cva(\n \"px-3 py-1.5 rounded-md transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n {\n variants: {\n appearance: {\n default: \"bg-transparent text-slate-900 dark:text-slate-50\",\n sky: \"bg-sky-300 text-sky-900 dark:bg-sky-900 dark:text-sky-200 data-[state=active]:bg-sky-900 dark:data-[state=active]:bg-sky-700 data-[state=active]:text-sky-50 dark:data-[state=active]:text-sky-100\",\n rose: \"bg-rose-300 text-rose-900 dark:bg-rose-900 dark:text-rose-200 data-[state=active]:bg-rose-900 dark:data-[state=active]:bg-rose-700 data-[state=active]:text-rose-50 dark:data-[state=active]:text-rose-100\",\n purple:\n \"bg-purple-300 text-purple-900 dark:bg-purple-900 dark:text-purple-200 data-[state=active]:bg-purple-900 dark:data-[state=active]:bg-purple-700 data-[state=active]:text-purple-50 dark:data-[state=active]:text-purple-100\",\n pink: \"bg-pink-300 text-pink-900 dark:bg-pink-900 dark:text-pink-200 data-[state=active]:bg-pink-900 dark:data-[state=active]:bg-pink-700 data-[state=active]:text-pink-50 dark:data-[state=active]:text-pink-100\",\n orange:\n \"bg-orange-300 text-orange-900 dark:bg-orange-900 dark:text-orange-200 data-[state=active]:bg-orange-900 dark:data-[state=active]:bg-orange-700 data-[state=active]:text-orange-50 dark:data-[state=active]:text-orange-100\",\n yellow:\n \"bg-yellow-300 text-yellow-900 dark:bg-yellow-900 dark:text-yellow-200 data-[state=active]:bg-yellow-900 dark:data-[state=active]:bg-yellow-700 data-[state=active]:text-yellow-50 dark:data-[state=active]:text-yellow-100\",\n teal: \"bg-teal-300 text-teal-900 dark:bg-teal-900 dark:text-teal-200 data-[state=active]:bg-teal-900 dark:data-[state=active]:bg-teal-700 data-[state=active]:text-teal-50 dark:data-[state=active]:text-teal-100\",\n indigo:\n \"bg-indigo-300 text-indigo-900 dark:bg-indigo-900 dark:text-indigo-200 data-[state=active]:bg-indigo-900 dark:data-[state=active]:bg-indigo-700 data-[state=active]:text-indigo-50 dark:data-[state=active]:text-indigo-100\",\n emerald:\n \"bg-emerald-300 text-emerald-900 dark:bg-emerald-900 dark:text-emerald-200 data-[state=active]:bg-emerald-900 dark:data-[state=active]:bg-emerald-700 data-[state=active]:text-emerald-50 dark:data-[state=active]:text-emerald-100\",\n gray: \"bg-gray-300 text-gray-900 dark:bg-gray-900 dark:text-gray-200 data-[state=active]:bg-gray-900 dark:data-[state=active]:bg-gray-700 data-[state=active]:text-gray-50 dark:data-[state=active]:text-gray-100\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-800 dark:from-blue-800 to-purple-800 dark:to-purple-800 text-blue-100 dark:text-blue-50 data-[state=active]:from-blue-600 dark:data-[state=active]:from-blue-600 data-[state=active]:to-purple-600 dark:data-[state=active]:to-purple-600 data-[state=active]:text-blue-100 dark:data-[state=active]:text-blue-100\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-800 dark:from-green-800 to-lime-800 dark:to-lime-800 text-green-100 dark:text-green-50 data-[state=active]:from-green-600 dark:data-[state=active]:from-green-600 data-[state=active]:to-lime-600 dark:data-[state=active]:to-lime-600 data-[state=active]:text-green-100 dark:data-[state=active]:text-green-100\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-800 dark:from-red-800 to-pink-800 dark:to-pink-800 text-red-100 dark:text-red-50 data-[state=active]:from-red-600 dark:data-[state=active]:from-red-600 data-[state=active]:to-pink-600 dark:data-[state=active]:to-pink-600 data-[state=active]:text-red-100 dark:data-[state=active]:text-red-100\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-800 dark:from-yellow-800 to-orange-800 dark:to-orange-800 text-yellow-100 dark:text-yellow-50 data-[state=active]:from-yellow-600 dark:data-[state=active]:from-yellow-600 data-[state=active]:to-orange-600 dark:data-[state=active]:to-orange-600 data-[state=active]:text-yellow-100 dark:data-[state=active]:text-yellow-100\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-800 dark:from-purple-800 to-pink-800 dark:to-pink-800 text-purple-100 dark:text-purple-50 data-[state=active]:from-purple-600 dark:data-[state=active]:from-purple-600 data-[state=active]:to-pink-600 dark:data-[state=active]:to-pink-600 data-[state=active]:text-purple-100 dark:data-[state=active]:text-purple-100\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-800 dark:from-teal-800 to-cyan-800 dark:to-cyan-800 text-teal-100 dark:text-teal-50 data-[state=active]:from-teal-600 dark:data-[state=active]:from-teal-600 data-[state=active]:to-cyan-600 dark:data-[state=active]:to-cyan-600 data-[state=active]:text-teal-100 dark:data-[state=active]:text-teal-100\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-800 dark:from-indigo-800 to-purple-800 dark:to-purple-800 text-indigo-100 dark:text-indigo-50 data-[state=active]:from-indigo-600 dark:data-[state=active]:from-indigo-600 data-[state=active]:to-purple-600 dark:data-[state=active]:to-purple-600 data-[state=active]:text-indigo-100 dark:data-[state=active]:text-indigo-100\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-800 dark:from-pink-800 to-rose-800 dark:to-rose-800 text-pink-100 dark:text-pink-50 data-[state=active]:from-pink-600 dark:data-[state=active]:from-pink-600 data-[state=active]:to-rose-600 dark:data-[state=active]:to-rose-600 data-[state=active]:text-pink-100 dark:data-[state=active]:text-pink-100\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-800 dark:from-orange-800 to-red-800 dark:to-red-800 text-orange-100 dark:text-orange-50 data-[state=active]:from-orange-600 dark:data-[state=active]:from-orange-600 data-[state=active]:to-red-600 dark:data-[state=active]:to-red-600 data-[state=active]:text-orange-100 dark:data-[state=active]:text-orange-100\",\n },\n variant: {\n default: \"data-[state=active]:bg-background\",\n underline:\n \"border-b-2 border-transparent data-[state=active]:border-current rounded-none\",\n pills: \"\",\n },\n size: {\n sm: \"px-2 py-1\",\n md: \"px-3 py-1.5\",\n lg: \"px-4 py-2\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n variant: \"pills\",\n size: \"md\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n KeyboardEvent,\n useContext,\n useId,\n useRef,\n useState,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport {\n TabsContentProps,\n TabsListProps,\n TabsProps,\n TabsTriggerProps,\n TabsValue,\n TabsContextType,\n} from \"./types\";\nimport { tabsListVariants, tabsTriggerVariants } from \"./variants\";\n\nexport const TabsContext = createContext<TabsContextType | null>(null);\n\nexport const useTabs = () => {\n const ctx = useContext(TabsContext);\n if (!ctx) throw new Error(\"Tabs components must be used within Tabs\");\n return ctx;\n};\n\nexport function Tabs({\n value,\n defaultValue,\n onValueChange,\n orientation = \"horizontal\",\n variant,\n size,\n appearance,\n children,\n className,\n}: TabsProps) {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const idPrefix = useId();\n const listRef = useRef<HTMLDivElement | null>(null);\n\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const setValue = (val: string) => {\n if (!isControlled) setInternalValue(val);\n onValueChange?.(val);\n };\n\n const tabTriggerId = (tabValue: TabsValue) =>\n `${idPrefix}zentauri-tab-${tabValue}`;\n const tabPanelId = (tabValue: TabsValue) =>\n `${idPrefix}zentauri-panel-${tabValue}`;\n\n return (\n <TabsContext.Provider\n value={{\n value: currentValue,\n setValue,\n listRef,\n orientation,\n size,\n variant,\n appearance,\n tabTriggerId,\n tabPanelId,\n }}\n >\n <div data-slot=\"tabs\" className={cn(\"w-full\", className)}>\n {children}\n </div>\n </TabsContext.Provider>\n );\n}\n\nexport function TabsList({ children, className, ...props }: TabsListProps) {\n const { orientation, size, listRef } = useTabs();\n\n return (\n <div\n ref={listRef}\n role=\"tablist\"\n aria-orientation={orientation}\n className={cn(tabsListVariants({ orientation, size }), className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport function TabsTrigger({\n value,\n children,\n disabled,\n className,\n ...props\n}: TabsTriggerProps) {\n const {\n value: activeValue,\n setValue,\n listRef,\n orientation,\n tabTriggerId,\n tabPanelId,\n size,\n appearance,\n variant,\n } = useTabs();\n\n const isActive = activeValue === value;\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n const list = listRef.current;\n const triggers =\n list === null\n ? []\n : Array.from(list.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]'));\n\n const nextKeys =\n orientation === \"vertical\" ? [\"ArrowDown\"] : [\"ArrowRight\"];\n const prevKeys = orientation === \"vertical\" ? [\"ArrowUp\"] : [\"ArrowLeft\"];\n\n const index = triggers.findIndex((el) => el === e.currentTarget);\n if (index === -1) {\n return;\n }\n\n const findEnabledIndex = (\n start: number,\n direction: 1 | -1,\n ): number | undefined => {\n const n = triggers.length;\n if (n === 0) {\n return undefined;\n }\n let i = start;\n for (let step = 0; step < n; step += 1) {\n i = (i + direction + n) % n;\n if (triggers[i]?.disabled !== true) {\n return i;\n }\n }\n return undefined;\n };\n\n const focusAt = (i: number) => {\n const target = triggers[i];\n if (target !== undefined && target.disabled !== true) {\n target.focus();\n }\n };\n\n const isNext = nextKeys.includes(e.key);\n const isPrev = prevKeys.includes(e.key);\n\n if (isNext) {\n e.preventDefault();\n const nextIdx = findEnabledIndex(index, 1);\n if (nextIdx !== undefined) {\n focusAt(nextIdx);\n }\n return;\n }\n\n if (isPrev) {\n e.preventDefault();\n const prevIdx = findEnabledIndex(index, -1);\n if (prevIdx !== undefined) {\n focusAt(prevIdx);\n }\n return;\n }\n\n if (e.key === \"Home\") {\n e.preventDefault();\n const firstEnabledIndex = triggers.findIndex((btn) => !btn.disabled);\n if (firstEnabledIndex !== -1) {\n triggers[firstEnabledIndex]?.focus();\n }\n return;\n }\n\n if (e.key === \"End\") {\n e.preventDefault();\n for (let i = triggers.length - 1; i >= 0; i -= 1) {\n if (!triggers[i]?.disabled) {\n triggers[i]?.focus();\n break;\n }\n }\n }\n };\n\n return (\n <button\n id={tabTriggerId(value)}\n type=\"button\"\n role=\"tab\"\n data-state={isActive ? \"active\" : \"inactive\"}\n aria-selected={isActive}\n aria-controls={tabPanelId(value)}\n disabled={disabled}\n tabIndex={activeValue === undefined ? undefined : isActive ? 0 : -1}\n onClick={() => setValue(value)}\n onKeyDown={handleKeyDown}\n className={cn(\n tabsTriggerVariants({ size, appearance, variant }),\n className,\n \"cursor-pointer\",\n )}\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport function TabsContent({\n value,\n children,\n className,\n as: Wrapper = \"div\",\n ...props\n}: TabsContentProps) {\n const { value: activeValue, tabTriggerId, tabPanelId } = useTabs();\n\n if (activeValue !== value) return null;\n\n return (\n <Wrapper\n id={tabPanelId(value)}\n role=\"tabpanel\"\n aria-labelledby={tabTriggerId(value)}\n className={cn(\"mt-2\", className)}\n {...props}\n >\n {children}\n </Wrapper>\n );\n}\n"]}
|
|
@@ -196,7 +196,7 @@ function ModalContent({
|
|
|
196
196
|
return null;
|
|
197
197
|
}
|
|
198
198
|
return reactDom.createPortal(
|
|
199
|
-
open ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "fixed inset-0 z-
|
|
199
|
+
open ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "fixed inset-0 z-9999", "data-slot": "modal-portal", children: [
|
|
200
200
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
201
201
|
"div",
|
|
202
202
|
{
|
|
@@ -332,5 +332,5 @@ exports.ModalTrigger = ModalTrigger;
|
|
|
332
332
|
exports.modalContentVariants = modalContentVariants;
|
|
333
333
|
exports.modalOverlayVariants = modalOverlayVariants;
|
|
334
334
|
exports.useModalContext = useModalContext;
|
|
335
|
-
//# sourceMappingURL=chunk-
|
|
336
|
-
//# sourceMappingURL=chunk-
|
|
335
|
+
//# sourceMappingURL=chunk-4F56BLZQ.js.map
|
|
336
|
+
//# sourceMappingURL=chunk-4F56BLZQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/modal/variants.ts","../src/ui/modal/modal-base.tsx"],"names":["cva","createContext","useContext","useState","useCallback","useId","useRef","useMemo","jsx","cn","useFocusManagement","createPortal","jsxs"],"mappings":"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","file":"chunk-BMFPUQZC.js","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-50\" 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"]}
|
|
1
|
+
{"version":3,"sources":["../src/ui/modal/variants.ts","../src/ui/modal/modal-base.tsx"],"names":["cva","createContext","useContext","useState","useCallback","useId","useRef","useMemo","jsx","cn","useFocusManagement","createPortal","jsxs"],"mappings":"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","file":"chunk-4F56BLZQ.js","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"]}
|
|
@@ -87,7 +87,7 @@ var cardFooterVariants = classVarianceAuthority.cva(
|
|
|
87
87
|
}
|
|
88
88
|
);
|
|
89
89
|
var cardTitleVariants = classVarianceAuthority.cva(
|
|
90
|
-
"font-semibold tracking-tight text-slate-
|
|
90
|
+
"font-semibold tracking-tight text-slate-950 dark:text-white",
|
|
91
91
|
{
|
|
92
92
|
variants: {
|
|
93
93
|
size: {
|
|
@@ -100,7 +100,7 @@ var cardTitleVariants = classVarianceAuthority.cva(
|
|
|
100
100
|
}
|
|
101
101
|
);
|
|
102
102
|
var cardDescriptionVariants = classVarianceAuthority.cva(
|
|
103
|
-
"text-slate-500 dark:text-slate-
|
|
103
|
+
"text-slate-500 dark:text-slate-50",
|
|
104
104
|
{
|
|
105
105
|
variants: {
|
|
106
106
|
size: {
|
|
@@ -228,5 +228,5 @@ exports.cardFooterVariants = cardFooterVariants;
|
|
|
228
228
|
exports.cardHeaderVariants = cardHeaderVariants;
|
|
229
229
|
exports.cardTitleVariants = cardTitleVariants;
|
|
230
230
|
exports.cardVariants = cardVariants;
|
|
231
|
-
//# sourceMappingURL=chunk-
|
|
232
|
-
//# sourceMappingURL=chunk-
|
|
231
|
+
//# sourceMappingURL=chunk-GPAUYUM3.js.map
|
|
232
|
+
//# sourceMappingURL=chunk-GPAUYUM3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/card/variants.ts","../src/ui/card/card-base.tsx"],"names":["cva","createContext","useContext","useMemo","jsx","cn"],"mappings":"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","file":"chunk-YRTGORVB.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const cardVariants = cva(\n [\n \"relative flex w-full flex-col overflow-hidden text-slate-900 dark:text-slate-50\",\n \"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 ],\n {\n variants: {\n appearance: {\n default:\n \"border border-black/10 dark:border-white/10 bg-black/5 dark:bg-white/5 shadow-[0_1px_2px_rgba(15,23,42,0.08)] dark:shadow-[0_1px_2px_rgba(15,23,42,0.12)]\",\n glass:\n \"border border-black/15 dark:border-white/15 bg-black/10 dark:bg-white/10 backdrop-blur-md shadow-[0_8px_24px_rgba(15,23,42,0.12)] dark:shadow-[0_18px_48px_rgba(15,23,42,0.35)]\",\n outline: \"border border-black/15 dark:border-white/15 bg-transparent\",\n ghost: \"border border-transparent bg-transparent\",\n elevated:\n \"border border-black/10 dark:border-white/10 bg-slate-100/80 dark:bg-slate-900/80 shadow-[0_12px_32px_rgba(15,23,42,0.12)] dark:shadow-[0_24px_64px_rgba(15,23,42,0.45)]\",\n sky: \"border border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl\",\n purple:\n \"border border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl\",\n orange:\n \"border border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl\",\n yellow:\n \"border border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl\",\n indigo:\n \"border border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl\",\n emerald:\n \"border border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl\",\n amber:\n \"border border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl\",\n violet:\n \"border border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\":\n \"border 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 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 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 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 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 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 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 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 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 size: {\n sm: \"gap-2 p-3 text-sm\",\n md: \"gap-3 p-4 text-sm\",\n lg: \"gap-4 p-6 text-base\",\n },\n rounded: {\n sm: \"rounded-lg\",\n md: \"rounded-xl\",\n lg: \"rounded-2xl\",\n full: \"rounded-3xl\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n rounded: \"md\",\n },\n },\n);\n\nexport const cardHeaderVariants = cva(\n \"flex flex-col gap-1 border-b border-black/10 dark:border-white/10 pb-3\",\n {\n variants: {\n size: {\n sm: \"pb-2\",\n md: \"pb-3\",\n lg: \"pb-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardFooterVariants = cva(\n \"flex flex-col gap-2 border-t border-black/10 dark:border-white/10 pt-3\",\n {\n variants: {\n size: {\n sm: \"pt-2\",\n md: \"pt-3\",\n lg: \"pt-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardTitleVariants = cva(\n \"font-semibold tracking-tight text-slate-900 dark:text-slate-50\",\n {\n variants: {\n size: {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardDescriptionVariants = cva(\n \"text-slate-500 dark:text-slate-400\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n","\"use client\";\n\nimport { createContext, useContext, useMemo, type ElementType } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n CardBaseProps,\n CardDescriptionProps,\n CardSectionProps,\n CardSize,\n CardTitleProps,\n} from \"./types\";\nimport {\n cardDescriptionVariants,\n cardFooterVariants,\n cardHeaderVariants,\n cardTitleVariants,\n cardVariants,\n} from \"./variants\";\n\nconst CardSizeContext = createContext<CardSize>(\"md\");\n\nfunction useCardSize(): CardSize {\n return useContext(CardSizeContext);\n}\n\nexport function CardBase({\n className,\n appearance,\n size = \"md\",\n rounded,\n children,\n ref,\n as: Wrapper = \"article\",\n ...rest\n}: CardBaseProps) {\n const ctx = useMemo(() => size ?? \"md\", [size]);\n\n return (\n <CardSizeContext.Provider value={ctx}>\n <Wrapper\n ref={ref}\n data-slot=\"card\"\n className={cn(cardVariants({ appearance, size, rounded }), className)}\n {...rest}\n >\n {children}\n </Wrapper>\n </CardSizeContext.Provider>\n );\n}\n\nCardBase.displayName = \"Card\";\n\nexport function CardHeader({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <header\n data-slot=\"card-header\"\n className={cn(cardHeaderVariants({ size }), className)}\n >\n {children}\n </header>\n );\n}\n\nCardHeader.displayName = \"CardHeader\";\n\nexport function CardBody({ className, children }: CardSectionProps) {\n return (\n <div\n data-slot=\"card-body\"\n className={cn(\"flex flex-1 flex-col gap-2\", className)}\n >\n {children}\n </div>\n );\n}\n\nCardBody.displayName = \"CardBody\";\n\nexport function CardFooter({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <footer\n data-slot=\"card-footer\"\n className={cn(cardFooterVariants({ size }), className)}\n >\n {children}\n </footer>\n );\n}\n\nCardFooter.displayName = \"CardFooter\";\n\nexport function CardTitle({\n className,\n children,\n as = \"h3\",\n ref,\n ...rest\n}: CardTitleProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-title\"\n className={cn(cardTitleVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardTitle.displayName = \"CardTitle\";\n\nexport function CardDescription({\n className,\n children,\n as = \"p\",\n ref,\n ...rest\n}: CardDescriptionProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-description\"\n className={cn(cardDescriptionVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardDescription.displayName = \"CardDescription\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/ui/card/variants.ts","../src/ui/card/card-base.tsx"],"names":["cva","createContext","useContext","useMemo","jsx","cn"],"mappings":"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","file":"chunk-GPAUYUM3.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const cardVariants = cva(\n [\n \"relative flex w-full flex-col overflow-hidden text-slate-900 dark:text-slate-50\",\n \"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 ],\n {\n variants: {\n appearance: {\n default:\n \"border border-black/10 dark:border-white/10 bg-black/5 dark:bg-white/5 shadow-[0_1px_2px_rgba(15,23,42,0.08)] dark:shadow-[0_1px_2px_rgba(15,23,42,0.12)]\",\n glass:\n \"border border-black/15 dark:border-white/15 bg-black/10 dark:bg-white/10 backdrop-blur-md shadow-[0_8px_24px_rgba(15,23,42,0.12)] dark:shadow-[0_18px_48px_rgba(15,23,42,0.35)]\",\n outline: \"border border-black/15 dark:border-white/15 bg-transparent\",\n ghost: \"border border-transparent bg-transparent\",\n elevated:\n \"border border-black/10 dark:border-white/10 bg-slate-100/80 dark:bg-slate-900/80 shadow-[0_12px_32px_rgba(15,23,42,0.12)] dark:shadow-[0_24px_64px_rgba(15,23,42,0.45)]\",\n sky: \"border border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl\",\n purple:\n \"border border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl\",\n orange:\n \"border border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl\",\n yellow:\n \"border border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl\",\n indigo:\n \"border border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl\",\n emerald:\n \"border border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl\",\n amber:\n \"border border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl\",\n violet:\n \"border border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\":\n \"border 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 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 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 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 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 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 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 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 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 size: {\n sm: \"gap-2 p-3 text-sm\",\n md: \"gap-3 p-4 text-sm\",\n lg: \"gap-4 p-6 text-base\",\n },\n rounded: {\n sm: \"rounded-lg\",\n md: \"rounded-xl\",\n lg: \"rounded-2xl\",\n full: \"rounded-3xl\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n rounded: \"md\",\n },\n },\n);\n\nexport const cardHeaderVariants = cva(\n \"flex flex-col gap-1 border-b border-black/10 dark:border-white/10 pb-3\",\n {\n variants: {\n size: {\n sm: \"pb-2\",\n md: \"pb-3\",\n lg: \"pb-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardFooterVariants = cva(\n \"flex flex-col gap-2 border-t border-black/10 dark:border-white/10 pt-3\",\n {\n variants: {\n size: {\n sm: \"pt-2\",\n md: \"pt-3\",\n lg: \"pt-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardTitleVariants = cva(\n \"font-semibold tracking-tight text-slate-950 dark:text-white\",\n {\n variants: {\n size: {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardDescriptionVariants = cva(\n \"text-slate-500 dark:text-slate-50\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n","\"use client\";\n\nimport { createContext, useContext, useMemo, type ElementType } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n CardBaseProps,\n CardDescriptionProps,\n CardSectionProps,\n CardSize,\n CardTitleProps,\n} from \"./types\";\nimport {\n cardDescriptionVariants,\n cardFooterVariants,\n cardHeaderVariants,\n cardTitleVariants,\n cardVariants,\n} from \"./variants\";\n\nconst CardSizeContext = createContext<CardSize>(\"md\");\n\nfunction useCardSize(): CardSize {\n return useContext(CardSizeContext);\n}\n\nexport function CardBase({\n className,\n appearance,\n size = \"md\",\n rounded,\n children,\n ref,\n as: Wrapper = \"article\",\n ...rest\n}: CardBaseProps) {\n const ctx = useMemo(() => size ?? \"md\", [size]);\n\n return (\n <CardSizeContext.Provider value={ctx}>\n <Wrapper\n ref={ref}\n data-slot=\"card\"\n className={cn(cardVariants({ appearance, size, rounded }), className)}\n {...rest}\n >\n {children}\n </Wrapper>\n </CardSizeContext.Provider>\n );\n}\n\nCardBase.displayName = \"Card\";\n\nexport function CardHeader({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <header\n data-slot=\"card-header\"\n className={cn(cardHeaderVariants({ size }), className)}\n >\n {children}\n </header>\n );\n}\n\nCardHeader.displayName = \"CardHeader\";\n\nexport function CardBody({ className, children }: CardSectionProps) {\n return (\n <div\n data-slot=\"card-body\"\n className={cn(\"flex flex-1 flex-col gap-2\", className)}\n >\n {children}\n </div>\n );\n}\n\nCardBody.displayName = \"CardBody\";\n\nexport function CardFooter({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <footer\n data-slot=\"card-footer\"\n className={cn(cardFooterVariants({ size }), className)}\n >\n {children}\n </footer>\n );\n}\n\nCardFooter.displayName = \"CardFooter\";\n\nexport function CardTitle({\n className,\n children,\n as = \"h3\",\n ref,\n ...rest\n}: CardTitleProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-title\"\n className={cn(cardTitleVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardTitle.displayName = \"CardTitle\";\n\nexport function CardDescription({\n className,\n children,\n as = \"p\",\n ref,\n ...rest\n}: CardDescriptionProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-description\"\n className={cn(cardDescriptionVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardDescription.displayName = \"CardDescription\";\n"]}
|
|
@@ -85,7 +85,7 @@ var cardFooterVariants = cva(
|
|
|
85
85
|
}
|
|
86
86
|
);
|
|
87
87
|
var cardTitleVariants = cva(
|
|
88
|
-
"font-semibold tracking-tight text-slate-
|
|
88
|
+
"font-semibold tracking-tight text-slate-950 dark:text-white",
|
|
89
89
|
{
|
|
90
90
|
variants: {
|
|
91
91
|
size: {
|
|
@@ -98,7 +98,7 @@ var cardTitleVariants = cva(
|
|
|
98
98
|
}
|
|
99
99
|
);
|
|
100
100
|
var cardDescriptionVariants = cva(
|
|
101
|
-
"text-slate-500 dark:text-slate-
|
|
101
|
+
"text-slate-500 dark:text-slate-50",
|
|
102
102
|
{
|
|
103
103
|
variants: {
|
|
104
104
|
size: {
|
|
@@ -216,5 +216,5 @@ function CardDescription({
|
|
|
216
216
|
CardDescription.displayName = "CardDescription";
|
|
217
217
|
|
|
218
218
|
export { CardBase, CardBody, CardDescription, CardFooter, CardHeader, CardTitle, cardDescriptionVariants, cardFooterVariants, cardHeaderVariants, cardTitleVariants, cardVariants };
|
|
219
|
-
//# sourceMappingURL=chunk-
|
|
220
|
-
//# sourceMappingURL=chunk-
|
|
219
|
+
//# sourceMappingURL=chunk-JE6B3DHW.mjs.map
|
|
220
|
+
//# sourceMappingURL=chunk-JE6B3DHW.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/card/variants.ts","../src/ui/card/card-base.tsx"],"names":[],"mappings":"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","file":"chunk-Z7QK472J.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const cardVariants = cva(\n [\n \"relative flex w-full flex-col overflow-hidden text-slate-900 dark:text-slate-50\",\n \"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 ],\n {\n variants: {\n appearance: {\n default:\n \"border border-black/10 dark:border-white/10 bg-black/5 dark:bg-white/5 shadow-[0_1px_2px_rgba(15,23,42,0.08)] dark:shadow-[0_1px_2px_rgba(15,23,42,0.12)]\",\n glass:\n \"border border-black/15 dark:border-white/15 bg-black/10 dark:bg-white/10 backdrop-blur-md shadow-[0_8px_24px_rgba(15,23,42,0.12)] dark:shadow-[0_18px_48px_rgba(15,23,42,0.35)]\",\n outline: \"border border-black/15 dark:border-white/15 bg-transparent\",\n ghost: \"border border-transparent bg-transparent\",\n elevated:\n \"border border-black/10 dark:border-white/10 bg-slate-100/80 dark:bg-slate-900/80 shadow-[0_12px_32px_rgba(15,23,42,0.12)] dark:shadow-[0_24px_64px_rgba(15,23,42,0.45)]\",\n sky: \"border border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl\",\n purple:\n \"border border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl\",\n orange:\n \"border border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl\",\n yellow:\n \"border border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl\",\n indigo:\n \"border border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl\",\n emerald:\n \"border border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl\",\n amber:\n \"border border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl\",\n violet:\n \"border border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\":\n \"border 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 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 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 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 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 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 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 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 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 size: {\n sm: \"gap-2 p-3 text-sm\",\n md: \"gap-3 p-4 text-sm\",\n lg: \"gap-4 p-6 text-base\",\n },\n rounded: {\n sm: \"rounded-lg\",\n md: \"rounded-xl\",\n lg: \"rounded-2xl\",\n full: \"rounded-3xl\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n rounded: \"md\",\n },\n },\n);\n\nexport const cardHeaderVariants = cva(\n \"flex flex-col gap-1 border-b border-black/10 dark:border-white/10 pb-3\",\n {\n variants: {\n size: {\n sm: \"pb-2\",\n md: \"pb-3\",\n lg: \"pb-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardFooterVariants = cva(\n \"flex flex-col gap-2 border-t border-black/10 dark:border-white/10 pt-3\",\n {\n variants: {\n size: {\n sm: \"pt-2\",\n md: \"pt-3\",\n lg: \"pt-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardTitleVariants = cva(\n \"font-semibold tracking-tight text-slate-900 dark:text-slate-50\",\n {\n variants: {\n size: {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardDescriptionVariants = cva(\n \"text-slate-500 dark:text-slate-400\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n","\"use client\";\n\nimport { createContext, useContext, useMemo, type ElementType } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n CardBaseProps,\n CardDescriptionProps,\n CardSectionProps,\n CardSize,\n CardTitleProps,\n} from \"./types\";\nimport {\n cardDescriptionVariants,\n cardFooterVariants,\n cardHeaderVariants,\n cardTitleVariants,\n cardVariants,\n} from \"./variants\";\n\nconst CardSizeContext = createContext<CardSize>(\"md\");\n\nfunction useCardSize(): CardSize {\n return useContext(CardSizeContext);\n}\n\nexport function CardBase({\n className,\n appearance,\n size = \"md\",\n rounded,\n children,\n ref,\n as: Wrapper = \"article\",\n ...rest\n}: CardBaseProps) {\n const ctx = useMemo(() => size ?? \"md\", [size]);\n\n return (\n <CardSizeContext.Provider value={ctx}>\n <Wrapper\n ref={ref}\n data-slot=\"card\"\n className={cn(cardVariants({ appearance, size, rounded }), className)}\n {...rest}\n >\n {children}\n </Wrapper>\n </CardSizeContext.Provider>\n );\n}\n\nCardBase.displayName = \"Card\";\n\nexport function CardHeader({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <header\n data-slot=\"card-header\"\n className={cn(cardHeaderVariants({ size }), className)}\n >\n {children}\n </header>\n );\n}\n\nCardHeader.displayName = \"CardHeader\";\n\nexport function CardBody({ className, children }: CardSectionProps) {\n return (\n <div\n data-slot=\"card-body\"\n className={cn(\"flex flex-1 flex-col gap-2\", className)}\n >\n {children}\n </div>\n );\n}\n\nCardBody.displayName = \"CardBody\";\n\nexport function CardFooter({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <footer\n data-slot=\"card-footer\"\n className={cn(cardFooterVariants({ size }), className)}\n >\n {children}\n </footer>\n );\n}\n\nCardFooter.displayName = \"CardFooter\";\n\nexport function CardTitle({\n className,\n children,\n as = \"h3\",\n ref,\n ...rest\n}: CardTitleProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-title\"\n className={cn(cardTitleVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardTitle.displayName = \"CardTitle\";\n\nexport function CardDescription({\n className,\n children,\n as = \"p\",\n ref,\n ...rest\n}: CardDescriptionProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-description\"\n className={cn(cardDescriptionVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardDescription.displayName = \"CardDescription\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/ui/card/variants.ts","../src/ui/card/card-base.tsx"],"names":[],"mappings":"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","file":"chunk-JE6B3DHW.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const cardVariants = cva(\n [\n \"relative flex w-full flex-col overflow-hidden text-slate-900 dark:text-slate-50\",\n \"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 ],\n {\n variants: {\n appearance: {\n default:\n \"border border-black/10 dark:border-white/10 bg-black/5 dark:bg-white/5 shadow-[0_1px_2px_rgba(15,23,42,0.08)] dark:shadow-[0_1px_2px_rgba(15,23,42,0.12)]\",\n glass:\n \"border border-black/15 dark:border-white/15 bg-black/10 dark:bg-white/10 backdrop-blur-md shadow-[0_8px_24px_rgba(15,23,42,0.12)] dark:shadow-[0_18px_48px_rgba(15,23,42,0.35)]\",\n outline: \"border border-black/15 dark:border-white/15 bg-transparent\",\n ghost: \"border border-transparent bg-transparent\",\n elevated:\n \"border border-black/10 dark:border-white/10 bg-slate-100/80 dark:bg-slate-900/80 shadow-[0_12px_32px_rgba(15,23,42,0.12)] dark:shadow-[0_24px_64px_rgba(15,23,42,0.45)]\",\n sky: \"border border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl\",\n purple:\n \"border border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl\",\n orange:\n \"border border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl\",\n yellow:\n \"border border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl\",\n indigo:\n \"border border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl\",\n emerald:\n \"border border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl\",\n amber:\n \"border border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl\",\n violet:\n \"border border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\":\n \"border 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 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 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 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 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 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 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 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 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 size: {\n sm: \"gap-2 p-3 text-sm\",\n md: \"gap-3 p-4 text-sm\",\n lg: \"gap-4 p-6 text-base\",\n },\n rounded: {\n sm: \"rounded-lg\",\n md: \"rounded-xl\",\n lg: \"rounded-2xl\",\n full: \"rounded-3xl\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n rounded: \"md\",\n },\n },\n);\n\nexport const cardHeaderVariants = cva(\n \"flex flex-col gap-1 border-b border-black/10 dark:border-white/10 pb-3\",\n {\n variants: {\n size: {\n sm: \"pb-2\",\n md: \"pb-3\",\n lg: \"pb-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardFooterVariants = cva(\n \"flex flex-col gap-2 border-t border-black/10 dark:border-white/10 pt-3\",\n {\n variants: {\n size: {\n sm: \"pt-2\",\n md: \"pt-3\",\n lg: \"pt-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardTitleVariants = cva(\n \"font-semibold tracking-tight text-slate-950 dark:text-white\",\n {\n variants: {\n size: {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardDescriptionVariants = cva(\n \"text-slate-500 dark:text-slate-50\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n","\"use client\";\n\nimport { createContext, useContext, useMemo, type ElementType } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n CardBaseProps,\n CardDescriptionProps,\n CardSectionProps,\n CardSize,\n CardTitleProps,\n} from \"./types\";\nimport {\n cardDescriptionVariants,\n cardFooterVariants,\n cardHeaderVariants,\n cardTitleVariants,\n cardVariants,\n} from \"./variants\";\n\nconst CardSizeContext = createContext<CardSize>(\"md\");\n\nfunction useCardSize(): CardSize {\n return useContext(CardSizeContext);\n}\n\nexport function CardBase({\n className,\n appearance,\n size = \"md\",\n rounded,\n children,\n ref,\n as: Wrapper = \"article\",\n ...rest\n}: CardBaseProps) {\n const ctx = useMemo(() => size ?? \"md\", [size]);\n\n return (\n <CardSizeContext.Provider value={ctx}>\n <Wrapper\n ref={ref}\n data-slot=\"card\"\n className={cn(cardVariants({ appearance, size, rounded }), className)}\n {...rest}\n >\n {children}\n </Wrapper>\n </CardSizeContext.Provider>\n );\n}\n\nCardBase.displayName = \"Card\";\n\nexport function CardHeader({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <header\n data-slot=\"card-header\"\n className={cn(cardHeaderVariants({ size }), className)}\n >\n {children}\n </header>\n );\n}\n\nCardHeader.displayName = \"CardHeader\";\n\nexport function CardBody({ className, children }: CardSectionProps) {\n return (\n <div\n data-slot=\"card-body\"\n className={cn(\"flex flex-1 flex-col gap-2\", className)}\n >\n {children}\n </div>\n );\n}\n\nCardBody.displayName = \"CardBody\";\n\nexport function CardFooter({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <footer\n data-slot=\"card-footer\"\n className={cn(cardFooterVariants({ size }), className)}\n >\n {children}\n </footer>\n );\n}\n\nCardFooter.displayName = \"CardFooter\";\n\nexport function CardTitle({\n className,\n children,\n as = \"h3\",\n ref,\n ...rest\n}: CardTitleProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-title\"\n className={cn(cardTitleVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardTitle.displayName = \"CardTitle\";\n\nexport function CardDescription({\n className,\n children,\n as = \"p\",\n ref,\n ...rest\n}: CardDescriptionProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-description\"\n className={cn(cardDescriptionVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardDescription.displayName = \"CardDescription\";\n"]}
|
|
@@ -63,7 +63,7 @@ var drawerContentVariants = classVarianceAuthority.cva(
|
|
|
63
63
|
full: ""
|
|
64
64
|
},
|
|
65
65
|
appearance: {
|
|
66
|
-
default: "bg-slate-50 dark:bg-slate-950",
|
|
66
|
+
default: "bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-white",
|
|
67
67
|
glass: "border-black/15 dark:border-white/15 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-xl",
|
|
68
68
|
sky: "border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl",
|
|
69
69
|
rose: "border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl",
|
|
@@ -267,7 +267,7 @@ function DrawerBody({ className, children }) {
|
|
|
267
267
|
"div",
|
|
268
268
|
{
|
|
269
269
|
"data-slot": "drawer-body",
|
|
270
|
-
className: chunkZS5756ZC_js.cn("flex-1 text-sm
|
|
270
|
+
className: chunkZS5756ZC_js.cn("flex-1 text-sm", className),
|
|
271
271
|
children
|
|
272
272
|
}
|
|
273
273
|
);
|
|
@@ -332,5 +332,5 @@ exports.DrawerTrigger = DrawerTrigger;
|
|
|
332
332
|
exports.drawerContentVariants = drawerContentVariants;
|
|
333
333
|
exports.drawerOverlayVariants = drawerOverlayVariants;
|
|
334
334
|
exports.useDrawerContext = useDrawerContext;
|
|
335
|
-
//# sourceMappingURL=chunk-
|
|
336
|
-
//# sourceMappingURL=chunk-
|
|
335
|
+
//# sourceMappingURL=chunk-KA5MORDC.js.map
|
|
336
|
+
//# sourceMappingURL=chunk-KA5MORDC.js.map
|