@adia-ai/web-components 0.7.3 → 0.7.4

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 (136) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/components/accordion/accordion.css +2 -2
  3. package/components/action-list/action-list.css +2 -2
  4. package/components/agent-artifact/agent-artifact.css +31 -31
  5. package/components/agent-feedback-bar/agent-feedback-bar.css +10 -10
  6. package/components/agent-questions/agent-questions.css +59 -57
  7. package/components/agent-reasoning/agent-reasoning.css +54 -54
  8. package/components/agent-suggestions/agent-suggestions.css +4 -4
  9. package/components/agent-trace/agent-trace.css +53 -53
  10. package/components/alert/alert.css +53 -53
  11. package/components/avatar/avatar.css +27 -27
  12. package/components/badge/badge.css +56 -53
  13. package/components/block/block.css +16 -16
  14. package/components/blockquote/blockquote.css +16 -16
  15. package/components/breadcrumb/breadcrumb.css +23 -23
  16. package/components/button/button.css +99 -100
  17. package/components/calendar-grid/calendar-grid.css +95 -92
  18. package/components/calendar-picker/calendar-picker.css +141 -139
  19. package/components/canvas/canvas.css +12 -12
  20. package/components/card/card.css +83 -83
  21. package/components/chart/chart.css +218 -218
  22. package/components/chart-legend/chart-legend.css +26 -26
  23. package/components/check/check.css +40 -40
  24. package/components/code/code.css +125 -125
  25. package/components/col/col.css +15 -15
  26. package/components/color-picker/color-picker.css +55 -55
  27. package/components/combobox/combobox.css +64 -62
  28. package/components/command/command.css +91 -91
  29. package/components/context-menu/context-menu.css +1 -1
  30. package/components/date-range-picker/date-range-picker.css +59 -59
  31. package/components/datetime-picker/datetime-picker.css +25 -25
  32. package/components/demo-toggle/demo-toggle.css +27 -27
  33. package/components/description-list/description-list.css +18 -18
  34. package/components/divider/divider.css +24 -24
  35. package/components/embed/embed.css +6 -6
  36. package/components/empty-state/empty-state.css +29 -29
  37. package/components/feed/feed.css +12 -12
  38. package/components/field/field.css +28 -28
  39. package/components/field/field.test.js +2 -2
  40. package/components/fields/fields.css +5 -5
  41. package/components/grid/grid.a2ui.json +10 -0
  42. package/components/grid/grid.css +23 -5
  43. package/components/grid/grid.d.ts +4 -0
  44. package/components/grid/grid.yaml +13 -0
  45. package/components/heatmap/heatmap.css +61 -61
  46. package/components/icon/icon.css +12 -12
  47. package/components/image/image.css +14 -14
  48. package/components/inline-edit/inline-edit.css +16 -16
  49. package/components/inline-message/inline-message.css +16 -16
  50. package/components/input/input.css +69 -66
  51. package/components/inspector/inspector.css +6 -6
  52. package/components/integration-card/integration-card.css +41 -41
  53. package/components/integration-card/integration-card.test.js +4 -4
  54. package/components/kbd/kbd.css +47 -40
  55. package/components/link/link.css +12 -12
  56. package/components/list/list.css +8 -8
  57. package/components/list-window/list-window.css +10 -10
  58. package/components/loading-overlay/loading-overlay.css +17 -18
  59. package/components/loading-overlay/loading-overlay.test.js +8 -8
  60. package/components/mark/mark.css +16 -16
  61. package/components/menu/menu.css +9 -9
  62. package/components/modal/modal.class.js +5 -9
  63. package/components/modal/modal.css +43 -43
  64. package/components/nav/nav.css +40 -40
  65. package/components/nav-group/nav-group.css +54 -54
  66. package/components/nav-item/nav-item.css +44 -44
  67. package/components/noodles/noodles.css +31 -31
  68. package/components/number-format/number-format.css +4 -4
  69. package/components/option-card/option-card.css +70 -70
  70. package/components/otp-input/otp-input.css +29 -29
  71. package/components/page/page.a2ui.json +1 -1
  72. package/components/page/page.css +27 -27
  73. package/components/page/page.d.ts +1 -1
  74. package/components/page/page.yaml +1 -1
  75. package/components/pagination/pagination.css +6 -6
  76. package/components/pane/pane.css +57 -57
  77. package/components/password-strength/password-strength.css +32 -32
  78. package/components/pipeline-status/pipeline-status.css +67 -67
  79. package/components/popover/popover.css +11 -11
  80. package/components/preview/preview.css +21 -21
  81. package/components/progress/progress.css +23 -23
  82. package/components/progress-row/progress-row.css +17 -17
  83. package/components/qr-code/qr-code.css +4 -4
  84. package/components/radio/radio.css +39 -39
  85. package/components/range/range.css +58 -55
  86. package/components/rating/rating.css +28 -28
  87. package/components/relative-time/relative-time.css +6 -6
  88. package/components/richtext/richtext.css +133 -133
  89. package/components/row/row.css +19 -19
  90. package/components/search/search.css +5 -5
  91. package/components/segment/segment.css +29 -24
  92. package/components/segmented/segmented.css +30 -25
  93. package/components/select/select.css +95 -93
  94. package/components/skeleton/skeleton.css +14 -14
  95. package/components/skip-nav/skip-nav.css +4 -4
  96. package/components/slider/slider.css +61 -61
  97. package/components/spinner/spinner.css +40 -40
  98. package/components/spinner/spinner.test.js +10 -12
  99. package/components/stack/stack.css +11 -11
  100. package/components/stat/stat.css +27 -27
  101. package/components/step-progress/step-progress.css +20 -20
  102. package/components/stepper/stepper.css +29 -29
  103. package/components/stream/stream.css +12 -12
  104. package/components/swatch/swatch.css +68 -68
  105. package/components/swiper/swiper.class.js +5 -12
  106. package/components/swiper/swiper.css +57 -57
  107. package/components/switch/switch.css +53 -53
  108. package/components/table/table.css +166 -163
  109. package/components/table-toolbar/table-toolbar.css +33 -33
  110. package/components/tabs/tabs.css +54 -51
  111. package/components/tag/tag.css +74 -71
  112. package/components/tag/tag.test.js +14 -14
  113. package/components/tags-input/tags-input.css +51 -49
  114. package/components/text/text.css +44 -44
  115. package/components/textarea/textarea.css +49 -46
  116. package/components/time-picker/time-picker.css +47 -47
  117. package/components/timeline/timeline.css +54 -54
  118. package/components/toast/toast.css +58 -58
  119. package/components/toc/toc.css +28 -28
  120. package/components/toggle-group/toggle-group.css +9 -6
  121. package/components/toggle-scheme/toggle-scheme.css +2 -2
  122. package/components/toolbar/toolbar.css +18 -18
  123. package/components/tooltip/tooltip.css +2 -2
  124. package/components/tour/tour.css +4 -4
  125. package/components/tree/tree.css +37 -37
  126. package/components/upload/upload.css +49 -49
  127. package/dist/host.min.css +1 -0
  128. package/dist/web-components.min.css +1 -1
  129. package/dist/web-components.min.js +2 -2
  130. package/package.json +1 -1
  131. package/styles/foundation/space.css +19 -18
  132. package/styles/host.css +48 -0
  133. package/styles/prose.css +187 -173
  134. package/styles/type/scale.css +6 -0
  135. package/styles/typography.css +10 -5
  136. package/styles/verse.css +122 -0
