@adia-ai/web-components 0.6.33 → 0.6.34

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 (157) 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 +57 -57
  7. package/components/agent-reasoning/agent-reasoning.css +62 -62
  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 +41 -41
  11. package/components/avatar/avatar.css +27 -27
  12. package/components/badge/badge.css +27 -27
  13. package/components/block/block.css +16 -16
  14. package/components/breadcrumb/breadcrumb.css +23 -23
  15. package/components/button/button.css +101 -91
  16. package/components/calendar-grid/calendar-grid.a2ui.json +136 -0
  17. package/components/calendar-grid/calendar-grid.css +226 -0
  18. package/components/calendar-grid/calendar-grid.d.ts +37 -0
  19. package/components/calendar-grid/calendar-grid.js +17 -0
  20. package/components/calendar-grid/calendar-grid.yaml +116 -0
  21. package/components/calendar-grid/class.js +300 -0
  22. package/components/calendar-picker/calendar-picker.css +139 -139
  23. package/components/canvas/canvas.css +12 -12
  24. package/components/card/card.css +83 -83
  25. package/components/chart/chart.css +224 -224
  26. package/components/chart-legend/chart-legend.css +26 -26
  27. package/components/check/check.css +40 -40
  28. package/components/code/code.css +125 -125
  29. package/components/col/col.css +15 -15
  30. package/components/color-picker/color-picker.css +55 -55
  31. package/components/combobox/class.js +861 -0
  32. package/components/combobox/combobox.a2ui.json +363 -0
  33. package/components/combobox/combobox.css +244 -0
  34. package/components/combobox/combobox.d.ts +113 -0
  35. package/components/combobox/combobox.examples.md +59 -0
  36. package/components/combobox/combobox.js +17 -0
  37. package/components/combobox/combobox.test.js +181 -0
  38. package/components/combobox/combobox.yaml +369 -0
  39. package/components/command/command.css +90 -90
  40. package/components/date-range-picker/class.js +775 -0
  41. package/components/date-range-picker/date-range-picker.a2ui.json +300 -0
  42. package/components/date-range-picker/date-range-picker.css +178 -0
  43. package/components/date-range-picker/date-range-picker.d.ts +82 -0
  44. package/components/date-range-picker/date-range-picker.examples.md +37 -0
  45. package/components/date-range-picker/date-range-picker.js +17 -0
  46. package/components/date-range-picker/date-range-picker.test.js +387 -0
  47. package/components/date-range-picker/date-range-picker.yaml +285 -0
  48. package/components/datetime-picker/class.js +706 -0
  49. package/components/datetime-picker/datetime-picker.a2ui.json +334 -0
  50. package/components/datetime-picker/datetime-picker.css +150 -0
  51. package/components/datetime-picker/datetime-picker.d.ts +86 -0
  52. package/components/datetime-picker/datetime-picker.examples.md +46 -0
  53. package/components/datetime-picker/datetime-picker.js +17 -0
  54. package/components/datetime-picker/datetime-picker.test.js +454 -0
  55. package/components/datetime-picker/datetime-picker.yaml +332 -0
  56. package/components/demo-toggle/demo-toggle.css +27 -27
  57. package/components/description-list/description-list.css +18 -18
  58. package/components/divider/divider.css +24 -24
  59. package/components/embed/embed.css +6 -6
  60. package/components/empty-state/empty-state.css +27 -27
  61. package/components/feed/feed.css +12 -12
  62. package/components/field/field.css +28 -28
  63. package/components/fields/fields.css +5 -5
  64. package/components/grid/grid.css +5 -5
  65. package/components/heatmap/heatmap.css +63 -63
  66. package/components/icon/icon.css +12 -12
  67. package/components/image/image.css +14 -14
  68. package/components/index.js +8 -0
  69. package/components/input/input.css +66 -66
  70. package/components/inspector/inspector.css +6 -6
  71. package/components/integration-card/class.js +410 -0
  72. package/components/integration-card/integration-card.a2ui.json +268 -0
  73. package/components/integration-card/integration-card.css +169 -0
  74. package/components/integration-card/integration-card.d.ts +63 -0
  75. package/components/integration-card/integration-card.examples.md +41 -0
  76. package/components/integration-card/integration-card.js +17 -0
  77. package/components/integration-card/integration-card.test.js +306 -0
  78. package/components/integration-card/integration-card.yaml +280 -0
  79. package/components/kbd/kbd.css +32 -32
  80. package/components/link/link.css +12 -12
  81. package/components/list/list.css +8 -8
  82. package/components/list-window/class.js +688 -0
  83. package/components/list-window/list-window.a2ui.json +277 -0
  84. package/components/list-window/list-window.css +124 -0
  85. package/components/list-window/list-window.d.ts +84 -0
  86. package/components/list-window/list-window.examples.md +73 -0
  87. package/components/list-window/list-window.js +17 -0
  88. package/components/list-window/list-window.test.js +303 -0
  89. package/components/list-window/list-window.yaml +270 -0
  90. package/components/menu/menu.css +8 -8
  91. package/components/modal/modal.css +43 -43
  92. package/components/nav/nav.css +40 -40
  93. package/components/nav-group/nav-group.css +52 -52
  94. package/components/nav-item/nav-item.css +44 -44
  95. package/components/noodles/noodles.css +31 -31
  96. package/components/option-card/option-card.css +69 -69
  97. package/components/otp-input/otp-input.css +30 -30
  98. package/components/page/page.css +18 -18
  99. package/components/pagination/pagination.css +61 -61
  100. package/components/pane/pane.css +57 -57
  101. package/components/pipeline-status/pipeline-status.css +65 -65
  102. package/components/popover/popover.css +17 -17
  103. package/components/progress/progress.css +23 -23
  104. package/components/progress-row/progress-row.css +17 -17
  105. package/components/radio/radio.css +39 -39
  106. package/components/range/range.css +55 -55
  107. package/components/rating/rating.css +28 -28
  108. package/components/richtext/richtext.css +133 -133
  109. package/components/row/row.css +19 -19
  110. package/components/search/search.css +5 -5
  111. package/components/segment/segment.css +24 -24
  112. package/components/segmented/segmented.css +25 -25
  113. package/components/select/select.css +84 -84
  114. package/components/skeleton/skeleton.css +14 -14
  115. package/components/slider/slider.css +46 -46
  116. package/components/spinner/class.js +69 -0
  117. package/components/spinner/spinner.a2ui.json +197 -0
  118. package/components/spinner/spinner.css +165 -0
  119. package/components/spinner/spinner.d.ts +26 -0
  120. package/components/spinner/spinner.examples.md +26 -0
  121. package/components/spinner/spinner.js +17 -0
  122. package/components/spinner/spinner.test.js +234 -0
  123. package/components/spinner/spinner.yaml +230 -0
  124. package/components/stack/stack.css +11 -11
  125. package/components/stat/stat.css +25 -25
  126. package/components/step-progress/step-progress.css +20 -20
  127. package/components/stepper/stepper.css +29 -29
  128. package/components/stream/stream.css +12 -12
  129. package/components/swatch/swatch.css +68 -68
  130. package/components/swiper/swiper.css +57 -57
  131. package/components/switch/switch.css +52 -52
  132. package/components/table/table.css +162 -162
  133. package/components/table-toolbar/table-toolbar.css +32 -32
  134. package/components/tabs/tabs.css +51 -51
  135. package/components/tag/tag.css +48 -48
  136. package/components/text/text.css +44 -44
  137. package/components/textarea/textarea.css +46 -46
  138. package/components/time-picker/class.js +693 -0
  139. package/components/time-picker/time-picker.a2ui.json +267 -0
  140. package/components/time-picker/time-picker.css +122 -0
  141. package/components/time-picker/time-picker.d.ts +75 -0
  142. package/components/time-picker/time-picker.examples.md +35 -0
  143. package/components/time-picker/time-picker.js +17 -0
  144. package/components/time-picker/time-picker.test.js +287 -0
  145. package/components/time-picker/time-picker.yaml +256 -0
  146. package/components/timeline/timeline.css +50 -50
  147. package/components/toast/toast.css +58 -58
  148. package/components/toggle-group/toggle-group.css +6 -6
  149. package/components/toggle-scheme/toggle-scheme.css +2 -2
  150. package/components/toolbar/toolbar.css +17 -17
  151. package/components/tooltip/tooltip.css +2 -2
  152. package/components/tree/tree.css +37 -37
  153. package/components/upload/upload.css +49 -49
  154. package/dist/web-components.min.css +1 -1
  155. package/dist/web-components.min.js +121 -83
  156. package/package.json +1 -1
  157. package/styles/components.css +8 -0
