iryx-ui 0.4.0 → 0.6.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 +293 -10
- package/dist/component-names.d.ts +1 -1
- package/dist/components/Alert.vue.d.ts +19 -4
- package/dist/components/App.vue.d.ts +1 -1
- package/dist/components/Badge.vue.d.ts +4 -3
- package/dist/components/Banner.vue.d.ts +81 -0
- package/dist/components/Combobox.vue.d.ts +112 -0
- package/dist/components/Pagination.vue.d.ts +2 -0
- package/dist/components/Select.vue.d.ts +15 -4
- package/dist/components/Table.vue.d.ts +131 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/composables/data-table.d.ts +93 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +65 -58
- package/dist/node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js +15 -1
- package/dist/nuxt.d.ts +1 -1
- package/dist/packages/iryx-ui/src/component-names.js +1 -1
- package/dist/packages/iryx-ui/src/components/Alert.vue_vue_type_script_setup_true_lang.js +51 -35
- package/dist/packages/iryx-ui/src/components/Badge.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/packages/iryx-ui/src/components/Banner.js +5 -0
- package/dist/packages/iryx-ui/src/components/Banner.vue_vue_type_script_setup_true_lang.js +93 -0
- package/dist/packages/iryx-ui/src/components/Combobox.js +5 -0
- package/dist/packages/iryx-ui/src/components/Combobox.vue_vue_type_script_setup_true_lang.js +284 -0
- package/dist/packages/iryx-ui/src/components/Pagination.vue_vue_type_script_setup_true_lang.js +5 -1
- package/dist/packages/iryx-ui/src/components/Select.vue_vue_type_script_setup_true_lang.js +72 -27
- package/dist/packages/iryx-ui/src/components/Table.js +5 -0
- package/dist/packages/iryx-ui/src/components/Table.vue_vue_type_script_setup_true_lang.js +217 -0
- package/dist/packages/iryx-ui/src/components/index.js +62 -56
- package/dist/packages/iryx-ui/src/composables/data-table.js +106 -0
- package/dist/packages/iryx-ui/src/theme/alert.js +10 -21
- package/dist/packages/iryx-ui/src/theme/badge.js +37 -37
- package/dist/packages/iryx-ui/src/theme/banner.js +62 -0
- package/dist/packages/iryx-ui/src/theme/button.js +2 -2
- package/dist/packages/iryx-ui/src/theme/card.js +1 -1
- package/dist/packages/iryx-ui/src/theme/checkbox.js +1 -1
- package/dist/packages/iryx-ui/src/theme/combobox.js +29 -0
- package/dist/packages/iryx-ui/src/theme/dialog.js +2 -2
- package/dist/packages/iryx-ui/src/theme/dropdown-menu.js +4 -4
- package/dist/packages/iryx-ui/src/theme/input.js +1 -1
- package/dist/packages/iryx-ui/src/theme/number-input.js +1 -1
- package/dist/packages/iryx-ui/src/theme/pagination.js +24 -14
- package/dist/packages/iryx-ui/src/theme/presets.js +0 -42
- package/dist/packages/iryx-ui/src/theme/radio-group.js +1 -1
- package/dist/packages/iryx-ui/src/theme/select.js +5 -3
- package/dist/packages/iryx-ui/src/theme/skeleton.js +1 -1
- package/dist/packages/iryx-ui/src/theme/stat.js +4 -4
- package/dist/packages/iryx-ui/src/theme/stepper.js +1 -1
- package/dist/packages/iryx-ui/src/theme/switch.js +1 -1
- package/dist/packages/iryx-ui/src/theme/table.js +62 -0
- package/dist/packages/iryx-ui/src/theme/tabs.js +3 -3
- package/dist/packages/iryx-ui/src/theme/toast.js +11 -26
- package/dist/packages/iryx-ui/src/theme/tooltip.js +1 -1
- package/dist/plugin.d.ts +1 -1
- package/dist/theme/alert.d.ts +6 -12
- package/dist/theme/badge.d.ts +15 -12
- package/dist/theme/banner.d.ts +185 -0
- package/dist/theme/button.d.ts +2 -2
- package/dist/theme/combobox.d.ts +101 -0
- package/dist/theme/index.d.ts +3 -0
- package/dist/theme/input.d.ts +5 -5
- package/dist/theme/pagination.d.ts +33 -0
- package/dist/theme/presets.d.ts +0 -42
- package/dist/theme/select.d.ts +6 -0
- package/dist/theme/stat.d.ts +0 -3
- package/dist/theme/table.d.ts +230 -0
- package/dist/theme/toast.d.ts +0 -15
- package/package.json +1 -1
- package/theme.css +24 -0
|
@@ -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>;
|
package/dist/theme/toast.d.ts
CHANGED
|
@@ -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
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);
|
|
@@ -27,6 +36,17 @@
|
|
|
27
36
|
--iryx-muted: oklch(0.97 0 0);
|
|
28
37
|
--iryx-muted-foreground: oklch(0.556 0 0);
|
|
29
38
|
--iryx-border: oklch(0.922 0 0);
|
|
39
|
+
/*
|
|
40
|
+
* Fill for controls that read as recessed — the fields and the outline
|
|
41
|
+
* button. Its own token rather than `--iryx-muted`, since how raised a
|
|
42
|
+
* control looks is a separate decision from how a muted surface reads.
|
|
43
|
+
*
|
|
44
|
+
* Flat in light and raised in dark, which is where the lift is legible;
|
|
45
|
+
* shadcn does the same with `bg-transparent dark:bg-input/30`. Expressed as
|
|
46
|
+
* two token values rather than a `dark:` variant, so components never carry
|
|
47
|
+
* mode-specific classes.
|
|
48
|
+
*/
|
|
49
|
+
--iryx-input: oklch(1 0 0);
|
|
30
50
|
/* Brand primary — kept as a violet gradient. */
|
|
31
51
|
--iryx-primary: oklch(0.59 0.2 277.19);
|
|
32
52
|
--iryx-primary-foreground: oklch(0.985 0.005 248);
|
|
@@ -68,6 +88,8 @@
|
|
|
68
88
|
--iryx-muted: oklch(0.269 0 0);
|
|
69
89
|
--iryx-muted-foreground: oklch(0.708 0 0);
|
|
70
90
|
--iryx-border: oklch(1 0 0 / 10%);
|
|
91
|
+
/* Lifted just off the background — `--iryx-muted` reads as a panel here. */
|
|
92
|
+
--iryx-input: oklch(0.205 0 0);
|
|
71
93
|
/* Brand primary — kept as a violet gradient. */
|
|
72
94
|
--iryx-primary: oklch(0.62 0.22 293);
|
|
73
95
|
--iryx-primary-foreground: oklch(0.985 0.005 248);
|
|
@@ -97,6 +119,7 @@
|
|
|
97
119
|
}
|
|
98
120
|
|
|
99
121
|
@theme inline {
|
|
122
|
+
--font-sans: var(--iryx-font-sans);
|
|
100
123
|
--color-background: var(--iryx-background);
|
|
101
124
|
--color-foreground: var(--iryx-foreground);
|
|
102
125
|
--color-primary: var(--iryx-primary);
|
|
@@ -108,6 +131,7 @@
|
|
|
108
131
|
--color-muted: var(--iryx-muted);
|
|
109
132
|
--color-muted-foreground: var(--iryx-muted-foreground);
|
|
110
133
|
--color-border: var(--iryx-border);
|
|
134
|
+
--color-input: var(--iryx-input);
|
|
111
135
|
--color-success: var(--iryx-success);
|
|
112
136
|
--color-success-foreground: var(--iryx-success-foreground);
|
|
113
137
|
--color-success-muted: var(--iryx-success-muted);
|