@@ -1,99 +1,100 @@
1
1
  @scope (table-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Tokens ── */
4
- --table-font-size-default: var(--a-ui-size);
5
- --table-heading-size-default: var(--a-ui-xs);
6
- --table-heading-weight-default: var(--a-weight-medium);
7
- --table-heading-tracking-default: 0.06em;
8
- --table-heading-fg-default: var(--a-fg-muted);
9
- --table-heading-bg-default: transparent;
10
-
11
- --table-fg-default: var(--a-fg);
12
- --table-fg-hover-default: var(--a-fg-strong);
13
- --table-fg-secondary-default: var(--a-fg-muted);
14
- --table-border-default: var(--a-border-subtle);
15
- --table-border-strong-default: var(--a-border);
16
- --table-py-default: var(--a-space-3);
17
- --table-px-default: var(--a-space-4);
18
-
19
- --table-row-bg-default: transparent;
20
- --table-row-bg-hover-default: var(--a-bg-hover);
21
- --table-row-bg-selected-default: var(--a-bg-selected);
22
- --table-row-bg-striped-default: var(--a-bg-subtle);
23
-
24
- --table-sort-fg-default: var(--a-fg-muted);
25
- --table-accent-default: var(--a-primary);
26
- --table-fg-disabled-default: var(--a-ui-text-disabled);
27
- --table-bg-default: var(--a-bg);
4
+ --table-font-size: var(--a-ui-size);
5
+ --table-font-family: var(--a-font-family-ui);
6
+ --table-heading-size: var(--a-ui-xs);
7
+ --table-heading-weight: var(--a-weight-medium);
8
+ --table-heading-tracking: 0.06em;
9
+ --table-heading-fg: var(--a-fg-muted);
10
+ --table-heading-bg: transparent;
11
+
12
+ --table-fg: var(--a-fg);
13
+ --table-fg-hover: var(--a-fg-strong);
14
+ --table-fg-secondary: var(--a-fg-muted);
15
+ --table-border: var(--a-border-subtle);
16
+ --table-border-strong: var(--a-border);
17
+ --table-py: var(--a-space-3);
18
+ --table-px: var(--a-space-4);
19
+
20
+ --table-row-bg: transparent;
21
+ --table-row-bg-hover: var(--a-bg-hover);
22
+ --table-row-bg-selected: var(--a-bg-selected);
23
+ --table-row-bg-striped: var(--a-bg-subtle);
24
+
25
+ --table-sort-fg: var(--a-fg-muted);
26
+ --table-accent: var(--a-primary);
27
+ --table-fg-disabled: var(--a-ui-text-disabled);
28
+ --table-bg: var(--a-bg);
28
29
  /* No default rounding — table-ui composes inside card-ui / drawer-ui
29
30
  which own the surface rounding; doubly-rounded corners (table inside
30
31
  card) look broken. Override per-instance via `--table-radius: …` if
31
32
  table-ui sits standalone on the page. */
32
- --table-radius-default: 0;
33
+ --table-radius: 0;
33
34
 
34
35
  /* ── Resize + pinned-column intrinsics ── */
35
- --table-resize-width-default: var(--a-space-1);
36
- --table-pin-shadow-width-default: var(--a-space-1);
37
- --table-cell-min-width-default: 11.25rem;
36
+ --table-resize-width: var(--a-space-1);
37
+ --table-pin-shadow-width: var(--a-space-1);
38
+ --table-cell-min-width: 11.25rem;
38
39
 
39
40
  /* ── Filter popover ── */
40
- --table-filter-bg-default: var(--a-canvas);
41
- --table-filter-fg-default: var(--a-canvas-text);
42
- --table-filter-border-default: var(--a-border);
43
- --table-filter-radius-default: var(--a-radius-md);
44
- --table-filter-inset-default: var(--a-space-2);
45
- --table-filter-gap-default: var(--a-space-1);
46
- --table-filter-shadow-default: var(--a-shadow-md);
47
- --table-filter-input-py-default: var(--a-space-1);
48
- --table-filter-input-px-default: var(--a-space-2);
49
- --table-filter-input-radius-default: var(--a-radius-sm);
50
- --table-filter-input-size-default: var(--a-ui-tiny);
51
- --table-filter-btn-px-default: var(--a-space-1);
52
- --table-filter-clear-fg-default: var(--a-accent);
41
+ --table-filter-bg: var(--a-canvas);
42
+ --table-filter-fg: var(--a-canvas-text);
43
+ --table-filter-border: var(--a-border);
44
+ --table-filter-radius: var(--a-radius-md);
45
+ --table-filter-inset: var(--a-space-2);
46
+ --table-filter-gap: var(--a-space-1);
47
+ --table-filter-shadow: var(--a-shadow-md);
48
+ --table-filter-input-py: var(--a-space-1);
49
+ --table-filter-input-px: var(--a-space-2);
50
+ --table-filter-input-radius: var(--a-radius-sm);
51
+ --table-filter-input-size: var(--a-ui-tiny);
52
+ --table-filter-btn-px: var(--a-space-1);
53
+ --table-filter-clear-fg: var(--a-accent);
53
54
 
54
55
  /* ── Chips / filter bar ── */
55
- --table-chip-bar-bg-default: var(--a-canvas-subtle);
56
- --table-chip-bar-border-default: var(--a-border);
57
- --table-chip-bar-gap-default: var(--a-space-1);
58
- --table-chip-bar-py-default: var(--a-space-1);
59
- --table-chip-bar-px-default: var(--a-space-2);
60
- --table-chip-dismiss-gap-default: var(--a-space-1);
56
+ --table-chip-bar-bg: var(--a-canvas-subtle);
57
+ --table-chip-bar-border: var(--a-border);
58
+ --table-chip-bar-gap: var(--a-space-1);
59
+ --table-chip-bar-py: var(--a-space-1);
60
+ --table-chip-bar-px: var(--a-space-2);
61
+ --table-chip-dismiss-gap: var(--a-space-1);
61
62
 
62
63
  /* ── Detail / expansion row ── */
63
- --table-detail-bg-default: var(--a-canvas-subtle);
64
- --table-detail-border-default: var(--a-border);
65
- --table-detail-py-default: var(--a-space-3);
66
- --table-detail-px-default: var(--a-space-4);
64
+ --table-detail-bg: var(--a-canvas-subtle);
65
+ --table-detail-border: var(--a-border);
66
+ --table-detail-py: var(--a-space-3);
67
+ --table-detail-px: var(--a-space-4);
67
68
 
68
69
  /* ── Pinning ── */
69
- --table-pinned-bg-default: var(--a-canvas);
70
- --table-pinned-shadow-default: var(--a-chrome-shadow-soft);
70
+ --table-pinned-bg: var(--a-canvas);
71
+ --table-pinned-shadow: var(--a-chrome-shadow-soft);
71
72
 
72
73
  /* ── Aggregation row ── */
73
- --table-agg-border-default: var(--a-border);
74
- --table-agg-size-default: var(--a-ui-tiny);
75
- --table-agg-py-default: var(--a-space-2);
76
- --table-agg-px-default: var(--a-space-3);
74
+ --table-agg-border: var(--a-border);
75
+ --table-agg-size: var(--a-ui-tiny);
76
+ --table-agg-py: var(--a-space-2);
77
+ --table-agg-px: var(--a-space-3);
77
78
 
78
79
  /* ── Sort priority badge ── */
79
- --table-sort-priority-fg-default: var(--a-chrome-light);
80
+ --table-sort-priority-fg: var(--a-chrome-light);
80
81
 
81
82
  /* ── Sort icon gap ── */
82
- --table-sort-icon-gap-default: var(--a-space-1);
83
+ --table-sort-icon-gap: var(--a-space-1);
83
84
 
84
85
  /* ── Footer / pagination ── */
85
- --table-footer-py-default: var(--a-space-3);
86
+ --table-footer-py: var(--a-space-3);
86
87
 
87
88
  /* ── Overlays ── */
88
- --table-overlay-gap-default: var(--a-space-3);
89
- --table-overlay-pad-default: var(--a-space-8);
89
+ --table-overlay-gap: var(--a-space-3);
90
+ --table-overlay-pad: var(--a-space-8);
90
91
 
91
92
  /* ── Transitions ── */
92
- --table-duration-default: var(--a-duration-fast);
93
- --table-easing-default: var(--a-easing);
93
+ --table-duration: var(--a-duration-fast);
94
+ --table-easing: var(--a-easing);
94
95
 
95
96
  /* ── State ── */
96
- --table-focus-ring-default: var(--a-focus-ring);
97
+ --table-focus-ring: var(--a-focus-ring);
97
98
 
98
99
  /* ── Z-index layers ── */
99
100
  --_z-cell: 0;
@@ -115,15 +116,17 @@
115
116
  block but with no vertical clip — wrapping in an outer max-height
116
117
  div made the WHOLE table scroll (header included), defeating sticky. */
117
118
  overflow: auto;
118
- font-size: var(--table-font-size, var(--table-font-size-default));
119
- color: var(--table-fg, var(--table-fg-default));
120
- background: var(--table-bg, var(--table-bg-default));
119
+ /* font-family floor — host anchor; cells + filter inputs inherit it. */
120
+ font-family: var(--table-font-family);
121
+ font-size: var(--table-font-size);
122
+ color: var(--table-fg);
123
+ background: var(--table-bg);
121
124
  /* Use inset box-shadow as a faux border so the 1px chrome paints
122
125
  inside the content box and doesn't shrink clientWidth — a real
123
126
  `border: 1px` made grid content overflow by exactly 2 px on every
124
127
  table (scrollbar appeared with nothing to scroll). */
125
- box-shadow: inset 0 0 0 1px var(--table-border, var(--table-border-default));
126
- border-radius: var(--table-radius, var(--table-radius-default));
128
+ box-shadow: inset 0 0 0 1px var(--table-border);
129
+ border-radius: var(--table-radius);
127
130
  position: relative;
128
131
  /* Own stacking context — sticky headers, pinned columns, and filter
129
132
  dropdowns use internal z-indices that must not leak to parents. */
@@ -159,11 +162,11 @@
159
162
  /* ═══════ Header row ═══════ */
160
163
 
161
164
  [data-header] {
162
- border-bottom: 1px solid var(--table-border-strong, var(--table-border-strong-default));
165
+ border-bottom: 1px solid var(--table-border-strong);
163
166
  position: sticky;
164
167
  top: 0;
165
168
  z-index: var(--_z-header);
166
- background: var(--table-bg, var(--table-bg-default));
169
+ background: var(--table-bg);
167
170
  }
168
171
 
169
172
  /* ═══════ Column headers ═══════ */
@@ -171,13 +174,13 @@
171
174
  [role="columnheader"] {
172
175
  box-sizing: border-box;
173
176
  text-align: left;
174
- padding: var(--table-py, var(--table-py-default)) var(--table-px, var(--table-px-default));
175
- font-size: var(--table-heading-size, var(--table-heading-size-default));
176
- font-weight: var(--table-heading-weight, var(--table-heading-weight-default));
177
- color: var(--table-heading-fg, var(--table-heading-fg-default));
178
- background: var(--table-heading-bg, var(--table-heading-bg-default));
177
+ padding: var(--table-py) var(--table-px);
178
+ font-size: var(--table-heading-size);
179
+ font-weight: var(--table-heading-weight);
180
+ color: var(--table-heading-fg);
181
+ background: var(--table-heading-bg);
179
182
  text-transform: uppercase;
180
- letter-spacing: var(--table-heading-tracking, var(--table-heading-tracking-default));
183
+ letter-spacing: var(--table-heading-tracking);
181
184
  white-space: nowrap;
182
185
  position: relative;
183
186
  display: flex;
@@ -201,31 +204,31 @@
201
204
  cursor: pointer;
202
205
  user-select: none;
203
206
  -webkit-user-select: none;
204
- transition: color var(--table-duration, var(--table-duration-default)) var(--table-easing, var(--table-easing-default));
207
+ transition: color var(--table-duration) var(--table-easing);
205
208
  }
206
209
 
207
210
  [data-sort-key]:hover {
208
- color: var(--table-fg, var(--table-fg-default));
211
+ color: var(--table-fg);
209
212
  }
210
213
 
211
214
  /* ═══════ Sort indicator ═══════ */
212
215
 
213
216
  [data-sort-icon] {
214
- color: var(--table-sort-fg, var(--table-sort-fg-default));
215
- margin-inline-start: var(--table-sort-icon-gap, var(--table-sort-icon-gap-default));
217
+ color: var(--table-sort-fg);
218
+ margin-inline-start: var(--table-sort-icon-gap);
216
219
  vertical-align: middle;
217
220
  --a-icon-size: 0.75em;
218
221
  }
219
222
 
220
223
  [aria-sort] [data-sort-icon] {
221
- color: var(--table-fg, var(--table-fg-default));
224
+ color: var(--table-fg);
222
225
  }
223
226
 
224
227
  [data-sort-priority] {
225
228
  display: inline-flex;
226
229
  font-size: 0.6em;
227
- background: var(--table-accent, var(--table-accent-default));
228
- color: var(--table-sort-priority-fg, var(--table-sort-priority-fg-default));
230
+ background: var(--table-accent);
231
+ color: var(--table-sort-priority-fg);
229
232
  width: 1em;
230
233
  height: 1em;
231
234
  border-radius: 50%;
@@ -241,8 +244,8 @@
241
244
  display: flex;
242
245
  align-items: center;
243
246
  align-self: stretch;
244
- padding: var(--table-py, var(--table-py-default)) var(--table-px, var(--table-px-default));
245
- border-bottom: 1px solid var(--table-border, var(--table-border-default));
247
+ padding: var(--table-py) var(--table-px);
248
+ border-bottom: 1px solid var(--table-border);
246
249
  min-width: 0;
247
250
  /* Default: single line with ellipsis. Authors opt in to wrapping
248
251
  via [wrap] on the host (whole table) or [data-wrap] on a column /
@@ -314,13 +317,13 @@
314
317
  /* ═══════ Row states ═══════ */
315
318
 
316
319
  [data-body] > [role="row"] {
317
- background: var(--table-row-bg, var(--table-row-bg-default));
318
- transition: background var(--table-duration, var(--table-duration-default)) var(--table-easing, var(--table-easing-default));
320
+ background: var(--table-row-bg);
321
+ transition: background var(--table-duration) var(--table-easing);
319
322
  }
320
323
 
321
324
  [data-body] > [role="row"]:hover {
322
- background: var(--table-row-bg-hover, var(--table-row-bg-hover-default));
323
- color: var(--table-fg-hover, var(--table-fg-hover-default));
325
+ background: var(--table-row-bg-hover);
326
+ color: var(--table-fg-hover);
324
327
  }
325
328
 
326
329
  /* Selected row — must out-specify the base row rule `[data-body] >
@@ -329,7 +332,7 @@
329
332
  (0,4,0). (The striped-even override below handles selected+striped, which
330
333
  is higher still.) */
331
334
  [data-body] > [role="row"][data-selected] {
332
- background: var(--table-row-bg-selected, var(--table-row-bg-selected-default));
335
+ background: var(--table-row-bg-selected);
333
336
  }
334
337
 
335
338
  /* ═══════ Striped ═══════ */
@@ -339,18 +342,18 @@
339
342
  }
340
343
 
341
344
  :scope[striped] [data-body] > [role="row"]:nth-child(even) {
342
- background: var(--table-row-bg-striped, var(--table-row-bg-striped-default));
345
+ background: var(--table-row-bg-striped);
343
346
  }
344
347
 
345
348
  :scope[striped] [data-body] > [role="row"]:nth-child(even):hover {
346
- background: var(--table-row-bg-hover, var(--table-row-bg-hover-default));
349
+ background: var(--table-row-bg-hover);
347
350
  }
348
351
 
349
352
  /* Selected wins over the stripe — same (0,5,0) specificity as the striped-
350
353
  even rule above, placed AFTER it so source order resolves the tie in
351
354
  favor of selection (a selected row reads as selected regardless of stripe). */
352
355
  :scope[striped] [data-body] > [role="row"][data-selected] {
353
- background: var(--table-row-bg-selected, var(--table-row-bg-selected-default));
356
+ background: var(--table-row-bg-selected);
354
357
  }
355
358
 
356
359
  /* ═══════ Selection checkboxes ═══════ */
@@ -367,12 +370,12 @@
367
370
  /* ═══════ Density ═══════ */
368
371
 
369
372
  :scope[density="compact"] {
370
- --table-py-default: var(--a-space-1);
371
- --table-px-default: var(--a-space-2);
373
+ --table-py: var(--a-space-1);
374
+ --table-px: var(--a-space-2);
372
375
  }
373
376
 
374
377
  :scope[density="comfortable"] {
375
- --table-py-default: var(--a-space-4);
378
+ --table-py: var(--a-space-4);
376
379
  }
377
380
 
378
381
  /* ═══════ Pinned cells ═══════ */
@@ -381,14 +384,14 @@
381
384
  position: sticky;
382
385
  left: var(--_pin-left, 0);
383
386
  z-index: var(--_z-pinned);
384
- background: var(--table-bg, var(--table-bg-default));
387
+ background: var(--table-bg);
385
388
  }
