iryx-ui 0.5.0 → 0.7.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 (71) hide show
  1. package/README.md +355 -5
  2. package/dist/component-names.d.ts +1 -1
  3. package/dist/components/Alert.vue.d.ts +19 -4
  4. package/dist/components/Badge.vue.d.ts +4 -3
  5. package/dist/components/Banner.vue.d.ts +81 -0
  6. package/dist/components/Combobox.vue.d.ts +3 -3
  7. package/dist/components/DatePicker.vue.d.ts +52 -0
  8. package/dist/components/DateRangePicker.vue.d.ts +60 -0
  9. package/dist/components/DropdownMenu.vue.d.ts +1 -1
  10. package/dist/components/Input.vue.d.ts +39 -1
  11. package/dist/components/Pagination.vue.d.ts +3 -1
  12. package/dist/components/PasswordInput.vue.d.ts +54 -0
  13. package/dist/components/Select.vue.d.ts +2 -2
  14. package/dist/components/Table.vue.d.ts +131 -0
  15. package/dist/components/Textarea.vue.d.ts +16 -1
  16. package/dist/components/index.d.ts +5 -0
  17. package/dist/composables/data-table.d.ts +93 -0
  18. package/dist/composables/date.d.ts +21 -0
  19. package/dist/index.d.ts +7 -0
  20. package/dist/index.js +72 -60
  21. package/dist/node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js +104 -7
  22. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/CalendarDate.js +122 -0
  23. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/DateFormatter.js +84 -0
  24. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js +91 -0
  25. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/conversion.js +107 -0
  26. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/manipulation.js +159 -0
  27. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/queries.js +29 -0
  28. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/string.js +37 -0
  29. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/utils.js +6 -0
  30. package/dist/packages/iryx-ui/src/component-names.js +1 -1
  31. package/dist/packages/iryx-ui/src/components/Alert.vue_vue_type_script_setup_true_lang.js +51 -35
  32. package/dist/packages/iryx-ui/src/components/Badge.vue_vue_type_script_setup_true_lang.js +1 -2
  33. package/dist/packages/iryx-ui/src/components/Banner.js +5 -0
  34. package/dist/packages/iryx-ui/src/components/Banner.vue_vue_type_script_setup_true_lang.js +93 -0
  35. package/dist/packages/iryx-ui/src/components/DatePicker.js +5 -0
  36. package/dist/packages/iryx-ui/src/components/DatePicker.vue_vue_type_script_setup_true_lang.js +186 -0
  37. package/dist/packages/iryx-ui/src/components/DateRangePicker.js +5 -0
  38. package/dist/packages/iryx-ui/src/components/DateRangePicker.vue_vue_type_script_setup_true_lang.js +210 -0
  39. package/dist/packages/iryx-ui/src/components/Input.vue_vue_type_script_setup_true_lang.js +94 -25
  40. package/dist/packages/iryx-ui/src/components/Pagination.vue_vue_type_script_setup_true_lang.js +5 -1
  41. package/dist/packages/iryx-ui/src/components/PasswordInput.js +5 -0
  42. package/dist/packages/iryx-ui/src/components/PasswordInput.vue_vue_type_script_setup_true_lang.js +113 -0
  43. package/dist/packages/iryx-ui/src/components/Table.js +5 -0
  44. package/dist/packages/iryx-ui/src/components/Table.vue_vue_type_script_setup_true_lang.js +217 -0
  45. package/dist/packages/iryx-ui/src/components/Textarea.vue_vue_type_script_setup_true_lang.js +47 -21
  46. package/dist/packages/iryx-ui/src/components/index.js +68 -58
  47. package/dist/packages/iryx-ui/src/composables/data-table.js +106 -0
  48. package/dist/packages/iryx-ui/src/composables/date.js +25 -0
  49. package/dist/packages/iryx-ui/src/theme/alert.js +10 -21
  50. package/dist/packages/iryx-ui/src/theme/badge.js +37 -37
  51. package/dist/packages/iryx-ui/src/theme/banner.js +62 -0
  52. package/dist/packages/iryx-ui/src/theme/date-picker.js +45 -0
  53. package/dist/packages/iryx-ui/src/theme/input.js +22 -6
  54. package/dist/packages/iryx-ui/src/theme/pagination.js +23 -13
  55. package/dist/packages/iryx-ui/src/theme/password-input.js +22 -0
  56. package/dist/packages/iryx-ui/src/theme/stat.js +4 -4
  57. package/dist/packages/iryx-ui/src/theme/table.js +62 -0
  58. package/dist/packages/iryx-ui/src/theme/toast.js +11 -26
  59. package/dist/theme/alert.d.ts +6 -12
  60. package/dist/theme/badge.d.ts +15 -12
  61. package/dist/theme/banner.d.ts +185 -0
  62. package/dist/theme/date-picker.d.ts +254 -0
  63. package/dist/theme/index.d.ts +4 -0
  64. package/dist/theme/input.d.ts +94 -15
  65. package/dist/theme/pagination.d.ts +33 -0
  66. package/dist/theme/password-input.d.ts +79 -0
  67. package/dist/theme/stat.d.ts +0 -3
  68. package/dist/theme/table.d.ts +230 -0
  69. package/dist/theme/toast.d.ts +0 -15
  70. package/package.json +2 -1
  71. package/theme.css +10 -0
