@adia-ai/web-components 0.8.9 → 0.8.11

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 (89) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/MIGRATION.md +58 -0
  3. package/USAGE.md +5 -7
  4. package/components/adia-mark/adia-mark.a2ui.json +6 -6
  5. package/components/adia-mark/adia-mark.class.js +1 -1
  6. package/components/adia-mark/adia-mark.css +3 -4
  7. package/components/adia-mark/adia-mark.d.ts +1 -1
  8. package/components/adia-mark/adia-mark.examples.md +0 -2
  9. package/components/adia-mark/adia-mark.test.js +3 -3
  10. package/components/adia-mark/adia-mark.yaml +5 -4
  11. package/components/adia-wordmark/adia-wordmark.a2ui.json +108 -0
  12. package/components/adia-wordmark/adia-wordmark.class.js +60 -0
  13. package/components/adia-wordmark/adia-wordmark.css +45 -0
  14. package/components/adia-wordmark/adia-wordmark.d.ts +20 -0
  15. package/components/adia-wordmark/adia-wordmark.examples.md +23 -0
  16. package/components/adia-wordmark/adia-wordmark.js +17 -0
  17. package/components/adia-wordmark/adia-wordmark.test.js +69 -0
  18. package/components/adia-wordmark/adia-wordmark.yaml +102 -0
  19. package/components/avatar/avatar-group.a2ui.json +1 -1
  20. package/components/avatar/avatar-group.yaml +1 -1
  21. package/components/avatar/avatar.a2ui.json +2 -4
  22. package/components/avatar/avatar.css +16 -12
  23. package/components/avatar/avatar.d.ts +3 -3
  24. package/components/avatar/avatar.examples.md +1 -1
  25. package/components/avatar/avatar.yaml +1 -3
  26. package/components/badge/badge.a2ui.json +2 -4
  27. package/components/badge/badge.d.ts +2 -2
  28. package/components/badge/badge.yaml +1 -3
  29. package/components/button/button.a2ui.json +2 -4
  30. package/components/button/button.d.ts +2 -2
  31. package/components/button/button.yaml +1 -3
  32. package/components/calendar-grid/calendar-grid.class.js +44 -27
  33. package/components/calendar-grid/calendar-grid.css +1 -1
  34. package/components/calendar-picker/calendar-picker.class.js +2 -2
  35. package/components/calendar-picker/calendar-picker.css +1 -1
  36. package/components/card/card.css +1 -1
  37. package/components/chat-thread/chat-input.css +1 -1
  38. package/components/combobox/combobox.class.js +1 -1
  39. package/components/combobox/combobox.css +1 -1
  40. package/components/icon/icon.a2ui.json +1 -1
  41. package/components/icon/icon.class.js +5 -5
  42. package/components/icon/icon.css +7 -15
  43. package/components/icon/icon.d.ts +1 -1
  44. package/components/icon/icon.examples.md +1 -1
  45. package/components/icon/icon.yaml +10 -10
  46. package/components/index.js +1 -0
  47. package/components/input/input.class.js +2 -2
  48. package/components/modal/modal.a2ui.json +2 -3
  49. package/components/modal/modal.d.ts +2 -2
  50. package/components/modal/modal.yaml +1 -2
  51. package/components/select/select.class.js +4 -4
  52. package/components/select/select.css +12 -3
  53. package/components/swatch/swatch.css +1 -1
  54. package/components/switch/switch.a2ui.json +2 -4
  55. package/components/switch/switch.yaml +1 -3
  56. package/components/table/table.yaml +9 -3
  57. package/components/tag/tag.a2ui.json +2 -1
  58. package/components/tag/tag.class.js +1 -1
  59. package/components/tag/tag.css +31 -5
  60. package/components/tag/tag.d.ts +2 -2
  61. package/components/tag/tag.yaml +5 -1
  62. package/components/theme-provider/theme-provider.a2ui.json +11 -1
  63. package/components/theme-provider/theme-provider.class.js +27 -7
  64. package/components/theme-provider/theme-provider.d.ts +2 -2
  65. package/components/theme-provider/theme-provider.yaml +10 -1
  66. package/components/timeline/timeline.css +1 -1
  67. package/components/toggle-scheme/toggle-scheme.a2ui.json +2 -4
  68. package/components/toggle-scheme/toggle-scheme.d.ts +2 -2
  69. package/components/toggle-scheme/toggle-scheme.yaml +1 -3
  70. package/dist/host.min.css +1 -1
  71. package/dist/host.sheet.js +1 -1
  72. package/dist/scale.min.css +1 -0
  73. package/dist/scale.sheet.js +11 -0
  74. package/dist/theme-provider.min.js +8 -8
  75. package/dist/web-components.min.css +1 -1
  76. package/dist/web-components.min.js +94 -86
  77. package/dist/web-components.sheet.js +1 -1
  78. package/package.json +1 -1
  79. package/patterns/comments-and-collaboration/comments-and-collaboration.examples.html +4 -4
  80. package/patterns/kanban-board/kanban-board.examples.html +8 -8
  81. package/patterns/notifications-bell-and-digest/notifications-bell-and-digest.examples.html +2 -2
  82. package/patterns/profile-public-and-verification/profile-public-and-verification.examples.html +1 -1
  83. package/patterns/search-discovery/search-discovery.examples.html +4 -4
  84. package/styles/colors/semantics/aliases.css +16 -3
  85. package/styles/colors/semantics/features.css +10 -0
  86. package/styles/components.css +1 -0
  87. package/styles/prose.css +4 -0
  88. package/styles/scale.css +683 -0
  89. package/styles/verse.css +4 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adia-ai/web-components",