386
389
 
387
390
  [data-pinned="right"] {
388
391
  position: sticky;
389
392
  right: var(--_pin-right, 0);
390
393
  z-index: var(--_z-pinned);
391
- background: var(--table-bg, var(--table-bg-default));
394
+ background: var(--table-bg);
392
395
  }
393
396
 
394
397
  [data-header] [data-pinned] {
@@ -399,10 +402,10 @@
399
402
 
400
403
  [data-resize-handle] {
401
404
  position: absolute;
402
- right: calc(-1 * var(--table-resize-width, var(--table-resize-width-default)) / 2);
405
+ right: calc(-1 * var(--table-resize-width) / 2);
403
406
  top: 0;
404
407
  bottom: 0;
405
- width: var(--table-resize-width, var(--table-resize-width-default));
408
+ width: var(--table-resize-width);
406
409
  cursor: col-resize;
407
410
  /* Sit above the next column header so pointer events hit the handle
408
411
  (the handle is centered on the column boundary; without z-index the
@@ -421,7 +424,7 @@
421
424
 
422
425
  [data-resize-handle]:hover,
423
426
  [data-resize-handle][data-resizing] {
424
- background: var(--table-accent, var(--table-accent-default));
427
+ background: var(--table-accent);
425
428
  }
426
429
 
427
430
  /* ═══════ Footer / pagination ═══════ */
@@ -430,10 +433,10 @@
430
433
  display: flex;
431
434
  align-items: center;
432
435
  justify-content: space-between;
433
- padding: var(--table-footer-py, var(--table-footer-py-default)) var(--table-px, var(--table-px-default));
434
- font-size: var(--table-heading-size, var(--table-heading-size-default));
435
- color: var(--table-heading-fg, var(--table-heading-fg-default));
436
- border-top: 1px solid var(--table-border, var(--table-border-default));
436
+ padding: var(--table-footer-py) var(--table-px);
437
+ font-size: var(--table-heading-size);
438
+ color: var(--table-heading-fg);
439
+ border-top: 1px solid var(--table-border);
437
440
  }
438
441
 
439
442
  /* ═══════ Overlays (empty / loading / error) ═══════ */
@@ -446,15 +449,15 @@
446
449
  flex-direction: column;
447
450
  align-items: center;
448
451
  justify-content: center;
449
- gap: var(--table-overlay-gap, var(--table-overlay-gap-default));
450
- padding: var(--table-overlay-pad, var(--table-overlay-pad-default));
451
- color: var(--table-heading-fg, var(--table-heading-fg-default));
452
+ gap: var(--table-overlay-gap);
453
+ padding: var(--table-overlay-pad);
454
+ color: var(--table-heading-fg);
452
455
  }
