@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,45 +1,45 @@
1
1
  @scope (pane-ui) {
2
2
  /* Tokens — :where() for zero specificity so consumers can override */
3
3
  :where(:scope) {
4
- --pane-bg-default: var(--a-bg);
5
- --pane-border-default: var(--a-border-subtle);
6
- --pane-radius-default: var(--a-radius-lg);
4
+ --pane-bg: var(--a-bg);
5
+ --pane-border: var(--a-border-subtle);
6
+ --pane-radius: var(--a-radius-lg);
7
7
  /* Component-intrinsic measurement; no --a-space-* equivalent */
8
- --pane-bar-height-default: var(--a-chrome-pane-header-height);
9
- --pane-header-px-default: var(--a-space-3);
10
- --pane-header-py-default: var(--a-space-2);
11
- --pane-header-fg-default: var(--a-fg);
12
- --pane-header-size-default: var(--a-ui-size);
13
- --pane-header-weight-default: var(--a-weight-medium);
14
- --pane-section-px-default: var(--a-space-3);
15
- --pane-section-py-default: var(--a-space-2);
16
- --pane-section-header-fg-default: var(--a-fg-muted);
17
- --pane-section-header-size-default: var(--a-ui-tiny);
18
- --pane-footer-px-default: var(--a-space-3);
19
- --pane-footer-py-default: var(--a-space-2);
20
- --pane-col-gap-default: var(--a-space-3);
8
+ --pane-bar-height: var(--a-chrome-pane-header-height);
9
+ --pane-header-px: var(--a-space-3);
10
+ --pane-header-py: var(--a-space-2);
11
+ --pane-header-fg: var(--a-fg);
12
+ --pane-header-size: var(--a-ui-size);
13
+ --pane-header-weight: var(--a-weight-medium);
14
+ --pane-section-px: var(--a-space-3);
15
+ --pane-section-py: var(--a-space-2);
16
+ --pane-section-header-fg: var(--a-fg-muted);
17
+ --pane-section-header-size: var(--a-ui-tiny);
18
+ --pane-footer-px: var(--a-space-3);
19
+ --pane-footer-py: var(--a-space-2);
20
+ --pane-col-gap: var(--a-space-3);
21
21
  /* Component-intrinsic measurement; no --a-space-* equivalent */
22
- --pane-resize-width-default: 4px;
23
- --pane-resize-fg-default: var(--a-border);
24
- --pane-resize-fg-hover-default: var(--a-fg-muted);
22
+ --pane-resize-width: 4px;
23
+ --pane-resize-fg: var(--a-border);
24
+ --pane-resize-fg-hover: var(--a-fg-muted);
25
25
 
26
26
  /* ── Spacing ── */
27
- --pane-gap-sm-default: var(--a-space-2);
28
- --pane-gap-xs-default: var(--a-space-1);
27
+ --pane-gap-sm: var(--a-space-2);
28
+ --pane-gap-xs: var(--a-space-1);
29
29
 
30
30
  /* ── Header interaction ── */
31
- --pane-header-bg-hover-default: var(--a-bg-subtle);
32
- --pane-caret-fg-default: var(--a-fg-muted);
31
+ --pane-header-bg-hover: var(--a-bg-subtle);
32
+ --pane-caret-fg: var(--a-fg-muted);
33
33
 
34
34
  /* ── Section header ── */
35
- --pane-section-header-weight-default: var(--a-weight-medium);
35
+ --pane-section-header-weight: var(--a-weight-medium);
36
36
 
37
37
  /* ── Resize active ── */
38
- --pane-resize-fg-active-default: var(--a-fg-subtle);
38
+ --pane-resize-fg-active: var(--a-fg-subtle);
39
39
 
40
40
  /* ── Transitions ── */
41
- --pane-duration-default: var(--a-duration-fast);
42
- --pane-easing-default: var(--a-easing);
41
+ --pane-duration: var(--a-duration-fast);
42
+ --pane-easing: var(--a-easing);
43
43
  }
44
44
 
45
45
  :scope {
@@ -48,9 +48,9 @@
48
48
  display: flex;
49
49
  flex-direction: column;
50
50
  position: relative;
51
- background: var(--pane-bg, var(--pane-bg-default));
52
- border: 1px solid var(--pane-border, var(--pane-border-default));
53
- /*border-radius: var(--pane-radius, var(--pane-radius-default));*/
51
+ background: var(--pane-bg);
52
+ border: 1px solid var(--pane-border);
53
+ /*border-radius: var(--pane-radius);*/
54
54
  overflow: hidden;
55
55
  }
56
56
 
@@ -74,10 +74,10 @@
74
74
  border: none;
75
75
  }
