art-bd-ui 1.0.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.
Files changed (162) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/components/buttons/button/button.js +43 -0
  3. package/dist/cjs/components/buttons/icon-button/icon-button.js +33 -0
  4. package/dist/cjs/components/buttons/toggle/toggle.js +34 -0
  5. package/dist/cjs/components/buttons/toggle-group/toggle-group.js +31 -0
  6. package/dist/cjs/components/forms/checkbox/checkbox.js +52 -0
  7. package/dist/cjs/components/forms/input/input.js +38 -0
  8. package/dist/cjs/components/forms/label/label.js +38 -0
  9. package/dist/cjs/components/forms/radio/radio.js +22 -0
  10. package/dist/cjs/components/forms/select/select.js +72 -0
  11. package/dist/cjs/components/forms/switch/switch.js +51 -0
  12. package/dist/cjs/components/forms/textarea/textarea.js +37 -0
  13. package/dist/cjs/components/layout/box/box.js +19 -0
  14. package/dist/cjs/components/layout/flex/flex.js +14 -0
  15. package/dist/cjs/components/layout/grid/grid.js +14 -0
  16. package/dist/cjs/components/media/aspect-ratio/aspect-ratio.js +31 -0
  17. package/dist/cjs/components/media/avatar/avatar.js +27 -0
  18. package/dist/cjs/components/media/icon/icon.js +27 -0
  19. package/dist/cjs/components/popovers/dialog/dialog.js +69 -0
  20. package/dist/cjs/components/popovers/drawer/drawer.js +82 -0
  21. package/dist/cjs/components/popovers/popover/popover.js +66 -0
  22. package/dist/cjs/components/popovers/sheet/sheet.js +94 -0
  23. package/dist/cjs/components/popovers/toast/toast.js +75 -0
  24. package/dist/cjs/components/popovers/tooltip/tooltip.js +45 -0
  25. package/dist/cjs/components/typography/heading/heading.js +55 -0
  26. package/dist/cjs/components/typography/text/text.js +57 -0
  27. package/dist/cjs/components/ui/alert/alert.js +34 -0
  28. package/dist/cjs/components/ui/badge/badge.js +31 -0
  29. package/dist/cjs/components/ui/button/button.js +42 -0
  30. package/dist/cjs/components/ui/calendar/calendar.js +24 -0
  31. package/dist/cjs/components/ui/command/command.js +83 -0
  32. package/dist/cjs/components/ui/data-table/components/cell.js +24 -0
  33. package/dist/cjs/components/ui/data-table/components/column-group.js +45 -0
  34. package/dist/cjs/components/ui/data-table/components/table-body.js +47 -0
  35. package/dist/cjs/components/ui/data-table/components/table-fallback.js +28 -0
  36. package/dist/cjs/components/ui/data-table/components/table-head.js +56 -0
  37. package/dist/cjs/components/ui/data-table/components/table-placeholder.js +18 -0
  38. package/dist/cjs/components/ui/data-table/data-table.js +97 -0
  39. package/dist/cjs/components/ui/data-table/hooks/contextHooks.js +75 -0
  40. package/dist/cjs/components/ui/data-table/hooks/useStickyColumns.js +98 -0
  41. package/dist/cjs/components/ui/data-table/utils.js +26 -0
  42. package/dist/cjs/components/ui/date-picker/date-picker.js +15 -0
  43. package/dist/cjs/components/ui/dropdown-menu/dropdown-menu.js +100 -0
  44. package/dist/cjs/components/ui/icon/icon.js +27 -0
  45. package/dist/cjs/components/ui/link/link.js +32 -0
  46. package/dist/cjs/components/ui/pagination/pagination.js +51 -0
  47. package/dist/cjs/components/ui/progress/progress.js +13 -0
  48. package/dist/cjs/components/ui/sidebar/sidebar.js +331 -0
  49. package/dist/cjs/components/ui/table/components/cell.js +30 -0
  50. package/dist/cjs/components/ui/table/components/row.js +25 -0
  51. package/dist/cjs/components/ui/table/components/table-body.js +13 -0
  52. package/dist/cjs/components/ui/table/components/table-caption.js +13 -0
  53. package/dist/cjs/components/ui/table/components/table-footer.js +13 -0
  54. package/dist/cjs/components/ui/table/components/table-head.js +30 -0
  55. package/dist/cjs/components/ui/table/components/table-header.js +13 -0
  56. package/dist/cjs/components/ui/table/table.js +36 -0
  57. package/dist/cjs/components/ui/tabs/tabs.js +47 -0
  58. package/dist/cjs/components/utility/empty-state/empty-state.js +29 -0
  59. package/dist/cjs/components/utility/separator/separator.js +14 -0
  60. package/dist/cjs/components/utility/skeleton/skeleton.js +13 -0
  61. package/dist/cjs/components/utility/status-controller/status-controller.js +12 -0
  62. package/dist/cjs/hooks/use-mobile.js +21 -0
  63. package/dist/cjs/hooks/useControlled.js +19 -0
  64. package/dist/cjs/hooks/useFirstMountState.js +16 -0
  65. package/dist/cjs/hooks/useForkRef.js +23 -0
  66. package/dist/cjs/hooks/useLatest.js +12 -0
  67. package/dist/cjs/hooks/usePrevious.js +14 -0
  68. package/dist/cjs/hooks/useScrollState.js +39 -0
  69. package/dist/cjs/hooks/useStateRef.js +12 -0
  70. package/dist/cjs/hooks/useUpdateEffect.js +17 -0
  71. package/dist/cjs/index.js +237 -0
  72. package/dist/cjs/lib/utils.js +16 -0
  73. package/dist/cjs/styles/responsive.js +84 -0
  74. package/dist/cjs/styles/typography.js +25 -0
  75. package/dist/cjs/utils/addIf.js +5 -0
  76. package/dist/cjs/utils/chain.js +30 -0
  77. package/dist/cjs/utils/getBoundingRect.js +19 -0
  78. package/dist/cjs/utils/mergeProps.js +42 -0
  79. package/dist/cjs/utils/mergeRefs.js +18 -0
  80. package/dist/cjs/utils/toggle.js +16 -0
  81. package/dist/esm/components/buttons/button/button.js +40 -0
  82. package/dist/esm/components/buttons/icon-button/icon-button.js +31 -0
  83. package/dist/esm/components/buttons/toggle/toggle.js +31 -0
  84. package/dist/esm/components/buttons/toggle-group/toggle-group.js +28 -0
  85. package/dist/esm/components/forms/checkbox/checkbox.js +50 -0
  86. package/dist/esm/components/forms/input/input.js +36 -0
  87. package/dist/esm/components/forms/label/label.js +36 -0
  88. package/dist/esm/components/forms/radio/radio.js +19 -0
  89. package/dist/esm/components/forms/select/select.js +61 -0
  90. package/dist/esm/components/forms/switch/switch.js +49 -0
  91. package/dist/esm/components/forms/textarea/textarea.js +35 -0
  92. package/dist/esm/components/layout/box/box.js +17 -0
  93. package/dist/esm/components/layout/flex/flex.js +12 -0
  94. package/dist/esm/components/layout/grid/grid.js +12 -0
  95. package/dist/esm/components/media/aspect-ratio/aspect-ratio.js +10 -0
  96. package/dist/esm/components/media/avatar/avatar.js +23 -0
  97. package/dist/esm/components/media/icon/icon.js +25 -0
  98. package/dist/esm/components/popovers/dialog/dialog.js +60 -0
  99. package/dist/esm/components/popovers/drawer/drawer.js +74 -0
  100. package/dist/esm/components/popovers/popover/popover.js +61 -0
  101. package/dist/esm/components/popovers/sheet/sheet.js +86 -0
  102. package/dist/esm/components/popovers/toast/toast.js +67 -0
  103. package/dist/esm/components/popovers/tooltip/tooltip.js +40 -0
  104. package/dist/esm/components/typography/heading/heading.js +53 -0
  105. package/dist/esm/components/typography/text/text.js +55 -0
  106. package/dist/esm/components/ui/alert/alert.js +30 -0
  107. package/dist/esm/components/ui/badge/badge.js +28 -0
  108. package/dist/esm/components/ui/button/button.js +40 -0
  109. package/dist/esm/components/ui/calendar/calendar.js +22 -0
  110. package/dist/esm/components/ui/command/command.js +73 -0
  111. package/dist/esm/components/ui/data-table/components/cell.js +22 -0
  112. package/dist/esm/components/ui/data-table/components/column-group.js +43 -0
  113. package/dist/esm/components/ui/data-table/components/table-body.js +45 -0
  114. package/dist/esm/components/ui/data-table/components/table-fallback.js +26 -0
  115. package/dist/esm/components/ui/data-table/components/table-head.js +54 -0
  116. package/dist/esm/components/ui/data-table/components/table-placeholder.js +16 -0
  117. package/dist/esm/components/ui/data-table/data-table.js +95 -0
  118. package/dist/esm/components/ui/data-table/hooks/contextHooks.js +60 -0
  119. package/dist/esm/components/ui/data-table/hooks/useStickyColumns.js +96 -0
  120. package/dist/esm/components/ui/data-table/utils.js +22 -0
  121. package/dist/esm/components/ui/date-picker/date-picker.js +13 -0
  122. package/dist/esm/components/ui/dropdown-menu/dropdown-menu.js +84 -0
  123. package/dist/esm/components/ui/icon/icon.js +25 -0
  124. package/dist/esm/components/ui/link/link.js +30 -0
  125. package/dist/esm/components/ui/pagination/pagination.js +43 -0
  126. package/dist/esm/components/ui/progress/progress.js +11 -0
  127. package/dist/esm/components/ui/sidebar/sidebar.js +306 -0
  128. package/dist/esm/components/ui/table/components/cell.js +28 -0
  129. package/dist/esm/components/ui/table/components/row.js +23 -0
  130. package/dist/esm/components/ui/table/components/table-body.js +11 -0
  131. package/dist/esm/components/ui/table/components/table-caption.js +11 -0
  132. package/dist/esm/components/ui/table/components/table-footer.js +11 -0
  133. package/dist/esm/components/ui/table/components/table-head.js +28 -0
  134. package/dist/esm/components/ui/table/components/table-header.js +11 -0
  135. package/dist/esm/components/ui/table/table.js +26 -0
  136. package/dist/esm/components/ui/tabs/tabs.js +23 -0
  137. package/dist/esm/components/utility/empty-state/empty-state.js +27 -0
  138. package/dist/esm/components/utility/separator/separator.js +12 -0
  139. package/dist/esm/components/utility/skeleton/skeleton.js +11 -0
  140. package/dist/esm/components/utility/status-controller/status-controller.js +10 -0
  141. package/dist/esm/hooks/use-mobile.js +19 -0
  142. package/dist/esm/hooks/useControlled.js +17 -0
  143. package/dist/esm/hooks/useFirstMountState.js +14 -0
  144. package/dist/esm/hooks/useForkRef.js +21 -0
  145. package/dist/esm/hooks/useLatest.js +10 -0
  146. package/dist/esm/hooks/usePrevious.js +12 -0
  147. package/dist/esm/hooks/useScrollState.js +37 -0
  148. package/dist/esm/hooks/useStateRef.js +10 -0
  149. package/dist/esm/hooks/useUpdateEffect.js +15 -0
  150. package/dist/esm/index.js +63 -0
  151. package/dist/esm/lib/utils.js +13 -0
  152. package/dist/esm/styles/responsive.js +81 -0
  153. package/dist/esm/styles/typography.js +21 -0
  154. package/dist/esm/utils/addIf.js +3 -0
  155. package/dist/esm/utils/chain.js +28 -0
  156. package/dist/esm/utils/getBoundingRect.js +16 -0
  157. package/dist/esm/utils/mergeProps.js +40 -0
  158. package/dist/esm/utils/mergeRefs.js +15 -0
  159. package/dist/esm/utils/toggle.js +14 -0
  160. package/dist/styles.css +1 -0
  161. package/dist/types/index.d.ts +1418 -0
  162. package/package.json +114 -0
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var reactDialog = require('@radix-ui/react-dialog');
6
+ var utils = require('../../../lib/utils.js');
7
+ var icon = require('../../media/icon/icon.js');
8
+
9
+ const Dialog = (_a) => {
10
+ var props = tslib.__rest(_a, []);
11
+ return jsxRuntime.jsx(reactDialog.Root, Object.assign({ "data-slot": "dialog" }, props));
12
+ };
13
+ const DialogPortal = (_a) => {
14
+ var props = tslib.__rest(_a, []);
15
+ return jsxRuntime.jsx(reactDialog.Portal, Object.assign({ "data-slot": "dialog-portal" }, props));
16
+ };
17
+ const DialogTrigger = (_a) => {
18
+ var props = tslib.__rest(_a, []);
19
+ return jsxRuntime.jsx(reactDialog.Trigger, Object.assign({ "data-slot": "dialog-triger" }, props));
20
+ };
21
+ const DialogClose = (_a) => {
22
+ var props = tslib.__rest(_a, []);
23
+ return jsxRuntime.jsx(reactDialog.Close, Object.assign({ "data-slot": "dialog-close" }, props));
24
+ };
25
+ const DialogOverlay = (_a) => {
26
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
27
+ return (jsxRuntime.jsx(reactDialog.Overlay, Object.assign({ "data-slot": "dialog-overlay", className: utils.cn("fixed inset-0 z-50 bg-black/50", [
28
+ "data-[state=open]:animate-in",
29
+ "data-[state=open]:fade-in-0",
30
+ "data-[state=closed]:animate-out",
31
+ "data-[state=closed]:fade-out-0",
32
+ ], className) }, props)));
33
+ };
34
+ const DialogContent = (_a) => {
35
+ var { className, children } = _a, props = tslib.__rest(_a, ["className", "children"]);
36
+ return (jsxRuntime.jsxs(DialogPortal, { children: [jsxRuntime.jsx(DialogOverlay, {}), jsxRuntime.jsxs(reactDialog.Content, Object.assign({ "data-slot": "dialog-content", className: utils.cn("bg-background grid gap-4 w-full max-w-[calc(100%-2rem)] rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", "fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] z-50", [
37
+ "data-[state=open]:animate-in",
38
+ "data-[state=open]:fade-in-0",
39
+ "data-[state=open]:zoom-in-95",
40
+ "data-[state=closed]:animate-out",
41
+ "data-[state=closed]:fade-out-0",
42
+ "data-[state=closed]:zoom-out-95",
43
+ ], className) }, props, { children: [children, jsxRuntime.jsxs(reactDialog.Close, { className: utils.cn("ring-offset-background rounded-xs opacity-70 hover:opacity-100 transition-opacity disabled:pointer-events-none", "absolute top-4 right-4", "data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", "focus:ring-ring focus:ring-2 focus:ring-offset-2 focus:outline-hidden", ["[&_svg]:pointer-events-none", "[&_svg]:shrink-0", "[&_svg:not([class*='size-'])]:size-4"]), children: [jsxRuntime.jsx(icon.Icon, { name: "x", size: 16 }), jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })] })] }))] }));
44
+ };
45
+ const DialogHeader = (_a) => {
46
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
47
+ return (jsxRuntime.jsx("div", Object.assign({ "data-slot": "dialog-header", className: utils.cn("flex flex-col gap-2 text-center sm:text-left", className) }, props)));
48
+ };
49
+ const DialogFooter = (_a) => {
50
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
51
+ return (jsxRuntime.jsx("div", Object.assign({ "data-slot": "dialog-footer", className: utils.cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className) }, props)));
52
+ };
53
+ const DialogTitle = (_a) => {
54
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
55
+ return jsxRuntime.jsx(reactDialog.Title, Object.assign({ "data-slot": "dialog-title", className: utils.cn("text-lg leading-none font-semibold", className) }, props));
56
+ };
57
+ const DialogDescription = (_a) => {
58
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
59
+ return (jsxRuntime.jsx(reactDialog.Description, Object.assign({ "data-slot": "dialog-description", className: utils.cn("text-muted-foreground text-sm", className) }, props)));
60
+ };
61
+
62
+ exports.Dialog = Dialog;
63
+ exports.DialogClose = DialogClose;
64
+ exports.DialogContent = DialogContent;
65
+ exports.DialogDescription = DialogDescription;
66
+ exports.DialogFooter = DialogFooter;
67
+ exports.DialogHeader = DialogHeader;
68
+ exports.DialogTitle = DialogTitle;
69
+ exports.DialogTrigger = DialogTrigger;
@@ -0,0 +1,82 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var vaul = require('vaul');
6
+ var utils = require('../../../lib/utils.js');
7
+
8
+ const Drawer = (_a) => {
9
+ var props = tslib.__rest(_a, []);
10
+ return jsxRuntime.jsx(vaul.Drawer.Root, Object.assign({ "data-slot": "drawer" }, props));
11
+ };
12
+ const DrawerPortal = (_a) => {
13
+ var props = tslib.__rest(_a, []);
14
+ return jsxRuntime.jsx(vaul.Drawer.Portal, Object.assign({ "data-slot": "drawer-portal" }, props));
15
+ };
16
+ const DrawerClose = (_a) => {
17
+ var props = tslib.__rest(_a, []);
18
+ return jsxRuntime.jsx(vaul.Drawer.Close, Object.assign({ "data-slot": "drawer-close" }, props));
19
+ };
20
+ const DrawerOverlay = (_a) => {
21
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
22
+ return (jsxRuntime.jsx(vaul.Drawer.Overlay, Object.assign({ "data-slot": "drawer-overlay", className: utils.cn("fixed inset-0 z-50 bg-black/50", [
23
+ "data-[state=open]:animate-in",
24
+ "data-[state=open]:fade-in-0",
25
+ "data-[state=closed]:animate-out",
26
+ "data-[state=closed]:fade-out-0",
27
+ ], className) }, props)));
28
+ };
29
+ const DrawerContent = (_a) => {
30
+ var { children, className } = _a, props = tslib.__rest(_a, ["children", "className"]);
31
+ return (jsxRuntime.jsxs(DrawerPortal, { children: [jsxRuntime.jsx(DrawerOverlay, {}), jsxRuntime.jsxs(vaul.Drawer.Content, Object.assign({ "data-slot": "drawer-content", className: utils.cn("group/drawer-content bg-background fixed z-50 flex h-auto flex-col", [
32
+ "data-[vaul-drawer-direction=top]:inset-x-0",
33
+ "data-[vaul-drawer-direction=top]:top-0",
34
+ "data-[vaul-drawer-direction=top]:mb-24",
35
+ "data-[vaul-drawer-direction=top]:max-h-[80vh]",
36
+ "data-[vaul-drawer-direction=top]:rounded-b-lg",
37
+ "data-[vaul-drawer-direction=top]:border-b",
38
+ ], [
39
+ "data-[vaul-drawer-direction=bottom]:inset-x-0",
40
+ "data-[vaul-drawer-direction=bottom]:bottom-0",
41
+ "data-[vaul-drawer-direction=bottom]:mt-24",
42
+ "data-[vaul-drawer-direction=bottom]:max-h-[80vh]",
43
+ "data-[vaul-drawer-direction=bottom]:rounded-t-lg",
44
+ "data-[vaul-drawer-direction=bottom]:border-t",
45
+ ], [
46
+ "data-[vaul-drawer-direction=right]:inset-y-0",
47
+ "data-[vaul-drawer-direction=right]:right-0",
48
+ "data-[vaul-drawer-direction=right]:w-3/4",
49
+ "data-[vaul-drawer-direction=right]:border-l",
50
+ "data-[vaul-drawer-direction=right]:sm:max-w-sm",
51
+ ], [
52
+ "data-[vaul-drawer-direction=left]:inset-y-0",
53
+ "data-[vaul-drawer-direction=left]:left-0",
54
+ "data-[vaul-drawer-direction=left]:w-3/4",
55
+ "data-[vaul-drawer-direction=left]:border-r",
56
+ "data-[vaul-drawer-direction=left]:sm:max-w-sm",
57
+ ], className) }, props, { children: [jsxRuntime.jsx("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }), children] }))] }));
58
+ };
59
+ const DrawerHeader = (_a) => {
60
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
61
+ return jsxRuntime.jsx("div", Object.assign({ "data-slot": "drawer-header", className: utils.cn("flex flex-col gap-1.5 p-4", className) }, props));
62
+ };
63
+ const DrawerFooter = (_a) => {
64
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
65
+ return jsxRuntime.jsx("div", Object.assign({ "data-slot": "drawer-footer", className: utils.cn("mt-auto flex flex-col gap-2 p-4", className) }, props));
66
+ };
67
+ const DrawerTitle = (_a) => {
68
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
69
+ return (jsxRuntime.jsx(vaul.Drawer.Title, Object.assign({ "data-slot": "drawer-title", className: utils.cn("text-foreground font-semibold", className) }, props)));
70
+ };
71
+ const DrawerDescription = (_a) => {
72
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
73
+ return (jsxRuntime.jsx(vaul.Drawer.Description, Object.assign({ "data-slot": "drawer-description", className: utils.cn("text-muted-foreground text-sm", className) }, props)));
74
+ };
75
+
76
+ exports.Drawer = Drawer;
77
+ exports.DrawerClose = DrawerClose;
78
+ exports.DrawerContent = DrawerContent;
79
+ exports.DrawerDescription = DrawerDescription;
80
+ exports.DrawerFooter = DrawerFooter;
81
+ exports.DrawerHeader = DrawerHeader;
82
+ exports.DrawerTitle = DrawerTitle;
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var reactPopover = require('@radix-ui/react-popover');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var utils = require('../../../lib/utils.js');
8
+ var icon = require('../../media/icon/icon.js');
9
+
10
+ const popoverContentVariants = classVarianceAuthority.cva([
11
+ "bg-popover text-popover-foreground z-50 w-72 rounded-md border p-4 shadow-md outline-hidden",
12
+ "origin-(--radix-popover-content-transform-origin)",
13
+ ], {
14
+ variants: {
15
+ size: {
16
+ default: "w-72",
17
+ sm: "w-56",
18
+ lg: "w-96",
19
+ },
20
+ },
21
+ defaultVariants: {
22
+ size: "default",
23
+ },
24
+ });
25
+ const popoverCloseVariants = classVarianceAuthority.cva([
26
+ "ring-offset-background rounded-xs opacity-70 hover:opacity-100 transition-opacity",
27
+ "disabled:pointer-events-none",
28
+ "absolute top-4 right-4",
29
+ "focus:ring-ring focus:ring-2 focus:ring-offset-2 focus:outline-hidden",
30
+ ]);
31
+ const Popover = (_a) => {
32
+ var props = tslib.__rest(_a, []);
33
+ return jsxRuntime.jsx(reactPopover.Root, Object.assign({ "data-slot": "popover" }, props));
34
+ };
35
+ const PopoverTrigger = (_a) => {
36
+ var props = tslib.__rest(_a, []);
37
+ return jsxRuntime.jsx(reactPopover.Trigger, Object.assign({ "data-slot": "popover-trigger" }, props));
38
+ };
39
+ const PopoverContent = (_a) => {
40
+ var { className, align = "center", arrow = false, withClose = false, sideOffset = 4, size, children } = _a, props = tslib.__rest(_a, ["className", "align", "arrow", "withClose", "sideOffset", "size", "children"]);
41
+ return (jsxRuntime.jsx(reactPopover.Portal, { children: jsxRuntime.jsxs(reactPopover.Content, Object.assign({ "data-slot": "popover-content", align: align, sideOffset: sideOffset, className: utils.cn(popoverContentVariants({ size }), [
42
+ "data-[state=open]:animate-in",
43
+ "data-[state=open]:fade-in-0",
44
+ "data-[state=open]:zoom-in-95",
45
+ "data-[state=closed]:animate-out",
46
+ "data-[state=closed]:fade-out-0",
47
+ "data-[state=closed]:zoom-out-95",
48
+ "data-[side=top]:slide-in-from-bottom-2",
49
+ "data-[side=right]:slide-in-from-left-2",
50
+ "data-[side=bottom]:slide-in-from-top-2",
51
+ "data-[side=left]:slide-in-from-right-2",
52
+ ], className) }, props, { children: [children, withClose && (jsxRuntime.jsx(reactPopover.Close, { className: utils.cn(popoverCloseVariants), "aria-label": "Close", children: jsxRuntime.jsx(icon.Icon, { name: "x", size: 16 }) })), arrow && jsxRuntime.jsx(reactPopover.Arrow, { className: "fill-popover" })] })) }));
53
+ };
54
+ const PopoverAnchor = (_a) => {
55
+ var props = tslib.__rest(_a, []);
56
+ return jsxRuntime.jsx(reactPopover.Anchor, Object.assign({ "data-slot": "popover-anchor" }, props));
57
+ };
58
+ PopoverTrigger.displayName = "PopoverTrigger";
59
+ PopoverContent.displayName = "PopoverContent";
60
+ PopoverAnchor.displayName = "PopoverAnchor";
61
+ Popover.displayName = "Popover";
62
+
63
+ exports.Popover = Popover;
64
+ exports.PopoverAnchor = PopoverAnchor;
65
+ exports.PopoverContent = PopoverContent;
66
+ exports.PopoverTrigger = PopoverTrigger;
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var reactDialog = require('@radix-ui/react-dialog');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var utils = require('../../../lib/utils.js');
8
+ var icon = require('../../media/icon/icon.js');
9
+
10
+ const Sheet = (_a) => {
11
+ var props = tslib.__rest(_a, []);
12
+ return jsxRuntime.jsx(reactDialog.Root, Object.assign({ "data-slot": "sheet" }, props));
13
+ };
14
+ const SheetPortal = (_a) => {
15
+ var props = tslib.__rest(_a, []);
16
+ return jsxRuntime.jsx(reactDialog.Portal, Object.assign({ "data-slot": "sheet-portal" }, props));
17
+ };
18
+ const SheetClose = (_a) => {
19
+ var props = tslib.__rest(_a, []);
20
+ return jsxRuntime.jsx(reactDialog.Close, Object.assign({ "data-slot": "sheet-close" }, props));
21
+ };
22
+ const SheetOverlay = (_a) => {
23
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
24
+ return (jsxRuntime.jsx(reactDialog.Overlay, Object.assign({ "data-slot": "sheet-overlay", className: utils.cn("fixed inset-0 z-50 bg-black/50", [
25
+ "data-[state=open]:animate-in",
26
+ "data-[state=open]:fade-in-0",
27
+ "data-[state=closed]:animate-out",
28
+ "data-[state=closed]:fade-out-0",
29
+ ], className) }, props)));
30
+ };
31
+ const contentVariants = classVarianceAuthority.cva([
32
+ "bg-background fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out",
33
+ "data-[state=open]:animate-in data-[state=open]:duration-500",
34
+ "data-[state=closed]:animate-out data-[state=closed]:duration-300",
35
+ ], {
36
+ variants: {
37
+ side: {
38
+ top: [
39
+ "inset-x-0 top-0 h-auto border-b",
40
+ "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
41
+ ],
42
+ right: [
43
+ "inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",
44
+ "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",
45
+ ],
46
+ bottom: [
47
+ "inset-x-0 bottom-0 h-auto border-t",
48
+ "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
49
+ ],
50
+ left: [
51
+ "inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
52
+ "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",
53
+ ],
54
+ },
55
+ },
56
+ defaultVariants: {
57
+ side: "right",
58
+ },
59
+ });
60
+ const closeVariants = classVarianceAuthority.cva([
61
+ "ring-offset-background absolute top-4 right-4 rounded-xs",
62
+ "opacity-70 transition-opacity hover:opacity-100",
63
+ "disabled:pointer-events-none",
64
+ "data-[state=open]:bg-secondary",
65
+ "focus:ring-ring focus:ring-2 focus:ring-offset-2 focus:outline-hidden",
66
+ ]);
67
+ const SheetContent = (_a) => {
68
+ var { className, children, side = "right" } = _a, props = tslib.__rest(_a, ["className", "children", "side"]);
69
+ return (jsxRuntime.jsxs(SheetPortal, { children: [jsxRuntime.jsx(SheetOverlay, {}), jsxRuntime.jsxs(reactDialog.Content, Object.assign({ "data-slot": "sheet-content", className: utils.cn(contentVariants({ side }), className) }, props, { children: [children, jsxRuntime.jsxs(reactDialog.Close, { className: closeVariants(), children: [jsxRuntime.jsx(icon.Icon, { name: "x", size: 16 }), jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })] })] }))] }));
70
+ };
71
+ const SheetHeader = (_a) => {
72
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
73
+ return jsxRuntime.jsx("div", Object.assign({ "data-slot": "sheet-header", className: utils.cn("flex flex-col gap-1.5 p-4", className) }, props));
74
+ };
75
+ const SheetFooter = (_a) => {
76
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
77
+ return jsxRuntime.jsx("div", Object.assign({ "data-slot": "sheet-footer", className: utils.cn("mt-auto flex flex-col gap-2 p-4", className) }, props));
78
+ };
79
+ const SheetTitle = (_a) => {
80
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
81
+ return jsxRuntime.jsx(reactDialog.Title, Object.assign({ "data-slot": "sheet-title", className: utils.cn("text-foreground font-semibold", className) }, props));
82
+ };
83
+ const SheetDescription = (_a) => {
84
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
85
+ return (jsxRuntime.jsx(reactDialog.Description, Object.assign({ "data-slot": "sheet-description", className: utils.cn("text-muted-foreground text-sm", className) }, props)));
86
+ };
87
+
88
+ exports.Sheet = Sheet;
89
+ exports.SheetClose = SheetClose;
90
+ exports.SheetContent = SheetContent;
91
+ exports.SheetDescription = SheetDescription;
92
+ exports.SheetFooter = SheetFooter;
93
+ exports.SheetHeader = SheetHeader;
94
+ exports.SheetTitle = SheetTitle;
@@ -0,0 +1,75 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var tslib = require('tslib');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var react = require('react');
7
+ var reactToast = require('@radix-ui/react-toast');
8
+ var classVarianceAuthority = require('class-variance-authority');
9
+ var utils = require('../../../lib/utils.js');
10
+ var icon = require('../../media/icon/icon.js');
11
+
12
+ const ToastProvider = reactToast.Provider;
13
+ const ToastViewport = react.forwardRef((_a, ref) => {
14
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
15
+ return (jsxRuntime.jsx(reactToast.Viewport, Object.assign({ ref: ref, "data-slot": "toast-viewport", className: utils.cn("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4", "sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]", className) }, props)));
16
+ });
17
+ ToastViewport.displayName = "ToastViewport";
18
+ const toastVariants = classVarianceAuthority.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all", {
19
+ variants: {
20
+ variant: {
21
+ default: "border bg-background text-foreground",
22
+ destructive: "destructive group border-destructive bg-destructive text-destructive-foreground",
23
+ },
24
+ },
25
+ defaultVariants: {
26
+ variant: "default",
27
+ },
28
+ });
29
+ const Toast = react.forwardRef((_a, ref) => {
30
+ var { className, variant } = _a, props = tslib.__rest(_a, ["className", "variant"]);
31
+ return (jsxRuntime.jsx(reactToast.Root, Object.assign({ ref: ref, "data-slot": "toast", className: utils.cn(toastVariants({ variant }),
32
+ // Animation states
33
+ "data-[swipe=cancel]:translate-x-0", "data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)]", "data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)]", "data-[swipe=move]:transition-none",
34
+ // Open/Close animations
35
+ "data-[state=open]:animate-in", "data-[state=closed]:animate-out", "data-[swipe=end]:animate-out", "data-[state=closed]:fade-out-80", "data-[state=closed]:slide-out-to-right-full", "data-[state=open]:slide-in-from-top-full", "data-[state=open]:sm:slide-in-from-bottom-full", className) }, props)));
36
+ });
37
+ Toast.displayName = "Toast";
38
+ const ToastAction = react.forwardRef((_a, ref) => {
39
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
40
+ return (jsxRuntime.jsx(reactToast.Action, Object.assign({ ref: ref, "data-slot": "toast-action", className: utils.cn(
41
+ // Base styles
42
+ "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium", "transition-colors hover:bg-secondary", "focus:outline-none focus:ring-1 focus:ring-ring", "disabled:pointer-events-none disabled:opacity-50",
43
+ // Destructive variant styles
44
+ "group-[.destructive]:border-muted/40", "group-[.destructive]:hover:border-destructive/30", "group-[.destructive]:hover:bg-destructive", "group-[.destructive]:hover:text-destructive-foreground", "group-[.destructive]:focus:ring-destructive", className) }, props)));
45
+ });
46
+ ToastAction.displayName = "ToastAction";
47
+ const ToastClose = react.forwardRef((_a, ref) => {
48
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
49
+ return (jsxRuntime.jsx(reactToast.Close, Object.assign({ ref: ref, "data-slot": "toast-close", className: utils.cn(
50
+ // Position and layout
51
+ "absolute right-1 top-1 rounded-md p-1",
52
+ // Text and opacity
53
+ "text-foreground/50 opacity-0 transition-opacity", "hover:text-foreground", "focus:opacity-100 focus:outline-none focus:ring-1", "group-hover:opacity-100",
54
+ // Destructive variant styles
55
+ "group-[.destructive]:text-red-300", "group-[.destructive]:hover:text-red-50", "group-[.destructive]:focus:ring-red-400", "group-[.destructive]:focus:ring-offset-red-600", className), "toast-close": "" }, props, { children: jsxRuntime.jsx(icon.Icon, { name: "x", className: "size-4" }) })));
56
+ });
57
+ ToastClose.displayName = "ToastClose";
58
+ const ToastTitle = react.forwardRef((_a, ref) => {
59
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
60
+ return (jsxRuntime.jsx(reactToast.Title, Object.assign({ ref: ref, "data-slot": "toast-title", className: utils.cn("text-sm font-semibold", "[&+div]:text-xs", className) }, props)));
61
+ });
62
+ ToastTitle.displayName = "ToastTitle";
63
+ const ToastDescription = react.forwardRef((_a, ref) => {
64
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
65
+ return (jsxRuntime.jsx(reactToast.Description, Object.assign({ ref: ref, "data-slot": "toast-description", className: utils.cn("text-sm opacity-90", className) }, props)));
66
+ });
67
+ ToastDescription.displayName = "ToastDescription";
68
+
69
+ exports.Toast = Toast;
70
+ exports.ToastAction = ToastAction;
71
+ exports.ToastClose = ToastClose;
72
+ exports.ToastDescription = ToastDescription;
73
+ exports.ToastProvider = ToastProvider;
74
+ exports.ToastTitle = ToastTitle;
75
+ exports.ToastViewport = ToastViewport;
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var reactTooltip = require('@radix-ui/react-tooltip');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var utils = require('../../../lib/utils.js');
8
+
9
+ const TooltipProvider = (_a) => {
10
+ var { delayDuration = 0 } = _a, props = tslib.__rest(_a, ["delayDuration"]);
11
+ return jsxRuntime.jsx(reactTooltip.Provider, Object.assign({ "data-slot": "tooltip-provider", delayDuration: delayDuration }, props));
12
+ };
13
+ const TooltipTrigger = (_a) => {
14
+ var props = tslib.__rest(_a, []);
15
+ return jsxRuntime.jsx(reactTooltip.Trigger, Object.assign({ "data-slot": "tooltip-trigger" }, props));
16
+ };
17
+ const contentVariants = classVarianceAuthority.cva([
18
+ "bg-primary text-primary-foreground w-fit px-3 py-1.5 rounded-md text-xs text-balance",
19
+ "animate-in fade-in-0 zoom-in-95 z-50",
20
+ "data-[state=closed]:animate-out",
21
+ "data-[state=closed]:fade-out-0",
22
+ "data-[state=closed]:zoom-out-95",
23
+ "data-[side=top]:slide-in-from-bottom-2",
24
+ "data-[side=right]:slide-in-from-left-2",
25
+ "data-[side=bottom]:slide-in-from-top-2",
26
+ "data-[side=left]:slide-in-from-right-2",
27
+ "origin-(--radix-tooltip-content-transform-origin)",
28
+ ]);
29
+ const TooltipContent = (_a) => {
30
+ var { className, sideOffset = 0, arrow = false, children } = _a, props = tslib.__rest(_a, ["className", "sideOffset", "arrow", "children"]);
31
+ return (jsxRuntime.jsx(reactTooltip.Portal, { "data-slot": "tooltip-portal", children: jsxRuntime.jsxs(reactTooltip.Content, Object.assign({ "data-slot": "tooltip-content", sideOffset: sideOffset, className: utils.cn(contentVariants(), className) }, props, { children: [children, arrow && (jsxRuntime.jsx(reactTooltip.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" }))] })) }));
32
+ };
33
+ const Tooltip = (_a) => {
34
+ var { skipDelayDuration, delayDuration, disableHoverableContent } = _a, props = tslib.__rest(_a, ["skipDelayDuration", "delayDuration", "disableHoverableContent"]);
35
+ return (jsxRuntime.jsx(TooltipProvider, { "data-slot": "tooltip-provider", delayDuration: delayDuration, skipDelayDuration: skipDelayDuration, disableHoverableContent: disableHoverableContent, children: jsxRuntime.jsx(reactTooltip.Root, Object.assign({ "data-slot": "tooltip" }, props)) }));
36
+ };
37
+ Tooltip.displayName = "Tooltip";
38
+ TooltipContent.displayName = "TooltipContent";
39
+ TooltipTrigger.displayName = "TooltipTrigger";
40
+ TooltipProvider.displayName = "TooltipProvider";
41
+
42
+ exports.Tooltip = Tooltip;
43
+ exports.TooltipContent = TooltipContent;
44
+ exports.TooltipProvider = TooltipProvider;
45
+ exports.TooltipTrigger = TooltipTrigger;
@@ -0,0 +1,55 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ var reactSlot = require('@radix-ui/react-slot');
7
+ var classVarianceAuthority = require('class-variance-authority');
8
+ var utils = require('../../../lib/utils.js');
9
+ var typography = require('../../../styles/typography.js');
10
+
11
+ const headingVariants = classVarianceAuthority.cva("tracking-tight", {
12
+ variants: {
13
+ level: {
14
+ 1: "text-2xl leading-[1.1] sm:text-3xl md:text-4xl lg:text-5xl",
15
+ 2: "text-xl leading-[1.1] sm:text-2xl md:text-3xl lg:text-4xl",
16
+ 3: "text-lg leading-[1.1] sm:text-xl md:text-2xl lg:text-3xl",
17
+ 4: "text-base leading-[1.1] sm:text-lg md:text-xl lg:text-2xl",
18
+ 5: "text-sm leading-[1.1] sm:text-base md:text-lg lg:text-xl",
19
+ 6: "text-xs leading-[1.1] sm:text-sm md:text-base lg:text-lg",
20
+ },
21
+ weight: {
22
+ light: typography.fontWeights.light,
23
+ regular: typography.fontWeights.regular,
24
+ medium: typography.fontWeights.medium,
25
+ bold: typography.fontWeights.bold,
26
+ },
27
+ align: {
28
+ left: typography.textAlignment.left,
29
+ center: typography.textAlignment.center,
30
+ right: typography.textAlignment.right,
31
+ },
32
+ color: {
33
+ default: typography.textColors.default,
34
+ muted: typography.textColors.muted,
35
+ primary: typography.textColors.primary,
36
+ secondary: typography.textColors.secondary,
37
+ accent: typography.textColors.accent,
38
+ destructive: typography.textColors.destructive,
39
+ },
40
+ },
41
+ defaultVariants: {
42
+ level: 1,
43
+ weight: "bold",
44
+ align: "left",
45
+ color: "default",
46
+ },
47
+ });
48
+ const Heading = react.forwardRef((_a, ref) => {
49
+ var { level = 1, weight, align, color, asChild = false, className } = _a, props = tslib.__rest(_a, ["level", "weight", "align", "color", "asChild", "className"]);
50
+ const Tag = asChild ? reactSlot.Slot : `h${level}`;
51
+ return (jsxRuntime.jsx(Tag, Object.assign({ ref: ref, "data-slot": "heading", className: utils.cn(headingVariants({ level, weight, align, color }), className) }, props)));
52
+ });
53
+ Heading.displayName = "Heading";
54
+
55
+ exports.Heading = Heading;
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ var reactSlot = require('@radix-ui/react-slot');
7
+ var classVarianceAuthority = require('class-variance-authority');
8
+ var utils = require('../../../lib/utils.js');
9
+ var typography = require('../../../styles/typography.js');
10
+
11
+ const textVariants = classVarianceAuthority.cva("", {
12
+ variants: {
13
+ type: {
14
+ body: "text-sm leading-5 sm:text-base md:text-lg lg:text-xl",
15
+ small: "text-xs leading-4 sm:text-sm md:text-base lg:text-lg",
16
+ tiny: "text-[10px] leading-3 sm:text-xs md:text-sm lg:text-base",
17
+ },
18
+ weight: {
19
+ light: typography.fontWeights.light,
20
+ regular: typography.fontWeights.regular,
21
+ medium: typography.fontWeights.medium,
22
+ bold: typography.fontWeights.bold,
23
+ },
24
+ align: {
25
+ left: typography.textAlignment.left,
26
+ center: typography.textAlignment.center,
27
+ right: typography.textAlignment.right,
28
+ },
29
+ color: {
30
+ default: typography.textColors.default,
31
+ muted: typography.textColors.muted,
32
+ primary: typography.textColors.primary,
33
+ secondary: typography.textColors.secondary,
34
+ accent: typography.textColors.accent,
35
+ destructive: typography.textColors.destructive,
36
+ },
37
+ truncate: {
38
+ true: "truncate",
39
+ false: "",
40
+ },
41
+ },
42
+ defaultVariants: {
43
+ type: "body",
44
+ weight: "regular",
45
+ align: "left",
46
+ color: "default",
47
+ truncate: false,
48
+ },
49
+ });
50
+ const Text = react.forwardRef((_a, ref) => {
51
+ var { asChild = false, className } = _a, props = tslib.__rest(_a, ["asChild", "className"]);
52
+ const Comp = asChild ? reactSlot.Slot : "span";
53
+ return jsxRuntime.jsx(Comp, Object.assign({ ref: ref, "data-slot": "text", className: utils.cn(textVariants(props), className) }, props));
54
+ });
55
+ Text.displayName = "Text";
56
+
57
+ exports.Text = Text;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var classVarianceAuthority = require('class-variance-authority');
6
+ var utils = require('../../../lib/utils.js');
7
+
8
+ const alertVariants = classVarianceAuthority.cva("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", {
9
+ variants: {
10
+ variant: {
11
+ default: "bg-card text-card-foreground",
12
+ destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",
13
+ },
14
+ },
15
+ defaultVariants: {
16
+ variant: "default",
17
+ },
18
+ });
19
+ function Alert(_a) {
20
+ var { className, variant } = _a, props = tslib.__rest(_a, ["className", "variant"]);
21
+ return jsxRuntime.jsx("div", Object.assign({ "data-slot": "alert", role: "alert", className: utils.cn(alertVariants({ variant }), className) }, props));
22
+ }
23
+ function AlertTitle(_a) {
24
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
25
+ return (jsxRuntime.jsx("div", Object.assign({ "data-slot": "alert-title", className: utils.cn("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", className) }, props)));
26
+ }
27
+ function AlertDescription(_a) {
28
+ var { className } = _a, props = tslib.__rest(_a, ["className"]);
29
+ return (jsxRuntime.jsx("div", Object.assign({ "data-slot": "alert-description", className: utils.cn("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed", className) }, props)));
30
+ }
31
+
32
+ exports.Alert = Alert;
33
+ exports.AlertDescription = AlertDescription;
34
+ exports.AlertTitle = AlertTitle;
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var tslib = require('tslib');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var reactSlot = require('@radix-ui/react-slot');
7
+ var classVarianceAuthority = require('class-variance-authority');
8
+ var utils = require('../../../lib/utils.js');
9
+
10
+ const badgeVariants = classVarianceAuthority.cva("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
11
+ variants: {
12
+ variant: {
13
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
14
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
15
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
16
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
17
+ },
18
+ },
19
+ defaultVariants: {
20
+ variant: "default",
21
+ },
22
+ });
23
+ const Badge = (_a) => {
24
+ var { className, variant, asChild = false } = _a, props = tslib.__rest(_a, ["className", "variant", "asChild"]);
25
+ const Comp = asChild ? reactSlot.Slot : "span";
26
+ return jsxRuntime.jsx(Comp, Object.assign({ "data-slot": "badge", className: utils.cn(badgeVariants({ variant }), className) }, props));
27
+ };
28
+ Badge.displayName = "Badge";
29
+
30
+ exports.Badge = Badge;
31
+ exports.badgeVariants = badgeVariants;