@adia-ai/web-components 0.6.32 → 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 (164) hide show
  1. package/CHANGELOG.md +44 -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 +37 -28
  63. package/components/field/field.test.js +32 -0
  64. package/components/fields/fields.css +5 -5
  65. package/components/grid/grid.css +5 -5
  66. package/components/heatmap/heatmap.css +63 -63
  67. package/components/icon/icon.css +12 -12
  68. package/components/image/image.css +14 -14
  69. package/components/index.js +8 -0
  70. package/components/input/input.css +66 -66
  71. package/components/inspector/inspector.css +6 -6
  72. package/components/integration-card/class.js +410 -0
  73. package/components/integration-card/integration-card.a2ui.json +268 -0
  74. package/components/integration-card/integration-card.css +169 -0
  75. package/components/integration-card/integration-card.d.ts +63 -0
  76. package/components/integration-card/integration-card.examples.md +41 -0
  77. package/components/integration-card/integration-card.js +17 -0
  78. package/components/integration-card/integration-card.test.js +306 -0
  79. package/components/integration-card/integration-card.yaml +280 -0
  80. package/components/kbd/kbd.css +32 -32
  81. package/components/link/link.css +12 -12
  82. package/components/list/list.css +8 -8
  83. package/components/list-window/class.js +688 -0
  84. package/components/list-window/list-window.a2ui.json +277 -0
  85. package/components/list-window/list-window.css +124 -0
  86. package/components/list-window/list-window.d.ts +84 -0
  87. package/components/list-window/list-window.examples.md +73 -0
  88. package/components/list-window/list-window.js +17 -0
  89. package/components/list-window/list-window.test.js +303 -0
  90. package/components/list-window/list-window.yaml +270 -0
  91. package/components/menu/menu.css +8 -8
  92. package/components/modal/modal.css +43 -43
  93. package/components/nav/nav.css +40 -40
  94. package/components/nav-group/nav-group.css +52 -52
  95. package/components/nav-item/nav-item.css +44 -44
  96. package/components/noodles/noodles.css +31 -31
  97. package/components/option-card/option-card.css +69 -69
  98. package/components/otp-input/otp-input.css +30 -30
  99. package/components/page/page.css +18 -18
  100. package/components/pagination/pagination.css +61 -61
  101. package/components/pane/pane.css +57 -57
  102. package/components/pipeline-status/pipeline-status.css +65 -65
  103. package/components/popover/popover.css +17 -17
  104. package/components/progress/progress.css +23 -23
  105. package/components/progress-row/progress-row.css +17 -17
  106. package/components/radio/radio.css +39 -39
  107. package/components/range/range.css +55 -55
  108. package/components/rating/rating.css +28 -28
  109. package/components/richtext/richtext.css +133 -133
  110. package/components/row/row.css +19 -19
  111. package/components/search/search.css +5 -5
  112. package/components/segment/segment.css +24 -24
  113. package/components/segmented/segmented.css +25 -25
  114. package/components/select/select.css +84 -84
  115. package/components/skeleton/skeleton.css +14 -14
  116. package/components/slider/slider.css +46 -46
  117. package/components/spinner/class.js +69 -0
  118. package/components/spinner/spinner.a2ui.json +197 -0
  119. package/components/spinner/spinner.css +165 -0
  120. package/components/spinner/spinner.d.ts +26 -0
  121. package/components/spinner/spinner.examples.md +26 -0
  122. package/components/spinner/spinner.js +17 -0
  123. package/components/spinner/spinner.test.js +234 -0
  124. package/components/spinner/spinner.yaml +230 -0
  125. package/components/stack/stack.css +11 -11
  126. package/components/stat/stat.css +25 -25
  127. package/components/step-progress/step-progress.css +20 -20
  128. package/components/stepper/stepper.css +29 -29
  129. package/components/stream/stream.css +12 -12
  130. package/components/swatch/swatch.css +68 -68
  131. package/components/swiper/swiper.css +57 -57
  132. package/components/switch/switch.css +52 -52
  133. package/components/table/class.js +9 -0
  134. package/components/table/table.a2ui.json +1 -1
  135. package/components/table/table.css +162 -162
  136. package/components/table/table.d.ts +1 -1
  137. package/components/table/table.test.js +53 -0
  138. package/components/table/table.yaml +13 -1
  139. package/components/table-toolbar/table-toolbar.css +32 -32
  140. package/components/tabs/tabs.css +51 -51
  141. package/components/tag/tag.css +48 -48
  142. package/components/text/text.css +44 -44
  143. package/components/textarea/textarea.css +46 -46
  144. package/components/time-picker/class.js +693 -0
  145. package/components/time-picker/time-picker.a2ui.json +267 -0
  146. package/components/time-picker/time-picker.css +122 -0
  147. package/components/time-picker/time-picker.d.ts +75 -0
  148. package/components/time-picker/time-picker.examples.md +35 -0
  149. package/components/time-picker/time-picker.js +17 -0
  150. package/components/time-picker/time-picker.test.js +287 -0
  151. package/components/time-picker/time-picker.yaml +256 -0
  152. package/components/timeline/timeline.css +50 -50
  153. package/components/toast/toast.css +58 -58
  154. package/components/toggle-group/toggle-group.css +6 -6
  155. package/components/toggle-scheme/toggle-scheme.css +2 -2
  156. package/components/toolbar/toolbar.css +17 -17
  157. package/components/tooltip/tooltip.css +2 -2
  158. package/components/tree/tree.css +37 -37
  159. package/components/upload/upload.css +49 -49
  160. package/dist/icons-manifest.js +3 -3
  161. package/dist/web-components.min.css +1 -1
  162. package/dist/web-components.min.js +121 -83
  163. package/package.json +1 -1
  164. package/styles/components.css +8 -0
