@telesign/boreal-web-components 0.1.0-alpha.3 → 0.1.0-alpha.5
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.d.ts +11 -0
- package/components-build/bds-avatar.js +1 -0
- package/components-build/bds-badge.d.ts +11 -0
- package/components-build/bds-badge.js +1 -0
- package/components-build/bds-banner.js +1 -1
- package/components-build/bds-button-group.d.ts +11 -0
- package/components-build/bds-button-group.js +1 -0
- package/components-build/bds-button.js +1 -1
- package/components-build/bds-checkbox-card.d.ts +11 -0
- package/components-build/bds-checkbox-card.js +1 -0
- package/components-build/bds-checkbox.js +1 -1
- package/components-build/bds-dialog.js +1 -1
- package/components-build/bds-divider.d.ts +11 -0
- package/components-build/bds-divider.js +1 -0
- package/components-build/bds-flag.js +1 -1
- package/components-build/bds-grid-item.d.ts +11 -0
- package/components-build/bds-grid-item.js +1 -0
- package/components-build/bds-grid.d.ts +11 -0
- package/components-build/bds-grid.js +1 -0
- package/components-build/bds-list-menu-item.d.ts +11 -0
- package/components-build/bds-list-menu-item.js +1 -0
- package/components-build/bds-list-menu.d.ts +11 -0
- package/components-build/bds-list-menu.js +1 -0
- package/components-build/bds-popover.js +1 -1
- package/components-build/bds-radio-button.d.ts +11 -0
- package/components-build/bds-radio-button.js +1 -0
- package/components-build/bds-radio-card.d.ts +11 -0
- package/components-build/bds-radio-card.js +1 -0
- package/components-build/bds-radio-group.d.ts +11 -0
- package/components-build/bds-radio-group.js +1 -0
- package/components-build/bds-radio.d.ts +11 -0
- package/components-build/bds-radio.js +1 -0
- package/components-build/bds-spinner.js +1 -1
- package/components-build/bds-status.d.ts +11 -0
- package/components-build/bds-status.js +1 -0
- package/components-build/bds-tag.d.ts +11 -0
- package/components-build/bds-tag.js +1 -0
- package/components-build/bds-text-field.js +1 -1
- package/components-build/bds-toggle.d.ts +11 -0
- package/components-build/bds-toggle.js +1 -0
- package/components-build/bds-tooltip.js +1 -1
- package/components-build/bds-typography.js +1 -1
- package/components-build/index.js +1 -1
- package/components-build/p-BSlaf0ff.js +1 -0
- package/components-build/p-Bfazyxqi.js +1 -0
- package/components-build/p-CPvuMm5C.js +1 -0
- package/components-build/p-Cbibqaz0.js +1 -0
- package/components-build/p-ClR-wgiT.js +1 -0
- package/components-build/p-DfaYciGa.js +1 -0
- package/components-build/p-Dh8DSJs_.js +1 -0
- package/components-build/p-DhSchGPI.js +1 -0
- package/components-build/p-N_tqtRV2.js +1 -0
- package/components-build/p-bAMuJ4Jx.js +1 -0
- package/components-build/p-c2z3tneT.js +1 -0
- package/components-build/p-dz9-Q2N8.js +1 -0
- package/components-build/{p-CaHOghy5.js → p-fUK0GCeC.js} +1 -1
- package/components-build/p-iq2UuV7c.js +1 -0
- package/components-build/p-kGnB15Lz.js +1 -0
- package/components-build/p-nxYzL9uu.js +1 -0
- package/custom-elements.json +4611 -891
- package/dist/boreal-web-components/boreal-web-components.esm.js +1 -1
- package/dist/boreal-web-components/boreal-web-components.js +1 -1
- package/dist/boreal-web-components/css/boreal.css +1066 -1074
- package/dist/boreal-web-components/css/global.css +403 -407
- package/dist/boreal-web-components/css/theme-connect.css +163 -164
- package/dist/boreal-web-components/css/theme-engage.css +163 -164
- package/dist/boreal-web-components/css/theme-protect.css +163 -164
- package/dist/boreal-web-components/css/theme-proximus.css +164 -165
- package/dist/boreal-web-components/p-024d90b0.system.entry.js +1 -0
- package/dist/boreal-web-components/p-06DrzEMB.system.js +1 -0
- package/dist/boreal-web-components/p-11e4c0ec.system.entry.js +1 -0
- package/dist/boreal-web-components/p-147d6652.system.entry.js +1 -0
- package/dist/boreal-web-components/p-148d510f.entry.js +1 -0
- package/dist/boreal-web-components/p-19f9352d.entry.js +1 -0
- package/dist/boreal-web-components/p-277f142e.system.entry.js +1 -0
- package/dist/boreal-web-components/{p-8c57e06a.entry.js → p-2adf2cd5.entry.js} +1 -1
- package/dist/boreal-web-components/p-2be4aa3a.system.entry.js +1 -0
- package/dist/boreal-web-components/p-340896b2.entry.js +1 -0
- package/dist/boreal-web-components/p-365e8e5c.system.entry.js +1 -0
- package/dist/boreal-web-components/p-3d4ce8eb.system.entry.js +1 -0
- package/dist/boreal-web-components/p-44a8fde5.entry.js +1 -0
- package/dist/boreal-web-components/{p-efe57901.system.entry.js → p-48ebbfbe.system.entry.js} +1 -1
- package/dist/boreal-web-components/{p-5fa53a80.system.entry.js → p-4dc01078.system.entry.js} +1 -1
- package/dist/boreal-web-components/p-5681b294.system.entry.js +1 -0
- package/dist/boreal-web-components/p-5ed75075.entry.js +1 -0
- package/dist/boreal-web-components/p-635f676b.system.entry.js +1 -0
- package/dist/boreal-web-components/p-6629be14.entry.js +1 -0
- package/dist/boreal-web-components/p-68b83680.system.entry.js +1 -0
- package/dist/boreal-web-components/p-6a60d134.system.entry.js +1 -0
- package/dist/boreal-web-components/p-71ed1e1d.entry.js +1 -0
- package/dist/boreal-web-components/p-732e98f1.system.entry.js +1 -0
- package/dist/boreal-web-components/p-77658a5b.system.entry.js +1 -0
- package/dist/boreal-web-components/p-7aff4c78.entry.js +1 -0
- package/dist/boreal-web-components/p-7bb88855.entry.js +1 -0
- package/dist/boreal-web-components/p-7d3a8f61.entry.js +1 -0
- package/dist/boreal-web-components/p-7e672cce.entry.js +1 -0
- package/dist/boreal-web-components/p-7ebc67c9.entry.js +1 -0
- package/dist/boreal-web-components/p-81401e2a.system.entry.js +1 -0
- package/dist/boreal-web-components/p-8289e506.entry.js +1 -0
- package/dist/boreal-web-components/p-82d15372.entry.js +1 -0
- package/dist/boreal-web-components/p-851c06f2.entry.js +1 -0
- package/dist/boreal-web-components/p-8a3716ec.entry.js +1 -0
- package/dist/boreal-web-components/p-8f4f8af0.system.entry.js +1 -0
- package/dist/boreal-web-components/p-93066db4.system.entry.js +1 -0
- package/dist/boreal-web-components/p-Bfazyxqi.js +1 -0
- package/dist/boreal-web-components/{p-D4EFsvs1.js → p-BqJlOB6b.js} +2 -2
- package/dist/boreal-web-components/p-BsZkk4oK.system.js +1 -0
- package/dist/boreal-web-components/p-C-g3hhl_.system.js +1 -0
- package/dist/boreal-web-components/p-C0P3gzq5.system.js +1 -0
- package/dist/boreal-web-components/p-C4HM8wQe.js +1 -0
- package/dist/boreal-web-components/p-CPvuMm5C.js +1 -0
- package/dist/boreal-web-components/p-CRMH6mfq.system.js +1 -0
- package/dist/boreal-web-components/p-CU_dRLdk.system.js +1 -0
- package/dist/boreal-web-components/p-CW4-dkCF.system.js +1 -0
- package/dist/boreal-web-components/p-CXz1RLGi.system.js +1 -0
- package/dist/boreal-web-components/p-DCKg5Cg_.system.js +2 -0
- package/dist/boreal-web-components/{p-BuxZeJbu.system.js → p-DSU8tkVw.system.js} +1 -1
- package/dist/boreal-web-components/p-DYlZcFrB.system.js +1 -0
- package/dist/boreal-web-components/p-DfaYciGa.js +1 -0
- package/dist/boreal-web-components/p-DhSchGPI.js +1 -0
- package/dist/boreal-web-components/p-DlVzZK7o.js +1 -0
- package/dist/boreal-web-components/p-DlYG-OVB.js +1 -0
- package/dist/boreal-web-components/p-DnIhjwCH.system.js +1 -0
- package/dist/boreal-web-components/p-DpnBDSUm.system.js +1 -0
- package/dist/boreal-web-components/p-Dwo1hcd9.js +1 -0
- package/dist/boreal-web-components/p-RhSdMyWk.system.js +1 -0
- package/dist/boreal-web-components/{p-CaHOghy5.js → p-U9yfbs7i.js} +1 -1
- package/dist/boreal-web-components/p-a73659ac.system.entry.js +1 -0
- package/dist/boreal-web-components/p-b2ad9535.system.entry.js +1 -0
- package/dist/boreal-web-components/p-d4c30d2b.entry.js +1 -0
- package/dist/boreal-web-components/p-db0c10b9.system.entry.js +1 -0
- package/dist/boreal-web-components/p-dc7d429c.entry.js +1 -0
- package/dist/boreal-web-components/p-dca16a3d.entry.js +1 -0
- package/dist/boreal-web-components/p-de846c43.system.entry.js +1 -0
- package/dist/boreal-web-components/p-df087e23.system.entry.js +1 -0
- package/dist/boreal-web-components/p-dfb4854e.entry.js +1 -0
- package/dist/boreal-web-components/p-dz9-Q2N8.js +1 -0
- package/dist/boreal-web-components/p-e09b4d14.system.entry.js +1 -0
- package/dist/boreal-web-components/p-e0a41cab.system.entry.js +1 -0
- package/dist/boreal-web-components/p-e55f2a8b.entry.js +1 -0
- package/dist/boreal-web-components/p-e7af1e1a.entry.js +1 -0
- package/dist/boreal-web-components/p-efe159aa.entry.js +1 -0
- package/dist/boreal-web-components/p-f65e9d0c.system.entry.js +1 -0
- package/dist/boreal-web-components/p-f792aa74.entry.js +1 -0
- package/dist/boreal-web-components/p-fb9a0e94.entry.js +1 -0
- package/dist/boreal-web-components/p-iq2UuV7c.js +1 -0
- package/dist/boreal-web-components/p-kGnB15Lz.js +1 -0
- package/dist/boreal-web-components/p-vzZJGcYF.system.js +1 -0
- package/dist/boreal-web-components/p-wREMI3WA.js +1 -0
- package/dist/boreal-web-components/scss/maps/_primitives.scss +404 -408
- package/dist/boreal-web-components/scss/maps/_theme-connect.scss +164 -165
- package/dist/boreal-web-components/scss/maps/_theme-engage.scss +164 -165
- package/dist/boreal-web-components/scss/maps/_theme-protect.scss +164 -165
- package/dist/boreal-web-components/scss/maps/_theme-proximus.scss +165 -166
- package/dist/boreal-web-components/scss/variables/_primitives.scss +404 -408
- package/dist/boreal-web-components/scss/variables/_theme-connect.scss +164 -165
- package/dist/boreal-web-components/scss/variables/_theme-engage.scss +164 -165
- package/dist/boreal-web-components/scss/variables/_theme-protect.scss +164 -165
- package/dist/boreal-web-components/scss/variables/_theme-proximus.scss +165 -166
- package/dist/cjs/BaseAttributes-DBBhKt7O.js +14 -0
- package/dist/cjs/Keys-rKl2za5q.js +18 -0
- package/dist/cjs/Logger-DnziItRH.js +51 -0
- package/dist/cjs/{attributes-wIHueigW.js → attributes-CgRFplrN.js} +3 -0
- package/dist/cjs/bds-avatar.cjs.entry.js +89 -0
- package/dist/cjs/bds-badge.cjs.entry.js +50 -0
- package/dist/cjs/bds-banner.cjs.entry.js +13 -6
- package/dist/cjs/bds-button-group.cjs.entry.js +95 -0
- package/dist/cjs/bds-button.cjs.entry.js +11 -17
- package/dist/cjs/bds-checkbox-card.cjs.entry.js +121 -0
- package/dist/cjs/bds-checkbox.cjs.entry.js +13 -6
- package/dist/cjs/bds-dialog.cjs.entry.js +8 -7
- package/dist/cjs/bds-divider.cjs.entry.js +46 -0
- package/dist/cjs/bds-flag.cjs.entry.js +3 -3
- package/dist/cjs/bds-grid-item.cjs.entry.js +93 -0
- package/dist/cjs/bds-grid.cjs.entry.js +37 -0
- package/dist/cjs/bds-list-menu-item.cjs.entry.js +493 -0
- package/dist/cjs/bds-list-menu.cjs.entry.js +199 -0
- package/dist/cjs/bds-popover.cjs.entry.js +19 -9
- package/dist/cjs/bds-radio-button.cjs.entry.js +60 -0
- package/dist/cjs/bds-radio-card.cjs.entry.js +76 -0
- package/dist/cjs/bds-radio-group.cjs.entry.js +285 -0
- package/dist/cjs/bds-radio.cjs.entry.js +60 -0
- package/dist/cjs/bds-spinner.cjs.entry.js +4 -4
- package/dist/cjs/bds-status.cjs.entry.js +59 -0
- package/dist/cjs/bds-tag.cjs.entry.js +140 -0
- package/dist/cjs/bds-text-field.cjs.entry.js +8 -17
- package/dist/cjs/bds-toggle.cjs.entry.js +187 -0
- package/dist/cjs/bds-tooltip_2.cjs.entry.js +321 -0
- package/dist/cjs/boreal-web-components.cjs.js +2 -2
- package/dist/cjs/coreColors-CQGojc0l.js +10 -0
- package/dist/cjs/{enum-DLblRCkQ.js → enum-DeTWfR0D.js} +3 -3
- package/dist/cjs/form-associated.mixin-BCR6bj29.js +33 -0
- package/dist/cjs/{anchored.mixin-CnIwkaUi.js → getOffset-k4ezB-eT.js} +45 -76
- package/dist/cjs/{index-BcSjvXJk.js → index-CwYIVC9N.js} +64 -0
- package/dist/cjs/{internals-X77qKxsK.js → internals-D8x7GMfR.js} +0 -31
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/menu-BxKaEajh.js +8 -0
- package/dist/cjs/orientation-DQAIleEJ.js +8 -0
- package/dist/cjs/{states-iIYiazaM.js → states-BweP5Vpu.js} +8 -0
- package/dist/cjs/validateProps-CJe9X5x8.js +42 -0
- package/dist/collection/collection-manifest.json +16 -0
- package/dist/collection/components/actions/bds-button/bds-button.css +19 -19
- package/dist/collection/components/actions/bds-button/bds-button.js +8 -8
- package/dist/collection/components/actions/bds-button/types/enum.js +3 -3
- package/dist/collection/components/actions/bds-button-group/bds-button-group.css +77 -0
- package/dist/collection/components/actions/bds-button-group/bds-button-group.js +245 -0
- package/dist/collection/components/actions/bds-button-group/types/IButtonGroup.js +1 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.css +51 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.js +400 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu/types/IListMenu.js +1 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu/types/enum.js +4 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu/types/types.js +1 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.css +87 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.js +482 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/types/IListMenuItem.js +1 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/types/enum.js +4 -0
- package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/types/types.js +1 -0
- package/dist/collection/components/actions/bds-toggle/bds-toggle.css +120 -0
- package/dist/collection/components/actions/bds-toggle/bds-toggle.js +544 -0
- package/dist/collection/components/actions/bds-toggle/types/IEventChange.js +1 -0
- package/dist/collection/components/actions/bds-toggle/types/IToggle.js +1 -0
- package/dist/collection/components/actions/bds-toggle/types/enum.js +4 -0
- package/dist/collection/components/actions/bds-toggle/types/index.js +4 -0
- package/dist/collection/components/actions/bds-toggle/types/types.js +1 -0
- package/dist/collection/components/feedback/bds-badge/bds-badge.css +76 -0
- package/dist/collection/components/feedback/bds-badge/bds-badge.js +120 -0
- package/dist/collection/components/feedback/bds-badge/types/IBadge.js +1 -0
- package/dist/collection/components/feedback/bds-badge/types/enum.js +5 -0
- package/dist/collection/components/feedback/bds-banner/bds-banner.css +1 -2
- package/dist/collection/components/feedback/bds-banner/bds-banner.js +30 -6
- package/dist/collection/components/feedback/bds-spinner/bds-spinner.css +7 -8
- package/dist/collection/components/feedback/bds-spinner/bds-spinner.js +1 -1
- package/dist/collection/components/feedback/bds-status/bds-status.css +101 -0
- package/dist/collection/components/feedback/bds-status/bds-status.js +122 -0
- package/dist/collection/components/feedback/bds-status/types/IStatus.js +1 -0
- package/dist/collection/components/feedback/bds-status/types/enum.js +5 -0
- package/dist/collection/components/feedback/bds-status/types/types.js +1 -0
- package/dist/collection/components/feedback/bds-tag/bds-tag.css +202 -0
- package/dist/collection/components/feedback/bds-tag/bds-tag.js +375 -0
- package/dist/collection/components/feedback/bds-tag/types/ITag.js +1 -0
- package/dist/collection/components/feedback/bds-tag/types/enum.js +10 -0
- package/dist/collection/components/feedback/bds-tag/types/index.js +3 -0
- package/dist/collection/components/feedback/bds-tag/types/types.js +1 -0
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox.css +9 -8
- package/dist/collection/components/forms/bds-checkbox/bds-checkbox.js +7 -1
- package/dist/collection/components/forms/bds-checkbox-card/bds-checkbox-card.css +127 -0
- package/dist/collection/components/forms/bds-checkbox-card/bds-checkbox-card.js +397 -0
- package/dist/collection/components/forms/bds-checkbox-card/types/ICheckboxCard.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 +121 -0
- package/dist/collection/components/forms/bds-radio/bds-radio.js +238 -0
- package/dist/collection/components/forms/bds-radio/types/IRadio.js +1 -0
- package/dist/collection/components/forms/bds-radio-button/bds-radio-button.css +109 -0
- package/dist/collection/components/forms/bds-radio-button/bds-radio-button.js +238 -0
- package/dist/collection/components/forms/bds-radio-button/types/IRadioButton.js +1 -0
- package/dist/collection/components/forms/bds-radio-card/bds-radio-card.css +156 -0
- package/dist/collection/components/forms/bds-radio-card/bds-radio-card.js +307 -0
- package/dist/collection/components/forms/bds-radio-card/types/IRadioCard.js +1 -0
- package/dist/collection/components/forms/bds-radio-group/bds-radio-group.css +55 -0
- package/dist/collection/components/forms/bds-radio-group/bds-radio-group.js +620 -0
- package/dist/collection/components/forms/bds-radio-group/types/IRadioGroup.js +1 -0
- package/dist/collection/components/forms/bds-radio-group/types/enum.js +5 -0
- package/dist/collection/components/forms/bds-radio-group/types/types.js +1 -0
- package/dist/collection/components/forms/bds-text-field/bds-text-field.js +1 -1
- package/dist/collection/components/helpers/bds-divider/bds-divider.css +44 -0
- package/dist/collection/components/helpers/bds-divider/bds-divider.js +88 -0
- package/dist/collection/components/helpers/bds-divider/types/IDivider.js +1 -0
- package/dist/collection/components/helpers/bds-divider/types/enum.js +4 -0
- package/dist/collection/components/helpers/bds-divider/types/types.js +1 -0
- package/dist/collection/components/images-icons/bds-avatar/bds-avatar.css +52 -0
- package/dist/collection/components/images-icons/bds-avatar/bds-avatar.js +219 -0
- package/dist/collection/components/images-icons/bds-avatar/types/IAvatar.js +1 -0
- package/dist/collection/components/images-icons/bds-avatar/types/enum.js +5 -0
- package/dist/collection/components/images-icons/bds-avatar/types/index.js +3 -0
- package/dist/collection/components/images-icons/bds-avatar/types/types.js +1 -0
- package/dist/collection/components/layouts/bds-grid/grid/bds-grid.css +57 -0
- package/dist/collection/components/layouts/bds-grid/grid/bds-grid.js +100 -0
- package/dist/collection/components/layouts/bds-grid/grid/types/IGrid.js +1 -0
- package/dist/collection/components/layouts/bds-grid/grid/types/enum.js +4 -0
- package/dist/collection/components/layouts/bds-grid/grid/types/index.js +3 -0
- package/dist/collection/components/layouts/bds-grid/grid/types/types.js +1 -0
- package/dist/collection/components/layouts/bds-grid/grid-item/bds-grid-item.css +70 -0
- package/dist/collection/components/layouts/bds-grid/grid-item/bds-grid-item.js +306 -0
- package/dist/collection/components/layouts/bds-grid/grid-item/types/IGridItem.js +1 -0
- package/dist/collection/components/layouts/bds-grid/grid-item/types/enum.js +10 -0
- package/dist/collection/components/layouts/bds-grid/grid-item/types/index.js +3 -0
- package/dist/collection/components/layouts/bds-grid/grid-item/types/types.js +1 -0
- package/dist/collection/components/overlays/bds-dialog/bds-dialog.js +4 -3
- package/dist/collection/components/overlays/bds-popover/bds-popover.css +16 -2
- package/dist/collection/components/overlays/bds-popover/bds-popover.js +12 -4
- package/dist/collection/components/overlays/bds-popover/constants/Offset.js +1 -0
- package/dist/collection/components/overlays/bds-tooltip/bds-tooltip.css +2 -13
- package/dist/collection/components/overlays/bds-tooltip/bds-tooltip.js +6 -4
- package/dist/collection/components/overlays/bds-tooltip/constants/Offset.js +1 -0
- package/dist/collection/components/titles-text/bds-typography/bds-typography.css +9 -0
- package/dist/collection/components/titles-text/bds-typography/bds-typography.js +20 -19
- package/dist/collection/components/titles-text/bds-typography/utils/bds-typography-utils.js +2 -2
- package/dist/collection/css/boreal.css +1066 -1074
- package/dist/collection/css/global.css +403 -407
- package/dist/collection/css/theme-connect.css +163 -164
- package/dist/collection/css/theme-engage.css +163 -164
- package/dist/collection/css/theme-protect.css +163 -164
- package/dist/collection/css/theme-proximus.css +164 -165
- package/dist/collection/mixins/anchored.mixin.js +16 -3
- package/dist/collection/mixins/index.js +2 -0
- package/dist/collection/mixins/links.mixin.js +152 -0
- package/dist/collection/mixins/menu-behavior.mixin.js +119 -0
- package/dist/collection/scss/maps/_primitives.scss +404 -408
- package/dist/collection/scss/maps/_theme-connect.scss +164 -165
- package/dist/collection/scss/maps/_theme-engage.scss +164 -165
- package/dist/collection/scss/maps/_theme-protect.scss +164 -165
- package/dist/collection/scss/maps/_theme-proximus.scss +165 -166
- package/dist/collection/scss/variables/_primitives.scss +404 -408
- package/dist/collection/scss/variables/_theme-connect.scss +164 -165
- package/dist/collection/scss/variables/_theme-engage.scss +164 -165
- package/dist/collection/scss/variables/_theme-protect.scss +164 -165
- package/dist/collection/scss/variables/_theme-proximus.scss +165 -166
- package/dist/collection/services/floating/positioning.service.js +1 -1
- package/dist/collection/types/IFormProps.js +1 -0
- package/dist/collection/types/index.js +5 -0
- package/dist/collection/types/links.js +1 -0
- package/dist/collection/types/menu.js +8 -0
- package/dist/collection/types/orientation.js +4 -0
- package/dist/collection/types/position.js +6 -2
- package/dist/collection/utils/constants/common/Keys.js +10 -12
- package/dist/collection/utils/helpers/overlays/getOffset.js +13 -0
- package/dist/collection/utils/helpers/validateProps.js +21 -0
- package/dist/collection/utils/index.js +2 -1
- package/dist/collection/utils/menu/index.js +1 -0
- package/dist/collection/utils/menu/menu-item.utils.js +82 -0
- package/dist/collection/utils/{__test__ → testing}/helpers.js +10 -0
- package/dist/collection/utils/{__test__ → testing}/index.js +0 -2
- package/dist/collection/utils/testing/mocks/console.js +30 -0
- package/dist/collection/utils/testing/mocks/index.js +4 -0
- package/dist/css/boreal.css +1066 -1074
- package/dist/css/global.css +403 -407
- package/dist/css/theme-connect.css +163 -164
- package/dist/css/theme-engage.css +163 -164
- package/dist/css/theme-protect.css +163 -164
- package/dist/css/theme-proximus.css +164 -165
- package/dist/esm/BaseAttributes-DhSchGPI.js +12 -0
- package/dist/esm/Keys-DlYG-OVB.js +16 -0
- package/dist/esm/Logger-iq2UuV7c.js +49 -0
- package/dist/esm/{attributes-CaHOghy5.js → attributes-U9yfbs7i.js} +3 -0
- package/dist/esm/bds-avatar.entry.js +87 -0
- package/dist/esm/bds-badge.entry.js +48 -0
- package/dist/esm/bds-banner.entry.js +13 -6
- package/dist/esm/bds-button-group.entry.js +93 -0
- package/dist/esm/bds-button.entry.js +9 -15
- package/dist/esm/bds-checkbox-card.entry.js +119 -0
- package/dist/esm/bds-checkbox.entry.js +12 -5
- package/dist/esm/bds-dialog.entry.js +8 -7
- package/dist/esm/bds-divider.entry.js +44 -0
- package/dist/esm/bds-flag.entry.js +3 -3
- package/dist/esm/bds-grid-item.entry.js +91 -0
- package/dist/esm/bds-grid.entry.js +35 -0
- package/dist/esm/bds-list-menu-item.entry.js +491 -0
- package/dist/esm/bds-list-menu.entry.js +197 -0
- package/dist/esm/bds-popover.entry.js +18 -8
- package/dist/esm/bds-radio-button.entry.js +58 -0
- package/dist/esm/bds-radio-card.entry.js +74 -0
- package/dist/esm/bds-radio-group.entry.js +283 -0
- package/dist/esm/bds-radio.entry.js +58 -0
- package/dist/esm/bds-spinner.entry.js +4 -4
- package/dist/esm/bds-status.entry.js +57 -0
- package/dist/esm/bds-tag.entry.js +138 -0
- package/dist/esm/bds-text-field.entry.js +6 -15
- package/dist/esm/bds-toggle.entry.js +185 -0
- package/dist/esm/bds-tooltip_2.entry.js +318 -0
- package/dist/esm/boreal-web-components.js +3 -3
- package/dist/esm/coreColors-Dwo1hcd9.js +8 -0
- package/dist/esm/{enum-C8mRvnTA.js → enum-DlVzZK7o.js} +4 -4
- package/dist/esm/form-associated.mixin-C4HM8wQe.js +31 -0
- package/dist/esm/{anchored.mixin-Y3MkGc2X.js → getOffset-BYS3c13B.js} +43 -75
- package/dist/esm/{index-D4EFsvs1.js → index-BqJlOB6b.js} +64 -0
- package/dist/esm/{internals-Dy7QKP9e.js → internals-DfaYciGa.js} +1 -31
- package/dist/esm/loader.js +3 -3
- package/dist/esm/menu-dz9-Q2N8.js +6 -0
- package/dist/esm/orientation-CPvuMm5C.js +6 -0
- package/dist/esm/{states-BhTPNsBb.js → states-Bfazyxqi.js} +8 -1
- package/dist/esm/validateProps-kGnB15Lz.js +39 -0
- package/dist/esm-es5/BaseAttributes-DhSchGPI.js +1 -0
- package/dist/esm-es5/Keys-DlYG-OVB.js +1 -0
- package/dist/esm-es5/Logger-iq2UuV7c.js +1 -0
- package/dist/esm-es5/{attributes-CaHOghy5.js → attributes-U9yfbs7i.js} +1 -1
- package/dist/esm-es5/bds-avatar.entry.js +1 -0
- package/dist/esm-es5/bds-badge.entry.js +1 -0
- package/dist/esm-es5/bds-banner.entry.js +1 -1
- package/dist/esm-es5/bds-button-group.entry.js +1 -0
- package/dist/esm-es5/bds-button.entry.js +1 -1
- package/dist/esm-es5/bds-checkbox-card.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 -0
- package/dist/esm-es5/bds-flag.entry.js +1 -1
- package/dist/esm-es5/bds-grid-item.entry.js +1 -0
- package/dist/esm-es5/bds-grid.entry.js +1 -0
- package/dist/esm-es5/bds-list-menu-item.entry.js +1 -0
- package/dist/esm-es5/bds-list-menu.entry.js +1 -0
- package/dist/esm-es5/bds-popover.entry.js +1 -1
- package/dist/esm-es5/bds-radio-button.entry.js +1 -0
- package/dist/esm-es5/bds-radio-card.entry.js +1 -0
- package/dist/esm-es5/bds-radio-group.entry.js +1 -0
- package/dist/esm-es5/bds-radio.entry.js +1 -0
- package/dist/esm-es5/bds-spinner.entry.js +1 -1
- package/dist/esm-es5/bds-status.entry.js +1 -0
- package/dist/esm-es5/bds-tag.entry.js +1 -0
- package/dist/esm-es5/bds-text-field.entry.js +1 -1
- package/dist/esm-es5/bds-toggle.entry.js +1 -0
- package/dist/esm-es5/bds-tooltip_2.entry.js +1 -0
- package/dist/esm-es5/boreal-web-components.js +1 -1
- package/dist/esm-es5/coreColors-Dwo1hcd9.js +1 -0
- package/dist/esm-es5/enum-DlVzZK7o.js +1 -0
- package/dist/esm-es5/form-associated.mixin-C4HM8wQe.js +1 -0
- package/dist/esm-es5/getOffset-BYS3c13B.js +1 -0
- package/dist/esm-es5/index-BqJlOB6b.js +2 -0
- package/dist/esm-es5/internals-DfaYciGa.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/menu-dz9-Q2N8.js +1 -0
- package/dist/esm-es5/orientation-CPvuMm5C.js +1 -0
- package/dist/esm-es5/states-Bfazyxqi.js +1 -0
- package/dist/esm-es5/validateProps-kGnB15Lz.js +1 -0
- package/dist/scss/maps/_primitives.scss +404 -408
- package/dist/scss/maps/_theme-connect.scss +164 -165
- package/dist/scss/maps/_theme-engage.scss +164 -165
- package/dist/scss/maps/_theme-protect.scss +164 -165
- package/dist/scss/maps/_theme-proximus.scss +165 -166
- package/dist/scss/variables/_primitives.scss +404 -408
- package/dist/scss/variables/_theme-connect.scss +164 -165
- package/dist/scss/variables/_theme-engage.scss +164 -165
- package/dist/scss/variables/_theme-protect.scss +164 -165
- package/dist/scss/variables/_theme-proximus.scss +165 -166
- package/dist/types/components/actions/bds-button/bds-button.d.ts +4 -4
- package/dist/types/components/actions/bds-button/types/enum.d.ts +3 -3
- package/dist/types/components/actions/bds-button-group/bds-button-group.d.ts +36 -0
- package/dist/types/components/actions/bds-button-group/types/IButtonGroup.d.ts +11 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.d.ts +74 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/IListMenu.d.ts +14 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/enum.d.ts +5 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/types.d.ts +3 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.d.ts +122 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/types/IListMenuItem.d.ts +13 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/types/enum.d.ts +5 -0
- package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/types/types.d.ts +3 -0
- package/dist/types/components/actions/bds-toggle/bds-toggle.d.ts +91 -0
- package/dist/types/components/actions/bds-toggle/types/IEventChange.d.ts +5 -0
- package/dist/types/components/actions/bds-toggle/types/IToggle.d.ts +12 -0
- package/dist/types/components/actions/bds-toggle/types/enum.d.ts +5 -0
- package/dist/types/components/actions/bds-toggle/types/index.d.ts +5 -0
- package/dist/types/components/actions/bds-toggle/types/types.d.ts +3 -0
- package/dist/types/components/feedback/bds-badge/bds-badge.d.ts +31 -0
- package/dist/types/components/feedback/bds-badge/types/IBadge.d.ts +6 -0
- package/dist/types/components/feedback/bds-badge/types/enum.d.ts +9 -0
- package/dist/types/components/feedback/bds-banner/bds-banner.d.ts +8 -4
- package/dist/types/components/feedback/bds-status/bds-status.d.ts +26 -0
- package/dist/types/components/feedback/bds-status/types/IStatus.d.ts +7 -0
- package/dist/types/components/feedback/bds-status/types/enum.d.ts +6 -0
- package/dist/types/components/feedback/bds-status/types/types.d.ts +3 -0
- package/dist/types/components/feedback/bds-tag/bds-tag.d.ts +71 -0
- package/dist/types/components/feedback/bds-tag/types/ITag.d.ts +13 -0
- package/dist/types/components/feedback/bds-tag/types/enum.d.ts +11 -0
- package/dist/types/components/feedback/bds-tag/types/index.d.ts +4 -0
- package/dist/types/components/feedback/bds-tag/types/types.d.ts +8 -0
- package/dist/types/components/forms/bds-checkbox/bds-checkbox.d.ts +2 -0
- package/dist/types/components/forms/bds-checkbox-card/bds-checkbox-card.d.ts +70 -0
- package/dist/types/components/forms/bds-checkbox-card/types/ICheckboxCard.d.ts +8 -0
- package/dist/types/components/forms/bds-flag/bds-flag.d.ts +3 -4
- package/dist/types/components/forms/bds-radio/bds-radio.d.ts +36 -0
- package/dist/types/components/forms/bds-radio/types/IRadio.d.ts +13 -0
- package/dist/types/components/forms/bds-radio-button/bds-radio-button.d.ts +36 -0
- package/dist/types/components/forms/bds-radio-button/types/IRadioButton.d.ts +13 -0
- package/dist/types/components/forms/bds-radio-card/bds-radio-card.d.ts +57 -0
- package/dist/types/components/forms/bds-radio-card/types/IRadioCard.d.ts +14 -0
- package/dist/types/components/forms/bds-radio-group/bds-radio-group.d.ts +82 -0
- package/dist/types/components/forms/bds-radio-group/types/IRadioGroup.d.ts +19 -0
- package/dist/types/components/forms/bds-radio-group/types/enum.d.ts +6 -0
- package/dist/types/components/forms/bds-radio-group/types/types.d.ts +3 -0
- package/dist/types/components/helpers/bds-divider/bds-divider.d.ts +26 -0
- package/dist/types/components/helpers/bds-divider/types/IDivider.d.ts +5 -0
- package/dist/types/components/helpers/bds-divider/types/enum.d.ts +5 -0
- package/dist/types/components/helpers/bds-divider/types/types.d.ts +3 -0
- package/dist/types/components/images-icons/bds-avatar/bds-avatar.d.ts +51 -0
- package/dist/types/components/images-icons/bds-avatar/types/IAvatar.d.ts +9 -0
- package/dist/types/components/images-icons/bds-avatar/types/enum.d.ts +6 -0
- package/dist/types/components/images-icons/bds-avatar/types/index.d.ts +4 -0
- package/dist/types/components/images-icons/bds-avatar/types/types.d.ts +3 -0
- package/dist/types/components/layouts/bds-grid/grid/bds-grid.d.ts +19 -0
- package/dist/types/components/layouts/bds-grid/grid/types/IGrid.d.ts +6 -0
- package/dist/types/components/layouts/bds-grid/grid/types/enum.d.ts +5 -0
- package/dist/types/components/layouts/bds-grid/grid/types/index.d.ts +4 -0
- package/dist/types/components/layouts/bds-grid/grid/types/types.d.ts +3 -0
- package/dist/types/components/layouts/bds-grid/grid-item/bds-grid-item.d.ts +31 -0
- package/dist/types/components/layouts/bds-grid/grid-item/types/IGridItem.d.ts +12 -0
- package/dist/types/components/layouts/bds-grid/grid-item/types/enum.d.ts +11 -0
- package/dist/types/components/layouts/bds-grid/grid-item/types/index.d.ts +4 -0
- package/dist/types/components/layouts/bds-grid/grid-item/types/types.d.ts +3 -0
- package/dist/types/components/overlays/bds-dialog/bds-dialog.d.ts +2 -2
- package/dist/types/components/overlays/bds-popover/bds-popover.d.ts +1 -0
- package/dist/types/components/overlays/bds-popover/constants/Offset.d.ts +2 -0
- package/dist/types/components/overlays/bds-tooltip/bds-tooltip.d.ts +1 -0
- package/dist/types/components/overlays/bds-tooltip/constants/Offset.d.ts +2 -0
- package/dist/types/components/titles-text/bds-typography/bds-typography.d.ts +9 -9
- package/dist/types/components/titles-text/bds-typography/types/ITypography.d.ts +2 -2
- package/dist/types/components/titles-text/bds-typography/utils/bds-typography-utils.d.ts +1 -1
- package/dist/types/components.d.ts +2542 -450
- package/dist/types/mixins/anchored.mixin.d.ts +5 -0
- package/dist/types/mixins/index.d.ts +2 -0
- package/dist/types/mixins/links.mixin.d.ts +85 -0
- package/dist/types/mixins/menu-behavior.mixin.d.ts +95 -0
- package/dist/types/types/IFormProps.d.ts +25 -0
- package/dist/types/types/index.d.ts +5 -0
- package/dist/types/types/links.d.ts +14 -0
- package/dist/types/types/menu.d.ts +16 -0
- package/dist/types/types/orientation.d.ts +6 -0
- package/dist/types/types/position.d.ts +6 -2
- package/dist/types/utils/constants/common/Keys.d.ts +12 -14
- package/dist/types/utils/helpers/overlays/getOffset.d.ts +9 -0
- package/dist/types/utils/helpers/validateProps.d.ts +11 -0
- package/dist/types/utils/index.d.ts +2 -1
- package/dist/types/utils/menu/index.d.ts +2 -0
- package/dist/types/utils/menu/menu-item.utils.d.ts +50 -0
- package/dist/types/utils/{__test__ → testing}/helpers.d.ts +8 -0
- package/dist/types/utils/{__test__ → testing}/index.d.ts +0 -2
- package/dist/types/utils/{__test__/backdrop-mock.d.ts → testing/mocks/backdrop.d.ts} +1 -1
- package/dist/types/utils/testing/mocks/console.d.ts +17 -0
- package/dist/types/utils/{__test__/mocks/ElementInternals.d.ts → testing/mocks/elementInternals.d.ts} +1 -1
- package/dist/types/utils/testing/mocks/index.d.ts +5 -0
- package/dist/types/utils/{__test__/popover-mock.d.ts → testing/mocks/popover.d.ts} +1 -1
- package/package.json +1 -1
- package/components-build/p-B6R9EVXK.js +0 -1
- package/components-build/p-BSpJ_e9f.js +0 -1
- package/components-build/p-BYEAJCas.js +0 -1
- package/components-build/p-BhTPNsBb.js +0 -1
- package/components-build/p-CYojP4vI.js +0 -1
- package/components-build/p-D5omSME4.js +0 -1
- package/components-build/p-vfAIdwy0.js +0 -1
- package/dist/boreal-web-components/p-07a933df.entry.js +0 -1
- package/dist/boreal-web-components/p-1bb2b33f.entry.js +0 -1
- package/dist/boreal-web-components/p-1fccea3f.system.entry.js +0 -1
- package/dist/boreal-web-components/p-20af732b.system.entry.js +0 -1
- package/dist/boreal-web-components/p-22378341.system.entry.js +0 -1
- package/dist/boreal-web-components/p-39c26e58.entry.js +0 -1
- package/dist/boreal-web-components/p-6210d025.entry.js +0 -1
- package/dist/boreal-web-components/p-6de2b44c.system.entry.js +0 -1
- package/dist/boreal-web-components/p-91b9e94e.entry.js +0 -1
- package/dist/boreal-web-components/p-9e06910d.system.entry.js +0 -1
- package/dist/boreal-web-components/p-BIJhHSAt.system.js +0 -1
- package/dist/boreal-web-components/p-BKRyWlfr.js +0 -1
- package/dist/boreal-web-components/p-BhTPNsBb.js +0 -1
- package/dist/boreal-web-components/p-BkDQsB4R.system.js +0 -1
- package/dist/boreal-web-components/p-C8mRvnTA.js +0 -1
- package/dist/boreal-web-components/p-CdKFZYxk.system.js +0 -1
- package/dist/boreal-web-components/p-DoDeP7KR.system.js +0 -1
- package/dist/boreal-web-components/p-Dtp4O0H2.system.js +0 -1
- package/dist/boreal-web-components/p-Dy7QKP9e.js +0 -1
- package/dist/boreal-web-components/p-GjKJvOVG.system.js +0 -2
- package/dist/boreal-web-components/p-ac64d4a5.system.entry.js +0 -1
- package/dist/boreal-web-components/p-b61fe06c.entry.js +0 -1
- package/dist/boreal-web-components/p-cdc87437.entry.js +0 -1
- package/dist/boreal-web-components/p-d8ec8557.system.entry.js +0 -1
- package/dist/boreal-web-components/p-ea889727.entry.js +0 -1
- package/dist/boreal-web-components/p-fa327346.system.entry.js +0 -1
- package/dist/boreal-web-components/p-fc2cb919.entry.js +0 -1
- package/dist/boreal-web-components/p-sDZFaZMN.system.js +0 -1
- package/dist/boreal-web-components/p-vfAIdwy0.js +0 -1
- package/dist/cjs/bds-tooltip.cjs.entry.js +0 -152
- package/dist/cjs/bds-typography.cjs.entry.js +0 -168
- package/dist/cjs/validateProps-BNOBk1Xs.js +0 -20
- package/dist/collection/utils/__test__/mocks/index.js +0 -1
- package/dist/esm/bds-tooltip.entry.js +0 -150
- package/dist/esm/bds-typography.entry.js +0 -166
- package/dist/esm/validateProps-vfAIdwy0.js +0 -18
- package/dist/esm-es5/anchored.mixin-Y3MkGc2X.js +0 -1
- package/dist/esm-es5/bds-tooltip.entry.js +0 -1
- package/dist/esm-es5/bds-typography.entry.js +0 -1
- package/dist/esm-es5/enum-C8mRvnTA.js +0 -1
- package/dist/esm-es5/index-D4EFsvs1.js +0 -2
- package/dist/esm-es5/internals-Dy7QKP9e.js +0 -1
- package/dist/esm-es5/states-BhTPNsBb.js +0 -1
- package/dist/esm-es5/validateProps-vfAIdwy0.js +0 -1
- package/dist/types/utils/__test__/mocks/index.d.ts +0 -2
- /package/dist/collection/utils/{__test__ → testing}/constants.js +0 -0
- /package/dist/collection/utils/{__test__ → testing}/fixtures.js +0 -0
- /package/dist/collection/utils/{__test__/backdrop-mock.js → testing/mocks/backdrop.js} +0 -0
- /package/dist/collection/utils/{__test__/mocks/ElementInternals.js → testing/mocks/elementInternals.js} +0 -0
- /package/dist/collection/utils/{__test__/popover-mock.js → testing/mocks/popover.js} +0 -0
- /package/dist/types/utils/{__test__ → testing}/constants.d.ts +0 -0
- /package/dist/types/utils/{__test__ → testing}/fixtures.d.ts +0 -0
|
@@ -0,0 +1,283 @@
|
|
|
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 { O as ORIENTATIONS } from './orientation-CPvuMm5C.js';
|
|
4
|
+
import { c as createId } from './BaseAttributes-DhSchGPI.js';
|
|
5
|
+
import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
|
|
6
|
+
import { K as KEYBOARD } from './Keys-DlYG-OVB.js';
|
|
7
|
+
|
|
8
|
+
const RADIO_GROUP_TYPES = {
|
|
9
|
+
RADIO: 'radio'};
|
|
10
|
+
|
|
11
|
+
const bdsRadioGroupCss = () => `@charset "UTF-8";.bds-radio-group{--bds-divider-gap:var(--boreal-spacing-3xs);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--boreal-spacing-2xs)}.bds-radio-group__options{display:grid;grid-template-columns:1fr;gap:var(--boreal-spacing-xs)}.bds-radio-group[orientation=horizontal] .bds-radio-group__options{grid-template-columns:repeat(var(--layout-count, 1), auto);-ms-flex-pack:start;justify-content:start}.bds-radio-group[type=radiobutton] .bds-radio-group__options{display:-ms-inline-flexbox;display:inline-flex;gap:0;padding:var(--boreal-spacing-3xs);border:1px solid var(--boreal-stroke-default-light);background-color:var(--boreal-ui-inverse);border-radius:var(--boreal-radius-xs);overflow:hidden}.bds-radio-group[type=radiobutton][orientation=vertical] .bds-radio-group__options{-ms-flex-direction:column;flex-direction:column}.bds-radio-group[type=radiobutton].bds-radio-group--error .bds-radio-group__options{border-color:var(--boreal-stroke-danger-base)}.bds-radio-group[type=radiobutton].bds-radio-group--error bds-radio-button.bds-radio-button--error{color:var(--boreal-stroke-danger-base)}.bds-radio-group[type=radiobutton].bds-radio-group--error bds-divider[data-injected]{--bds-divider-color:var(--boreal-stroke-danger-base)}`;
|
|
12
|
+
|
|
13
|
+
const LEAF_TAGS = ['BDS-RADIO', 'BDS-RADIO-BUTTON', 'BDS-RADIO-CARD'];
|
|
14
|
+
const BdsRadioGroup = class extends Mixin(formAssociatedMixin) {
|
|
15
|
+
constructor(hostRef) {
|
|
16
|
+
super();
|
|
17
|
+
registerInstance(this, hostRef);
|
|
18
|
+
this.bdsChange = createEvent(this, "bdsChange");
|
|
19
|
+
this.valueChange = createEvent(this, "valueChange");
|
|
20
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
21
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
25
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
26
|
+
}
|
|
27
|
+
this._id = createId('bds-radio-group');
|
|
28
|
+
/** Internal mirror of the `disabled` prop, kept in sync via `@Watch` and `formDisabledCallback`. */
|
|
29
|
+
this.isDisabled = false;
|
|
30
|
+
/** Set to true when native form validation fires the `invalid` event; cleared on reset or when value becomes valid. */
|
|
31
|
+
this.isInvalid = false;
|
|
32
|
+
/** Disables all child radios and prevents selection. Also mirrored to isDisabled @State for form-level disable support. */
|
|
33
|
+
this.disabled = false;
|
|
34
|
+
/** Shows error styling on the group helper text. Propagated to all child radios. */
|
|
35
|
+
this.error = false;
|
|
36
|
+
/** Error message rendered below the radio options when error is true. Replaces helperText. */
|
|
37
|
+
this.errorMessage = '';
|
|
38
|
+
/** Helper text rendered below the radio options. Shown in default state; replaced by errorMessage in error state. */
|
|
39
|
+
this.helperText = '';
|
|
40
|
+
/** Tooltip text shown on the group label info icon. */
|
|
41
|
+
this.info = '';
|
|
42
|
+
/** Group label rendered above the radio options. */
|
|
43
|
+
this.label = '';
|
|
44
|
+
/** Layout direction of the radio options. */
|
|
45
|
+
this.orientation = ORIENTATIONS.VERTICAL;
|
|
46
|
+
/** Marks the group as required for form submission. Triggers validity error when no radio is selected. */
|
|
47
|
+
this.required = false;
|
|
48
|
+
/** Identifies this group variant. 'radio' renders circular bds-radio children; 'radiobutton' renders bds-radio-button segmented control; 'radiocard' renders bds-radio-card element. */
|
|
49
|
+
this.type = RADIO_GROUP_TYPES.RADIO;
|
|
50
|
+
/** Currently selected radio value. Synced to children on change. */
|
|
51
|
+
this.value = '';
|
|
52
|
+
this.handleKeyDown = (event) => {
|
|
53
|
+
const target = event.target;
|
|
54
|
+
if (!LEAF_TAGS.includes(target.tagName))
|
|
55
|
+
return;
|
|
56
|
+
switch (event.key) {
|
|
57
|
+
case KEYBOARD.ArrowDown:
|
|
58
|
+
case KEYBOARD.ArrowRight:
|
|
59
|
+
this.navigateTo(target, true);
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
break;
|
|
62
|
+
case KEYBOARD.ArrowUp:
|
|
63
|
+
case KEYBOARD.ArrowLeft:
|
|
64
|
+
this.navigateTo(target, false);
|
|
65
|
+
event.preventDefault();
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
this.handleSlotChange = () => {
|
|
70
|
+
this.updateLayoutCount();
|
|
71
|
+
};
|
|
72
|
+
this._buttonCount = 0;
|
|
73
|
+
}
|
|
74
|
+
checkPropValues() {
|
|
75
|
+
validatePropValue(Object.values(ORIENTATIONS), ORIENTATIONS.VERTICAL, this.el, 'orientation');
|
|
76
|
+
}
|
|
77
|
+
onDisabledChange(next) {
|
|
78
|
+
this.isDisabled = next;
|
|
79
|
+
this.radioElements.forEach(el => (el.disabled = next));
|
|
80
|
+
}
|
|
81
|
+
onErrorChange(val) {
|
|
82
|
+
this.radioElements.forEach(el => (el.error = val));
|
|
83
|
+
}
|
|
84
|
+
onValueChange(val) {
|
|
85
|
+
this.radioElements.forEach(el => {
|
|
86
|
+
el.checked = el.value === val;
|
|
87
|
+
el.setAttribute('aria-checked', String(el.value === val));
|
|
88
|
+
});
|
|
89
|
+
const checked = this.radioElements.find(el => el.checked);
|
|
90
|
+
this.updateTabIndexes(checked ?? null);
|
|
91
|
+
}
|
|
92
|
+
componentWillLoad() {
|
|
93
|
+
this.checkPropValues();
|
|
94
|
+
this.isDisabled = this.disabled;
|
|
95
|
+
if (this.value === '') {
|
|
96
|
+
const lastChecked = Array.from(this.el.querySelectorAll('bds-radio[checked], bds-radio-button[checked], bds-radio-card[checked]')).at(-1);
|
|
97
|
+
if (lastChecked !== undefined) {
|
|
98
|
+
this.value = lastChecked.getAttribute('value') ?? '';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
componentDidLoad() {
|
|
103
|
+
const checkedChildren = this.radioElements.filter(el => el.checked);
|
|
104
|
+
if (checkedChildren.length > 1) {
|
|
105
|
+
checkedChildren.slice(0, -1).forEach(el => (el.checked = false));
|
|
106
|
+
}
|
|
107
|
+
this.onValueChange(this.value);
|
|
108
|
+
if (this.error)
|
|
109
|
+
this.radioElements.forEach(el => (el.error = true));
|
|
110
|
+
this.updateLayoutCount();
|
|
111
|
+
this.updateTabIndexes(this.radioElements.find(el => el.checked) ?? this.radioElements.find(el => !el.disabled) ?? null);
|
|
112
|
+
this.updateFormValidity();
|
|
113
|
+
}
|
|
114
|
+
formAssociatedCallback() {
|
|
115
|
+
this.syncFormValue();
|
|
116
|
+
}
|
|
117
|
+
formResetCallback() {
|
|
118
|
+
this.value = '';
|
|
119
|
+
this.isInvalid = false;
|
|
120
|
+
this.radioElements.forEach(radio => {
|
|
121
|
+
radio.checked = false;
|
|
122
|
+
radio.setAttribute('aria-checked', 'false');
|
|
123
|
+
if (!this.error)
|
|
124
|
+
radio.error = false;
|
|
125
|
+
});
|
|
126
|
+
this.internals.setFormValue(null);
|
|
127
|
+
this.updateFormValidity();
|
|
128
|
+
const first = this.radioElements.find(el => !el.disabled);
|
|
129
|
+
this.updateTabIndexes(first ?? null);
|
|
130
|
+
}
|
|
131
|
+
formStateRestoreCallback(state, _mode) {
|
|
132
|
+
const val = typeof state === 'string' ? state : '';
|
|
133
|
+
this.value = val;
|
|
134
|
+
this.internals.setFormValue(val !== '' ? val : null);
|
|
135
|
+
}
|
|
136
|
+
formDisabledCallback(disabled) {
|
|
137
|
+
this.isDisabled = disabled;
|
|
138
|
+
this.radioElements.forEach(el => (el.disabled = disabled));
|
|
139
|
+
}
|
|
140
|
+
handleRadioChange(event) {
|
|
141
|
+
const target = event.target;
|
|
142
|
+
if (!LEAF_TAGS.includes(target.tagName))
|
|
143
|
+
return;
|
|
144
|
+
this.radioElements
|
|
145
|
+
.filter(el => el !== target)
|
|
146
|
+
.forEach(el => {
|
|
147
|
+
el.checked = false;
|
|
148
|
+
el.setAttribute('aria-checked', 'false');
|
|
149
|
+
});
|
|
150
|
+
this.value = event.detail.value;
|
|
151
|
+
this.internals.setFormValue(this.value);
|
|
152
|
+
this.updateTabIndexes(target);
|
|
153
|
+
this.updateFormValidity();
|
|
154
|
+
this.bdsChange.emit({ value: this.value });
|
|
155
|
+
this.valueChange.emit(this.value);
|
|
156
|
+
}
|
|
157
|
+
handleInvalid(event) {
|
|
158
|
+
if (this.errorMessage !== '') {
|
|
159
|
+
event.preventDefault();
|
|
160
|
+
this.isInvalid = true;
|
|
161
|
+
this.radioElements.forEach(el => (el.error = true));
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/** Returns whether the group's current value satisfies the browser's built-in constraint validation. */
|
|
165
|
+
async checkValidity() {
|
|
166
|
+
return this.internals.checkValidity();
|
|
167
|
+
}
|
|
168
|
+
/** Reports the group's validity state to the user, showing native validation UI if invalid. */
|
|
169
|
+
async reportValidity() {
|
|
170
|
+
return this.internals.reportValidity();
|
|
171
|
+
}
|
|
172
|
+
navigateTo(current, forward) {
|
|
173
|
+
const elements = this.radioElements.filter(el => !el.disabled);
|
|
174
|
+
if (elements.length === 0)
|
|
175
|
+
return;
|
|
176
|
+
const idx = elements.indexOf(current);
|
|
177
|
+
const newIndex = (elements.length + idx + (forward ? 1 : -1)) % elements.length;
|
|
178
|
+
const next = elements[newIndex];
|
|
179
|
+
next.checked = true;
|
|
180
|
+
next.setAttribute('aria-checked', 'true');
|
|
181
|
+
this.radioElements
|
|
182
|
+
.filter(el => el !== next)
|
|
183
|
+
.forEach(el => {
|
|
184
|
+
el.checked = false;
|
|
185
|
+
el.setAttribute('aria-checked', 'false');
|
|
186
|
+
});
|
|
187
|
+
this.value = next.value;
|
|
188
|
+
this.internals.setFormValue(this.value);
|
|
189
|
+
this.updateTabIndexes(next);
|
|
190
|
+
this.updateFormValidity();
|
|
191
|
+
this.bdsChange.emit({ value: this.value });
|
|
192
|
+
this.valueChange.emit(this.value);
|
|
193
|
+
next.focus();
|
|
194
|
+
}
|
|
195
|
+
insertDividers() {
|
|
196
|
+
this.el.querySelectorAll('bds-divider[data-injected]').forEach(d => d.remove());
|
|
197
|
+
if (this.type !== 'radiobutton')
|
|
198
|
+
return;
|
|
199
|
+
const dividerOrientation = this.orientation === ORIENTATIONS.HORIZONTAL ? ORIENTATIONS.VERTICAL : ORIENTATIONS.HORIZONTAL;
|
|
200
|
+
const buttons = this.radioElements.filter((el) => el.tagName === 'BDS-RADIO-BUTTON');
|
|
201
|
+
buttons.forEach((btn, i) => {
|
|
202
|
+
if (i === 0)
|
|
203
|
+
return;
|
|
204
|
+
const divider = document.createElement('bds-divider');
|
|
205
|
+
divider.setAttribute('orientation', dividerOrientation);
|
|
206
|
+
divider.setAttribute('data-injected', '');
|
|
207
|
+
btn.parentNode?.insertBefore(divider, btn);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
get radioElements() {
|
|
211
|
+
return Array.from(this.el.querySelectorAll('bds-radio, bds-radio-button, bds-radio-card'));
|
|
212
|
+
}
|
|
213
|
+
syncFormValue() {
|
|
214
|
+
this.internals.setFormValue(this.value !== '' ? this.value : null);
|
|
215
|
+
this.updateFormValidity();
|
|
216
|
+
}
|
|
217
|
+
updateFormValidity() {
|
|
218
|
+
if (this.required && this.value === '') {
|
|
219
|
+
const anchor = this.radioElements.find(el => !el.disabled);
|
|
220
|
+
this.internals.setValidity({ valueMissing: true }, this.errorMessage !== '' ? this.errorMessage : 'Please select an option.', anchor);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
this.internals.setValidity({});
|
|
224
|
+
if (this.isInvalid) {
|
|
225
|
+
this.isInvalid = false;
|
|
226
|
+
if (!this.error)
|
|
227
|
+
this.radioElements.forEach(el => (el.error = false));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
updateLayoutCount() {
|
|
232
|
+
const count = this.radioElements.length;
|
|
233
|
+
this.el.style.setProperty('--layout-count', `${count}`);
|
|
234
|
+
if (count !== this._buttonCount) {
|
|
235
|
+
this._buttonCount = count;
|
|
236
|
+
this.insertDividers();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
updateTabIndexes(active) {
|
|
240
|
+
this.radioElements.forEach(el => el.setAttribute('tabindex', '-1'));
|
|
241
|
+
if (active !== null)
|
|
242
|
+
active.setAttribute('tabindex', '0');
|
|
243
|
+
}
|
|
244
|
+
get isError() {
|
|
245
|
+
const error = this.error && !this.disabled;
|
|
246
|
+
return error || this.isInvalid;
|
|
247
|
+
}
|
|
248
|
+
get classMap() {
|
|
249
|
+
return {
|
|
250
|
+
'bds-radio-group': true,
|
|
251
|
+
'bds-radio-group--disabled': this.isDisabled,
|
|
252
|
+
'bds-radio-group--error': this.isError,
|
|
253
|
+
'bds-radio-group--required': this.required,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
render() {
|
|
257
|
+
const labelId = `${this._id}-label`;
|
|
258
|
+
const helperId = `${this._id}-helper`;
|
|
259
|
+
const showError = this.isError;
|
|
260
|
+
const typographyState = this.isDisabled ? 'disabled' : showError ? 'error' : 'default';
|
|
261
|
+
const helperContent = showError && this.errorMessage !== '' ? this.errorMessage : this.helperText;
|
|
262
|
+
return (h(Host, { key: 'ab755f253ab7096e8ed0efa7196cedd96cdc7ca8', class: this.classMap, role: "radiogroup", "aria-labelledby": this.label !== '' ? labelId : undefined, "aria-describedby": helperContent !== '' ? helperId : undefined, "aria-invalid": showError ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, onKeyDown: this.handleKeyDown }, this.label && (h("bds-typography", { key: '85bc7d114efabd92930c6c934c19e4ba887a3663', id: labelId, variant: "label", state: typographyState, required: this.required, tooltipText: this.info !== '' ? this.info : undefined }, this.label)), h("div", { key: '3f1670875353369c608c9cf064ccb1b7beede19a', class: "bds-radio-group__options" }, h("slot", { key: 'b0d52880c82dec9557c10bcf7ef8930299bdf7a6', onSlotchange: this.handleSlotChange })), helperContent && (h("bds-typography", { key: 'f0a17de329944c3fe63cf7cb586ec85016693208', id: helperId, variant: "helper", state: typographyState }, helperContent))));
|
|
263
|
+
}
|
|
264
|
+
static get formAssociated() { return true; }
|
|
265
|
+
get el() { return getElement(this); }
|
|
266
|
+
static get watchers() { return {
|
|
267
|
+
"orientation": [{
|
|
268
|
+
"checkPropValues": 0
|
|
269
|
+
}],
|
|
270
|
+
"disabled": [{
|
|
271
|
+
"onDisabledChange": 0
|
|
272
|
+
}],
|
|
273
|
+
"error": [{
|
|
274
|
+
"onErrorChange": 0
|
|
275
|
+
}],
|
|
276
|
+
"value": [{
|
|
277
|
+
"onValueChange": 0
|
|
278
|
+
}]
|
|
279
|
+
}; }
|
|
280
|
+
};
|
|
281
|
+
BdsRadioGroup.style = bdsRadioGroupCss();
|
|
282
|
+
|
|
283
|
+
export { BdsRadioGroup as bds_radio_group };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
|
|
2
|
+
|
|
3
|
+
const bdsRadioCss = () => `@charset "UTF-8";.bds-radio__content,.bds-radio__icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.bds-radio__info{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}.bds-radio{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;gap:var(--boreal-spacing-2xs);cursor:pointer;outline:none}.bds-radio input[type=radio]{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.bds-radio__content{gap:var(--boreal-spacing-3xs)}.bds-radio__icon{-ms-flex-negative:0;flex-shrink:0;line-height:1}.bds-radio__label{font-family:var(--boreal-typography-font-family-primary);font-size:var(--boreal-typography-font-size-sm);font-weight:var(--boreal-typography-font-weight-regular);line-height:var(--boreal-typography-line-height-sm);color:var(--boreal-text-default)}.bds-radio__button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;width:18px;height:18px;border-radius:var(--boreal-radius-full);border:1px solid var(--boreal-stroke-default-light);background-color:var(--boreal-ui-inverse);-webkit-transition:background-color 0.3s ease, border-color 0.3s ease, -webkit-box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, -webkit-box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease}.bds-radio__dot{width:10px;height:10px;border-radius:var(--boreal-radius-full);background-color:transparent;-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-radio__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)}.bds-radio:hover:not(.bds-radio--disabled):not(.bds-radio--checked) .bds-radio__button{border-color:var(--boreal-stroke-default-light);-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-radio:hover:not(.bds-radio--disabled):not(.bds-radio--checked) .bds-radio__dot{background-color:var(--boreal-ui-base-light)}.bds-radio:is(:focus-visible,:focus) .bds-radio__button{-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-radio:active:not(.bds-radio--disabled):not(.bds-radio--checked) .bds-radio__button{-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-radio--checked .bds-radio__button{border-color:var(--boreal-stroke-primary-base)}.bds-radio--checked .bds-radio__dot{background-color:var(--boreal-ui-primary-base)}.bds-radio--error .bds-radio__button{border-color:var(--boreal-stroke-danger-base)}.bds-radio--disabled{cursor:not-allowed;pointer-events:none}.bds-radio--disabled .bds-radio__button{border-color:var(--boreal-stroke-default-light);background-color:var(--boreal-ui-disabled)}.bds-radio--disabled .bds-radio__label{color:var(--boreal-text-disabled)}.bds-radio--disabled.bds-radio--checked .bds-radio__button{border-color:var(--boreal-ui-primary-light)}.bds-radio--disabled.bds-radio--checked .bds-radio__dot{background-color:var(--boreal-ui-primary-light)}`;
|
|
4
|
+
|
|
5
|
+
const BdsRadio = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.bdsChange = createEvent(this, "bdsChange");
|
|
9
|
+
/** Whether this radio is selected. Managed by bds-radio-group; can be set directly when used standalone. */
|
|
10
|
+
this.checked = false;
|
|
11
|
+
/** Disables the radio, preventing interaction and selection. */
|
|
12
|
+
this.disabled = false;
|
|
13
|
+
/** Value submitted with the form when this radio is selected. */
|
|
14
|
+
this.value = 'on';
|
|
15
|
+
/** Name attribute stamped by the parent bds-radio-group via setAttribute. Set directly when used standalone. */
|
|
16
|
+
this.name = '';
|
|
17
|
+
/** Label text displayed next to the radio indicator. Falls back to the default slot when empty. */
|
|
18
|
+
this.label = '';
|
|
19
|
+
/** Shows error styling on the radio indicator. Propagated by bds-radio-group. */
|
|
20
|
+
this.error = false;
|
|
21
|
+
/** Tooltip text shown on an info icon next to the label. */
|
|
22
|
+
this.info = '';
|
|
23
|
+
this.handleClick = () => this.select();
|
|
24
|
+
this.handleKeyDown = (event) => {
|
|
25
|
+
if (event.key === ' ') {
|
|
26
|
+
event.preventDefault();
|
|
27
|
+
this.select();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
componentDidLoad() {
|
|
32
|
+
this.el.setAttribute('role', 'radio');
|
|
33
|
+
this.el.setAttribute('aria-checked', String(this.checked));
|
|
34
|
+
this.el.setAttribute('tabindex', '-1');
|
|
35
|
+
}
|
|
36
|
+
select() {
|
|
37
|
+
if (this.disabled || this.checked)
|
|
38
|
+
return;
|
|
39
|
+
this.checked = true;
|
|
40
|
+
this.el.setAttribute('aria-checked', 'true');
|
|
41
|
+
this.bdsChange.emit({ checked: true, value: this.value });
|
|
42
|
+
}
|
|
43
|
+
get classMap() {
|
|
44
|
+
return {
|
|
45
|
+
'bds-radio': true,
|
|
46
|
+
'bds-radio--checked': this.checked,
|
|
47
|
+
'bds-radio--error': this.error,
|
|
48
|
+
'bds-radio--disabled': this.disabled,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
render() {
|
|
52
|
+
return (h(Host, { key: '1d68465b5124471bda9fb1e4f3dc022d4f22be6d', class: this.classMap, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("input", { key: '8c820cf327a9978f6f098794e26a4ec0394e99c3', type: "radio", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, "aria-hidden": "true", tabIndex: -1, onFocus: () => this.el.focus() }), h("span", { key: '6de9fcb7657842b81b4bf803e3e60b6891fef27e', class: "bds-radio__button" }, h("span", { key: '660c57e990abc4f6f1288f93c198e9bb60be6c29', class: "bds-radio__dot" })), h("span", { key: 'ec3879d0edb42cdbc7b4257d563d9c298fd3b89d', class: "bds-radio__content" }, h("span", { key: '430b04fd6f836cf2881fecf9df56bee70486da85', class: "bds-radio__icon" }, h("slot", { key: '30dcf8837cd50a9e48a6c061576f7b9d53eeabd9', name: "icon" })), h("span", { key: 'dbb139d87c4689a64e2860b365d7c261c56b638b', class: "bds-radio__label" }, this.label || h("slot", { key: 'a7d985fa9773a8f285c36f3deaeb7112adf20f95' })), this.info && (h("span", { key: '36958330fd1ed9fa6f64bcf757c9be113fae5daf', class: "bds-radio__info" }, h("span", { key: 'ea5a415943c9f67f027a4b241d024ea61321a8a1', class: "bds-radio__info-icon bds-icon-info-circle", "aria-hidden": "true" }), h("bds-tooltip", { key: '875105c226c6d1fb90d62fe275ed544f043a1c19' }, this.info))))));
|
|
53
|
+
}
|
|
54
|
+
get el() { return getElement(this); }
|
|
55
|
+
};
|
|
56
|
+
BdsRadio.style = bdsRadioCss();
|
|
57
|
+
|
|
58
|
+
export { BdsRadio as bds_radio };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h, a as Host, g as getElement } from './index-
|
|
2
|
-
import { v as validatePropValue } from './validateProps-
|
|
1
|
+
import { r as registerInstance, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
|
|
2
|
+
import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
|
|
3
3
|
|
|
4
4
|
const SPINNER_SIZES = {
|
|
5
5
|
SMALL: 'sm',
|
|
@@ -7,7 +7,7 @@ const SPINNER_SIZES = {
|
|
|
7
7
|
LARGE: 'lg',
|
|
8
8
|
};
|
|
9
9
|
|
|
10
|
-
const bdsSpinnerCss = () => `@charset "UTF-8"
|
|
10
|
+
const bdsSpinnerCss = () => `@charset "UTF-8";bds-spinner{display:inline-block;position:relative;width:1em;height:1em}bds-spinner::before,bds-spinner::after{content:"";position:absolute;border-color:transparent transparent var(--boreal-primary-base) transparent;border-radius:50%;border-width:3px;border-style:solid;top:0;left:0;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}bds-spinner::before{opacity:0.2;border-style:dashed;-webkit-animation:spin 0.8s linear infinite;animation:spin 0.8s linear infinite}bds-spinner::after{-webkit-animation:draw-arc 0.8s linear infinite;animation:draw-arc 0.8s linear infinite}.bds-spinner--small{width:var(--boreal-layout-m);height:var(--boreal-layout-m)}.bds-spinner--medium{width:var(--boreal-layout-ml);height:var(--boreal-layout-ml)}.bds-spinner--large{width:var(--boreal-layout-xl);height:var(--boreal-layout-xl)}.bds-spinner__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0, 0, 0, 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes draw-arc{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}60%{-webkit-transform:rotate(330deg);transform:rotate(330deg)}65%{-webkit-transform:rotate(335deg);transform:rotate(335deg)}90%{-webkit-transform:rotate(350deg);transform:rotate(350deg)}95%{-webkit-transform:rotate(355deg);transform:rotate(355deg)}98%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes draw-arc{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}60%{-webkit-transform:rotate(330deg);transform:rotate(330deg)}65%{-webkit-transform:rotate(335deg);transform:rotate(335deg)}90%{-webkit-transform:rotate(350deg);transform:rotate(350deg)}95%{-webkit-transform:rotate(355deg);transform:rotate(355deg)}98%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}`;
|
|
11
11
|
|
|
12
12
|
const BdsSpinner = class {
|
|
13
13
|
constructor(hostRef) {
|
|
@@ -38,7 +38,7 @@ const BdsSpinner = class {
|
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
render() {
|
|
41
|
-
return (h(Host, { key: '
|
|
41
|
+
return (h(Host, { key: '7e7846adadb6224abfcaaf2478768b72ec712659', class: this.getClassMap, role: "status", "aria-label": this.label, "aria-live": "polite", "aria-busy": "true" }, h("span", { key: '1c6aad446ed35a3adcb4e4f28fd4a3e7b9b7cb3a', class: "bds-spinner__sr-only" }, this.label)));
|
|
42
42
|
}
|
|
43
43
|
get el() { return getElement(this); }
|
|
44
44
|
static get watchers() { return {
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { r as registerInstance, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
|
|
2
|
+
import { P as PROCESS_STATUS } from './states-Bfazyxqi.js';
|
|
3
|
+
import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
|
|
4
|
+
|
|
5
|
+
const INDICATOR_TYPES = {
|
|
6
|
+
NONE: 'none',
|
|
7
|
+
DOT: 'dot',
|
|
8
|
+
ICON: 'icon',
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const bdsStatusCss = () => `@charset "UTF-8";.bds-status{color:var(--boreal-text-default-ink);text-align:center;font-family:var(--boreal-typography-font-family-primary);font-size:var(--boreal-typography-font-size-xs);font-style:normal;font-weight:var(--boreal-typography-font-weight-semibold);line-height:var(--boreal-typography-line-height-xs);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--boreal-spacing-3xs);padding:var(--boreal-spacing-3xs) var(--boreal-spacing-xs);min-height:var(--boreal-spacing-ml);border-radius:var(--boreal-radius-xs)}.bds-status>[slot=icon]{display:none}.bds-status--icon>[slot=icon]{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:var(--boreal-layout-s);height:var(--boreal-layout-s)}.bds-status__dot{background-color:var(--boreal-icon-default-light);width:var(--boreal-spacing-xs);height:var(--boreal-spacing-xs);border-radius:var(--boreal-radius-full)}.bds-status--neutral{color:var(--boreal-text-default-ink);background-color:var(--boreal-ui-default-lighter)}.bds-status--neutral>.bds-status__dot{background-color:var(--boreal-icon-default-lighter)}.bds-status--neutral>[slot=icon]{color:var(--boreal-icon-default-lighter)}.bds-status--neutral>.bds-status__dot{background-color:var(--boreal-icon-default-light)}.bds-status--pending{color:var(--boreal-text-warning-dark);background-color:var(--boreal-ui-warning-lighter)}.bds-status--pending>.bds-status__dot{background-color:var(--boreal-icon-warning-base)}.bds-status--pending>[slot=icon]{color:var(--boreal-icon-warning-base)}.bds-status--in-progress{color:var(--boreal-text-information-dark);background-color:var(--boreal-ui-info-lighter)}.bds-status--in-progress>.bds-status__dot{background-color:var(--boreal-icon-info-base)}.bds-status--in-progress>[slot=icon]{color:var(--boreal-icon-info-base)}.bds-status--complete{color:var(--boreal-text-success-dark);background-color:var(--boreal-ui-success-lighter)}.bds-status--complete>.bds-status__dot{background-color:var(--boreal-icon-success-base)}.bds-status--complete>[slot=icon]{color:var(--boreal-icon-success-base)}.bds-status--cancel{color:var(--boreal-text-danger-dark);background-color:var(--boreal-ui-danger-lighter)}.bds-status--cancel>.bds-status__dot{background-color:var(--boreal-icon-danger-base)}.bds-status--cancel>[slot=icon]{color:var(--boreal-icon-danger-base)}`;
|
|
12
|
+
|
|
13
|
+
const BdsStatus = class {
|
|
14
|
+
constructor(hostRef) {
|
|
15
|
+
registerInstance(this, hostRef);
|
|
16
|
+
/** state is a string attribute. Controls the visual state variant of the status badge.
|
|
17
|
+
* Determines the background, accent, and text colors applied to the element.
|
|
18
|
+
* An invalid value falls back to `"neutral"` and a warning is set on the host element. */
|
|
19
|
+
this.state = PROCESS_STATUS.NEUTRAL;
|
|
20
|
+
/** indicator is a string attribute. Controls the type of indicator rendered before the slotted label.
|
|
21
|
+
* An invalid value falls back to `"none"` and a warning is set on the host element. */
|
|
22
|
+
this.indicator = INDICATOR_TYPES.NONE;
|
|
23
|
+
}
|
|
24
|
+
/** Validates the `state` prop against the set of allowed values.
|
|
25
|
+
* Falls back to `"neutral"` when an invalid value is detected. */
|
|
26
|
+
checkPropValues() {
|
|
27
|
+
validatePropValue(Object.values(PROCESS_STATUS), PROCESS_STATUS.NEUTRAL, this.el, 'state');
|
|
28
|
+
validatePropValue(Object.values(INDICATOR_TYPES), INDICATOR_TYPES.NONE, this.el, 'indicator');
|
|
29
|
+
}
|
|
30
|
+
/** Before component rendered */
|
|
31
|
+
componentWillLoad() {
|
|
32
|
+
this.checkPropValues();
|
|
33
|
+
}
|
|
34
|
+
/* Method to get the class map based on the status prop */
|
|
35
|
+
get classMap() {
|
|
36
|
+
return {
|
|
37
|
+
'bds-status': true,
|
|
38
|
+
[`bds-status--${this.state}`]: true,
|
|
39
|
+
[`bds-status--${this.indicator}`]: true,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
render() {
|
|
43
|
+
return (h(Host, { key: '9a952b22de8565fcca464d045f71ea86c92c8632', class: this.classMap, role: "status" }, this.indicator === INDICATOR_TYPES.DOT ? h("div", { class: "bds-status__dot", "aria-hidden": "true" }) : '', h("slot", { key: '47e03b139fcb4da8b15fe115518856c54d02a320', name: "icon" }), h("slot", { key: 'e512e975c2df8fa3e3380f27808eec96be5ad455' })));
|
|
44
|
+
}
|
|
45
|
+
get el() { return getElement(this); }
|
|
46
|
+
static get watchers() { return {
|
|
47
|
+
"state": [{
|
|
48
|
+
"checkPropValues": 0
|
|
49
|
+
}],
|
|
50
|
+
"indicator": [{
|
|
51
|
+
"checkPropValues": 0
|
|
52
|
+
}]
|
|
53
|
+
}; }
|
|
54
|
+
};
|
|
55
|
+
BdsStatus.style = bdsStatusCss();
|
|
56
|
+
|
|
57
|
+
export { BdsStatus as bds_status };
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, F as Fragment, a as Host, g as getElement } from './index-BqJlOB6b.js';
|
|
2
|
+
import { c as createId } from './BaseAttributes-DhSchGPI.js';
|
|
3
|
+
import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
|
|
4
|
+
|
|
5
|
+
const TAG_COLORS = {
|
|
6
|
+
GRAY: 'gray',
|
|
7
|
+
CYAN: 'cyan',
|
|
8
|
+
TEAL: 'teal',
|
|
9
|
+
LIME: 'lime',
|
|
10
|
+
ORANGE: 'orange',
|
|
11
|
+
COBALT: 'cobalt',
|
|
12
|
+
ROSE: 'rose',
|
|
13
|
+
PURPLE: 'purple',
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const bdsTagCss = () => `@charset "UTF-8";.bds-tag{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;vertical-align:middle;gap:var(--boreal-spacing-3xs);padding:var(--boreal-spacing-3xs) var(--boreal-spacing-3xs) var(--boreal-spacing-3xs) var(--boreal-spacing-2xs);border-radius:var(--boreal-radius-m);cursor:default;max-width:100%;min-width:0;font-family:var(--boreal-typography-font-family-primary);font-size:var(--boreal-typography-font-size-xs);font-weight:var(--boreal-typography-font-weight-semibold);line-height:var(--boreal-typography-line-height-xs)}.bds-tag:hover:not(.bds-tag--selected):not(.bds-tag--disabled){-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-tag:focus:not(.bds-tag--selected){outline:none;-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-tag--selected{outline:none;-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-tag__icon{font-size:var(--boreal-typography-font-size-md);max-height:var(--boreal-spacing-m)}.bds-tag__icon:empty{display:none}.bds-tag__text{margin-right:var(--boreal-spacing-2xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bds-tag__close-button{display:-ms-flexbox;display:flex;padding:var(--boreal-spacing-3xs);width:var(--boreal-spacing-s);height:var(--boreal-spacing-s);-webkit-box-sizing:content-box;box-sizing:content-box;border-radius:var(--boreal-radius-full);border:0px solid transparent;background-color:transparent;opacity:0.5;cursor:pointer}.bds-tag__close-button:hover{-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);background-color:var(--boreal-ui-inverse);opacity:0.5}.bds-tag__close-button:focus{background-color:var(--boreal-ui-inverse);opacity:0.5;outline:none;-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-tag__close-button:active{background-color:var(--boreal-ui-inverse);opacity:0.5;-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, 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, 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset}.bds-tag--disabled{cursor:not-allowed}.bds-tag--disabled .bds-tag__close-button{pointer-events:none}.bds-tag--gray{background-color:var(--boreal-extended-onyx-light);color:var(--boreal-extended-onyx-dark)}.bds-tag--gray .bds-tag__close-button{color:var(--boreal-extended-onyx-dark)}.bds-tag--gray.bds-tag--disabled{color:var(--boreal-extended-onyx-base);background-color:var(--boreal-extended-onyx-lighter)}.bds-tag--gray.bds-tag--disabled .bds-tag__close-button{color:var(--boreal-extended-onyx-base)}.bds-tag--purple{background-color:var(--boreal-extended-purple-light);color:var(--boreal-extended-purple-dark)}.bds-tag--purple .bds-tag__close-button{color:var(--boreal-extended-purple-dark)}.bds-tag--purple.bds-tag--disabled{color:var(--boreal-extended-purple-light);background-color:var(--boreal-extended-purple-lighter)}.bds-tag--purple.bds-tag--disabled .bds-tag__close-button{color:var(--boreal-extended-purple-light)}.bds-tag--rose{background-color:var(--boreal-extended-rose-light);color:var(--boreal-extended-rose-dark)}.bds-tag--rose .bds-tag__close-button{color:var(--boreal-extended-rose-dark)}.bds-tag--rose.bds-tag--disabled{color:var(--boreal-extended-rose-light);background-color:var(--boreal-extended-rose-lighter)}.bds-tag--rose.bds-tag--disabled .bds-tag__close-button{color:var(--boreal-extended-rose-light)}.bds-tag--lime{background-color:var(--boreal-extended-lime-light);color:var(--boreal-extended-lime-dark)}.bds-tag--lime .bds-tag__close-button{color:var(--boreal-extended-lime-dark)}.bds-tag--lime.bds-tag--disabled{color:var(--boreal-extended-lime-light);background-color:var(--boreal-extended-lime-lighter)}.bds-tag--lime.bds-tag--disabled .bds-tag__close-button{color:var(--boreal-extended-lime-light)}.bds-tag--cobalt{background-color:var(--boreal-extended-cobalt-light);color:var(--boreal-extended-cobalt-dark)}.bds-tag--cobalt .bds-tag__close-button{color:var(--boreal-extended-cobalt-dark)}.bds-tag--cobalt.bds-tag--disabled{color:var(--boreal-extended-cobalt-light);background-color:var(--boreal-extended-cobalt-lighter)}.bds-tag--cobalt.bds-tag--disabled .bds-tag__close-button{color:var(--boreal-extended-cobalt-light)}.bds-tag--orange{background-color:var(--boreal-extended-orange-light);color:var(--boreal-extended-orange-dark)}.bds-tag--orange .bds-tag__close-button{color:var(--boreal-extended-orange-dark)}.bds-tag--orange.bds-tag--disabled{color:var(--boreal-extended-orange-light);background-color:var(--boreal-extended-orange-lighter)}.bds-tag--orange.bds-tag--disabled .bds-tag__close-button{color:var(--boreal-extended-orange-light)}.bds-tag--teal{background-color:var(--boreal-extended-teal-light);color:var(--boreal-extended-teal-dark)}.bds-tag--teal .bds-tag__close-button{color:var(--boreal-extended-teal-dark)}.bds-tag--teal.bds-tag--disabled{color:var(--boreal-extended-teal-light);background-color:var(--boreal-extended-teal-lighter)}.bds-tag--teal.bds-tag--disabled .bds-tag__close-button{color:var(--boreal-extended-teal-light)}.bds-tag--cyan{background-color:var(--boreal-extended-cyan-light);color:var(--boreal-extended-cyan-dark)}.bds-tag--cyan .bds-tag__close-button{color:var(--boreal-extended-cyan-dark)}.bds-tag--cyan.bds-tag--disabled{color:var(--boreal-extended-cyan-light);background-color:var(--boreal-extended-cyan-lighter)}.bds-tag--cyan.bds-tag--disabled .bds-tag__close-button{color:var(--boreal-extended-cyan-light)}`;
|
|
17
|
+
|
|
18
|
+
const BdsTag = class {
|
|
19
|
+
constructor(hostRef) {
|
|
20
|
+
registerInstance(this, hostRef);
|
|
21
|
+
this.bdsClose = createEvent(this, "bdsClose");
|
|
22
|
+
this.bdsSelect = createEvent(this, "bdsSelect");
|
|
23
|
+
this._id = createId('bds-tag');
|
|
24
|
+
this.internalSelected = false;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the tag is selectable or not.
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
this.multiselect = false;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the tag is selected or not.
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
this.selected = false;
|
|
35
|
+
/**
|
|
36
|
+
* Aria label for the close button when visible.
|
|
37
|
+
*/
|
|
38
|
+
this.closeButtonLabel = 'Close tag';
|
|
39
|
+
/**
|
|
40
|
+
* Visual color variant: 'gray', 'cyan', 'cobalt', 'teal', 'lime', 'orange', 'rose', or 'purple'.
|
|
41
|
+
* @default "gray"
|
|
42
|
+
*/
|
|
43
|
+
this.color = TAG_COLORS.GRAY;
|
|
44
|
+
/**
|
|
45
|
+
* Hides the close button that allows users to dismiss the tag.
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
this.readonly = false;
|
|
49
|
+
/**
|
|
50
|
+
* Disables interaction with the tag. Reduces opacity and prevents interactions.
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
this.disabled = false;
|
|
54
|
+
this.handleClose = (e) => {
|
|
55
|
+
if (this.disabled)
|
|
56
|
+
return;
|
|
57
|
+
if (e !== undefined) {
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
e.stopPropagation();
|
|
60
|
+
}
|
|
61
|
+
this.bdsClose.emit({ id: this._id, selected: this.internalSelected, el: this.el });
|
|
62
|
+
};
|
|
63
|
+
this.handleKeyDown = (e) => {
|
|
64
|
+
if (this.disabled)
|
|
65
|
+
return;
|
|
66
|
+
const selectionKeys = [' ', 'Enter'];
|
|
67
|
+
const closeKeys = ['Delete', 'Backspace'];
|
|
68
|
+
if (!this.readonly && closeKeys.includes(e.key)) {
|
|
69
|
+
this.handleClose(e);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (selectionKeys.includes(e.key) && e.target === this.el) {
|
|
73
|
+
e.preventDefault();
|
|
74
|
+
this.handleSelection();
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
this.handleSelection = () => {
|
|
78
|
+
if (this.disabled)
|
|
79
|
+
return;
|
|
80
|
+
if (this.multiselect) {
|
|
81
|
+
this.internalSelected = !this.internalSelected;
|
|
82
|
+
this.bdsSelect.emit({ id: this._id, selected: this.internalSelected, el: this.el });
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
componentWillLoad() {
|
|
87
|
+
this.syncSelectedFromProp(this.selected);
|
|
88
|
+
this.checkPropValues();
|
|
89
|
+
this.validateMultiselectRole();
|
|
90
|
+
}
|
|
91
|
+
checkPropValues() {
|
|
92
|
+
validatePropValue(Object.values(TAG_COLORS), TAG_COLORS.GRAY, this.el, 'color');
|
|
93
|
+
}
|
|
94
|
+
syncSelectedFromProp(newValue) {
|
|
95
|
+
this.internalSelected = newValue;
|
|
96
|
+
}
|
|
97
|
+
validateMultiselectRole() {
|
|
98
|
+
if (!this.multiselect)
|
|
99
|
+
return;
|
|
100
|
+
const VALID_TAG_PARENTS = '[role="listbox"], [role="group"], bds-tag-group';
|
|
101
|
+
const el = this.el;
|
|
102
|
+
if (el.closest(VALID_TAG_PARENTS) === null) {
|
|
103
|
+
console.warn('[BorealDS Tag] Missing required ARIA parent. Expected role="listbox", role="group", or <bds-tag-group> when multiselect=true.');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
getClasses() {
|
|
107
|
+
return {
|
|
108
|
+
'bds-tag': true,
|
|
109
|
+
[`bds-tag--${this.color}`]: true,
|
|
110
|
+
'bds-tag--disabled': this.disabled,
|
|
111
|
+
'bds-tag--selected': this.internalSelected,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
renderTag() {
|
|
115
|
+
return (h(Fragment, null, h("span", { "aria-hidden": "true", class: "bds-tag__icon" }, h("slot", { name: "icon" })), h("span", { class: "bds-tag__text" }, h("slot", null))));
|
|
116
|
+
}
|
|
117
|
+
renderCloseIcon() {
|
|
118
|
+
return (h("button", { class: "bds-tag__close-button", "aria-label": this.closeButtonLabel, onClick: e => this.handleClose(e), disabled: this.disabled, type: "button" }, h("em", { class: "bds-icon-close", "aria-hidden": "true" })));
|
|
119
|
+
}
|
|
120
|
+
render() {
|
|
121
|
+
const classes = this.getClasses();
|
|
122
|
+
const hasCloseButton = !this.readonly;
|
|
123
|
+
const isSelectable = this.multiselect;
|
|
124
|
+
return (h(Host, { key: 'bd62a05fccbfa4aed3b7f72b9edf800c3ab05362', class: classes, role: isSelectable ? 'option' : undefined, tabIndex: isSelectable && !this.disabled ? 0 : -1, "aria-disabled": this.disabled ? 'true' : undefined, "aria-selected": isSelectable ? `${this.internalSelected}` : undefined, onKeyDown: !this.disabled ? (e) => this.handleKeyDown(e) : undefined, onClick: !this.disabled ? this.handleSelection : undefined, id: this._id }, this.renderTag(), hasCloseButton && this.renderCloseIcon()));
|
|
125
|
+
}
|
|
126
|
+
get el() { return getElement(this); }
|
|
127
|
+
static get watchers() { return {
|
|
128
|
+
"color": [{
|
|
129
|
+
"checkPropValues": 0
|
|
130
|
+
}],
|
|
131
|
+
"selected": [{
|
|
132
|
+
"syncSelectedFromProp": 0
|
|
133
|
+
}]
|
|
134
|
+
}; }
|
|
135
|
+
};
|
|
136
|
+
BdsTag.style = bdsTagCss();
|
|
137
|
+
|
|
138
|
+
export { BdsTag as bds_tag };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { M as Mixin, r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-
|
|
2
|
-
import { f as formAssociatedMixin
|
|
3
|
-
import {
|
|
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 { s as setFormValue, r as runValidators } from './internals-DfaYciGa.js';
|
|
4
|
+
import { c as createId } from './BaseAttributes-DhSchGPI.js';
|
|
5
|
+
import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
8
|
* Centralized list of `aria-label` values used by interactive elements.
|
|
@@ -24,17 +26,6 @@ const ICONS = {
|
|
|
24
26
|
SightOff: 'bds-icon-sight-off',
|
|
25
27
|
};
|
|
26
28
|
|
|
27
|
-
/**
|
|
28
|
-
* Generates a stable random ID for internal ARIA linkage.
|
|
29
|
-
* Used by components to wire labels, descriptions, and controls
|
|
30
|
-
* without exposing the ID as a public prop.
|
|
31
|
-
*
|
|
32
|
-
* @param prefix - Component-specific prefix for readability in DevTools.
|
|
33
|
-
*/
|
|
34
|
-
function createId(prefix = 'bds') {
|
|
35
|
-
return `${prefix}-${Math.random().toString(36).substr(2, 9)}`;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
29
|
const TEXT_FIELD_TYPES = {
|
|
39
30
|
TEXT: 'text',
|
|
40
31
|
PASSWORD: 'password',
|
|
@@ -341,7 +332,7 @@ const BdsTextField = class extends Mixin(formAssociatedMixin) {
|
|
|
341
332
|
: this.helperText;
|
|
342
333
|
const showFooter = helperContent !== '' || (this.counter && this.charCount > 0);
|
|
343
334
|
const typographyState = this.isDisabled ? 'disabled' : effectiveError ? 'error' : 'default';
|
|
344
|
-
return (h(Host, { key: '
|
|
335
|
+
return (h(Host, { key: '5f52a0a9553efa1ec140b9edc4d3d332b9b306bc', class: this.classMap, style: this.hostStyle, tabIndex: -1, onFocus: () => !this.readOnly && this.el.querySelector('input')?.focus() }, this.label !== '' && (h("bds-typography", { key: 'eea2b4211cb13cc24baa650239ceca1168933eb5', id: labelId, variant: "label", htmlFor: this._id, required: this.required, tooltipText: this.info !== '' ? this.info : undefined, state: typographyState }, this.label)), h("div", { key: '17d9e4b5f7e0d64a7e6e73200073db9e2d89b601', class: "bds-text-field__container" }, (this.icon !== '' || this.sublabel !== '') && (h("span", { key: '5557471fd0b5b49a1bb856ea4c1b901ca96039e6', class: "bds-text-field__sublabel" }, this.icon !== '' && h("em", { key: 'e213979d268b2fce51a0a090b82dff0552515a8c', class: this.icon }), this.sublabel)), h("slot", { key: '828b889037a40e562bf45a4b502988542b815701', name: "prefix" }), h("input", { key: 'b842de768f53b095b65fc60da7a0cfabfbcc87d1', id: this._id, class: "bds-text-field__control", "aria-labelledby": this.label !== '' ? labelId : undefined, "aria-describedby": showFooter && helperContent !== '' ? helperId : undefined, "aria-invalid": this.error || this.validationError ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, type: this.type === TEXT_FIELD_TYPES.PASSWORD && this.showPassword ? TEXT_FIELD_TYPES.TEXT : this.type, value: this.value, disabled: this.isDisabled, readOnly: this.readOnly, tabIndex: this.readOnly ? -1 : undefined, placeholder: this.placeholder, autocomplete: this.autocomplete, pattern: this.pattern !== '' ? this.pattern : undefined, minLength: this.minLength !== 0 ? this.minLength : undefined, maxLength: this.effectiveMaxLength, onMouseDown: (e) => this.handleMouseDown(e), onInput: (e) => this.handleInput(e), onChange: (e) => this.handleChange(e), onFocus: (e) => this.handleFocus(e), onBlur: (e) => this.handleBlur(e) }), (showClear || this.type === TEXT_FIELD_TYPES.PASSWORD) && (h("div", { key: '19ffb36c88f72645969fed69eb8368647ea8071c', class: "bds-text-field__actions" }, showClear && (h("button", { key: '1adbe2d791fa48cbc6d0b9d71bda40f01f77efe4', class: "bds-text-field__action bds-text-field__action--clear", type: "button", "aria-label": ARIA_LABELS.Clear, onClick: () => this.handleClear() }, h("em", { key: '72e94a903896a8f0d04569ffb4b692c5fe37c621', class: this.iconClear }))), this.type === TEXT_FIELD_TYPES.PASSWORD && (h("button", { key: '795a85ad395254a8dbac151eb225aeb0d0d9266a', class: "bds-text-field__action bds-text-field__action--password", type: "button", "aria-label": this.showPassword ? ARIA_LABELS.HidePassword : ARIA_LABELS.ShowPassword, onClick: () => this.handleShowPassword() }, h("em", { key: 'e84632218e25422ce5ba64ad6efc40a94310a0c5', class: this.showPasswordIcon })))))), showFooter && (h("div", { key: 'ef98f783b7cd1ccf37d04a209d1bcf4b87ca048a', class: "bds-text-field__footer" }, helperContent !== '' && (h("bds-typography", { key: 'c560b15810400be0710368c089294a6ee51746b1', id: helperId, variant: "helper", state: typographyState }, helperContent)), this.counter && this.charCount > 0 && (h("span", { key: 'e4f7d33f2e3bf588f30ccb7165a9b385d8f5a8e3', class: "bds-text-field__char-count" }, this.currentCharCount, "/", this.charCount))))));
|
|
345
336
|
}
|
|
346
337
|
static get formAssociated() { return true; }
|
|
347
338
|
get el() { return getElement(this); }
|