@adia-ai/web-components 0.7.3 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/components/accordion/accordion.css +2 -2
  3. package/components/action-list/action-list.css +2 -2
  4. package/components/agent-artifact/agent-artifact.css +31 -31
  5. package/components/agent-feedback-bar/agent-feedback-bar.css +10 -10
  6. package/components/agent-questions/agent-questions.css +59 -57
  7. package/components/agent-reasoning/agent-reasoning.css +54 -54
  8. package/components/agent-suggestions/agent-suggestions.css +4 -4
  9. package/components/agent-trace/agent-trace.css +53 -53
  10. package/components/alert/alert.css +53 -53
  11. package/components/avatar/avatar.css +27 -27
  12. package/components/badge/badge.css +56 -53
  13. package/components/block/block.css +16 -16
  14. package/components/blockquote/blockquote.css +16 -16
  15. package/components/breadcrumb/breadcrumb.css +23 -23
  16. package/components/button/button.css +99 -100
  17. package/components/calendar-grid/calendar-grid.css +95 -92
  18. package/components/calendar-picker/calendar-picker.css +141 -139
  19. package/components/canvas/canvas.css +12 -12
  20. package/components/card/card.css +83 -83
  21. package/components/chart/chart.css +218 -218
  22. package/components/chart-legend/chart-legend.css +26 -26
  23. package/components/check/check.css +40 -40
  24. package/components/code/code.css +125 -125
  25. package/components/col/col.css +15 -15
  26. package/components/color-picker/color-picker.css +55 -55
  27. package/components/combobox/combobox.css +64 -62
  28. package/components/command/command.css +91 -91
  29. package/components/context-menu/context-menu.css +1 -1
  30. package/components/date-range-picker/date-range-picker.css +59 -59
  31. package/components/datetime-picker/datetime-picker.css +25 -25
  32. package/components/demo-toggle/demo-toggle.css +27 -27
  33. package/components/description-list/description-list.css +18 -18
  34. package/components/divider/divider.css +24 -24
  35. package/components/embed/embed.css +6 -6
  36. package/components/empty-state/empty-state.css +29 -29
  37. package/components/feed/feed.css +12 -12
  38. package/components/field/field.css +28 -28
  39. package/components/field/field.test.js +2 -2
  40. package/components/fields/fields.css +5 -5
  41. package/components/grid/grid.a2ui.json +10 -0
  42. package/components/grid/grid.css +23 -5
  43. package/components/grid/grid.d.ts +4 -0
  44. package/components/grid/grid.yaml +13 -0
  45. package/components/heatmap/heatmap.css +61 -61
  46. package/components/icon/icon.css +12 -12
  47. package/components/image/image.css +14 -14
  48. package/components/inline-edit/inline-edit.css +16 -16
  49. package/components/inline-message/inline-message.css +16 -16
  50. package/components/input/input.css +69 -66
  51. package/components/inspector/inspector.css +6 -6
  52. package/components/integration-card/integration-card.css +41 -41
  53. package/components/integration-card/integration-card.test.js +4 -4
  54. package/components/kbd/kbd.css +47 -40
  55. package/components/link/link.css +12 -12
  56. package/components/list/list.css +8 -8
  57. package/components/list-window/list-window.css +10 -10
  58. package/components/loading-overlay/loading-overlay.css +17 -18
  59. package/components/loading-overlay/loading-overlay.test.js +8 -8
  60. package/components/mark/mark.css +16 -16
  61. package/components/menu/menu.css +9 -9
  62. package/components/modal/modal.class.js +5 -9
  63. package/components/modal/modal.css +43 -43
  64. package/components/nav/nav.css +40 -40
  65. package/components/nav-group/nav-group.css +54 -54
  66. package/components/nav-item/nav-item.css +44 -44
  67. package/components/noodles/noodles.css +31 -31
  68. package/components/number-format/number-format.css +4 -4
  69. package/components/option-card/option-card.css +70 -70
  70. package/components/otp-input/otp-input.css +29 -29
  71. package/components/page/page.a2ui.json +1 -1
  72. package/components/page/page.css +27 -27
  73. package/components/page/page.d.ts +1 -1
  74. package/components/page/page.yaml +1 -1
  75. package/components/pagination/pagination.css +6 -6
  76. package/components/pane/pane.css +57 -57
  77. package/components/password-strength/password-strength.css +32 -32
  78. package/components/pipeline-status/pipeline-status.css +67 -67
  79. package/components/popover/popover.css +11 -11
  80. package/components/preview/preview.css +21 -21
  81. package/components/progress/progress.css +23 -23
  82. package/components/progress-row/progress-row.css +17 -17
  83. package/components/qr-code/qr-code.css +4 -4
  84. package/components/radio/radio.css +39 -39
  85. package/components/range/range.css +58 -55
  86. package/components/rating/rating.css +28 -28
  87. package/components/relative-time/relative-time.css +6 -6
  88. package/components/richtext/richtext.css +133 -133
  89. package/components/row/row.css +19 -19
  90. package/components/search/search.css +5 -5
  91. package/components/segment/segment.css +29 -24
  92. package/components/segmented/segmented.css +30 -25
  93. package/components/select/select.css +95 -93
  94. package/components/skeleton/skeleton.css +14 -14
  95. package/components/skip-nav/skip-nav.css +4 -4
  96. package/components/slider/slider.css +61 -61
  97. package/components/spinner/spinner.css +40 -40
  98. package/components/spinner/spinner.test.js +10 -12
  99. package/components/stack/stack.css +11 -11
  100. package/components/stat/stat.css +27 -27
  101. package/components/step-progress/step-progress.css +20 -20
  102. package/components/stepper/stepper.css +29 -29
  103. package/components/stream/stream.css +12 -12
  104. package/components/swatch/swatch.css +68 -68
  105. package/components/swiper/swiper.class.js +5 -12
  106. package/components/swiper/swiper.css +57 -57
  107. package/components/switch/switch.css +53 -53
  108. package/components/table/table.css +166 -163
  109. package/components/table-toolbar/table-toolbar.css +33 -33
  110. package/components/tabs/tabs.css +54 -51
  111. package/components/tag/tag.css +74 -71
  112. package/components/tag/tag.test.js +14 -14
  113. package/components/tags-input/tags-input.css +51 -49
  114. package/components/text/text.css +44 -44
  115. package/components/textarea/textarea.css +49 -46
  116. package/components/time-picker/time-picker.css +47 -47
  117. package/components/timeline/timeline.css +54 -54
  118. package/components/toast/toast.css +58 -58
  119. package/components/toc/toc.css +28 -28
  120. package/components/toggle-group/toggle-group.css +9 -6
  121. package/components/toggle-scheme/toggle-scheme.css +2 -2
  122. package/components/toolbar/toolbar.css +18 -18
  123. package/components/tooltip/tooltip.css +2 -2
  124. package/components/tour/tour.css +4 -4
  125. package/components/tree/tree.css +37 -37
  126. package/components/upload/upload.css +49 -49
  127. package/dist/host.min.css +1 -0
  128. package/dist/web-components.min.css +1 -1
  129. package/dist/web-components.min.js +2 -2
  130. package/package.json +1 -1
  131. package/styles/foundation/space.css +19 -18
  132. package/styles/host.css +48 -0
  133. package/styles/prose.css +187 -173
  134. package/styles/type/scale.css +6 -0
  135. package/styles/typography.css +10 -5
  136. package/styles/verse.css +122 -0
