@adia-ai/web-components 0.8.42 → 0.8.44

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 (186) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/MIGRATION.md +130 -80
  3. package/USAGE.md +1 -1
  4. package/color/index.js +1 -1
  5. package/components/action-list/action-item.a2ui.json +3 -8
  6. package/components/action-list/action-item.yaml +10 -16
  7. package/components/action-list/action-list.class.js +5 -61
  8. package/components/action-list/action-list.d.ts +1 -3
  9. package/components/avatar/avatar.class.js +12 -1
  10. package/components/button/button.d.ts +4 -0
  11. package/components/button/button.yaml +1 -1
  12. package/components/calendar-picker/calendar-picker.a2ui.json +1 -1
  13. package/components/calendar-picker/calendar-picker.class.js +2 -3
  14. package/components/calendar-picker/calendar-picker.css +16 -18
  15. package/components/calendar-picker/calendar-picker.yaml +2 -2
  16. package/components/card/card.css +3 -3
  17. package/components/chart/chart.a2ui.json +29 -18
  18. package/components/chart/chart.class.js +1308 -266
  19. package/components/chart/chart.css +151 -1
  20. package/components/chart/chart.d.ts +9 -9
  21. package/components/chart/chart.yaml +63 -31
  22. package/components/chart-legend/chart-legend.a2ui.json +20 -14
  23. package/components/chart-legend/chart-legend.class.js +79 -58
  24. package/components/chart-legend/chart-legend.css +65 -1
  25. package/components/chart-legend/chart-legend.d.ts +5 -5
  26. package/components/chart-legend/chart-legend.examples.md +4 -4
  27. package/components/chart-legend/chart-legend.yaml +50 -20
  28. package/components/check/check.css +9 -0
  29. package/components/color-area/color-area.a2ui.json +1 -1
  30. package/components/color-area/color-area.class.js +2 -2
  31. package/components/color-area/color-area.css +4 -7
  32. package/components/color-area/color-area.d.ts +1 -1
  33. package/components/color-area/color-area.yaml +3 -3
  34. package/components/color-input/color-input.a2ui.json +1 -1
  35. package/components/color-input/color-input.class.js +1 -1
  36. package/components/color-input/color-input.yaml +2 -2
  37. package/components/combobox/combobox.a2ui.json +3 -0
  38. package/components/combobox/combobox.class.js +9 -8
  39. package/components/combobox/combobox.css +25 -4
  40. package/components/combobox/combobox.yaml +6 -0
  41. package/components/command/command.css +17 -1
  42. package/components/context-menu/context-menu.d.ts +2 -0
  43. package/components/drilldown/drilldown.a2ui.json +3 -0
  44. package/components/drilldown/drilldown.css +8 -1
  45. package/components/drilldown/drilldown.yaml +2 -0
  46. package/components/field/field.class.js +5 -5
  47. package/components/heatmap/heatmap.a2ui.json +5 -0
  48. package/components/heatmap/heatmap.d.ts +2 -0
  49. package/components/heatmap/heatmap.yaml +8 -0
  50. package/components/index.js +0 -4
  51. package/components/input/input.a2ui.json +4 -4
  52. package/components/input/input.class.js +20 -7
  53. package/components/input/input.css +6 -0
  54. package/components/input/input.yaml +15 -11
  55. package/components/integration-card/integration-card.d.ts +2 -0
  56. package/components/menu/menu-item.a2ui.json +3 -8
  57. package/components/menu/menu-item.yaml +13 -21
  58. package/components/menu/menu.class.js +5 -27
  59. package/components/menu/menu.d.ts +1 -3
  60. package/components/noodles/noodles.a2ui.json +0 -15
  61. package/components/noodles/noodles.yaml +0 -12
  62. package/components/number-format/number-format.class.js +10 -0
  63. package/components/pagination/pagination.class.js +88 -4
  64. package/components/pane/pane.a2ui.json +2 -12
  65. package/components/pane/pane.class.js +5 -30
  66. package/components/pane/pane.d.ts +3 -5
  67. package/components/pane/pane.yaml +7 -19
  68. package/components/popover/popover.d.ts +2 -0
  69. package/components/progress/progress.a2ui.json +1 -1
  70. package/components/progress/progress.class.js +13 -8
  71. package/components/progress/progress.d.ts +1 -1
  72. package/components/progress/progress.yaml +2 -2
  73. package/components/radio/radio.css +7 -0
  74. package/components/range/range.class.js +9 -1
  75. package/components/search/search.css +10 -1
  76. package/components/segment/segment.a2ui.json +1 -2
  77. package/components/segment/segment.css +10 -0
  78. package/components/segment/segment.yaml +1 -2
  79. package/components/segmented/segmented.a2ui.json +1 -3
  80. package/components/segmented/segmented.class.js +2 -2
  81. package/components/segmented/segmented.yaml +2 -4
  82. package/components/select/select.a2ui.json +5 -1
  83. package/components/select/select.class.js +14 -14
  84. package/components/select/select.css +20 -1
  85. package/components/select/select.yaml +7 -1
  86. package/components/step-progress/step-progress.yaml +1 -1
  87. package/components/stream/stream.d.ts +2 -0
  88. package/components/switch/switch.css +8 -0
  89. package/components/table/table.a2ui.json +6 -1
  90. package/components/table/table.class.js +18 -1
  91. package/components/table/table.css +31 -6
  92. package/components/table/table.d.ts +3 -1
  93. package/components/table/table.examples.md +2 -2
  94. package/components/table/table.yaml +9 -1
  95. package/components/table-toolbar/table-toolbar.a2ui.json +67 -2
  96. package/components/table-toolbar/table-toolbar.class.js +492 -17
  97. package/components/table-toolbar/table-toolbar.css +311 -0
  98. package/components/table-toolbar/table-toolbar.d.ts +17 -1
  99. package/components/table-toolbar/table-toolbar.yaml +220 -15
  100. package/components/tag/tag.class.js +13 -1
  101. package/components/text/text.a2ui.json +3 -3
  102. package/components/text/text.d.ts +5 -3
  103. package/components/text/text.yaml +3 -3
  104. package/components/textarea/textarea.class.js +9 -1
  105. package/components/textarea/textarea.css +4 -0
  106. package/components/time-picker/time-picker.yaml +3 -2
  107. package/components/tour/tour.d.ts +10 -0
  108. package/components/tree/tree.yaml +1 -1
  109. package/components/upload/upload.class.js +16 -0
  110. package/components/upload/upload.d.ts +7 -0
  111. package/components/upload/upload.yaml +7 -3
  112. package/core/a11y.d.ts +22 -0
  113. package/core/a11y.js +64 -0
  114. package/core/anchor.js +9 -5
  115. package/core/element.js +1 -1
  116. package/core/icons.js +2 -5
  117. package/custom-elements.json +142 -594
  118. package/dist/host.min.css +1 -1
  119. package/dist/host.sheet.js +1 -1
  120. package/dist/theme-provider.min.js +1 -1
  121. package/dist/web-components.min.css +1 -1
  122. package/dist/web-components.min.js +122 -119
  123. package/dist/web-components.sheet.js +1 -1
  124. package/index.d.ts +0 -15
  125. package/package.json +1 -1
  126. package/patterns/access-requests/access-requests.examples.html +1 -1
  127. package/patterns/admin-keys-and-export/admin-keys-and-export.examples.html +7 -7
  128. package/patterns/agent-cost/agent-cost.examples.html +6 -6
  129. package/patterns/agent-memory/agent-memory.examples.html +3 -3
  130. package/patterns/agent-prompt-library/agent-prompt-library.examples.html +8 -8
  131. package/patterns/agent-tool-call/agent-tool-call.examples.html +1 -1
  132. package/patterns/approvals/approvals.examples.html +6 -6
  133. package/patterns/audit-log/audit-log.examples.html +1 -1
  134. package/patterns/bulk-action-toolbar/bulk-action-toolbar.examples.html +4 -4
  135. package/patterns/chart-in-card/chart-in-card.examples.html +124 -10
  136. package/patterns/chart-in-card/chart-in-card.examples.js +37 -0
  137. package/patterns/comments-and-collaboration/comments-and-collaboration.examples.html +5 -5
  138. package/patterns/conversion-funnel/conversion-funnel.html +2 -2
  139. package/patterns/data-tables-inline-edit-and-tree/data-tables-inline-edit-and-tree.examples.html +2 -2
  140. package/patterns/diff-review/diff-review.examples.html +6 -6
  141. package/patterns/editor-shell/editor-shell.examples.html +3 -3
  142. package/patterns/export-flow/export-flow.examples.html +2 -2
  143. package/patterns/filter-bar/filter-bar.examples.html +2 -2
  144. package/patterns/forms-conditional-and-autocomplete/forms-conditional-and-autocomplete.examples.html +2 -2
  145. package/patterns/inline-dialog/inline-dialog.examples.html +2 -2
  146. package/patterns/marketing-engagement/marketing-engagement.examples.html +4 -4
  147. package/patterns/notifications-bell-and-digest/notifications-bell-and-digest.examples.html +1 -1
  148. package/patterns/permissions-matrix/permissions-matrix.examples.html +1 -1
  149. package/patterns/permissions-sharing/permissions-sharing.examples.html +2 -2
  150. package/patterns/profile-public-and-verification/profile-public-and-verification.examples.html +4 -4
  151. package/patterns/search-discovery/search-discovery.examples.html +2 -2
  152. package/styles/colors/semantics/features.css +8 -1
  153. package/styles/components.css +0 -4
  154. package/styles/type/roles.css +29 -9
  155. package/traits/arrow-grid-nav/arrow-grid-nav.js +1 -1
  156. package/traits/resize-observer/resize-observer.js +1 -1
  157. package/components/color-picker/color-picker.a2ui.json +0 -148
  158. package/components/color-picker/color-picker.class.js +0 -46
  159. package/components/color-picker/color-picker.css +0 -14
  160. package/components/color-picker/color-picker.d.ts +0 -99
  161. package/components/color-picker/color-picker.examples.md +0 -19
  162. package/components/color-picker/color-picker.js +0 -17
  163. package/components/color-picker/color-picker.yaml +0 -175
  164. package/components/datetime-picker/datetime-picker.a2ui.json +0 -256
  165. package/components/datetime-picker/datetime-picker.class.js +0 -58
  166. package/components/datetime-picker/datetime-picker.css +0 -11
  167. package/components/datetime-picker/datetime-picker.d.ts +0 -87
  168. package/components/datetime-picker/datetime-picker.examples.md +0 -25
  169. package/components/datetime-picker/datetime-picker.js +0 -17
  170. package/components/datetime-picker/datetime-picker.yaml +0 -254
  171. package/components/progress-row/progress-row.a2ui.json +0 -107
  172. package/components/progress-row/progress-row.class.js +0 -118
  173. package/components/progress-row/progress-row.css +0 -60
  174. package/components/progress-row/progress-row.d.ts +0 -24
  175. package/components/progress-row/progress-row.examples.md +0 -7
  176. package/components/progress-row/progress-row.js +0 -17
  177. package/components/progress-row/progress-row.yaml +0 -85
  178. package/components/toggle-group/toggle-group.a2ui.json +0 -148
  179. package/components/toggle-group/toggle-group.class.js +0 -195
  180. package/components/toggle-group/toggle-group.css +0 -127
  181. package/components/toggle-group/toggle-group.d.ts +0 -50
  182. package/components/toggle-group/toggle-group.examples.md +0 -33
  183. package/components/toggle-group/toggle-group.js +0 -18
  184. package/components/toggle-group/toggle-group.yaml +0 -135
  185. package/components/toggle-group/toggle-option.a2ui.json +0 -86
  186. package/components/toggle-group/toggle-option.yaml +0 -75
