@helixui/react 3.3.1 → 3.4.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 (108) hide show
  1. package/dist/components/HxAccordionItem/HxAccordionItem.d.ts +35 -0
  2. package/dist/components/HxAccordionItem/HxAccordionItem.d.ts.map +1 -1
  3. package/dist/components/HxColorPicker/types.d.ts +16 -1
  4. package/dist/components/HxColorPicker/types.d.ts.map +1 -1
  5. package/dist/components/HxCombobox/types.d.ts +1 -1
  6. package/dist/components/HxCombobox/types.d.ts.map +1 -1
  7. package/dist/components/HxDatePicker/types.d.ts +4 -0
  8. package/dist/components/HxDatePicker/types.d.ts.map +1 -1
  9. package/dist/components/HxDialog/HxDialog.d.ts +78 -0
  10. package/dist/components/HxDialog/HxDialog.d.ts.map +1 -1
  11. package/dist/components/HxDrawer/HxDrawer.d.ts +53 -0
  12. package/dist/components/HxDrawer/HxDrawer.d.ts.map +1 -1
  13. package/dist/components/HxDropdown/HxDropdown.d.ts +45 -0
  14. package/dist/components/HxDropdown/HxDropdown.d.ts.map +1 -1
  15. package/dist/components/HxField/HxField.d.ts +20 -0
  16. package/dist/components/HxField/HxField.d.ts.map +1 -1
  17. package/dist/components/HxIconButton/types.d.ts +5 -0
  18. package/dist/components/HxIconButton/types.d.ts.map +1 -1
  19. package/dist/components/HxLink/types.d.ts +4 -0
  20. package/dist/components/HxLink/types.d.ts.map +1 -1
  21. package/dist/components/HxList/HxList.d.ts +6 -0
  22. package/dist/components/HxList/HxList.d.ts.map +1 -1
  23. package/dist/components/HxListItem/HxListItem.d.ts +8 -0
  24. package/dist/components/HxListItem/HxListItem.d.ts.map +1 -1
  25. package/dist/components/HxMenu/HxMenu.d.ts +15 -0
  26. package/dist/components/HxMenu/HxMenu.d.ts.map +1 -1
  27. package/dist/components/HxMenu/types.d.ts +4 -2
  28. package/dist/components/HxMenu/types.d.ts.map +1 -1
  29. package/dist/components/HxMenuDivider/HxMenuDivider.d.ts +7 -0
  30. package/dist/components/HxMenuDivider/HxMenuDivider.d.ts.map +1 -1
  31. package/dist/components/HxMenuItem/HxMenuItem.d.ts +15 -1
  32. package/dist/components/HxMenuItem/HxMenuItem.d.ts.map +1 -1
  33. package/dist/components/HxMeter/HxMeter.d.ts +10 -0
  34. package/dist/components/HxMeter/HxMeter.d.ts.map +1 -1
  35. package/dist/components/HxOverflowMenu/HxOverflowMenu.d.ts +19 -0
  36. package/dist/components/HxOverflowMenu/HxOverflowMenu.d.ts.map +1 -1
  37. package/dist/components/HxOverflowMenu/types.d.ts +3 -1
  38. package/dist/components/HxOverflowMenu/types.d.ts.map +1 -1
  39. package/dist/components/HxPopover/HxPopover.d.ts +40 -0
  40. package/dist/components/HxPopover/HxPopover.d.ts.map +1 -1
  41. package/dist/components/HxProgressBar/HxProgressBar.d.ts +12 -0
  42. package/dist/components/HxProgressBar/HxProgressBar.d.ts.map +1 -1
  43. package/dist/components/HxSelect/HxSelect.d.ts +1 -0
  44. package/dist/components/HxSelect/HxSelect.d.ts.map +1 -1
  45. package/dist/components/HxSelect/index.js +1 -1
  46. package/dist/components/HxSelect/types.d.ts +2 -0
  47. package/dist/components/HxSelect/types.d.ts.map +1 -1
  48. package/dist/components/HxSplitButton/HxSplitButton.d.ts +21 -0
  49. package/dist/components/HxSplitButton/HxSplitButton.d.ts.map +1 -1
  50. package/dist/components/HxSplitButton/types.d.ts +0 -8
  51. package/dist/components/HxSplitButton/types.d.ts.map +1 -1
  52. package/dist/components/HxStat/HxStat.d.ts +7 -0
  53. package/dist/components/HxStat/HxStat.d.ts.map +1 -1
  54. package/dist/components/HxTab/HxTab.d.ts +10 -0
  55. package/dist/components/HxTab/HxTab.d.ts.map +1 -1
  56. package/dist/components/HxTabPanel/HxTabPanel.d.ts +6 -0
  57. package/dist/components/HxTabPanel/HxTabPanel.d.ts.map +1 -1
  58. package/dist/components/HxTabs/HxTabs.d.ts +10 -0
  59. package/dist/components/HxTabs/HxTabs.d.ts.map +1 -1
  60. package/dist/components/HxTabs/types.d.ts +10 -3
  61. package/dist/components/HxTabs/types.d.ts.map +1 -1
  62. package/dist/components/HxTd/HxTd.d.ts +5 -0
  63. package/dist/components/HxTd/HxTd.d.ts.map +1 -1
  64. package/dist/components/HxTd/types.d.ts +7 -3
  65. package/dist/components/HxTd/types.d.ts.map +1 -1
  66. package/dist/components/HxTh/HxTh.d.ts +6 -0
  67. package/dist/components/HxTh/HxTh.d.ts.map +1 -1
  68. package/dist/components/HxTimePicker/types.d.ts +4 -0
  69. package/dist/components/HxTimePicker/types.d.ts.map +1 -1
  70. package/dist/components/HxTooltip/HxTooltip.d.ts +31 -0
  71. package/dist/components/HxTooltip/HxTooltip.d.ts.map +1 -1
  72. package/dist/components/HxTr/HxTr.d.ts +8 -0
  73. package/dist/components/HxTr/HxTr.d.ts.map +1 -1
  74. package/dist/components/HxTreeItem/HxTreeItem.d.ts +21 -0
  75. package/dist/components/HxTreeItem/HxTreeItem.d.ts.map +1 -1
  76. package/dist/components/HxTreeView/HxTreeView.d.ts +14 -4
  77. package/dist/components/HxTreeView/HxTreeView.d.ts.map +1 -1
  78. package/dist/components/HxTreeView/types.d.ts +5 -2
  79. package/dist/components/HxTreeView/types.d.ts.map +1 -1
  80. package/dist/index.js +1 -1
  81. package/dist/shared/HxAccordionItem-C26EIvJG.js.map +1 -1
  82. package/dist/shared/HxDialog-DMF3crTa.js.map +1 -1
  83. package/dist/shared/HxDrawer-Y1QnaHrU.js.map +1 -1
  84. package/dist/shared/HxDropdown-DJiYTVXP.js.map +1 -1
  85. package/dist/shared/HxField-CbrmkDYu.js.map +1 -1
  86. package/dist/shared/HxList-B35ueWrO.js.map +1 -1
  87. package/dist/shared/HxListItem-DegXnlK0.js.map +1 -1
  88. package/dist/shared/HxMenu-B1tRT8Lm.js.map +1 -1
  89. package/dist/shared/HxMenuDivider-RE1AMxqi.js.map +1 -1
  90. package/dist/shared/HxMenuItem-CLdUUCJS.js.map +1 -1
  91. package/dist/shared/HxMeter-C3R4U7cD.js.map +1 -1
  92. package/dist/shared/HxOverflowMenu-CdTWx4X5.js.map +1 -1
  93. package/dist/shared/HxPopover-D0zfUXPF.js.map +1 -1
  94. package/dist/shared/HxProgressBar-FupceIzI.js.map +1 -1
  95. package/dist/shared/{HxSelect-BEm8srcF.js → HxSelect-BAt_veRr.js} +3 -2
  96. package/dist/shared/{HxSelect-BEm8srcF.js.map → HxSelect-BAt_veRr.js.map} +1 -1
  97. package/dist/shared/HxSplitButton-BVNWYaAl.js.map +1 -1
  98. package/dist/shared/HxStat-C_colBF2.js.map +1 -1
  99. package/dist/shared/HxTab-Dhb27BDp.js.map +1 -1
  100. package/dist/shared/HxTabPanel-CmFKupoK.js.map +1 -1
  101. package/dist/shared/HxTabs-DIIy0X3K.js.map +1 -1
  102. package/dist/shared/HxTd-l5ZrD1Ai.js.map +1 -1
  103. package/dist/shared/HxTh-Bo7R_MVI.js.map +1 -1
  104. package/dist/shared/HxTooltip-DD8Uc78f.js.map +1 -1
  105. package/dist/shared/HxTr-CjhQyD3e.js.map +1 -1
  106. package/dist/shared/HxTreeItem-B2_rGgy6.js.map +1 -1
  107. package/dist/shared/HxTreeView-BKbPPPhF.js.map +1 -1
  108. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"HxDrawer-Y1QnaHrU.js","sources":["../../src/components/HxDrawer/HxDrawer.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-drawer> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixDrawer } from '@helixui/library/components/hx-drawer';\n\nimport type { HxDrawerProps } from './types.js';\n\nexport type { HxDrawerProps };\n\n/**\n * A slide-in drawer panel that can appear from any edge of the viewport.\nSupports focus trapping, overlay backdrop, keyboard navigation, and full\nARIA labelling for enterprise healthcare accessibility requirements.\n\n## Architecture Note: Native `<dialog>` Migration\n\nThis component currently uses `role=\"dialog\"` + `aria-modal=\"true\"` on a\n`<div>` rather than the native `<dialog>` element. This is intentional for\nthe current release because:\n\n1. **SSR compatibility**: Native `<dialog>` requires `showModal()` to activate\n its modal behavior (focus trapping, backdrop, top-layer). This JavaScript\n call is not available during server-side rendering, which is a primary\n consumption pattern for Drupal/Twig templates.\n\n2. **Contained mode**: The `contained` property constrains the drawer to a\n positioned parent. Native `<dialog>` in modal mode renders in the top layer\n and cannot be constrained to a parent element.\n\n3. **Animation control**: The current CSS transition approach provides precise\n control over slide-in/slide-out animations. Native `<dialog>` `::backdrop`\n animations have inconsistent cross-browser support.\n\nMigration to native `<dialog>` is tracked as a future enhancement. When browser\nsupport for `CloseWatcher`, `::backdrop` transitions, and declarative dialog\nopening stabilizes, this component will be migrated to native semantics.\n *\n * @example\n * ```tsx\n * import { HxDrawer } from '@helixui/react';\n *\n * <HxDrawer />\n * ```\n */\nexport const HxDrawer = createComponent({\n tagName: 'hx-drawer',\n elementClass: HelixDrawer,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxAfterShow: 'hx-after-show',\n onHxHide: 'hx-hide',\n onHxAfterHide: 'hx-after-hide',\n onHxInitialFocus: 'hx-initial-focus',\n },\n displayName: 'HxDrawer',\n});\n\nexport default HxDrawer;\n"],"names":[],"mappings":";;;AAkDO,MAAM,WAAW,gBAAgB;AAAA,EACtC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf,UAAU;AAAA,IACV,eAAe;AAAA,IACf,kBAAkB;AAAA,EAAA;AAAA,EAEpB,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxDrawer-Y1QnaHrU.js","sources":["../../src/components/HxDrawer/HxDrawer.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-drawer> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixDrawer } from '@helixui/library/components/hx-drawer';\n\nimport type { HxDrawerProps } from './types.js';\n\nexport type { HxDrawerProps };\n\n/**\n * A slide-in drawer panel that can appear from any edge of the viewport.\nSupports focus trapping, overlay backdrop, keyboard navigation, and full\nARIA labelling for enterprise healthcare accessibility requirements.\n\n## Architecture Note: Host-Canonical ARIA (group-4 round-1, Path A)\n\nThe host carries the announced dialog semantics via `ElementInternals`:\n\n - `internals.role = 'dialog'` (the host IS the dialog surface)\n - `internals.ariaModal = 'true'` (modality declared on host)\n - `internals.ariaLabelledByElements` / `internals.ariaDescribedByElements`\n project consumer light-DOM IDREFs across the shadow boundary.\n - `internals.ariaLabel` carries the resolved fallback name when no\n IDREF chain or slotted title exists.\n\nThe inner `<div part=\"overlay\">` no longer carries `role`, `aria-modal`,\n`aria-labelledby`, or `aria-label` — those would create a nested-dialog\nannouncement above the host's canonical surface. Belt-and-suspenders\nfallback: when the runtime does NOT expose IDL element references on\n`ElementInternals` (older Firefox / Safari builds), the resolved label\ntext is text-flattened and written to the inner overlay's `aria-label`\nso AT walking down from the host still finds an announceable name.\n\nNaming precedence (W3C AccName 1.2 §4.3.1):\n\n 1. Consumer `aria-labelledby` on the host — IDREFs resolved across the\n shadow boundary via `resolveIdrefTokens` (same scope walk used by\n every host-canonical hx-* control: own root → ancestor shadow hosts\n → owner document → slot owners).\n 2. Consumer `aria-label` on the host.\n 3. `<slot name=\"label\">` text content (multi-node aggregation per\n AccName 1.2 §4.3.10 — decorative `aria-hidden` / `[hidden]` subtrees\n contribute zero to the name).\n 4. `label` property — explicit author fallback string.\n 5. Hard-coded literal `\"Drawer\"` (last-resort accessible name).\n\nDescription channel: a synthesized `<span id=\"${id}-consumer-desc\">` is\nrendered inside the shadow root and updated to mirror consumer-resolved\ndescription text. The host's `internals.ariaDescribedByElements` carries\nthe live element references on the modern path; the in-shadow span is the\nfallback target for AT that does not walk IDL refs. `aria-description` is\nintentionally NEVER written — the W3C AccName algorithm ignores it\nwhenever `aria-describedby` is also present.\n\nSlot mutation observers track:\n 1. The label slot's text content (in-place i18n re-renders).\n 2. Consumer-resolved external IDREF targets (so a consumer mutating\n `<label id=\"x\">Patient</label>` in place re-flows the name).\n 3. Host attribute mutations (delegated to `installAriaIdrefMirror`,\n which also catches late-inserted IDREF targets and id renames in\n every relevant root).\n\nFocus trap, ESC dismiss, focus-restore, and the inert-outside-content\nsibling-walk are unchanged from the pre-host-canonical implementation —\nthey operate against the shadow-internal panel which is still the focus\ntarget for keyboard users.\n\n## Architecture Note: Native `<dialog>` Migration\n\nThis component currently uses `role=\"dialog\"` + `aria-modal=\"true\"` on a\n`<div>` rather than the native `<dialog>` element. This is intentional for\nthe current release because:\n\n1. **SSR compatibility**: Native `<dialog>` requires `showModal()` to activate\n its modal behavior (focus trapping, backdrop, top-layer). This JavaScript\n call is not available during server-side rendering, which is a primary\n consumption pattern for Drupal/Twig templates.\n\n2. **Contained mode**: The `contained` property constrains the drawer to a\n positioned parent. Native `<dialog>` in modal mode renders in the top layer\n and cannot be constrained to a parent element.\n\n3. **Animation control**: The current CSS transition approach provides precise\n control over slide-in/slide-out animations. Native `<dialog>` `::backdrop`\n animations have inconsistent cross-browser support.\n\nMigration to native `<dialog>` is tracked as a future enhancement. When browser\nsupport for `CloseWatcher`, `::backdrop` transitions, and declarative dialog\nopening stabilizes, this component will be migrated to native semantics.\n *\n * @example\n * ```tsx\n * import { HxDrawer } from '@helixui/react';\n *\n * <HxDrawer />\n * ```\n */\nexport const HxDrawer = createComponent({\n tagName: 'hx-drawer',\n elementClass: HelixDrawer,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxAfterShow: 'hx-after-show',\n onHxHide: 'hx-hide',\n onHxAfterHide: 'hx-after-hide',\n onHxInitialFocus: 'hx-initial-focus',\n },\n displayName: 'HxDrawer',\n});\n\nexport default HxDrawer;\n"],"names":[],"mappings":";;;AAuGO,MAAM,WAAW,gBAAgB;AAAA,EACtC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf,UAAU;AAAA,IACV,eAAe;AAAA,IACf,kBAAkB;AAAA,EAAA;AAAA,EAEpB,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxDropdown-DJiYTVXP.js","sources":["../../src/components/HxDropdown/HxDropdown.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-dropdown> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixDropdown } from '@helixui/library/components/hx-dropdown';\n\nimport type { HxDropdownProps } from './types.js';\n\nexport type { HxDropdownProps };\n\n/**\n * A dropdown component — a button that opens a floating panel on click.\n *\n * @example\n * ```tsx\n * import { HxDropdown } from '@helixui/react';\n *\n * <HxDropdown />\n * ```\n */\nexport const HxDropdown = createComponent({\n tagName: 'hx-dropdown',\n elementClass: HelixDropdown,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxHide: 'hx-hide',\n onHxSelect: 'hx-select',\n },\n displayName: 'HxDropdown',\n});\n\nexport default HxDropdown;\n"],"names":[],"mappings":";;;AAyBO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,IACV,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxDropdown-DJiYTVXP.js","sources":["../../src/components/HxDropdown/HxDropdown.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-dropdown> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixDropdown } from '@helixui/library/components/hx-dropdown';\n\nimport type { HxDropdownProps } from './types.js';\n\nexport type { HxDropdownProps };\n\n/**\n * A dropdown component — a button that opens a floating panel on click.\n\n## Architecture Note: Host-Attribute Label Mirror (group-4 round-1)\n\nThe announced surface is the inner `[part=\"panel\"]` element, which carries\n`role=\"menu\"`. The host wraps a slotted trigger and the floating panel and\ndoes NOT claim a role itself (apart from the round-35-style host\n`aria-expanded` fallback used only when the trigger slot is empty).\n\nBecause the panel lives in shadow DOM and `ElementInternals` IDL refs on\nthe host project semantics OUTWARD (host → AT) rather than INWARD\n(host → shadow descendant), we use the **host-attribute mirror** pattern:\nresolve consumer `aria-labelledby` IDREFs against the host's composed-tree\nroots, text-flatten via `flattenAccName`, and write the result to the\npanel's `aria-label`. Host `aria-label` outranks the `label` property in\nthe same precedence used by every host-canonical hx-* control.\n\nNaming precedence (W3C AccName 1.2 §4.3.1):\n 1. Host `aria-labelledby` (resolved IDREFs, text-flattened)\n 2. Host `aria-label`\n 3. `label` property\n 4. Hard-coded literal `\"Menu\"` (last-resort accessible name)\n\n**Group 4b → Group 5b boundary:** Group 4b added the host-attribute\nlabel mirror **only** — additive on top of the existing dropdown\nbehaviour. Group 5b (this commit) adds the composite-navigation\nportion that 4b explicitly deferred:\n - **Roving tabindex** inside the panel (`_applyRovingTabIndex` +\n `_rovingIndex`). Only the focused item carries `tabindex=0`.\n - **First-character typeahead** with 500ms timeout (`_handleTypeahead`)\n matching `hx-menu`, `hx-overflow-menu`, `hx-split-button`.\n - Submenu auto-handling is delegated to slotted `hx-menu` /\n `hx-menu-item` (whose `hx-item-submenu-open` / `hx-item-submenu-close`\n events are auto-handled by the parent `hx-menu` after Group 5b).\n\nThe panel's inner-div `role=\"menu\"` is intentionally NOT migrated to\nthe host: the host wraps a slotted consumer trigger AND the panel,\nso it cannot canonically carry the menu role. Slotted `hx-menu-item`\nchildren carry `role=\"menuitem\"` on their HOST after Group 5b's menu\nmigration, which fixes the cross-shadow walk concern from the\nconsumer's perspective.\n\n`aria-controls` is intentionally omitted on the trigger: the panel lives\nin shadow DOM and IDREF values cannot be resolved across shadow\nboundaries by assistive technology (axe-core flags this as a critical\nviolation if attempted). See `_setupTriggerAria` for the inline note.\n *\n * @example\n * ```tsx\n * import { HxDropdown } from '@helixui/react';\n *\n * <HxDropdown />\n * ```\n */\nexport const HxDropdown = createComponent({\n tagName: 'hx-dropdown',\n elementClass: HelixDropdown,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxHide: 'hx-hide',\n onHxSelect: 'hx-select',\n },\n displayName: 'HxDropdown',\n});\n\nexport default HxDropdown;\n"],"names":[],"mappings":";;;AAsEO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,IACV,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxField-CbrmkDYu.js","sources":["../../src/components/HxField/HxField.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-field> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixField } from '@helixui/library/components/hx-field';\n\nimport type { HxFieldProps } from './types.js';\n\nexport type { HxFieldProps };\n\n/**\n * Layout wrapper providing consistent label + input + help text + validation\nmessage structure for any form control. Use this when wrapping non-HELiX\nform controls or native HTML elements in the HELiX form field pattern.\n\nThis component is NOT form-associated — it is a pure visual layout wrapper.\n\n**Light DOM side effect:** This component injects a visually-hidden `<span>`\ninto its light DOM children for ARIA describedby linkage across the shadow\nDOM boundary. This span has `id=\"${fieldId}-desc\"` and is removed on\n`disconnectedCallback`. This is an intentional, documented accessibility\nmechanism.\n *\n * @example\n * ```tsx\n * import { HxField } from '@helixui/react';\n *\n * <HxField />\n * ```\n */\nexport const HxField = createComponent({\n tagName: 'hx-field',\n elementClass: HelixField,\n react: React,\n events: {},\n displayName: 'HxField',\n});\n\nexport default HxField;\n"],"names":[],"mappings":";;;AAmCO,MAAM,UAAU,gBAAgB;AAAA,EACrC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxField-CbrmkDYu.js","sources":["../../src/components/HxField/HxField.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-field> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixField } from '@helixui/library/components/hx-field';\n\nimport type { HxFieldProps } from './types.js';\n\nexport type { HxFieldProps };\n\n/**\n * Layout wrapper providing consistent label + input + help text + validation\nmessage structure for any form control. Use this when wrapping non-HELiX\nform controls or native HTML elements in the HELiX form field pattern.\n\nThis component is NOT form-associated — it is a pure visual layout wrapper.\n\n**Light DOM side effect:** This component injects a visually-hidden `<span>`\ninto its light DOM children for ARIA describedby linkage across the shadow\nDOM boundary. This span has `id=\"${fieldId}-desc\"` and is removed on\n`disconnectedCallback`. This is an intentional, documented accessibility\nmechanism.\n\n**`aria-label` ownership model:** When `label` is set and no shadow `<label>`\nis rendered, hx-field writes `aria-label` to the slotted control and stamps\na `data-hx-owns-label=\"true\"` ownership marker.\n\nConsumers have two ways to keep their value safe from hx-field's writes:\n (a) **Suspend** all ARIA bridging by setting `data-aria-managed` on the\n control. While present, hx-field skips every aria-* mutation and\n leaves any existing marker/snapshot in place — removing\n `data-aria-managed` later may resume host ownership of an `aria-label`\n value that still matches the snapshot.\n (b) **Release** ownership permanently by overwriting `aria-label` to a\n different value than the one hx-field last wrote. The mismatch\n triggers `_releaseHostOwnedAriaLabel`, which strips the marker and\n clears the snapshot, transferring ownership to the consumer.\n\n**Limitation:** because release detection is snapshot-based, a consumer\nrewrite to the *exact same value* hx-field last wrote is invisible. To\ngenuinely take ownership in that case the consumer must write a different\nvalue (even briefly), or remove the `data-hx-owns-label` marker themselves.\n *\n * @example\n * ```tsx\n * import { HxField } from '@helixui/react';\n *\n * <HxField />\n * ```\n */\nexport const HxField = createComponent({\n tagName: 'hx-field',\n elementClass: HelixField,\n react: React,\n events: {},\n displayName: 'HxField',\n});\n\nexport default HxField;\n"],"names":[],"mappings":";;;AAuDO,MAAM,UAAU,gBAAgB;AAAA,EACrC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxList-B35ueWrO.js","sources":["../../src/components/HxList/HxList.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-list> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixList } from '@helixui/library/components/hx-list';\n\nimport type { HxListProps } from './types.js';\n\nexport type { HxListProps };\n\n/**\n * A styled list container supporting plain, bulleted, numbered, description, and interactive variants.\n *\n * @example\n * ```tsx\n * import { HxList } from '@helixui/react';\n *\n * <HxList />\n * ```\n */\nexport const HxList = createComponent({\n tagName: 'hx-list',\n elementClass: HelixList,\n react: React,\n events: {\n onHxSelect: 'hx-select',\n },\n displayName: 'HxList',\n});\n\nexport default HxList;\n"],"names":[],"mappings":";;;AAyBO,MAAM,SAAS,gBAAgB;AAAA,EACpC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxList-B35ueWrO.js","sources":["../../src/components/HxList/HxList.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-list> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixList } from '@helixui/library/components/hx-list';\n\nimport type { HxListProps } from './types.js';\n\nexport type { HxListProps };\n\n/**\n * A styled list container supporting plain, bulleted, numbered, description, and interactive variants.\n\nGroup 7 host-canonical: `role=\"list\"` (or `role=\"listbox\"` in interactive\nmode) lives on the **host** via `_internals.role`, harmonizing with\n`hx-structured-list` (the gold-standard exemplar for Group 7). The `<dl>`\ndescription variant keeps native semantics — no host role assigned, since\n`<dl>` IS the semantic surface and AT walks it directly.\n *\n * @example\n * ```tsx\n * import { HxList } from '@helixui/react';\n *\n * <HxList />\n * ```\n */\nexport const HxList = createComponent({\n tagName: 'hx-list',\n elementClass: HelixList,\n react: React,\n events: {\n onHxSelect: 'hx-select',\n },\n displayName: 'HxList',\n});\n\nexport default HxList;\n"],"names":[],"mappings":";;;AA+BO,MAAM,SAAS,gBAAgB;AAAA,EACpC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxListItem-DegXnlK0.js","sources":["../../src/components/HxListItem/HxListItem.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-list-item> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixListItem } from '@helixui/library/components/hx-list';\n\nimport type { HxListItemProps } from './types.js';\n\nexport type { HxListItemProps };\n\n/**\n * A rich list item for use inside `hx-list`.\n *\n * @example\n * ```tsx\n * import { HxListItem } from '@helixui/react';\n *\n * <HxListItem />\n * ```\n */\nexport const HxListItem = createComponent({\n tagName: 'hx-list-item',\n elementClass: HelixListItem,\n react: React,\n events: {\n onHxListItemClick: 'hx-list-item-click',\n },\n displayName: 'HxListItem',\n});\n\nexport default HxListItem;\n"],"names":[],"mappings":";;;AAyBO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,mBAAmB;AAAA,EAAA;AAAA,EAErB,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxListItem-DegXnlK0.js","sources":["../../src/components/HxListItem/HxListItem.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-list-item> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixListItem } from '@helixui/library/components/hx-list';\n\nimport type { HxListItemProps } from './types.js';\n\nexport type { HxListItemProps };\n\n/**\n * A rich list item for use inside `hx-list`.\n\nGroup 7 host-canonical: `role=\"option\"` (interactive listbox mode) is\nmirrored onto the **host** via `_internals.role` AND the legacy\nsetAttribute('role',...) path. The dual-surface pattern preserves the\nexisting imperative host-attribute behaviour (so consumers querying\n`host.getAttribute('role')` still work) while adding cross-shadow IDREF\nwiring through `internals.ariaLabelledByElements` for engines that\nsupport it.\n *\n * @example\n * ```tsx\n * import { HxListItem } from '@helixui/react';\n *\n * <HxListItem />\n * ```\n */\nexport const HxListItem = createComponent({\n tagName: 'hx-list-item',\n elementClass: HelixListItem,\n react: React,\n events: {\n onHxListItemClick: 'hx-list-item-click',\n },\n displayName: 'HxListItem',\n});\n\nexport default HxListItem;\n"],"names":[],"mappings":";;;AAiCO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,mBAAmB;AAAA,EAAA;AAAA,EAErB,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxMenu-B1tRT8Lm.js","sources":["../../src/components/HxMenu/HxMenu.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-menu> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixMenu } from '@helixui/library/components/hx-menu';\n\nimport type { HxMenuProps } from './types.js';\n\nexport type { HxMenuProps };\n\n/**\n * A menu container that manages keyboard navigation over a list of menu items.\nUse with `hx-menu-item` and `hx-menu-divider`.\n *\n * @example\n * ```tsx\n * import { HxMenu } from '@helixui/react';\n *\n * <HxMenu />\n * ```\n */\nexport const HxMenu = createComponent({\n tagName: 'hx-menu',\n elementClass: HelixMenu,\n react: React,\n events: {\n onHxClose: 'hx-close',\n onHxSelect: 'hx-select',\n },\n displayName: 'HxMenu',\n});\n\nexport default HxMenu;\n"],"names":[],"mappings":";;;AA0BO,MAAM,SAAS,gBAAgB;AAAA,EACpC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxMenu-B1tRT8Lm.js","sources":["../../src/components/HxMenu/HxMenu.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-menu> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixMenu } from '@helixui/library/components/hx-menu';\n\nimport type { HxMenuProps } from './types.js';\n\nexport type { HxMenuProps };\n\n/**\n * A menu container that manages keyboard navigation over a list of menu items.\nUse with `hx-menu-item` and `hx-menu-divider`.\n\nGroup 5b host-canonical: `role=\"menu\"` lives on the **host** via\n`_internals.role`. The host carries the announced surface so AT walks\n`<hx-menu>` (role=menu) → slotted `<hx-menu-item>` (role=menuitem on host)\ndirectly without two layers of indirection. Consumer-supplied\n`aria-label` / `aria-labelledby` on the host are resolved via the shared\nIDREF mirror; cross-shadow naming uses `ariaLabelledByElements` (modern)\nwith a flattened-string fallback (legacy).\n\nSubmenu coordination: when an `hx-menu-item` emits `hx-item-submenu-open`\nor `hx-item-submenu-close`, the parent menu auto-handles the toggle by\ncalling `setSubmenuOpen()` on the item — UNLESS the consumer has called\n`event.preventDefault()` on the bubbled event, signaling that they own the\nsubmenu lifecycle. This matches APG-mandated behaviour while leaving an\nopt-out for advanced consumers.\n *\n * @example\n * ```tsx\n * import { HxMenu } from '@helixui/react';\n *\n * <HxMenu />\n * ```\n */\nexport const HxMenu = createComponent({\n tagName: 'hx-menu',\n elementClass: HelixMenu,\n react: React,\n events: {\n onHxClose: 'hx-close',\n onHxSelect: 'hx-select',\n },\n displayName: 'HxMenu',\n});\n\nexport default HxMenu;\n"],"names":[],"mappings":";;;AAyCO,MAAM,SAAS,gBAAgB;AAAA,EACpC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxMenuDivider-RE1AMxqi.js","sources":["../../src/components/HxMenuDivider/HxMenuDivider.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-menu-divider> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixMenuDivider } from '@helixui/library/components/hx-menu';\n\nimport type { HxMenuDividerProps } from './types.js';\n\nexport type { HxMenuDividerProps };\n\n/**\n * A visual separator for grouping items within an `hx-menu`.\n *\n * @example\n * ```tsx\n * import { HxMenuDivider } from '@helixui/react';\n *\n * <HxMenuDivider />\n * ```\n */\nexport const HxMenuDivider = createComponent({\n tagName: 'hx-menu-divider',\n elementClass: HelixMenuDivider,\n react: React,\n events: {},\n displayName: 'HxMenuDivider',\n});\n\nexport default HxMenuDivider;\n"],"names":[],"mappings":";;;AAyBO,MAAM,gBAAgB,gBAAgB;AAAA,EAC3C,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxMenuDivider-RE1AMxqi.js","sources":["../../src/components/HxMenuDivider/HxMenuDivider.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-menu-divider> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixMenuDivider } from '@helixui/library/components/hx-menu';\n\nimport type { HxMenuDividerProps } from './types.js';\n\nexport type { HxMenuDividerProps };\n\n/**\n * A visual separator for grouping items within an `hx-menu`.\n\nGroup 5b host-canonical: `role=\"separator\"` lives on the **host** via\n`_internals.role` so the parent `<hx-menu>` (`role=\"menu\"`) sees the\nseparator as a direct child. `aria-orientation` is mirrored onto the host\nvia `internals.ariaOrientation`. The inner div is presentational on the\nmodern path and stripped of its role; the legacy fallback keeps the\ninner role for engines without ElementInternals IDL accessors.\n *\n * @example\n * ```tsx\n * import { HxMenuDivider } from '@helixui/react';\n *\n * <HxMenuDivider />\n * ```\n */\nexport const HxMenuDivider = createComponent({\n tagName: 'hx-menu-divider',\n elementClass: HelixMenuDivider,\n react: React,\n events: {},\n displayName: 'HxMenuDivider',\n});\n\nexport default HxMenuDivider;\n"],"names":[],"mappings":";;;AAgCO,MAAM,gBAAgB,gBAAgB;AAAA,EAC3C,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxMenuItem-CLdUUCJS.js","sources":["../../src/components/HxMenuItem/HxMenuItem.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-menu-item> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixMenuItem } from '@helixui/library/components/hx-menu';\n\nimport type { HxMenuItemProps } from './types.js';\n\nexport type { HxMenuItemProps };\n\n/**\n * A single interactive item for use inside `hx-menu`. Supports normal, checkbox,\nand radio types, loading state, prefix/suffix slots, and submenu nesting.\nUse `aria-label` on the parent `hx-menu` to provide an accessible name.\n *\n * @example\n * ```tsx\n * import { HxMenuItem } from '@helixui/react';\n *\n * <HxMenuItem />\n * ```\n */\nexport const HxMenuItem = createComponent({\n tagName: 'hx-menu-item',\n elementClass: HelixMenuItem,\n react: React,\n events: {\n onHxItemSelect: 'hx-item-select',\n onHxItemSubmenuOpen: 'hx-item-submenu-open',\n onHxItemSubmenuClose: 'hx-item-submenu-close',\n },\n displayName: 'HxMenuItem',\n});\n\nexport default HxMenuItem;\n"],"names":[],"mappings":";;;AA2BO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,sBAAsB;AAAA,EAAA;AAAA,EAExB,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxMenuItem-CLdUUCJS.js","sources":["../../src/components/HxMenuItem/HxMenuItem.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-menu-item> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixMenuItem } from '@helixui/library/components/hx-menu';\n\nimport type { HxMenuItemProps } from './types.js';\n\nexport type { HxMenuItemProps };\n\n/**\n * A single interactive item for use inside `hx-menu`. Supports normal, checkbox,\nand radio types, loading state, prefix/suffix slots, and submenu nesting.\n\nGroup 5b host-canonical: `role=\"menuitem\"` (or `menuitemcheckbox` /\n`menuitemradio` based on `type`) lives on the **host** via\n`_internals.role`. The roving tabindex is written to the host, so the host\nis the focusable surface and lands directly under the parent `<hx-menu>`\n(which carries `role=\"menu\"`) in the AT walked tree. The inner element is\npresentational on the modern path — no role, no aria-* attributes — and\ncarries only click/keyboard event handlers. Keyboard activation\n(Enter/Space) is owned by the host's `keydown` handler.\n\nCross-shadow naming: consumer-supplied `aria-label` / `aria-labelledby` on\nthe host project to `internals.ariaLabel` / `internals.ariaLabelledByElements`\nvia the shared IDREF mirror. The slotted text content is used as the default\naccessible name when no override is set (AT walks slotted children\nautomatically through the host's role).\n *\n * @example\n * ```tsx\n * import { HxMenuItem } from '@helixui/react';\n *\n * <HxMenuItem />\n * ```\n */\nexport const HxMenuItem = createComponent({\n tagName: 'hx-menu-item',\n elementClass: HelixMenuItem,\n react: React,\n events: {\n onHxItemSelect: 'hx-item-select',\n onHxItemSubmenuOpen: 'hx-item-submenu-open',\n onHxItemSubmenuClose: 'hx-item-submenu-close',\n },\n displayName: 'HxMenuItem',\n});\n\nexport default HxMenuItem;\n"],"names":[],"mappings":";;;AAyCO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,sBAAsB;AAAA,EAAA;AAAA,EAExB,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxMeter-C3R4U7cD.js","sources":["../../src/components/HxMeter/HxMeter.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-meter> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixMeter } from '@helixui/library/components/hx-meter';\n\nimport type { HxMeterProps } from './types.js';\n\nexport type { HxMeterProps };\n\n/**\n * A scalar measurement within a known range — e.g., disk usage, health score,\nor any numeric value with defined min/max bounds. Supports low/high/optimum\nthreshold markers for semantic color feedback.\n *\n * @example\n * ```tsx\n * import { HxMeter } from '@helixui/react';\n *\n * <HxMeter />\n * ```\n */\nexport const HxMeter = createComponent({\n tagName: 'hx-meter',\n elementClass: HelixMeter,\n react: React,\n events: {},\n displayName: 'HxMeter',\n});\n\nexport default HxMeter;\n"],"names":[],"mappings":";;;AA2BO,MAAM,UAAU,gBAAgB;AAAA,EACrC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxMeter-C3R4U7cD.js","sources":["../../src/components/HxMeter/HxMeter.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-meter> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixMeter } from '@helixui/library/components/hx-meter';\n\nimport type { HxMeterProps } from './types.js';\n\nexport type { HxMeterProps };\n\n/**\n * A scalar measurement within a known range — e.g., disk usage, health score,\nor any numeric value with defined min/max bounds. Supports low/high/optimum\nthreshold markers for semantic color feedback.\n\nGroup 7 host-canonical: `role=\"meter\"` is mirrored onto the **host** via\n`_internals.role` AND kept on the inner `[role=\"meter\"]` element. The dual\nsurface is the hx-progress-ring pattern (Group 7 gold-standard exemplar):\nthe host carries the cross-shadow IDREF wiring (`ariaLabelledByElements`\nresolves through the shared mirror) while the inner element keeps its\nexisting role/state surface so legacy AT and consumer queries continue to\nwork. AccName 1.2 §4.3.1 precedence is implemented uniformly: consumer\nhost `aria-labelledby` (flattened) > consumer host `aria-label` >\n`label` property / slotted label > derived value-text fallback.\n *\n * @example\n * ```tsx\n * import { HxMeter } from '@helixui/react';\n *\n * <HxMeter />\n * ```\n */\nexport const HxMeter = createComponent({\n tagName: 'hx-meter',\n elementClass: HelixMeter,\n react: React,\n events: {},\n displayName: 'HxMeter',\n});\n\nexport default HxMeter;\n"],"names":[],"mappings":";;;AAqCO,MAAM,UAAU,gBAAgB;AAAA,EACrC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxOverflowMenu-CdTWx4X5.js","sources":["../../src/components/HxOverflowMenu/HxOverflowMenu.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-overflow-menu> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixOverflowMenu } from '@helixui/library/components/hx-overflow-menu';\n\nimport type { HxOverflowMenuProps } from './types.js';\n\nexport type { HxOverflowMenuProps };\n\n/**\n * An overflow menu (kebab/meatball menu) that reveals hidden actions via a\nfloating panel. Composed from a trigger button and a slotted menu panel.\n *\n * @example\n * ```tsx\n * import { HxOverflowMenu } from '@helixui/react';\n *\n * <HxOverflowMenu />\n * ```\n */\nexport const HxOverflowMenu = createComponent({\n tagName: 'hx-overflow-menu',\n elementClass: HelixOverflowMenu,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxHide: 'hx-hide',\n onHxSelect: 'hx-select',\n },\n displayName: 'HxOverflowMenu',\n});\n\nexport default HxOverflowMenu;\n"],"names":[],"mappings":";;;AA0BO,MAAM,iBAAiB,gBAAgB;AAAA,EAC5C,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,IACV,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxOverflowMenu-CdTWx4X5.js","sources":["../../src/components/HxOverflowMenu/HxOverflowMenu.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-overflow-menu> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixOverflowMenu } from '@helixui/library/components/hx-overflow-menu';\n\nimport type { HxOverflowMenuProps } from './types.js';\n\nexport type { HxOverflowMenuProps };\n\n/**\n * An overflow menu (kebab/meatball menu) that reveals hidden actions via a\nfloating panel. Composed from a trigger button and a slotted menu panel.\n\n## Architecture Note: Host-Attribute Trigger Label Mirror (group-5b)\n\nThe composite has TWO ARIA-bearing surfaces inside its shadow DOM: the\ntrigger button (`role` defaulted from `<button>`, with `aria-haspopup`,\n`aria-expanded`, `aria-controls`) and the panel (`role=\"menu\"` on the\ninner div). The host wraps both — it cannot carry either canonical role\nitself, so role placement remains on the inner elements.\n\nWhat Group 5b adds:\n- **Roving tabindex** on slotted menu items (only the focused item has\n tabindex=0; arrow keys move focus and rewrite tabindex). Closing-Tab\n path is preserved (Tab moves focus past the menu and closes it).\n- **First-character typeahead** with 500ms timeout matching `hx-menu`.\n- **Host-attribute label mirror**: consumer-supplied `aria-label` /\n `aria-labelledby` on the host flow to the trigger button's\n `aria-label` (the trigger is the announced surface of the disclosure\n pattern; consumer override wins over the `label` property). The panel\n continues to use `labelMenu` for its own slot label.\n *\n * @example\n * ```tsx\n * import { HxOverflowMenu } from '@helixui/react';\n *\n * <HxOverflowMenu />\n * ```\n */\nexport const HxOverflowMenu = createComponent({\n tagName: 'hx-overflow-menu',\n elementClass: HelixOverflowMenu,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxHide: 'hx-hide',\n onHxSelect: 'hx-select',\n },\n displayName: 'HxOverflowMenu',\n});\n\nexport default HxOverflowMenu;\n"],"names":[],"mappings":";;;AA6CO,MAAM,iBAAiB,gBAAgB;AAAA,EAC5C,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,IACV,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxPopover-D0zfUXPF.js","sources":["../../src/components/HxPopover/HxPopover.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-popover> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixPopover } from '@helixui/library/components/hx-popover';\n\nimport type { HxPopoverProps } from './types.js';\n\nexport type { HxPopoverProps };\n\n/**\n * A popover that displays rich floating content attached to a trigger element.\n *\n * @example\n * ```tsx\n * import { HxPopover } from '@helixui/react';\n *\n * <HxPopover />\n * ```\n */\nexport const HxPopover = createComponent({\n tagName: 'hx-popover',\n elementClass: HelixPopover,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxAfterShow: 'hx-after-show',\n onHxHide: 'hx-hide',\n onHxAfterHide: 'hx-after-hide',\n },\n displayName: 'HxPopover',\n});\n\nexport default HxPopover;\n"],"names":[],"mappings":";;;AAyBO,MAAM,YAAY,gBAAgB;AAAA,EACvC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf,UAAU;AAAA,IACV,eAAe;AAAA,EAAA;AAAA,EAEjB,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxPopover-D0zfUXPF.js","sources":["../../src/components/HxPopover/HxPopover.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-popover> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixPopover } from '@helixui/library/components/hx-popover';\n\nimport type { HxPopoverProps } from './types.js';\n\nexport type { HxPopoverProps };\n\n/**\n * A popover that displays rich floating content attached to a trigger element.\n\n## Architecture Note: Host-Attribute Label Mirror (group-4 round-1)\n\nUnlike modal dialogs (`hx-dialog` / `hx-drawer`) where the HOST is the\nannounced surface and `ElementInternals` projects consumer IDREFs across\nthe shadow boundary, `hx-popover`'s announced surface is the inner\n`[part=\"body\"]` element which carries `role=\"dialog\"`. The host does not\nclaim a role — it is a structural wrapper around an anchor slot and a\nseparate floating panel.\n\nIDL element references on `internals.ariaLabelledByElements` therefore\ncannot help: AT walks the inner body's accessibility node, and IDL refs\ndeclared on the host are not visible from a shadow-internal descendant\nlooking up. The viable cross-shadow path is the host-attribute mirror:\n\n 1. The host observes `aria-label` / `aria-labelledby` mutations.\n 2. On every sync, `aria-labelledby` IDREFs are resolved via\n `resolveIdrefTokens` (composed-tree walk: host root → ancestor\n shadow hosts → owner document) and **text-flattened** via\n `flattenAccName` (AccName 1.2 §4.3.10 hidden-aware).\n 3. The flattened name is written to the inner body's `aria-label`,\n overriding the `label` property only when consumer naming is set.\n\nNaming precedence (W3C AccName 1.2 §4.3.1):\n\n 1. Host `aria-labelledby` (resolved IDREFs, text-flattened)\n 2. Host `aria-label`\n 3. `label` property\n 4. Hard-coded literal `\"Popover\"` (last-resort accessible name)\n\nThe text-flatten approach forfeits live IDL-ref tracking (mutating a\nreferenced element's text re-fires through the shared root observer; see\n`installAriaIdrefMirror`). `aria-controls` is intentionally omitted on\nthe trigger — the body lives in shadow DOM and consumer IDREFs cannot\nresolve cross-root from light-DOM (axe-core flags this as a critical\nviolation if attempted; see line documenting this exception below).\n\nSlotted label support (e.g. `<slot name=\"title\">`) is deliberately NOT\nadded in this round — it would expand the public API surface and is\ntracked as a follow-up enhancement.\n *\n * @example\n * ```tsx\n * import { HxPopover } from '@helixui/react';\n *\n * <HxPopover />\n * ```\n */\nexport const HxPopover = createComponent({\n tagName: 'hx-popover',\n elementClass: HelixPopover,\n react: React,\n events: {\n onHxShow: 'hx-show',\n onHxAfterShow: 'hx-after-show',\n onHxHide: 'hx-hide',\n onHxAfterHide: 'hx-after-hide',\n },\n displayName: 'HxPopover',\n});\n\nexport default HxPopover;\n"],"names":[],"mappings":";;;AAiEO,MAAM,YAAY,gBAAgB;AAAA,EACvC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf,UAAU;AAAA,IACV,eAAe;AAAA,EAAA;AAAA,EAEjB,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxProgressBar-FupceIzI.js","sources":["../../src/components/HxProgressBar/HxProgressBar.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-progress-bar> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixProgressBar } from '@helixui/library/components/hx-progress-bar';\n\nimport type { HxProgressBarProps } from './types.js';\n\nexport type { HxProgressBarProps };\n\n/**\n * A linear progress indicator for determinate and indeterminate states.\n *\n * @example\n * ```tsx\n * import { HxProgressBar } from '@helixui/react';\n *\n * <HxProgressBar />\n * ```\n */\nexport const HxProgressBar = createComponent({\n tagName: 'hx-progress-bar',\n elementClass: HelixProgressBar,\n react: React,\n events: {\n onHxComplete: 'hx-complete',\n },\n displayName: 'HxProgressBar',\n});\n\nexport default HxProgressBar;\n"],"names":[],"mappings":";;;AAyBO,MAAM,gBAAgB,gBAAgB;AAAA,EAC3C,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,cAAc;AAAA,EAAA;AAAA,EAEhB,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxProgressBar-FupceIzI.js","sources":["../../src/components/HxProgressBar/HxProgressBar.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-progress-bar> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixProgressBar } from '@helixui/library/components/hx-progress-bar';\n\nimport type { HxProgressBarProps } from './types.js';\n\nexport type { HxProgressBarProps };\n\n/**\n * A linear progress indicator for determinate and indeterminate states.\n\nGroup 7 host-canonical: `role=\"progressbar\"` is mirrored onto the **host**\nvia `_internals.role` (cross-shadow IDREF wiring) AND kept on the inner\n`[role=\"progressbar\"]` track for legacy AT and consumer queries. This is\nthe hx-progress-ring dual-surface pattern (Group 7 gold-standard).\nConsumer-supplied `aria-labelledby` / `aria-describedby` on the host\nresolves through the shared IDREF mirror so cross-shadow naming reaches\nthe announced surface even when the labels live in another shadow tree.\n\nThe internal `aria-live=\"polite\"` announcer for the \"Complete\" milestone\nis preserved (`role=\"progressbar\"` does NOT imply a live region — an\nexplicit live announcer is required for value-update announcements).\n *\n * @example\n * ```tsx\n * import { HxProgressBar } from '@helixui/react';\n *\n * <HxProgressBar />\n * ```\n */\nexport const HxProgressBar = createComponent({\n tagName: 'hx-progress-bar',\n elementClass: HelixProgressBar,\n react: React,\n events: {\n onHxComplete: 'hx-complete',\n },\n displayName: 'HxProgressBar',\n});\n\nexport default HxProgressBar;\n"],"names":[],"mappings":";;;AAqCO,MAAM,gBAAgB,gBAAgB;AAAA,EAC3C,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,cAAc;AAAA,EAAA;AAAA,EAEhB,aAAa;AACf,CAAC;"}