@@ -1,20 +1,20 @@
1
1
  @scope (alert-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Colors ── */
4
- --alert-bg: var(--a-bg-muted);
5
- --alert-fg: var(--a-fg);
6
- --alert-border: var(--a-border-subtle);
7
- --alert-icon-fg: var(--a-fg-muted);
4
+ --alert-bg-default: var(--a-bg-muted);
5
+ --alert-fg-default: var(--a-fg);
6
+ --alert-border-default: var(--a-border-subtle);
7
+ --alert-icon-fg-default: var(--a-fg-muted);
8
8
 
9
9
  /* ── Layout ── */
10
- --alert-radius: var(--a-radius-md);
11
- --alert-px: var(--a-space-3);
12
- --alert-py: var(--a-space-2);
13
- --alert-gap: var(--a-space-2);
10
+ --alert-radius-default: var(--a-radius-md);
11
+ --alert-px-default: var(--a-space-3);
12
+ --alert-py-default: var(--a-space-2);
13
+ --alert-gap-default: var(--a-space-2);
14
14
 
15
15
  /* ── Typography ── */
16
- --alert-font: var(--a-ui-size);
17
- --alert-line-height: var(--a-ui-line-height, 1.5);
16
+ --alert-font-default: var(--a-ui-size);
17
+ --alert-line-height-default: var(--a-ui-line-height, 1.5);
18
18
  }
19
19
 
20
20
  :scope {
@@ -26,43 +26,43 @@
26
26
  text on multi-line alerts. The leading slot's own height = body
27
27
  line-height (below) means the icon optically centers on line 1. */
28
28
  align-items: start;
29
- gap: var(--alert-gap);
30
- padding: var(--alert-py) var(--alert-px);
31
- border: 1px solid var(--alert-border);
32
- border-radius: var(--alert-radius);
33
- font-size: var(--alert-font);
34
- line-height: var(--alert-line-height);
35
- color: var(--alert-fg);
36
- background: var(--alert-bg);
29
+ gap: var(--alert-gap, var(--alert-gap-default));
30
+ padding: var(--alert-py, var(--alert-py-default)) var(--alert-px, var(--alert-px-default));
31
+ border: 1px solid var(--alert-border, var(--alert-border-default));
32
+ border-radius: var(--alert-radius, var(--alert-radius-default));
33
+ font-size: var(--alert-font, var(--alert-font-default));
34
+ line-height: var(--alert-line-height, var(--alert-line-height-default));
35
+ color: var(--alert-fg, var(--alert-fg-default));
36
+ background: var(--alert-bg, var(--alert-bg-default));
37
37
  }
38
38
 
39
39
  /* ── Variants ── */
40
40
  :scope[variant="info"] {
41
- --alert-bg: var(--a-info-muted);
42
- --alert-fg: var(--a-info-text);
43
- --alert-border: var(--a-info-border-subtle);
44
- --alert-icon-fg: var(--a-info-strong);
41
+ --alert-bg-default: var(--a-info-muted);
42
+ --alert-fg-default: var(--a-info-text);
43
+ --alert-border-default: var(--a-info-border-subtle);
44
+ --alert-icon-fg-default: var(--a-info-strong);
45
45
  }