76
76
  :scope[side="leading"] {
77
- border-inline-end: 1px solid var(--pane-border, var(--pane-border-default));
77
+ border-inline-end: 1px solid var(--pane-border);
78
78
  }
79
79
  :scope[side="trailing"] {
80
- border-inline-start: 1px solid var(--pane-border, var(--pane-border-default));
80
+ border-inline-start: 1px solid var(--pane-border);
81
81
  }
82
82
 
83
83
  /* ── Pane header ── */
@@ -86,20 +86,20 @@
86
86
  display: flex;
87
87
  align-items: center;
88
88
  justify-content: flex-start;
89
- gap: var(--pane-gap-sm, var(--pane-gap-sm-default));
90
- height: var(--pane-bar-height, var(--pane-bar-height-default));
91
- padding: 0 var(--pane-header-px, var(--pane-header-px-default));
92
- font-size: var(--pane-header-size, var(--pane-header-size-default));
93
- font-weight: var(--pane-header-weight, var(--pane-header-weight-default));
94
- color: var(--pane-header-fg, var(--pane-header-fg-default));
89
+ gap: var(--pane-gap-sm);
90
+ height: var(--pane-bar-height);
91
+ padding: 0 var(--pane-header-px);
92
+ font-size: var(--pane-header-size);
93
+ font-weight: var(--pane-header-weight);
94
+ color: var(--pane-header-fg);
95
95
  cursor: pointer;
96
96
  user-select: none;
97
- box-shadow: inset 0 -1px 0 var(--pane-border, var(--pane-border-default));
98
- transition: background var(--pane-duration, var(--pane-duration-default)) var(--pane-easing, var(--pane-easing-default));
97
+ box-shadow: inset 0 -1px 0 var(--pane-border);
98
+ transition: background var(--pane-duration) var(--pane-easing);
99
99
  }
100
100
 
101
101
  & > header:hover {
102
- background: var(--pane-header-bg-hover, var(--pane-header-bg-hover-default));
102
+ background: var(--pane-header-bg-hover);
103
103
  }
104
104
 
105
105
  & > header:focus-visible {
@@ -112,8 +112,8 @@
112
112
  --a-icon-size: var(--a-caret-size);
113
113
  flex-shrink: 0;
114
114
  margin-inline-start: auto;
115
- color: var(--pane-caret-fg, var(--pane-caret-fg-default));
116
- transition: transform var(--pane-duration, var(--pane-duration-default)) var(--pane-easing, var(--pane-easing-default));
115
+ color: var(--pane-caret-fg);
116
+ transition: transform var(--pane-duration) var(--pane-easing);
117
117
  transform: rotate(90deg);
118
118
  }
119
119
 
@@ -127,7 +127,7 @@
127
127
  min-height: 0;
128
128
  overflow-y: auto;
129
129
  scrollbar-width: none;
130
- padding: var(--pane-section-py, var(--pane-section-py-default)) var(--pane-section-px, var(--pane-section-px-default));
130
+ padding: var(--pane-section-py) var(--pane-section-px);
131
131
  }
132
132
 
133
133
  & > section::-webkit-scrollbar {
@@ -137,12 +137,12 @@
137
137
  /* Section header — section's padding is the single source of horizontal inset;
138
138
  content inside the section must not add its own padding. */
139
139
  & > section > header {
140
- font-size: var(--pane-section-header-size, var(--pane-section-header-size-default));
141
- color: var(--pane-section-header-fg, var(--pane-section-header-fg-default));
142
- padding-bottom: var(--pane-col-gap, var(--pane-col-gap-default));
140
+ font-size: var(--pane-section-header-size);
141
+ color: var(--pane-section-header-fg);
142
+ padding-bottom: var(--pane-col-gap);
143
143
  text-transform: uppercase;
144
144
  letter-spacing: 0.06em;
145
- font-weight: var(--pane-section-header-weight, var(--pane-section-header-weight-default));
145
+ font-weight: var(--pane-section-header-weight);
146
146
  }
147
147
 
148
148
  /* Defensive: a data-col directly under a section inherits the section's inset;
@@ -153,7 +153,7 @@
153
153
 
154
154
  /* Section divider between sections */
155
155
  & > section + section {
156
- border-top: 1px solid var(--pane-border, var(--pane-border-default));
156
+ border-top: 1px solid var(--pane-border);
157
157
  }
158
158
 
159
159
  /* Column layout */
@@ -161,16 +161,16 @@
161
161
  display: flex;
162
162
  flex-direction: column;
163
163
  align-items: stretch;
164
- gap: var(--pane-col-gap, var(--pane-col-gap-default));
164
+ gap: var(--pane-col-gap);
165
165
  }