@@ -14,7 +14,7 @@
14
14
  <link rel="stylesheet" href="../../components/button/button.css">
15
15
  <link rel="stylesheet" href="../../components/card/card.css">
16
16
  <link rel="stylesheet" href="../../components/col/col.css">
17
- <link rel="stylesheet" href="../../components/progress-row/progress-row.css">
17
+ <link rel="stylesheet" href="../../components/progress/progress.css">
18
18
  <link rel="stylesheet" href="../../components/row/row.css">
19
19
  <link rel="stylesheet" href="../../components/segment/segment.css">
20
20
  <link rel="stylesheet" href="../../components/segmented/segmented.css">
@@ -26,7 +26,7 @@
26
26
  <script type="module" src="../../components/button/button.js"></script>
27
27
  <script type="module" src="../../components/card/card.js"></script>
28
28
  <script type="module" src="../../components/col/col.js"></script>
29
- <script type="module" src="../../components/progress-row/progress-row.js"></script>
29
+ <script type="module" src="../../components/progress/progress.js"></script>
30
30
  <script type="module" src="../../components/row/row.js"></script>
31
31
  <script type="module" src="../../components/segment/segment.js"></script>
32
32
  <script type="module" src="../../components/segmented/segmented.js"></script>
@@ -33,7 +33,7 @@
33
33
  <header>