@@ -6,76 +6,76 @@
6
6
  :where(:scope) {
7
7
  /* ── Layout ── */
8
8
  /* Optimal reading measure; not on spatial scale (45rem ≈ 720px at 1rem=16px). */
9
- --richtext-max-width: 45rem;
10
- --richtext-px: var(--a-space-6);
11
- --richtext-py: var(--a-space-8);
9
+ --richtext-max-width-default: 45rem;
10
+ --richtext-px-default: var(--a-space-6);
11
+ --richtext-py-default: var(--a-space-8);
12
12
 
13
13
  /* ── Colors ── */
14
- --richtext-bg: var(--a-canvas-0);
15
- --richtext-fg: var(--a-fg);
16
- --richtext-fg-muted: var(--a-fg-muted);
17
- --richtext-fg-subtle: var(--a-fg-subtle);
18
- --richtext-code-bg: var(--a-canvas-2);
19
- --richtext-border: var(--a-border-subtle);
20
- --richtext-link: var(--a-accent-bg);
21
- --richtext-link-hover: var(--a-accent);
14
+ --richtext-bg-default: var(--a-canvas-0);
15
+ --richtext-fg-default: var(--a-fg);
16
+ --richtext-fg-muted-default: var(--a-fg-muted);
17
+ --richtext-fg-subtle-default: var(--a-fg-subtle);
18
+ --richtext-code-bg-default: var(--a-canvas-2);
19
+ --richtext-border-default: var(--a-border-subtle);
20
+ --richtext-link-default: var(--a-accent-bg);
21
+ --richtext-link-hover-default: var(--a-accent);
22
22
 
23
23
  /* ── Typography ── */
24
- --richtext-font: var(--a-font-family);
25
- --richtext-font-code: var(--a-font-family-code);
26
- --richtext-body-size: var(--a-body-size);
27
- --richtext-body-leading: var(--a-body-leading);
28
- --richtext-code-size: var(--a-ui-sm);
24
+ --richtext-font-default: var(--a-font-family);
25
+ --richtext-font-code-default: var(--a-font-family-code);
26
+ --richtext-body-size-default: var(--a-body-size);
27
+ --richtext-body-leading-default: var(--a-body-leading);
28
+ --richtext-code-size-default: var(--a-ui-sm);
29
29
 
30
30
  /* ── Heading typography ── */
31
- --richtext-h1-size: var(--a-heading-size);
32
- --richtext-h1-weight: var(--a-weight-bold);
33
- --richtext-h1-leading: var(--a-heading-leading);
34
- --richtext-h2-size: var(--a-section-size);
35
- --richtext-h2-weight: var(--a-section-weight);
36
- --richtext-h2-leading: var(--a-section-leading);
37
- --richtext-h3-size: var(--a-subsection-size);
38
- --richtext-h3-weight: var(--a-subsection-weight);
39
- --richtext-h4-weight: var(--a-weight-semibold);
31
+ --richtext-h1-size-default: var(--a-heading-size);
32
+ --richtext-h1-weight-default: var(--a-weight-bold);
33
+ --richtext-h1-leading-default: var(--a-heading-leading);
34
+ --richtext-h2-size-default: var(--a-section-size);
35
+ --richtext-h2-weight-default: var(--a-section-weight);
36
+ --richtext-h2-leading-default: var(--a-section-leading);
37
+ --richtext-h3-size-default: var(--a-subsection-size);
38
+ --richtext-h3-weight-default: var(--a-subsection-weight);
39
+ --richtext-h4-weight-default: var(--a-weight-semibold);
40
40
 
41
41
  /* ── Heading rhythm ── */
42
- --richtext-h1-margin-bottom: var(--a-space-2);
43
- --richtext-h2-margin-top: var(--a-space-8);
44
- --richtext-h2-margin-bottom: var(--a-space-3);
45
- --richtext-h2-pad-bottom: var(--a-space-2);
46
- --richtext-h3-margin-top: var(--a-space-6);
47
- --richtext-h3-margin-bottom: var(--a-space-2);
48
- --richtext-h4-margin-top: var(--a-space-4);
49
- --richtext-h4-margin-bottom: var(--a-space-1);
42
+ --richtext-h1-margin-bottom-default: var(--a-space-2);
43
+ --richtext-h2-margin-top-default: var(--a-space-8);
44
+ --richtext-h2-margin-bottom-default: var(--a-space-3);
45
+ --richtext-h2-pad-bottom-default: var(--a-space-2);
46
+ --richtext-h3-margin-top-default: var(--a-space-6);
47
+ --richtext-h3-margin-bottom-default: var(--a-space-2);
48
+ --richtext-h4-margin-top-default: var(--a-space-4);
49
+ --richtext-h4-margin-bottom-default: var(--a-space-1);
50
50
 
51
51
  /* ── Block rhythm ── */
52
- --richtext-p-margin-bottom: var(--a-space-3);
53
- --richtext-block-my: var(--a-space-3);
52
+ --richtext-p-margin-bottom-default: var(--a-space-3);
53
+ --richtext-block-my-default: var(--a-space-3);
54
54
 
55
55
  /* ── Inline code ── */
56
- --richtext-code-radius: var(--a-radius-sm);
56
+ --richtext-code-radius-default: var(--a-radius-sm);
57
57
 
58
58
  /* ── Code block ── */
59
- --richtext-pre-radius: var(--a-radius-md);
60
- --richtext-pre-inset: var(--a-space-3);
61
- --richtext-pre-my: var(--a-space-3);
59
+ --richtext-pre-radius-default: var(--a-radius-md);
60
+ --richtext-pre-inset-default: var(--a-space-3);
61
+ --richtext-pre-my-default: var(--a-space-3);
62
62
 
63
63
  /* ── Lists ── */
64
- --richtext-list-my: var(--a-space-2);
65
- --richtext-list-indent: var(--a-space-6);
66
- --richtext-li-margin-bottom: var(--a-space-1);
64
+ --richtext-list-my-default: var(--a-space-2);
65
+ --richtext-list-indent-default: var(--a-space-6);
66
+ --richtext-li-margin-bottom-default: var(--a-space-1);
67
67
 
68
68
  /* ── Tables ── */
69
- --richtext-table-my: var(--a-space-3);
70
- --richtext-th-py: var(--a-space-2);
71
- --richtext-th-px: var(--a-space-3);
72
- --richtext-th-weight: var(--a-weight-semibold);
69
+ --richtext-table-my-default: var(--a-space-3);
70
+ --richtext-th-py-default: var(--a-space-2);
71
+ --richtext-th-px-default: var(--a-space-3);
72
+ --richtext-th-weight-default: var(--a-weight-semibold);
73
73
 
74
74
  /* ── HR ── */
75
- --richtext-hr-my: var(--a-space-6);
75
+ --richtext-hr-my-default: var(--a-space-6);
76
76
 
77
77
  /* ── Strong ── */
78
- --richtext-strong-weight: var(--a-weight-semibold);
78
+ --richtext-strong-weight-default: var(--a-weight-semibold);
79
79
  }