46
46
 
47
47
  :scope[variant="success"] {
48
- --alert-bg: var(--a-success-muted);
49
- --alert-fg: var(--a-success-text);
50
- --alert-border: var(--a-success-border-subtle);
51
- --alert-icon-fg: var(--a-success-strong);
48
+ --alert-bg-default: var(--a-success-muted);
49
+ --alert-fg-default: var(--a-success-text);
50
+ --alert-border-default: var(--a-success-border-subtle);
51
+ --alert-icon-fg-default: var(--a-success-strong);
52
52
  }
53
53
 
54
54
  :scope[variant="warning"] {
55
- --alert-bg: var(--a-warning-muted);
56
- --alert-fg: var(--a-warning-text);
57
- --alert-border: var(--a-warning-border-subtle);
58
- --alert-icon-fg: var(--a-warning-strong);
55
+ --alert-bg-default: var(--a-warning-muted);
56
+ --alert-fg-default: var(--a-warning-text);
57
+ --alert-border-default: var(--a-warning-border-subtle);
58
+ --alert-icon-fg-default: var(--a-warning-strong);
59
59
  }
60
60
 
61
61
  :scope[variant="danger"] {
62
- --alert-bg: var(--a-danger-muted);
63
- --alert-fg: var(--a-danger-text);
64
- --alert-border: var(--a-danger-border-subtle);
65
- --alert-icon-fg: var(--a-danger-strong);
62
+ --alert-bg-default: var(--a-danger-muted);
63
+ --alert-fg-default: var(--a-danger-text);
64
+ --alert-border-default: var(--a-danger-border-subtle);
65
+ --alert-icon-fg-default: var(--a-danger-strong);
66
66
  }
67
67
 
68
68
  /* `muted` and `neutral` are semantic aliases of the base — same tokens
@@ -72,21 +72,21 @@
72
72
  than carrying tonal weight. */
73
73
  :scope[variant="muted"],
74
74
  :scope[variant="neutral"] {
75
- --alert-bg: var(--a-bg-muted);
76
- --alert-fg: var(--a-fg);
77
- --alert-border: var(--a-border-subtle);
78
- --alert-icon-fg: var(--a-fg-muted);
75
+ --alert-bg-default: var(--a-bg-muted);
76
+ --alert-fg-default: var(--a-fg);
77
+ --alert-border-default: var(--a-border-subtle);
78
+ --alert-icon-fg-default: var(--a-fg-muted);
79
79
  }
80
80
 
81
81
  /* ── Slots ── */
82
82
  :scope [slot="leading"] {
83
83
  flex-shrink: 0;
84
- color: var(--alert-icon-fg);
84
+ color: var(--alert-icon-fg, var(--alert-icon-fg-default));
85
85
  /* Box height = one line of body so the icon optical-centers on the
86
86
  first line under `align-items: start`. */
87
87
  display: inline-flex;
88
88
  align-items: center;
89
- min-height: calc(var(--alert-font) * var(--alert-line-height));
89
+ min-height: calc(var(--alert-font, var(--alert-font-default)) * var(--alert-line-height, var(--alert-line-height-default)));
90
90
  /* `ensure()` appends the leading-slot icon to the host, which
91
91
  puts it after any consumer-provided content in DOM order.
92
92
  Force it to the visual lead via flex `order` so the icon
@@ -113,6 +113,6 @@
113
113
  sit on the same first-line baseline. */
114
114
  :scope [slot="close"] {
115
115
  flex-shrink: 0;
116
- min-height: calc(var(--alert-font) * var(--alert-line-height));
116
+ min-height: calc(var(--alert-font, var(--alert-font-default)) * var(--alert-line-height, var(--alert-line-height-default)));
117
117
  }
118
118
  }
@@ -4,19 +4,19 @@
4
4
 
