@enya-learning/nova 0.4.3 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -19
- package/dist/chunks/dist-fahbq1psobj0ox6s.js +1327 -0
- package/dist/chunks/dist-fahbq1psobj0ox6s.js.map +1 -0
- package/dist/chunks/dist-o8x0ip0z71xkr2oh.js +37 -0
- package/dist/chunks/dist-o8x0ip0z71xkr2oh.js.map +1 -0
- package/dist/components/accordion.js +62 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.js +108 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/alert.js +49 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/aspect-ratio.js +16 -0
- package/dist/components/aspect-ratio.js.map +1 -0
- package/dist/components/avatar.js +58 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.js +33 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/box.js +16 -0
- package/dist/components/box.js.map +1 -0
- package/dist/components/breadcrumb.js +85 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/button-group.js +47 -0
- package/dist/components/button-group.js.map +1 -0
- package/dist/components/button.js +48 -3
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.js +3004 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/card.js +65 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/carousel.js +1198 -0
- package/dist/components/carousel.js.map +1 -0
- package/dist/components/chart.js +10596 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.js +23 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/collapsible.js +28 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/combobox.js +192 -0
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/command.js +663 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/context-menu.js +153 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/dialog.js +104 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/direction.js +6 -0
- package/dist/components/drawer.js +1042 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.js +157 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/empty.js +67 -0
- package/dist/components/empty.js.map +1 -0
- package/dist/components/enya-logo.js +42 -42
- package/dist/components/enya-logo.js.map +1 -1
- package/dist/components/field.js +119 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/heading.js +39 -0
- package/dist/components/heading.js.map +1 -0
- package/dist/components/hover-card.js +40 -0
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/input-group.js +85 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input-otp.js +417 -0
- package/dist/components/input-otp.js.map +1 -0
- package/dist/components/input.js +18 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/item.js +133 -0
- package/dist/components/item.js.map +1 -0
- package/dist/components/kbd.js +23 -0
- package/dist/components/kbd.js.map +1 -0
- package/dist/components/label.js +16 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/menubar.js +154 -0
- package/dist/components/menubar.js.map +1 -0
- package/dist/components/native-select.js +45 -0
- package/dist/components/native-select.js.map +1 -0
- package/dist/components/navigation-menu.js +95 -0
- package/dist/components/navigation-menu.js.map +1 -0
- package/dist/components/pagination.js +98 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/popover.js +62 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/progress.js +50 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.js +30 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/resizable.js +1562 -0
- package/dist/components/resizable.js.map +1 -0
- package/dist/components/scroll-area.js +40 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.js +116 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.js +17 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/sheet.js +99 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/sidebar.js +399 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/skeleton.js +15 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.js +36 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/sonner.js +738 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/spinner.js +19 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/switch.js +21 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.js +76 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.js +51 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/text.js +47 -0
- package/dist/components/text.js.map +1 -0
- package/dist/components/textarea.js +16 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/toggle-group.js +55 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.js +39 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/tooltip.js +46 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/index.js +25 -23241
- package/dist/src/components/badge/badge.d.ts +1 -1
- package/dist/src/components/box/box.d.ts +7 -0
- package/dist/src/components/box/index.d.ts +1 -0
- package/dist/src/components/button/button.d.ts +1 -1
- package/dist/src/components/heading/heading.d.ts +15 -0
- package/dist/src/components/heading/index.d.ts +1 -0
- package/dist/src/components/item/item.d.ts +1 -1
- package/dist/src/components/spinner/spinner.d.ts +2 -1
- package/dist/src/components/tabs/tabs.d.ts +1 -1
- package/dist/src/components/text/index.d.ts +1 -0
- package/dist/src/components/text/text.d.ts +13 -0
- package/dist/src/index.d.ts +4 -53
- package/dist/styles/nova-binding.css +355 -255
- package/dist/styles/nova.css +205 -38
- package/dist/styles/typography.css +22 -130
- package/package.json +31 -10
- package/src/eslint/no-primitive-colors.js +2 -2
- package/src/eslint/no-primitive-colors.test.ts +97 -0
- package/dist/chunks/button-kvgr8g13fe959ju0.js +0 -81
- package/dist/chunks/button-kvgr8g13fe959ju0.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/styles/globals.css +0 -77
- package/dist/styles/theme-nova.css +0 -201
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as o } from "../chunks/utils-kyb5nny4y41y7hd8.js";
|
|
3
|
+
import { Button as i } from "./button.js";
|
|
4
|
+
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
5
|
+
import "react";
|
|
6
|
+
import { AlertDialog as l } from "@base-ui/react/alert-dialog";
|
|
7
|
+
function x({ ...t }) {
|
|
8
|
+
return /* @__PURE__ */ e(l.Root, {
|
|
9
|
+
"data-slot": "alert-dialog",
|
|
10
|
+
...t
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function z({ ...t }) {
|
|
14
|
+
return /* @__PURE__ */ e(l.Trigger, {
|
|
15
|
+
"data-slot": "alert-dialog-trigger",
|
|
16
|
+
...t
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function s({ ...t }) {
|
|
20
|
+
return /* @__PURE__ */ e(l.Portal, {
|
|
21
|
+
"data-slot": "alert-dialog-portal",
|
|
22
|
+
...t
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function g({ className: t, ...a }) {
|
|
26
|
+
return /* @__PURE__ */ e(l.Backdrop, {
|
|
27
|
+
"data-slot": "alert-dialog-overlay",
|
|
28
|
+
className: o("fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", t),
|
|
29
|
+
...a
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function D({ className: t, size: a = "default", ...r }) {
|
|
33
|
+
return /* @__PURE__ */ n(s, { children: [/* @__PURE__ */ e(g, {}), /* @__PURE__ */ e(l.Popup, {
|
|
34
|
+
"data-slot": "alert-dialog-content",
|
|
35
|
+
"data-size": a,
|
|
36
|
+
className: o("group/alert-dialog-content fixed start-1/2 top-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-4xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/5 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-md rtl:translate-x-1/2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", t),
|
|
37
|
+
...r
|
|
38
|
+
})] });
|
|
39
|
+
}
|
|
40
|
+
function A({ className: t, ...a }) {
|
|
41
|
+
return /* @__PURE__ */ e("div", {
|
|
42
|
+
"data-slot": "alert-dialog-header",
|
|
43
|
+
className: o("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-start sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", t),
|
|
44
|
+
...a
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function v({ className: t, ...a }) {
|
|
48
|
+
return /* @__PURE__ */ e("div", {
|
|
49
|
+
"data-slot": "alert-dialog-footer",
|
|
50
|
+
className: o("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end", t),
|
|
51
|
+
...a
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function b({ className: t, ...a }) {
|
|
55
|
+
return /* @__PURE__ */ e("div", {
|
|
56
|
+
"data-slot": "alert-dialog-media",
|
|
57
|
+
className: o("mb-2 inline-flex size-16 items-center justify-center rounded-full bg-surface-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8", t),
|
|
58
|
+
...a
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function w({ className: t, ...a }) {
|
|
62
|
+
return /* @__PURE__ */ e(l.Title, {
|
|
63
|
+
"data-slot": "alert-dialog-title",
|
|
64
|
+
className: o("font-heading text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", t),
|
|
65
|
+
...a
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function N({ className: t, ...a }) {
|
|
69
|
+
return /* @__PURE__ */ e(l.Description, {
|
|
70
|
+
"data-slot": "alert-dialog-description",
|
|
71
|
+
className: o("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", t),
|
|
72
|
+
...a
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function h({ className: t, ...a }) {
|
|
76
|
+
return /* @__PURE__ */ e(i, {
|
|
77
|
+
"data-slot": "alert-dialog-action",
|
|
78
|
+
className: o(t),
|
|
79
|
+
...a
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function y({ className: t, variant: a = "outline", size: r = "default", ...d }) {
|
|
83
|
+
return /* @__PURE__ */ e(l.Close, {
|
|
84
|
+
"data-slot": "alert-dialog-cancel",
|
|
85
|
+
className: o(t),
|
|
86
|
+
render: /* @__PURE__ */ e(i, {
|
|
87
|
+
variant: a,
|
|
88
|
+
size: r
|
|
89
|
+
}),
|
|
90
|
+
...d
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
export {
|
|
94
|
+
x as AlertDialog,
|
|
95
|
+
h as AlertDialogAction,
|
|
96
|
+
y as AlertDialogCancel,
|
|
97
|
+
D as AlertDialogContent,
|
|
98
|
+
N as AlertDialogDescription,
|
|
99
|
+
v as AlertDialogFooter,
|
|
100
|
+
A as AlertDialogHeader,
|
|
101
|
+
b as AlertDialogMedia,
|
|
102
|
+
g as AlertDialogOverlay,
|
|
103
|
+
s as AlertDialogPortal,
|
|
104
|
+
w as AlertDialogTitle,
|
|
105
|
+
z as AlertDialogTrigger
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=alert-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog.js","names":[],"sources":["../../src/components/alert-dialog/alert-dialog.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"@base-ui/react/alert-dialog\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Button } from \"../button\"\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n <AlertDialogPrimitive.Backdrop\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Popup\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content fixed start-1/2 top-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-4xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/5 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-md rtl:translate-x-1/2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-start sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-16 items-center justify-center rounded-full bg-surface-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"font-heading text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\n \"text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Close.Props &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <AlertDialogPrimitive.Close\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n render={<Button variant={variant} size={size} />}\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n"],"mappings":";;;;;;AAQA,SAAS,EAAY,EAAE,GAAG,EAAA,GAA0C;AAClE,SAAO,gBAAA,EAAC,EAAqB,MAAtB;AAAA,IAA2B,aAAU;AAAA,IAAe,GAAI;AAAA,EAAQ,CAAA;AACzE;AAEA,SAAS,EAAmB,EAAE,GAAG,EAAA,GAA6C;AAC5E,SACE,gBAAA,EAAC,EAAqB,SAAtB;AAAA,IAA8B,aAAU;AAAA,IAAuB,GAAI;AAAA,EAAQ,CAAA;AAE/E;AAEA,SAAS,EAAkB,EAAE,GAAG,EAAA,GAA4C;AAC1E,SACE,gBAAA,EAAC,EAAqB,QAAtB;AAAA,IAA6B,aAAU;AAAA,IAAsB,GAAI;AAAA,EAAQ,CAAA;AAE7E;AAEA,SAAS,EAAmB,EAC1B,WAAA,GACA,GAAG,EAAA,GACmC;AACtC,SACE,gBAAA,EAAC,EAAqB,UAAtB;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,yLACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAmB,EAC1B,WAAA,GACA,MAAA,IAAO,WACP,GAAG,EAAA,GAGF;AACD,SACE,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD,CAAqB,CAAA,GACrB,gBAAA,EAAC,EAAqB,OAAtB;AAAA,IACE,aAAU;AAAA,IACV,aAAW;AAAA,IACX,WAAW,EACT,mcACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA,CACgB,EAAA,CAAA;AAEvB;AAEA,SAAS,EAAkB,EACzB,WAAA,GACA,GAAG,EAAA,GAC2B;AAC9B,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,uZACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAkB,EACzB,WAAA,GACA,GAAG,EAAA,GAC2B;AAC9B,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,+JACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EACxB,WAAA,GACA,GAAG,EAAA,GAC2B;AAC9B,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,wLACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EACxB,WAAA,GACA,GAAG,EAAA,GACuD;AAC1D,SACE,gBAAA,EAAC,EAAqB,OAAtB;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,gKACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAuB,EAC9B,WAAA,GACA,GAAG,EAAA,GAC6D;AAChE,SACE,gBAAA,EAAC,EAAqB,aAAtB;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,kIACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAkB,EACzB,WAAA,GACA,GAAG,EAAA,GACmC;AACtC,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EAAG,CAAS;AAAA,IACvB,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAkB,EACzB,WAAA,GACA,SAAA,IAAU,WACV,MAAA,IAAO,WACP,GAAG,EAAA,GAE4D;AAC/D,SACE,gBAAA,EAAC,EAAqB,OAAtB;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EAAG,CAAS;AAAA,IACvB,QAAQ,gBAAA,EAAC,GAAD;AAAA,MAAiB,SAAA;AAAA,MAAe,MAAA;AAAA,IAAO,CAAA;AAAA,IAC/C,GAAI;AAAA,EACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as o } from "../chunks/dist-o8x0ip0z71xkr2oh.js";
|
|
3
|
+
import { t as a } from "../chunks/utils-kyb5nny4y41y7hd8.js";
|
|
4
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
5
|
+
import "react";
|
|
6
|
+
var l = o("group/alert relative grid w-full gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pe-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4", {
|
|
7
|
+
variants: { variant: {
|
|
8
|
+
default: "bg-card text-card-foreground",
|
|
9
|
+
destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"
|
|
10
|
+
} },
|
|
11
|
+
defaultVariants: { variant: "default" }
|
|
12
|
+
});
|
|
13
|
+
function c({ className: t, variant: e, ...s }) {
|
|
14
|
+
return /* @__PURE__ */ r("div", {
|
|
15
|
+
"data-slot": "alert",
|
|
16
|
+
role: "alert",
|
|
17
|
+
className: a(l({ variant: e }), t),
|
|
18
|
+
...s
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function v({ className: t, ...e }) {
|
|
22
|
+
return /* @__PURE__ */ r("div", {
|
|
23
|
+
"data-slot": "alert-title",
|
|
24
|
+
className: a("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", t),
|
|
25
|
+
...e
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function f({ className: t, ...e }) {
|
|
29
|
+
return /* @__PURE__ */ r("div", {
|
|
30
|
+
"data-slot": "alert-description",
|
|
31
|
+
className: a("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", t),
|
|
32
|
+
...e
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function g({ className: t, ...e }) {
|
|
36
|
+
return /* @__PURE__ */ r("div", {
|
|
37
|
+
"data-slot": "alert-action",
|
|
38
|
+
className: a("absolute end-3 top-2.5", t),
|
|
39
|
+
...e
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
c as Alert,
|
|
44
|
+
g as AlertAction,
|
|
45
|
+
f as AlertDescription,
|
|
46
|
+
v as AlertTitle
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","names":[],"sources":["../../src/components/alert/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst alertVariants = cva(\n \"group/alert relative grid w-full gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pe-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"absolute end-3 top-2.5\", className)}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction }\n"],"mappings":";;;;;AAKA,IAAM,IAAgB,EACpB,8TACA;AAAA,EACE,UAAU,EACR,SAAS;AAAA,IACP,SAAS;AAAA,IACT,aACE;AAAA,EACJ,EACF;AAAA,EACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,SAAS,EAAM,EACb,WAAA,GACA,SAAA,GACA,GAAG,EAAA,GACgE;AACnE,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,MAAK;AAAA,IACL,WAAW,EAAG,EAAc,EAAE,SAAA,EAAQ,CAAC,GAAG,CAAS;AAAA,IACnD,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAW,EAAE,WAAA,GAAW,GAAG,EAAA,GAAsC;AACxE,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,uHACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EACxB,WAAA,GACA,GAAG,EAAA,GAC2B;AAC9B,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,8JACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,WAAA,GAAW,GAAG,EAAA,GAAsC;AACzE,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EAAG,0BAA0B,CAAS;AAAA,IACjD,GAAI;AAAA,EACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as o } from "../chunks/utils-kyb5nny4y41y7hd8.js";
|
|
3
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
4
|
+
function c({ ratio: t, className: a, ...e }) {
|
|
5
|
+
return /* @__PURE__ */ r("div", {
|
|
6
|
+
"data-slot": "aspect-ratio",
|
|
7
|
+
style: { "--ratio": t },
|
|
8
|
+
className: o("relative aspect-(--ratio)", a),
|
|
9
|
+
...e
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
c as AspectRatio
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=aspect-ratio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect-ratio.js","names":[],"sources":["../../src/components/aspect-ratio/aspect-ratio.tsx"],"sourcesContent":["import { cn } from \"../../lib/utils\"\n\nfunction AspectRatio({\n ratio,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & { ratio: number }) {\n return (\n <div\n data-slot=\"aspect-ratio\"\n style={\n {\n \"--ratio\": ratio,\n } as React.CSSProperties\n }\n className={cn(\"relative aspect-(--ratio)\", className)}\n {...props}\n />\n )\n}\n\nexport { AspectRatio }\n"],"mappings":";;;AAEA,SAAS,EAAY,EACnB,OAAA,GACA,WAAA,GACA,GAAG,EAAA,GAC+C;AAClD,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,OACE,EACE,WAAW,EACb;AAAA,IAEF,WAAW,EAAG,6BAA6B,CAAS;AAAA,IACpD,GAAI;AAAA,EACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t } from "../chunks/utils-kyb5nny4y41y7hd8.js";
|
|
3
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
4
|
+
import "react";
|
|
5
|
+
import { Avatar as s } from "@base-ui/react/avatar";
|
|
6
|
+
function d({ className: a, size: e = "default", ...o }) {
|
|
7
|
+
return /* @__PURE__ */ r(s.Root, {
|
|
8
|
+
"data-slot": "avatar",
|
|
9
|
+
"data-size": e,
|
|
10
|
+
className: t("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten", a),
|
|
11
|
+
...o
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function g({ className: a, ...e }) {
|
|
15
|
+
return /* @__PURE__ */ r(s.Image, {
|
|
16
|
+
"data-slot": "avatar-image",
|
|
17
|
+
className: t("aspect-square size-full rounded-full object-cover", a),
|
|
18
|
+
...e
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function f({ className: a, ...e }) {
|
|
22
|
+
return /* @__PURE__ */ r(s.Fallback, {
|
|
23
|
+
"data-slot": "avatar-fallback",
|
|
24
|
+
className: t("flex size-full items-center justify-center rounded-full bg-surface-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs", a),
|
|
25
|
+
...e
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function v({ className: a, ...e }) {
|
|
29
|
+
return /* @__PURE__ */ r("span", {
|
|
30
|
+
"data-slot": "avatar-badge",
|
|
31
|
+
className: t("absolute end-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-surface-1 select-none", "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden", "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2", "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2", a),
|
|
32
|
+
...e
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function c({ className: a, ...e }) {
|
|
36
|
+
return /* @__PURE__ */ r("div", {
|
|
37
|
+
"data-slot": "avatar-group",
|
|
38
|
+
className: t("group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-surface-1", a),
|
|
39
|
+
...e
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function m({ className: a, ...e }) {
|
|
43
|
+
return /* @__PURE__ */ r("div", {
|
|
44
|
+
"data-slot": "avatar-group-count",
|
|
45
|
+
className: t("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-surface-muted text-sm text-muted-foreground ring-2 ring-surface-1 group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", a),
|
|
46
|
+
...e
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
d as Avatar,
|
|
51
|
+
v as AvatarBadge,
|
|
52
|
+
f as AvatarFallback,
|
|
53
|
+
c as AvatarGroup,
|
|
54
|
+
m as AvatarGroupCount,
|
|
55
|
+
g as AvatarImage
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","names":[],"sources":["../../src/components/avatar/avatar.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Avatar({\n className,\n size = \"default\",\n ...props\n}: AvatarPrimitive.Root.Props & {\n size?: \"default\" | \"sm\" | \"lg\"\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n \"group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\n \"aspect-square size-full rounded-full object-cover\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: AvatarPrimitive.Fallback.Props) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full bg-surface-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute end-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-surface-1 select-none\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-surface-1\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-surface-muted text-sm text-muted-foreground ring-2 ring-surface-1 group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarBadge,\n}\n"],"mappings":";;;;;AAKA,SAAS,EAAO,EACd,WAAA,GACA,MAAA,IAAO,WACP,GAAG,EAAA,GAGF;AACD,SACE,gBAAA,EAAC,EAAgB,MAAjB;AAAA,IACE,aAAU;AAAA,IACV,aAAW;AAAA,IACX,WAAW,EACT,yPACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,WAAA,GAAW,GAAG,EAAA,GAAsC;AACzE,SACE,gBAAA,EAAC,EAAgB,OAAjB;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,qDACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAe,EACtB,WAAA,GACA,GAAG,EAAA,GAC8B;AACjC,SACE,gBAAA,EAAC,EAAgB,UAAjB;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,8IACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,WAAA,GAAW,GAAG,EAAA,GAAuC;AAC1E,SACE,gBAAA,EAAC,QAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,yKACA,iFACA,6FACA,iFACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,WAAA,GAAW,GAAG,EAAA,GAAsC;AACzE,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,sGACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EACxB,WAAA,GACA,GAAG,EAAA,GAC2B;AAC9B,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,mWACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as a } from "../chunks/dist-o8x0ip0z71xkr2oh.js";
|
|
3
|
+
import { t as o } from "../chunks/utils-kyb5nny4y41y7hd8.js";
|
|
4
|
+
import { mergeProps as n } from "@base-ui/react/merge-props";
|
|
5
|
+
import { useRender as s } from "@base-ui/react/use-render";
|
|
6
|
+
var d = a("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!", {
|
|
7
|
+
variants: { variant: {
|
|
8
|
+
default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
|
|
9
|
+
secondary: "bg-surface-2 text-foreground [a]:hover:bg-surface-2/80",
|
|
10
|
+
destructive: "bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",
|
|
11
|
+
outline: "border-border bg-border/30 text-foreground [a]:hover:bg-surface-muted [a]:hover:text-muted-foreground",
|
|
12
|
+
ghost: "hover:bg-surface-muted hover:text-muted-foreground dark:hover:bg-surface-muted/50",
|
|
13
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
14
|
+
} },
|
|
15
|
+
defaultVariants: { variant: "default" }
|
|
16
|
+
});
|
|
17
|
+
function c({ className: r, variant: e = "default", render: t, ...i }) {
|
|
18
|
+
return s({
|
|
19
|
+
defaultTagName: "span",
|
|
20
|
+
props: n({ className: o(d({ variant: e }), r) }, i),
|
|
21
|
+
render: t,
|
|
22
|
+
state: {
|
|
23
|
+
slot: "badge",
|
|
24
|
+
variant: e
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
c as Badge,
|
|
30
|
+
d as badgeVariants
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","names":[],"sources":["../../src/components/badge/badge.tsx"],"sourcesContent":["import { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst badgeVariants = cva(\n \"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n secondary: \"bg-surface-2 text-foreground [a]:hover:bg-surface-2/80\",\n destructive:\n \"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20\",\n outline:\n \"border-border bg-border/30 text-foreground [a]:hover:bg-surface-muted [a]:hover:text-muted-foreground\",\n ghost:\n \"hover:bg-surface-muted hover:text-muted-foreground dark:hover:bg-surface-muted/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Badge({\n className,\n variant = \"default\",\n render,\n ...props\n}: useRender.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants>) {\n return useRender({\n defaultTagName: \"span\",\n props: mergeProps<\"span\">(\n {\n className: cn(badgeVariants({ variant }), className),\n },\n props\n ),\n render,\n state: {\n slot: \"badge\",\n variant,\n },\n })\n}\n\nexport { Badge, badgeVariants }\n"],"mappings":";;;;;AAMA,IAAM,IAAgB,EACpB,8eACA;AAAA,EACE,UAAU,EACR,SAAS;AAAA,IACP,SAAS;AAAA,IACT,WAAW;AAAA,IACX,aACE;AAAA,IACF,SACE;AAAA,IACF,OACE;AAAA,IACF,MAAM;AAAA,EACR,EACF;AAAA,EACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,SAAS,EAAM,EACb,WAAA,GACA,SAAA,IAAU,WACV,QAAA,GACA,GAAG,EAAA,GACqE;AACxE,SAAO,EAAU;AAAA,IACf,gBAAgB;AAAA,IAChB,OAAO,EACL,EACE,WAAW,EAAG,EAAc,EAAE,SAAA,EAAQ,CAAC,GAAG,CAAS,EACrD,GACA,CACF;AAAA,IACA,QAAA;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAA;AAAA,IACF;AAAA,EACF,CAAC;AACH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as i } from "../chunks/utils-kyb5nny4y41y7hd8.js";
|
|
3
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
4
|
+
import "react";
|
|
5
|
+
function n({ as: o = "div", className: t, ...r }) {
|
|
6
|
+
return /* @__PURE__ */ m(o, {
|
|
7
|
+
"data-slot": "box",
|
|
8
|
+
className: i(t),
|
|
9
|
+
...r
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
n as Box
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=box.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"box.js","names":[],"sources":["../../src/components/box/box.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\ntype BoxTag = \"div\" | \"nav\" | \"section\" | \"article\"\n\ntype BoxProps = React.ComponentProps<\"div\"> & {\n as?: BoxTag\n}\n\nfunction Box({ as = \"div\", className, ...props }: BoxProps) {\n const Comp = as\n return <Comp data-slot=\"box\" className={cn(className)} {...props} />\n}\n\nexport { Box }\n"],"mappings":";;;;AAUA,SAAS,EAAI,EAAE,IAAA,IAAK,OAAO,WAAA,GAAW,GAAG,EAAA,GAAmB;AAE1D,SAAO,gBAAA,EAAC,GAAD;AAAA,IAAM,aAAU;AAAA,IAAM,WAAW,EAAG,CAAS;AAAA,IAAG,GAAI;AAAA,EAAQ,CAAA;AACrE"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t } from "../chunks/utils-kyb5nny4y41y7hd8.js";
|
|
3
|
+
import { jsx as a, jsxs as s } from "react/jsx-runtime";
|
|
4
|
+
import { mergeProps as i } from "@base-ui/react/merge-props";
|
|
5
|
+
import { useRender as c } from "@base-ui/react/use-render";
|
|
6
|
+
import { HugeiconsIcon as n } from "@hugeicons/react";
|
|
7
|
+
import { ChevronRightIcon as m, MoreHorizontalIcon as l } from "@hugeicons/core-free-icons";
|
|
8
|
+
import "react";
|
|
9
|
+
function N({ className: r, ...e }) {
|
|
10
|
+
return /* @__PURE__ */ a("nav", {
|
|
11
|
+
"aria-label": "breadcrumb",
|
|
12
|
+
"data-slot": "breadcrumb",
|
|
13
|
+
className: t(r),
|
|
14
|
+
...e
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function h({ className: r, ...e }) {
|
|
18
|
+
return /* @__PURE__ */ a("ol", {
|
|
19
|
+
"data-slot": "breadcrumb-list",
|
|
20
|
+
className: t("flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground sm:gap-2.5", r),
|
|
21
|
+
...e
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function B({ className: r, ...e }) {
|
|
25
|
+
return /* @__PURE__ */ a("li", {
|
|
26
|
+
"data-slot": "breadcrumb-item",
|
|
27
|
+
className: t("inline-flex items-center gap-1.5", r),
|
|
28
|
+
...e
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function v({ className: r, render: e, ...o }) {
|
|
32
|
+
return c({
|
|
33
|
+
defaultTagName: "a",
|
|
34
|
+
props: i({ className: t("transition-colors hover:text-foreground", r) }, o),
|
|
35
|
+
render: e,
|
|
36
|
+
state: { slot: "breadcrumb-link" }
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function k({ className: r, ...e }) {
|
|
40
|
+
return /* @__PURE__ */ a("span", {
|
|
41
|
+
"data-slot": "breadcrumb-page",
|
|
42
|
+
role: "link",
|
|
43
|
+
"aria-disabled": "true",
|
|
44
|
+
"aria-current": "page",
|
|
45
|
+
className: t("font-normal text-foreground", r),
|
|
46
|
+
...e
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function z({ children: r, className: e, ...o }) {
|
|
50
|
+
return /* @__PURE__ */ a("li", {
|
|
51
|
+
"data-slot": "breadcrumb-separator",
|
|
52
|
+
role: "presentation",
|
|
53
|
+
"aria-hidden": "true",
|
|
54
|
+
className: t("[&>svg]:size-3.5", e),
|
|
55
|
+
...o,
|
|
56
|
+
children: r ?? /* @__PURE__ */ a(n, {
|
|
57
|
+
icon: m,
|
|
58
|
+
className: "rtl:rotate-180"
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function I({ className: r, ...e }) {
|
|
63
|
+
return /* @__PURE__ */ s("span", {
|
|
64
|
+
"data-slot": "breadcrumb-ellipsis",
|
|
65
|
+
role: "presentation",
|
|
66
|
+
"aria-hidden": "true",
|
|
67
|
+
className: t("flex size-5 items-center justify-center [&>svg]:size-4", r),
|
|
68
|
+
...e,
|
|
69
|
+
children: [/* @__PURE__ */ a(n, { icon: l }), /* @__PURE__ */ a("span", {
|
|
70
|
+
className: "sr-only",
|
|
71
|
+
children: "More"
|
|
72
|
+
})]
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
export {
|
|
76
|
+
N as Breadcrumb,
|
|
77
|
+
I as BreadcrumbEllipsis,
|
|
78
|
+
B as BreadcrumbItem,
|
|
79
|
+
v as BreadcrumbLink,
|
|
80
|
+
h as BreadcrumbList,
|
|
81
|
+
k as BreadcrumbPage,
|
|
82
|
+
z as BreadcrumbSeparator
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=breadcrumb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.js","names":[],"sources":["../../src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\n\nimport { cn } from \"../../lib/utils\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\nimport {\n ChevronRightIcon,\n MoreHorizontalIcon,\n} from \"@hugeicons/core-free-icons\"\n\nfunction Breadcrumb({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n aria-label=\"breadcrumb\"\n data-slot=\"breadcrumb\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground sm:gap-2.5\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbLink({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"a\">) {\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\"transition-colors hover:text-foreground\", className),\n },\n props\n ),\n render,\n state: {\n slot: \"breadcrumb-link\",\n },\n })\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? (\n <HugeiconsIcon icon={ChevronRightIcon} className=\"rtl:rotate-180\" />\n )}\n </li>\n )\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\n \"flex size-5 items-center justify-center [&>svg]:size-4\",\n className\n )}\n {...props}\n >\n <HugeiconsIcon icon={MoreHorizontalIcon} />\n <span className=\"sr-only\">More</span>\n </span>\n )\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n"],"mappings":";;;;;;;;AAWA,SAAS,EAAW,EAAE,WAAA,GAAW,GAAG,EAAA,GAAsC;AACxE,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,cAAW;AAAA,IACX,aAAU;AAAA,IACV,WAAW,EAAG,CAAS;AAAA,IACvB,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAe,EAAE,WAAA,GAAW,GAAG,EAAA,GAAqC;AAC3E,SACE,gBAAA,EAAC,MAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EACT,gGACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAe,EAAE,WAAA,GAAW,GAAG,EAAA,GAAqC;AAC3E,SACE,gBAAA,EAAC,MAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EAAG,oCAAoC,CAAS;AAAA,IAC3D,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAe,EACtB,WAAA,GACA,QAAA,GACA,GAAG,EAAA,GAC6B;AAChC,SAAO,EAAU;AAAA,IACf,gBAAgB;AAAA,IAChB,OAAO,EACL,EACE,WAAW,EAAG,2CAA2C,CAAS,EACpE,GACA,CACF;AAAA,IACA,QAAA;AAAA,IACA,OAAO,EACL,MAAM,kBACR;AAAA,EACF,CAAC;AACH;AAEA,SAAS,EAAe,EAAE,WAAA,GAAW,GAAG,EAAA,GAAuC;AAC7E,SACE,gBAAA,EAAC,QAAD;AAAA,IACE,aAAU;AAAA,IACV,MAAK;AAAA,IACL,iBAAc;AAAA,IACd,gBAAa;AAAA,IACb,WAAW,EAAG,+BAA+B,CAAS;AAAA,IACtD,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAoB,EAC3B,UAAA,GACA,WAAA,GACA,GAAG,EAAA,GAC0B;AAC7B,SACE,gBAAA,EAAC,MAAD;AAAA,IACE,aAAU;AAAA,IACV,MAAK;AAAA,IACL,eAAY;AAAA,IACZ,WAAW,EAAG,oBAAoB,CAAS;AAAA,IAC3C,GAAI;AAAA,cAEH,KACC,gBAAA,EAAC,GAAD;AAAA,MAAe,MAAM;AAAA,MAAkB,WAAU;AAAA,IAAkB,CAAA;AAAA,EAEnE,CAAA;AAER;AAEA,SAAS,EAAmB,EAC1B,WAAA,GACA,GAAG,EAAA,GAC4B;AAC/B,SACE,gBAAA,EAAC,QAAD;AAAA,IACE,aAAU;AAAA,IACV,MAAK;AAAA,IACL,eAAY;AAAA,IACZ,WAAW,EACT,0DACA,CACF;AAAA,IACA,GAAI;AAAA,cARN,CAUE,gBAAA,EAAC,GAAD,EAAe,MAAM,EAAqB,CAAA,GAC1C,gBAAA,EAAC,QAAD;AAAA,MAAM,WAAU;AAAA,gBAAU;AAAA,IAAU,CAAA,CAChC;AAAA;AAEV"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as s } from "../chunks/dist-o8x0ip0z71xkr2oh.js";
|
|
3
|
+
import { t as e } from "../chunks/utils-kyb5nny4y41y7hd8.js";
|
|
4
|
+
import { Separator as n } from "./separator.js";
|
|
5
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
6
|
+
import { mergeProps as l } from "@base-ui/react/merge-props";
|
|
7
|
+
import { useRender as d } from "@base-ui/react/use-render";
|
|
8
|
+
var i = s("flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-4xl [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
|
|
9
|
+
variants: { orientation: {
|
|
10
|
+
horizontal: "*:data-slot:rounded-e-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-e-4xl! [&>[data-slot]~[data-slot]]:rounded-s-none [&>[data-slot]~[data-slot]]:border-s-0",
|
|
11
|
+
vertical: "flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-4xl! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0"
|
|
12
|
+
} },
|
|
13
|
+
defaultVariants: { orientation: "horizontal" }
|
|
14
|
+
});
|
|
15
|
+
function x({ className: a, orientation: t, ...o }) {
|
|
16
|
+
return /* @__PURE__ */ r("div", {
|
|
17
|
+
role: "group",
|
|
18
|
+
"data-slot": "button-group",
|
|
19
|
+
"data-orientation": t,
|
|
20
|
+
className: e(i({ orientation: t }), a),
|
|
21
|
+
...o
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function v({ className: a, render: t, ...o }) {
|
|
25
|
+
return d({
|
|
26
|
+
defaultTagName: "div",
|
|
27
|
+
props: l({ className: e("flex items-center gap-2 rounded-4xl border bg-surface-muted px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", a) }, o),
|
|
28
|
+
render: t,
|
|
29
|
+
state: { slot: "button-group-text" }
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function b({ className: a, orientation: t = "vertical", ...o }) {
|
|
33
|
+
return /* @__PURE__ */ r(n, {
|
|
34
|
+
"data-slot": "button-group-separator",
|
|
35
|
+
orientation: t,
|
|
36
|
+
className: e("relative self-stretch bg-border data-horizontal:mx-px data-horizontal:w-auto data-vertical:my-px data-vertical:h-auto", a),
|
|
37
|
+
...o
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
x as ButtonGroup,
|
|
42
|
+
b as ButtonGroupSeparator,
|
|
43
|
+
v as ButtonGroupText,
|
|
44
|
+
i as buttonGroupVariants
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=button-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-group.js","names":[],"sources":["../../src/components/button-group/button-group.tsx"],"sourcesContent":["import { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Separator } from \"../separator\"\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-4xl [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n \"*:data-slot:rounded-e-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-e-4xl! [&>[data-slot]~[data-slot]]:rounded-s-none [&>[data-slot]~[data-slot]]:border-s-0\",\n vertical:\n \"flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-4xl! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n }\n)\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction ButtonGroupText({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex items-center gap-2 rounded-4xl border bg-surface-muted px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"button-group-text\",\n },\n })\n}\n\nfunction ButtonGroupSeparator({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n \"relative self-stretch bg-border data-horizontal:mx-px data-horizontal:w-auto data-vertical:my-px data-vertical:h-auto\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n ButtonGroup,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n}\n"],"mappings":";;;;;;;AAOA,IAAM,IAAsB,EAC1B,6RACA;AAAA,EACE,UAAU,EACR,aAAa;AAAA,IACX,YACE;AAAA,IACF,UACE;AAAA,EACJ,EACF;AAAA,EACA,iBAAiB,EACf,aAAa,aACf;AACF,CACF;AAEA,SAAS,EAAY,EACnB,WAAA,GACA,aAAA,GACA,GAAG,EAAA,GACsE;AACzE,SACE,gBAAA,EAAC,OAAD;AAAA,IACE,MAAK;AAAA,IACL,aAAU;AAAA,IACV,oBAAkB;AAAA,IAClB,WAAW,EAAG,EAAoB,EAAE,aAAA,EAAY,CAAC,GAAG,CAAS;AAAA,IAC7D,GAAI;AAAA,EACL,CAAA;AAEL;AAEA,SAAS,EAAgB,EACvB,WAAA,GACA,QAAA,GACA,GAAG,EAAA,GAC+B;AAClC,SAAO,EAAU;AAAA,IACf,gBAAgB;AAAA,IAChB,OAAO,EACL,EACE,WAAW,EACT,2JACA,CACF,EACF,GACA,CACF;AAAA,IACA,QAAA;AAAA,IACA,OAAO,EACL,MAAM,oBACR;AAAA,EACF,CAAC;AACH;AAEA,SAAS,EAAqB,EAC5B,WAAA,GACA,aAAA,IAAc,YACd,GAAG,EAAA,GACsC;AACzC,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,aAAU;AAAA,IACG,aAAA;AAAA,IACb,WAAW,EACT,yHACA,CACF;AAAA,IACA,GAAI;AAAA,EACL,CAAA;AAEL"}
|
|
@@ -1,6 +1,51 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { t as a } from "../chunks/dist-o8x0ip0z71xkr2oh.js";
|
|
3
|
+
import { t as n } from "../chunks/utils-kyb5nny4y41y7hd8.js";
|
|
4
|
+
import { Button as s } from "@base-ui/react/button";
|
|
5
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
6
|
+
var d = a("group/button inline-flex shrink-0 items-center justify-center rounded-4xl border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all duration-150 outline-none select-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 active:not-aria-[haspopup]:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
7
|
+
variants: {
|
|
8
|
+
variant: {
|
|
9
|
+
default: "bg-primary text-primary-foreground hover:bg-foreground/80",
|
|
10
|
+
accent: "bg-accent text-primary-foreground hover:bg-accent/80",
|
|
11
|
+
outline: "border-border bg-white hover:bg-border/30 hover:text-foreground aria-expanded:bg-surface-muted aria-expanded:text-foreground",
|
|
12
|
+
secondary: "bg-surface-2 text-foreground hover:bg-[color-mix(in_oklch,var(--color-surface-2),var(--color-foreground)_5%)] aria-expanded:bg-surface-2 aria-expanded:text-foreground",
|
|
13
|
+
ghost: "hover:bg-surface-muted hover:text-foreground aria-expanded:bg-surface-muted aria-expanded:text-foreground dark:hover:bg-surface-muted/50",
|
|
14
|
+
destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
|
|
15
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
16
|
+
},
|
|
17
|
+
size: {
|
|
18
|
+
default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pe-2.5 has-data-[icon=inline-start]:ps-2.5",
|
|
19
|
+
xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2 [&_svg:not([class*='size-'])]:size-3",
|
|
20
|
+
sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2",
|
|
21
|
+
lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pe-3 has-data-[icon=inline-start]:ps-3",
|
|
22
|
+
xl: "h-15 gap-2 rounded-full px-5 text-2xl has-data-[icon=inline-end]:pe-4 has-data-[icon=inline-start]:ps-4",
|
|
23
|
+
icon: "size-9",
|
|
24
|
+
"icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3",
|
|
25
|
+
"icon-sm": "size-8",
|
|
26
|
+
"icon-lg": "size-10",
|
|
27
|
+
"icon-xl": "size-12"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
variant: "default",
|
|
32
|
+
size: "default"
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
function v({ className: e, variant: r = "default", size: i = "default", ...t }) {
|
|
36
|
+
return /* @__PURE__ */ o(s, {
|
|
37
|
+
"data-slot": "button",
|
|
38
|
+
className: n(d({
|
|
39
|
+
variant: r,
|
|
40
|
+
size: i,
|
|
41
|
+
className: e
|
|
42
|
+
})),
|
|
43
|
+
...t
|
|
44
|
+
});
|
|
45
|
+
}
|
|
3
46
|
export {
|
|
4
|
-
|
|
5
|
-
|
|
47
|
+
v as Button,
|
|
48
|
+
d as buttonVariants
|
|
6
49
|
};
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","names":[],"sources":["../../src/components/button/button.tsx"],"sourcesContent":["import { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-4xl border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all duration-150 outline-none select-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 active:not-aria-[haspopup]:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-foreground/80\",\n accent: \"bg-accent text-primary-foreground hover:bg-accent/80\",\n outline:\n \"border-border bg-white hover:bg-border/30 hover:text-foreground aria-expanded:bg-surface-muted aria-expanded:text-foreground\",\n secondary:\n \"bg-surface-2 text-foreground hover:bg-[color-mix(in_oklch,var(--color-surface-2),var(--color-foreground)_5%)] aria-expanded:bg-surface-2 aria-expanded:text-foreground\",\n ghost:\n \"hover:bg-surface-muted hover:text-foreground aria-expanded:bg-surface-muted aria-expanded:text-foreground dark:hover:bg-surface-muted/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pe-2.5 has-data-[icon=inline-start]:ps-2.5\",\n xs: \"h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 px-3 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2\",\n lg: \"h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pe-3 has-data-[icon=inline-start]:ps-3\",\n xl: \"h-15 gap-2 rounded-full px-5 text-2xl has-data-[icon=inline-end]:pe-4 has-data-[icon=inline-start]:ps-4\",\n icon: \"size-9\",\n \"icon-xs\": \"size-6 [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\": \"size-8\",\n \"icon-lg\": \"size-10\",\n \"icon-xl\": \"size-12\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>) {\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"mappings":";;;;;AAKA,IAAM,IAAiB,EACrB,knBACA;AAAA,EACE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,SACE;AAAA,MACF,WACE;AAAA,MACF,OACE;AAAA,MACF,aACE;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,SACE;AAAA,MACF,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF,CACF;AAEA,SAAS,EAAO,EACd,WAAA,GACA,SAAA,IAAU,WACV,MAAA,IAAO,WACP,GAAG,EAAA,GAC2D;AAC9D,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,aAAU;AAAA,IACV,WAAW,EAAG,EAAe;AAAA,MAAE,SAAA;AAAA,MAAS,MAAA;AAAA,MAAM,WAAA;AAAA,IAAU,CAAC,CAAC;AAAA,IAC1D,GAAI;AAAA,EACL,CAAA;AAEL"}
|