166
166
 
167
167
  /* ── Footer ── */
168
168
  & > footer {
169
- min-height: var(--pane-bar-height, var(--pane-bar-height-default));
169
+ min-height: var(--pane-bar-height);
170
170
  display: flex;
171
171
  align-items: center;
172
- padding: var(--pane-footer-py, var(--pane-footer-py-default)) var(--pane-footer-px, var(--pane-footer-px-default));
173
- border-top: 1px solid var(--pane-border, var(--pane-border-default));
172
+ padding: var(--pane-footer-py) var(--pane-footer-px);
173
+ border-top: 1px solid var(--pane-border);
174
174
  }
175
175
 
176
176
  /* ── Collapsed state ── */
@@ -194,10 +194,10 @@
194
194
  top: 0;
195
195
  inset-inline-end: 0;
196
196
  bottom: 0;
197
- width: var(--pane-resize-width, var(--pane-resize-width-default));
197
+ width: var(--pane-resize-width);
198
198
  cursor: col-resize;
199
199
  background: transparent;
200
- transition: background var(--pane-duration, var(--pane-duration-default)) var(--pane-easing, var(--pane-easing-default));
200
+ transition: background var(--pane-duration) var(--pane-easing);
201
201
  touch-action: none;
202
202
  z-index: 1;
203
203
  }
@@ -208,10 +208,10 @@
208
208
  }
209
209
 
210
210
  [slot="resize"]:hover {
211
- background: var(--pane-resize-fg-hover, var(--pane-resize-fg-hover-default));
211
+ background: var(--pane-resize-fg-hover);
212
212
  }
213
213
 
214
214
  :scope[data-resizing] [slot="resize"] {
215
- background: var(--pane-resize-fg-active, var(--pane-resize-fg-active-default));
215
+ background: var(--pane-resize-fg-active);
216
216
  }
217
217
  }
@@ -5,29 +5,29 @@
5
5
  @scope (password-strength-ui) {
6
6
  :where(:scope) {
7
7
  /* ── Layout ── */
8
- --password-strength-gap-default: var(--a-space-1);
9
- --password-strength-segment-height-default: 4px;
10
- --password-strength-radius-default: var(--a-radius-full);
11
- --password-strength-stack-gap-default: var(--a-space-1);
8
+ --password-strength-gap: var(--a-space-1);
9
+ --password-strength-segment-height: 4px;
10
+ --password-strength-radius: var(--a-radius-full);
11
+ --password-strength-stack-gap: var(--a-space-1);
12
12
 
13
13
  /* ── Colors ── */
14
- --password-strength-segment-bg-default: var(--a-canvas-1-scrim);
15
- --password-strength-color-weak-default: var(--a-danger-bg);
16
- --password-strength-color-fair-default: var(--a-warning-bg);
17
- --password-strength-color-good-default: var(--a-info-bg);
18
- --password-strength-color-strong-default: var(--a-success-bg);
14
+ --password-strength-segment-bg: var(--a-canvas-1-scrim);
15
+ --password-strength-color-weak: var(--a-danger-bg);
16
+ --password-strength-color-fair: var(--a-warning-bg);
17
+ --password-strength-color-good: var(--a-info-bg);
18
+ --password-strength-color-strong: var(--a-success-bg);
19
19
 
20
20
  /* ── Typography ── */
21
- --password-strength-label-fg-default: var(--a-fg-muted);
22
- --password-strength-label-size-default: var(--a-ui-sm);
23
- --password-strength-label-weight-default: var(--a-weight-medium);
21
+ --password-strength-label-fg: var(--a-fg-muted);
22
+ --password-strength-label-size: var(--a-ui-sm);
23
+ --password-strength-label-weight: var(--a-weight-medium);
24
24
 
25
25
  /* ── Per-score label color (mirrors the lit-segment color so the
26
26
  label visually links to the bar fill state). ── */
27
- --password-strength-label-fg-weak-default: var(--password-strength-color-weak, var(--password-strength-color-weak-default));
28
- --password-strength-label-fg-fair-default: var(--password-strength-color-fair, var(--password-strength-color-fair-default));
29
- --password-strength-label-fg-good-default: var(--password-strength-color-good, var(--password-strength-color-good-default));
30
- --password-strength-label-fg-strong-default: var(--password-strength-color-strong, var(--password-strength-color-strong-default));
27
+ --password-strength-label-fg-weak: var(--password-strength-color-weak);
28
+ --password-strength-label-fg-fair: var(--password-strength-color-fair);
29
+ --password-strength-label-fg-good: var(--password-strength-color-good);
30
+ --password-strength-label-fg-strong: var(--password-strength-color-strong);
31
31
  }
32
32
 
33
33
  /* ── Host ── */
@@ -35,7 +35,7 @@
35
35
  box-sizing: border-box;
36
36
  display: flex;
37
37
  flex-direction: column;
38
- gap: var(--password-strength-stack-gap, var(--password-strength-stack-gap-default));
38
+ gap: var(--password-strength-stack-gap);
39
39
  width: 100%;
40
40
  }
