@zeyos/zx 3.0.0 → 4.1.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 (106) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/DESIGN-SYSTEM.md +87 -71
  3. package/README.md +16 -37
  4. package/dist/types/components/app-icon/app-icon.d.ts +88 -0
  5. package/dist/types/components/app-sidebar/app-sidebar.d.ts +106 -32
  6. package/dist/types/components/card/card.d.ts +128 -0
  7. package/dist/types/components/chart/chart.d.ts +1 -0
  8. package/dist/types/components/filter/filter-model.d.ts +87 -0
  9. package/dist/types/components/filter/filter.d.ts +331 -0
  10. package/dist/types/components/launcher/launcher.d.ts +65 -6
  11. package/dist/types/components/select/select.d.ts +97 -4
  12. package/dist/types/components/table/table.d.ts +107 -3
  13. package/dist/types/components/tag-picker/tag-picker.d.ts +16 -0
  14. package/dist/types/core/dom.d.ts +9 -1
  15. package/dist/types/core/util.d.ts +9 -0
  16. package/dist/types/index.d.ts +6 -2
  17. package/dist/types/{components/app-rail → internal}/app-rail.d.ts +34 -19
  18. package/dist/types/zeyos/icons.d.ts +24 -2
  19. package/dist/types/zeyos/index.d.ts +3 -2
  20. package/dist/types/zeyos/launcher.d.ts +147 -0
  21. package/dist/types/zeyos/select.d.ts +41 -0
  22. package/dist/zx-zeyos.esm.js +2018 -113
  23. package/dist/zx-zeyos.esm.min.js +1 -1
  24. package/dist/zx.css +815 -16
  25. package/dist/zx.esm.js +2661 -338
  26. package/dist/zx.esm.min.js +3 -3
  27. package/dist/zx.global.js +2661 -338
  28. package/dist/zx.global.min.js +3 -3
  29. package/dist/zx.min.css +1 -1
  30. package/docs/api.json +602 -110
  31. package/docs/llms.md +181 -123
  32. package/docs/llms.txt +24 -21
  33. package/package.json +8 -17
  34. package/src/components/app-icon/app-icon.css +105 -0
  35. package/src/components/app-icon/app-icon.js +134 -0
  36. package/src/components/app-sidebar/app-sidebar.css +12 -0
  37. package/src/components/app-sidebar/app-sidebar.js +310 -110
  38. package/src/components/card/card.css +149 -0
  39. package/src/components/card/card.js +285 -0
  40. package/src/components/chart/chart.js +8 -3
  41. package/src/components/filter/filter-model.js +226 -0
  42. package/src/components/filter/filter.css +147 -0
  43. package/src/components/filter/filter.js +554 -0
  44. package/src/components/grid/grid.css +1 -1
  45. package/src/components/grid/grid.js +14 -4
  46. package/src/components/launcher/launcher.css +113 -3
  47. package/src/components/launcher/launcher.js +234 -26
  48. package/src/components/message/message.css +36 -3
  49. package/src/components/select/field-adapter.js +9 -4
  50. package/src/components/select/select.css +161 -10
  51. package/src/components/select/select.js +361 -48
  52. package/src/components/table/table.css +85 -0
  53. package/src/components/table/table.js +426 -31
  54. package/src/components/tag-picker/tag-picker.css +19 -0
  55. package/src/components/tag-picker/tag-picker.js +42 -5
  56. package/src/core/dom.js +21 -1
  57. package/src/core/util.js +20 -0
  58. package/src/index.js +9 -2
  59. package/src/{components/app-rail → internal}/app-rail.js +80 -30
  60. package/src/zeyos/icons.js +38 -20
  61. package/src/zeyos/index.js +8 -2
  62. package/src/zeyos/launcher.js +338 -0
  63. package/src/zeyos/modules.js +1 -0
  64. package/src/zeyos/select.js +116 -1
  65. package/styles/tokens/global.css +1 -1
  66. package/styles/tokens/modules.css +1 -0
  67. package/styles/tokens/semantic.css +9 -0
  68. package/styles/tokens/themes.css +2 -2
  69. package/styles/zx.css +3 -0
  70. package/MIGRATION.md +0 -749
  71. package/dist/types/compat/base.d.ts +0 -156
  72. package/dist/types/compat/globals.d.ts +0 -20
  73. package/dist/types/compat/index.d.ts +0 -128
  74. package/dist/types/compat/map/basic.d.ts +0 -175
  75. package/dist/types/compat/map/data.d.ts +0 -103
  76. package/dist/types/compat/map/date-time.d.ts +0 -80
  77. package/dist/types/compat/map/factory.d.ts +0 -9
  78. package/dist/types/compat/map/form.d.ts +0 -98
  79. package/dist/types/compat/map/helpers.d.ts +0 -12
  80. package/dist/types/compat/map/http.d.ts +0 -36
  81. package/dist/types/compat/map/layout.d.ts +0 -106
  82. package/dist/types/compat/map/options.d.ts +0 -80
  83. package/dist/types/compat/map/select.d.ts +0 -95
  84. package/dist/types/compat/map/stubs.d.ts +0 -32
  85. package/dist/types/compat/map/utilities.d.ts +0 -37
  86. package/dist/types/compat-entry.d.ts +0 -5
  87. package/dist/zx-compat.esm.js +0 -17848
  88. package/dist/zx-compat.esm.min.js +0 -1
  89. package/dist/zx-compat.global.js +0 -29008
  90. package/dist/zx-compat.global.min.js +0 -3
  91. package/src/compat/base.js +0 -291
  92. package/src/compat/globals.js +0 -167
  93. package/src/compat/index.js +0 -84
  94. package/src/compat/map/basic.js +0 -464
  95. package/src/compat/map/data.js +0 -254
  96. package/src/compat/map/date-time.js +0 -177
  97. package/src/compat/map/factory.js +0 -45
  98. package/src/compat/map/form.js +0 -330
  99. package/src/compat/map/helpers.js +0 -46
  100. package/src/compat/map/http.js +0 -117
  101. package/src/compat/map/layout.js +0 -256
  102. package/src/compat/map/options.js +0 -267
  103. package/src/compat/map/select.js +0 -198
  104. package/src/compat/map/stubs.js +0 -26
  105. package/src/compat/map/utilities.js +0 -113
  106. package/src/compat-entry.js +0 -11
package/dist/zx.css CHANGED
@@ -165,6 +165,18 @@
165
165
  --zx-control-font-weight: 500;
