@zeyos/zx 4.2.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +5 -0
  3. package/dist/types/components/calendar/calendar.d.ts +19 -2
  4. package/dist/types/components/dialog/dialog.d.ts +6 -1
  5. package/dist/types/components/dropdown/dropdown.d.ts +5 -0
  6. package/dist/types/components/launcher/launcher.d.ts +5 -0
  7. package/dist/types/components/message/message.d.ts +9 -1
  8. package/dist/types/components/modal/modal.d.ts +44 -7
  9. package/dist/types/components/sheet/sheet.d.ts +22 -12
  10. package/dist/types/core/overlay-host.d.ts +12 -0
  11. package/dist/zx-zeyos.esm.js +138 -32
  12. package/dist/zx-zeyos.esm.min.js +1 -1
  13. package/dist/zx.css +259 -132
  14. package/dist/zx.esm.js +277 -82
  15. package/dist/zx.esm.min.js +3 -3
  16. package/dist/zx.global.js +277 -82
  17. package/dist/zx.global.min.js +3 -3
  18. package/dist/zx.min.css +1 -1
  19. package/docs/api.json +36 -0
  20. package/docs/llms.md +37 -18
  21. package/docs/llms.txt +1 -1
  22. package/package.json +1 -1
  23. package/src/components/account-menu/account-menu.css +1 -1
  24. package/src/components/app-rail/app-rail.css +1 -1
  25. package/src/components/calendar/calendar.css +66 -24
  26. package/src/components/calendar/calendar.js +114 -19
  27. package/src/components/context-menu/context-menu.css +2 -2
  28. package/src/components/context-menu/context-menu.js +5 -1
  29. package/src/components/date-picker/date-picker.css +18 -11
  30. package/src/components/datebox/date-range-box.css +4 -2
  31. package/src/components/datebox/datebox.css +4 -2
  32. package/src/components/dialog/dialog.css +4 -3
  33. package/src/components/dialog/dialog.js +2 -1
  34. package/src/components/dropdown/dropdown.css +4 -2
  35. package/src/components/dropdown/dropdown.js +7 -2
  36. package/src/components/launcher/launcher.css +10 -8
  37. package/src/components/launcher/launcher.js +9 -2
  38. package/src/components/menu-button/menu-button.css +2 -2
  39. package/src/components/message/message.css +7 -16
  40. package/src/components/message/message.js +17 -11
  41. package/src/components/modal/modal.css +6 -4
  42. package/src/components/modal/modal.js +99 -25
  43. package/src/components/select/select.css +9 -7
  44. package/src/components/sheet/sheet.css +25 -7
  45. package/src/components/sheet/sheet.js +43 -23
  46. package/src/components/table/table.css +5 -3
  47. package/src/components/tag-picker/tag-picker.css +5 -3
  48. package/src/components/tooltip/tooltip.css +4 -2
  49. package/src/components/tooltip/tooltip.js +4 -1
  50. package/src/core/overlay-host.js +23 -0
  51. package/styles/tokens/dark.css +4 -0
  52. package/styles/tokens/semantic.css +83 -8
package/dist/zx.css CHANGED
@@ -182,9 +182,45 @@
182
182
  --zx-color-glass-chrome: color-mix(in srgb, var(--zx-color-bg-surface) 90%, transparent);
183
183
  --zx-color-glass-control: color-mix(in srgb, var(--zx-color-bg-control) 88%, transparent);
184
184
  --zx-color-glass-control-hover: color-mix(in srgb, var(--zx-color-bg-hover) 76%, var(--zx-color-glass-surface));
185
- --zx-color-overlay-surface: color-mix(in srgb, var(--zx-color-bg-raised) 88%, transparent);
186
- --zx-color-overlay-panel: color-mix(in srgb, var(--zx-color-bg-raised) 94%, transparent);
187
- --zx-color-overlay-border: color-mix(in srgb, var(--zx-color-border-strong) 72%, var(--zx-color-glass-highlight));
185
+ --zx-color-overlay-base: var(--zx-color-bg-raised);
186
+ --zx-color-overlay-surface: color-mix(in srgb, var(--zx-color-overlay-base) 72%, transparent);
187
+ --zx-color-overlay-panel: color-mix(in srgb, var(--zx-color-overlay-base) 80%, transparent);
188
+ --zx-color-overlay-backdrop: color-mix(in srgb, var(--zx-gray-950) 28%, transparent);
189
+ --zx-color-overlay-border: color-mix(in srgb, var(--zx-color-text) 14%, transparent);
190
+ --zx-color-overlay-hover: color-mix(in srgb, var(--zx-color-text) 8%, transparent);
191
+ --zx-color-overlay-selected: color-mix(in srgb, var(--zx-color-accent) 18%, transparent);
192
+ --zx-color-overlay-divider: color-mix(in srgb, var(--zx-color-text) 11%, transparent);
193
+ --zx-color-overlay-scrim: color-mix(in srgb, var(--zx-color-overlay-base) 28%, transparent);
194
+ --zx-overlay-specular-strength: 48%;
195
+ --zx-overlay-surface-image:
196
+ linear-gradient(
197
+ 145deg,
198
+ color-mix(in srgb, var(--zx-color-glass-highlight-strong) var(--zx-overlay-specular-strength), transparent) 0%,
199
+ color-mix(in srgb, var(--zx-color-glass-highlight) 16%, transparent) 28%,
200
+ transparent 54%),
201
+ radial-gradient(
202
+ 120% 100% at 8% -12%,
203
+ color-mix(in srgb, var(--zx-color-accent) 8%, transparent),
204
+ transparent 58%);
205
+ --zx-overlay-toast-image:
206
+ radial-gradient(
207
+ 120% 160% at 0% 0%,
208
+ color-mix(in srgb, var(--zx-message-kind, var(--zx-color-info)) 18%, transparent),
209
+ transparent 62%),
210
+ var(--zx-overlay-surface-image);
211
+ --zx-overlay-panel-image:
212
+ radial-gradient(
213
+ 140% 100% at 0% 0%,
214
+ color-mix(in srgb, var(--zx-color-glass-highlight-strong) var(--zx-overlay-specular-strength), transparent) 0%,
215
+ transparent 58%),
216
+ radial-gradient(
217
+ 100% 70% at 100% 0%,
218
+ color-mix(in srgb, var(--zx-color-accent) 5%, transparent),
219
+ transparent 64%),
220
+ linear-gradient(
221
+ 180deg,
222
+ color-mix(in srgb, var(--zx-color-glass-highlight) 16%, transparent) 0%,
223
+ transparent 28%);
188
224
  --zx-glass-blur: 8px;
189
225
  --zx-glass-saturation: 130%;
190
226
  --zx-glass-color-strength: 82%;