41
41
 
@@ -43,34 +43,34 @@
43
43
  [slot="bar"] {
44
44
  display: grid;
45
45
  grid-template-columns: repeat(4, 1fr);
46
- gap: var(--password-strength-gap, var(--password-strength-gap-default));
46
+ gap: var(--password-strength-gap);
47
47
  }
48
48
 
49
49
  [slot="segment"] {
50
- height: var(--password-strength-segment-height, var(--password-strength-segment-height-default));
51
- background: var(--password-strength-segment-bg, var(--password-strength-segment-bg-default));
52
- border-radius: var(--password-strength-radius, var(--password-strength-radius-default));
50
+ height: var(--password-strength-segment-height);
51
+ background: var(--password-strength-segment-bg);
52
+ border-radius: var(--password-strength-radius);
53
53
  transition: background var(--a-duration-fast) var(--a-easing);
54
54
  }
55
55
 
56
56
  /* ── Lit segments — color depends on host [data-score] ── */
57
- :scope[data-score="0"] [slot="segment"][data-lit] { background: var(--password-strength-color-weak, var(--password-strength-color-weak-default)); }
58
- :scope[data-score="1"] [slot="segment"][data-lit] { background: var(--password-strength-color-fair, var(--password-strength-color-fair-default)); }
59
- :scope[data-score="2"] [slot="segment"][data-lit] { background: var(--password-strength-color-good, var(--password-strength-color-good-default)); }
60
- :scope[data-score="3"] [slot="segment"][data-lit] { background: var(--password-strength-color-strong, var(--password-strength-color-strong-default)); }
57
+ :scope[data-score="0"] [slot="segment"][data-lit] { background: var(--password-strength-color-weak); }
58
+ :scope[data-score="1"] [slot="segment"][data-lit] { background: var(--password-strength-color-fair); }
59
+ :scope[data-score="2"] [slot="segment"][data-lit] { background: var(--password-strength-color-good); }
60
+ :scope[data-score="3"] [slot="segment"][data-lit] { background: var(--password-strength-color-strong); }
61
61
 
62
62
  /* ── Label ── */
63
63
  [slot="label"] {
64
- font-size: var(--password-strength-label-size, var(--password-strength-label-size-default));
65
- font-weight: var(--password-strength-label-weight, var(--password-strength-label-weight-default));
66
- color: var(--password-strength-label-fg, var(--password-strength-label-fg-default));
64
+ font-size: var(--password-strength-label-size);
65
+ font-weight: var(--password-strength-label-weight);
66
+ color: var(--password-strength-label-fg);
67
67
  min-height: 1lh; /* prevent layout jump when label appears */
68
68
  }
69
69
 
