@zeyos/zx 4.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 (49) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/DESIGN-SYSTEM.md +59 -3
  3. package/dist/types/components/app-icon/app-icon.d.ts +88 -0
  4. package/dist/types/components/filter/filter-model.d.ts +87 -0
  5. package/dist/types/components/filter/filter.d.ts +331 -0
  6. package/dist/types/components/select/select.d.ts +46 -4
  7. package/dist/types/components/table/table.d.ts +103 -0
  8. package/dist/types/components/tag-picker/tag-picker.d.ts +16 -0
  9. package/dist/types/core/dom.d.ts +1 -1
  10. package/dist/types/core/util.d.ts +9 -0
  11. package/dist/types/index.d.ts +4 -1
  12. package/dist/types/zeyos/icons.d.ts +19 -2
  13. package/dist/types/zeyos/index.d.ts +1 -1
  14. package/dist/types/zeyos/select.d.ts +2 -0
  15. package/dist/zx-zeyos.esm.js +702 -75
  16. package/dist/zx-zeyos.esm.min.js +1 -1
  17. package/dist/zx.css +415 -4
  18. package/dist/zx.esm.js +1568 -115
  19. package/dist/zx.esm.min.js +3 -3
  20. package/dist/zx.global.js +1568 -115
  21. package/dist/zx.global.min.js +3 -3
  22. package/dist/zx.min.css +1 -1
  23. package/docs/api.json +379 -0
  24. package/docs/llms.md +93 -16
  25. package/docs/llms.txt +11 -9
  26. package/package.json +1 -1
  27. package/src/components/app-icon/app-icon.css +105 -0
  28. package/src/components/app-icon/app-icon.js +134 -0
  29. package/src/components/filter/filter-model.js +226 -0
  30. package/src/components/filter/filter.css +147 -0
  31. package/src/components/filter/filter.js +554 -0
  32. package/src/components/grid/grid.css +1 -1
  33. package/src/components/grid/grid.js +4 -1
  34. package/src/components/message/message.css +36 -3
  35. package/src/components/select/select.css +17 -0
  36. package/src/components/select/select.js +105 -24
  37. package/src/components/table/table.css +85 -0
  38. package/src/components/table/table.js +418 -24
  39. package/src/components/tag-picker/tag-picker.css +19 -0
  40. package/src/components/tag-picker/tag-picker.js +42 -5
  41. package/src/core/dom.js +1 -1
  42. package/src/core/util.js +20 -0
  43. package/src/index.js +7 -1
  44. package/src/zeyos/icons.js +34 -21
  45. package/src/zeyos/index.js +1 -1
  46. package/src/zeyos/select.js +6 -5
  47. package/styles/tokens/semantic.css +9 -0
  48. package/styles/tokens/themes.css +2 -2
  49. package/styles/zx.css +2 -0
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
  }
@@ -2051,6 +2063,111 @@ button.zx-panel__toggle:focus-visible {
2051
2063
  display: none;
2052
2064
  }
2053
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
+
2054
2171
  /* src/components/launcher/launcher.css */
