iryx-ui 0.1.0 → 0.3.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 +180 -20
- package/dist/component-names.d.ts +1 -1
- package/dist/components/Alert.vue.d.ts +59 -0
- package/dist/components/App.vue.d.ts +1 -1
- package/dist/components/Badge.vue.d.ts +38 -0
- package/dist/components/Breadcrumb.vue.d.ts +45 -0
- package/dist/components/Button.vue.d.ts +9 -1
- package/dist/components/ButtonGroup.vue.d.ts +32 -0
- package/dist/components/Card.vue.d.ts +49 -0
- package/dist/components/ConfirmDialog.vue.d.ts +18 -0
- package/dist/components/Dialog.vue.d.ts +65 -0
- package/dist/components/DropdownMenu.vue.d.ts +49 -0
- package/dist/components/DropdownMenuItems.vue.d.ts +24 -0
- package/dist/components/EmptyState.vue.d.ts +46 -0
- package/dist/components/FormField.vue.d.ts +9 -0
- package/dist/components/Icon.vue.d.ts +8 -0
- package/dist/components/Label.vue.d.ts +6 -0
- package/dist/components/Pagination.vue.d.ts +57 -0
- package/dist/components/Progress.vue.d.ts +52 -0
- package/dist/components/Separator.vue.d.ts +36 -0
- package/dist/components/Skeleton.vue.d.ts +20 -0
- package/dist/components/Stat.vue.d.ts +57 -0
- package/dist/components/Stepper.vue.d.ts +61 -0
- package/dist/components/Tabs.vue.d.ts +63 -0
- package/dist/components/Toaster.vue.d.ts +28 -0
- package/dist/components/Tooltip.vue.d.ts +49 -0
- package/dist/components/index.d.ts +18 -0
- package/dist/composables/button-group.d.ts +12 -0
- package/dist/composables/confirm.d.ts +36 -0
- package/dist/composables/dropdown-menu.d.ts +22 -0
- package/dist/composables/icon.d.ts +10 -0
- package/dist/composables/toast.d.ts +42 -0
- package/dist/config.d.ts +9 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +64 -25
- package/dist/node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js +201 -0
- package/dist/node_modules/.pnpm/@hugeicons_vue@1.0.7_vue@3.5.35_typescript@6.0.3_/node_modules/@hugeicons/vue/dist/esm/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/node_modules/.pnpm/@hugeicons_vue@1.0.7_vue@3.5.35_typescript@6.0.3_/node_modules/@hugeicons/vue/dist/esm/components/HugeiconsIcon.vue.js +25 -0
- package/dist/node_modules/.pnpm/@hugeicons_vue@1.0.7_vue@3.5.35_typescript@6.0.3_/node_modules/@hugeicons/vue/dist/esm/components/HugeiconsIcon.vue2.js +63 -0
- package/dist/nuxt.js +1 -1
- package/dist/packages/iryx-ui/src/component-names.js +4 -0
- package/dist/packages/iryx-ui/src/components/Alert.js +5 -0
- package/dist/packages/iryx-ui/src/components/Alert.vue_vue_type_script_setup_true_lang.js +75 -0
- package/dist/{components → packages/iryx-ui/src/components}/App.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/packages/iryx-ui/src/components/Badge.js +5 -0
- package/dist/packages/iryx-ui/src/components/Badge.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/packages/iryx-ui/src/components/Breadcrumb.js +5 -0
- package/dist/packages/iryx-ui/src/components/Breadcrumb.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/packages/iryx-ui/src/components/Button.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/packages/iryx-ui/src/components/ButtonGroup.js +5 -0
- package/dist/packages/iryx-ui/src/components/ButtonGroup.vue_vue_type_script_setup_true_lang.js +39 -0
- package/dist/packages/iryx-ui/src/components/Card.js +5 -0
- package/dist/packages/iryx-ui/src/components/Card.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/packages/iryx-ui/src/components/Checkbox.vue_vue_type_script_setup_true_lang.js +92 -0
- package/dist/packages/iryx-ui/src/components/ConfirmDialog.js +5 -0
- package/dist/packages/iryx-ui/src/components/ConfirmDialog.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/packages/iryx-ui/src/components/Dialog.js +5 -0
- package/dist/packages/iryx-ui/src/components/Dialog.vue_vue_type_script_setup_true_lang.js +99 -0
- package/dist/packages/iryx-ui/src/components/DropdownMenu.js +5 -0
- package/dist/packages/iryx-ui/src/components/DropdownMenu.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/packages/iryx-ui/src/components/DropdownMenuItems.js +5 -0
- package/dist/packages/iryx-ui/src/components/DropdownMenuItems.vue_vue_type_script_setup_true_lang.js +92 -0
- package/dist/packages/iryx-ui/src/components/EmptyState.js +5 -0
- package/dist/packages/iryx-ui/src/components/EmptyState.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/{components → packages/iryx-ui/src/components}/FormField.vue_vue_type_script_setup_true_lang.js +5 -3
- package/dist/packages/iryx-ui/src/components/Icon.js +5 -0
- package/dist/packages/iryx-ui/src/components/Icon.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/{components → packages/iryx-ui/src/components}/Label.vue_vue_type_script_setup_true_lang.js +2 -0
- package/dist/packages/iryx-ui/src/components/Pagination.js +5 -0
- package/dist/packages/iryx-ui/src/components/Pagination.vue_vue_type_script_setup_true_lang.js +94 -0
- package/dist/packages/iryx-ui/src/components/Progress.js +5 -0
- package/dist/packages/iryx-ui/src/components/Progress.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/packages/iryx-ui/src/components/Select.vue_vue_type_script_setup_true_lang.js +85 -0
- package/dist/packages/iryx-ui/src/components/Separator.js +5 -0
- package/dist/packages/iryx-ui/src/components/Separator.vue_vue_type_script_setup_true_lang.js +56 -0
- package/dist/packages/iryx-ui/src/components/Skeleton.js +5 -0
- package/dist/packages/iryx-ui/src/components/Skeleton.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/packages/iryx-ui/src/components/Stat.js +5 -0
- package/dist/packages/iryx-ui/src/components/Stat.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/packages/iryx-ui/src/components/Stepper.js +5 -0
- package/dist/packages/iryx-ui/src/components/Stepper.vue_vue_type_script_setup_true_lang.js +89 -0
- package/dist/packages/iryx-ui/src/components/Tabs.js +5 -0
- package/dist/packages/iryx-ui/src/components/Tabs.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/packages/iryx-ui/src/components/Toaster.js +5 -0
- package/dist/packages/iryx-ui/src/components/Toaster.vue_vue_type_script_setup_true_lang.js +115 -0
- package/dist/packages/iryx-ui/src/components/Tooltip.js +5 -0
- package/dist/packages/iryx-ui/src/components/Tooltip.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/packages/iryx-ui/src/components/index.js +64 -0
- package/dist/{composables → packages/iryx-ui/src/composables}/appearance.js +11 -7
- package/dist/packages/iryx-ui/src/composables/button-group.js +8 -0
- package/dist/packages/iryx-ui/src/composables/confirm.js +25 -0
- package/dist/packages/iryx-ui/src/composables/dropdown-menu.js +9 -0
- package/dist/packages/iryx-ui/src/composables/icon.js +6 -0
- package/dist/packages/iryx-ui/src/composables/toast.js +38 -0
- package/dist/{plugin.js → packages/iryx-ui/src/plugin.js} +5 -5
- package/dist/packages/iryx-ui/src/theme/alert.js +36 -0
- package/dist/packages/iryx-ui/src/theme/badge.js +94 -0
- package/dist/packages/iryx-ui/src/theme/breadcrumb.js +12 -0
- package/dist/packages/iryx-ui/src/theme/button-group.js +15 -0
- package/dist/packages/iryx-ui/src/theme/button.js +59 -0
- package/dist/packages/iryx-ui/src/theme/card.js +42 -0
- package/dist/packages/iryx-ui/src/theme/dialog.js +23 -0
- package/dist/packages/iryx-ui/src/theme/dropdown-menu.js +16 -0
- package/dist/packages/iryx-ui/src/theme/empty-state.js +34 -0
- package/dist/packages/iryx-ui/src/theme/form.js +38 -0
- package/dist/{theme → packages/iryx-ui/src/theme}/label.js +10 -1
- package/dist/packages/iryx-ui/src/theme/pagination.js +29 -0
- package/dist/{theme → packages/iryx-ui/src/theme}/presets.js +21 -1
- package/dist/packages/iryx-ui/src/theme/progress.js +33 -0
- package/dist/packages/iryx-ui/src/theme/separator.js +22 -0
- package/dist/packages/iryx-ui/src/theme/skeleton.js +13 -0
- package/dist/packages/iryx-ui/src/theme/stat.js +30 -0
- package/dist/packages/iryx-ui/src/theme/stepper.js +25 -0
- package/dist/packages/iryx-ui/src/theme/tabs.js +52 -0
- package/dist/packages/iryx-ui/src/theme/toast.js +53 -0
- package/dist/packages/iryx-ui/src/theme/tooltip.js +8 -0
- package/dist/theme/alert.d.ts +98 -0
- package/dist/theme/badge.d.ts +92 -0
- package/dist/theme/breadcrumb.d.ts +59 -0
- package/dist/theme/button-group.d.ts +29 -0
- package/dist/theme/button.d.ts +17 -2
- package/dist/theme/card.d.ts +110 -0
- package/dist/theme/dialog.d.ts +74 -0
- package/dist/theme/dropdown-menu.d.ts +53 -0
- package/dist/theme/empty-state.d.ts +86 -0
- package/dist/theme/form.d.ts +62 -35
- package/dist/theme/index.d.ts +17 -0
- package/dist/theme/label.d.ts +18 -0
- package/dist/theme/pagination.d.ts +71 -0
- package/dist/theme/presets.d.ts +20 -0
- package/dist/theme/progress.d.ts +143 -0
- package/dist/theme/separator.d.ts +50 -0
- package/dist/theme/skeleton.d.ts +23 -0
- package/dist/theme/stat.d.ts +110 -0
- package/dist/theme/stepper.d.ts +56 -0
- package/dist/theme/switch.d.ts +6 -6
- package/dist/theme/tabs.d.ts +104 -0
- package/dist/theme/toast.d.ts +176 -0
- package/dist/theme/tooltip.d.ts +32 -0
- package/package.json +4 -3
- package/theme.css +121 -0
- package/dist/component-names.js +0 -16
- package/dist/components/Button.vue_vue_type_script_setup_true_lang.js +0 -54
- package/dist/components/Checkbox.vue_vue_type_script_setup_true_lang.js +0 -79
- package/dist/components/Select.vue_vue_type_script_setup_true_lang.js +0 -84
- package/dist/components/index.js +0 -28
- package/dist/theme/button.js +0 -27
- package/dist/theme/form.js +0 -14
- /package/dist/{components → packages/iryx-ui/src/components}/App.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Button.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Checkbox.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Form.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Form.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/FormField.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Input.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Input.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Label.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/RadioGroup.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/RadioGroup.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Select.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Switch.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Switch.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Textarea.js +0 -0
- /package/dist/{components → packages/iryx-ui/src/components}/Textarea.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{composables → packages/iryx-ui/src/composables}/form.js +0 -0
- /package/dist/{config.js → packages/iryx-ui/src/config.js} +0 -0
- /package/dist/{theme → packages/iryx-ui/src/theme}/checkbox.js +0 -0
- /package/dist/{theme → packages/iryx-ui/src/theme}/input.js +0 -0
- /package/dist/{theme → packages/iryx-ui/src/theme}/radio-group.js +0 -0
- /package/dist/{theme → packages/iryx-ui/src/theme}/select.js +0 -0
- /package/dist/{theme → packages/iryx-ui/src/theme}/switch.js +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/alert.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex w-full gap-3 rounded-lg border p-4",
|
|
6
|
+
icon: "mt-0.5 shrink-0 [&_svg]:size-5",
|
|
7
|
+
content: "min-w-0 flex-1",
|
|
8
|
+
title: "text-sm font-medium",
|
|
9
|
+
description: "text-sm opacity-90",
|
|
10
|
+
close: "-m-1 shrink-0 self-start rounded-md p-1 opacity-70 transition-opacity outline-none hover:opacity-100 focus-visible:ring-2 focus-visible:ring-current/50 [&_svg]:size-4"
|
|
11
|
+
},
|
|
12
|
+
variants: {
|
|
13
|
+
variant: {
|
|
14
|
+
info: {
|
|
15
|
+
root: "border-info-border bg-info-muted text-info-muted-foreground",
|
|
16
|
+
icon: "text-info"
|
|
17
|
+
},
|
|
18
|
+
success: {
|
|
19
|
+
root: "border-success-border bg-success-muted text-success-muted-foreground",
|
|
20
|
+
icon: "text-success"
|
|
21
|
+
},
|
|
22
|
+
warning: {
|
|
23
|
+
root: "border-warning-border bg-warning-muted text-warning-muted-foreground",
|
|
24
|
+
icon: "text-warning"
|
|
25
|
+
},
|
|
26
|
+
danger: {
|
|
27
|
+
root: "border-danger-border bg-danger-muted text-danger-muted-foreground",
|
|
28
|
+
icon: "text-danger"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
withTitle: { true: { description: "mt-1" } }
|
|
32
|
+
},
|
|
33
|
+
defaultVariants: { variant: "info" }
|
|
34
|
+
});
|
|
35
|
+
//#endregion
|
|
36
|
+
export { t as alertTheme };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/badge.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "inline-flex shrink-0 items-center rounded-full font-medium whitespace-nowrap [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
6
|
+
dot: "rounded-full bg-current"
|
|
7
|
+
},
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
neutral: {},
|
|
11
|
+
success: {},
|
|
12
|
+
warning: {},
|
|
13
|
+
danger: {},
|
|
14
|
+
info: {}
|
|
15
|
+
},
|
|
16
|
+
tone: {
|
|
17
|
+
soft: {},
|
|
18
|
+
solid: {}
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
sm: {
|
|
22
|
+
root: "h-5 gap-1 px-2 text-xs has-[[data-icon=inline-end]]:pr-1.5 has-[[data-icon=inline-start]]:pl-1.5 [&_svg]:size-3",
|
|
23
|
+
dot: "size-1.5"
|
|
24
|
+
},
|
|
25
|
+
md: {
|
|
26
|
+
root: "h-6 gap-1.5 px-2.5 text-xs has-[[data-icon=inline-end]]:pr-2 has-[[data-icon=inline-start]]:pl-2 [&_svg]:size-3.5",
|
|
27
|
+
dot: "size-2"
|
|
28
|
+
},
|
|
29
|
+
lg: {
|
|
30
|
+
root: "h-7 gap-1.5 px-3 text-sm has-[[data-icon=inline-end]]:pr-2.5 has-[[data-icon=inline-start]]:pl-2.5 [&_svg]:size-4",
|
|
31
|
+
dot: "size-2"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
compoundVariants: [
|
|
36
|
+
{
|
|
37
|
+
variant: "neutral",
|
|
38
|
+
tone: "soft",
|
|
39
|
+
class: { root: "bg-muted text-muted-foreground" }
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
variant: "neutral",
|
|
43
|
+
tone: "solid",
|
|
44
|
+
class: { root: "bg-foreground text-background" }
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
variant: "success",
|
|
48
|
+
tone: "soft",
|
|
49
|
+
class: { root: "bg-success-muted text-success-muted-foreground" }
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
variant: "success",
|
|
53
|
+
tone: "solid",
|
|
54
|
+
class: { root: "bg-success text-success-foreground" }
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
variant: "warning",
|
|
58
|
+
tone: "soft",
|
|
59
|
+
class: { root: "bg-warning-muted text-warning-muted-foreground" }
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
variant: "warning",
|
|
63
|
+
tone: "solid",
|
|
64
|
+
class: { root: "bg-warning text-warning-foreground" }
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
variant: "danger",
|
|
68
|
+
tone: "soft",
|
|
69
|
+
class: { root: "bg-danger-muted text-danger-muted-foreground" }
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
variant: "danger",
|
|
73
|
+
tone: "solid",
|
|
74
|
+
class: { root: "bg-danger text-danger-foreground" }
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
variant: "info",
|
|
78
|
+
tone: "soft",
|
|
79
|
+
class: { root: "bg-info-muted text-info-muted-foreground" }
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
variant: "info",
|
|
83
|
+
tone: "solid",
|
|
84
|
+
class: { root: "bg-info text-info-foreground" }
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
defaultVariants: {
|
|
88
|
+
variant: "neutral",
|
|
89
|
+
tone: "soft",
|
|
90
|
+
size: "md"
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
//#endregion
|
|
94
|
+
export { t as badgeTheme };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/breadcrumb.ts
|
|
3
|
+
var t = e({ slots: {
|
|
4
|
+
root: "text-sm",
|
|
5
|
+
list: "flex flex-wrap items-center gap-1.5",
|
|
6
|
+
item: "inline-flex items-center gap-1.5",
|
|
7
|
+
link: "inline-flex items-center gap-1.5 rounded text-muted-foreground transition-colors outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-primary/50 [&_svg]:size-4 [&_svg]:shrink-0",
|
|
8
|
+
current: "inline-flex items-center gap-1.5 font-medium text-foreground [&_svg]:size-4 [&_svg]:shrink-0",
|
|
9
|
+
separator: "text-muted-foreground [&_svg]:size-3.5"
|
|
10
|
+
} });
|
|
11
|
+
//#endregion
|
|
12
|
+
export { t as breadcrumbTheme };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/button-group.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
base: "isolate inline-flex [&>*]:relative [&>*:focus-visible]:z-10 [&>*:hover]:z-10",
|
|
5
|
+
variants: {
|
|
6
|
+
orientation: {
|
|
7
|
+
horizontal: "[&>*:not(:first-child)]:-ml-px [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:rounded-r-none",
|
|
8
|
+
vertical: "flex-col [&>*:not(:first-child)]:-mt-px [&>*:not(:first-child)]:rounded-t-none [&>*:not(:last-child)]:rounded-b-none"
|
|
9
|
+
},
|
|
10
|
+
block: { true: "flex w-full [&>*]:flex-1" }
|
|
11
|
+
},
|
|
12
|
+
defaultVariants: { orientation: "horizontal" }
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { t as buttonGroupTheme };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/button.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
base: "inline-flex shrink-0 items-center justify-center gap-2 rounded-lg border border-transparent font-medium transition-[color,background-color,border-color,box-shadow,opacity,filter,translate] outline-none focus-visible:ring-2 focus-visible:ring-primary/50 active:translate-y-px disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
5
|
+
variants: {
|
|
6
|
+
variant: {
|
|
7
|
+
solid: "bg-linear-to-b from-primary-from to-primary-to text-primary-foreground hover:brightness-110 active:brightness-95",
|
|
8
|
+
outline: "border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground",
|
|
9
|
+
ghost: "text-foreground hover:bg-accent hover:text-accent-foreground",
|
|
10
|
+
link: "text-primary underline-offset-4 hover:underline active:translate-y-0"
|
|
11
|
+
},
|
|
12
|
+
size: {
|
|
13
|
+
xs: "h-7 gap-1.5 px-2 text-xs has-[[data-icon=inline-end]]:pr-1.5 has-[[data-icon=inline-start]]:pl-1.5 [&_svg]:size-3.5",
|
|
14
|
+
sm: "h-8 px-3 text-sm has-[[data-icon=inline-end]]:pr-2 has-[[data-icon=inline-start]]:pl-2 [&_svg]:size-4",
|
|
15
|
+
md: "h-9 px-4 text-sm has-[[data-icon=inline-end]]:pr-3 has-[[data-icon=inline-start]]:pl-3 [&_svg]:size-4",
|
|
16
|
+
lg: "h-10 px-5 text-base has-[[data-icon=inline-end]]:pr-4 has-[[data-icon=inline-start]]:pl-4 [&_svg]:size-5",
|
|
17
|
+
xl: "h-12 px-6 text-base has-[[data-icon=inline-end]]:pr-5 has-[[data-icon=inline-start]]:pl-5 [&_svg]:size-5"
|
|
18
|
+
},
|
|
19
|
+
square: {
|
|
20
|
+
true: "",
|
|
21
|
+
false: ""
|
|
22
|
+
},
|
|
23
|
+
block: { true: "w-full" }
|
|
24
|
+
},
|
|
25
|
+
compoundVariants: [
|
|
26
|
+
{
|
|
27
|
+
square: !0,
|
|
28
|
+
size: "xs",
|
|
29
|
+
class: "w-7 px-0 has-[[data-icon]]:px-0"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
square: !0,
|
|
33
|
+
size: "sm",
|
|
34
|
+
class: "w-8 px-0 has-[[data-icon]]:px-0"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
square: !0,
|
|
38
|
+
size: "md",
|
|
39
|
+
class: "w-9 px-0 has-[[data-icon]]:px-0"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
square: !0,
|
|
43
|
+
size: "lg",
|
|
44
|
+
class: "w-10 px-0 has-[[data-icon]]:px-0"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
square: !0,
|
|
48
|
+
size: "xl",
|
|
49
|
+
class: "w-12 px-0 has-[[data-icon]]:px-0"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
defaultVariants: {
|
|
53
|
+
variant: "solid",
|
|
54
|
+
size: "md",
|
|
55
|
+
square: !1
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
//#endregion
|
|
59
|
+
export { t as buttonTheme };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/card.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "rounded-xl text-foreground",
|
|
6
|
+
header: "flex flex-col gap-1",
|
|
7
|
+
title: "text-base leading-none font-semibold",
|
|
8
|
+
description: "text-sm text-muted-foreground",
|
|
9
|
+
body: "",
|
|
10
|
+
footer: "flex items-center gap-2"
|
|
11
|
+
},
|
|
12
|
+
variants: {
|
|
13
|
+
variant: {
|
|
14
|
+
outline: { root: "border border-border bg-background" },
|
|
15
|
+
soft: { root: "bg-muted" }
|
|
16
|
+
},
|
|
17
|
+
padding: {
|
|
18
|
+
none: {},
|
|
19
|
+
sm: {
|
|
20
|
+
root: "p-4",
|
|
21
|
+
header: "mb-3",
|
|
22
|
+
footer: "mt-3"
|
|
23
|
+
},
|
|
24
|
+
md: {
|
|
25
|
+
root: "p-6",
|
|
26
|
+
header: "mb-4",
|
|
27
|
+
footer: "mt-4"
|
|
28
|
+
},
|
|
29
|
+
lg: {
|
|
30
|
+
root: "p-8",
|
|
31
|
+
header: "mb-6",
|
|
32
|
+
footer: "mt-6"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
defaultVariants: {
|
|
37
|
+
variant: "outline",
|
|
38
|
+
padding: "md"
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
//#endregion
|
|
42
|
+
export { t as cardTheme };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/dialog.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
overlay: "fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in",
|
|
6
|
+
content: "fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100vw-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-4 rounded-xl border border-border bg-background p-6 text-foreground shadow-lg outline-none data-[state=closed]:animate-dialog-out data-[state=open]:animate-dialog-in",
|
|
7
|
+
header: "flex flex-col gap-1",
|
|
8
|
+
title: "text-base leading-none font-semibold",
|
|
9
|
+
description: "text-sm text-muted-foreground",
|
|
10
|
+
body: "-m-1 min-h-0 flex-1 overflow-y-auto p-1",
|
|
11
|
+
footer: "flex flex-wrap items-center justify-end gap-2",
|
|
12
|
+
close: "absolute top-4 right-4 rounded-md p-1 text-muted-foreground transition-colors outline-none hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-primary/50 [&_svg]:size-4"
|
|
13
|
+
},
|
|
14
|
+
variants: { size: {
|
|
15
|
+
sm: { content: "sm:max-w-sm" },
|
|
16
|
+
md: { content: "sm:max-w-md" },
|
|
17
|
+
lg: { content: "sm:max-w-lg" },
|
|
18
|
+
xl: { content: "sm:max-w-2xl" }
|
|
19
|
+
} },
|
|
20
|
+
defaultVariants: { size: "md" }
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
export { t as dialogTheme };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/dropdown-menu.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
content: "z-50 min-w-40 overflow-hidden rounded-lg border border-border bg-background p-1 text-foreground shadow-lg outline-none data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in",
|
|
6
|
+
item: "flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0",
|
|
7
|
+
label: "px-2 py-1.5 text-xs font-medium text-muted-foreground",
|
|
8
|
+
separator: "-mx-1 my-1 h-px bg-border",
|
|
9
|
+
subTrigger: "flex cursor-default items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0",
|
|
10
|
+
subContent: "z-50 min-w-40 overflow-hidden rounded-lg border border-border bg-background p-1 text-foreground shadow-lg outline-none data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in",
|
|
11
|
+
subTriggerIcon: "ml-auto"
|
|
12
|
+
},
|
|
13
|
+
variants: { danger: { true: { item: "text-danger data-[highlighted]:bg-danger-muted data-[highlighted]:text-danger-muted-foreground" } } }
|
|
14
|
+
});
|
|
15
|
+
//#endregion
|
|
16
|
+
export { t as dropdownMenuTheme };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/empty-state.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex flex-col items-center justify-center text-center",
|
|
6
|
+
icon: "text-muted-foreground",
|
|
7
|
+
title: "font-medium text-foreground",
|
|
8
|
+
description: "max-w-sm text-sm text-muted-foreground",
|
|
9
|
+
actions: "flex flex-wrap items-center justify-center gap-2"
|
|
10
|
+
},
|
|
11
|
+
variants: { size: {
|
|
12
|
+
sm: {
|
|
13
|
+
root: "gap-1.5 px-4 py-8",
|
|
14
|
+
icon: "[&_svg]:size-8",
|
|
15
|
+
title: "text-sm",
|
|
16
|
+
actions: "mt-2"
|
|
17
|
+
},
|
|
18
|
+
md: {
|
|
19
|
+
root: "gap-2 px-6 py-12",
|
|
20
|
+
icon: "[&_svg]:size-10",
|
|
21
|
+
title: "text-base",
|
|
22
|
+
actions: "mt-4"
|
|
23
|
+
},
|
|
24
|
+
lg: {
|
|
25
|
+
root: "gap-2.5 px-8 py-16",
|
|
26
|
+
icon: "[&_svg]:size-12",
|
|
27
|
+
title: "text-lg",
|
|
28
|
+
actions: "mt-6"
|
|
29
|
+
}
|
|
30
|
+
} },
|
|
31
|
+
defaultVariants: { size: "md" }
|
|
32
|
+
});
|
|
33
|
+
//#endregion
|
|
34
|
+
export { t as emptyStateTheme };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/form.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "space-y-2",
|
|
6
|
+
header: "flex items-center justify-between gap-2",
|
|
7
|
+
label: "",
|
|
8
|
+
hint: "text-sm leading-none text-muted-foreground",
|
|
9
|
+
description: "text-sm leading-snug text-muted-foreground",
|
|
10
|
+
control: "",
|
|
11
|
+
error: "text-sm leading-snug text-red-500",
|
|
12
|
+
help: "text-sm leading-snug text-muted-foreground"
|
|
13
|
+
},
|
|
14
|
+
variants: { indent: {
|
|
15
|
+
none: {},
|
|
16
|
+
sm: {
|
|
17
|
+
header: "px-2.5",
|
|
18
|
+
description: "px-2.5",
|
|
19
|
+
error: "px-2.5",
|
|
20
|
+
help: "px-2.5"
|
|
21
|
+
},
|
|
22
|
+
md: {
|
|
23
|
+
header: "px-3",
|
|
24
|
+
description: "px-3",
|
|
25
|
+
error: "px-3",
|
|
26
|
+
help: "px-3"
|
|
27
|
+
},
|
|
28
|
+
lg: {
|
|
29
|
+
header: "px-4",
|
|
30
|
+
description: "px-4",
|
|
31
|
+
error: "px-4",
|
|
32
|
+
help: "px-4"
|
|
33
|
+
}
|
|
34
|
+
} },
|
|
35
|
+
defaultVariants: { indent: "md" }
|
|
36
|
+
});
|
|
37
|
+
//#endregion
|
|
38
|
+
export { t as formFieldTheme };
|
|
@@ -2,7 +2,16 @@ import { tv as e } from "tailwind-variants";
|
|
|
2
2
|
//#region src/theme/label.ts
|
|
3
3
|
var t = e({
|
|
4
4
|
base: "inline-flex items-center gap-1 text-sm leading-none font-medium text-foreground select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
5
|
-
variants: {
|
|
5
|
+
variants: {
|
|
6
|
+
required: { true: "after:text-red-500 after:content-['*']" },
|
|
7
|
+
indent: {
|
|
8
|
+
none: "",
|
|
9
|
+
sm: "ps-2.5",
|
|
10
|
+
md: "ps-3",
|
|
11
|
+
lg: "ps-4"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
defaultVariants: { indent: "md" }
|
|
6
15
|
});
|
|
7
16
|
//#endregion
|
|
8
17
|
export { t as labelTheme };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/pagination.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex items-center gap-2",
|
|
6
|
+
list: "flex items-center gap-1",
|
|
7
|
+
item: "inline-flex items-center justify-center rounded-lg border border-transparent text-sm font-medium transition-[color,background-color,border-color,box-shadow] outline-none focus-visible:ring-2 focus-visible:ring-primary/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4",
|
|
8
|
+
active: "bg-linear-to-b from-primary-from to-primary-to text-primary-foreground hover:brightness-110",
|
|
9
|
+
inactive: "text-foreground hover:bg-accent hover:text-accent-foreground",
|
|
10
|
+
ellipsis: "inline-flex items-center justify-center text-sm text-muted-foreground"
|
|
11
|
+
},
|
|
12
|
+
variants: { size: {
|
|
13
|
+
sm: {
|
|
14
|
+
item: "h-8 min-w-8 px-2",
|
|
15
|
+
ellipsis: "h-8 min-w-8"
|
|
16
|
+
},
|
|
17
|
+
md: {
|
|
18
|
+
item: "h-9 min-w-9 px-2.5",
|
|
19
|
+
ellipsis: "h-9 min-w-9"
|
|
20
|
+
},
|
|
21
|
+
lg: {
|
|
22
|
+
item: "h-10 min-w-10 px-3",
|
|
23
|
+
ellipsis: "h-10 min-w-10"
|
|
24
|
+
}
|
|
25
|
+
} },
|
|
26
|
+
defaultVariants: { size: "md" }
|
|
27
|
+
});
|
|
28
|
+
//#endregion
|
|
29
|
+
export { t as paginationTheme };
|
|
@@ -10,7 +10,27 @@ var e = {
|
|
|
10
10
|
accentForeground: "--iryx-accent-foreground",
|
|
11
11
|
muted: "--iryx-muted",
|
|
12
12
|
mutedForeground: "--iryx-muted-foreground",
|
|
13
|
-
border: "--iryx-border"
|
|
13
|
+
border: "--iryx-border",
|
|
14
|
+
success: "--iryx-success",
|
|
15
|
+
successForeground: "--iryx-success-foreground",
|
|
16
|
+
successMuted: "--iryx-success-muted",
|
|
17
|
+
successMutedForeground: "--iryx-success-muted-foreground",
|
|
18
|
+
successBorder: "--iryx-success-border",
|
|
19
|
+
warning: "--iryx-warning",
|
|
20
|
+
warningForeground: "--iryx-warning-foreground",
|
|
21
|
+
warningMuted: "--iryx-warning-muted",
|
|
22
|
+
warningMutedForeground: "--iryx-warning-muted-foreground",
|
|
23
|
+
warningBorder: "--iryx-warning-border",
|
|
24
|
+
danger: "--iryx-danger",
|
|
25
|
+
dangerForeground: "--iryx-danger-foreground",
|
|
26
|
+
dangerMuted: "--iryx-danger-muted",
|
|
27
|
+
dangerMutedForeground: "--iryx-danger-muted-foreground",
|
|
28
|
+
dangerBorder: "--iryx-danger-border",
|
|
29
|
+
info: "--iryx-info",
|
|
30
|
+
infoForeground: "--iryx-info-foreground",
|
|
31
|
+
infoMuted: "--iryx-info-muted",
|
|
32
|
+
infoMutedForeground: "--iryx-info-muted-foreground",
|
|
33
|
+
infoBorder: "--iryx-info-border"
|
|
14
34
|
}, t = {
|
|
15
35
|
violet: {
|
|
16
36
|
light: {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/progress.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex w-full flex-col gap-1.5",
|
|
6
|
+
header: "flex items-baseline justify-between gap-2 text-sm",
|
|
7
|
+
label: "font-medium text-foreground",
|
|
8
|
+
value: "text-muted-foreground tabular-nums",
|
|
9
|
+
track: "relative w-full overflow-hidden rounded-full bg-muted",
|
|
10
|
+
indicator: "h-full w-full flex-1 rounded-full transition-transform duration-300 ease-out"
|
|
11
|
+
},
|
|
12
|
+
variants: {
|
|
13
|
+
variant: {
|
|
14
|
+
primary: { indicator: "bg-linear-to-b from-primary-from to-primary-to" },
|
|
15
|
+
success: { indicator: "bg-success" },
|
|
16
|
+
warning: { indicator: "bg-warning" },
|
|
17
|
+
danger: { indicator: "bg-danger" },
|
|
18
|
+
info: { indicator: "bg-info" }
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
sm: { track: "h-1" },
|
|
22
|
+
md: { track: "h-2" },
|
|
23
|
+
lg: { track: "h-3" }
|
|
24
|
+
},
|
|
25
|
+
indeterminate: { true: { indicator: "w-1/3 animate-progress-indeterminate" } }
|
|
26
|
+
},
|
|
27
|
+
defaultVariants: {
|
|
28
|
+
variant: "primary",
|
|
29
|
+
size: "md"
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
//#endregion
|
|
33
|
+
export { t as progressTheme };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/separator.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex shrink-0 items-center",
|
|
6
|
+
line: "bg-border",
|
|
7
|
+
label: "shrink-0 text-xs text-muted-foreground"
|
|
8
|
+
},
|
|
9
|
+
variants: { orientation: {
|
|
10
|
+
horizontal: {
|
|
11
|
+
root: "w-full gap-3",
|
|
12
|
+
line: "h-px w-full"
|
|
13
|
+
},
|
|
14
|
+
vertical: {
|
|
15
|
+
root: "h-full flex-col gap-3",
|
|
16
|
+
line: "h-full w-px"
|
|
17
|
+
}
|
|
18
|
+
} },
|
|
19
|
+
defaultVariants: { orientation: "horizontal" }
|
|
20
|
+
});
|
|
21
|
+
//#endregion
|
|
22
|
+
export { t as separatorTheme };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/skeleton.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
base: "animate-pulse bg-muted",
|
|
5
|
+
variants: { variant: {
|
|
6
|
+
text: "h-[1em] w-full rounded",
|
|
7
|
+
rect: "rounded-lg",
|
|
8
|
+
circle: "aspect-square rounded-full"
|
|
9
|
+
} },
|
|
10
|
+
defaultVariants: { variant: "rect" }
|
|
11
|
+
});
|
|
12
|
+
//#endregion
|
|
13
|
+
export { t as skeletonTheme };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/stat.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex flex-col gap-2",
|
|
6
|
+
label: "text-xs font-medium tracking-wide text-muted-foreground uppercase",
|
|
7
|
+
value: "font-semibold tracking-tight text-foreground tabular-nums",
|
|
8
|
+
delta: "inline-flex items-center gap-0.5 rounded-full px-2 py-0.5 text-xs font-medium tabular-nums has-[[data-icon=inline-end]]:pe-1 has-[[data-icon=inline-start]]:ps-1 [&_svg]:size-3.5",
|
|
9
|
+
hint: "text-xs text-muted-foreground",
|
|
10
|
+
row: "flex flex-col items-start gap-1.5"
|
|
11
|
+
},
|
|
12
|
+
variants: {
|
|
13
|
+
size: {
|
|
14
|
+
sm: { value: "text-2xl" },
|
|
15
|
+
md: { value: "text-3xl" },
|
|
16
|
+
lg: { value: "text-4xl" }
|
|
17
|
+
},
|
|
18
|
+
trend: {
|
|
19
|
+
up: { delta: "bg-success-muted text-success-muted-foreground" },
|
|
20
|
+
down: { delta: "bg-danger-muted text-danger-muted-foreground" },
|
|
21
|
+
neutral: { delta: "bg-muted text-muted-foreground" }
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
size: "md",
|
|
26
|
+
trend: "neutral"
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
//#endregion
|
|
30
|
+
export { t as statTheme };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/stepper.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex w-full",
|
|
6
|
+
item: "group relative flex flex-1 items-center gap-3",
|
|
7
|
+
trigger: "flex items-center gap-3 rounded-lg text-left outline-none focus-visible:ring-2 focus-visible:ring-primary/50 disabled:pointer-events-none disabled:opacity-50",
|
|
8
|
+
indicator: "flex size-8 shrink-0 items-center justify-center rounded-full border border-border bg-linear-to-b text-sm font-medium transition-[color,border-color] group-data-[state=active]:border-primary group-data-[state=active]:from-primary-from group-data-[state=active]:to-primary-to group-data-[state=active]:text-primary-foreground group-data-[state=completed]:border-primary group-data-[state=completed]:from-primary-from group-data-[state=completed]:to-primary-to group-data-[state=completed]:text-primary-foreground [&_svg]:size-4",
|
|
9
|
+
content: "flex flex-col gap-0.5",
|
|
10
|
+
title: "text-sm font-medium text-foreground",
|
|
11
|
+
description: "text-xs text-muted-foreground",
|
|
12
|
+
separator: "h-px flex-1 bg-border group-data-[state=completed]:bg-primary"
|
|
13
|
+
},
|
|
14
|
+
variants: { orientation: {
|
|
15
|
+
horizontal: {},
|
|
16
|
+
vertical: {
|
|
17
|
+
root: "flex-col gap-2",
|
|
18
|
+
item: "flex-none items-start",
|
|
19
|
+
separator: "ml-4 h-6 w-px flex-none"
|
|
20
|
+
}
|
|
21
|
+
} },
|
|
22
|
+
defaultVariants: { orientation: "horizontal" }
|
|
23
|
+
});
|
|
24
|
+
//#endregion
|
|
25
|
+
export { t as stepperTheme };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { tv as e } from "tailwind-variants";
|
|
2
|
+
//#region src/theme/tabs.ts
|
|
3
|
+
var t = e({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex flex-col gap-4",
|
|
6
|
+
list: "relative flex shrink-0 items-center gap-1",
|
|
7
|
+
indicator: "absolute left-0 transition-[translate,width,height] duration-200 ease-out",
|
|
8
|
+
trigger: "relative z-10 inline-flex items-center justify-center gap-2 text-sm font-medium whitespace-nowrap transition-colors outline-none focus-visible:ring-2 focus-visible:ring-primary/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",
|
|
9
|
+
content: "outline-none"
|
|
10
|
+
},
|
|
11
|
+
variants: {
|
|
12
|
+
variant: {
|
|
13
|
+
solid: {
|
|
14
|
+
list: "rounded-lg bg-muted p-1",
|
|
15
|
+
indicator: "top-1 h-[calc(100%---spacing(2))] rounded-md bg-background shadow-sm",
|
|
16
|
+
trigger: "rounded-md px-3 py-1.5 text-muted-foreground data-[state=active]:text-foreground"
|
|
17
|
+
},
|
|
18
|
+
line: {
|
|
19
|
+
list: "gap-4 border-b border-border",
|
|
20
|
+
indicator: "bottom-0 h-0.5 rounded-none bg-primary",
|
|
21
|
+
trigger: "rounded-none px-1 py-2 text-muted-foreground data-[state=active]:text-foreground"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
orientation: {
|
|
25
|
+
horizontal: { indicator: "w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)" },
|
|
26
|
+
vertical: {
|
|
27
|
+
root: "flex-row",
|
|
28
|
+
list: "flex-col items-stretch",
|
|
29
|
+
indicator: "h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
compoundVariants: [{
|
|
34
|
+
variant: "solid",
|
|
35
|
+
orientation: "vertical",
|
|
36
|
+
class: { indicator: "top-0 left-1 w-[calc(100%---spacing(2))]" }
|
|
37
|
+
}, {
|
|
38
|
+
variant: "line",
|
|
39
|
+
orientation: "vertical",
|
|
40
|
+
class: {
|
|
41
|
+
list: "border-r border-b-0",
|
|
42
|
+
indicator: "right-0 bottom-auto h-(--reka-tabs-indicator-size) w-0.5",
|
|
43
|
+
trigger: "text-left"
|
|
44
|
+
}
|
|
45
|
+
}],
|
|
46
|
+
defaultVariants: {
|
|
47
|
+
variant: "solid",
|
|
48
|
+
orientation: "horizontal"
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
//#endregion
|
|
52
|
+
export { t as tabsTheme };
|