34
34
  <span slot="heading" variant="section">Pricing matrix</span>
35
35
  <text-ui slot="description" color="subtle">12 rows · 1 unsaved</text-ui>
36
- <button-ui slot="action" text="Add row" variant="ghost" size="sm" icon-leading="plus"></button-ui>
36
+ <button-ui slot="action" text="Add row" variant="ghost" size="sm" icon="plus"></button-ui>
37
37
  </header>
38
38
  <section bleed>
39
39
  <!-- A real <table> in <table-ui frameless raw> (consumer-owns-body mode) gives
@@ -90,7 +90,7 @@
90
90
  <span slot="heading" variant="section">Inventory — Q4 forecast</span>
91
91
  <text-ui slot="description" color="subtle">Auto-saving · 3 cells dirty</text-ui>
92
92
  <row-ui slot="action" gap="2">
93
- <button-ui text="Undo" variant="ghost" size="sm" icon-leading="arrow-counter-clockwise"></button-ui>
93
+ <button-ui text="Undo" variant="ghost" size="sm" icon="arrow-counter-clockwise"></button-ui>
94
94
  <button-ui text="Save now" variant="primary" size="sm"></button-ui>
95
95
  </row-ui>
96
96
  </header>
@@ -109,22 +109,22 @@
109
109
  <dt>Workspace name</dt>
110
110
  <dd>
111
111
  <row-ui gap="2" align="center">
112
- <tag-ui variant="danger" icon-leading="minus">Adia</tag-ui>
113
- <tag-ui variant="success" icon-leading="plus">Adia AI</tag-ui>
112
+ <tag-ui variant="danger">Adia</tag-ui>
113
+ <tag-ui variant="success">Adia AI</tag-ui>
114
114
  </row-ui>
115
115
  </dd>
116
116
  <dt>Default theme</dt>
117
117
  <dd>
118
118
  <row-ui gap="2" align="center">
119
- <tag-ui variant="danger" icon-leading="minus">light</tag-ui>
120
- <tag-ui variant="success" icon-leading="plus">auto</tag-ui>
119
+ <tag-ui variant="danger">light</tag-ui>
120
+ <tag-ui variant="success">auto</tag-ui>
121
121
  </row-ui>
122
122
  </dd>
123
123
  <dt>Member invites</dt>
124
124
  <dd>
125
125
  <row-ui gap="2" align="center">
126
- <tag-ui variant="danger" icon-leading="minus">Admin only</tag-ui>
127
- <tag-ui variant="success" icon-leading="plus">Anyone with link</tag-ui>
126
+ <tag-ui variant="danger">Admin only</tag-ui>
127
+ <tag-ui variant="success">Anyone with link</tag-ui>
128
128
  </row-ui>
129
129
  </dd>
130
130
  </description-list-ui>
@@ -42,7 +42,7 @@
42
42
 
43
43
  &lt;!-- Leading sidebar — layer tree / outline / file browser --&gt;
44
44
  &lt;editor-sidebar slot="leading" collapsible persist="structure"&gt;
45
- &lt;pane-ui side="leading" resizable size="sm"&gt;
45
+ &lt;pane-ui edge="leading" resizable size="sm"&gt;
46
46
  &lt;header&gt;Layers&lt;/header&gt;
47
47
  &lt;section&gt;
48
48
  &lt;tree-ui&gt;...&lt;/tree-ui&gt;
@@ -67,7 +67,7 @@
67
67
 
68
68
  &lt;!-- Trailing sidebar (optional) — inspector / properties panel --&gt;
69
69
  &lt;editor-sidebar slot="trailing" collapsible persist="inspector"&gt;
70
- &lt;pane-ui side="trailing" resizable size="sm"&gt;
70
+ &lt;pane-ui edge="trailing" resizable size="sm"&gt;
71
71
  &lt;header&gt;Inspector&lt;/header&gt;
72
72
  &lt;section&gt;
73
73
  &lt;field-ui label="Width"&gt;&lt;input-ui type="number"&gt;&lt;/input-ui&gt;&lt;/field-ui&gt;
@@ -121,7 +121,7 @@
121
121
  <h2 variant="section">Authoring rules</h2>
122
122
  <ul>
123
123
  <li><strong>Cluster-namespaced children only.</strong> Inside <code>&lt;editor-shell&gt;</code>: <code>&lt;editor-toolbar&gt;</code>, <code>&lt;editor-sidebar&gt;</code>, <code>&lt;editor-canvas&gt;</code>, <code>&lt;editor-statusbar&gt;</code>. Don't author raw <code>&lt;header&gt;</code>, <code>&lt;footer&gt;</code>, <code>&lt;div data-editor-body&gt;</code>, <code>&lt;div data-canvas&gt;</code> — retired in v0.4.0.</li>