80
80
 
81
81
  :scope {
@@ -83,9 +83,9 @@
83
83
  display: flex;
84
84
  flex-direction: column;
85
85
  align-items: center;
86
- background: var(--richtext-bg);
87
- color: var(--richtext-fg);
88
- font-family: var(--richtext-font);
86
+ background: var(--richtext-bg, var(--richtext-bg-default));
87
+ color: var(--richtext-fg, var(--richtext-fg-default));
88
+ font-family: var(--richtext-font, var(--richtext-font-default));
89
89
  overflow-y: auto;
90
90
  }
91
91
 
@@ -94,56 +94,56 @@
94
94
  [data-richtext-body] {
95
95
  box-sizing: border-box;
96
96
  width: 100%;
97
- max-width: var(--richtext-max-width);
98
- padding: var(--richtext-py) var(--richtext-px);
97
+ max-width: var(--richtext-max-width, var(--richtext-max-width-default));
98
+ padding: var(--richtext-py, var(--richtext-py-default)) var(--richtext-px, var(--richtext-px-default));
99
99
  }
100
100
 
101
101
  /* ── Headings ── */
102
102
 
103
103
  [data-richtext-body] h1 {
104
- font-size: var(--richtext-h1-size);
105
- font-weight: var(--richtext-h1-weight);
106
- line-height: var(--richtext-h1-leading);
107
- margin: 0 0 var(--richtext-h1-margin-bottom);
104
+ font-size: var(--richtext-h1-size, var(--richtext-h1-size-default));
105
+ font-weight: var(--richtext-h1-weight, var(--richtext-h1-weight-default));
106
+ line-height: var(--richtext-h1-leading, var(--richtext-h1-leading-default));
107
+ margin: 0 0 var(--richtext-h1-margin-bottom, var(--richtext-h1-margin-bottom-default));
108
108
  }
