@helixui/library 3.7.0 → 3.8.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.
- package/custom-elements.json +1926 -303
- package/dist/components/hx-action-bar/hx-action-bar.d.ts +18 -0
- package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
- package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -1
- package/dist/components/hx-action-bar/index.js +1 -1
- package/dist/components/hx-banner/hx-banner.d.ts +19 -0
- package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +18 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/index.js +1 -1
- package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
- package/dist/components/hx-button/index.js +1 -1
- package/dist/components/hx-button-group/hx-button-group.d.ts +47 -0
- package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
- package/dist/components/hx-button-group/index.js +1 -1
- package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
- package/dist/components/hx-checkbox/index.js +1 -1
- package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +36 -0
- package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
- package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
- package/dist/components/hx-checkbox-group/index.js +1 -1
- package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +19 -0
- package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
- package/dist/components/hx-color-picker/hx-color-picker.d.ts +18 -0
- package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
- package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
- package/dist/components/hx-color-picker/index.js +1 -1
- package/dist/components/hx-combobox/hx-combobox.d.ts +18 -0
- package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
- package/dist/components/hx-copy-button/hx-copy-button.d.ts +18 -0
- package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
- package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
- package/dist/components/hx-copy-button/index.js +1 -1
- package/dist/components/hx-date-picker/hx-date-picker.d.ts +18 -0
- package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
- package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
- package/dist/components/hx-date-picker/index.js +1 -1
- package/dist/components/hx-drawer/hx-drawer.d.ts +18 -0
- package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
- package/dist/components/hx-dropdown/hx-dropdown.d.ts +18 -0
- package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
- package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
- package/dist/components/hx-dropdown/index.js +1 -1
- package/dist/components/hx-field/hx-field.d.ts +17 -0
- package/dist/components/hx-field/hx-field.d.ts.map +1 -1
- package/dist/components/hx-field-label/hx-field-label.d.ts +17 -0
- package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
- package/dist/components/hx-file-upload/hx-file-upload.d.ts +18 -0
- package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
- package/dist/components/hx-form/hx-form.d.ts +19 -0
- package/dist/components/hx-form/hx-form.d.ts.map +1 -1
- package/dist/components/hx-help-text/hx-help-text.d.ts +17 -0
- package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
- package/dist/components/hx-icon-button/hx-icon-button.d.ts +18 -0
- package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu.d.ts +18 -0
- package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
- package/dist/components/hx-nav/hx-nav.d.ts +18 -0
- package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
- package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
- package/dist/components/hx-nav/index.js +1 -1
- package/dist/components/hx-number-input/hx-number-input.d.ts +18 -0
- package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
- package/dist/components/hx-number-input/index.js +1 -1
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +18 -0
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
- package/dist/components/hx-popover/hx-popover.d.ts +18 -0
- package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
- package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
- package/dist/components/hx-popover/index.js +1 -1
- package/dist/components/hx-popup/hx-popup.d.ts +18 -0
- package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
- package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
- package/dist/components/hx-popup/index.js +1 -1
- package/dist/components/hx-radio-group/hx-radio-group.d.ts +18 -0
- package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
- package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
- package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
- package/dist/components/hx-radio-group/index.js +1 -1
- package/dist/components/hx-rating/hx-rating.d.ts +19 -0
- package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
- package/dist/components/hx-select/hx-select.d.ts +18 -0
- package/dist/components/hx-select/hx-select.d.ts.map +1 -1
- package/dist/components/hx-side-nav/hx-side-nav.d.ts +18 -0
- package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
- package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
- package/dist/components/hx-side-nav/index.js +1 -1
- package/dist/components/hx-slider/hx-slider.d.ts +19 -0
- package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
- package/dist/components/hx-split-button/hx-split-button.d.ts +18 -0
- package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
- package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
- package/dist/components/hx-split-button/index.js +1 -1
- package/dist/components/hx-switch/hx-switch.d.ts +18 -0
- package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
- package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
- package/dist/components/hx-switch/index.js +1 -1
- package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
- package/dist/components/hx-tabs/hx-tabs.d.ts +18 -0
- package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
- package/dist/components/hx-tabs/index.js +1 -1
- package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
- package/dist/components/hx-text-input/index.js +1 -1
- package/dist/components/hx-textarea/hx-textarea.d.ts +18 -0
- package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
- package/dist/components/hx-time-picker/hx-time-picker.d.ts +18 -0
- package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
- package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
- package/dist/components/hx-time-picker/index.js +1 -1
- package/dist/components/hx-toast/hx-toast.d.ts +19 -0
- package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +18 -0
- package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/index.js +1 -1
- package/dist/components/hx-tooltip/hx-tooltip.d.ts +18 -0
- package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
- package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
- package/dist/components/hx-tooltip/index.js +1 -1
- package/dist/components/hx-top-nav/hx-top-nav.d.ts +18 -0
- package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
- package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
- package/dist/components/hx-top-nav/index.js +1 -1
- package/dist/css/helix-all.css +239 -30
- package/dist/css/helix-core.css +4 -1
- package/dist/css/helix-forms.css +100 -15
- package/dist/css/helix-navigation.css +43 -2
- package/dist/css/helix-overlay.css +53 -0
- package/dist/css/helix-tokens.css +13 -12
- package/dist/css/helix-utility.css +39 -12
- package/dist/css/hx-action-bar.css +12 -0
- package/dist/css/hx-button.css +4 -1
- package/dist/css/hx-checkbox-group.css +11 -0
- package/dist/css/hx-checkbox.css +10 -0
- package/dist/css/hx-color-picker.css +14 -1
- package/dist/css/hx-copy-button.css +5 -2
- package/dist/css/hx-date-picker.css +6 -1
- package/dist/css/hx-dropdown.css +13 -0
- package/dist/css/hx-nav.css +24 -2
- package/dist/css/hx-number-input.css +8 -8
- package/dist/css/hx-popover.css +13 -0
- package/dist/css/hx-popup.css +14 -0
- package/dist/css/hx-radio-group.css +10 -0
- package/dist/css/hx-side-nav.css +7 -0
- package/dist/css/hx-split-button.css +22 -10
- package/dist/css/hx-switch.css +19 -1
- package/dist/css/hx-text-input.css +4 -1
- package/dist/css/hx-time-picker.css +7 -2
- package/dist/css/hx-toggle-button.css +11 -1
- package/dist/css/hx-tooltip.css +13 -0
- package/dist/css/hx-top-nav.css +12 -0
- package/dist/css/index.css +1 -1
- package/dist/css/manifest.json +40 -12
- package/dist/index.js +24 -24
- package/dist/shared/{hx-action-bar-CitgcpGv.js → hx-action-bar-BlEG4aZv.js} +41 -29
- package/dist/shared/hx-action-bar-BlEG4aZv.js.map +1 -0
- package/dist/shared/hx-banner-fpRnciIO.js.map +1 -1
- package/dist/shared/{hx-breadcrumb-item-3tKppF9h.js → hx-breadcrumb-item-D8xYqe3s.js} +56 -43
- package/dist/shared/hx-breadcrumb-item-D8xYqe3s.js.map +1 -0
- package/dist/shared/{hx-button-rRNmD4fd.js → hx-button-DOZTZnz-.js} +18 -15
- package/dist/shared/hx-button-DOZTZnz-.js.map +1 -0
- package/dist/shared/hx-button-group-D3QUmSzl.js +248 -0
- package/dist/shared/hx-button-group-D3QUmSzl.js.map +1 -0
- package/dist/shared/{hx-checkbox-hPlIw6Lb.js → hx-checkbox-DcgyGS9V.js} +30 -20
- package/dist/shared/hx-checkbox-DcgyGS9V.js.map +1 -0
- package/dist/shared/{hx-checkbox-group-D5piJLY8.js → hx-checkbox-group-C0q6HDqn.js} +101 -58
- package/dist/shared/hx-checkbox-group-C0q6HDqn.js.map +1 -0
- package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +1 -1
- package/dist/shared/{hx-color-picker-DBwJzT5f.js → hx-color-picker-CYjx8i8R.js} +97 -84
- package/dist/shared/hx-color-picker-CYjx8i8R.js.map +1 -0
- package/dist/shared/hx-combobox-NgJaLbs2.js.map +1 -1
- package/dist/shared/{hx-copy-button-sUVuikyH.js → hx-copy-button-DJirFCUL.js} +18 -15
- package/dist/shared/hx-copy-button-DJirFCUL.js.map +1 -0
- package/dist/shared/{hx-date-picker-DSKDkCy1.js → hx-date-picker-0PtEav0K.js} +66 -61
- package/dist/shared/hx-date-picker-0PtEav0K.js.map +1 -0
- package/dist/shared/hx-drawer-CM_upadk.js.map +1 -1
- package/dist/shared/{hx-dropdown-D626S2ZG.js → hx-dropdown-xHwTJecv.js} +44 -31
- package/dist/shared/hx-dropdown-xHwTJecv.js.map +1 -0
- package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -1
- package/dist/shared/hx-field-zw0U1KVi.js.map +1 -1
- package/dist/shared/hx-file-upload-D3rKROK5.js.map +1 -1
- package/dist/shared/hx-form-CkChEATa.js.map +1 -1
- package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +1 -1
- package/dist/shared/hx-icon-button-B2BdVdyK.js.map +1 -1
- package/dist/shared/hx-menu-divider-A6Guuzi_.js.map +1 -1
- package/dist/shared/{hx-nav-ldFM3Fle.js → hx-nav-ChMTfn7o.js} +66 -44
- package/dist/shared/hx-nav-ChMTfn7o.js.map +1 -0
- package/dist/shared/{hx-nav-item-CODtUlew.js → hx-nav-item-ClN17f1y.js} +62 -55
- package/dist/shared/hx-nav-item-ClN17f1y.js.map +1 -0
- package/dist/shared/{hx-number-input-yUzFOSC1.js → hx-number-input-MggsT7F0.js} +13 -13
- package/dist/shared/hx-number-input-MggsT7F0.js.map +1 -0
- package/dist/shared/hx-overflow-menu-DFjJAziP.js.map +1 -1
- package/dist/shared/{hx-popover-BAlAFOH9.js → hx-popover-BjB0nkcq.js} +51 -38
- package/dist/shared/hx-popover-BjB0nkcq.js.map +1 -0
- package/dist/shared/{hx-popup-COUXXZ9X.js → hx-popup-BiV_2evC.js} +59 -45
- package/dist/shared/hx-popup-BiV_2evC.js.map +1 -0
- package/dist/shared/{hx-radio-CY4kQfZw.js → hx-radio-BY4zpwdh.js} +45 -27
- package/dist/shared/hx-radio-BY4zpwdh.js.map +1 -0
- package/dist/shared/hx-rating-C3QP53k9.js.map +1 -1
- package/dist/shared/hx-select-DahFehiZ.js.map +1 -1
- package/dist/shared/hx-slider-Blmv_rwS.js.map +1 -1
- package/dist/shared/{hx-split-button-Ddle8iVx.js → hx-split-button-CdNz1XAu.js} +62 -50
- package/dist/shared/hx-split-button-CdNz1XAu.js.map +1 -0
- package/dist/shared/{hx-switch-TvKGvZJz.js → hx-switch-BCXuNxEH.js} +42 -24
- package/dist/shared/hx-switch-BCXuNxEH.js.map +1 -0
- package/dist/shared/{hx-tab-panel-DzsX8BHV.js → hx-tab-panel-BfisavKo.js} +47 -32
- package/dist/shared/hx-tab-panel-BfisavKo.js.map +1 -0
- package/dist/shared/{hx-text-input-D6FlOZM-.js → hx-text-input-V5sQOpDh.js} +5 -2
- package/dist/shared/hx-text-input-V5sQOpDh.js.map +1 -0
- package/dist/shared/hx-textarea-CNG590KY.js.map +1 -1
- package/dist/shared/{hx-time-picker-Bo7FWzmf.js → hx-time-picker-DfJkBwcX.js} +41 -36
- package/dist/shared/hx-time-picker-DfJkBwcX.js.map +1 -0
- package/dist/shared/{hx-toggle-button-DSJeFlb0.js → hx-toggle-button-xNVYeA3X.js} +37 -27
- package/dist/shared/hx-toggle-button-xNVYeA3X.js.map +1 -0
- package/dist/shared/{hx-tooltip-DVqtKPCD.js → hx-tooltip-CamO-9nd.js} +24 -11
- package/dist/shared/hx-tooltip-CamO-9nd.js.map +1 -0
- package/dist/shared/{hx-top-nav-DP6OFS8C.js → hx-top-nav-CsTxOtVI.js} +26 -14
- package/dist/shared/hx-top-nav-CsTxOtVI.js.map +1 -0
- package/dist/shared/toast-factory-Dht3pVsw.js.map +1 -1
- package/figma-inventory.json +1121 -345
- package/package.json +2 -2
- package/dist/shared/hx-action-bar-CitgcpGv.js.map +0 -1
- package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +0 -1
- package/dist/shared/hx-button-group-4NUBpkyC.js +0 -181
- package/dist/shared/hx-button-group-4NUBpkyC.js.map +0 -1
- package/dist/shared/hx-button-rRNmD4fd.js.map +0 -1
- package/dist/shared/hx-checkbox-group-D5piJLY8.js.map +0 -1
- package/dist/shared/hx-checkbox-hPlIw6Lb.js.map +0 -1
- package/dist/shared/hx-color-picker-DBwJzT5f.js.map +0 -1
- package/dist/shared/hx-copy-button-sUVuikyH.js.map +0 -1
- package/dist/shared/hx-date-picker-DSKDkCy1.js.map +0 -1
- package/dist/shared/hx-dropdown-D626S2ZG.js.map +0 -1
- package/dist/shared/hx-nav-item-CODtUlew.js.map +0 -1
- package/dist/shared/hx-nav-ldFM3Fle.js.map +0 -1
- package/dist/shared/hx-number-input-yUzFOSC1.js.map +0 -1
- package/dist/shared/hx-popover-BAlAFOH9.js.map +0 -1
- package/dist/shared/hx-popup-COUXXZ9X.js.map +0 -1
- package/dist/shared/hx-radio-CY4kQfZw.js.map +0 -1
- package/dist/shared/hx-split-button-Ddle8iVx.js.map +0 -1
- package/dist/shared/hx-switch-TvKGvZJz.js.map +0 -1
- package/dist/shared/hx-tab-panel-DzsX8BHV.js.map +0 -1
- package/dist/shared/hx-text-input-D6FlOZM-.js.map +0 -1
- package/dist/shared/hx-time-picker-Bo7FWzmf.js.map +0 -1
- package/dist/shared/hx-toggle-button-DSJeFlb0.js.map +0 -1
- package/dist/shared/hx-tooltip-DVqtKPCD.js.map +0 -1
- package/dist/shared/hx-top-nav-DP6OFS8C.js.map +0 -1
package/dist/css/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generated": "2026-05-
|
|
2
|
+
"generated": "2026-05-09T16:49:04.288Z",
|
|
3
3
|
"components": [
|
|
4
4
|
{
|
|
5
5
|
"name": "hx-accordion",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"--hx-action-bar-bg",
|
|
19
19
|
"--hx-action-bar-border",
|
|
20
20
|
"--hx-action-bar-border-radius",
|
|
21
|
+
"--hx-action-bar-focus-ring-color",
|
|
21
22
|
"--hx-action-bar-gap",
|
|
22
23
|
"--hx-action-bar-padding",
|
|
23
24
|
"--hx-action-bar-padding-block-end",
|
|
@@ -28,6 +29,9 @@
|
|
|
28
29
|
"--hx-color-border-default",
|
|
29
30
|
"--hx-color-surface-default",
|
|
30
31
|
"--hx-color-surface-raised",
|
|
32
|
+
"--hx-focus-ring-color",
|
|
33
|
+
"--hx-focus-ring-offset",
|
|
34
|
+
"--hx-focus-ring-width",
|
|
31
35
|
"--hx-size-10",
|
|
32
36
|
"--hx-size-12",
|
|
33
37
|
"--hx-size-8",
|
|
@@ -305,7 +309,6 @@
|
|
|
305
309
|
"--hx-line-height-tight",
|
|
306
310
|
"--hx-opacity-disabled",
|
|
307
311
|
"--hx-opacity-muted",
|
|
308
|
-
"--hx-size-10",
|
|
309
312
|
"--hx-size-12",
|
|
310
313
|
"--hx-space-1",
|
|
311
314
|
"--hx-space-2",
|
|
@@ -469,6 +472,7 @@
|
|
|
469
472
|
"file": "hx-checkbox-group.css",
|
|
470
473
|
"tokens": [
|
|
471
474
|
"--hx-checkbox-group-error-color",
|
|
475
|
+
"--hx-checkbox-group-focus-ring-color",
|
|
472
476
|
"--hx-checkbox-group-font-family",
|
|
473
477
|
"--hx-checkbox-group-gap",
|
|
474
478
|
"--hx-checkbox-group-help-text-color",
|
|
@@ -476,6 +480,9 @@
|
|
|
476
480
|
"--hx-color-error-text",
|
|
477
481
|
"--hx-color-text-muted",
|
|
478
482
|
"--hx-color-text-strong",
|
|
483
|
+
"--hx-focus-ring-color",
|
|
484
|
+
"--hx-focus-ring-offset",
|
|
485
|
+
"--hx-focus-ring-width",
|
|
479
486
|
"--hx-font-family-sans",
|
|
480
487
|
"--hx-font-size-sm",
|
|
481
488
|
"--hx-font-size-xs",
|
|
@@ -629,6 +636,7 @@
|
|
|
629
636
|
"--hx-space-2",
|
|
630
637
|
"--hx-space-3",
|
|
631
638
|
"--hx-space-4",
|
|
639
|
+
"--hx-touch-target-min",
|
|
632
640
|
"--hx-transition-fast"
|
|
633
641
|
]
|
|
634
642
|
},
|
|
@@ -742,7 +750,6 @@
|
|
|
742
750
|
"--hx-font-size-sm",
|
|
743
751
|
"--hx-font-weight-medium",
|
|
744
752
|
"--hx-opacity-disabled",
|
|
745
|
-
"--hx-size-10",
|
|
746
753
|
"--hx-size-12",
|
|
747
754
|
"--hx-space-1",
|
|
748
755
|
"--hx-space-2",
|
|
@@ -872,7 +879,6 @@
|
|
|
872
879
|
"--hx-line-height-normal",
|
|
873
880
|
"--hx-opacity-disabled",
|
|
874
881
|
"--hx-shadow-md",
|
|
875
|
-
"--hx-size-10",
|
|
876
882
|
"--hx-size-8",
|
|
877
883
|
"--hx-space-1",
|
|
878
884
|
"--hx-space-2",
|
|
@@ -1010,11 +1016,15 @@
|
|
|
1010
1016
|
"--hx-border-radius-md",
|
|
1011
1017
|
"--hx-color-border-default",
|
|
1012
1018
|
"--hx-color-surface-default",
|
|
1019
|
+
"--hx-dropdown-focus-ring-color",
|
|
1013
1020
|
"--hx-dropdown-panel-bg",
|
|
1014
1021
|
"--hx-dropdown-panel-border-color",
|
|
1015
1022
|
"--hx-dropdown-panel-border-radius",
|
|
1016
1023
|
"--hx-dropdown-panel-min-width",
|
|
1017
1024
|
"--hx-dropdown-panel-z-index",
|
|
1025
|
+
"--hx-focus-ring-color",
|
|
1026
|
+
"--hx-focus-ring-offset",
|
|
1027
|
+
"--hx-focus-ring-width",
|
|
1018
1028
|
"--hx-opacity-disabled",
|
|
1019
1029
|
"--hx-overlay-black-12",
|
|
1020
1030
|
"--hx-transition-fast"
|
|
@@ -1328,13 +1338,14 @@
|
|
|
1328
1338
|
"tokens": [
|
|
1329
1339
|
"--hx-border-radius-md",
|
|
1330
1340
|
"--hx-border-radius-sm",
|
|
1341
|
+
"--hx-color-action-primary-bg",
|
|
1331
1342
|
"--hx-color-neutral-0",
|
|
1332
1343
|
"--hx-color-neutral-100",
|
|
1333
1344
|
"--hx-color-neutral-300",
|
|
1334
1345
|
"--hx-color-neutral-700",
|
|
1335
1346
|
"--hx-color-neutral-800",
|
|
1336
1347
|
"--hx-color-neutral-900",
|
|
1337
|
-
"--hx-color-primary
|
|
1348
|
+
"--hx-color-text-on-primary",
|
|
1338
1349
|
"--hx-focus-ring-color",
|
|
1339
1350
|
"--hx-focus-ring-offset",
|
|
1340
1351
|
"--hx-focus-ring-width",
|
|
@@ -1355,6 +1366,7 @@
|
|
|
1355
1366
|
"--hx-nav-link-color",
|
|
1356
1367
|
"--hx-nav-link-hover-bg",
|
|
1357
1368
|
"--hx-nav-link-hover-color",
|
|
1369
|
+
"--hx-nav-link-min-height",
|
|
1358
1370
|
"--hx-nav-padding",
|
|
1359
1371
|
"--hx-nav-submenu-bg",
|
|
1360
1372
|
"--hx-nav-submenu-min-width",
|
|
@@ -1364,6 +1376,7 @@
|
|
|
1364
1376
|
"--hx-space-2",
|
|
1365
1377
|
"--hx-space-3",
|
|
1366
1378
|
"--hx-space-4",
|
|
1379
|
+
"--hx-touch-target-min",
|
|
1367
1380
|
"--hx-transition-fast",
|
|
1368
1381
|
"--hx-transition-normal",
|
|
1369
1382
|
"--hx-z-index-dropdown"
|
|
@@ -1413,6 +1426,7 @@
|
|
|
1413
1426
|
"--hx-space-2",
|
|
1414
1427
|
"--hx-space-3",
|
|
1415
1428
|
"--hx-space-4",
|
|
1429
|
+
"--hx-touch-target-min",
|
|
1416
1430
|
"--hx-transition-fast"
|
|
1417
1431
|
]
|
|
1418
1432
|
},
|
|
@@ -1597,6 +1611,10 @@
|
|
|
1597
1611
|
"--hx-arrow-color",
|
|
1598
1612
|
"--hx-arrow-size",
|
|
1599
1613
|
"--hx-color-neutral-0",
|
|
1614
|
+
"--hx-focus-ring-color",
|
|
1615
|
+
"--hx-focus-ring-offset",
|
|
1616
|
+
"--hx-focus-ring-width",
|
|
1617
|
+
"--hx-popup-focus-ring-color",
|
|
1600
1618
|
"--hx-popup-transition",
|
|
1601
1619
|
"--hx-popup-z-index"
|
|
1602
1620
|
]
|
|
@@ -1670,6 +1688,9 @@
|
|
|
1670
1688
|
"--hx-color-error-text",
|
|
1671
1689
|
"--hx-color-text-muted",
|
|
1672
1690
|
"--hx-color-text-strong",
|
|
1691
|
+
"--hx-focus-ring-color",
|
|
1692
|
+
"--hx-focus-ring-offset",
|
|
1693
|
+
"--hx-focus-ring-width",
|
|
1673
1694
|
"--hx-font-family-sans",
|
|
1674
1695
|
"--hx-font-size-sm",
|
|
1675
1696
|
"--hx-font-size-xs",
|
|
@@ -1678,6 +1699,7 @@
|
|
|
1678
1699
|
"--hx-line-height-normal",
|
|
1679
1700
|
"--hx-opacity-disabled",
|
|
1680
1701
|
"--hx-radio-group-error-color",
|
|
1702
|
+
"--hx-radio-group-focus-ring-color",
|
|
1681
1703
|
"--hx-radio-group-font-family",
|
|
1682
1704
|
"--hx-radio-group-gap",
|
|
1683
1705
|
"--hx-radio-group-help-text-color",
|
|
@@ -1795,6 +1817,7 @@
|
|
|
1795
1817
|
"--hx-space-4",
|
|
1796
1818
|
"--hx-space-5",
|
|
1797
1819
|
"--hx-space-8",
|
|
1820
|
+
"--hx-touch-target-min",
|
|
1798
1821
|
"--hx-transition-fast",
|
|
1799
1822
|
"--hx-transition-normal"
|
|
1800
1823
|
]
|
|
@@ -1899,6 +1922,8 @@
|
|
|
1899
1922
|
"tokens": [
|
|
1900
1923
|
"--hx-border-radius-md",
|
|
1901
1924
|
"--hx-border-width-thin",
|
|
1925
|
+
"--hx-color-action-primary-bg",
|
|
1926
|
+
"--hx-color-action-primary-bg-hover",
|
|
1902
1927
|
"--hx-color-border-default",
|
|
1903
1928
|
"--hx-color-border-strong",
|
|
1904
1929
|
"--hx-color-error-400",
|
|
@@ -1909,13 +1934,13 @@
|
|
|
1909
1934
|
"--hx-color-primary-300",
|
|
1910
1935
|
"--hx-color-primary-50",
|
|
1911
1936
|
"--hx-color-primary-500",
|
|
1912
|
-
"--hx-color-primary-600",
|
|
1913
1937
|
"--hx-color-primary-900",
|
|
1914
1938
|
"--hx-color-surface-default",
|
|
1915
1939
|
"--hx-color-surface-raised",
|
|
1916
1940
|
"--hx-color-surface-sunken",
|
|
1917
1941
|
"--hx-color-text-on-error",
|
|
1918
1942
|
"--hx-color-text-on-primary",
|
|
1943
|
+
"--hx-color-text-on-primary-strong",
|
|
1919
1944
|
"--hx-color-text-primary",
|
|
1920
1945
|
"--hx-filter-brightness-active",
|
|
1921
1946
|
"--hx-filter-brightness-hover",
|
|
@@ -1930,7 +1955,6 @@
|
|
|
1930
1955
|
"--hx-line-height-tight",
|
|
1931
1956
|
"--hx-opacity-disabled",
|
|
1932
1957
|
"--hx-overlay-black-10",
|
|
1933
|
-
"--hx-size-10",
|
|
1934
1958
|
"--hx-size-12",
|
|
1935
1959
|
"--hx-size-8",
|
|
1936
1960
|
"--hx-space-1",
|
|
@@ -1950,6 +1974,7 @@
|
|
|
1950
1974
|
"--hx-split-button-menu-border-color",
|
|
1951
1975
|
"--hx-split-button-menu-border-radius",
|
|
1952
1976
|
"--hx-split-button-menu-max-height",
|
|
1977
|
+
"--hx-touch-target-min",
|
|
1953
1978
|
"--hx-transition-fast",
|
|
1954
1979
|
"--hx-z-index-dropdown"
|
|
1955
1980
|
]
|
|
@@ -2114,10 +2139,11 @@
|
|
|
2114
2139
|
"file": "hx-switch.css",
|
|
2115
2140
|
"tokens": [
|
|
2116
2141
|
"--hx-border-radius-full",
|
|
2142
|
+
"--hx-color-action-primary-bg",
|
|
2117
2143
|
"--hx-color-border-strong",
|
|
2118
2144
|
"--hx-color-error-text",
|
|
2119
|
-
"--hx-color-primary-500",
|
|
2120
2145
|
"--hx-color-primary-600",
|
|
2146
|
+
"--hx-color-primary-700",
|
|
2121
2147
|
"--hx-color-surface-default",
|
|
2122
2148
|
"--hx-color-text-muted",
|
|
2123
2149
|
"--hx-color-text-strong",
|
|
@@ -2154,7 +2180,6 @@
|
|
|
2154
2180
|
"--hx-switch-thumb-size-md",
|
|
2155
2181
|
"--hx-switch-thumb-size-sm",
|
|
2156
2182
|
"--hx-switch-track-bg",
|
|
2157
|
-
"--hx-switch-track-checked-bg",
|
|
2158
2183
|
"--hx-switch-track-checked-hover-bg",
|
|
2159
2184
|
"--hx-switch-track-height-lg",
|
|
2160
2185
|
"--hx-switch-track-height-md",
|
|
@@ -2349,7 +2374,6 @@
|
|
|
2349
2374
|
"--hx-input-sm-font-size",
|
|
2350
2375
|
"--hx-line-height-normal",
|
|
2351
2376
|
"--hx-opacity-disabled",
|
|
2352
|
-
"--hx-size-10",
|
|
2353
2377
|
"--hx-size-12",
|
|
2354
2378
|
"--hx-size-8",
|
|
2355
2379
|
"--hx-space-1",
|
|
@@ -2362,6 +2386,7 @@
|
|
|
2362
2386
|
"--hx-text-input-padding-x",
|
|
2363
2387
|
"--hx-text-input-padding-y",
|
|
2364
2388
|
"--hx-text-input-sm-font-size",
|
|
2389
|
+
"--hx-touch-target-min",
|
|
2365
2390
|
"--hx-transition-fast"
|
|
2366
2391
|
]
|
|
2367
2392
|
},
|
|
@@ -2444,7 +2469,6 @@
|
|
|
2444
2469
|
"--hx-font-weight-medium",
|
|
2445
2470
|
"--hx-line-height-normal",
|
|
2446
2471
|
"--hx-opacity-disabled",
|
|
2447
|
-
"--hx-size-10",
|
|
2448
2472
|
"--hx-space-1",
|
|
2449
2473
|
"--hx-space-2",
|
|
2450
2474
|
"--hx-space-3",
|
|
@@ -2463,6 +2487,7 @@
|
|
|
2463
2487
|
"--hx-time-picker-option-hover-bg",
|
|
2464
2488
|
"--hx-time-picker-option-hover-color",
|
|
2465
2489
|
"--hx-time-picker-option-selected-color",
|
|
2490
|
+
"--hx-touch-target-min",
|
|
2466
2491
|
"--hx-transition-fast",
|
|
2467
2492
|
"--hx-z-index-dropdown"
|
|
2468
2493
|
]
|
|
@@ -2537,7 +2562,6 @@
|
|
|
2537
2562
|
"--hx-font-weight-semibold",
|
|
2538
2563
|
"--hx-line-height-tight",
|
|
2539
2564
|
"--hx-opacity-disabled",
|
|
2540
|
-
"--hx-size-10",
|
|
2541
2565
|
"--hx-size-12",
|
|
2542
2566
|
"--hx-space-1",
|
|
2543
2567
|
"--hx-space-2",
|
|
@@ -2571,6 +2595,9 @@
|
|
|
2571
2595
|
"--hx-border-radius-sm",
|
|
2572
2596
|
"--hx-color-surface-inverse",
|
|
2573
2597
|
"--hx-color-text-inverse",
|
|
2598
|
+
"--hx-focus-ring-color",
|
|
2599
|
+
"--hx-focus-ring-offset",
|
|
2600
|
+
"--hx-focus-ring-width",
|
|
2574
2601
|
"--hx-font-family-sans",
|
|
2575
2602
|
"--hx-font-size-xs",
|
|
2576
2603
|
"--hx-line-height-normal",
|
|
@@ -2582,6 +2609,7 @@
|
|
|
2582
2609
|
"--hx-tooltip-bg",
|
|
2583
2610
|
"--hx-tooltip-border-radius",
|
|
2584
2611
|
"--hx-tooltip-color",
|
|
2612
|
+
"--hx-tooltip-focus-ring-color",
|
|
2585
2613
|
"--hx-tooltip-font-family",
|
|
2586
2614
|
"--hx-tooltip-font-size",
|
|
2587
2615
|
"--hx-tooltip-max-width",
|
package/dist/index.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { lightTokenCss as p } from "@helixui/tokens";
|
|
2
2
|
import { H as S, a as y } from "./shared/hx-accordion-ZVzgDzTG.js";
|
|
3
|
-
import { H as b } from "./shared/hx-action-bar-
|
|
3
|
+
import { H as b } from "./shared/hx-action-bar-BlEG4aZv.js";
|
|
4
4
|
import { H as g } from "./shared/hx-alert-Bto8-TIi.js";
|
|
5
5
|
import { H as v } from "./shared/hx-avatar-C9hOmlAb.js";
|
|
6
6
|
import { H as E } from "./shared/hx-badge-DFL35nzi.js";
|
|
7
7
|
import { H as k } from "./shared/hx-banner-fpRnciIO.js";
|
|
8
|
-
import { H as B, a as P } from "./shared/hx-breadcrumb-item-
|
|
9
|
-
import { H as M } from "./shared/hx-button-
|
|
10
|
-
import { H as N } from "./shared/hx-button-group-
|
|
8
|
+
import { H as B, a as P } from "./shared/hx-breadcrumb-item-D8xYqe3s.js";
|
|
9
|
+
import { H as M } from "./shared/hx-button-DOZTZnz-.js";
|
|
10
|
+
import { H as N } from "./shared/hx-button-group-D3QUmSzl.js";
|
|
11
11
|
import { H as A } from "./shared/hx-card-CswtnYvj.js";
|
|
12
12
|
import { H as G, a as U } from "./shared/hx-carousel-item-z1Lc24op.js";
|
|
13
|
-
import { H as O } from "./shared/hx-checkbox-
|
|
14
|
-
import { H as K } from "./shared/hx-checkbox-group-
|
|
13
|
+
import { H as O } from "./shared/hx-checkbox-DcgyGS9V.js";
|
|
14
|
+
import { H as K } from "./shared/hx-checkbox-group-C0q6HDqn.js";
|
|
15
15
|
import { H as Y } from "./shared/hx-clinical-status-D3XQIOqX.js";
|
|
16
16
|
import { H as q } from "./shared/hx-code-snippet-fVV3Z2DZ.js";
|
|
17
|
-
import { H as J } from "./shared/hx-color-picker-
|
|
17
|
+
import { H as J } from "./shared/hx-color-picker-CYjx8i8R.js";
|
|
18
18
|
import { H as Z } from "./shared/hx-combobox-NgJaLbs2.js";
|
|
19
19
|
import { H as oe } from "./shared/hx-container-DVI7sxfX.js";
|
|
20
|
-
import { H as re } from "./shared/hx-copy-button-
|
|
20
|
+
import { H as re } from "./shared/hx-copy-button-DJirFCUL.js";
|
|
21
21
|
import { H as ie } from "./shared/hx-counter-0zYapFhf.js";
|
|
22
22
|
import { H as xe } from "./shared/hx-data-table-Ct3gQ6ya.js";
|
|
23
|
-
import { H as le } from "./shared/hx-date-picker-
|
|
23
|
+
import { H as le } from "./shared/hx-date-picker-0PtEav0K.js";
|
|
24
24
|
import { H as pe } from "./shared/hx-dialog-B4weoj_1.js";
|
|
25
25
|
import { H as fe } from "./shared/hx-divider-CYfcUjcr.js";
|
|
26
26
|
import { H as de } from "./shared/hx-drawer-CM_upadk.js";
|
|
27
|
-
import { H as ue } from "./shared/hx-dropdown-
|
|
27
|
+
import { H as ue } from "./shared/hx-dropdown-xHwTJecv.js";
|
|
28
28
|
import { H as ye } from "./shared/hx-field-zw0U1KVi.js";
|
|
29
29
|
import { H as be } from "./shared/hx-field-label-BVRyyKeh.js";
|
|
30
30
|
import { H as ge } from "./shared/hx-file-upload-D3rKROK5.js";
|
|
@@ -39,25 +39,25 @@ import { H as Ge } from "./shared/hx-link-CMnZRUtQ.js";
|
|
|
39
39
|
import { H as Ve, a as Oe } from "./shared/hx-list-Bp8HeLHh.js";
|
|
40
40
|
import { H as Ke, a as We, b as Ye } from "./shared/hx-menu-divider-A6Guuzi_.js";
|
|
41
41
|
import { H as qe } from "./shared/hx-meter-BnpmF3Vx.js";
|
|
42
|
-
import { H as Je } from "./shared/hx-nav-
|
|
43
|
-
import { H as Ze } from "./shared/hx-number-input-
|
|
42
|
+
import { H as Je } from "./shared/hx-nav-ChMTfn7o.js";
|
|
43
|
+
import { H as Ze } from "./shared/hx-number-input-MggsT7F0.js";
|
|
44
44
|
import { H as oo } from "./shared/hx-overflow-menu-DFjJAziP.js";
|
|
45
45
|
import { H as ro } from "./shared/hx-pagination-D726PyTM.js";
|
|
46
46
|
import { H as io } from "./shared/hx-patient-banner-CkS-Lmj4.js";
|
|
47
47
|
import { H as xo } from "./shared/hx-phi-field-C19oxlrr.js";
|
|
48
|
-
import { H as lo } from "./shared/hx-popover-
|
|
49
|
-
import { H as po } from "./shared/hx-popup-
|
|
48
|
+
import { H as lo } from "./shared/hx-popover-BjB0nkcq.js";
|
|
49
|
+
import { H as po } from "./shared/hx-popup-BiV_2evC.js";
|
|
50
50
|
import { H as fo } from "./shared/hx-progress-bar-CYz9U721.js";
|
|
51
51
|
import { H as ho } from "./shared/hx-progress-ring-TwHyXeEp.js";
|
|
52
52
|
import { H as So } from "./shared/hx-prose-BThYcASV.js";
|
|
53
|
-
import { H as To, a as bo } from "./shared/hx-radio-
|
|
53
|
+
import { H as To, a as bo } from "./shared/hx-radio-BY4zpwdh.js";
|
|
54
54
|
import { H as go } from "./shared/hx-rating-C3QP53k9.js";
|
|
55
55
|
import { H as vo } from "./shared/hx-select-DahFehiZ.js";
|
|
56
|
-
import { H as Eo, a as Do } from "./shared/hx-nav-item-
|
|
56
|
+
import { H as Eo, a as Do } from "./shared/hx-nav-item-ClN17f1y.js";
|
|
57
57
|
import { H as wo } from "./shared/hx-skeleton-Cnieh5Uc.js";
|
|
58
58
|
import { H as Po } from "./shared/hx-slider-Blmv_rwS.js";
|
|
59
59
|
import { H as Mo } from "./shared/hx-spinner-3qBp4jeN.js";
|
|
60
|
-
import { H as No } from "./shared/hx-split-button-
|
|
60
|
+
import { H as No } from "./shared/hx-split-button-CdNz1XAu.js";
|
|
61
61
|
import { H as Ao } from "./shared/hx-split-panel-B-u0Z3mm.js";
|
|
62
62
|
import { H as Go } from "./shared/hx-stack-DGfcOfWJ.js";
|
|
63
63
|
import { H as Vo } from "./shared/hx-stat-Gtw_SpK8.js";
|
|
@@ -65,19 +65,19 @@ import { H as Xo } from "./shared/hx-status-indicator-BlQyen43.js";
|
|
|
65
65
|
import { H as Wo, a as Yo } from "./shared/hx-step-CUzliIK_.js";
|
|
66
66
|
import { H as qo, a as zo } from "./shared/hx-structured-list-m_-dMJbC.js";
|
|
67
67
|
import { H as Qo } from "./shared/hx-style-scope-TDnR8H4O.js";
|
|
68
|
-
import { H as et } from "./shared/hx-switch-
|
|
68
|
+
import { H as et } from "./shared/hx-switch-BCXuNxEH.js";
|
|
69
69
|
import { H as tt, a as rt, b as at, c as it, d as st, e as xt, f as Ht } from "./shared/hx-td-BPsb6OaG.js";
|
|
70
|
-
import { H as nt, a as pt, b as mt } from "./shared/hx-tab-panel-
|
|
70
|
+
import { H as nt, a as pt, b as mt } from "./shared/hx-tab-panel-BfisavKo.js";
|
|
71
71
|
import { H as ct } from "./shared/hx-tag-C5aCUpVi.js";
|
|
72
72
|
import { H as ht } from "./shared/hx-text-Bz_9fJ3J.js";
|
|
73
|
-
import { F as St, H as yt } from "./shared/hx-text-input-
|
|
73
|
+
import { F as St, H as yt } from "./shared/hx-text-input-V5sQOpDh.js";
|
|
74
74
|
import { H as bt } from "./shared/hx-textarea-CNG590KY.js";
|
|
75
75
|
import { H as gt } from "./shared/hx-theme-BsefFWTO.js";
|
|
76
|
-
import { H as vt } from "./shared/hx-time-picker-
|
|
76
|
+
import { H as vt } from "./shared/hx-time-picker-DfJkBwcX.js";
|
|
77
77
|
import { H as Et, a as Dt, t as kt } from "./shared/toast-factory-Dht3pVsw.js";
|
|
78
|
-
import { H as Bt } from "./shared/hx-toggle-button-
|
|
79
|
-
import { H as Ft } from "./shared/hx-tooltip-
|
|
80
|
-
import { H as Lt } from "./shared/hx-top-nav-
|
|
78
|
+
import { H as Bt } from "./shared/hx-toggle-button-xNVYeA3X.js";
|
|
79
|
+
import { H as Ft } from "./shared/hx-tooltip-CamO-9nd.js";
|
|
80
|
+
import { H as Lt } from "./shared/hx-top-nav-CsTxOtVI.js";
|
|
81
81
|
import { H as Rt, a as At } from "./shared/hx-tree-item-CXyspGxI.js";
|
|
82
82
|
import { H as Gt } from "./shared/hx-visually-hidden-0bZKOWgT.js";
|
|
83
83
|
import { F as Vt } from "./shared/FormMixin-B8PXk5RQ.js";
|
|
@@ -3,7 +3,7 @@ import { property as c, state as f, customElement as u } from "lit/decorators.js
|
|
|
3
3
|
import { f as p } from "./forced-colors-CTEDFRGa.js";
|
|
4
4
|
import { d as v } from "./dev-warn-YlwPHjtX.js";
|
|
5
5
|
import { H as x } from "./helix-element-BNEYeiys.js";
|
|
6
|
-
const
|
|
6
|
+
const g = h`
|
|
7
7
|
:host {
|
|
8
8
|
display: block;
|
|
9
9
|
}
|
|
@@ -121,6 +121,18 @@ const m = h`
|
|
|
121
121
|
flex-shrink: 0;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
+
/*
|
|
125
|
+
* AAA 2.4.13 Focus Appearance — enforce a ≥2px focus ring on slotted
|
|
126
|
+
* natives (e.g. bare <button>, <a>) so consumers who slot non-HELiX
|
|
127
|
+
* controls inherit the same indicator as the HELiX components do.
|
|
128
|
+
* Token-driven: --hx-focus-ring-width resolves to 2px (default).
|
|
129
|
+
*/
|
|
130
|
+
::slotted(:focus-visible) {
|
|
131
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
132
|
+
var(--hx-action-bar-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
133
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
134
|
+
}
|
|
135
|
+
|
|
124
136
|
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
125
137
|
|
|
126
138
|
@media (forced-colors: active) {
|
|
@@ -135,15 +147,15 @@ const m = h`
|
|
|
135
147
|
}
|
|
136
148
|
}
|
|
137
149
|
`;
|
|
138
|
-
var
|
|
139
|
-
for (var s = a > 1 ? void 0 : a ? y(t,
|
|
140
|
-
(
|
|
141
|
-
return a && s &&
|
|
150
|
+
var m = Object.defineProperty, y = Object.getOwnPropertyDescriptor, l = (e, t, o, a) => {
|
|
151
|
+
for (var s = a > 1 ? void 0 : a ? y(t, o) : t, r = e.length - 1, i; r >= 0; r--)
|
|
152
|
+
(i = e[r]) && (s = (a ? i(t, o, s) : i(s)) || s);
|
|
153
|
+
return a && s && m(t, o, s), s;
|
|
142
154
|
};
|
|
143
155
|
let n = class extends x {
|
|
144
156
|
constructor() {
|
|
145
157
|
super(...arguments), this.size = "md", this.variant = "default", this.position = "top", this.accessibleLabel = "", this._ariaLabelAttr = "", this._focusableCache = null, this._hasOverflow = !1, this._handleKeydown = (e) => {
|
|
146
|
-
var t,
|
|
158
|
+
var t, o;
|
|
147
159
|
if (e.key === "ArrowRight")
|
|
148
160
|
e.preventDefault(), this._moveFocus("next");
|
|
149
161
|
else if (e.key === "ArrowLeft")
|
|
@@ -151,11 +163,11 @@ let n = class extends x {
|
|
|
151
163
|
else if (e.key === "Home") {
|
|
152
164
|
e.preventDefault();
|
|
153
165
|
const a = this._getFocusableItems();
|
|
154
|
-
a.length && (a.forEach((s,
|
|
166
|
+
a.length && (a.forEach((s, r) => s.setAttribute("tabindex", r === 0 ? "0" : "-1")), (t = a[0]) == null || t.focus());
|
|
155
167
|
} else if (e.key === "End") {
|
|
156
168
|
e.preventDefault();
|
|
157
169
|
const a = this._getFocusableItems(), s = a.length - 1;
|
|
158
|
-
a.length && (a.forEach((
|
|
170
|
+
a.length && (a.forEach((r, i) => r.setAttribute("tabindex", i === s ? "0" : "-1")), (o = a[s]) == null || o.focus());
|
|
159
171
|
}
|
|
160
172
|
};
|
|
161
173
|
}
|
|
@@ -186,23 +198,23 @@ let n = class extends x {
|
|
|
186
198
|
_isFocusable(e) {
|
|
187
199
|
if (e.hasAttribute("disabled") || e.disabled === !0) return !1;
|
|
188
200
|
if (e.tabIndex >= 0) return !0;
|
|
189
|
-
const
|
|
190
|
-
return
|
|
201
|
+
const o = e.tagName.toLowerCase();
|
|
202
|
+
return o === "button" || o === "input" || o === "select" || o === "textarea";
|
|
191
203
|
}
|
|
192
204
|
/** @internal */
|
|
193
205
|
_getFocusableItems() {
|
|
194
|
-
var
|
|
206
|
+
var o;
|
|
195
207
|
if (this._focusableCache) return this._focusableCache;
|
|
196
|
-
const e = ((
|
|
208
|
+
const e = ((o = this.shadowRoot) == null ? void 0 : o.querySelectorAll("slot")) ?? [], t = [];
|
|
197
209
|
for (const a of Array.from(e)) {
|
|
198
210
|
const s = a.assignedElements({ flatten: !0 });
|
|
199
|
-
for (const
|
|
200
|
-
if (
|
|
201
|
-
if (this._isFocusable(
|
|
202
|
-
t.push(
|
|
211
|
+
for (const r of s)
|
|
212
|
+
if (r instanceof HTMLElement)
|
|
213
|
+
if (this._isFocusable(r))
|
|
214
|
+
t.push(r);
|
|
203
215
|
else {
|
|
204
|
-
const
|
|
205
|
-
for (const d of Array.from(
|
|
216
|
+
const i = r.querySelectorAll("*");
|
|
217
|
+
for (const d of Array.from(i))
|
|
206
218
|
this._isFocusable(d) && t.push(d);
|
|
207
219
|
}
|
|
208
220
|
}
|
|
@@ -214,19 +226,19 @@ let n = class extends x {
|
|
|
214
226
|
this._focusableCache = null;
|
|
215
227
|
const e = this._getFocusableItems();
|
|
216
228
|
if (!e.length) return;
|
|
217
|
-
const t = e.findIndex((a) => a.getAttribute("tabindex") === "0"),
|
|
218
|
-
e.forEach((a, s) => a.setAttribute("tabindex", s ===
|
|
229
|
+
const t = e.findIndex((a) => a.getAttribute("tabindex") === "0"), o = t === -1 ? 0 : t;
|
|
230
|
+
e.forEach((a, s) => a.setAttribute("tabindex", s === o ? "0" : "-1"));
|
|
219
231
|
}
|
|
220
232
|
/** @internal */
|
|
221
233
|
_moveFocus(e) {
|
|
222
|
-
var
|
|
234
|
+
var r;
|
|
223
235
|
const t = this._getFocusableItems();
|
|
224
236
|
if (!t.length) return;
|
|
225
|
-
const
|
|
237
|
+
const o = document.activeElement, a = t.indexOf(o);
|
|
226
238
|
let s;
|
|
227
|
-
e === "next" ? s = a < t.length - 1 ? a + 1 : 0 : s = a > 0 ? a - 1 : t.length - 1, t.forEach((
|
|
228
|
-
|
|
229
|
-
}), (
|
|
239
|
+
e === "next" ? s = a < t.length - 1 ? a + 1 : 0 : s = a > 0 ? a - 1 : t.length - 1, t.forEach((i, d) => {
|
|
240
|
+
i.setAttribute("tabindex", d === s ? "0" : "-1");
|
|
241
|
+
}), (r = t[s]) == null || r.focus();
|
|
230
242
|
}
|
|
231
243
|
// ─── Event Handlers ───
|
|
232
244
|
/** @internal */
|
|
@@ -236,14 +248,14 @@ let n = class extends x {
|
|
|
236
248
|
}
|
|
237
249
|
// ─── Render ───
|
|
238
250
|
render() {
|
|
239
|
-
const e = this.position === "sticky", t = this.position === "bottom",
|
|
251
|
+
const e = this.position === "sticky", t = this.position === "bottom", o = e ? " base--sticky" : t ? " base--bottom" : "";
|
|
240
252
|
return b`
|
|
241
253
|
<div
|
|
242
254
|
part="base"
|
|
243
255
|
role="toolbar"
|
|
244
256
|
aria-label=${this._effectiveLabel}
|
|
245
257
|
aria-orientation="horizontal"
|
|
246
|
-
class="base base--${this.size} base--${this.variant}${
|
|
258
|
+
class="base base--${this.size} base--${this.variant}${o}"
|
|
247
259
|
>
|
|
248
260
|
<div part="start" class="section section--start">
|
|
249
261
|
<slot name="start" @slotchange=${this._handleSlotChange}></slot>
|
|
@@ -261,7 +273,7 @@ let n = class extends x {
|
|
|
261
273
|
`;
|
|
262
274
|
}
|
|
263
275
|
};
|
|
264
|
-
n.styles = [
|
|
276
|
+
n.styles = [g, p];
|
|
265
277
|
l([
|
|
266
278
|
c({ type: String, reflect: !0, attribute: "hx-size" })
|
|
267
279
|
], n.prototype, "size", 2);
|
|
@@ -286,4 +298,4 @@ n = l([
|
|
|
286
298
|
export {
|
|
287
299
|
n as H
|
|
288
300
|
};
|
|
289
|
-
//# sourceMappingURL=hx-action-bar-
|
|
301
|
+
//# sourceMappingURL=hx-action-bar-BlEG4aZv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hx-action-bar-BlEG4aZv.js","sources":["../../src/components/hx-action-bar/hx-action-bar.styles.ts","../../src/components/hx-action-bar/hx-action-bar.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixActionBarStyles = css`\n :host {\n display: block;\n }\n\n /* ─── Base ─── */\n\n .base {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--hx-action-bar-gap, var(--hx-space-2, 0.5rem));\n padding: var(--hx-action-bar-padding, var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem));\n background: var(--hx-action-bar-bg, transparent);\n border: var(--hx-action-bar-border, none);\n box-sizing: border-box;\n width: 100%;\n }\n\n /* ─── Sticky (top) ─── */\n\n .base--sticky {\n position: sticky;\n top: 0;\n padding-top: max(var(--hx-action-bar-padding-block-start, 0px), env(safe-area-inset-top, 0px));\n z-index: var(--hx-action-bar-z-index, 10);\n /*\n * Consumers: when this bar is sticky, add scroll-padding-top to the scroll container\n * equal to the bar's rendered height so anchor targets are not hidden behind the bar.\n * Example: .scroll-container { scroll-padding-top: 2.5rem; }\n */\n }\n\n /* ─── Bottom sticky ─── */\n\n .base--bottom {\n position: sticky;\n bottom: 0;\n /*\n * Respect iOS home-indicator safe area on devices with notch/home bar.\n * Falls back to 0px on devices that do not support env().\n */\n padding-bottom: max(\n var(--hx-action-bar-padding-block-end, 0px),\n env(safe-area-inset-bottom, 0px)\n );\n z-index: var(--hx-action-bar-z-index, 10);\n }\n\n /* ─── Variant: outlined ─── */\n\n .base--outlined {\n background: var(--hx-action-bar-bg, var(--hx-color-surface-default, #ffffff));\n border: var(\n --hx-action-bar-border,\n var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, #d6dbd5)\n );\n border-radius: var(--hx-action-bar-border-radius, var(--hx-border-radius-md, 0.375rem));\n }\n\n /* ─── Variant: filled ─── */\n\n .base--filled {\n background: var(--hx-action-bar-bg, var(--hx-color-surface-raised, #f5f8f3));\n border-radius: var(--hx-action-bar-border-radius, var(--hx-border-radius-md, 0.375rem));\n }\n\n /* ─── Size modifiers ─── */\n\n .base--sm {\n padding: var(--hx-action-bar-padding, var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem));\n gap: var(--hx-action-bar-gap, var(--hx-space-1, 0.25rem));\n min-height: var(--hx-size-8, 2rem);\n }\n\n .base--md {\n min-height: var(--hx-size-10, 2.5rem);\n }\n\n .base--lg {\n padding: var(--hx-action-bar-padding, var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem));\n gap: var(--hx-action-bar-gap, var(--hx-space-3, 0.75rem));\n min-height: var(--hx-size-12, 3rem);\n }\n\n /* ─── Sections ─── */\n\n .section {\n display: flex;\n align-items: center;\n gap: inherit;\n }\n\n /*\n * Equal flex-basis on start and end guarantees the center section is visually centered\n * within the full bar width, regardless of how wide start and end content are.\n */\n .section--start {\n flex: 1 1 0;\n justify-content: flex-start;\n }\n\n .section--center {\n flex: 0 0 auto;\n justify-content: center;\n }\n\n .section--end {\n flex: 1 1 0;\n justify-content: flex-end;\n }\n\n /* ─── Slotted content ─── */\n\n ::slotted(*) {\n flex-shrink: 0;\n }\n\n /*\n * AAA 2.4.13 Focus Appearance — enforce a ≥2px focus ring on slotted\n * natives (e.g. bare <button>, <a>) so consumers who slot non-HELiX\n * controls inherit the same indicator as the HELiX components do.\n * Token-driven: --hx-focus-ring-width resolves to 2px (default).\n */\n ::slotted(:focus-visible) {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(--hx-action-bar-focus-ring-color, var(--hx-focus-ring-color, #0f7078));\n outline-offset: var(--hx-focus-ring-offset, 2px);\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n /* Outlined variant: border is already present and will be honored by the browser */\n .base--outlined {\n border: 1px solid CanvasText;\n }\n\n /* Filled variant: background is suppressed — add border to maintain visual separation */\n .base--filled {\n border: 1px solid CanvasText;\n }\n }\n`;\n","import { html } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { HelixElement } from '../../base/index.js';\nimport { helixActionBarStyles } from './hx-action-bar.styles.js';\nimport { forcedColorsInteractive } from '../../styles/forced-colors.js';\nimport { devWarn } from '../../utils/dev-warn.js';\n\n// Re-export size type for external consumers.\nexport type ActionBarSize = 'sm' | 'md' | 'lg';\n\n/**\n * A horizontal toolbar container for grouping related action buttons and controls.\n * Implements the ARIA toolbar pattern with roving tabindex keyboard navigation.\n *\n * @summary Horizontal action bar for grouping related controls.\n *\n * @tag hx-action-bar\n *\n * @slot start - Left-aligned actions.\n * @slot - Center content (default slot).\n * @slot end - Right-aligned actions.\n * @slot overflow - Actions revealed when the bar is constrained for space.\n *\n * @csspart base - The root toolbar container element.\n * @csspart start - The start (left) slot wrapper.\n * @csspart center - The center (default) slot wrapper.\n * @csspart end - The end (right) slot wrapper.\n * @csspart overflow - The overflow slot wrapper (hidden when no overflow content).\n *\n * @cssprop [--hx-action-bar-bg=transparent] - Bar background color (default variant).\n * @cssprop [--hx-action-bar-border=none] - Bar border (default variant).\n * @cssprop [--hx-action-bar-padding=var(--hx-space-2,0.5rem) var(--hx-space-3,0.75rem)] - Inner padding.\n * @cssprop [--hx-action-bar-gap=var(--hx-space-2,0.5rem)] - Gap between slotted items.\n * @cssprop [--hx-action-bar-z-index=10] - Z-index when sticky or bottom position.\n *\n * @attr {string} accessible-label - Identifies the toolbar to assistive technology.\n * When multiple toolbars appear on the same page, each must have a unique, descriptive label.\n * Falls back to the native `aria-label` attribute if not set.\n *\n * @example\n * ```html\n * <hx-action-bar aria-label=\"Patient actions\">\n * <hx-button slot=\"start\">Save</hx-button>\n * <hx-button slot=\"end\" variant=\"ghost\">Cancel</hx-button>\n * </hx-action-bar>\n * ```\n * @cssprop [--hx-action-bar-padding-block-start=0px] - Padding.\n * @cssprop [--hx-action-bar-padding-block-end=0px] - Padding.\n * @cssprop [--hx-border-radius-md] - CSS custom property.\n * @cssprop [--hx-border-width-thin] - Width.\n * @cssprop [--hx-color-neutral-0] - Color.\n * @cssprop [--hx-color-neutral-200] - Color.\n * @cssprop [--hx-color-neutral-50] - Color.\n * @cssprop [--hx-size-8] - Size token.\n * @cssprop [--hx-size-10] - Size token.\n * @cssprop [--hx-size-12] - Size token.\n * @cssprop [--hx-space-1] - Spacing token.\n * @cssprop [--hx-space-2] - Spacing token.\n * @cssprop [--hx-space-3] - Spacing token.\n * @cssprop [--hx-space-4] - Spacing token.\n * @aaa-certified 2026-05-08\n * @aaa-criteria 1.4.6, 1.4.9, 2.1.3, 2.3.3, 2.4.12, 2.4.13, 2.5.5, 3.2.5, 3.3.6, forced-colors, apg-keyboard\n * @aaa-audit src/components/hx-action-bar/AAA-AUDIT.md\n * @keyboard-contract navigate=Arrow; activate=Enter,Space; disabled-suppresses=true\n * @aria-pattern toolbar\n * @aria-pattern-source https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n * @forced-colors-supported true\n * @stability stable\n * @since 3.7.0\n * @form-associated false\n * @theme-aware true\n * @brand-aware true\n * @drupal-sdc-eligible true\n * @react-wrapper-status complete\n * @figma-component-name hx-action-bar\n * @priority-tier P0\n * @phi-handles false\n * @clinical-context none\n */\n@customElement('hx-action-bar')\nexport class HelixActionBar extends HelixElement {\n static override styles = [helixActionBarStyles, forcedColorsInteractive];\n\n /**\n * Size of the action bar — propagated as a data attribute to slotted children.\n * @attr hx-size\n */\n @property({ type: String, reflect: true, attribute: 'hx-size' })\n size: 'sm' | 'md' | 'lg' = 'md';\n\n /**\n * Visual variant controlling the bar background.\n * @attr variant\n */\n @property({ type: String, reflect: true })\n variant: 'default' | 'outlined' | 'filled' = 'default';\n\n /**\n * Position and sticky behavior of the action bar.\n * - `top` — normal flow (default)\n * - `sticky` — sticks to the top of the scroll container; add `scroll-padding-top` to the\n * scroll container equal to the bar height to prevent anchor targets from scrolling behind it\n * - `bottom` — sticks to the bottom of the scroll container with iOS safe-area-inset support\n * @attr position\n */\n @property({ type: String, reflect: true })\n position: 'top' | 'bottom' | 'sticky' = 'top';\n\n // The deprecated `sticky` boolean property has been removed in 3.0.0.\n // Use `position=\"sticky\"` instead.\n\n /**\n * Accessible label for the toolbar.\n * Required when multiple toolbars appear on the same page.\n *\n * Accepts both `accessible-label` and the standard `aria-label` HTML attribute.\n * The `accessible-label` attribute takes precedence when both are set.\n *\n * Previously this was exposed as the `ariaLabel` JS property, which shadowed\n * the native `HTMLElement.ariaLabel`. That shadowing is removed; use\n * `accessibleLabel` or the HTML attributes instead.\n *\n * @attr accessible-label\n */\n @property({ attribute: 'accessible-label' })\n accessibleLabel: string = '';\n\n /**\n * Observed mirror of the host's `aria-label` attribute so Lit re-renders\n * when consumers set `aria-label` (the standard HTML pattern).\n * @internal\n */\n @property({ attribute: 'aria-label' })\n private _ariaLabelAttr: string = '';\n\n /**\n * Returns the effective label for the toolbar, checking accessible-label first,\n * then the aria-label attribute, falling back to 'Actions'.\n * @internal\n */\n private get _effectiveLabel(): string {\n return this.accessibleLabel || this._ariaLabelAttr || 'Actions';\n }\n\n /** Cached list of focusable items — invalidated on slot change. */\n /** @internal */\n private _focusableCache: HTMLElement[] | null = null;\n\n /** Whether the overflow slot has assigned content. * @internal\n */\n @state()\n private _hasOverflow = false;\n\n // ─── Lifecycle ───\n\n /** Arrow function field — stable reference for add/removeEventListener. */\n /** @internal */\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (e.key === 'ArrowRight') {\n e.preventDefault();\n this._moveFocus('next');\n } else if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this._moveFocus('prev');\n } else if (e.key === 'Home') {\n e.preventDefault();\n // Move directly to first item — do NOT call _moveFocus which would visit other items first.\n const items = this._getFocusableItems();\n if (items.length) {\n items.forEach((el, i) => el.setAttribute('tabindex', i === 0 ? '0' : '-1'));\n items[0]?.focus();\n }\n } else if (e.key === 'End') {\n e.preventDefault();\n const items = this._getFocusableItems();\n const last = items.length - 1;\n if (items.length) {\n items.forEach((el, i) => el.setAttribute('tabindex', i === last ? '0' : '-1'));\n items[last]?.focus();\n }\n }\n };\n\n override connectedCallback(): void {\n super.connectedCallback();\n // Backward compat: accept legacy `size` attribute. When present and `hx-size`\n // is not set, map the value and emit a deprecation warning.\n const legacySize = this.getAttribute('size');\n if (legacySize !== null && !this.hasAttribute('hx-size')) {\n devWarn('hx-action-bar', 'The \"size\" attribute is deprecated. Use \"hx-size\" instead.');\n this.size = legacySize as ActionBarSize;\n }\n // Prevent dual aria-label announcement: the host carries the consumer's\n // aria-label attribute while the inner div[role=\"toolbar\"] receives the\n // same value. Setting role=\"none\" on the host hides it from the\n // accessibility tree so only the toolbar is announced.\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'none');\n } else if (this.getAttribute('role') !== 'none') {\n devWarn(\n 'hx-action-bar',\n `Setting role=\"${this.getAttribute('role')}\" on the host creates a duplicate toolbar announcement. ` +\n 'The shadow DOM already contains role=\"toolbar\". Set role=\"none\" on the host to suppress it.',\n );\n }\n this.addEventListener('keydown', this._handleKeydown);\n }\n\n override firstUpdated(): void {\n // Slot assignments are complete by firstUpdated; initialize roving tabindex\n // immediately rather than waiting for the async slotchange event.\n this._initRovingTabindex();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this._handleKeydown);\n }\n\n // ─── Focusable item discovery ───\n\n /** @internal */\n private _isFocusable(el: HTMLElement): boolean {\n // Check disabled via DOM attribute (native elements) or property (custom elements)\n if (el.hasAttribute('disabled')) return false;\n const elWithDisabled = el as HTMLElement & { disabled?: boolean };\n if (elWithDisabled.disabled === true) return false;\n\n // Use the IDL tabIndex property — covers both DOM attribute and ElementInternals settings.\n // Custom elements (e.g. hx-button) that set tabIndex via ElementInternals are discoverable.\n if (el.tabIndex >= 0) return true;\n\n const tag = el.tagName.toLowerCase();\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n }\n\n /** @internal */\n private _getFocusableItems(): HTMLElement[] {\n if (this._focusableCache) return this._focusableCache;\n\n const slots = this.shadowRoot?.querySelectorAll('slot') ?? [];\n const items: HTMLElement[] = [];\n\n for (const slot of Array.from(slots)) {\n const assigned = (slot as HTMLSlotElement).assignedElements({ flatten: true });\n for (const el of assigned) {\n if (!(el instanceof HTMLElement)) continue;\n if (this._isFocusable(el)) {\n // Element is itself focusable — include it and do NOT also recurse into its children\n // to prevent double-counting compound components (e.g. <a><button>).\n items.push(el);\n } else {\n // Element is a non-focusable wrapper (e.g. <div>, <span>) — find focusable children.\n const descendants = el.querySelectorAll<HTMLElement>('*');\n for (const d of Array.from(descendants)) {\n if (this._isFocusable(d)) {\n items.push(d);\n }\n }\n }\n }\n }\n\n this._focusableCache = items;\n return items;\n }\n\n // ─── Roving tabindex helpers ───\n\n /** @internal */\n private _initRovingTabindex(): void {\n this._focusableCache = null; // invalidate cache on slot change\n const items = this._getFocusableItems();\n if (!items.length) return;\n // Find the currently active item. If none exists (e.g. first render or active item was\n // removed), fall back to index 0. Then set ALL items explicitly so newly added items and\n // items whose tabindex changed externally are always in a correct state.\n const activeIndex = items.findIndex((el) => el.getAttribute('tabindex') === '0');\n const targetIndex = activeIndex === -1 ? 0 : activeIndex;\n items.forEach((el, i) => el.setAttribute('tabindex', i === targetIndex ? '0' : '-1'));\n }\n\n /** @internal */\n private _moveFocus(direction: 'next' | 'prev'): void {\n const items = this._getFocusableItems();\n if (!items.length) return;\n\n const focused = document.activeElement as HTMLElement | null;\n const currentIndex = items.indexOf(focused as HTMLElement);\n\n let nextIndex: number;\n if (direction === 'next') {\n nextIndex = currentIndex < items.length - 1 ? currentIndex + 1 : 0;\n } else {\n nextIndex = currentIndex > 0 ? currentIndex - 1 : items.length - 1;\n }\n\n items.forEach((el, i) => {\n el.setAttribute('tabindex', i === nextIndex ? '0' : '-1');\n });\n\n items[nextIndex]?.focus();\n }\n\n // ─── Event Handlers ───\n\n /** @internal */\n private _handleSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n if (slot.name === 'overflow') {\n this._hasOverflow = slot.assignedElements({ flatten: true }).length > 0;\n }\n this._initRovingTabindex();\n }\n\n // ─── Render ───\n\n override render() {\n const isSticky = this.position === 'sticky';\n const isBottom = this.position === 'bottom';\n const positionClass = isSticky ? ' base--sticky' : isBottom ? ' base--bottom' : '';\n\n return html`\n <div\n part=\"base\"\n role=\"toolbar\"\n aria-label=${this._effectiveLabel}\n aria-orientation=\"horizontal\"\n class=\"base base--${this.size} base--${this.variant}${positionClass}\"\n >\n <div part=\"start\" class=\"section section--start\">\n <slot name=\"start\" @slotchange=${this._handleSlotChange}></slot>\n </div>\n <div part=\"center\" class=\"section section--center\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n <div part=\"end\" class=\"section section--end\">\n <slot name=\"end\" @slotchange=${this._handleSlotChange}></slot>\n </div>\n <div part=\"overflow\" class=\"section section--overflow\" ?hidden=${!this._hasOverflow}>\n <slot name=\"overflow\" @slotchange=${this._handleSlotChange}></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-action-bar': HelixActionBar;\n }\n}\n"],"names":["helixActionBarStyles","css","HelixActionBar","HelixElement","items","el","i","_a","last","_b","legacySize","devWarn","tag","slots","slot","assigned","descendants","activeIndex","targetIndex","direction","focused","currentIndex","nextIndex","isSticky","isBottom","positionClass","html","forcedColorsInteractive","__decorateClass","property","state","customElement"],"mappings":"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"}
|