@@ -2,83 +2,83 @@
2
2
  (Flavor B — attribute-removal restyle) both fail inside `@scope`.
3
3
  Selectors moved out. See docs/BROWSER-COMPAT.md §3a. */
4
4
  option-card-ui:not([checked]):not([disabled]):hover {
5
- background: var(--option-card-bg-hover, var(--option-card-bg-hover-default));
6
- border-color: var(--option-card-border-hover, var(--option-card-border-hover-default));
5
+ background: var(--option-card-bg-hover);
6
+ border-color: var(--option-card-border-hover);
7
7
  }
8
8
  option-card-ui[checked] > :not([slot]) {
9
9
  display: block;
10
10
  }
11
11
  option-card-ui[checked] {
12
- background: var(--option-card-bg-checked, var(--option-card-bg-checked-default));
13
- border-color: var(--option-card-border-checked, var(--option-card-border-checked-default));
12
+ background: var(--option-card-bg-checked);
13
+ border-color: var(--option-card-border-checked);
14
14
  }
15
15
  option-card-ui[checked]::before {
16
- border-color: var(--option-card-radio-fill, var(--option-card-radio-fill-default));
16
+ border-color: var(--option-card-radio-fill);
17
17
  background:
18
18
  radial-gradient(
19
19
  circle,
20
- var(--option-card-radio-dot, var(--option-card-radio-dot-default)) 0 30%,
21
- var(--option-card-radio-fill, var(--option-card-radio-fill-default)) 30% 100%
20
+ var(--option-card-radio-dot) 0 30%,
21
+ var(--option-card-radio-fill) 30% 100%
22
22
  );
23
23
  }
24
24
  option-card-ui[checked] [slot="heading"] {
25
- color: var(--option-card-heading-color-checked, var(--option-card-heading-color-checked-default));
25
+ color: var(--option-card-heading-color-checked);
26
26
  }
