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,56 @@
1
+ export declare const stepperTheme: import("tailwind-variants").TVReturnType<{
2
+ orientation: {
3
+ horizontal: {};
4
+ vertical: {
5
+ root: string;
6
+ item: string;
7
+ separator: string;
8
+ };
9
+ };
10
+ }, {
11
+ root: string;
12
+ item: string;
13
+ trigger: string;
14
+ indicator: string;
15
+ content: string;
16
+ title: string;
17
+ description: string;
18
+ separator: string;
19
+ }, undefined, {
20
+ orientation: {
21
+ horizontal: {};
22
+ vertical: {
23
+ root: string;
24
+ item: string;
25
+ separator: string;
26
+ };
27
+ };
28
+ }, {
29
+ root: string;
30
+ item: string;
31
+ trigger: string;
32
+ indicator: string;
33
+ content: string;
34
+ title: string;
35
+ description: string;
36
+ separator: string;
37
+ }, import("tailwind-variants").TVReturnType<{
38
+ orientation: {
39
+ horizontal: {};
40
+ vertical: {
41
+ root: string;
42
+ item: string;
43
+ separator: string;
44
+ };
45
+ };
46
+ }, {
47
+ root: string;
48
+ item: string;
49
+ trigger: string;
50
+ indicator: string;
51
+ content: string;
52
+ title: string;
53
+ description: string;
54
+ separator: string;
55
+ }, undefined, unknown, unknown, undefined>>;
56
+ export type StepperSlots = keyof ReturnType<typeof stepperTheme>;
@@ -1,22 +1,22 @@
1
1
  export declare const switchTheme: import("tailwind-variants").TVReturnType<{
2
2
  [key: string]: {
3
3
  [key: string]: import("tailwind-variants").ClassValue | {
4
- label?: import("tailwind-variants").ClassValue;
5
- wrapper?: import("tailwind-variants").ClassValue;
6
4
  root?: import("tailwind-variants").ClassValue;
7
5
  content?: import("tailwind-variants").ClassValue;
8
6
  description?: import("tailwind-variants").ClassValue;
7
+ label?: import("tailwind-variants").ClassValue;
8
+ wrapper?: import("tailwind-variants").ClassValue;
9
9
  thumb?: import("tailwind-variants").ClassValue;
10
10
  };
11
11
  };
12
12
  } | {
13
13
  [x: string]: {
14
14
  [x: string]: import("tailwind-variants").ClassValue | {
15
- label?: import("tailwind-variants").ClassValue;
16
- wrapper?: import("tailwind-variants").ClassValue;
17
15
  root?: import("tailwind-variants").ClassValue;
18
16
  content?: import("tailwind-variants").ClassValue;
19
17
  description?: import("tailwind-variants").ClassValue;
18
+ label?: import("tailwind-variants").ClassValue;
19
+ wrapper?: import("tailwind-variants").ClassValue;
20
20
  thumb?: import("tailwind-variants").ClassValue;
21
21
  };
22
22
  };
@@ -31,11 +31,11 @@ export declare const switchTheme: import("tailwind-variants").TVReturnType<{
31
31
  }, undefined, {
32
32
  [key: string]: {
33
33
  [key: string]: import("tailwind-variants").ClassValue | {
34
- label?: import("tailwind-variants").ClassValue;
35
- wrapper?: import("tailwind-variants").ClassValue;
36
34
  root?: import("tailwind-variants").ClassValue;
37
35
  content?: import("tailwind-variants").ClassValue;
38
36
  description?: import("tailwind-variants").ClassValue;
37
+ label?: import("tailwind-variants").ClassValue;
38
+ wrapper?: import("tailwind-variants").ClassValue;
39
39
  thumb?: import("tailwind-variants").ClassValue;
40
40
  };
41
41
  };
@@ -0,0 +1,104 @@
1
+ export declare const tabsTheme: import("tailwind-variants").TVReturnType<{
2
+ variant: {
3
+ /** Pill sliding along a muted track. */
4
+ solid: {
5
+ list: string;
6
+ indicator: string;
7
+ trigger: string;
8
+ };
9
+ /**
10
+ * Underline for page-level navigation. The trigger is square: a rounded
11
+ * corner would bend the bar that sits under it.
12
+ */
13
+ line: {
14
+ list: string;
15
+ indicator: string;
16
+ trigger: string;
17
+ };
18
+ };
19
+ orientation: {
20
+ horizontal: {
21
+ indicator: string;
22
+ };
23
+ vertical: {
24
+ root: string;
25
+ list: string;
26
+ indicator: string;
27
+ };
28
+ };
29
+ }, {
30
+ root: string;
31
+ list: string;
32
+ indicator: string;
33
+ trigger: string;
34
+ content: string;
35
+ }, undefined, {
36
+ variant: {
37
+ /** Pill sliding along a muted track. */
38
+ solid: {
39
+ list: string;
40
+ indicator: string;
41
+ trigger: string;
42
+ };
43
+ /**
44
+ * Underline for page-level navigation. The trigger is square: a rounded
45
+ * corner would bend the bar that sits under it.
46
+ */
47
+ line: {
48
+ list: string;
49
+ indicator: string;
50
+ trigger: string;
51
+ };
52
+ };
53
+ orientation: {
54
+ horizontal: {
55
+ indicator: string;
56
+ };
57
+ vertical: {
58
+ root: string;
59
+ list: string;
60
+ indicator: string;
61
+ };
62
+ };
63
+ }, {
64
+ root: string;
65
+ list: string;
66
+ indicator: string;
67
+ trigger: string;
68
+ content: string;
69
+ }, import("tailwind-variants").TVReturnType<{
70
+ variant: {
71
+ /** Pill sliding along a muted track. */
72
+ solid: {
73
+ list: string;
74
+ indicator: string;
75
+ trigger: string;
76
+ };
77
+ /**
78
+ * Underline for page-level navigation. The trigger is square: a rounded
79
+ * corner would bend the bar that sits under it.
80
+ */
81
+ line: {
82
+ list: string;
83
+ indicator: string;
84
+ trigger: string;
85
+ };
86
+ };
87
+ orientation: {
88
+ horizontal: {
89
+ indicator: string;
90
+ };
91
+ vertical: {
92
+ root: string;
93
+ list: string;
94
+ indicator: string;
95
+ };
96
+ };
97
+ }, {
98
+ root: string;
99
+ list: string;
100
+ indicator: string;
101
+ trigger: string;
102
+ content: string;
103
+ }, undefined, unknown, unknown, undefined>>;
104
+ export type TabsSlots = keyof ReturnType<typeof tabsTheme>;
@@ -0,0 +1,176 @@
1
+ export declare const toastTheme: import("tailwind-variants").TVReturnType<{
2
+ variant: {
3
+ neutral: {
4
+ root: string;
5
+ icon: string;
6
+ };
7
+ success: {
8
+ root: string;
9
+ icon: string;
10
+ };
11
+ warning: {
12
+ root: string;
13
+ icon: string;
14
+ };
15
+ danger: {
16
+ root: string;
17
+ icon: string;
18
+ };
19
+ info: {
20
+ root: string;
21
+ icon: string;
22
+ };
23
+ };
24
+ position: {
25
+ 'top-left': {
26
+ viewport: string;
27
+ };
28
+ 'top-center': {
29
+ viewport: string;
30
+ };
31
+ 'top-right': {
32
+ viewport: string;
33
+ };
34
+ 'bottom-left': {
35
+ viewport: string;
36
+ };
37
+ 'bottom-center': {
38
+ viewport: string;
39
+ };
40
+ 'bottom-right': {
41
+ viewport: string;
42
+ };
43
+ };
44
+ /** Tightens the title/description gap when both are present. */
45
+ withTitle: {
46
+ true: {
47
+ description: string;
48
+ };
49
+ };
50
+ }, {
51
+ viewport: string;
52
+ root: string;
53
+ icon: string;
54
+ content: string;
55
+ title: string;
56
+ description: string;
57
+ action: string;
58
+ close: string;
59
+ }, undefined, {
60
+ variant: {
61
+ neutral: {
62
+ root: string;
63
+ icon: string;
64
+ };
65
+ success: {
66
+ root: string;
67
+ icon: string;
68
+ };
69
+ warning: {
70
+ root: string;
71
+ icon: string;
72
+ };
73
+ danger: {
74
+ root: string;
75
+ icon: string;
76
+ };
77
+ info: {
78
+ root: string;
79
+ icon: string;
80
+ };
81
+ };
82
+ position: {
83
+ 'top-left': {
84
+ viewport: string;
85
+ };
86
+ 'top-center': {
87
+ viewport: string;
88
+ };
89
+ 'top-right': {
90
+ viewport: string;
91
+ };
92
+ 'bottom-left': {
93
+ viewport: string;
94
+ };
95
+ 'bottom-center': {
96
+ viewport: string;
97
+ };
98
+ 'bottom-right': {
99
+ viewport: string;
100
+ };
101
+ };
102
+ /** Tightens the title/description gap when both are present. */
103
+ withTitle: {
104
+ true: {
105
+ description: string;
106
+ };
107
+ };
108
+ }, {
109
+ viewport: string;
110
+ root: string;
111
+ icon: string;
112
+ content: string;
113
+ title: string;
114
+ description: string;
115
+ action: string;
116
+ close: string;
117
+ }, import("tailwind-variants").TVReturnType<{
118
+ variant: {
119
+ neutral: {
120
+ root: string;
121
+ icon: string;
122
+ };
123
+ success: {
124
+ root: string;
125
+ icon: string;
126
+ };
127
+ warning: {
128
+ root: string;
129
+ icon: string;
130
+ };
131
+ danger: {
132
+ root: string;
133
+ icon: string;
134
+ };
135
+ info: {
136
+ root: string;
137
+ icon: string;
138
+ };
139
+ };
140
+ position: {
141
+ 'top-left': {
142
+ viewport: string;
143
+ };
144
+ 'top-center': {
145
+ viewport: string;
146
+ };
147
+ 'top-right': {
148
+ viewport: string;
149
+ };
150
+ 'bottom-left': {
151
+ viewport: string;
152
+ };
153
+ 'bottom-center': {
154
+ viewport: string;
155
+ };
156
+ 'bottom-right': {
157
+ viewport: string;
158
+ };
159
+ };
160
+ /** Tightens the title/description gap when both are present. */
161
+ withTitle: {
162
+ true: {
163
+ description: string;
164
+ };
165
+ };
166
+ }, {
167
+ viewport: string;
168
+ root: string;
169
+ icon: string;
170
+ content: string;
171
+ title: string;
172
+ description: string;
173
+ action: string;
174
+ close: string;
175
+ }, undefined, unknown, unknown, undefined>>;
176
+ export type ToastSlots = keyof ReturnType<typeof toastTheme>;
@@ -0,0 +1,32 @@
1
+ export declare const tooltipTheme: import("tailwind-variants").TVReturnType<{
2
+ [key: string]: {
3
+ [key: string]: import("tailwind-variants").ClassValue | {
4
+ content?: import("tailwind-variants").ClassValue;
5
+ arrow?: import("tailwind-variants").ClassValue;
6
+ };
7
+ };
8
+ } | {
9
+ [x: string]: {
10
+ [x: string]: import("tailwind-variants").ClassValue | {
11
+ content?: import("tailwind-variants").ClassValue;
12
+ arrow?: import("tailwind-variants").ClassValue;
13
+ };
14
+ };
15
+ } | {}, {
16
+ content: string;
17
+ arrow: string;
18
+ }, undefined, {
19
+ [key: string]: {
20
+ [key: string]: import("tailwind-variants").ClassValue | {
21
+ content?: import("tailwind-variants").ClassValue;
22
+ arrow?: import("tailwind-variants").ClassValue;
23
+ };
24
+ };
25
+ } | {}, {
26
+ content: string;
27
+ arrow: string;
28
+ }, import("tailwind-variants").TVReturnType<unknown, {
29
+ content: string;
30
+ arrow: string;
31
+ }, undefined, unknown, unknown, undefined>>;
32
+ export type TooltipSlots = keyof ReturnType<typeof tooltipTheme>;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "iryx-ui",
3
3
  "type": "module",
4
- "version": "0.1.0",
5
- "description": "Iryx — an artful Vue 3 component library built on Reka UI and Tailwind CSS v4.",
4
+ "version": "0.3.0",
5
+ "description": "A Vue 3 component library built on Reka UI and Tailwind CSS v4.",
6
6
  "author": "therok1",
7
7
  "license": "MIT",
8
8
  "homepage": "https://github.com/therok1/iryx-ui#readme",
@@ -45,8 +45,9 @@
45
45
  "vue": "^3.5.0"
46
46
  },
47
47
  "dependencies": {
48
+ "@hugeicons/core-free-icons": "^4.2.3",
49
+ "@hugeicons/vue": "^1.0.7",
48
50
  "@nuxt/kit": "^4.4.8",
49
- "lucide-vue-next": "^1.0.0",
50
51
  "reka-ui": "^2.9.10",
51
52
  "tailwind-merge": "^3.6.0",
52
53
  "tailwind-variants": "^3.2.2"
package/theme.css CHANGED
@@ -32,6 +32,31 @@
32
32
  --iryx-primary-foreground: oklch(0.985 0.005 248);
33
33
  --iryx-primary-from: oklch(0.59 0.2 277.19);
34
34
  --iryx-primary-to: oklch(0.51 0.23 276.99);
35
+ /*
36
+ * Status colours. Each has five roles: the solid fill, text on that fill,
37
+ * a tinted surface, text on that surface, and a border. Components reference
38
+ * these instead of raw palette classes, so a theme can restyle them.
39
+ */
40
+ --iryx-success: oklch(0.596 0.145 163.225);
41
+ --iryx-success-foreground: oklch(1 0 0);
42
+ --iryx-success-muted: oklch(0.979 0.021 166.113);
43
+ --iryx-success-muted-foreground: oklch(0.508 0.118 165.612);
44
+ --iryx-success-border: oklch(0.905 0.093 164.15);
45
+ --iryx-warning: oklch(0.666 0.179 58.318);
46
+ --iryx-warning-foreground: oklch(0.279 0.077 45.635);
47
+ --iryx-warning-muted: oklch(0.987 0.022 95.277);
48
+ --iryx-warning-muted-foreground: oklch(0.555 0.163 48.998);
49
+ --iryx-warning-border: oklch(0.924 0.12 95.746);
50
+ --iryx-danger: oklch(0.577 0.245 27.325);
51
+ --iryx-danger-foreground: oklch(1 0 0);
52
+ --iryx-danger-muted: oklch(0.971 0.013 17.38);
53
+ --iryx-danger-muted-foreground: oklch(0.505 0.213 27.518);
54
+ --iryx-danger-border: oklch(0.885 0.062 18.334);
55
+ --iryx-info: oklch(0.546 0.245 262.881);
56
+ --iryx-info-foreground: oklch(1 0 0);
57
+ --iryx-info-muted: oklch(0.97 0.014 254.604);
58
+ --iryx-info-muted-foreground: oklch(0.488 0.243 264.376);
59
+ --iryx-info-border: oklch(0.882 0.059 254.128);
35
60
  }
36
61
 
37
62
  .dark {
@@ -48,6 +73,27 @@
48
73
  --iryx-primary-foreground: oklch(0.985 0.005 248);
49
74
  --iryx-primary-from: oklch(0.62 0.22 293);
50
75
  --iryx-primary-to: oklch(0.54 0.24 293);
76
+ /* Status colours — lighter fills, deep tinted surfaces. */
77
+ --iryx-success: oklch(0.696 0.17 162.48);
78
+ --iryx-success-foreground: oklch(0.262 0.051 172.552);
79
+ --iryx-success-muted: oklch(0.262 0.051 172.552);
80
+ --iryx-success-muted-foreground: oklch(0.845 0.143 164.978);
81
+ --iryx-success-border: oklch(0.378 0.077 168.94);
82
+ --iryx-warning: oklch(0.828 0.189 84.429);
83
+ --iryx-warning-foreground: oklch(0.279 0.077 45.635);
84
+ --iryx-warning-muted: oklch(0.279 0.077 45.635);
85
+ --iryx-warning-muted-foreground: oklch(0.879 0.169 91.605);
86
+ --iryx-warning-border: oklch(0.414 0.112 45.904);
87
+ --iryx-danger: oklch(0.637 0.237 25.331);
88
+ --iryx-danger-foreground: oklch(0.258 0.092 26.042);
89
+ --iryx-danger-muted: oklch(0.258 0.092 26.042);
90
+ --iryx-danger-muted-foreground: oklch(0.808 0.114 19.571);
91
+ --iryx-danger-border: oklch(0.396 0.141 25.723);
92
+ --iryx-info: oklch(0.623 0.214 259.815);
93
+ --iryx-info-foreground: oklch(0.282 0.091 267.935);
94
+ --iryx-info-muted: oklch(0.282 0.091 267.935);
95
+ --iryx-info-muted-foreground: oklch(0.809 0.105 251.813);
96
+ --iryx-info-border: oklch(0.379 0.146 265.522);
51
97
  }
52
98
 
53
99
  @theme inline {
@@ -62,4 +108,79 @@
62
108
  --color-muted: var(--iryx-muted);
63
109
  --color-muted-foreground: var(--iryx-muted-foreground);
64
110
  --color-border: var(--iryx-border);
111
+ --color-success: var(--iryx-success);
112
+ --color-success-foreground: var(--iryx-success-foreground);
113
+ --color-success-muted: var(--iryx-success-muted);
114
+ --color-success-muted-foreground: var(--iryx-success-muted-foreground);
115
+ --color-success-border: var(--iryx-success-border);
116
+ --color-warning: var(--iryx-warning);
117
+ --color-warning-foreground: var(--iryx-warning-foreground);
118
+ --color-warning-muted: var(--iryx-warning-muted);
119
+ --color-warning-muted-foreground: var(--iryx-warning-muted-foreground);
120
+ --color-warning-border: var(--iryx-warning-border);
121
+ --color-danger: var(--iryx-danger);
122
+ --color-danger-foreground: var(--iryx-danger-foreground);
123
+ --color-danger-muted: var(--iryx-danger-muted);
124
+ --color-danger-muted-foreground: var(--iryx-danger-muted-foreground);
125
+ --color-danger-border: var(--iryx-danger-border);
126
+ --color-info: var(--iryx-info);
127
+ --color-info-foreground: var(--iryx-info-foreground);
128
+ --color-info-muted: var(--iryx-info-muted);
129
+ --color-info-muted-foreground: var(--iryx-info-muted-foreground);
130
+ --color-info-border: var(--iryx-info-border);
131
+ --animate-progress-indeterminate: progress-indeterminate 1.5s ease-in-out infinite;
132
+ --animate-fade-in: fade-in 150ms ease-out;
133
+ --animate-fade-out: fade-out 150ms ease-in;
134
+ --animate-dialog-in: dialog-in 150ms ease-out;
135
+ --animate-dialog-out: dialog-out 150ms ease-in;
136
+ --animate-toast-in: toast-in 150ms ease-out;
137
+ }
138
+
139
+ /* Indeterminate Progress: slide a short bar back and forth across the track. */
140
+ @keyframes progress-indeterminate {
141
+ 0% {
142
+ transform: translateX(-100%);
143
+ }
144
+ 100% {
145
+ transform: translateX(300%);
146
+ }
147
+ }
148
+
149
+ @keyframes fade-in {
150
+ from {
151
+ opacity: 0;
152
+ }
153
+ }
154
+
155
+ @keyframes fade-out {
156
+ to {
157
+ opacity: 0;
158
+ }
159
+ }
160
+
161
+ /*
162
+ * Dialog enter/exit. Centring uses Tailwind's `translate` property, which is
163
+ * applied independently of `transform` — so these keyframes must only touch
164
+ * scale. Adding a translate here would compose with the centring one and slide
165
+ * the dialog in from the top-left.
166
+ */
167
+ @keyframes dialog-in {
168
+ from {
169
+ opacity: 0;
170
+ transform: scale(0.96);
171
+ }
172
+ }
173
+
174
+ @keyframes dialog-out {
175
+ to {
176
+ opacity: 0;
177
+ transform: scale(0.96);
178
+ }
179
+ }
180
+
181
+ @keyframes toast-in {
182
+ from {
183
+ opacity: 0;
184
+ transform: translateY(0.5rem);
185
+ }
65
186
  }
@@ -1,16 +0,0 @@
1
- //#region src/component-names.ts
2
- var e = [
3
- "App",
4
- "Button",
5
- "Checkbox",
6
- "Form",
7
- "FormField",
8
- "Input",
9
- "Label",
10
- "RadioGroup",
11
- "Select",
12
- "Switch",
13
- "Textarea"
14
- ];
15
- //#endregion
16
- export { e as componentNames };
@@ -1,54 +0,0 @@
1
- import { useIryxUiConfig as e } from "../config.js";
2
- import { buttonTheme as t } from "../theme/button.js";
3
- import { computed as n, createBlock as r, createCommentVNode as i, defineComponent as a, normalizeClass as o, openBlock as s, renderSlot as c, unref as l, withCtx as u } from "vue";
4
- import { Primitive as d } from "reka-ui";
5
- import { LoaderCircle as f } from "lucide-vue-next";
6
- //#region src/components/Button.vue?vue&type=script&setup=true&lang.ts
7
- var p = /*@__PURE__*/ a({
8
- __name: "Button",
9
- props: {
10
- as: { default: "button" },
11
- asChild: { type: Boolean },
12
- variant: {},
13
- size: {},
14
- block: { type: Boolean },
15
- loading: { type: Boolean },
16
- disabled: { type: Boolean },
17
- unstyled: {
18
- type: Boolean,
19
- default: void 0
20
- },
21
- type: { default: "button" },
22
- class: {}
23
- },
24
- setup(a) {
25
- let p = a, m = e(), h = n(() => p.unstyled ?? m.unstyled), g = n(() => h.value ? p.class : t({
26
- variant: p.variant,
27
- size: p.size,
28
- block: p.block,
29
- class: p.class
30
- }));
31
- return (e, t) => (s(), r(l(d), {
32
- as: p.as,
33
- "as-child": p.asChild,
34
- type: p.as === "button" ? p.type : void 0,
35
- disabled: p.disabled || p.loading || void 0,
36
- class: o(g.value)
37
- }, {
38
- default: u(() => [p.loading ? (s(), r(l(f), {
39
- key: 0,
40
- class: "animate-spin",
41
- "aria-hidden": "true"
42
- })) : i("", !0), c(e.$slots, "default")]),
43
- _: 3
44
- }, 8, [
45
- "as",
46
- "as-child",
47
- "type",
48
- "disabled",
49
- "class"
50
- ]));
51
- }
52
- });
53
- //#endregion
54
- export { p as default };