124
- <li><strong>Each sidebar wraps a <code>&lt;pane-ui&gt;</code>.</strong> The pane owns resize; the sidebar owns slot positioning + collapse + persist. <code>&lt;pane-ui side="leading|trailing"&gt;</code> is required so the resize handle lands on the correct edge.</li>
124
+ <li><strong>Each sidebar wraps a <code>&lt;pane-ui&gt;</code>.</strong> The pane owns resize; the sidebar owns slot positioning + collapse + persist. <code>&lt;pane-ui edge="leading|trailing"&gt;</code> is required so the resize handle lands on the correct edge.</li>
125
125
  <li><strong>Canvas reflects <code>[empty]</code>.</strong> Use <code>:has(editor-canvas[empty])</code> to style the shell differently when nothing's open.</li>
126
126
  <li><strong>Focus mode is one attribute.</strong> Setting <code>focus-mode</code> on the shell propagates to <code>[full-screen]</code> on the canvas and <code>[focused]</code> on the active sidebar — no JS coordination needed.</li>
127
127
  </ul>
@@ -45,7 +45,7 @@
45
45
  </section>
46
46
  <footer divider>
47
47
  <button-ui slot="action" text="Cancel" variant="ghost"></button-ui>
48
- <button-ui id="export-sync-submit" slot="action" text="Download CSV" variant="primary" icon-leading="download-simple"></button-ui>
48
+ <button-ui id="export-sync-submit" slot="action" text="Download CSV" variant="primary" icon="download-simple"></button-ui>
49
49
  </footer>
50
50
  </card-ui>
51
51
  </div>
@@ -134,7 +134,7 @@
134
134
  </section>
135
135
  <footer divider>
136
136
  <button-ui slot="action" text="Cancel" variant="ghost"></button-ui>
137
- <button-ui id="export-delivery-submit" slot="action" text="Download PDF" variant="primary" icon-leading="download-simple"></button-ui>
137
+ <button-ui id="export-delivery-submit" slot="action" text="Download PDF" variant="primary" icon="download-simple"></button-ui>
138
138
  </footer>
139
139
  </card-ui>
140
140
  </div>
@@ -35,7 +35,7 @@
35
35
  <span data-spacer></span>
36
36
  <button-ui text="Clear all" variant="ghost" size="sm"></button-ui>
37
37
  </row-ui>
38
- <popover-ui id="pat-filter-menu" anchor="previous">
38
+ <popover-ui id="pat-filter-menu">
39
39
  <action-list-ui>
40
40
  <action-item-ui icon="flag" text="Status" value="status"></action-item-ui>
41
41
  <action-item-ui icon="user" text="Owner" value="owner"></action-item-ui>
@@ -111,7 +111,7 @@
111
111
  &lt;button-ui text="Clear all" variant="ghost"&gt;&lt;/button-ui&gt;
112
112
  &lt;/row-ui&gt;
113
113
 
114
- &lt;popover-ui id="filter-menu" anchor="previous"&gt;
114
+ &lt;popover-ui id="filter-menu"&gt;
115
115
  &lt;action-list-ui&gt;...facets...&lt;/action-list-ui&gt;
116
116
  &lt;/popover-ui&gt;</code-ui>
117
117
  </section>
@@ -81,7 +81,7 @@
81
81
  <section>
82
82
  <col-ui gap="2">
83
83
  <field-ui label="Search address" hint="Start typing — we'll suggest matches">
84
- <input-ui name="address_query" placeholder="123 Main St" icon-leading="map-pin" value="500 market"></input-ui>
84
+ <input-ui name="address_query" placeholder="123 Main St" prefix="map-pin" value="500 market"></input-ui>
85
85
  </field-ui>
86
86
  <card-ui raw style="max-width: 100%;" data-shape="popover">
87
87
  <section>
@@ -133,7 +133,7 @@
133
133
  data-chunk-keywords="address fields street apt suite city state zip postal form expanded manual billing shipping layout" style="max-width: 560px;">
134
134
  <header>
135
135
  <span slot="heading" variant="section">Address details</span>
136
- <button-ui slot="action" text="Search again" variant="ghost" size="sm" icon-leading="arrow-counter-clockwise"></button-ui>
136
+ <button-ui slot="action" text="Search again" variant="ghost" size="sm" icon="arrow-counter-clockwise"></button-ui>
137
137
  </header>
138
138
  <section>
139
139
  <col-ui gap="3">
@@ -25,7 +25,7 @@
25
25
  data-chunk-domain="overlay"
26
26
  data-chunk-description="Inline rename popover — a Rename trigger opens an anchored mini-dialog card with a new-name input and Cancel / Save actions; no modal needed for a one-field edit."
27
27
  data-chunk-keywords="inline dialog rename popover anchored file name input save cancel mini one-field edit quick" placement="bottom-start">
28
- <button-ui slot="trigger" text="Rename" variant="ghost" size="sm" icon-leading="pencil-simple"></button-ui>
28
+ <button-ui slot="trigger" text="Rename" variant="ghost" size="sm" icon="pencil-simple"></button-ui>
29
29
  <card-ui slot="content" style="min-width: 320px;">
30
30
  <header>
31
31
  <span slot="heading" variant="section">Rename file</span>
@@ -120,7 +120,7 @@
120
120
  </section>
121
121
  <footer divider>
122
122
  <button-ui slot="action" text="Cancel" variant="ghost" data-popover-close></button-ui>
123
- <button-ui slot="action" text="Schedule" variant="primary" icon-leading="clock"></button-ui>
123
+ <button-ui slot="action" text="Schedule" variant="primary" icon="clock"></button-ui>
124
124
  </footer>
125
125
  </card-ui>
126
126
  </popover-ui>
@@ -100,11 +100,11 @@
100
100
  <section>
101
101
  <col-ui gap="3">
102
102
  <field-ui label="Your referral link">