166
166
  --zx-overlay-shadow: var(--zx-shadow-3);
167
167
  --zx-overlay-blur: 8px;
168
+ --zx-color-glass-border: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
169
+ --zx-color-glass-highlight: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
170
+ --zx-color-glass-highlight-strong: color-mix(in srgb, var(--zx-gray-0) 38%, transparent);
171
+ --zx-color-glass-surface: color-mix(in srgb, var(--zx-color-bg-raised) 78%, transparent);
172
+ --zx-glass-blur: 8px;
173
+ --zx-glass-saturation: 130%;
174
+ --zx-glass-color-strength: 82%;
175
+ --zx-app-icon-shadow:
176
+ inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 28%, transparent),
177
+ inset 0 -1px 0 color-mix(in srgb, var(--zx-gray-950) 16%, transparent),
178
+ 0 5px 14px color-mix(in srgb, var(--zx-app-icon-color) 28%, transparent);
179
+ --zx-glass-glyph-shadow: 0 1px 1px color-mix(in srgb, var(--zx-gray-950) 22%, transparent);
168
180
  --zx-header-bg: var(--zx-gray-900);
169
181
  --zx-header-text: var(--zx-gray-50);
170
182
  }
@@ -340,6 +352,7 @@
340
352
  --zx-module-linecoupon: var(--zx-module-line);
341
353
  --zx-module-logins: var(--zx-module-auth);
342
354
  --zx-module-mailservers: var(--zx-module-channels);
355
+ --zx-module-main: var(--zx-module-zeyos);
343
356
  --zx-module-notifications: var(--zx-module-messages);
344
357
  --zx-module-participants-campaigns: var(--zx-module-participants);
345
358
  --zx-module-participants-mailinglists: var(--zx-module-participants);
@@ -1391,6 +1404,133 @@ svg.zx-icon {
1391
1404
  }
1392
1405
  }
1393
1406
 
1407
+ /* src/components/card/card.css */
1408
+ .zx-card {
1409
+ --zx-card-media-size: 8rem;
1410
+ position: relative;
1411
+ inline-size: 100%;
1412
+ container-type: inline-size;
1413
+ overflow: hidden;
1414
+ border-radius: var(--zx-radius-lg);
1415
+ color: var(--zx-color-text);
1416
+ }
1417
+ .zx-card[data-variant=outlined] {
1418
+ border: 1px solid var(--zx-color-border);
1419
+ background: var(--zx-color-bg-surface);
1420
+ }
1421
+ .zx-card[data-variant=raised] {
1422
+ border: 1px solid transparent;
1423
+ background: var(--zx-color-bg-surface);
1424
+ box-shadow: var(--zx-overlay-shadow);
1425
+ }
1426
+ .zx-card[data-variant=filled] {
1427
+ border: 1px solid transparent;
1428
+ background: var(--zx-color-bg-muted);
1429
+ }
1430
+ .zx-card[data-linked=true]:hover {
1431
+ background: var(--zx-color-bg-hover);
1432
+ }
1433
+ .zx-card:has(.zx-card__primary:focus-visible) {
1434
+ outline: 0;
1435
+ box-shadow: var(--zx-focus-ring);
1436
+ }
1437
+ .zx-card__layout,
1438
+ .zx-card__inner {
1439
+ min-inline-size: 0;
1440
+ }
1441
+ .zx-card__inner {
1442
+ display: grid;
1443
+ gap: var(--zx-space-3);
1444
+ padding: var(--zx-space-5);
1445
+ }
1446
+ .zx-card[data-orientation=horizontal] .zx-card__layout {
1447
+ display: grid;
1448
+ grid-template-columns: var(--zx-card-media-size) minmax(0, 1fr);
1449
+ align-items: stretch;
1450
+ }
1451
+ .zx-card__media {
1452
+ min-inline-size: 0;
1453
+ overflow: hidden;
1454
+ }
1455
+ .zx-card[data-orientation=horizontal] .zx-card__media {
1456
+ min-block-size: var(--zx-card-media-size);
1457
+ }
1458
+ .zx-card__media > :is(img, video, svg) {
1459
+ display: block;
1460
+ inline-size: 100%;
1461
+ block-size: 100%;
1462
+ object-fit: cover;
1463
+ }
1464
+ .zx-card__header {
1465
+ display: flex;
1466
+ align-items: start;
1467
+ justify-content: space-between;
1468
+ gap: var(--zx-space-3);
1469
+ }
1470
+ .zx-card__header[hidden],
1471
+ .zx-card__media[hidden],
1472
+ .zx-card__content[hidden],
1473
+ .zx-card__footer[hidden],
1474
+ .zx-card__actions[hidden] {
1475
+ display: none;
1476
+ }
1477
+ .zx-card__heading {
1478
+ min-inline-size: 0;
1479
+ margin: 0;
1480
+ font-size: var(--zx-text-lg);
1481
+ font-weight: 700;
1482
+ line-height: 1.3;
1483
+ letter-spacing: -0.012em;
1484
+ }
1485
+ .zx-card__primary,
1486
+ .zx-card__title {
1487
+ color: inherit;
1488
+ }
1489
+ .zx-card__primary {
1490
+ text-decoration: none;
1491
+ }
1492
+ .zx-card[data-linked=true] .zx-card__primary::after {
1493
+ content: "";
1494
+ position: absolute;
1495
+ inset: 0;
1496
+ z-index: 1;
1497
+ }
1498
+ .zx-card__primary:focus-visible {
1499
+ outline: 0;
1500
+ }
1501
+ .zx-card__actions,
1502
+ .zx-card__content :is(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])),
1503
+ .zx-card__footer :is(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])) {
1504
+ position: relative;
1505
+ z-index: 2;
1506
+ }
1507
+ .zx-card__actions {
1508
+ display: flex;
1509
+ flex: none;
1510
+ flex-wrap: wrap;
1511
+ align-items: center;
1512
+ justify-content: end;
1513
+ gap: var(--zx-space-2);
1514
+ }
1515
+ .zx-card__content {
1516
+ color: var(--zx-color-text-muted);
1517
+ line-height: 1.6;
1518
+ }
1519
+ .zx-card__footer {
1520
+ padding-block-start: var(--zx-space-3);
1521
+ border-block-start: 1px solid var(--zx-color-border);
1522
+ color: var(--zx-color-text-muted);
1523
+ font-size: var(--zx-text-sm);
1524
+ }
1525
+ @container (max-width: 28rem) {
1526
+ .zx-card[data-orientation=horizontal] .zx-card__layout {
1527
+ grid-template-columns: minmax(0, 1fr);
1528
+ }
1529
+ .zx-card[data-orientation=horizontal] .zx-card__media {
1530
+ min-block-size: 0;
1531
+ }
1532
+ }
1533
+
1394
1534
  /* src/components/panel/panel.css */
