@codefast/ui 0.3.9 → 0.3.11-canary.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/CHANGELOG.md +30 -0
- package/README.md +277 -167
- package/dist/components/accordion.cjs +97 -1
- package/dist/components/accordion.js +51 -1
- package/dist/components/alert-dialog.cjs +155 -1
- package/dist/components/alert-dialog.d.ts +2 -2
- package/dist/components/alert-dialog.js +94 -1
- package/dist/components/alert.cjs +84 -1
- package/dist/components/alert.d.ts +1 -1
- package/dist/components/alert.js +41 -1
- package/dist/components/aspect-ratio.cjs +43 -1
- package/dist/components/aspect-ratio.js +9 -1
- package/dist/components/avatar.cjs +65 -1
- package/dist/components/avatar.js +25 -1
- package/dist/components/badge.cjs +66 -1
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/badge.js +29 -1
- package/dist/components/breadcrumb.cjs +124 -1
- package/dist/components/breadcrumb.js +72 -1
- package/dist/components/button-group.cjs +86 -1
- package/dist/components/button-group.d.ts +1 -1
- package/dist/components/button-group.js +43 -1
- package/dist/components/button.cjs +92 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/button.js +55 -1
- package/dist/components/calendar.cjs +150 -1
- package/dist/components/calendar.d.ts +11 -18
- package/dist/components/calendar.js +113 -1
- package/dist/components/card.cjs +105 -1
- package/dist/components/card.js +53 -1
- package/dist/components/carousel.cjs +210 -1
- package/dist/components/carousel.d.ts +1 -1
- package/dist/components/carousel.js +151 -1
- package/dist/components/chart.cjs +250 -3
- package/dist/components/chart.d.ts +5 -4
- package/dist/components/chart.js +198 -3
- package/dist/components/checkbox-cards.cjs +69 -1
- package/dist/components/checkbox-cards.js +32 -1
- package/dist/components/checkbox-group.cjs +63 -1
- package/dist/components/checkbox-group.js +26 -1
- package/dist/components/checkbox.cjs +53 -1
- package/dist/components/checkbox.js +19 -1
- package/dist/components/collapsible.cjs +61 -1
- package/dist/components/collapsible.js +21 -1
- package/dist/components/command.cjs +167 -1
- package/dist/components/command.js +106 -1
- package/dist/components/context-menu.cjs +218 -1
- package/dist/components/context-menu.js +142 -1
- package/dist/components/dialog.cjs +164 -1
- package/dist/components/dialog.d.ts +2 -2
- package/dist/components/dialog.js +106 -1
- package/dist/components/drawer.cjs +143 -1
- package/dist/components/drawer.d.ts +1 -1
- package/dist/components/drawer.js +85 -1
- package/dist/components/dropdown-menu.cjs +221 -1
- package/dist/components/dropdown-menu.js +145 -1
- package/dist/components/empty.cjs +113 -1
- package/dist/components/empty.d.ts +1 -1
- package/dist/components/empty.js +61 -1
- package/dist/components/field.cjs +193 -1
- package/dist/components/field.d.ts +1 -1
- package/dist/components/field.js +129 -1
- package/dist/components/form.cjs +151 -1
- package/dist/components/form.d.ts +3 -3
- package/dist/components/form.js +96 -1
- package/dist/components/hover-card.cjs +77 -1
- package/dist/components/hover-card.js +34 -1
- package/dist/components/input-group.cjs +155 -1
- package/dist/components/input-group.d.ts +1 -1
- package/dist/components/input-group.js +97 -1
- package/dist/components/input-number.cjs +98 -1
- package/dist/components/input-number.js +64 -1
- package/dist/components/input-otp.cjs +101 -1
- package/dist/components/input-otp.js +49 -1
- package/dist/components/input-password.cjs +71 -1
- package/dist/components/input-password.js +37 -1
- package/dist/components/input-search.cjs +80 -1
- package/dist/components/input-search.js +46 -1
- package/dist/components/input.cjs +45 -1
- package/dist/components/input.js +11 -1
- package/dist/components/item.cjs +186 -1
- package/dist/components/item.d.ts +1 -1
- package/dist/components/item.js +119 -1
- package/dist/components/kbd.cjs +54 -1
- package/dist/components/kbd.js +17 -1
- package/dist/components/label.cjs +45 -1
- package/dist/components/label.js +11 -1
- package/dist/components/menubar.cjs +232 -1
- package/dist/components/menubar.js +153 -1
- package/dist/components/native-select.cjs +75 -1
- package/dist/components/native-select.js +35 -1
- package/dist/components/navigation-menu.cjs +146 -2
- package/dist/components/navigation-menu.js +94 -2
- package/dist/components/pagination.cjs +138 -1
- package/dist/components/pagination.d.ts +1 -1
- package/dist/components/pagination.js +86 -1
- package/dist/components/popover.cjs +86 -1
- package/dist/components/popover.js +40 -1
- package/dist/components/progress-circle.cjs +184 -1
- package/dist/components/progress-circle.d.ts +1 -1
- package/dist/components/progress-circle.js +147 -1
- package/dist/components/progress.cjs +52 -1
- package/dist/components/progress.js +18 -1
- package/dist/components/radio-cards.cjs +66 -1
- package/dist/components/radio-cards.js +29 -1
- package/dist/components/radio-group.cjs +59 -1
- package/dist/components/radio-group.js +22 -1
- package/dist/components/radio.cjs +47 -1
- package/dist/components/radio.js +13 -1
- package/dist/components/resizable.cjs +71 -1
- package/dist/components/resizable.d.ts +6 -6
- package/dist/components/resizable.js +31 -1
- package/dist/components/scroll-area.cjs +140 -1
- package/dist/components/scroll-area.d.ts +1 -1
- package/dist/components/scroll-area.js +100 -1
- package/dist/components/select.cjs +180 -1
- package/dist/components/select.d.ts +2 -2
- package/dist/components/select.js +119 -1
- package/dist/components/separator.cjs +82 -1
- package/dist/components/separator.d.ts +1 -1
- package/dist/components/separator.js +42 -1
- package/dist/components/sheet.cjs +184 -1
- package/dist/components/sheet.d.ts +2 -2
- package/dist/components/sheet.js +123 -1
- package/dist/components/sidebar.cjs +506 -1
- package/dist/components/sidebar.d.ts +1 -1
- package/dist/components/sidebar.js +400 -1
- package/dist/components/skeleton.cjs +44 -1
- package/dist/components/skeleton.js +10 -1
- package/dist/components/slider.cjs +79 -1
- package/dist/components/slider.js +45 -1
- package/dist/components/sonner.cjs +57 -1
- package/dist/components/sonner.js +17 -1
- package/dist/components/spinner.cjs +75 -1
- package/dist/components/spinner.js +41 -1
- package/dist/components/switch.cjs +49 -1
- package/dist/components/switch.js +15 -1
- package/dist/components/table.cjs +118 -1
- package/dist/components/table.js +63 -1
- package/dist/components/tabs.cjs +75 -1
- package/dist/components/tabs.d.ts +1 -1
- package/dist/components/tabs.js +32 -1
- package/dist/components/textarea.cjs +44 -1
- package/dist/components/textarea.js +10 -1
- package/dist/components/toggle-group.cjs +90 -1
- package/dist/components/toggle-group.d.ts +8 -10
- package/dist/components/toggle-group.js +53 -1
- package/dist/components/toggle.cjs +71 -1
- package/dist/components/toggle.d.ts +8 -10
- package/dist/components/toggle.js +34 -1
- package/dist/components/tooltip.cjs +90 -1
- package/dist/components/tooltip.js +44 -1
- package/dist/css/amber.css +95 -1
- package/dist/css/blue.css +95 -1
- package/dist/css/cyan.css +95 -1
- package/dist/css/emerald.css +95 -1
- package/dist/css/fuchsia.css +95 -1
- package/dist/css/gray.css +95 -1
- package/dist/css/green.css +95 -1
- package/dist/css/indigo.css +95 -1
- package/dist/css/lime.css +95 -1
- package/dist/css/neutral.css +95 -1
- package/dist/css/orange.css +95 -1
- package/dist/css/pink.css +95 -1
- package/dist/css/preset.css +118 -1
- package/dist/css/purple.css +95 -1
- package/dist/css/red.css +95 -1
- package/dist/css/rose.css +95 -1
- package/dist/css/sky.css +95 -1
- package/dist/css/slate.css +95 -1
- package/dist/css/stone.css +95 -1
- package/dist/css/style.css +3 -1
- package/dist/css/teal.css +95 -1
- package/dist/css/violet.css +95 -1
- package/dist/css/yellow.css +95 -1
- package/dist/css/zinc.css +95 -1
- package/dist/hooks/use-animated-value.cjs +74 -1
- package/dist/hooks/use-animated-value.d.ts +9 -10
- package/dist/hooks/use-animated-value.js +40 -1
- package/dist/hooks/use-copy-to-clipboard.cjs +57 -1
- package/dist/hooks/use-copy-to-clipboard.d.ts +17 -0
- package/dist/hooks/use-copy-to-clipboard.js +23 -1
- package/dist/hooks/use-is-mobile.cjs +39 -1
- package/dist/hooks/use-is-mobile.d.ts +15 -6
- package/dist/hooks/use-is-mobile.js +5 -1
- package/dist/hooks/use-media-query.cjs +56 -1
- package/dist/hooks/use-media-query.d.ts +11 -3
- package/dist/hooks/use-media-query.js +22 -1
- package/dist/hooks/use-mutation-observer.cjs +56 -1
- package/dist/hooks/use-mutation-observer.d.ts +7 -11
- package/dist/hooks/use-mutation-observer.js +22 -1
- package/dist/hooks/use-pagination.cjs +92 -1
- package/dist/hooks/use-pagination.d.ts +12 -10
- package/dist/hooks/use-pagination.js +55 -1
- package/dist/index.cjs +1081 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.js +69 -1
- package/dist/primitives/checkbox-group.cjs +151 -1
- package/dist/primitives/checkbox-group.d.ts +1 -1
- package/dist/primitives/checkbox-group.js +99 -1
- package/dist/primitives/input-number.cjs +439 -1
- package/dist/primitives/input-number.d.ts +1 -1
- package/dist/primitives/input-number.js +381 -1
- package/dist/primitives/input.cjs +99 -1
- package/dist/primitives/input.d.ts +1 -1
- package/dist/primitives/input.js +53 -1
- package/dist/primitives/progress-circle.cjs +198 -1
- package/dist/primitives/progress-circle.d.ts +1 -1
- package/dist/primitives/progress-circle.js +128 -1
- package/package.json +405 -62
|
@@ -1,2 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
"use client";
|
|
2
|
-
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
Toaster: ()=>Toaster,
|
|
29
|
+
useSonner: ()=>external_sonner_namespaceObject.useSonner,
|
|
30
|
+
toast: ()=>external_sonner_namespaceObject.toast
|
|
31
|
+
});
|
|
32
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
33
|
+
const external_next_themes_namespaceObject = require("next-themes");
|
|
34
|
+
const external_sonner_namespaceObject = require("sonner");
|
|
35
|
+
function Toaster({ ...props }) {
|
|
36
|
+
const { theme = "system" } = (0, external_next_themes_namespaceObject.useTheme)();
|
|
37
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_sonner_namespaceObject.Toaster, {
|
|
38
|
+
className: "toaster group",
|
|
39
|
+
style: {
|
|
40
|
+
"--normal-bg": "var(--popover)",
|
|
41
|
+
"--normal-border": "var(--border)",
|
|
42
|
+
"--normal-text": "var(--popover-foreground)"
|
|
43
|
+
},
|
|
44
|
+
theme: theme,
|
|
45
|
+
...props
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
exports.Toaster = __webpack_exports__.Toaster;
|
|
49
|
+
exports.toast = __webpack_exports__.toast;
|
|
50
|
+
exports.useSonner = __webpack_exports__.useSonner;
|
|
51
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
52
|
+
"Toaster",
|
|
53
|
+
"toast",
|
|
54
|
+
"useSonner"
|
|
55
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
56
|
+
Object.defineProperty(exports, '__esModule', {
|
|
57
|
+
value: true
|
|
58
|
+
});
|
|
@@ -1,2 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{jsx
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useTheme } from "next-themes";
|
|
4
|
+
import { Toaster, toast, useSonner } from "sonner";
|
|
5
|
+
function sonner_Toaster({ ...props }) {
|
|
6
|
+
const { theme = "system" } = useTheme();
|
|
7
|
+
return /*#__PURE__*/ jsx(Toaster, {
|
|
8
|
+
className: "toaster group",
|
|
9
|
+
style: {
|
|
10
|
+
"--normal-bg": "var(--popover)",
|
|
11
|
+
"--normal-border": "var(--border)",
|
|
12
|
+
"--normal-text": "var(--popover-foreground)"
|
|
13
|
+
},
|
|
14
|
+
theme: theme,
|
|
15
|
+
...props
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export { sonner_Toaster as Toaster, toast, useSonner };
|
|
@@ -1,2 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
"use client";
|
|
2
|
-
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
Spinner: ()=>Spinner
|
|
29
|
+
});
|
|
30
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
31
|
+
const tailwind_variants_namespaceObject = require("@codefast/tailwind-variants");
|
|
32
|
+
const react_visually_hidden_namespaceObject = require("@radix-ui/react-visually-hidden");
|
|
33
|
+
const SPINNER_COUNT = 8;
|
|
34
|
+
function Spinner({ children, className, loading = true, ...props }) {
|
|
35
|
+
if (!loading) return children;
|
|
36
|
+
const spinner = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
37
|
+
className: (0, tailwind_variants_namespaceObject.cn)("relative flex size-4 items-center justify-center opacity-60", className),
|
|
38
|
+
...props,
|
|
39
|
+
children: Array.from({
|
|
40
|
+
length: SPINNER_COUNT
|
|
41
|
+
}, (_, index)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
42
|
+
className: (0, tailwind_variants_namespaceObject.cn)("absolute h-full rotate-(--spinner-rotate) before:block before:h-1/3 before:w-full before:animate-out before:rounded-full before:bg-current before:delay-(--spinner-delay) before:animation-duration-(--spinner-duration) before:fade-out-25 before:repeat-infinite"),
|
|
43
|
+
style: {
|
|
44
|
+
"--spinner-delay": `-${((SPINNER_COUNT - index) * 100).toString()}ms`,
|
|
45
|
+
"--spinner-duration": `${(100 * SPINNER_COUNT).toString()}ms`,
|
|
46
|
+
"--spinner-rotate": `${(360 / SPINNER_COUNT * index).toString()}deg`,
|
|
47
|
+
width: `${(100 / SPINNER_COUNT).toString()}%`
|
|
48
|
+
}
|
|
49
|
+
}, index))
|
|
50
|
+
});
|
|
51
|
+
if (void 0 === children) return spinner;
|
|
52
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("span", {
|
|
53
|
+
className: "relative",
|
|
54
|
+
children: [
|
|
55
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
56
|
+
"aria-hidden": true,
|
|
57
|
+
className: "invisible contents",
|
|
58
|
+
children: children
|
|
59
|
+
}),
|
|
60
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_visually_hidden_namespaceObject.VisuallyHidden, {
|
|
61
|
+
children: children
|
|
62
|
+
}),
|
|
63
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
64
|
+
className: "absolute inset-0 flex items-center justify-center",
|
|
65
|
+
children: spinner
|
|
66
|
+
})
|
|
67
|
+
]
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
exports.Spinner = __webpack_exports__.Spinner;
|
|
71
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
72
|
+
"Spinner"
|
|
73
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
74
|
+
Object.defineProperty(exports, '__esModule', {
|
|
75
|
+
value: true
|
|
76
|
+
});
|
|
@@ -1,2 +1,42 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{jsx
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "@codefast/tailwind-variants";
|
|
4
|
+
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
|
5
|
+
const SPINNER_COUNT = 8;
|
|
6
|
+
function Spinner({ children, className, loading = true, ...props }) {
|
|
7
|
+
if (!loading) return children;
|
|
8
|
+
const spinner = /*#__PURE__*/ jsx("span", {
|
|
9
|
+
className: cn("relative flex size-4 items-center justify-center opacity-60", className),
|
|
10
|
+
...props,
|
|
11
|
+
children: Array.from({
|
|
12
|
+
length: SPINNER_COUNT
|
|
13
|
+
}, (_, index)=>/*#__PURE__*/ jsx("span", {
|
|
14
|
+
className: cn("absolute h-full rotate-(--spinner-rotate) before:block before:h-1/3 before:w-full before:animate-out before:rounded-full before:bg-current before:delay-(--spinner-delay) before:animation-duration-(--spinner-duration) before:fade-out-25 before:repeat-infinite"),
|
|
15
|
+
style: {
|
|
16
|
+
"--spinner-delay": `-${((SPINNER_COUNT - index) * 100).toString()}ms`,
|
|
17
|
+
"--spinner-duration": `${(100 * SPINNER_COUNT).toString()}ms`,
|
|
18
|
+
"--spinner-rotate": `${(360 / SPINNER_COUNT * index).toString()}deg`,
|
|
19
|
+
width: `${(100 / SPINNER_COUNT).toString()}%`
|
|
20
|
+
}
|
|
21
|
+
}, index))
|
|
22
|
+
});
|
|
23
|
+
if (void 0 === children) return spinner;
|
|
24
|
+
return /*#__PURE__*/ jsxs("span", {
|
|
25
|
+
className: "relative",
|
|
26
|
+
children: [
|
|
27
|
+
/*#__PURE__*/ jsx("span", {
|
|
28
|
+
"aria-hidden": true,
|
|
29
|
+
className: "invisible contents",
|
|
30
|
+
children: children
|
|
31
|
+
}),
|
|
32
|
+
/*#__PURE__*/ jsx(VisuallyHidden, {
|
|
33
|
+
children: children
|
|
34
|
+
}),
|
|
35
|
+
/*#__PURE__*/ jsx("span", {
|
|
36
|
+
className: "absolute inset-0 flex items-center justify-center",
|
|
37
|
+
children: spinner
|
|
38
|
+
})
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export { Spinner };
|
|
@@ -1,2 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
"use client";
|
|
2
|
-
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
Switch: ()=>Switch
|
|
29
|
+
});
|
|
30
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
31
|
+
const tailwind_variants_namespaceObject = require("@codefast/tailwind-variants");
|
|
32
|
+
const react_switch_namespaceObject = require("@radix-ui/react-switch");
|
|
33
|
+
function Switch({ className, ...props }) {
|
|
34
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_switch_namespaceObject.Root, {
|
|
35
|
+
className: (0, tailwind_variants_namespaceObject.cn)("peer inline-flex h-5 w-9 shrink-0 items-center rounded-full border border-transparent p-0.75 shadow-xs outline-hidden transition-all focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:not-data-[state=checked]:border-ring/60 disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:focus-visible:ring-primary/20 data-[state=unchecked]:bg-input dark:data-[state=checked]:focus-visible:ring-primary/40 dark:data-[state=unchecked]:bg-input/80", className),
|
|
36
|
+
"data-slot": "switch",
|
|
37
|
+
...props,
|
|
38
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_switch_namespaceObject.Thumb, {
|
|
39
|
+
className: "pointer-events-none block size-3.5 rounded-full bg-background shadow-sm transition-transform data-[state=checked]:translate-x-3.5 data-[state=unchecked]:translate-x-0 dark:not-data-[state=checked]:bg-foreground",
|
|
40
|
+
"data-slot": "switch-thumb"
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
exports.Switch = __webpack_exports__.Switch;
|
|
45
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
46
|
+
"Switch"
|
|
47
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
48
|
+
Object.defineProperty(exports, '__esModule', {
|
|
49
|
+
value: true
|
|
50
|
+
});
|
|
@@ -1,2 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{jsx
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "@codefast/tailwind-variants";
|
|
4
|
+
import { Root, Thumb } from "@radix-ui/react-switch";
|
|
5
|
+
function Switch({ className, ...props }) {
|
|
6
|
+
return /*#__PURE__*/ jsx(Root, {
|
|
7
|
+
className: cn("peer inline-flex h-5 w-9 shrink-0 items-center rounded-full border border-transparent p-0.75 shadow-xs outline-hidden transition-all focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:not-data-[state=checked]:border-ring/60 disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:focus-visible:ring-primary/20 data-[state=unchecked]:bg-input dark:data-[state=checked]:focus-visible:ring-primary/40 dark:data-[state=unchecked]:bg-input/80", className),
|
|
8
|
+
"data-slot": "switch",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/ jsx(Thumb, {
|
|
11
|
+
className: "pointer-events-none block size-3.5 rounded-full bg-background shadow-sm transition-transform data-[state=checked]:translate-x-3.5 data-[state=unchecked]:translate-x-0 dark:not-data-[state=checked]:bg-foreground",
|
|
12
|
+
"data-slot": "switch-thumb"
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export { Switch };
|
|
@@ -1 +1,118 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
TableFooter: ()=>TableFooter,
|
|
28
|
+
TableHead: ()=>TableHead,
|
|
29
|
+
TableCaption: ()=>TableCaption,
|
|
30
|
+
TableBody: ()=>TableBody,
|
|
31
|
+
TableCell: ()=>TableCell,
|
|
32
|
+
TableRow: ()=>TableRow,
|
|
33
|
+
TableHeader: ()=>TableHeader,
|
|
34
|
+
Table: ()=>Table
|
|
35
|
+
});
|
|
36
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
37
|
+
const tailwind_variants_namespaceObject = require("@codefast/tailwind-variants");
|
|
38
|
+
function Table({ className, ...props }) {
|
|
39
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
40
|
+
className: "relative w-full overflow-auto",
|
|
41
|
+
"data-slot": "table-cotainer",
|
|
42
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("table", {
|
|
43
|
+
className: (0, tailwind_variants_namespaceObject.cn)("w-full caption-bottom text-sm", className),
|
|
44
|
+
"data-slot": "table",
|
|
45
|
+
...props
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function TableHeader({ className, ...props }) {
|
|
50
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("thead", {
|
|
51
|
+
className: (0, tailwind_variants_namespaceObject.cn)("*:border-b *:has-aria-expanded:bg-transparent", className),
|
|
52
|
+
"data-slot": "table-header",
|
|
53
|
+
...props
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function TableBody({ className, ...props }) {
|
|
57
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("tbody", {
|
|
58
|
+
className: (0, tailwind_variants_namespaceObject.cn)("*:last-child:border-0", className),
|
|
59
|
+
"data-slot": "table-body",
|
|
60
|
+
...props
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function TableFooter({ className, ...props }) {
|
|
64
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("tfoot", {
|
|
65
|
+
className: (0, tailwind_variants_namespaceObject.cn)("bg-muted/50 font-medium *:border-t *:border-b-0 *:has-aria-expanded:bg-transparent", className),
|
|
66
|
+
"data-slot": "table-footer",
|
|
67
|
+
...props
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function TableRow({ className, ...props }) {
|
|
71
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("tr", {
|
|
72
|
+
className: (0, tailwind_variants_namespaceObject.cn)("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted", className),
|
|
73
|
+
"data-slot": "table-row",
|
|
74
|
+
...props
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function TableHead({ className, ...props }) {
|
|
78
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("th", {
|
|
79
|
+
className: (0, tailwind_variants_namespaceObject.cn)("p-2 text-left align-middle font-medium", className),
|
|
80
|
+
"data-slot": "table-head",
|
|
81
|
+
...props
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function TableCell({ className, ...props }) {
|
|
85
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("td", {
|
|
86
|
+
className: (0, tailwind_variants_namespaceObject.cn)("p-2 align-middle", className),
|
|
87
|
+
"data-slot": "table-cell",
|
|
88
|
+
...props
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function TableCaption({ className, ...props }) {
|
|
92
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("caption", {
|
|
93
|
+
className: (0, tailwind_variants_namespaceObject.cn)("mt-4 text-sm text-muted-foreground", className),
|
|
94
|
+
"data-slot": "table-caption",
|
|
95
|
+
...props
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
exports.Table = __webpack_exports__.Table;
|
|
99
|
+
exports.TableBody = __webpack_exports__.TableBody;
|
|
100
|
+
exports.TableCaption = __webpack_exports__.TableCaption;
|
|
101
|
+
exports.TableCell = __webpack_exports__.TableCell;
|
|
102
|
+
exports.TableFooter = __webpack_exports__.TableFooter;
|
|
103
|
+
exports.TableHead = __webpack_exports__.TableHead;
|
|
104
|
+
exports.TableHeader = __webpack_exports__.TableHeader;
|
|
105
|
+
exports.TableRow = __webpack_exports__.TableRow;
|
|
106
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
107
|
+
"Table",
|
|
108
|
+
"TableBody",
|
|
109
|
+
"TableCaption",
|
|
110
|
+
"TableCell",
|
|
111
|
+
"TableFooter",
|
|
112
|
+
"TableHead",
|
|
113
|
+
"TableHeader",
|
|
114
|
+
"TableRow"
|
|
115
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
116
|
+
Object.defineProperty(exports, '__esModule', {
|
|
117
|
+
value: true
|
|
118
|
+
});
|
package/dist/components/table.js
CHANGED
|
@@ -1 +1,63 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "@codefast/tailwind-variants";
|
|
3
|
+
function Table({ className, ...props }) {
|
|
4
|
+
return /*#__PURE__*/ jsx("div", {
|
|
5
|
+
className: "relative w-full overflow-auto",
|
|
6
|
+
"data-slot": "table-cotainer",
|
|
7
|
+
children: /*#__PURE__*/ jsx("table", {
|
|
8
|
+
className: cn("w-full caption-bottom text-sm", className),
|
|
9
|
+
"data-slot": "table",
|
|
10
|
+
...props
|
|
11
|
+
})
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function TableHeader({ className, ...props }) {
|
|
15
|
+
return /*#__PURE__*/ jsx("thead", {
|
|
16
|
+
className: cn("*:border-b *:has-aria-expanded:bg-transparent", className),
|
|
17
|
+
"data-slot": "table-header",
|
|
18
|
+
...props
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function TableBody({ className, ...props }) {
|
|
22
|
+
return /*#__PURE__*/ jsx("tbody", {
|
|
23
|
+
className: cn("*:last-child:border-0", className),
|
|
24
|
+
"data-slot": "table-body",
|
|
25
|
+
...props
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function TableFooter({ className, ...props }) {
|
|
29
|
+
return /*#__PURE__*/ jsx("tfoot", {
|
|
30
|
+
className: cn("bg-muted/50 font-medium *:border-t *:border-b-0 *:has-aria-expanded:bg-transparent", className),
|
|
31
|
+
"data-slot": "table-footer",
|
|
32
|
+
...props
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function TableRow({ className, ...props }) {
|
|
36
|
+
return /*#__PURE__*/ jsx("tr", {
|
|
37
|
+
className: cn("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted", className),
|
|
38
|
+
"data-slot": "table-row",
|
|
39
|
+
...props
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function TableHead({ className, ...props }) {
|
|
43
|
+
return /*#__PURE__*/ jsx("th", {
|
|
44
|
+
className: cn("p-2 text-left align-middle font-medium", className),
|
|
45
|
+
"data-slot": "table-head",
|
|
46
|
+
...props
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function TableCell({ className, ...props }) {
|
|
50
|
+
return /*#__PURE__*/ jsx("td", {
|
|
51
|
+
className: cn("p-2 align-middle", className),
|
|
52
|
+
"data-slot": "table-cell",
|
|
53
|
+
...props
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function TableCaption({ className, ...props }) {
|
|
57
|
+
return /*#__PURE__*/ jsx("caption", {
|
|
58
|
+
className: cn("mt-4 text-sm text-muted-foreground", className),
|
|
59
|
+
"data-slot": "table-caption",
|
|
60
|
+
...props
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|
package/dist/components/tabs.cjs
CHANGED
|
@@ -1,2 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
"use client";
|
|
2
|
-
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
TabsList: ()=>TabsList,
|
|
29
|
+
Tabs: ()=>Tabs,
|
|
30
|
+
TabsTrigger: ()=>TabsTrigger,
|
|
31
|
+
TabsContent: ()=>TabsContent
|
|
32
|
+
});
|
|
33
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
34
|
+
const tailwind_variants_namespaceObject = require("@codefast/tailwind-variants");
|
|
35
|
+
const react_tabs_namespaceObject = require("@radix-ui/react-tabs");
|
|
36
|
+
function Tabs({ className, ...props }) {
|
|
37
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_tabs_namespaceObject.Root, {
|
|
38
|
+
className: (0, tailwind_variants_namespaceObject.cn)("flex flex-col gap-2", className),
|
|
39
|
+
"data-slot": "tabs",
|
|
40
|
+
...props
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function TabsList({ className, ...props }) {
|
|
44
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_tabs_namespaceObject.List, {
|
|
45
|
+
className: (0, tailwind_variants_namespaceObject.cn)("inline-flex w-fit items-center justify-center gap-1 rounded-xl bg-muted px-1 py-1 text-muted-foreground", className),
|
|
46
|
+
"data-slot": "tabs-list",
|
|
47
|
+
...props
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function TabsTrigger({ className, ...props }) {
|
|
51
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_tabs_namespaceObject.Trigger, {
|
|
52
|
+
className: (0, tailwind_variants_namespaceObject.cn)("inline-flex items-center justify-center gap-1.5 rounded-lg px-2 py-1.5 text-sm font-medium whitespace-nowrap text-muted-foreground transition not-dark:outline-hidden hover:not-disabled:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm dark:-outline-offset-1 dark:outline-ring dark:data-[state=active]:bg-input/50 dark:data-[state=active]:outline-1 [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
53
|
+
"data-slot": "tabs-trigger",
|
|
54
|
+
...props
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function TabsContent({ className, ...props }) {
|
|
58
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_tabs_namespaceObject.Content, {
|
|
59
|
+
className: (0, tailwind_variants_namespaceObject.cn)("mt-2 rounded-xl ring-ring/50 outline-ring focus-visible:ring-4 focus-visible:outline-1", className),
|
|
60
|
+
"data-slot": "tabs-content",
|
|
61
|
+
...props
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
exports.Tabs = __webpack_exports__.Tabs;
|
|
65
|
+
exports.TabsContent = __webpack_exports__.TabsContent;
|
|
66
|
+
exports.TabsList = __webpack_exports__.TabsList;
|
|
67
|
+
exports.TabsTrigger = __webpack_exports__.TabsTrigger;
|
|
68
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
69
|
+
"Tabs",
|
|
70
|
+
"TabsContent",
|
|
71
|
+
"TabsList",
|
|
72
|
+
"TabsTrigger"
|
|
73
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
74
|
+
Object.defineProperty(exports, '__esModule', {
|
|
75
|
+
value: true
|
|
76
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ComponentProps, JSX } from "react";
|
|
2
2
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
3
3
|
type TabsProps = ComponentProps<typeof TabsPrimitive.Root>;
|
|
4
|
-
declare function Tabs({ ...props }: TabsProps): JSX.Element;
|
|
4
|
+
declare function Tabs({ className, ...props }: TabsProps): JSX.Element;
|
|
5
5
|
type TabsListProps = ComponentProps<typeof TabsPrimitive.List>;
|
|
6
6
|
declare function TabsList({ className, ...props }: TabsListProps): JSX.Element;
|
|
7
7
|
type TabsTriggerProps = ComponentProps<typeof TabsPrimitive.Trigger>;
|
package/dist/components/tabs.js
CHANGED
|
@@ -1,2 +1,33 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{jsx
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "@codefast/tailwind-variants";
|
|
4
|
+
import { Content, List, Root, Trigger } from "@radix-ui/react-tabs";
|
|
5
|
+
function Tabs({ className, ...props }) {
|
|
6
|
+
return /*#__PURE__*/ jsx(Root, {
|
|
7
|
+
className: cn("flex flex-col gap-2", className),
|
|
8
|
+
"data-slot": "tabs",
|
|
9
|
+
...props
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function TabsList({ className, ...props }) {
|
|
13
|
+
return /*#__PURE__*/ jsx(List, {
|
|
14
|
+
className: cn("inline-flex w-fit items-center justify-center gap-1 rounded-xl bg-muted px-1 py-1 text-muted-foreground", className),
|
|
15
|
+
"data-slot": "tabs-list",
|
|
16
|
+
...props
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function TabsTrigger({ className, ...props }) {
|
|
20
|
+
return /*#__PURE__*/ jsx(Trigger, {
|
|
21
|
+
className: cn("inline-flex items-center justify-center gap-1.5 rounded-lg px-2 py-1.5 text-sm font-medium whitespace-nowrap text-muted-foreground transition not-dark:outline-hidden hover:not-disabled:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm dark:-outline-offset-1 dark:outline-ring dark:data-[state=active]:bg-input/50 dark:data-[state=active]:outline-1 [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
22
|
+
"data-slot": "tabs-trigger",
|
|
23
|
+
...props
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function TabsContent({ className, ...props }) {
|
|
27
|
+
return /*#__PURE__*/ jsx(Content, {
|
|
28
|
+
className: cn("mt-2 rounded-xl ring-ring/50 outline-ring focus-visible:ring-4 focus-visible:outline-1", className),
|
|
29
|
+
"data-slot": "tabs-content",
|
|
30
|
+
...props
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger };
|