3
- "version": "0.8.9",
3
+ "version": "0.8.11",
4
4
  "description": "AdiaUI web components \u2014 vanilla custom elements. A2UI runtime (renderer, registry, streams, wiring) lives in @adia-ai/a2ui-runtime.",
5
5
  "type": "module",
6
6
  "types": "./index.d.ts",
@@ -43,7 +43,7 @@
43
43
  <row-ui gap="1">
44
44
  <tag-ui size="sm" icon-leading="thumbs-up">2</tag-ui>
45
45
  <tag-ui size="sm" icon-leading="eyes">1</tag-ui>
46
- <button-ui text="Reply" variant="ghost" size="xs"></button-ui>
46
+ <button-ui text="Reply" variant="ghost" size="sm"></button-ui>
47
47
  </row-ui>
48
48
  </col-ui>
49
49
  </row-ui>
@@ -57,7 +57,7 @@
57
57
  <text-ui>Chrome — the data scale is reserved for visualization series. Spec at <text-ui color="primary">.claude/docs/specs/component-token-contract.md</text-ui>.</text-ui>
58
58
  <row-ui gap="1">
59
59
  <tag-ui size="sm" icon-leading="thumbs-up">3</tag-ui>
60
- <button-ui text="Reply" variant="ghost" size="xs"></button-ui>
60
+ <button-ui text="Reply" variant="ghost" size="sm"></button-ui>
61
61
  </row-ui>
62
62
  </col-ui>
63
63
  </row-ui>
@@ -70,7 +70,7 @@
70
70
  </row-ui>
71
71
  <text-ui>Filed a follow-up — adding a lint rule so this doesn't happen again. <text-ui color="primary">#linter</text-ui></text-ui>
72
72
  <row-ui gap="1">
73
- <button-ui text="Reply" variant="ghost" size="xs"></button-ui>
73
+ <button-ui text="Reply" variant="ghost" size="sm"></button-ui>
74
74
  </row-ui>
75
75
  </col-ui>
76
76
  </row-ui>
@@ -166,7 +166,7 @@
166
166
  <tag-ui size="sm" variant="primary">🎉 2</tag-ui>
167
167
  <tag-ui size="sm">👀 1</tag-ui>
168
168
  <tag-ui size="sm">🚀 1</tag-ui>
169
- <button-ui icon="plus" variant="ghost" size="xs" aria-label="Add reaction"></button-ui>
169
+ <button-ui icon="plus" variant="ghost" size="sm" aria-label="Add reaction"></button-ui>
170
170
  </row-ui>
171
171
  </div>
172
172
  </div>
@@ -95,7 +95,7 @@
95
95
  <section>