@@ -6,11 +6,12 @@ const HxSelect = createComponent({
6
6
  elementClass: HelixSelect,
7
7
  react: React,
8
8
  events: {
9
- onHxChange: "hx-change"
9
+ onHxChange: "hx-change",
10
+ onInvalid: "invalid"
10
11
  },
11
12
  displayName: "HxSelect"
12
13
  });
13
14
  export {
14
15
  HxSelect as H
15
16
  };
16
- //# sourceMappingURL=HxSelect-BEm8srcF.js.map
17
+ //# sourceMappingURL=HxSelect-BAt_veRr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HxSelect-BEm8srcF.js","sources":["../../src/components/HxSelect/HxSelect.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-select> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixSelect } from '@helixui/library/components/hx-select';\n\nimport type { HxSelectProps } from './types.js';\n\nexport type { HxSelectProps };\n\n/**\n * A form-associated select component with custom styling, label, error, and\nhelp text. Options are provided via slotted `<option>` (and `<optgroup>`)\nelements in the light DOM. The component wraps a hidden native `<select>`\nfor form participation and provides a combobox trigger for consistent\ncross-browser styling.\n *\n * @example\n * ```tsx\n * import { HxSelect } from '@helixui/react';\n *\n * <HxSelect />\n * ```\n */\nexport const HxSelect = createComponent({\n tagName: 'hx-select',\n elementClass: HelixSelect,\n react: React,\n events: {\n onHxChange: 'hx-change',\n },\n displayName: 'HxSelect',\n});\n\nexport default HxSelect;\n"],"names":[],"mappings":";;;AA6BO,MAAM,WAAW,gBAAgB;AAAA,EACtC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxSelect-BAt_veRr.js","sources":["../../src/components/HxSelect/HxSelect.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-select> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixSelect } from '@helixui/library/components/hx-select';\n\nimport type { HxSelectProps } from './types.js';\n\nexport type { HxSelectProps };\n\n/**\n * A form-associated select component with custom styling, label, error, and\nhelp text. Options are provided via slotted `<option>` (and `<optgroup>`)\nelements in the light DOM. The component wraps a hidden native `<select>`\nfor form participation and provides a combobox trigger for consistent\ncross-browser styling.\n *\n * @example\n * ```tsx\n * import { HxSelect } from '@helixui/react';\n *\n * <HxSelect />\n * ```\n */\nexport const HxSelect = createComponent({\n tagName: 'hx-select',\n elementClass: HelixSelect,\n react: React,\n events: {\n onHxChange: 'hx-change',\n onInvalid: 'invalid',\n },\n displayName: 'HxSelect',\n});\n\nexport default HxSelect;\n"],"names":[],"mappings":";;;AA6BO,MAAM,WAAW,gBAAgB;AAAA,EACtC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,WAAW;AAAA,EAAA;AAAA,EAEb,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxSplitButton-BVNWYaAl.js","sources":["../../src/components/HxSplitButton/HxSplitButton.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-split-button> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixSplitButton } from '@helixui/library/components/hx-split-button';\n\nimport type { HxSplitButtonProps } from './types.js';\n\nexport type { HxSplitButtonProps };\n\n/**\n * A split button combining a primary action button with an attached dropdown\nmenu for secondary actions. Implements the ARIA menu button pattern for\nfull keyboard and screen reader support.\n *\n * @example\n * ```tsx\n * import { HxSplitButton } from '@helixui/react';\n *\n * <HxSplitButton />\n * ```\n */\nexport const HxSplitButton = createComponent({\n tagName: 'hx-split-button',\n elementClass: HelixSplitButton,\n react: React,\n events: {\n onHxClick: 'hx-click',\n onHxSelect: 'hx-select',\n },\n displayName: 'HxSplitButton',\n});\n\nexport default HxSplitButton;\n"],"names":[],"mappings":";;;AA2BO,MAAM,gBAAgB,gBAAgB;AAAA,EAC3C,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxSplitButton-BVNWYaAl.js","sources":["../../src/components/HxSplitButton/HxSplitButton.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-split-button> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixSplitButton } from '@helixui/library/components/hx-split-button';\n\nimport type { HxSplitButtonProps } from './types.js';\n\nexport type { HxSplitButtonProps };\n\n/**\n * A split button combining a primary action button with an attached dropdown\nmenu for secondary actions. Implements the ARIA menu button pattern for\nfull keyboard and screen reader support.\n\n## Architecture Note: Composite host with two interactive children (Group 5b)\n\nThe host wraps a primary `<button>`, a dropdown trigger `<button>`, and a\npanel `<div role=\"menu\">` — three ARIA-bearing surfaces that cannot all\ncollapse onto the host. Group 5b keeps role placement on the inner\nelements (consistent with `hx-overflow-menu`). The host carries no role.\n\nWhat Group 5b adds:\n- **Host-attribute label mirror** via `installAriaIdrefMirror`: consumer\n `aria-label` / `aria-labelledby` on the host flow to the inner primary\n button's `aria-label`. Replaces the legacy `accessible-label` shim,\n which was a workaround for ARIAMixin shadowing on the host. The shim\n is preserved with a one-time devWarn for one minor version of back-\n compat; new code should use the standard `aria-label` attribute.\n- **Roving tabindex** on slotted `hx-menu-item` children inside the\n panel. Only the focused item carries `tabindex=0`; arrow key\n navigation rewrites the tabindex map via `_applyRovingTabIndex()`.\n `setRovingTabIndex` is the same setter used by `hx-menu` for cross-\n family pattern alignment.\n- **First-character typeahead** with 500ms timeout matching `hx-menu`.\n *\n * @example\n * ```tsx\n * import { HxSplitButton } from '@helixui/react';\n *\n * <HxSplitButton />\n * ```\n */\nexport const HxSplitButton = createComponent({\n tagName: 'hx-split-button',\n elementClass: HelixSplitButton,\n react: React,\n events: {\n onHxClick: 'hx-click',\n onHxSelect: 'hx-select',\n },\n displayName: 'HxSplitButton',\n});\n\nexport default HxSplitButton;\n"],"names":[],"mappings":";;;AAgDO,MAAM,gBAAgB,gBAAgB;AAAA,EAC3C,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxStat-C_colBF2.js","sources":["../../src/components/HxStat/HxStat.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-stat> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixStat } from '@helixui/library/components/hx-stat';\n\nimport type { HxStatProps } from './types.js';\n\nexport type { HxStatProps };\n\n/**\n * A static stat display component for presenting key metrics in a healthcare dashboard.\n *\n * @example\n * ```tsx\n * import { HxStat } from '@helixui/react';\n *\n * <HxStat />\n * ```\n */\nexport const HxStat = createComponent({\n tagName: 'hx-stat',\n elementClass: HelixStat,\n react: React,\n events: {},\n displayName: 'HxStat',\n});\n\nexport default HxStat;\n"],"names":[],"mappings":";;;AAyBO,MAAM,SAAS,gBAAgB;AAAA,EACpC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxStat-C_colBF2.js","sources":["../../src/components/HxStat/HxStat.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-stat> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixStat } from '@helixui/library/components/hx-stat';\n\nimport type { HxStatProps } from './types.js';\n\nexport type { HxStatProps };\n\n/**\n * A static stat display component for presenting key metrics in a healthcare dashboard.\n\nGroup 7 host-canonical: `role=\"group\"` lives on the **host** via\n`_internals.role`. The host carries the resolved accessible name so AT\nwalks `<hx-stat>` (role=group, label=\"value: label\") directly. The\ninternal `aria-live=\"polite\"` announcer remains in the shadow tree —\n`role=\"group\"` does NOT imply a live region, so the announcer is required\nfor value/label/trend update announcements.\n *\n * @example\n * ```tsx\n * import { HxStat } from '@helixui/react';\n *\n * <HxStat />\n * ```\n */\nexport const HxStat = createComponent({\n tagName: 'hx-stat',\n elementClass: HelixStat,\n react: React,\n events: {},\n displayName: 'HxStat',\n});\n\nexport default HxStat;\n"],"names":[],"mappings":";;;AAgCO,MAAM,SAAS,gBAAgB;AAAA,EACpC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxTab-Dhb27BDp.js","sources":["../../src/components/HxTab/HxTab.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tab> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTab } from '@helixui/library/components/hx-tabs';\n\nimport type { HxTabProps } from './types.js';\n\nexport type { HxTabProps };\n\n/**\n * An individual tab button, designed to be used inside an `<hx-tabs>` container.\nMust be placed in the `tab` named slot of `<hx-tabs>`.\n *\n * @example\n * ```tsx\n * import { HxTab } from '@helixui/react';\n *\n * <HxTab />\n * ```\n */\nexport const HxTab = createComponent({\n tagName: 'hx-tab',\n elementClass: HelixTab,\n react: React,\n events: {},\n displayName: 'HxTab',\n});\n\nexport default HxTab;\n"],"names":[],"mappings":";;;AA0BO,MAAM,QAAQ,gBAAgB;AAAA,EACnC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxTab-Dhb27BDp.js","sources":["../../src/components/HxTab/HxTab.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tab> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTab } from '@helixui/library/components/hx-tabs';\n\nimport type { HxTabProps } from './types.js';\n\nexport type { HxTabProps };\n\n/**\n * An individual tab button, designed to be used inside an `<hx-tabs>` container.\nMust be placed in the `tab` named slot of `<hx-tabs>`.\n\nGroup 5a host-canonical: `role=\"tab\"` lives on the **host** via\n`_internals.role`. The host is the focusable surface (carries the roving\ntabindex); the inner `<button>` retains click activation semantics\n(Enter/Space and pointer events) but is no longer the AT-announced surface\n— its role and ARIA state are stripped on the modern path so the host's\ncanonical surface wins. `internals.ariaSelected`, `ariaDisabled`, and\n`ariaControlsElements` mirror reactive state. The host `aria-label` /\n`aria-labelledby` resolved via the shared IDREF mirror name the tab\ncross-shadow.\n *\n * @example\n * ```tsx\n * import { HxTab } from '@helixui/react';\n *\n * <HxTab />\n * ```\n */\nexport const HxTab = createComponent({\n tagName: 'hx-tab',\n elementClass: HelixTab,\n react: React,\n events: {},\n displayName: 'HxTab',\n});\n\nexport default HxTab;\n"],"names":[],"mappings":";;;AAoCO,MAAM,QAAQ,gBAAgB;AAAA,EACnC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxTabPanel-CmFKupoK.js","sources":["../../src/components/HxTabPanel/HxTabPanel.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tab-panel> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTabPanel } from '@helixui/library/components/hx-tabs';\n\nimport type { HxTabPanelProps } from './types.js';\n\nexport type { HxTabPanelProps };\n\n/**\n * A content panel associated with an `<hx-tab>`, managed by a parent `<hx-tabs>`.\n *\n * @example\n * ```tsx\n * import { HxTabPanel } from '@helixui/react';\n *\n * <HxTabPanel />\n * ```\n */\nexport const HxTabPanel = createComponent({\n tagName: 'hx-tab-panel',\n elementClass: HelixTabPanel,\n react: React,\n events: {},\n displayName: 'HxTabPanel',\n});\n\nexport default HxTabPanel;\n"],"names":[],"mappings":";;;AAyBO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxTabPanel-CmFKupoK.js","sources":["../../src/components/HxTabPanel/HxTabPanel.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tab-panel> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTabPanel } from '@helixui/library/components/hx-tabs';\n\nimport type { HxTabPanelProps } from './types.js';\n\nexport type { HxTabPanelProps };\n\n/**\n * A content panel associated with an `<hx-tab>`, managed by a parent `<hx-tabs>`.\nGroup 5a host-canonical: `role=\"tabpanel\"` lives on the host via\n`_internals.role`. The host carries the canonical AT surface — consumer\n`aria-labelledby` / `aria-describedby` on the host resolve through the\nshared IDREF mirror. The parent `hx-tabs` writes `internals.ariaLabelledByElements`\nreferencing the corresponding `<hx-tab>` host so cross-shadow naming works\nvia IDL element references (the modern path) without serializing tab text.\n *\n * @example\n * ```tsx\n * import { HxTabPanel } from '@helixui/react';\n *\n * <HxTabPanel />\n * ```\n */\nexport const HxTabPanel = createComponent({\n tagName: 'hx-tab-panel',\n elementClass: HelixTabPanel,\n react: React,\n events: {},\n displayName: 'HxTabPanel',\n});\n\nexport default HxTabPanel;\n"],"names":[],"mappings":";;;AA+BO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxTabs-DIIy0X3K.js","sources":["../../src/components/HxTabs/HxTabs.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tabs> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTabs } from '@helixui/library/components/hx-tabs';\n\nimport type { HxTabsProps } from './types.js';\n\nexport type { HxTabsProps };\n\n/**\n * A tabbed content organizer that manages a set of `<hx-tab>` and `<hx-tab-panel>` children.\nSupports horizontal and vertical orientations, automatic and manual activation modes,\nand full keyboard navigation per the ARIA Authoring Practices Guide.\n *\n * @example\n * ```tsx\n * import { HxTabs } from '@helixui/react';\n *\n * <HxTabs />\n * ```\n */\nexport const HxTabs = createComponent({\n tagName: 'hx-tabs',\n elementClass: HelixTabs,\n react: React,\n events: {\n onHxTabChange: 'hx-tab-change',\n },\n displayName: 'HxTabs',\n});\n\nexport default HxTabs;\n"],"names":[],"mappings":";;;AA2BO,MAAM,SAAS,gBAAgB;AAAA,EACpC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,eAAe;AAAA,EAAA;AAAA,EAEjB,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxTabs-DIIy0X3K.js","sources":["../../src/components/HxTabs/HxTabs.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tabs> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTabs } from '@helixui/library/components/hx-tabs';\n\nimport type { HxTabsProps } from './types.js';\n\nexport type { HxTabsProps };\n\n/**\n * A tabbed content organizer that manages a set of `<hx-tab>` and `<hx-tab-panel>` children.\nSupports horizontal and vertical orientations, automatic and manual activation modes,\nand full keyboard navigation per the ARIA Authoring Practices Guide.\n\nGroup 5a host-canonical: `role=\"tablist\"` lives on the host via\n`_internals.role`. `aria-orientation`, `aria-label`, and consumer\n`aria-labelledby` resolve through the host. Per-tab `role=\"tab\"` and\nper-panel `role=\"tabpanel\"` likewise live on their respective hosts.\n\nActivation defaults to **manual** per healthcare patterns — keyboard arrow\nkeys move focus only; Enter/Space activates. APG explicitly allows both\nautomatic and manual activation; manual is safer when panels are heavy or\nannounce changes via live regions.\n *\n * @example\n * ```tsx\n * import { HxTabs } from '@helixui/react';\n *\n * <HxTabs />\n * ```\n */\nexport const HxTabs = createComponent({\n tagName: 'hx-tabs',\n elementClass: HelixTabs,\n react: React,\n events: {\n onHxTabChange: 'hx-tab-change',\n },\n displayName: 'HxTabs',\n});\n\nexport default HxTabs;\n"],"names":[],"mappings":";;;AAqCO,MAAM,SAAS,gBAAgB;AAAA,EACpC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,eAAe;AAAA,EAAA;AAAA,EAEjB,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxTd-l5ZrD1Ai.js","sources":["../../src/components/HxTd/HxTd.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-td> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTableCell } from '@helixui/library/components/hx-table';\n\nimport type { HxTdProps } from './types.js';\n\nexport type { HxTdProps };\n\n/**\n * Semantic table data cell. Must be a child of `hx-tr`.\n *\n * @example\n * ```tsx\n * import { HxTd } from '@helixui/react';\n *\n * <HxTd />\n * ```\n */\nexport const HxTd = createComponent({\n tagName: 'hx-td',\n elementClass: HelixTableCell,\n react: React,\n events: {},\n displayName: 'HxTd',\n});\n\nexport default HxTd;\n"],"names":[],"mappings":";;;AAyBO,MAAM,OAAO,gBAAgB;AAAA,EAClC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxTd-l5ZrD1Ai.js","sources":["../../src/components/HxTd/HxTd.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-td> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTableCell } from '@helixui/library/components/hx-table';\n\nimport type { HxTdProps } from './types.js';\n\nexport type { HxTdProps };\n\n/**\n * Semantic table data cell. Must be a child of `hx-tr`.\n\nGroup 7 host-canonical: `role=\"cell\"` lives on the **host** via\n`_internals.role`. The host carries the cell's accessible name (resolved\nfrom the `label` property — fixing audit B-A1, where mobile screen reader\nusers lost column context because `data-label` was visual-only).\n *\n * @example\n * ```tsx\n * import { HxTd } from '@helixui/react';\n *\n * <HxTd />\n * ```\n */\nexport const HxTd = createComponent({\n tagName: 'hx-td',\n elementClass: HelixTableCell,\n react: React,\n events: {},\n displayName: 'HxTd',\n});\n\nexport default HxTd;\n"],"names":[],"mappings":";;;AA8BO,MAAM,OAAO,gBAAgB;AAAA,EAClC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxTh-Bo7R_MVI.js","sources":["../../src/components/HxTh/HxTh.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-th> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTableHeader } from '@helixui/library/components/hx-table';\n\nimport type { HxThProps } from './types.js';\n\nexport type { HxThProps };\n\n/**\n * Semantic table header cell. Must be a child of `hx-tr`.\nSupports sortable columns with accessible sort state.\n *\n * @example\n * ```tsx\n * import { HxTh } from '@helixui/react';\n *\n * <HxTh />\n * ```\n */\nexport const HxTh = createComponent({\n tagName: 'hx-th',\n elementClass: HelixTableHeader,\n react: React,\n events: {\n onHxSort: 'hx-sort',\n },\n displayName: 'HxTh',\n});\n\nexport default HxTh;\n"],"names":[],"mappings":";;;AA0BO,MAAM,OAAO,gBAAgB;AAAA,EAClC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,EAAA;AAAA,EAEZ,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxTh-Bo7R_MVI.js","sources":["../../src/components/HxTh/HxTh.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-th> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTableHeader } from '@helixui/library/components/hx-table';\n\nimport type { HxThProps } from './types.js';\n\nexport type { HxThProps };\n\n/**\n * Semantic table header cell. Must be a child of `hx-tr`.\nSupports sortable columns with accessible sort state.\n\nGroup 7 host-canonical: `role=\"columnheader\"` lives on the **host** via\n`_internals.role`. The host carries `aria-sort` reflecting the current\nsort direction (when `sortable` is true). The sort `<button>` aria-label\nincorporates the slotted column text so AT users hear \"Sort by Patient\nname, currently sorted ascending\" rather than just \"Sort ascending\".\n *\n * @example\n * ```tsx\n * import { HxTh } from '@helixui/react';\n *\n * <HxTh />\n * ```\n */\nexport const HxTh = createComponent({\n tagName: 'hx-th',\n elementClass: HelixTableHeader,\n react: React,\n events: {\n onHxSort: 'hx-sort',\n },\n displayName: 'HxTh',\n});\n\nexport default HxTh;\n"],"names":[],"mappings":";;;AAgCO,MAAM,OAAO,gBAAgB;AAAA,EAClC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU;AAAA,EAAA;AAAA,EAEZ,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxTooltip-DD8Uc78f.js","sources":["../../src/components/HxTooltip/HxTooltip.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tooltip> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTooltip } from '@helixui/library/components/hx-tooltip';\n\nimport type { HxTooltipProps } from './types.js';\n\nexport type { HxTooltipProps };\n\n/**\n * A tooltip that displays contextual help text on hover or focus.\n *\n * @example\n * ```tsx\n * import { HxTooltip } from '@helixui/react';\n *\n * <HxTooltip />\n * ```\n */\nexport const HxTooltip = createComponent({\n tagName: 'hx-tooltip',\n elementClass: HelixTooltip,\n react: React,\n events: {},\n displayName: 'HxTooltip',\n});\n\nexport default HxTooltip;\n"],"names":[],"mappings":";;;AAyBO,MAAM,YAAY,gBAAgB;AAAA,EACvC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxTooltip-DD8Uc78f.js","sources":["../../src/components/HxTooltip/HxTooltip.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tooltip> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTooltip } from '@helixui/library/components/hx-tooltip';\n\nimport type { HxTooltipProps } from './types.js';\n\nexport type { HxTooltipProps };\n\n/**\n * A tooltip that displays contextual help text on hover or focus.\n\n## Architecture Note: Light-DOM Description Shim (group-4 round-1)\n\n`aria-describedby` IDREFs cannot resolve across the Shadow DOM boundary —\nthe trigger lives in the consumer's light DOM and references a tooltip\nwhose body is in this component's shadow root. The tooltip text must\ntherefore be exposed in DOCUMENT scope.\n\nThe shim is a single visually-hidden `<span>` appended to `document.body`\nwith the `_tooltipId` as its `id`. The trigger's `aria-describedby` points\nat this span. The text content is mirrored from the slotted `content`\nslot on every relevant signal:\n\n 1. `firstUpdated` (initial wiring)\n 2. `slotchange` on the default slot AND the `content` slot (the slotted\n element list changes)\n 3. **Text-content mutations on the assigned `content` slot elements**\n (round-23 P2 pattern). Without this observer a framework that\n rewrites the slotted `<span slot=\"content\">` `textContent` IN PLACE\n (Vue / React keyed text rerender) would leave the shim stale.\n\nCleanup: `disconnectedCallback` removes the shim from `document.body`,\ndisconnects the slot-text observer, and clears the timers. SSR is\nsidestepped by guarding `document` access — the shim is created lazily\nthe first time `_setupTriggerAria()` runs in a browser environment.\n\n`role=\"tooltip\"` is the correct APG role and is NEVER promoted to\n`role=\"dialog\"` — APG explicitly forbids tooltips from holding focus and\nthe tooltip body is not a focus target. No host-canonical `_internals`\nwork is owed: the trigger is the announced surface, and it correctly\nreferences the tooltip via `aria-describedby`.\n *\n * @example\n * ```tsx\n * import { HxTooltip } from '@helixui/react';\n *\n * <HxTooltip />\n * ```\n */\nexport const HxTooltip = createComponent({\n tagName: 'hx-tooltip',\n elementClass: HelixTooltip,\n react: React,\n events: {},\n displayName: 'HxTooltip',\n});\n\nexport default HxTooltip;\n"],"names":[],"mappings":";;;AAwDO,MAAM,YAAY,gBAAgB;AAAA,EACvC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxTr-CjhQyD3e.js","sources":["../../src/components/HxTr/HxTr.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tr> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTableRow } from '@helixui/library/components/hx-table';\n\nimport type { HxTrProps } from './types.js';\n\nexport type { HxTrProps };\n\n/**\n * Semantic table row. Must be a child of `hx-thead`, `hx-tbody`, or `hx-tfoot`.\nContains `hx-th` or `hx-td` cells.\n *\n * @example\n * ```tsx\n * import { HxTr } from '@helixui/react';\n *\n * <HxTr />\n * ```\n */\nexport const HxTr = createComponent({\n tagName: 'hx-tr',\n elementClass: HelixTableRow,\n react: React,\n events: {},\n displayName: 'HxTr',\n});\n\nexport default HxTr;\n"],"names":[],"mappings":";;;AA0BO,MAAM,OAAO,gBAAgB;AAAA,EAClC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxTr-CjhQyD3e.js","sources":["../../src/components/HxTr/HxTr.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tr> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTableRow } from '@helixui/library/components/hx-table';\n\nimport type { HxTrProps } from './types.js';\n\nexport type { HxTrProps };\n\n/**\n * Semantic table row. Must be a child of `hx-thead`, `hx-tbody`, or `hx-tfoot`.\nContains `hx-th` or `hx-td` cells.\n\nGroup 7 host-canonical: `role=\"row\"` lives on the **host** via\n`_internals.role`. The host carries `aria-selected` / `aria-disabled`\nmirroring `selected` / `disabled` reflected attributes. Consumer-supplied\n`aria-label` / `aria-labelledby` on the host project to the host's\nannounced surface so AT walks `<hx-tr>` (role=row) directly. Fallback\npath keeps the inner `<tr role=\"row\">` as the announced surface for\nengines without IDL element references.\n *\n * @example\n * ```tsx\n * import { HxTr } from '@helixui/react';\n *\n * <HxTr />\n * ```\n */\nexport const HxTr = createComponent({\n tagName: 'hx-tr',\n elementClass: HelixTableRow,\n react: React,\n events: {},\n displayName: 'HxTr',\n});\n\nexport default HxTr;\n"],"names":[],"mappings":";;;AAkCO,MAAM,OAAO,gBAAgB;AAAA,EAClC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ,CAAA;AAAA,EACR,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxTreeItem-B2_rGgy6.js","sources":["../../src/components/HxTreeItem/HxTreeItem.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tree-item> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTreeItem } from '@helixui/library/components/hx-tree-view';\n\nimport type { HxTreeItemProps } from './types.js';\n\nexport type { HxTreeItemProps };\n\n/**\n * A tree item used within an hx-tree-view component.\nSupports expand/collapse, selection, keyboard navigation, and icon/children slots.\n *\n * @example\n * ```tsx\n * import { HxTreeItem } from '@helixui/react';\n *\n * <HxTreeItem />\n * ```\n */\nexport const HxTreeItem = createComponent({\n tagName: 'hx-tree-item',\n elementClass: HelixTreeItem,\n react: React,\n events: {\n onHxTreeItemSelect: 'hx-tree-item-select',\n },\n displayName: 'HxTreeItem',\n});\n\nexport default HxTreeItem;\n"],"names":[],"mappings":";;;AA0BO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,oBAAoB;AAAA,EAAA;AAAA,EAEtB,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxTreeItem-B2_rGgy6.js","sources":["../../src/components/HxTreeItem/HxTreeItem.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tree-item> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTreeItem } from '@helixui/library/components/hx-tree-view';\n\nimport type { HxTreeItemProps } from './types.js';\n\nexport type { HxTreeItemProps };\n\n/**\n * A tree item used within an hx-tree-view component.\nSupports expand/collapse, selection, keyboard navigation, and icon/children slots.\n\nGroup 5c host-canonical: `role=\"treeitem\"` lives on the **host** via\n`_internals.role`. The roving tabindex is written to the host on the\nmodern path so the host is the focusable surface and lands directly\nunder the parent `<hx-tree-view>` (which carries `role=\"tree\"`) in the\nAT-walked tree. The inner `.item-row` is presentational on the modern\npath — no role, no aria-* attributes — and carries only click/keyboard\nevent handlers. Keyboard activation (Enter/Space) and expand/collapse\n(ArrowLeft/Right at the leaf level) are owned by the host's `keydown`\nhandler; ArrowUp/Down/Home/End and typeahead bubble to the parent\n`<hx-tree-view>` for navigation.\n\nThe nested `[role=\"group\"]` element that wraps the `slot=\"children\"`\nstays in the inner shadow DOM regardless of path — that group is a\nseparate sub-surface for the children, not a duplicate of the\ntreeitem role.\n\nOn the legacy fallback path the inner `.item-row` carries\n`role=\"treeitem\"` + aria-* state, the host role is suppressed, and the\nroving tabindex is written to the inner element so there is only ONE\nfocusable surface per item (mirrors hx-menu-item round-8).\n *\n * @example\n * ```tsx\n * import { HxTreeItem } from '@helixui/react';\n *\n * <HxTreeItem />\n * ```\n */\nexport const HxTreeItem = createComponent({\n tagName: 'hx-tree-item',\n elementClass: HelixTreeItem,\n react: React,\n events: {\n onHxTreeItemSelect: 'hx-tree-item-select',\n },\n displayName: 'HxTreeItem',\n});\n\nexport default HxTreeItem;\n"],"names":[],"mappings":";;;AA+CO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,oBAAoB;AAAA,EAAA;AAAA,EAEtB,aAAa;AACf,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HxTreeView-BKbPPPhF.js","sources":["../../src/components/HxTreeView/HxTreeView.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tree-view> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTreeView } from '@helixui/library/components/hx-tree-view';\n\nimport type { HxTreeViewProps } from './types.js';\n\nexport type { HxTreeViewProps };\n\n/**\n * A hierarchical tree component for navigating nested data structures.\nUsed in healthcare applications for org charts, ICD-10 code hierarchies, and department navigation.\n\nImplements WAI-ARIA tree view pattern with `role=\"tree\"` on the container\nand `role=\"treeitem\"` on each item. Supports `aria-label` via the `label` property\nfor screen reader identification. Full keyboard navigation: Arrow keys for movement,\nEnter/Space for selection, Home/End for first/last item.\n\n## Scale Limits\n\nThis component renders all tree items simultaneously in the DOM. It is suitable for\ntrees with up to ~500 visible items. For large taxonomies (e.g., ICD-10 with 70,000+\ncodes), use async/lazy loading: only render top-level nodes initially and populate\nchild nodes on `hx-select` or expand events. The component exposes the `expanded`\nproperty on `hx-tree-item` for programmatic control of subtrees, enabling consumer-level\nvirtualization strategies without requiring changes to this component.\n *\n * @example\n * ```tsx\n * import { HxTreeView } from '@helixui/react';\n *\n * <HxTreeView />\n * ```\n */\nexport const HxTreeView = createComponent({\n tagName: 'hx-tree-view',\n elementClass: HelixTreeView,\n react: React,\n events: {\n onHxSelect: 'hx-select',\n },\n displayName: 'HxTreeView',\n});\n\nexport default HxTreeView;\n"],"names":[],"mappings":";;;AAwCO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
1
+ {"version":3,"file":"HxTreeView-BKbPPPhF.js","sources":["../../src/components/HxTreeView/HxTreeView.ts"],"sourcesContent":["'use client';\n/**\n * React wrapper for <hx-tree-view> web component.\n * Auto-generated by scripts/generate-react-wrappers.ts — DO NOT EDIT MANUALLY.\n * Re-run: pnpm --filter=@helixui/react run generate\n */\n\nimport React from 'react';\nimport { createComponent } from '@lit/react';\nimport { HelixTreeView } from '@helixui/library/components/hx-tree-view';\n\nimport type { HxTreeViewProps } from './types.js';\n\nexport type { HxTreeViewProps };\n\n/**\n * A hierarchical tree component for navigating nested data structures.\nUsed in healthcare applications for org charts, ICD-10 code hierarchies, and department navigation.\n\nGroup 5c host-canonical: `role=\"tree\"` lives on the **host** via\n`_internals.role` on the modern path. The host carries the announced\nsurface so AT walks `<hx-tree-view>` (role=tree) → slotted\n`<hx-tree-item>` (role=treeitem on host) directly without two layers of\nindirection. Consumer-supplied `aria-label` / `aria-labelledby` on the\nhost are resolved via the shared IDREF mirror; cross-shadow naming uses\n`ariaLabelledByElements` (modern) with a flattened-string fallback\n(legacy). On the legacy fallback path the inner `[role=\"tree\"]` carries\nthe role + accessible name and the host role is suppressed so AT only\nsees one tree per logical surface (mirrors `hx-menu` round-8).\n\nFull keyboard navigation: Arrow keys for movement, Enter/Space for\nselection, Home/End for first/last item, ArrowRight/Left for\nexpand/collapse + parent/child traversal, typeahead.\n\n## Scale Limits\n\nThis component renders all tree items simultaneously in the DOM. It is suitable for\ntrees with up to ~500 visible items. For large taxonomies (e.g., ICD-10 with 70,000+\ncodes), use async/lazy loading: only render top-level nodes initially and populate\nchild nodes on `hx-select` or expand events. The component exposes the `expanded`\nproperty on `hx-tree-item` for programmatic control of subtrees, enabling consumer-level\nvirtualization strategies without requiring changes to this component.\n *\n * @example\n * ```tsx\n * import { HxTreeView } from '@helixui/react';\n *\n * <HxTreeView />\n * ```\n */\nexport const HxTreeView = createComponent({\n tagName: 'hx-tree-view',\n elementClass: HelixTreeView,\n react: React,\n events: {\n onHxSelect: 'hx-select',\n },\n displayName: 'HxTreeView',\n});\n\nexport default HxTreeView;\n"],"names":[],"mappings":";;;AAkDO,MAAM,aAAa,gBAAgB;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,YAAY;AAAA,EAAA;AAAA,EAEd,aAAa;AACf,CAAC;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helixui/react",
3
- "version": "3.3.1",
3
+ "version": "3.4.0",
4
4
  "description": "React wrappers for HELiX web components",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "@lit/react": "^1.0.6",
26
26
  "react": "^18.3.1",
27
- "@helixui/library": "3.3.1"
27
+ "@helixui/library": "3.4.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/react": "^18.3.18",