70
- :scope[data-score="0"] [slot="label"] { color: var(--password-strength-label-fg-weak, var(--password-strength-label-fg-weak-default)); }
71
- :scope[data-score="1"] [slot="label"] { color: var(--password-strength-label-fg-fair, var(--password-strength-label-fg-fair-default)); }
72
- :scope[data-score="2"] [slot="label"] { color: var(--password-strength-label-fg-good, var(--password-strength-label-fg-good-default)); }
73
- :scope[data-score="3"] [slot="label"] { color: var(--password-strength-label-fg-strong, var(--password-strength-label-fg-strong-default)); }
70
+ :scope[data-score="0"] [slot="label"] { color: var(--password-strength-label-fg-weak); }
71
+ :scope[data-score="1"] [slot="label"] { color: var(--password-strength-label-fg-fair); }
72
+ :scope[data-score="2"] [slot="label"] { color: var(--password-strength-label-fg-good); }
73
+ :scope[data-score="3"] [slot="label"] { color: var(--password-strength-label-fg-strong); }
74
74
 
75
75
  /* ── Hide label when [show-label] is false-y. The class.js clears
76
76
  the textContent in that case; this provides belt-and-suspenders. ── */
@@ -5,51 +5,51 @@
5
5
  ───────────────────────────────────────────── */
6
6
  :where(:scope) {
7
7
  /* Layout */
8
- --pipeline-status-gap-default: var(--a-space-1);
9
- --pipeline-status-column-gap-default: var(--a-space-1);
10
- --pipeline-status-py-default: var(--a-space-2);
11
- --pipeline-status-px-default: var(--a-space-2);
12
- --pipeline-status-current-min-h-default: 1.5em;
13
- --pipeline-status-history-pt-default: var(--a-space-1);
14
- --pipeline-status-history-pad-y-default: var(--a-space-0);
15
- --pipeline-status-log-pt-default: var(--a-space-1);
16
- --pipeline-status-log-gap-default: var(--a-space-0);
8
+ --pipeline-status-gap: var(--a-space-1);
9
+ --pipeline-status-column-gap: var(--a-space-1);
10
+ --pipeline-status-py: var(--a-space-2);
11
+ --pipeline-status-px: var(--a-space-2);
12
+ --pipeline-status-current-min-h: 1.5em;
13
+ --pipeline-status-history-pt: var(--a-space-1);
14
+ --pipeline-status-history-pad-y: var(--a-space-0);
15
+ --pipeline-status-log-pt: var(--a-space-1);
16
+ --pipeline-status-log-gap: var(--a-space-0);
17
17
 
18
18
  /* Dot sizing (aliased to spacing tokens to avoid raw px ≥ 3) */
19
- --pipeline-status-dot-size-default: var(--a-space-2); /* 8px at d=1 */
20
- --pipeline-status-log-dot-size-default: var(--a-space-1-5); /* 6px at d=1 */
19
+ --pipeline-status-dot-size: var(--a-space-2); /* 8px at d=1 */
20
+ --pipeline-status-log-dot-size: var(--a-space-1-5); /* 6px at d=1 */
21
21
 
22
22
  /* Typography */
23
- --pipeline-status-font-family-default: var(--a-font-family);
24
- --pipeline-status-font-size-default: var(--a-ui-sm);
25
- --pipeline-status-history-size-default: var(--a-ui-tiny);
26
- --pipeline-status-log-size-default: var(--a-ui-tiny);
27
- --pipeline-status-label-weight-default: var(--a-weight-medium);
23
+ --pipeline-status-font-family: var(--a-font-family);
24
+ --pipeline-status-font-size: var(--a-ui-sm);
25
+ --pipeline-status-history-size: var(--a-ui-tiny);
26
+ --pipeline-status-log-size: var(--a-ui-tiny);
27
+ --pipeline-status-label-weight: var(--a-weight-medium);
28
28
 
29
29
  /* Colors — keep aliases referenced via semantic tokens */
30
- --pipeline-status-fg-default: var(--a-fg-subtle);
31
- --pipeline-status-label-fg-default: var(--a-fg);
32
- --pipeline-status-msg-fg-default: var(--a-fg-subtle);
33
- --pipeline-status-history-fg-default: var(--a-fg-subtle);
34
- --pipeline-status-log-fg-default: var(--a-fg-subtle);
30
+ --pipeline-status-fg: var(--a-fg-subtle);
31
+ --pipeline-status-label-fg: var(--a-fg);
32
+ --pipeline-status-msg-fg: var(--a-fg-subtle);
33
+ --pipeline-status-history-fg: var(--a-fg-subtle);
34
+ --pipeline-status-log-fg: var(--a-fg-subtle);
35
35
 
36
- --pipeline-status-dot-bg-default: var(--a-border);
37
- --pipeline-status-dot-bg-active-default: var(--a-accent);
38
- --pipeline-status-dot-bg-complete-default: var(--a-success-strong);
36
+ --pipeline-status-dot-bg: var(--a-border);
37
+ --pipeline-status-dot-bg-active: var(--a-accent);
38
+ --pipeline-status-dot-bg-complete: var(--a-success-strong);
39
39
 
40
- --pipeline-status-history-border-default: var(--a-border-subtle);
41
- --pipeline-status-border-thin-default: 1px;
40
+ --pipeline-status-history-border: var(--a-border-subtle);
41
+ --pipeline-status-border-thin: 1px;
42
42
 
43
43
  /* Motion */
44
- --pipeline-status-duration-default: var(--a-duration);
45
- --pipeline-status-easing-default: var(--a-easing);
44
+ --pipeline-status-duration: var(--a-duration);
45
+ --pipeline-status-easing: var(--a-easing);
46
46
  /* Infinite-pulse durations don't map to motion scale */
47
- --pipeline-status-pulse-duration-default: 1.2s;
48
- --pipeline-status-pulse-easing-default: ease-in-out;
47
+ --pipeline-status-pulse-duration: 1.2s;
48
+ --pipeline-status-pulse-easing: ease-in-out;
49
49
 
50
50
  /* Variant targets */
51
- --pipeline-status-complete-fg-default: var(--a-success-strong);
52
- --pipeline-status-complete-border-default: var(--a-success-strong);
51
+ --pipeline-status-complete-fg: var(--a-success-strong);
52
+ --pipeline-status-complete-border: var(--a-success-strong);
53
53
  }