27
27
  option-card-ui[checked] [slot="icon"] {
28
- color: var(--option-card-icon-color-checked, var(--option-card-icon-color-checked-default));
28
+ color: var(--option-card-icon-color-checked);
29
29
  }
30
30
 
31
31
  @scope (option-card-ui) {
32
32
  :where(:scope) {
33
33
  /* ── Container ── */
34
- --option-card-padding-block-default: var(--a-space-3);
35
- --option-card-padding-inline-default: var(--a-space-4);
36
- --option-card-radius-default: var(--a-radius-md);
37
- --option-card-bg-default: var(--a-bg);
38
- --option-card-border-default: var(--a-border);
39
- --option-card-gap-x-default: var(--a-space-3);
40
- --option-card-gap-y-default: var(--a-space-1);
34
+ --option-card-padding-block: var(--a-space-3);
35
+ --option-card-padding-inline: var(--a-space-4);
36
+ --option-card-radius: var(--a-radius-md);
37
+ --option-card-bg: var(--a-bg);
38
+ --option-card-border: var(--a-border);
39
+ --option-card-gap-x: var(--a-space-3);
40
+ --option-card-gap-y: var(--a-space-1);
41
41
 
42
42
  /* ── State: hover ── */
43
- --option-card-bg-hover-default: var(--a-bg-muted);
44
- --option-card-border-hover-default: var(--a-fg-subtle);
43
+ --option-card-bg-hover: var(--a-bg-muted);
44
+ --option-card-border-hover: var(--a-fg-subtle);
45
45
 
46
46
  /* ── State: checked ── */
47
- --option-card-bg-checked-default: var(--a-accent-muted);
48
- --option-card-border-checked-default: var(--a-accent);
47
+ --option-card-bg-checked: var(--a-accent-muted);
48
+ --option-card-border-checked: var(--a-accent);
49
49
 
50
50
  /* ── Indicator (CSS radio circle, same size + recipe as <radio-ui>). */
51
- --option-card-radio-size-default: var(--a-toggle-size);
52
- --option-card-radio-bg-default: var(--a-bg);
53
- --option-card-radio-border-default: var(--a-border);
54
- --option-card-radio-fill-default: var(--a-accent);
51
+ --option-card-radio-size: var(--a-toggle-size);
52
+ --option-card-radio-bg: var(--a-bg);
53
+ --option-card-radio-border: var(--a-border);
54
+ --option-card-radio-fill: var(--a-accent);
55
55
  /* Mirror radio.css's --radio-fg-checked recipe: an always-light
56
56
  token rather than --a-accent-fg, which can flip dark depending
57
57
  on theme/scheme combos and produce a near-black inner dot
58
58
  against the accent disc. */
59
- --option-card-radio-dot-default: var(--a-chrome-light);
59
+ --option-card-radio-dot: var(--a-chrome-light);
60
60
 
61
61
  /* ── Typography ── */
62
- --option-card-heading-color-default: var(--a-fg);
63
- --option-card-heading-color-checked-default: var(--a-fg-strong);
64
- --option-card-heading-weight-default: var(--a-weight-medium);
65
- --option-card-heading-size-default: var(--a-ui-size);
66
- --option-card-desc-color-default: var(--a-fg-muted);
67
- --option-card-desc-size-default: var(--a-ui-sm);
68
- --option-card-desc-line-height-default: 1.4;
69
- --option-card-icon-color-default: var(--a-fg-subtle);
70
- --option-card-icon-color-checked-default: var(--a-fg-strong);
71
- --option-card-icon-size-default: 1.5rem;
62
+ --option-card-heading-color: var(--a-fg);
63
+ --option-card-heading-color-checked: var(--a-fg-strong);
64
+ --option-card-heading-weight: var(--a-weight-medium);
65
+ --option-card-heading-size: var(--a-ui-size);
66
+ --option-card-desc-color: var(--a-fg-muted);
67
+ --option-card-desc-size: var(--a-ui-sm);
68
+ --option-card-desc-line-height: 1.4;
69
+ --option-card-icon-color: var(--a-fg-subtle);
70
+ --option-card-icon-color-checked: var(--a-fg-strong);
71
+ --option-card-icon-size: 1.5rem;
72
72
 
73
73
  /* ── State: disabled ── */
74
- --option-card-disabled-opacity-default: 0.6;
74
+ --option-card-disabled-opacity: 0.6;
75
75
 
76
76
  /* ── Focus ── */
77
- --option-card-focus-ring-default: var(--a-focus-ring);
77
+ --option-card-focus-ring: var(--a-focus-ring);
78
78
 
79
79
  /* ── Transitions ── */
80
- --option-card-duration-default: var(--a-duration-fast);
81
- --option-card-easing-default: var(--a-easing);
80
+ --option-card-duration: var(--a-duration-fast);
81
+ --option-card-easing: var(--a-easing);
82
82
  }
83
83
 
84
84
  /* ── Base — grid: indicator | (heading + description). Optional icon
@@ -90,19 +90,19 @@ option-card-ui[checked] [slot="icon"] {
90
90
  grid-template-areas:
91
91
  "indicator heading"
92
92
  "indicator description";
93
- column-gap: var(--option-card-gap-x, var(--option-card-gap-x-default));
94
- row-gap: var(--option-card-gap-y, var(--option-card-gap-y-default));
95
- padding: var(--option-card-padding-block, var(--option-card-padding-block-default)) var(--option-card-padding-inline, var(--option-card-padding-inline-default));
96
- border: 1px solid var(--option-card-border, var(--option-card-border-default));
97
- border-radius: var(--option-card-radius, var(--option-card-radius-default));
98
- background: var(--option-card-bg, var(--option-card-bg-default));
93
+ column-gap: var(--option-card-gap-x);
94
+ row-gap: var(--option-card-gap-y);
95
+ padding: var(--option-card-padding-block) var(--option-card-padding-inline);
96
+ border: 1px solid var(--option-card-border);
97
+ border-radius: var(--option-card-radius);
98
+ background: var(--option-card-bg);
99
99
  cursor: pointer;
100
100
  user-select: none;
101
101
  outline: none;
102
102
  transition:
103
- background var(--option-card-duration, var(--option-card-duration-default)) var(--option-card-easing, var(--option-card-easing-default)),
104
- border-color var(--option-card-duration, var(--option-card-duration-default)) var(--option-card-easing, var(--option-card-easing-default)),
105
- box-shadow var(--option-card-duration, var(--option-card-duration-default)) var(--option-card-easing, var(--option-card-easing-default));
103
+ background var(--option-card-duration) var(--option-card-easing),
104
+ border-color var(--option-card-duration) var(--option-card-easing),
105
+ box-shadow var(--option-card-duration) var(--option-card-easing);
106
106
  }
107
107
 
108
108
  /* When an icon slot is present, insert a third column for it
@@ -116,41 +116,41 @@ option-card-ui[checked] [slot="icon"] {
116
116
  :scope [slot="icon"] {
117
117
  grid-area: icon;
118
118
  align-self: start;
119
- color: var(--option-card-icon-color, var(--option-card-icon-color-default));
120
- --a-icon-size: var(--option-card-icon-size, var(--option-card-icon-size-default));
121
- transition: color var(--option-card-duration, var(--option-card-duration-default)) var(--option-card-easing, var(--option-card-easing-default));
119
+ color: var(--option-card-icon-color);
120
+ --a-icon-size: var(--option-card-icon-size);
121
+ transition: color var(--option-card-duration) var(--option-card-easing);
122
122
  }
123
123
 
124
124
  /* ── Indicator — pure CSS radio circle, no separate <radio-ui>. */
125
125
  :scope::before {
126
126
  content: '';
127
127
  grid-area: indicator;
128
- width: var(--option-card-radio-size, var(--option-card-radio-size-default));
129
- height: var(--option-card-radio-size, var(--option-card-radio-size-default));
130
- border: 1.5px solid var(--option-card-radio-border, var(--option-card-radio-border-default));
128
+ width: var(--option-card-radio-size);
129
+ height: var(--option-card-radio-size);
130
+ border: 1.5px solid var(--option-card-radio-border);
131
131
  border-radius: var(--a-radius-full);
132
- background: var(--option-card-radio-bg, var(--option-card-radio-bg-default));
132
+ background: var(--option-card-radio-bg);
133
133
  align-self: start;
134
134
  margin-block-start: 0.125rem;
135
135
  flex-shrink: 0;
136
136
  transition:
137
- background var(--option-card-duration, var(--option-card-duration-default)) var(--option-card-easing, var(--option-card-easing-default)),
138
- border-color var(--option-card-duration, var(--option-card-duration-default)) var(--option-card-easing, var(--option-card-easing-default));
137
+ background var(--option-card-duration) var(--option-card-easing),
138
+ border-color var(--option-card-duration) var(--option-card-easing);
139
139
  }
140
140
 
141
141
  /* ── Slots — heading + description ── */
142
142
  :scope [slot="heading"] {
143
143
  grid-area: heading;
144
- color: var(--option-card-heading-color, var(--option-card-heading-color-default));
145
- font-weight: var(--option-card-heading-weight, var(--option-card-heading-weight-default));
146
- font-size: var(--option-card-heading-size, var(--option-card-heading-size-default));
147
- transition: color var(--option-card-duration, var(--option-card-duration-default)) var(--option-card-easing, var(--option-card-easing-default));
144
+ color: var(--option-card-heading-color);
145
+ font-weight: var(--option-card-heading-weight);
146
+ font-size: var(--option-card-heading-size);
147
+ transition: color var(--option-card-duration) var(--option-card-easing);
148
148
  }
149
149
  :scope [slot="description"] {
150
150
  grid-area: description;
151
- color: var(--option-card-desc-color, var(--option-card-desc-color-default));
152
- font-size: var(--option-card-desc-size, var(--option-card-desc-size-default));
153
- line-height: var(--option-card-desc-line-height, var(--option-card-desc-line-height-default));
151
+ color: var(--option-card-desc-color);
152
+ font-size: var(--option-card-desc-size);
153
+ line-height: var(--option-card-desc-line-height);
154
154
  }
155
155
 
156
156
  /* ── Default slot — "spillover" content revealed when checked.
@@ -182,7 +182,7 @@ option-card-ui[checked] [slot="icon"] {
182
182
  :scope[layout="tile"] {
183
183
  display: flex;
184
184
  flex-direction: column;
185
- gap: var(--option-card-gap-y, var(--option-card-gap-y-default));
185
+ gap: var(--option-card-gap-y);
186
186
  position: relative;
187
187
  /* padding inherited from base :scope (token-driven, --option-card-padding-*) */
188
188
  }