@@ -192,8 +228,8 @@
192
228
  --zx-glass-filter-control: blur(6px) saturate(116%);
193
229
  --zx-glass-filter-raised: blur(8px) saturate(120%);
194
230
  --zx-glass-filter-chrome: blur(10px) saturate(122%);
195
- --zx-glass-filter-overlay: blur(12px) saturate(128%);
196
- --zx-glass-filter-panel: blur(9px) saturate(120%);
231
+ --zx-glass-filter-overlay: blur(16px) saturate(140%);
232
+ --zx-glass-filter-panel: blur(14px) saturate(132%);
197
233
  --zx-app-icon-shadow:
198
234
  inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 14%, transparent),
199
235
  inset 0 -1px 0 color-mix(in srgb, var(--zx-gray-950) 28%, transparent),
@@ -205,18 +241,38 @@
205
241
  --zx-glass-control-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-shadow-1);
206
242
  --zx-glass-chrome-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 16%, transparent), var(--zx-shadow-1);
207
243
  --zx-glass-raised-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-overlay-shadow);
244
+ --zx-glass-overlay-shadow:
245
+ inset 0 1px 0 color-mix(in srgb, var(--zx-color-glass-highlight-strong) 42%, transparent),
246
+ inset 0 0 0 1px color-mix(in srgb, var(--zx-color-glass-highlight) 20%, transparent),
247
+ var(--zx-overlay-shadow);
248
+ --zx-glass-panel-shadow:
249
+ inset 0 1px 0 color-mix(in srgb, var(--zx-color-glass-highlight-strong) 34%, transparent),
250
+ inset 0 0 0 1px color-mix(in srgb, var(--zx-color-glass-highlight) 14%, transparent),
251
+ var(--zx-overlay-shadow);
208
252
  --zx-header-bg: var(--zx-gray-900);
209
253
  --zx-header-text: var(--zx-gray-50);
210
254
  }
211
255
  @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
212
256
  :root,
213
- [data-zx-theme] {
257
+ .zx-scope,
258
+ [data-zx-theme],
259
+ [data-zx-density],
260
+ [data-zx-preset] {
214
261
  --zx-color-glass-chrome: var(--zx-color-bg-surface) !important;
215
262
  --zx-color-glass-surface: var(--zx-color-bg-raised) !important;
216
263
  --zx-color-glass-control: var(--zx-color-bg-control) !important;
217
264
  --zx-color-glass-control-hover: var(--zx-color-bg-hover) !important;
218
265
  --zx-color-overlay-surface: var(--zx-color-bg-raised) !important;
219
266
  --zx-color-overlay-panel: var(--zx-color-bg-raised) !important;
267
+ --zx-color-overlay-backdrop: var(--zx-color-bg-backdrop) !important;
268
+ --zx-color-overlay-hover: var(--zx-color-bg-hover) !important;
269
+ --zx-color-overlay-selected: var(--zx-color-bg-selected) !important;
270
+ --zx-color-overlay-divider: var(--zx-color-border) !important;
271
+ --zx-color-overlay-scrim: var(--zx-color-bg-raised) !important;
272
+ --zx-overlay-specular-strength: 0% !important;
273
+ --zx-overlay-surface-image: none !important;
274
+ --zx-overlay-toast-image: none !important;
275
+ --zx-overlay-panel-image: none !important;
220
276
  --zx-app-icon-core-strength: 68% !important;
221
277
  --zx-app-icon-rim-strength: 62% !important;
222
278
  --zx-app-icon-bloom-strength: 0% !important;
@@ -229,21 +285,56 @@
229
285
  --zx-glass-filter-chrome: none !important;
230
286
  --zx-glass-filter-overlay: none !important;
231
287
  --zx-glass-filter-panel: none !important;
288
+ --zx-glass-overlay-shadow: var(--zx-overlay-shadow) !important;
289
+ --zx-glass-panel-shadow: var(--zx-overlay-shadow) !important;
232
290
  }
233
291
  }
234
292
  @media (forced-colors: active) {
235
293
  :root,
236
- [data-zx-theme] {
294
+ .zx-scope,
295
+ [data-zx-theme],
296
+ [data-zx-density],
297
+ [data-zx-preset] {
237
298
  --zx-color-glass-chrome: Canvas !important;
238
299
  --zx-color-glass-surface: Canvas !important;
239
300
  --zx-color-glass-control: ButtonFace !important;
240
301
  --zx-color-glass-control-hover: Highlight !important;
241
302
  --zx-color-overlay-surface: Canvas !important;
242
303
  --zx-color-overlay-panel: Canvas !important;
304
+ --zx-color-overlay-backdrop: transparent !important;
243
305
  --zx-color-overlay-border: CanvasText !important;
306
+ --zx-color-overlay-hover: Highlight !important;
307
+ --zx-color-overlay-selected: Highlight !important;
308
+ --zx-color-overlay-divider: CanvasText !important;
309
+ --zx-color-overlay-scrim: Canvas !important;
310
+ --zx-overlay-specular-strength: 0% !important;
311
+ --zx-overlay-surface-image: none !important;
312
+ --zx-overlay-toast-image: none !important;
313
+ --zx-overlay-panel-image: none !important;
244
314
  --zx-glass-control-shadow: none !important;
245
315
  --zx-glass-chrome-shadow: none !important;
246
316
  --zx-glass-raised-shadow: none !important;
317
+ --zx-glass-filter-overlay: none !important;
318
+ --zx-glass-filter-panel: none !important;
319
+ --zx-glass-overlay-shadow: none !important;
320
+ --zx-glass-panel-shadow: none !important;
321
+ }
322
+ }
323
+ @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
324
+ :root,
325
+ .zx-scope,
326
+ [data-zx-theme],
327
+ [data-zx-density],
328
+ [data-zx-preset] {
329
+ --zx-color-overlay-surface: var(--zx-color-bg-raised) !important;
330
+ --zx-color-overlay-panel: var(--zx-color-bg-raised) !important;
331
+ --zx-color-overlay-backdrop: var(--zx-color-bg-backdrop) !important;
332
+ --zx-overlay-specular-strength: 0% !important;
333
+ --zx-overlay-surface-image: none !important;
334
+ --zx-overlay-toast-image: none !important;
335
+ --zx-overlay-panel-image: none !important;
336
+ --zx-glass-filter-overlay: none !important;
337
+ --zx-glass-filter-panel: none !important;
247
338
  }
248
339
  }
249
340
 
@@ -258,6 +349,8 @@
258
349
  --zx-color-bg-hover: color-mix(in srgb, var(--zx-gray-0) 8%, transparent);
259
350
  --zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-400) 18%, var(--zx-gray-900));
260
351
  --zx-color-bg-backdrop: color-mix(in srgb, var(--zx-gray-950) 75%, transparent);
