@telesign/boreal-web-components 0.1.0-alpha.5 → 0.1.0-alpha.6
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/components-build/bds-avatar.js +1 -1
- package/components-build/bds-breadcrumb-item.d.ts +11 -0
- package/components-build/bds-breadcrumb-item.js +1 -0
- package/components-build/bds-breadcrumb.d.ts +11 -0
- package/components-build/bds-breadcrumb.js +1 -0
- package/components-build/bds-button-group.js +1 -1
- package/components-build/bds-button.js +1 -1
- package/components-build/bds-checkbox-button.d.ts +11 -0
- package/components-build/bds-checkbox-button.js +1 -0
- package/components-build/bds-checkbox-card.js +1 -1
- package/components-build/bds-checkbox-group.d.ts +11 -0
- package/components-build/bds-checkbox-group.js +1 -0
- package/components-build/bds-checkbox.js +1 -1
- package/components-build/bds-dialog.js +1 -1
- package/components-build/bds-divider.js +1 -1
- package/components-build/bds-flag.js +1 -1
- package/components-build/bds-grid-item.js +1 -1
- package/components-build/bds-grid.js +1 -1
- package/components-build/bds-list-menu-item.js +1 -1
- package/components-build/bds-list-menu.js +1 -1
- package/components-build/bds-popover.js +1 -1
- package/components-build/bds-radio-button.js +1 -1
- package/components-build/bds-radio-card.js +1 -1
- package/components-build/bds-radio-group.js +1 -1
- package/components-build/bds-radio.js +1 -1
- package/components-build/bds-select.d.ts +11 -0
- package/components-build/bds-select.js +1 -0
- package/components-build/bds-slider.d.ts +11 -0
- package/components-build/bds-slider.js +1 -0
- package/components-build/bds-tag.js +1 -1
- package/components-build/bds-text-field.js +1 -1
- package/components-build/bds-toggle.js +1 -1
- package/components-build/bds-tooltip.js +1 -1
- package/components-build/bds-typography.js +1 -1
- package/components-build/p-B6e9eIHB.js +1 -0
- package/components-build/p-CJBdGD_4.js +1 -0
- package/components-build/p-DcR7mHFE.js +1 -0
- package/components-build/p-DdOPD9wW.js +1 -0
- package/components-build/{p-BSlaf0ff.js → p-DoNZM78n.js} +1 -1
- package/components-build/p-DrkDx75U.js +1 -0
- package/components-build/p-DuBzr05c.js +1 -0
- package/components-build/p-PmjPRW8X.js +1 -0
- package/components-build/p-cgdh1LO-.js +1 -0
- package/components-build/p-yLNcMg2E.js +1 -0
- package/custom-elements.json +2723 -841
- package/dist/boreal-web-components/boreal-web-components.esm.js +1 -1
- package/dist/boreal-web-components/css/boreal.css +60 -0
- package/dist/boreal-web-components/css/theme-connect.css +15 -0
- package/dist/boreal-web-components/css/theme-engage.css +15 -0
- package/dist/boreal-web-components/css/theme-protect.css +15 -0
- package/dist/boreal-web-components/css/theme-proximus.css +15 -0
- package/dist/boreal-web-components/{p-7bb88855.entry.js → p-02e53626.entry.js} +1 -1
- package/dist/boreal-web-components/p-0357450d.system.entry.js +1 -0
- package/dist/boreal-web-components/{p-efe159aa.entry.js → p-1250ba53.entry.js} +1 -1
- package/dist/boreal-web-components/p-1911b978.entry.js +1 -0
- package/dist/boreal-web-components/p-1mOd23lT.system.js +1 -0
- package/dist/boreal-web-components/{p-48ebbfbe.system.entry.js → p-25823f7d.system.entry.js} +1 -1
- package/dist/boreal-web-components/p-2db71382.system.entry.js +1 -0
- package/dist/boreal-web-components/p-367e40f9.entry.js +1 -0
- package/dist/boreal-web-components/p-3946d587.entry.js +1 -0
- package/dist/boreal-web-components/{p-4dc01078.system.entry.js → p-44b6fe6c.system.entry.js} +1 -1
- package/dist/boreal-web-components/{p-024d90b0.system.entry.js → p-48712a63.system.entry.js} +1 -1
- package/dist/boreal-web-components/{p-2adf2cd5.entry.js → p-49ea207a.entry.js} +1 -1
- package/dist/boreal-web-components/{p-7aff4c78.entry.js → p-4b028406.entry.js} +1 -1
- package/dist/boreal-web-components/p-4b615de8.system.entry.js +1 -0
- package/dist/boreal-web-components/{p-e0a41cab.system.entry.js → p-4f431941.system.entry.js} +1 -1
- package/dist/boreal-web-components/p-524421f7.system.entry.js +1 -0
- package/dist/boreal-web-components/p-530c8c7f.entry.js +1 -0
- package/dist/boreal-web-components/p-55aeff0c.system.entry.js +1 -0
- package/dist/boreal-web-components/p-5c8650b3.system.entry.js +1 -0
- package/dist/boreal-web-components/p-5e590291.system.entry.js +1 -0
- package/dist/boreal-web-components/p-5ee0841f.entry.js +1 -0
- package/dist/boreal-web-components/{p-93066db4.system.entry.js → p-65923619.system.entry.js} +1 -1
- package/dist/boreal-web-components/p-66ec16d9.entry.js +1 -0
- package/dist/boreal-web-components/{p-e55f2a8b.entry.js → p-714bf70d.entry.js} +1 -1
- package/dist/boreal-web-components/p-7626338e.system.entry.js +1 -0
- package/dist/boreal-web-components/p-7G4h4DI7.js +1 -0
- package/dist/boreal-web-components/p-800fc096.system.entry.js +1 -0
- package/dist/boreal-web-components/p-824485ad.entry.js +1 -0
- package/dist/boreal-web-components/p-8dfe3a9f.entry.js +1 -0
- package/dist/boreal-web-components/p-90022071.entry.js +1 -0
- package/dist/boreal-web-components/{p-7ebc67c9.entry.js → p-9d02057d.entry.js} +1 -1
- package/dist/boreal-web-components/{p-wREMI3WA.js → p-CcENtewr.js} +1 -1
- package/dist/boreal-web-components/p-Dk9dfU9-.system.js +1 -0
- package/dist/boreal-web-components/p-K7DvMlRo.system.js +1 -0
- package/dist/boreal-web-components/{p-DYlZcFrB.system.js → p-UEj9YHof.system.js} +1 -1
- package/dist/boreal-web-components/{p-147d6652.system.entry.js → p-b54fe67f.system.entry.js} +1 -1
- package/dist/boreal-web-components/p-bbcd3a30.system.entry.js +1 -0
- package/dist/boreal-web-components/p-bea25d3d.system.entry.js +1 -0
- package/dist/boreal-web-components/p-bed506d3.entry.js +1 -0
- package/dist/boreal-web-components/p-bfd62034.system.entry.js +1 -0
- package/dist/boreal-web-components/p-c07d6b82.system.entry.js +1 -0
- package/dist/boreal-web-components/{p-7d3a8f61.entry.js → p-cc5c359f.entry.js} +1 -1
- package/dist/boreal-web-components/p-cgdh1LO-.js +1 -0
- package/dist/boreal-web-components/p-d2b6ae79.entry.js +1 -0
- package/dist/boreal-web-components/p-e21b8416.entry.js +1 -0
- package/dist/boreal-web-components/p-e4364a44.system.entry.js +1 -0
- package/dist/boreal-web-components/p-e51407b2.system.entry.js +1 -0
- package/dist/boreal-web-components/p-e8cde179.system.entry.js +1 -0
- package/dist/boreal-web-components/p-eecc3028.system.entry.js +1 -0
- package/dist/boreal-web-components/p-f3bd824d.system.entry.js +1 -0
- package/dist/boreal-web-components/p-f6eabb16.entry.js +1 -0
- package/dist/boreal-web-components/p-f7acf6e5.system.entry.js +1 -0
- package/dist/boreal-web-components/{p-6629be14.entry.js → p-f9560509.entry.js} +1 -1
- package/dist/boreal-web-components/p-fa128cad.system.entry.js +1 -0
- package/dist/boreal-web-components/p-fab1a01d.entry.js +1 -0
- package/dist/boreal-web-components/p-fb9ba833.entry.js +1 -0
- package/dist/boreal-web-components/p-fbe0c9f2.entry.js +1 -0
- package/dist/boreal-web-components/p-fbe88555.entry.js +1 -0
- package/dist/boreal-web-components/p-fc1fa966.system.entry.js +1 -0
- package/dist/boreal-web-components/p-fc4ffa0e.entry.js +1 -0
- package/dist/boreal-web-components/p-fef13445.entry.js +1 -0
- package/dist/boreal-web-components/p-qGhMe8Hk.js +1 -0
- package/dist/boreal-web-components/p-vzZJGcYF.system.js +1 -1
- package/dist/boreal-web-components/scss/maps/_theme-connect.scss +16 -1
- package/dist/boreal-web-components/scss/maps/_theme-engage.scss +16 -1
- package/dist/boreal-web-components/scss/maps/_theme-protect.scss +16 -1
- package/dist/boreal-web-components/scss/maps/_theme-proximus.scss +16 -1
- package/dist/boreal-web-components/scss/variables/_theme-connect.scss +16 -1
- package/dist/boreal-web-components/scss/variables/_theme-engage.scss +16 -1
- package/dist/boreal-web-components/scss/variables/_theme-protect.scss +16 -1
- package/dist/boreal-web-components/scss/variables/_theme-proximus.scss +16 -1
- package/dist/cjs/KeyboardController-B_g3peyB.js +1067 -0
- package/dist/cjs/Keys-DXn16dlA.js +34 -0
- package/dist/cjs/bds-avatar.cjs.entry.js +1 -1
- package/dist/cjs/bds-breadcrumb-item.cjs.entry.js +106 -0
- package/dist/cjs/bds-breadcrumb.cjs.entry.js +127 -0
- package/dist/cjs/bds-button-group.cjs.entry.js +23 -2
- package/dist/cjs/bds-button.cjs.entry.js +33 -6
- package/dist/cjs/bds-checkbox-button.cjs.entry.js +119 -0
- package/dist/cjs/bds-checkbox-card.cjs.entry.js +37 -23
- package/dist/cjs/bds-checkbox-group.cjs.entry.js +292 -0
- package/dist/cjs/bds-checkbox.cjs.entry.js +62 -31
- package/dist/cjs/bds-dialog.cjs.entry.js +3 -3
- package/dist/cjs/bds-divider.cjs.entry.js +1 -1
- package/dist/cjs/bds-flag.cjs.entry.js +1 -1
- package/dist/cjs/bds-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/bds-grid.cjs.entry.js +1 -1
- package/dist/cjs/bds-list-menu-item.cjs.entry.js +19 -8
- package/dist/cjs/bds-list-menu.cjs.entry.js +42 -7
- package/dist/cjs/bds-popover.cjs.entry.js +13 -5
- package/dist/cjs/bds-radio-button.cjs.entry.js +2 -2
- package/dist/cjs/bds-radio-card.cjs.entry.js +2 -2
- package/dist/cjs/bds-radio-group.cjs.entry.js +14 -8
- package/dist/cjs/bds-radio.cjs.entry.js +2 -2
- package/dist/cjs/bds-select.cjs.entry.js +394 -0
- package/dist/cjs/bds-slider.cjs.entry.js +655 -0
- package/dist/cjs/bds-tag.cjs.entry.js +1 -1
- package/dist/cjs/bds-text-field.cjs.entry.js +8 -3
- package/dist/cjs/bds-toggle.cjs.entry.js +1 -1
- package/dist/cjs/bds-tooltip_2.cjs.entry.js +7 -5
- package/dist/cjs/boreal-web-components.cjs.js +1 -1
- package/dist/cjs/checkbox-form-association-DTEpHXUD.js +43 -0
- package/dist/cjs/{getOffset-k4ezB-eT.js → getOffset-CsDHFjPW.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +16 -10
- package/dist/collection/components/actions/bds-button/bds-button.css +36 -36
- package/dist/collection/components/actions/bds-button/bds-button.js +29 -5
- package/dist/collection/components/actions/bds-button-group/bds-button-group.css +1 -1
- package/dist/collection/components/actions/bds-button-group/bds-button-group.js +21 -2
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.js +136 -3
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.css +5 -2
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.js +20 -7
- package/dist/collection/components/actions/bds-toggle/bds-toggle.css +3 -3
- package/dist/collection/components/feedback/bds-tag/bds-tag.css +6 -6
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox/bds-checkbox.css +132 -0
- package/dist/collection/components/forms/bds-checkbox/{bds-checkbox.js → bds-checkbox/bds-checkbox.js} +135 -38
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox-button/bds-checkbox-button.css +113 -0
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox-button/bds-checkbox-button.js +382 -0
- package/dist/collection/components/forms/{bds-checkbox-card → bds-checkbox/bds-checkbox-card}/bds-checkbox-card.css +15 -3
- package/dist/collection/components/forms/{bds-checkbox-card → bds-checkbox/bds-checkbox-card}/bds-checkbox-card.js +97 -51
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/bds-checkbox-group.css +55 -0
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/bds-checkbox-group.js +648 -0
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/types/enum.js +5 -0
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/types/index.js +3 -0
- package/dist/collection/components/forms/bds-checkbox/utils/checkbox-form-association.js +39 -0
- package/dist/collection/components/forms/bds-checkbox/utils/index.js +1 -0
- package/dist/collection/components/forms/bds-flag/bds-flag.js +1 -1
- package/dist/collection/components/forms/bds-radio/{bds-radio.css → bds-radio/bds-radio.css} +3 -3
- package/dist/collection/components/forms/bds-radio/{bds-radio.js → bds-radio/bds-radio.js} +2 -2
- package/dist/collection/components/forms/{bds-radio-button → bds-radio/bds-radio-button}/bds-radio-button.css +12 -8
- package/dist/collection/components/forms/{bds-radio-button → bds-radio/bds-radio-button}/bds-radio-button.js +2 -2
- package/dist/collection/components/forms/{bds-radio-card → bds-radio/bds-radio-card}/bds-radio-card.css +2 -2
- package/dist/collection/components/forms/{bds-radio-card → bds-radio/bds-radio-card}/bds-radio-card.js +9 -9
- package/dist/collection/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/bds-radio-group.js +51 -23
- package/dist/collection/components/forms/bds-select/bds-select.css +23 -0
- package/dist/collection/components/forms/bds-select/bds-select.js +431 -0
- package/dist/collection/components/forms/bds-slider/bds-slider.css +213 -0
- package/dist/collection/components/forms/bds-slider/bds-slider.js +847 -0
- package/dist/collection/components/forms/bds-slider/helpers/SliderDOMController.js +61 -0
- package/dist/collection/components/forms/bds-slider/helpers/SliderService.js +93 -0
- package/dist/collection/components/forms/bds-slider/helpers/index.js +3 -0
- package/dist/collection/components/forms/bds-slider/helpers/parseValues.js +43 -0
- package/dist/collection/components/forms/bds-slider/types/ISlider.js +1 -0
- package/dist/collection/components/forms/bds-slider/types/ISliderOptions.js +1 -0
- package/dist/collection/components/forms/bds-slider/types/enum.js +16 -0
- package/dist/collection/components/forms/bds-slider/types/index.js +5 -0
- package/dist/collection/components/forms/bds-slider/types/types.js +1 -0
- package/dist/collection/components/forms/bds-text-field/bds-text-field.css +10 -3
- package/dist/collection/components/forms/bds-text-field/bds-text-field.js +47 -2
- package/dist/collection/components/helpers/bds-divider/bds-divider.js +1 -1
- package/dist/collection/components/images-icons/bds-avatar/bds-avatar.js +1 -1
- package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/bds-grid.js +3 -3
- package/dist/collection/components/layouts/bds-grid/bds-grid/types/IGrid.js +1 -0
- package/dist/collection/components/layouts/bds-grid/bds-grid/types/types.js +1 -0
- package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/bds-grid-item.js +9 -9
- package/dist/collection/components/layouts/bds-grid/bds-grid-item/types/IGridItem.js +1 -0
- package/dist/collection/components/layouts/bds-grid/bds-grid-item/types/types.js +1 -0
- package/dist/collection/components/navigation/bds-breadcrumb/bds-breadcrumb.css +21 -0
- package/dist/collection/components/navigation/bds-breadcrumb/bds-breadcrumb.js +292 -0
- package/dist/collection/components/navigation/bds-breadcrumb/types/IBreadcrumb.js +1 -0
- package/dist/collection/components/navigation/bds-breadcrumb-item/bds-breadcrumb-item.css +64 -0
- package/dist/collection/components/navigation/bds-breadcrumb-item/bds-breadcrumb-item.js +369 -0
- package/dist/collection/components/navigation/bds-breadcrumb-item/types/IBreadcrumbItem.js +1 -0
- package/dist/collection/components/overlays/bds-dialog/bds-dialog.css +1 -1
- package/dist/collection/components/overlays/bds-dialog/bds-dialog.js +2 -2
- package/dist/collection/components/overlays/bds-popover/bds-popover.js +49 -3
- package/dist/collection/components/overlays/bds-tooltip/bds-tooltip.js +1 -1
- package/dist/collection/components/titles-text/bds-typography/bds-typography.js +30 -47
- package/dist/collection/components/titles-text/bds-typography/utils/bds-typography-utils.js +1 -1
- package/dist/collection/css/boreal.css +60 -0
- package/dist/collection/css/theme-connect.css +15 -0
- package/dist/collection/css/theme-engage.css +15 -0
- package/dist/collection/css/theme-protect.css +15 -0
- package/dist/collection/css/theme-proximus.css +15 -0
- package/dist/collection/mixins/menu-behavior.mixin.js +1 -1
- package/dist/collection/scss/maps/_theme-connect.scss +16 -1
- package/dist/collection/scss/maps/_theme-engage.scss +16 -1
- package/dist/collection/scss/maps/_theme-protect.scss +16 -1
- package/dist/collection/scss/maps/_theme-proximus.scss +16 -1
- package/dist/collection/scss/variables/_theme-connect.scss +16 -1
- package/dist/collection/scss/variables/_theme-engage.scss +16 -1
- package/dist/collection/scss/variables/_theme-protect.scss +16 -1
- package/dist/collection/scss/variables/_theme-proximus.scss +16 -1
- package/dist/collection/types/index.js +0 -1
- package/dist/collection/utils/a11y/index.js +4 -0
- package/dist/collection/utils/a11y/keyboard/KeyboardController.js +566 -0
- package/dist/collection/utils/a11y/keyboard/_constants.js +30 -0
- package/dist/collection/utils/a11y/keyboard/focus/aria-activedescendant.js +41 -0
- package/dist/collection/utils/a11y/keyboard/focus/resolve.js +48 -0
- package/dist/collection/utils/a11y/keyboard/focus/roving-tabindex.js +55 -0
- package/dist/collection/utils/a11y/keyboard/navigation/grid-navigation.js +194 -0
- package/dist/collection/utils/a11y/keyboard/navigation/linear-navigation.js +137 -0
- package/dist/collection/utils/a11y/keyboard/types/IKeyboardController.js +1 -0
- package/dist/collection/utils/a11y/keyboard/types/index.js +2 -0
- package/dist/collection/utils/a11y/keyboard/types/types.js +1 -0
- package/dist/collection/utils/constants/common/Keys.js +25 -6
- package/dist/collection/utils/dom/elements.js +63 -0
- package/dist/css/boreal.css +60 -0
- package/dist/css/theme-connect.css +15 -0
- package/dist/css/theme-engage.css +15 -0
- package/dist/css/theme-protect.css +15 -0
- package/dist/css/theme-proximus.css +15 -0
- package/dist/esm/KeyboardController-DcnXb5F5.js +1064 -0
- package/dist/esm/Keys-7G4h4DI7.js +31 -0
- package/dist/esm/bds-avatar.entry.js +1 -1
- package/dist/esm/bds-breadcrumb-item.entry.js +104 -0
- package/dist/esm/bds-breadcrumb.entry.js +125 -0
- package/dist/esm/bds-button-group.entry.js +23 -2
- package/dist/esm/bds-button.entry.js +33 -6
- package/dist/esm/bds-checkbox-button.entry.js +117 -0
- package/dist/esm/bds-checkbox-card.entry.js +37 -23
- package/dist/esm/bds-checkbox-group.entry.js +290 -0
- package/dist/esm/bds-checkbox.entry.js +62 -31
- package/dist/esm/bds-dialog.entry.js +3 -3
- package/dist/esm/bds-divider.entry.js +1 -1
- package/dist/esm/bds-flag.entry.js +1 -1
- package/dist/esm/bds-grid-item.entry.js +1 -1
- package/dist/esm/bds-grid.entry.js +1 -1
- package/dist/esm/bds-list-menu-item.entry.js +19 -8
- package/dist/esm/bds-list-menu.entry.js +38 -3
- package/dist/esm/bds-popover.entry.js +13 -5
- package/dist/esm/bds-radio-button.entry.js +2 -2
- package/dist/esm/bds-radio-card.entry.js +2 -2
- package/dist/esm/bds-radio-group.entry.js +14 -8
- package/dist/esm/bds-radio.entry.js +2 -2
- package/dist/esm/bds-select.entry.js +392 -0
- package/dist/esm/bds-slider.entry.js +653 -0
- package/dist/esm/bds-tag.entry.js +1 -1
- package/dist/esm/bds-text-field.entry.js +8 -3
- package/dist/esm/bds-toggle.entry.js +1 -1
- package/dist/esm/bds-tooltip_2.entry.js +7 -5
- package/dist/esm/boreal-web-components.js +1 -1
- package/dist/esm/checkbox-form-association-cgdh1LO-.js +41 -0
- package/dist/esm/{getOffset-BYS3c13B.js → getOffset-DCLpJBcp.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm-es5/KeyboardController-DcnXb5F5.js +1 -0
- package/dist/esm-es5/Keys-7G4h4DI7.js +1 -0
- package/dist/esm-es5/bds-avatar.entry.js +1 -1
- package/dist/esm-es5/bds-breadcrumb-item.entry.js +1 -0
- package/dist/esm-es5/bds-breadcrumb.entry.js +1 -0
- package/dist/esm-es5/bds-button-group.entry.js +1 -1
- package/dist/esm-es5/bds-button.entry.js +1 -1
- package/dist/esm-es5/bds-checkbox-button.entry.js +1 -0
- package/dist/esm-es5/bds-checkbox-card.entry.js +1 -1
- package/dist/esm-es5/bds-checkbox-group.entry.js +1 -0
- package/dist/esm-es5/bds-checkbox.entry.js +1 -1
- package/dist/esm-es5/bds-dialog.entry.js +1 -1
- package/dist/esm-es5/bds-divider.entry.js +1 -1
- package/dist/esm-es5/bds-flag.entry.js +1 -1
- package/dist/esm-es5/bds-grid-item.entry.js +1 -1
- package/dist/esm-es5/bds-grid.entry.js +1 -1
- package/dist/esm-es5/bds-list-menu-item.entry.js +1 -1
- package/dist/esm-es5/bds-list-menu.entry.js +1 -1
- package/dist/esm-es5/bds-popover.entry.js +1 -1
- package/dist/esm-es5/bds-radio-button.entry.js +1 -1
- package/dist/esm-es5/bds-radio-card.entry.js +1 -1
- package/dist/esm-es5/bds-radio-group.entry.js +1 -1
- package/dist/esm-es5/bds-radio.entry.js +1 -1
- package/dist/esm-es5/bds-select.entry.js +1 -0
- package/dist/esm-es5/bds-slider.entry.js +1 -0
- package/dist/esm-es5/bds-tag.entry.js +1 -1
- package/dist/esm-es5/bds-text-field.entry.js +1 -1
- package/dist/esm-es5/bds-toggle.entry.js +1 -1
- package/dist/esm-es5/bds-tooltip_2.entry.js +1 -1
- package/dist/esm-es5/boreal-web-components.js +1 -1
- package/dist/esm-es5/checkbox-form-association-cgdh1LO-.js +1 -0
- package/dist/esm-es5/{getOffset-BYS3c13B.js → getOffset-DCLpJBcp.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/scss/maps/_theme-connect.scss +16 -1
- package/dist/scss/maps/_theme-engage.scss +16 -1
- package/dist/scss/maps/_theme-protect.scss +16 -1
- package/dist/scss/maps/_theme-proximus.scss +16 -1
- package/dist/scss/variables/_theme-connect.scss +16 -1
- package/dist/scss/variables/_theme-engage.scss +16 -1
- package/dist/scss/variables/_theme-protect.scss +16 -1
- package/dist/scss/variables/_theme-proximus.scss +16 -1
- package/dist/types/components/actions/bds-button/bds-button.d.ts +4 -0
- package/dist/types/components/actions/bds-button-group/bds-button-group.d.ts +4 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.d.ts +13 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/IListMenu.d.ts +3 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.d.ts +4 -1
- package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/types/IListMenuItem.d.ts +1 -0
- package/dist/types/components/actions/bds-toggle/types/IToggle.d.ts +1 -1
- package/dist/types/components/forms/bds-checkbox/{bds-checkbox.d.ts → bds-checkbox/bds-checkbox.d.ts} +23 -10
- package/dist/types/components/forms/bds-checkbox/bds-checkbox-button/bds-checkbox-button.d.ts +68 -0
- package/dist/types/components/forms/bds-checkbox/bds-checkbox-button/types/ICheckboxButton.d.ts +15 -0
- package/dist/types/components/forms/{bds-checkbox-card → bds-checkbox/bds-checkbox-card}/bds-checkbox-card.d.ts +15 -22
- package/dist/types/components/forms/bds-checkbox/bds-checkbox-card/types/ICheckboxCard.d.ts +9 -0
- package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/bds-checkbox-group.d.ts +86 -0
- package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/ICheckboxGroup.d.ts +27 -0
- package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/enum.d.ts +6 -0
- package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/index.d.ts +4 -0
- package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/types.d.ts +4 -0
- package/dist/types/components/forms/bds-checkbox/types/ICheckbox.d.ts +7 -22
- package/dist/types/components/forms/bds-checkbox/utils/checkbox-form-association.d.ts +10 -0
- package/dist/types/components/forms/bds-checkbox/utils/index.d.ts +2 -0
- package/dist/types/components/forms/bds-radio/{bds-radio.d.ts → bds-radio/bds-radio.d.ts} +1 -1
- package/dist/types/components/forms/{bds-radio-button → bds-radio/bds-radio-button}/bds-radio-button.d.ts +1 -1
- package/dist/types/components/forms/{bds-radio-button → bds-radio/bds-radio-button}/types/IRadioButton.d.ts +1 -0
- package/dist/types/components/forms/{bds-radio-card → bds-radio/bds-radio-card}/bds-radio-card.d.ts +1 -1
- package/dist/types/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/bds-radio-group.d.ts +13 -10
- package/dist/types/components/forms/bds-radio/bds-radio-group/types/IRadioGroup.d.ts +20 -0
- package/dist/types/components/forms/bds-select/bds-select.d.ts +98 -0
- package/dist/types/components/forms/bds-select/types/ISelect.d.ts +6 -0
- package/dist/types/components/forms/bds-slider/bds-slider.d.ts +176 -0
- package/dist/types/components/forms/bds-slider/helpers/SliderDOMController.d.ts +38 -0
- package/dist/types/components/forms/bds-slider/helpers/SliderService.d.ts +44 -0
- package/dist/types/components/forms/bds-slider/helpers/index.d.ts +4 -0
- package/dist/types/components/forms/bds-slider/helpers/parseValues.d.ts +18 -0
- package/dist/types/components/forms/bds-slider/types/ChangeDetail.d.ts +9 -0
- package/dist/types/components/forms/bds-slider/types/ISlider.d.ts +17 -0
- package/dist/types/components/forms/bds-slider/types/ISliderOptions.d.ts +31 -0
- package/dist/types/components/forms/bds-slider/types/enum.d.ts +17 -0
- package/dist/types/components/forms/bds-slider/types/index.d.ts +6 -0
- package/dist/types/components/forms/bds-slider/types/types.d.ts +5 -0
- package/dist/types/components/forms/bds-text-field/bds-text-field.d.ts +4 -0
- package/dist/types/components/navigation/bds-breadcrumb/bds-breadcrumb.d.ts +57 -0
- package/dist/types/components/navigation/bds-breadcrumb/types/IBreadcrumb.d.ts +17 -0
- package/dist/types/components/navigation/bds-breadcrumb-item/bds-breadcrumb-item.d.ts +83 -0
- package/dist/types/components/navigation/bds-breadcrumb-item/types/IBreadcrumbItem.d.ts +20 -0
- package/dist/types/components/overlays/bds-popover/bds-popover.d.ts +4 -0
- package/dist/types/components/titles-text/bds-typography/bds-typography.d.ts +2 -46
- package/dist/types/components/titles-text/bds-typography/types/ITypography.d.ts +1 -0
- package/dist/types/components.d.ts +1136 -277
- package/dist/types/types/form.d.ts +24 -0
- package/dist/types/types/index.d.ts +0 -1
- package/dist/types/utils/a11y/index.d.ts +4 -0
- package/dist/types/utils/a11y/keyboard/KeyboardController.d.ts +321 -0
- package/dist/types/utils/a11y/keyboard/_constants.d.ts +28 -0
- package/dist/types/utils/a11y/keyboard/focus/aria-activedescendant.d.ts +17 -0
- package/dist/types/utils/a11y/keyboard/focus/resolve.d.ts +23 -0
- package/dist/types/utils/a11y/keyboard/focus/roving-tabindex.d.ts +20 -0
- package/dist/types/utils/a11y/keyboard/navigation/grid-navigation.d.ts +9 -0
- package/dist/types/utils/a11y/keyboard/navigation/linear-navigation.d.ts +13 -0
- package/dist/types/utils/a11y/keyboard/types/IKeyboardController.d.ts +125 -0
- package/dist/types/utils/a11y/keyboard/types/index.d.ts +3 -0
- package/dist/types/utils/a11y/keyboard/types/types.d.ts +6 -0
- package/dist/types/utils/constants/common/Keys.d.ts +23 -6
- package/dist/types/utils/dom/elements.d.ts +41 -0
- package/package.json +1 -1
- package/components-build/p-Cbibqaz0.js +0 -1
- package/components-build/p-ClR-wgiT.js +0 -1
- package/components-build/p-N_tqtRV2.js +0 -1
- package/components-build/p-bAMuJ4Jx.js +0 -1
- package/components-build/p-c2z3tneT.js +0 -1
- package/components-build/p-dz9-Q2N8.js +0 -1
- package/components-build/p-iq2UuV7c.js +0 -1
- package/dist/boreal-web-components/p-06DrzEMB.system.js +0 -1
- package/dist/boreal-web-components/p-11e4c0ec.system.entry.js +0 -1
- package/dist/boreal-web-components/p-148d510f.entry.js +0 -1
- package/dist/boreal-web-components/p-277f142e.system.entry.js +0 -1
- package/dist/boreal-web-components/p-2be4aa3a.system.entry.js +0 -1
- package/dist/boreal-web-components/p-340896b2.entry.js +0 -1
- package/dist/boreal-web-components/p-3d4ce8eb.system.entry.js +0 -1
- package/dist/boreal-web-components/p-44a8fde5.entry.js +0 -1
- package/dist/boreal-web-components/p-5681b294.system.entry.js +0 -1
- package/dist/boreal-web-components/p-5ed75075.entry.js +0 -1
- package/dist/boreal-web-components/p-635f676b.system.entry.js +0 -1
- package/dist/boreal-web-components/p-68b83680.system.entry.js +0 -1
- package/dist/boreal-web-components/p-6a60d134.system.entry.js +0 -1
- package/dist/boreal-web-components/p-7e672cce.entry.js +0 -1
- package/dist/boreal-web-components/p-81401e2a.system.entry.js +0 -1
- package/dist/boreal-web-components/p-8289e506.entry.js +0 -1
- package/dist/boreal-web-components/p-82d15372.entry.js +0 -1
- package/dist/boreal-web-components/p-851c06f2.entry.js +0 -1
- package/dist/boreal-web-components/p-8a3716ec.entry.js +0 -1
- package/dist/boreal-web-components/p-8f4f8af0.system.entry.js +0 -1
- package/dist/boreal-web-components/p-DlYG-OVB.js +0 -1
- package/dist/boreal-web-components/p-DpnBDSUm.system.js +0 -1
- package/dist/boreal-web-components/p-a73659ac.system.entry.js +0 -1
- package/dist/boreal-web-components/p-b2ad9535.system.entry.js +0 -1
- package/dist/boreal-web-components/p-d4c30d2b.entry.js +0 -1
- package/dist/boreal-web-components/p-db0c10b9.system.entry.js +0 -1
- package/dist/boreal-web-components/p-dca16a3d.entry.js +0 -1
- package/dist/boreal-web-components/p-de846c43.system.entry.js +0 -1
- package/dist/boreal-web-components/p-df087e23.system.entry.js +0 -1
- package/dist/boreal-web-components/p-dfb4854e.entry.js +0 -1
- package/dist/boreal-web-components/p-dz9-Q2N8.js +0 -1
- package/dist/boreal-web-components/p-e09b4d14.system.entry.js +0 -1
- package/dist/boreal-web-components/p-e7af1e1a.entry.js +0 -1
- package/dist/boreal-web-components/p-f792aa74.entry.js +0 -1
- package/dist/cjs/Keys-rKl2za5q.js +0 -18
- package/dist/cjs/menu-BxKaEajh.js +0 -8
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox.css +0 -91
- package/dist/esm/Keys-DlYG-OVB.js +0 -16
- package/dist/esm/menu-dz9-Q2N8.js +0 -6
- package/dist/esm-es5/Keys-DlYG-OVB.js +0 -1
- package/dist/esm-es5/menu-dz9-Q2N8.js +0 -1
- package/dist/types/components/forms/bds-checkbox-card/types/ICheckboxCard.d.ts +0 -8
- package/dist/types/components/forms/bds-radio-group/types/IRadioGroup.d.ts +0 -19
- package/dist/types/types/IFormProps.d.ts +0 -25
- /package/dist/collection/components/forms/{bds-checkbox-card/types/ICheckboxCard.js → bds-checkbox/bds-checkbox-button/types/ICheckboxButton.js} +0 -0
- /package/dist/collection/components/forms/{bds-radio-button/types/IRadioButton.js → bds-checkbox/bds-checkbox-card/types/ICheckboxCard.js} +0 -0
- /package/dist/collection/components/forms/{bds-radio-card/types/IRadioCard.js → bds-checkbox/bds-checkbox-group/types/ICheckboxGroup.js} +0 -0
- /package/dist/collection/components/forms/{bds-radio-group → bds-checkbox/bds-checkbox-group}/types/types.js +0 -0
- /package/dist/collection/components/{layouts/bds-grid/grid/types/IGrid.js → forms/bds-radio/bds-radio/types/IRadio.js} +0 -0
- /package/dist/collection/components/forms/{bds-radio-group/types/IRadioGroup.js → bds-radio/bds-radio-button/types/IRadioButton.js} +0 -0
- /package/dist/collection/components/forms/bds-radio/{types/IRadio.js → bds-radio-card/types/IRadioCard.js} +0 -0
- /package/dist/collection/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/bds-radio-group.css +0 -0
- /package/dist/collection/components/{layouts/bds-grid/grid-item/types/IGridItem.js → forms/bds-radio/bds-radio-group/types/IRadioGroup.js} +0 -0
- /package/dist/collection/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/types/enum.js +0 -0
- /package/dist/collection/components/{layouts/bds-grid/grid-item → forms/bds-radio/bds-radio-group}/types/types.js +0 -0
- /package/dist/collection/components/{layouts/bds-grid/grid/types/types.js → forms/bds-select/types/ISelect.js} +0 -0
- /package/dist/collection/{types/IFormProps.js → components/forms/bds-slider/types/ChangeDetail.js} +0 -0
- /package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/bds-grid.css +0 -0
- /package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/types/enum.js +0 -0
- /package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/types/index.js +0 -0
- /package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/bds-grid-item.css +0 -0
- /package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/enum.js +0 -0
- /package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/index.js +0 -0
- /package/dist/types/components/forms/bds-radio/{types → bds-radio/types}/IRadio.d.ts +0 -0
- /package/dist/types/components/forms/{bds-radio-card → bds-radio/bds-radio-card}/types/IRadioCard.d.ts +0 -0
- /package/dist/types/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/types/enum.d.ts +0 -0
- /package/dist/types/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/types/types.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/bds-grid.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/IGrid.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/enum.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/index.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/types.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/bds-grid-item.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/IGridItem.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/enum.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/index.d.ts +0 -0
- /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/types.d.ts +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { M as Mixin, r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
|
|
2
2
|
import { f as formAssociatedMixin } from './form-associated.mixin-C4HM8wQe.js';
|
|
3
|
-
import {
|
|
3
|
+
import { u as useFormCheckbox } from './checkbox-form-association-cgdh1LO-.js';
|
|
4
4
|
|
|
5
|
-
const bdsCheckboxCardCss = () => `@charset "UTF-8";.bds-checkbox-card{position:relative;cursor:pointer;font-family:var(--boreal-typography-font-family-primary);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:start;align-items:flex-start;gap:var(--boreal-spacing-xs);padding:var(--boreal-spacing-xs) var(--boreal-spacing-s) var(--boreal-spacing-s);border-radius:var(--boreal-radius-xs);border:var(--boreal-spacing-4xs) solid var(--boreal-stroke-default-light);background-color:var(--boreal-ui-inverse);-webkit-transition:background-color 0.3s ease, border-color 0.3s ease, -webkit-box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, -webkit-box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease}.bds-checkbox-card:hover{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:
|
|
5
|
+
const bdsCheckboxCardCss = () => `@charset "UTF-8";.bds-checkbox-card{position:relative;cursor:pointer;font-family:var(--boreal-typography-font-family-primary);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:start;align-items:flex-start;gap:var(--boreal-spacing-xs);padding:var(--boreal-spacing-xs) var(--boreal-spacing-s) var(--boreal-spacing-s);border-radius:var(--boreal-radius-xs);border:var(--boreal-spacing-4xs) solid var(--boreal-stroke-default-light);background-color:var(--boreal-ui-inverse);-webkit-transition:background-color 0.3s ease, border-color 0.3s ease, -webkit-box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, -webkit-box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease}.bds-checkbox-card:hover{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-checkbox-card:focus-within,.bds-checkbox-card:focus{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-checkbox-card:focus-visible{outline:none}.bds-checkbox-card:active bds-checkbox:not(.bds-checkbox--checked) .bds-checkbox__box,.bds-checkbox-card:hover bds-checkbox:not(.bds-checkbox--checked) .bds-checkbox__box,.bds-checkbox-card:focus-within bds-checkbox:not(.bds-checkbox--checked) .bds-checkbox__box,.bds-checkbox-card:focus bds-checkbox:not(.bds-checkbox--checked) .bds-checkbox__box,.bds-checkbox-card:focus-visible bds-checkbox:not(.bds-checkbox--checked) .bds-checkbox__box{background:var(--boreal-ui-inverse)}.bds-checkbox-card__icon{display:-ms-flexbox;display:flex;margin-top:var(--boreal-spacing-3xs);height:var(--boreal-layout-m);-ms-flex-align:center;align-items:center;margin-bottom:var(--boreal-spacing-2xs)}.bds-checkbox-card .bds-checkbox-card__checkbox{pointer-events:none;-ms-flex-negative:0;flex-shrink:0;margin-top:var(--boreal-spacing-2xs);gap:0}.bds-checkbox-card .bds-checkbox-card__checkbox .bds-checkbox__label{display:none}.bds-checkbox-card__content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.bds-checkbox-card__header{display:-ms-inline-flexbox;display:inline-flex;gap:var(--boreal-spacing-3xs);color:var(--boreal-text-default);line-height:var(--boreal-typography-line-height-md)}.bds-checkbox-card__title{font-weight:var(--boreal-typography-font-weight-semibold);font-size:var(--boreal-typography-font-size-md)}.bds-checkbox-card__description{color:var(--boreal-text-default-light);font-size:var(--boreal-typography-font-size-xs);line-height:var(--boreal-typography-line-height-xs)}.bds-checkbox-card__icon:empty{display:none}.bds-checkbox-card--checked{border-color:var(--boreal-stroke-primary-base)}.bds-checkbox-card--checked:hover,.bds-checkbox-card--checked:focus,.bds-checkbox-card--checked:focus-within,.bds-checkbox-card--checked:active{background-color:var(--boreal-ui-primary-lighter)}.bds-checkbox-card--checked .bds-checkbox-card__header,.bds-checkbox-card--checked .bds-checkbox-card__description{color:var(--boreal-text-primary-base)}.bds-checkbox-card--checked:disabled .bds-checkbox__box{border-color:var(--boreal-stroke-primary-light);background:var(--boreal-ui-primary-light)}.bds-checkbox-card--indeterminate{border-color:var(--boreal-stroke-default-light)}.bds-checkbox-card--indeterminate .bds-checkbox-card__header{color:var(--boreal-text-default)}.bds-checkbox-card--indeterminate .bds-checkbox-card__description{color:var(--boreal-text-default-light)}.bds-checkbox-card--disabled{pointer-events:none}.bds-checkbox-card--disabled .bds-checkbox-card__header,.bds-checkbox-card--disabled .bds-checkbox-card__description{color:var(--boreal-text-disabled)}.bds-checkbox-card--disabled.bds-checkbox-card--checked:not(.bds-checkbox-card--error){border-color:var(--boreal-stroke-primary-light)}.bds-checkbox-card--disabled.bds-checkbox-card--checked:not(.bds-checkbox-card--error) .bds-checkbox-card__header,.bds-checkbox-card--disabled.bds-checkbox-card--checked:not(.bds-checkbox-card--error) .bds-checkbox-card__description{color:var(--boreal-text-primary-light)}.bds-checkbox-card--disabled.bds-checkbox-card--error{border-color:var(--boreal-stroke-danger-light)}.bds-checkbox-card--disabled.bds-checkbox-card--error .bds-checkbox-card__header,.bds-checkbox-card--disabled.bds-checkbox-card--error .bds-checkbox-card__description{color:var(--boreal-text-danger-light)}.bds-checkbox-card--disabled .bds-checkbox__box{border-color:var(--boreal-stroke-default-light);background:var(--boreal-ui-disabled)}.bds-checkbox-card--error{border-color:var(--boreal-stroke-danger-base)}.bds-checkbox-card--error:hover,.bds-checkbox-card--error:focus,.bds-checkbox-card--error:focus-within,.bds-checkbox-card--error:active{background-color:var(--boreal-ui-danger-lighter)}.bds-checkbox-card--error .bds-checkbox-card__header,.bds-checkbox-card--error .bds-checkbox-card__description{color:var(--boreal-text-danger-base)}`;
|
|
6
6
|
|
|
7
7
|
const BdsCheckboxCard = class extends Mixin(formAssociatedMixin) {
|
|
8
8
|
constructor(hostRef) {
|
|
@@ -18,8 +18,8 @@ const BdsCheckboxCard = class extends Mixin(formAssociatedMixin) {
|
|
|
18
18
|
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
19
19
|
}
|
|
20
20
|
this.isDisabled = false;
|
|
21
|
+
this.isInvalid = false;
|
|
21
22
|
this.isIndeterminate = false;
|
|
22
|
-
this.isChecked = false;
|
|
23
23
|
/** Disables the control. */
|
|
24
24
|
this.disabled = false;
|
|
25
25
|
/** Marks the control as required for form submission. */
|
|
@@ -37,6 +37,7 @@ const BdsCheckboxCard = class extends Mixin(formAssociatedMixin) {
|
|
|
37
37
|
this.indeterminate = false;
|
|
38
38
|
/** Whether the checkbox card is in an error state. */
|
|
39
39
|
this.error = false;
|
|
40
|
+
this.formCheckbox = useFormCheckbox(this, this.value);
|
|
40
41
|
this.handleClick = () => this.toggle();
|
|
41
42
|
this.handleKeyDown = (e) => {
|
|
42
43
|
if (e.key === ' ') {
|
|
@@ -48,7 +49,9 @@ const BdsCheckboxCard = class extends Mixin(formAssociatedMixin) {
|
|
|
48
49
|
componentWillLoad() {
|
|
49
50
|
this.isDisabled = this.disabled;
|
|
50
51
|
this.isIndeterminate = this.indeterminate;
|
|
51
|
-
|
|
52
|
+
}
|
|
53
|
+
componentDidLoad() {
|
|
54
|
+
this.formCheckbox.syncFormValue();
|
|
52
55
|
}
|
|
53
56
|
onDisabledChange(next) {
|
|
54
57
|
this.isDisabled = next;
|
|
@@ -57,48 +60,59 @@ const BdsCheckboxCard = class extends Mixin(formAssociatedMixin) {
|
|
|
57
60
|
this.isIndeterminate = next;
|
|
58
61
|
}
|
|
59
62
|
onCheckedChange(next) {
|
|
60
|
-
this.
|
|
63
|
+
this.checked = next !== false;
|
|
64
|
+
this.formCheckbox.syncFormValue();
|
|
65
|
+
}
|
|
66
|
+
/** Reports the group's validity state to the user, showing native validation UI if invalid. */
|
|
67
|
+
async checkValidity() {
|
|
68
|
+
return this.internals.checkValidity();
|
|
69
|
+
}
|
|
70
|
+
/** Reports the group's validity state to the user, showing native validation UI if invalid. */
|
|
71
|
+
async reportValidity() {
|
|
72
|
+
return this.internals.reportValidity();
|
|
73
|
+
}
|
|
74
|
+
handleInvalid(_event) {
|
|
75
|
+
this.isInvalid = true;
|
|
61
76
|
}
|
|
62
77
|
toggle() {
|
|
63
78
|
if (this.isDisabled)
|
|
64
79
|
return;
|
|
65
|
-
this.isIndeterminate
|
|
66
|
-
|
|
67
|
-
this.
|
|
68
|
-
this.
|
|
80
|
+
if (this.isIndeterminate)
|
|
81
|
+
this.isIndeterminate = false;
|
|
82
|
+
this.checked = !this.checked;
|
|
83
|
+
this.bdsChange.emit({ checked: this.checked, value: this.value });
|
|
84
|
+
this.valueChange.emit(this.checked);
|
|
69
85
|
}
|
|
70
86
|
get hostClasses() {
|
|
71
87
|
return {
|
|
72
88
|
'bds-checkbox-card': true,
|
|
73
|
-
'bds-checkbox-card--checked': this.
|
|
89
|
+
'bds-checkbox-card--checked': this.checked,
|
|
74
90
|
'bds-checkbox-card--indeterminate': this.isIndeterminate,
|
|
75
91
|
'bds-checkbox-card--disabled': this.isDisabled,
|
|
76
|
-
'bds-checkbox-card--error': this.
|
|
92
|
+
'bds-checkbox-card--error': this.isError,
|
|
77
93
|
};
|
|
78
94
|
}
|
|
79
95
|
// ---------------------------------------------------------------------------
|
|
80
96
|
// Form-associated callbacks (IFormControl)
|
|
81
97
|
// ---------------------------------------------------------------------------
|
|
82
|
-
syncFormValue() {
|
|
83
|
-
setFormValue(this.internals, this.isChecked ? this.value : null);
|
|
84
|
-
}
|
|
85
98
|
formAssociatedCallback() {
|
|
86
|
-
this.
|
|
99
|
+
this.formCheckbox.formAssociatedCallback();
|
|
87
100
|
}
|
|
88
101
|
formResetCallback() {
|
|
89
|
-
this.
|
|
90
|
-
this.isIndeterminate = false;
|
|
91
|
-
setFormValue(this.internals, null);
|
|
102
|
+
this.formCheckbox.formResetCallback();
|
|
92
103
|
}
|
|
93
|
-
formStateRestoreCallback(state
|
|
94
|
-
this.
|
|
95
|
-
this.syncFormValue();
|
|
104
|
+
formStateRestoreCallback(state) {
|
|
105
|
+
this.formCheckbox.formStateRestoreCallback(state);
|
|
96
106
|
}
|
|
97
107
|
formDisabledCallback(disabled) {
|
|
98
|
-
this.
|
|
108
|
+
this.formCheckbox.formDisabledCallback(disabled);
|
|
109
|
+
}
|
|
110
|
+
get isError() {
|
|
111
|
+
const error = this.error && !this.disabled;
|
|
112
|
+
return error || this.isInvalid;
|
|
99
113
|
}
|
|
100
114
|
render() {
|
|
101
|
-
return (h(Host, { key: '
|
|
115
|
+
return (h(Host, { key: 'cb39b373d8bbbbe137a74a001f91c73b444d0c8e', class: this.hostClasses, role: "checkbox", "aria-checked": this.isIndeterminate ? 'mixed' : `${this.checked}`, "aria-disabled": this.isDisabled ? 'true' : null, "aria-required": this.required ? 'true' : null, "aria-invalid": this.isError ? 'true' : null, "aria-label": this.label || this.name || undefined, tabIndex: this.isDisabled ? -1 : 0, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("bds-checkbox", { key: '3375dc0b18a424f5f140143626b2bcdc73c298b0', name: this.name, class: "bds-checkbox-card__checkbox", ref: () => this.checkboxElement, value: this.value, checked: this.checked, indeterminate: this.isIndeterminate, disabled: this.isDisabled, error: this.isError, tabIndex: -1, "aria-hidden": "true", onBdsChange: e => e.preventDefault() }), h("div", { key: 'beba4396fb8c0830ffdb05b62482f0ff63aab0d7', class: "bds-checkbox-card__card" }, h("div", { key: 'f369995cc0dbeecfd7670d271ff041240a6dcb65', class: "bds-checkbox-card__content" }, h("div", { key: '12848e5aef69157ca5d144a2815e7b64a654cbe6', class: "bds-checkbox-card__header" }, h("div", { key: '18c72637c1dfb0037b7d2e7fc8cb5004bdeafb0b', class: "bds-checkbox-card__icon" }, h("slot", { key: '7e2979ea18f5c29ecdf629851378aa9efb9e39f6', name: "icon" })), h("div", { key: '0aedaf532433d3deb899f6f6fd6826589850fd71', class: "bds-checkbox-card__title" }, this.label || h("slot", { key: '43a0a9b10edc6f4ee73b5995912889728648d5d6' }))), h("div", { key: '8c89db4ab52395c75f8a1a826ace5aa0f0dbae10', class: "bds-checkbox-card__description" }, h("slot", { key: '174e70254d531fa80d8d19b419587837a4a676ea', name: "description" }))))));
|
|
102
116
|
}
|
|
103
117
|
static get formAssociated() { return true; }
|
|
104
118
|
get el() { return getElement(this); }
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
import { M as Mixin, r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
|
|
2
|
+
import { f as formAssociatedMixin } from './form-associated.mixin-C4HM8wQe.js';
|
|
3
|
+
import { K as KEYBOARD } from './Keys-7G4h4DI7.js';
|
|
4
|
+
import { O as ORIENTATIONS } from './orientation-CPvuMm5C.js';
|
|
5
|
+
import { c as createId } from './BaseAttributes-DhSchGPI.js';
|
|
6
|
+
import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
|
|
7
|
+
|
|
8
|
+
const CHECKBOX_GROUP_TYPES = {
|
|
9
|
+
CHECKBOX: 'checkbox',
|
|
10
|
+
CHECKBOX_BUTTON: 'checkboxbutton',
|
|
11
|
+
CHECKBOX_CARD: 'checkboxcard',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const bdsCheckboxGroupCss = () => `@charset "UTF-8";.bds-checkbox-group{--bds-divider-gap:var(--boreal-spacing-3xs);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--boreal-spacing-2xs)}.bds-checkbox-group__options{display:grid;grid-template-columns:1fr;gap:var(--boreal-spacing-xs)}.bds-checkbox-group[orientation=horizontal] .bds-checkbox-group__options{grid-template-columns:repeat(var(--layout-count, 1), auto);-ms-flex-pack:start;justify-content:start}.bds-checkbox-group[type=checkboxbutton] .bds-checkbox-group__options{display:-ms-inline-flexbox;display:inline-flex;gap:0;padding:var(--boreal-spacing-3xs);border:1px solid var(--boreal-stroke-default-light);background-color:var(--boreal-ui-inverse);border-radius:var(--boreal-radius-xs);overflow:hidden}.bds-checkbox-group[type=checkboxbutton][orientation=vertical] .bds-checkbox-group__options{-ms-flex-direction:column;flex-direction:column}.bds-checkbox-group[type=checkboxbutton].bds-checkbox-group--error .bds-checkbox-group__options{border-color:var(--boreal-stroke-danger-base)}.bds-checkbox-group[type=checkboxbutton].bds-checkbox-group--error bds-checkbox-button.bds-checkbox-button--error{color:var(--boreal-stroke-danger-base)}.bds-checkbox-group[type=checkboxbutton].bds-checkbox-group--error bds-divider[data-injected]{--bds-divider-color:var(--boreal-stroke-danger-base)}`;
|
|
15
|
+
|
|
16
|
+
const LEAF_TAG = ['BDS-CHECKBOX', 'BDS-CHECKBOX-BUTTON', 'BDS-CHECKBOX-CARD'];
|
|
17
|
+
const BdsCheckboxGroup = class extends Mixin(formAssociatedMixin) {
|
|
18
|
+
constructor(hostRef) {
|
|
19
|
+
super();
|
|
20
|
+
registerInstance(this, hostRef);
|
|
21
|
+
this.bdsChange = createEvent(this, "bdsChange");
|
|
22
|
+
this.valueChange = createEvent(this, "valueChange");
|
|
23
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
24
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
28
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
29
|
+
}
|
|
30
|
+
this._id = createId('bds-checkbox-group');
|
|
31
|
+
/** Internal mirror of the `disabled` prop, kept in sync via `@Watch` and `formDisabledCallback`. */
|
|
32
|
+
this.isDisabled = false;
|
|
33
|
+
/** Set to true when native form validation fires the `invalid` event; cleared on reset or when value becomes valid. */
|
|
34
|
+
this.isInvalid = false;
|
|
35
|
+
/** Disables all child checkboxes and prevents selection. Also mirrored to isDisabled @State for form-level disable support. */
|
|
36
|
+
this.disabled = false;
|
|
37
|
+
/** Shows error styling on the group helper text. Propagated to all child checkboxes. */
|
|
38
|
+
this.error = false;
|
|
39
|
+
/** Error message rendered below the checkbox options when error is true. Replaces helperText. */
|
|
40
|
+
this.errorMessage = '';
|
|
41
|
+
/** Helper text rendered below the checkbox options. Shown in default state; replaced by errorMessage in error state. */
|
|
42
|
+
this.helperText = '';
|
|
43
|
+
/** Tooltip text shown on the group label info icon. */
|
|
44
|
+
this.info = '';
|
|
45
|
+
/** Group label rendered above the checkbox options. */
|
|
46
|
+
this.label = '';
|
|
47
|
+
/** Layout direction of the checkbox options. */
|
|
48
|
+
this.orientation = 'horizontal';
|
|
49
|
+
/** Marks the group as required for form submission. Triggers validity error when no checkboxes are selected. */
|
|
50
|
+
this.required = false;
|
|
51
|
+
/** Identifies this group variant. 'checkbox' renders bds-checkbox children; 'checkboxbutton' renders bds-checkbox-button segmented control; 'checkboxcard' renders bds-checkbox-card element. */
|
|
52
|
+
this.type = 'checkbox';
|
|
53
|
+
/** Currently selected checkbox values. Synced to children on change. */
|
|
54
|
+
this.value = [];
|
|
55
|
+
/** Hides the divider between checkbox buttons when type is 'checkboxbutton'. */
|
|
56
|
+
this.joined = false;
|
|
57
|
+
this.handleKeyDown = (event) => {
|
|
58
|
+
const target = event.target;
|
|
59
|
+
if (!LEAF_TAG.includes(target.tagName))
|
|
60
|
+
return;
|
|
61
|
+
switch (event.key) {
|
|
62
|
+
case KEYBOARD.ArrowDown:
|
|
63
|
+
case KEYBOARD.ArrowRight:
|
|
64
|
+
this.navigateTo(target, true);
|
|
65
|
+
event.preventDefault();
|
|
66
|
+
break;
|
|
67
|
+
case KEYBOARD.ArrowUp:
|
|
68
|
+
case KEYBOARD.ArrowLeft:
|
|
69
|
+
this.navigateTo(target, false);
|
|
70
|
+
event.preventDefault();
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
onJoinedChange() {
|
|
76
|
+
this.insertDividers();
|
|
77
|
+
}
|
|
78
|
+
checkPropValues() {
|
|
79
|
+
validatePropValue(Object.values(ORIENTATIONS), ORIENTATIONS.VERTICAL, this.el, 'orientation');
|
|
80
|
+
validatePropValue(Object.values(CHECKBOX_GROUP_TYPES), CHECKBOX_GROUP_TYPES.CHECKBOX, this.el, 'type');
|
|
81
|
+
this.insertDividers();
|
|
82
|
+
}
|
|
83
|
+
onDisabledChange(next) {
|
|
84
|
+
this.isDisabled = next;
|
|
85
|
+
this.propagatePropertyToCheckboxes('disabled', next);
|
|
86
|
+
}
|
|
87
|
+
onErrorChange(val) {
|
|
88
|
+
this.propagatePropertyToCheckboxes('error', val);
|
|
89
|
+
}
|
|
90
|
+
onValuesChange(vals) {
|
|
91
|
+
this.syncCheckboxStates(vals);
|
|
92
|
+
}
|
|
93
|
+
componentWillLoad() {
|
|
94
|
+
this.checkPropValues();
|
|
95
|
+
this.isDisabled = this.disabled;
|
|
96
|
+
if (this.value.length !== 0)
|
|
97
|
+
return;
|
|
98
|
+
const selector = LEAF_TAG.map(tag => `${tag}[checked]`).join(',');
|
|
99
|
+
const el = this.el;
|
|
100
|
+
const checkedElements = Array.from(el.querySelectorAll(selector));
|
|
101
|
+
if (checkedElements.length > 0)
|
|
102
|
+
this.value = checkedElements.map((el) => el.getAttribute('value') ?? '').filter(v => v !== '');
|
|
103
|
+
}
|
|
104
|
+
componentDidLoad() {
|
|
105
|
+
this.onValuesChange(this.value);
|
|
106
|
+
this.onErrorChange(this.isError);
|
|
107
|
+
this.syncFormValue();
|
|
108
|
+
this.updateLayoutCount();
|
|
109
|
+
}
|
|
110
|
+
formAssociatedCallback() {
|
|
111
|
+
this.syncFormValue();
|
|
112
|
+
}
|
|
113
|
+
formResetCallback() {
|
|
114
|
+
this.value = [];
|
|
115
|
+
this.isInvalid = false;
|
|
116
|
+
this.checkboxElements.forEach((checkbox) => {
|
|
117
|
+
checkbox.checked = false;
|
|
118
|
+
checkbox.error = this.isError;
|
|
119
|
+
});
|
|
120
|
+
this.internals.setFormValue(null);
|
|
121
|
+
this.updateFormValidity();
|
|
122
|
+
}
|
|
123
|
+
formStateRestoreCallback(state, _mode) {
|
|
124
|
+
const vals = Array.isArray(state) ? state : [];
|
|
125
|
+
this.value = vals.filter(v => typeof v === 'string');
|
|
126
|
+
this.updateFormValue();
|
|
127
|
+
}
|
|
128
|
+
formDisabledCallback(disabled) {
|
|
129
|
+
this.isDisabled = disabled;
|
|
130
|
+
this.propagatePropertyToCheckboxes('disabled', disabled);
|
|
131
|
+
}
|
|
132
|
+
handleCheckboxChange(event) {
|
|
133
|
+
const target = event.target;
|
|
134
|
+
if (!LEAF_TAG.includes(target.tagName))
|
|
135
|
+
return;
|
|
136
|
+
event.stopPropagation();
|
|
137
|
+
const checkbox = target;
|
|
138
|
+
const value = checkbox.value;
|
|
139
|
+
this.updateCheckboxSelection(value, checkbox.checked);
|
|
140
|
+
this.syncFormValue();
|
|
141
|
+
this.bdsChange.emit({ value: this.value });
|
|
142
|
+
this.valueChange.emit(this.value);
|
|
143
|
+
}
|
|
144
|
+
handleInvalid(event) {
|
|
145
|
+
this.isInvalid = true;
|
|
146
|
+
if (this.errorMessage !== '')
|
|
147
|
+
event.preventDefault();
|
|
148
|
+
}
|
|
149
|
+
handleValueChange(event) {
|
|
150
|
+
const target = event.target;
|
|
151
|
+
if (!LEAF_TAG.includes(target.tagName))
|
|
152
|
+
return;
|
|
153
|
+
event.stopPropagation();
|
|
154
|
+
}
|
|
155
|
+
/** Returns whether the group's current value satisfies the browser's built-in constraint validation. */
|
|
156
|
+
async checkValidity() {
|
|
157
|
+
return this.internals.checkValidity();
|
|
158
|
+
}
|
|
159
|
+
/** Reports the group's validity state to the user, showing native validation UI if invalid. */
|
|
160
|
+
async reportValidity() {
|
|
161
|
+
return this.internals.reportValidity();
|
|
162
|
+
}
|
|
163
|
+
insertDividers() {
|
|
164
|
+
this.el.querySelectorAll('bds-divider[data-injected]').forEach(d => d.remove());
|
|
165
|
+
if (this.type !== CHECKBOX_GROUP_TYPES.CHECKBOX_BUTTON || this.joined)
|
|
166
|
+
return;
|
|
167
|
+
const dividerOrientation = this.orientation === ORIENTATIONS.HORIZONTAL ? ORIENTATIONS.VERTICAL : ORIENTATIONS.HORIZONTAL;
|
|
168
|
+
const buttons = this.checkboxElements.filter((el) => el.tagName === 'BDS-CHECKBOX-BUTTON');
|
|
169
|
+
buttons.forEach((btn, i) => {
|
|
170
|
+
if (i === 0)
|
|
171
|
+
return;
|
|
172
|
+
const divider = document.createElement('bds-divider');
|
|
173
|
+
divider.setAttribute('orientation', dividerOrientation);
|
|
174
|
+
divider.setAttribute('data-injected', '');
|
|
175
|
+
btn.parentNode?.insertBefore(divider, btn);
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
navigateTo(current, forward) {
|
|
179
|
+
const elements = this.checkboxElements.filter(el => !el.disabled);
|
|
180
|
+
if (elements.length === 0)
|
|
181
|
+
return;
|
|
182
|
+
const idx = elements.indexOf(current);
|
|
183
|
+
const newIndex = (elements.length + idx + (forward ? 1 : -1)) % elements.length;
|
|
184
|
+
const next = elements[newIndex];
|
|
185
|
+
next.focus();
|
|
186
|
+
}
|
|
187
|
+
updateCheckboxSelection(value, isChecked) {
|
|
188
|
+
if (!isChecked) {
|
|
189
|
+
this.value = this.value.filter(v => v !== value);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
if (!this.value.includes(value))
|
|
193
|
+
this.value = [...this.value, value];
|
|
194
|
+
}
|
|
195
|
+
syncCheckboxStates(vals) {
|
|
196
|
+
this.checkboxElements.forEach((el) => {
|
|
197
|
+
const isChecked = vals.includes(el.value);
|
|
198
|
+
el.checked = isChecked;
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
get checkboxElements() {
|
|
202
|
+
const selector = LEAF_TAG.map(tag => tag).join(',');
|
|
203
|
+
const el = this.el;
|
|
204
|
+
return Array.from(el.querySelectorAll(selector));
|
|
205
|
+
}
|
|
206
|
+
propagatePropertyToCheckboxes(property, value) {
|
|
207
|
+
this.checkboxElements.forEach(el => {
|
|
208
|
+
el[property] = value;
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
updateFormValue() {
|
|
212
|
+
if (this.value.length === 0)
|
|
213
|
+
this.internals.setFormValue(null);
|
|
214
|
+
else {
|
|
215
|
+
const formData = new FormData();
|
|
216
|
+
this.value.forEach(val => {
|
|
217
|
+
formData.append(this.name, val);
|
|
218
|
+
});
|
|
219
|
+
this.internals.setFormValue(formData);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
syncFormValue() {
|
|
223
|
+
this.updateFormValue();
|
|
224
|
+
this.updateFormValidity();
|
|
225
|
+
}
|
|
226
|
+
updateFormValidity() {
|
|
227
|
+
if (this.required && this.value.length === 0) {
|
|
228
|
+
const anchor = this.checkboxElements.find(el => !el.disabled);
|
|
229
|
+
this.internals.setValidity({ valueMissing: true }, this.errorMessage !== '' ? this.errorMessage : 'Please select at least one option.', anchor);
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
this.internals.setValidity({});
|
|
233
|
+
if (!this.isInvalid)
|
|
234
|
+
return;
|
|
235
|
+
this.isInvalid = false;
|
|
236
|
+
if (!this.error)
|
|
237
|
+
this.propagatePropertyToCheckboxes('error', false);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
updateLayoutCount() {
|
|
241
|
+
const count = this.checkboxElements.length;
|
|
242
|
+
const el = this.el;
|
|
243
|
+
el.style.setProperty('--layout-count', `${count}`);
|
|
244
|
+
}
|
|
245
|
+
get isError() {
|
|
246
|
+
return this.error && !this.isDisabled;
|
|
247
|
+
}
|
|
248
|
+
get classMap() {
|
|
249
|
+
const showError = this.isError || this.isInvalid;
|
|
250
|
+
return {
|
|
251
|
+
'bds-checkbox-group': true,
|
|
252
|
+
'bds-checkbox-group--disabled': this.isDisabled,
|
|
253
|
+
'bds-checkbox-group--error': showError,
|
|
254
|
+
'bds-checkbox-group--required': this.required,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
render() {
|
|
258
|
+
const labelId = `${this._id}-label`;
|
|
259
|
+
const helperId = `${this._id}-helper`;
|
|
260
|
+
const showError = this.isError || this.isInvalid;
|
|
261
|
+
const typographyState = this.isDisabled ? 'disabled' : showError ? 'error' : 'default';
|
|
262
|
+
const helperContent = showError && this.errorMessage !== '' ? this.errorMessage : this.helperText;
|
|
263
|
+
return (h(Host, { key: 'ae68b7136eae0493eb3191caa71bfd31c87bd5dd', class: this.classMap, role: "group", "aria-labelledby": this.label !== '' ? labelId : undefined, "aria-describedby": helperContent !== '' ? helperId : undefined, "aria-invalid": showError ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, onKeyDown: this.handleKeyDown }, this.label && (h("bds-typography", { key: '779561b620c5a18f7018fabaeaa8759de1c5a2e6', id: labelId, variant: "label", state: typographyState, required: this.required, tooltipText: this.info !== '' ? this.info : undefined }, this.label)), h("div", { key: '6a0edf16a86b9628dd52390da861c51089107b85', class: "bds-checkbox-group__options" }, h("slot", { key: 'd702a5bdfbf2b0984c6c799a2abadb5c7fb904d0', onSlotchange: () => this.updateLayoutCount() })), helperContent && (h("bds-typography", { key: '357a3fbf88e2b70696512806840a390e468b1c62', id: helperId, variant: "helper", state: typographyState }, helperContent))));
|
|
264
|
+
}
|
|
265
|
+
static get formAssociated() { return true; }
|
|
266
|
+
get el() { return getElement(this); }
|
|
267
|
+
static get watchers() { return {
|
|
268
|
+
"joined": [{
|
|
269
|
+
"onJoinedChange": 0
|
|
270
|
+
}],
|
|
271
|
+
"orientation": [{
|
|
272
|
+
"checkPropValues": 0
|
|
273
|
+
}],
|
|
274
|
+
"disabled": [{
|
|
275
|
+
"onDisabledChange": 0
|
|
276
|
+
}],
|
|
277
|
+
"error": [{
|
|
278
|
+
"onErrorChange": 0
|
|
279
|
+
}],
|
|
280
|
+
"isInvalid": [{
|
|
281
|
+
"onErrorChange": 0
|
|
282
|
+
}],
|
|
283
|
+
"value": [{
|
|
284
|
+
"onValuesChange": 0
|
|
285
|
+
}]
|
|
286
|
+
}; }
|
|
287
|
+
};
|
|
288
|
+
BdsCheckboxGroup.style = bdsCheckboxGroupCss();
|
|
289
|
+
|
|
290
|
+
export { BdsCheckboxGroup as bds_checkbox_group };
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { M as Mixin, r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
|
|
2
2
|
import { f as formAssociatedMixin } from './form-associated.mixin-C4HM8wQe.js';
|
|
3
|
-
import { s as setFormValue } from './internals-DfaYciGa.js';
|
|
4
3
|
import { a as inheritAriaAttributes } from './attributes-U9yfbs7i.js';
|
|
4
|
+
import { K as KeyboardController } from './KeyboardController-DcnXb5F5.js';
|
|
5
|
+
import { K as KEYBOARD } from './Keys-7G4h4DI7.js';
|
|
6
|
+
import { c as createId } from './BaseAttributes-DhSchGPI.js';
|
|
7
|
+
import { u as useFormCheckbox } from './checkbox-form-association-cgdh1LO-.js';
|
|
8
|
+
import './Logger-iq2UuV7c.js';
|
|
9
|
+
import './orientation-CPvuMm5C.js';
|
|
5
10
|
|
|
6
|
-
const bdsCheckboxCss = () => `@charset "UTF-8";bds-checkbox{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;
|
|
11
|
+
const bdsCheckboxCss = () => `@charset "UTF-8";.bds-checkbox__info{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}.bds-checkbox{font-family:var(--boreal-typography-font-family-primary);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;vertical-align:middle;gap:var(--boreal-spacing-2xs);outline:none;cursor:pointer}.bds-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.bds-checkbox__content{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;gap:var(--boreal-spacing-3xs)}.bds-checkbox__required-indicator{color:var(--boreal-icon-danger-base);font-weight:var(--boreal-typography-font-weight-regular);font-style:normal}.bds-checkbox__info-icon{font-size:var(--boreal-typography-font-size-xs);color:var(--boreal-icon-default-light)}.bds-checkbox__label{font-size:var(--boreal-typography-font-size-sm);line-height:var(--boreal-typography-line-height-sm)}.bds-checkbox__label:empty{display:none}.bds-checkbox__icon:empty{display:none}.bds-checkbox__box{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:var(--boreal-spacing-m);height:var(--boreal-spacing-m);border:var(--boreal-spacing-3xs) solid var(--boreal-stroke-default-light);background:var(--boreal-ui-inverse);border-radius:var(--boreal-spacing-2xs);-webkit-transition:background 0.2s ease;transition:background 0.2s ease}.bds-checkbox:hover .bds-checkbox__box{-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-checkbox:focus .bds-checkbox__box,.bds-checkbox:focus-visible .bds-checkbox__box{-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-checkbox:active .bds-checkbox__box{-webkit-box-shadow:var(--boreal-depth-box-shadow-active);box-shadow:var(--boreal-depth-box-shadow-active)}.bds-checkbox--checked .bds-checkbox__box{border-color:var(--boreal-ui-primary-base);background:var(--boreal-ui-primary-base);color:var(--boreal-icon-inverse)}.bds-checkbox--checked:hover .bds-checkbox__box{border-color:var(--boreal-stroke-primary-dark);background:var(--boreal-ui-primary-dark)}.bds-checkbox--checked:active .bds-checkbox__box{border-color:var(--boreal-stroke-primary-dark);background:var(--boreal-ui-primary-dark)}.bds-checkbox--checked:disabled .bds-checkbox__box{border-color:var(--boreal-stroke-primary-light);background:var(--boreal-ui-primary-light)}.bds-checkbox--indeterminate .bds-checkbox__box{color:var(--boreal-icon-default-ink)}.bds-checkbox--indeterminate:disabled .bds-checkbox__box{color:var(--boreal-icon-disabled);background:var(--boreal-ui-inverse)}.bds-checkbox--error .bds-checkbox__box{border-color:var(--boreal-stroke-danger-base)}.bds-checkbox--error.bds-checkbox--checked .bds-checkbox__box{border-color:var(--boreal-stroke-danger-base);background:var(--boreal-stroke-danger-base)}.bds-checkbox--error.bds-checkbox--indeterminate .bds-checkbox__box{color:var(--boreal-icon-inverse);border-color:var(--boreal-stroke-danger-base);background:var(--boreal-stroke-danger-base)}.bds-checkbox--disabled{pointer-events:none;cursor:not-allowed}.bds-checkbox--disabled .bds-checkbox__box{border-color:var(--boreal-stroke-default-light);background:var(--boreal-ui-disabled)}.bds-checkbox--disabled .bds-checkbox__label{color:var(--boreal-text-disabled)}.bds-checkbox--disabled .bds-checkbox__required-indicator{color:var(--boreal-text-danger-light)}`;
|
|
7
12
|
|
|
8
13
|
const BdsCheckbox = class extends Mixin(formAssociatedMixin) {
|
|
9
14
|
constructor(hostRef) {
|
|
@@ -19,11 +24,23 @@ const BdsCheckbox = class extends Mixin(formAssociatedMixin) {
|
|
|
19
24
|
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
20
25
|
}
|
|
21
26
|
this.inheritedAttributes = {};
|
|
27
|
+
this._keyboard = new KeyboardController();
|
|
28
|
+
this._id = createId('bds-checkbox');
|
|
22
29
|
/** Internal mirror of the `disabled` prop, kept in sync via `@Watch` and `formDisabledCallback`. */
|
|
23
30
|
this.isDisabled = false;
|
|
24
|
-
/**
|
|
31
|
+
/** Set to true when native form validation fires the `invalid` event; cleared on reset or when value becomes valid. */
|
|
32
|
+
this.isInvalid = false;
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Props (from formAssociatedMixin — redeclared here because Stencil's spec-
|
|
35
|
+
// test compiler only sees @Prop decorators that are statically on the class)
|
|
36
|
+
// ---------------------------------------------------------------------------
|
|
37
|
+
/** Name of the form control, submitted as a key in the form data. */
|
|
38
|
+
this.name = '';
|
|
39
|
+
/** Tooltip text for the checkbox. */
|
|
40
|
+
this.info = '';
|
|
41
|
+
/** Disables the checkbox. */
|
|
25
42
|
this.disabled = false;
|
|
26
|
-
/** Marks the
|
|
43
|
+
/** Marks the checkbox as required for form submission. */
|
|
27
44
|
this.required = false;
|
|
28
45
|
// ---------------------------------------------------------------------------
|
|
29
46
|
// Props
|
|
@@ -38,15 +55,10 @@ const BdsCheckbox = class extends Mixin(formAssociatedMixin) {
|
|
|
38
55
|
this.value = 'on';
|
|
39
56
|
/** Label displayed next to the checkbox. If not provided, the default slot is used. */
|
|
40
57
|
this.label = '';
|
|
58
|
+
this.formCheckbox = useFormCheckbox(this, this.value);
|
|
41
59
|
this.handleClick = () => {
|
|
42
60
|
this.toggle();
|
|
43
61
|
};
|
|
44
|
-
this.handleKeyDown = (e) => {
|
|
45
|
-
if (e.key === ' ') {
|
|
46
|
-
e.preventDefault();
|
|
47
|
-
this.toggle();
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
62
|
}
|
|
51
63
|
// ---------------------------------------------------------------------------
|
|
52
64
|
// Lifecycle
|
|
@@ -56,13 +68,22 @@ const BdsCheckbox = class extends Mixin(formAssociatedMixin) {
|
|
|
56
68
|
this.inheritedAttributes = {
|
|
57
69
|
...inheritAriaAttributes(this.el),
|
|
58
70
|
};
|
|
59
|
-
|
|
71
|
+
}
|
|
72
|
+
componentDidLoad() {
|
|
73
|
+
this.formCheckbox.syncFormValue();
|
|
74
|
+
this._keyboard.attach(this.el).set(KEYBOARD.Space, () => {
|
|
75
|
+
if (!this.isDisabled)
|
|
76
|
+
this.toggle();
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
disconnectedCallback() {
|
|
80
|
+
this._keyboard.detach();
|
|
60
81
|
}
|
|
61
82
|
// ---------------------------------------------------------------------------
|
|
62
83
|
// Watchers
|
|
63
84
|
// ---------------------------------------------------------------------------
|
|
64
85
|
onCheckedChange() {
|
|
65
|
-
this.syncFormValue();
|
|
86
|
+
this.formCheckbox.syncFormValue();
|
|
66
87
|
}
|
|
67
88
|
onDisabledChange(next) {
|
|
68
89
|
this.isDisabled = next;
|
|
@@ -71,26 +92,32 @@ const BdsCheckbox = class extends Mixin(formAssociatedMixin) {
|
|
|
71
92
|
// Form-associated callbacks (IFormControl)
|
|
72
93
|
// ---------------------------------------------------------------------------
|
|
73
94
|
formAssociatedCallback() {
|
|
74
|
-
this.
|
|
95
|
+
this.formCheckbox.formAssociatedCallback();
|
|
75
96
|
}
|
|
76
97
|
formResetCallback() {
|
|
77
|
-
this.
|
|
78
|
-
this.indeterminate = false;
|
|
79
|
-
setFormValue(this.internals, null);
|
|
98
|
+
this.formCheckbox.formResetCallback();
|
|
80
99
|
}
|
|
81
|
-
formStateRestoreCallback(state
|
|
82
|
-
this.
|
|
83
|
-
this.syncFormValue();
|
|
100
|
+
formStateRestoreCallback(state) {
|
|
101
|
+
this.formCheckbox.formStateRestoreCallback(state);
|
|
84
102
|
}
|
|
85
103
|
formDisabledCallback(disabled) {
|
|
86
|
-
this.
|
|
104
|
+
this.formCheckbox.formDisabledCallback(disabled);
|
|
105
|
+
}
|
|
106
|
+
/** Reports the group's validity state to the user, showing native validation UI if invalid. */
|
|
107
|
+
async checkValidity() {
|
|
108
|
+
return this.internals.checkValidity();
|
|
109
|
+
}
|
|
110
|
+
/** Reports the group's validity state to the user, showing native validation UI if invalid. */
|
|
111
|
+
async reportValidity() {
|
|
112
|
+
return this.internals.reportValidity();
|
|
113
|
+
}
|
|
114
|
+
handleInvalid(event) {
|
|
115
|
+
event.preventDefault();
|
|
116
|
+
this.isInvalid = true;
|
|
87
117
|
}
|
|
88
118
|
// ---------------------------------------------------------------------------
|
|
89
119
|
// Private helpers
|
|
90
120
|
// ---------------------------------------------------------------------------
|
|
91
|
-
syncFormValue() {
|
|
92
|
-
setFormValue(this.internals, this.checked ? this.value : null);
|
|
93
|
-
}
|
|
94
121
|
toggle() {
|
|
95
122
|
if (this.isDisabled)
|
|
96
123
|
return;
|
|
@@ -99,13 +126,17 @@ const BdsCheckbox = class extends Mixin(formAssociatedMixin) {
|
|
|
99
126
|
this.valueChange.emit(this.checked);
|
|
100
127
|
this.bdsChange.emit({ checked: this.checked, value: this.value });
|
|
101
128
|
}
|
|
129
|
+
get isError() {
|
|
130
|
+
const error = this.error && !this.disabled;
|
|
131
|
+
return error || this.isInvalid;
|
|
132
|
+
}
|
|
102
133
|
// ---------------------------------------------------------------------------
|
|
103
134
|
// Render helpers
|
|
104
135
|
// ---------------------------------------------------------------------------
|
|
105
136
|
getAriaChecked() {
|
|
106
137
|
if (this.indeterminate)
|
|
107
138
|
return 'mixed';
|
|
108
|
-
return this.checked
|
|
139
|
+
return `${this.checked}`;
|
|
109
140
|
}
|
|
110
141
|
get hideFromScreenReaders() {
|
|
111
142
|
return this.el.closest('bds-checkbox-card') !== null || this.isDisabled;
|
|
@@ -119,21 +150,21 @@ const BdsCheckbox = class extends Mixin(formAssociatedMixin) {
|
|
|
119
150
|
}
|
|
120
151
|
return null;
|
|
121
152
|
}
|
|
122
|
-
get canShowLabel() {
|
|
123
|
-
return this.label !== undefined && this.label !== null;
|
|
124
|
-
}
|
|
125
153
|
// ---------------------------------------------------------------------------
|
|
126
154
|
// Render
|
|
127
155
|
// ---------------------------------------------------------------------------
|
|
128
|
-
|
|
129
|
-
|
|
156
|
+
getClasses() {
|
|
157
|
+
return {
|
|
130
158
|
'bds-checkbox': true,
|
|
131
159
|
'bds-checkbox--checked': this.checked,
|
|
132
160
|
'bds-checkbox--indeterminate': this.indeterminate,
|
|
133
|
-
'bds-checkbox--error': this.
|
|
161
|
+
'bds-checkbox--error': this.isError,
|
|
134
162
|
'bds-checkbox--disabled': this.isDisabled,
|
|
135
163
|
};
|
|
136
|
-
|
|
164
|
+
}
|
|
165
|
+
render() {
|
|
166
|
+
const labelId = `${this._id}-label`;
|
|
167
|
+
return (h(Host, { key: '2d1fa28a22f182826625c313ffaf3a98d0784d0c', class: this.getClasses(), ...this.inheritedAttributes, role: "checkbox", "aria-required": this.required ? 'true' : null, "aria-checked": this.getAriaChecked(), "aria-disabled": this.isDisabled ? 'true' : null, "aria-invalid": this.isError ? 'true' : null, "aria-hidden": this.hideFromScreenReaders ? 'true' : null, "aria-labelledby": labelId || undefined, tabindex: this.hideFromScreenReaders ? -1 : 0, onClick: this.handleClick }, h("input", { key: 'f8e3ca7085aa01a10e7fe397daf10f18024ce254', type: "checkbox", value: this.value, checked: this.checked, disabled: this.disabled, required: this.required, "aria-hidden": "true", tabIndex: -1, onFocus: () => this.el.focus() }), h("span", { key: '397626b30b104d317a8c48554e8b8f6396c9a441', class: "bds-checkbox__box" }, this.renderCheckIcon()), h("span", { key: 'f8aec05775f2819d3c9fd510378bb74a9e22cc5e', class: "bds-checkbox__content" }, h("span", { key: '2956fccc6a6c7aa8624bb43798ece435cec7fbc0', class: "bds-checkbox__icon" }, h("slot", { key: '845c326874e4b854b71a6f0a360e6e692629b683', name: "icon" })), h("label", { key: '35531d1619a81972e29bf5332012b51e19fa3223', id: labelId, class: "bds-checkbox__label" }, this.label.trim() !== '' ? this.label : h("slot", null)), this.required && (h("em", { key: '81ea33ec4c831dea9029680b2ed7fff230849f4a', class: "bds-checkbox__required-indicator", "aria-hidden": "true" }, "*")), this.info && (h("span", { key: '237ad3a810ac31a95e59dc819ca118e8ab94763b', class: "bds-checkbox__info" }, h("span", { key: 'b83aa05c6b5468e7f57b3f36fd5e3ac770d5b985', class: "bds-checkbox__info-icon bds-icon-info-circle", "aria-hidden": "true" }), h("bds-tooltip", { key: '572f7ab57a6144bdd5e22e0ee38a395cda7300d3' }, this.info))))));
|
|
137
168
|
}
|
|
138
169
|
static get formAssociated() { return true; }
|
|
139
170
|
get el() { return getElement(this); }
|