@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
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keyboard key values matching `KeyboardEvent.key` exactly (W3C UI Events spec).
|
|
3
|
+
* Use in direct `event.key` comparisons and `.set()` bindings.
|
|
4
|
+
*/
|
|
5
|
+
const KEYBOARD = {
|
|
6
|
+
// Navigation
|
|
7
|
+
ArrowUp: 'ArrowUp',
|
|
8
|
+
ArrowDown: 'ArrowDown',
|
|
9
|
+
ArrowLeft: 'ArrowLeft',
|
|
10
|
+
ArrowRight: 'ArrowRight',
|
|
11
|
+
Home: 'Home',
|
|
12
|
+
End: 'End',
|
|
13
|
+
// Action
|
|
14
|
+
Enter: 'Enter',
|
|
15
|
+
Escape: 'Escape',
|
|
16
|
+
Space: ' ',
|
|
17
|
+
// Paging
|
|
18
|
+
PageUp: 'PageUp',
|
|
19
|
+
PageDown: 'PageDown',
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Modifier key identifiers in lowercase — match `event.key.toLowerCase()`.
|
|
23
|
+
* Never compared against `event.key` directly; detected via `event.altKey`, `event.ctrlKey`, etc.
|
|
24
|
+
* Use in `.set()` chord bindings: `.set([KEYBOARD_MODIFIERS.Control, KEYBOARD.ArrowRight], handler)`.
|
|
25
|
+
*/
|
|
26
|
+
const KEYBOARD_MODIFIERS = {
|
|
27
|
+
Alt: 'alt',
|
|
28
|
+
Control: 'control',
|
|
29
|
+
Meta: 'meta'};
|
|
30
|
+
|
|
31
|
+
export { KEYBOARD as K, KEYBOARD_MODIFIERS as a };
|
|
@@ -78,7 +78,7 @@ const BdsAvatar = class {
|
|
|
78
78
|
const avatarAriaLabel = this.normalizedUsername.length > 0 ? `User name: ${this.normalizedUsername}` : 'User name';
|
|
79
79
|
const showIcon = this.variant === AVATAR_VARIANT.FULL || this.variant === AVATAR_VARIANT.ICON;
|
|
80
80
|
const showName = this.normalizedUsername && (this.variant === AVATAR_VARIANT.FULL || this.variant === AVATAR_VARIANT.NAME);
|
|
81
|
-
return (h(Host, { key: '
|
|
81
|
+
return (h(Host, { key: 'b29800e27c95008eb9257c7ec5c9aab2fb907b98', class: "bds-avatar", role: "img", "aria-label": avatarAriaLabel, ...this.inheritedAttributes }, h("div", { key: '807c804a557b55f06c6437208102226b7284423c', class: "bds-avatar__container" }, showIcon && (h("div", { key: '6f9ab3e1b6822b82e59fb5ac982c68cc0de2c43d', class: "bds-avatar__circle", style: this.getAvatarStyles() }, h("span", { key: '90fedd34dff914024fed3a305a134808da2b0967', class: "bds-avatar__initials" }, initials))), showName && h("span", { key: 'fba46730ab9ed74841e3919f79a8f7df1eea3192', class: "bds-avatar__name" }, this.normalizedUsername))));
|
|
82
82
|
}
|
|
83
83
|
get el() { return getElement(this); }
|
|
84
84
|
};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-BqJlOB6b.js';
|
|
2
|
+
|
|
3
|
+
const bdsBreadcrumbItemCss = () => `@charset "UTF-8";bds-breadcrumb-item:last-child li::after{display:none}.bds-breadcrumb-item{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;cursor:default}.bds-breadcrumb-item__text{font-size:var(--boreal-typography-font-size-sm);line-height:var(--boreal-typography-line-height-sm);font-family:var(--boreal-typography-font-family-primary)}.bds-breadcrumb-item__collapse-indicator{display:-ms-inline-flexbox;display:inline-flex}.bds-breadcrumb-item:not(.bds-breadcrumb-item--active)::after{content:var(--bds-breadcrumb-separator, "/");margin:0 var(--boreal-spacing-xs);color:var(--boreal-text-disabled);font-weight:normal;line-height:var(--boreal-typography-line-height-sm)}.bds-breadcrumb-item .bds-typography--link:not(:hover){color:var(--boreal-text-default)}.bds-breadcrumb-item--collapsed{display:none}.bds-breadcrumb-item--collapsed .bds-breadcrumb-item__text{display:none}.bds-breadcrumb-item--collapsed::after{display:none}.bds-breadcrumb-item--collapsed:has(.bds-breadcrumb-item__collapse-indicator){display:-ms-inline-flexbox;display:inline-flex}.bds-breadcrumb-item--active{font-weight:var(--boreal-typography-font-weight-semibold)}.bds-breadcrumb-item--active .bds-breadcrumb-item{color:var(--boreal-text-base)}.bds-breadcrumb-item:not(.bds-breadcrumb-item--active){cursor:pointer}`;
|
|
4
|
+
|
|
5
|
+
const BdsBreadcrumbItem = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.bdsClick = createEvent(this, "bdsClick");
|
|
9
|
+
this.bdsClickCollapse = createEvent(this, "bdsClickCollapse");
|
|
10
|
+
/**
|
|
11
|
+
* Marks this breadcrumb item as the current page.
|
|
12
|
+
*
|
|
13
|
+
* When true, the item is non-interactive and has aria-current="page".
|
|
14
|
+
*
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
this.active = false;
|
|
18
|
+
/**
|
|
19
|
+
* Enables router-based navigation instead of native link navigation.
|
|
20
|
+
*
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
this.router = false;
|
|
24
|
+
/**
|
|
25
|
+
* Internal prop controlled by the parent breadcrumb.
|
|
26
|
+
* Indicates that this item is part of a collapsed range.
|
|
27
|
+
*
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
this.collapsed = false;
|
|
31
|
+
/**
|
|
32
|
+
* Internal prop controlled by the parent breadcrumb.
|
|
33
|
+
* Renders the collapse indicator ("...") for hidden items.
|
|
34
|
+
*
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
this.showCollapse = false;
|
|
38
|
+
/**
|
|
39
|
+
* URL for the breadcrumb link.
|
|
40
|
+
*
|
|
41
|
+
* @default ''
|
|
42
|
+
*/
|
|
43
|
+
this.href = '';
|
|
44
|
+
/**
|
|
45
|
+
* Specifies where to open the linked document.
|
|
46
|
+
*
|
|
47
|
+
* @default '_self'
|
|
48
|
+
*/
|
|
49
|
+
this.target = '_self';
|
|
50
|
+
/**
|
|
51
|
+
* Enables download behavior for the link.
|
|
52
|
+
*
|
|
53
|
+
* @default false
|
|
54
|
+
*/
|
|
55
|
+
this.downloadable = false;
|
|
56
|
+
/**
|
|
57
|
+
* Suggested filename for the downloaded file.
|
|
58
|
+
*
|
|
59
|
+
* @default 'filename'
|
|
60
|
+
*/
|
|
61
|
+
this.filename = 'filename';
|
|
62
|
+
/**
|
|
63
|
+
* Relationship between the current document and the linked resource.
|
|
64
|
+
*
|
|
65
|
+
* @default ''
|
|
66
|
+
*/
|
|
67
|
+
this.rel = '';
|
|
68
|
+
}
|
|
69
|
+
handleClick(event) {
|
|
70
|
+
if (this.active) {
|
|
71
|
+
event.preventDefault();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (this.router)
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
this.bdsClick.emit({ element: this.el, href: this.href, router: this.router });
|
|
77
|
+
}
|
|
78
|
+
get breadcrumbItem() {
|
|
79
|
+
return this.href !== '' && !this.active ? (h("bds-typography", { onClick: e => this.handleClick(e), href: this.href, target: this.target, downloadable: this.downloadable, filename: this.filename, rel: this.rel, variant: "link", element: "a", class: "bds-breadcrumb-item__text" }, h("slot", null))) : (h("span", { class: "bds-breadcrumb-item__text", onClick: e => this.handleClick(e) }, h("slot", null)));
|
|
80
|
+
}
|
|
81
|
+
handleCollapseClick(e) {
|
|
82
|
+
e.preventDefault();
|
|
83
|
+
this.bdsClickCollapse.emit({ element: this.collapsedRef });
|
|
84
|
+
}
|
|
85
|
+
get cssClasses() {
|
|
86
|
+
return {
|
|
87
|
+
['bds-breadcrumb-item']: true,
|
|
88
|
+
['bds-breadcrumb-item--active']: this.active,
|
|
89
|
+
['bds-breadcrumb-item--collapsed']: this.collapsed,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
render() {
|
|
93
|
+
return (h("li", { key: 'bca5cb70296f745ae669b5cd7f88e8252979fe9b', class: this.cssClasses, "aria-current": this.active ? 'page' : null }, this.breadcrumbItem, this.showCollapse && (h("bds-typography", { key: '9ed493f2a5112d5cf20c0a02d48ea8a8c69eb991', class: "bds-breadcrumb-item bds-breadcrumb-item__collapse-indicator", ref: collapsedEl => (this.collapsedRef = collapsedEl), onClick: e => this.handleCollapseClick(e), onKeyDown: (e) => {
|
|
94
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
95
|
+
e.preventDefault();
|
|
96
|
+
this.handleCollapseClick(e);
|
|
97
|
+
}
|
|
98
|
+
}, variant: "link", element: "a" }, "..."))));
|
|
99
|
+
}
|
|
100
|
+
get el() { return getElement(this); }
|
|
101
|
+
};
|
|
102
|
+
BdsBreadcrumbItem.style = bdsBreadcrumbItemCss();
|
|
103
|
+
|
|
104
|
+
export { BdsBreadcrumbItem as bds_breadcrumb_item };
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-BqJlOB6b.js';
|
|
2
|
+
import { a as inheritAriaAttributes } from './attributes-U9yfbs7i.js';
|
|
3
|
+
|
|
4
|
+
const bdsBreadcrumbCss = () => `@charset "UTF-8";.bds-breadcrumb__list{list-style:none;padding:0;margin:0}`;
|
|
5
|
+
|
|
6
|
+
const BdsBreadcrumb = class {
|
|
7
|
+
constructor(hostRef) {
|
|
8
|
+
registerInstance(this, hostRef);
|
|
9
|
+
this.bdsClickCollapsed = createEvent(this, "bdsClickCollapsed");
|
|
10
|
+
this.bdsClickBreadcrumb = createEvent(this, "bdsClickBreadcrumb");
|
|
11
|
+
this.inheritedAttributes = {};
|
|
12
|
+
/**
|
|
13
|
+
* Separator rendered between breadcrumb items.
|
|
14
|
+
* @default "/"
|
|
15
|
+
*/
|
|
16
|
+
this.separator = '/';
|
|
17
|
+
/**
|
|
18
|
+
* Maximum number of breadcrumb items visible before collapsing.
|
|
19
|
+
* If set to 0 or undefined, no collapsing is applied.
|
|
20
|
+
* @default 0
|
|
21
|
+
*/
|
|
22
|
+
this.maxItems = 0;
|
|
23
|
+
/**
|
|
24
|
+
* Number of items visible at the start before collapse occurs.
|
|
25
|
+
* @default 1
|
|
26
|
+
*/
|
|
27
|
+
this.itemsBeforeCollapse = 1;
|
|
28
|
+
/**
|
|
29
|
+
* Number of items visible at the end after collapse occurs.
|
|
30
|
+
* @default 1
|
|
31
|
+
*/
|
|
32
|
+
this.itemsAfterCollapse = 1;
|
|
33
|
+
}
|
|
34
|
+
componentWillLoad() {
|
|
35
|
+
this.inheritedAttributes = { ...inheritAriaAttributes(this.el) };
|
|
36
|
+
this.handleSlotChange();
|
|
37
|
+
}
|
|
38
|
+
onSeparatorChange() {
|
|
39
|
+
this.applyCustomSeparator();
|
|
40
|
+
}
|
|
41
|
+
onMaxItemsChange() {
|
|
42
|
+
this.updateBreadcrumbCollapse();
|
|
43
|
+
}
|
|
44
|
+
onCollapsedClick(ev) {
|
|
45
|
+
ev.stopPropagation();
|
|
46
|
+
const breadcrumbs = this.getBreadcrumbItems();
|
|
47
|
+
const collapsedBreadcrumbs = breadcrumbs.filter(breadcrumb => breadcrumb.collapsed);
|
|
48
|
+
const detail = {
|
|
49
|
+
element: ev.detail.element,
|
|
50
|
+
collapsedBreadcrumbs,
|
|
51
|
+
};
|
|
52
|
+
this.bdsClickCollapsed.emit(detail);
|
|
53
|
+
}
|
|
54
|
+
onBreadcrumbClick(ev) {
|
|
55
|
+
ev.stopPropagation();
|
|
56
|
+
const items = this.getBreadcrumbItems();
|
|
57
|
+
const index = items.indexOf(ev.detail.element);
|
|
58
|
+
this.bdsClickBreadcrumb.emit({
|
|
59
|
+
element: ev.detail.element,
|
|
60
|
+
index,
|
|
61
|
+
href: ev.detail.href,
|
|
62
|
+
router: ev.detail.router,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
applyCustomSeparator() {
|
|
66
|
+
this.el.style.setProperty('--bds-breadcrumb-separator', `"${this.separator}"`);
|
|
67
|
+
}
|
|
68
|
+
handleSlotChange() {
|
|
69
|
+
this.applyCustomSeparator();
|
|
70
|
+
this.updateBreadcrumbCollapse();
|
|
71
|
+
}
|
|
72
|
+
updateBreadcrumbCollapse() {
|
|
73
|
+
if (!this.shouldCollapse()) {
|
|
74
|
+
this.showAllItems();
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const items = this.getBreadcrumbItems();
|
|
78
|
+
this.applyVisibility(items);
|
|
79
|
+
}
|
|
80
|
+
shouldCollapse() {
|
|
81
|
+
const items = this.getBreadcrumbItems();
|
|
82
|
+
const maxItems = this.maxItems === this.itemsBeforeCollapse + this.itemsAfterCollapse ? this.maxItems + 1 : this.maxItems;
|
|
83
|
+
return maxItems > 0 && items.length > maxItems && this.itemsBeforeCollapse + this.itemsAfterCollapse < maxItems;
|
|
84
|
+
}
|
|
85
|
+
getBreadcrumbItems() {
|
|
86
|
+
return Array.from(this.el.querySelectorAll('bds-breadcrumb-item'));
|
|
87
|
+
}
|
|
88
|
+
showAllItems() {
|
|
89
|
+
const items = this.getBreadcrumbItems();
|
|
90
|
+
items.forEach(item => {
|
|
91
|
+
item.collapsed = false;
|
|
92
|
+
item.showCollapse = false;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
applyVisibility(items) {
|
|
96
|
+
const collapseStart = this.itemsBeforeCollapse;
|
|
97
|
+
const collapseEnd = items.length - this.itemsAfterCollapse;
|
|
98
|
+
items.forEach((breadcrumb, index) => {
|
|
99
|
+
breadcrumb.collapsed = false;
|
|
100
|
+
breadcrumb.showCollapse = false;
|
|
101
|
+
if (index >= collapseStart && index < collapseEnd) {
|
|
102
|
+
breadcrumb.collapsed = true;
|
|
103
|
+
}
|
|
104
|
+
const hasCollapsedItems = collapseEnd > collapseStart;
|
|
105
|
+
if (hasCollapsedItems && index === collapseStart) {
|
|
106
|
+
breadcrumb.showCollapse = true;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
render() {
|
|
111
|
+
return (h("nav", { key: '1a981018c53a8f3a75ff183c519962ff56db45b7', "aria-label": "Breadcrumb navigation", ...this.inheritedAttributes, class: "bds-breadcrumb" }, h("ol", { key: 'b831faa04943ec15f0aba65c497ff550c057b6e2', class: "bds-breadcrumb__list" }, h("slot", { key: 'a43ca3510691046d72777a4e9a25049263104ad3', onSlotchange: () => this.handleSlotChange() }))));
|
|
112
|
+
}
|
|
113
|
+
get el() { return getElement(this); }
|
|
114
|
+
static get watchers() { return {
|
|
115
|
+
"separator": [{
|
|
116
|
+
"onSeparatorChange": 0
|
|
117
|
+
}],
|
|
118
|
+
"maxItems": [{
|
|
119
|
+
"onMaxItemsChange": 0
|
|
120
|
+
}]
|
|
121
|
+
}; }
|
|
122
|
+
};
|
|
123
|
+
BdsBreadcrumb.style = bdsBreadcrumbCss();
|
|
124
|
+
|
|
125
|
+
export { BdsBreadcrumb as bds_breadcrumb };
|
|
@@ -4,15 +4,18 @@ import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
|
|
|
4
4
|
import { C as CORE_COLORS } from './coreColors-Dwo1hcd9.js';
|
|
5
5
|
import { B as BUTTON_SIZES, a as BUTTON_VARIANTS } from './enum-DlVzZK7o.js';
|
|
6
6
|
import { a as inheritAriaAttributes } from './attributes-U9yfbs7i.js';
|
|
7
|
+
import { K as KeyboardController } from './KeyboardController-DcnXb5F5.js';
|
|
7
8
|
import { L as Logger } from './Logger-iq2UuV7c.js';
|
|
9
|
+
import './Keys-7G4h4DI7.js';
|
|
8
10
|
|
|
9
|
-
const bdsButtonGroupCss = () => `@charset "UTF-8";.bds-button-group{display:-ms-inline-flexbox;display:inline-flex;margin:var(--boreal-spacing-2xs) var(--boreal-spacing-3xs);border-radius:var(--boreal-radius-xs);outline:none}.bds-button-group:focus{-webkit-box-shadow:
|
|
11
|
+
const bdsButtonGroupCss = () => `@charset "UTF-8";.bds-button-group{display:-ms-inline-flexbox;display:inline-flex;margin:var(--boreal-spacing-2xs) var(--boreal-spacing-3xs);border-radius:var(--boreal-radius-xs);outline:none}.bds-button-group:focus{-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button-group bds-button{position:relative}.bds-button-group bds-button button{margin:0;border-radius:var(--boreal-radius-none);width:100%}.bds-button-group bds-button:hover{z-index:1}.bds-button-group bds-button:focus-within,.bds-button-group bds-button:active{z-index:2}.bds-button-group--horizontal{-ms-flex-direction:row;flex-direction:row;gap:var(--boreal-spacing-4xs)}.bds-button-group--horizontal bds-button:only-child button{border-radius:var(--boreal-radius-xs)}.bds-button-group--horizontal bds-button:first-child:not(:only-child) button{border-radius:var(--boreal-radius-xs) var(--boreal-radius-none) var(--boreal-radius-none) var(--boreal-radius-xs)}.bds-button-group--horizontal bds-button:last-child:not(:only-child) button{border-radius:var(--boreal-radius-none) var(--boreal-radius-xs) var(--boreal-radius-xs) var(--boreal-radius-none)}.bds-button-group--horizontal:has(.bds-button--var-outline){gap:0}.bds-button-group--horizontal:has(.bds-button--var-outline) bds-button:nth-child(n+2){margin-left:calc(-1 * var(--boreal-spacing-4xs))}.bds-button-group--vertical{-ms-flex-direction:column;flex-direction:column;gap:var(--boreal-spacing-4xs)}.bds-button-group--vertical bds-button:only-child button{border-radius:var(--boreal-radius-xs)}.bds-button-group--vertical bds-button:first-child:not(:only-child) button{border-radius:var(--boreal-radius-xs) var(--boreal-radius-xs) var(--boreal-radius-none) var(--boreal-radius-none)}.bds-button-group--vertical bds-button:last-child:not(:only-child) button{border-radius:var(--boreal-radius-none) var(--boreal-radius-none) var(--boreal-radius-xs) var(--boreal-radius-xs)}.bds-button-group--vertical:has(.bds-button--var-outline){gap:0}.bds-button-group--vertical:has(.bds-button--var-outline) bds-button:nth-child(n+2){margin-top:calc(-1 * var(--boreal-spacing-4xs))}`;
|
|
10
12
|
|
|
11
13
|
const BdsButtonGroup = class {
|
|
12
14
|
constructor(hostRef) {
|
|
13
15
|
registerInstance(this, hostRef);
|
|
14
16
|
this.inheritedAttributes = {};
|
|
15
17
|
this.logger = new Logger();
|
|
18
|
+
this._keyboard = new KeyboardController();
|
|
16
19
|
/** Controls the size applied to all child `<bds-button>` elements. Accepted values: `'sm'`, `'md'`, `'lg'`. Default is `'md'`. */
|
|
17
20
|
this.size = BUTTON_SIZES.MEDIUM;
|
|
18
21
|
/** Controls the layout direction of the grouped buttons. Accepted values: `'horizontal'`, `'vertical'`. Default is `'horizontal'`. */
|
|
@@ -55,6 +58,24 @@ const BdsButtonGroup = class {
|
|
|
55
58
|
componentDidLoad() {
|
|
56
59
|
this.validateSlotContent();
|
|
57
60
|
this.propagatePropsToButtons();
|
|
61
|
+
this._setupKeyboard();
|
|
62
|
+
}
|
|
63
|
+
disconnectedCallback() {
|
|
64
|
+
this._keyboard.detach();
|
|
65
|
+
}
|
|
66
|
+
get _role() {
|
|
67
|
+
return this.inheritedAttributes['role'] ?? 'toolbar';
|
|
68
|
+
}
|
|
69
|
+
_setupKeyboard() {
|
|
70
|
+
if (this._role === 'group') {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
this._keyboard.attach(this.el).setLinearNavigation({
|
|
74
|
+
items: 'bds-button:not([disabled]) button',
|
|
75
|
+
orientation: this.orientation,
|
|
76
|
+
focusStrategy: { type: 'roving-tabindex' },
|
|
77
|
+
onActivate: () => document.activeElement?.click(),
|
|
78
|
+
});
|
|
58
79
|
}
|
|
59
80
|
/** Builds the CSS class map applied to the host element based `orientation`. */
|
|
60
81
|
get classMapButtonGroup() {
|
|
@@ -64,7 +85,7 @@ const BdsButtonGroup = class {
|
|
|
64
85
|
};
|
|
65
86
|
}
|
|
66
87
|
render() {
|
|
67
|
-
return (h(Host, { key: '
|
|
88
|
+
return (h(Host, { key: 'ff0a8da321995a4bd1057fd0c866248e48ec5bdf', ...this.inheritedAttributes, role: this._role, tabindex: "-1", class: this.classMapButtonGroup, "aria-orientation": this._role === 'toolbar' ? this.orientation : undefined, "aria-label": this.label }, h("slot", { key: '9e59ad6dd8a6c58da722e17dd6e8b8ff49d8568b' })));
|
|
68
89
|
}
|
|
69
90
|
get el() { return getElement(this); }
|
|
70
91
|
static get watchers() { return {
|
|
@@ -3,8 +3,12 @@ import { C as COMPONENT_STATES } from './states-Bfazyxqi.js';
|
|
|
3
3
|
import { b as BUTTON_TYPES, a as BUTTON_VARIANTS, B as BUTTON_SIZES } from './enum-DlVzZK7o.js';
|
|
4
4
|
import { C as CORE_COLORS } from './coreColors-Dwo1hcd9.js';
|
|
5
5
|
import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
|
|
6
|
+
import { K as KeyboardController, a as KEY_TRIGGERS } from './KeyboardController-DcnXb5F5.js';
|
|
7
|
+
import { K as KEYBOARD } from './Keys-7G4h4DI7.js';
|
|
8
|
+
import './Logger-iq2UuV7c.js';
|
|
9
|
+
import './orientation-CPvuMm5C.js';
|
|
6
10
|
|
|
7
|
-
const bdsButtonCss = () => `@charset "UTF-8";bds-button{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.bds-button{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;-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;margin:var(--boreal-spacing-2xs) var(--boreal-spacing-3xs);outline:none;font-family:var(--boreal-typography-font-family-primary);font-weight:var(--boreal-typography-font-weight-semibold);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;vertical-align:middle}.bds-button .bds-button__content{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;gap:var(--boreal-spacing-2xs)}.bds-button--is-loading{pointer-events:none;position:relative;color:transparent !important}.bds-button--is-loading::after{position:absolute;content:" ";-webkit-box-sizing:inherit;box-sizing:inherit;-webkit-animation:rotateSpinner 0.5s linear infinite;animation:rotateSpinner 0.5s linear infinite;border-radius:9999px;display:block;height:1em;width:1em;rotate:45deg;left:calc(50% - 0.5em);top:calc(50% - 0.5em);border:3px solid;border-right-color:transparent;border-top-color:transparent}.bds-button--size-sm{border-radius:var(--boreal-radius-xs);font-size:var(--boreal-typography-font-size-xs);padding:var(--boreal-spacing-3xs) var(--boreal-spacing-2xs);line-height:var(--boreal-typography-line-height-xs);height:26px}.bds-button--size-sm .bds-button__content{padding:var(--boreal-spacing-3xs) var(--boreal-spacing-2xs)}.bds-button--size-sm .bds-button__content-icon{display:-ms-flexbox;display:flex;font-size:var(--boreal-typography-font-size-sm);line-height:var(--boreal-typography-line-height-xs)}.bds-button--size-sm .bds-button__content-icon:empty{display:none}.bds-button--size-sm .bds-button__content{}.bds-button--size-sm .bds-button__content-badge:empty{display:none}.bds-button--size-sm .bds-button__content-badge{display:none}.bds-button--size-md{border-radius:var(--boreal-radius-xs);font-size:var(--boreal-typography-font-size-sm);padding:var(--boreal-spacing-2xs) var(--boreal-spacing-1xs);line-height:var(--boreal-typography-line-height-sm);height:32px}.bds-button--size-md .bds-button__content{padding:var(--boreal-spacing-3xs) var(--boreal-spacing-2xs)}.bds-button--size-md .bds-button__content-icon{display:-ms-flexbox;display:flex;font-size:var(--boreal-typography-font-size-md);line-height:var(--boreal-typography-line-height-sm)}.bds-button--size-md .bds-button__content-icon:empty{display:none}.bds-button--size-md .bds-button__content{}.bds-button--size-md .bds-button__content-badge:empty{display:none}.bds-button--size-lg{border-radius:var(--boreal-radius-xs);font-size:var(--boreal-typography-font-size-md);padding:var(--boreal-spacing-xs);line-height:var(--boreal-typography-line-height-md);height:44px}.bds-button--size-lg .bds-button__content{padding:var(--boreal-spacing-3xs) var(--boreal-spacing-2xs)}.bds-button--size-lg .bds-button__content-icon{display:-ms-flexbox;display:flex;font-size:var(--boreal-typography-font-size-lg);line-height:var(--boreal-typography-line-height-md)}.bds-button--size-lg .bds-button__content-icon:empty{display:none}.bds-button--size-lg .bds-button__content{}.bds-button--size-lg .bds-button__content-badge:empty{display:none}.bds-button.bds-button--var-default.bds-button--default{color:var(--boreal-text-default);background-color:var(--boreal-ui-inverse);border-color:transparent}.bds-button.bds-button--var-default.bds-button--default:hover{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-default.bds-button--default:focus{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-default.bds-button--default:active,.bds-button.bds-button--var-default.bds-button--default.bds-button--state-active{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset;box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset}.bds-button.bds-button--var-default.bds-button--default.bds-button--is-disabled,.bds-button.bds-button--var-default.bds-button--default.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-disabled);background-color:var(--boreal-ui-inverse);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-default.bds-button--default.bds-button--is-loading::after{border-left-color:var(--boreal-text-disabled);border-bottom-color:var(--boreal-text-disabled)}.bds-button.bds-button--var-default.bds-button--primary{color:var(--boreal-text-inverse);background-color:var(--boreal-ui-primary-base);border-color:transparent}.bds-button.bds-button--var-default.bds-button--primary:hover{background-color:var(--boreal-ui-primary-dark);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-default.bds-button--primary:focus{background-color:var(--boreal-ui-primary-base);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-default.bds-button--primary:active,.bds-button.bds-button--var-default.bds-button--primary.bds-button--state-active{background-color:var(--boreal-ui-primary-dark);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-default.bds-button--primary.bds-button--is-disabled,.bds-button.bds-button--var-default.bds-button--primary.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-inverse);background-color:var(--boreal-ui-primary-light);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-default.bds-button--primary.bds-button--is-loading::after{border-left-color:var(--boreal-text-inverse);border-bottom-color:var(--boreal-text-inverse)}.bds-button.bds-button--var-default.bds-button--success{color:var(--boreal-text-inverse);background-color:var(--boreal-ui-success-base);border-color:transparent}.bds-button.bds-button--var-default.bds-button--success:hover{background-color:var(--boreal-ui-success-dark);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-default.bds-button--success:focus{background-color:var(--boreal-ui-success-base);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-default.bds-button--success:active,.bds-button.bds-button--var-default.bds-button--success.bds-button--state-active{background-color:var(--boreal-ui-success-dark);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-default.bds-button--success.bds-button--is-disabled,.bds-button.bds-button--var-default.bds-button--success.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-inverse);background-color:var(--boreal-ui-success-light);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-default.bds-button--success.bds-button--is-loading::after{border-left-color:var(--boreal-text-inverse);border-bottom-color:var(--boreal-text-inverse)}.bds-button.bds-button--var-default.bds-button--error{color:var(--boreal-text-inverse);background-color:var(--boreal-ui-danger-base);border-color:transparent}.bds-button.bds-button--var-default.bds-button--error:hover{background-color:var(--boreal-ui-danger-dark);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-default.bds-button--error:focus{background-color:var(--boreal-ui-danger-base);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-default.bds-button--error:active,.bds-button.bds-button--var-default.bds-button--error.bds-button--state-active{background-color:var(--boreal-ui-danger-dark);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-default.bds-button--error.bds-button--is-disabled,.bds-button.bds-button--var-default.bds-button--error.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-inverse);background-color:var(--boreal-ui-danger-light);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-default.bds-button--error.bds-button--is-loading::after{border-left-color:var(--boreal-text-inverse);border-bottom-color:var(--boreal-text-inverse)}.bds-button.bds-button--var-outline{background-color:transparent}.bds-button.bds-button--var-outline.bds-button--default{color:var(--boreal-text-default);background-color:transparent;border-color:var(--boreal-stroke-default-light)}.bds-button.bds-button--var-outline.bds-button--default:hover{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-outline.bds-button--default:focus{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-outline.bds-button--default:active,.bds-button.bds-button--var-outline.bds-button--default.bds-button--state-active{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-outline.bds-button--default.bds-button--is-disabled,.bds-button.bds-button--var-outline.bds-button--default.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-disabled);background-color:var(--boreal-ui-inverse);border-color:var(--boreal-stroke-default-light);-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-outline.bds-button--default.bds-button--is-loading::after{border-left-color:var(--boreal-text-disabled);border-bottom-color:var(--boreal-text-disabled)}.bds-button.bds-button--var-outline.bds-button--primary{color:var(--boreal-text-primary-base);background-color:transparent;border-color:var(--boreal-ui-primary-base)}.bds-button.bds-button--var-outline.bds-button--primary:hover{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-outline.bds-button--primary:focus{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-outline.bds-button--primary:active,.bds-button.bds-button--var-outline.bds-button--primary.bds-button--state-active{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-outline.bds-button--primary.bds-button--is-disabled,.bds-button.bds-button--var-outline.bds-button--primary.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-primary-light);background-color:transparent;border-color:var(--boreal-stroke-primary-light);-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-outline.bds-button--primary.bds-button--is-loading::after{border-left-color:var(--boreal-text-primary-light);border-bottom-color:var(--boreal-text-primary-light)}.bds-button.bds-button--var-outline.bds-button--success{color:var(--boreal-text-success-base);background-color:transparent;border-color:var(--boreal-stroke-success-base)}.bds-button.bds-button--var-outline.bds-button--success:hover{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-outline.bds-button--success:focus{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-outline.bds-button--success:active,.bds-button.bds-button--var-outline.bds-button--success.bds-button--state-active{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-outline.bds-button--success.bds-button--is-disabled,.bds-button.bds-button--var-outline.bds-button--success.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-success-light);background-color:transparent;border-color:var(--boreal-stroke-success-light);-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-outline.bds-button--success.bds-button--is-loading::after{border-left-color:var(--boreal-text-success-light);border-bottom-color:var(--boreal-text-success-light)}.bds-button.bds-button--var-outline.bds-button--error{color:var(--boreal-text-danger-base);background-color:transparent;border-color:var(--boreal-stroke-danger-base)}.bds-button.bds-button--var-outline.bds-button--error:hover{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-outline.bds-button--error:focus{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-outline.bds-button--error:active,.bds-button.bds-button--var-outline.bds-button--error.bds-button--state-active{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-outline.bds-button--error.bds-button--is-disabled,.bds-button.bds-button--var-outline.bds-button--error.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-danger-light);background-color:transparent;border-color:var(--boreal-stroke-danger-light);-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-outline.bds-button--error.bds-button--is-loading::after{border-left-color:var(--boreal-text-danger-light);border-bottom-color:var(--boreal-text-danger-light)}.bds-button.bds-button--var-plain{background-color:transparent}.bds-button.bds-button--var-plain.bds-button--default{color:var(--boreal-text-default);background-color:transparent;border-color:transparent}.bds-button.bds-button--var-plain.bds-button--default:hover{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-plain.bds-button--default:focus{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-plain.bds-button--default:active,.bds-button.bds-button--var-plain.bds-button--default.bds-button--state-active{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset;box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset}.bds-button.bds-button--var-plain.bds-button--default.bds-button--is-disabled,.bds-button.bds-button--var-plain.bds-button--default.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-disabled);background-color:var(--boreal-ui-inverse);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-plain.bds-button--default.bds-button--is-loading::after{border-left-color:var(--boreal-text-disabled);border-bottom-color:var(--boreal-text-disabled)}.bds-button.bds-button--var-plain.bds-button--primary{color:var(--boreal-text-primary-base);background-color:transparent;border-color:transparent}.bds-button.bds-button--var-plain.bds-button--primary:hover{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-plain.bds-button--primary:focus{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-plain.bds-button--primary:active,.bds-button.bds-button--var-plain.bds-button--primary.bds-button--state-active{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset;box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset}.bds-button.bds-button--var-plain.bds-button--primary.bds-button--is-disabled,.bds-button.bds-button--var-plain.bds-button--primary.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-primary-light);background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-plain.bds-button--primary.bds-button--is-loading::after{border-left-color:var(--boreal-text-primary-light);border-bottom-color:var(--boreal-text-primary-light)}.bds-button.bds-button--var-plain.bds-button--success{color:var(--boreal-text-success-base);background-color:transparent;border-color:transparent}.bds-button.bds-button--var-plain.bds-button--success:hover{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-plain.bds-button--success:focus{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-plain.bds-button--success:active,.bds-button.bds-button--var-plain.bds-button--success.bds-button--state-active{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset;box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset}.bds-button.bds-button--var-plain.bds-button--success.bds-button--is-disabled,.bds-button.bds-button--var-plain.bds-button--success.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-success-light);background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-plain.bds-button--success.bds-button--is-loading::after{border-left-color:var(--boreal-text-success-light);border-bottom-color:var(--boreal-text-success-light)}.bds-button.bds-button--var-plain.bds-button--error{color:var(--boreal-text-danger-base);background-color:transparent;border-color:transparent}.bds-button.bds-button--var-plain.bds-button--error:hover{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15);box-shadow:0 1px 2px 0 rgba(19, 19, 22, 0.15)}.bds-button.bds-button--var-plain.bds-button--error:focus{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus)}.bds-button.bds-button--var-plain.bds-button--error:active,.bds-button.bds-button--var-plain.bds-button--error.bds-button--state-active{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset;box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset}.bds-button.bds-button--var-plain.bds-button--error.bds-button--is-disabled,.bds-button.bds-button--var-plain.bds-button--error.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-danger-light);background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-plain.bds-button--error.bds-button--is-loading::after{border-left-color:var(--boreal-text-danger-light);border-bottom-color:var(--boreal-text-danger-light)}@-webkit-keyframes rotateSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotateSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}`;
|
|
11
|
+
const bdsButtonCss = () => `@charset "UTF-8";bds-button{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.bds-button{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;-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;margin:var(--boreal-spacing-2xs) var(--boreal-spacing-3xs);outline:none;font-family:var(--boreal-typography-font-family-primary);font-weight:var(--boreal-typography-font-weight-semibold);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;vertical-align:middle}.bds-button .bds-button__content{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;gap:var(--boreal-spacing-2xs)}.bds-button--is-loading{pointer-events:none;position:relative;color:transparent !important}.bds-button--is-loading::after{position:absolute;content:" ";-webkit-box-sizing:inherit;box-sizing:inherit;-webkit-animation:rotateSpinner 0.5s linear infinite;animation:rotateSpinner 0.5s linear infinite;border-radius:9999px;display:block;height:1em;width:1em;rotate:45deg;left:calc(50% - 0.5em);top:calc(50% - 0.5em);border:3px solid;border-right-color:transparent;border-top-color:transparent}.bds-button--size-sm{border-radius:var(--boreal-radius-xs);font-size:var(--boreal-typography-font-size-xs);padding:var(--boreal-spacing-3xs) var(--boreal-spacing-2xs);line-height:var(--boreal-typography-line-height-xs);height:26px}.bds-button--size-sm .bds-button__content{padding:var(--boreal-spacing-3xs) var(--boreal-spacing-2xs)}.bds-button--size-sm .bds-button__content-icon{display:-ms-flexbox;display:flex;font-size:var(--boreal-typography-font-size-sm);line-height:var(--boreal-typography-line-height-xs)}.bds-button--size-sm .bds-button__content-icon:empty{display:none}.bds-button--size-sm .bds-button__content{}.bds-button--size-sm .bds-button__content-badge:empty{display:none}.bds-button--size-sm .bds-button__content-badge{display:none}.bds-button--size-md{border-radius:var(--boreal-radius-xs);font-size:var(--boreal-typography-font-size-sm);padding:var(--boreal-spacing-2xs) var(--boreal-spacing-1xs);line-height:var(--boreal-typography-line-height-sm);height:32px}.bds-button--size-md .bds-button__content{padding:var(--boreal-spacing-3xs) var(--boreal-spacing-2xs)}.bds-button--size-md .bds-button__content-icon{display:-ms-flexbox;display:flex;font-size:var(--boreal-typography-font-size-md);line-height:var(--boreal-typography-line-height-sm)}.bds-button--size-md .bds-button__content-icon:empty{display:none}.bds-button--size-md .bds-button__content{}.bds-button--size-md .bds-button__content-badge:empty{display:none}.bds-button--size-lg{border-radius:var(--boreal-radius-xs);font-size:var(--boreal-typography-font-size-md);padding:var(--boreal-spacing-xs);line-height:var(--boreal-typography-line-height-md);height:44px}.bds-button--size-lg .bds-button__content{padding:var(--boreal-spacing-3xs) var(--boreal-spacing-2xs)}.bds-button--size-lg .bds-button__content-icon{display:-ms-flexbox;display:flex;font-size:var(--boreal-typography-font-size-lg);line-height:var(--boreal-typography-line-height-md)}.bds-button--size-lg .bds-button__content-icon:empty{display:none}.bds-button--size-lg .bds-button__content{}.bds-button--size-lg .bds-button__content-badge:empty{display:none}.bds-button.bds-button--var-default.bds-button--default{color:var(--boreal-text-default);background-color:var(--boreal-ui-inverse);border-color:transparent}.bds-button.bds-button--var-default.bds-button--default: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-button.bds-button--var-default.bds-button--default: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-button.bds-button--var-default.bds-button--default:active,.bds-button.bds-button--var-default.bds-button--default.bds-button--state-active{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-active);box-shadow:var(--boreal-depth-box-shadow-active)}.bds-button.bds-button--var-default.bds-button--default.bds-button--is-disabled,.bds-button.bds-button--var-default.bds-button--default.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-disabled);background-color:var(--boreal-ui-inverse);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-default.bds-button--default.bds-button--is-loading::after{border-left-color:var(--boreal-text-disabled);border-bottom-color:var(--boreal-text-disabled)}.bds-button.bds-button--var-default.bds-button--primary{color:var(--boreal-text-inverse);background-color:var(--boreal-ui-primary-base);border-color:transparent}.bds-button.bds-button--var-default.bds-button--primary:hover{background-color:var(--boreal-ui-primary-dark);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-button.bds-button--var-default.bds-button--primary:focus{background-color:var(--boreal-ui-primary-base);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-default.bds-button--primary:active,.bds-button.bds-button--var-default.bds-button--primary.bds-button--state-active{background-color:var(--boreal-ui-primary-dark);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-default.bds-button--primary.bds-button--is-disabled,.bds-button.bds-button--var-default.bds-button--primary.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-inverse);background-color:var(--boreal-ui-primary-light);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-default.bds-button--primary.bds-button--is-loading::after{border-left-color:var(--boreal-text-inverse);border-bottom-color:var(--boreal-text-inverse)}.bds-button.bds-button--var-default.bds-button--success{color:var(--boreal-text-inverse);background-color:var(--boreal-ui-success-base);border-color:transparent}.bds-button.bds-button--var-default.bds-button--success:hover{background-color:var(--boreal-ui-success-dark);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-button.bds-button--var-default.bds-button--success:focus{background-color:var(--boreal-ui-success-base);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-default.bds-button--success:active,.bds-button.bds-button--var-default.bds-button--success.bds-button--state-active{background-color:var(--boreal-ui-success-dark);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-default.bds-button--success.bds-button--is-disabled,.bds-button.bds-button--var-default.bds-button--success.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-inverse);background-color:var(--boreal-ui-success-light);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-default.bds-button--success.bds-button--is-loading::after{border-left-color:var(--boreal-text-inverse);border-bottom-color:var(--boreal-text-inverse)}.bds-button.bds-button--var-default.bds-button--error{color:var(--boreal-text-inverse);background-color:var(--boreal-ui-danger-base);border-color:transparent}.bds-button.bds-button--var-default.bds-button--error:hover{background-color:var(--boreal-ui-danger-dark);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-button.bds-button--var-default.bds-button--error:focus{background-color:var(--boreal-ui-danger-base);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-default.bds-button--error:active,.bds-button.bds-button--var-default.bds-button--error.bds-button--state-active{background-color:var(--boreal-ui-danger-dark);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-default.bds-button--error.bds-button--is-disabled,.bds-button.bds-button--var-default.bds-button--error.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-inverse);background-color:var(--boreal-ui-danger-light);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-default.bds-button--error.bds-button--is-loading::after{border-left-color:var(--boreal-text-inverse);border-bottom-color:var(--boreal-text-inverse)}.bds-button.bds-button--var-outline{background-color:transparent}.bds-button.bds-button--var-outline.bds-button--default{color:var(--boreal-text-default);background-color:transparent;border-color:var(--boreal-stroke-default-light)}.bds-button.bds-button--var-outline.bds-button--default: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-button.bds-button--var-outline.bds-button--default: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-button.bds-button--var-outline.bds-button--default:active,.bds-button.bds-button--var-outline.bds-button--default.bds-button--state-active{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-button.bds-button--var-outline.bds-button--default.bds-button--is-disabled,.bds-button.bds-button--var-outline.bds-button--default.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-disabled);background-color:var(--boreal-ui-inverse);border-color:var(--boreal-stroke-default-light);-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-outline.bds-button--default.bds-button--is-loading::after{border-left-color:var(--boreal-text-disabled);border-bottom-color:var(--boreal-text-disabled)}.bds-button.bds-button--var-outline.bds-button--primary{color:var(--boreal-text-primary-base);background-color:transparent;border-color:var(--boreal-ui-primary-base)}.bds-button.bds-button--var-outline.bds-button--primary:hover{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-button.bds-button--var-outline.bds-button--primary:focus{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-outline.bds-button--primary:active,.bds-button.bds-button--var-outline.bds-button--primary.bds-button--state-active{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-outline.bds-button--primary.bds-button--is-disabled,.bds-button.bds-button--var-outline.bds-button--primary.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-primary-light);background-color:transparent;border-color:var(--boreal-stroke-primary-light);-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-outline.bds-button--primary.bds-button--is-loading::after{border-left-color:var(--boreal-text-primary-light);border-bottom-color:var(--boreal-text-primary-light)}.bds-button.bds-button--var-outline.bds-button--success{color:var(--boreal-text-success-base);background-color:transparent;border-color:var(--boreal-stroke-success-base)}.bds-button.bds-button--var-outline.bds-button--success:hover{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-button.bds-button--var-outline.bds-button--success:focus{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-outline.bds-button--success:active,.bds-button.bds-button--var-outline.bds-button--success.bds-button--state-active{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-outline.bds-button--success.bds-button--is-disabled,.bds-button.bds-button--var-outline.bds-button--success.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-success-light);background-color:transparent;border-color:var(--boreal-stroke-success-light);-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-outline.bds-button--success.bds-button--is-loading::after{border-left-color:var(--boreal-text-success-light);border-bottom-color:var(--boreal-text-success-light)}.bds-button.bds-button--var-outline.bds-button--error{color:var(--boreal-text-danger-base);background-color:transparent;border-color:var(--boreal-stroke-danger-base)}.bds-button.bds-button--var-outline.bds-button--error:hover{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-button.bds-button--var-outline.bds-button--error:focus{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-outline.bds-button--error:active,.bds-button.bds-button--var-outline.bds-button--error.bds-button--state-active{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-outline.bds-button--error.bds-button--is-disabled,.bds-button.bds-button--var-outline.bds-button--error.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-danger-light);background-color:transparent;border-color:var(--boreal-stroke-danger-light);-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-outline.bds-button--error.bds-button--is-loading::after{border-left-color:var(--boreal-text-danger-light);border-bottom-color:var(--boreal-text-danger-light)}.bds-button.bds-button--var-plain{background-color:transparent}.bds-button.bds-button--var-plain.bds-button--default{color:var(--boreal-text-default);background-color:transparent;border-color:transparent}.bds-button.bds-button--var-plain.bds-button--default: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-button.bds-button--var-plain.bds-button--default: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-button.bds-button--var-plain.bds-button--default:active,.bds-button.bds-button--var-plain.bds-button--default.bds-button--state-active{background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-active);box-shadow:var(--boreal-depth-box-shadow-active)}.bds-button.bds-button--var-plain.bds-button--default.bds-button--is-disabled,.bds-button.bds-button--var-plain.bds-button--default.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-disabled);background-color:var(--boreal-ui-inverse);border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-plain.bds-button--default.bds-button--is-loading::after{border-left-color:var(--boreal-text-disabled);border-bottom-color:var(--boreal-text-disabled)}.bds-button.bds-button--var-plain.bds-button--primary{color:var(--boreal-text-primary-base);background-color:transparent;border-color:transparent}.bds-button.bds-button--var-plain.bds-button--primary:hover{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-button.bds-button--var-plain.bds-button--primary:focus{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-plain.bds-button--primary:active,.bds-button.bds-button--var-plain.bds-button--primary.bds-button--state-active{background-color:var(--boreal-ui-primary-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-active);box-shadow:var(--boreal-depth-box-shadow-active)}.bds-button.bds-button--var-plain.bds-button--primary.bds-button--is-disabled,.bds-button.bds-button--var-plain.bds-button--primary.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-primary-light);background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-plain.bds-button--primary.bds-button--is-loading::after{border-left-color:var(--boreal-text-primary-light);border-bottom-color:var(--boreal-text-primary-light)}.bds-button.bds-button--var-plain.bds-button--success{color:var(--boreal-text-success-base);background-color:transparent;border-color:transparent}.bds-button.bds-button--var-plain.bds-button--success:hover{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-button.bds-button--var-plain.bds-button--success:focus{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-plain.bds-button--success:active,.bds-button.bds-button--var-plain.bds-button--success.bds-button--state-active{background-color:var(--boreal-ui-success-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-active);box-shadow:var(--boreal-depth-box-shadow-active)}.bds-button.bds-button--var-plain.bds-button--success.bds-button--is-disabled,.bds-button.bds-button--var-plain.bds-button--success.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-success-light);background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-plain.bds-button--success.bds-button--is-loading::after{border-left-color:var(--boreal-text-success-light);border-bottom-color:var(--boreal-text-success-light)}.bds-button.bds-button--var-plain.bds-button--error{color:var(--boreal-text-danger-base);background-color:transparent;border-color:transparent}.bds-button.bds-button--var-plain.bds-button--error:hover{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-button.bds-button--var-plain.bds-button--error:focus{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus)}.bds-button.bds-button--var-plain.bds-button--error:active,.bds-button.bds-button--var-plain.bds-button--error.bds-button--state-active{background-color:var(--boreal-ui-danger-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-active);box-shadow:var(--boreal-depth-box-shadow-active)}.bds-button.bds-button--var-plain.bds-button--error.bds-button--is-disabled,.bds-button.bds-button--var-plain.bds-button--error.bds-button--is-loading{cursor:not-allowed;color:var(--boreal-text-danger-light);background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bds-button.bds-button--var-plain.bds-button--error.bds-button--is-loading::after{border-left-color:var(--boreal-text-danger-light);border-bottom-color:var(--boreal-text-danger-light)}@-webkit-keyframes rotateSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotateSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}`;
|
|
8
12
|
|
|
9
13
|
const BdsButton = class {
|
|
10
14
|
constructor(hostRef) {
|
|
@@ -17,6 +21,7 @@ const BdsButton = class {
|
|
|
17
21
|
this.internals = hostRef.$hostElement$.attachInternals();
|
|
18
22
|
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
19
23
|
}
|
|
24
|
+
this._keyboard = new KeyboardController();
|
|
20
25
|
/** State to manage states */
|
|
21
26
|
this.currentState = COMPONENT_STATES.DEFAULT;
|
|
22
27
|
/* Props to manage the button attributes */
|
|
@@ -40,10 +45,14 @@ const BdsButton = class {
|
|
|
40
45
|
this.disclosure = false;
|
|
41
46
|
/** Event for listen keydown from button, make navigation easier */
|
|
42
47
|
this.handleKeyDown = (event) => {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
48
|
+
this.currentState = COMPONENT_STATES.ACTIVE;
|
|
49
|
+
if (this.disabled || this.loading)
|
|
50
|
+
return;
|
|
51
|
+
if (this.type === BUTTON_TYPES.SUBMIT || this.type === BUTTON_TYPES.RESET) {
|
|
52
|
+
this.processFormClick();
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
this.bdsClick.emit(event);
|
|
47
56
|
}
|
|
48
57
|
};
|
|
49
58
|
/** reset status on keyup */
|
|
@@ -56,6 +65,8 @@ const BdsButton = class {
|
|
|
56
65
|
event.stopPropagation();
|
|
57
66
|
if (this.disabled || this.loading)
|
|
58
67
|
return;
|
|
68
|
+
if (event.detail === 0)
|
|
69
|
+
return;
|
|
59
70
|
if (this.type === BUTTON_TYPES.SUBMIT || this.type === BUTTON_TYPES.RESET) {
|
|
60
71
|
this.processFormClick();
|
|
61
72
|
}
|
|
@@ -78,6 +89,19 @@ const BdsButton = class {
|
|
|
78
89
|
/** After component rendered */
|
|
79
90
|
componentDidLoad() {
|
|
80
91
|
this.setupFormAssociation();
|
|
92
|
+
this.setupKeyboard();
|
|
93
|
+
}
|
|
94
|
+
/** Bind keyboard events through KeyboardController. */
|
|
95
|
+
setupKeyboard() {
|
|
96
|
+
this._keyboard
|
|
97
|
+
.attach(this.el)
|
|
98
|
+
.set([KEYBOARD.Enter, KEYBOARD.Space], (event) => {
|
|
99
|
+
if (event.type === KEY_TRIGGERS.KEYDOWN)
|
|
100
|
+
this.handleKeyDown(event);
|
|
101
|
+
else
|
|
102
|
+
this.handleKeyUp();
|
|
103
|
+
}, { triggers: [KEY_TRIGGERS.KEYDOWN, KEY_TRIGGERS.KEYUP], preventDefault: false })
|
|
104
|
+
.onFocusOut(this.handleKeyUp);
|
|
81
105
|
}
|
|
82
106
|
/** Select closest form or internal form from ElementInternals */
|
|
83
107
|
setupFormAssociation() {
|
|
@@ -108,6 +132,9 @@ const BdsButton = class {
|
|
|
108
132
|
}
|
|
109
133
|
return;
|
|
110
134
|
}
|
|
135
|
+
disconnectedCallback() {
|
|
136
|
+
this._keyboard.detach();
|
|
137
|
+
}
|
|
111
138
|
/* Method to get the class map for the button based on the props */
|
|
112
139
|
get getClassMap() {
|
|
113
140
|
return {
|
|
@@ -122,7 +149,7 @@ const BdsButton = class {
|
|
|
122
149
|
}
|
|
123
150
|
/* render button depends on variant */
|
|
124
151
|
render() {
|
|
125
|
-
return (h("button", { key: '
|
|
152
|
+
return (h("button", { key: 'c79564584911edae6ec1cafeb98cc3df848bf70c', name: this.name, class: this.getClassMap, type: this.type, disabled: this.disabled || this.loading, "aria-label": this.label || undefined, "aria-disabled": this.disabled || this.loading, onClick: this.handleClick, onKeyUp: this.handleKeyUp }, h("div", { key: '75b3061a16259a504177bf8824cfa9f236a72411', class: "bds-button__content" }, h("span", { key: '53d81ba990237be2c48f98d4d9e995d5a7330cdc', class: "bds-button__content-icon bds-button__content-icon--start" }, h("slot", { key: '6cebb89369396fc34480821720fa6da635409563', name: "icon" })), h("slot", { key: '237237e29f08ee510cd95bafbd481f3856f1b08f' }), h("span", { key: '67c515f4faaac368d0bcdf20ef64a6717cfda3be', class: "bds-button__content-badge" }, h("slot", { key: 'd0e6fc25d95ba960e4b3b3940321a4221769e8ad', name: "badge" })), this.disclosure && (h("span", { key: 'ffae85e8d38481098323ee36549596bfb61e5b4a', class: "bds-button__content-icon" }, h("i", { key: '633b27a4306ba7c159f15eac9e5b9e712e19cbe0', class: "bds-icon-chevron-down" }))))));
|
|
126
153
|
}
|
|
127
154
|
static get formAssociated() { return true; }
|
|
128
155
|
get el() { return getElement(this); }
|
|
@@ -0,0 +1,117 @@
|
|
|
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 { u as useFormCheckbox } from './checkbox-form-association-cgdh1LO-.js';
|
|
4
|
+
|
|
5
|
+
const bdsCheckboxButtonCss = () => `@charset "UTF-8";.bds-checkbox-button{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;gap:var(--boreal-spacing-2xs);padding:var(--boreal-spacing-2xs) var(--boreal-spacing-s);border:1px solid transparent;border-radius:var(--boreal-radius-s);background-color:var(--boreal-ui-default-base);color:var(--boreal-text-default);cursor:pointer;outline:none;-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-button input[type=checkbox],.bds-checkbox-button input[type=radio]{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.bds-checkbox-button [slot=icon]{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}.bds-checkbox-button:hover:not(.bds-checkbox-button--disabled):not(.bds-checkbox-button--checked):not(.bds-checkbox-button--error){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-button:focus-visible,.bds-checkbox-button:focus{z-index:1;background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-focus);box-shadow:var(--boreal-depth-box-shadow-focus);outline:none}.bds-checkbox-button:active:not(.bds-checkbox-button--disabled):not(.bds-checkbox-button--checked):not(.bds-checkbox-button--error){z-index:1;background-color:var(--boreal-ui-default-lighter);-webkit-box-shadow:var(--boreal-depth-box-shadow-active);box-shadow:var(--boreal-depth-box-shadow-active)}.bds-checkbox-button--checked{background-color:var(--boreal-ui-inverse);border-color:var(--boreal-stroke-primary-base);color:var(--boreal-text-primary-base)}.bds-checkbox-button--checked:hover,.bds-checkbox-button--checked:focus-visible,.bds-checkbox-button--checked:focus,.bds-checkbox-button--checked:active{background-color:var(--boreal-ui-primary-lighter)}.bds-checkbox-button--error{background-color:var(--boreal-ui-inverse);color:var(--boreal-text-danger-base)}.bds-checkbox-button--error:hover,.bds-checkbox-button--error:focus-visible,.bds-checkbox-button--error:focus,.bds-checkbox-button--error:active{background-color:var(--boreal-ui-danger-lighter)}.bds-checkbox-button--error.bds-checkbox-button--checked{border-color:var(--boreal-stroke-danger-base)}.bds-checkbox-button--disabled{cursor:not-allowed;pointer-events:none;background-color:var(--boreal-ui-inverse);color:var(--boreal-text-disabled)}.bds-checkbox-button--disabled.bds-checkbox-button--checked{border-color:var(--boreal-stroke-primary-light);color:var(--boreal-text-primary-light)}.bds-checkbox-button__label{font-family:var(--boreal-typography-font-family-primary);font-size:var(--boreal-typography-font-size-sm);font-weight:var(--boreal-typography-font-weight-semibold);line-height:var(--boreal-typography-line-height-sm)}.bds-checkbox-button__info{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}.bds-checkbox-button__icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.bds-checkbox-button__icon:empty{display:none}.bds-checkbox-button__info-icon{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;font-size:var(--boreal-typography-font-size-sm);line-height:1;color:var(--boreal-icon-default-ink)}`;
|
|
6
|
+
|
|
7
|
+
const BdsCheckboxButton = class extends Mixin(formAssociatedMixin) {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
super();
|
|
10
|
+
registerInstance(this, hostRef);
|
|
11
|
+
this.valueChange = createEvent(this, "valueChange");
|
|
12
|
+
this.bdsChange = createEvent(this, "bdsChange");
|
|
13
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
14
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
18
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
19
|
+
}
|
|
20
|
+
this.isDisabled = false;
|
|
21
|
+
this.isInvalid = false;
|
|
22
|
+
/** Name of the form control, submitted as a key in the form data. */
|
|
23
|
+
this.name = '';
|
|
24
|
+
/** Disables the button, preventing interaction. Propagated by `bds-checkbox-group` when the group is disabled. */
|
|
25
|
+
this.disabled = false;
|
|
26
|
+
/** Marks this button as required for form submission. Has no effect when used inside `bds-checkbox-group`. */
|
|
27
|
+
this.required = false;
|
|
28
|
+
/** Toggle state of this button. Flips on every interaction when not disabled. */
|
|
29
|
+
this.checked = false;
|
|
30
|
+
/** Shows error styling on the button. */
|
|
31
|
+
this.error = false;
|
|
32
|
+
/** Value associated with this button; submitted with form data when checked. */
|
|
33
|
+
this.value = 'on';
|
|
34
|
+
/** Label text displayed inside the button. Falls back to the default slot when empty. */
|
|
35
|
+
this.label = '';
|
|
36
|
+
/** Tooltip text shown on an info icon next to the label. */
|
|
37
|
+
this.info = '';
|
|
38
|
+
this.formCheckbox = useFormCheckbox(this, this.value);
|
|
39
|
+
this.handleClick = () => this.toggle();
|
|
40
|
+
this.handleKeyDown = (event) => {
|
|
41
|
+
if (event.key === ' ') {
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
this.toggle();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
componentWillLoad() {
|
|
48
|
+
this.isDisabled = this.disabled;
|
|
49
|
+
}
|
|
50
|
+
componentDidLoad() {
|
|
51
|
+
this.formCheckbox.syncFormValue();
|
|
52
|
+
}
|
|
53
|
+
onCheckedChange() {
|
|
54
|
+
this.formCheckbox.syncFormValue();
|
|
55
|
+
}
|
|
56
|
+
onDisabledChange(next) {
|
|
57
|
+
this.isDisabled = next;
|
|
58
|
+
}
|
|
59
|
+
formAssociatedCallback() {
|
|
60
|
+
this.formCheckbox.formAssociatedCallback();
|
|
61
|
+
}
|
|
62
|
+
formResetCallback() {
|
|
63
|
+
this.formCheckbox.formResetCallback();
|
|
64
|
+
}
|
|
65
|
+
formStateRestoreCallback(state) {
|
|
66
|
+
this.formCheckbox.formStateRestoreCallback(state);
|
|
67
|
+
}
|
|
68
|
+
formDisabledCallback(disabled) {
|
|
69
|
+
this.formCheckbox.formDisabledCallback(disabled);
|
|
70
|
+
}
|
|
71
|
+
handleInvalid(event) {
|
|
72
|
+
event.preventDefault();
|
|
73
|
+
this.isInvalid = true;
|
|
74
|
+
}
|
|
75
|
+
/** Returns whether this button satisfies its validation constraints. */
|
|
76
|
+
async checkValidity() {
|
|
77
|
+
return this.internals.checkValidity();
|
|
78
|
+
}
|
|
79
|
+
/** Reports validity to the user, showing native validation UI if invalid. */
|
|
80
|
+
async reportValidity() {
|
|
81
|
+
return this.internals.reportValidity();
|
|
82
|
+
}
|
|
83
|
+
toggle() {
|
|
84
|
+
if (this.isDisabled)
|
|
85
|
+
return;
|
|
86
|
+
this.checked = !this.checked;
|
|
87
|
+
this.bdsChange.emit({ checked: this.checked, value: this.value });
|
|
88
|
+
this.valueChange.emit(this.checked);
|
|
89
|
+
}
|
|
90
|
+
get isError() {
|
|
91
|
+
return (this.error && !this.isDisabled) || this.isInvalid;
|
|
92
|
+
}
|
|
93
|
+
get classMap() {
|
|
94
|
+
return {
|
|
95
|
+
'bds-checkbox-button': true,
|
|
96
|
+
'bds-checkbox-button--checked': this.checked,
|
|
97
|
+
'bds-checkbox-button--error': this.isError,
|
|
98
|
+
'bds-checkbox-button--disabled': this.isDisabled,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
render() {
|
|
102
|
+
return (h(Host, { key: '39d1432637929a38909bb0d3a768619d27af09c1', class: this.classMap, role: "checkbox", "aria-checked": `${this.checked}`, "aria-disabled": this.isDisabled ? 'true' : null, "aria-required": this.required ? 'true' : null, "aria-invalid": this.isError ? 'true' : null, tabIndex: this.isDisabled ? -1 : 0, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("input", { key: 'fdd48deeb69445ecdde9cb2ce3556a3f07286602', type: "checkbox", value: this.value, checked: this.checked, disabled: this.disabled, "aria-hidden": "true", tabIndex: -1, onFocus: () => this.el.focus() }), h("span", { key: '96783bbf11a64262b8ebe88487cd2cc16f4d4263', class: "bds-checkbox-button__icon" }, h("slot", { key: 'de45f31aa9a6774f33a36c6238380014be066d50', name: "icon" })), h("span", { key: '9f94a920639d50a6949bf5272bc6fe6057701bee', class: "bds-checkbox-button__label" }, this.label || h("slot", { key: '8fb82d43c376371110a24a0310a15a7911f42964' })), this.info && (h("span", { key: '9f128d14a257bae34ab64be3e1b76b1ccfce295b', class: "bds-checkbox-button__info" }, h("span", { key: 'b3baa9bf7172810a8d5971d9e58939de24861da8', class: "bds-checkbox-button__info-icon bds-icon-info-circle", "aria-hidden": "true" }), h("bds-tooltip", { key: 'bea872bace0b177316103002f7a3d17ac65fb951' }, this.info)))));
|
|
103
|
+
}
|
|
104
|
+
static get formAssociated() { return true; }
|
|
105
|
+
get el() { return getElement(this); }
|
|
106
|
+
static get watchers() { return {
|
|
107
|
+
"checked": [{
|
|
108
|
+
"onCheckedChange": 0
|
|
109
|
+
}],
|
|
110
|
+
"disabled": [{
|
|
111
|
+
"onDisabledChange": 0
|
|
112
|
+
}]
|
|
113
|
+
}; }
|
|
114
|
+
};
|
|
115
|
+
BdsCheckboxButton.style = bdsCheckboxButtonCss();
|
|
116
|
+
|
|
117
|
+
export { BdsCheckboxButton as bds_checkbox_button };
|