54
54
 
55
55
  /* ─────────────────────────────────────────────
@@ -57,43 +57,43 @@
57
57
  ───────────────────────────────────────────── */
58
58
  :scope {
59
59
  display: block;
60
- font-family: var(--pipeline-status-font-family, var(--pipeline-status-font-family-default));
61
- font-size: var(--pipeline-status-font-size, var(--pipeline-status-font-size-default));
62
- color: var(--pipeline-status-fg, var(--pipeline-status-fg-default));
60
+ font-family: var(--pipeline-status-font-family);
61
+ font-size: var(--pipeline-status-font-size);
62
+ color: var(--pipeline-status-fg);
63
63
  }
64
64
 
65
65
  [data-pipeline-status] {
66
66
  display: flex;
67
67
  flex-direction: column;
68
- gap: var(--pipeline-status-gap, var(--pipeline-status-gap-default));
69
- padding: var(--pipeline-status-py, var(--pipeline-status-py-default)) var(--pipeline-status-px, var(--pipeline-status-px-default));
68
+ gap: var(--pipeline-status-gap);
69
+ padding: var(--pipeline-status-py) var(--pipeline-status-px);
70
70
  }
71
71
 
72
72
  /* Current stage */
73
73
  [data-pipeline-current] {
74
74
  display: flex;
75
75
  align-items: center;
76
- gap: var(--pipeline-status-column-gap, var(--pipeline-status-column-gap-default));
77
- min-height: var(--pipeline-status-current-min-h, var(--pipeline-status-current-min-h-default));
76
+ gap: var(--pipeline-status-column-gap);
77
+ min-height: var(--pipeline-status-current-min-h);
78
78
  }
79
79
 
80
80
  [data-pipeline-label] {
81
- font-weight: var(--pipeline-status-label-weight, var(--pipeline-status-label-weight-default));
82
- color: var(--pipeline-status-label-fg, var(--pipeline-status-label-fg-default));
81
+ font-weight: var(--pipeline-status-label-weight);
82
+ color: var(--pipeline-status-label-fg);
83
83
  }
84
84
 
85
85
  [data-pipeline-msg] {
86
- color: var(--pipeline-status-msg-fg, var(--pipeline-status-msg-fg-default));
86
+ color: var(--pipeline-status-msg-fg);
87
87
  }
88
88
 
89
89
  /* Dot indicator */