@@ -195,8 +195,8 @@ option-card-ui[checked] [slot="icon"] {
195
195
  :scope[layout="tile"]::before {
196
196
  position: absolute;
197
197
  grid-area: auto;
198
- inset-block-start: var(--option-card-padding-block, var(--option-card-padding-block-default));
199
- inset-inline-end: var(--option-card-padding-inline, var(--option-card-padding-inline-default));
198
+ inset-block-start: var(--option-card-padding-block);
199
+ inset-inline-end: var(--option-card-padding-inline);
200
200
  margin-block-start: 0;
201
201
  }
202
202
  /* Visual order is fixed via `order`, NOT DOM order: composites
@@ -206,7 +206,7 @@ option-card-ui[checked] [slot="icon"] {
206
206
  :scope[layout="tile"] [slot="icon"] {
207
207
  order: 1;
208
208
  align-self: start;
209
- --option-card-icon-size-default: 1.75rem;
209
+ --option-card-icon-size: 1.75rem;
210
210
  }
211
211
  :scope[layout="tile"] [slot="heading"] {
212
212
  order: 2;
@@ -231,11 +231,11 @@ option-card-ui[checked] [slot="icon"] {
231
231
  /* ── State: disabled ── */
232
232
  :scope[disabled] {
233
233
  cursor: not-allowed;
234
- opacity: var(--option-card-disabled-opacity, var(--option-card-disabled-opacity-default));
234
+ opacity: var(--option-card-disabled-opacity);
235
235
  }
236
236
 
237
237
  /* ── Focus ── */
238
238
  :scope:focus-visible {
239
- box-shadow: var(--option-card-focus-ring, var(--option-card-focus-ring-default));
239
+ box-shadow: var(--option-card-focus-ring);
240
240
  }
241
241
  }