109
109
 
110
110
  [data-richtext-body] h2 {
111
- font-size: var(--richtext-h2-size);
112
- font-weight: var(--richtext-h2-weight);
113
- line-height: var(--richtext-h2-leading);
114
- margin: var(--richtext-h2-margin-top) 0 var(--richtext-h2-margin-bottom);
115
- padding-bottom: var(--richtext-h2-pad-bottom);
116
- border-bottom: 1px solid var(--richtext-border);
111
+ font-size: var(--richtext-h2-size, var(--richtext-h2-size-default));
112
+ font-weight: var(--richtext-h2-weight, var(--richtext-h2-weight-default));
113
+ line-height: var(--richtext-h2-leading, var(--richtext-h2-leading-default));
114
+ margin: var(--richtext-h2-margin-top, var(--richtext-h2-margin-top-default)) 0 var(--richtext-h2-margin-bottom, var(--richtext-h2-margin-bottom-default));
115
+ padding-bottom: var(--richtext-h2-pad-bottom, var(--richtext-h2-pad-bottom-default));
116
+ border-bottom: 1px solid var(--richtext-border, var(--richtext-border-default));
117
117
  }
118
118
 
119
119
  [data-richtext-body] h3 {
120
- font-size: var(--richtext-h3-size);
121
- font-weight: var(--richtext-h3-weight);
122
- margin: var(--richtext-h3-margin-top) 0 var(--richtext-h3-margin-bottom);
120
+ font-size: var(--richtext-h3-size, var(--richtext-h3-size-default));
121
+ font-weight: var(--richtext-h3-weight, var(--richtext-h3-weight-default));
122
+ margin: var(--richtext-h3-margin-top, var(--richtext-h3-margin-top-default)) 0 var(--richtext-h3-margin-bottom, var(--richtext-h3-margin-bottom-default));
123
123
  }
124
124
 
125
125
  [data-richtext-body] h4 {
126
- font-size: var(--richtext-body-size);
127
- font-weight: var(--richtext-h4-weight);
128
- margin: var(--richtext-h4-margin-top) 0 var(--richtext-h4-margin-bottom);
126
+ font-size: var(--richtext-body-size, var(--richtext-body-size-default));
127
+ font-weight: var(--richtext-h4-weight, var(--richtext-h4-weight-default));
128
+ margin: var(--richtext-h4-margin-top, var(--richtext-h4-margin-top-default)) 0 var(--richtext-h4-margin-bottom, var(--richtext-h4-margin-bottom-default));
129
129
  }
130
130
 
131
131
  [data-richtext-body] h5 {
132
- font-size: var(--richtext-body-size);
133
- font-weight: var(--richtext-h4-weight);
134
- color: var(--richtext-fg-muted);
132
+ font-size: var(--richtext-body-size, var(--richtext-body-size-default));
133
+ font-weight: var(--richtext-h4-weight, var(--richtext-h4-weight-default));
134
+ color: var(--richtext-fg-muted, var(--richtext-fg-muted-default));
135
135
  text-transform: uppercase;
136
136
  letter-spacing: 0.04em;
137
- margin: var(--richtext-h4-margin-top) 0 var(--richtext-h4-margin-bottom);
137
+ margin: var(--richtext-h4-margin-top, var(--richtext-h4-margin-top-default)) 0 var(--richtext-h4-margin-bottom, var(--richtext-h4-margin-bottom-default));
138
138
  }
139
139
 
140
140
  [data-richtext-body] h6 {
141
- font-size: var(--richtext-code-size);
142
- font-weight: var(--richtext-h4-weight);
143
- color: var(--richtext-fg-muted);
141
+ font-size: var(--richtext-code-size, var(--richtext-code-size-default));
142
+ font-weight: var(--richtext-h4-weight, var(--richtext-h4-weight-default));
143
+ color: var(--richtext-fg-muted, var(--richtext-fg-muted-default));
144
144
  text-transform: uppercase;
145
145
  letter-spacing: 0.06em;
146
- margin: var(--richtext-h4-margin-top) 0 var(--richtext-h4-margin-bottom);
146
+ margin: var(--richtext-h4-margin-top, var(--richtext-h4-margin-top-default)) 0 var(--richtext-h4-margin-bottom, var(--richtext-h4-margin-bottom-default));
147
147
  }
148
148
 
149
149
  /* First-element rhythm reset — first heading shouldn't push content
@@ -154,35 +154,35 @@
154
154
  /* ── Body text ── */
155
155
 
