@helixui/library 3.3.1-next.115 → 3.3.1-next.117

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 (129) hide show
  1. package/custom-elements.json +182 -13
  2. package/dist/components/hx-accordion/hx-accordion-item.d.ts +35 -0
  3. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  4. package/dist/components/hx-checkbox/hx-checkbox.d.ts +153 -1
  5. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  6. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  7. package/dist/components/hx-checkbox/index.js +1 -1
  8. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +151 -2
  9. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  10. package/dist/components/hx-checkbox-group/index.js +1 -1
  11. package/dist/components/hx-color-picker/hx-color-picker.d.ts +163 -1
  12. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  13. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  14. package/dist/components/hx-color-picker/index.js +1 -1
  15. package/dist/components/hx-combobox/hx-combobox.d.ts +311 -2
  16. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  17. package/dist/components/hx-combobox/index.js +1 -1
  18. package/dist/components/hx-date-picker/hx-date-picker.d.ts +182 -56
  19. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  20. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  21. package/dist/components/hx-date-picker/index.js +1 -1
  22. package/dist/components/hx-dialog/hx-dialog.d.ts +240 -0
  23. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  24. package/dist/components/hx-dialog/index.js +1 -1
  25. package/dist/components/hx-dropdown/hx-dropdown.d.ts +80 -0
  26. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  27. package/dist/components/hx-dropdown/index.js +1 -1
  28. package/dist/components/hx-field/hx-field.d.ts +109 -0
  29. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  30. package/dist/components/hx-field/index.js +1 -1
  31. package/dist/components/hx-popover/hx-popover.d.ts +91 -0
  32. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  33. package/dist/components/hx-popover/index.js +1 -1
  34. package/dist/components/hx-radio-group/hx-radio-group.d.ts +152 -1
  35. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  36. package/dist/components/hx-radio-group/hx-radio.d.ts +14 -0
  37. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  38. package/dist/components/hx-radio-group/index.js +1 -1
  39. package/dist/components/hx-select/hx-select.d.ts +303 -2
  40. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  41. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  42. package/dist/components/hx-select/index.js +1 -1
  43. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  44. package/dist/components/hx-side-nav/index.js +1 -1
  45. package/dist/components/hx-switch/hx-switch.d.ts +78 -1
  46. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  47. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  48. package/dist/components/hx-switch/index.js +1 -1
  49. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +110 -0
  50. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  51. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  52. package/dist/components/hx-toggle-button/index.js +1 -1
  53. package/dist/components/hx-tooltip/hx-tooltip.d.ts +52 -0
  54. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  55. package/dist/components/hx-tooltip/index.js +1 -1
  56. package/dist/css/helix-all.css +98 -1
  57. package/dist/css/helix-forms.css +98 -1
  58. package/dist/css/hx-checkbox.css +18 -0
  59. package/dist/css/hx-color-picker.css +25 -0
  60. package/dist/css/hx-date-picker.css +2 -1
  61. package/dist/css/hx-select.css +19 -0
  62. package/dist/css/hx-switch.css +17 -0
  63. package/dist/css/hx-toggle-button.css +17 -0
  64. package/dist/css/index.css +1 -1
  65. package/dist/css/manifest.json +2 -1
  66. package/dist/index.js +15 -15
  67. package/dist/shared/aria-flatten-DY6v2vah.js +22 -0
  68. package/dist/shared/aria-flatten-DY6v2vah.js.map +1 -0
  69. package/dist/shared/aria-idref-Q0yiSR3p.js +104 -0
  70. package/dist/shared/aria-idref-Q0yiSR3p.js.map +1 -0
  71. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -1
  72. package/dist/shared/hx-checkbox-BdgoUeWi.js +696 -0
  73. package/dist/shared/hx-checkbox-BdgoUeWi.js.map +1 -0
  74. package/dist/shared/hx-checkbox-group-LWezHrvS.js +496 -0
  75. package/dist/shared/hx-checkbox-group-LWezHrvS.js.map +1 -0
  76. package/dist/shared/hx-color-picker-DVhZl88b.js +1221 -0
  77. package/dist/shared/hx-color-picker-DVhZl88b.js.map +1 -0
  78. package/dist/shared/hx-combobox-DvlezcDV.js +1359 -0
  79. package/dist/shared/hx-combobox-DvlezcDV.js.map +1 -0
  80. package/dist/shared/{hx-date-picker-2iRG1p74.js → hx-date-picker-N-0aG5XL.js} +542 -206
  81. package/dist/shared/hx-date-picker-N-0aG5XL.js.map +1 -0
  82. package/dist/shared/hx-dialog-DzB7VytW.js +717 -0
  83. package/dist/shared/hx-dialog-DzB7VytW.js.map +1 -0
  84. package/dist/shared/{hx-dropdown-LyaRc8Rf.js → hx-dropdown-DJWlF94E.js} +130 -77
  85. package/dist/shared/hx-dropdown-DJWlF94E.js.map +1 -0
  86. package/dist/shared/{hx-field-B3Qo8OLS.js → hx-field-zw0U1KVi.js} +99 -38
  87. package/dist/shared/hx-field-zw0U1KVi.js.map +1 -0
  88. package/dist/shared/{hx-nav-item-xqRPOCWX.js → hx-nav-item-CODtUlew.js} +13 -9
  89. package/dist/shared/{hx-nav-item-xqRPOCWX.js.map → hx-nav-item-CODtUlew.js.map} +1 -1
  90. package/dist/shared/{hx-popover-B-FP3-wW.js → hx-popover-CHxWY_cd.js} +123 -66
  91. package/dist/shared/hx-popover-CHxWY_cd.js.map +1 -0
  92. package/dist/shared/hx-radio-CeGzARNk.js +822 -0
  93. package/dist/shared/hx-radio-CeGzARNk.js.map +1 -0
  94. package/dist/shared/hx-select-DrcS-YRJ.js +1089 -0
  95. package/dist/shared/hx-select-DrcS-YRJ.js.map +1 -0
  96. package/dist/shared/hx-switch-BX_8uNUs.js +540 -0
  97. package/dist/shared/hx-switch-BX_8uNUs.js.map +1 -0
  98. package/dist/shared/{hx-toggle-button-iLiYrMbD.js → hx-toggle-button-Dcz9IlUm.js} +226 -65
  99. package/dist/shared/hx-toggle-button-Dcz9IlUm.js.map +1 -0
  100. package/dist/shared/{hx-tooltip-nYOv9OLu.js → hx-tooltip-DVqtKPCD.js} +68 -46
  101. package/dist/shared/hx-tooltip-DVqtKPCD.js.map +1 -0
  102. package/dist/utils/aria-flatten.d.ts +56 -0
  103. package/dist/utils/aria-flatten.d.ts.map +1 -0
  104. package/dist/utils/aria-idref.d.ts +127 -0
  105. package/dist/utils/aria-idref.d.ts.map +1 -0
  106. package/figma-inventory.json +64 -1
  107. package/package.json +2 -2
  108. package/dist/shared/hx-checkbox-D7xma9YH.js +0 -524
  109. package/dist/shared/hx-checkbox-D7xma9YH.js.map +0 -1
  110. package/dist/shared/hx-checkbox-group-C9n315Ju.js +0 -323
  111. package/dist/shared/hx-checkbox-group-C9n315Ju.js.map +0 -1
  112. package/dist/shared/hx-color-picker-uRc865FJ.js +0 -882
  113. package/dist/shared/hx-color-picker-uRc865FJ.js.map +0 -1
  114. package/dist/shared/hx-combobox-DDzqNKEW.js +0 -924
  115. package/dist/shared/hx-combobox-DDzqNKEW.js.map +0 -1
  116. package/dist/shared/hx-date-picker-2iRG1p74.js.map +0 -1
  117. package/dist/shared/hx-dialog-DRN_1-Y-.js +0 -514
  118. package/dist/shared/hx-dialog-DRN_1-Y-.js.map +0 -1
  119. package/dist/shared/hx-dropdown-LyaRc8Rf.js.map +0 -1
  120. package/dist/shared/hx-field-B3Qo8OLS.js.map +0 -1
  121. package/dist/shared/hx-popover-B-FP3-wW.js.map +0 -1
  122. package/dist/shared/hx-radio-CJvNU2yP.js +0 -621
  123. package/dist/shared/hx-radio-CJvNU2yP.js.map +0 -1
  124. package/dist/shared/hx-select-C8fEHQhC.js +0 -807
  125. package/dist/shared/hx-select-C8fEHQhC.js.map +0 -1
  126. package/dist/shared/hx-switch-BrZFaRue.js +0 -420
  127. package/dist/shared/hx-switch-BrZFaRue.js.map +0 -1
  128. package/dist/shared/hx-toggle-button-iLiYrMbD.js.map +0 -1
  129. package/dist/shared/hx-tooltip-nYOv9OLu.js.map +0 -1