2055
2172
  .zx-launcher {
2056
2173
  inline-size: min(760px, calc(100vw - (2 * var(--zx-space-4))));
@@ -2677,11 +2794,14 @@ button.zx-panel__toggle:focus-visible {
2677
2794
  }
2678
2795
  .zx-message-region {
2679
2796
  position: fixed;
2680
- inset-block: var(--zx-space-4) auto;
2681
- 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);
2682
2801
  inline-size: min(420px, calc(100% - (2 * var(--zx-space-4))));
2802
+ block-size: max-content;
2683
2803
  max-block-size: calc(100% - (2 * var(--zx-space-4)));
2684
- margin: 0 auto;
2804
+ margin: 0;
2685
2805
  overflow: visible;
2686
2806
  border: 0;
2687
2807
  background: none;
@@ -2689,6 +2809,8 @@ button.zx-panel__toggle:focus-visible {
2689
2809
  }
2690
2810
  .zx-message-region:popover-open {
2691
2811
  display: grid;
2812
+ grid-auto-rows: max-content;
2813
+ align-content: start;
2692
2814
  }
2693
2815
  .zx-message__toast {
2694
2816
  --zx-message-kind: var(--zx-color-info);
@@ -2717,6 +2839,39 @@ button.zx-panel__toggle:focus-visible {
2717
2839
  --zx-message-kind: var(--zx-color-danger);
2718
2840
  background: var(--zx-color-danger-bg);
2719
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
+ }
2720
2875
  .zx-message__icon {
2721
2876
  display: inline-grid;
2722
2877
  place-items: center;
@@ -3613,6 +3768,7 @@ body:has(> .zx-modal:modal) {
3613
3768
  }
3614
3769
  .zx-select__value-adornment {
3615
3770
  display: inline-flex;
3771
+ grid-column: 1;
3616
3772
  align-items: center;
3617
3773
  padding-inline-start: var(--zx-control-pad-x);
3618
3774
  }
@@ -3626,6 +3782,7 @@ body:has(> .zx-modal:modal) {
3626
3782
  box-shadow: var(--zx-focus-ring);
3627
3783
  }
3628
3784
  .zx-select__input {
3785
+ grid-column: 2;
3629
3786
  inline-size: 100%;
3630
3787
  min-inline-size: 0;
3631
3788
  min-block-size: calc(var(--zx-control-height) - 2px) !important;
@@ -3649,6 +3806,20 @@ body:has(> .zx-modal:modal) {
3649
3806
  color: var(--zx-color-text-muted);
3650
3807
  padding: 0 !important;
3651
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
+ }
3652
3823
  .zx-select__clear:hover,
3653
3824
  .zx-select__toggle:hover {
3654
3825
  color: var(--zx-color-text);
@@ -3775,6 +3946,15 @@ body:has(> .zx-modal:modal) {
3775
3946
  align-items: center;
3776
3947
  gap: var(--zx-space-2);
3777
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
+ }
3778
3958
  .zx-select__status-copy,
3779
3959
  .zx-select__action-copy {
3780
3960
  display: grid;
@@ -4013,6 +4193,20 @@ body:has(> .zx-modal:modal) {
4013
4193
  font-size: var(--zx-text-sm);
4014
4194
  line-height: 1.5;
4015
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
+ }
4016
4210
  .zx-tag-picker__tag:not(:has(.zx-tag-picker__remove)) {
4017
4211
  padding-inline-end: var(--zx-space-2);
4018
4212
  }
@@ -4103,6 +4297,9 @@ body:has(> .zx-modal:modal) {
4103
4297
  color: var(--zx-color-accent);
4104
4298
  }
4105
4299
  .zx-tag-picker__option-label {
4300
+ display: flex;
4301
+ align-items: center;
4302
+ gap: var(--zx-space-2);
4106
4303
  overflow: hidden;
4107
4304
  text-overflow: ellipsis;
4108
4305
  white-space: nowrap;
@@ -5173,6 +5370,88 @@ body:has(> .zx-modal:modal) {
5173
5370
  .zx-table {
5174
5371
  min-inline-size: 0;
5175
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
+ }
5176
5455
  .zx-table__scroll {
5177
5456
  position: relative;
5178
5457
  max-inline-size: 100%;
@@ -5462,6 +5741,9 @@ body:has(> .zx-modal:modal) {
5462
5741
  .zx-table[data-stacked] .zx-table__selection-cell {
5463
5742
  justify-content: flex-start;
5464
5743
  }
5744
+ .zx-table[data-stacked] .zx-table__reorder-cell {
5745
+ justify-content: flex-start;
5746
+ }
5465
5747
  .zx-table[data-stacked] .zx-table__empty-row {
5466
5748
  display: block;
5467
5749
  }
@@ -5482,7 +5764,7 @@ body:has(> .zx-modal:modal) {
5482
5764
 
5483
5765
  /* src/components/grid/grid.css */
5484
5766
  .zx-table[data-preset=billing-items] tr.zx-grid-billing__summary > td {
5485
- background: var(--zx-color-bg-subtle);
5767
+ background: var(--zx-color-bg-muted);
5486
5768
  font-weight: 700;
5487
5769
  }
5488
5770
 
@@ -5775,6 +6057,135 @@ body:has(> .zx-modal:modal) {
5775
6057
  display: none;
5776
6058
  }
5777
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
+
5778
6189
  /* src/components/pagination/pagination.css */
5779
6190
  .zx-pagination {
5780
6191
  display: flex;