103
- <input-ui name="referral_url" value="adia.ai/r/kim-A4F92" readonly icon-trailing="copy"></input-ui>
103
+ <input-ui name="referral_url" value="adia.ai/r/kim-A4F92" readonly suffix="copy"></input-ui>
104
104
  </field-ui>
105
105
  <row-ui gap="2">
106
- <button-ui text="Copy link" variant="primary" icon-leading="copy"></button-ui>
107
- <button-ui text="Email" variant="ghost" icon-leading="envelope"></button-ui>
106
+ <button-ui text="Copy link" variant="primary" icon="copy"></button-ui>
107
+ <button-ui text="Email" variant="ghost" icon="envelope"></button-ui>
108
108
  <button-ui text="X" variant="ghost"></button-ui>
109
109
  <button-ui text="LinkedIn" variant="ghost"></button-ui>
110
110
  </row-ui>
@@ -265,7 +265,7 @@
265
265
  </section>
266
266
  <footer divider>
267
267
  <button-ui slot="action" text="Keep going" variant="ghost"></button-ui>
268
- <button-ui slot="action" text="Share" variant="primary" icon-leading="share-network"></button-ui>
268
+ <button-ui slot="action" text="Share" variant="primary" icon="share-network"></button-ui>
269
269
  </footer>
270
270
  </card-ui>
271
271
  </div>
@@ -138,7 +138,7 @@
138
138
  <header>
139
139
  <span slot="heading" variant="section">Weekly digest preview</span>
140
140
  <text-ui slot="description" color="subtle">This is what your Monday morning email will contain</text-ui>
141
- <button-ui slot="action" text="Send test" variant="ghost" size="sm" icon-leading="paper-plane-tilt"></button-ui>
141
+ <button-ui slot="action" text="Send test" variant="ghost" size="sm" icon="paper-plane-tilt"></button-ui>
142
142
  </header>
143
143
  <section>
144
144
  <col-ui gap="4">
@@ -30,7 +30,7 @@
30
30
  <header>
31
31
  <span slot="heading" variant="section">Permissions</span>
32
32
  <text-ui slot="description" color="subtle">Changes save automatically</text-ui>
33
- <button-ui slot="action" text="Add custom role" variant="ghost" size="sm" icon-leading="plus"></button-ui>
33
+ <button-ui slot="action" text="Add custom role" variant="ghost" size="sm" icon="plus"></button-ui>
34
34
  </header>
35
35
  <section bleed>
36
36
  <table-ui frameless id="pat-perm-matrix"></table-ui>
@@ -59,7 +59,7 @@
59
59
  <col-ui gap="3">
60
60
  <row-ui gap="2" align="center">
61
61
  <input-ui readonly value="https://acme.app/d/8421-revenue-q2" style="flex: 1;"></input-ui>
62
- <button-ui text="Copy" variant="primary" icon-leading="copy"></button-ui>
62
+ <button-ui text="Copy" variant="primary" icon="copy"></button-ui>
63
63
  </row-ui>
64
64
  <row-ui gap="3" align="center">
65
65
  <field-ui label="Expires" inline>
@@ -88,7 +88,7 @@
88
88
  </col-ui>
89
89
  </section>
90
90
  <footer divider>
91
- <button-ui slot="action" text="Revoke link" variant="ghost" color="danger" size="sm" icon-leading="x"></button-ui>
91
+ <button-ui slot="action" text="Revoke link" variant="ghost" color="danger" size="sm" icon="x"></button-ui>
92
92
  </footer>
93
93
  </card-ui>
94
94
  </div>
@@ -38,13 +38,13 @@
38
38
  <col-ui gap="1" grow>
39
39
  <row-ui gap="2" align="center">
40
40
  <text-ui strong size="lg">Kim Granlund</text-ui>
41
- <tag-ui variant="primary" icon-leading="seal-check">Verified</tag-ui>
41
+ <tag-ui variant="primary">Verified</tag-ui>
42
42
  </row-ui>
43
43
  <text-ui color="subtle">Founder · AdiaUI · Reykjavík, IS</text-ui>
44
44
  <text-ui>Building the AdiaUI web-components library and the A2UI generative-UI runtime. Previously at Construct, before that at Modular.</text-ui>
45
45
  <row-ui gap="2" style="margin-top: 0.5rem;">
46
46
  <button-ui text="Follow" variant="primary" size="sm"></button-ui>
47
- <button-ui text="Message" variant="ghost" size="sm" icon-leading="chat-circle"></button-ui>
47
+ <button-ui text="Message" variant="ghost" size="sm" icon="chat-circle"></button-ui>
48
48
  <button-ui icon="dots-three" variant="ghost" size="sm" aria-label="More"></button-ui>
49
49
  </row-ui>
50
50
  </col-ui>
@@ -178,7 +178,7 @@
178
178
  <header>
179
179
  <span slot="heading" variant="section">
180
180
  You're verified
181
- <tag-ui variant="primary" icon-leading="seal-check">Verified</tag-ui>
181
+ <tag-ui variant="primary">Verified</tag-ui>
182
182
  </span>
183
183
  </header>
184
184
  <section>
@@ -205,7 +205,7 @@
205
205
  </alert-ui>
206
206
  </section>
207
207
  <footer divider>
208
- <button-ui slot="action" text="Try again" variant="primary" icon-leading="arrow-counter-clockwise"></button-ui>
208
+ <button-ui slot="action" text="Try again" variant="primary" icon="arrow-counter-clockwise"></button-ui>
209
209
  <button-ui slot="action" text="Contact support" variant="ghost"></button-ui>
210
210
  </footer>
211
211
  </card-ui>
@@ -169,7 +169,7 @@
169
169
  </list-ui>
170
170
  </section>
171
171
  <footer divider>
172
- <button-ui slot="action" text="Clear all recents" variant="ghost" size="sm" icon-leading="trash"></button-ui>
172
+ <button-ui slot="action" text="Clear all recents" variant="ghost" size="sm" icon="trash"></button-ui>
173
173
  </footer>
174
174
  </card-ui>