@@ -5,23 +5,23 @@
5
5
  (~52px) so they read as comfortable single-digit boxes. Radius is the
6
6
  plain --a-radius-lg token (no min()/clamp expression — radius patterns
7
7
  stay simple). Scales with [size] + density (relative to --a-size). */
8
- --otp-input-size-default: calc(var(--a-size) * 1.75);
9
- --otp-input-gap-default: var(--a-space-2);
10
- --otp-input-radius-default: var(--a-radius-lg);
11
- --otp-input-border-default: var(--a-ui-border);
12
- --otp-input-border-hover-default: var(--a-ui-border-hover);
13
- --otp-input-border-focus-default: var(--a-accent);
14
- --otp-input-bg-disabled-default: var(--a-ui-bg-disabled);
15
- --otp-input-fg-disabled-default: var(--a-ui-text-disabled);
16
- --otp-input-border-disabled-default: var(--a-ui-border-disabled);
17
- --otp-input-font-default: var(--a-font-family-code);
18
- --otp-input-font-size-default: var(--a-body-md);
19
- --otp-input-bg-default: var(--a-ui-bg);
20
- --otp-input-fg-default: var(--a-ui-text);
8
+ --otp-input-size: calc(var(--a-size) * 1.75);
9
+ --otp-input-gap: var(--a-space-2);
10
+ --otp-input-radius: var(--a-radius-lg);
11
+ --otp-input-border: var(--a-ui-border);
12
+ --otp-input-border-hover: var(--a-ui-border-hover);
13
+ --otp-input-border-focus: var(--a-accent);
14
+ --otp-input-bg-disabled: var(--a-ui-bg-disabled);
15
+ --otp-input-fg-disabled: var(--a-ui-text-disabled);
16
+ --otp-input-border-disabled: var(--a-ui-border-disabled);
17
+ --otp-input-font: var(--a-font-family-code);
18
+ --otp-input-font-size: var(--a-body-md);
19
+ --otp-input-bg: var(--a-ui-bg);
20
+ --otp-input-fg: var(--a-ui-text);
21
21
 
