@adia-ai/web-components 0.7.28 → 0.8.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.
- package/CHANGELOG.md +19 -0
- package/components/accordion/accordion.css +13 -4
- package/components/action-list/action-list.css +3 -3
- package/components/agent-artifact/agent-artifact.css +4 -4
- package/components/agent-questions/agent-questions.css +8 -8
- package/components/agent-reasoning/agent-reasoning.css +6 -6
- package/components/agent-trace/agent-trace.css +4 -4
- package/components/agent-trace/agent-trace.js +1 -1
- package/components/alert/alert.css +16 -16
- package/components/avatar/avatar.css +3 -3
- package/components/badge/badge.css +32 -32
- package/components/blockquote/blockquote.css +1 -1
- package/components/breadcrumb/breadcrumb.css +2 -2
- package/components/button/button.css +14 -14
- package/components/calendar-grid/calendar-grid.a2ui.json +3 -3
- package/components/calendar-grid/calendar-grid.css +10 -10
- package/components/calendar-grid/calendar-grid.yaml +3 -3
- package/components/calendar-picker/calendar-picker.css +11 -11
- package/components/canvas/canvas.css +2 -2
- package/components/card/card.css +15 -15
- package/components/chart/chart.css +23 -23
- package/components/chart-legend/chart-legend.css +2 -2
- package/components/chat-thread/chat-input.css +6 -6
- package/components/chat-thread/chat-thread.css +7 -7
- package/components/check/check.css +4 -4
- package/components/code/code-editor.js +1 -1
- package/components/code/code.css +45 -22
- package/components/color-picker/color-picker.css +4 -4
- package/components/combobox/combobox.css +6 -6
- package/components/command/command.class.js +14 -3
- package/components/command/command.css +4 -4
- package/components/context-menu/context-menu.css +2 -2
- package/components/date-range-picker/date-range-picker.a2ui.json +3 -3
- package/components/date-range-picker/date-range-picker.css +8 -8
- package/components/date-range-picker/date-range-picker.yaml +3 -3
- package/components/datetime-picker/datetime-picker.css +6 -6
- package/components/demo-toggle/demo-toggle.css +4 -4
- package/components/description-list/description-list.css +1 -1
- package/components/display-field/display-field.css +2 -2
- package/components/divider/divider.css +1 -1
- package/components/drawer/drawer.css +7 -7
- package/components/embed/embed.css +1 -1
- package/components/empty-state/empty-state.css +5 -5
- package/components/feed/feed.css +7 -7
- package/components/field/field.css +2 -2
- package/components/heatmap/heatmap.css +8 -8
- package/components/inline-edit/inline-edit.a2ui.json +1 -1
- package/components/inline-edit/inline-edit.css +3 -3
- package/components/inline-edit/inline-edit.yaml +1 -1
- package/components/inline-message/inline-message.css +4 -4
- package/components/input/input.css +1 -1
- package/components/inspector/inspector.css +1 -1
- package/components/integration-card/integration-card.css +3 -3
- package/components/kbd/kbd.css +2 -2
- package/components/link/link.css +2 -2
- package/components/list/list.css +10 -10
- package/components/list-window/list-window.css +2 -2
- package/components/mark/mark.css +9 -9
- package/components/menu/menu.css +9 -9
- package/components/modal/modal.css +4 -4
- package/components/nav/nav.css +1 -1
- package/components/nav-group/nav-group.css +7 -16
- package/components/nav-item/nav-item.css +1 -1
- package/components/noodles/noodles.a2ui.json +1 -1
- package/components/noodles/noodles.css +3 -3
- package/components/noodles/noodles.d.ts +1 -1
- package/components/noodles/noodles.yaml +1 -1
- package/components/option-card/option-card.css +11 -11
- package/components/otp-input/otp-input.css +1 -1
- package/components/page/page.css +2 -2
- package/components/pane/pane.css +5 -5
- package/components/password-strength/password-strength.css +1 -1
- package/components/pipeline-status/pipeline-status.css +9 -9
- package/components/popover/popover.css +2 -2
- package/components/preview/preview.css +14 -3
- package/components/progress/progress.a2ui.json +1 -1
- package/components/progress/progress.css +1 -1
- package/components/progress/progress.d.ts +1 -1
- package/components/progress/progress.yaml +1 -1
- package/components/progress-row/progress-row.css +2 -2
- package/components/radio/radio.css +4 -4
- package/components/range/range.css +2 -2
- package/components/rating/rating.css +2 -2
- package/components/richtext/richtext.class.js +4 -0
- package/components/richtext/richtext.css +5 -5
- package/components/richtext/richtext.yaml +1 -0
- package/components/row/row.css +1 -1
- package/components/select/select.css +8 -8
- package/components/skip-nav/skip-nav.a2ui.json +2 -2
- package/components/skip-nav/skip-nav.css +3 -3
- package/components/skip-nav/skip-nav.yaml +2 -2
- package/components/slider/slider.css +5 -5
- package/components/spinner/spinner.css +2 -2
- package/components/spinner/spinner.test.js +4 -2
- package/components/stat/stat.css +1 -1
- package/components/step-progress/step-progress.a2ui.json +1 -1
- package/components/step-progress/step-progress.class.js +1 -1
- package/components/step-progress/step-progress.css +2 -2
- package/components/step-progress/step-progress.d.ts +1 -1
- package/components/step-progress/step-progress.yaml +1 -1
- package/components/stepper/stepper.css +22 -22
- package/components/stream/stream.css +2 -2
- package/components/swatch/swatch.class.js +1 -1
- package/components/swatch/swatch.css +11 -11
- package/components/swiper/swiper.css +5 -5
- package/components/switch/switch.css +5 -5
- package/components/table/cell-types.js +1 -1
- package/components/table/table.css +16 -11
- package/components/table-toolbar/table-toolbar.css +8 -8
- package/components/tabs/tabs.css +5 -5
- package/components/tag/tag.css +41 -29
- package/components/tag/tag.test.js +22 -29
- package/components/tags-input/tags-input.a2ui.json +1 -1
- package/components/tags-input/tags-input.css +3 -3
- package/components/tags-input/tags-input.yaml +5 -3
- package/components/text/text.css +4 -4
- package/components/textarea/textarea.css +1 -1
- package/components/time-picker/time-picker.css +2 -2
- package/components/timeline/timeline.css +31 -31
- package/components/toast/toast.css +19 -19
- package/components/toc/toc.a2ui.json +1 -1
- package/components/toc/toc.css +3 -3
- package/components/toc/toc.yaml +1 -1
- package/components/toggle-group/toggle-group.css +3 -3
- package/components/toolbar/toolbar.css +3 -3
- package/components/tooltip/tooltip.css +9 -9
- package/components/tour/tour.css +3 -3
- package/components/tree/tree.css +2 -2
- package/components/upload/upload.css +7 -7
- package/dist/host.min.css +1 -1
- package/dist/host.sheet.js +1 -1
- package/dist/theme-provider.min.js +7 -7
- package/dist/themes.min.css +1 -1
- package/dist/themes.sheet.js +1 -1
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +34 -34
- package/dist/web-components.sheet.js +1 -1
- package/package.json +3 -3
- package/styles/api/text.css +1 -1
- package/styles/colors/bridges/material-bridge.css +30 -0
- package/styles/colors/index.css +19 -1
- package/styles/colors/material-static.css +771 -0
- package/styles/colors/parameters.css +40 -4
- package/styles/colors/primitives-primary.css +89 -0
- package/styles/colors/primitives-secondary.css +89 -0
- package/styles/colors/primitives-tertiary.css +89 -0
- package/styles/colors/primitives.css +3 -1
- package/styles/colors/scrims.css +19 -180
- package/styles/colors/semantics/aliases.css +25 -11
- package/styles/colors/semantics/buckets.css +28 -12
- package/styles/colors/semantics/core.css +323 -202
- package/styles/colors/semantics/data-viz.css +13 -13
- package/styles/colors/semantics/features.css +31 -13
- package/styles/colors/surfaces.css +41 -31
- package/styles/themes.css +15 -15
- package/styles/colors/primitives-accent.css +0 -89
package/components/menu/menu.css
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
@scope (menu-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
3
|
--menu-popover-padding: var(--a-space-1);
|
|
4
|
-
--menu-popover-border: var(--
|
|
4
|
+
--menu-popover-border: var(--md-sys-color-neutral-outline-variant);
|
|
5
5
|
--menu-popover-radius: var(--a-radius-lg);
|
|
6
6
|
--menu-popover-bg: var(--a-bg-subtle);
|
|
7
7
|
--menu-popover-shadow: var(--a-shadow-lg);
|
|
8
8
|
--menu-popover-min-width: 10rem;
|
|
9
9
|
--menu-popover-font-size: var(--a-ui-size);
|
|
10
|
-
--menu-popover-fg: var(--
|
|
10
|
+
--menu-popover-fg: var(--md-sys-color-neutral-on-surface);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
:scope {
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
menu-ui [data-menu-popover] {
|
|
48
48
|
margin: 0;
|
|
49
49
|
padding: var(--a-space-1);
|
|
50
|
-
border: 1px solid var(--
|
|
50
|
+
border: 1px solid var(--md-sys-color-neutral-outline-variant);
|
|
51
51
|
border-radius: var(--a-radius-lg);
|
|
52
52
|
background: var(--a-bg-subtle);
|
|
53
53
|
box-shadow: var(--a-shadow-lg);
|
|
54
54
|
min-width: 10rem;
|
|
55
55
|
font-family: var(--menu-font-family, var(--a-font-family-ui));
|
|
56
56
|
font-size: var(--a-ui-size);
|
|
57
|
-
color: var(--
|
|
57
|
+
color: var(--md-sys-color-neutral-on-surface);
|
|
58
58
|
/* Fade + lift in on first paint via @starting-style. Plain `transition`
|
|
59
59
|
applies during exit too (display: none can't transition, but opacity
|
|
60
60
|
can — and the close path is JS-controlled so no exit anim is needed). */
|
|
@@ -118,15 +118,15 @@ menu-item-ui[variant="danger"]:hover [slot="icon"] {
|
|
|
118
118
|
|
|
119
119
|
/* ── Colors ── */
|
|
120
120
|
--menu-item-bg: transparent;
|
|
121
|
-
--menu-item-fg: var(--
|
|
122
|
-
--menu-item-fg-hover: var(--
|
|
121
|
+
--menu-item-fg: var(--md-sys-color-neutral-on-surface-variant);
|
|
122
|
+
--menu-item-fg-hover: var(--md-sys-color-neutral-on-surface);
|
|
123
123
|
--menu-item-bg-hover: var(--a-bg-muted);
|
|
124
124
|
--menu-item-fg-disabled: var(--a-ui-text-disabled);
|
|
125
125
|
--menu-item-icon-fg: var(--a-fg-muted);
|
|
126
|
-
--menu-item-icon-fg-hover: var(--
|
|
126
|
+
--menu-item-icon-fg-hover: var(--md-sys-color-neutral-on-surface);
|
|
127
127
|
--menu-item-icon-disabled: var(--a-ui-text-disabled);
|
|
128
128
|
--menu-item-danger-fg: var(--a-danger-bg);
|
|
129
|
-
--menu-item-danger-bg: var(--
|
|
129
|
+
--menu-item-danger-bg: var(--md-sys-color-danger-container);
|
|
130
130
|
|
|
131
131
|
/* ── Typography ── */
|
|
132
132
|
--menu-item-font-size: var(--a-ui-size);
|
|
@@ -201,7 +201,7 @@ menu-item-ui[variant="danger"]:hover [slot="icon"] {
|
|
|
201
201
|
--menu-divider-my: var(--a-space-1);
|
|
202
202
|
|
|
203
203
|
/* ── Colors ── */
|
|
204
|
-
--menu-divider-color: var(--
|
|
204
|
+
--menu-divider-color: var(--md-sys-color-neutral-outline-variant);
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
:scope {
|
|
@@ -11,17 +11,17 @@
|
|
|
11
11
|
:where(:scope) {
|
|
12
12
|
--modal-width: 32rem;
|
|
13
13
|
--modal-radius: var(--a-radius-lg);
|
|
14
|
-
--modal-bg: var(--
|
|
15
|
-
--modal-border: var(--
|
|
14
|
+
--modal-bg: var(--md-sys-color-neutral-surface-dimmer);
|
|
15
|
+
--modal-border: var(--md-sys-color-neutral-outline-variant);
|
|
16
16
|
--modal-shadow: var(--a-shadow-lg);
|
|
17
17
|
--modal-backdrop: var(--a-scrim-dialog);
|
|
18
18
|
--modal-duration: var(--a-duration);
|
|
19
19
|
--modal-easing: var(--a-easing-out);
|
|
20
20
|
--modal-heading-size: var(--a-ui-lg);
|
|
21
21
|
--modal-heading-weight: var(--a-weight-semibold);
|
|
22
|
-
--modal-header-fg: var(--
|
|
22
|
+
--modal-header-fg: var(--md-sys-color-neutral-on-surface);
|
|
23
23
|
--modal-close-fg: var(--a-fg-muted);
|
|
24
|
-
--modal-close-hover: var(--
|
|
24
|
+
--modal-close-hover: var(--md-sys-color-neutral-on-surface);
|
|
25
25
|
--modal-pad-header: var(--a-space-3);
|
|
26
26
|
--modal-pad-body: var(--a-space-4);
|
|
27
27
|
--modal-pad-footer: var(--a-space-3);
|
package/components/nav/nav.css
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
--nav-py: var(--a-space-2);
|
|
12
12
|
--nav-font-size: var(--a-ui-size);
|
|
13
13
|
--nav-bg: transparent;
|
|
14
|
-
--nav-divider-bg: var(--
|
|
14
|
+
--nav-divider-bg: var(--md-sys-color-neutral-outline-variant);
|
|
15
15
|
--nav-divider-my: var(--a-space-1);
|
|
16
16
|
|
|
17
17
|
/* Primary-variant collapse */
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
--nav-group-font-size-sm: var(--a-ui-sm);
|
|
11
11
|
--nav-group-font-size-lg: var(--a-ui-lg);
|
|
12
12
|
--nav-group-font-weight: var(--a-weight-normal);
|
|
13
|
-
--nav-group-fg: var(--
|
|
13
|
+
--nav-group-fg: var(--md-sys-color-neutral-on-surface);
|
|
14
14
|
--nav-group-fg-hover: var(--a-fg-strong);
|
|
15
15
|
--nav-group-fg-muted: var(--a-fg-muted);
|
|
16
16
|
--nav-group-fg-selected: var(--a-fg-strong);
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
nav-group-ui [slot="popover"] {
|
|
216
216
|
margin: 0;
|
|
217
217
|
padding: var(--a-space-1);
|
|
218
|
-
border: 1px solid var(--
|
|
218
|
+
border: 1px solid var(--md-sys-color-neutral-outline-variant);
|
|
219
219
|
border-radius: var(--a-radius);
|
|
220
220
|
background: var(--a-bg-subtle);
|
|
221
221
|
box-shadow: var(--a-shadow-lg);
|
|
@@ -250,27 +250,18 @@ nav-group-ui [slot="popover"] [role="option"]:hover {
|
|
|
250
250
|
color: var(--nav-group-fg-hover);
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
-
/* Selected / current option —
|
|
254
|
-
|
|
253
|
+
/* Selected / current option — background fill alone (TKT-0017): a
|
|
254
|
+
paired leading accent bar (mirroring the main rail's nav-item
|
|
255
|
+
selection) was removed as a redundant second signal for the same
|
|
256
|
+
state — the muted fill + color + weight change already reads clearly
|
|
257
|
+
as "selected" on its own. */
|
|
255
258
|
nav-group-ui [slot="popover"] [role="option"][aria-current="page"],
|
|
256
259
|
nav-group-ui [slot="popover"] [role="option"][aria-selected="true"] {
|
|
257
|
-
position: relative;
|
|
258
260
|
background: var(--nav-group-bg-hover);
|
|
259
261
|
color: var(--nav-group-fg-selected);
|
|
260
262
|
font-weight: var(--a-weight-medium);
|
|
261
263
|
}
|
|
262
264
|
|
|
263
|
-
nav-group-ui [slot="popover"] [role="option"][aria-current="page"]::before,
|
|
264
|
-
nav-group-ui [slot="popover"] [role="option"][aria-selected="true"]::before {
|
|
265
|
-
content: '';
|
|
266
|
-
position: absolute;
|
|
267
|
-
inset-inline-start: calc(var(--a-space-2) * -0.5);
|
|
268
|
-
inset-block: 25%;
|
|
269
|
-
width: 2px;
|
|
270
|
-
border-radius: 1px;
|
|
271
|
-
background: var(--a-accent);
|
|
272
|
-
}
|
|
273
|
-
|
|
274
265
|
/* ── Section variant — groups render as kicker labels ──
|
|
275
266
|
Primary variant defaults to collapsible:true (caret-toggleable).
|
|
276
267
|
Section variant flips to collapsible:false-shape — header is a
|
|
@@ -29,7 +29,7 @@ nav-item-ui[selected] [slot="icon"]:empty::before {
|
|
|
29
29
|
|
|
30
30
|
@scope (nav-item-ui) {
|
|
31
31
|
:where(:scope) {
|
|
32
|
-
--nav-item-accent: var(--
|
|
32
|
+
--nav-item-accent: var(--md-sys-color-primary);
|
|
33
33
|
--nav-item-row-height: var(--a-size);
|
|
34
34
|
--nav-item-row-height-sm: var(--a-size-sm);
|
|
35
35
|
--nav-item-row-height-lg: var(--a-size-lg);
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
/* ── Tokens ── */
|
|
4
4
|
--noodles-duration: var(--a-duration-fast);
|
|
5
5
|
--noodles-easing: var(--a-easing);
|
|
6
|
-
--noodles-stroke: var(--a-
|
|
6
|
+
--noodles-stroke: var(--a-primary-bg);
|
|
7
7
|
/* Component-intrinsic visual constants; no --a-space-* equivalent */
|
|
8
8
|
--noodles-stroke-width: 2px;
|
|
9
9
|
--noodles-stroke-readonly: var(--a-fg-muted);
|
|
10
10
|
/* Component-intrinsic visual constants; no --a-space-* equivalent */
|
|
11
11
|
--noodles-port-size: 10px;
|
|
12
|
-
--noodles-port-bg: var(--a-
|
|
13
|
-
--noodles-port-border: var(--
|
|
12
|
+
--noodles-port-bg: var(--a-primary-bg);
|
|
13
|
+
--noodles-port-border: var(--md-sys-color-neutral-background);
|
|
14
14
|
--noodles-port-hover-ring: 0 0 0 3px var(--a-bg-muted);
|
|
15
15
|
--noodles-port-drop-scale: 1.4;
|
|
16
16
|
--noodles-port-drag-opacity: 0.4;
|
|
@@ -45,7 +45,7 @@ export type NoodlesNoodleDragEvent = CustomEvent<unknown>;
|
|
|
45
45
|
export class UINoodles extends UIElement {
|
|
46
46
|
/** Flowing dash animation on noodles */
|
|
47
47
|
animated: boolean;
|
|
48
|
-
/** Noodle stroke color. Defaults to --a-
|
|
48
|
+
/** Noodle stroke color. Defaults to --a-primary-bg */
|
|
49
49
|
color: string;
|
|
50
50
|
/** Noodle curve style */
|
|
51
51
|
curve: 'bezier' | 'step' | 'straight';
|
|
@@ -34,39 +34,39 @@ option-card-ui[checked] [slot="icon"] {
|
|
|
34
34
|
--option-card-padding-block: var(--a-space-3);
|
|
35
35
|
--option-card-padding-inline: var(--a-space-4);
|
|
36
36
|
--option-card-radius: var(--a-radius-md);
|
|
37
|
-
--option-card-bg: var(--
|
|
38
|
-
--option-card-border: var(--
|
|
37
|
+
--option-card-bg: var(--md-sys-color-neutral-background);
|
|
38
|
+
--option-card-border: var(--md-sys-color-neutral-outline);
|
|
39
39
|
--option-card-gap-x: var(--a-space-3);
|
|
40
40
|
--option-card-gap-y: var(--a-space-1);
|
|
41
41
|
|
|
42
42
|
/* ── State: hover ── */
|
|
43
43
|
--option-card-bg-hover: var(--a-bg-muted);
|
|
44
|
-
--option-card-border-hover: var(--
|
|
44
|
+
--option-card-border-hover: var(--md-sys-color-neutral-on-surface-variant);
|
|
45
45
|
|
|
46
46
|
/* ── State: checked ── */
|
|
47
|
-
--option-card-bg-checked: var(--
|
|
48
|
-
--option-card-border-checked: var(--
|
|
47
|
+
--option-card-bg-checked: var(--md-sys-color-primary-container);
|
|
48
|
+
--option-card-border-checked: var(--md-sys-color-primary);
|
|
49
49
|
|
|
50
50
|
/* ── Indicator (CSS radio circle, same size + recipe as <radio-ui>). */
|
|
51
51
|
--option-card-radio-size: var(--a-toggle-size);
|
|
52
|
-
--option-card-radio-bg: var(--
|
|
53
|
-
--option-card-radio-border: var(--
|
|
54
|
-
--option-card-radio-fill: var(--
|
|
52
|
+
--option-card-radio-bg: var(--md-sys-color-neutral-background);
|
|
53
|
+
--option-card-radio-border: var(--md-sys-color-neutral-outline);
|
|
54
|
+
--option-card-radio-fill: var(--md-sys-color-primary);
|
|
55
55
|
/* Mirror radio.css's --radio-fg-checked recipe: an always-light
|
|
56
|
-
token rather than --a-
|
|
56
|
+
token rather than --a-primary-fg, which can flip dark depending
|
|
57
57
|
on theme/scheme combos and produce a near-black inner dot
|
|
58
58
|
against the accent disc. */
|
|
59
59
|
--option-card-radio-dot: var(--a-chrome-light);
|
|
60
60
|
|
|
61
61
|
/* ── Typography ── */
|
|
62
|
-
--option-card-heading-color: var(--
|
|
62
|
+
--option-card-heading-color: var(--md-sys-color-neutral-on-surface);
|
|
63
63
|
--option-card-heading-color-checked: var(--a-fg-strong);
|
|
64
64
|
--option-card-heading-weight: var(--a-weight-medium);
|
|
65
65
|
--option-card-heading-size: var(--a-ui-size);
|
|
66
66
|
--option-card-desc-color: var(--a-fg-muted);
|
|
67
67
|
--option-card-desc-size: var(--a-ui-sm);
|
|
68
68
|
--option-card-desc-line-height: 1.4;
|
|
69
|
-
--option-card-icon-color: var(--
|
|
69
|
+
--option-card-icon-color: var(--md-sys-color-neutral-on-surface-variant);
|
|
70
70
|
--option-card-icon-color-checked: var(--a-fg-strong);
|
|
71
71
|
--option-card-icon-size: 1.5rem;
|
|
72
72
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
--otp-input-radius: var(--a-radius-lg);
|
|
11
11
|
--otp-input-border: var(--a-ui-border);
|
|
12
12
|
--otp-input-border-hover: var(--a-ui-border-hover);
|
|
13
|
-
--otp-input-border-focus: var(--
|
|
13
|
+
--otp-input-border-focus: var(--md-sys-color-primary);
|
|
14
14
|
--otp-input-bg-disabled: var(--a-ui-bg-disabled);
|
|
15
15
|
--otp-input-fg-disabled: var(--a-ui-text-disabled);
|
|
16
16
|
--otp-input-border-disabled: var(--a-ui-border-disabled);
|
package/components/page/page.css
CHANGED
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
|
|
21
21
|
/* ── Surfaces ── */
|
|
22
22
|
--page-bg: var(--a-canvas-0);
|
|
23
|
-
--page-fg: var(--
|
|
23
|
+
--page-fg: var(--md-sys-color-neutral-on-surface);
|
|
24
24
|
|
|
25
25
|
/* ── Sticky-header chrome (when [data-header-stuck]) ── */
|
|
26
26
|
--page-sticky-bg: var(--a-canvas-0);
|
|
27
|
-
--page-sticky-border: 1px solid var(--
|
|
27
|
+
--page-sticky-border: 1px solid var(--md-sys-color-neutral-outline-variant);
|
|
28
28
|
--page-sticky-shadow: var(--a-shadow-sm);
|
|
29
29
|
}
|
|
30
30
|
|
package/components/pane/pane.css
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
@scope (pane-ui) {
|
|
2
2
|
/* Tokens — :where() for zero specificity so consumers can override */
|
|
3
3
|
:where(:scope) {
|
|
4
|
-
--pane-bg: var(--
|
|
5
|
-
--pane-border: var(--
|
|
4
|
+
--pane-bg: var(--md-sys-color-neutral-background);
|
|
5
|
+
--pane-border: var(--md-sys-color-neutral-outline-variant);
|
|
6
6
|
--pane-radius: var(--a-radius-lg);
|
|
7
7
|
/* Component-intrinsic measurement; no --a-space-* equivalent */
|
|
8
8
|
--pane-bar-height: var(--a-chrome-pane-header-height);
|
|
9
9
|
--pane-header-px: var(--a-space-3);
|
|
10
10
|
--pane-header-py: var(--a-space-2);
|
|
11
|
-
--pane-header-fg: var(--
|
|
11
|
+
--pane-header-fg: var(--md-sys-color-neutral-on-surface);
|
|
12
12
|
--pane-header-size: var(--a-ui-size);
|
|
13
13
|
--pane-header-weight: var(--a-weight-medium);
|
|
14
14
|
--pane-section-px: var(--a-space-3);
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
--pane-col-gap: var(--a-space-3);
|
|
21
21
|
/* Component-intrinsic measurement; no --a-space-* equivalent */
|
|
22
22
|
--pane-resize-width: 4px;
|
|
23
|
-
--pane-resize-fg: var(--
|
|
23
|
+
--pane-resize-fg: var(--md-sys-color-neutral-outline);
|
|
24
24
|
--pane-resize-fg-hover: var(--a-fg-muted);
|
|
25
25
|
|
|
26
26
|
/* ── Spacing ── */
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
--pane-section-header-weight: var(--a-weight-medium);
|
|
36
36
|
|
|
37
37
|
/* ── Resize active ── */
|
|
38
|
-
--pane-resize-fg-active: var(--
|
|
38
|
+
--pane-resize-fg-active: var(--md-sys-color-neutral-on-surface-variant);
|
|
39
39
|
|
|
40
40
|
/* ── Transitions ── */
|
|
41
41
|
--pane-duration: var(--a-duration-fast);
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
--password-strength-stack-gap: var(--a-space-1);
|
|
12
12
|
|
|
13
13
|
/* ── Colors ── */
|
|
14
|
-
--password-strength-segment-bg: var(--
|
|
14
|
+
--password-strength-segment-bg: var(--md-sys-color-neutral-scrim-weaker);
|
|
15
15
|
--password-strength-color-weak: var(--a-danger-bg);
|
|
16
16
|
--password-strength-color-fair: var(--a-warning-bg);
|
|
17
17
|
--password-strength-color-good: var(--a-info-bg);
|
|
@@ -27,17 +27,17 @@
|
|
|
27
27
|
--pipeline-status-label-weight: var(--a-weight-medium);
|
|
28
28
|
|
|
29
29
|
/* Colors — keep aliases referenced via semantic tokens */
|
|
30
|
-
--pipeline-status-fg: var(--
|
|
31
|
-
--pipeline-status-label-fg: var(--
|
|
32
|
-
--pipeline-status-msg-fg: var(--
|
|
33
|
-
--pipeline-status-history-fg: var(--
|
|
34
|
-
--pipeline-status-log-fg: var(--
|
|
35
|
-
|
|
36
|
-
--pipeline-status-dot-bg: var(--
|
|
37
|
-
--pipeline-status-dot-bg-active: var(--
|
|
30
|
+
--pipeline-status-fg: var(--md-sys-color-neutral-on-surface-variant);
|
|
31
|
+
--pipeline-status-label-fg: var(--md-sys-color-neutral-on-surface);
|
|
32
|
+
--pipeline-status-msg-fg: var(--md-sys-color-neutral-on-surface-variant);
|
|
33
|
+
--pipeline-status-history-fg: var(--md-sys-color-neutral-on-surface-variant);
|
|
34
|
+
--pipeline-status-log-fg: var(--md-sys-color-neutral-on-surface-variant);
|
|
35
|
+
|
|
36
|
+
--pipeline-status-dot-bg: var(--md-sys-color-neutral-outline);
|
|
37
|
+
--pipeline-status-dot-bg-active: var(--md-sys-color-primary);
|
|
38
38
|
--pipeline-status-dot-bg-complete: var(--a-success-strong);
|
|
39
39
|
|
|
40
|
-
--pipeline-status-history-border: var(--
|
|
40
|
+
--pipeline-status-history-border: var(--md-sys-color-neutral-outline-variant);
|
|
41
41
|
--pipeline-status-border-thin: 1px;
|
|
42
42
|
|
|
43
43
|
/* Motion */
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
/* ── Colors (default panel chrome — opt out per `:has(>card-ui)` rule
|
|
9
9
|
below or by setting tokens to transparent / 0) ── */
|
|
10
|
-
--popover-bg: var(--
|
|
11
|
-
--popover-border: var(--
|
|
10
|
+
--popover-bg: var(--md-sys-color-neutral-surface-dimmer);
|
|
11
|
+
--popover-border: var(--md-sys-color-neutral-outline-variant);
|
|
12
12
|
--popover-shadow: var(--a-shadow-lg);
|
|
13
13
|
}
|
|
14
14
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
@scope (preview-ui) {
|
|
14
14
|
/* ── Block 1 — TOKENS ── */
|
|
15
15
|
:where(:scope) {
|
|
16
|
-
--preview-border: 1px solid var(--
|
|
16
|
+
--preview-border: 1px solid var(--md-sys-color-neutral-outline-variant);
|
|
17
17
|
--preview-radius: var(--a-radius-lg);
|
|
18
18
|
--preview-render-bg: var(--a-canvas-1);
|
|
19
19
|
--preview-render-pad: var(--a-space-6);
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
display: block;
|
|
86
86
|
--code-border: transparent;
|
|
87
87
|
--code-radius: 0;
|
|
88
|
-
--code-bg: var(--
|
|
88
|
+
--code-bg: var(--md-sys-color-neutral-background);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
/* code-first — divider moves to the bottom of the (now-leading) code pane */
|
|
@@ -180,7 +180,14 @@
|
|
|
180
180
|
margin-bottom: 0.5rem;
|
|
181
181
|
border-radius: var(--a-radius-sm);
|
|
182
182
|
}
|
|
183
|
-
/* Narrow: collapse each row to stacked render-over-code.
|
|
183
|
+
/* Narrow: collapse each row to stacked render-over-code. The render
|
|
184
|
+
cell keeps its full --preview-render-pad (--a-space-6, 24px) inset;
|
|
185
|
+
code-ui's own header/body padding (--code-py/px, --a-space-2/3 —
|
|
186
|
+
8/12px) reads as visibly cramped directly underneath once the two
|
|
187
|
+
panes stack (they never collide side-by-side, only here). Step
|
|
188
|
+
code-ui's padding up to --a-space-4 (16px) at this breakpoint only —
|
|
189
|
+
narrows the gap without inflating a slim caption bar to the render
|
|
190
|
+
pane's full 24px. */
|
|
184
191
|
@media (max-width: 40rem) {
|
|
185
192
|
:scope[rows] [data-preview-row] {
|
|
186
193
|
grid-template-columns: 1fr;
|
|
@@ -189,6 +196,10 @@
|
|
|
189
196
|
border-inline-start: none;
|
|
190
197
|
border-block-start: var(--preview-border);
|
|
191
198
|
}
|
|
199
|
+
[data-preview-code] code-ui {
|
|
200
|
+
--code-py: var(--a-space-4);
|
|
201
|
+
--code-px: var(--a-space-4);
|
|
202
|
+
}
|
|
192
203
|
}
|
|
193
204
|
/* Content-driven fallback — a single row whose live sample is wider than the
|
|
194
205
|
half-width cell gets [data-stack] from the component's overflow check, so it
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"default": null
|
|
23
23
|
},
|
|
24
24
|
"variant": {
|
|
25
|
-
"description": "Render mode — `bar` (default) or `spinner`. For fill color set the `--progress-fill` token (defaults to `--
|
|
25
|
+
"description": "Render mode — `bar` (default) or `spinner`. For fill color set the `--progress-fill` token (defaults to `--md-sys-color-primary`); there is no variant-as-color (use the token).",
|
|
26
26
|
"type": "string",
|
|
27
27
|
"enum": [
|
|
28
28
|
"bar",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
:where(:scope) {
|
|
3
3
|
/* -- Tokens -- */
|
|
4
4
|
--progress-track: var(--a-bg-muted);
|
|
5
|
-
--progress-fill: var(--
|
|
5
|
+
--progress-fill: var(--md-sys-color-primary);
|
|
6
6
|
--progress-height: 0.375rem;
|
|
7
7
|
--progress-radius: var(--a-radius-full);
|
|
8
8
|
--progress-duration: var(--a-duration);
|
|
@@ -15,6 +15,6 @@ import { UIElement } from '../../core/element.js';
|
|
|
15
15
|
export class UIProgress extends UIElement {
|
|
16
16
|
/** Current progress. 0..max (or 0..1 when max omitted). null = indeterminate (legacy -1 accepted for back-compat). */
|
|
17
17
|
value: number;
|
|
18
|
-
/** Render mode — `bar` (default) or `spinner`. For fill color set the `--progress-fill` token (defaults to `--
|
|
18
|
+
/** Render mode — `bar` (default) or `spinner`. For fill color set the `--progress-fill` token (defaults to `--md-sys-color-primary`); there is no variant-as-color (use the token). */
|
|
19
19
|
variant: 'bar' | 'spinner';
|
|
20
20
|
}
|
|
@@ -18,7 +18,7 @@ props:
|
|
|
18
18
|
default: null
|
|
19
19
|
variant:
|
|
20
20
|
description: Render mode — `bar` (default) or `spinner`. For fill color set
|
|
21
|
-
the `--progress-fill` token (defaults to `--
|
|
21
|
+
the `--progress-fill` token (defaults to `--md-sys-color-primary`); there is no
|
|
22
22
|
variant-as-color (use the token).
|
|
23
23
|
type: string
|
|
24
24
|
default: bar
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
--progress-row-gap: var(--a-space-2);
|
|
7
7
|
--progress-row-column-gap: var(--a-space-2);
|
|
8
8
|
--progress-row-label-size: var(--a-ui-size);
|
|
9
|
-
--progress-row-label-fg: var(--
|
|
9
|
+
--progress-row-label-fg: var(--md-sys-color-neutral-on-surface);
|
|
10
10
|
--progress-row-meta-size: var(--a-ui-sm);
|
|
11
11
|
--progress-row-meta-fg: var(--a-fg-muted);
|
|
12
12
|
|
|
13
13
|
/* Fill color piped into nested progress-ui via its own token */
|
|
14
|
-
--progress-row-fill-bg: var(--a-
|
|
14
|
+
--progress-row-fill-bg: var(--a-primary-bg);
|
|
15
15
|
text-align: start; /* §text-align-reset — blocks inheritance from centered ancestors */
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -29,14 +29,14 @@ radio-ui[checked] [slot="dot"]::after {
|
|
|
29
29
|
/* ── Colors ── */
|
|
30
30
|
--radio-bg: var(--a-ui-bg);
|
|
31
31
|
--radio-border: var(--a-ui-border);
|
|
32
|
-
--radio-border-hover: var(--
|
|
32
|
+
--radio-border-hover: var(--md-sys-color-neutral-on-surface-variant);
|
|
33
33
|
--radio-bg-hover: var(--a-bg-muted);
|
|
34
34
|
|
|
35
35
|
/* ── State: checked ── */
|
|
36
|
-
--radio-bg-checked: var(--
|
|
37
|
-
--radio-border-checked: var(--
|
|
36
|
+
--radio-bg-checked: var(--md-sys-color-primary);
|
|
37
|
+
--radio-border-checked: var(--md-sys-color-primary);
|
|
38
38
|
--radio-fg-checked: var(--a-chrome-light);
|
|
39
|
-
--radio-bg-checked-hover: var(--
|
|
39
|
+
--radio-bg-checked-hover: var(--md-sys-color-primary-hover);
|
|
40
40
|
|
|
41
41
|
/* ── State: disabled ── */
|
|
42
42
|
--radio-fg-disabled: var(--a-ui-text-disabled);
|
|
@@ -13,7 +13,7 @@ range-ui:not([disabled]) [slot="field"]:hover [data-layer="fill"] {
|
|
|
13
13
|
--range-fill-bg-hover: var(--a-ui-bg-hover);
|
|
14
14
|
--range-fill-bg-active: var(--a-ui-bg-active);
|
|
15
15
|
--range-fill-bg-disabled: var(--a-canvas-muted);
|
|
16
|
-
--range-fill-fg: var(--
|
|
16
|
+
--range-fill-fg: var(--md-sys-color-neutral-on-surface);
|
|
17
17
|
--range-fill-fg-disabled: var(--a-ui-text-disabled);
|
|
18
18
|
--range-fill-label-fg: var(--a-ui-text-subtle);
|
|
19
19
|
--range-border: var(--a-ui-border);
|
|
@@ -40,7 +40,7 @@ range-ui:not([disabled]) [slot="field"]:hover [data-layer="fill"] {
|
|
|
40
40
|
--range-layer-gap: var(--a-space-1);
|
|
41
41
|
|
|
42
42
|
/* ── Hover text ── */
|
|
43
|
-
--range-label-fg-hover: var(--
|
|
43
|
+
--range-label-fg-hover: var(--md-sys-color-neutral-on-surface-variant);
|
|
44
44
|
|
|
45
45
|
text-align: start; /* §text-align-reset — blocks inheritance from centered ancestors */
|
|
46
46
|
}
|
|
@@ -81,8 +81,8 @@ rating-ui:hover [data-rating-symbol] {
|
|
|
81
81
|
|
|
82
82
|
/* ── Variants override TOKENS only ── */
|
|
83
83
|
:scope[variant="accent"] {
|
|
84
|
-
--rating-fg-filled: var(--a-
|
|
85
|
-
--rating-fg-hover: var(--a-
|
|
84
|
+
--rating-fg-filled: var(--a-primary-bg);
|
|
85
|
+
--rating-fg-hover: var(--a-primary-bg);
|
|
86
86
|
}
|
|
87
87
|
:scope[variant="warning"] {
|
|
88
88
|
--rating-fg-filled: var(--a-warning-bg);
|
|
@@ -35,6 +35,10 @@ export class UIRichText extends UIElement {
|
|
|
35
35
|
// would bloat the DOM (and break parsing on multi-line content with
|
|
36
36
|
// unescaped quotes). The property is the source of truth.
|
|
37
37
|
markdown: { type: String, default: '', reflect: false },
|
|
38
|
+
// TKT-0004 added the CSS ([flush] paragraph-grade embedding mode) and
|
|
39
|
+
// the yaml prop but never registered it here — `el.flush = true` was a
|
|
40
|
+
// silent no-op (dogfood-status static-properties-vs-yaml finding).
|
|
41
|
+
flush: { type: Boolean, default: false, reflect: true },
|
|
38
42
|
};
|
|
39
43
|
|
|
40
44
|
static template = () => null;
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
/* ── Colors ── */
|
|
14
14
|
--richtext-bg: var(--a-canvas-0);
|
|
15
|
-
--richtext-fg: var(--
|
|
15
|
+
--richtext-fg: var(--md-sys-color-neutral-on-surface);
|
|
16
16
|
--richtext-fg-muted: var(--a-fg-muted);
|
|
17
|
-
--richtext-fg-subtle: var(--
|
|
17
|
+
--richtext-fg-subtle: var(--md-sys-color-neutral-on-surface-variant);
|
|
18
18
|
--richtext-code-bg: var(--a-canvas-2);
|
|
19
|
-
--richtext-border: var(--
|
|
20
|
-
--richtext-link: var(--a-
|
|
21
|
-
--richtext-link-hover: var(--
|
|
19
|
+
--richtext-border: var(--md-sys-color-neutral-outline-variant);
|
|
20
|
+
--richtext-link: var(--a-primary-bg);
|
|
21
|
+
--richtext-link-hover: var(--md-sys-color-primary);
|
|
22
22
|
|
|
23
23
|
/* ── Typography ── */
|
|
24
24
|
--richtext-font: var(--a-font-family);
|
package/components/row/row.css
CHANGED
|
@@ -274,7 +274,7 @@ select-ui [slot="listbox"] {
|
|
|
274
274
|
padding: var(--a-space-1);
|
|
275
275
|
border: 1px solid var(--a-ui-border);
|
|
276
276
|
border-radius: var(--a-radius);
|
|
277
|
-
background: var(--
|
|
277
|
+
background: var(--md-sys-color-neutral-surface-bright);
|
|
278
278
|
box-shadow: var(--a-shadow-lg);
|
|
279
279
|
max-height: 15rem;
|
|
280
280
|
overflow-y: auto;
|
|
@@ -356,7 +356,7 @@ select-ui [role="option"] img[data-option-avatar] {
|
|
|
356
356
|
/* Separator */
|
|
357
357
|
select-ui [data-separator] {
|
|
358
358
|
height: 1px;
|
|
359
|
-
background: var(--
|
|
359
|
+
background: var(--md-sys-color-neutral-outline-variant);
|
|
360
360
|
margin: var(--a-space-1) 0;
|
|
361
361
|
border: none;
|
|
362
362
|
}
|
|
@@ -402,7 +402,7 @@ select-ui [role="group"] [slot="group-label"] {
|
|
|
402
402
|
|
|
403
403
|
/* Divider between groups — enabled by <select-ui divider>. */
|
|
404
404
|
select-ui[divider] [role="group"] + [role="group"] {
|
|
405
|
-
border-top: 1px solid var(--
|
|
405
|
+
border-top: 1px solid var(--md-sys-color-neutral-outline-variant);
|
|
406
406
|
margin-top: var(--a-space-1);
|
|
407
407
|
padding-top: var(--a-space-1);
|
|
408
408
|
}
|
|
@@ -426,7 +426,7 @@ select-ui [slot="listbox"] [data-select-all] {
|
|
|
426
426
|
align-items: center;
|
|
427
427
|
justify-content: flex-end;
|
|
428
428
|
padding: var(--a-space-1);
|
|
429
|
-
border-bottom: 1px solid var(--
|
|
429
|
+
border-bottom: 1px solid var(--md-sys-color-neutral-outline-variant);
|
|
430
430
|
margin-bottom: var(--a-space-1);
|
|
431
431
|
}
|
|
432
432
|
select-ui [slot="listbox"] [data-select-all-btn] {
|
|
@@ -435,7 +435,7 @@ select-ui [slot="listbox"] [data-select-all-btn] {
|
|
|
435
435
|
border: none;
|
|
436
436
|
font: inherit;
|
|
437
437
|
font-size: var(--a-ui-xs);
|
|
438
|
-
color: var(--
|
|
438
|
+
color: var(--md-sys-color-primary);
|
|
439
439
|
cursor: pointer;
|
|
440
440
|
padding: var(--a-space-1) var(--a-space-2);
|
|
441
441
|
border-radius: var(--a-radius-sm);
|
|
@@ -460,7 +460,7 @@ select-ui [role="option"][data-multi-option] [data-checkbox] {
|
|
|
460
460
|
height: 1rem;
|
|
461
461
|
border: 1px solid var(--a-ui-border);
|
|
462
462
|
border-radius: var(--a-radius-sm);
|
|
463
|
-
background: var(--
|
|
463
|
+
background: var(--md-sys-color-neutral-surface-bright);
|
|
464
464
|
margin-inline-end: 0; /* row gap already provides spacing */
|
|
465
465
|
transition:
|
|
466
466
|
background var(--a-duration-fast) var(--a-easing),
|
|
@@ -476,8 +476,8 @@ select-ui [role="option"][data-multi-option] [data-checkbox] icon-ui {
|
|
|
476
476
|
transition: color var(--a-duration-fast) var(--a-easing);
|
|
477
477
|
}
|
|
478
478
|
select-ui [role="option"][data-multi-option][aria-selected="true"] [data-checkbox] {
|
|
479
|
-
background: var(--
|
|
480
|
-
border-color: var(--
|
|
479
|
+
background: var(--md-sys-color-primary);
|
|
480
|
+
border-color: var(--md-sys-color-primary);
|
|
481
481
|
}
|
|
482
482
|
select-ui [role="option"][data-multi-option][aria-selected="true"] [data-checkbox] icon-ui {
|
|
483
483
|
color: var(--a-chrome-light);
|