90
90
  [data-pipeline-dot] {
91
91
  flex-shrink: 0;
92
- width: var(--pipeline-status-dot-size, var(--pipeline-status-dot-size-default));
93
- height: var(--pipeline-status-dot-size, var(--pipeline-status-dot-size-default));
92
+ width: var(--pipeline-status-dot-size);
93
+ height: var(--pipeline-status-dot-size);
94
94
  border-radius: 50%;
95
- background: var(--pipeline-status-dot-bg, var(--pipeline-status-dot-bg-default));
96
- transition: background var(--pipeline-status-duration, var(--pipeline-status-duration-default)) var(--pipeline-status-easing, var(--pipeline-status-easing-default));
95
+ background: var(--pipeline-status-dot-bg);
96
+ transition: background var(--pipeline-status-duration) var(--pipeline-status-easing);
97
97
  }
98
98
 
99
99
  /* State colors: the -active (accent) / -complete (success) dot-bg tokens were
@@ -101,12 +101,12 @@
101
101
  stayed the default gray (--a-border). Now active dots read accent + pulse,
102
102
  complete dots read success. (bug-40 — "use color more") */
103
103
  [data-pipeline-dot="active"] {
104
- background: var(--pipeline-status-dot-bg-active, var(--pipeline-status-dot-bg-active-default));
105
- animation: pipeline-pulse var(--pipeline-status-pulse-duration, var(--pipeline-status-pulse-duration-default)) var(--pipeline-status-pulse-easing, var(--pipeline-status-pulse-easing-default)) infinite;
104
+ background: var(--pipeline-status-dot-bg-active);
105
+ animation: pipeline-pulse var(--pipeline-status-pulse-duration) var(--pipeline-status-pulse-easing) infinite;
106
106
  }
107
107
 
108
108
  [data-pipeline-dot="complete"] {
109
- background: var(--pipeline-status-dot-bg-complete, var(--pipeline-status-dot-bg-complete-default));
109
+ background: var(--pipeline-status-dot-bg-complete);
110
110
  animation: none;
111
111
  }
112
112
 
@@ -117,14 +117,14 @@
117
117
 
118
118
  /* Complete state — override tokens only */
119
119
  :scope[status="completed"] {
120
- --pipeline-status-label-fg-default: var(--pipeline-status-complete-fg, var(--pipeline-status-complete-fg-default));
121
- --pipeline-status-history-border-default: var(--pipeline-status-complete-border, var(--pipeline-status-complete-border-default));
120
+ --pipeline-status-label-fg: var(--pipeline-status-complete-fg);
121
+ --pipeline-status-history-border: var(--pipeline-status-complete-border);
122
122
  }
123
123
 
124
124
  /* History (expandable) */
125
125
  [data-pipeline-history] {
126
- border-top: var(--pipeline-status-border-thin, var(--pipeline-status-border-thin-default)) solid var(--pipeline-status-history-border, var(--pipeline-status-history-border-default));
127
- padding-top: var(--pipeline-status-history-pt, var(--pipeline-status-history-pt-default));
126
+ border-top: var(--pipeline-status-border-thin) solid var(--pipeline-status-history-border);
127
+ padding-top: var(--pipeline-status-history-pt);
128
128
  }
129
129
 