22
22
  /* ── Transitions ── */
23
- --otp-input-duration-default: var(--a-duration-fast);
24
- --otp-input-easing-default: var(--a-easing);
23
+ --otp-input-duration: var(--a-duration-fast);
24
+ --otp-input-easing: var(--a-easing);
25
25
  }
26
26
 
27
27
  :scope {
@@ -29,7 +29,7 @@
29
29
  box-sizing: border-box;
30
30
  display: flex;
31
31
  justify-content: center;
32
- gap: var(--otp-input-gap, var(--otp-input-gap-default));
32
+ gap: var(--otp-input-gap);
33
33
  /* Fill the container (a block-level control per ADR-0037) so the digit
34
34
  boxes grow to use the available width instead of sitting content-width
35
35
  on the left. Boxes flex to fill up to their cap; once capped (very wide
@@ -47,18 +47,18 @@
47
47
  box-sizing: border-box;
48
48
  flex: 1 1 0;
49
49
  min-width: 0;
50
- max-width: var(--otp-input-size, var(--otp-input-size-default));
50
+ max-width: var(--otp-input-size);
51
51
  aspect-ratio: 1;
52
52
  text-align: center;
53
- border: 1px solid var(--otp-input-border, var(--otp-input-border-default));
54
- border-radius: var(--otp-input-radius, var(--otp-input-radius-default));
55
- background: var(--otp-input-bg, var(--otp-input-bg-default));
56
- color: var(--otp-input-fg, var(--otp-input-fg-default));
57
- font-family: var(--otp-input-font, var(--otp-input-font-default));
58
- font-size: var(--otp-input-font-size, var(--otp-input-font-size-default));
53
+ border: 1px solid var(--otp-input-border);
54
+ border-radius: var(--otp-input-radius);
55
+ background: var(--otp-input-bg);
56
+ color: var(--otp-input-fg);
57
+ font-family: var(--otp-input-font);
58
+ font-size: var(--otp-input-font-size);
59
59
  line-height: 1;
60
60
  outline: none;
61
- transition: border-color var(--otp-input-duration, var(--otp-input-duration-default)) var(--otp-input-easing, var(--otp-input-easing-default));
61
+ transition: border-color var(--otp-input-duration) var(--otp-input-easing);
62
62
  /* Hide number spinner */
63
63
  -moz-appearance: textfield;
64
64
  }
@@ -69,11 +69,11 @@
69
69
  }
70
70
 
71
71
  [slot="digit"]:hover:not(:disabled) {
72
- border-color: var(--otp-input-border-hover, var(--otp-input-border-hover-default));
72
+ border-color: var(--otp-input-border-hover);
73
73
  }
74
74
 
75
75
  [slot="digit"]:focus {
76
- border-color: var(--otp-input-border-focus, var(--otp-input-border-focus-default));
76
+ border-color: var(--otp-input-border-focus);
77
77
  }
78
78
 
79
79
  /* ── Disabled ── */
@@ -81,13 +81,13 @@
81
81
  pointer-events: none;
82
82
  }
83
83
  :scope[disabled] [slot="digit"] {
84
- background: var(--otp-input-bg-disabled, var(--otp-input-bg-disabled-default));
85
- color: var(--otp-input-fg-disabled, var(--otp-input-fg-disabled-default));
84
+ background: var(--otp-input-bg-disabled);
85
+ color: var(--otp-input-fg-disabled);
86
86
  /* Native dashed border — it follows the box's border-radius (a rounded
87
87
  dashed square, matching the enabled state). An SVG border-image would
88
88
  give more uniform dashes but is clipped to a SQUARE — it ignores
89
89
  border-radius — so the disabled corners wouldn't round. */
90
- border: 1px dashed var(--otp-input-border-disabled, var(--otp-input-border-disabled-default));
90
+ border: 1px dashed var(--otp-input-border-disabled);
91
91
  cursor: not-allowed;
92
92
  }
93
93
  }
@@ -29,7 +29,7 @@
29
29
  "default": ""
30
30
  },