156
156
  [data-richtext-body] p {
157
- font-size: var(--richtext-body-size);
158
- line-height: var(--richtext-body-leading);
159
- margin: 0 0 var(--richtext-p-margin-bottom);
157
+ font-size: var(--richtext-body-size, var(--richtext-body-size-default));
158
+ line-height: var(--richtext-body-leading, var(--richtext-body-leading-default));
159
+ margin: 0 0 var(--richtext-p-margin-bottom, var(--richtext-p-margin-bottom-default));
160
160
  }
161
161
 
162
162
  [data-richtext-body] h2 + p,
163
163
  [data-richtext-body] h3 + p {
164
- color: var(--richtext-fg-subtle);
164
+ color: var(--richtext-fg-subtle, var(--richtext-fg-subtle-default));
165
165
  }
166
166
 
167
167
  /* ── Code ── */
168
168
 
169
169
  [data-richtext-body] code {
170
- background: var(--richtext-code-bg);
170
+ background: var(--richtext-code-bg, var(--richtext-code-bg-default));
171
171
  padding: 0.1em 0.35em;
172
- border-radius: var(--richtext-code-radius);
173
- font-family: var(--richtext-font-code);
172
+ border-radius: var(--richtext-code-radius, var(--richtext-code-radius-default));
173
+ font-family: var(--richtext-font-code, var(--richtext-font-code-default));
174
174
  font-size: 0.875em;
175
175
  }
176
176
 
177
177
  [data-richtext-body] pre {
178
- background: var(--richtext-code-bg);
179
- border: 1px solid var(--richtext-border);
180
- border-radius: var(--richtext-pre-radius);
181
- padding: var(--richtext-pre-inset);
178
+ background: var(--richtext-code-bg, var(--richtext-code-bg-default));
179
+ border: 1px solid var(--richtext-border, var(--richtext-border-default));
180
+ border-radius: var(--richtext-pre-radius, var(--richtext-pre-radius-default));
181
+ padding: var(--richtext-pre-inset, var(--richtext-pre-inset-default));
182
182
  overflow-x: auto;
183
- font-size: var(--richtext-code-size);
183
+ font-size: var(--richtext-code-size, var(--richtext-code-size-default));
184
184
  line-height: 1.5;
185
- margin: var(--richtext-pre-my) 0;
185
+ margin: var(--richtext-pre-my, var(--richtext-pre-my-default)) 0;
186
186
  }
187
187
 
188
188
  [data-richtext-body] pre code {
@@ -195,12 +195,12 @@
195
195
 
196
196
  [data-richtext-body] ul,
197
197
  [data-richtext-body] ol {
198
- margin: var(--richtext-list-my) 0;
199
- padding-left: var(--richtext-list-indent);
198
+ margin: var(--richtext-list-my, var(--richtext-list-my-default)) 0;
199
+ padding-left: var(--richtext-list-indent, var(--richtext-list-indent-default));
200
200
  }
201
201
 
202
202
  [data-richtext-body] li {
203
- margin-bottom: var(--richtext-li-margin-bottom);
203
+ margin-bottom: var(--richtext-li-margin-bottom, var(--richtext-li-margin-bottom-default));
204
204
  }
205
205
 
206
206
  /* Nested lists — collapse the vertical block margin so children
@@ -212,49 +212,49 @@
212
212
 
213
213
  /* ── Definition lists ── */
214
214
  [data-richtext-body] dl {
215
- margin: var(--richtext-list-my) 0;
215
+ margin: var(--richtext-list-my, var(--richtext-list-my-default)) 0;
216
216
  }
217
217
  [data-richtext-body] dt {
218
- font-weight: var(--richtext-strong-weight);
219
- color: var(--richtext-fg);
218
+ font-weight: var(--richtext-strong-weight, var(--richtext-strong-weight-default));
219
+ color: var(--richtext-fg, var(--richtext-fg-default));
220
220
  margin-top: var(--a-space-2);
221
221
  }
222
222
  [data-richtext-body] dd {
223
- margin: 0 0 var(--richtext-li-margin-bottom) var(--richtext-list-indent);
224
- color: var(--richtext-fg-muted);
223
+ margin: 0 0 var(--richtext-li-margin-bottom, var(--richtext-li-margin-bottom-default)) var(--richtext-list-indent, var(--richtext-list-indent-default));
224
+ color: var(--richtext-fg-muted, var(--richtext-fg-muted-default));
225
225
  }
226
226
 
227
227
  /* ── Blockquote ── */
228
228
  [data-richtext-body] blockquote {
229
- margin: var(--richtext-block-my) 0;
229
+ margin: var(--richtext-block-my, var(--richtext-block-my-default)) 0;
230
230
  padding: var(--a-space-1) var(--a-space-4);
231
- border-inline-start: 3px solid var(--richtext-border);
232
- color: var(--richtext-fg-muted);
231
+ border-inline-start: 3px solid var(--richtext-border, var(--richtext-border-default));
232
+ color: var(--richtext-fg-muted, var(--richtext-fg-muted-default));
233
233
  font-style: italic;
234
234
  }
235
235
  [data-richtext-body] blockquote > :last-child { margin-bottom: 0; }
236
236
 
237
237
  /* ── Inline emphasis & semantic glyphs ── */
238
238
  [data-richtext-body] mark {
239
- background: var(--a-warning-muted, var(--richtext-code-bg));
239
+ background: var(--a-warning-muted, var(--richtext-code-bg, var(--richtext-code-bg-default)));
240
240
  color: inherit;
241
241
  padding: 0 0.2em;
242
- border-radius: var(--richtext-code-radius);
242
+ border-radius: var(--richtext-code-radius, var(--richtext-code-radius-default));
243
243
  }
244
244
  [data-richtext-body] del,
245
245
  [data-richtext-body] s {
246
- color: var(--richtext-fg-muted);
246
+ color: var(--richtext-fg-muted, var(--richtext-fg-muted-default));
247
247
  text-decoration: line-through;
248
248
  }
249
249
  [data-richtext-body] kbd {
250
- font-family: var(--richtext-font-code);
250
+ font-family: var(--richtext-font-code, var(--richtext-font-code-default));
251
251
  font-size: 0.85em;
252
- background: var(--richtext-code-bg);
253
- border: 1px solid var(--richtext-border);
252
+ background: var(--richtext-code-bg, var(--richtext-code-bg-default));
253
+ border: 1px solid var(--richtext-border, var(--richtext-border-default));
254
254
  border-bottom-width: 2px;
255
- border-radius: var(--richtext-code-radius);
255
+ border-radius: var(--richtext-code-radius, var(--richtext-code-radius-default));
256
256
  padding: 0.05em 0.4em;
257
- box-shadow: inset 0 -1px 0 var(--richtext-border);
257
+ box-shadow: inset 0 -1px 0 var(--richtext-border, var(--richtext-border-default));
258
258
  white-space: nowrap;
259
259
  }
260
260
  [data-richtext-body] sup,
@@ -274,39 +274,39 @@
274
274
  max-width: 100%;
275
275
  height: auto;
276
276
  display: block;
277
- margin: var(--richtext-block-my) auto;
278
- border-radius: var(--richtext-pre-radius);
277
+ margin: var(--richtext-block-my, var(--richtext-block-my-default)) auto;
278
+ border-radius: var(--richtext-pre-radius, var(--richtext-pre-radius-default));
279
279
  }