@@ -13,6 +13,17 @@ export declare const paginationTheme: import("tailwind-variants").TVReturnType<{
13
13
  ellipsis: string;
14
14
  };
15
15
  };
16
+ align: {
17
+ start: {
18
+ root: string;
19
+ };
20
+ center: {
21
+ root: string;
22
+ };
23
+ end: {
24
+ root: string;
25
+ };
26
+ };
16
27
  }, {
17
28
  root: string;
18
29
  list: string;
@@ -36,6 +47,17 @@ export declare const paginationTheme: import("tailwind-variants").TVReturnType<{
36
47
  ellipsis: string;
37
48
  };
38
49
  };
50
+ align: {
51
+ start: {
52
+ root: string;
53
+ };
54
+ center: {
55
+ root: string;
56
+ };
57
+ end: {
58
+ root: string;
59
+ };
60
+ };
39
61
  }, {
40
62
  root: string;
41
63
  list: string;
@@ -59,6 +81,17 @@ export declare const paginationTheme: import("tailwind-variants").TVReturnType<{
59
81
  ellipsis: string;
60
82
  };
61
83
  };
84
+ align: {
85
+ start: {
86
+ root: string;
87
+ };
88
+ center: {
89
+ root: string;
90
+ };
91
+ end: {
92
+ root: string;
93
+ };
94
+ };
62
95
  }, {
63
96
  root: string;
64
97
  list: string;
@@ -0,0 +1,79 @@
1
+ /**
2
+ * The meter's colour is the same deliberate exception `IProgress` makes: the
3
+ * coloured bar *is* the reading, not decoration on a surface. Everywhere else
4
+ * status colour belongs in the mark, not the chrome.
5
+ */
6
+ export declare const passwordInputTheme: import("tailwind-variants").TVReturnType<{
7
+ score: {
8
+ 0: {};
9
+ 1: {
10
+ segment: string;
11
+ };
12
+ 2: {
13
+ segment: string;
14
+ };
15
+ 3: {
16
+ segment: string;
17
+ };
18
+ 4: {
19
+ segment: string;
20
+ };
21
+ };
22
+ }, {
23
+ root: string;
24
+ toggle: string;
25
+ meter: string;
26
+ track: string;
27
+ /** Unfilled by default; the `score` variant paints the ones below it. */
28
+ segment: string;
29
+ label: string;
30
+ }, undefined, {
31
+ score: {
32
+ 0: {};
33
+ 1: {
34
+ segment: string;
35
+ };
36
+ 2: {
37
+ segment: string;
38
+ };
39
+ 3: {
40
+ segment: string;
41
+ };
42
+ 4: {
43
+ segment: string;
44
+ };
45
+ };
46
+ }, {
47
+ root: string;
48
+ toggle: string;
49
+ meter: string;
50
+ track: string;
51
+ /** Unfilled by default; the `score` variant paints the ones below it. */
52
+ segment: string;
53
+ label: string;
54
+ }, import("tailwind-variants").TVReturnType<{
55
+ score: {
56
+ 0: {};
57
+ 1: {
58
+ segment: string;
59
+ };
60
+ 2: {
61
+ segment: string;
62
+ };
63
+ 3: {
64
+ segment: string;
65
+ };
66
+ 4: {
67
+ segment: string;
68
+ };
69
+ };
70
+ }, {
71
+ root: string;
72
+ toggle: string;
73
+ meter: string;
74
+ track: string;
75
+ /** Unfilled by default; the `score` variant paints the ones below it. */
76
+ segment: string;
77
+ label: string;
78
+ }, undefined, unknown, unknown, undefined>>;
79
+ export type PasswordInputSlots = keyof ReturnType<typeof passwordInputTheme>;
@@ -32,7 +32,6 @@ export declare const statTheme: import("tailwind-variants").TVReturnType<{
32
32
  value: string;
33
33
  delta: string;
34
34
  hint: string;
35
- /** Column, so the delta always sits on its own line under the value. */
36
35
  row: string;
37
36
  }, undefined, {
38
37
  size: {
@@ -68,7 +67,6 @@ export declare const statTheme: import("tailwind-variants").TVReturnType<{
68
67
  value: string;
69
68
  delta: string;
70
69
  hint: string;
71
- /** Column, so the delta always sits on its own line under the value. */
72
70
  row: string;
73
71
  }, import("tailwind-variants").TVReturnType<{
74
72
  size: {
@@ -104,7 +102,6 @@ export declare const statTheme: import("tailwind-variants").TVReturnType<{
104
102
  value: string;
105
103
  delta: string;
106
104
  hint: string;
107
- /** Column, so the delta always sits on its own line under the value. */
108
105
  row: string;
109
106
  }, undefined, unknown, unknown, undefined>>;
110
107
  export type StatSlots = keyof ReturnType<typeof statTheme>;
@@ -0,0 +1,230 @@
1
+ export declare const tableTheme: import("tailwind-variants").TVReturnType<{
2
+ striped: {
3
+ true: {
4
+ tr: string;
5
+ };
6
+ };
7
+ hoverable: {
8
+ true: {
9
+ tr: string;
10
+ };
11
+ };
12
+ clickable: {
13
+ true: {
14
+ tr: string;
15
+ };
16
+ };
17
+ stickyHeader: {
18
+ true: {
19
+ th: string;
20
+ };
21
+ };
22
+ selected: {
23
+ true: {
24
+ tr: string;
25
+ };
26
+ };
27
+ size: {
28
+ sm: {
29
+ th: string;
30
+ td: string;
31
+ gutter: string;
32
+ };
33
+ md: {};
34
+ lg: {
35
+ th: string;
36
+ td: string;
37
+ gutter: string;
38
+ };
39
+ };
40
+ align: {
41
+ start: {
42
+ th: string;
43
+ td: string;
44
+ };
45
+ center: {
46
+ th: string;
47
+ td: string;
48
+ };
49
+ end: {
50
+ th: string;
51
+ td: string;
52
+ };
53
+ };
54
+ }, {
55
+ /** Scroll container — the table itself never shrinks below its content. */
56
+ root: string;
57
+ table: string;
58
+ thead: string;
59
+ tbody: string;
60
+ tr: string;
61
+ th: string;
62
+ /**
63
+ * Header sort control. A real button so it is tabbable and announced as
64
+ * one; the `<th>` carries `aria-sort` for the state.
65
+ */
66
+ sortButton: string;
67
+ sortIcon: string;
68
+ td: string;
69
+ gutter: string;
70
+ headGutter: string;
71
+ expandButton: string;
72
+ expandedRow: string;
73
+ expandedCell: string;
74
+ /** Message row for "no results", spanning every column. */
75
+ empty: string;
76
+ caption: string;
77
+ }, undefined, {
78
+ striped: {
79
+ true: {
80
+ tr: string;
81
+ };
82
+ };
83
+ hoverable: {
84
+ true: {
85
+ tr: string;
86
+ };
87
+ };
88
+ clickable: {
89
+ true: {
90
+ tr: string;
91
+ };
92
+ };
93
+ stickyHeader: {
94
+ true: {
95
+ th: string;
96
+ };
97
+ };
98
+ selected: {
99
+ true: {
100
+ tr: string;
101
+ };
102
+ };
103
+ size: {
104
+ sm: {
105
+ th: string;
106
+ td: string;
107
+ gutter: string;
108
+ };
109
+ md: {};
110
+ lg: {
111
+ th: string;
112
+ td: string;
113
+ gutter: string;
114
+ };
115
+ };
116
+ align: {
117
+ start: {
118
+ th: string;
119
+ td: string;
120
+ };
121
+ center: {
122
+ th: string;
123
+ td: string;
124
+ };
125
+ end: {
126
+ th: string;
127
+ td: string;
128
+ };
129
+ };
130
+ }, {
131
+ /** Scroll container — the table itself never shrinks below its content. */
132
+ root: string;
133
+ table: string;
134
+ thead: string;
135
+ tbody: string;
136
+ tr: string;
137
+ th: string;
138
+ /**
139
+ * Header sort control. A real button so it is tabbable and announced as
140
+ * one; the `<th>` carries `aria-sort` for the state.
141
+ */
142
+ sortButton: string;
143
+ sortIcon: string;
144
+ td: string;
145
+ gutter: string;
146
+ headGutter: string;
147
+ expandButton: string;
148
+ expandedRow: string;
149
+ expandedCell: string;
150
+ /** Message row for "no results", spanning every column. */
151
+ empty: string;
152
+ caption: string;
153
+ }, import("tailwind-variants").TVReturnType<{
154
+ striped: {
155
+ true: {
156
+ tr: string;
157
+ };
158
+ };
159
+ hoverable: {
160
+ true: {
161
+ tr: string;
162
+ };
163
+ };
164
+ clickable: {
165
+ true: {
166
+ tr: string;
167
+ };
168
+ };
169
+ stickyHeader: {
170
+ true: {
171
+ th: string;
172
+ };
173
+ };
174
+ selected: {
175
+ true: {
176
+ tr: string;
177
+ };
178
+ };
179
+ size: {
180
+ sm: {
181
+ th: string;
182
+ td: string;
183
+ gutter: string;
184
+ };
185
+ md: {};
186
+ lg: {
187
+ th: string;
188
+ td: string;
189
+ gutter: string;
190
+ };
191
+ };
192
+ align: {
193
+ start: {
194
+ th: string;
195
+ td: string;
196
+ };
197
+ center: {
198
+ th: string;
199
+ td: string;
200
+ };
201
+ end: {
202
+ th: string;
203
+ td: string;
204
+ };
205
+ };
206
+ }, {
207
+ /** Scroll container — the table itself never shrinks below its content. */
208
+ root: string;
209
+ table: string;
210
+ thead: string;
211
+ tbody: string;
212
+ tr: string;
213
+ th: string;
214
+ /**
215
+ * Header sort control. A real button so it is tabbable and announced as
216
+ * one; the `<th>` carries `aria-sort` for the state.
217
+ */
218
+ sortButton: string;
219
+ sortIcon: string;
220
+ td: string;
221
+ gutter: string;
222
+ headGutter: string;
223
+ expandButton: string;
224
+ expandedRow: string;
225
+ expandedCell: string;
226
+ /** Message row for "no results", spanning every column. */
227
+ empty: string;
228
+ caption: string;
229
+ }, undefined, unknown, unknown, undefined>>;
230
+ export type TableSlots = keyof ReturnType<typeof tableTheme>;
@@ -1,23 +1,18 @@
1
1
  export declare const toastTheme: import("tailwind-variants").TVReturnType<{
2
2
  variant: {
3
3
  neutral: {
4
- root: string;
5
4
  icon: string;
6
5
  };
7
6
  success: {
8
- root: string;
9
7
  icon: string;
10
8
  };
11
9
  warning: {
12
- root: string;
13
10
  icon: string;
14
11
  };
15
12
  danger: {
16
- root: string;
17
13
  icon: string;
18
14
  };
19
15
  info: {
20
- root: string;
21
16
  icon: string;
22
17
  };
23
18
  };
@@ -59,23 +54,18 @@ export declare const toastTheme: import("tailwind-variants").TVReturnType<{
59
54
  }, undefined, {
60
55
  variant: {
61
56
  neutral: {
62
- root: string;
63
57
  icon: string;
64
58
  };
65
59
  success: {
66
- root: string;
67
60
  icon: string;
68
61
  };
69
62
  warning: {
70
- root: string;
71
63
  icon: string;
72
64
  };
73
65
  danger: {
74
- root: string;
75
66
  icon: string;
76
67
  };
77
68
  info: {
78
- root: string;
79
69
  icon: string;
80
70
  };
81
71
  };
@@ -117,23 +107,18 @@ export declare const toastTheme: import("tailwind-variants").TVReturnType<{
117
107
  }, import("tailwind-variants").TVReturnType<{
118
108
  variant: {
119
109
  neutral: {
120
- root: string;
121
110
  icon: string;
122
111
  };
123
112
  success: {
124
- root: string;
125
113
  icon: string;
126
114
  };
127
115
  warning: {
128
- root: string;
129
116
  icon: string;
130
117
  };
131
118
  danger: {
132
- root: string;
133
119
  icon: string;
134
120
  };
135
121
  info: {
136
- root: string;
137
122
  icon: string;
138
123
  };
139
124
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "iryx-ui",
3
3
  "type": "module",
4
- "version": "0.5.0",
4
+ "version": "0.7.0",
5
5
  "description": "A Vue 3 component library built on Reka UI and Tailwind CSS v4.",
6
6
  "author": "therok1",
7
7
  "license": "MIT",
@@ -47,6 +47,7 @@
47
47
  "dependencies": {
48
48
  "@hugeicons/core-free-icons": "^4.2.3",
49
49
  "@hugeicons/vue": "^1.0.7",
50
+ "@internationalized/date": "^3.12.3",
50
51
  "@nuxt/kit": "^4.4.8",
51
52
  "reka-ui": "^2.9.10",
52
53
  "tailwind-merge": "^3.6.0",
package/theme.css CHANGED
@@ -19,6 +19,15 @@
19
19
  @custom-variant dark (&:where(.dark, .dark *));
20
20
 
21
21
  :root {
22
+ /*
23
+ * Typeface. The library ships no webfont — that would put font files, a
24
+ * licence and a network request in every consumer's bundle whether they
25
+ * wanted them or not. Point this at your own family instead:
26
+ *
27
+ * :root { --iryx-font-sans: "Instrument Sans", sans-serif; }
28
+ */
29
+ --iryx-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
30
+
22
31
  /* Neutral surfaces — shadcn/ui "zinc" palette. */
23
32
  --iryx-background: oklch(1 0 0);
24
33
  --iryx-foreground: oklch(0.145 0 0);
@@ -110,6 +119,7 @@
110
119
  }
111
120
 
112
121
  @theme inline {
122
+ --font-sans: var(--iryx-font-sans);
113
123
  --color-background: var(--iryx-background);
114
124
  --color-foreground: var(--iryx-foreground);
115
125
  --color-primary: var(--iryx-primary);