5
5
  @scope (avatar-ui) {
6
6
  :where(:scope) {
7
- --avatar-size: var(--a-size);
8
- --avatar-bg: var(--a-bg-muted);
9
- --avatar-fg: var(--a-fg-subtle);
10
- --avatar-radius: var(--a-radius-full);
11
- --avatar-font-size: var(--a-ui-sm);
12
- --avatar-font-weight: var(--a-weight-medium);
7
+ --avatar-size-default: var(--a-size);
8
+ --avatar-bg-default: var(--a-bg-muted);
9
+ --avatar-fg-default: var(--a-fg-subtle);
10
+ --avatar-radius-default: var(--a-radius-full);
11
+ --avatar-font-size-default: var(--a-ui-sm);
12
+ --avatar-font-weight-default: var(--a-weight-medium);
13
13
 
14
14
  /* Sizes */
15
- --avatar-size-xs: 1.25rem;
16
- --avatar-size-sm: 1.75rem;
17
- --avatar-size-md: 2.5rem;
18
- --avatar-size-lg: 3.5rem;
19
- --avatar-size-xl: 4.5rem;
15
+ --avatar-size-xs-default: 1.25rem;
16
+ --avatar-size-sm-default: 1.75rem;
17
+ --avatar-size-md-default: 2.5rem;
18
+ --avatar-size-lg-default: 3.5rem;
19
+ --avatar-size-xl-default: 4.5rem;
20
20
  }
21
21
 
22
22
  :scope {
@@ -24,13 +24,13 @@
24
24
  display: inline-flex;
25
25
  align-items: center;
26
26
  justify-content: center;
27
- width: var(--avatar-size);
28
- height: var(--avatar-size);
29
- background: var(--avatar-bg);
30
- color: var(--avatar-fg);
31
- border-radius: var(--avatar-radius);
32
- font-size: var(--avatar-font-size);
33
- font-weight: var(--avatar-font-weight);
27
+ width: var(--avatar-size, var(--avatar-size-default));
28
+ height: var(--avatar-size, var(--avatar-size-default));
29
+ background: var(--avatar-bg, var(--avatar-bg-default));
30
+ color: var(--avatar-fg, var(--avatar-fg-default));
31
+ border-radius: var(--avatar-radius, var(--avatar-radius-default));
32
+ font-size: var(--avatar-font-size, var(--avatar-font-size-default));
33
+ font-weight: var(--avatar-font-weight, var(--avatar-font-weight-default));
34
34
  overflow: hidden;
35
35
  flex-shrink: 0;
36
36
  }
@@ -51,23 +51,23 @@
51
51
 
52
52
  /* ── Icon (non-person avatar) ── */
53
53
  [slot="icon"] {
54
- color: var(--avatar-fg);
55
- --a-icon-size: calc(var(--avatar-size) * 0.55);
54
+ color: var(--avatar-fg, var(--avatar-fg-default));
55
+ --a-icon-size: calc(var(--avatar-size, var(--avatar-size-default)) * 0.55);
56
56
  display: inline-flex;
57
57
  align-items: center;
58
58
  justify-content: center;
59
59
  }
60
60
 
61
61
  /* ── Sizes ── */
62
- :scope[size="xs"] { --avatar-size: var(--avatar-size-xs); --avatar-font-size: var(--a-ui-sm); }
63
- :scope[size="sm"] { --avatar-size: var(--avatar-size-sm); --avatar-font-size: var(--a-ui-sm); }
64
- :scope[size="md"] { --avatar-size: var(--avatar-size-md); --avatar-font-size: var(--a-ui-sm); }
65
- :scope[size="lg"] { --avatar-size: var(--avatar-size-lg); --avatar-font-size: var(--a-ui-md); }
66
- :scope[size="xl"] { --avatar-size: var(--avatar-size-xl); --avatar-font-size: var(--a-ui-lg); }
62
+ :scope[size="xs"] { --avatar-size-default: var(--avatar-size-xs, var(--avatar-size-xs-default)); --avatar-font-size-default: var(--a-ui-sm); }
63
+ :scope[size="sm"] { --avatar-size-default: var(--avatar-size-sm, var(--avatar-size-sm-default)); --avatar-font-size-default: var(--a-ui-sm); }
64
+ :scope[size="md"] { --avatar-size-default: var(--avatar-size-md, var(--avatar-size-md-default)); --avatar-font-size-default: var(--a-ui-sm); }
65
+ :scope[size="lg"] { --avatar-size-default: var(--avatar-size-lg, var(--avatar-size-lg-default)); --avatar-font-size-default: var(--a-ui-md); }
66
+ :scope[size="xl"] { --avatar-size-default: var(--avatar-size-xl, var(--avatar-size-xl-default)); --avatar-font-size-default: var(--a-ui-lg); }
67
67
 
68
68
  /* ── Shape ── */
69
- :scope[shape="circle"] { --avatar-radius: var(--a-radius-full); }
70
- :scope[shape="square"] { --avatar-radius: var(--a-radius-md); }
69
+ :scope[shape="circle"] { --avatar-radius-default: var(--a-radius-full); }
70
+ :scope[shape="square"] { --avatar-radius-default: var(--a-radius-md); }
71
71
  }