96
96
  <text-ui strong>Audit kanban accessibility</text-ui>
97
97
  <row-ui gap="2" align="center" style="margin-top: 0.5rem;">
98
- <avatar-ui size="xs" text="Sam Park"></avatar-ui>
98
+ <avatar-ui size="sm" text="Sam Park"></avatar-ui>
99
99
  <tag-ui size="sm">P1</tag-ui>
100
100
  </row-ui>
101
101
  </section>
@@ -104,7 +104,7 @@
104
104
  <section>
105
105
  <text-ui strong>Drag handle hit-target</text-ui>
106
106
  <row-ui gap="2" align="center" style="margin-top: 0.5rem;">
107
- <avatar-ui size="xs" text="Avery Chen"></avatar-ui>
107
+ <avatar-ui size="sm" text="Avery Chen"></avatar-ui>
108
108
  <tag-ui size="sm">P2</tag-ui>
109
109
  </row-ui>
110
110
  </section>
@@ -113,7 +113,7 @@
113
113
  <section>
114
114
  <text-ui strong>Empty-column copy</text-ui>
115
115
  <row-ui gap="2" align="center" style="margin-top: 0.5rem;">
116
- <avatar-ui size="xs" text="Jordan Lee"></avatar-ui>
116
+ <avatar-ui size="sm" text="Jordan Lee"></avatar-ui>
117
117
  <tag-ui size="sm">P2</tag-ui>
118
118
  </row-ui>
119
119
  </section>
@@ -132,7 +132,7 @@
132
132
  <section>
133
133
  <text-ui strong>Auth flow rebuild</text-ui>
134
134
  <row-ui gap="2" align="center" style="margin-top: 0.5rem;">
135
- <avatar-ui size="xs" text="Jordan Lee"></avatar-ui>
135
+ <avatar-ui size="sm" text="Jordan Lee"></avatar-ui>
136
136
  <tag-ui size="sm" variant="warning">P0</tag-ui>
137
137
  </row-ui>
138
138
  </section>
@@ -141,7 +141,7 @@
141
141
  <section>
142
142
  <text-ui strong>OKLCH ramp lint rule</text-ui>
143
143
  <row-ui gap="2" align="center" style="margin-top: 0.5rem;">
144
- <avatar-ui size="xs" text="Kim Granlund"></avatar-ui>
144
+ <avatar-ui size="sm" text="Kim Granlund"></avatar-ui>
145
145
  <tag-ui size="sm">P1</tag-ui>
146
146
  </row-ui>
147
147
  </section>
@@ -160,7 +160,7 @@
160
160
  <section>
161
161
  <text-ui strong>v0.0.27 release notes</text-ui>
162
162
  <row-ui gap="2" align="center" style="margin-top: 0.5rem;">
163
- <avatar-ui size="xs" text="Riley Tan"></avatar-ui>
163
+ <avatar-ui size="sm" text="Riley Tan"></avatar-ui>
164
164
  <tag-ui size="sm">P1</tag-ui>
165
165
  </row-ui>
166
166
  </section>
@@ -179,7 +179,7 @@
179
179
  <section>
180
180
  <text-ui strong color="subtle"><s>Safari @scope sweep</s></text-ui>
181
181
  <row-ui gap="2" align="center" style="margin-top: 0.5rem;">
182
- <avatar-ui size="xs" text="Kim Granlund"></avatar-ui>
182
+ <avatar-ui size="sm" text="Kim Granlund"></avatar-ui>
183
183
  <tag-ui size="sm" variant="success">Done</tag-ui>
184
184
  </row-ui>
185
185
  </section>
@@ -188,7 +188,7 @@
188
188
  <section>
189
189
  <text-ui strong color="subtle"><s>Toast top-layer channel</s></text-ui>
190
190
  <row-ui gap="2" align="center" style="margin-top: 0.5rem;">
191
- <avatar-ui size="xs" text="Sam Park"></avatar-ui>
191
+ <avatar-ui size="sm" text="Sam Park"></avatar-ui>
192
192
  <tag-ui size="sm" variant="success">Done</tag-ui>
193
193
  </row-ui>
194
194
  </section>