31
31
  "padding": {
32
- "description": "Page-padding scale from the spacing system. Accepts `0`–`8`\n(mapped to `--a-space-N`). Empty (no value) applies the\n`--page-padding-default` token; `0` removes padding.\n",
32
+ "description": "Page-padding scale from the spacing system. Accepts `0`–`8`\n(mapped to `--a-space-N`). Empty (no value) applies the\n`--page-padding` token; `0` removes padding.\n",
33
33
  "type": "string",
34
34
  "default": ""
35
35
  },
@@ -1,31 +1,31 @@
1
1
  @scope (page-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Max-width clamps ── */
4
- --page-max-width-prose-default: 65ch;
5
- --page-max-width-narrow-default: 80ch;
6
- --page-max-width-wide-default: 1080px;
7
- --page-max-width-full-default: 100%;
4
+ --page-max-width-prose: 65ch;
5
+ --page-max-width-narrow: 80ch;
6
+ --page-max-width-wide: 1080px;
7
+ --page-max-width-full: 100%;
8
8
 
9
9
  /* ── Padding default (when [padding] is set without a value) ── */
10
- --page-padding-default: var(--a-space-6);
10
+ --page-padding: var(--a-space-6);
11
11
 
12
12
  /* ── Region rhythm — vertical gap between header / section / footer,
13
13
  mirroring card-ui's section inset. The page [padding] supplies the
14
14
  outer frame; this is the inter-region spacing. ── */
15
- --page-inset-default: var(--a-space-5);
15
+ --page-inset: var(--a-space-5);
16
16
 
17
17
  /* ── Padded-region sub-surface (a section[padding] inside the page) ── */
18
- --page-region-bg-default: var(--a-bg-subtle);
19
- --page-region-radius-default: var(--a-radius-md);
18
+ --page-region-bg: var(--a-bg-subtle);
19
+ --page-region-radius: var(--a-radius-md);
20
20
 
21
21
  /* ── Surfaces ── */
22
- --page-bg-default: var(--a-canvas-0);
23
- --page-fg-default: var(--a-fg);
22
+ --page-bg: var(--a-canvas-0);
23
+ --page-fg: var(--a-fg);
24
24
 
25
25
  /* ── Sticky-header chrome (when [data-header-stuck]) ── */
26
- --page-sticky-bg-default: var(--a-canvas-0);
27
- --page-sticky-border-default: 1px solid var(--a-border-subtle);
28
- --page-sticky-shadow-default: var(--a-shadow-sm);
26
+ --page-sticky-bg: var(--a-canvas-0);
27
+ --page-sticky-border: 1px solid var(--a-border-subtle);
28
+ --page-sticky-shadow: var(--a-shadow-sm);
29
29
  }
30
30
 
31
31
  :scope {
@@ -35,18 +35,18 @@
35
35
  /* --page-pad carries the resolved [padding] value so the sticky header can
36
36
  bleed back over it (card-ui pattern) — see the sticky-header rule. */
37
37
  padding: var(--page-pad, 0);
38
- background: var(--page-bg, var(--page-bg-default));
39
- color: var(--page-fg, var(--page-fg-default));
38
+ background: var(--page-bg);
39
+ color: var(--page-fg);
40
40
  }
41
41
 
42
42
  /* ── max-width clamps ── */
43
- :scope[max-width="prose"] { max-width: var(--page-max-width-prose, var(--page-max-width-prose-default)); margin-inline: auto; }
44
- :scope[max-width="narrow"] { max-width: var(--page-max-width-narrow, var(--page-max-width-narrow-default)); margin-inline: auto; }
45
- :scope[max-width="wide"] { max-width: var(--page-max-width-wide, var(--page-max-width-wide-default)); margin-inline: auto; }
46
- :scope[max-width="full"] { max-width: var(--page-max-width-full, var(--page-max-width-full-default)); }
43
+ :scope[max-width="prose"] { max-width: var(--page-max-width-prose); margin-inline: auto; }
44
+ :scope[max-width="narrow"] { max-width: var(--page-max-width-narrow); margin-inline: auto; }
45
+ :scope[max-width="wide"] { max-width: var(--page-max-width-wide); margin-inline: auto; }
46
+ :scope[max-width="full"] { max-width: var(--page-max-width-full); }
47
47
 
48
48
  /* ── Padding scale (mirrors --a-space-N) — sets --page-pad, applied above ── */
49
- :scope[padding=""] { --page-pad: var(--page-padding-default); }
49
+ :scope[padding=""] { --page-pad: var(--page-padding); }
50
50
  :scope[padding="0"] { --page-pad: 0; }
51
51
  :scope[padding="1"] { --page-pad: var(--a-space-1); }
52
52
  :scope[padding="2"] { --page-pad: var(--a-space-2); }
@@ -69,7 +69,7 @@
69
69
  padding edge). */
70
70
  :scope > :where(header, header-ui, section, section-ui, footer, footer-ui)