280
280
  [data-richtext-body] figure {
281
- margin: var(--richtext-block-my) 0;
281
+ margin: var(--richtext-block-my, var(--richtext-block-my-default)) 0;
282
282
  }
283
283
  [data-richtext-body] figcaption {
284
- font-size: var(--richtext-code-size);
285
- color: var(--richtext-fg-muted);
284
+ font-size: var(--richtext-code-size, var(--richtext-code-size-default));
285
+ color: var(--richtext-fg-muted, var(--richtext-fg-muted-default));
286
286
  text-align: center;
287
287
  margin-top: var(--a-space-1);
288
288
  }
289
289
 
290
290
  /* ── Disclosure ── */
291
291
  [data-richtext-body] details {
292
- margin: var(--richtext-block-my) 0;
293
- border: 1px solid var(--richtext-border);
294
- border-radius: var(--richtext-pre-radius);
292
+ margin: var(--richtext-block-my, var(--richtext-block-my-default)) 0;
293
+ border: 1px solid var(--richtext-border, var(--richtext-border-default));
294
+ border-radius: var(--richtext-pre-radius, var(--richtext-pre-radius-default));
295
295
  padding: var(--a-space-3) var(--a-space-4);
296
296
  }
297
297
  [data-richtext-body] details[open] {
298
- background: var(--richtext-code-bg);
298
+ background: var(--richtext-code-bg, var(--richtext-code-bg-default));
299
299
  }
300
300
  [data-richtext-body] summary {
301
301
  cursor: pointer;
302
- font-weight: var(--richtext-strong-weight);
302
+ font-weight: var(--richtext-strong-weight, var(--richtext-strong-weight-default));
303
303
  margin: calc(-1 * var(--a-space-3)) calc(-1 * var(--a-space-4));
304
304
  padding: var(--a-space-3) var(--a-space-4);
305
305
  list-style-position: inside;
306
306
  }
307
307
  [data-richtext-body] details[open] summary {
308
308
  margin-bottom: var(--a-space-2);
309
- border-bottom: 1px solid var(--richtext-border);
309
+ border-bottom: 1px solid var(--richtext-border, var(--richtext-border-default));
310
310
  }
311
311
 
312
312
  /* ── Tables ── */
@@ -314,43 +314,43 @@
314
314
  [data-richtext-body] table {
315
315
  width: 100%;
316
316
  border-collapse: collapse;
317
- margin: var(--richtext-table-my) 0;
318
- font-size: var(--richtext-body-size);
317
+ margin: var(--richtext-table-my, var(--richtext-table-my-default)) 0;
318
+ font-size: var(--richtext-body-size, var(--richtext-body-size-default));
319
319
  }
320
320
 
321
321
  [data-richtext-body] th,
322
322
  [data-richtext-body] td {
323
323
  text-align: left;
324
- padding: var(--richtext-th-py) var(--richtext-th-px);
325
- border-bottom: 1px solid var(--richtext-border);
324
+ padding: var(--richtext-th-py, var(--richtext-th-py-default)) var(--richtext-th-px, var(--richtext-th-px-default));
325
+ border-bottom: 1px solid var(--richtext-border, var(--richtext-border-default));
326
326
  }
327
327
 
328
328
  [data-richtext-body] th {
329
- font-weight: var(--richtext-th-weight);
330
- color: var(--richtext-fg-muted);
331
- font-size: var(--richtext-code-size);
329
+ font-weight: var(--richtext-th-weight, var(--richtext-th-weight-default));
330
+ color: var(--richtext-fg-muted, var(--richtext-fg-muted-default));
331
+ font-size: var(--richtext-code-size, var(--richtext-code-size-default));
332
332
  }
333
333
 
334
334
  /* ── Misc ── */
335
335
 
