@orange-halo/components 1.0.0 → 2.1.0

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 (82) hide show
  1. package/custom-elements.json +3182 -73
  2. package/dist/base.js +3 -3
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +4 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/oh-accordion.js +33 -33
  8. package/dist/oh-alert.js +26 -26
  9. package/dist/oh-badge.js +11 -11
  10. package/dist/oh-breadcrumb.js +20 -20
  11. package/dist/oh-button.d.ts +7 -1
  12. package/dist/oh-button.d.ts.map +1 -1
  13. package/dist/oh-button.js +118 -89
  14. package/dist/oh-button.js.map +1 -1
  15. package/dist/oh-card.d.ts.map +1 -1
  16. package/dist/oh-card.js +38 -66
  17. package/dist/oh-card.js.map +1 -1
  18. package/dist/oh-checkbox-group.d.ts +8 -0
  19. package/dist/oh-checkbox-group.d.ts.map +1 -1
  20. package/dist/oh-checkbox-group.figma.js +1 -1
  21. package/dist/oh-checkbox-group.figma.js.map +1 -1
  22. package/dist/oh-checkbox-group.js +40 -26
  23. package/dist/oh-checkbox-group.js.map +1 -1
  24. package/dist/oh-checkbox.d.ts +11 -2
  25. package/dist/oh-checkbox.d.ts.map +1 -1
  26. package/dist/oh-checkbox.js +44 -28
  27. package/dist/oh-checkbox.js.map +1 -1
  28. package/dist/oh-container.d.ts +5 -5
  29. package/dist/oh-container.js +15 -15
  30. package/dist/oh-drawer.d.ts +7 -2
  31. package/dist/oh-drawer.d.ts.map +1 -1
  32. package/dist/oh-drawer.js +52 -25
  33. package/dist/oh-drawer.js.map +1 -1
  34. package/dist/oh-footer.d.ts +5 -0
  35. package/dist/oh-footer.d.ts.map +1 -1
  36. package/dist/oh-footer.js +9 -4
  37. package/dist/oh-footer.js.map +1 -1
  38. package/dist/oh-hero.d.ts +5 -0
  39. package/dist/oh-hero.d.ts.map +1 -1
  40. package/dist/oh-hero.js +55 -51
  41. package/dist/oh-hero.js.map +1 -1
  42. package/dist/oh-icon.js +9 -9
  43. package/dist/oh-input.d.ts +11 -3
  44. package/dist/oh-input.d.ts.map +1 -1
  45. package/dist/oh-input.figma.js +2 -2
  46. package/dist/oh-input.figma.js.map +1 -1
  47. package/dist/oh-input.js +49 -37
  48. package/dist/oh-input.js.map +1 -1
  49. package/dist/oh-link.d.ts +1 -1
  50. package/dist/oh-link.js +35 -35
  51. package/dist/oh-modal.d.ts +10 -4
  52. package/dist/oh-modal.d.ts.map +1 -1
  53. package/dist/oh-modal.js +75 -72
  54. package/dist/oh-modal.js.map +1 -1
  55. package/dist/oh-navbar.d.ts.map +1 -1
  56. package/dist/oh-navbar.js +4 -5
  57. package/dist/oh-navbar.js.map +1 -1
  58. package/dist/oh-progress.d.ts.map +1 -1
  59. package/dist/oh-progress.js +21 -35
  60. package/dist/oh-progress.js.map +1 -1
  61. package/dist/oh-radio-group.d.ts +8 -0
  62. package/dist/oh-radio-group.d.ts.map +1 -1
  63. package/dist/oh-radio-group.js +40 -26
  64. package/dist/oh-radio-group.js.map +1 -1
  65. package/dist/oh-radio.d.ts +10 -1
  66. package/dist/oh-radio.d.ts.map +1 -1
  67. package/dist/oh-radio.js +44 -28
  68. package/dist/oh-radio.js.map +1 -1
  69. package/dist/oh-select.d.ts +10 -2
  70. package/dist/oh-select.d.ts.map +1 -1
  71. package/dist/oh-select.js +51 -32
  72. package/dist/oh-select.js.map +1 -1
  73. package/dist/oh-skip-link.d.ts.map +1 -1
  74. package/dist/oh-skip-link.js +15 -14
  75. package/dist/oh-skip-link.js.map +1 -1
  76. package/dist/oh-tabs.js +15 -15
  77. package/dist/oh-toggle.d.ts +5 -2
  78. package/dist/oh-toggle.d.ts.map +1 -1
  79. package/dist/oh-toggle.js +18 -20
  80. package/dist/oh-toggle.js.map +1 -1
  81. package/dist/styles/typography.js +50 -50
  82. package/package.json +15 -4