71
71
  ~ :where(header, header-ui, section, section-ui, footer, footer-ui) {
72
- margin-block-start: var(--page-inset, var(--page-inset-default));
72
+ margin-block-start: var(--page-inset);
73
73
  }
74
74
 
75
75
  /* [bleed] — edge-to-edge region: cancel the page's inline [padding] so
@@ -82,9 +82,9 @@
82
82
  /* [padding] on a region — a padded sub-surface with its own background +
83
83
  radius, like card-ui's section[padding]. */
84
84
  :scope > :where(section, section-ui)[padding] {
85
- padding: var(--page-inset, var(--page-inset-default));
86
- background: var(--page-region-bg, var(--page-region-bg-default));
87
- border-radius: var(--page-region-radius, var(--page-region-radius-default));
85
+ padding: var(--page-inset);
86
+ background: var(--page-region-bg);
87
+ border-radius: var(--page-region-radius);
88
88
  }
89
89
 
90
90
  /* ── Scroll container ── */
@@ -104,7 +104,7 @@
104
104
  position: sticky;
105
105
  top: 0;
106
106
  z-index: 1;
107
- background: var(--page-sticky-bg, var(--page-sticky-bg-default));
107
+ background: var(--page-sticky-bg);
108
108
  /* Bleed horizontally over the page's inline [padding] so the opaque band
109
109
  spans the full scroll width, then re-inset the content so it stays
110
110
  aligned with the body. Vertical = its own breathing room. Card-ui
@@ -115,7 +115,7 @@
115
115
  }
116
116
 
117
117
  :scope[data-header-stuck] > :where(header, header-ui) {
118
- border-block-end: var(--page-sticky-border, var(--page-sticky-border-default));
119
- box-shadow: var(--page-sticky-shadow, var(--page-sticky-shadow-default));
118
+ border-block-end: var(--page-sticky-border);
119
+ box-shadow: var(--page-sticky-shadow);
120
120
  }
121
121
  }
@@ -27,7 +27,7 @@ Centered horizontally via `margin-inline: auto`.
27
27
  maxWidth: '' | 'prose' | 'narrow' | 'wide' | 'full';
28
28
  /** Page-padding scale from the spacing system. Accepts `0`–`8`
29
29
  (mapped to `--a-space-N`). Empty (no value) applies the
30
- `--page-padding-default` token; `0` removes padding.
30
+ `--page-padding` token; `0` removes padding.
31
31
  */
32
32
  padding: string;
33
33
  /** Sets the page as a scroll container. `overflow-y: auto`, full
@@ -44,7 +44,7 @@ props:
44
44
  description: |
45
45
  Page-padding scale from the spacing system. Accepts `0`–`8`
46
46
  (mapped to `--a-space-N`). Empty (no value) applies the
47
- `--page-padding-default` token; `0` removes padding.
47
+ `--page-padding` token; `0` removes padding.
48
48
  type: string
49
49
  default: ""
50
50
  reflect: true
@@ -12,11 +12,11 @@
12
12
  @scope (pagination-ui) {
13
13
  :where(:scope) {
14
14
  /* ── Layout ── */
15
- --pagination-gap-default: var(--a-space-1);
15
+ --pagination-gap: var(--a-space-1);
16
16
 
17
17
  /* ── Ellipsis cell (the only piece pagination styles directly) ── */
18
- --pagination-ellipsis-fg-default: var(--a-fg-muted);
19
- --pagination-ellipsis-font-default: var(--a-ui-size);
18
+ --pagination-ellipsis-fg: var(--a-fg-muted);
19
+ --pagination-ellipsis-font: var(--a-ui-size);
20
20
  text-align: start; /* §text-align-reset — blocks inheritance from centered ancestors */
21
21
  }
22
22
 
@@ -33,7 +33,7 @@
33
33
  [slot="nav"] {
34
34
  display: flex;
35
35
  align-items: center;
36
- gap: var(--pagination-gap, var(--pagination-gap-default));
36
+ gap: var(--pagination-gap);
37
37
  }
38
38
 
39
39
  /* ── Nested button-ui sizing handoff ──
@@ -54,8 +54,8 @@
54
54
  /* Match the height of the nested button-ui so the row baseline aligns */
55
55
  min-width: var(--a-size);
56
56
  height: var(--a-size);
57
- color: var(--pagination-ellipsis-fg, var(--pagination-ellipsis-fg-default));
58
- font-size: var(--pagination-ellipsis-font, var(--pagination-ellipsis-font-default));
57
+ color: var(--pagination-ellipsis-fg);
58
+ font-size: var(--pagination-ellipsis-font);
59
59
  pointer-events: none;
60
60
  user-select: none;
61
61
  line-height: 1;