336
336
  [data-richtext-body] hr {
337
337
  border: none;
338
- border-top: 1px solid var(--richtext-border);
339
- margin: var(--richtext-hr-my) 0;
338
+ border-top: 1px solid var(--richtext-border, var(--richtext-border-default));
339
+ margin: var(--richtext-hr-my, var(--richtext-hr-my-default)) 0;
340
340
  }
341
341
 
342
- [data-richtext-body] strong { font-weight: var(--richtext-strong-weight); }
342
+ [data-richtext-body] strong { font-weight: var(--richtext-strong-weight, var(--richtext-strong-weight-default)); }
343
343
  [data-richtext-body] em { font-style: italic; }
344
344
 
345
345
  [data-richtext-body] a {
346
- color: var(--richtext-link);
346
+ color: var(--richtext-link, var(--richtext-link-default));
347
347
  text-decoration: underline;
348
348
  text-underline-offset: 2px;
349
349
  transition: color var(--a-duration-fast) var(--a-easing);
350
350
  }
351
351
 
352
352
  [data-richtext-body] a:hover {
353
- color: var(--richtext-link-hover);
353
+ color: var(--richtext-link-hover, var(--richtext-link-hover-default));
354
354
  }
355
355
 
356
356
  [data-richtext-body] a:focus-visible {
@@ -359,5 +359,5 @@
359
359
  border-radius: var(--a-radius-sm);
360
360
  }
361
361
 
362
- [data-richtext-body] small { font-size: var(--richtext-code-size); color: var(--richtext-fg-muted); }
362
+ [data-richtext-body] small { font-size: var(--richtext-code-size, var(--richtext-code-size-default)); color: var(--richtext-fg-muted, var(--richtext-fg-muted-default)); }
363
363
  }
@@ -3,19 +3,19 @@
3
3
  /* `--a-gap` defaults to `--a-gap-md` at :root in tokens.css; the
4
4
  universal `[gap="N"]` rules override it on the element, so reading
5
5
  `--a-gap` here picks up `<row-ui gap="…">` automatically. */
6
- --row-gap: var(--a-gap);
7
- --row-justify: flex-start;
8
- --row-align: center;
9
- --row-drag-bg-active: var(--a-accent-muted);
6
+ --row-gap-default: var(--a-gap);
7
+ --row-justify-default: flex-start;
8
+ --row-align-default: center;
9
+ --row-drag-bg-active-default: var(--a-accent-muted);
10
10
  }
11
11
 
12
12
  :scope {
13
13
  box-sizing: border-box;
14
14
  display: flex;
15
15
  flex-direction: row;
16
- gap: var(--row-gap);
17
- justify-content: var(--row-justify);
18
- align-items: var(--row-align);
16
+ gap: var(--row-gap, var(--row-gap-default));
17
+ justify-content: var(--row-justify, var(--row-justify-default));
18
+ align-items: var(--row-align, var(--row-align-default));
19
19
  /* Universal [padding] / [margin] opt-in — see tokens.css for scale. */
20
20
  padding: var(--a-padding, 0);
21
21
  margin: var(--a-margin, 0);
@@ -31,23 +31,23 @@
31
31
  :scope[draggable]:active,
32
32
  :scope[draggable][data-draggable-dragging] {
33
33
  cursor: grabbing;
34
- background: var(--row-drag-bg-active);
34
+ background: var(--row-drag-bg-active, var(--row-drag-bg-active-default));
35
35
  }
36
36
 
37
37
  /* Justify */
38
- :scope[justify="start"] { --row-justify: flex-start; }
39
- :scope[justify="center"] { --row-justify: center; }
40
- :scope[justify="end"] { --row-justify: flex-end; }
41
- :scope[justify="between"] { --row-justify: space-between; }
42
- :scope[justify="space-between"] { --row-justify: space-between; }
43
- :scope[justify="space-around"] { --row-justify: space-around; }
38
+ :scope[justify="start"] { --row-justify-default: flex-start; }
39
+ :scope[justify="center"] { --row-justify-default: center; }
40
+ :scope[justify="end"] { --row-justify-default: flex-end; }
41
+ :scope[justify="between"] { --row-justify-default: space-between; }
42
+ :scope[justify="space-between"] { --row-justify-default: space-between; }
43
+ :scope[justify="space-around"] { --row-justify-default: space-around; }
44
44
 
45
45
  /* Align */
46
- :scope[align="start"] { --row-align: flex-start; }
47
- :scope[align="center"] { --row-align: center; }
48
- :scope[align="end"] { --row-align: flex-end; }
49
- :scope[align="stretch"] { --row-align: stretch; }
50
- :scope[align="baseline"] { --row-align: baseline; }
46
+ :scope[align="start"] { --row-align-default: flex-start; }
47
+ :scope[align="center"] { --row-align-default: center; }
48
+ :scope[align="end"] { --row-align-default: flex-end; }
49
+ :scope[align="stretch"] { --row-align-default: stretch; }
50
+ :scope[align="baseline"] { --row-align-default: baseline; }
51
51
 
52
52
  /* Wrap */
53
53
  :scope[wrap] { flex-wrap: wrap; }
@@ -1,9 +1,9 @@
1
1
  @scope (search-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Tokens ── */
4
- --search-radius: var(--a-radius);
5
- --search-duration: var(--a-duration-fast);
6
- --search-easing: var(--a-easing);
4
+ --search-radius-default: var(--a-radius);
5
+ --search-duration-default: var(--a-duration-fast);
6
+ --search-easing-default: var(--a-easing);
7
7
  text-align: start; /* §text-align-reset — blocks inheritance from centered ancestors */
8
8
  }
9
9
 
@@ -19,11 +19,11 @@
19
19
  }
