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.
- package/README.md +1 -0
- package/dist/cjs/components/buttons/button/button.js +43 -0
- package/dist/cjs/components/buttons/icon-button/icon-button.js +33 -0
- package/dist/cjs/components/buttons/toggle/toggle.js +34 -0
- package/dist/cjs/components/buttons/toggle-group/toggle-group.js +31 -0
- package/dist/cjs/components/forms/checkbox/checkbox.js +52 -0
- package/dist/cjs/components/forms/input/input.js +38 -0
- package/dist/cjs/components/forms/label/label.js +38 -0
- package/dist/cjs/components/forms/radio/radio.js +22 -0
- package/dist/cjs/components/forms/select/select.js +72 -0
- package/dist/cjs/components/forms/switch/switch.js +51 -0
- package/dist/cjs/components/forms/textarea/textarea.js +37 -0
- package/dist/cjs/components/layout/box/box.js +19 -0
- package/dist/cjs/components/layout/flex/flex.js +14 -0
- package/dist/cjs/components/layout/grid/grid.js +14 -0
- package/dist/cjs/components/media/aspect-ratio/aspect-ratio.js +31 -0
- package/dist/cjs/components/media/avatar/avatar.js +27 -0
- package/dist/cjs/components/media/icon/icon.js +27 -0
- package/dist/cjs/components/popovers/dialog/dialog.js +69 -0
- package/dist/cjs/components/popovers/drawer/drawer.js +82 -0
- package/dist/cjs/components/popovers/popover/popover.js +66 -0
- package/dist/cjs/components/popovers/sheet/sheet.js +94 -0
- package/dist/cjs/components/popovers/toast/toast.js +75 -0
- package/dist/cjs/components/popovers/tooltip/tooltip.js +45 -0
- package/dist/cjs/components/typography/heading/heading.js +55 -0
- package/dist/cjs/components/typography/text/text.js +57 -0
- package/dist/cjs/components/ui/alert/alert.js +34 -0
- package/dist/cjs/components/ui/badge/badge.js +31 -0
- package/dist/cjs/components/ui/button/button.js +42 -0
- package/dist/cjs/components/ui/calendar/calendar.js +24 -0
- package/dist/cjs/components/ui/command/command.js +83 -0
- package/dist/cjs/components/ui/data-table/components/cell.js +24 -0
- package/dist/cjs/components/ui/data-table/components/column-group.js +45 -0
- package/dist/cjs/components/ui/data-table/components/table-body.js +47 -0
- package/dist/cjs/components/ui/data-table/components/table-fallback.js +28 -0
- package/dist/cjs/components/ui/data-table/components/table-head.js +56 -0
- package/dist/cjs/components/ui/data-table/components/table-placeholder.js +18 -0
- package/dist/cjs/components/ui/data-table/data-table.js +97 -0
- package/dist/cjs/components/ui/data-table/hooks/contextHooks.js +75 -0
- package/dist/cjs/components/ui/data-table/hooks/useStickyColumns.js +98 -0
- package/dist/cjs/components/ui/data-table/utils.js +26 -0
- package/dist/cjs/components/ui/date-picker/date-picker.js +15 -0
- package/dist/cjs/components/ui/dropdown-menu/dropdown-menu.js +100 -0
- package/dist/cjs/components/ui/icon/icon.js +27 -0
- package/dist/cjs/components/ui/link/link.js +32 -0
- package/dist/cjs/components/ui/pagination/pagination.js +51 -0
- package/dist/cjs/components/ui/progress/progress.js +13 -0
- package/dist/cjs/components/ui/sidebar/sidebar.js +331 -0
- package/dist/cjs/components/ui/table/components/cell.js +30 -0
- package/dist/cjs/components/ui/table/components/row.js +25 -0
- package/dist/cjs/components/ui/table/components/table-body.js +13 -0
- package/dist/cjs/components/ui/table/components/table-caption.js +13 -0
- package/dist/cjs/components/ui/table/components/table-footer.js +13 -0
- package/dist/cjs/components/ui/table/components/table-head.js +30 -0
- package/dist/cjs/components/ui/table/components/table-header.js +13 -0
- package/dist/cjs/components/ui/table/table.js +36 -0
- package/dist/cjs/components/ui/tabs/tabs.js +47 -0
- package/dist/cjs/components/utility/empty-state/empty-state.js +29 -0
- package/dist/cjs/components/utility/separator/separator.js +14 -0
- package/dist/cjs/components/utility/skeleton/skeleton.js +13 -0
- package/dist/cjs/components/utility/status-controller/status-controller.js +12 -0
- package/dist/cjs/hooks/use-mobile.js +21 -0
- package/dist/cjs/hooks/useControlled.js +19 -0
- package/dist/cjs/hooks/useFirstMountState.js +16 -0
- package/dist/cjs/hooks/useForkRef.js +23 -0
- package/dist/cjs/hooks/useLatest.js +12 -0
- package/dist/cjs/hooks/usePrevious.js +14 -0
- package/dist/cjs/hooks/useScrollState.js +39 -0
- package/dist/cjs/hooks/useStateRef.js +12 -0
- package/dist/cjs/hooks/useUpdateEffect.js +17 -0
- package/dist/cjs/index.js +237 -0
- package/dist/cjs/lib/utils.js +16 -0
- package/dist/cjs/styles/responsive.js +84 -0
- package/dist/cjs/styles/typography.js +25 -0
- package/dist/cjs/utils/addIf.js +5 -0
- package/dist/cjs/utils/chain.js +30 -0
- package/dist/cjs/utils/getBoundingRect.js +19 -0
- package/dist/cjs/utils/mergeProps.js +42 -0
- package/dist/cjs/utils/mergeRefs.js +18 -0
- package/dist/cjs/utils/toggle.js +16 -0
- package/dist/esm/components/buttons/button/button.js +40 -0
- package/dist/esm/components/buttons/icon-button/icon-button.js +31 -0
- package/dist/esm/components/buttons/toggle/toggle.js +31 -0
- package/dist/esm/components/buttons/toggle-group/toggle-group.js +28 -0
- package/dist/esm/components/forms/checkbox/checkbox.js +50 -0
- package/dist/esm/components/forms/input/input.js +36 -0
- package/dist/esm/components/forms/label/label.js +36 -0
- package/dist/esm/components/forms/radio/radio.js +19 -0
- package/dist/esm/components/forms/select/select.js +61 -0
- package/dist/esm/components/forms/switch/switch.js +49 -0
- package/dist/esm/components/forms/textarea/textarea.js +35 -0
- package/dist/esm/components/layout/box/box.js +17 -0
- package/dist/esm/components/layout/flex/flex.js +12 -0
- package/dist/esm/components/layout/grid/grid.js +12 -0
- package/dist/esm/components/media/aspect-ratio/aspect-ratio.js +10 -0
- package/dist/esm/components/media/avatar/avatar.js +23 -0
- package/dist/esm/components/media/icon/icon.js +25 -0
- package/dist/esm/components/popovers/dialog/dialog.js +60 -0
- package/dist/esm/components/popovers/drawer/drawer.js +74 -0
- package/dist/esm/components/popovers/popover/popover.js +61 -0
- package/dist/esm/components/popovers/sheet/sheet.js +86 -0
- package/dist/esm/components/popovers/toast/toast.js +67 -0
- package/dist/esm/components/popovers/tooltip/tooltip.js +40 -0
- package/dist/esm/components/typography/heading/heading.js +53 -0
- package/dist/esm/components/typography/text/text.js +55 -0
- package/dist/esm/components/ui/alert/alert.js +30 -0
- package/dist/esm/components/ui/badge/badge.js +28 -0
- package/dist/esm/components/ui/button/button.js +40 -0
- package/dist/esm/components/ui/calendar/calendar.js +22 -0
- package/dist/esm/components/ui/command/command.js +73 -0
- package/dist/esm/components/ui/data-table/components/cell.js +22 -0
- package/dist/esm/components/ui/data-table/components/column-group.js +43 -0
- package/dist/esm/components/ui/data-table/components/table-body.js +45 -0
- package/dist/esm/components/ui/data-table/components/table-fallback.js +26 -0
- package/dist/esm/components/ui/data-table/components/table-head.js +54 -0
- package/dist/esm/components/ui/data-table/components/table-placeholder.js +16 -0
- package/dist/esm/components/ui/data-table/data-table.js +95 -0
- package/dist/esm/components/ui/data-table/hooks/contextHooks.js +60 -0
- package/dist/esm/components/ui/data-table/hooks/useStickyColumns.js +96 -0
- package/dist/esm/components/ui/data-table/utils.js +22 -0
- package/dist/esm/components/ui/date-picker/date-picker.js +13 -0
- package/dist/esm/components/ui/dropdown-menu/dropdown-menu.js +84 -0
- package/dist/esm/components/ui/icon/icon.js +25 -0
- package/dist/esm/components/ui/link/link.js +30 -0
- package/dist/esm/components/ui/pagination/pagination.js +43 -0
- package/dist/esm/components/ui/progress/progress.js +11 -0
- package/dist/esm/components/ui/sidebar/sidebar.js +306 -0
- package/dist/esm/components/ui/table/components/cell.js +28 -0
- package/dist/esm/components/ui/table/components/row.js +23 -0
- package/dist/esm/components/ui/table/components/table-body.js +11 -0
- package/dist/esm/components/ui/table/components/table-caption.js +11 -0
- package/dist/esm/components/ui/table/components/table-footer.js +11 -0
- package/dist/esm/components/ui/table/components/table-head.js +28 -0
- package/dist/esm/components/ui/table/components/table-header.js +11 -0
- package/dist/esm/components/ui/table/table.js +26 -0
- package/dist/esm/components/ui/tabs/tabs.js +23 -0
- package/dist/esm/components/utility/empty-state/empty-state.js +27 -0
- package/dist/esm/components/utility/separator/separator.js +12 -0
- package/dist/esm/components/utility/skeleton/skeleton.js +11 -0
- package/dist/esm/components/utility/status-controller/status-controller.js +10 -0
- package/dist/esm/hooks/use-mobile.js +19 -0
- package/dist/esm/hooks/useControlled.js +17 -0
- package/dist/esm/hooks/useFirstMountState.js +14 -0
- package/dist/esm/hooks/useForkRef.js +21 -0
- package/dist/esm/hooks/useLatest.js +10 -0
- package/dist/esm/hooks/usePrevious.js +12 -0
- package/dist/esm/hooks/useScrollState.js +37 -0
- package/dist/esm/hooks/useStateRef.js +10 -0
- package/dist/esm/hooks/useUpdateEffect.js +15 -0
- package/dist/esm/index.js +63 -0
- package/dist/esm/lib/utils.js +13 -0
- package/dist/esm/styles/responsive.js +81 -0
- package/dist/esm/styles/typography.js +21 -0
- package/dist/esm/utils/addIf.js +3 -0
- package/dist/esm/utils/chain.js +28 -0
- package/dist/esm/utils/getBoundingRect.js +16 -0
- package/dist/esm/utils/mergeProps.js +40 -0
- package/dist/esm/utils/mergeRefs.js +15 -0
- package/dist/esm/utils/toggle.js +14 -0
- package/dist/styles.css +1 -0
- package/dist/types/index.d.ts +1418 -0
- 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;
|