352
+ --zx-color-overlay-base: color-mix(in srgb, var(--zx-color-bg-raised) 42%, var(--zx-color-bg-page));
353
+ --zx-color-overlay-backdrop: color-mix(in srgb, var(--zx-gray-950) 38%, transparent);
261
354
  --zx-color-border: color-mix(in srgb, var(--zx-gray-0) 10%, transparent);
262
355
  --zx-color-border-strong: color-mix(in srgb, var(--zx-gray-0) 28%, transparent);
263
356
  --zx-color-border-control: color-mix(in srgb, var(--zx-gray-0) 15%, transparent);
@@ -295,6 +388,8 @@
295
388
  --zx-color-bg-hover: color-mix(in srgb, var(--zx-gray-0) 8%, transparent);
296
389
  --zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-400) 18%, var(--zx-gray-900));
297
390
  --zx-color-bg-backdrop: color-mix(in srgb, var(--zx-gray-950) 75%, transparent);
391
+ --zx-color-overlay-base: color-mix(in srgb, var(--zx-color-bg-raised) 42%, var(--zx-color-bg-page));
392
+ --zx-color-overlay-backdrop: color-mix(in srgb, var(--zx-gray-950) 38%, transparent);
298
393
  --zx-color-border: color-mix(in srgb, var(--zx-gray-0) 10%, transparent);
299
394
  --zx-color-border-strong: color-mix(in srgb, var(--zx-gray-0) 28%, transparent);
300
395
  --zx-color-border-control: color-mix(in srgb, var(--zx-gray-0) 15%, transparent);
@@ -2634,10 +2729,12 @@ button.zx-panel__toggle:focus-visible {
2634
2729
  max-block-size: min(720px, calc(100vh - (2 * var(--zx-space-6))));
2635
2730
  border: 1px solid var(--zx-color-overlay-border);
2636
2731
  border-radius: var(--zx-radius-xl);
2637
- background: var(--zx-color-overlay-panel);
2732
+ background-color: var(--zx-color-overlay-panel);
2733
+ background-image: var(--zx-overlay-panel-image);
2734
+ background-clip: padding-box;
2638
2735
  -webkit-backdrop-filter: var(--zx-glass-filter-panel);
2639
2736
  backdrop-filter: var(--zx-glass-filter-panel);
2640
- box-shadow: var(--zx-glass-raised-shadow);
2737
+ box-shadow: var(--zx-glass-panel-shadow);
2641
2738
  color: var(--zx-color-text);
2642
2739
  padding: 0;
2643
2740
  }
@@ -2651,7 +2748,7 @@ button.zx-panel__toggle:focus-visible {
2651
2748
  }
2652
2749
  }
2653
2750
  .zx-launcher::backdrop {
2654
- background: var(--zx-color-bg-backdrop);
2751
+ background: var(--zx-color-overlay-backdrop);
2655
2752
  }