1395
1535
  .zx-panel {
1396
1536
  overflow: hidden;
@@ -1923,9 +2063,114 @@ button.zx-panel__toggle:focus-visible {
1923
2063
  display: none;
1924
2064
  }
1925
2065
 
2066
+ /* src/components/app-icon/app-icon.css */
2067
+ .zx-app-icon {
2068
+ --zx-app-icon-size: 36px;
2069
+ --zx-app-icon-glyph-size: 52%;
2070
+ --zx-app-icon-color: var(--zx-color-accent);
2071
+ position: relative;
2072
+ isolation: isolate;
2073
+ display: inline-grid;
2074
+ place-items: center;
2075
+ flex: none;
2076
+ inline-size: var(--zx-app-icon-size);
2077
+ block-size: var(--zx-app-icon-size);
2078
+ overflow: hidden;
2079
+ border: 1px solid var(--zx-color-glass-border);
2080
+ border-radius: max(var(--zx-radius-md), calc(var(--zx-app-icon-size) * .22));
2081
+ background: var(--zx-app-icon-color);
2082
+ box-shadow: var(--zx-app-icon-shadow);
2083
+ color: var(--zx-app-icon-glyph, var(--zx-color-text-invert));
2084
+ font-size: var(--zx-app-icon-size);
2085
+ vertical-align: middle;
2086
+ }
2087
+ .zx-app-icon[data-glass=subtle],
2088
+ .zx-app-icon[data-glass=strong] {
2089
+ background:
2090
+ linear-gradient(
2091
+ 145deg,
2092
+ var(--zx-color-glass-highlight),
2093
+ transparent 44%),
2094
+ color-mix(in srgb, var(--zx-app-icon-color) var(--zx-glass-color-strength), transparent);
2095
+ }
2096
+ .zx-app-icon[data-glass=strong] {
2097
+ backdrop-filter: blur(var(--zx-glass-blur)) saturate(var(--zx-glass-saturation));
2098
+ }
2099
+ .zx-app-icon[data-glass=none] {
2100
+ border-color: var(--zx-color-border);
2101
+ box-shadow: none;
2102
+ }
2103
+ .zx-app-icon[data-glass=none] .zx-app-icon__shine {
2104
+ display: none;
2105
+ }
2106
+ .zx-app-icon[data-selected] {
2107
+ outline: 2px solid var(--zx-color-bg-page);
2108
+ box-shadow: 0 0 0 3px var(--zx-color-ring), var(--zx-overlay-shadow);
2109
+ }
2110
+ .zx-app-icon__shine {
2111
+ position: absolute;
2112
+ z-index: -1;
2113
+ inset: 1px 12% auto;
2114
+ block-size: 42%;
2115
+ border-radius: 999px;
2116
+ background:
2117
+ linear-gradient(
2118
+ to bottom,
2119
+ var(--zx-color-glass-highlight-strong),
2120
+ transparent);
2121
+ filter: blur(2px);
2122
+ pointer-events: none;
2123
+ }
2124
+ .zx-app-icon__glyph {
2125
+ display: inline-grid;
2126
+ place-items: center;
2127
+ inline-size: var(--zx-app-icon-glyph-size);
2128
+ block-size: var(--zx-app-icon-glyph-size);
2129
+ font-size: var(--zx-app-icon-glyph-size);
2130
+ line-height: 1;
2131
+ filter: drop-shadow(var(--zx-glass-glyph-shadow));
2132
+ }
2133
+ .zx-app-icon__glyph > .zx-icon,
2134
+ .zx-app-icon__glyph > svg,
2135
+ .zx-app-icon__glyph > i {
2136
+ inline-size: 1em;
2137
+ block-size: 1em;
2138
+ }
2139
+ .zx-app-icon__badge {
2140
+ position: absolute;
2141
+ inset-block-end: 1px;
2142
+ inset-inline-end: 1px;
2143
+ display: grid;
2144
+ place-items: center;
2145
+ min-inline-size: 14px;
2146
+ block-size: 14px;
2147
+ padding-inline: 3px;
2148
+ border: 1px solid var(--zx-color-bg-raised);
2149
+ border-radius: var(--zx-radius-full);
2150
+ background: var(--zx-color-danger);
2151
+ color: var(--zx-color-text-invert);
2152
+ font-size: 9px;
2153
+ font-weight: 700;
2154
+ line-height: 1;
2155
+ }
2156
+ @media (prefers-reduced-transparency: reduce) {
2157
+ .zx-app-icon[data-glass=strong] {
2158
+ background: var(--zx-app-icon-color);
2159
+ backdrop-filter: none;
2160
+ }
2161
+ }
2162
+ @media (forced-colors: active) {
2163
+ .zx-app-icon {
2164
+ border-color: ButtonText;
2165
+ background: ButtonFace;
2166
+ color: ButtonText;
2167
+ box-shadow: none;
2168
+ }
2169
+ }
2170
+
1926
2171
  /* src/components/launcher/launcher.css */
1927
2172
  .zx-launcher {
1928
- inline-size: min(680px, calc(100vw - (2 * var(--zx-space-4))));
2173
+ inline-size: min(760px, calc(100vw - (2 * var(--zx-space-4))));
1929
2174
  max-block-size: min(720px, calc(100vh - (2 * var(--zx-space-6))));
1930
2175
  border: 1px solid var(--zx-color-border);
1931
2176
  border-radius: var(--zx-radius-xl);
@@ -1939,17 +2184,20 @@ button.zx-panel__toggle:focus-visible {
1939
2184
  }
1940
2185
  .zx-launcher__surface {
1941
2186
  display: grid;
1942
- grid-template-rows: auto auto minmax(0, 1fr);
2187
+ grid-template-rows: auto auto minmax(0, 1fr) auto;
1943
2188
  max-block-size: inherit;
1944
2189
  }
1945
2190
  .zx-launcher__search {
1946
2191
  display: grid;
1947
- grid-template-columns: auto 1fr auto;
2192
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
1948
2193
  align-items: center;
1949
2194
  gap: var(--zx-space-3);
1950
2195
  border-block-end: 1px solid var(--zx-color-border);
1951
2196
  padding: var(--zx-space-3) var(--zx-space-4);
1952
2197
  }
2198
+ .zx-launcher__search[data-shortcut=false] {
2199
+ grid-template-columns: auto minmax(0, 1fr) auto;
2200
+ }
1953
2201
  .zx-launcher__input {
1954
2202
  min-inline-size: 0;
1955
2203
  border: 0;
@@ -1964,6 +2212,21 @@ button.zx-panel__toggle:focus-visible {
1964
2212
  .zx-launcher__input::-webkit-search-cancel-button {
1965
2213
  display: none;
1966
2214
  }
2215
+ .zx-launcher__shortcut,
2216
+ .zx-launcher__hints kbd {
2217
+ border: 1px solid var(--zx-color-border-control);
2218
+ border-radius: var(--zx-radius-sm);
2219
+ background: var(--zx-color-bg-muted);
2220
+ color: var(--zx-color-text-muted);
2221
+ font-family: var(--zx-font-mono);
2222
+ font-size: var(--zx-text-xs);
2223
+ font-weight: 600;
2224
+ line-height: 1.5;
2225
+ }
2226
+ .zx-launcher__shortcut {
2227
+ padding-inline: var(--zx-space-2);
2228
+ white-space: nowrap;
2229
+ }
1967
2230
  .zx-launcher__status {
1968
2231
  margin: 0;
1969
2232
  padding: var(--zx-space-5);
@@ -1986,6 +2249,16 @@ button.zx-panel__toggle:focus-visible {
1986
2249
  letter-spacing: .04em;
1987
2250
  text-transform: uppercase;
1988
2251
  }
2252
+ .zx-launcher__group[data-layout=grid] {
2253
+ display: grid;
2254
+ grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
2255
+ gap: var(--zx-space-2);
2256
+ padding: 0 var(--zx-space-1) var(--zx-space-2);
2257
+ }
2258
+ .zx-launcher__group[data-layout=grid] .zx-launcher__group-label {
2259
+ grid-column: 1 / -1;
2260
+ padding-inline: var(--zx-space-2);
2261
+ }
1989
2262
  .zx-launcher__option {
1990
2263
  display: flex;
1991
2264
  align-items: center;
@@ -2004,6 +2277,35 @@ button.zx-panel__toggle:focus-visible {
2004
2277
  .zx-launcher__option:hover {
2005
2278
  background: var(--zx-color-bg-hover);
2006
2279
  }
2280
+ .zx-launcher__option[aria-current=page] {
2281
+ box-shadow: inset 2px 0 var(--zx-color-accent);
2282
+ }
2283
+ .zx-launcher__option[data-kind=application] {
2284
+ display: grid;
2285
+ grid-template-rows: auto minmax(0, auto);
2286
+ justify-items: center;
2287
+ align-content: center;
2288
+ min-block-size: 92px;
2289
+ padding: var(--zx-space-3) var(--zx-space-2);
2290
+ text-align: center;
2291
+ }
2292
+ .zx-launcher__option[data-kind=application][aria-current=page] {
2293
+ box-shadow: inset 0 -2px var(--zx-color-accent);
2294
+ }
2295
+ .zx-launcher__option[data-kind=application] .zx-launcher__icon {
2296
+ min-block-size: 36px;
2297
+ align-items: center;
2298
+ }
2299
+ .zx-launcher__option[data-kind=application] .zx-launcher__copy {
2300
+ inline-size: 100%;
2301
+ }
2302
+ .zx-launcher__option[data-kind=application] .zx-launcher__description,
2303
+ .zx-launcher__option[data-kind=application] .zx-launcher__badge {
2304
+ display: none;
2305
+ }
2306
+ .zx-launcher__option[data-kind=application] .zx-launcher__label {
2307
+ font-size: var(--zx-text-sm);
2308
+ }
2007
2309
  .zx-launcher__option[aria-disabled=true] {
2008
2310
  color: var(--zx-color-text-muted);
2009
2311
  cursor: not-allowed;
@@ -2036,6 +2338,40 @@ button.zx-panel__toggle:focus-visible {
2036
2338
  color: var(--zx-color-text-muted);
2037
2339
  font-size: var(--zx-text-xs);
2038
2340
  }
2341
+ .zx-launcher__hints {
2342
+ display: flex;
2343
+ flex-wrap: wrap;
2344
+ justify-content: end;
2345
+ gap: var(--zx-space-4);
2346
+ padding: var(--zx-space-2) var(--zx-space-4);
2347
+ border-block-start: 1px solid var(--zx-color-border);
2348
+ color: var(--zx-color-text-muted);
2349
+ font-size: var(--zx-text-xs);
2350
+ }
2351
+ .zx-launcher__hints span {
2352
+ display: inline-flex;
2353
+ align-items: center;
2354
+ gap: var(--zx-space-1);
2355
+ }
2356
+ .zx-launcher__hints kbd {
2357
+ min-inline-size: 1.5rem;
2358
+ padding-inline: 4px;
2359
+ text-align: center;
2360
+ }
2361
+ @media (max-width: 520px) {
2362
+ .zx-launcher__group[data-layout=grid] {
2363
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2364
+ }
2365
+ .zx-launcher__shortcut {
2366
+ display: none;
2367
+ }
2368
+ .zx-launcher__search {
2369
+ grid-template-columns: auto minmax(0, 1fr) auto;
2370
+ }
2371
+ .zx-launcher__hints {
2372
+ justify-content: center;
2373
+ }
2374
+ }
2039
2375
 
2040
2376
  /* src/components/avatar/avatar.css */
2041
2377
  .zx-avatar {
@@ -2348,6 +2684,15 @@ button.zx-panel__toggle:focus-visible {
2348
2684
  background: var(--zx-color-bg-raised);
2349
2685
  color: var(--zx-color-text);
2350
2686
  }
2687
+ .zx-app-sidebar[data-orientation=horizontal] {
2688
+ inline-size: 100%;
2689
+ }
2690
+ .zx-app-sidebar[data-orientation=horizontal] > .zx-app-sidebar__rail {
2691
+ inline-size: 100%;
2692
+ }
2693
+ .zx-app-sidebar__rail.zx-app-rail {
2694
+ border: 0;
2695
+ }
2351
2696
  .zx-app-sidebar__expanded {
2352
2697
  display: grid;
2353
2698
  grid-template-rows: auto minmax(0, 1fr) auto;
@@ -2449,11 +2794,14 @@ button.zx-panel__toggle:focus-visible {
2449
2794
  }
2450
2795
  .zx-message-region {
2451
2796
  position: fixed;
2452
- inset-block: var(--zx-space-4) auto;
2453
- inset-inline: var(--zx-space-4);
2797
+ inset-block-start: var(--zx-space-4);
2798
+ inset-block-end: auto;
2799
+ inset-inline-start: auto;
2800
+ inset-inline-end: var(--zx-space-4);
2454
2801
  inline-size: min(420px, calc(100% - (2 * var(--zx-space-4))));
2802
+ block-size: max-content;
2455
2803
  max-block-size: calc(100% - (2 * var(--zx-space-4)));
2456
- margin: 0 auto;
2804
+ margin: 0;
2457
2805
  overflow: visible;
2458
2806
  border: 0;
2459
2807
  background: none;
@@ -2461,6 +2809,8 @@ button.zx-panel__toggle:focus-visible {
2461
2809
  }
2462
2810
  .zx-message-region:popover-open {
2463
2811
  display: grid;
2812
+ grid-auto-rows: max-content;
2813
+ align-content: start;
2464
2814
  }
2465
2815
  .zx-message__toast {
2466
2816
  --zx-message-kind: var(--zx-color-info);
@@ -2489,6 +2839,39 @@ button.zx-panel__toggle:focus-visible {
2489
2839
  --zx-message-kind: var(--zx-color-danger);
2490
2840
  background: var(--zx-color-danger-bg);
2491
2841
  }
2842
+ @supports (backdrop-filter: blur(1px)) {
2843
+ .zx-message__toast {
2844
+ background: color-mix(in srgb, var(--zx-color-info-bg) 38%, var(--zx-color-glass-surface));
2845
+ backdrop-filter: blur(var(--zx-overlay-blur)) saturate(var(--zx-glass-saturation));
2846
+ box-shadow: inset 0 1px 0 var(--zx-color-glass-highlight), var(--zx-overlay-shadow);
2847
+ }
2848
+ .zx-message__toast[data-kind=success] {
2849
+ background: color-mix(in srgb, var(--zx-color-success-bg) 38%, var(--zx-color-glass-surface));
2850
+ }
2851
+ .zx-message__toast[data-kind=warning] {
2852
+ background: color-mix(in srgb, var(--zx-color-warning-bg) 38%, var(--zx-color-glass-surface));
2853
+ }
2854
+ .zx-message__toast[data-kind=error] {
2855
+ background: color-mix(in srgb, var(--zx-color-danger-bg) 38%, var(--zx-color-glass-surface));
2856
+ }
2857
+ }
2858
+ @media (prefers-reduced-transparency: reduce) {
2859
+ .zx-message__toast {
2860
+ backdrop-filter: none;
2861
+ }
2862
+ .zx-message__toast[data-kind=info] {
2863
+ background: var(--zx-color-info-bg);
2864
+ }
2865
+ .zx-message__toast[data-kind=success] {
2866
+ background: var(--zx-color-success-bg);
2867
+ }
2868
+ .zx-message__toast[data-kind=warning] {
2869
+ background: var(--zx-color-warning-bg);
2870
+ }
2871
+ .zx-message__toast[data-kind=error] {
2872
+ background: var(--zx-color-danger-bg);
2873
+ }
2874
+ }
2492
2875
  .zx-message__icon {
2493
2876
  display: inline-grid;
2494
2877
  place-items: center;
@@ -3375,7 +3758,7 @@ body:has(> .zx-modal:modal) {
3375
3758
  }
3376
3759
  .zx-select__control {
3377
3760
  display: grid;
3378
- grid-template-columns: minmax(0, 1fr) auto auto auto;
3761
+ grid-template-columns: auto minmax(0, 1fr) auto auto auto;
3379
3762
  align-items: center;
3380
3763
  min-block-size: var(--zx-control-height);
3381
3764
  overflow: hidden;
@@ -3383,10 +3766,23 @@ body:has(> .zx-modal:modal) {
3383
3766
  border-radius: var(--zx-control-radius);
3384
3767
  background: var(--zx-color-bg-control);
3385
3768
  }
3769
+ .zx-select__value-adornment {
3770
+ display: inline-flex;
3771
+ grid-column: 1;
3772
+ align-items: center;
3773
+ padding-inline-start: var(--zx-control-pad-x);
3774
+ }
3775
+ .zx-select__value-adornment[hidden] {
3776
+ display: none;
3777
+ }
3778
+ .zx-select__value-adornment:not([hidden]) + .zx-select__input {
3779
+ padding-inline-start: var(--zx-space-2) !important;
3780
+ }
3386
3781
  .zx-select__control:has(.zx-select__input:focus-visible) {
3387
3782
  box-shadow: var(--zx-focus-ring);
3388
3783
  }
3389
3784
  .zx-select__input {
3785
+ grid-column: 2;
3390
3786
  inline-size: 100%;
3391
3787
  min-inline-size: 0;
3392
3788
  min-block-size: calc(var(--zx-control-height) - 2px) !important;
@@ -3410,6 +3806,20 @@ body:has(> .zx-modal:modal) {
3410
3806
  color: var(--zx-color-text-muted);
3411
3807
  padding: 0 !important;
3412
3808
  }
3809
+ .zx-select__clear {
3810
+ grid-column: 3;
3811
+ }
3812
+ .zx-select__loading {
3813
+ grid-column: 4;
3814
+ justify-self: center;
3815
+ }
3816
+ .zx-select__toggle {
3817
+ grid-column: 5;
3818
+ align-self: stretch;
3819
+ }
3820
+ .zx-select__toggle > .zx-icon {
3821
+ display: block;
3822
+ }
3413
3823
  .zx-select__clear:hover,
3414
3824
  .zx-select__toggle:hover {
3415
3825
  color: var(--zx-color-text);
@@ -3501,19 +3911,177 @@ body:has(> .zx-modal:modal) {
3501
3911
  gap: var(--zx-space-2);
3502
3912
  }
3503
3913
  .zx-select__priority-icon {
3504
- inline-size: 10px;
3505
- block-size: 10px;
3914
+ display: inline-flex;
3915
+ gap: 2px;
3506
3916
  flex: none;
3507
- border-radius: var(--zx-radius-sm);
3508
- background: var(--zx-color-warning);
3917
+ color: var(--zx-color-warning);
3918
+ }
3919
+ .zx-select__priority-icon > span {
3920
+ inline-size: 7px;
3921
+ block-size: 7px;
3922
+ border: 1px solid currentColor;
3923
+ border-radius: 2px;
3924
+ }
3925
+ .zx-select__priority-icon > span[data-filled=true] {
3926
+ background: currentColor;
3927
+ }
3928
+ .zx-select__priority-icon[data-level="0"] {
3929
+ color: var(--zx-color-success);
3509
3930
  }
3510
- .zx-select__priority-icon[data-level="0"],
3511
3931
  .zx-select__priority-icon[data-level="1"] {
3512
- background: var(--zx-color-success);
3932
+ color: color-mix(in srgb, var(--zx-color-success) 35%, var(--zx-color-warning));
3933
+ }
3934
+ .zx-select__priority-icon[data-level="2"] {
3935
+ color: var(--zx-color-warning);
3936
+ }
3937
+ .zx-select__priority-icon[data-level="3"] {
3938
+ color: color-mix(in srgb, var(--zx-color-warning) 35%, var(--zx-color-danger));
3513
3939
  }
3514
- .zx-select__priority-icon[data-level="3"],
3515
3940
  .zx-select__priority-icon[data-level="4"] {
3516
- background: var(--zx-color-danger);
3941
+ color: var(--zx-color-danger);
3942
+ }
3943
+ .zx-select__status {
3944
+ display: grid;
3945
+ grid-template-columns: auto minmax(0, 1fr) auto;
3946
+ align-items: center;
3947
+ gap: var(--zx-space-2);
3948
+ }
3949
+ .zx-select__entity-glyph {
3950
+ display: inline-grid;
3951
+ place-items: center;
3952
+ inline-size: 20px;
3953
+ block-size: 20px;
3954
+ border-radius: var(--zx-radius-sm);
3955
+ background: var(--zx-select-entity-color, var(--zx-color-accent-subtle));
3956
+ color: var(--zx-color-text-invert);
3957
+ }
3958
+ .zx-select__status-copy,
3959
+ .zx-select__action-copy {
3960
+ display: grid;
3961
+ min-inline-size: 0;
3962
+ }
3963
+ .zx-select__status-description,
3964
+ .zx-select__action-description {
3965
+ overflow: hidden;
3966
+ color: var(--zx-color-text-muted);
3967
+ font-size: var(--zx-text-xs);
3968
+ text-overflow: ellipsis;
3969
+ white-space: nowrap;
3970
+ }
3971
+ .zx-select__status-shortcut {
3972
+ border: 0;
3973
+ background: transparent;
3974
+ color: var(--zx-color-text-muted);
3975
+ font-family: var(--zx-font-mono);
3976
+ font-size: var(--zx-text-xs);
3977
+ }
3978
+ .zx-select__status-indicator {
3979
+ position: relative;
3980
+ display: inline-grid;
3981
+ place-items: center;
3982
+ inline-size: 14px;
3983
+ block-size: 14px;
3984
+ flex: none;
3985
+ border: 2px solid currentColor;
3986
+ border-radius: var(--zx-radius-full);
3987
+ color: var(--zx-color-text-muted);
3988
+ }
3989
+ .zx-select__status-indicator[data-tone=neutral] {
3990
+ color: var(--zx-color-border-strong);
3991
+ }
3992
+ .zx-select__status-indicator[data-tone=warning] {
3993
+ color: var(--zx-color-warning);
3994
+ }
3995
+ .zx-select__status-indicator[data-tone=info] {
3996
+ color: var(--zx-color-info);
3997
+ }
3998
+ .zx-select__status-indicator[data-tone=accent] {
3999
+ color: var(--zx-color-accent);
4000
+ }
4001
+ .zx-select__status-indicator[data-tone=success] {
4002
+ color: var(--zx-color-success);
4003
+ }
4004
+ .zx-select__status-indicator[data-tone=danger] {
4005
+ color: var(--zx-color-danger);
4006
+ }
4007
+ .zx-select__status-indicator[data-indicator=dotted] {
4008
+ border-style: dotted;
4009
+ }
4010
+ .zx-select__status-indicator[data-indicator=progress]::after {
4011
+ content: "";
4012
+ inline-size: 4px;
4013
+ block-size: 4px;
4014
+ border-radius: inherit;
4015
+ background: currentColor;
4016
+ }
4017
+ .zx-select__status-indicator[data-indicator=review] {
4018
+ background:
4019
+ linear-gradient(
4020
+ 90deg,
4021
+ currentColor 50%,
4022
+ transparent 50%);
4023
+ }
4024
+ .zx-select__status-indicator[data-indicator=ready] {
4025
+ background: conic-gradient(currentColor 0 35%, transparent 35% 100%);
4026
+ }
4027
+ .zx-select__status-indicator[data-indicator=waiting] {
4028
+ background: conic-gradient(currentColor 0 70%, transparent 70% 100%);
4029
+ }
4030
+ .zx-select__status-indicator:is([data-indicator=done], [data-indicator=canceled]) {
4031
+ background: currentColor;
4032
+ }
4033
+ .zx-select__status-indicator:is([data-indicator=done], [data-indicator=canceled]) > .zx-icon {
4034
+ color: var(--zx-color-bg-raised);
4035
+ }
4036
+ .zx-select__status-indicator[data-indicator=duplicate]::after {
4037
+ content: "";
4038
+ inline-size: 8px;
4039
+ block-size: 2px;
4040
+ border-radius: var(--zx-radius-full);
4041
+ background: currentColor;
4042
+ transform: rotate(-45deg);
4043
+ }
4044
+ .zx-select__action-content {
4045
+ display: flex;
4046
+ align-items: center;
4047
+ gap: var(--zx-space-2);
4048
+ }
4049
+ .zx-select__action-icon {
4050
+ display: inline-flex;
4051
+ color: var(--zx-color-text-muted);
4052
+ }
4053
+ .zx-select__entity,
4054
+ .zx-select__entity-none {
4055
+ display: flex;
4056
+ align-items: center;
4057
+ gap: var(--zx-space-2);
4058
+ }
4059
+ .zx-select__entity-icon {
4060
+ display: inline-flex;
4061
+ flex: none;
4062
+ }
4063
+ .zx-select__entity-copy {
4064
+ display: grid;
4065
+ min-inline-size: 0;
4066
+ }
4067
+ .zx-select__entity-label {
4068
+ overflow: hidden;
4069
+ text-overflow: ellipsis;
4070
+ white-space: nowrap;
4071
+ }
4072
+ .zx-select__entity-subtitle {
4073
+ overflow: hidden;
4074
+ color: var(--zx-color-text-muted);
4075
+ font-size: var(--zx-text-xs);
4076
+ text-overflow: ellipsis;
4077
+ white-space: nowrap;
4078
+ }
4079
+ .zx-select__entity-none-icon {
4080
+ inline-size: 14px;
4081
+ block-size: 14px;
4082
+ flex: none;
4083
+ border: 2px dotted var(--zx-color-text-muted);
4084
+ border-radius: var(--zx-radius-full);
3517
4085
  }
3518
4086
  @media (prefers-reduced-motion: no-preference) {
3519
4087
  .zx-select__loading {
@@ -3625,6 +4193,20 @@ body:has(> .zx-modal:modal) {
3625
4193
  font-size: var(--zx-text-sm);
3626
4194
  line-height: 1.5;
3627
4195
  }
4196
+ .zx-tag-picker__tag[data-colored=true] {
4197
+ border-color: color-mix(in srgb, var(--zx-tag-color) 48%, var(--zx-color-border));
4198
+ background: color-mix(in srgb, var(--zx-tag-color) 14%, var(--zx-color-bg-muted));
4199
+ }
4200
+ .zx-tag-picker__visual {
4201
+ display: inline-grid;
4202
+ place-items: center;
4203
+ flex: none;
4204
+ inline-size: 18px;
4205
+ block-size: 18px;
4206
+ border-radius: var(--zx-radius-sm);
4207
+ background: color-mix(in srgb, var(--zx-tag-color, var(--zx-color-accent)) 16%, transparent);
4208
+ color: var(--zx-tag-color, var(--zx-color-accent));
4209
+ }
3628
4210
  .zx-tag-picker__tag:not(:has(.zx-tag-picker__remove)) {
3629
4211
  padding-inline-end: var(--zx-space-2);
3630
4212
  }
@@ -3715,6 +4297,9 @@ body:has(> .zx-modal:modal) {
3715
4297
  color: var(--zx-color-accent);
3716
4298
  }
3717
4299
  .zx-tag-picker__option-label {
4300
+ display: flex;
4301
+ align-items: center;
4302
+ gap: var(--zx-space-2);
3718
4303
  overflow: hidden;
3719
4304
  text-overflow: ellipsis;
3720
4305
  white-space: nowrap;
@@ -4785,6 +5370,88 @@ body:has(> .zx-modal:modal) {
4785
5370
  .zx-table {
4786
5371
  min-inline-size: 0;
4787
5372
  }
5373
+ .zx-table__column-controls {
5374
+ position: relative;
5375
+ inline-size: max-content;
5376
+ margin: 0 0 var(--zx-space-2) auto;
5377
+ }
5378
+ .zx-table__reorder-status {
5379
+ position: absolute;
5380
+ inline-size: 1px;
5381
+ block-size: 1px;
5382
+ overflow: hidden;
5383
+ clip-path: inset(50%);
5384
+ }
5385
+ .zx-table__column-controls > summary {
5386
+ display: inline-flex;
5387
+ align-items: center;
5388
+ gap: var(--zx-space-2);
5389
+ list-style: none;
5390
+ cursor: pointer;
5391
+ }
5392
+ .zx-table__column-controls > summary::-webkit-details-marker {
5393
+ display: none;
5394
+ }
5395
+ .zx-table__column-list {
5396
+ position: absolute;
5397
+ z-index: 4;
5398
+ inset-block-start: calc(100% + var(--zx-space-1));
5399
+ inset-inline-end: 0;
5400
+ display: grid;
5401
+ min-inline-size: 190px;
5402
+ border: 1px solid var(--zx-color-border-strong);
5403
+ border-radius: var(--zx-radius-md);
5404
+ background: var(--zx-color-bg-raised);
5405
+ box-shadow: var(--zx-overlay-shadow);
5406
+ padding: var(--zx-space-2);
5407
+ }
5408
+ .zx-table__column-option {
5409
+ display: flex;
5410
+ align-items: center;
5411
+ gap: var(--zx-space-2);
5412
+ min-block-size: var(--zx-control-height);
5413
+ border-radius: var(--zx-radius-sm);
5414
+ padding-inline: var(--zx-space-2);
5415
+ }
5416
+ .zx-table__column-option:hover {
5417
+ background: var(--zx-color-bg-hover);
5418
+ }
5419
+ .zx-table__reorder-column,
5420
+ .zx-table__reorder-header,
5421
+ .zx-table__reorder-cell {
5422
+ inline-size: var(--zx-control-height);
5423
+ text-align: center;
5424
+ }
5425
+ .zx-table__row-handle {
5426
+ display: inline-grid;
5427
+ place-items: center;
5428
+ inline-size: 26px;
5429
+ block-size: 26px;
5430
+ min-block-size: 0;
5431
+ border: 0;
5432
+ border-radius: var(--zx-radius-sm);
5433
+ background: transparent;
5434
+ padding: 0;
5435
+ color: var(--zx-color-text-muted);
5436
+ cursor: grab;
5437
+ }
5438
+ .zx-table__row-handle:hover,
5439
+ .zx-table__row-handle[aria-pressed=true] {
5440
+ background: var(--zx-color-bg-hover);
5441
+ color: var(--zx-color-text);
5442
+ }
5443
+ .zx-table__row-handle:active {
5444
+ cursor: grabbing;
5445
+ }
5446
+ .zx-table__body tr[data-dragging] {
5447
+ opacity: .55;
5448
+ }
5449
+ .zx-table__body tr[data-drop=before] {
5450
+ box-shadow: inset 0 2px 0 var(--zx-color-accent);
5451
+ }
5452
+ .zx-table__body tr[data-drop=after] {
5453
+ box-shadow: inset 0 -2px 0 var(--zx-color-accent);
5454
+ }
4788
5455
  .zx-table__scroll {
4789
5456
  position: relative;
4790
5457
  max-inline-size: 100%;
@@ -5074,6 +5741,9 @@ body:has(> .zx-modal:modal) {
5074
5741
  .zx-table[data-stacked] .zx-table__selection-cell {
5075
5742
  justify-content: flex-start;
5076
5743
  }
5744
+ .zx-table[data-stacked] .zx-table__reorder-cell {
5745
+ justify-content: flex-start;
5746
+ }
5077
5747
  .zx-table[data-stacked] .zx-table__empty-row {
5078
5748
  display: block;
5079
5749
  }
@@ -5094,7 +5764,7 @@ body:has(> .zx-modal:modal) {
5094
5764
 
5095
5765
  /* src/components/grid/grid.css */
5096
5766
  .zx-table[data-preset=billing-items] tr.zx-grid-billing__summary > td {
5097
- background: var(--zx-color-bg-subtle);
5767
+ background: var(--zx-color-bg-muted);
5098
5768
  font-weight: 700;
5099
5769
  }
5100
5770
 
@@ -5387,6 +6057,135 @@ body:has(> .zx-modal:modal) {
5387
6057
  display: none;
5388
6058
  }
5389
6059
 
6060
+ /* src/components/filter/filter.css */
6061
+ .zx-filter {
6062
+ display: grid;
6063
+ gap: var(--zx-space-3);
6064
+ color: var(--zx-color-text);
6065
+ }
6066
+ .zx-filter__status {
6067
+ position: absolute;
6068
+ inline-size: 1px;
6069
+ block-size: 1px;
6070
+ overflow: hidden;
6071
+ clip-path: inset(50%);
6072
+ }
6073
+ .zx-filter__group,
6074
+ .zx-filter__group > fieldset {
6075
+ min-inline-size: 0;
6076
+ margin: 0;
6077
+ border: 1px solid var(--zx-color-border);
6078
+ border-radius: var(--zx-radius-lg);
6079
+ background: var(--zx-color-bg-surface);
6080
+ padding: var(--zx-space-3);
6081
+ }
6082
+ .zx-filter__group .zx-filter__group {
6083
+ border: 0;
6084
+ border-inline-start: 3px solid var(--zx-color-border-strong);
6085
+ border-radius: 0;
6086
+ background: transparent;
6087
+ padding: 0 0 0 var(--zx-space-3);
6088
+ }
6089
+ .zx-filter__legend {
6090
+ display: inline-flex;
6091
+ align-items: center;
6092
+ gap: var(--zx-space-2);
6093
+ padding-inline: var(--zx-space-1);
6094
+ color: var(--zx-color-text-muted);
6095
+ font-size: var(--zx-text-sm);
6096
+ }
6097
+ .zx-filter__logic,
6098
+ .zx-filter__field,
6099
+ .zx-filter__operator,
6100
+ .zx-filter__value input,
6101
+ .zx-filter__value select {
6102
+ min-block-size: var(--zx-control-height);
6103
+ border: 1px solid var(--zx-color-border-control);
6104
+ border-radius: var(--zx-control-radius);
6105
+ background: var(--zx-color-bg-control);
6106
+ padding-inline: var(--zx-control-pad-x);
6107
+ color: var(--zx-color-text);
6108
+ font: inherit;
6109
+ }
6110
+ .zx-filter__logic {
6111
+ inline-size: auto;
6112
+ min-block-size: 28px;
6113
+ font-size: var(--zx-text-sm);
6114
+ }
6115
+ .zx-filter__children {
6116
+ display: grid;
6117
+ gap: var(--zx-space-2);
6118
+ margin: var(--zx-space-2) 0;
6119
+ padding: 0;
6120
+ list-style: none;
6121
+ }
6122
+ .zx-filter__condition {
6123
+ display: grid;
6124
+ grid-template-columns: minmax(9rem, 1fr) minmax(9rem, 1fr) minmax(10rem, 1.4fr) auto;
6125
+ align-items: start;
6126
+ gap: var(--zx-space-2);
6127
+ border-radius: var(--zx-radius-md);
6128
+ }
6129
+ .zx-filter__condition[data-invalid] {
6130
+ outline: 1px solid var(--zx-color-danger);
6131
+ outline-offset: var(--zx-space-1);
6132
+ }
6133
+ .zx-filter__value {
6134
+ display: grid;
6135
+ grid-template-columns: repeat(2, minmax(0, 1fr));
6136
+ gap: var(--zx-space-2);
6137
+ min-inline-size: 0;
6138
+ }
6139
+ .zx-filter__value-control,
6140
+ .zx-filter__value-control > input {
6141
+ inline-size: 100%;
6142
+ min-inline-size: 0;
6143
+ }
6144
+ .zx-filter__value > :only-child,
6145
+ .zx-filter__value--empty {
6146
+ grid-column: 1 / -1;
6147
+ }
6148
+ .zx-filter__value--empty {
6149
+ display: flex;
6150
+ align-items: center;
6151
+ min-block-size: var(--zx-control-height);
6152
+ padding-inline: var(--zx-control-pad-x);
6153
+ color: var(--zx-color-text-muted);
6154
+ font-size: var(--zx-text-sm);
6155
+ }
6156
+ .zx-filter__group-actions,
6157
+ .zx-filter__actions {
6158
+ display: flex;
6159
+ flex-wrap: wrap;
6160
+ gap: var(--zx-space-2);
6161
+ }
6162
+ .zx-filter__actions {
6163
+ justify-content: flex-end;
6164
+ }
6165
+ .zx-filter[data-readonly] .zx-filter__group-actions,
6166
+ .zx-filter[data-readonly] .zx-filter__actions,
6167
+ .zx-filter[data-disabled] .zx-filter__group-actions,
6168
+ .zx-filter[data-disabled] .zx-filter__actions {
6169
+ display: none;
6170
+ }
6171
+ @media (max-width: 680px) {
6172
+ .zx-filter__condition {
6173
+ grid-template-columns: minmax(0, 1fr);
6174
+ }
6175
+ .zx-filter__group .zx-filter__group {
6176
+ padding-inline-start: var(--zx-space-2);
6177
+ }
6178
+ .zx-filter__value {
6179
+ grid-template-columns: minmax(0, 1fr);
6180
+ }
6181
+ }
6182
+ @media (forced-colors: active) {
6183
+ .zx-filter__group,
6184
+ .zx-filter__condition[data-invalid] {
6185
+ border-color: CanvasText;
6186
+ }
6187
+ }
6188
+
5390
6189
  /* src/components/pagination/pagination.css */
5391
6190
  .zx-pagination {
5392
6191
  display: flex;