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.
Files changed (171) hide show
  1. package/README.md +180 -20
  2. package/dist/component-names.d.ts +1 -1
  3. package/dist/components/Alert.vue.d.ts +59 -0
  4. package/dist/components/App.vue.d.ts +1 -1
  5. package/dist/components/Badge.vue.d.ts +38 -0
  6. package/dist/components/Breadcrumb.vue.d.ts +45 -0
  7. package/dist/components/Button.vue.d.ts +9 -1
  8. package/dist/components/ButtonGroup.vue.d.ts +32 -0
  9. package/dist/components/Card.vue.d.ts +49 -0
  10. package/dist/components/ConfirmDialog.vue.d.ts +18 -0
  11. package/dist/components/Dialog.vue.d.ts +65 -0
  12. package/dist/components/DropdownMenu.vue.d.ts +49 -0
  13. package/dist/components/DropdownMenuItems.vue.d.ts +24 -0
  14. package/dist/components/EmptyState.vue.d.ts +46 -0
  15. package/dist/components/FormField.vue.d.ts +9 -0
  16. package/dist/components/Icon.vue.d.ts +8 -0
  17. package/dist/components/Label.vue.d.ts +6 -0
  18. package/dist/components/Pagination.vue.d.ts +57 -0
  19. package/dist/components/Progress.vue.d.ts +52 -0
  20. package/dist/components/Separator.vue.d.ts +36 -0
  21. package/dist/components/Skeleton.vue.d.ts +20 -0
  22. package/dist/components/Stat.vue.d.ts +57 -0
  23. package/dist/components/Stepper.vue.d.ts +61 -0
  24. package/dist/components/Tabs.vue.d.ts +63 -0
  25. package/dist/components/Toaster.vue.d.ts +28 -0
  26. package/dist/components/Tooltip.vue.d.ts +49 -0
  27. package/dist/components/index.d.ts +18 -0
  28. package/dist/composables/button-group.d.ts +12 -0
  29. package/dist/composables/confirm.d.ts +36 -0
  30. package/dist/composables/dropdown-menu.d.ts +22 -0
  31. package/dist/composables/icon.d.ts +10 -0
  32. package/dist/composables/toast.d.ts +42 -0
  33. package/dist/config.d.ts +9 -0
  34. package/dist/index.d.ts +22 -0
  35. package/dist/index.js +64 -25
  36. package/dist/node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js +201 -0
  37. 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
  38. 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
  39. 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
  40. package/dist/nuxt.js +1 -1
  41. package/dist/packages/iryx-ui/src/component-names.js +4 -0
  42. package/dist/packages/iryx-ui/src/components/Alert.js +5 -0
  43. package/dist/packages/iryx-ui/src/components/Alert.vue_vue_type_script_setup_true_lang.js +75 -0
  44. package/dist/{components → packages/iryx-ui/src/components}/App.vue_vue_type_script_setup_true_lang.js +7 -7
  45. package/dist/packages/iryx-ui/src/components/Badge.js +5 -0
  46. package/dist/packages/iryx-ui/src/components/Badge.vue_vue_type_script_setup_true_lang.js +48 -0
  47. package/dist/packages/iryx-ui/src/components/Breadcrumb.js +5 -0
  48. package/dist/packages/iryx-ui/src/components/Breadcrumb.vue_vue_type_script_setup_true_lang.js +68 -0
  49. package/dist/packages/iryx-ui/src/components/Button.vue_vue_type_script_setup_true_lang.js +59 -0
  50. package/dist/packages/iryx-ui/src/components/ButtonGroup.js +5 -0
  51. package/dist/packages/iryx-ui/src/components/ButtonGroup.vue_vue_type_script_setup_true_lang.js +39 -0
  52. package/dist/packages/iryx-ui/src/components/Card.js +5 -0
  53. package/dist/packages/iryx-ui/src/components/Card.vue_vue_type_script_setup_true_lang.js +58 -0
  54. package/dist/packages/iryx-ui/src/components/Checkbox.vue_vue_type_script_setup_true_lang.js +92 -0
  55. package/dist/packages/iryx-ui/src/components/ConfirmDialog.js +5 -0
  56. package/dist/packages/iryx-ui/src/components/ConfirmDialog.vue_vue_type_script_setup_true_lang.js +63 -0
  57. package/dist/packages/iryx-ui/src/components/Dialog.js +5 -0
  58. package/dist/packages/iryx-ui/src/components/Dialog.vue_vue_type_script_setup_true_lang.js +99 -0
  59. package/dist/packages/iryx-ui/src/components/DropdownMenu.js +5 -0
  60. package/dist/packages/iryx-ui/src/components/DropdownMenu.vue_vue_type_script_setup_true_lang.js +67 -0
  61. package/dist/packages/iryx-ui/src/components/DropdownMenuItems.js +5 -0
  62. package/dist/packages/iryx-ui/src/components/DropdownMenuItems.vue_vue_type_script_setup_true_lang.js +92 -0
  63. package/dist/packages/iryx-ui/src/components/EmptyState.js +5 -0
  64. package/dist/packages/iryx-ui/src/components/EmptyState.vue_vue_type_script_setup_true_lang.js +55 -0
  65. package/dist/{components → packages/iryx-ui/src/components}/FormField.vue_vue_type_script_setup_true_lang.js +5 -3
  66. package/dist/packages/iryx-ui/src/components/Icon.js +5 -0
  67. package/dist/packages/iryx-ui/src/components/Icon.vue_vue_type_script_setup_true_lang.js +26 -0
  68. package/dist/{components → packages/iryx-ui/src/components}/Label.vue_vue_type_script_setup_true_lang.js +2 -0
  69. package/dist/packages/iryx-ui/src/components/Pagination.js +5 -0
  70. package/dist/packages/iryx-ui/src/components/Pagination.vue_vue_type_script_setup_true_lang.js +94 -0
  71. package/dist/packages/iryx-ui/src/components/Progress.js +5 -0
  72. package/dist/packages/iryx-ui/src/components/Progress.vue_vue_type_script_setup_true_lang.js +65 -0
  73. package/dist/packages/iryx-ui/src/components/Select.vue_vue_type_script_setup_true_lang.js +85 -0
  74. package/dist/packages/iryx-ui/src/components/Separator.js +5 -0
  75. package/dist/packages/iryx-ui/src/components/Separator.vue_vue_type_script_setup_true_lang.js +56 -0
  76. package/dist/packages/iryx-ui/src/components/Skeleton.js +5 -0
  77. package/dist/packages/iryx-ui/src/components/Skeleton.vue_vue_type_script_setup_true_lang.js +48 -0
  78. package/dist/packages/iryx-ui/src/components/Stat.js +5 -0
  79. package/dist/packages/iryx-ui/src/components/Stat.vue_vue_type_script_setup_true_lang.js +63 -0
  80. package/dist/packages/iryx-ui/src/components/Stepper.js +5 -0
  81. package/dist/packages/iryx-ui/src/components/Stepper.vue_vue_type_script_setup_true_lang.js +89 -0
  82. package/dist/packages/iryx-ui/src/components/Tabs.js +5 -0
  83. package/dist/packages/iryx-ui/src/components/Tabs.vue_vue_type_script_setup_true_lang.js +78 -0
  84. package/dist/packages/iryx-ui/src/components/Toaster.js +5 -0
  85. package/dist/packages/iryx-ui/src/components/Toaster.vue_vue_type_script_setup_true_lang.js +115 -0
  86. package/dist/packages/iryx-ui/src/components/Tooltip.js +5 -0
  87. package/dist/packages/iryx-ui/src/components/Tooltip.vue_vue_type_script_setup_true_lang.js +70 -0
  88. package/dist/packages/iryx-ui/src/components/index.js +64 -0
  89. package/dist/{composables → packages/iryx-ui/src/composables}/appearance.js +11 -7
  90. package/dist/packages/iryx-ui/src/composables/button-group.js +8 -0
  91. package/dist/packages/iryx-ui/src/composables/confirm.js +25 -0
  92. package/dist/packages/iryx-ui/src/composables/dropdown-menu.js +9 -0
  93. package/dist/packages/iryx-ui/src/composables/icon.js +6 -0
  94. package/dist/packages/iryx-ui/src/composables/toast.js +38 -0
  95. package/dist/{plugin.js → packages/iryx-ui/src/plugin.js} +5 -5
  96. package/dist/packages/iryx-ui/src/theme/alert.js +36 -0
  97. package/dist/packages/iryx-ui/src/theme/badge.js +94 -0
  98. package/dist/packages/iryx-ui/src/theme/breadcrumb.js +12 -0
  99. package/dist/packages/iryx-ui/src/theme/button-group.js +15 -0
  100. package/dist/packages/iryx-ui/src/theme/button.js +59 -0
  101. package/dist/packages/iryx-ui/src/theme/card.js +42 -0
  102. package/dist/packages/iryx-ui/src/theme/dialog.js +23 -0
  103. package/dist/packages/iryx-ui/src/theme/dropdown-menu.js +16 -0
  104. package/dist/packages/iryx-ui/src/theme/empty-state.js +34 -0
  105. package/dist/packages/iryx-ui/src/theme/form.js +38 -0
  106. package/dist/{theme → packages/iryx-ui/src/theme}/label.js +10 -1
  107. package/dist/packages/iryx-ui/src/theme/pagination.js +29 -0
  108. package/dist/{theme → packages/iryx-ui/src/theme}/presets.js +21 -1
  109. package/dist/packages/iryx-ui/src/theme/progress.js +33 -0
  110. package/dist/packages/iryx-ui/src/theme/separator.js +22 -0
  111. package/dist/packages/iryx-ui/src/theme/skeleton.js +13 -0
  112. package/dist/packages/iryx-ui/src/theme/stat.js +30 -0
  113. package/dist/packages/iryx-ui/src/theme/stepper.js +25 -0
  114. package/dist/packages/iryx-ui/src/theme/tabs.js +52 -0
  115. package/dist/packages/iryx-ui/src/theme/toast.js +53 -0
  116. package/dist/packages/iryx-ui/src/theme/tooltip.js +8 -0
  117. package/dist/theme/alert.d.ts +98 -0
  118. package/dist/theme/badge.d.ts +92 -0
  119. package/dist/theme/breadcrumb.d.ts +59 -0
  120. package/dist/theme/button-group.d.ts +29 -0
  121. package/dist/theme/button.d.ts +17 -2
  122. package/dist/theme/card.d.ts +110 -0
  123. package/dist/theme/dialog.d.ts +74 -0
  124. package/dist/theme/dropdown-menu.d.ts +53 -0
  125. package/dist/theme/empty-state.d.ts +86 -0
  126. package/dist/theme/form.d.ts +62 -35
  127. package/dist/theme/index.d.ts +17 -0
  128. package/dist/theme/label.d.ts +18 -0
  129. package/dist/theme/pagination.d.ts +71 -0
  130. package/dist/theme/presets.d.ts +20 -0
  131. package/dist/theme/progress.d.ts +143 -0
  132. package/dist/theme/separator.d.ts +50 -0
  133. package/dist/theme/skeleton.d.ts +23 -0
  134. package/dist/theme/stat.d.ts +110 -0
  135. package/dist/theme/stepper.d.ts +56 -0
  136. package/dist/theme/switch.d.ts +6 -6
  137. package/dist/theme/tabs.d.ts +104 -0
  138. package/dist/theme/toast.d.ts +176 -0
  139. package/dist/theme/tooltip.d.ts +32 -0
  140. package/package.json +4 -3
  141. package/theme.css +121 -0
  142. package/dist/component-names.js +0 -16
  143. package/dist/components/Button.vue_vue_type_script_setup_true_lang.js +0 -54
  144. package/dist/components/Checkbox.vue_vue_type_script_setup_true_lang.js +0 -79
  145. package/dist/components/Select.vue_vue_type_script_setup_true_lang.js +0 -84
  146. package/dist/components/index.js +0 -28
  147. package/dist/theme/button.js +0 -27
  148. package/dist/theme/form.js +0 -14
  149. /package/dist/{components → packages/iryx-ui/src/components}/App.js +0 -0
  150. /package/dist/{components → packages/iryx-ui/src/components}/Button.js +0 -0
  151. /package/dist/{components → packages/iryx-ui/src/components}/Checkbox.js +0 -0
  152. /package/dist/{components → packages/iryx-ui/src/components}/Form.js +0 -0
  153. /package/dist/{components → packages/iryx-ui/src/components}/Form.vue_vue_type_script_setup_true_lang.js +0 -0
  154. /package/dist/{components → packages/iryx-ui/src/components}/FormField.js +0 -0
  155. /package/dist/{components → packages/iryx-ui/src/components}/Input.js +0 -0
  156. /package/dist/{components → packages/iryx-ui/src/components}/Input.vue_vue_type_script_setup_true_lang.js +0 -0
  157. /package/dist/{components → packages/iryx-ui/src/components}/Label.js +0 -0
  158. /package/dist/{components → packages/iryx-ui/src/components}/RadioGroup.js +0 -0
  159. /package/dist/{components → packages/iryx-ui/src/components}/RadioGroup.vue_vue_type_script_setup_true_lang.js +0 -0
  160. /package/dist/{components → packages/iryx-ui/src/components}/Select.js +0 -0
  161. /package/dist/{components → packages/iryx-ui/src/components}/Switch.js +0 -0
  162. /package/dist/{components → packages/iryx-ui/src/components}/Switch.vue_vue_type_script_setup_true_lang.js +0 -0
  163. /package/dist/{components → packages/iryx-ui/src/components}/Textarea.js +0 -0
  164. /package/dist/{components → packages/iryx-ui/src/components}/Textarea.vue_vue_type_script_setup_true_lang.js +0 -0
  165. /package/dist/{composables → packages/iryx-ui/src/composables}/form.js +0 -0
  166. /package/dist/{config.js → packages/iryx-ui/src/config.js} +0 -0
  167. /package/dist/{theme → packages/iryx-ui/src/theme}/checkbox.js +0 -0
  168. /package/dist/{theme → packages/iryx-ui/src/theme}/input.js +0 -0
  169. /package/dist/{theme → packages/iryx-ui/src/theme}/radio-group.js +0 -0
  170. /package/dist/{theme → packages/iryx-ui/src/theme}/select.js +0 -0
  171. /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: { required: { true: "after:text-red-500 after:content-['*']" } }
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 };