@@ -102,9 +102,22 @@ declare const HelixSelect_base: typeof HelixElement & (new (...args: any[]) => i
102
102
  * @cssprop [--hx-font-size-xs] - Font size.
103
103
  */
104
104
  export declare class HelixSelect extends HelixSelect_base {
105
- static styles: import('lit').CSSResult[];
105
+ static styles: import('lit').CSSResult;
106
106
  /** Marks this element as form-associated for ElementInternals support. @internal */
107
107
  static formAssociated: boolean;
108
+ /**
109
+ * Test seam (round-3 finding 4): when set to `true` or `false`, overrides
110
+ * the platform `supportsIdrefElementReferences` probe before
111
+ * `connectedCallback` seeds `_supportsIdrefRefs`. Mid-life flag flips on a
112
+ * connected instance allowed stale modern internals (set during connect)
113
+ * to leak into the fallback branch — tests must select the path BEFORE
114
+ * the host connects so the synthetic environment matches a legacy engine.
115
+ *
116
+ * Production code MUST NOT touch this field. It is a `static` so the test
117
+ * stub cleanup is global and obvious.
118
+ * @internal
119
+ */
120
+ static __testSupportsIdrefRefsOverride: boolean | null;
108
121
  /** @internal */
109
122
  private _selectId;
110
123
  /** @internal */
@@ -192,16 +205,258 @@ export declare class HelixSelect extends HelixSelect_base {
192
205
  private _options;
193
206
  /** Whether the named error slot contains projected content. @internal */
194
207
  private _hasErrorSlot;
208
+ /**
209
+ * Whether the named label slot contributes a useful name. Round-3 finding 3:
210
+ * the previous boolean tracked `assignedNodes().length > 0`, which is `true`
211
+ * for whitespace-only slot content. That suppressed the unlabeled devWarn
212
+ * even when the slot only carried a stray newline. This flag now requires
213
+ * either a labellable element OR non-empty trimmed text content.
214
+ * @internal
215
+ */
216
+ private _hasLabelSlot;
217
+ /**
218
+ * Source of the accessible name. Round-3 finding 8 replaces the magic
219
+ * sentinel `'*slotted*'` with a discriminated union so a future caller
220
+ * setting `label="*slotted*"` literally cannot be confused with a slotted
221
+ * label.
222
+ * @internal
223
+ */
224
+ private _labelSource;
225
+ /**
226
+ * Flattened, trimmed text content of any text nodes in the label slot —
227
+ * used to drive `internals.ariaLabel` when the consumer projects only a
228
+ * text node (no element to add to `labelEls`). Round-3 finding 3.
229
+ * @internal
230
+ */
231
+ private _labelSlotText;
232
+ /** Whether the help-text slot contains projected content. @internal */
233
+ private _hasHelpSlot;
234
+ /**
235
+ * Direct reference to the first labellable element projected into the
236
+ * `<slot name="label">`. Round-3 finding 5 replaces the previous round-trip
237
+ * through `document.getElementById(this._slottedLabelId)` so we no longer
238
+ * mutate consumer light-DOM (assigning ids) and the lookup is robust under
239
+ * nested shadow roots (round-3 finding 6).
240
+ * @internal
241
+ */
242
+ private _slottedLabelEl;
195
243
  /** Zero-based index of the keyboard-focused option in the listbox; -1 means none. @internal */
196
244
  private _focusedOptionIndex;
245
+ /**
246
+ * Whether the platform supports IDL element references on `ElementInternals`.
247
+ * Drives the cross-shadow naming strategy: modern path uses
248
+ * `internals.ariaLabelledByElements` / `internals.ariaDescribedByElements`
249
+ * to bridge consumer light-DOM IDREFs into the host accessible node;
250
+ * fallback path mirrors the consumer's `aria-labelledby` / `aria-describedby`
251
+ * tokens onto host attributes and text-mirrors shadow help/error wrappers
252
+ * via `internals.ariaDescription`.
253
+ *
254
+ * ARCHITECTURE — Round-3 host-canonical (overturns scope doc Path A).
255
+ * Codex round-2 finding 1 demonstrated that the dual-channel approach
256
+ * (host roleless on modern, host-announced on fallback) creates a "named
257
+ * surface ≠ focused surface" gap on legacy engines. Round-3 commits to a
258
+ * single canonical surface — the HOST — on BOTH paths:
259
+ *
260
+ * - `internals.role = 'combobox'` on both paths (and `role="combobox"`
261
+ * attribute mirror so CSS / `getAttribute` / AT inspecting the DOM see it).
262
+ * - `tabindex="0"` on the host (so it is the focusable surface).
263
+ * - Click + keydown listeners on the host (so user input lands on the
264
+ * announced surface).
265
+ * - `focus()` routes to the host (so programmatic focus matches AT focus).
266
+ * - `setValidity()` anchor = host (so UA validation UI routes to the
267
+ * focusable announced surface).
268
+ * - Inner trigger drops `role`, `tabindex`, and the combobox ARIA mirror
269
+ * on both paths so AT does not see a doubled accessible.
270
+ *
271
+ * This matches Group 2's host-canonical pattern (PR #1625, validated for
272
+ * `hx-radio-group` and `hx-checkbox-group`). The scope doc's APG concern
273
+ * about doubled comboboxes is moot once the inner role is dropped.
274
+ * @internal
275
+ */
276
+ private _supportsIdrefRefs;
277
+ /**
278
+ * Deferred copy of `error` driven through reactive state so the persistent
279
+ * live region can re-announce on transitions without direct DOM mutation.
280
+ * Aligned with Group 2 round-1 finding #10.
281
+ * @internal
282
+ */
283
+ private _announcedError;
284
+ /**
285
+ * Cached invalidity flag derived from `internals.validity.valid` after the
286
+ * latest `setValidity()` call. Both the modern (`internals.ariaInvalid`)
287
+ * and fallback (host attribute) writes read from the same source so they
288
+ * cannot disagree. Round-2 finding 2.
289
+ * @internal
290
+ */
291
+ private _invalid;
197
292
  /** Reference to the hidden native select element used for form participation. @internal */
198
293
  private _select;
199
294
  /** Reference to the visible combobox trigger element that receives keyboard focus. @internal */
200
295
  private _trigger;
201
296
  /** @internal */
202
297
  private get _displayValue();
298
+ /**
299
+ * Handle for the shared IDREF observer. See `installAriaIdrefMirror()`.
300
+ * @internal
301
+ */
302
+ private _ariaMirror;
303
+ /**
304
+ * Watches assigned `<slot name="help-text">` nodes for in-place text
305
+ * mutations so the no-IDL-ref fallback `internals.ariaDescription` stays in
306
+ * sync. Aligned with Group 2 round-23 P2 (Finding C).
307
+ * @internal
308
+ */
309
+ private _helpSlotTextObserver;
310
+ /**
311
+ * Watches assigned `<slot name="error">` nodes for in-place text mutations.
312
+ * Aligned with Group 2 round-23 P2 (Finding C).
313
+ * @internal
314
+ */
315
+ private _errorSlotTextObserver;
316
+ /**
317
+ * Round-10 finding 1 (supersedes round-8 counter): dedicated host observer
318
+ * scoped to `aria-describedby` with `attributeOldValue: true`. The fallback
319
+ * path strips the host `aria-describedby` attribute on every sync (per
320
+ * round-6 single-channel design). Once stripped, a subsequent consumer
321
+ * `removeAttribute('aria-describedby')` causes NO DOM mutation (the
322
+ * attribute is already absent), so the post-sync `getAttribute()` baseline
323
+ * diff at the top of `_syncHostAriaSemantics` cannot detect the retraction
324
+ * — `_consumerDescribedBy` would remain pinned to the originally-cached
325
+ * string forever and the consumer's external help text would keep
326
+ * concatenating into `internals.ariaDescription` indefinitely.
327
+ *
328
+ * Round-10 architectural lockdown (`.reports/aria-group-3-architecture-
329
+ * decision-r10.md` section 7.1): the observer is governed by the
330
+ * **disconnect-during-strip** discipline. Before the fallback strip
331
+ * `removeAttribute('aria-describedby')` runs, this observer is
332
+ * `disconnect()`ed; immediately after the strip, it is re-`observe()`d.
333
+ * Self-mutations are therefore never delivered to the callback, so the
334
+ * observer only sees consumer-driven mutations. This eliminates the
335
+ * round-8 pending-strip counter / discriminator entirely and the lockstep
336
+ * invariant it depended on.
337
+ *
338
+ * The observer detects `oldValue !== null && newValue === null`
339
+ * (consumer authentically retracted the attribute) and clears
340
+ * `_consumerDescribedBy`. Framework-batched attach-then-detach (Vue /
341
+ * React / Lit reconciliation flipping `aria-describedby` from a string to
342
+ * null in one render commit) produces two records in the same callback
343
+ * batch — the second record's `oldValue` is observable. The bare
344
+ * `removeAttribute` no-op on an already-absent attribute is unobservable
345
+ * by design (a null → null DOM operation is not a mutation); see
346
+ * `hx-select.test.ts` round-10 contract block for the three documented
347
+ * retraction sequences.
348
+ *
349
+ * @internal
350
+ */
351
+ private _hostDescribedByObserver;
352
+ /**
353
+ * Last value of `aria-labelledby` we wrote to the host. Used to distinguish
354
+ * external (consumer) attribute mutations from our own internal augmentation
355
+ * writes. Aligned with Group 2 round-10 P2.
356
+ * @internal
357
+ */
358
+ private _lastWrittenLabelledBy;
359
+ /** @internal — see `_lastWrittenLabelledBy`. */
360
+ private _lastWrittenDescribedBy;
361
+ /**
362
+ * Last value of `aria-label` we wrote to the host. Used to distinguish
363
+ * external (consumer) attribute mutations from our own internal mirror
364
+ * writes on the fallback path. Round-5 finding 1: without this snapshot
365
+ * the round-3 fallback `aria-label` mirror was self-sealing — sync N
366
+ * wrote `aria-label="Country"`, sync N+1 read that same string back via
367
+ * `getAttribute('aria-label')` and treated it as a consumer override,
368
+ * caching it into `internals.ariaLabel` and short-circuiting
369
+ * `_writeHostAttributeMirror`. Subsequent label/accessibleLabel/slot
370
+ * mutations never propagated.
371
+ * @internal
372
+ */
373
+ private _lastWrittenAriaLabel;
374
+ /**
375
+ * Most recently observed *consumer-supplied* `aria-labelledby` baseline.
376
+ * Refreshed only when the host attribute changes via an external write —
377
+ * internal writes leave the baseline untouched. Cached so consumer tokens
378
+ * can replay if their target element later attaches to the DOM.
379
+ * @internal
380
+ */
381
+ private _consumerLabelledBy;
382
+ /** @internal — see `_consumerLabelledBy`. */
383
+ private _consumerDescribedBy;
384
+ connectedCallback(): void;
203
385
  disconnectedCallback(): void;
204
386
  updated(changedProperties: PropertyValues<this>): void;
387
+ firstUpdated(changedProperties: PropertyValues<this>): void;
388
+ /**
389
+ * Reads the label slot's assigned nodes and computes the discriminated
390
+ * naming state. Round-3 finding 3 + 5 + 8: an empty whitespace-only slot
391
+ * does NOT count as a useful name; the first labellable element is
392
+ * captured by reference (no consumer-DOM mutation); the result drives a
393
+ * discriminated `_labelSource` rather than a magic `'*slotted*'` string.
394
+ * @internal
395
+ */
396
+ private _readLabelSlotState;
397
+ /**
398
+ * Mirrors combobox semantics onto the host via ElementInternals so that the
399
+ * host IS the canonical announced surface on BOTH the modern (IDL element
400
+ * references) and fallback paths. Round-3 finding 1: codex round-2
401
+ * demonstrated that putting `role="combobox"` on the host on fallback while
402
+ * leaving focus/click/keyboard/validity anchored to the inner trigger
403
+ * created a "named surface ≠ focused surface" gap. Round-3 collapses both
404
+ * paths to the host-canonical model used by Group 2's `hx-radio-group` /
405
+ * `hx-checkbox-group` (PR #1625):
406
+ *
407
+ * - `internals.role = 'combobox'` so AT advertises the combobox role.
408
+ * - Host attribute `role="combobox"` mirror so legacy engines, axe-core,
409
+ * and `getAttribute('role')` agree with the internals default.
410
+ * - Host attribute `tabindex="0"` so the host is the focusable surface.
411
+ * - Host attributes `aria-expanded`, `aria-haspopup`, `aria-controls`,
412
+ * `aria-activedescendant`, `aria-required`, `aria-invalid`,
413
+ * `aria-disabled` so AT walking the host's attribute graph sees the
414
+ * combobox state without depending on internals defaults.
415
+ * - Modern path additionally sets `internals.ariaLabelledByElements` /
416
+ * `internals.ariaDescribedByElements` so consumer light-DOM IDREFs cross
417
+ * the shadow boundary into the host's accessible node.
418
+ * - Fallback path mirrors consumer label/desc tokens onto the host
419
+ * attribute and text-mirrors shadow help/error wrappers via
420
+ * `internals.ariaDescription`.
421
+ * @internal
422
+ */
423
+ private _syncHostAriaSemantics;
424
+ /**
425
+ * Writes host `role="combobox"` and `tabindex` so the host is the
426
+ * focusable, AT-visible canonical surface. Round-3 finding 1.
427
+ * @internal
428
+ */
429
+ private _writeHostRoleAndTabindex;
430
+ /**
431
+ * Writes the host's combobox state attributes (`aria-expanded`,
432
+ * `aria-haspopup`, `aria-controls`, `aria-activedescendant`,
433
+ * `aria-required`, `aria-invalid`, `aria-disabled`) on every sync. CSS
434
+ * selectors and AT inspecting the live attribute graph read these — the
435
+ * `internals.aria*` defaults are invisible. Round-3 finding 1.
436
+ * @internal
437
+ */
438
+ private _writeHostComboboxStateAttributes;
439
+ /**
440
+ * Writes a host `aria-label` attribute mirror on the fallback path so AT
441
+ * inspecting the live attribute graph sees the resolved name even when
442
+ * the platform lacks IDL element references. Skip when an effective
443
+ * `aria-labelledby` is already set on the host (labelledby > label by
444
+ * ARIA priority). Round-3 finding 1 + round-2 finding 5.
445
+ * @internal
446
+ */
447
+ private _writeHostAttributeMirror;
448
+ /**
449
+ * (Re-)installs the mutation observer over the current set of assigned
450
+ * help-text-slot nodes. Aligned with Group 2 round-23 P2 (Finding C).
451
+ * @internal
452
+ */
453
+ private _installHelpSlotTextObserver;
454
+ /**
455
+ * (Re-)installs the mutation observer over the current set of assigned
456
+ * error-slot nodes. Aligned with Group 2 round-23 P2 (Finding C).
457
+ * @internal
458
+ */
459
+ private _installErrorSlotTextObserver;
205
460
  /** @internal */
206
461
  private _updateFormValue;
207
462
  /** @internal */
@@ -220,10 +475,51 @@ export declare class HelixSelect extends HelixSelect_base {
220
475
  */
221
476
  /** @internal */
222
477
  private _handleSlotChange;
478
+ /**
479
+ * Tracks the slotted label so projected `<span slot="label">` content joins
480
+ * the accessible-name chain without forcing the consumer to also pass the
481
+ * `label` property.
482
+ *
483
+ * Round-3 findings 3, 5, 6, 8:
484
+ * - 3: count whitespace-only text as "no useful name" (devWarn must fire).
485
+ * - 5: hold the slotted element by direct reference instead of mutating
486
+ * consumer light DOM with a tracked id.
487
+ * - 6: lookup is by reference, so it survives nested shadow roots without
488
+ * the fragile `getElementById` chain.
489
+ * - 8: discriminated `_labelSource` replaces the magic `'*slotted*'`
490
+ * sentinel string.
491
+ * @internal
492
+ */
493
+ private _handleLabelSlotChange;
494
+ /**
495
+ * Recomputes the discriminated label source. Round-3 finding 8.
496
+ *
497
+ * CodeRabbit F2: slotted label wins over the `label` prop. When a
498
+ * consumer provides BOTH a `<span slot="label">` AND a `label="..."`
499
+ * attribute the visible label is the slotted node (rendered by the
500
+ * named slot's default content branch never firing). Preferring the
501
+ * string form here would route the accessible name through the prop
502
+ * and diverge from the rendered text. The slot is the canonical
503
+ * source whenever it has useful content.
504
+ * @internal
505
+ */
506
+ private _refreshLabelSource;
223
507
  /** @internal */
224
508
  private _handleErrorSlotChange;
225
509
  /** @internal */
510
+ private _handleHelpSlotChange;
511
+ /** @internal */
226
512
  private _toggleDropdown;
513
+ /**
514
+ * Click handler attached to the host. Round-3 finding 1: the host is the
515
+ * canonical combobox surface, so user input listeners live here. Clicks
516
+ * inside the open listbox are handled by the per-option `@click` binding
517
+ * in `_renderOptions()` and stop here only if `composedPath` indicates
518
+ * the original click target was the open listbox panel (so option clicks
519
+ * don't double-toggle the dropdown).
520
+ * @internal
521
+ */
522
+ private _handleHostClick;
227
523
  /** @internal */
228
524
  private _handleKeydown;
229
525
  /** @internal */
@@ -234,7 +530,12 @@ export declare class HelixSelect extends HelixSelect_base {
234
530
  private _handleNativeChange;
235
531
  /** @internal */
236
532
  private _handleOutsideClick;
237
- /** Moves focus to the visible trigger button. */
533
+ /**
534
+ * Moves focus to the host. Round-3 finding 1: the host is the canonical
535
+ * combobox surface (`role="combobox"`, `tabindex="0"`), so programmatic
536
+ * focus must land there to match where AT routes focus and where
537
+ * `setValidity()` anchors recovery.
538
+ */
238
539
  focus(options?: FocusOptions): void;
239
540
  /** @internal */
240
541
  private _optionId;
@@ -1 +1 @@
1
- {"version":3,"file":"hx-select.d.ts","sourceRoot":"","sources":["../../../src/components/hx-select/hx-select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hx-select.d.ts","sourceRoot":"","sources":["../../../src/components/hx-select/hx-select.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hx-select.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-select/hx-select.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBAsX7B,CAAC"}
1
+ {"version":3,"file":"hx-select.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-select/hx-select.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBAyY7B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { H as o } from "../../shared/hx-select-C8fEHQhC.js";
1
+ import { H as o } from "../../shared/hx-select-DrcS-YRJ.js";
2
2
  export {
3
3
  o as HelixSelect
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"hx-nav-item.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-side-nav/hx-nav-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,yBA6S9B,CAAC"}
1
+ {"version":3,"file":"hx-nav-item.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-side-nav/hx-nav-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,yBAiT9B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { H as i, a as x } from "../../shared/hx-nav-item-xqRPOCWX.js";
1
+ import { H as i, a as x } from "../../shared/hx-nav-item-CODtUlew.js";
2
2
  export {
3
3
  i as HelixNavItem,
4
4
  x as HelixSideNav
@@ -136,7 +136,69 @@ export declare class HelixSwitch extends HelixSwitch_base {
136
136
  * @attr required-message
137
137
  */
138
138
  requiredMessage: string;
139
+ /**
140
+ * Handle for the shared IDREF observer. Installed in `connectedCallback()`
141
+ * so late-mutated `aria-labelledby`/`aria-describedby` and late-inserted
142
+ * IDREF targets are picked up. See `installAriaIdrefMirror()`.
143
+ * @internal
144
+ */
145
+ private _ariaMirror;
146
+ /**
147
+ * No-IDL-ref fallback tokens applied to the inner button so consumer
148
+ * labelling resolves through the shadow root. Tracked as reactive state
149
+ * so values flow through the next `render()`.
150
+ * @internal
151
+ */
152
+ private _fallbackAriaLabelledBy;
153
+ /** @internal */
154
+ private _fallbackAriaDescribedBy;
155
+ /** @internal */
156
+ private _fallbackAriaLabel;
157
+ /**
158
+ * Whether the platform supports IDL element references on `ElementInternals`.
159
+ * Drives the render-time branch between the modern path (host is the
160
+ * announced surface, inner button is `aria-hidden + tabindex=-1`) and the
161
+ * fallback path (inner button is the announced surface, host is demoted).
162
+ * Codex round-2 finding #2.
163
+ * @internal
164
+ */
165
+ private _supportsIdrefRefs;
166
+ /**
167
+ * Tracks whether the host's `tabindex` is managed by the component itself
168
+ * (vs. set explicitly by a consumer). Codex round-14 P2: a consumer-supplied
169
+ * `tabindex` (e.g. roving-tabindex toolbar pattern with `tabindex="-1"`)
170
+ * must survive disabled flips and re-renders. Only re-assert tabindex in
171
+ * `updated()` when the component originally claimed it.
172
+ * @internal
173
+ */
174
+ private _internalTabindexManaged;
175
+ connectedCallback(): void;
176
+ disconnectedCallback(): void;
177
+ /**
178
+ * Host-level keydown handler. Active only on the modern path; on the
179
+ * no-IDL-ref fallback the inner `<button>` owns native activation.
180
+ * Codex round-2 finding #2.
181
+ * @internal
182
+ */
183
+ private _handleHostKeyDown;
184
+ /**
185
+ * Host-level click handler. Active only on the modern path; on the
186
+ * fallback path AT activation flows directly to the inner button.
187
+ * Codex round-2 finding #2.
188
+ * @internal
189
+ */
190
+ private _handleHostClick;
139
191
  updated(changedProperties: PropertyValues<this>): void;
192
+ /**
193
+ * Mirrors switch semantics onto the host via ElementInternals so that
194
+ * consumer-supplied `aria-label`, `aria-labelledby`, and `aria-describedby`
195
+ * on `<hx-switch>` reach the announced control. The codex aria-group-2
196
+ * finding identified that the inner shadow `<button role=switch>` was the
197
+ * only carrier of switch semantics, leaving host-level IDREF tokens stranded
198
+ * on the wrong side of the shadow boundary.
199
+ * @internal
200
+ */
201
+ private _syncHostAriaSemantics;
140
202
  /** Recalculates and sets the validity state based on required and checked. */
141
203
  /** @internal */
142
204
  _updateValidity(): void;
@@ -152,12 +214,18 @@ export declare class HelixSwitch extends HelixSwitch_base {
152
214
  /** Whether the default slot has assigned content (slotted label). */
153
215
  /** @internal */
154
216
  private _hasDefaultSlot;
217
+ /** Whether the help-text slot has assigned content. */
218
+ /** @internal */
219
+ private _hasHelpTextSlot;
155
220
  /** Updates _hasErrorSlot when error slot content changes. */
156
221
  /** @internal */
157
222
  private _handleErrorSlotChange;
158
223
  /** Updates _hasDefaultSlot when default slot content changes. */
159
224
  /** @internal */
160
225
  private _handleDefaultSlotChange;
226
+ /** Updates _hasHelpTextSlot when help-text slot content changes. */
227
+ /** @internal */
228
+ private _handleHelpTextSlotChange;
161
229
  /** Toggles checked state and dispatches hx-change event. */
162
230
  /** @internal */
163
231
  private _toggle;
@@ -167,7 +235,16 @@ export declare class HelixSwitch extends HelixSwitch_base {
167
235
  /** Handles keydown events — Space toggles the switch per ARIA APG. */
168
236
  /** @internal */
169
237
  private _handleKeyDown;
170
- /** Moves focus to the switch track element. */
238
+ /**
239
+ * Moves focus to the announced switch surface. Codex round-1 finding #1
240
+ * relocated the focus target to the host so AT announces a single widget;
241
+ * the host carries the canonical role/state on modern engines. Round-7
242
+ * finding #7 extends that contract to the no-IDL-ref fallback: when the
243
+ * host is demoted (`tabindex=-1`, role/state cleared on `internals`) the
244
+ * inner `<button role=switch>` owns the announced semantics and tab order,
245
+ * so programmatic `focus()` must redirect there — otherwise scripted focus
246
+ * and error recovery land on the demoted host on unsupported engines.
247
+ */
171
248
  focus(options?: FocusOptions): void;
172
249
  /** Unique ID for this switch instance, used for ARIA associations. */
173
250
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"hx-switch.d.ts","sourceRoot":"","sources":["../../../src/components/hx-switch/hx-switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAOpE,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,qBACa,WAAY,SAAQ,gBAAuB;IACtD,OAAgB,MAAM,4BAA0C;IAIhE,gBAAgB;IAChB,OAAgB,cAAc,UAAQ;IAItC;;;OAGG;IAEH,OAAO,UAAS;IAEhB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,IAAI,SAAM;IAEV;;;OAGG;IAEH,KAAK,SAAQ;IAEb;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,QAAQ,SAAM;IAEd;;;OAGG;IAEH,eAAe,SAA6B;IAInC,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS/D,8EAA8E;IAC9E,gBAAgB;IACP,eAAe,IAAI,IAAI;cAYb,YAAY,IAAI,IAAI;cAMpB,mBAAmB,CACpC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,EACtC,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;cAMY,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI3D;OACG;IAEH,OAAO,CAAC,QAAQ,CAAuC;IAEvD,mDAAmD;IACnD,gBAAgB;IACP,OAAO,CAAC,aAAa,CAAS;IAEvC,qEAAqE;IACrE,gBAAgB;IACP,OAAO,CAAC,eAAe,CAAS;IAIzC,6DAA6D;IAC7D,gBAAgB;IAChB,OAAO,CAAC,sBAAsB;IAK9B,iEAAiE;IACjE,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAOhC,4DAA4D;IAC5D,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAcf,yCAAyC;IACzC,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAIpB,sEAAsE;IACtE,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAStB,+CAA+C;IACtC,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAM5C,sEAAsE;IACtE,gBAAgB;IAChB,OAAO,CAAC,SAAS,CAAmB;IACpC,+DAA+D;IAC/D,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,oEAAoE;IACpE,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAA4B;IAC/C,gEAAgE;IAChE,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAA6B;IAEpC,MAAM;CAmEhB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,WAAW,CAAC;KAC1B;CACF;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"hx-switch.d.ts","sourceRoot":"","sources":["../../../src/components/hx-switch/hx-switch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hx-switch.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-switch/hx-switch.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBA4O7B,CAAC"}
1
+ {"version":3,"file":"hx-switch.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-switch/hx-switch.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBA6P7B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { H as o } from "../../shared/hx-switch-BrZFaRue.js";
1
+ import { H as o } from "../../shared/hx-switch-BX_8uNUs.js";
2
2
  export {
3
3
  o as HelixSwitch
4
4
  };
@@ -127,8 +127,118 @@ export declare class HelixToggleButton extends HelixElement {
127
127
  checkValidity(): boolean;
128
128
  /** Reports validity and shows the browser's constraint validation UI. */
129
129
  reportValidity(): boolean;
130
+ /**
131
+ * Handle for the shared IDREF observer. See `installAriaIdrefMirror()`.
132
+ * @internal
133
+ */
134
+ private _ariaMirror;
135
+ /**
136
+ * Default-slot text content captured for use as the host's accessible name
137
+ * when no explicit `label`/`aria-label`/`aria-labelledby` is supplied.
138
+ * Codex round-1 finding #9.
139
+ * @internal
140
+ */
141
+ private _slotLabelText;
142
+ /** No-IDL-ref fallback tokens applied to the inner button. @internal */
143
+ private _fallbackAriaLabelledBy;
144
+ /** @internal */
145
+ private _fallbackAriaDescribedBy;
146
+ /** @internal */
147
+ private _fallbackAriaLabel;
148
+ /**
149
+ * Whether the platform supports IDL element references on `ElementInternals`.
150
+ * Drives the render-time branch between the modern path (host is the
151
+ * announced surface, inner button is `aria-hidden + tabindex=-1`) and the
152
+ * fallback path (inner button is the announced surface, host is demoted).
153
+ * Codex round-2 finding #2.
154
+ * @internal
155
+ */
156
+ private _supportsIdrefRefs;
157
+ /**
158
+ * Tracks whether the host's `tabindex` is managed by the component itself
159
+ * (vs. set explicitly by a consumer). Codex round-14 P2: a consumer-supplied
160
+ * `tabindex` (e.g. roving-tabindex toolbar pattern with `tabindex="-1"`)
161
+ * must survive disabled flips and re-renders. Only re-assert tabindex in
162
+ * `updated()` when the component originally claimed it.
163
+ * @internal
164
+ */
165
+ private _internalTabindexManaged;
166
+ connectedCallback(): void;
167
+ disconnectedCallback(): void;
168
+ /**
169
+ * Host-level keydown handler. Active only on the modern path; on the
170
+ * no-IDL-ref fallback the inner `<button>` owns native Space/Enter
171
+ * activation. Codex round-2 finding #2.
172
+ * @internal
173
+ */
174
+ private _handleHostKeyDown;
175
+ /**
176
+ * Host-level click router. The inner `<button>` is `aria-hidden + tabindex=-1`
177
+ * on modern browsers but still receives clicks via mouse activation; toggling
178
+ * is handled by the inner `_handleClick`. Host-level clicks (composed path
179
+ * origin === host) only come from AT activation or programmatic triggers,
180
+ * so we route those to the toggle pipeline.
181
+ *
182
+ * Codex round-2 finding #2: on no-IDL-ref browsers the inner button is the
183
+ * announced surface so this host-level routing is a no-op — AT activation
184
+ * lands on the inner button directly.
185
+ * @internal
186
+ */
187
+ private _handleHostClickRouted;
188
+ /** @internal */
189
+ private _invokeToggle;
190
+ /**
191
+ * Moves focus to the announced toggle-button surface. Codex round-1 finding
192
+ * `#1` made the host the canonical focus target on modern engines so AT
193
+ * announces a single widget. Round-7 finding `#9` extends that contract to
194
+ * the no-IDL-ref fallback: when the host is demoted (`tabindex=-1`,
195
+ * role/state cleared on `internals`) the inner `<button>` owns the announced
196
+ * semantics and tab order, so programmatic `focus()` must redirect there —
197
+ * otherwise scripted focus and error recovery land on the demoted host on
198
+ * unsupported engines.
199
+ */
200
+ focus(options?: FocusOptions): void;
130
201
  firstUpdated(changedProperties: PropertyValues<this>): void;
131
202
  updated(changedProperties: PropertyValues<this>): void;
203
+ /**
204
+ * Reads the default slot's flattened text content into `_slotLabelText`.
205
+ * Called from `firstUpdated()` and `slotchange` so host-canonical semantics
206
+ * pick up slotted label text. Codex round-1 finding #9.
207
+ * @internal
208
+ */
209
+ private _captureSlotLabelText;
210
+ /**
211
+ * Watches assigned default-slot nodes for in-place text mutations so the
212
+ * cached `_slotLabelText` (and thus `internals.ariaLabel`) stays in sync
213
+ * when a framework rewrites textContent of an already-assigned node without
214
+ * replacing it. `slotchange` does NOT fire for those mutations, so a
215
+ * separate observer is required. Codex round-13 P2.
216
+ * @internal
217
+ */
218
+ private _slotTextObserver;
219
+ /**
220
+ * (Re-)installs the mutation observer over the current set of assigned
221
+ * default-slot nodes. Disconnects any prior observer first so detached
222
+ * nodes stop firing into a torn-down host.
223
+ * @internal
224
+ */
225
+ private _installSlotTextObserver;
226
+ /** @internal */
227
+ private _handleDefaultSlotChange;
228
+ /**
229
+ * Mirrors toggle-button semantics onto the host via ElementInternals so that
230
+ * consumer-supplied `aria-label`, `aria-labelledby`, and `aria-describedby`
231
+ * on `<hx-toggle-button>` reach the announced control. The codex aria-group-2
232
+ * finding identified that the inner shadow `<button>` was the only carrier of
233
+ * the toggle role + pressed state, leaving host-level IDREF tokens stranded
234
+ * across the shadow boundary.
235
+ *
236
+ * The shadow `<button>` keeps `aria-pressed`/`aria-label` mirrored for
237
+ * backwards-compat with existing tests and for browsers without IDL element
238
+ * references; the host is the canonical announced surface.
239
+ * @internal
240
+ */
241
+ private _syncHostAriaSemantics;
132
242
  protected _onFormReset(): void;
133
243
  protected _onFormStateRestore(state: string | File | FormData | null, _mode: 'restore' | 'autocomplete'): void;
134
244
  protected _onFormDisabled(disabled: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"hx-toggle-button.d.ts","sourceRoot":"","sources":["../../../src/components/hx-toggle-button/hx-toggle-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,qBACa,iBAAkB,SAAQ,YAAY;IACjD,OAAgB,MAAM,4BAAsD;IAI5E,gBAAgB;IAChB,OAAgB,cAAc,UAAQ;IAEtC,gBAAgB;IACW,OAAO,CAAC,YAAY,CAA0B;IAIzE;;;;OAIG;IAEH,OAAO,UAAS;IAEhB;;;OAGG;IAEH,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAe;IAElF;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAErC;;;OAGG;IAEH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAa;IAEtC;;;;OAIG;IAEH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAa;IAEtC;;;OAGG;IAEH,QAAQ,UAAS;IAIjB,wCAAwC;IACxC,IAAa,QAAQ,IAAI,aAAa,CAErC;IAED,8CAA8C;IAC9C,IAAa,iBAAiB,IAAI,MAAM,CAEvC;IAED,2DAA2D;IAC3D,aAAa,IAAI,OAAO;IAIxB,yEAAyE;IACzE,cAAc,IAAI,OAAO;IAMhB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAgB3D,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAY5C,YAAY,IAAI,IAAI;cAIpB,mBAAmB,CACpC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,EACtC,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;cAIY,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAM3D,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAUtB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAcvB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAyBpB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAgBX,MAAM;CAsBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,iBAAiB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"hx-toggle-button.d.ts","sourceRoot":"","sources":["../../../src/components/hx-toggle-button/hx-toggle-button.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hx-toggle-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-toggle-button/hx-toggle-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,yBAiQnC,CAAC"}
1
+ {"version":3,"file":"hx-toggle-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-toggle-button/hx-toggle-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,yBAkRnC,CAAC"}