@zeyos/zx 4.0.0 → 4.1.1
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 +61 -0
- package/DESIGN-SYSTEM.md +59 -3
- package/dist/types/components/app-icon/app-icon.d.ts +88 -0
- package/dist/types/components/filter/filter-model.d.ts +87 -0
- package/dist/types/components/filter/filter.d.ts +331 -0
- package/dist/types/components/select/select.d.ts +46 -4
- package/dist/types/components/table/table.d.ts +103 -0
- package/dist/types/components/tag-picker/tag-picker.d.ts +16 -0
- package/dist/types/core/dom.d.ts +1 -1
- package/dist/types/core/util.d.ts +9 -0
- package/dist/types/index.d.ts +4 -1
- package/dist/types/zeyos/icons.d.ts +21 -4
- package/dist/types/zeyos/index.d.ts +1 -1
- package/dist/types/zeyos/select.d.ts +2 -0
- package/dist/zx-zeyos.esm.js +703 -75
- package/dist/zx-zeyos.esm.min.js +1 -1
- package/dist/zx.css +564 -9
- package/dist/zx.esm.js +1569 -115
- package/dist/zx.esm.min.js +3 -3
- package/dist/zx.global.js +1569 -115
- package/dist/zx.global.min.js +3 -3
- package/dist/zx.min.css +1 -1
- package/docs/api.json +379 -0
- package/docs/llms.md +97 -18
- package/docs/llms.txt +11 -9
- package/package.json +1 -1
- package/src/components/app-icon/app-icon.css +189 -0
- package/src/components/app-icon/app-icon.js +137 -0
- package/src/components/button/button.css +34 -2
- package/src/components/card/card.css +25 -3
- package/src/components/filter/filter-model.js +226 -0
- package/src/components/filter/filter.css +147 -0
- package/src/components/filter/filter.js +554 -0
- package/src/components/grid/grid.css +1 -1
- package/src/components/grid/grid.js +4 -1
- package/src/components/message/message.css +40 -3
- package/src/components/select/select.css +17 -0
- package/src/components/select/select.js +105 -24
- package/src/components/table/table.css +85 -0
- package/src/components/table/table.js +418 -24
- package/src/components/tag-picker/tag-picker.css +19 -0
- package/src/components/tag-picker/tag-picker.js +42 -5
- package/src/core/dom.js +1 -1
- package/src/core/util.js +20 -0
- package/src/index.js +7 -1
- package/src/zeyos/icons.js +37 -24
- package/src/zeyos/index.js +1 -1
- package/src/zeyos/select.js +6 -5
- package/styles/tokens/semantic.css +17 -0
- package/styles/tokens/themes.css +2 -2
- package/styles/zx.css +2 -0
package/dist/zx.css
CHANGED
|
@@ -143,6 +143,8 @@
|
|
|
143
143
|
--zx-color-text-muted: var(--zx-gray-500);
|
|
144
144
|
--zx-color-text-placeholder: var(--zx-gray-400);
|
|
145
145
|
--zx-color-text-invert: var(--zx-gray-50);
|
|
146
|
+
--zx-color-app-icon-glyph: var(--zx-gray-0);
|
|
147
|
+
--zx-color-app-icon-shade: var(--zx-gray-950);
|
|
146
148
|
--zx-color-accent: var(--zx-accent-600);
|
|
147
149
|
--zx-color-accent-hover: var(--zx-accent-700);
|
|
148
150
|
--zx-color-accent-active: var(--zx-accent-700);
|
|
@@ -165,6 +167,27 @@
|
|
|
165
167
|
--zx-control-font-weight: 500;
|
|
166
168
|
--zx-overlay-shadow: var(--zx-shadow-3);
|
|
167
169
|
--zx-overlay-blur: 8px;
|
|
170
|
+
--zx-color-glass-border: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
|
|
171
|
+
--zx-color-glass-highlight: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
|
|
172
|
+
--zx-color-glass-highlight-strong: color-mix(in srgb, var(--zx-gray-0) 38%, transparent);
|
|
173
|
+
--zx-color-app-icon-depth: color-mix(in srgb, var(--zx-color-app-icon-shade) 26%, transparent);
|
|
174
|
+
--zx-color-glass-surface: color-mix(in srgb, var(--zx-color-bg-raised) 78%, transparent);
|
|
175
|
+
--zx-color-glass-control: color-mix(in srgb, var(--zx-color-bg-control) 88%, transparent);
|
|
176
|
+
--zx-color-glass-control-hover: color-mix(in srgb, var(--zx-color-bg-hover) 76%, var(--zx-color-glass-surface));
|
|
177
|
+
--zx-glass-blur: 8px;
|
|
178
|
+
--zx-glass-saturation: 130%;
|
|
179
|
+
--zx-glass-color-strength: 82%;
|
|
180
|
+
--zx-app-icon-shadow:
|
|
181
|
+
inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 28%, transparent),
|
|
182
|
+
inset 0 -1px 0 color-mix(in srgb, var(--zx-gray-950) 16%, transparent),
|
|
183
|
+
0 5px 14px color-mix(in srgb, var(--zx-color-app-icon-shade) 28%, transparent);
|
|
184
|
+
--zx-app-icon-shadow-hover:
|
|
185
|
+
inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 40%, transparent),
|
|
186
|
+
inset 0 -1px 0 color-mix(in srgb, var(--zx-gray-950) 20%, transparent),
|
|
187
|
+
0 9px 22px color-mix(in srgb, var(--zx-color-app-icon-shade) 36%, transparent);
|
|
188
|
+
--zx-glass-control-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-shadow-1);
|
|
189
|
+
--zx-glass-raised-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-overlay-shadow);
|
|
190
|
+
--zx-glass-glyph-shadow: 0 1px 2px color-mix(in srgb, var(--zx-gray-950) 58%, transparent);
|
|
168
191
|
--zx-header-bg: var(--zx-gray-900);
|
|
169
192
|
--zx-header-text: var(--zx-gray-50);
|
|
170
193
|
}
|
|
@@ -496,7 +519,7 @@ svg.zx-icon {
|
|
|
496
519
|
min-block-size: var(--zx-control-height);
|
|
497
520
|
border: 1px solid var(--zx-color-border-control);
|
|
498
521
|
border-radius: var(--zx-button-radius, var(--zx-control-radius));
|
|
499
|
-
background: var(--zx-color-
|
|
522
|
+
background: var(--zx-color-glass-control);
|
|
500
523
|
color: var(--zx-color-text);
|
|
501
524
|
padding-inline: var(--zx-control-pad-x);
|
|
502
525
|
font: inherit;
|
|
@@ -504,6 +527,9 @@ svg.zx-icon {
|
|
|
504
527
|
font-weight: var(--zx-control-font-weight);
|
|
505
528
|
line-height: 1;
|
|
506
529
|
cursor: pointer;
|
|
530
|
+
-webkit-backdrop-filter: blur(var(--zx-glass-blur)) saturate(var(--zx-glass-saturation));
|
|
531
|
+
backdrop-filter: blur(var(--zx-glass-blur)) saturate(var(--zx-glass-saturation));
|
|
532
|
+
box-shadow: var(--zx-glass-control-shadow);
|
|
507
533
|
transition:
|
|
508
534
|
color var(--zx-dur-fast) var(--zx-ease),
|
|
509
535
|
background-color var(--zx-dur-fast) var(--zx-ease),
|
|
@@ -511,7 +537,7 @@ svg.zx-icon {
|
|
|
511
537
|
box-shadow var(--zx-dur-fast) var(--zx-ease);
|
|
512
538
|
}
|
|
513
539
|
.zx-btn:hover:not(:disabled) {
|
|
514
|
-
background: var(--zx-color-
|
|
540
|
+
background: var(--zx-color-glass-control-hover);
|
|
515
541
|
}
|
|
516
542
|
.zx-btn:active:not(:disabled) {
|
|
517
543
|
border-color: var(--zx-color-border-strong);
|
|
@@ -547,6 +573,9 @@ svg.zx-icon {
|
|
|
547
573
|
.zx-btn[data-kind=ghost] {
|
|
548
574
|
border-color: transparent;
|
|
549
575
|
background: none;
|
|
576
|
+
-webkit-backdrop-filter: none;
|
|
577
|
+
backdrop-filter: none;
|
|
578
|
+
box-shadow: none;
|
|
550
579
|
}
|
|
551
580
|
.zx-btn[data-kind=ghost]:hover:not(:disabled) {
|
|
552
581
|
border-color: transparent;
|
|
@@ -575,6 +604,29 @@ svg.zx-icon {
|
|
|
575
604
|
.zx-btn-group > .zx-btn:focus-visible {
|
|
576
605
|
z-index: 1;
|
|
577
606
|
}
|
|
607
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
608
|
+
.zx-btn {
|
|
609
|
+
background: var(--zx-color-bg-control);
|
|
610
|
+
-webkit-backdrop-filter: none;
|
|
611
|
+
backdrop-filter: none;
|
|
612
|
+
box-shadow: none;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
@media (forced-colors: active) {
|
|
616
|
+
.zx-btn {
|
|
617
|
+
border-color: ButtonText;
|
|
618
|
+
background: ButtonFace;
|
|
619
|
+
color: ButtonText;
|
|
620
|
+
box-shadow: none;
|
|
621
|
+
-webkit-backdrop-filter: none;
|
|
622
|
+
backdrop-filter: none;
|
|
623
|
+
}
|
|
624
|
+
.zx-btn[data-kind=primary] {
|
|
625
|
+
border-color: Highlight;
|
|
626
|
+
background: Highlight;
|
|
627
|
+
color: HighlightText;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
578
630
|
|
|
579
631
|
/* src/components/badge/badge.css */
|
|
580
632
|
.zx-badge {
|
|
@@ -1407,14 +1459,34 @@ svg.zx-icon {
|
|
|
1407
1459
|
background: var(--zx-color-bg-surface);
|
|
1408
1460
|
}
|
|
1409
1461
|
.zx-card[data-variant=raised] {
|
|
1410
|
-
border: 1px solid
|
|
1411
|
-
background: var(--zx-color-
|
|
1412
|
-
|
|
1462
|
+
border: 1px solid var(--zx-color-glass-border);
|
|
1463
|
+
background: var(--zx-color-glass-surface);
|
|
1464
|
+
-webkit-backdrop-filter: blur(var(--zx-glass-blur)) saturate(var(--zx-glass-saturation));
|
|
1465
|
+
backdrop-filter: blur(var(--zx-glass-blur)) saturate(var(--zx-glass-saturation));
|
|
1466
|
+
box-shadow: var(--zx-glass-raised-shadow);
|
|
1413
1467
|
}
|
|
1414
1468
|
.zx-card[data-variant=filled] {
|
|
1415
1469
|
border: 1px solid transparent;
|
|
1416
1470
|
background: var(--zx-color-bg-muted);
|
|
1417
1471
|
}
|
|
1472
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
1473
|
+
.zx-card[data-variant=raised] {
|
|
1474
|
+
border-color: var(--zx-color-border);
|
|
1475
|
+
background: var(--zx-color-bg-surface);
|
|
1476
|
+
-webkit-backdrop-filter: none;
|
|
1477
|
+
backdrop-filter: none;
|
|
1478
|
+
box-shadow: var(--zx-overlay-shadow);
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
@media (forced-colors: active) {
|
|
1482
|
+
.zx-card[data-variant=raised] {
|
|
1483
|
+
border-color: ButtonText;
|
|
1484
|
+
background: Canvas;
|
|
1485
|
+
box-shadow: none;
|
|
1486
|
+
-webkit-backdrop-filter: none;
|
|
1487
|
+
backdrop-filter: none;
|
|
1488
|
+
}
|
|
1489
|
+
}
|
|
1418
1490
|
.zx-card[data-linked=true]:hover {
|
|
1419
1491
|
background: var(--zx-color-bg-hover);
|
|
1420
1492
|
}
|
|
@@ -2051,6 +2123,193 @@ button.zx-panel__toggle:focus-visible {
|
|
|
2051
2123
|
display: none;
|
|
2052
2124
|
}
|
|
2053
2125
|
|
|
2126
|
+
/* src/components/app-icon/app-icon.css */
|
|
2127
|
+
.zx-app-icon {
|
|
2128
|
+
--zx-app-icon-size: 36px;
|
|
2129
|
+
--zx-app-icon-glyph-size: 52%;
|
|
2130
|
+
--zx-app-icon-color: var(--zx-color-accent);
|
|
2131
|
+
position: relative;
|
|
2132
|
+
isolation: isolate;
|
|
2133
|
+
display: inline-grid;
|
|
2134
|
+
place-items: center;
|
|
2135
|
+
flex: none;
|
|
2136
|
+
inline-size: var(--zx-app-icon-size);
|
|
2137
|
+
block-size: var(--zx-app-icon-size);
|
|
2138
|
+
overflow: hidden;
|
|
2139
|
+
border: 1px solid var(--zx-color-glass-border);
|
|
2140
|
+
border-radius: max(var(--zx-radius-sm), calc(var(--zx-app-icon-size) * .12));
|
|
2141
|
+
background: var(--zx-app-icon-color);
|
|
2142
|
+
box-shadow: var(--zx-app-icon-shadow);
|
|
2143
|
+
color: var(--zx-app-icon-glyph, var(--zx-color-app-icon-glyph));
|
|
2144
|
+
font-size: var(--zx-app-icon-size);
|
|
2145
|
+
vertical-align: middle;
|
|
2146
|
+
transform: translateZ(0);
|
|
2147
|
+
}
|
|
2148
|
+
.zx-app-icon[data-glass=subtle],
|
|
2149
|
+
.zx-app-icon[data-glass=strong] {
|
|
2150
|
+
background:
|
|
2151
|
+
linear-gradient(
|
|
2152
|
+
145deg,
|
|
2153
|
+
var(--zx-color-glass-highlight-strong),
|
|
2154
|
+
transparent 38%),
|
|
2155
|
+
linear-gradient(
|
|
2156
|
+
to bottom right,
|
|
2157
|
+
transparent 42%,
|
|
2158
|
+
var(--zx-color-app-icon-depth)),
|
|
2159
|
+
color-mix(in srgb, var(--zx-app-icon-color) var(--zx-glass-color-strength), transparent);
|
|
2160
|
+
-webkit-backdrop-filter: blur(calc(var(--zx-glass-blur) * .55)) saturate(var(--zx-glass-saturation));
|
|
2161
|
+
backdrop-filter: blur(calc(var(--zx-glass-blur) * .55)) saturate(var(--zx-glass-saturation));
|
|
2162
|
+
}
|
|
2163
|
+
.zx-app-icon[data-glass=strong] {
|
|
2164
|
+
-webkit-backdrop-filter: blur(var(--zx-glass-blur)) saturate(var(--zx-glass-saturation));
|
|
2165
|
+
backdrop-filter: blur(var(--zx-glass-blur)) saturate(var(--zx-glass-saturation));
|
|
2166
|
+
}
|
|
2167
|
+
.zx-app-icon[data-glass=none] {
|
|
2168
|
+
border-color: var(--zx-color-border);
|
|
2169
|
+
box-shadow: none;
|
|
2170
|
+
}
|
|
2171
|
+
.zx-app-icon[data-glass=none] .zx-app-icon__shine {
|
|
2172
|
+
display: none;
|
|
2173
|
+
}
|
|
2174
|
+
.zx-app-icon[data-glass=none]::after {
|
|
2175
|
+
display: none;
|
|
2176
|
+
}
|
|
2177
|
+
.zx-app-icon[data-selected] {
|
|
2178
|
+
outline: 2px solid var(--zx-color-bg-page);
|
|
2179
|
+
box-shadow: 0 0 0 3px var(--zx-color-ring), var(--zx-overlay-shadow);
|
|
2180
|
+
}
|
|
2181
|
+
.zx-app-icon__shine {
|
|
2182
|
+
position: absolute;
|
|
2183
|
+
z-index: 1;
|
|
2184
|
+
inset: 1px 13% auto;
|
|
2185
|
+
block-size: 38%;
|
|
2186
|
+
border-radius: 999px;
|
|
2187
|
+
background:
|
|
2188
|
+
linear-gradient(
|
|
2189
|
+
to bottom,
|
|
2190
|
+
var(--zx-color-glass-highlight-strong),
|
|
2191
|
+
transparent);
|
|
2192
|
+
filter: blur(1px);
|
|
2193
|
+
pointer-events: none;
|
|
2194
|
+
}
|
|
2195
|
+
.zx-app-icon::after {
|
|
2196
|
+
content: "";
|
|
2197
|
+
position: absolute;
|
|
2198
|
+
z-index: 1;
|
|
2199
|
+
inset: 0;
|
|
2200
|
+
border-radius: inherit;
|
|
2201
|
+
box-shadow: inset 0 0 0 1px var(--zx-color-glass-highlight);
|
|
2202
|
+
pointer-events: none;
|
|
2203
|
+
}
|
|
2204
|
+
.zx-app-icon__glyph {
|
|
2205
|
+
position: absolute;
|
|
2206
|
+
z-index: 2;
|
|
2207
|
+
inset-block-start: 50%;
|
|
2208
|
+
inset-inline-start: 50%;
|
|
2209
|
+
display: grid;
|
|
2210
|
+
place-items: center;
|
|
2211
|
+
inline-size: var(--zx-app-icon-glyph-size);
|
|
2212
|
+
block-size: var(--zx-app-icon-glyph-size);
|
|
2213
|
+
margin: 0;
|
|
2214
|
+
padding: 0;
|
|
2215
|
+
font-size: var(--zx-app-icon-glyph-size);
|
|
2216
|
+
line-height: 1;
|
|
2217
|
+
filter: drop-shadow(var(--zx-glass-glyph-shadow));
|
|
2218
|
+
transform: translate(-50%, -50%);
|
|
2219
|
+
}
|
|
2220
|
+
.zx-app-icon__glyph > .zx-icon,
|
|
2221
|
+
.zx-app-icon__glyph > svg,
|
|
2222
|
+
.zx-app-icon__glyph > i {
|
|
2223
|
+
display: grid;
|
|
2224
|
+
place-items: center;
|
|
2225
|
+
inline-size: 1em;
|
|
2226
|
+
block-size: 1em;
|
|
2227
|
+
margin: 0;
|
|
2228
|
+
color: inherit;
|
|
2229
|
+
font-size: 1em;
|
|
2230
|
+
line-height: 1;
|
|
2231
|
+
text-align: center;
|
|
2232
|
+
vertical-align: middle;
|
|
2233
|
+
}
|
|
2234
|
+
.zx-app-icon__glyph > i::before {
|
|
2235
|
+
display: block;
|
|
2236
|
+
line-height: 1;
|
|
2237
|
+
}
|
|
2238
|
+
.zx-app-icon__glyph svg [fill]:not([fill=none]) {
|
|
2239
|
+
fill: currentColor;
|
|
2240
|
+
}
|
|
2241
|
+
.zx-app-icon__glyph svg [stroke]:not([stroke=none]) {
|
|
2242
|
+
stroke: currentColor;
|
|
2243
|
+
}
|
|
2244
|
+
.zx-app-icon__badge {
|
|
2245
|
+
position: absolute;
|
|
2246
|
+
z-index: 3;
|
|
2247
|
+
inset-block-end: 1px;
|
|
2248
|
+
inset-inline-end: 1px;
|
|
2249
|
+
display: grid;
|
|
2250
|
+
place-items: center;
|
|
2251
|
+
min-inline-size: 14px;
|
|
2252
|
+
block-size: 14px;
|
|
2253
|
+
padding-inline: 3px;
|
|
2254
|
+
border: 1px solid var(--zx-color-bg-raised);
|
|
2255
|
+
border-radius: var(--zx-radius-full);
|
|
2256
|
+
background: var(--zx-color-danger);
|
|
2257
|
+
color: var(--zx-color-text-invert);
|
|
2258
|
+
font-size: 9px;
|
|
2259
|
+
font-weight: 700;
|
|
2260
|
+
line-height: 1;
|
|
2261
|
+
}
|
|
2262
|
+
.zx-app-icon:hover {
|
|
2263
|
+
border-color: var(--zx-color-glass-highlight-strong);
|
|
2264
|
+
box-shadow: var(--zx-app-icon-shadow-hover);
|
|
2265
|
+
filter: brightness(1.06) saturate(1.08);
|
|
2266
|
+
}
|
|
2267
|
+
.zx-app-icon:focus-visible,
|
|
2268
|
+
:is(a, button, [role=button]):focus-visible > .zx-app-icon {
|
|
2269
|
+
outline: none;
|
|
2270
|
+
box-shadow: var(--zx-focus-ring), var(--zx-app-icon-shadow-hover);
|
|
2271
|
+
}
|
|
2272
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
2273
|
+
.zx-app-icon {
|
|
2274
|
+
transition:
|
|
2275
|
+
border-color var(--zx-dur-fast) var(--zx-ease),
|
|
2276
|
+
box-shadow var(--zx-dur-fast) var(--zx-ease),
|
|
2277
|
+
filter var(--zx-dur-fast) var(--zx-ease),
|
|
2278
|
+
transform var(--zx-dur-fast) var(--zx-ease);
|
|
2279
|
+
}
|
|
2280
|
+
.zx-app-icon:hover {
|
|
2281
|
+
transform: translateY(-2px) scale(1.035);
|
|
2282
|
+
}
|
|
2283
|
+
}
|
|
2284
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
2285
|
+
.zx-app-icon[data-glass=strong] {
|
|
2286
|
+
background: var(--zx-app-icon-color);
|
|
2287
|
+
-webkit-backdrop-filter: none;
|
|
2288
|
+
backdrop-filter: none;
|
|
2289
|
+
}
|
|
2290
|
+
.zx-app-icon[data-glass=subtle] {
|
|
2291
|
+
background: var(--zx-app-icon-color);
|
|
2292
|
+
-webkit-backdrop-filter: none;
|
|
2293
|
+
backdrop-filter: none;
|
|
2294
|
+
}
|
|
2295
|
+
}
|
|
2296
|
+
@media (forced-colors: active) {
|
|
2297
|
+
.zx-app-icon {
|
|
2298
|
+
border-color: ButtonText;
|
|
2299
|
+
background: ButtonFace;
|
|
2300
|
+
color: ButtonText;
|
|
2301
|
+
box-shadow: none;
|
|
2302
|
+
filter: none;
|
|
2303
|
+
transform: none;
|
|
2304
|
+
-webkit-backdrop-filter: none;
|
|
2305
|
+
backdrop-filter: none;
|
|
2306
|
+
}
|
|
2307
|
+
.zx-app-icon::after,
|
|
2308
|
+
.zx-app-icon__shine {
|
|
2309
|
+
display: none;
|
|
2310
|
+
}
|
|
2311
|
+
}
|
|
2312
|
+
|
|
2054
2313
|
/* src/components/launcher/launcher.css */
|
|
2055
2314
|
.zx-launcher {
|
|
2056
2315
|
inline-size: min(760px, calc(100vw - (2 * var(--zx-space-4))));
|
|
@@ -2677,11 +2936,14 @@ button.zx-panel__toggle:focus-visible {
|
|
|
2677
2936
|
}
|
|
2678
2937
|
.zx-message-region {
|
|
2679
2938
|
position: fixed;
|
|
2680
|
-
inset-block: var(--zx-space-4)
|
|
2681
|
-
inset-
|
|
2939
|
+
inset-block-start: var(--zx-space-4);
|
|
2940
|
+
inset-block-end: auto;
|
|
2941
|
+
inset-inline-start: auto;
|
|
2942
|
+
inset-inline-end: var(--zx-space-4);
|
|
2682
2943
|
inline-size: min(420px, calc(100% - (2 * var(--zx-space-4))));
|
|
2944
|
+
block-size: max-content;
|
|
2683
2945
|
max-block-size: calc(100% - (2 * var(--zx-space-4)));
|
|
2684
|
-
margin: 0
|
|
2946
|
+
margin: 0;
|
|
2685
2947
|
overflow: visible;
|
|
2686
2948
|
border: 0;
|
|
2687
2949
|
background: none;
|
|
@@ -2689,6 +2951,8 @@ button.zx-panel__toggle:focus-visible {
|
|
|
2689
2951
|
}
|
|
2690
2952
|
.zx-message-region:popover-open {
|
|
2691
2953
|
display: grid;
|
|
2954
|
+
grid-auto-rows: max-content;
|
|
2955
|
+
align-content: start;
|
|
2692
2956
|
}
|
|
2693
2957
|
.zx-message__toast {
|
|
2694
2958
|
--zx-message-kind: var(--zx-color-info);
|
|
@@ -2717,6 +2981,41 @@ button.zx-panel__toggle:focus-visible {
|
|
|
2717
2981
|
--zx-message-kind: var(--zx-color-danger);
|
|
2718
2982
|
background: var(--zx-color-danger-bg);
|
|
2719
2983
|
}
|
|
2984
|
+
@supports (backdrop-filter: blur(1px)) {
|
|
2985
|
+
.zx-message__toast {
|
|
2986
|
+
background: color-mix(in srgb, var(--zx-color-info-bg) 38%, var(--zx-color-glass-surface));
|
|
2987
|
+
-webkit-backdrop-filter: blur(var(--zx-glass-blur)) saturate(var(--zx-glass-saturation));
|
|
2988
|
+
backdrop-filter: blur(var(--zx-glass-blur)) saturate(var(--zx-glass-saturation));
|
|
2989
|
+
box-shadow: var(--zx-glass-raised-shadow);
|
|
2990
|
+
}
|
|
2991
|
+
.zx-message__toast[data-kind=success] {
|
|
2992
|
+
background: color-mix(in srgb, var(--zx-color-success-bg) 38%, var(--zx-color-glass-surface));
|
|
2993
|
+
}
|
|
2994
|
+
.zx-message__toast[data-kind=warning] {
|
|
2995
|
+
background: color-mix(in srgb, var(--zx-color-warning-bg) 38%, var(--zx-color-glass-surface));
|
|
2996
|
+
}
|
|
2997
|
+
.zx-message__toast[data-kind=error] {
|
|
2998
|
+
background: color-mix(in srgb, var(--zx-color-danger-bg) 38%, var(--zx-color-glass-surface));
|
|
2999
|
+
}
|
|
3000
|
+
}
|
|
3001
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
3002
|
+
.zx-message__toast {
|
|
3003
|
+
-webkit-backdrop-filter: none;
|
|
3004
|
+
backdrop-filter: none;
|
|
3005
|
+
}
|
|
3006
|
+
.zx-message__toast[data-kind=info] {
|
|
3007
|
+
background: var(--zx-color-info-bg);
|
|
3008
|
+
}
|
|
3009
|
+
.zx-message__toast[data-kind=success] {
|
|
3010
|
+
background: var(--zx-color-success-bg);
|
|
3011
|
+
}
|
|
3012
|
+
.zx-message__toast[data-kind=warning] {
|
|
3013
|
+
background: var(--zx-color-warning-bg);
|
|
3014
|
+
}
|
|
3015
|
+
.zx-message__toast[data-kind=error] {
|
|
3016
|
+
background: var(--zx-color-danger-bg);
|
|
3017
|
+
}
|
|
3018
|
+
}
|
|
2720
3019
|
.zx-message__icon {
|
|
2721
3020
|
display: inline-grid;
|
|
2722
3021
|
place-items: center;
|
|
@@ -3613,6 +3912,7 @@ body:has(> .zx-modal:modal) {
|
|
|
3613
3912
|
}
|
|
3614
3913
|
.zx-select__value-adornment {
|
|
3615
3914
|
display: inline-flex;
|
|
3915
|
+
grid-column: 1;
|
|
3616
3916
|
align-items: center;
|
|
3617
3917
|
padding-inline-start: var(--zx-control-pad-x);
|
|
3618
3918
|
}
|
|
@@ -3626,6 +3926,7 @@ body:has(> .zx-modal:modal) {
|
|
|
3626
3926
|
box-shadow: var(--zx-focus-ring);
|
|
3627
3927
|
}
|
|
3628
3928
|
.zx-select__input {
|
|
3929
|
+
grid-column: 2;
|
|
3629
3930
|
inline-size: 100%;
|
|
3630
3931
|
min-inline-size: 0;
|
|
3631
3932
|
min-block-size: calc(var(--zx-control-height) - 2px) !important;
|
|
@@ -3649,6 +3950,20 @@ body:has(> .zx-modal:modal) {
|
|
|
3649
3950
|
color: var(--zx-color-text-muted);
|
|
3650
3951
|
padding: 0 !important;
|
|
3651
3952
|
}
|
|
3953
|
+
.zx-select__clear {
|
|
3954
|
+
grid-column: 3;
|
|
3955
|
+
}
|
|
3956
|
+
.zx-select__loading {
|
|
3957
|
+
grid-column: 4;
|
|
3958
|
+
justify-self: center;
|
|
3959
|
+
}
|
|
3960
|
+
.zx-select__toggle {
|
|
3961
|
+
grid-column: 5;
|
|
3962
|
+
align-self: stretch;
|
|
3963
|
+
}
|
|
3964
|
+
.zx-select__toggle > .zx-icon {
|
|
3965
|
+
display: block;
|
|
3966
|
+
}
|
|
3652
3967
|
.zx-select__clear:hover,
|
|
3653
3968
|
.zx-select__toggle:hover {
|
|
3654
3969
|
color: var(--zx-color-text);
|
|
@@ -3775,6 +4090,15 @@ body:has(> .zx-modal:modal) {
|
|
|
3775
4090
|
align-items: center;
|
|
3776
4091
|
gap: var(--zx-space-2);
|
|
3777
4092
|
}
|
|
4093
|
+
.zx-select__entity-glyph {
|
|
4094
|
+
display: inline-grid;
|
|
4095
|
+
place-items: center;
|
|
4096
|
+
inline-size: 20px;
|
|
4097
|
+
block-size: 20px;
|
|
4098
|
+
border-radius: var(--zx-radius-sm);
|
|
4099
|
+
background: var(--zx-select-entity-color, var(--zx-color-accent-subtle));
|
|
4100
|
+
color: var(--zx-color-text-invert);
|
|
4101
|
+
}
|
|
3778
4102
|
.zx-select__status-copy,
|
|
3779
4103
|
.zx-select__action-copy {
|
|
3780
4104
|
display: grid;
|
|
@@ -4013,6 +4337,20 @@ body:has(> .zx-modal:modal) {
|
|
|
4013
4337
|
font-size: var(--zx-text-sm);
|
|
4014
4338
|
line-height: 1.5;
|
|
4015
4339
|
}
|
|
4340
|
+
.zx-tag-picker__tag[data-colored=true] {
|
|
4341
|
+
border-color: color-mix(in srgb, var(--zx-tag-color) 48%, var(--zx-color-border));
|
|
4342
|
+
background: color-mix(in srgb, var(--zx-tag-color) 14%, var(--zx-color-bg-muted));
|
|
4343
|
+
}
|
|
4344
|
+
.zx-tag-picker__visual {
|
|
4345
|
+
display: inline-grid;
|
|
4346
|
+
place-items: center;
|
|
4347
|
+
flex: none;
|
|
4348
|
+
inline-size: 18px;
|
|
4349
|
+
block-size: 18px;
|
|
4350
|
+
border-radius: var(--zx-radius-sm);
|
|
4351
|
+
background: color-mix(in srgb, var(--zx-tag-color, var(--zx-color-accent)) 16%, transparent);
|
|
4352
|
+
color: var(--zx-tag-color, var(--zx-color-accent));
|
|
4353
|
+
}
|
|
4016
4354
|
.zx-tag-picker__tag:not(:has(.zx-tag-picker__remove)) {
|
|
4017
4355
|
padding-inline-end: var(--zx-space-2);
|
|
4018
4356
|
}
|
|
@@ -4103,6 +4441,9 @@ body:has(> .zx-modal:modal) {
|
|
|
4103
4441
|
color: var(--zx-color-accent);
|
|
4104
4442
|
}
|
|
4105
4443
|
.zx-tag-picker__option-label {
|
|
4444
|
+
display: flex;
|
|
4445
|
+
align-items: center;
|
|
4446
|
+
gap: var(--zx-space-2);
|
|
4106
4447
|
overflow: hidden;
|
|
4107
4448
|
text-overflow: ellipsis;
|
|
4108
4449
|
white-space: nowrap;
|
|
@@ -5173,6 +5514,88 @@ body:has(> .zx-modal:modal) {
|
|
|
5173
5514
|
.zx-table {
|
|
5174
5515
|
min-inline-size: 0;
|
|
5175
5516
|
}
|
|
5517
|
+
.zx-table__column-controls {
|
|
5518
|
+
position: relative;
|
|
5519
|
+
inline-size: max-content;
|
|
5520
|
+
margin: 0 0 var(--zx-space-2) auto;
|
|
5521
|
+
}
|
|
5522
|
+
.zx-table__reorder-status {
|
|
5523
|
+
position: absolute;
|
|
5524
|
+
inline-size: 1px;
|
|
5525
|
+
block-size: 1px;
|
|
5526
|
+
overflow: hidden;
|
|
5527
|
+
clip-path: inset(50%);
|
|
5528
|
+
}
|
|
5529
|
+
.zx-table__column-controls > summary {
|
|
5530
|
+
display: inline-flex;
|
|
5531
|
+
align-items: center;
|
|
5532
|
+
gap: var(--zx-space-2);
|
|
5533
|
+
list-style: none;
|
|
5534
|
+
cursor: pointer;
|
|
5535
|
+
}
|
|
5536
|
+
.zx-table__column-controls > summary::-webkit-details-marker {
|
|
5537
|
+
display: none;
|
|
5538
|
+
}
|
|
5539
|
+
.zx-table__column-list {
|
|
5540
|
+
position: absolute;
|
|
5541
|
+
z-index: 4;
|
|
5542
|
+
inset-block-start: calc(100% + var(--zx-space-1));
|
|
5543
|
+
inset-inline-end: 0;
|
|
5544
|
+
display: grid;
|
|
5545
|
+
min-inline-size: 190px;
|
|
5546
|
+
border: 1px solid var(--zx-color-border-strong);
|
|
5547
|
+
border-radius: var(--zx-radius-md);
|
|
5548
|
+
background: var(--zx-color-bg-raised);
|
|
5549
|
+
box-shadow: var(--zx-overlay-shadow);
|
|
5550
|
+
padding: var(--zx-space-2);
|
|
5551
|
+
}
|
|
5552
|
+
.zx-table__column-option {
|
|
5553
|
+
display: flex;
|
|
5554
|
+
align-items: center;
|
|
5555
|
+
gap: var(--zx-space-2);
|
|
5556
|
+
min-block-size: var(--zx-control-height);
|
|
5557
|
+
border-radius: var(--zx-radius-sm);
|
|
5558
|
+
padding-inline: var(--zx-space-2);
|
|
5559
|
+
}
|
|
5560
|
+
.zx-table__column-option:hover {
|
|
5561
|
+
background: var(--zx-color-bg-hover);
|
|
5562
|
+
}
|
|
5563
|
+
.zx-table__reorder-column,
|
|
5564
|
+
.zx-table__reorder-header,
|
|
5565
|
+
.zx-table__reorder-cell {
|
|
5566
|
+
inline-size: var(--zx-control-height);
|
|
5567
|
+
text-align: center;
|
|
5568
|
+
}
|
|
5569
|
+
.zx-table__row-handle {
|
|
5570
|
+
display: inline-grid;
|
|
5571
|
+
place-items: center;
|
|
5572
|
+
inline-size: 26px;
|
|
5573
|
+
block-size: 26px;
|
|
5574
|
+
min-block-size: 0;
|
|
5575
|
+
border: 0;
|
|
5576
|
+
border-radius: var(--zx-radius-sm);
|
|
5577
|
+
background: transparent;
|
|
5578
|
+
padding: 0;
|
|
5579
|
+
color: var(--zx-color-text-muted);
|
|
5580
|
+
cursor: grab;
|
|
5581
|
+
}
|
|
5582
|
+
.zx-table__row-handle:hover,
|
|
5583
|
+
.zx-table__row-handle[aria-pressed=true] {
|
|
5584
|
+
background: var(--zx-color-bg-hover);
|
|
5585
|
+
color: var(--zx-color-text);
|
|
5586
|
+
}
|
|
5587
|
+
.zx-table__row-handle:active {
|
|
5588
|
+
cursor: grabbing;
|
|
5589
|
+
}
|
|
5590
|
+
.zx-table__body tr[data-dragging] {
|
|
5591
|
+
opacity: .55;
|
|
5592
|
+
}
|
|
5593
|
+
.zx-table__body tr[data-drop=before] {
|
|
5594
|
+
box-shadow: inset 0 2px 0 var(--zx-color-accent);
|
|
5595
|
+
}
|
|
5596
|
+
.zx-table__body tr[data-drop=after] {
|
|
5597
|
+
box-shadow: inset 0 -2px 0 var(--zx-color-accent);
|
|
5598
|
+
}
|
|
5176
5599
|
.zx-table__scroll {
|
|
5177
5600
|
position: relative;
|
|
5178
5601
|
max-inline-size: 100%;
|
|
@@ -5462,6 +5885,9 @@ body:has(> .zx-modal:modal) {
|
|
|
5462
5885
|
.zx-table[data-stacked] .zx-table__selection-cell {
|
|
5463
5886
|
justify-content: flex-start;
|
|
5464
5887
|
}
|
|
5888
|
+
.zx-table[data-stacked] .zx-table__reorder-cell {
|
|
5889
|
+
justify-content: flex-start;
|
|
5890
|
+
}
|
|
5465
5891
|
.zx-table[data-stacked] .zx-table__empty-row {
|
|
5466
5892
|
display: block;
|
|
5467
5893
|
}
|
|
@@ -5482,7 +5908,7 @@ body:has(> .zx-modal:modal) {
|
|
|
5482
5908
|
|
|
5483
5909
|
/* src/components/grid/grid.css */
|
|
5484
5910
|
.zx-table[data-preset=billing-items] tr.zx-grid-billing__summary > td {
|
|
5485
|
-
background: var(--zx-color-bg-
|
|
5911
|
+
background: var(--zx-color-bg-muted);
|
|
5486
5912
|
font-weight: 700;
|
|
5487
5913
|
}
|
|
5488
5914
|
|
|
@@ -5775,6 +6201,135 @@ body:has(> .zx-modal:modal) {
|
|
|
5775
6201
|
display: none;
|
|
5776
6202
|
}
|
|
5777
6203
|
|
|
6204
|
+
/* src/components/filter/filter.css */
|
|
6205
|
+
.zx-filter {
|
|
6206
|
+
display: grid;
|
|
6207
|
+
gap: var(--zx-space-3);
|
|
6208
|
+
color: var(--zx-color-text);
|
|
6209
|
+
}
|
|
6210
|
+
.zx-filter__status {
|
|
6211
|
+
position: absolute;
|
|
6212
|
+
inline-size: 1px;
|
|
6213
|
+
block-size: 1px;
|
|
6214
|
+
overflow: hidden;
|
|
6215
|
+
clip-path: inset(50%);
|
|
6216
|
+
}
|
|
6217
|
+
.zx-filter__group,
|
|
6218
|
+
.zx-filter__group > fieldset {
|
|
6219
|
+
min-inline-size: 0;
|
|
6220
|
+
margin: 0;
|
|
6221
|
+
border: 1px solid var(--zx-color-border);
|
|
6222
|
+
border-radius: var(--zx-radius-lg);
|
|
6223
|
+
background: var(--zx-color-bg-surface);
|
|
6224
|
+
padding: var(--zx-space-3);
|
|
6225
|
+
}
|
|
6226
|
+
.zx-filter__group .zx-filter__group {
|
|
6227
|
+
border: 0;
|
|
6228
|
+
border-inline-start: 3px solid var(--zx-color-border-strong);
|
|
6229
|
+
border-radius: 0;
|
|
6230
|
+
background: transparent;
|
|
6231
|
+
padding: 0 0 0 var(--zx-space-3);
|
|
6232
|
+
}
|
|
6233
|
+
.zx-filter__legend {
|
|
6234
|
+
display: inline-flex;
|
|
6235
|
+
align-items: center;
|
|
6236
|
+
gap: var(--zx-space-2);
|
|
6237
|
+
padding-inline: var(--zx-space-1);
|
|
6238
|
+
color: var(--zx-color-text-muted);
|
|
6239
|
+
font-size: var(--zx-text-sm);
|
|
6240
|
+
}
|
|
6241
|
+
.zx-filter__logic,
|
|
6242
|
+
.zx-filter__field,
|
|
6243
|
+
.zx-filter__operator,
|
|
6244
|
+
.zx-filter__value input,
|
|
6245
|
+
.zx-filter__value select {
|
|
6246
|
+
min-block-size: var(--zx-control-height);
|
|
6247
|
+
border: 1px solid var(--zx-color-border-control);
|
|
6248
|
+
border-radius: var(--zx-control-radius);
|
|
6249
|
+
background: var(--zx-color-bg-control);
|
|
6250
|
+
padding-inline: var(--zx-control-pad-x);
|
|
6251
|
+
color: var(--zx-color-text);
|
|
6252
|
+
font: inherit;
|
|
6253
|
+
}
|
|
6254
|
+
.zx-filter__logic {
|
|
6255
|
+
inline-size: auto;
|
|
6256
|
+
min-block-size: 28px;
|
|
6257
|
+
font-size: var(--zx-text-sm);
|
|
6258
|
+
}
|
|
6259
|
+
.zx-filter__children {
|
|
6260
|
+
display: grid;
|
|
6261
|
+
gap: var(--zx-space-2);
|
|
6262
|
+
margin: var(--zx-space-2) 0;
|
|
6263
|
+
padding: 0;
|
|
6264
|
+
list-style: none;
|
|
6265
|
+
}
|
|
6266
|
+
.zx-filter__condition {
|
|
6267
|
+
display: grid;
|
|
6268
|
+
grid-template-columns: minmax(9rem, 1fr) minmax(9rem, 1fr) minmax(10rem, 1.4fr) auto;
|
|
6269
|
+
align-items: start;
|
|
6270
|
+
gap: var(--zx-space-2);
|
|
6271
|
+
border-radius: var(--zx-radius-md);
|
|
6272
|
+
}
|
|
6273
|
+
.zx-filter__condition[data-invalid] {
|
|
6274
|
+
outline: 1px solid var(--zx-color-danger);
|
|
6275
|
+
outline-offset: var(--zx-space-1);
|
|
6276
|
+
}
|
|
6277
|
+
.zx-filter__value {
|
|
6278
|
+
display: grid;
|
|
6279
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
6280
|
+
gap: var(--zx-space-2);
|
|
6281
|
+
min-inline-size: 0;
|
|
6282
|
+
}
|
|
6283
|
+
.zx-filter__value-control,
|
|
6284
|
+
.zx-filter__value-control > input {
|
|
6285
|
+
inline-size: 100%;
|
|
6286
|
+
min-inline-size: 0;
|
|
6287
|
+
}
|
|
6288
|
+
.zx-filter__value > :only-child,
|
|
6289
|
+
.zx-filter__value--empty {
|
|
6290
|
+
grid-column: 1 / -1;
|
|
6291
|
+
}
|
|
6292
|
+
.zx-filter__value--empty {
|
|
6293
|
+
display: flex;
|
|
6294
|
+
align-items: center;
|
|
6295
|
+
min-block-size: var(--zx-control-height);
|
|
6296
|
+
padding-inline: var(--zx-control-pad-x);
|
|
6297
|
+
color: var(--zx-color-text-muted);
|
|
6298
|
+
font-size: var(--zx-text-sm);
|
|
6299
|
+
}
|
|
6300
|
+
.zx-filter__group-actions,
|
|
6301
|
+
.zx-filter__actions {
|
|
6302
|
+
display: flex;
|
|
6303
|
+
flex-wrap: wrap;
|
|
6304
|
+
gap: var(--zx-space-2);
|
|
6305
|
+
}
|
|
6306
|
+
.zx-filter__actions {
|
|
6307
|
+
justify-content: flex-end;
|
|
6308
|
+
}
|
|
6309
|
+
.zx-filter[data-readonly] .zx-filter__group-actions,
|
|
6310
|
+
.zx-filter[data-readonly] .zx-filter__actions,
|
|
6311
|
+
.zx-filter[data-disabled] .zx-filter__group-actions,
|
|
6312
|
+
.zx-filter[data-disabled] .zx-filter__actions {
|
|
6313
|
+
display: none;
|
|
6314
|
+
}
|
|
6315
|
+
@media (max-width: 680px) {
|
|
6316
|
+
.zx-filter__condition {
|
|
6317
|
+
grid-template-columns: minmax(0, 1fr);
|
|
6318
|
+
}
|
|
6319
|
+
.zx-filter__group .zx-filter__group {
|
|
6320
|
+
padding-inline-start: var(--zx-space-2);
|
|
6321
|
+
}
|
|
6322
|
+
.zx-filter__value {
|
|
6323
|
+
grid-template-columns: minmax(0, 1fr);
|
|
6324
|
+
}
|
|
6325
|
+
}
|
|
6326
|
+
@media (forced-colors: active) {
|
|
6327
|
+
.zx-filter__group,
|
|
6328
|
+
.zx-filter__condition[data-invalid] {
|
|
6329
|
+
border-color: CanvasText;
|
|
6330
|
+
}
|
|
6331
|
+
}
|
|
6332
|
+
|
|
5778
6333
|
/* src/components/pagination/pagination.css */
|
|
5779
6334
|
.zx-pagination {
|
|
5780
6335
|
display: flex;
|