175
175
  </div>
@@ -188,7 +188,7 @@
188
188
  <header>
189
189
  <span slot="heading" variant="section">Saved views</span>
190
190
  <text-ui slot="description" color="subtle">5 views · last edited 2 days ago</text-ui>
191
- <button-ui slot="action" text="Save current view" variant="primary" size="sm" icon-leading="bookmark-simple"></button-ui>
191
+ <button-ui slot="action" text="Save current view" variant="primary" size="sm" icon="bookmark-simple"></button-ui>
192
192
  </header>
193
193
  <section bleed>
194
194
  <list-ui divider contained>
@@ -60,7 +60,14 @@
60
60
  --a-ui-bg-hover: var(--a-canvas-0-scrim);
61
61
  --a-ui-bg-active: var(--a-canvas-0);
62
62
  --a-ui-bg-selected: var(--a-bg-selected);
63
- --a-ui-bg-disabled: var(--a-canvas-1);
63
+ /* gh#1596 (2026-08-17): was --a-canvas-1 (a surface-ladder tint) — a
64
+ disabled filled control (button/input/textarea/otp-input/upload/tag,
65
+ each via their own --<component>-bg-disabled indirection below) still
66
+ read as a "dimmed active control" rather than inert. Container-low is
67
+ the same 10%-tint role --a-bg-hover/--a-bg-muted already use for
68
+ rest-state de-emphasis (semantics/core.css) — disabled rides that same
69
+ ladder instead of a one-off surface tint. */
70
+ --a-ui-bg-disabled: var(--md-sys-color-neutral-container-low);
64
71
  --a-ui-bg-invalid: var(--a-danger-muted);
65
72
 
66
73
  --a-ui-text: var(--a-fg-strong);
@@ -43,7 +43,6 @@
43
43
  @import "../components/breadcrumb/breadcrumb.css";
44
44
  @import "../components/command/command.css";
45
45
  @import "../components/color-area/color-area.css";
46
- @import "../components/color-picker/color-picker.css";
47
46
  @import "../components/color-input/color-input.css";
48
47
  @import "../components/noodles/noodles.css";
49
48
  @import "../components/table/table.css";
@@ -101,16 +100,13 @@
101
100
  @import "../components/image/image.css";
102
101
  @import "../components/search/search.css";
103
102
  @import "../components/stat/stat.css";
104
- @import "../components/progress-row/progress-row.css";
105
103
  @import "../components/action-list/action-list.css";
106
104
  @import "../components/empty-state/empty-state.css";
107
105
  @import "../components/calendar-grid/calendar-grid.css";
108
106
  @import "../components/calendar-picker/calendar-picker.css";
109
- @import "../components/datetime-picker/datetime-picker.css";
110
107
  @import "../components/embed/embed.css";
111
108
  @import "../components/block/block.css";
112
109
  @import "../components/text/text.css";
113
- @import "../components/toggle-group/toggle-group.css";
114
110
  @import "../components/toggle-scheme/toggle-scheme.css";
115
111
  @import "../components/demo-toggle/demo-toggle.css";
116
112
  @import "../components/richtext/richtext.css";
@@ -67,9 +67,17 @@
67
67
  ORIENT — tell the reader where they are
68
68
  ────────────────────────────────────── */
69
69
 
70
- /* kicker — short label above a title (eyebrow/overline) */
71
- --a-kicker-family: var(--a-font-family-ui);
72
- --a-kicker-weight: var(--a-weight-semibold);
70
+ /* kicker — short label above a title (eyebrow/overline)
71
+ gh#1718: mono stack at regular (400) weight — operator-ruled
72
+ component-level change (was UI-sans / semibold). Applies wherever
73
+ the [variant="kicker"] global attribute grammar reads this token
74
+ (styles/type/roles.css's own @layer utilities block below) —
75
+ text-ui, menu-ui's group-header kicker styling, and any other
76
+ variant="kicker" consumer, since the L3 role token is the single
77
+ shared source of truth for this role (roles.css §"[variant]
78
+ attribute API"). */
79
+ --a-kicker-family: var(--a-font-family-code);
80
+ --a-kicker-weight: var(--a-weight-normal);
73
81
  --a-kicker-sm: 11px;
74
82
  --a-kicker-md: 12px;
75
83
  --a-kicker-lg: 13px;
@@ -81,9 +89,13 @@
81
89
  --a-kicker-mbs: 0;
82
90
  --a-kicker-mbe: 0.5em;
83
91
 
84
- /* label — UI labels, form fields, badges, tabs */
85
- --a-label-family: var(--a-font-family-ui);
86
- --a-label-weight: var(--a-weight-medium);
92
+ /* label — UI labels, form fields, badges, tabs
93
+ gh#1718: mono stack at regular (400) weight — operator-ruled
94
+ component-level change (was UI-sans / medium). Shared L3 token —
95
+ see the kicker note above on why this reaches every
96
+ [variant="label"] consumer, not text-ui alone. */
97
+ --a-label-family: var(--a-font-family-code);
98
+ --a-label-weight: var(--a-weight-normal);
87
99
  --a-label-sm: 11px;
88
100
  --a-label-md: 12px;
89
101
  --a-label-lg: 13px;
@@ -131,9 +143,17 @@
131
143
  DIVIDE — break flow into chunks
132
144
  ────────────────────────────────────── */
133
145
 
134
- /* section — h2/h3, major division within content */
135
- --a-section-family: var(--a-font-family-heading);
136
- --a-section-weight: var(--a-weight-semibold);
146
+ /* section — h2/h3, major division within content
147
+ gh#1718: mono stack like kicker, but at 500 weight — operator-ruled
148
+ component-level change (was heading-family / semibold). Shared L3
149
+ token — also reaches richtext-ui's h2 weight (richtext.css aliases
150
+ --richtext-h2-weight to this token) via the same single-source
151
+ design; nav/nav-item/nav-group's OWN [variant="section"] is
152
+ structural, not typographic, and is already excluded from this
153
+ token's global attribute rule (roles.css's [variant="section"]
154
+ utility, `:not(nav-ui, nav-item-ui, nav-group-ui)`). */
155
+ --a-section-family: var(--a-font-family-code);
156
+ --a-section-weight: var(--a-weight-medium);
137
157
  --a-section-sm: 16px;