72
72
 
73
73
  /* ═══════════════════════════════════════════════════════════════
@@ -1,13 +1,13 @@
1
1
  @scope (badge-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Tokens ── */
4
- --badge-bg: var(--a-bg-muted);
5
- --badge-fg: var(--a-fg);
6
- --badge-radius: var(--a-radius-md);
7
- --badge-px: var(--a-space-2);
8
- --badge-py: 2px;
9
- --badge-gap: var(--a-space-1);
10
- --badge-font-size: var(--a-ui-sm);
4
+ --badge-bg-default: var(--a-bg-muted);
5
+ --badge-fg-default: var(--a-fg);
6
+ --badge-radius-default: var(--a-radius-md);
7
+ --badge-px-default: var(--a-space-2);
8
+ --badge-py-default: 2px;
9
+ --badge-gap-default: var(--a-space-1);
10
+ --badge-font-size-default: var(--a-ui-sm);
11
11
  text-align: start; /* §text-align-reset — blocks inheritance from centered ancestors */
12
12
  }
13
13
 
@@ -17,16 +17,16 @@
17
17
  display: inline-flex;
18
18
  align-items: center;
19
19
  justify-content: center;
20
- gap: var(--badge-gap);
20
+ gap: var(--badge-gap, var(--badge-gap-default));
21
21
  width: fit-content;
22
- padding: var(--badge-py) var(--badge-px);
23
- background: var(--badge-bg);
24
- color: var(--badge-fg);
22
+ padding: var(--badge-py, var(--badge-py-default)) var(--badge-px, var(--badge-px-default));
23
+ background: var(--badge-bg, var(--badge-bg-default));
24
+ color: var(--badge-fg, var(--badge-fg-default));
25
25
  font: inherit;
26
- font-size: var(--badge-font-size);
26
+ font-size: var(--badge-font-size, var(--badge-font-size-default));
27
27
  font-weight: 500;
28
28
  line-height: 1;
29
- border-radius: var(--badge-radius);
29
+ border-radius: var(--badge-radius, var(--badge-radius-default));
30
30
  white-space: nowrap;
31
31
  vertical-align: middle;
32
32
  }
@@ -56,28 +56,28 @@
56
56
  collapse contrast on muted: warning fails in dark, danger fails in light.
57
57
  Accent keeps the saturated-text-on-tint look (intentional brand emphasis). */
58
58
  :scope[variant="accent"] {
59
- --badge-bg: var(--a-accent-muted);
60
- --badge-fg: var(--a-accent-text);
59
+ --badge-bg-default: var(--a-accent-muted);
60
+ --badge-fg-default: var(--a-accent-text);
61
61
  }
62
62
 
63
63
  :scope[variant="info"] {
64
- --badge-bg: var(--a-info-muted);
65
- --badge-fg: var(--a-info-text);
64
+ --badge-bg-default: var(--a-info-muted);
65
+ --badge-fg-default: var(--a-info-text);
66
66
  }
67
67
 
68
68
  :scope[variant="success"] {
69
- --badge-bg: var(--a-success-muted);
70
- --badge-fg: var(--a-success-text);
69
+ --badge-bg-default: var(--a-success-muted);
70
+ --badge-fg-default: var(--a-success-text);
71
71
  }
72
72
 
73
73
  :scope[variant="warning"] {
74
- --badge-bg: var(--a-warning-muted);
75
- --badge-fg: var(--a-warning-text);
74
+ --badge-bg-default: var(--a-warning-muted);
75
+ --badge-fg-default: var(--a-warning-text);
76
76
  }
77
77
 
78
78
  :scope[variant="danger"] {
79
- --badge-bg: var(--a-danger-muted);
80
- --badge-fg: var(--a-danger-text);
79
+ --badge-bg-default: var(--a-danger-muted);
80
+ --badge-fg-default: var(--a-danger-text);
81
81
  }
82
82
 