453
456
 
454
457
  /* ═══════ Keyboard focus ═══════ */
455
458
 
456
459
  [data-focused] {
457
- outline: 2px solid var(--table-accent, var(--table-accent-default));
460
+ outline: 2px solid var(--table-accent);
458
461
  outline-offset: -2px;
459
462
  }
460
463
 
@@ -462,12 +465,12 @@
462
465
 
463
466
  :scope[disabled] {
464
467
  pointer-events: none;
465
- color: var(--table-fg-disabled, var(--table-fg-disabled-default));
468
+ color: var(--table-fg-disabled);
466
469
  }
467
470
 
468
471
  :scope[disabled] [data-body] > [role="row"]:hover {
469
- background: var(--table-row-bg, var(--table-row-bg-default));
470
- color: var(--table-fg-disabled, var(--table-fg-disabled-default));
472
+ background: var(--table-row-bg);
473
+ color: var(--table-fg-disabled);
471
474
  }
472
475
 
473
476
  /* ═══════ Loading (skeleton rows) ═══════
@@ -499,7 +502,7 @@
499
502
  all: unset;
500
503
  cursor: pointer;
501
504
  opacity: 0.5;
502
- padding: 0 var(--table-filter-btn-px, var(--table-filter-btn-px-default));
505
+ padding: 0 var(--table-filter-btn-px);
503
506
  &:hover { opacity: 1; }
504
507
  }
505
508
 
@@ -510,55 +513,55 @@
510
513
  top: 100%;
511
514
  left: 0;
512
515
  right: 0;
513
- min-width: var(--table-cell-min-width, var(--table-cell-min-width-default));
516
+ min-width: var(--table-cell-min-width);
514
517
  z-index: 10;
515
- background: var(--table-filter-bg, var(--table-filter-bg-default));
516
- border: 1px solid var(--table-filter-border, var(--table-filter-border-default));
517
- border-radius: var(--table-filter-radius, var(--table-filter-radius-default));
518
- padding: var(--table-filter-inset, var(--table-filter-inset-default));
519
- box-shadow: var(--table-filter-shadow, var(--table-filter-shadow-default));
518
+ background: var(--table-filter-bg);
519
+ border: 1px solid var(--table-filter-border);
520
+ border-radius: var(--table-filter-radius);
521
+ padding: var(--table-filter-inset);
522
+ box-shadow: var(--table-filter-shadow);
520
523
  display: flex;
521
524
  flex-direction: column;
522
- gap: var(--table-filter-gap, var(--table-filter-gap-default));
525
+ gap: var(--table-filter-gap);
523
526
  }
524
527
 
525
528
  [data-filter-input] {
526
529
  width: 100%;
527
- padding: var(--table-filter-input-py, var(--table-filter-input-py-default)) var(--table-filter-input-px, var(--table-filter-input-px-default));
528
- border: 1px solid var(--table-filter-border, var(--table-filter-border-default));
529
- border-radius: var(--table-filter-input-radius, var(--table-filter-input-radius-default));
530
+ padding: var(--table-filter-input-py) var(--table-filter-input-px);
531
+ border: 1px solid var(--table-filter-border);
532
+ border-radius: var(--table-filter-input-radius);
530
533
  font: inherit;
531
- font-size: var(--table-filter-input-size, var(--table-filter-input-size-default));
532
- background: var(--table-filter-bg, var(--table-filter-bg-default));
533
- color: var(--table-filter-fg, var(--table-filter-fg-default));
534
+ font-size: var(--table-filter-input-size);
535
+ background: var(--table-filter-bg);
536
+ color: var(--table-filter-fg);
534
537
  }
535
538
 
536
539
  [data-filter-op] {
537
- padding: var(--table-filter-input-py, var(--table-filter-input-py-default));
538
- border: 1px solid var(--table-filter-border, var(--table-filter-border-default));
539
- border-radius: var(--table-filter-input-radius, var(--table-filter-input-radius-default));
540
+ padding: var(--table-filter-input-py);
541
+ border: 1px solid var(--table-filter-border);
542
+ border-radius: var(--table-filter-input-radius);
540
543
  font: inherit;
541
- font-size: var(--table-filter-input-size, var(--table-filter-input-size-default));
542
- background: var(--table-filter-bg, var(--table-filter-bg-default));
543
- color: var(--table-filter-fg, var(--table-filter-fg-default));
544
+ font-size: var(--table-filter-input-size);
545
+ background: var(--table-filter-bg);
546
+ color: var(--table-filter-fg);
544
547
  }
545
548
 
546
549
  [data-filter-option] {
547
550
  display: flex;
548
551
  align-items: center;
549
- gap: var(--table-filter-gap, var(--table-filter-gap-default));
550
- font-size: var(--table-filter-input-size, var(--table-filter-input-size-default));
552
+ gap: var(--table-filter-gap);
553
+ font-size: var(--table-filter-input-size);
551
554
  cursor: pointer;
552
- padding: var(--table-filter-input-py, var(--table-filter-input-py-default)) 0;
555
+ padding: var(--table-filter-input-py) 0;
553
556
  }
554
557
 
555
558
  [data-filter-clear] {
556
559
  all: unset;
557
560
  cursor: pointer;
558
- font-size: var(--table-filter-input-size, var(--table-filter-input-size-default));
559
- color: var(--table-filter-clear-fg, var(--table-filter-clear-fg-default));
561
+ font-size: var(--table-filter-input-size);
562
+ color: var(--table-filter-clear-fg);
560
563
  text-align: center;
561
- padding: var(--table-filter-input-py, var(--table-filter-input-py-default));
564
+ padding: var(--table-filter-input-py);
562
565
  &:hover { text-decoration: underline; }
563
566
  }
564
567
 
@@ -569,16 +572,16 @@
569
572
  display: flex;
570
573
  flex-wrap: wrap;
571
574
  align-items: center;
572
- gap: var(--table-chip-bar-gap, var(--table-chip-bar-gap-default));
573
- padding: var(--table-chip-bar-py, var(--table-chip-bar-py-default)) var(--table-chip-bar-px, var(--table-chip-bar-px-default));
574
- border-bottom: 1px solid var(--table-chip-bar-border, var(--table-chip-bar-border-default));
575
- background: var(--table-chip-bar-bg, var(--table-chip-bar-bg-default));
575
+ gap: var(--table-chip-bar-gap);
576
+ padding: var(--table-chip-bar-py) var(--table-chip-bar-px);
577
+ border-bottom: 1px solid var(--table-chip-bar-border);
578
+ background: var(--table-chip-bar-bg);
576
579
  }
577
580
 
578
581
  [data-chip-dismiss] {
579
582
  all: unset;
580
583
  cursor: pointer;
581
- margin-left: var(--table-chip-dismiss-gap, var(--table-chip-dismiss-gap-default));
584
+ margin-left: var(--table-chip-dismiss-gap);
582
585
  opacity: 0.6;
583
586
  &:hover { opacity: 1; }
584
587
  }
@@ -586,9 +589,9 @@
586
589
  [data-filter-clear-all] {
587
590
  all: unset;
588
591
  cursor: pointer;
589
- font-size: var(--table-filter-input-size, var(--table-filter-input-size-default));
590
- color: var(--table-filter-clear-fg, var(--table-filter-clear-fg-default));
591
- padding: var(--table-chip-bar-py, var(--table-chip-bar-py-default)) var(--table-chip-bar-px, var(--table-chip-bar-px-default));
592
+ font-size: var(--table-filter-input-size);
593
+ color: var(--table-filter-clear-fg);
594
+ padding: var(--table-chip-bar-py) var(--table-chip-bar-px);
592
595
  &:hover { text-decoration: underline; }
593
596
  }
594
597
 
@@ -596,9 +599,9 @@
596
599
 
597
600
  [data-detail-row] {
598
601
  grid-column: 1 / -1;
599
- padding: var(--table-detail-py, var(--table-detail-py-default)) var(--table-detail-px, var(--table-detail-px-default));
600
- background: var(--table-detail-bg, var(--table-detail-bg-default));
601
- border-bottom: 1px solid var(--table-detail-border, var(--table-detail-border-default));
602
+ padding: var(--table-detail-py) var(--table-detail-px);
603
+ background: var(--table-detail-bg);
604
+ border-bottom: 1px solid var(--table-detail-border);
602
605
  }
603
606
 
604
607
  [data-expand-toggle] {
@@ -607,7 +610,7 @@
607
610
  display: flex;
608
611
  align-items: center;
609
612
  justify-content: center;
610
- transition: transform var(--table-duration, var(--table-duration-default)) var(--table-easing, var(--table-easing-default));
613
+ transition: transform var(--table-duration) var(--table-easing);
611
614
  }
612
615
 
613
616
  [data-expanded] [data-expand-toggle] {
@@ -619,25 +622,25 @@
619
622
  [data-pinned] {
620
623
  position: sticky;
621
624
  z-index: 1;
622
- background: var(--table-pinned-bg, var(--table-pinned-bg-default));
625
+ background: var(--table-pinned-bg);
623
626
  }
624
627
 
625
628
  [data-pinned="left"]::after {
626
629
  content: '';
627
630
  position: absolute;
628
- right: calc(-1 * var(--table-pin-shadow-width, var(--table-pin-shadow-width-default))); top: 0; bottom: 0;
629
- width: var(--table-pin-shadow-width, var(--table-pin-shadow-width-default));
631
+ right: calc(-1 * var(--table-pin-shadow-width)); top: 0; bottom: 0;
632
+ width: var(--table-pin-shadow-width);
630
633
  pointer-events: none;
631
- background: linear-gradient(to right, var(--table-pinned-shadow, var(--table-pinned-shadow-default)), transparent);
634
+ background: linear-gradient(to right, var(--table-pinned-shadow), transparent);
632
635
  }
633
636
 
634
637
  [data-pinned="right"]::before {
635
638
  content: '';
636
639
  position: absolute;
637
- left: calc(-1 * var(--table-pin-shadow-width, var(--table-pin-shadow-width-default))); top: 0; bottom: 0;
638
- width: var(--table-pin-shadow-width, var(--table-pin-shadow-width-default));
640
+ left: calc(-1 * var(--table-pin-shadow-width)); top: 0; bottom: 0;
641
+ width: var(--table-pin-shadow-width);
639
642
  pointer-events: none;
640
- background: linear-gradient(to left, var(--table-pinned-shadow, var(--table-pinned-shadow-default)), transparent);
643
+ background: linear-gradient(to left, var(--table-pinned-shadow), transparent);
641
644
  }
642
645
 
643
646
  /* ═══════ Aggregation Footer ═══════ */
@@ -646,13 +649,13 @@
646
649
  display: grid;
647
650
  grid-template-columns: subgrid;
648
651
  grid-column: 1 / -1;
649
- border-top: 2px solid var(--table-agg-border, var(--table-agg-border-default));
652
+ border-top: 2px solid var(--table-agg-border);
650
653
  font-weight: 600;
651
- font-size: var(--table-agg-size, var(--table-agg-size-default));
652
- color: var(--table-fg-secondary, var(--table-fg-secondary-default));
654
+ font-size: var(--table-agg-size);
655
+ color: var(--table-fg-secondary);
653
656
  }
654
657
 
655
658
  [data-agg-row] > [role="gridcell"] {
656
- padding: var(--table-agg-py, var(--table-agg-py-default)) var(--table-agg-px, var(--table-agg-px-default));
659
+ padding: var(--table-agg-py) var(--table-agg-px);
657
660
  }
658
661
  }