package/dist/oh-modal.js CHANGED
@@ -6,12 +6,12 @@
6
6
  * DESIGN DECISIONS:
7
7
  * ─────────────────
8
8
  * 1. CHUNKY & LIFTED
9
- * - 2.5px border like other components
10
- * - Offset shadow (4px 4px) — feels like a lifted surface
9
+ * - stroke.control border like other components
10
+ * - Offset shadow (elevation.offset.2xl) — feels like a lifted surface
11
11
  * - Warm backdrop, not pure black
12
12
  *
13
13
  * 2. ACCESSIBLE
14
- * - Focus trap when open
14
+ * - Focus trap when open (focus guards at each end of the dialog)
15
15
  * - Escape key closes (when dismissible)
16
16
  * - Focus returns to trigger on close
17
17
  * - role="dialog" + aria-modal="true"
@@ -32,6 +32,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
32
32
  import { html, css, nothing } from "lit";
33
33
  import { customElement, property, query, state } from "lit/decorators.js";
34
34
  import { OhElement, baseStyles } from "./base.js";
35
+ import { getFocusableElementsDeep } from "@orange-halo/utils";
35
36
  let OhModal = class OhModal extends OhElement {
36
37
  constructor() {
37
38
  super(...arguments);
@@ -63,7 +64,7 @@ let OhModal = class OhModal extends OhElement {
63
64
  z-index: 1000;
64
65
 
65
66
  /* Warm semi-transparent overlay */
66
- background-color: rgba(61, 50, 41, 0.6);
67
+ background-color: var(--oh-modal-overlay);
67
68
 
68
69
  /* Flexbox centering */
69
70
  display: flex;
@@ -71,17 +72,22 @@ let OhModal = class OhModal extends OhElement {
71
72
  justify-content: center;
72
73
  padding: var(--oh-spacing-4);
73
74
 
74
- /* Animation */
75
+ /* Animation. Closing: fade, then hide once the fade ends. */
75
76
  opacity: 0;
76
77
  visibility: hidden;
77
- transition:
78
- opacity var(--oh-motion-gentle, 200ms) ease,
79
- visibility var(--oh-motion-gentle, 200ms) ease;
78
+ transition:
79
+ opacity var(--oh-motion-gentle) ease,
80
+ visibility 0s linear var(--oh-motion-gentle);
80
81
  }
81
82
 
83
+ /* Opening: visible at once, so focus can move into the dialog on the
84
+ next frame (a hidden element can't take focus). */
82
85
  .backdrop--open {
83
86
  opacity: 1;
84
87
  visibility: visible;
88
+ transition:
89
+ opacity var(--oh-motion-gentle) ease,
90
+ visibility 0s;
85
91
  }
86
92
 
87
93
  /* ═══════════════════════════════════════════════════════════════
@@ -99,18 +105,18 @@ let OhModal = class OhModal extends OhElement {
99
105
  background-color: var(--oh-color-surface-base);
100
106
 
101
107
  /* Chunky border */
102
- border: var(--oh-input-base-border-width, 2.5px) solid var(--oh-color-border-emphasis);
103
- border-radius: var(--oh-radius-md);
108
+ border: var(--oh-stroke-control) solid var(--oh-color-border-emphasis);
109
+ border-radius: var(--oh-shape-container);
104
110
 
105
111
  /* Offset shadow — lifted surface */
106
- box-shadow: 6px 6px 0 0 rgba(107, 93, 77, 0.25);
112
+ box-shadow: var(--oh-elevation-offset-2xl) var(--oh-elevation-offset-2xl) 0 0 var(--oh-shadow-overlay);
107
113
 
108
114
  /* Animation */
109
115
  transform: scale(0.95) translateY(10px);
110
116
  opacity: 0;
111
117
  transition:
112
- transform var(--oh-motion-gentle, 200ms) var(--oh-motion-ease-playful, cubic-bezier(0.34, 1.56, 0.64, 1)),
113
- opacity var(--oh-motion-gentle, 200ms) ease;
118
+ transform var(--oh-motion-gentle) var(--oh-motion-ease-playful),
119
+ opacity var(--oh-motion-gentle) ease;
114
120
  }
115
121
 
116
122
  .backdrop--open .modal {
@@ -141,16 +147,16 @@ let OhModal = class OhModal extends OhElement {
141
147
  justify-content: space-between;
142
148
  gap: var(--oh-spacing-4);
143
149
  padding: var(--oh-spacing-4) var(--oh-spacing-5);
144
- border-bottom: var(--oh-input-base-border-width, 2.5px) solid var(--oh-color-border-subtle);
150
+ border-bottom: var(--oh-stroke-control) solid var(--oh-color-border-subtle);
145
151
  }
146
152
 
147
153
  .modal-title {
148
154
  margin: 0;
149
- font-family: var(--oh-font-family-sans);
150
- font-size: var(--oh-font-size-xl);
151
- font-weight: var(--oh-font-weight-semibold);
155
+ font-family: var(--oh-typography-body-font-family);
156
+ font-size: var(--oh-typography-heading-h4-font-size);
157
+ font-weight: var(--oh-typography-heading-h4-font-weight);
152
158
  color: var(--oh-color-text-primary);
153
- line-height: var(--oh-font-line-height-tight, 1.25);
159
+ line-height: var(--oh-typography-heading-h1-line-height);
154
160
  }
155
161
 
156
162
  /* ═══════════════════════════════════════════════════════════════
@@ -165,31 +171,31 @@ let OhModal = class OhModal extends OhElement {
165
171
 
166
172
  padding: var(--oh-spacing-1) var(--oh-spacing-2);
167
173
 
168
- font-family: var(--oh-font-family-sans);
169
- font-size: var(--oh-font-size-base);
170
- font-weight: var(--oh-font-weight-medium);
174
+ font-family: var(--oh-typography-body-font-family);
175
+ font-size: var(--oh-typography-body-base-font-size);
176
+ font-weight: var(--oh-typography-label-base-font-weight);
171
177
 
172
178
  background: transparent;
173
179
  border: none;
174
- border-radius: var(--oh-radius-sm);
180
+ border-radius: var(--oh-shape-compact);
175
181
  cursor: pointer;
176
182
  color: var(--oh-color-text-primary);
177
183
 
178
184
  transition:
179
- transform var(--oh-motion-snappy, 150ms) var(--oh-motion-ease-playful, cubic-bezier(0.34, 1.56, 0.64, 1)),
180
- box-shadow var(--oh-motion-snappy, 150ms) var(--oh-motion-ease-playful, cubic-bezier(0.34, 1.56, 0.64, 1)),
181
- background-color var(--oh-motion-quick, 120ms) ease;
185
+ transform var(--oh-motion-snappy) var(--oh-motion-ease-playful),
186
+ box-shadow var(--oh-motion-snappy) var(--oh-motion-ease-playful),
187
+ background-color var(--oh-motion-quick) ease;
182
188
  }
183
189
 
184
190
  .modal-close:hover {
185
- background-color: rgba(0, 0, 0, 0.08);
186
- transform: translate(-2px, -2px);
187
- box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.15);
191
+ background-color: var(--oh-close-button-background-hover);
192
+ transform: translate(var(--oh-lift-hover-md), var(--oh-lift-hover-md));
193
+ box-shadow: var(--oh-elevation-offset-lg) var(--oh-elevation-offset-lg) 0 0 var(--oh-close-button-shadow-hover);
188
194
  }
189
195
 
190
196
  .modal-close:active {
191
- transform: translate(1px, 1px);
192
- box-shadow: 1px 1px 0 0 rgba(0, 0, 0, 0.15);
197
+ transform: translate(var(--oh-lift-press-sm), var(--oh-lift-press-sm));
198
+ box-shadow: var(--oh-elevation-offset-xs) var(--oh-elevation-offset-xs) 0 0 var(--oh-close-button-shadow-hover);
193
199
  }
194
200
 
195
201
  .modal-close:focus-visible {
@@ -212,9 +218,9 @@ let OhModal = class OhModal extends OhElement {
212
218
  overflow-y: auto;
213
219
  padding: var(--oh-spacing-5);
214
220
 
215
- font-family: var(--oh-font-family-sans);
216
- font-size: var(--oh-font-size-base);
217
- line-height: var(--oh-font-line-height-normal);
221
+ font-family: var(--oh-typography-body-font-family);
222
+ font-size: var(--oh-typography-body-base-font-size);
223
+ line-height: var(--oh-typography-body-base-line-height);
218
224
  color: var(--oh-color-text-primary);
219
225
  }
220
226
 
@@ -228,7 +234,7 @@ let OhModal = class OhModal extends OhElement {
228
234
  justify-content: flex-start;
229
235
  gap: var(--oh-spacing-6);
230
236
  padding: var(--oh-spacing-4) var(--oh-spacing-5);
231
- border-top: var(--oh-input-base-border-width, 2.5px) solid var(--oh-color-border-subtle);
237
+ border-top: var(--oh-stroke-control) solid var(--oh-color-border-subtle);
232
238
  }
233
239
 
234
240
  /* Hide footer if empty */
@@ -243,6 +249,15 @@ let OhModal = class OhModal extends OhElement {
243
249
  gap: var(--oh-spacing-6);
244
250
  }
245
251
 
252
+ /* Focus guards: focusable but never seen; focus moves on at once. */
253
+ .focus-guard {
254
+ position: absolute;
255
+ width: 1px;
256
+ height: 1px;
257
+ overflow: hidden;
258
+ clip-path: inset(50%);
259
+ }
260
+
246
261
  /* ═══════════════════════════════════════════════════════════════
247
262
  REDUCED MOTION
248
263
  ═══════════════════════════════════════════════════════════════ */
@@ -253,7 +268,11 @@ let OhModal = class OhModal extends OhElement {
253
268
  .modal-close {
254
269
  transition-duration: 0.01ms !important;
255
270
  }
256
-
271
+
272
+ .backdrop {
273
+ transition-delay: 0s !important;
274
+ }
275
+
257
276
  .modal {
258
277
  transform: none !important;
259
278
  }
@@ -275,8 +294,13 @@ let OhModal = class OhModal extends OhElement {
275
294
  }
276
295
  }
277
296
  _onOpen() {
278
- // Store the currently focused element
279
- this._previousActiveElement = document.activeElement;
297
+ // Store the currently focused element, following focus into shadow
298
+ // roots: a trigger inside another component is reported as its host,
299
+ // which can't take focus back.
300
+ let active = document.activeElement;
301
+ while (active?.shadowRoot?.activeElement)
302
+ active = active.shadowRoot.activeElement;
303
+ this._previousActiveElement = active;
280
304
  // Prevent body scroll
281
305
  document.body.style.overflow = "hidden";
282
306
  // Add keyboard listener
@@ -307,43 +331,20 @@ let OhModal = class OhModal extends OhElement {
307
331
  this._requestClose();
308
332
  return;
309
333
  }
310
- if (event.key === "Tab") {
311
- this._trapFocus(event);
312
- }
313
- }
314
- _trapFocus(event) {
315
- const focusableElements = this._getFocusableElements();
316
- if (focusableElements.length === 0)
317
- return;
318
- const firstElement = focusableElements[0];
319
- const lastElement = focusableElements[focusableElements.length - 1];
320
- if (event.shiftKey) {
321
- // Shift + Tab
322
- if (document.activeElement === firstElement) {
323
- event.preventDefault();
324
- lastElement.focus();
325
- }
326
- }
327
- else {
328
- // Tab
329
- if (document.activeElement === lastElement) {
330
- event.preventDefault();
331
- firstElement.focus();
332
- }
333
- }
334
334
  }
335
+ /** Focusable elements in the dialog, in tab order, excluding the guards. */
335
336
  _getFocusableElements() {
336
- const selector = [
337
- 'button:not([disabled])',
338
- 'a[href]',
339
- 'input:not([disabled])',
340
- 'select:not([disabled])',
341
- 'textarea:not([disabled])',
342
- '[tabindex]:not([tabindex="-1"])',
343
- ].join(', ');
344
- const shadowElements = Array.from(this.shadowRoot?.querySelectorAll(selector) || []);
345
- const slottedElements = Array.from(this.querySelectorAll(selector));
346
- return [...shadowElements, ...slottedElements];
337
+ const dialog = this.renderRoot.querySelector(".modal");
338
+ return dialog ? getFocusableElementsDeep(dialog).filter((el) => !el.classList.contains("focus-guard")) : [];
339
+ }
340
+ /**
341
+ * Focus guards: Tab past the last control lands on the end guard, which
342
+ * wraps to the first; Shift+Tab before the first wraps to the last. This
343
+ * holds however the browser orders Tab (Safari skips links by default).
344
+ */
345
+ _focusEdge(edge) {
346
+ const items = this._getFocusableElements();
347
+ (edge === "first" ? items[0] : items[items.length - 1])?.focus();
347
348
  }
348
349
  _focusFirstElement() {
349
350
  const focusableElements = this._getFocusableElements();
@@ -388,6 +389,7 @@ let OhModal = class OhModal extends OhElement {
388
389
  aria-labelledby=${labelId || nothing}
389
390
  part="modal"
390
391
  >
392
+ <span class="focus-guard" tabindex="0" @focus=${() => this._focusEdge("last")}></span>
391
393
  ${this.heading || this.dismissible
392
394
  ? html `
393
395
  <header class="modal-header" part="header">
@@ -420,6 +422,7 @@ let OhModal = class OhModal extends OhElement {
420
422
  <footer class="modal-footer" part="footer">
421
423
  <slot name="footer"></slot>
422
424
  </footer>
425
+ <span class="focus-guard" tabindex="0" @focus=${() => this._focusEdge("first")}></span>
423
426
  </div>
424
427
  </div>
425
428
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"oh-modal.js","sourceRoot":"","sources":["../src/oh-modal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oh-modal.js","sourceRoot":"","sources":["../src/oh-modal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oh-navbar.d.ts","sourceRoot":"","sources":["../src/oh-navbar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AAEtB,qBACa,QAAS,SAAQ,SAAS;IACrC,OAAgB,MAAM,4BA2EpB;IAEF,yCAAyC;IAEzC,aAAa,SAAU;IAGvB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,MAAM;CA0CP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"oh-navbar.d.ts","sourceRoot":"","sources":["../src/oh-navbar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AAEtB,qBACa,QAAS,SAAQ,SAAS;IACrC,OAAgB,MAAM,4BA0EpB;IAEF,yCAAyC;IAEzC,aAAa,SAAU;IAGvB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,MAAM;CA0CP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
package/dist/oh-navbar.js CHANGED
@@ -53,10 +53,9 @@ let OhNavbar = class OhNavbar extends OhElement {
53
53
  :host {
54
54
  display: block;
55
55
  background-color: var(--oh-color-surface-base);
56
- border-bottom: var(--oh-border-width-md) solid var(--oh-color-border-default);
57
56
  box-shadow: 0 2px 8px var(--oh-focus-glow-color);
58
- font-family: var(--oh-font-family-sans);
59
- font-size: var(--oh-font-size-base);
57
+ font-family: var(--oh-typography-body-font-family);
58
+ font-size: var(--oh-typography-body-base-font-size);
60
59
  }
61
60
 
62
61
  .navbar {
@@ -104,7 +103,7 @@ let OhNavbar = class OhNavbar extends OhElement {
104
103
 
105
104
  .drawer-nav ::slotted(oh-link) {
106
105
  padding: var(--oh-spacing-3) 0;
107
- border-bottom: 1px solid var(--oh-color-border-subtle);
106
+ border-bottom: var(--oh-stroke-divider) solid var(--oh-color-border-subtle);
108
107
  }
109
108
 
110
109
  .drawer-nav ::slotted(oh-link:last-child) {
@@ -149,7 +148,7 @@ let OhNavbar = class OhNavbar extends OhElement {
149
148
  variant="primary"
150
149
  size="sm"
151
150
  icon-only
152
- aria-label="Open navigation menu"
151
+ accessible-label="Open navigation menu"
153
152
  @click=${this._openDrawer}
154
153
  >
155
154
  <oh-icon name="menu"></oh-icon>
@@ -1 +1 @@
1
- {"version":3,"file":"oh-navbar.js","sourceRoot":"","sources":["../src/oh-navbar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;;;;;AAEH,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AAGf,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,SAAS;IAAhC;;QA8EL,yCAAyC;QAEzC,kBAAa,GAAG,MAAM,CAAC;QAGf,gBAAW,GAAG,KAAK,CAAC;IAoD9B,CAAC;aAtIiB,WAAM,GAAG;QACvB,UAAU;QACV,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwEF;KACF,AA3EqB,CA2EpB;IASM,WAAW;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;uBAoBQ,IAAI,CAAC,WAAW;;;;;;;;;;;kBAWrB,IAAI,CAAC,aAAa;gBACpB,IAAI,CAAC,WAAW;oBACZ,IAAI,CAAC,YAAY;;;;;;KAMhC,CAAC;IACJ,CAAC;;AAtDD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;+CACjC;AAGf;IADP,KAAK,EAAE;6CACoB;AAnFjB,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAuIpB"}
1
+ {"version":3,"file":"oh-navbar.js","sourceRoot":"","sources":["../src/oh-navbar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;;;;;AAEH,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AAGf,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,SAAS;IAAhC;;QA6EL,yCAAyC;QAEzC,kBAAa,GAAG,MAAM,CAAC;QAGf,gBAAW,GAAG,KAAK,CAAC;IAoD9B,CAAC;aArIiB,WAAM,GAAG;QACvB,UAAU;QACV,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuEF;KACF,AA1EqB,CA0EpB;IASM,WAAW;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;uBAoBQ,IAAI,CAAC,WAAW;;;;;;;;;;;kBAWrB,IAAI,CAAC,aAAa;gBACpB,IAAI,CAAC,WAAW;oBACZ,IAAI,CAAC,YAAY;;;;;;KAMhC,CAAC;IACJ,CAAC;;AAtDD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;+CACjC;AAGf;IADP,KAAK,EAAE;6CACoB;AAlFjB,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAsIpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"oh-progress.d.ts","sourceRoot":"","sources":["../src/oh-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AACjF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,qBACa,UAAW,SAAQ,SAAS;IACvC,OAAgB,MAAM,4BA4KpB;IAEF,0DAA0D;IAE1D,KAAK,SAAK;IAEV,kCAAkC;IAElC,GAAG,SAAO;IAEV,+DAA+D;IAE/D,KAAK,SAAc;IAEnB,sDAAsD;IAEtD,SAAS,UAAS;IAElB,4CAA4C;IAE5C,SAAS,UAAQ;IAEjB,mBAAmB;IAEnB,IAAI,EAAE,YAAY,CAAQ;IAE1B,oBAAoB;IAEpB,OAAO,EAAE,eAAe,CAAW;IAEnC,0CAA0C;IAE1C,OAAO,UAAS;IAEhB,2CAA2C;IAC3C,OAAO,KAAK,UAAU,GAGrB;IAED,MAAM;CAwCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
1
+ {"version":3,"file":"oh-progress.d.ts","sourceRoot":"","sources":["../src/oh-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AACjF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,qBACa,UAAW,SAAQ,SAAS;IACvC,OAAgB,MAAM,4BA8JpB;IAEF,0DAA0D;IAE1D,KAAK,SAAK;IAEV,kCAAkC;IAElC,GAAG,SAAO;IAEV,+DAA+D;IAE/D,KAAK,SAAc;IAEnB,sDAAsD;IAEtD,SAAS,UAAS;IAElB,4CAA4C;IAE5C,SAAS,UAAQ;IAEjB,mBAAmB;IAEnB,IAAI,EAAE,YAAY,CAAQ;IAE1B,oBAAoB;IAEpB,OAAO,EAAE,eAAe,CAAW;IAEnC,0CAA0C;IAE1C,OAAO,UAAS;IAEhB,2CAA2C;IAC3C,OAAO,KAAK,UAAU,GAGrB;IAED,MAAM;CAwCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -69,7 +69,7 @@ let OhProgress = class OhProgress extends OhElement {
69
69
  display: flex;
70
70
  align-items: center;
71
71
  gap: var(--oh-spacing-3);
72
- font-family: var(--oh-font-family-sans);
72
+ font-family: var(--oh-typography-body-font-family);
73
73
  }
74
74
 
75
75
  /* ═══════════════════════════════════════════════════════════════
@@ -79,10 +79,10 @@ let OhProgress = class OhProgress extends OhElement {
79
79
  .progress__track {
80
80
  flex: 1;
81
81
  background-color: var(--oh-color-surface-inset);
82
- border: var(--oh-border-width-chunky, 2.5px) solid var(--oh-color-border-default);
83
- border-radius: var(--oh-radius-full);
82
+ border: var(--oh-stroke-control) solid var(--oh-color-border-default);
83
+ border-radius: var(--oh-shape-pill);
84
84
  overflow: hidden;
85
- box-shadow: inset 2px 2px 0 0 rgba(0, 0, 0, 0.06);
85
+ box-shadow: inset var(--oh-elevation-offset-sm) var(--oh-elevation-offset-sm) 0 0 var(--oh-progress-track-inset-shadow);
86
86
  }
87
87
 
88
88
  /* Size variants for track height */
@@ -104,8 +104,8 @@ let OhProgress = class OhProgress extends OhElement {
104
104
 
105
105
  .progress__fill {
106
106
  height: 100%;
107
- border-radius: var(--oh-radius-full);
108
- transition: width var(--oh-motion-relaxed, 300ms) var(--oh-motion-ease-gentle, ease-out);
107
+ border-radius: var(--oh-shape-pill);
108
+ transition: width var(--oh-motion-relaxed) var(--oh-motion-ease-gentle);
109
109
  min-width: 0;
110
110
  }
111
111
 
@@ -135,8 +135,8 @@ let OhProgress = class OhProgress extends OhElement {
135
135
  ═══════════════════════════════════════════════════════════════ */
136
136
 
137
137
  .progress__value {
138
- font-size: var(--oh-font-size-base);
139
- font-weight: var(--oh-font-weight-medium);
138
+ font-size: var(--oh-typography-body-base-font-size);
139
+ font-weight: var(--oh-typography-label-base-font-weight);
140
140
  color: var(--oh-color-text-primary);
141
141
  min-width: 3.5ch;
142
142
  text-align: right;
@@ -144,11 +144,11 @@ let OhProgress = class OhProgress extends OhElement {
144
144
  }
145
145
 
146
146
  .progress--sm .progress__value {
147
- font-size: var(--oh-font-size-base);
147
+ font-size: var(--oh-typography-body-base-font-size);
148
148
  }
149
149
 
150
150
  .progress--lg .progress__value {
151
- font-size: var(--oh-font-size-lg);
151
+ font-size: var(--oh-typography-body-lg-font-size);
152
152
  }
153
153
 
154
154
  /* Hide value text when showValue is false */
@@ -169,8 +169,8 @@ let OhProgress = class OhProgress extends OhElement {
169
169
  ═══════════════════════════════════════════════════════════════ */
170
170
 
171
171
  .progress__label {
172
- font-size: var(--oh-font-size-base);
173
- font-weight: var(--oh-font-weight-medium);
172
+ font-size: var(--oh-typography-body-base-font-size);
173
+ font-weight: var(--oh-typography-label-base-font-weight);
174
174
  color: var(--oh-color-text-primary);
175
175
  margin-bottom: var(--oh-spacing-2);
176
176
  }
@@ -180,38 +180,24 @@ let OhProgress = class OhProgress extends OhElement {
180
180
  ═══════════════════════════════════════════════════════════════ */
181
181
 
182
182
  :host([inverse]) .progress__track {
183
- background-color: rgba(255, 255, 255, 0.15);
184
- border-color: rgba(255, 255, 255, 0.3);
183
+ background-color: var(--oh-progress-inverse-track-background);
184
+ border-color: var(--oh-progress-inverse-track-border);
185
185
  box-shadow: none;
186
186
  }
187
187
 
188
188
  :host([inverse]) .progress__value {
189
- color: var(--oh-color-surface-white);
189
+ color: var(--oh-color-text-on-brand);
190
190
  }
191
191
 
192
192
  :host([inverse]) .progress__label {
193
- color: var(--oh-color-surface-white);
193
+ color: var(--oh-color-text-on-brand);
194
194
  }
195
195
 
196
- /* Inverse fill - use honey/gold for better visibility on dark */
197
- :host([inverse]) .progress--brand .progress__fill {
198
- background-color: var(--oh-color-honey, #E8A838);
199
- }
200
-
201
- :host([inverse]) .progress--success .progress__fill {
202
- background-color: #6FCF97;
203
- }
204
-
205
- :host([inverse]) .progress--info .progress__fill {
206
- background-color: #6FB3CF;
207
- }
208
-
209
- :host([inverse]) .progress--warning .progress__fill {
210
- background-color: var(--oh-color-honey, #E8A838);
211
- }
212
-
213
- :host([inverse]) .progress--error .progress__fill {
214
- background-color: #EB8989;
196
+ /* Inverse fill — one solid cream fill for every variant, so the bar
197
+ keeps 3:1+ contrast against the track on brand/accent backgrounds
198
+ (the old honey/pastel fills were 1.6–1.9:1). */
199
+ :host([inverse]) .progress__fill {
200
+ background-color: var(--oh-progress-inverse-fill);
215
201
  }
216
202
 
217
203
  /* ═══════════════════════════════════════════════════════════════
@@ -1 +1 @@
1
- {"version":3,"file":"oh-progress.js","sourceRoot":"","sources":["../src/oh-progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oh-progress.js","sourceRoot":"","sources":["../src/oh-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;;;;;AAEH,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAM3C,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IAAlC;;QAiKL,0DAA0D;QAE1D,UAAK,GAAG,CAAC,CAAC;QAEV,kCAAkC;QAElC,QAAG,GAAG,GAAG,CAAC;QAEV,+DAA+D;QAE/D,UAAK,GAAG,UAAU,CAAC;QAEnB,sDAAsD;QAEtD,cAAS,GAAG,KAAK,CAAC;QAElB,4CAA4C;QAE5C,cAAS,GAAG,IAAI,CAAC;QAEjB,mBAAmB;QAEnB,SAAI,GAAiB,IAAI,CAAC;QAE1B,oBAAoB;QAEpB,YAAO,GAAoB,OAAO,CAAC;QAEnC,0CAA0C;QAE1C,YAAO,GAAG,KAAK,CAAC;IAgDlB,CAAC;aA9OiB,WAAM,GAAG;QACvB,UAAU;QACV,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2JF;KACF,AA9JqB,CA8JpB;IAkCF,2CAA2C;IAC3C,IAAY,UAAU;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,MAAM;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC5B,QAAQ,EAAE,IAAI;YACd,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;YAChC,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;SACpC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;YACjC,eAAe,EAAE,IAAI;YACrB,yBAAyB,EAAE,CAAC,IAAI,CAAC,SAAS;SAC3C,CAAC,CAAC;QAEH,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,SAAS;YACd,CAAC,CAAC,IAAI,CAAA,gCAAgC,IAAI,CAAC,KAAK,QAAQ;YACxD,CAAC,CAAC,IAAI;;;gBAGE,OAAO;;wBAEC,IAAI,CAAC,KAAK;;wBAEV,IAAI,CAAC,GAAG;qBACX,IAAI,CAAC,KAAK;;;;;;4BAMH,UAAU;;;sBAGhB,YAAY;YACtB,UAAU;;;KAGjB,CAAC;IACJ,CAAC;;AA3ED;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAChC;AAIV;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAChC;AAIV;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCACR;AAInB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;6CACnC;AAIlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;6CACpC;AAIjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAChB;AAI1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CACP;AAInC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAC3B;AA/LL,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CA+OtB"}
@@ -14,6 +14,7 @@
14
14
  *
15
15
  * @element oh-radio-group
16
16
  */
17
+ import { type PropertyValues } from "lit";
17
18
  import { OhElement } from "./base.js";
18
19
  export interface RadioOption {
19
20
  label: string;
@@ -33,6 +34,13 @@ export declare class OhRadioGroup extends OhElement {
33
34
  private _handleChange;
34
35
  private _handleFocus;
35
36
  private _handleBlur;
37
+ /**
38
+ * Errors that appear after first render (e.g. on submit) are announced via
39
+ * role="alert". Errors present on page load are only linked with
40
+ * aria-describedby, so they aren't read out unprompted.
41
+ */
42
+ private _announceError;
43
+ willUpdate(changed: PropertyValues): void;
36
44
  render(): import("lit").TemplateResult<1>;
37
45
  }
38
46
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"oh-radio-group.d.ts","sourceRoot":"","sources":["../src/oh-radio-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBACa,YAAa,SAAQ,SAAS;IACzC,OAAgB,MAAM,4BA4LpB;IAGF,KAAK,SAAM;IAGX,IAAI,SAAM;IAGV,OAAO,EAAE,WAAW,EAAE,CAAM;IAG5B,KAAK,SAAM;IAGX,QAAQ,UAAS;IAGjB,KAAK,UAAS;IAGd,YAAY,SAAM;IAGlB,OAAO,CAAC,QAAQ,CAAkE;IAGlF,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;IAInB,MAAM;CAuDP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,YAAY,CAAC;KAChC;CACF"}
1
+ {"version":3,"file":"oh-radio-group.d.ts","sourceRoot":"","sources":["../src/oh-radio-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBACa,YAAa,SAAQ,SAAS;IACzC,OAAgB,MAAM,4BA4LpB;IAGF,KAAK,SAAM;IAGX,IAAI,SAAM;IAGV,OAAO,EAAE,WAAW,EAAE,CAAM;IAG5B,KAAK,SAAM;IAGX,QAAQ,UAAS;IAGjB,KAAK,UAAS;IAGd,YAAY,SAAM;IAGlB,OAAO,CAAC,QAAQ,CAAkE;IAGlF,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IAEH,OAAO,CAAC,cAAc,CAAS;IAE/B,UAAU,CAAC,OAAO,EAAE,cAAc;IAMlC,MAAM;CAuDP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,YAAY,CAAC;KAChC;CACF"}