83
83
  /* `primary` is the accent-filled variant — solid bg + on-accent text,
@@ -86,8 +86,8 @@
86
86
  matrix so it tracks the same accent-strong source as button-ui's
87
87
  primary variant. */
88
88
  :scope[variant="primary"] {
89
- --badge-bg: var(--a-primary-bg);
90
- --badge-fg: var(--a-primary-fg);
89
+ --badge-bg-default: var(--a-primary-bg);
90
+ --badge-fg-default: var(--a-primary-fg);
91
91
  }
92
92
 
93
93
  /* `muted` and `neutral` are semantic aliases of the base — same tokens
@@ -96,8 +96,8 @@
96
96
  "Not set" states) where the badge should read as quiet chrome. */
97
97
  :scope[variant="muted"],
98
98
  :scope[variant="neutral"] {
99
- --badge-bg: var(--a-bg-muted);
100
- --badge-fg: var(--a-fg);
99
+ --badge-bg-default: var(--a-bg-muted);
100
+ --badge-fg-default: var(--a-fg);
101
101
  }
102
102
 
103
103
  /* Size handled by universal [size] attribute system. */
@@ -1,29 +1,29 @@
1
1
  @scope (block-ui) {
2
2
  :where(:scope) {
3
- --block-padding: var(--a-space-4);
4
- --block-margin: 0;
3
+ --block-padding-default: var(--a-space-4);
4
+ --block-margin-default: 0;
5
5
  }
6
6
 
7
7
  :scope {
8
8
  box-sizing: border-box;
9
9
  display: block;
10
- padding: var(--block-padding);
11
- margin: var(--block-margin);
10
+ padding: var(--block-padding, var(--block-padding-default));
11
+ margin: var(--block-margin, var(--block-margin-default));
12
12
  }
13
13
 
14
14
  /* ── Padding variants ── */
15
- :scope[padding="none"] { --block-padding: 0; }
16
- :scope[padding="xs"] { --block-padding: var(--a-space-1); }
17
- :scope[padding="sm"] { --block-padding: var(--a-space-2); }
18
- :scope[padding="md"] { --block-padding: var(--a-space-4); }
19
- :scope[padding="lg"] { --block-padding: var(--a-space-6); }
20
- :scope[padding="xl"] { --block-padding: var(--a-space-10); }
15
+ :scope[padding="none"] { --block-padding-default: 0; }
16
+ :scope[padding="xs"] { --block-padding-default: var(--a-space-1); }
17
+ :scope[padding="sm"] { --block-padding-default: var(--a-space-2); }
18
+ :scope[padding="md"] { --block-padding-default: var(--a-space-4); }
19
+ :scope[padding="lg"] { --block-padding-default: var(--a-space-6); }
20
+ :scope[padding="xl"] { --block-padding-default: var(--a-space-10); }
21
21
 
22
22
  /* ── Margin variants ── */
23
- :scope[margin="none"] { --block-margin: 0; }
24
- :scope[margin="xs"] { --block-margin: var(--a-space-1); }
25
- :scope[margin="sm"] { --block-margin: var(--a-space-2); }
26
- :scope[margin="md"] { --block-margin: var(--a-space-4); }
27
- :scope[margin="lg"] { --block-margin: var(--a-space-6); }
28
- :scope[margin="xl"] { --block-margin: var(--a-space-10); }
23
+ :scope[margin="none"] { --block-margin-default: 0; }
24
+ :scope[margin="xs"] { --block-margin-default: var(--a-space-1); }
25
+ :scope[margin="sm"] { --block-margin-default: var(--a-space-2); }
26
+ :scope[margin="md"] { --block-margin-default: var(--a-space-4); }
27
+ :scope[margin="lg"] { --block-margin-default: var(--a-space-6); }
28
+ :scope[margin="xl"] { --block-margin-default: var(--a-space-10); }
29
29
  }