@@ -141,14 +141,14 @@
141
141
  <text-ui strong size="sm" color="subtle">Mentions · 4</text-ui>
142
142
  <col-ui gap="2">
143
143
  <row-ui gap="2" align="start">
144
- <avatar-ui size="xs" text="Avery Chen"></avatar-ui>
144
+ <avatar-ui size="sm" text="Avery Chen"></avatar-ui>
145
145
  <col-ui gap="0" style="flex: 1;">
146
146
  <text-ui>Avery on "OKLCH ramp comment"</text-ui>
147
147
  <text-ui color="subtle" size="sm">"Should we use chrome or data scale here?" · Tuesday</text-ui>
148
148
  </col-ui>
149
149
  </row-ui>
150
150
  <row-ui gap="2" align="start">
151
- <avatar-ui size="xs" text="Jordan Lee"></avatar-ui>
151
+ <avatar-ui size="sm" text="Jordan Lee"></avatar-ui>
152
152
  <col-ui gap="0" style="flex: 1;">
153
153
  <text-ui>Jordan on "Auth flow rebuild"</text-ui>
154
154
  <text-ui color="subtle" size="sm">"Nominating for review" · Wednesday</text-ui>
@@ -31,7 +31,7 @@
31
31
  <section>
32
32
  <col-ui gap="4">
33
33
  <row-ui gap="4" align="start">
34
- <avatar-ui size="xl" text="Kim Granlund"></avatar-ui>
34
+ <avatar-ui size="lg" text="Kim Granlund"></avatar-ui>
35
35
  <col-ui gap="1" grow>
36
36
  <row-ui gap="2" align="center">
37
37
  <text-ui strong size="lg">Kim Granlund</text-ui>
@@ -143,19 +143,19 @@
143
143
  <list-ui divider contained>
144
144
  <list-item-ui text="OKLCH tokens">
145
145
  <icon-ui slot="icon" name="clock-counter-clockwise" size="sm"></icon-ui>
146
- <button-ui slot="action" icon="x" variant="ghost" size="xs" aria-label="Dismiss"></button-ui>
146
+ <button-ui slot="action" icon="x" variant="ghost" size="sm" aria-label="Dismiss"></button-ui>
147
147
  </list-item-ui>
148
148
  <list-item-ui text="primitive audit">
149
149
  <icon-ui slot="icon" name="clock-counter-clockwise" size="sm"></icon-ui>
150
- <button-ui slot="action" icon="x" variant="ghost" size="xs" aria-label="Dismiss"></button-ui>
150
+ <button-ui slot="action" icon="x" variant="ghost" size="sm" aria-label="Dismiss"></button-ui>
151
151
  </list-item-ui>
152
152
  <list-item-ui text="drawer-ui safari fix">
153
153
  <icon-ui slot="icon" name="clock-counter-clockwise" size="sm"></icon-ui>
154
- <button-ui slot="action" icon="x" variant="ghost" size="xs" aria-label="Dismiss"></button-ui>
154
+ <button-ui slot="action" icon="x" variant="ghost" size="sm" aria-label="Dismiss"></button-ui>
155
155
  </list-item-ui>
156
156
  <list-item-ui text="@scope hover bug">
157
157
  <icon-ui slot="icon" name="clock-counter-clockwise" size="sm"></icon-ui>
158
- <button-ui slot="action" icon="x" variant="ghost" size="xs" aria-label="Dismiss"></button-ui>
158
+ <button-ui slot="action" icon="x" variant="ghost" size="sm" aria-label="Dismiss"></button-ui>
159
159
  </list-item-ui>
160
160
  </list-ui>
161
161
  </section>
@@ -18,11 +18,24 @@
18
18
  mid-tone overlay (`light-dark(X, X)`, same both schemes) rather than
19
19
  the old near-black shade-primitive overlay — both are non-adaptive
20
20
  "always this color" scrims, but the static one reads lighter/greyer