130
130
  [data-pipeline-history][hidden] {
@@ -133,19 +133,19 @@
133
133
 
134
134
  [data-pipeline-history] summary {
135
135
  cursor: pointer;
136
- font-size: var(--pipeline-status-history-size, var(--pipeline-status-history-size-default));
137
- color: var(--pipeline-status-history-fg, var(--pipeline-status-history-fg-default));
136
+ font-size: var(--pipeline-status-history-size);
137
+ color: var(--pipeline-status-history-fg);
138
138
  user-select: none;
139
- padding: var(--pipeline-status-history-pad-y, var(--pipeline-status-history-pad-y-default)) var(--a-space-1);
139
+ padding: var(--pipeline-status-history-pad-y) var(--a-space-1);
140
140
  margin-inline: calc(var(--a-space-1) * -1);
141
141
  border-radius: var(--a-radius-sm);
142
- transition: background var(--pipeline-status-duration, var(--pipeline-status-duration-default)) var(--pipeline-status-easing, var(--pipeline-status-easing-default)),
143
- color var(--pipeline-status-duration, var(--pipeline-status-duration-default)) var(--pipeline-status-easing, var(--pipeline-status-easing-default));
142
+ transition: background var(--pipeline-status-duration) var(--pipeline-status-easing),
143
+ color var(--pipeline-status-duration) var(--pipeline-status-easing);
144
144
  }
145
145
 
146
146
  [data-pipeline-history] summary:hover {
147
147
  background: var(--a-bg-subtle);
148
- color: var(--pipeline-status-label-fg, var(--pipeline-status-label-fg-default));
148
+ color: var(--pipeline-status-label-fg);
149
149
  }
150
150
 
151
151
  [data-pipeline-history] summary:focus-visible {
@@ -154,29 +154,29 @@
154
154
  }
155
155
 
156
156
  [data-pipeline-history] summary::marker {
157
- color: var(--pipeline-status-history-fg, var(--pipeline-status-history-fg-default));
157
+ color: var(--pipeline-status-history-fg);
158
158
  }
159
159
 
160
160
  /* Log list */
161
161
  [data-pipeline-log] {
162
162
  list-style: none;
163
163
  margin: 0;
164
- padding: var(--pipeline-status-log-pt, var(--pipeline-status-log-pt-default)) 0 0 0;
164
+ padding: var(--pipeline-status-log-pt) 0 0 0;
165
165
  display: flex;
166
166
  flex-direction: column;
167
- gap: var(--pipeline-status-log-gap, var(--pipeline-status-log-gap-default));
167
+ gap: var(--pipeline-status-log-gap);
168
168
  }
169
169
 
170
170
  [data-pipeline-log] li {
171
171
  display: flex;
172
172
  align-items: center;
173
- gap: var(--pipeline-status-column-gap, var(--pipeline-status-column-gap-default));
174
- font-size: var(--pipeline-status-log-size, var(--pipeline-status-log-size-default));
175
- color: var(--pipeline-status-log-fg, var(--pipeline-status-log-fg-default));
173
+ gap: var(--pipeline-status-column-gap);
174
+ font-size: var(--pipeline-status-log-size);
175
+ color: var(--pipeline-status-log-fg);
176
176
  }
177
177
 
178
178
  [data-pipeline-log] [data-pipeline-dot] {
179
- width: var(--pipeline-status-log-dot-size, var(--pipeline-status-log-dot-size-default));
180
- height: var(--pipeline-status-log-dot-size, var(--pipeline-status-log-dot-size-default));
179
+ width: var(--pipeline-status-log-dot-size);
180
+ height: var(--pipeline-status-log-dot-size);
181
181
  }
182
182
  }
@@ -1,15 +1,15 @@
1
1
  @scope (popover-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Layout ── */
4
- --popover-px-default: var(--a-space-3);
5
- --popover-py-default: var(--a-space-2);
6
- --popover-radius-default: var(--a-radius-lg);
4
+ --popover-px: var(--a-space-3);
5
+ --popover-py: var(--a-space-2);
6
+ --popover-radius: var(--a-radius-lg);
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-default: var(--a-bg-subtle);
11
- --popover-border-default: var(--a-border-subtle);
12
- --popover-shadow-default: var(--a-shadow-lg);
10
+ --popover-bg: var(--a-bg-subtle);
11
+ --popover-border: var(--a-border-subtle);
12
+ --popover-shadow: var(--a-shadow-lg);
13
13
  }
14
14
 
15
15
  :scope {
@@ -77,11 +77,11 @@
77
77
  shapes appear in consumer code; both should let the inner surface
78
78
  own padding + bg + border + radius + shadow. */
79
79
  [slot="content"]:not(card-ui):not(drawer-ui):not(menu-ui):not(:has(> card-ui:only-child)):not(:has(> drawer-ui:only-child)):not(:has(> menu-ui:only-child)) {
80
- padding: var(--popover-py, var(--popover-py-default)) var(--popover-px, var(--popover-px-default));
81
- background: var(--popover-bg, var(--popover-bg-default));
82
- border: 1px solid var(--popover-border, var(--popover-border-default));
83
- border-radius: var(--popover-radius, var(--popover-radius-default));
84
- box-shadow: var(--popover-shadow, var(--popover-shadow-default));
80
+ padding: var(--popover-py) var(--popover-px);
81
+ background: var(--popover-bg);
82
+ border: 1px solid var(--popover-border);
83
+ border-radius: var(--popover-radius);
84
+ box-shadow: var(--popover-shadow);
85
85
  }
86
86
 
87
87
  /* Prose margin reset on the content's edge children — a slotted <p> / <h*>