@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.
- package/CHANGELOG.md +22 -0
- package/components/accordion/accordion.css +2 -2
- package/components/action-list/action-list.css +2 -2
- package/components/agent-artifact/agent-artifact.css +31 -31
- package/components/agent-feedback-bar/agent-feedback-bar.css +10 -10
- package/components/agent-questions/agent-questions.css +59 -57
- package/components/agent-reasoning/agent-reasoning.css +54 -54
- package/components/agent-suggestions/agent-suggestions.css +4 -4
- package/components/agent-trace/agent-trace.css +53 -53
- package/components/alert/alert.css +53 -53
- package/components/avatar/avatar.css +27 -27
- package/components/badge/badge.css +56 -53
- package/components/block/block.css +16 -16
- package/components/blockquote/blockquote.css +16 -16
- package/components/breadcrumb/breadcrumb.css +23 -23
- package/components/button/button.css +99 -100
- package/components/calendar-grid/calendar-grid.css +95 -92
- package/components/calendar-picker/calendar-picker.css +141 -139
- package/components/canvas/canvas.css +12 -12
- package/components/card/card.css +83 -83
- package/components/chart/chart.css +218 -218
- package/components/chart-legend/chart-legend.css +26 -26
- package/components/check/check.css +40 -40
- package/components/code/code.css +125 -125
- package/components/col/col.css +15 -15
- package/components/color-picker/color-picker.css +55 -55
- package/components/combobox/combobox.css +64 -62
- package/components/command/command.css +91 -91
- package/components/context-menu/context-menu.css +1 -1
- package/components/date-range-picker/date-range-picker.css +59 -59
- package/components/datetime-picker/datetime-picker.css +25 -25
- package/components/demo-toggle/demo-toggle.css +27 -27
- package/components/description-list/description-list.css +18 -18
- package/components/divider/divider.css +24 -24
- package/components/embed/embed.css +6 -6
- package/components/empty-state/empty-state.css +29 -29
- package/components/feed/feed.css +12 -12
- package/components/field/field.css +28 -28
- package/components/field/field.test.js +2 -2
- package/components/fields/fields.css +5 -5
- package/components/grid/grid.a2ui.json +10 -0
- package/components/grid/grid.css +23 -5
- package/components/grid/grid.d.ts +4 -0
- package/components/grid/grid.yaml +13 -0
- package/components/heatmap/heatmap.css +61 -61
- package/components/icon/icon.css +12 -12
- package/components/image/image.css +14 -14
- package/components/inline-edit/inline-edit.css +16 -16
- package/components/inline-message/inline-message.css +16 -16
- package/components/input/input.css +69 -66
- package/components/inspector/inspector.css +6 -6
- package/components/integration-card/integration-card.css +41 -41
- package/components/integration-card/integration-card.test.js +4 -4
- package/components/kbd/kbd.css +47 -40
- package/components/link/link.css +12 -12
- package/components/list/list.css +8 -8
- package/components/list-window/list-window.css +10 -10
- package/components/loading-overlay/loading-overlay.css +17 -18
- package/components/loading-overlay/loading-overlay.test.js +8 -8
- package/components/mark/mark.css +16 -16
- package/components/menu/menu.css +9 -9
- package/components/modal/modal.class.js +5 -9
- package/components/modal/modal.css +43 -43
- package/components/nav/nav.css +40 -40
- package/components/nav-group/nav-group.css +54 -54
- package/components/nav-item/nav-item.css +44 -44
- package/components/noodles/noodles.css +31 -31
- package/components/number-format/number-format.css +4 -4
- package/components/option-card/option-card.css +70 -70
- package/components/otp-input/otp-input.css +29 -29
- package/components/page/page.a2ui.json +1 -1
- package/components/page/page.css +27 -27
- package/components/page/page.d.ts +1 -1
- package/components/page/page.yaml +1 -1
- package/components/pagination/pagination.css +6 -6
- package/components/pane/pane.css +57 -57
- package/components/password-strength/password-strength.css +32 -32
- package/components/pipeline-status/pipeline-status.css +67 -67
- package/components/popover/popover.css +11 -11
- package/components/preview/preview.css +21 -21
- package/components/progress/progress.css +23 -23
- package/components/progress-row/progress-row.css +17 -17
- package/components/qr-code/qr-code.css +4 -4
- package/components/radio/radio.css +39 -39
- package/components/range/range.css +58 -55
- package/components/rating/rating.css +28 -28
- package/components/relative-time/relative-time.css +6 -6
- package/components/richtext/richtext.css +133 -133
- package/components/row/row.css +19 -19
- package/components/search/search.css +5 -5
- package/components/segment/segment.css +29 -24
- package/components/segmented/segmented.css +30 -25
- package/components/select/select.css +95 -93
- package/components/skeleton/skeleton.css +14 -14
- package/components/skip-nav/skip-nav.css +4 -4
- package/components/slider/slider.css +61 -61
- package/components/spinner/spinner.css +40 -40
- package/components/spinner/spinner.test.js +10 -12
- package/components/stack/stack.css +11 -11
- package/components/stat/stat.css +27 -27
- package/components/step-progress/step-progress.css +20 -20
- package/components/stepper/stepper.css +29 -29
- package/components/stream/stream.css +12 -12
- package/components/swatch/swatch.css +68 -68
- package/components/swiper/swiper.class.js +5 -12
- package/components/swiper/swiper.css +57 -57
- package/components/switch/switch.css +53 -53
- package/components/table/table.css +166 -163
- package/components/table-toolbar/table-toolbar.css +33 -33
- package/components/tabs/tabs.css +54 -51
- package/components/tag/tag.css +74 -71
- package/components/tag/tag.test.js +14 -14
- package/components/tags-input/tags-input.css +51 -49
- package/components/text/text.css +44 -44
- package/components/textarea/textarea.css +49 -46
- package/components/time-picker/time-picker.css +47 -47
- package/components/timeline/timeline.css +54 -54
- package/components/toast/toast.css +58 -58
- package/components/toc/toc.css +28 -28
- package/components/toggle-group/toggle-group.css +9 -6
- package/components/toggle-scheme/toggle-scheme.css +2 -2
- package/components/toolbar/toolbar.css +18 -18
- package/components/tooltip/tooltip.css +2 -2
- package/components/tour/tour.css +4 -4
- package/components/tree/tree.css +37 -37
- package/components/upload/upload.css +49 -49
- package/dist/host.min.css +1 -0
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +2 -2
- package/package.json +1 -1
- package/styles/foundation/space.css +19 -18
- package/styles/host.css +48 -0
- package/styles/prose.css +187 -173
- package/styles/type/scale.css +6 -0
- package/styles/typography.css +10 -5
- 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
|
|
5
|
-
--table-
|
|
6
|
-
--table-heading-
|
|
7
|
-
--table-heading-
|
|
8
|
-
--table-heading-
|
|
9
|
-
--table-heading-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
--table-fg
|
|
13
|
-
--table-fg-
|
|
14
|
-
--table-
|
|
15
|
-
--table-border
|
|
16
|
-
--table-
|
|
17
|
-
--table-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
--table-row-bg
|
|
21
|
-
--table-row-bg-
|
|
22
|
-
--table-row-bg-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
--table-
|
|
26
|
-
--table-
|
|
27
|
-
--table-
|
|
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
|
|
33
|
+
--table-radius: 0;
|
|
33
34
|
|
|
34
35
|
/* ── Resize + pinned-column intrinsics ── */
|
|
35
|
-
--table-resize-width
|
|
36
|
-
--table-pin-shadow-width
|
|
37
|
-
--table-cell-min-width
|
|
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
|
|
41
|
-
--table-filter-fg
|
|
42
|
-
--table-filter-border
|
|
43
|
-
--table-filter-radius
|
|
44
|
-
--table-filter-inset
|
|
45
|
-
--table-filter-gap
|
|
46
|
-
--table-filter-shadow
|
|
47
|
-
--table-filter-input-py
|
|
48
|
-
--table-filter-input-px
|
|
49
|
-
--table-filter-input-radius
|
|
50
|
-
--table-filter-input-size
|
|
51
|
-
--table-filter-btn-px
|
|
52
|
-
--table-filter-clear-fg
|
|
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
|
|
56
|
-
--table-chip-bar-border
|
|
57
|
-
--table-chip-bar-gap
|
|
58
|
-
--table-chip-bar-py
|
|
59
|
-
--table-chip-bar-px
|
|
60
|
-
--table-chip-dismiss-gap
|
|
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
|
|
64
|
-
--table-detail-border
|
|
65
|
-
--table-detail-py
|
|
66
|
-
--table-detail-px
|
|
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
|
|
70
|
-
--table-pinned-shadow
|
|
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
|
|
74
|
-
--table-agg-size
|
|
75
|
-
--table-agg-py
|
|
76
|
-
--table-agg-px
|
|
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
|
|
80
|
+
--table-sort-priority-fg: var(--a-chrome-light);
|
|
80
81
|
|
|
81
82
|
/* ── Sort icon gap ── */
|
|
82
|
-
--table-sort-icon-gap
|
|
83
|
+
--table-sort-icon-gap: var(--a-space-1);
|
|
83
84
|
|
|
84
85
|
/* ── Footer / pagination ── */
|
|
85
|
-
--table-footer-py
|
|
86
|
+
--table-footer-py: var(--a-space-3);
|
|
86
87
|
|
|
87
88
|
/* ── Overlays ── */
|
|
88
|
-
--table-overlay-gap
|
|
89
|
-
--table-overlay-pad
|
|
89
|
+
--table-overlay-gap: var(--a-space-3);
|
|
90
|
+
--table-overlay-pad: var(--a-space-8);
|
|
90
91
|
|
|
91
92
|
/* ── Transitions ── */
|
|
92
|
-
--table-duration
|
|
93
|
-
--table-easing
|
|
93
|
+
--table-duration: var(--a-duration-fast);
|
|
94
|
+
--table-easing: var(--a-easing);
|
|
94
95
|
|
|
95
96
|
/* ── State ── */
|
|
96
|
-
--table-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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
|
126
|
-
border-radius: var(--table-radius
|
|
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
|
|
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
|
|
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
|
|
175
|
-
font-size: var(--table-heading-size
|
|
176
|
-
font-weight: var(--table-heading-weight
|
|
177
|
-
color: var(--table-heading-fg
|
|
178
|
-
background: var(--table-heading-bg
|
|
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
|
|
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
|
|
207
|
+
transition: color var(--table-duration) var(--table-easing);
|
|
205
208
|
}
|
|
206
209
|
|
|
207
210
|
[data-sort-key]:hover {
|
|
208
|
-
color: var(--table-fg
|
|
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
|
|
215
|
-
margin-inline-start: var(--table-sort-icon-gap
|
|
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
|
|
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
|
|
228
|
-
color: var(--table-sort-priority-fg
|
|
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
|
|
245
|
-
border-bottom: 1px solid var(--table-border
|
|
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
|
|
318
|
-
transition: background var(--table-duration
|
|
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
|
|
323
|
-
color: var(--table-fg-hover
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
371
|
-
--table-px
|
|
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
|
|
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
|
|
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
|
|
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
|
|
405
|
+
right: calc(-1 * var(--table-resize-width) / 2);
|
|
403
406
|
top: 0;
|
|
404
407
|
bottom: 0;
|
|
405
|
-
width: var(--table-resize-width
|
|
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
|
|
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
|
|
434
|
-
font-size: var(--table-heading-size
|
|
435
|
-
color: var(--table-heading-fg
|
|
436
|
-
border-top: 1px solid var(--table-border
|
|
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
|
|
450
|
-
padding: var(--table-overlay-pad
|
|
451
|
-
color: var(--table-heading-fg
|
|
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
|
|
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
|
|
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
|
|
470
|
-
color: var(--table-fg-disabled
|
|
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
|
|
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
|
|
516
|
+
min-width: var(--table-cell-min-width);
|
|
514
517
|
z-index: 10;
|
|
515
|
-
background: var(--table-filter-bg
|
|
516
|
-
border: 1px solid var(--table-filter-border
|
|
517
|
-
border-radius: var(--table-filter-radius
|
|
518
|
-
padding: var(--table-filter-inset
|
|
519
|
-
box-shadow: var(--table-filter-shadow
|
|
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
|
|
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
|
|
528
|
-
border: 1px solid var(--table-filter-border
|
|
529
|
-
border-radius: var(--table-filter-input-radius
|
|
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
|
|
532
|
-
background: var(--table-filter-bg
|
|
533
|
-
color: var(--table-filter-fg
|
|
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
|
|
538
|
-
border: 1px solid var(--table-filter-border
|
|
539
|
-
border-radius: var(--table-filter-input-radius
|
|
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
|
|
542
|
-
background: var(--table-filter-bg
|
|
543
|
-
color: var(--table-filter-fg
|
|
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
|
|
550
|
-
font-size: var(--table-filter-input-size
|
|
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
|
|
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
|
|
559
|
-
color: var(--table-filter-clear-fg
|
|
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
|
|
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
|
|
573
|
-
padding: var(--table-chip-bar-py
|
|
574
|
-
border-bottom: 1px solid var(--table-chip-bar-border
|
|
575
|
-
background: var(--table-chip-bar-bg
|
|
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
|
|
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
|
|
590
|
-
color: var(--table-filter-clear-fg
|
|
591
|
-
padding: var(--table-chip-bar-py
|
|
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
|
|
600
|
-
background: var(--table-detail-bg
|
|
601
|
-
border-bottom: 1px solid var(--table-detail-border
|
|
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
|
|
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
|
|
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
|
|
629
|
-
width: var(--table-pin-shadow-width
|
|
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
|
|
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
|
|
638
|
-
width: var(--table-pin-shadow-width
|
|
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
|
|
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
|
|
652
|
+
border-top: 2px solid var(--table-agg-border);
|
|
650
653
|
font-weight: 600;
|
|
651
|
-
font-size: var(--table-agg-size
|
|
652
|
-
color: var(--table-fg-secondary
|
|
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
|
|
659
|
+
padding: var(--table-agg-py) var(--table-agg-px);
|
|
657
660
|
}
|
|
658
661
|
}
|