21
- than the old near-black veil. */
21
+ than the old near-black veil.
22
+
23
+ gh#373 (2026-07-20): --a-scrim-dialog was the worst-hit case of that
24
+ "lighter/greyer" regression — the neutral-500-tinted 50% mid-gray read
25
+ nowhere near the black ~80% veil modal/drawer/tour/sheet backdrops are
26
+ meant to be, and the static ladder's darkest tier (strongest, 60%) still
27
+ isn't black. The static ladder can't grow a black-based tier without
28
+ retinting itself for --a-scrim-weak/-toast/-default/-strong too (all
29
+ four stay mapped below, unaffected) — so --a-scrim-dialog alone was
30
+ re-pointed off the ladder to a purpose-built black token,
31
+ `--a-chrome-scrim-dialog` (features.css CHROME block, non-adaptive by
32
+ the same "always this color" contract the whole ladder already claims). */
22
33
 
23
34
  :root, theme-ui, [theme], theme-provider {
24
35
  /* ══════════════════════════════════════════════════════════════
25
- SCRIMS — Role aliases onto the static 7-step scrim ladder.
36
+ SCRIMS — Role aliases. Four of five ride the static 7-step scrim
37
+ ladder; --a-scrim-dialog is the gh#373 exception (see header
38
+ comment) and reads a purpose-built black chrome token instead.
26
39
  Per-family semantic tiers (weak / default / strong / peak) live
27
40
  in surfaces.css.
28
41
  ══════════════════════════════════════════════════════════════ */
@@ -30,6 +43,6 @@
30
43
  --a-scrim-weak: var(--md-sys-color-neutral-scrim-weak); /* 20% — hover wash */
31
44
  --a-scrim-toast: var(--md-sys-color-neutral-scrim); /* 30% — toast veil */
32
45
  --a-scrim-default: var(--md-sys-color-neutral-scrim-strong); /* 40% — generic overlay */
33
- --a-scrim-dialog: var(--md-sys-color-neutral-scrim-stronger); /* 50% — modal backdrop */
46
+ --a-scrim-dialog: var(--a-chrome-scrim-dialog); /* 80% black — modal/drawer/tour/sheet backdrop (gh#373) */
34
47
  --a-scrim-strong: var(--md-sys-color-neutral-scrim-strongest); /* 60% (was 70%) — heaviest veil */
35
48
  }
@@ -133,5 +133,15 @@
133
133
  readouts). Must read against red / blue / dark / light underlays. */
134
134
  --a-chrome-fg: var(--a-chrome-light);
135
135
  --a-chrome-bg: oklch(0 0 0 / 0.4);
136
+ /* gh#373: dialog-class scrim (modal/drawer/tour/sheet backdrops) —
137
+ purpose-built black-based chrome, deliberately NOT routed through
138
+ the static --md-sys-color-neutral-scrim-* ladder (material-static.css)
139
+ — that ladder is a fixed neutral-500 mid-tone tint, never black, so
140
+ it cannot express an 80%-black veil without perturbing its other
141
+ five roles (weak/toast/default/strong all stay on the ladder; see
142
+ semantics/aliases.css). Kept independent from --a-chrome-backdrop
143
+ (50%, its own token) rather than reused, so this fix's blast radius
144
+ stays scoped to the dialog role alone. */
145
+ --a-chrome-scrim-dialog: oklch(0 0 0 / 0.8);
136
146
 
137
147
  }
@@ -50,6 +50,7 @@
50
50
  @import "../components/frame/frame.css";
51
51
  @import "../components/avatar/avatar.css";
52
52
  @import "../components/adia-mark/adia-mark.css";
53
+ @import "../components/adia-wordmark/adia-wordmark.css";
53
54
  @import "../components/progress/progress.css";
54
55
  @import "../components/skeleton/skeleton.css";
55
56
  @import "../components/alert/alert.css";
package/styles/prose.css CHANGED
@@ -1,6 +1,10 @@
1
1
  /* ═══════════════════════════════════════════════════════════════
2
2
  PROSE — content context via [prose] attribute.
3
3
 
4
+ ⚠ DEPRECATED (v0.8.11) — superseded by [scale="content-md"]
5
+ (styles/scale.css, byte-identical values). Removed at v1.0.
6
+ Do not combine [prose] with [scale] on one element.
7
+
4
8
  Shifts the entire spatial + typographic context to
5
9
  content-optimized values. Overrides the sm/md/lg tier tokens
6
10
  so the standard [size] selector in tokens.css still works.