@spw-ds/spw-stencil-library 1.2.0 → 1.2.1
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/dist/cjs/{index-DPoQq9TD.js → index-iVhYitTd.js} +5 -2
- package/dist/cjs/index-iVhYitTd.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/spw-accordion_4.cjs.entry.js +5 -5
- package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/spw-button_2.cjs.entry.js +3 -3
- package/dist/cjs/spw-card-content.cjs.entry.js +2 -2
- package/dist/cjs/spw-card-excerpt.cjs.entry.js +2 -2
- package/dist/cjs/spw-card-image.cjs.entry.js +2 -2
- package/dist/cjs/spw-card-subtag-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-card-subtags.cjs.entry.js +2 -2
- package/dist/cjs/spw-card-title.cjs.entry.js +2 -2
- package/dist/cjs/spw-card.cjs.entry.js +2 -2
- package/dist/cjs/spw-checkbox.cjs.entry.js +6 -3
- package/dist/cjs/spw-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-cookies.cjs.entry.js +1 -1
- package/dist/cjs/spw-custom-select.cjs.entry.js +23 -12
- package/dist/cjs/spw-custom-select.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-custom-select.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/spw-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/spw-field-label_6.cjs.entry.js +6 -6
- package/dist/cjs/spw-field-message.cjs.entry.js +2 -2
- package/dist/cjs/spw-file-upload.cjs.entry.js +3 -3
- package/dist/cjs/spw-footer-bottom.cjs.entry.js +2 -2
- package/dist/cjs/spw-footer-content-col.cjs.entry.js +2 -2
- package/dist/cjs/spw-footer-content.cjs.entry.js +2 -2
- package/dist/cjs/spw-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/spw-footer.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-lang-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-lang.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-navigation-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-navigation.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-persona-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-persona.cjs.entry.js +2 -2
- package/dist/cjs/spw-header.cjs.entry.js +2 -2
- package/dist/cjs/spw-hero.cjs.entry.js +6 -3
- package/dist/cjs/spw-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-hero.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-illustration.cjs.entry.js +2389 -0
- package/dist/cjs/spw-illustration.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-illustration.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-iodda.cjs.entry.js +2 -2
- package/dist/cjs/spw-list-description.cjs.entry.js +2 -2
- package/dist/cjs/spw-list-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-list-title.cjs.entry.js +2 -2
- package/dist/cjs/spw-list.cjs.entry.js +2 -2
- package/dist/cjs/spw-message.cjs.entry.js +1 -1
- package/dist/cjs/spw-modal.cjs.entry.js +12 -10
- package/dist/cjs/spw-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-mosaic-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-mosaic.cjs.entry.js +2 -2
- package/dist/cjs/spw-pagination.cjs.entry.js +7 -7
- package/dist/cjs/spw-radio.cjs.entry.js +2 -2
- package/dist/cjs/spw-search-field.cjs.entry.js +3 -3
- package/dist/cjs/spw-select.cjs.entry.js +37 -3
- package/dist/cjs/spw-select.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-select.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +1 -1
- package/dist/cjs/spw-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/spw-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/spw-socials.cjs.entry.js +1 -1
- package/dist/cjs/spw-stencil-library.cjs.js +2 -2
- package/dist/cjs/spw-table-body.cjs.entry.js +1 -1
- package/dist/cjs/spw-table-cell.cjs.entry.js +2 -2
- package/dist/cjs/spw-table-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table-footer.cjs.entry.js +1 -1
- package/dist/cjs/spw-table-head.cjs.entry.js +1 -1
- package/dist/cjs/spw-table-header.cjs.entry.js +9 -5
- package/dist/cjs/spw-table-header.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-header.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table-row.cjs.entry.js +11 -3
- package/dist/cjs/spw-table-row.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-row.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table.cjs.entry.js +23 -10
- package/dist/cjs/spw-table.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-tabs-content.cjs.entry.js +1 -1
- package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +6 -3
- package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-tabs-navigation-item.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-tabs-navigation.cjs.entry.js +85 -3
- package/dist/cjs/spw-tabs-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-tabs-navigation.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-tabs.cjs.entry.js +70 -13
- package/dist/cjs/spw-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-tag.cjs.entry.js +2 -2
- package/dist/cjs/spw-text-field.cjs.entry.js +2 -2
- package/dist/cjs/spw-textarea.cjs.entry.js +2 -2
- package/dist/cjs/spw-tile-description.cjs.entry.js +2 -2
- package/dist/cjs/spw-tile-title.cjs.entry.js +2 -2
- package/dist/cjs/spw-tile.cjs.entry.js +2 -2
- package/dist/cjs/spw-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/spw-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-topbar.cjs.entry.js +2 -2
- package/dist/cjs/utils-CKYAw_Le.js.map +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/spw-accordion/spw-accordion-content/spw-accordion-content.js +1 -1
- package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.js +1 -1
- package/dist/collection/components/spw-accordion/spw-accordion-title/spw-accordion-title.js +1 -1
- package/dist/collection/components/spw-accordion/spw-accordion.js +1 -1
- package/dist/collection/components/spw-breadcrumb/spw-breadcrumb-item/spw-breadcrumb-item.js +1 -1
- package/dist/collection/components/spw-breadcrumb/spw-breadcrumb.js +1 -1
- package/dist/collection/components/spw-button/spw-button.js +1 -1
- package/dist/collection/components/spw-card/spw-card-content/spw-card-content.js +1 -1
- package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.js +1 -1
- package/dist/collection/components/spw-card/spw-card-image/spw-card-image.js +1 -1
- package/dist/collection/components/spw-card/spw-card-subtag-item/spw-card-subtag-item.js +1 -1
- package/dist/collection/components/spw-card/spw-card-subtags/spw-card-subtags.js +1 -1
- package/dist/collection/components/spw-card/spw-card-title/spw-card-title.js +1 -1
- package/dist/collection/components/spw-card/spw-card.js +1 -1
- package/dist/collection/components/spw-checkbox/spw-checkbox.css +1 -1
- package/dist/collection/components/spw-checkbox/spw-checkbox.js +24 -1
- package/dist/collection/components/spw-checkbox/spw-checkbox.js.map +1 -1
- package/dist/collection/components/spw-custom-select/spw-custom-select.js +27 -16
- package/dist/collection/components/spw-custom-select/spw-custom-select.js.map +1 -1
- package/dist/collection/components/spw-date-picker/spw-date-picker.js +1 -1
- package/dist/collection/components/spw-dropdown/spw-dropdown.js +1 -1
- package/dist/collection/components/spw-field-label/spw-field-label.js +1 -1
- package/dist/collection/components/spw-field-message/spw-field-message.js +1 -1
- package/dist/collection/components/spw-file-upload/spw-file-upload.js +2 -2
- package/dist/collection/components/spw-footer/spw-footer-bottom/spw-footer-bottom.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer-content/spw-footer-content.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer-content-col/spw-footer-content-col.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer-link/spw-footer-link.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer.js +1 -1
- package/dist/collection/components/spw-group/spw-group.js +1 -1
- package/dist/collection/components/spw-header/spw-header-lang/spw-header-lang.js +1 -1
- package/dist/collection/components/spw-header/spw-header-lang-item/spw-header-lang-item.js +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation-dropdown/spw-header-navigation-dropdown.js +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.js +1 -1
- package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js +1 -1
- package/dist/collection/components/spw-header/spw-header-persona-item/spw-header-persona-item.js +1 -1
- package/dist/collection/components/spw-header/spw-header.js +1 -1
- package/dist/collection/components/spw-hero/spw-hero.css +1 -1
- package/dist/collection/components/spw-hero/spw-hero.js +24 -1
- package/dist/collection/components/spw-hero/spw-hero.js.map +1 -1
- package/dist/collection/components/spw-icon/spw-icon.js +1 -1
- package/dist/collection/components/spw-illustration/spw-illustration.css +2 -0
- package/dist/collection/components/spw-illustration/spw-illustration.js +2479 -0
- package/dist/collection/components/spw-illustration/spw-illustration.js.map +1 -0
- package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
- package/dist/collection/components/spw-link/spw-link.js +1 -1
- package/dist/collection/components/spw-list/spw-list-description/spw-list-description.js +1 -1
- package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +1 -1
- package/dist/collection/components/spw-list/spw-list-title/spw-list-title.js +1 -1
- package/dist/collection/components/spw-list/spw-list.js +1 -1
- package/dist/collection/components/spw-loading/spw-loading.js +1 -1
- package/dist/collection/components/spw-modal/spw-modal.js +11 -9
- package/dist/collection/components/spw-modal/spw-modal.js.map +1 -1
- package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
- package/dist/collection/components/spw-mosaic/spw-mosaic.js +1 -1
- package/dist/collection/components/spw-pagination/spw-pagination.js +6 -6
- package/dist/collection/components/spw-radio/spw-radio.js +1 -1
- package/dist/collection/components/spw-search-field/spw-search-field.js +2 -2
- package/dist/collection/components/spw-select/spw-select.js +100 -2
- package/dist/collection/components/spw-select/spw-select.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.css +1 -1
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.css +1 -1
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +7 -3
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.css +1 -1
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +35 -1
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table.js +22 -9
- package/dist/collection/components/spw-table/spw-table.js.map +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.css +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +100 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js.map +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.css +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +43 -2
- package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js.map +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs.js +129 -12
- package/dist/collection/components/spw-tabs/spw-tabs.js.map +1 -1
- package/dist/collection/components/spw-tag/spw-tag.js +1 -1
- package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
- package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
- package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile.js +1 -1
- package/dist/collection/components/spw-tooltip/spw-tooltip.css +1 -1
- package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
- package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
- package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js +6 -7
- package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js +108 -0
- package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js.map +1 -0
- package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js +6 -4
- package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js +2 -1
- package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js +6 -7
- package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-icon/spw-icon.stories.js +1 -0
- package/dist/collection/stories/components/spw-icon/spw-icon.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-radio/spw-radio.stories.js +6 -7
- package/dist/collection/stories/components/spw-radio/spw-radio.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-select/spw-select.stories.js +6 -7
- package/dist/collection/stories/components/spw-select/spw-select.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js +6 -6
- package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-card/spw-card.stories.js +2 -1
- package/dist/collection/stories/organisms/spw-card/spw-card.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js +4 -2
- package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +2 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js +24 -4
- package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-list/spw-list.stories.js +2 -1
- package/dist/collection/stories/organisms/spw-list/spw-list.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js +1 -1
- package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js +8 -4
- package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js +2 -1
- package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-table/spw-table.stories.js +98 -5
- package/dist/collection/stories/organisms/spw-table/spw-table.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js +6 -3
- package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js +6 -3
- package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js +2 -1
- package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js.map +1 -1
- package/dist/collection/utils/utils.js +12 -1
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-_VSq6JhE.js → p-2zBnLUyL.js} +3 -3
- package/dist/components/{p-_VSq6JhE.js.map → p-2zBnLUyL.js.map} +1 -1
- package/dist/components/{p-BrCiFcDB.js → p-BExIjlwY.js} +12 -12
- package/dist/components/{p-BrCiFcDB.js.map → p-BExIjlwY.js.map} +1 -1
- package/dist/components/p-BRzMlz9h.js +129 -0
- package/dist/components/p-BRzMlz9h.js.map +1 -0
- package/dist/components/{p-DMD2z45s.js → p-BbuJ0hsQ.js} +4 -4
- package/dist/components/{p-DMD2z45s.js.map → p-BbuJ0hsQ.js.map} +1 -1
- package/dist/components/{p-DqtSG4Dc.js → p-Bja0SU2g.js} +4 -4
- package/dist/components/p-Bja0SU2g.js.map +1 -0
- package/dist/components/{p-DDvpvxxV.js → p-C_iAJUsF.js} +3 -3
- package/dist/components/{p-DDvpvxxV.js.map → p-C_iAJUsF.js.map} +1 -1
- package/dist/components/{p-DibGOHbd.js → p-CahscFgh.js} +6 -6
- package/dist/components/{p-DibGOHbd.js.map → p-CahscFgh.js.map} +1 -1
- package/dist/components/{p-CF4CA9QM.js → p-CwxUBfbv.js} +3 -3
- package/dist/components/{p-CF4CA9QM.js.map → p-CwxUBfbv.js.map} +1 -1
- package/dist/components/{p-Clhpt_u-.js → p-DSus8Zwu.js} +4 -4
- package/dist/components/{p-Clhpt_u-.js.map → p-DSus8Zwu.js.map} +1 -1
- package/dist/components/{p-BPTPujMC.js → p-DnyVO_PX.js} +5 -5
- package/dist/components/{p-BPTPujMC.js.map → p-DnyVO_PX.js.map} +1 -1
- package/dist/components/{p-wxevhJKV.js → p-DogcJyQh.js} +4 -4
- package/dist/components/{p-wxevhJKV.js.map → p-DogcJyQh.js.map} +1 -1
- package/dist/components/{p-B1_XG4Wf.js → p-JncqUnd1.js} +3 -3
- package/dist/components/{p-B1_XG4Wf.js.map → p-JncqUnd1.js.map} +1 -1
- package/dist/components/{p-BrOEFNbv.js → p-_q4w18VU.js} +3 -3
- package/dist/components/{p-BrOEFNbv.js.map → p-_q4w18VU.js.map} +1 -1
- package/dist/components/{p-Ch60bguo.js → p-z27d6ASx.js} +3 -3
- package/dist/components/{p-Ch60bguo.js.map → p-z27d6ASx.js.map} +1 -1
- package/dist/components/p-zpG0udTn.js.map +1 -1
- package/dist/components/spw-accordion-content.js +1 -1
- package/dist/components/spw-accordion-item.js +1 -1
- package/dist/components/spw-accordion-title.js +1 -1
- package/dist/components/spw-accordion.js +1 -1
- package/dist/components/spw-breadcrumb-item.js +3 -3
- package/dist/components/spw-breadcrumb.js +1 -1
- package/dist/components/spw-button.js +1 -1
- package/dist/components/spw-card-content.js +1 -1
- package/dist/components/spw-card-excerpt.js +1 -1
- package/dist/components/spw-card-image.js +2 -2
- package/dist/components/spw-card-subtag-item.js +1 -1
- package/dist/components/spw-card-subtags.js +1 -1
- package/dist/components/spw-card-title.js +1 -1
- package/dist/components/spw-card.js +1 -1
- package/dist/components/spw-checkbox.js +1 -1
- package/dist/components/spw-cookies.js +8 -8
- package/dist/components/spw-custom-select.js +28 -17
- package/dist/components/spw-custom-select.js.map +1 -1
- package/dist/components/spw-date-picker.js +4 -4
- package/dist/components/spw-dropdown.js +1 -1
- package/dist/components/spw-field-label.js +1 -1
- package/dist/components/spw-field-message.js +1 -1
- package/dist/components/spw-file-upload.js +5 -5
- package/dist/components/spw-footer-bottom.js +1 -1
- package/dist/components/spw-footer-content-col.js +1 -1
- package/dist/components/spw-footer-content.js +1 -1
- package/dist/components/spw-footer-link.js +1 -1
- package/dist/components/spw-footer.js +1 -1
- package/dist/components/spw-group.js +2 -2
- package/dist/components/spw-header-lang-item.js +1 -1
- package/dist/components/spw-header-lang.js +4 -4
- package/dist/components/spw-header-navigation-dropdown.js +1 -1
- package/dist/components/spw-header-navigation-item.js +2 -2
- package/dist/components/spw-header-navigation.js +2 -2
- package/dist/components/spw-header-persona-item.js +1 -1
- package/dist/components/spw-header-persona.js +2 -2
- package/dist/components/spw-header.js +4 -4
- package/dist/components/spw-hero.js +6 -2
- package/dist/components/spw-hero.js.map +1 -1
- package/dist/components/spw-icon.js +1 -1
- package/dist/components/spw-illustration.d.ts +11 -0
- package/dist/components/spw-illustration.js +2410 -0
- package/dist/components/spw-illustration.js.map +1 -0
- package/dist/components/spw-iodda.js +7 -7
- package/dist/components/spw-link.js +1 -1
- package/dist/components/spw-list-description.js +1 -1
- package/dist/components/spw-list-item.js +2 -2
- package/dist/components/spw-list-title.js +2 -2
- package/dist/components/spw-list.js +1 -1
- package/dist/components/spw-loading.js +1 -1
- package/dist/components/spw-message.js +2 -2
- package/dist/components/spw-modal.js +12 -10
- package/dist/components/spw-modal.js.map +1 -1
- package/dist/components/spw-mosaic-item.js +1 -1
- package/dist/components/spw-mosaic.js +1 -1
- package/dist/components/spw-pagination.js +1 -1
- package/dist/components/spw-radio.js +1 -1
- package/dist/components/spw-search-field.js +6 -6
- package/dist/components/spw-select.js +44 -5
- package/dist/components/spw-select.js.map +1 -1
- package/dist/components/spw-sidebar-navigation-item.js +2 -2
- package/dist/components/spw-sidebar.js +1 -1
- package/dist/components/spw-table-cell.js +1 -1
- package/dist/components/spw-table-cell.js.map +1 -1
- package/dist/components/spw-table-header.js +10 -6
- package/dist/components/spw-table-header.js.map +1 -1
- package/dist/components/spw-table-row.js +13 -3
- package/dist/components/spw-table-row.js.map +1 -1
- package/dist/components/spw-table.js +22 -9
- package/dist/components/spw-table.js.map +1 -1
- package/dist/components/spw-tabs-navigation-item.js +21 -4
- package/dist/components/spw-tabs-navigation-item.js.map +1 -1
- package/dist/components/spw-tabs-navigation.js +95 -4
- package/dist/components/spw-tabs-navigation.js.map +1 -1
- package/dist/components/spw-tabs.js +75 -14
- package/dist/components/spw-tabs.js.map +1 -1
- package/dist/components/spw-tag.js +2 -2
- package/dist/components/spw-text-field.js +1 -1
- package/dist/components/spw-textarea.js +4 -4
- package/dist/components/spw-theme-provider.js +1 -1
- package/dist/components/spw-tile-description.js +1 -1
- package/dist/components/spw-tile-title.js +1 -1
- package/dist/components/spw-tile.js +2 -2
- package/dist/components/spw-tooltip.js +1 -1
- package/dist/components/spw-topbar.js +1 -1
- package/dist/components_json.json +505 -34
- package/dist/components_vscode.json +127 -7
- package/dist/esm/{index-BaAUTDWF.js → index-BYM_CUUH.js} +5 -2
- package/dist/esm/index-BYM_CUUH.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/spw-accordion_4.entry.js +5 -5
- package/dist/esm/spw-breadcrumb-item.entry.js +2 -2
- package/dist/esm/spw-breadcrumb.entry.js +2 -2
- package/dist/esm/spw-button_2.entry.js +3 -3
- package/dist/esm/spw-card-content.entry.js +2 -2
- package/dist/esm/spw-card-excerpt.entry.js +2 -2
- package/dist/esm/spw-card-image.entry.js +2 -2
- package/dist/esm/spw-card-subtag-item.entry.js +2 -2
- package/dist/esm/spw-card-subtags.entry.js +2 -2
- package/dist/esm/spw-card-title.entry.js +2 -2
- package/dist/esm/spw-card.entry.js +2 -2
- package/dist/esm/spw-checkbox.entry.js +6 -3
- package/dist/esm/spw-checkbox.entry.js.map +1 -1
- package/dist/esm/spw-cookies.entry.js +1 -1
- package/dist/esm/spw-custom-select.entry.js +23 -12
- package/dist/esm/spw-custom-select.entry.js.map +1 -1
- package/dist/esm/spw-date-picker.entry.js +2 -2
- package/dist/esm/spw-dropdown.entry.js +2 -2
- package/dist/esm/spw-field-label_6.entry.js +6 -6
- package/dist/esm/spw-field-message.entry.js +2 -2
- package/dist/esm/spw-file-upload.entry.js +3 -3
- package/dist/esm/spw-footer-bottom.entry.js +2 -2
- package/dist/esm/spw-footer-content-col.entry.js +2 -2
- package/dist/esm/spw-footer-content.entry.js +2 -2
- package/dist/esm/spw-footer-link.entry.js +2 -2
- package/dist/esm/spw-footer.entry.js +2 -2
- package/dist/esm/spw-header-lang-item.entry.js +2 -2
- package/dist/esm/spw-header-lang.entry.js +2 -2
- package/dist/esm/spw-header-navigation-dropdown.entry.js +2 -2
- package/dist/esm/spw-header-navigation-item.entry.js +2 -2
- package/dist/esm/spw-header-navigation.entry.js +2 -2
- package/dist/esm/spw-header-persona-item.entry.js +2 -2
- package/dist/esm/spw-header-persona.entry.js +2 -2
- package/dist/esm/spw-header.entry.js +2 -2
- package/dist/esm/spw-hero.entry.js +6 -3
- package/dist/esm/spw-hero.entry.js.map +1 -1
- package/dist/esm/spw-illustration.entry.js +2387 -0
- package/dist/esm/spw-illustration.entry.js.map +1 -0
- package/dist/esm/spw-iodda.entry.js +2 -2
- package/dist/esm/spw-list-description.entry.js +2 -2
- package/dist/esm/spw-list-item.entry.js +2 -2
- package/dist/esm/spw-list-title.entry.js +2 -2
- package/dist/esm/spw-list.entry.js +2 -2
- package/dist/esm/spw-message.entry.js +1 -1
- package/dist/esm/spw-modal.entry.js +12 -10
- package/dist/esm/spw-modal.entry.js.map +1 -1
- package/dist/esm/spw-mosaic-item.entry.js +2 -2
- package/dist/esm/spw-mosaic.entry.js +2 -2
- package/dist/esm/spw-pagination.entry.js +7 -7
- package/dist/esm/spw-radio.entry.js +2 -2
- package/dist/esm/spw-search-field.entry.js +3 -3
- package/dist/esm/spw-select.entry.js +37 -3
- package/dist/esm/spw-select.entry.js.map +1 -1
- package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +1 -1
- package/dist/esm/spw-sidebar-navigation-item.entry.js +1 -1
- package/dist/esm/spw-sidebar-navigation-separator.entry.js +1 -1
- package/dist/esm/spw-sidebar.entry.js +1 -1
- package/dist/esm/spw-skeleton.entry.js +1 -1
- package/dist/esm/spw-socials.entry.js +1 -1
- package/dist/esm/spw-stencil-library.js +3 -3
- package/dist/esm/spw-table-body.entry.js +1 -1
- package/dist/esm/spw-table-cell.entry.js +2 -2
- package/dist/esm/spw-table-cell.entry.js.map +1 -1
- package/dist/esm/spw-table-footer.entry.js +1 -1
- package/dist/esm/spw-table-head.entry.js +1 -1
- package/dist/esm/spw-table-header.entry.js +9 -5
- package/dist/esm/spw-table-header.entry.js.map +1 -1
- package/dist/esm/spw-table-row.entry.js +11 -3
- package/dist/esm/spw-table-row.entry.js.map +1 -1
- package/dist/esm/spw-table.entry.js +23 -10
- package/dist/esm/spw-table.entry.js.map +1 -1
- package/dist/esm/spw-tabs-content.entry.js +1 -1
- package/dist/esm/spw-tabs-navigation-item.entry.js +6 -3
- package/dist/esm/spw-tabs-navigation-item.entry.js.map +1 -1
- package/dist/esm/spw-tabs-navigation.entry.js +85 -3
- package/dist/esm/spw-tabs-navigation.entry.js.map +1 -1
- package/dist/esm/spw-tabs.entry.js +70 -13
- package/dist/esm/spw-tabs.entry.js.map +1 -1
- package/dist/esm/spw-tag.entry.js +2 -2
- package/dist/esm/spw-text-field.entry.js +2 -2
- package/dist/esm/spw-textarea.entry.js +2 -2
- package/dist/esm/spw-tile-description.entry.js +2 -2
- package/dist/esm/spw-tile-title.entry.js +2 -2
- package/dist/esm/spw-tile.entry.js +2 -2
- package/dist/esm/spw-tooltip.entry.js +3 -3
- package/dist/esm/spw-tooltip.entry.js.map +1 -1
- package/dist/esm/spw-topbar.entry.js +2 -2
- package/dist/esm/utils-zpG0udTn.js.map +1 -1
- package/dist/spw-stencil-library/{p-27d3d92a.entry.js → p-095280cd.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-4e96a7f8.entry.js → p-0aa4a108.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-3625250b.entry.js → p-1e725439.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-c93bb0fb.entry.js → p-2111f4af.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-0b4a2f05.entry.js → p-272b59d2.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-f384262d.entry.js → p-2e8ec25d.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-f8b02eb3.entry.js → p-2f4d2f5e.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-621edd61.entry.js → p-302b8062.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ce16fd94.entry.js → p-3554fb8f.entry.js} +2 -2
- package/dist/spw-stencil-library/p-3554fb8f.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-98255d7f.entry.js → p-3a4b10ad.entry.js} +2 -2
- package/dist/spw-stencil-library/p-3ab472db.entry.js +2 -0
- package/dist/spw-stencil-library/p-3ab472db.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-3e6fe922.entry.js +2 -0
- package/dist/spw-stencil-library/p-3e6fe922.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-eb6ad6f0.entry.js → p-40283415.entry.js} +2 -2
- package/dist/spw-stencil-library/p-40283415.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-86c265a0.entry.js → p-40875966.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-4122bb55.entry.js → p-4540f03d.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-754d81d9.entry.js → p-4c4a0709.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-49e6a16e.entry.js → p-4de11305.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-7c7f8eae.entry.js → p-5d7b7815.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-49221194.entry.js → p-5ed3e0dc.entry.js} +4 -4
- package/dist/spw-stencil-library/p-6080e3af.entry.js +2 -0
- package/dist/spw-stencil-library/p-6080e3af.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-3cdcc221.entry.js → p-623f0364.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-8ea75393.entry.js → p-65362ceb.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9cdaf77f.entry.js → p-68470983.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-1d53f317.entry.js → p-6e73ea86.entry.js} +2 -2
- package/dist/spw-stencil-library/p-6e73ea86.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-8ae132ed.entry.js → p-6ec9bc6c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-0f3f20f5.entry.js → p-7028e7b5.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-7d9b220f.entry.js → p-729ecfae.entry.js} +2 -2
- package/dist/spw-stencil-library/p-729ecfae.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-73db3953.entry.js +2 -0
- package/dist/spw-stencil-library/p-73db3953.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-8b951993.entry.js → p-7e30e4c2.entry.js} +2 -2
- package/dist/spw-stencil-library/p-7e30e4c2.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-4081582a.entry.js → p-7f51d86c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-aa7566e0.entry.js → p-81b268ec.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-3a446e55.entry.js → p-8abf47fe.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-30005a16.entry.js → p-8f3a311c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-8312033a.entry.js → p-90b5dafe.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-328bfb78.entry.js → p-92c085a5.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-809f6063.entry.js → p-92dc2c82.entry.js} +2 -2
- package/dist/spw-stencil-library/p-93f062f5.entry.js +2 -0
- package/dist/spw-stencil-library/p-93f062f5.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-ae95b303.entry.js → p-999a607e.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-f7d5eb27.entry.js → p-9a5031d4.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-938971bc.entry.js → p-9b651a66.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-BaAUTDWF.js → p-BYM_CUUH.js} +2 -2
- package/dist/spw-stencil-library/p-BYM_CUUH.js.map +1 -0
- package/dist/spw-stencil-library/{p-325309ec.entry.js → p-a421a2bd.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-3ca241ed.entry.js → p-a46af3e5.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-96f2ab55.entry.js → p-a5b78201.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-16f48e73.entry.js → p-a7d606e3.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-5752fdef.entry.js → p-ae905af5.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-7a9c8362.entry.js → p-b044a74c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-8b7f940d.entry.js → p-b0ca9615.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-c08f14f9.entry.js → p-b45534d4.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-add90792.entry.js → p-b77d1fe8.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-b6908714.entry.js → p-b7d4f7c6.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-3ffc32e2.entry.js → p-c7453498.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a09a320d.entry.js → p-c7e025a5.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-1dde0477.entry.js → p-c8b5a26a.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ea24705d.entry.js → p-cc8717c0.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e95b2caa.entry.js → p-cc934cd6.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-cc2fc4d1.entry.js → p-cf508941.entry.js} +2 -2
- package/dist/spw-stencil-library/p-cfd71d4a.entry.js +2 -0
- package/dist/spw-stencil-library/p-cfd71d4a.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-dfade2bb.entry.js → p-cff5a7e4.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ad03e5fa.entry.js → p-d2c4f07d.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-45abc261.entry.js → p-d67fdf8d.entry.js} +2 -2
- package/dist/spw-stencil-library/p-d6b76976.entry.js +2 -0
- package/dist/spw-stencil-library/p-d6b76976.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-7f39476b.entry.js → p-dd441d3f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-b7608972.entry.js → p-dff72718.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-b00ef206.entry.js → p-e5178e47.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-d4922788.entry.js → p-e67b5361.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-08ead4ae.entry.js → p-e6981b73.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-fa895f36.entry.js → p-e771bb8e.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-102ff932.entry.js → p-f108ecf1.entry.js} +2 -2
- package/dist/spw-stencil-library/p-f3e9ab57.entry.js +2 -0
- package/dist/spw-stencil-library/p-f3e9ab57.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-a992edea.entry.js → p-f62d837a.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-44a61c9f.entry.js → p-fc1d8034.entry.js} +2 -2
- package/dist/spw-stencil-library/p-ffb3b941.entry.js +2 -0
- package/dist/spw-stencil-library/p-ffb3b941.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-zpG0udTn.js.map +1 -1
- package/dist/spw-stencil-library/spw-checkbox.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-custom-select.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-hero.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-illustration.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-modal.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-select.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-stencil-library.css +5 -1
- package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
- package/dist/spw-stencil-library/spw-table-cell.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table-header.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table-row.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-tabs-navigation-item.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-tabs-navigation.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-tabs.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-tooltip.entry.esm.js.map +1 -1
- package/dist/stats.json +2097 -1142
- package/dist/types/components/spw-checkbox/spw-checkbox.d.ts +2 -0
- package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +3 -3
- package/dist/types/components/spw-hero/spw-hero.d.ts +2 -0
- package/dist/types/components/spw-illustration/spw-illustration.d.ts +32 -0
- package/dist/types/components/spw-select/spw-select.d.ts +12 -0
- package/dist/types/components/spw-table/spw-table-row/spw-table-row.d.ts +3 -0
- package/dist/types/components/spw-table/spw-table.d.ts +1 -0
- package/dist/types/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.d.ts +17 -0
- package/dist/types/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.d.ts +4 -0
- package/dist/types/components/spw-tabs/spw-tabs.d.ts +11 -1
- package/dist/types/components.d.ts +160 -12
- package/dist/types/stories/components/spw-custom-select/spw-custom-select.stories.d.ts +9 -0
- package/dist/types/stories/organisms/spw-hero/spw-hero.stories.d.ts +2 -0
- package/hydrate/index.js +2757 -125
- package/hydrate/index.mjs +2757 -125
- package/package.json +1 -1
- package/dist/cjs/index-DPoQq9TD.js.map +0 -1
- package/dist/components/p-COf5LpGH.js +0 -125
- package/dist/components/p-COf5LpGH.js.map +0 -1
- package/dist/components/p-DqtSG4Dc.js.map +0 -1
- package/dist/esm/index-BaAUTDWF.js.map +0 -1
- package/dist/spw-stencil-library/_commonjsHelpers-CvGrISen.js.map +0 -1
- package/dist/spw-stencil-library/app-globals-DQuL1Twl.js.map +0 -1
- package/dist/spw-stencil-library/index-CHjlxlqM.js.map +0 -1
- package/dist/spw-stencil-library/p-1d53f317.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-275708d3.entry.js +0 -2
- package/dist/spw-stencil-library/p-275708d3.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-4917458b.entry.js +0 -2
- package/dist/spw-stencil-library/p-4917458b.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-49d9a720.entry.js +0 -2
- package/dist/spw-stencil-library/p-49d9a720.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-4ae6cb6c.entry.js +0 -2
- package/dist/spw-stencil-library/p-4ae6cb6c.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-7d9b220f.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-84132f3d.entry.js +0 -2
- package/dist/spw-stencil-library/p-84132f3d.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-8b951993.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-BaAUTDWF.js.map +0 -1
- package/dist/spw-stencil-library/p-b24afc65.entry.js +0 -2
- package/dist/spw-stencil-library/p-b24afc65.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-ce16fd94.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-cf09d649.entry.js +0 -2
- package/dist/spw-stencil-library/p-cf09d649.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-eb6ad6f0.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-f7dd32a4.entry.js +0 -2
- package/dist/spw-stencil-library/p-f7dd32a4.entry.js.map +0 -1
- package/dist/spw-stencil-library/utils-BXStmMnc.js.map +0 -1
- /package/dist/spw-stencil-library/{p-27d3d92a.entry.js.map → p-095280cd.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-4e96a7f8.entry.js.map → p-0aa4a108.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3625250b.entry.js.map → p-1e725439.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c93bb0fb.entry.js.map → p-2111f4af.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-0b4a2f05.entry.js.map → p-272b59d2.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-f384262d.entry.js.map → p-2e8ec25d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-f8b02eb3.entry.js.map → p-2f4d2f5e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-621edd61.entry.js.map → p-302b8062.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-98255d7f.entry.js.map → p-3a4b10ad.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-86c265a0.entry.js.map → p-40875966.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-4122bb55.entry.js.map → p-4540f03d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-754d81d9.entry.js.map → p-4c4a0709.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-49e6a16e.entry.js.map → p-4de11305.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-7c7f8eae.entry.js.map → p-5d7b7815.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-49221194.entry.js.map → p-5ed3e0dc.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3cdcc221.entry.js.map → p-623f0364.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8ea75393.entry.js.map → p-65362ceb.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-9cdaf77f.entry.js.map → p-68470983.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8ae132ed.entry.js.map → p-6ec9bc6c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-0f3f20f5.entry.js.map → p-7028e7b5.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-4081582a.entry.js.map → p-7f51d86c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-aa7566e0.entry.js.map → p-81b268ec.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3a446e55.entry.js.map → p-8abf47fe.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-30005a16.entry.js.map → p-8f3a311c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8312033a.entry.js.map → p-90b5dafe.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-328bfb78.entry.js.map → p-92c085a5.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-809f6063.entry.js.map → p-92dc2c82.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ae95b303.entry.js.map → p-999a607e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-f7d5eb27.entry.js.map → p-9a5031d4.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-938971bc.entry.js.map → p-9b651a66.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-325309ec.entry.js.map → p-a421a2bd.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3ca241ed.entry.js.map → p-a46af3e5.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-96f2ab55.entry.js.map → p-a5b78201.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-16f48e73.entry.js.map → p-a7d606e3.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-5752fdef.entry.js.map → p-ae905af5.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-7a9c8362.entry.js.map → p-b044a74c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8b7f940d.entry.js.map → p-b0ca9615.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c08f14f9.entry.js.map → p-b45534d4.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-add90792.entry.js.map → p-b77d1fe8.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b6908714.entry.js.map → p-b7d4f7c6.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3ffc32e2.entry.js.map → p-c7453498.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a09a320d.entry.js.map → p-c7e025a5.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-1dde0477.entry.js.map → p-c8b5a26a.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ea24705d.entry.js.map → p-cc8717c0.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e95b2caa.entry.js.map → p-cc934cd6.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cc2fc4d1.entry.js.map → p-cf508941.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-dfade2bb.entry.js.map → p-cff5a7e4.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ad03e5fa.entry.js.map → p-d2c4f07d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-45abc261.entry.js.map → p-d67fdf8d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-7f39476b.entry.js.map → p-dd441d3f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b7608972.entry.js.map → p-dff72718.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b00ef206.entry.js.map → p-e5178e47.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-d4922788.entry.js.map → p-e67b5361.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-08ead4ae.entry.js.map → p-e6981b73.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-fa895f36.entry.js.map → p-e771bb8e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-102ff932.entry.js.map → p-f108ecf1.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a992edea.entry.js.map → p-f62d837a.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-44a61c9f.entry.js.map → p-fc1d8034.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-modal.entry.esm.js","sources":["src/utils/focus-trap.ts","src/utils/animation.ts","src/components/spw-modal/spw-modal.scss?tag=spw-modal&encapsulation=shadow","src/components/spw-modal/spw-modal.tsx"],"sourcesContent":["/**\n * Copy/pasted from https://github.com/andreasbm/focus-trap\n */\n\n/**\n * Traverses the slots of the open shadowroots and returns all children matching the query.\n * We need to traverse each child-depth one at a time because if an element should be skipped\n * (for example because it is hidden) we need to skip all of it's children. If we use querySelectorAll(\"*\")\n * the information of whether the children is within a hidden parent is lost.\n * @param {ShadowRoot | HTMLElement} root\n * @param skipNode\n * @param isMatch\n * @param {number} maxDepth\n * @param {number} depth\n * @returns {HTMLElement[]}\n */\nexport function queryShadowRoot(\n root: ShadowRoot | HTMLElement,\n skipNode: ($elem: HTMLElement) => boolean,\n isMatch: ($elem: HTMLElement) => boolean,\n maxDepth: number = 20,\n depth: number = 0,\n): HTMLElement[] {\n const matches: HTMLElement[] = [];\n\n // If the depth is above the max depth, abort the searching here.\n if (depth >= maxDepth) {\n return matches;\n }\n\n // Traverses a slot element\n const traverseSlot = ($slot: HTMLSlotElement) => {\n // Only check nodes that are of the type Node.ELEMENT_NODE\n // Read more here https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n const assignedNodes = $slot.assignedNodes().filter(node => node.nodeType === 1);\n if (assignedNodes.length > 0) {\n const $slotParent = assignedNodes[0].parentElement!;\n return queryShadowRoot($slotParent, skipNode, isMatch, maxDepth, depth + 1);\n }\n\n return [];\n };\n\n // Go through each child and continue the traversing if necessary\n // Even though the typing says that children can't be undefined, Edge 15 sometimes gives an undefined value.\n // Therefore we fallback to an empty array if it is undefined.\n const children = Array.from(root.children || []) as HTMLElement[];\n for (const $child of children) {\n // Check if the element and its descendants should be skipped\n if (skipNode($child)) {\n // console.log('-- SKIP', $child);\n continue;\n }\n\n // console.log('$child', $child);\n\n // If the element matches we always add it\n if (isMatch($child)) {\n matches.push($child);\n }\n\n if ($child.shadowRoot != null) {\n // If the element has a shadow root we need to traverse it\n matches.push(...queryShadowRoot($child.shadowRoot, skipNode, isMatch, maxDepth, depth + 1));\n } else if ($child.tagName === 'SLOT') {\n // If the child is a slot we need to traverse each assigned node\n matches.push(...traverseSlot($child as HTMLSlotElement));\n } else {\n // Traverse the children of the element\n matches.push(...queryShadowRoot($child, skipNode, isMatch, maxDepth, depth + 1));\n }\n }\n\n return matches;\n}\n\n/**\n * Returns whether the element is hidden.\n * @param $elem\n */\nexport function isHidden($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('hidden') ||\n ($elem.hasAttribute('aria-hidden') && $elem.getAttribute('aria-hidden') !== 'false') ||\n // A quick and dirty way to check whether the element is hidden.\n // For a more fine-grained check we could use \"window.getComputedStyle\" but we don't because of bad performance.\n // If the element has visibility set to \"hidden\" or \"collapse\", display set to \"none\" or opacity set to \"0\" through CSS\n // we won't be able to catch it here. We accept it due to the huge performance benefits.\n $elem.style.display === `none` ||\n $elem.style.opacity === `0` ||\n $elem.style.visibility === `hidden` ||\n $elem.style.visibility === `collapse`\n );\n\n // If offsetParent is null we can assume that the element is hidden\n // https://stackoverflow.com/questions/306305/what-would-make-offsetparent-null\n // || $elem.offsetParent == null;\n}\n\n/**\n * Returns whether the element is disabled.\n * @param $elem\n */\nexport function isDisabled($elem: HTMLElement): boolean {\n return $elem.hasAttribute('disabled') || ($elem.hasAttribute('aria-disabled') && $elem.getAttribute('aria-disabled') !== 'false');\n}\n\n/**\n * Determines whether an element is focusable.\n * Read more here: https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus/1600194#1600194\n * Or here: https://stackoverflow.com/questions/18261595/how-to-check-if-a-dom-element-is-focusable\n * @param $elem\n */\nexport function isFocusable($elem: HTMLElement): boolean {\n // Discard elements that are removed from the tab order.\n if ($elem.getAttribute('tabindex') === '-1' || isHidden($elem) || isDisabled($elem)) {\n return false;\n }\n\n return (\n // At this point we know that the element can have focus (eg. won't be -1) if the tabindex attribute exists\n $elem.hasAttribute('tabindex') ||\n // Anchor tags or area tags with a href set\n (($elem instanceof HTMLAnchorElement || $elem instanceof HTMLAreaElement) && $elem.hasAttribute('href')) ||\n // Form elements which are not disabled\n $elem instanceof HTMLButtonElement ||\n $elem instanceof HTMLInputElement ||\n $elem instanceof HTMLTextAreaElement ||\n $elem instanceof HTMLSelectElement ||\n // IFrames\n $elem instanceof HTMLIFrameElement\n );\n}\n","export function animationTo(element: HTMLElement, keyframes: Keyframe | Keyframe[], options?: KeyframeAnimationOptions) {\n const animated = element.animate(keyframes, { ...options, fill: 'both' });\n animated.addEventListener('finish', () => {\n // @ts-ignore\n animated.commitStyles();\n animated.cancel();\n });\n\n return animated;\n}\n\nconst keyframeDefaults = {\n easing: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n};\n\nexport const KEYFRAMES = {\n fadeIn: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 0,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 1,\n },\n ],\n fadeOut: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 1,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 0,\n },\n ],\n};\n",":host {\n display: contents;\n}\n\n.spw-modal {\n display: none;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1060;\n overflow-y: auto;\n\n &--opened {\n display: flex;\n }\n}\n\n.spw-modal__overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: black;\n opacity: 0.7;\n z-index: 0;\n}\n\n.spw-modal__content-container {\n position: absolute;\n display: flex;\n justify-content: center;\n width: 90%;\n background-color: #fff;\n box-shadow: var(--spw-effect-elevation-6);\n overflow: hidden;\n box-sizing: border-box;\n align-items: stretch;\n border-radius: var(--spw-spacings-border-radius-lg);\n\n &--small {\n max-width: 480px;\n }\n\n &--medium {\n max-width: 600px;\n }\n\n &--large {\n max-width: 768px;\n }\n\n &--fluid {\n max-width: 100%;\n }\n}\n\n.spw-modal__content {\n display: flex;\n flex-direction: column;\n border: 1px solid var(--spw-color-themes-grey-grey-300);\n width: 100%;\n max-height: 90vh;\n overflow-y: auto;\n\n .spw-modal--sticky-buttons & {\n overflow-y: visible;\n }\n}\n\n.spw-modal__icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n background-color: #fff;\n align-self: stretch;\n}\n\n.spw-modal__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n padding-bottom: 0;\n margin-top: 6px;\n margin-bottom: 12px;\n box-sizing: border-box;\n border-radius: 1px 1px 0px 0px;\n color: var(--spw-colors-support-grey-grey-900);\n}\n\n.spw-modal__caption {\n overflow: hidden;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n\n.spw-modal__header h2 {\n margin: 0;\n font-size: 18px;\n color: var(--spw-colors-support-grey-grey-900);\n}\n\n.spw-modal__header button {\n background: none;\n border: none;\n font-size: 1.5em;\n padding: 0;\n cursor: pointer;\n}\n\n.spw-modal__close-button {\n position: absolute;\n top: 12px;\n right: 12px;\n cursor: pointer;\n font-size: 21px;\n &:hover {\n opacity: 0.7;\n }\n}\n\n.spw-modal__body {\n padding: 0 24px;\n margin-bottom: 12px;\n box-sizing: border-box;\n flex: 1;\n font-size: 16px;\n color: var(--spw-colors-support-grey-grey-700);\n\n .spw-modal--sticky-buttons & {\n overflow-y: auto;\n }\n}\n\n.spw-modal__buttons {\n ::slotted([slot='buttons']) {\n padding: 24px;\n padding-top: 12px;\n }\n}\n\n.spw-modal__footer--buttons-present ::slotted(*) {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 24px;\n padding-top: 8px;\n\n .spw-modal__content-container--small & {\n flex-direction: column;\n gap: 8px;\n }\n\n .spw-modal__content-container--medium & {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n.spw-modal__border {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-size: 1.5em;\n flex-grow: 1;\n}\n","import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch, Method } from '@stencil/core';\nimport { queryShadowRoot, isHidden, isFocusable } from '@utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '@utils/animation';\n\ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP' | 'PROGRAMMATIC';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n\n@Component({\n tag: 'spw-modal',\n styleUrl: 'spw-modal.scss',\n shadow: true,\n})\nexport class SpwModal {\n /** Indique si la modal est ouverte ou fermée, mutable et reflétée dans le DOM */\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n\n @State() showModal: boolean = this.opened || false;\n\n /** Titre de la modal */\n @Prop() caption: string = 'Titre de la modal';\n /** Indique si la fermeture de la modal est possible en cliquant sur l'overlay */\n @Prop() closeOnOverlayClick: boolean = true;\n /** Rend les boutons en bas de la modal \"collants\" (toujours visibles) si vrai */\n @Prop() stickyButtons: boolean = false;\n /** Événement déclenché lors de l'ouverture de la modal */\n @Event() spwModalOpen: EventEmitter;\n /** Événement déclenché lors de la fermeture de la modal */\n @Event() spwModalClose: EventEmitter;\n /** Définit la taille de la modal : 'small', 'medium', 'large' ou 'fluid' */\n @Prop() size: 'small' | 'medium' | 'large' | 'fluid' = 'small';\n /** Icône d'alerte à afficher dans la modal */\n @Prop() alertIcon: string = '';\n\n @Element() hostElement: HTMLSpwModalElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n /** Indique si le bouton de fermeture est visible */\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLSpwIconElement;\n\n /**\n * Méthode publique pour fermer la modal programmatiquement\n * @returns Promise qui se résout quand la modal est fermée\n */\n @Method()\n async closeModal(): Promise<void> {\n this.doBeforeClose('PROGRAMMATIC');\n }\n\n /**\n * Méthode publique pour ouvrir la modal programmatiquement\n * @returns Promise qui se résout quand la modal est ouverte\n */\n @Method()\n async openModal(): Promise<void> {\n this.opened = true;\n }\n\n componentDidLoad() {\n this.focusableElements = queryShadowRoot(this.hostElement.shadowRoot, el => isHidden(el) || el.matches('[data-focus-trap-edge]'), isFocusable);\n document.addEventListener('click', this.handleClick);\n document.addEventListener('click', this.handleClose);\n document.addEventListener('keydown', this.handleKeypress);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClick);\n document.removeEventListener('click', this.handleClose);\n document.removeEventListener('keydown', this.handleKeypress);\n }\n\n private handleClick = (event: MouseEvent) => {\n const trigger = (event.target as HTMLElement).closest('[data-modal-trigger]');\n if (trigger) {\n const modalId = trigger.getAttribute('data-modal-trigger');\n if (modalId === this.hostElement.id) {\n this.opened = true;\n }\n }\n };\n\n private handleClose = (event: MouseEvent) => {\n const trigger = (event.target as HTMLElement).closest('[data-modal-close]');\n if (trigger) {\n const modalId = trigger.getAttribute('data-modal-close');\n if (modalId === this.hostElement.id) {\n this.opened = false;\n }\n }\n };\n\n private getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n private getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n private handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n private handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n private attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => {\n this.closeButton.focus();\n });\n return;\n }\n\n setTimeout(() => {\n element.focus();\n }, 0);\n }\n\n private open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.spwModalOpen.emit();\n });\n } catch (err) {\n this.spwModalOpen.emit();\n }\n }\n\n private close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.spwModalClose.emit();\n });\n } catch (err) {\n this.showModal = false;\n this.spwModalClose.emit();\n }\n }\n\n private handleKeypress = (event: KeyboardEvent) => {\n if (this.showModal && event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n private doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some(event => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n @Watch('opened')\n openedChanged(newValue: boolean) {\n newValue === true ? this.open() : this.close();\n }\n\n private handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP');\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-modal': true,\n 'spw-modal--opened': this.showModal,\n 'spw-modal--sticky-buttons': this.stickyButtons,\n };\n }\n\n render() {\n return (\n <Host>\n <div ref={el => (this.modalContainer = el)} class={this.elementClass}>\n <div class=\"spw-modal__overlay\" onClick={() => this.handleOverlayClick()}></div>\n <div data-focus-trap-edge onFocus={this.handleTopFocus} tabindex=\"0\"></div>\n <div class={`spw-modal__content-container spw-modal__content-container--${this.size}`} role=\"dialog\" aria-modal=\"true\" aria-label={this.caption}>\n <div class=\"spw-modal__content\">\n <div class=\"spw-modal__header\">\n <h2 class=\"spw-modal__caption\">{this.caption}</h2>\n {this.showCloseButton && (\n <spw-icon class=\"spw-modal__close-button\" ref={el => (this.closeButton = el)} icon=\"fa-xmark\" onClick={() => this.doBeforeClose('CLOSE_BUTTON')}></spw-icon>\n )}\n </div>\n <div class=\"spw-modal__body\">\n <slot name=\"content\" />\n </div>\n <div class=\"spw-modal__buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n </div>\n </div>\n <div data-focus-trap-edge onFocus={this.handleBottomFocus} tabindex=\"0\"></div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spw-modal.entry.esm.js","sources":["src/utils/focus-trap.ts","src/utils/animation.ts","src/components/spw-modal/spw-modal.scss?tag=spw-modal&encapsulation=shadow","src/components/spw-modal/spw-modal.tsx"],"sourcesContent":["/**\n * Copy/pasted from https://github.com/andreasbm/focus-trap\n */\n\n/**\n * Traverses the slots of the open shadowroots and returns all children matching the query.\n * We need to traverse each child-depth one at a time because if an element should be skipped\n * (for example because it is hidden) we need to skip all of it's children. If we use querySelectorAll(\"*\")\n * the information of whether the children is within a hidden parent is lost.\n * @param {ShadowRoot | HTMLElement} root\n * @param skipNode\n * @param isMatch\n * @param {number} maxDepth\n * @param {number} depth\n * @returns {HTMLElement[]}\n */\nexport function queryShadowRoot(\n root: ShadowRoot | HTMLElement,\n skipNode: ($elem: HTMLElement) => boolean,\n isMatch: ($elem: HTMLElement) => boolean,\n maxDepth: number = 20,\n depth: number = 0,\n): HTMLElement[] {\n const matches: HTMLElement[] = [];\n\n // If the depth is above the max depth, abort the searching here.\n if (depth >= maxDepth) {\n return matches;\n }\n\n // Traverses a slot element\n const traverseSlot = ($slot: HTMLSlotElement) => {\n // Only check nodes that are of the type Node.ELEMENT_NODE\n // Read more here https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n const assignedNodes = $slot.assignedNodes().filter(node => node.nodeType === 1);\n if (assignedNodes.length > 0) {\n const $slotParent = assignedNodes[0].parentElement!;\n return queryShadowRoot($slotParent, skipNode, isMatch, maxDepth, depth + 1);\n }\n\n return [];\n };\n\n // Go through each child and continue the traversing if necessary\n // Even though the typing says that children can't be undefined, Edge 15 sometimes gives an undefined value.\n // Therefore we fallback to an empty array if it is undefined.\n const children = Array.from(root.children || []) as HTMLElement[];\n for (const $child of children) {\n // Check if the element and its descendants should be skipped\n if (skipNode($child)) {\n // console.log('-- SKIP', $child);\n continue;\n }\n\n // console.log('$child', $child);\n\n // If the element matches we always add it\n if (isMatch($child)) {\n matches.push($child);\n }\n\n if ($child.shadowRoot != null) {\n // If the element has a shadow root we need to traverse it\n matches.push(...queryShadowRoot($child.shadowRoot, skipNode, isMatch, maxDepth, depth + 1));\n } else if ($child.tagName === 'SLOT') {\n // If the child is a slot we need to traverse each assigned node\n matches.push(...traverseSlot($child as HTMLSlotElement));\n } else {\n // Traverse the children of the element\n matches.push(...queryShadowRoot($child, skipNode, isMatch, maxDepth, depth + 1));\n }\n }\n\n return matches;\n}\n\n/**\n * Returns whether the element is hidden.\n * @param $elem\n */\nexport function isHidden($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('hidden') ||\n ($elem.hasAttribute('aria-hidden') && $elem.getAttribute('aria-hidden') !== 'false') ||\n // A quick and dirty way to check whether the element is hidden.\n // For a more fine-grained check we could use \"window.getComputedStyle\" but we don't because of bad performance.\n // If the element has visibility set to \"hidden\" or \"collapse\", display set to \"none\" or opacity set to \"0\" through CSS\n // we won't be able to catch it here. We accept it due to the huge performance benefits.\n $elem.style.display === `none` ||\n $elem.style.opacity === `0` ||\n $elem.style.visibility === `hidden` ||\n $elem.style.visibility === `collapse`\n );\n\n // If offsetParent is null we can assume that the element is hidden\n // https://stackoverflow.com/questions/306305/what-would-make-offsetparent-null\n // || $elem.offsetParent == null;\n}\n\n/**\n * Returns whether the element is disabled.\n * @param $elem\n */\nexport function isDisabled($elem: HTMLElement): boolean {\n return $elem.hasAttribute('disabled') || ($elem.hasAttribute('aria-disabled') && $elem.getAttribute('aria-disabled') !== 'false');\n}\n\n/**\n * Determines whether an element is focusable.\n * Read more here: https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus/1600194#1600194\n * Or here: https://stackoverflow.com/questions/18261595/how-to-check-if-a-dom-element-is-focusable\n * @param $elem\n */\nexport function isFocusable($elem: HTMLElement): boolean {\n // Discard elements that are removed from the tab order.\n if ($elem.getAttribute('tabindex') === '-1' || isHidden($elem) || isDisabled($elem)) {\n return false;\n }\n\n return (\n // At this point we know that the element can have focus (eg. won't be -1) if the tabindex attribute exists\n $elem.hasAttribute('tabindex') ||\n // Anchor tags or area tags with a href set\n (($elem instanceof HTMLAnchorElement || $elem instanceof HTMLAreaElement) && $elem.hasAttribute('href')) ||\n // Form elements which are not disabled\n $elem instanceof HTMLButtonElement ||\n $elem instanceof HTMLInputElement ||\n $elem instanceof HTMLTextAreaElement ||\n $elem instanceof HTMLSelectElement ||\n // IFrames\n $elem instanceof HTMLIFrameElement\n );\n}\n","export function animationTo(element: HTMLElement, keyframes: Keyframe | Keyframe[], options?: KeyframeAnimationOptions) {\n const animated = element.animate(keyframes, { ...options, fill: 'both' });\n animated.addEventListener('finish', () => {\n // @ts-ignore\n animated.commitStyles();\n animated.cancel();\n });\n\n return animated;\n}\n\nconst keyframeDefaults = {\n easing: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n};\n\nexport const KEYFRAMES = {\n fadeIn: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 0,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 1,\n },\n ],\n fadeOut: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 1,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 0,\n },\n ],\n};\n",":host {\n display: contents;\n}\n\n.spw-modal {\n display: none;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1060;\n overflow-y: auto;\n\n &--opened {\n display: flex;\n }\n}\n\n.spw-modal__overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: black;\n opacity: 0.7;\n z-index: 0;\n}\n\n.spw-modal__content-container {\n position: absolute;\n display: flex;\n justify-content: center;\n width: 90%;\n background-color: #fff;\n box-shadow: var(--spw-effect-elevation-6);\n overflow: hidden;\n box-sizing: border-box;\n align-items: stretch;\n border-radius: var(--spw-spacings-border-radius-lg);\n\n &--small {\n max-width: 480px;\n }\n\n &--medium {\n max-width: 600px;\n }\n\n &--large {\n max-width: 768px;\n }\n\n &--fluid {\n max-width: 100%;\n }\n}\n\n.spw-modal__content {\n display: flex;\n flex-direction: column;\n border: 1px solid var(--spw-color-themes-grey-grey-300);\n width: 100%;\n max-height: 90vh;\n overflow-y: auto;\n\n .spw-modal--sticky-buttons & {\n overflow-y: visible;\n }\n}\n\n.spw-modal__icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n background-color: #fff;\n align-self: stretch;\n}\n\n.spw-modal__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n padding-bottom: 0;\n margin-top: 6px;\n margin-bottom: 12px;\n box-sizing: border-box;\n border-radius: 1px 1px 0px 0px;\n color: var(--spw-colors-support-grey-grey-900);\n}\n\n.spw-modal__caption {\n overflow: hidden;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n\n.spw-modal__header h2 {\n margin: 0;\n font-size: 18px;\n color: var(--spw-colors-support-grey-grey-900);\n}\n\n.spw-modal__header button {\n background: none;\n border: none;\n font-size: 1.5em;\n padding: 0;\n cursor: pointer;\n}\n\n.spw-modal__close-button {\n position: absolute;\n top: 12px;\n right: 12px;\n cursor: pointer;\n font-size: 21px;\n &:hover {\n opacity: 0.7;\n }\n}\n\n.spw-modal__body {\n padding: 0 24px;\n margin-bottom: 12px;\n box-sizing: border-box;\n flex: 1;\n font-size: 16px;\n color: var(--spw-colors-support-grey-grey-700);\n\n .spw-modal--sticky-buttons & {\n overflow-y: auto;\n }\n}\n\n.spw-modal__buttons {\n ::slotted([slot='buttons']) {\n padding: 24px;\n padding-top: 12px;\n }\n}\n\n.spw-modal__footer--buttons-present ::slotted(*) {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 24px;\n padding-top: 8px;\n\n .spw-modal__content-container--small & {\n flex-direction: column;\n gap: 8px;\n }\n\n .spw-modal__content-container--medium & {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n.spw-modal__border {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-size: 1.5em;\n flex-grow: 1;\n}\n","import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch, Method } from '@stencil/core';\nimport { queryShadowRoot, isHidden, isFocusable } from '@utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '@utils/animation';\n\ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP' | 'PROGRAMMATIC';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n\n@Component({\n tag: 'spw-modal',\n styleUrl: 'spw-modal.scss',\n shadow: true,\n})\nexport class SpwModal {\n /** Indique si la modal est ouverte ou fermée, mutable et reflétée dans le DOM */\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n\n @State() showModal: boolean = this.opened || false;\n\n /** Titre de la modal */\n @Prop() caption: string = 'Titre de la modal';\n /** Indique si la fermeture de la modal est possible en cliquant sur l'overlay */\n @Prop() closeOnOverlayClick: boolean = true;\n /** Rend les boutons en bas de la modal \"collants\" (toujours visibles) si vrai */\n @Prop() stickyButtons: boolean = false;\n /** Événement déclenché lors de l'ouverture de la modal */\n @Event() spwModalOpen: EventEmitter;\n /** Événement déclenché lors de la fermeture de la modal */\n @Event() spwModalClose: EventEmitter;\n /** Définit la taille de la modal : 'small', 'medium', 'large' ou 'fluid' */\n @Prop() size: 'small' | 'medium' | 'large' | 'fluid' = 'small';\n /** Icône d'alerte à afficher dans la modal */\n @Prop() alertIcon: string = '';\n\n @Element() hostElement: HTMLSpwModalElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n /** Indique si le bouton de fermeture est visible */\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLSpwIconElement;\n\n /**\n * Méthode publique pour fermer la modal programmatiquement\n * @returns Promise qui se résout quand la modal est fermée\n */\n @Method()\n async closeModal(): Promise<void> {\n this.doBeforeClose('PROGRAMMATIC');\n }\n\n /**\n * Méthode publique pour ouvrir la modal programmatiquement\n * @returns Promise qui se résout quand la modal est ouverte\n */\n @Method()\n async openModal(): Promise<void> {\n this.opened = true;\n }\n\n componentDidLoad() {\n this.focusableElements = queryShadowRoot(this.hostElement.shadowRoot, el => isHidden(el) || el.matches('[data-focus-trap-edge]'), isFocusable);\n window.addEventListener('click', this.handleClick, { capture: true });\n window.addEventListener('click', this.handleClose, { capture: true });\n window.addEventListener('keydown', this.handleKeypress);\n }\n\n disconnectedCallback() {\n window.removeEventListener('click', this.handleClick);\n window.removeEventListener('click', this.handleClose);\n window.removeEventListener('keydown', this.handleKeypress);\n }\n\n private handleClick = (event: MouseEvent) => {\n const path = event.composedPath() as HTMLElement[];\n const trigger = path.find(el => el instanceof HTMLElement && el.hasAttribute?.('data-modal-trigger')) as HTMLElement | undefined;\n\n if (trigger) {\n const modalId = trigger.getAttribute('data-modal-trigger');\n if (modalId === this.hostElement.id) {\n this.opened = true;\n }\n }\n };\n\n private handleClose = (event: MouseEvent) => {\n const path = event.composedPath() as HTMLElement[];\n const trigger = path.find(el => el instanceof HTMLElement && el.hasAttribute?.('data-modal-close')) as HTMLElement | undefined;\n\n if (trigger) {\n const modalId = trigger.getAttribute('data-modal-close');\n if (modalId === this.hostElement.id) {\n this.opened = false;\n }\n }\n };\n\n private getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n private getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n private handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n private handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n private attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => {\n this.closeButton.focus();\n });\n return;\n }\n\n setTimeout(() => {\n element.focus();\n }, 0);\n }\n\n private open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.spwModalOpen.emit();\n });\n } catch (err) {\n this.spwModalOpen.emit();\n }\n }\n\n private close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.spwModalClose.emit();\n });\n } catch (err) {\n this.showModal = false;\n this.spwModalClose.emit();\n }\n }\n\n private handleKeypress = (event: KeyboardEvent) => {\n if (this.showModal && event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n private doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some(event => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n @Watch('opened')\n openedChanged(newValue: boolean) {\n newValue === true ? this.open() : this.close();\n }\n\n private handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP');\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-modal': true,\n 'spw-modal--opened': this.showModal,\n 'spw-modal--sticky-buttons': this.stickyButtons,\n };\n }\n\n render() {\n return (\n <Host>\n <div ref={el => (this.modalContainer = el)} class={this.elementClass}>\n <div class=\"spw-modal__overlay\" onClick={() => this.handleOverlayClick()}></div>\n <div data-focus-trap-edge onFocus={this.handleTopFocus} tabindex=\"0\"></div>\n <div class={`spw-modal__content-container spw-modal__content-container--${this.size}`} role=\"dialog\" aria-modal=\"true\" aria-label={this.caption}>\n <div class=\"spw-modal__content\">\n <div class=\"spw-modal__header\">\n <h2 class=\"spw-modal__caption\">{this.caption}</h2>\n {this.showCloseButton && (\n <spw-icon class=\"spw-modal__close-button\" ref={el => (this.closeButton = el)} icon=\"fa-xmark\" onClick={() => this.doBeforeClose('CLOSE_BUTTON')}></spw-icon>\n )}\n </div>\n <div class=\"spw-modal__body\">\n <slot name=\"content\" />\n </div>\n <div class=\"spw-modal__buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n </div>\n </div>\n <div data-focus-trap-edge onFocus={this.handleBottomFocus} tabindex=\"0\"></div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA;;AAEG;AAEH;;;;;;;;;;;AAWG;AACa,SAAA,eAAe,CAC7B,IAA8B,EAC9B,QAAyC,EACzC,OAAwC,EACxC,QAAA,GAAmB,EAAE,EACrB,QAAgB,CAAC,EAAA;IAEjB,MAAM,OAAO,GAAkB,EAAE;;AAGjC,IAAA,IAAI,KAAK,IAAI,QAAQ,EAAE;AACrB,QAAA,OAAO,OAAO;;;AAIhB,IAAA,MAAM,YAAY,GAAG,CAAC,KAAsB,KAAI;;;AAG9C,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;AAC/E,QAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAc;AACnD,YAAA,OAAO,eAAe,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC;;AAG7E,QAAA,OAAO,EAAE;AACX,KAAC;;;;AAKD,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAkB;AACjE,IAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;;AAE7B,QAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;;YAEpB;;;;AAMF,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;AACnB,YAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGtB,QAAA,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;;YAE7B,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;;AACtF,aAAA,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE;;YAEpC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAyB,CAAC,CAAC;;aACnD;;AAEL,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;;;AAIpF,IAAA,OAAO,OAAO;AAChB;AAEA;;;AAGG;AACG,SAAU,QAAQ,CAAC,KAAkB,EAAA;AACzC,IAAA,QACE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC;AAC5B,SAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC;;;;;AAKpF,QAAA,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,CAAM,IAAA,CAAA;AAC9B,QAAA,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,CAAG,CAAA,CAAA;AAC3B,QAAA,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,CAAQ,MAAA,CAAA;AACnC,QAAA,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,CAAA,QAAA,CAAU;;;;AAMzC;AAEA;;;AAGG;AACG,SAAU,UAAU,CAAC,KAAkB,EAAA;IAC3C,OAAO,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC;AACnI;AAEA;;;;;AAKG;AACG,SAAU,WAAW,CAAC,KAAkB,EAAA;;AAE5C,IAAA,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACnF,QAAA,OAAO,KAAK;;IAGd;;AAEE,IAAA,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;;AAE9B,SAAC,CAAC,KAAK,YAAY,iBAAiB,IAAI,KAAK,YAAY,eAAe,KAAK,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;;AAExG,QAAA,KAAK,YAAY,iBAAiB;AAClC,QAAA,KAAK,YAAY,gBAAgB;AACjC,QAAA,KAAK,YAAY,mBAAmB;AACpC,QAAA,KAAK,YAAY,iBAAiB;;QAElC,KAAK,YAAY,iBAAiB;AAEtC;;SCpIgB,WAAW,CAAC,OAAoB,EAAE,SAAgC,EAAE,OAAkC,EAAA;AACpH,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CAAE,EAAA,EAAA,IAAI,EAAE,MAAM,IAAG;AACzE,IAAA,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;;QAEvC,QAAQ,CAAC,YAAY,EAAE;QACvB,QAAQ,CAAC,MAAM,EAAE;AACnB,KAAC,CAAC;AAEF,IAAA,OAAO,QAAQ;AACjB;AAEA,MAAM,gBAAgB,GAAG;AACvB,IAAA,MAAM,EAAE,0CAA0C;CACnD;AAEM,MAAM,SAAS,GAAG;AACvB,IAAA,MAAM,EAAE;AAEJ,QAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,MAAM,EAAE,CAAC,EAAA,EACN,gBAAgB,CACnB,EAAA,EAAA,OAAO,EAAE,CAAC,EAAA,CAAA;AAGV,QAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,MAAM,EAAE,CAAC,EAAA,EACN,gBAAgB,CACnB,EAAA,EAAA,OAAO,EAAE,CAAC,EAAA,CAAA;AAEb,KAAA;AACD,IAAA,OAAO,EAAE;AAEL,QAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,MAAM,EAAE,CAAC,EAAA,EACN,gBAAgB,CACnB,EAAA,EAAA,OAAO,EAAE,CAAC,EAAA,CAAA;AAGV,QAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,MAAM,EAAE,CAAC,EAAA,EACN,gBAAgB,CACnB,EAAA,EAAA,OAAO,EAAE,CAAC,EAAA,CAAA;AAEb,KAAA;CACF;;ACxCD,MAAM,WAAW,GAAG,+hKAA+hK;;MCetiK,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;AAO0C,QAAA,IAAM,CAAA,MAAA,GAAa,KAAK;QAEvD,IAAA,CAAA,SAAS,GAAY,IAAI,CAAC,MAAM,IAAI,KAAK;;AAG1C,QAAA,IAAO,CAAA,OAAA,GAAW,mBAAmB;;AAErC,QAAA,IAAmB,CAAA,mBAAA,GAAY,IAAI;;AAEnC,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK;;AAM9B,QAAA,IAAI,CAAA,IAAA,GAA2C,OAAO;;AAEtD,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE;AAIrB,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK;;AAGpC,QAAA,IAAe,CAAA,eAAA,GAAY,IAAI;AAG/B,QAAA,IAAiB,CAAA,iBAAA,GAAkB,EAAE;AAkCrC,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAiB,KAAI;AAC1C,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAmB;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAG,EAAC,IAAA,EAAA,CAAA,CAAA,OAAA,EAAE,YAAY,WAAW,KAAI,CAAA,EAAA,GAAA,EAAE,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,oBAAoB,CAAC,CAAA,CAAA,EAAA,CAA4B;YAEhI,IAAI,OAAO,EAAE;gBACX,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC;gBAC1D,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;AACnC,oBAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;;AAGxB,SAAC;AAEO,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAiB,KAAI;AAC1C,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAmB;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAG,EAAC,IAAA,EAAA,CAAA,CAAA,OAAA,EAAE,YAAY,WAAW,KAAI,CAAA,EAAA,GAAA,EAAE,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,kBAAkB,CAAC,CAAA,CAAA,EAAA,CAA4B;YAE9H,IAAI,OAAO,EAAE;gBACX,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC;gBACxD,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;AACnC,oBAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;;AAGzB,SAAC;AAUO,QAAA,IAAc,CAAA,cAAA,GAAG,MAAK;YAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;AACnD,SAAC;AAEO,QAAA,IAAiB,CAAA,iBAAA,GAAG,MAAK;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;AACpD,SAAC;AAiDO,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,KAAoB,KAAI;YAChD,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AAC5C,gBAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;;AAEpC,SAAC;AAyDF;AAnLC;;;AAGG;AAEH,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;;AAGpC;;;AAGG;AAEH,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;IAGpB,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,WAAW,CAAC;AAC9I,QAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACrE,QAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;;IAGzD,oBAAoB,GAAA;QAClB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;QACrD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;QACrD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;;IA2BpD,wBAAwB,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;;IAG1B,uBAAuB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;;AAW1D,IAAA,YAAY,CAAC,OAA2B,EAAA;AAC9C,QAAA,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AAC1B,aAAC,CAAC;YACF;;QAGF,UAAU,CAAC,MAAK;YACd,OAAO,CAAC,KAAK,EAAE;SAChB,EAAE,CAAC,CAAC;;IAGC,IAAI,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE;AAC9D,gBAAA,QAAQ,EAAE,GAAG;AACd,aAAA,CAAC;AACF,YAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;gBACnC,UAAU,CAAC,MAAK;;oBACd,CAAA,EAAA,GAAA,IAAI,CAAC,uBAAuB,EAAE,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,EAAE;oBACvC,CAAA,EAAA,GAAA,IAAI,CAAC,uBAAuB,EAAE,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,EAAE;iBACvC,EAAE,CAAC,CAAC;AAEL,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AAC1B,aAAC,CAAC;;QACF,OAAO,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;;;IAIpB,KAAK,GAAA;AACX,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE;AAC/D,gBAAA,QAAQ,EAAE,GAAG;AACd,aAAA,CAAC;AACF,YAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;AACnC,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AAC3B,aAAC,CAAC;;QACF,OAAO,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;;AAUrB,IAAA,aAAa,CAAC,OAA0B,EAAA;QAC9C,MAAM,QAAQ,GAAG,EAAE;AACnB,QAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AACtB,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,gBAAgB,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;;AAKvB,IAAA,aAAa,CAAC,QAAiB,EAAA;AAC7B,QAAA,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;;IAGxC,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;;;AAIlC,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO;AACL,YAAA,WAAW,EAAE,IAAI;YACjB,mBAAmB,EAAE,IAAI,CAAC,SAAS;YACnC,2BAA2B,EAAE,IAAI,CAAC,aAAa;SAChD;;IAGH,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAA,EAClE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,oBAAoB,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAAQ,CAAA,EAChF,CAA0B,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAC,GAAG,EAAO,CAAA,EAC3E,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,8DAA8D,IAAI,CAAC,IAAI,CAAA,CAAE,EAAE,IAAI,EAAC,QAAQ,EAAY,YAAA,EAAA,MAAM,EAAa,YAAA,EAAA,IAAI,CAAC,OAAO,EAAA,EAC7I,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAC7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,oBAAoB,IAAE,IAAI,CAAC,OAAO,CAAM,EACjD,IAAI,CAAC,eAAe,KACnB,CAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,yBAAyB,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAA,CAAa,CAC7J,CACG,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,SAAS,EAAA,CAAG,CACnB,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAC7B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,SAAS,EAAQ,CAAA,CACxB,CACF,CACF,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,sBAAA,EAAA,IAAA,EAA0B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,EAAC,GAAG,EAAA,CAAO,CAC1E,CACD;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-select.entry.esm.js","sources":["src/components/spw-select/spw-select.scss?tag=spw-select&encapsulation=shadow","src/components/spw-select/spw-select.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-select {\n position: relative;\n &__container {\n position: relative;\n }\n &__arrow {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 12px;\n pointer-events: none;\n color: var(--spw-color-themes-grey-grey-600);\n font-size: 16px;\n }\n &__trigger {\n width: 100%;\n height: 40px;\n border-radius: 4px;\n border: 1px solid var(--spw-color-themes-grey-grey-800);\n background-color: #fff;\n font-size: 16px;\n color: var(--spw-color-themes-grey-grey-800);\n position: relative;\n padding: 0;\n margin: 0;\n appearance: none;\n padding: 0 12px;\n padding-right: 40px;\n\n &:hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 6px black;\n }\n\n &::after {\n content: '\\f078';\n font-family: var(--spw-ds-font-icons-solid);\n font-weight: 900;\n font-size: 14px;\n color: var(--spw-color-themes-grey-grey-800);\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n\n .spw-select--is-error & {\n border-color: var(--spw-colors-states-error-error-300);\n }\n\n .spw-select--large & {\n height: 60px;\n padding: 0 24px;\n font-size: 18px;\n }\n\n .spw-select--disabled & {\n border-color: var(--spw-color-themes-grey-grey-400);\n background: var(--spw-color-themes-grey-grey-100);\n color: var(--spw-color-themes-grey-grey-500);\n cursor: not-allowed;\n &::placeholder {\n color: var(--spw-color-themes-grey-grey-500);\n }\n &:hover,\n &:focus,\n &:focus-visible {\n outline: none;\n }\n }\n }\n}\n","import { AttachInternals, Host, Component, Prop, State, Event, EventEmitter, h, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-select',\n styleUrl: 'spw-select.scss',\n formAssociated: true,\n shadow: true,\n})\nexport class SpwSelect {\n @Element() el: HTMLSpwSelectElement;\n\n /** Emet un event si la valeur change */\n @Event() valueChanged: EventEmitter<string | number>;\n @State() internalValue: string | number;\n\n /** Valeur sélectionnée actuelle, mutable et reflétée dans le DOM */\n @Prop({ mutable: true, reflect: true }) value: string | number;\n /** Label associé au champ de sélection */\n @Prop() label: string = '';\n /** Texte du placeholder à afficher lorsque rien n'est sélectionné */\n @Prop() placeholder: string = 'Sélectionner une option';\n /** Indique si le champ de sélection est désactivé */\n @Prop() disabled: boolean;\n /** Nom de l'élément utilisé dans les formulaires pour associer la valeur sélectionnée */\n @Prop() name: string;\n /** Indique si la sélection est obligatoire dans le formulaire */\n @Prop() required: boolean = false;\n /** Taille du champ de sélection : 'large' ou 'medium' */\n @Prop() size: 'large' | 'medium' = 'medium';\n /** Texte d'assistance affiché sous le champ de sélection */\n @Prop() assistiveText?: string;\n /** Message d'erreur à afficher sous le champ de sélection */\n @Prop() error?: string = '';\n /** Message d'indication (hint) à afficher sous le champ de sélection */\n @Prop() hint?: string = '';\n /** Message de succès à afficher sous le champ de sélection */\n @Prop() success?: string = '';\n /** Message de warning à afficher sous le champ */\n @Prop() warning?: string = '';\n /** Affiche une icône d'erreur si vrai */\n @Prop() showErrorIcon?: boolean = true;\n /** Affiche une icône d'indication si vrai */\n @Prop() showHintIcon?: boolean = true;\n /** Affiche une icône de succès si vrai */\n @Prop() showSuccessIcon?: boolean = true;\n /** Affiche une icône de warning si vrai */\n @Prop() showWarningIcon?: boolean = true;\n\n private selectElement!: HTMLSelectElement;\n private defaultValue: string | number | null = null;\n\n @AttachInternals() internals: ElementInternals;\n\n componentWillLoad() {\n this.defaultValue = this.value ?? this.getInitialSelectedValue();\n this.internalValue = this.value || this.getInitialSelectedValue();\n }\n\n componentDidLoad() {\n this.internals.setFormValue(this.getFormValue());\n this.moveOptionsToLightDom();\n }\n\n formResetCallback() {\n this.setValue(this.defaultValue ?? '');\n }\n\n private setValue(val: string | number) {\n this.internalValue = val;\n this.value = val;\n\n if (this.selectElement) {\n this.selectElement.value = String(val);\n }\n\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private getFormValue(): string | null {\n return this.internalValue ? String(this.internalValue) : null;\n }\n\n private getInitialSelectedValue(): string | number | null {\n const assignedNodes = Array.from(this.el.querySelectorAll('option')) as HTMLOptionElement[];\n for (const option of assignedNodes) {\n if (option.hasAttribute('selected')) {\n return option.getAttribute('value');\n }\n }\n return null;\n }\n\n private handleSelectChange(event: Event) {\n const select = event.target as HTMLSelectElement;\n this.internalValue = select.value;\n this.value = this.internalValue;\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private moveOptionsToLightDom() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (slot) {\n const assignedNodes = slot.assignedNodes({ flatten: true }) as HTMLElement[];\n assignedNodes.forEach(node => {\n if (node.nodeName === 'OPTION' || node.nodeName === 'OPTGROUP') {\n this.selectElement.appendChild(node);\n }\n });\n }\n }\n\n private renderErrorMessage() {\n if (this.error) {\n return (\n <spw-field-message variant=\"error\" showIcon={this.showErrorIcon}>\n {this.error}\n </spw-field-message>\n );\n }\n }\n\n private renderHintMessage() {\n if (this.hint) {\n return (\n <spw-field-message variant=\"hint\" showIcon={this.showHintIcon}>\n {this.hint}\n </spw-field-message>\n );\n }\n }\n\n private renderSuccessMessage() {\n if (this.success) {\n return (\n <spw-field-message variant=\"success\" showIcon={this.showSuccessIcon}>\n {this.success}\n </spw-field-message>\n );\n }\n }\n\n private renderWarningMessage() {\n if (this.warning) {\n return (\n <spw-field-message variant=\"warning\" showIcon={this.showWarningIcon}>\n {this.warning}\n </spw-field-message>\n );\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-select': true,\n [`spw-select--${this.size}`]: true,\n 'spw-select--disabled': this.disabled,\n 'spw-select--is-error': !!this.error,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.elementClass}>\n {this.label && <spw-field-label label={this.label} name={this.name} required={this.required}></spw-field-label>}\n {this.assistiveText && (\n <spw-field-message class=\"spw-tw-mb-2 -spw-tw-mt-1\" variant=\"hint\" showIcon={false}>\n {this.assistiveText}\n </spw-field-message>\n )}\n <div class=\"spw-select__container\">\n <select\n id={this.name}\n class=\"spw-select__trigger\"\n onChange={event => this.handleSelectChange(event)}\n disabled={this.disabled}\n ref={el => (this.selectElement = el as HTMLSelectElement)}\n tabindex={this.disabled ? -1 : 0}\n >\n <option value=\"\" disabled selected={!this.internalValue}>\n {this.placeholder}\n </option>\n </select>\n <spw-icon class=\"spw-select__arrow\" icon=\"fa-chevron-down\"></spw-icon>\n </div>\n <slot />\n </div>\n {this.renderErrorMessage()}\n {this.renderHintMessage()}\n {this.renderSuccessMessage()}\n {this.renderWarningMessage()}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spw-select.entry.esm.js","sources":["src/components/spw-select/spw-select.scss?tag=spw-select&encapsulation=shadow","src/components/spw-select/spw-select.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-select {\n position: relative;\n &__container {\n position: relative;\n }\n &__arrow {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 12px;\n pointer-events: none;\n color: var(--spw-color-themes-grey-grey-600);\n font-size: 16px;\n }\n &__trigger {\n width: 100%;\n height: 40px;\n border-radius: 4px;\n border: 1px solid var(--spw-color-themes-grey-grey-800);\n background-color: #fff;\n font-size: 16px;\n color: var(--spw-color-themes-grey-grey-800);\n position: relative;\n padding: 0;\n margin: 0;\n appearance: none;\n padding: 0 12px;\n padding-right: 40px;\n\n &:hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 6px black;\n }\n\n &::after {\n content: '\\f078';\n font-family: var(--spw-ds-font-icons-solid);\n font-weight: 900;\n font-size: 14px;\n color: var(--spw-color-themes-grey-grey-800);\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n\n .spw-select--is-error & {\n border-color: var(--spw-colors-states-error-error-300);\n }\n\n .spw-select--large & {\n height: 60px;\n padding: 0 24px;\n font-size: 18px;\n }\n\n .spw-select--disabled & {\n border-color: var(--spw-color-themes-grey-grey-400);\n background: var(--spw-color-themes-grey-grey-100);\n color: var(--spw-color-themes-grey-grey-500);\n cursor: not-allowed;\n &::placeholder {\n color: var(--spw-color-themes-grey-grey-500);\n }\n &:hover,\n &:focus,\n &:focus-visible {\n outline: none;\n }\n }\n }\n}\n","import { AttachInternals, Host, Component, Prop, State, Event, EventEmitter, h, Element, Watch } from '@stencil/core';\n\nexport interface SelectItem {\n label: string;\n value: string | number;\n}\n\n@Component({\n tag: 'spw-select',\n styleUrl: 'spw-select.scss',\n formAssociated: true,\n shadow: true,\n})\nexport class SpwSelect {\n @Element() el: HTMLSpwSelectElement;\n\n /** Emet un event si la valeur change */\n @Event() valueChanged: EventEmitter<string | number>;\n @State() internalValue: string | number;\n\n /** Valeur sélectionnée actuelle, mutable et reflétée dans le DOM */\n @Prop({ mutable: true, reflect: true }) value: string | number;\n /** Label associé au champ de sélection */\n @Prop() label: string = '';\n /** Texte du placeholder à afficher lorsque rien n'est sélectionné */\n @Prop() placeholder: string = 'Sélectionner une option';\n /** Indique si le champ de sélection est désactivé */\n @Prop() disabled: boolean;\n /** Nom de l'élément utilisé dans les formulaires pour associer la valeur sélectionnée */\n @Prop() name: string;\n /** Indique si la sélection est obligatoire dans le formulaire */\n @Prop() required: boolean = false;\n /** Taille du champ de sélection : 'large' ou 'medium' */\n @Prop() size: 'large' | 'medium' = 'medium';\n /** Texte d'assistance affiché sous le champ de sélection */\n @Prop() assistiveText?: string;\n /** Message d'erreur à afficher sous le champ de sélection */\n @Prop() error?: string = '';\n /** Message d'indication (hint) à afficher sous le champ de sélection */\n @Prop() hint?: string = '';\n /** Message de succès à afficher sous le champ de sélection */\n @Prop() success?: string = '';\n /** Message de warning à afficher sous le champ */\n @Prop() warning?: string = '';\n /** Affiche une icône d'erreur si vrai */\n @Prop() showErrorIcon?: boolean = true;\n /** Affiche une icône d'indication si vrai */\n @Prop() showHintIcon?: boolean = true;\n /** Affiche une icône de succès si vrai */\n @Prop() showSuccessIcon?: boolean = true;\n /** Affiche une icône de warning si vrai */\n @Prop() showWarningIcon?: boolean = true;\n /** Liste d'items dynamiques pour générer les options (array d'objects avec label + value) */\n @Prop() items?: SelectItem[];\n /** Propriété à utiliser comme label des options */\n @Prop() itemLabel?: string;\n /** Propriété à utiliser comme valeur des options */\n @Prop() itemValue?: string;\n\n private selectElement!: HTMLSelectElement;\n private defaultValue: string | number | null = null;\n\n @AttachInternals() internals: ElementInternals;\n\n @Watch('items')\n handleItemsChange() {\n if (this.selectElement) {\n this.syncDynamicOptions();\n }\n }\n\n componentWillLoad() {\n this.defaultValue = this.value ?? this.getInitialSelectedValue();\n this.internalValue = this.value || this.getInitialSelectedValue();\n }\n\n componentDidLoad() {\n this.internals.setFormValue(this.getFormValue());\n if (!this.items) {\n this.moveOptionsToLightDom();\n } else {\n this.syncDynamicOptions();\n }\n }\n\n formResetCallback() {\n this.setValue(this.defaultValue ?? '');\n }\n\n private setValue(val: string | number) {\n this.internalValue = val;\n this.value = val;\n\n if (this.selectElement) {\n this.selectElement.value = String(val);\n }\n\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private getFormValue(): string | null {\n return this.internalValue ? String(this.internalValue) : null;\n }\n\n private getInitialSelectedValue(): string | number | null {\n if (this.items && this.items.length > 0) {\n return null;\n }\n const assignedNodes = Array.from(this.el.querySelectorAll('option')) as HTMLOptionElement[];\n for (const option of assignedNodes) {\n if (option.hasAttribute('selected')) {\n return option.getAttribute('value');\n }\n }\n return null;\n }\n\n private handleSelectChange(event: Event) {\n const select = event.target as HTMLSelectElement;\n this.internalValue = select.value;\n this.value = this.internalValue;\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private moveOptionsToLightDom() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (slot) {\n const assignedNodes = slot.assignedNodes({ flatten: true }) as HTMLElement[];\n assignedNodes.forEach(node => {\n if (node.nodeName === 'OPTION' || node.nodeName === 'OPTGROUP') {\n this.selectElement.appendChild(node);\n }\n });\n }\n }\n\n private syncDynamicOptions() {\n while (this.selectElement.options.length > 1) {\n this.selectElement.remove(1);\n }\n\n if (this.items && this.items.length > 0) {\n this.items.forEach(item => {\n const option = document.createElement('option');\n const value = this.itemValue ? item[this.itemValue] : item;\n const label = this.itemLabel ? item[this.itemLabel] : item;\n option.value = String(value);\n option.textContent = String(label);\n this.selectElement.appendChild(option);\n });\n }\n\n if (this.selectElement.value !== String(this.internalValue || '')) {\n this.selectElement.value = String(this.internalValue || '');\n }\n }\n\n private renderErrorMessage() {\n if (this.error) {\n return (\n <spw-field-message variant=\"error\" showIcon={this.showErrorIcon}>\n {this.error}\n </spw-field-message>\n );\n }\n }\n\n private renderHintMessage() {\n if (this.hint) {\n return (\n <spw-field-message variant=\"hint\" showIcon={this.showHintIcon}>\n {this.hint}\n </spw-field-message>\n );\n }\n }\n\n private renderSuccessMessage() {\n if (this.success) {\n return (\n <spw-field-message variant=\"success\" showIcon={this.showSuccessIcon}>\n {this.success}\n </spw-field-message>\n );\n }\n }\n\n private renderWarningMessage() {\n if (this.warning) {\n return (\n <spw-field-message variant=\"warning\" showIcon={this.showWarningIcon}>\n {this.warning}\n </spw-field-message>\n );\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-select': true,\n [`spw-select--${this.size}`]: true,\n 'spw-select--disabled': this.disabled,\n 'spw-select--is-error': !!this.error,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.elementClass}>\n {this.label && <spw-field-label label={this.label} name={this.name} required={this.required}></spw-field-label>}\n {this.assistiveText && (\n <spw-field-message class=\"spw-tw-mb-2 -spw-tw-mt-1\" variant=\"hint\" showIcon={false}>\n {this.assistiveText}\n </spw-field-message>\n )}\n <div class=\"spw-select__container\">\n <select\n id={this.name}\n class=\"spw-select__trigger\"\n onChange={event => this.handleSelectChange(event)}\n disabled={this.disabled}\n ref={el => (this.selectElement = el as HTMLSelectElement)}\n tabindex={this.disabled ? -1 : 0}\n >\n <option value=\"\" disabled selected={!this.internalValue}>\n {this.placeholder}\n </option>\n </select>\n <spw-icon class=\"spw-select__arrow\" icon=\"fa-chevron-down\"></spw-icon>\n </div>\n {!this.items && <slot />}\n </div>\n {this.renderErrorMessage()}\n {this.renderHintMessage()}\n {this.renderSuccessMessage()}\n {this.renderWarningMessage()}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|