@@ -1,39 +1,39 @@
1
1
  @scope (breadcrumb-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Layout ── */
4
- --breadcrumb-gap: var(--a-space-1);
5
- --breadcrumb-max-width: 12rem;
4
+ --breadcrumb-gap-default: var(--a-space-1);
5
+ --breadcrumb-max-width-default: 12rem;
6
6
 
7
7
  /* ── Typography ── */
8
- --breadcrumb-font-size: var(--a-ui-size);
9
- --breadcrumb-current-weight: var(--a-weight-medium);
8
+ --breadcrumb-font-size-default: var(--a-ui-size);
9
+ --breadcrumb-current-weight-default: var(--a-weight-medium);
10
10
 
11
11
  /* ── Colors ── */
12
- --breadcrumb-fg: var(--a-fg-subtle);
13
- --breadcrumb-fg-hover: var(--a-fg);
14
- --breadcrumb-separator-fg: var(--a-fg-muted);
15
- --breadcrumb-current-fg: var(--a-fg-strong);
12
+ --breadcrumb-fg-default: var(--a-fg-subtle);
13
+ --breadcrumb-fg-hover-default: var(--a-fg);
14
+ --breadcrumb-separator-fg-default: var(--a-fg-muted);
15
+ --breadcrumb-current-fg-default: var(--a-fg-strong);
16
16
 
17
17
  /* ── Transition ── */
18
- --breadcrumb-duration: var(--a-duration-fast);
19
- --breadcrumb-easing: var(--a-easing);
18
+ --breadcrumb-duration-default: var(--a-duration-fast);
19
+ --breadcrumb-easing-default: var(--a-easing);
20
20
 
21
21
  /* ── Link ── */
22
- --breadcrumb-link-radius: var(--a-radius-sm);
23
- --breadcrumb-link-focus-ring: var(--a-focus-ring);
22
+ --breadcrumb-link-radius-default: var(--a-radius-sm);
23
+ --breadcrumb-link-focus-ring-default: var(--a-focus-ring);
24
24
  }
25
25
 
26
26
  :scope {
27
27
  box-sizing: border-box;
28
28
  display: inline-flex;
29
29
  align-items: center;
30
- gap: var(--breadcrumb-gap);
31
- font-size: var(--breadcrumb-font-size);
30
+ gap: var(--breadcrumb-gap, var(--breadcrumb-gap-default));
31
+ font-size: var(--breadcrumb-font-size, var(--breadcrumb-font-size-default));
32
32
  }
33
33
 
34
34
  /* Separator — standalone span, never inside <a> */
35
35
  [data-sep] {
36
- color: var(--breadcrumb-separator-fg);
36
+ color: var(--breadcrumb-separator-fg, var(--breadcrumb-separator-fg-default));
37
37
  flex-shrink: 0;
38
38
  pointer-events: none;
39
39
  user-select: none;
@@ -46,32 +46,32 @@
46
46
  overflow: hidden;
47
47
  text-overflow: ellipsis;
48
48
  white-space: nowrap;
49
- max-width: var(--breadcrumb-max-width);
50
- color: var(--breadcrumb-fg);
49
+ max-width: var(--breadcrumb-max-width, var(--breadcrumb-max-width-default));
50
+ color: var(--breadcrumb-fg, var(--breadcrumb-fg-default));
51
51
  }
52
52
 
53
53
  /* Links */
54
54
  a[data-item] {
55
55
  text-decoration: none;
56
- border-radius: var(--breadcrumb-link-radius);
57
- transition: color var(--breadcrumb-duration) var(--breadcrumb-easing);
56
+ border-radius: var(--breadcrumb-link-radius, var(--breadcrumb-link-radius-default));
57
+ transition: color var(--breadcrumb-duration, var(--breadcrumb-duration-default)) var(--breadcrumb-easing, var(--breadcrumb-easing-default));
58
58
  }
59
59
 
60
60
  a[data-item]:hover {
61
- color: var(--breadcrumb-fg-hover);
61
+ color: var(--breadcrumb-fg-hover, var(--breadcrumb-fg-hover-default));
62
62
  text-decoration: underline;
63
63
  text-underline-offset: 2px;
64
64
  }
65
65
 
66
66
  a[data-item]:focus-visible {
67
67
  outline: none;
68
- box-shadow: var(--breadcrumb-link-focus-ring);
68
+ box-shadow: var(--breadcrumb-link-focus-ring, var(--breadcrumb-link-focus-ring-default));
69
69
  }
70
70
 
71
71
  /* Current (last item) */
72
72
  [data-item][aria-current] {
73
- color: var(--breadcrumb-current-fg);
74
- font-weight: var(--breadcrumb-current-weight);
73
+ color: var(--breadcrumb-current-fg, var(--breadcrumb-current-fg-default));
74
+ font-weight: var(--breadcrumb-current-weight, var(--breadcrumb-current-weight-default));
75
75
  pointer-events: none;
76
76
  text-decoration: none;
77
77
  }