138
158
  --a-section-md: 17px;
139
159
  --a-section-lg: 19px;
@@ -27,7 +27,7 @@ export const arrowGridNav = defineTrait({
27
27
  attributes: ['data-arrow-grid-nav-active', 'data-grid-active-row', 'data-grid-active-col'],
28
28
  events: ['grid-activate', 'grid-edge', 'grid-cell-change'],
29
29
  config: ['data-grid-columns', 'data-grid-mode'],
30
- prefixes: ['grid'], // ADR-0060 — grandfathered; grazes chart/heatmap's bare `data-grid` anatomy marker (burn-down, not a fail)
30
+ prefixes: ['grid'], // ADR-0060 — grandfathered; the historical `data-grid` graze (admin-shell's layout helper) was renamed away at the 0.9.0 rename-wave cut (docs/ops/plan/plan-090-rename-wave.md W3, gh#1562) KNOWN_GRAZING_PAIRS is now empty
31
31
  setup({ host }) {
32
32
  let activeRow = 0;
33
33
  let activeCol = 0;
@@ -7,7 +7,7 @@ export const resizeObserver = defineTrait({
7
7
  attributes: ['data-resize-observer-observed', 'data-resize-width', 'data-resize-height'],
8
8
  events: ['element-resize'],
9
9
  config: [],
10
- prefixes: ['resize'], // ADR-0060 — grandfathered; grazes shells' bare `data-resize` drag handle + table's `data-resize-handle` (burn-down, not a fail)
10
+ prefixes: ['resize'], // ADR-0060 — grandfathered; table's `data-resize-handle` graze was renamed away in gh#1332, and shells' `data-resize` graze was renamed away at the 0.9.0 rename-wave cut (docs/ops/plan/plan-090-rename-wave.md W3, gh#1562) KNOWN_GRAZING_PAIRS is now empty
11
11
  setup({ host }) {
12
12
  // Guard for older browsers + non-DOM test environments (happy-dom, jsdom
13
13
  // without polyfill). The trait becomes a no-op rather than throwing on
@@ -1,148 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://adiaui.dev/a2ui/v0_9/components/ColorPicker.json",
4
- "title": "ColorPicker",
5
- "description": "DEPRECATED (ADR-0063, gh#1563, gh#1377 B11) — `-picker` is reserved for the outer, trigger + popover, form-associated composite shape (`calendar-picker-ui` / `date-range-picker-ui` / `datetime-picker-ui` / `time-picker-ui`); `color-picker-ui` was the sole violator, playing `calendar-grid-ui`'s inline-substrate role under a `-picker` name. `<color-picker-ui>` is now a thin `UIColorArea` subclass (see color-picker.class.js) rather than an independent implementation — every prop/event/token is inherited unchanged from `<color-area-ui>`. Existing markup keeps working, but new markup should reach for `<color-area-ui>` directly. See `<color-area-ui>` for the full contract.",
6
- "type": "object",
7
- "allOf": [
8
- {
9
- "$ref": "common_types.json#/$defs/ComponentCommon"
10
- },
11
- {
12
- "$ref": "common_types.json#/$defs/CatalogComponentCommon"
13
- }
14
- ],
15
- "properties": {
16
- "baseHue": {
17
- "description": "Reference hue (degrees) for the [hue-drift-max] constraint. Default\nNaN — falls back to the picker's hue at first commit so the consumer\ncan pre-seed the picker and constrain drift from that initial value.\n",
18
- "type": "number",
19
- "default": "NaN"
20
- },
21
- "component": {
22
- "const": "ColorPicker"
23
- },
24
- "disabled": {
25
- "description": "Disables all interaction",
26
- "type": "boolean",
27
- "default": false
28
- },
29
- "format": {
30
- "description": "Output format for the value property",
31
- "type": "string",
32
- "enum": [
33
- "hex",
34
- "oklch"
35
- ],
36
- "default": "hex"
37
- },
38
- "hueDriftMax": {
39
- "description": "Generation constraint — maximum allowed signed-shortest-path hue\ndeviation (degrees) from [base-hue] (or the first-committed hue\nif [base-hue] is unset). Default NaN (no constraint). Wrap-aware\nso a drift of 350 degrees resolves as -10.\n",
40
- "type": "number",
41
- "default": "NaN"
42
- },
43
- "maxChroma": {
44
- "description": "Generation constraint (v0.4.9 §99h, FEEDBACK-02 #7) — clamp the\nOKLCH chroma channel to at most this value before commit. Out-of-\nbound mutations round-trip to the nearest in-bound equivalent +\nfire `constraint-clamp`. Default Infinity (no constraint).\n",
45
- "type": "number",
46
- "default": "Infinity"
47
- },
48
- "maxL": {
49
- "description": "Generation constraint — clamp OKLCH lightness to at most this value (0..1). Default 1 (no constraint).",
50
- "type": "number",
51
- "default": 1
52
- },
53
- "minL": {
54
- "description": "Generation constraint — clamp OKLCH lightness to at least this value (0..1). Default 0 (no constraint).",
55
- "type": "number",
56
- "default": 0
57
- },
58
- "name": {
59
- "description": "Form field name",
60
- "type": "string",
61
- "default": ""
62
- },
63
- "value": {
64
- "description": "Current color as hex string",
65
- "type": "string",
66
- "default": "#3b82f6"
67
- }
68
- },
69
- "required": [
70
- "component"
71
- ],
72
- "unevaluatedProperties": false,
73
- "x-adiaui": {
74
- "anti_patterns": [
75
- {
76
- "fix": "{\"component\": \"ColorArea\", \"name\": \"brand\"}\n",
77
- "why": "ColorPicker is deprecated (ADR-0063, gh#1563) — new generation should\nreach for ColorArea instead.\n",
78
- "wrong": "{\"component\": \"ColorPicker\", \"name\": \"brand\"}\n"
79
- }
80
- ],
81
- "category": "input",
82
- "composes": [
83
- "slider-ui"
84
- ],
85
- "events": {
86
- "change": {
87
- "description": "Fired on every color change"
88
- },
89
- "constraint-clamp": {
90
- "description": "Fired immediately before `change` / `input` when one or more\nconsumer-declared constraints (max-chroma / max-l / min-l /\nhue-drift-max) clamped a channel away from the user-requested\nvalue. detail.clamps is an array of axis-specific clamp records.\n",
91
- "detail": {
92
- "clamps": {
93
- "description": "Array of `{ axis, requested, clamped, reason }` objects. axis is\none of \"l\" / \"c\" / \"h\". reason names the triggering constraint\nprop. Empty arrays are never emitted.\n",
94
- "type": "array"
95
- }
96
- }
97
- },
98
- "input": {
99
- "description": "Fired during continuous interaction (drag)"
100
- }
101
- },
102
- "examples": [
103
- {
104
- "description": "Deprecated tag — prefer ColorArea's own \"color-area-demo\" example for NEW markup.",
105
- "a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"sec\"\n ]\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \"cp\"\n ]\n },\n {\n \"id\": \"cp\",\n \"component\": \"ColorPicker\",\n \"value\": \"#3b82f6\"\n }\n]",
106
- "name": "color-picker-legacy"
107
- }
108
- ],
109
- "keywords": [
110
- "colorpicker",
111
- "color-picker",
112
- "color",
113
- "picker"
114
- ],
115
- "name": "UIColorPicker",
116
- "parts": {},
117
- "related": [
118
- "color-area",
119
- "grid",
120
- "button"
121
- ],
122
- "slots": {},
123
- "states": [
124
- {
125
- "description": "Default, ready for interaction.",
126
- "name": "idle"
127
- },
128
- {
129
- "description": "Non-interactive; dimmed.",
130
- "attribute": "disabled",
131
- "name": "disabled"
132
- }
133
- ],
134
- "status": "deprecated",
135
- "synonyms": {
136
- "color-picker": [
137
- "color-canvas",
138
- "color-surface",
139
- "swatch-picker",
140
- "color-area"
141
- ]
142
- },
143
- "tag": "color-picker-ui",
144
- "tokens": {},
145
- "traits": [],
146
- "version": 2
147
- }
148
- }
@@ -1,46 +0,0 @@
1
- /**
2
- * Non-side-effect class export for `<color-picker-ui>`.
3
- *
4
- * Importing this file gives you the class without auto-registering the tag.
5
- * Useful for test isolation, subclassing with tag-name override, or selective
6
- * composition.
7
- *
8
- * The auto-register path stays at `@adia-ai/web-components/components/color-picker`
9
- * (which imports this file + calls `defineIfFree()`).
10
- *
11
- * @see ../../USAGE.md#registration--auto-vs-explicit
12
- */
13
-
14
- /**
15
- * <color-picker-ui> — DEPRECATED (ADR-0063, gh#1563, gh#1377 B11).
16
- *
17
- * `-picker` is reserved for the outer, trigger + popover, form-associated
18
- * composite shape (`calendar-picker-ui` / `date-range-picker-ui` /
19
- * `datetime-picker-ui` / `time-picker-ui`) — `color-picker-ui` was the sole
20
- * violator, playing `calendar-grid-ui`'s inline-substrate role under a
21
- * `-picker` name. The real implementation moved to `<color-area-ui>`
22
- * (mirrors `calendar-grid-ui`'s own plain, shape-describing substrate
23
- * naming). `<color-picker-ui>` is now a thin compatibility alias per
24
- * ADR-0057's `status: deprecated` shape (same pattern as
25
- * `<datetime-picker-ui>` → `<calendar-picker-ui>`, gh#1372): it subclasses
26
- * `UIColorArea` directly rather than re-implementing any behavior.
27
- *
28
- * Migrate: `<color-picker-ui>` → `<color-area-ui>`. This tag keeps
29
- * working — it IS `<color-area-ui>` under the hood — but will be removed
30
- * in a future major; new markup should reach for `<color-area-ui>`
31
- * directly.
32
- *
33
- * @see ../color-area/color-area.class.js
34
- */
35
-
36
- import { UIColorArea } from '../color-area/color-area.class.js';
37
-
38
- export class UIColorPicker extends UIColorArea {
39
- // Same value as UIColorArea's — the alias stamps no icon of its own —
40
- // but restated literally because scripts/release/check-required-icons.mjs
41
- // text-scans each component's own class.js and cannot resolve inheritance
42
- // (gh#1503, same rationale datetime-picker.class.js documents).
43
- static requiredIcons = ['copy', 'check', 'warning'];
44
-
45
- static properties = { ...UIColorArea.properties };
46
- }
@@ -1,14 +0,0 @@
1
- /* `<color-picker-ui>` is DEPRECATED (ADR-0063, gh#1563) — a thin
2
- * `UIColorArea` subclass (see color-picker.class.js), never its own
3
- * independent implementation. Its visual contract lives entirely in
4
- * ../color-area/color-area.css, whose `@scope (color-area-ui,
5
- * color-picker-ui)` root and `:is(color-area-ui, color-picker-ui)`
6
- * selectors already cover this tag — one styling source, not two files
7
- * drifting apart (`@scope` matches by literal tag name, not JS prototype
8
- * chain, so the alias tag has to be named in that scope root explicitly —
9
- * same shape as calendar-picker.css's own `datetime-picker-ui` alias
10
- * coverage). This file intentionally carries no rules of its own;
11
- * `packages/web-components/styles/components.css` still imports it so the
12
- * barrel's per-component import list stays complete and mechanical (no
13
- * special-cased skip for a deprecated-but-still-shipping tag).
14
- */