@zeyos/zx 2.2.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -0
- package/README.md +28 -2
- package/dist/types/components/multi-value-editor/multi-value-editor.d.ts +67 -8
- package/dist/types/components/permission/permission.d.ts +3 -0
- package/dist/types/components/select/select.d.ts +36 -1
- package/dist/types/components/tabbox/tabbox.d.ts +12 -3
- package/dist/zx-compat.esm.js +302 -34
- package/dist/zx-compat.esm.min.js +1 -1
- package/dist/zx-compat.global.js +302 -34
- package/dist/zx-compat.global.min.js +3 -3
- package/dist/zx-zeyos.esm.js +280 -27
- package/dist/zx-zeyos.esm.min.js +1 -1
- package/dist/zx.css +159 -33
- package/dist/zx.esm.js +302 -34
- package/dist/zx.esm.min.js +3 -3
- package/dist/zx.global.js +302 -34
- package/dist/zx.global.min.js +3 -3
- package/dist/zx.min.css +1 -1
- package/docs/api.json +420 -17
- package/docs/llms.md +54 -12
- package/package.json +1 -1
- package/src/components/date-picker/date-range-picker.css +7 -0
- package/src/components/fieldset/fieldset.css +7 -0
- package/src/components/form/form.css +7 -0
- package/src/components/multi-value-editor/multi-value-editor.css +99 -15
- package/src/components/multi-value-editor/multi-value-editor.js +235 -18
- package/src/components/navigation-bar/navigation-bar.css +7 -0
- package/src/components/permission/permission.js +3 -0
- package/src/components/search/search.css +10 -2
- package/src/components/select/select.css +6 -0
- package/src/components/select/select.js +99 -11
- package/src/components/stepper/stepper.css +12 -2
- package/src/components/tabbox/tabbox.css +13 -3
- package/src/components/tabbox/tabbox.js +34 -10
- package/styles/tokens/dark.css +13 -10
- package/styles/tokens/global.css +12 -0
- package/styles/tokens/semantic.css +9 -5
- package/styles/tokens/themes.css +72 -0
- package/styles/zx.css +1 -0
package/dist/zx.css
CHANGED
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
--zx-green-500: #009966;
|
|
19
19
|
--zx-green-600: #007a55;
|
|
20
20
|
--zx-green-700: #006045;
|
|
21
|
+
--zx-accent-300: var(--zx-green-300);
|
|
22
|
+
--zx-accent-400: var(--zx-green-400);
|
|
23
|
+
--zx-accent-500: var(--zx-green-500);
|
|
24
|
+
--zx-accent-600: var(--zx-green-600);
|
|
25
|
+
--zx-accent-700: var(--zx-green-700);
|
|
21
26
|
--zx-red-400: #ff6467;
|
|
22
27
|
--zx-red-500: #e7000b;
|
|
23
28
|
--zx-red-600: #c10007;
|
|
@@ -75,6 +80,50 @@
|
|
|
75
80
|
--zx-ease: cubic-bezier(.2, .6, .3, 1);
|
|
76
81
|
}
|
|
77
82
|
|
|
83
|
+
/* styles/tokens/themes.css */
|
|
84
|
+
[data-zx-preset=zx] {
|
|
85
|
+
--zx-accent-300: #5ee9b5;
|
|
86
|
+
--zx-accent-400: #21cc75;
|
|
87
|
+
--zx-accent-500: #009966;
|
|
88
|
+
--zx-accent-600: #007a55;
|
|
89
|
+
--zx-accent-700: #006045;
|
|
90
|
+
}
|
|
91
|
+
[data-zx-preset=zeyos] {
|
|
92
|
+
--zx-accent-300: #ffd9a8;
|
|
93
|
+
--zx-accent-400: #f7bc60;
|
|
94
|
+
--zx-accent-500: #d0952f;
|
|
95
|
+
--zx-accent-600: #96690f;
|
|
96
|
+
--zx-accent-700: #6f4e0b;
|
|
97
|
+
}
|
|
98
|
+
[data-zx-preset=ocean] {
|
|
99
|
+
--zx-accent-300: #8ec5ff;
|
|
100
|
+
--zx-accent-400: #51a2ff;
|
|
101
|
+
--zx-accent-500: #2b7fff;
|
|
102
|
+
--zx-accent-600: #155dfc;
|
|
103
|
+
--zx-accent-700: #1447e6;
|
|
104
|
+
}
|
|
105
|
+
[data-zx-preset=violet] {
|
|
106
|
+
--zx-accent-300: #c4b4ff;
|
|
107
|
+
--zx-accent-400: #a684ff;
|
|
108
|
+
--zx-accent-500: #8e51ff;
|
|
109
|
+
--zx-accent-600: #7f22fe;
|
|
110
|
+
--zx-accent-700: #7008e7;
|
|
111
|
+
}
|
|
112
|
+
[data-zx-preset=rose] {
|
|
113
|
+
--zx-accent-300: #ffa1ad;
|
|
114
|
+
--zx-accent-400: #ff637e;
|
|
115
|
+
--zx-accent-500: #ff2056;
|
|
116
|
+
--zx-accent-600: #dc0039;
|
|
117
|
+
--zx-accent-700: #a80030;
|
|
118
|
+
}
|
|
119
|
+
[data-zx-preset=slate] {
|
|
120
|
+
--zx-accent-300: #cad5e2;
|
|
121
|
+
--zx-accent-400: #90a1b9;
|
|
122
|
+
--zx-accent-500: #62748e;
|
|
123
|
+
--zx-accent-600: #45556c;
|
|
124
|
+
--zx-accent-700: #314158;
|
|
125
|
+
}
|
|
126
|
+
|
|
78
127
|
/* styles/tokens/semantic.css */
|
|
79
128
|
:root,
|
|
80
129
|
[data-zx-theme=light] {
|
|
@@ -85,7 +134,7 @@
|
|
|
85
134
|
--zx-color-bg-control: var(--zx-gray-0);
|
|
86
135
|
--zx-color-bg-muted: var(--zx-gray-100);
|
|
87
136
|
--zx-color-bg-hover: var(--zx-gray-100);
|
|
88
|
-
--zx-color-bg-selected: color-mix(in srgb, var(--zx-
|
|
137
|
+
--zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-600) 10%, var(--zx-gray-0));
|
|
89
138
|
--zx-color-bg-backdrop: color-mix(in srgb, var(--zx-gray-950) 50%, transparent);
|
|
90
139
|
--zx-color-border: var(--zx-gray-200);
|
|
91
140
|
--zx-color-border-strong: var(--zx-gray-300);
|
|
@@ -94,10 +143,10 @@
|
|
|
94
143
|
--zx-color-text-muted: var(--zx-gray-500);
|
|
95
144
|
--zx-color-text-placeholder: var(--zx-gray-400);
|
|
96
145
|
--zx-color-text-invert: var(--zx-gray-50);
|
|
97
|
-
--zx-color-accent: var(--zx-
|
|
98
|
-
--zx-color-accent-hover: var(--zx-
|
|
99
|
-
--zx-color-accent-active: var(--zx-
|
|
100
|
-
--zx-color-accent-subtle: color-mix(in srgb, var(--zx-
|
|
146
|
+
--zx-color-accent: var(--zx-accent-600);
|
|
147
|
+
--zx-color-accent-hover: var(--zx-accent-700);
|
|
148
|
+
--zx-color-accent-active: var(--zx-accent-700);
|
|
149
|
+
--zx-color-accent-subtle: color-mix(in srgb, var(--zx-accent-600) 10%, var(--zx-gray-0));
|
|
101
150
|
--zx-color-on-accent: var(--zx-gray-0);
|
|
102
151
|
--zx-color-danger: var(--zx-red-500);
|
|
103
152
|
--zx-color-danger-bg: color-mix(in srgb, var(--zx-red-500) 10%, var(--zx-gray-0));
|
|
@@ -128,7 +177,7 @@
|
|
|
128
177
|
--zx-color-bg-control: color-mix(in srgb, var(--zx-gray-0) 5%, transparent);
|
|
129
178
|
--zx-color-bg-muted: var(--zx-gray-800);
|
|
130
179
|
--zx-color-bg-hover: color-mix(in srgb, var(--zx-gray-0) 8%, transparent);
|
|
131
|
-
--zx-color-bg-selected: color-mix(in srgb, var(--zx-
|
|
180
|
+
--zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-400) 18%, var(--zx-gray-900));
|
|
132
181
|
--zx-color-bg-backdrop: color-mix(in srgb, var(--zx-gray-950) 75%, transparent);
|
|
133
182
|
--zx-color-border: color-mix(in srgb, var(--zx-gray-0) 10%, transparent);
|
|
134
183
|
--zx-color-border-strong: color-mix(in srgb, var(--zx-gray-0) 28%, transparent);
|
|
@@ -137,10 +186,10 @@
|
|
|
137
186
|
--zx-color-text-muted: var(--zx-gray-400);
|
|
138
187
|
--zx-color-text-placeholder: var(--zx-gray-500);
|
|
139
188
|
--zx-color-text-invert: var(--zx-gray-950);
|
|
140
|
-
--zx-color-accent: var(--zx-
|
|
141
|
-
--zx-color-accent-hover: var(--zx-
|
|
142
|
-
--zx-color-accent-active: var(--zx-
|
|
143
|
-
--zx-color-accent-subtle: color-mix(in srgb, var(--zx-
|
|
189
|
+
--zx-color-accent: var(--zx-accent-400);
|
|
190
|
+
--zx-color-accent-hover: var(--zx-accent-300);
|
|
191
|
+
--zx-color-accent-active: var(--zx-accent-500);
|
|
192
|
+
--zx-color-accent-subtle: color-mix(in srgb, var(--zx-accent-400) 16%, var(--zx-gray-900));
|
|
144
193
|
--zx-color-on-accent: var(--zx-gray-950);
|
|
145
194
|
--zx-color-danger: var(--zx-red-400);
|
|
146
195
|
--zx-color-danger-bg: color-mix(in srgb, var(--zx-red-400) 16%, var(--zx-gray-900));
|
|
@@ -165,7 +214,7 @@
|
|
|
165
214
|
--zx-color-bg-control: color-mix(in srgb, var(--zx-gray-0) 5%, transparent);
|
|
166
215
|
--zx-color-bg-muted: var(--zx-gray-800);
|
|
167
216
|
--zx-color-bg-hover: color-mix(in srgb, var(--zx-gray-0) 8%, transparent);
|
|
168
|
-
--zx-color-bg-selected: color-mix(in srgb, var(--zx-
|
|
217
|
+
--zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-400) 18%, var(--zx-gray-900));
|
|
169
218
|
--zx-color-bg-backdrop: color-mix(in srgb, var(--zx-gray-950) 75%, transparent);
|
|
170
219
|
--zx-color-border: color-mix(in srgb, var(--zx-gray-0) 10%, transparent);
|
|
171
220
|
--zx-color-border-strong: color-mix(in srgb, var(--zx-gray-0) 28%, transparent);
|
|
@@ -174,10 +223,10 @@
|
|
|
174
223
|
--zx-color-text-muted: var(--zx-gray-400);
|
|
175
224
|
--zx-color-text-placeholder: var(--zx-gray-500);
|
|
176
225
|
--zx-color-text-invert: var(--zx-gray-950);
|
|
177
|
-
--zx-color-accent: var(--zx-
|
|
178
|
-
--zx-color-accent-hover: var(--zx-
|
|
179
|
-
--zx-color-accent-active: var(--zx-
|
|
180
|
-
--zx-color-accent-subtle: color-mix(in srgb, var(--zx-
|
|
226
|
+
--zx-color-accent: var(--zx-accent-400);
|
|
227
|
+
--zx-color-accent-hover: var(--zx-accent-300);
|
|
228
|
+
--zx-color-accent-active: var(--zx-accent-500);
|
|
229
|
+
--zx-color-accent-subtle: color-mix(in srgb, var(--zx-accent-400) 16%, var(--zx-gray-900));
|
|
181
230
|
--zx-color-on-accent: var(--zx-gray-950);
|
|
182
231
|
--zx-color-danger: var(--zx-red-400);
|
|
183
232
|
--zx-color-danger-bg: color-mix(in srgb, var(--zx-red-400) 16%, var(--zx-gray-900));
|
|
@@ -1670,9 +1719,13 @@ button.zx-panel__toggle:focus-visible {
|
|
|
1670
1719
|
line-height: 1.25rem;
|
|
1671
1720
|
text-align: center;
|
|
1672
1721
|
}
|
|
1673
|
-
.zx-tabbox__close {
|
|
1674
|
-
|
|
1675
|
-
|
|
1722
|
+
.zx-tabbox .zx-tabbox__close {
|
|
1723
|
+
inline-size: 1.5rem;
|
|
1724
|
+
block-size: 1.5rem;
|
|
1725
|
+
margin-inline: calc(-1 * var(--zx-space-1));
|
|
1726
|
+
}
|
|
1727
|
+
.zx-tabbox .zx-tabbox__close:hover {
|
|
1728
|
+
background: color-mix(in srgb, var(--zx-color-text) 12%, transparent);
|
|
1676
1729
|
}
|
|
1677
1730
|
.zx-tabbox__panel {
|
|
1678
1731
|
padding-block-start: var(--zx-space-4);
|
|
@@ -1698,6 +1751,7 @@ button.zx-panel__toggle:focus-visible {
|
|
|
1698
1751
|
.zx-navigation-bar {
|
|
1699
1752
|
min-inline-size: 0;
|
|
1700
1753
|
container-type: inline-size;
|
|
1754
|
+
inline-size: 100%;
|
|
1701
1755
|
}
|
|
1702
1756
|
.zx-navigation-bar__bar {
|
|
1703
1757
|
display: flex;
|
|
@@ -1827,10 +1881,12 @@ button.zx-panel__toggle:focus-visible {
|
|
|
1827
1881
|
background: none;
|
|
1828
1882
|
padding-inline: var(--zx-control-pad-x) var(--zx-control-height);
|
|
1829
1883
|
}
|
|
1830
|
-
.zx-search__input:focus-visible
|
|
1884
|
+
.zx-search__input:focus-visible {
|
|
1885
|
+
box-shadow: none;
|
|
1886
|
+
}
|
|
1831
1887
|
.zx-search__clear:focus-visible,
|
|
1832
1888
|
.zx-search__submit:focus-visible {
|
|
1833
|
-
box-shadow: var(--zx-focus-ring);
|
|
1889
|
+
box-shadow: inset var(--zx-focus-ring);
|
|
1834
1890
|
}
|
|
1835
1891
|
.zx-search__input::-webkit-search-cancel-button {
|
|
1836
1892
|
appearance: none;
|
|
@@ -2437,6 +2493,11 @@ body:has(> .zx-modal[open]) {
|
|
|
2437
2493
|
padding: var(--zx-space-2) var(--zx-control-pad-x) var(--zx-space-1);
|
|
2438
2494
|
text-transform: uppercase;
|
|
2439
2495
|
}
|
|
2496
|
+
.zx-select__separator {
|
|
2497
|
+
block-size: 1px;
|
|
2498
|
+
margin: var(--zx-space-1) var(--zx-control-pad-x);
|
|
2499
|
+
background: var(--zx-color-border);
|
|
2500
|
+
}
|
|
2440
2501
|
.zx-select__empty {
|
|
2441
2502
|
color: var(--zx-color-text-muted);
|
|
2442
2503
|
padding: var(--zx-space-3) var(--zx-control-pad-x);
|
|
@@ -3419,6 +3480,7 @@ body:has(> .zx-modal[open]) {
|
|
|
3419
3480
|
.zx-date-range-picker {
|
|
3420
3481
|
display: block;
|
|
3421
3482
|
container-type: inline-size;
|
|
3483
|
+
inline-size: 100%;
|
|
3422
3484
|
color: var(--zx-color-text);
|
|
3423
3485
|
font-size: var(--zx-control-font-size);
|
|
3424
3486
|
}
|
|
@@ -4474,6 +4536,12 @@ button.zx-stepper__control:disabled {
|
|
|
4474
4536
|
flex: 0 1 auto;
|
|
4475
4537
|
gap: var(--zx-space-2);
|
|
4476
4538
|
}
|
|
4539
|
+
.zx-stepper[data-orientation=horizontal] .zx-stepper__step:not(:last-child) {
|
|
4540
|
+
flex: 1 1 auto;
|
|
4541
|
+
}
|
|
4542
|
+
.zx-stepper[data-orientation=horizontal] .zx-stepper__control {
|
|
4543
|
+
flex: 0 1 auto;
|
|
4544
|
+
}
|
|
4477
4545
|
.zx-stepper[data-orientation=horizontal] .zx-stepper__step:not(:last-child)::after {
|
|
4478
4546
|
content: "";
|
|
4479
4547
|
flex: 1 1 var(--zx-space-6);
|
|
@@ -4717,6 +4785,7 @@ button.zx-stepper__control:disabled {
|
|
|
4717
4785
|
border-radius: var(--zx-radius-lg);
|
|
4718
4786
|
background: var(--zx-color-bg-surface);
|
|
4719
4787
|
container-type: inline-size;
|
|
4788
|
+
inline-size: 100%;
|
|
4720
4789
|
}
|
|
4721
4790
|
.zx-fieldset__legend {
|
|
4722
4791
|
padding-inline: var(--zx-space-2);
|
|
@@ -4749,6 +4818,9 @@ button.zx-stepper__control:disabled {
|
|
|
4749
4818
|
gap: var(--zx-space-5);
|
|
4750
4819
|
min-inline-size: 0;
|
|
4751
4820
|
}
|
|
4821
|
+
.zx-form {
|
|
4822
|
+
inline-size: 100%;
|
|
4823
|
+
}
|
|
4752
4824
|
.zx-form__actions {
|
|
4753
4825
|
display: flex;
|
|
4754
4826
|
flex-wrap: wrap;
|
|
@@ -4870,49 +4942,103 @@ button.zx-stepper__control:disabled {
|
|
|
4870
4942
|
display: grid;
|
|
4871
4943
|
gap: var(--zx-space-3);
|
|
4872
4944
|
min-inline-size: 0;
|
|
4945
|
+
inline-size: 100%;
|
|
4873
4946
|
padding: var(--zx-space-3);
|
|
4874
4947
|
border: 1px solid var(--zx-color-border);
|
|
4875
4948
|
border-radius: var(--zx-radius-lg);
|
|
4876
4949
|
background: var(--zx-color-bg-surface);
|
|
4877
|
-
container-type: inline-size;
|
|
4878
4950
|
}
|
|
4879
4951
|
.zx-multi-value-editor__rows {
|
|
4880
4952
|
display: grid;
|
|
4881
4953
|
gap: var(--zx-space-2);
|
|
4882
4954
|
}
|
|
4883
4955
|
.zx-multi-value-editor__row {
|
|
4884
|
-
|
|
4885
|
-
|
|
4956
|
+
position: relative;
|
|
4957
|
+
display: flex;
|
|
4958
|
+
flex-wrap: wrap;
|
|
4959
|
+
min-inline-size: 0;
|
|
4886
4960
|
gap: var(--zx-space-2);
|
|
4887
4961
|
align-items: center;
|
|
4888
4962
|
}
|
|
4889
4963
|
.zx-multi-value-editor__value {
|
|
4890
|
-
|
|
4964
|
+
flex: 1 1 11rem;
|
|
4965
|
+
min-inline-size: 0;
|
|
4891
4966
|
}
|
|
4892
4967
|
.zx-multi-value-editor__controls {
|
|
4893
4968
|
display: inline-flex;
|
|
4969
|
+
flex: 0 1 auto;
|
|
4970
|
+
flex-wrap: wrap;
|
|
4971
|
+
min-inline-size: 0;
|
|
4894
4972
|
gap: var(--zx-space-1);
|
|
4973
|
+
margin-inline-start: auto;
|
|
4895
4974
|
}
|
|
4896
4975
|
.zx-multi-value-editor__controls .zx-btn {
|
|
4897
4976
|
min-inline-size: var(--zx-control-height);
|
|
4898
4977
|
padding-inline: var(--zx-space-2);
|
|
4899
4978
|
}
|
|
4900
|
-
.zx-multi-value-editor__controls .zx-btn
|
|
4979
|
+
.zx-multi-value-editor__controls .zx-btn[data-action=remove] {
|
|
4901
4980
|
color: var(--zx-color-danger);
|
|
4902
4981
|
}
|
|
4982
|
+
.zx-multi-value-editor__controls .zx-btn[aria-disabled=true] {
|
|
4983
|
+
opacity: 0.55;
|
|
4984
|
+
cursor: not-allowed;
|
|
4985
|
+
}
|
|
4986
|
+
.zx-multi-value-editor__controls .zx-btn[aria-disabled=true]:hover {
|
|
4987
|
+
background: var(--zx-color-bg-control);
|
|
4988
|
+
}
|
|
4989
|
+
.zx-multi-value-editor__handle {
|
|
4990
|
+
display: inline-flex;
|
|
4991
|
+
flex: none;
|
|
4992
|
+
align-items: center;
|
|
4993
|
+
justify-content: center;
|
|
4994
|
+
min-block-size: var(--zx-control-height);
|
|
4995
|
+
min-inline-size: var(--zx-space-6);
|
|
4996
|
+
padding: 0;
|
|
4997
|
+
border: 0;
|
|
4998
|
+
border-radius: var(--zx-control-radius);
|
|
4999
|
+
background: none;
|
|
5000
|
+
color: var(--zx-color-text-muted);
|
|
5001
|
+
cursor: grab;
|
|
5002
|
+
touch-action: none;
|
|
5003
|
+
transition: color var(--zx-dur-fast) var(--zx-ease), background-color var(--zx-dur-fast) var(--zx-ease);
|
|
5004
|
+
}
|
|
5005
|
+
.zx-multi-value-editor__handle:hover:not(:disabled) {
|
|
5006
|
+
background: var(--zx-color-bg-hover);
|
|
5007
|
+
color: var(--zx-color-text);
|
|
5008
|
+
}
|
|
5009
|
+
.zx-multi-value-editor__handle:focus-visible {
|
|
5010
|
+
outline: none;
|
|
5011
|
+
box-shadow: var(--zx-focus-ring);
|
|
5012
|
+
}
|
|
5013
|
+
.zx-multi-value-editor__handle:disabled {
|
|
5014
|
+
opacity: 0.55;
|
|
5015
|
+
cursor: default;
|
|
5016
|
+
}
|
|
5017
|
+
.zx-multi-value-editor[data-state=dragging] .zx-multi-value-editor__handle {
|
|
5018
|
+
cursor: grabbing;
|
|
5019
|
+
}
|
|
5020
|
+
.zx-multi-value-editor__row[data-dragging=true] {
|
|
5021
|
+
opacity: 0.45;
|
|
5022
|
+
}
|
|
5023
|
+
.zx-multi-value-editor__row[data-drop]::after {
|
|
5024
|
+
content: "";
|
|
5025
|
+
position: absolute;
|
|
5026
|
+
inset-inline: 0;
|
|
5027
|
+
block-size: 2px;
|
|
5028
|
+
border-radius: var(--zx-radius-full);
|
|
5029
|
+
background: var(--zx-color-accent);
|
|
5030
|
+
}
|
|
5031
|
+
.zx-multi-value-editor__row[data-drop=before]::after {
|
|
5032
|
+
inset-block-start: calc(var(--zx-space-2) / -2 - 1px);
|
|
5033
|
+
}
|
|
5034
|
+
.zx-multi-value-editor__row[data-drop=after]::after {
|
|
5035
|
+
inset-block-end: calc(var(--zx-space-2) / -2 - 1px);
|
|
5036
|
+
}
|
|
4903
5037
|
.zx-multi-value-editor__add {
|
|
4904
5038
|
justify-self: start;
|
|
4905
5039
|
border-color: var(--zx-color-accent);
|
|
4906
5040
|
color: var(--zx-color-accent);
|
|
4907
5041
|
}
|
|
4908
|
-
@container (max-width: 24rem) {
|
|
4909
|
-
.zx-multi-value-editor__row {
|
|
4910
|
-
grid-template-columns: minmax(0, 1fr);
|
|
4911
|
-
}
|
|
4912
|
-
.zx-multi-value-editor__controls {
|
|
4913
|
-
justify-self: end;
|
|
4914
|
-
}
|
|
4915
|
-
}
|
|
4916
5042
|
|
|
4917
5043
|
/* src/components/field-upload/field-upload.css */
|
|
4918
5044
|
.zx-field-upload {
|