20
20
 
21
21
  [slot="suffix"] {
22
- transition: opacity var(--search-duration) var(--search-easing);
22
+ transition: opacity var(--search-duration, var(--search-duration-default)) var(--search-easing, var(--search-easing-default));
23
23
  }
24
24
 
25
25
  /* Override input-ui radius to pill for search */
26
26
  input-ui {
27
- --input-radius: var(--search-radius);
27
+ --input-radius: var(--search-radius, var(--search-radius-default));
28
28
  }
29
29
  }
@@ -2,35 +2,35 @@
2
2
  (Flavor B — attribute-removal restyle) both fail inside `@scope`.
3
3
  Selectors moved out. See docs/BROWSER-COMPAT.md §3a. */
4
4
  segment-ui:not([disabled]):not([selected]):hover {
5
- color: var(--segment-fg-hover);
5
+ color: var(--segment-fg-hover, var(--segment-fg-hover-default));
6
6
  }
7
7
  segment-ui[selected] {
8
- color: var(--segment-fg-selected);
8
+ color: var(--segment-fg-selected, var(--segment-fg-selected-default));
9
9
  }
10
10
 
11
11
  @scope (segment-ui) {
12
12
  :where(:scope) {
13
13
  /* ── Layout ── */
14
- --segment-px: var(--a-ui-px);
15
- --segment-gap: var(--a-space-1);
16
- --segment-radius: calc(var(--a-radius) - 2px);
14
+ --segment-px-default: var(--a-ui-px);
15
+ --segment-gap-default: var(--a-space-1);
16
+ --segment-radius-default: calc(var(--a-radius) - 2px);
17
17
 
18
18
  /* ── Typography ── */
19
- --segment-font-size: var(--a-ui-size);
20
- --segment-font-weight: var(--a-ui-weight);
19
+ --segment-font-size-default: var(--a-ui-size);
20
+ --segment-font-weight-default: var(--a-ui-weight);
21
21
 
22
22
  /* ── Colors ── */
23
- --segment-fg: var(--a-ui-text-subtle);
24
- --segment-fg-hover: var(--a-ui-text-hover);
25
- --segment-fg-selected: var(--a-chrome-dark);
26
- --segment-fg-disabled: var(--a-ui-text-disabled);
23
+ --segment-fg-default: var(--a-ui-text-subtle);
24
+ --segment-fg-hover-default: var(--a-ui-text-hover);
25
+ --segment-fg-selected-default: var(--a-chrome-dark);
26
+ --segment-fg-disabled-default: var(--a-ui-text-disabled);
27
27
 
28
28
  /* ── Transition ── */
29
- --segment-duration: var(--a-duration-fast);
30
- --segment-easing: var(--a-easing);
29
+ --segment-duration-default: var(--a-duration-fast);
30
+ --segment-easing-default: var(--a-easing);
31
31
 
32
32
  /* ── Focus ── */
33
- --segment-focus-ring: var(--a-focus-ring);
33
+ --segment-focus-ring-default: var(--a-focus-ring);
34
34
  }
35
35
 
36
36
  :scope {
@@ -41,15 +41,15 @@ segment-ui[selected] {
41
41
  justify-content: center;
42
42
  align-self: stretch;
43
43
  min-width: 0;
44
- gap: var(--segment-gap);
44
+ gap: var(--segment-gap, var(--segment-gap-default));
45
45
 
46
- padding-inline: var(--segment-px);
46
+ padding-inline: var(--segment-px, var(--segment-px-default));
47
47
 
48
48
  font: inherit;
49
- font-size: var(--segment-font-size);
50
- font-weight: var(--segment-font-weight);
49
+ font-size: var(--segment-font-size, var(--segment-font-size-default));
50
+ font-weight: var(--segment-font-weight, var(--segment-font-weight-default));
51
51
  line-height: 1;
52
- color: var(--segment-fg);
52
+ color: var(--segment-fg, var(--segment-fg-default));
53
53
  white-space: nowrap;
54
54
  overflow: hidden;
55
55
  text-overflow: ellipsis;
@@ -59,12 +59,12 @@ segment-ui[selected] {
59
59
  z-index: 1;
60
60
  cursor: pointer;
61
61
  user-select: none;
62
- border-radius: var(--segment-radius);
62
+ border-radius: var(--segment-radius, var(--segment-radius-default));
63
63
  background: transparent;
64
64
 
65
65
  transition:
66
- color var(--segment-duration) var(--segment-easing),
67
- background var(--segment-duration) var(--segment-easing);
66
+ color var(--segment-duration, var(--segment-duration-default)) var(--segment-easing, var(--segment-easing-default)),
67
+ background var(--segment-duration, var(--segment-duration-default)) var(--segment-easing, var(--segment-easing-default));
68
68
  }
69
69
 
70
70
  /* Text rendered via ::after so consumers can drive label via [text].
@@ -93,11 +93,11 @@ segment-ui[selected] {
93
93
 
94
94
  :scope:focus-visible {
95
95
  outline: none;
96
- box-shadow: var(--segment-focus-ring);
96
+ box-shadow: var(--segment-focus-ring, var(--segment-focus-ring-default));
97
97
  }
98
98
 
99
99
  :scope[disabled] {
100
- color: var(--segment-fg-disabled);
100
+ color: var(--segment-fg-disabled, var(--segment-fg-disabled-default));
101
101
  cursor: not-allowed;
102
102
  pointer-events: none;
103
103
  }