2656
2753
  .zx-launcher__surface {
2657
2754
  display: grid;
@@ -2663,7 +2760,7 @@ button.zx-panel__toggle:focus-visible {
2663
2760
  grid-template-columns: auto minmax(0, 1fr) auto auto;
2664
2761
  align-items: center;
2665
2762
  gap: var(--zx-space-3);
2666
- border-block-end: 1px solid var(--zx-color-border);
2763
+ border-block-end: 1px solid var(--zx-color-overlay-divider);
2667
2764
  padding: var(--zx-space-3) var(--zx-space-4);
2668
2765
  }
2669
2766
  .zx-launcher__search[data-shortcut=false] {
@@ -2746,10 +2843,10 @@ button.zx-panel__toggle:focus-visible {
2746
2843
  }
2747
2844
  .zx-launcher__option[aria-selected=true],
2748
2845
  .zx-launcher__option:hover {
2749
- background: var(--zx-color-bg-hover);
2846
+ background: var(--zx-color-overlay-hover);
2750
2847
  }
2751
2848
  .zx-launcher__option[aria-current=page] {
2752
- background: var(--zx-color-bg-selected);
2849
+ background: var(--zx-color-overlay-selected);
2753
2850
  color: var(--zx-color-accent);
2754
2851
  }
2755
2852
  .zx-launcher__option[data-kind=application] {
@@ -2762,7 +2859,7 @@ button.zx-panel__toggle:focus-visible {
2762
2859
  text-align: center;
2763
2860
  }
2764
2861
  .zx-launcher__option[data-kind=application][aria-current=page] {
2765
- background: var(--zx-color-bg-selected);
2862
+ background: var(--zx-color-overlay-selected);
2766
2863
  }
2767
2864
  .zx-launcher__option[data-kind=application] .zx-launcher__icon {
2768
2865
  min-block-size: 36px;
@@ -2816,7 +2913,7 @@ button.zx-panel__toggle:focus-visible {
2816
2913
  justify-content: end;
2817
2914
  gap: var(--zx-space-4);
2818
2915
  padding: var(--zx-space-2) var(--zx-space-4);
2819
- border-block-start: 1px solid var(--zx-color-border);
2916
+ border-block-start: 1px solid var(--zx-color-overlay-divider);
2820
2917
  color: var(--zx-color-text-muted);
2821
2918
  font-size: var(--zx-text-xs);
2822
2919
  }
@@ -2978,7 +3075,7 @@ button.zx-panel__toggle:focus-visible {
2978
3075
  min-inline-size: 220px;
2979
3076
  gap: 2px;
2980
3077
  margin: calc(-1 * var(--zx-space-1)) calc(-1 * var(--zx-space-1)) var(--zx-space-1);
2981
- border-block-end: 1px solid var(--zx-color-border);
3078
+ border-block-end: 1px solid var(--zx-color-overlay-divider);
2982
3079
  padding: var(--zx-space-3);
2983
3080
  }
2984
3081
  .zx-account-menu__panel-identity span {
@@ -3128,7 +3225,7 @@ button.zx-panel__toggle:focus-visible {
3128
3225
  .zx-app-rail__flyout-item:hover,
3129
3226
  .zx-app-rail__flyout-item:focus-visible,
3130
3227
  .zx-app-rail__flyout-item[aria-current=page] {
3131
- background: var(--zx-color-bg-hover);
3228
+ background: var(--zx-color-overlay-hover);
3132
3229
  color: var(--zx-color-accent);
3133
3230
  }
3134
3231
  .zx-app-rail__flyout-item-icon {
@@ -3326,21 +3423,15 @@ button.zx-panel__toggle:focus-visible {
3326
3423
  --zx-message-kind: var(--zx-color-danger);
3327
3424
  background: var(--zx-color-danger-bg);
3328
3425
  }
3329
- @supports (backdrop-filter: blur(1px)) {
3426
+ @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
3330
3427
  .zx-message__toast {
3331
- background: color-mix(in srgb, var(--zx-color-info-bg) 34%, var(--zx-color-overlay-surface));
3428
+ border-color: color-mix(in srgb, var(--zx-message-kind) 28%, var(--zx-color-overlay-border));
3429
+ background-color: var(--zx-color-overlay-surface);
3430
+ background-image: var(--zx-overlay-toast-image);
3431
+ background-clip: padding-box;
3332
3432
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
3333
3433
  backdrop-filter: var(--zx-glass-filter-overlay);
3334
- box-shadow: inset 0 0 0 1px var(--zx-message-kind), var(--zx-glass-raised-shadow);
3335
- }
3336
- .zx-message__toast[data-kind=success] {
3337
- background: color-mix(in srgb, var(--zx-color-success-bg) 34%, var(--zx-color-overlay-surface));
3338
- }
3339
- .zx-message__toast[data-kind=warning] {
3340
- background: color-mix(in srgb, var(--zx-color-warning-bg) 34%, var(--zx-color-overlay-surface));
3341
- }
3342
- .zx-message__toast[data-kind=error] {
3343
- background: color-mix(in srgb, var(--zx-color-danger-bg) 34%, var(--zx-color-overlay-surface));
3434
+ box-shadow: var(--zx-glass-overlay-shadow);
3344
3435
  }
3345
3436
  }
3346
3437
  @media (prefers-reduced-transparency: reduce) {
@@ -3380,7 +3471,7 @@ button.zx-panel__toggle:focus-visible {
3380
3471
  block-size: 4px;
3381
3472
  margin-block-start: var(--zx-space-2);
3382
3473
  border-radius: var(--zx-radius-full);
3383
- background: var(--zx-color-border);
3474
+ background: var(--zx-color-overlay-divider);
3384
3475
  }
3385
3476
  .zx-message__progress-fill {
3386
3477
  display: block;
@@ -3427,10 +3518,12 @@ button.zx-panel__toggle:focus-visible {
3427
3518
  overflow: auto;
3428
3519
  border: 1px solid var(--zx-color-overlay-border);
3429
3520
  border-radius: var(--zx-radius-lg);
3430
- background: var(--zx-color-overlay-panel);
3521
+ background-color: var(--zx-color-overlay-panel);
3522
+ background-image: var(--zx-overlay-panel-image);
3523
+ background-clip: padding-box;
3431
3524
  -webkit-backdrop-filter: var(--zx-glass-filter-panel);
3432
3525
  backdrop-filter: var(--zx-glass-filter-panel);
3433
- box-shadow: var(--zx-glass-raised-shadow);
3526
+ box-shadow: var(--zx-glass-panel-shadow);
3434
3527
  color: var(--zx-color-text);
3435
3528
  padding: 0;
3436
3529
  }
@@ -3444,12 +3537,12 @@ button.zx-panel__toggle:focus-visible {
3444
3537
  }
3445
3538
  }
3446
3539
  .zx-modal::backdrop {
3447
- background: var(--zx-color-bg-backdrop);
3540
+ background: var(--zx-color-overlay-backdrop);
3448
3541
  }
3449
3542
  .zx-modal__content {
3450
3543
  padding: var(--zx-space-5);
3451
3544
  }
3452
- body:has(> .zx-modal:modal) {
3545
+ body:has(.zx-modal:modal) {
3453
3546
  overflow: hidden;
3454
3547
  overscroll-behavior: none;
3455
3548
  }
@@ -3478,7 +3571,8 @@ body:has(> .zx-modal:modal) {
3478
3571
  grid-template-rows: auto minmax(0, 1fr) auto;
3479
3572
  padding: 0;
3480
3573
  }
3481
- .zx-dialog[open] {
3574
+ .zx-dialog[open],
3575
+ .zx-dialog:popover-open {
3482
3576
  display: grid;
3483
3577
  }
3484
3578
  .zx-dialog__header,
@@ -3490,7 +3584,7 @@ body:has(> .zx-modal:modal) {
3490
3584
  }
3491
3585
  .zx-dialog__header {
3492
3586
  justify-content: space-between;
3493
- border-block-end: 1px solid var(--zx-color-border);
3587
+ border-block-end: 1px solid var(--zx-color-overlay-divider);
3494
3588
  }
3495
3589
  .zx-dialog__title {
3496
3590
  margin: 0;
@@ -3509,7 +3603,7 @@ body:has(> .zx-modal:modal) {
3509
3603
  }
3510
3604
  .zx-dialog__footer {
3511
3605
  justify-content: flex-end;
3512
- border-block-start: 1px solid var(--zx-color-border);
3606
+ border-block-start: 1px solid var(--zx-color-overlay-divider);
3513
3607
  }
3514
3608
  .zx-dialog__footer[hidden] {
3515
3609
  display: none;
@@ -3546,7 +3640,7 @@ body:has(> .zx-modal:modal) {
3546
3640
  border: 0;
3547
3641
  border-radius: 0;
3548
3642
  overflow: hidden;
3549
- box-shadow: var(--zx-glass-raised-shadow);
3643
+ box-shadow: var(--zx-glass-panel-shadow);
3550
3644
  }
3551
3645
  .zx-sheet[data-side=start],
3552
3646
  .zx-sheet[data-side=end] {
@@ -3557,13 +3651,13 @@ body:has(> .zx-modal:modal) {
3557
3651
  .zx-sheet[data-side=start] {
3558
3652
  inset-inline-start: 0;
3559
3653
  inset-inline-end: auto;
3560
- border-inline-end: 1px solid var(--zx-color-border);
3654
+ border-inline-end: 1px solid var(--zx-color-overlay-border);
3561
3655
  --zx-sheet-enter: -100% 0;
3562
3656
  }
3563
3657
  .zx-sheet[data-side=end] {
3564
3658
  inset-inline-start: auto;
3565
3659
  inset-inline-end: 0;
3566
- border-inline-start: 1px solid var(--zx-color-border);
3660
+ border-inline-start: 1px solid var(--zx-color-overlay-border);
3567
3661
  --zx-sheet-enter: 100% 0;
3568
3662
  }
3569
3663
  [dir=rtl] .zx-sheet[data-side=start] {
@@ -3581,7 +3675,7 @@ body:has(> .zx-modal:modal) {
3581
3675
  .zx-sheet[data-side=top] {
3582
3676
  inset-block-start: 0;
3583
3677
  inset-block-end: auto;
3584
- border-block-end: 1px solid var(--zx-color-border);
3678
+ border-block-end: 1px solid var(--zx-color-overlay-border);
3585
3679
  border-end-start-radius: var(--zx-sheet-radius, var(--zx-radius-xl));
3586
3680
  border-end-end-radius: var(--zx-sheet-radius, var(--zx-radius-xl));
3587
3681
  --zx-sheet-enter: 0 -100%;
@@ -3589,7 +3683,7 @@ body:has(> .zx-modal:modal) {
3589
3683
  .zx-sheet[data-side=bottom] {
3590
3684
  inset-block-start: auto;
3591
3685
  inset-block-end: 0;
3592
- border-block-start: 1px solid var(--zx-color-border);
3686
+ border-block-start: 1px solid var(--zx-color-overlay-border);
3593
3687
  border-start-start-radius: var(--zx-sheet-radius, var(--zx-radius-xl));
3594
3688
  border-start-end-radius: var(--zx-sheet-radius, var(--zx-radius-xl));
3595
3689
  --zx-sheet-enter: 0 100%;
@@ -3598,8 +3692,21 @@ body:has(> .zx-modal:modal) {
3598
3692
  background: transparent;
3599
3693
  }
3600
3694
  .zx-sheet[data-backdrop=blur]::backdrop {
3695
+ -webkit-backdrop-filter: blur(var(--zx-overlay-blur));
3601
3696
  backdrop-filter: blur(var(--zx-overlay-blur));
3602
3697
  }
3698
+ .zx-sheet[data-modality=none]::backdrop,
3699
+ .zx-sheet[data-modality=trap-focus]::backdrop {
3700
+ background: transparent;
3701
+ -webkit-backdrop-filter: none;
3702
+ backdrop-filter: none;
3703
+ }
3704
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more), (forced-colors: active) {
3705
+ .zx-sheet[data-backdrop=blur]::backdrop {
3706
+ -webkit-backdrop-filter: none;
3707
+ backdrop-filter: none;
3708
+ }
3709
+ }
3603
3710
  @media (prefers-reduced-motion: no-preference) {
3604
3711
  .zx-sheet {
3605
3712
  transition:
@@ -3611,12 +3718,13 @@ body:has(> .zx-modal:modal) {
3611
3718
  .zx-sheet[data-state=open] {
3612
3719
  animation: none;
3613
3720
  }
3614
- .zx-sheet:not([open]) {
3721
+ .zx-sheet:not([open]):not(:popover-open) {
3615
3722
  translate: var(--zx-sheet-enter, 0 0);
3616
3723
  opacity: 0;
3617
3724
  }
3618
3725
  @starting-style {
3619
- .zx-sheet[open] {
3726
+ .zx-sheet[open],
3727
+ .zx-sheet:popover-open {
3620
3728
  translate: var(--zx-sheet-enter, 0 0);
3621
3729
  opacity: 0;
3622
3730
  }
@@ -3818,10 +3926,12 @@ body:has(> .zx-modal:modal) {
3818
3926
  overflow: auto;
3819
3927
  border: 1px solid var(--zx-color-overlay-border);
3820
3928
  border-radius: var(--zx-radius-md);
3821
- background: var(--zx-color-overlay-surface);
3929
+ background-color: var(--zx-color-overlay-surface);
3930
+ background-image: var(--zx-overlay-surface-image);
3931
+ background-clip: padding-box;
3822
3932
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
3823
3933
  backdrop-filter: var(--zx-glass-filter-overlay);
3824
- box-shadow: var(--zx-glass-raised-shadow);
3934
+ box-shadow: var(--zx-glass-overlay-shadow);
3825
3935
  color: var(--zx-color-text);
3826
3936
  padding: var(--zx-space-3);
3827
3937
  }
@@ -3851,10 +3961,12 @@ body:has(> .zx-modal:modal) {
3851
3961
  max-inline-size: var(--zx-tooltip-max-inline-size, 260px);
3852
3962
  border: 1px solid var(--zx-color-overlay-border);
3853
3963
  border-radius: var(--zx-radius-md);
3854
- background: var(--zx-color-overlay-surface);
3964
+ background-color: var(--zx-color-overlay-surface);
3965
+ background-image: var(--zx-overlay-surface-image);
3966
+ background-clip: padding-box;
3855
3967
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
3856
3968
  backdrop-filter: var(--zx-glass-filter-overlay);
3857
- box-shadow: var(--zx-glass-raised-shadow);
3969
+ box-shadow: var(--zx-glass-overlay-shadow);
3858
3970
  padding: var(--zx-space-1) var(--zx-space-2);
3859
3971
  color: var(--zx-color-text);
3860
3972
  font-size: var(--zx-text-sm);
@@ -4211,7 +4323,7 @@ body:has(> .zx-modal:modal) {
4211
4323
  }
4212
4324
  .zx-menu-button__item:hover,
4213
4325
  .zx-menu-button__item:focus-visible {
4214
- background: var(--zx-color-bg-hover);
4326
+ background: var(--zx-color-overlay-hover);
4215
4327
  }
4216
4328
  .zx-menu-button__item[data-danger=true] {
4217
4329
  color: var(--zx-color-danger);
@@ -4228,7 +4340,7 @@ body:has(> .zx-modal:modal) {
4228
4340
  .zx-menu-button__separator {
4229
4341
  block-size: 1px;
4230
4342
  margin: var(--zx-space-1) var(--zx-space-2);
4231
- background: var(--zx-color-border);
4343
+ background: var(--zx-color-overlay-divider);
4232
4344
  }
4233
4345
 
4234
4346
  /* src/components/context-menu/context-menu.css */
@@ -4255,7 +4367,7 @@ body:has(> .zx-modal:modal) {
4255
4367
  }
4256
4368
  .zx-context-menu__item:hover,
4257
4369
  .zx-context-menu__item:focus-visible {
4258
- background: var(--zx-color-bg-hover);
4370
+ background: var(--zx-color-overlay-hover);
4259
4371
  }
4260
4372
  .zx-context-menu__item[data-danger=true] {
4261
4373
  color: var(--zx-color-danger);
@@ -4272,7 +4384,7 @@ body:has(> .zx-modal:modal) {
4272
4384
  .zx-context-menu__separator {
4273
4385
  block-size: 1px;
4274
4386
  margin: var(--zx-space-1) var(--zx-space-2);
4275
- background: var(--zx-color-border);
4387
+ background: var(--zx-color-overlay-divider);
4276
4388
  }
4277
4389
 
4278
4390
  /* src/components/select/select.css */
@@ -4374,10 +4486,12 @@ body:has(> .zx-modal:modal) {
4374
4486
  overflow: hidden;
4375
4487
  border: 1px solid var(--zx-color-overlay-border);
4376
4488
  border-radius: var(--zx-radius-md);
4377
- background: var(--zx-color-overlay-surface);
4489
+ background-color: var(--zx-color-overlay-surface);
4490
+ background-image: var(--zx-overlay-surface-image);
4491
+ background-clip: padding-box;
4378
4492
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
4379
4493
  backdrop-filter: var(--zx-glass-filter-overlay);
4380
- box-shadow: var(--zx-glass-raised-shadow);
4494
+ box-shadow: var(--zx-glass-overlay-shadow);
4381
4495
  color: var(--zx-color-text);
4382
4496
  padding: var(--zx-space-1);
4383
4497
  }
@@ -4400,13 +4514,13 @@ body:has(> .zx-modal:modal) {
4400
4514
  flex: 1;
4401
4515
  }
4402
4516
  .zx-select__option[data-active=true] {
4403
- background: var(--zx-color-bg-hover);
4517
+ background: var(--zx-color-overlay-hover);
4404
4518
  }
4405
4519
  .zx-select__option:hover {
4406
- background: var(--zx-color-bg-hover);
4520
+ background: var(--zx-color-overlay-hover);
4407
4521
  }
4408
4522
  .zx-select__option[aria-selected=true] {
4409
- background: var(--zx-color-bg-selected);
4523
+ background: var(--zx-color-overlay-selected);
4410
4524
  }
4411
4525
  .zx-select__option > .zx-icon {
4412
4526
  flex: none;
@@ -4416,7 +4530,7 @@ body:has(> .zx-modal:modal) {
4416
4530
  position: sticky;
4417
4531
  z-index: 1;
4418
4532
  inset-block-start: 0;
4419
- background: var(--zx-color-overlay-surface);
4533
+ background: var(--zx-color-overlay-scrim);
4420
4534
  color: var(--zx-color-text-muted);
4421
4535
  font-size: var(--zx-text-xs);
4422
4536
  font-weight: 700;
@@ -4439,7 +4553,7 @@ body:has(> .zx-modal:modal) {
4439
4553
  .zx-select__separator {
4440
4554
  block-size: 1px;
4441
4555
  margin: var(--zx-space-1) var(--zx-control-pad-x);
4442
- background: var(--zx-color-border);
4556
+ background: var(--zx-color-overlay-divider);
4443
4557
  }
4444
4558
  .zx-select__empty {
4445
4559
  color: var(--zx-color-text-muted);
@@ -4801,10 +4915,12 @@ body:has(> .zx-modal:modal) {
4801
4915
  overflow: hidden;
4802
4916
  border: 1px solid var(--zx-color-overlay-border);
4803
4917
  border-radius: var(--zx-radius-md);
4804
- background: var(--zx-color-overlay-surface);
4918
+ background-color: var(--zx-color-overlay-surface);
4919
+ background-image: var(--zx-overlay-surface-image);
4920
+ background-clip: padding-box;
4805
4921
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
4806
4922
  backdrop-filter: var(--zx-glass-filter-overlay);
4807
- box-shadow: var(--zx-glass-raised-shadow);
4923
+ box-shadow: var(--zx-glass-overlay-shadow);
4808
4924
  color: var(--zx-color-text);
4809
4925
  padding: var(--zx-space-1);
4810
4926
  }
@@ -4831,7 +4947,7 @@ body:has(> .zx-modal:modal) {
4831
4947
  cursor: pointer;
4832
4948
  }
4833
4949
  .zx-tag-picker__option[data-active] {
4834
- background: var(--zx-color-bg-hover);
4950
+ background: var(--zx-color-overlay-hover);
4835
4951
  }
4836
4952
  .zx-tag-picker__option[aria-selected=true] {
4837
4953
  color: var(--zx-color-accent);
@@ -5194,13 +5310,13 @@ body:has(> .zx-modal:modal) {
5194
5310
  place-items: center;
5195
5311
  min-inline-size: var(--zx-control-height);
5196
5312
  padding: 0;
5197
- border-color: var(--zx-color-bg-surface);
5198
- background: inherit;
5313
+ border-color: transparent;
5314
+ background: transparent;
5199
5315
  }
5200
5316
  .zx-date-picker__heading {
5201
5317
  overflow: hidden;
5202
- border-color: var(--zx-color-bg-surface);
5203
- background: inherit;
5318
+ border-color: transparent;
5319
+ background: transparent;
5204
5320
  font-weight: 650;
5205
5321
  text-overflow: ellipsis;
5206
5322
  text-wrap: nowrap;
@@ -5233,9 +5349,9 @@ body:has(> .zx-modal:modal) {
5233
5349
  min-inline-size: 0;
5234
5350
  min-block-size: var(--zx-control-height);
5235
5351
  padding: 0;
5236
- border-color: var(--zx-color-bg-surface);
5352
+ border-color: transparent;
5237
5353
  border-radius: var(--zx-radius-md);
5238
- background: inherit;
5354
+ background: transparent;
5239
5355
  font-variant-numeric: tabular-nums;
5240
5356
  }
5241
5357
  .zx-date-picker__day[data-other-month=true] {
@@ -5275,10 +5391,12 @@ body:has(> .zx-modal:modal) {
5275
5391
  inset: var(--zx-space-3);
5276
5392
  border: 1px solid var(--zx-color-overlay-border);
5277
5393
  border-radius: var(--zx-radius-md);
5278
- background: var(--zx-color-overlay-surface);
5394
+ background-color: var(--zx-color-overlay-surface);
5395
+ background-image: var(--zx-overlay-surface-image);
5396
+ background-clip: padding-box;
5279
5397
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
5280
5398
  backdrop-filter: var(--zx-glass-filter-overlay);
5281
- box-shadow: var(--zx-glass-raised-shadow);
5399
+ box-shadow: var(--zx-glass-overlay-shadow);
5282
5400
  padding: var(--zx-space-3);
5283
5401
  }
5284
5402
  @media (prefers-reduced-transparency: reduce) {
@@ -5303,10 +5421,14 @@ body:has(> .zx-modal:modal) {
5303
5421
  .zx-month-picker__month {
5304
5422
  min-inline-size: 0;
5305
5423
  padding-inline: var(--zx-space-1);
5306
- border-color: var(--zx-color-bg-surface);
5307
- background: inherit;
5424
+ border-color: transparent;
5425
+ background: transparent;
5426
+ }
5427
+ .zx-date-picker__quick-month[aria-selected=true] {
5428
+ background: var(--zx-color-overlay-selected);
5429
+ color: var(--zx-color-accent);
5430
+ font-weight: 700;
5308
5431
  }
5309
- .zx-date-picker__quick-month[aria-selected=true],
5310
5432
  .zx-month-picker__month[aria-selected=true] {
5311
5433
  background: var(--zx-color-bg-selected);
5312
5434
  color: var(--zx-color-accent);
@@ -5572,10 +5694,12 @@ body:has(> .zx-modal:modal) {
5572
5694
  }
5573
5695
  .zx-datebox__popover .zx-date-picker__surface {
5574
5696
  border-color: var(--zx-color-overlay-border);
5575
- background: var(--zx-color-overlay-surface);
5697
+ background-color: var(--zx-color-overlay-surface);
5698
+ background-image: var(--zx-overlay-surface-image);
5699
+ background-clip: padding-box;
5576
5700
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
5577
5701
  backdrop-filter: var(--zx-glass-filter-overlay);
5578
- box-shadow: var(--zx-glass-raised-shadow);
5702
+ box-shadow: var(--zx-glass-overlay-shadow);
5579
5703
  }
5580
5704
  @media (prefers-reduced-transparency: reduce) {
5581
5705
  .zx-datebox__popover .zx-date-picker__surface {
@@ -5893,10 +6017,12 @@ body:has(> .zx-modal:modal) {
5893
6017
  .zx-date-range-box__popover .zx-date-range-picker__surface {
5894
6018
  max-inline-size: none;
5895
6019
  border-color: var(--zx-color-overlay-border);
5896
- background: var(--zx-color-overlay-surface);
6020
+ background-color: var(--zx-color-overlay-surface);
6021
+ background-image: var(--zx-overlay-surface-image);
6022
+ background-clip: padding-box;
5897
6023
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
5898
6024
  backdrop-filter: var(--zx-glass-filter-overlay);
5899
- box-shadow: var(--zx-glass-raised-shadow);
6025
+ box-shadow: var(--zx-glass-overlay-shadow);
5900
6026
  }
5901
6027
  @media (prefers-reduced-transparency: reduce) {
5902
6028
  .zx-date-range-box__popover .zx-date-range-picker__surface {
@@ -6250,6 +6376,7 @@ body:has(> .zx-modal:modal) {
6250
6376
  inline-size: 100%;
6251
6377
  block-size: 100%;
6252
6378
  min-inline-size: 0;
6379
+ min-block-size: 0;
6253
6380
  overflow: hidden;
6254
6381
  border: 1px solid color-mix(in srgb, var(--zx-calendar-event-color) 65%, var(--zx-color-border));
6255
6382
  border-inline-start: 3px solid var(--zx-calendar-event-color);
@@ -6313,8 +6440,11 @@ body:has(> .zx-modal:modal) {
6313
6440
  z-index: 3;
6314
6441
  display: grid;
6315
6442
  block-size: 8px;
6443
+ min-block-size: 0;
6316
6444
  place-items: center;
6445
+ appearance: none;
6317
6446
  border: 0;
6447
+ border-radius: 0;
6318
6448
  background: transparent;
6319
6449
  padding: 0;
6320
6450
  cursor: ns-resize;
@@ -6335,6 +6465,7 @@ body:has(> .zx-modal:modal) {
6335
6465
  .zx-calendar__event[data-variant=span] .zx-calendar__event-action,
6336
6466
  .zx-calendar__event[data-variant=month] .zx-calendar__event-action {
6337
6467
  display: flex;
6468
+ min-block-size: 0;
6338
6469
  align-items: center;
6339
6470
  gap: var(--zx-space-1);
6340
6471
  padding-block: 2px;
@@ -6377,8 +6508,11 @@ body:has(> .zx-modal:modal) {
6377
6508
  border-block-end: 1px solid var(--zx-color-border);
6378
6509
  }
6379
6510
  .zx-calendar__agenda-heading {
6380
- align-self: start;
6511
+ align-self: stretch;
6512
+ appearance: none;
6381
6513
  border: 0;
6514
+ border-inline-end: 1px solid var(--zx-color-border);
6515
+ border-radius: 0;
6382
6516
  background: var(--zx-color-bg-muted);
6383
6517
  color: var(--zx-color-text);
6384
6518
  padding: var(--zx-space-3);
@@ -6390,15 +6524,19 @@ body:has(> .zx-modal:modal) {
6390
6524
  .zx-calendar__agenda-heading[aria-current=date] {
6391
6525
  color: var(--zx-color-accent);
6392
6526
  }
6527
+ .zx-calendar__agenda-events {
6528
+ display: grid;
6529
+ min-inline-size: 0;
6530
+ }
6393
6531
  .zx-calendar__agenda-empty {
6394
6532
  margin: 0;
6395
6533
  color: var(--zx-color-text-muted);
6396
6534
  padding: var(--zx-space-3);
6397
6535
  }
6398
- .zx-calendar__agenda-day > .zx-calendar__event {
6536
+ .zx-calendar__agenda-events > .zx-calendar__event {
6399
6537
  border-block-end: 1px solid var(--zx-color-border);
6400
6538
  }
6401
- .zx-calendar__agenda-day > .zx-calendar__event:last-child {
6539
+ .zx-calendar__agenda-events > .zx-calendar__event:last-child {
6402
6540
  border-block-end: 0;
6403
6541
  }
6404
6542
  .zx-calendar__event[data-variant=agenda] .zx-calendar__event-action {
@@ -6461,59 +6599,16 @@ body:has(> .zx-modal:modal) {
6461
6599
  text-transform: uppercase;
6462
6600
  letter-spacing: .04em;
6463
6601
  }
6464
- .zx-calendar__month-weekdays .zx-calendar__month-weekday {
6465
- grid-row: 1;
6466
- }
6467
- .zx-calendar__month-weekdays .zx-calendar__month-weekday:nth-last-child(7) {
6468
- grid-column: 2;
6469
- }
6470
- .zx-calendar__month-weekdays .zx-calendar__month-weekday:nth-last-child(6) {
6471
- grid-column: 3;
6472
- }
6473
- .zx-calendar__month-weekdays .zx-calendar__month-weekday:nth-last-child(5) {
6474
- grid-column: 4;
6475
- }
6476
- .zx-calendar__month-weekdays .zx-calendar__month-weekday:nth-last-child(4) {
6477
- grid-column: 5;
6478
- }
6479
- .zx-calendar__month-weekdays .zx-calendar__month-weekday:nth-last-child(3) {
6480
- grid-column: 6;
6481
- }
6482
- .zx-calendar__month-weekdays .zx-calendar__month-weekday:nth-last-child(2) {
6483
- grid-column: 7;
6484
- }
6485
- .zx-calendar__month-weekdays .zx-calendar__month-weekday:nth-last-child(1) {
6486
- grid-column: 8;
6487
- }
6488
- .zx-calendar__month-weekdays:not(:has(.zx-calendar__month-week-gutter)) .zx-calendar__month-weekday:nth-last-child(7) {
6489
- grid-column: 1;
6490
- }
6491
- .zx-calendar__month-weekdays:not(:has(.zx-calendar__month-week-gutter)) .zx-calendar__month-weekday:nth-last-child(6) {
6492
- grid-column: 2;
6493
- }
6494
- .zx-calendar__month-weekdays:not(:has(.zx-calendar__month-week-gutter)) .zx-calendar__month-weekday:nth-last-child(5) {
6495
- grid-column: 3;
6496
- }
6497
- .zx-calendar__month-weekdays:not(:has(.zx-calendar__month-week-gutter)) .zx-calendar__month-weekday:nth-last-child(4) {
6498
- grid-column: 4;
6499
- }
6500
- .zx-calendar__month-weekdays:not(:has(.zx-calendar__month-week-gutter)) .zx-calendar__month-weekday:nth-last-child(3) {
6501
- grid-column: 5;
6502
- }
6503
- .zx-calendar__month-weekdays:not(:has(.zx-calendar__month-week-gutter)) .zx-calendar__month-weekday:nth-last-child(2) {
6504
- grid-column: 6;
6505
- }
6506
- .zx-calendar__month-weekdays:not(:has(.zx-calendar__month-week-gutter)) .zx-calendar__month-weekday:nth-last-child(1) {
6507
- grid-column: 7;
6508
- }
6509
6602
  .zx-calendar__month-week {
6510
6603
  min-block-size: 7.5rem;
6511
6604
  border-block-end: 1px solid var(--zx-color-border);
6512
6605
  }
6513
6606
  .zx-calendar__month-week-number {
6514
- grid-row: 1 / span 2;
6607
+ grid-row: 1;
6608
+ appearance: none;
6515
6609
  border: 0;
6516
6610
  border-inline-end: 1px solid var(--zx-color-border);
6611
+ border-radius: 0;
6517
6612
  background: var(--zx-color-bg-muted);
6518
6613
  color: var(--zx-color-text-muted);
6519
6614
  font: inherit;
@@ -6532,11 +6627,19 @@ body:has(> .zx-modal:modal) {
6532
6627
  }
6533
6628
  .zx-calendar__month-days {
6534
6629
  grid-row: 1;
6630
+ min-block-size: 7.5rem;
6631
+ align-items: stretch;
6535
6632
  }
6536
6633
  .zx-calendar__month-day {
6634
+ display: flex;
6635
+ block-size: 100%;
6636
+ appearance: none;
6637
+ align-items: flex-start;
6638
+ justify-content: flex-end;
6537
6639
  min-block-size: var(--zx-control-height);
6538
6640
  border: 0;
6539
6641
  border-inline-end: 1px solid var(--zx-color-border);
6642
+ border-radius: 0;
6540
6643
  background: var(--zx-color-bg-surface);
6541
6644
  color: var(--zx-color-text);
6542
6645
  padding: var(--zx-space-2);
@@ -6544,6 +6647,9 @@ body:has(> .zx-modal:modal) {
6544
6647
  text-align: end;
6545
6648
  cursor: pointer;
6546
6649
  }
6650
+ .zx-calendar__month-day:last-child {
6651
+ border-inline-end: 0;
6652
+ }
6547
6653
  .zx-calendar__month-day[data-other-month=true] {
6548
6654
  color: var(--zx-color-text-muted);
6549
6655
  background: var(--zx-color-bg-muted);
@@ -6551,20 +6657,35 @@ body:has(> .zx-modal:modal) {
6551
6657
  .zx-calendar__month-day[aria-current=date] {
6552
6658
  color: var(--zx-color-accent);
6553
6659
  font-weight: 750;
6554
- box-shadow: inset 0 2px var(--zx-color-accent);
6555
6660
  }
6556
6661
  .zx-calendar__month-day:hover:not(:disabled) {
6557
6662
  background: var(--zx-color-bg-hover);
6558
6663
  }
6559
6664
  .zx-calendar__month-events {
6560
- grid-row: 2;
6665
+ grid-row: 1;
6666
+ z-index: 2;
6561
6667
  grid-auto-rows: calc(var(--zx-control-height) - var(--zx-space-2));
6562
6668
  align-content: start;
6563
6669
  gap: 2px 0;
6564
- padding-block: var(--zx-space-1);
6670
+ padding-block: calc(var(--zx-control-height) + var(--zx-space-1)) var(--zx-space-1);
6671
+ pointer-events: none;
6672
+ }
6673
+ .zx-calendar__month-events > .zx-calendar__event,
6674
+ .zx-calendar__month-events > .zx-calendar__more {
6675
+ pointer-events: auto;
6676
+ }
6677
+ .zx-calendar__event[data-variant=month] .zx-calendar__event-action {
6678
+ border-color: color-mix(in srgb, var(--zx-calendar-event-color) 55%, var(--zx-color-border));
6679
+ border-inline-start-width: 1px;
6680
+ border-radius: 0;
6681
+ background: color-mix(in srgb, var(--zx-calendar-event-color) 13%, var(--zx-color-bg-surface));
6682
+ }
6683
+ .zx-calendar__event[data-variant=month][data-all-day=true] .zx-calendar__event-time {
6684
+ display: none;
6565
6685
  }
6566
6686
  .zx-calendar__more {
6567
6687
  align-self: center;
6688
+ min-block-size: 0;
6568
6689
  overflow: hidden;
6569
6690
  border: 0;
6570
6691
  background: transparent;
@@ -6702,8 +6823,12 @@ body:has(> .zx-modal:modal) {
6702
6823
  position: sticky;
6703
6824
  inset-block-start: 0;
6704
6825
  z-index: 3;
6826
+ border-inline-end: 0;
6705
6827
  border-block-end: 1px solid var(--zx-color-border);
6706
6828
  }
6829
+ .zx-calendar__agenda-events {
6830
+ grid-column: 1;
6831
+ }
6707
6832
  .zx-calendar__event[data-variant=agenda] .zx-calendar__event-action {
6708
6833
  grid-template-columns: 5.5rem minmax(0, 1fr);
6709
6834
  }
@@ -6875,10 +7000,12 @@ body:has(> .zx-modal:modal) {
6875
7000
  min-inline-size: 190px;
6876
7001
  border: 1px solid var(--zx-color-overlay-border);
6877
7002
  border-radius: var(--zx-radius-md);
6878
- background: var(--zx-color-overlay-surface);
7003
+ background-color: var(--zx-color-overlay-surface);
7004
+ background-image: var(--zx-overlay-surface-image);
7005
+ background-clip: padding-box;
6879
7006
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
6880
7007
  backdrop-filter: var(--zx-glass-filter-overlay);
6881
- box-shadow: var(--zx-glass-raised-shadow);
7008
+ box-shadow: var(--zx-glass-overlay-shadow);
6882
7009
  padding: var(--zx-space-2);
6883
7010
  max-block-size: min(360px, 70vh);
6884
7011
  overflow: auto;
@@ -6902,7 +7029,7 @@ body:has(> .zx-modal:modal) {
6902
7029
  padding-inline: var(--zx-space-2);
6903
7030
  }
6904
7031
  .zx-table__column-option:hover {
6905
- background: var(--zx-color-bg-hover);
7032
+ background: var(--zx-color-overlay-hover);
6906
7033
  }
6907
7034
  .zx-table__column-option > label,
6908
7035
  .zx-table__column-label {