@spw-ds/spw-stencil-library 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-iVhYitTd.js → index-ivINMH9O.js} +5 -5
- package/dist/cjs/{index-iVhYitTd.js.map → index-ivINMH9O.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-accordion_4.cjs.entry.js +3 -3
- package/dist/cjs/spw-accordion_4.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/spw-button.spw-loading.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-button_2.cjs.entry.js +6 -6
- package/dist/cjs/spw-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-card-content.cjs.entry.js +2 -2
- package/dist/cjs/spw-card-excerpt.cjs.entry.js +1 -1
- package/dist/cjs/spw-card-image.cjs.entry.js +1 -1
- package/dist/cjs/spw-card-subtag-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-card-subtags.cjs.entry.js +1 -1
- package/dist/cjs/spw-card-title.cjs.entry.js +1 -1
- package/dist/cjs/spw-card.cjs.entry.js +1 -1
- package/dist/cjs/spw-checkbox.cjs.entry.js +3 -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 +63 -9
- 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 +222 -41
- package/dist/cjs/spw-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-date-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-dropdown-container.cjs.entry.js +20 -0
- package/dist/cjs/spw-dropdown-container.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-dropdown-container.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-dropdown-item.cjs.entry.js +87 -0
- package/dist/cjs/spw-dropdown-item.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-dropdown-item.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/spw-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-field-label_6.cjs.entry.js +8 -8
- package/dist/cjs/spw-field-label_6.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-field-message.cjs.entry.js +2 -2
- package/dist/cjs/spw-file-upload.cjs.entry.js +6 -5
- package/dist/cjs/spw-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-file-upload.entry.cjs.js.map +1 -1
- 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 +3 -3
- 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 +2 -2
- package/dist/cjs/spw-illustration.cjs.entry.js +1 -1
- 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 +4 -4
- 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 +28 -18
- package/dist/cjs/spw-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-radio.cjs.entry.js +3 -3
- package/dist/cjs/spw-search-field.cjs.entry.js +13 -3
- package/dist/cjs/spw-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-search-field.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-select.cjs.entry.js +15 -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 +2 -2
- package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +85 -7
- package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-sidebar-navigation-item.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +2 -2
- package/dist/cjs/spw-sidebar.cjs.entry.js +10 -2
- package/dist/cjs/spw-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-sidebar.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-skeleton.cjs.entry.js +5 -3
- package/dist/cjs/spw-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-skeleton.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-socials.cjs.entry.js +2 -2
- package/dist/cjs/spw-stencil-library.cjs.js +2 -2
- package/dist/cjs/spw-table-body.cjs.entry.js +2 -2
- package/dist/cjs/spw-table-cell.cjs.entry.js +54 -3
- 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 +3 -3
- package/dist/cjs/spw-table-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-footer.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table-head.cjs.entry.js +2 -2
- package/dist/cjs/spw-table-header.cjs.entry.js +35 -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 +35 -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 +70 -7
- 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 +3 -3
- package/dist/cjs/spw-tabs-navigation.cjs.entry.js +2 -2
- package/dist/cjs/spw-tabs.cjs.entry.js +6 -4
- 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 +3 -3
- package/dist/cjs/spw-textarea.cjs.entry.js +3 -3
- 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 +2 -2
- package/dist/cjs/spw-topbar.cjs.entry.js +2 -2
- package/dist/cjs/spw-wizard-item.cjs.entry.js +64 -0
- package/dist/cjs/spw-wizard-item.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-wizard-item.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-wizard.cjs.entry.js +90 -0
- package/dist/cjs/spw-wizard.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-wizard.entry.cjs.js.map +1 -0
- package/dist/cjs/{utils-CKYAw_Le.js → utils-D_vNTY6w.js} +3 -3
- package/dist/cjs/utils-D_vNTY6w.js.map +1 -0
- package/dist/collection/collection-manifest.json +5 -1
- package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.css +1 -1
- package/dist/collection/components/spw-button/spw-button.css +1 -1
- package/dist/collection/components/spw-checkbox/spw-checkbox.css +1 -1
- package/dist/collection/components/spw-custom-select/spw-custom-select.css +1 -1
- package/dist/collection/components/spw-custom-select/spw-custom-select.js +81 -6
- package/dist/collection/components/spw-custom-select/spw-custom-select.js.map +1 -1
- package/dist/collection/components/spw-date-picker/spw-date-picker.css +1 -1
- package/dist/collection/components/spw-date-picker/spw-date-picker.js +267 -36
- package/dist/collection/components/spw-date-picker/spw-date-picker.js.map +1 -1
- package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.css +2 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.js +19 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.js.map +1 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.css +2 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js +175 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js.map +1 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown.js +2 -2
- package/dist/collection/components/spw-dropdown/spw-dropdown.js.map +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 +3 -2
- package/dist/collection/components/spw-file-upload/spw-file-upload.js.map +1 -1
- 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.js +1 -1
- package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
- package/dist/collection/components/spw-link/spw-link.css +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 +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.css +1 -1
- package/dist/collection/components/spw-pagination/spw-pagination.js +54 -13
- package/dist/collection/components/spw-pagination/spw-pagination.js.map +1 -1
- package/dist/collection/components/spw-radio/spw-radio.js +1 -1
- package/dist/collection/components/spw-search-field/spw-search-field.js +50 -2
- package/dist/collection/components/spw-search-field/spw-search-field.js.map +1 -1
- package/dist/collection/components/spw-select/spw-select.js +34 -1
- package/dist/collection/components/spw-select/spw-select.js.map +1 -1
- package/dist/collection/components/spw-separator/spw-separator.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.css +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +105 -6
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js.map +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-separator/spw-sidebar-navigation-separator.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar.js +9 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar.js.map +1 -1
- package/dist/collection/components/spw-skeleton/spw-skeleton.js +4 -2
- package/dist/collection/components/spw-skeleton/spw-skeleton.js.map +1 -1
- package/dist/collection/components/spw-socials/spw-socials.js +1 -1
- package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +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-cell/spw-table-cell.js +137 -1
- package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.css +1 -1
- package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
- package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +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 +92 -2
- 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 +66 -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.css +1 -1
- package/dist/collection/components/spw-table/spw-table.js +135 -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.js +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs.js +6 -4
- 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.js +1 -1
- package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
- package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.css +2 -0
- package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js +339 -0
- package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js.map +1 -0
- package/dist/collection/components/spw-wizard/spw-wizard.css +2 -0
- package/dist/collection/components/spw-wizard/spw-wizard.js +192 -0
- package/dist/collection/components/spw-wizard/spw-wizard.js.map +1 -0
- package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js +46 -1
- package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js +1 -1
- 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 +1 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-table/spw-table.stories.js +119 -0
- package/dist/collection/stories/organisms/spw-table/spw-table.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-wizard/spw-wizard.stories.js +208 -0
- package/dist/collection/stories/organisms/spw-wizard/spw-wizard.stories.js.map +1 -0
- package/dist/collection/utils/utils.js +48 -49
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/index.js +3 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-DaosfSzT.js → p-B2toBmC2.js} +36 -25
- package/dist/components/p-B2toBmC2.js.map +1 -0
- package/dist/components/{p-zpG0udTn.js → p-BBi01mKM.js} +3 -3
- package/dist/components/p-BBi01mKM.js.map +1 -0
- package/dist/components/{p-DIhULKFM.js → p-Bvpi6byK.js} +3 -3
- package/dist/components/{p-DIhULKFM.js.map → p-Bvpi6byK.js.map} +1 -1
- package/dist/components/{p-fNRoK67L.js → p-CVuBJlFL.js} +3 -3
- package/dist/components/{p-fNRoK67L.js.map → p-CVuBJlFL.js.map} +1 -1
- package/dist/components/{p-B3OQ2nRI.js → p-D4PsQ_SH.js} +4 -4
- package/dist/components/p-D4PsQ_SH.js.map +1 -0
- package/dist/components/p-DHBpMBYT.js +129 -0
- package/dist/components/p-DHBpMBYT.js.map +1 -0
- package/dist/components/{p-B-sLKmnT.js → p-DjyPtAVX.js} +7 -7
- package/dist/components/p-DjyPtAVX.js.map +1 -0
- package/dist/components/{p-BDRCqK1w.js → p-J5AA2xQI.js} +3 -3
- package/dist/components/{p-BDRCqK1w.js.map → p-J5AA2xQI.js.map} +1 -1
- package/dist/components/{p-Dku0Cksp.js → p-_sdYD0eS.js} +6 -6
- package/dist/components/{p-Dku0Cksp.js.map → p-_sdYD0eS.js.map} +1 -1
- package/dist/components/{p-GUYao_6w.js → p-qROlK2WR.js} +5 -5
- package/dist/components/p-qROlK2WR.js.map +1 -0
- package/dist/components/{p-BF73GiQU.js → p-qgvllwX6.js} +3 -3
- package/dist/components/{p-BF73GiQU.js.map → p-qgvllwX6.js.map} +1 -1
- package/dist/components/{p-BowHA3gk.js → p-t1vZcpqC.js} +3 -3
- package/dist/components/{p-BowHA3gk.js.map → p-t1vZcpqC.js.map} +1 -1
- package/dist/components/spw-accordion-item.js +1 -1
- package/dist/components/spw-breadcrumb-item.js +1 -1
- package/dist/components/spw-button.js +1 -1
- package/dist/components/spw-card-content.js +1 -1
- package/dist/components/spw-checkbox.js +1 -1
- package/dist/components/spw-cookies.js +4 -4
- package/dist/components/spw-custom-select.js +67 -12
- package/dist/components/spw-custom-select.js.map +1 -1
- package/dist/components/spw-date-picker.js +230 -45
- package/dist/components/spw-date-picker.js.map +1 -1
- package/dist/components/spw-dropdown-container.d.ts +11 -0
- package/dist/components/spw-dropdown-container.js +36 -0
- package/dist/components/spw-dropdown-container.js.map +1 -0
- package/dist/components/spw-dropdown-item.d.ts +11 -0
- package/dist/components/spw-dropdown-item.js +115 -0
- package/dist/components/spw-dropdown-item.js.map +1 -0
- package/dist/components/spw-dropdown.js +1 -1
- package/dist/components/spw-dropdown.js.map +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 +7 -6
- package/dist/components/spw-file-upload.js.map +1 -1
- 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 +3 -3
- 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 +1 -1
- package/dist/components/spw-header-persona-item.js +1 -1
- package/dist/components/spw-header-persona.js +1 -1
- package/dist/components/spw-header.js +3 -3
- package/dist/components/spw-hero.js +1 -1
- package/dist/components/spw-iodda.js +6 -6
- package/dist/components/spw-link.js +1 -1
- package/dist/components/spw-list-description.js +1 -1
- package/dist/components/spw-list-item.js +1 -1
- package/dist/components/spw-list-title.js +1 -1
- package/dist/components/spw-list.js +1 -1
- package/dist/components/spw-loading.js +1 -1
- package/dist/components/spw-message.js +1 -1
- package/dist/components/spw-modal.js +3 -3
- 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 +2 -2
- package/dist/components/spw-search-field.js +18 -7
- package/dist/components/spw-search-field.js.map +1 -1
- package/dist/components/spw-select.js +18 -5
- package/dist/components/spw-select.js.map +1 -1
- package/dist/components/spw-separator.js +1 -1
- package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
- package/dist/components/spw-sidebar-navigation-item.js +88 -8
- package/dist/components/spw-sidebar-navigation-item.js.map +1 -1
- package/dist/components/spw-sidebar-navigation-separator.js +2 -2
- package/dist/components/spw-sidebar.js +9 -1
- package/dist/components/spw-sidebar.js.map +1 -1
- package/dist/components/spw-skeleton.js +4 -2
- package/dist/components/spw-skeleton.js.map +1 -1
- package/dist/components/spw-socials.js +1 -1
- package/dist/components/spw-table-body.js +1 -1
- package/dist/components/spw-table-cell.js +59 -3
- package/dist/components/spw-table-cell.js.map +1 -1
- package/dist/components/spw-table-footer.js +2 -2
- package/dist/components/spw-table-footer.js.map +1 -1
- package/dist/components/spw-table-head.js +1 -1
- package/dist/components/spw-table-header.js +39 -6
- package/dist/components/spw-table-header.js.map +1 -1
- package/dist/components/spw-table-row.js +39 -3
- package/dist/components/spw-table-row.js.map +1 -1
- package/dist/components/spw-table.js +76 -8
- package/dist/components/spw-table.js.map +1 -1
- package/dist/components/spw-tabs-navigation-item.js +3 -3
- package/dist/components/spw-tabs-navigation.js +1 -1
- package/dist/components/spw-tabs.js +5 -3
- package/dist/components/spw-tabs.js.map +1 -1
- package/dist/components/spw-tag.js +1 -1
- 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 +1 -1
- package/dist/components/spw-tooltip.js +1 -1
- package/dist/components/spw-topbar.js +1 -1
- package/dist/components/spw-wizard-item.d.ts +11 -0
- package/dist/components/spw-wizard-item.js +100 -0
- package/dist/components/spw-wizard-item.js.map +1 -0
- package/dist/components/spw-wizard.d.ts +11 -0
- package/dist/components/spw-wizard.js +110 -0
- package/dist/components/spw-wizard.js.map +1 -0
- package/dist/components_json.json +1214 -29
- package/dist/components_vscode.json +3088 -0
- package/dist/esm/{index-BYM_CUUH.js → index-CvfVJV8a.js} +5 -5
- package/dist/esm/{index-BYM_CUUH.js.map → index-CvfVJV8a.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.js.map +1 -1
- package/dist/esm/spw-accordion_4.entry.js +3 -3
- package/dist/esm/spw-accordion_4.entry.js.map +1 -1
- package/dist/esm/spw-breadcrumb-item.entry.js +1 -1
- package/dist/esm/spw-breadcrumb.entry.js +1 -1
- package/dist/esm/spw-button.spw-loading.entry.js.map +1 -1
- package/dist/esm/spw-button_2.entry.js +6 -6
- package/dist/esm/spw-button_2.entry.js.map +1 -1
- package/dist/esm/spw-card-content.entry.js +2 -2
- package/dist/esm/spw-card-excerpt.entry.js +1 -1
- package/dist/esm/spw-card-image.entry.js +1 -1
- package/dist/esm/spw-card-subtag-item.entry.js +1 -1
- package/dist/esm/spw-card-subtags.entry.js +1 -1
- package/dist/esm/spw-card-title.entry.js +1 -1
- package/dist/esm/spw-card.entry.js +1 -1
- package/dist/esm/spw-checkbox.entry.js +3 -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 +63 -9
- package/dist/esm/spw-custom-select.entry.js.map +1 -1
- package/dist/esm/spw-date-picker.entry.js +222 -41
- package/dist/esm/spw-date-picker.entry.js.map +1 -1
- package/dist/esm/spw-dropdown-container.entry.js +18 -0
- package/dist/esm/spw-dropdown-container.entry.js.map +1 -0
- package/dist/esm/spw-dropdown-item.entry.js +85 -0
- package/dist/esm/spw-dropdown-item.entry.js.map +1 -0
- package/dist/esm/spw-dropdown.entry.js +2 -2
- package/dist/esm/spw-dropdown.entry.js.map +1 -1
- package/dist/esm/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.js.map +1 -1
- package/dist/esm/spw-field-label_6.entry.js +8 -8
- package/dist/esm/spw-field-label_6.entry.js.map +1 -1
- package/dist/esm/spw-field-message.entry.js +2 -2
- package/dist/esm/spw-file-upload.entry.js +6 -5
- package/dist/esm/spw-file-upload.entry.js.map +1 -1
- 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 +3 -3
- 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 +2 -2
- package/dist/esm/spw-illustration.entry.js +1 -1
- 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 +4 -4
- 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 +28 -18
- package/dist/esm/spw-pagination.entry.js.map +1 -1
- package/dist/esm/spw-radio.entry.js +3 -3
- package/dist/esm/spw-search-field.entry.js +13 -3
- package/dist/esm/spw-search-field.entry.js.map +1 -1
- package/dist/esm/spw-select.entry.js +15 -3
- package/dist/esm/spw-select.entry.js.map +1 -1
- package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +2 -2
- package/dist/esm/spw-sidebar-navigation-item.entry.js +85 -7
- package/dist/esm/spw-sidebar-navigation-item.entry.js.map +1 -1
- package/dist/esm/spw-sidebar-navigation-separator.entry.js +2 -2
- package/dist/esm/spw-sidebar.entry.js +10 -2
- package/dist/esm/spw-sidebar.entry.js.map +1 -1
- package/dist/esm/spw-skeleton.entry.js +5 -3
- package/dist/esm/spw-skeleton.entry.js.map +1 -1
- package/dist/esm/spw-socials.entry.js +2 -2
- package/dist/esm/spw-stencil-library.js +3 -3
- package/dist/esm/spw-table-body.entry.js +2 -2
- package/dist/esm/spw-table-cell.entry.js +54 -3
- package/dist/esm/spw-table-cell.entry.js.map +1 -1
- package/dist/esm/spw-table-footer.entry.js +3 -3
- package/dist/esm/spw-table-footer.entry.js.map +1 -1
- package/dist/esm/spw-table-head.entry.js +2 -2
- package/dist/esm/spw-table-header.entry.js +35 -5
- package/dist/esm/spw-table-header.entry.js.map +1 -1
- package/dist/esm/spw-table-row.entry.js +35 -3
- package/dist/esm/spw-table-row.entry.js.map +1 -1
- package/dist/esm/spw-table.entry.js +70 -7
- 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 +3 -3
- package/dist/esm/spw-tabs-navigation.entry.js +2 -2
- package/dist/esm/spw-tabs.entry.js +6 -4
- 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 +3 -3
- package/dist/esm/spw-textarea.entry.js +3 -3
- 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 +2 -2
- package/dist/esm/spw-topbar.entry.js +2 -2
- package/dist/esm/spw-wizard-item.entry.js +62 -0
- package/dist/esm/spw-wizard-item.entry.js.map +1 -0
- package/dist/esm/spw-wizard.entry.js +88 -0
- package/dist/esm/spw-wizard.entry.js.map +1 -0
- package/dist/esm/{utils-zpG0udTn.js → utils-BBi01mKM.js} +3 -3
- package/dist/esm/utils-BBi01mKM.js.map +1 -0
- package/dist/spw-stencil-library/{p-e2f03a02.entry.js → p-000f04a1.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e2f03a02.entry.js.map → p-000f04a1.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-f5de314e.entry.js → p-06cb6865.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-52c51ac5.entry.js → p-06ec3521.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-0226ad72.entry.js → p-0baeea00.entry.js} +2 -2
- package/dist/spw-stencil-library/p-0e1ec1e6.entry.js +2 -0
- package/dist/spw-stencil-library/p-0e1ec1e6.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-0f69442e.entry.js +2 -0
- package/dist/spw-stencil-library/p-0f69442e.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-14722019.entry.js +2 -0
- package/dist/spw-stencil-library/p-14722019.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-152525de.entry.js +2 -0
- package/dist/spw-stencil-library/p-152525de.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-fbe468de.entry.js → p-2113f2f6.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-181ae002.entry.js → p-25329033.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9219fe7c.entry.js → p-2abc48ed.entry.js} +2 -2
- package/dist/spw-stencil-library/p-2ad00dfc.entry.js +2 -0
- package/dist/spw-stencil-library/p-2ad00dfc.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-3ab472db.entry.js → p-2b011668.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-272dc0ee.entry.js → p-2c79bd06.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-272dc0ee.entry.js.map → p-2c79bd06.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-b0dc1073.entry.js → p-2cfb78fb.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-c2de4206.entry.js → p-2d974226.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-19a69f36.entry.js → p-300b4bdb.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-19a69f36.entry.js.map → p-300b4bdb.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-cb269271.entry.js → p-32fd509b.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-02151d7e.entry.js → p-438f1793.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-1f382434.entry.js → p-451a9785.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-4d61f200.entry.js → p-45d99a2b.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a93f21f9.entry.js → p-46567994.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2fd3eb76.entry.js → p-48417d99.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-dd4bf12d.entry.js → p-488c2d88.entry.js} +2 -2
- package/dist/spw-stencil-library/p-4a273848.entry.js +2 -0
- package/dist/spw-stencil-library/p-4a273848.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-08d78730.entry.js → p-4e1774df.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a30563ff.entry.js → p-512a2787.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-5f82570e.entry.js → p-5632f307.entry.js} +2 -2
- package/dist/spw-stencil-library/p-5632f307.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-04274072.entry.js → p-5a1b3ad1.entry.js} +3 -3
- package/dist/spw-stencil-library/{p-c838e17b.entry.js → p-5e34ea9d.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-64670b2e.entry.js → p-5e43e2ed.entry.js} +2 -2
- package/dist/spw-stencil-library/p-5e43e2ed.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-74b4aea0.entry.js → p-5f873b56.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-cff5a7e4.entry.js → p-5fde9dae.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-09a2d080.entry.js → p-63d1c97f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2dff657f.entry.js → p-6e74b1b0.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-fda153e0.entry.js → p-6ea811f3.entry.js} +2 -2
- package/dist/spw-stencil-library/p-6ed76337.entry.js +2 -0
- package/dist/spw-stencil-library/p-6ed76337.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-76e11724.entry.js +2 -0
- package/dist/spw-stencil-library/p-76e11724.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-11805364.entry.js → p-86bdf571.entry.js} +2 -2
- package/dist/spw-stencil-library/p-8c287e51.entry.js +2 -0
- package/dist/spw-stencil-library/p-8c287e51.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-fabf41a2.entry.js → p-8cfb4646.entry.js} +2 -2
- package/dist/spw-stencil-library/p-8cfb4646.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-92583499.entry.js +2 -0
- package/dist/spw-stencil-library/p-92583499.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-8dca994a.entry.js → p-9b63ccca.entry.js} +2 -2
- package/dist/spw-stencil-library/p-9d760073.entry.js +2 -0
- package/dist/spw-stencil-library/p-9d760073.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-42658e0a.entry.js → p-9d984204.entry.js} +2 -2
- package/dist/spw-stencil-library/p-9d984204.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-5a034423.entry.js → p-9e12973d.entry.js} +2 -2
- package/dist/spw-stencil-library/p-9e8a779e.entry.js +2 -0
- package/dist/spw-stencil-library/p-9e8a779e.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-zpG0udTn.js → p-BBi01mKM.js} +2 -2
- package/dist/spw-stencil-library/p-BBi01mKM.js.map +1 -0
- package/dist/spw-stencil-library/p-CvfVJV8a.js +3 -0
- package/dist/spw-stencil-library/{p-BYM_CUUH.js.map → p-CvfVJV8a.js.map} +1 -1
- package/dist/spw-stencil-library/{p-1d9ef3d5.entry.js → p-a25ad9f2.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-376b1e84.entry.js → p-a31a30f3.entry.js} +2 -2
- package/dist/spw-stencil-library/p-a31a30f3.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-a61253c2.entry.js +2 -0
- package/dist/spw-stencil-library/p-a61253c2.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-8c6c9db5.entry.js → p-a840f2ca.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-403fe46c.entry.js → p-b0e3875a.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-b45534d4.entry.js → p-b1bb413f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-db2354cf.entry.js → p-b6a56ec7.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-db2354cf.entry.js.map → p-b6a56ec7.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-75159246.entry.js → p-bb225503.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-1d93e0d8.entry.js → p-bff5424c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-cf508941.entry.js → p-c314e59f.entry.js} +2 -2
- package/dist/spw-stencil-library/p-c3985590.entry.js +2 -0
- package/dist/spw-stencil-library/p-c3985590.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-c4e4cfd4.entry.js +2 -0
- package/dist/spw-stencil-library/p-c4e4cfd4.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-e72c6410.entry.js → p-cbf8aea1.entry.js} +2 -2
- package/dist/spw-stencil-library/p-ce72bca4.entry.js +2 -0
- package/dist/spw-stencil-library/p-ce72bca4.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-b0ca9615.entry.js → p-d03b1644.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-817e139e.entry.js → p-d384f832.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-532314d2.entry.js → p-d8ba3e5c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e00468aa.entry.js → p-e0c31c21.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e00468aa.entry.js.map → p-e0c31c21.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-09d27c4b.entry.js → p-e3485695.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ae905af5.entry.js → p-e4b4f2b3.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-93a5f755.entry.js → p-e4d193cd.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-158e7952.entry.js → p-e936741c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-98ee79d6.entry.js → p-f154589d.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-98ee79d6.entry.js.map → p-f154589d.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-7d80a44e.entry.js → p-f28bf2be.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-7d80a44e.entry.js.map → p-f28bf2be.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-7cd55113.entry.js → p-f70ed5c3.entry.js} +2 -2
- package/dist/spw-stencil-library/p-f8ad31d4.entry.js +2 -0
- package/dist/spw-stencil-library/{p-03f1a257.entry.js.map → p-f8ad31d4.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-3450855b.entry.js → p-fa52aa2c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-554af1e3.entry.js → p-fc6af4d8.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a8311acd.entry.js → p-fcc5884a.entry.js} +2 -2
- package/dist/spw-stencil-library/p-fcc5884a.entry.js.map +1 -0
- package/dist/spw-stencil-library/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-button.spw-loading.entry.esm.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-date-picker.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-dropdown-container.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-dropdown-item.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-dropdown.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-file-upload.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-pagination.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-search-field.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-sidebar-navigation-item.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-sidebar.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-skeleton.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-stencil-library.css +1 -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-footer.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.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-wizard-item.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-wizard.entry.esm.js.map +1 -0
- package/dist/stats.json +3664 -983
- package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +5 -0
- package/dist/types/components/spw-date-picker/spw-date-picker.d.ts +8 -0
- package/dist/types/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.d.ts +3 -0
- package/dist/types/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.d.ts +23 -0
- package/dist/types/components/spw-pagination/spw-pagination.d.ts +4 -1
- package/dist/types/components/spw-search-field/spw-search-field.d.ts +5 -0
- package/dist/types/components/spw-select/spw-select.d.ts +2 -0
- package/dist/types/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.d.ts +8 -0
- package/dist/types/components/spw-sidebar/spw-sidebar.d.ts +1 -0
- package/dist/types/components/spw-table/spw-table-cell/spw-table-cell.d.ts +15 -0
- package/dist/types/components/spw-table/spw-table-header/spw-table-header.d.ts +6 -0
- package/dist/types/components/spw-table/spw-table-row/spw-table-row.d.ts +8 -0
- package/dist/types/components/spw-table/spw-table.d.ts +13 -1
- package/dist/types/components/spw-wizard/spw-wizard-item/spw-wizard-item.d.ts +35 -0
- package/dist/types/components/spw-wizard/spw-wizard.d.ts +19 -0
- package/dist/types/components.d.ts +379 -0
- package/dist/types/stories/components/spw-date-picker/spw-date-picker.stories.d.ts +2 -0
- package/dist/types/stories/organisms/spw-table/spw-table.stories.d.ts +1 -0
- package/dist/types/stories/organisms/spw-wizard/spw-wizard.stories.d.ts +8 -0
- package/dist/types/utils/utils.d.ts +2 -1
- package/hydrate/index.js +1023 -180
- package/hydrate/index.mjs +1023 -180
- package/package.json +1 -1
- package/dist/cjs/utils-CKYAw_Le.js.map +0 -1
- package/dist/components/p-B-sLKmnT.js.map +0 -1
- package/dist/components/p-B3OQ2nRI.js.map +0 -1
- package/dist/components/p-Cf-dIWNi.js +0 -129
- package/dist/components/p-Cf-dIWNi.js.map +0 -1
- package/dist/components/p-DaosfSzT.js.map +0 -1
- package/dist/components/p-GUYao_6w.js.map +0 -1
- package/dist/components/p-zpG0udTn.js.map +0 -1
- package/dist/esm/utils-zpG0udTn.js.map +0 -1
- package/dist/spw-stencil-library/p-03f1a257.entry.js +0 -2
- package/dist/spw-stencil-library/p-2e9756c4.entry.js +0 -2
- package/dist/spw-stencil-library/p-2e9756c4.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-34dc26ba.entry.js +0 -2
- package/dist/spw-stencil-library/p-34dc26ba.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-376b1e84.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-42658e0a.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-44d87d3f.entry.js +0 -2
- package/dist/spw-stencil-library/p-44d87d3f.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-5f82570e.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-64670b2e.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-73db3953.entry.js +0 -2
- package/dist/spw-stencil-library/p-73db3953.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-7e30e4c2.entry.js +0 -2
- package/dist/spw-stencil-library/p-7e30e4c2.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-8ef8864e.entry.js +0 -2
- package/dist/spw-stencil-library/p-8ef8864e.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-9356f8c9.entry.js +0 -2
- package/dist/spw-stencil-library/p-9356f8c9.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-BYM_CUUH.js +0 -3
- package/dist/spw-stencil-library/p-a8311acd.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-a950bce8.entry.js +0 -2
- package/dist/spw-stencil-library/p-a950bce8.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-ba27b9b0.entry.js +0 -2
- package/dist/spw-stencil-library/p-ba27b9b0.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-bf2d0cf4.entry.js +0 -2
- package/dist/spw-stencil-library/p-bf2d0cf4.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-c54fee67.entry.js +0 -2
- package/dist/spw-stencil-library/p-c54fee67.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-d3d4755a.entry.js +0 -2
- package/dist/spw-stencil-library/p-d3d4755a.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-fabf41a2.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-zpG0udTn.js.map +0 -1
- /package/dist/spw-stencil-library/{p-f5de314e.entry.js.map → p-06cb6865.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-52c51ac5.entry.js.map → p-06ec3521.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-0226ad72.entry.js.map → p-0baeea00.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-fbe468de.entry.js.map → p-2113f2f6.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-181ae002.entry.js.map → p-25329033.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-9219fe7c.entry.js.map → p-2abc48ed.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3ab472db.entry.js.map → p-2b011668.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b0dc1073.entry.js.map → p-2cfb78fb.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c2de4206.entry.js.map → p-2d974226.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cb269271.entry.js.map → p-32fd509b.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-02151d7e.entry.js.map → p-438f1793.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-1f382434.entry.js.map → p-451a9785.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-4d61f200.entry.js.map → p-45d99a2b.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a93f21f9.entry.js.map → p-46567994.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2fd3eb76.entry.js.map → p-48417d99.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-dd4bf12d.entry.js.map → p-488c2d88.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-08d78730.entry.js.map → p-4e1774df.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a30563ff.entry.js.map → p-512a2787.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-04274072.entry.js.map → p-5a1b3ad1.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c838e17b.entry.js.map → p-5e34ea9d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-74b4aea0.entry.js.map → p-5f873b56.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cff5a7e4.entry.js.map → p-5fde9dae.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-09a2d080.entry.js.map → p-63d1c97f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2dff657f.entry.js.map → p-6e74b1b0.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-fda153e0.entry.js.map → p-6ea811f3.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-11805364.entry.js.map → p-86bdf571.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8dca994a.entry.js.map → p-9b63ccca.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-5a034423.entry.js.map → p-9e12973d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-1d9ef3d5.entry.js.map → p-a25ad9f2.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8c6c9db5.entry.js.map → p-a840f2ca.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-403fe46c.entry.js.map → p-b0e3875a.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b45534d4.entry.js.map → p-b1bb413f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-75159246.entry.js.map → p-bb225503.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-1d93e0d8.entry.js.map → p-bff5424c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cf508941.entry.js.map → p-c314e59f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e72c6410.entry.js.map → p-cbf8aea1.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b0ca9615.entry.js.map → p-d03b1644.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-817e139e.entry.js.map → p-d384f832.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-532314d2.entry.js.map → p-d8ba3e5c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-09d27c4b.entry.js.map → p-e3485695.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ae905af5.entry.js.map → p-e4b4f2b3.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-93a5f755.entry.js.map → p-e4d193cd.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-158e7952.entry.js.map → p-e936741c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-7cd55113.entry.js.map → p-f70ed5c3.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3450855b.entry.js.map → p-fa52aa2c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-554af1e3.entry.js.map → p-fc6af4d8.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["e","t","module","exports","window","n","a","r","i","l","call","m","c","d","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","b","forEach","addEventListener","document","L","Y","Array","isArray","map","x","keys","reduce","u","calendar","querySelector","classList","contains","Date","currentYear","currentMonth","innerHTML","h","f","v","join","requestAnimationFrame","M","disableYearOverlay","months","getMonth","getFullYear","dateSelected","maxDate","minDate","showAllDates","days","disabledDates","startDay","weekendIndices","events","getRange","start","y","end","g","setDate","w","getDay","D","setMonth","getDate","q","S","E","C","j","O","P","k","N","_","I","A","disabler","noWeekends","push","R","concat","unshift","overlayPlaceholder","overlayButton","overlayMonths","el","textContent","sibling","disabled","readOnly","respectDisabledReadOnly","remove","add","instance","deselect","first","currentMonthName","onSelect","originalMinDate","originalMaxDate","nonInput","formatter","toDateString","onMonthChange","noPosition","position","top","right","centered","calendarContainer","positionedEl","getBoundingClientRect","height","left","width","style","setProperty","toString","isNaN","alwaysShow","defaultView","onHide","onShow","focus","setFullYear","which","keyCode","type","__qs_shadow_dom","target","filter","isMobile","disableMobile","dataset","monthNum","direction","querySelectorAll","split","match","slice","length","removeEventListener","this","Error","toLowerCase","shadowDom","inlinePosition","some","F","B","id","startDate","second","customDays","splice","getElementById","parentNode","host","body","parentElement","createElement","className","customElement","parent","nodeName","setMin","setMax","show","hide","navigate","toggleOverlay","getComputedStyle","appendChild","spwDatePickerCss","SpwDatePicker","constructor","hostRef","placeholder","required","dateFormat","disabledDays","error","hint","success","warning","showErrorIcon","showHintIcon","showSuccessIcon","showWarningIcon","range","isStart","isOpen","hasError","internalValue","lastInputValue","isDeleting","handleMaskedInput","event","newValue","cursorPosition","selectionStart","setTimeout","inputElement","setSelectionRange","oldDigitCount","unmask","maskedValue","applyMaskSmart","newDigitCount","newCursorPos","Math","min","digits","parsedDate","parseDate","getTime","isoString","toISODateString","internals","setFormValue","dateChange","emit","date","datepickerInstance","undefined","handleInputChange","handleInputFocus","handleKeyDown","ev","isInputFocused","isCalendarFocused","closest","key","shiftKey","preventDefault","stopPropagation","calendarEl","_a","focusableEls","from","Boolean","componentWillLoad","uniqueId","random","substr","parsed","JSON","parse","every","val","formatDate","componentDidLoad","initializeDatepicker","initialDate","disconnectedCallback","destroy","watchValue","formattedDate","watchDisabled","isDisabled","open","close","dateObj","year","month","padStart","day","getRangeSiblings","rangeId","selector","siblings","pickerEl","picker","updateRangeConstraints","endDate","replace","result","setupCalendarNavigation","setAttribute","handleCalendarKeyDown","currentElement","currentIndex","indexOf","newIndex","max","click","newElement","matches","options","customMonths","input","includes","dateStr","toISOString","selectedDateOrInstance","selectedDate","datePickerOpen","datePickerClose","datepicker","dateString","parts","parseInt","formResetCallback","render","inputClass","errorMessage","internalError","Host","class","label","assistiveText","variant","showIcon","ref","onFocus","onInput","onKeyDown","icon"],"sources":["../../node_modules/js-datepicker/dist/datepicker.min.js","src/components/spw-date-picker/spw-date-picker.scss?tag=spw-date-picker&encapsulation=shadow","src/components/spw-date-picker/spw-date-picker.tsx"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.datepicker=t():e.datepicker=t()}(window,(function(){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=0)}([function(e,t,n){\"use strict\";n.r(t);var a=[],r=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],i=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],o={t:\"top\",r:\"right\",b:\"bottom\",l:\"left\",c:\"centered\"};function s(){}var l=[\"click\",\"focusin\",\"keydown\",\"input\"];function d(e){l.forEach((function(t){e.addEventListener(t,e===document?L:Y)}))}function c(e){return Array.isArray(e)?e.map(c):\"[object Object]\"===x(e)?Object.keys(e).reduce((function(t,n){return t[n]=c(e[n]),t}),{}):e}function u(e,t){var n=e.calendar.querySelector(\".qs-overlay\"),a=n&&!n.classList.contains(\"qs-hidden\");t=t||new Date(e.currentYear,e.currentMonth),e.calendar.innerHTML=[h(t,e,a),f(t,e,a),v(e,a)].join(\"\"),a&&window.requestAnimationFrame((function(){M(!0,e)}))}function h(e,t,n){return['<div class=\"qs-controls'+(n?\" qs-blur\":\"\")+'\">','<div class=\"qs-arrow qs-left\"></div>','<div class=\"qs-month-year'+(t.disableYearOverlay?\" qs-disabled-year-overlay\":\"\")+'\">','<span class=\"qs-month\">'+t.months[e.getMonth()]+\"</span>\",'<span class=\"qs-year\">'+e.getFullYear()+\"</span>\",\"</div>\",'<div class=\"qs-arrow qs-right\"></div>',\"</div>\"].join(\"\")}function f(e,t,n){var a=t.currentMonth,r=t.currentYear,i=t.dateSelected,o=t.maxDate,s=t.minDate,l=t.showAllDates,d=t.days,c=t.disabledDates,u=t.startDay,h=t.weekendIndices,f=t.events,v=t.getRange?t.getRange():{},m=+v.start,y=+v.end,p=g(new Date(e).setDate(1)),w=p.getDay()-u,D=w<0?7:0;p.setMonth(p.getMonth()+1),p.setDate(0);var b=p.getDate(),q=[],S=D+7*((w+b)/7|0);S+=(w+b)%7?7:0;for(var M=1;M<=S;M++){var E=(M-1)%7,x=d[E],C=M-(w>=0?w:7+w),L=new Date(r,a,C),Y=f[+L],j=C<1||C>b,O=j?C<1?-1:1:0,P=j&&!l,k=P?\"\":L.getDate(),N=+L==+i,_=E===h[0]||E===h[1],I=m!==y,A=\"qs-square \"+x;Y&&!P&&(A+=\" qs-event\"),j&&(A+=\" qs-outside-current-month\"),!l&&j||(A+=\" qs-num\"),N&&(A+=\" qs-active\"),(c[+L]||t.disabler(L)||_&&t.noWeekends||s&&+L<+s||o&&+L>+o)&&!P&&(A+=\" qs-disabled\"),+g(new Date)==+L&&(A+=\" qs-current\"),+L===m&&y&&I&&(A+=\" qs-range-start\"),+L>m&&+L<y&&(A+=\" qs-range-middle\"),+L===y&&m&&I&&(A+=\" qs-range-end\"),P&&(A+=\" qs-empty\",k=\"\"),q.push('<div class=\"'+A+'\" data-direction=\"'+O+'\">'+k+\"</div>\")}var R=d.map((function(e){return'<div class=\"qs-square qs-day\">'+e+\"</div>\"})).concat(q);return R.unshift('<div class=\"qs-squares'+(n?\" qs-blur\":\"\")+'\">'),R.push(\"</div>\"),R.join(\"\")}function v(e,t){var n=e.overlayPlaceholder,a=e.overlayButton;return['<div class=\"qs-overlay'+(t?\"\":\" qs-hidden\")+'\">',\"<div>\",'<input class=\"qs-overlay-year\" placeholder=\"'+n+'\" inputmode=\"numeric\" />','<div class=\"qs-close\">✕</div>',\"</div>\",'<div class=\"qs-overlay-month-container\">'+e.overlayMonths.map((function(e,t){return'<div class=\"qs-overlay-month\" data-month-num=\"'+t+'\">'+e+\"</div>\"})).join(\"\")+\"</div>\",'<div class=\"qs-submit qs-disabled\">'+a+\"</div>\",\"</div>\"].join(\"\")}function m(e,t,n){var a=t.el,r=t.calendar.querySelector(\".qs-active\"),i=e.textContent,o=t.sibling;(a.disabled||a.readOnly)&&t.respectDisabledReadOnly||(t.dateSelected=n?void 0:new Date(t.currentYear,t.currentMonth,i),r&&r.classList.remove(\"qs-active\"),n||e.classList.add(\"qs-active\"),p(a,t,n),n||q(t),o&&(y({instance:t,deselect:n}),t.first&&!o.dateSelected&&(o.currentYear=t.currentYear,o.currentMonth=t.currentMonth,o.currentMonthName=t.currentMonthName),u(t),u(o)),t.onSelect(t,n?void 0:new Date(t.dateSelected)))}function y(e){var t=e.instance.first?e.instance:e.instance.sibling,n=t.sibling;t===e.instance?e.deselect?(t.minDate=t.originalMinDate,n.minDate=n.originalMinDate):n.minDate=t.dateSelected:e.deselect?(n.maxDate=n.originalMaxDate,t.maxDate=t.originalMaxDate):t.maxDate=n.dateSelected}function p(e,t,n){if(!t.nonInput)return n?e.value=\"\":t.formatter!==s?t.formatter(e,t.dateSelected,t):void(e.value=t.dateSelected.toDateString())}function w(e,t,n,a){n||a?(n&&(t.currentYear=+n),a&&(t.currentMonth=+a)):(t.currentMonth+=e.contains(\"qs-right\")?1:-1,12===t.currentMonth?(t.currentMonth=0,t.currentYear++):-1===t.currentMonth&&(t.currentMonth=11,t.currentYear--)),t.currentMonthName=t.months[t.currentMonth],u(t),t.onMonthChange(t)}function D(e){if(!e.noPosition){var t=e.position.top,n=e.position.right;if(e.position.centered)return e.calendarContainer.classList.add(\"qs-centered\");var a=e.positionedEl.getBoundingClientRect(),r=e.el.getBoundingClientRect(),i=e.calendarContainer.getBoundingClientRect(),o=r.top-a.top+(t?-1*i.height:r.height)+\"px\",s=r.left-a.left+(n?r.width-i.width:0)+\"px\";e.calendarContainer.style.setProperty(\"top\",o),e.calendarContainer.style.setProperty(\"left\",s)}}function b(e){return\"[object Date]\"===x(e)&&\"Invalid Date\"!==e.toString()}function g(e){if(b(e)||\"number\"==typeof e&&!isNaN(e)){var t=new Date(+e);return new Date(t.getFullYear(),t.getMonth(),t.getDate())}}function q(e){e.disabled||!e.calendarContainer.classList.contains(\"qs-hidden\")&&!e.alwaysShow&&(\"overlay\"!==e.defaultView&&M(!0,e),e.calendarContainer.classList.add(\"qs-hidden\"),e.onHide(e))}function S(e){e.disabled||(e.calendarContainer.classList.remove(\"qs-hidden\"),\"overlay\"===e.defaultView&&M(!1,e),D(e),e.onShow(e))}function M(e,t){var n=t.calendar,a=n.querySelector(\".qs-overlay\"),r=a.querySelector(\".qs-overlay-year\"),i=n.querySelector(\".qs-controls\"),o=n.querySelector(\".qs-squares\");e?(a.classList.add(\"qs-hidden\"),i.classList.remove(\"qs-blur\"),o.classList.remove(\"qs-blur\"),r.value=\"\"):(a.classList.remove(\"qs-hidden\"),i.classList.add(\"qs-blur\"),o.classList.add(\"qs-blur\"),r.focus())}function E(e,t,n,a){var r=isNaN(+(new Date).setFullYear(t.value||void 0)),i=r?null:t.value;if(13===e.which||13===e.keyCode||\"click\"===e.type)a?w(null,n,i,a):r||t.classList.contains(\"qs-disabled\")||w(null,n,i);else if(n.calendar.contains(t)){n.calendar.querySelector(\".qs-submit\").classList[r?\"add\":\"remove\"](\"qs-disabled\")}}function x(e){return{}.toString.call(e)}function C(e){a.forEach((function(t){t!==e&&q(t)}))}function L(e){if(!e.__qs_shadow_dom){var t=e.which||e.keyCode,n=e.type,r=e.target,o=r.classList,s=a.filter((function(e){return e.calendar.contains(r)||e.el===r}))[0],l=s&&s.calendar.contains(r);if(!(s&&s.isMobile&&s.disableMobile))if(\"click\"===n){if(!s)return a.forEach(q);if(s.disabled)return;var d=s.calendar,c=s.calendarContainer,h=s.disableYearOverlay,f=s.nonInput,v=d.querySelector(\".qs-overlay-year\"),y=!!d.querySelector(\".qs-hidden\"),p=d.querySelector(\".qs-month-year\").contains(r),D=r.dataset.monthNum;if(s.noPosition&&!l)(c.classList.contains(\"qs-hidden\")?S:q)(s);else if(o.contains(\"qs-arrow\"))w(o,s);else if(p||o.contains(\"qs-close\"))h||M(!y,s);else if(D)E(e,v,s,D);else{if(o.contains(\"qs-disabled\"))return;if(o.contains(\"qs-num\")){var b=r.textContent,g=+r.dataset.direction,x=new Date(s.currentYear,s.currentMonth+g,b);if(g){s.currentYear=x.getFullYear(),s.currentMonth=x.getMonth(),s.currentMonthName=i[s.currentMonth],u(s);for(var L,Y=s.calendar.querySelectorAll('[data-direction=\"0\"]'),j=0;!L;){var O=Y[j];O.textContent===b&&(L=O),j++}r=L}return void(+x==+s.dateSelected?m(r,s,!0):r.classList.contains(\"qs-disabled\")||m(r,s))}o.contains(\"qs-submit\")?E(e,v,s):f&&r===s.el&&(S(s),C(s))}}else if(\"focusin\"===n&&s)S(s),C(s);else if(\"keydown\"===n&&9===t&&s)q(s);else if(\"keydown\"===n&&s&&!s.disabled){var P=!s.calendar.querySelector(\".qs-overlay\").classList.contains(\"qs-hidden\");13===t&&P&&l?E(e,r,s):27===t&&P&&l&&M(!0,s)}else if(\"input\"===n){if(!s||!s.calendar.contains(r))return;var k=s.calendar.querySelector(\".qs-submit\"),N=r.value.split(\"\").reduce((function(e,t){return e||\"0\"!==t?e+(t.match(/[0-9]/)?t:\"\"):\"\"}),\"\").slice(0,4);r.value=N,k.classList[4===N.length?\"remove\":\"add\"](\"qs-disabled\")}}}function Y(e){L(e),e.__qs_shadow_dom=!0}function j(e,t){l.forEach((function(n){e.removeEventListener(n,t)}))}function O(){S(this)}function P(){q(this)}function k(e,t){var n=g(e),a=this.currentYear,r=this.currentMonth,i=this.sibling;if(null==e)return this.dateSelected=void 0,p(this.el,this,!0),i&&(y({instance:this,deselect:!0}),u(i)),u(this),this;if(!b(e))throw new Error(\"`setDate` needs a JavaScript Date object.\");if(this.disabledDates[+n]||n<this.minDate||n>this.maxDate)throw new Error(\"You can't manually set a date that's disabled.\");this.dateSelected=n,t&&(this.currentYear=n.getFullYear(),this.currentMonth=n.getMonth(),this.currentMonthName=this.months[n.getMonth()]),p(this.el,this),i&&(y({instance:this}),u(i));var o=a===n.getFullYear()&&r===n.getMonth();return o||t?u(this,n):o||u(this,new Date(a,r,1)),this}function N(e){return I(this,e,!0)}function _(e){return I(this,e)}function I(e,t,n){var a=e.dateSelected,r=e.first,i=e.sibling,o=e.minDate,s=e.maxDate,l=g(t),d=n?\"Min\":\"Max\";function c(){return\"original\"+d+\"Date\"}function h(){return d.toLowerCase()+\"Date\"}function f(){return\"set\"+d}function v(){throw new Error(\"Out-of-range date passed to \"+f())}if(null==t)e[c()]=void 0,i?(i[c()]=void 0,n?(r&&!a||!r&&!i.dateSelected)&&(e.minDate=void 0,i.minDate=void 0):(r&&!i.dateSelected||!r&&!a)&&(e.maxDate=void 0,i.maxDate=void 0)):e[h()]=void 0;else{if(!b(t))throw new Error(\"Invalid date passed to \"+f());i?((r&&n&&l>(a||s)||r&&!n&&l<(i.dateSelected||o)||!r&&n&&l>(i.dateSelected||s)||!r&&!n&&l<(a||o))&&v(),e[c()]=l,i[c()]=l,(n&&(r&&!a||!r&&!i.dateSelected)||!n&&(r&&!i.dateSelected||!r&&!a))&&(e[h()]=l,i[h()]=l)):((n&&l>(a||s)||!n&&l<(a||o))&&v(),e[h()]=l)}return i&&u(i),u(e),e}function A(){var e=this.first?this:this.sibling,t=e.sibling;return{start:e.dateSelected,end:t.dateSelected}}function R(){var e=this.shadowDom,t=this.positionedEl,n=this.calendarContainer,r=this.sibling,i=this;this.inlinePosition&&(a.some((function(e){return e!==i&&e.positionedEl===t}))||t.style.setProperty(\"position\",null));n.remove(),a=a.filter((function(e){return e!==i})),r&&delete r.sibling,a.length||j(document,L);var o=a.some((function(t){return t.shadowDom===e}));for(var s in e&&!o&&j(e,Y),this)delete this[s];a.length||l.forEach((function(e){document.removeEventListener(e,L)}))}function F(e,t){var n=new Date(e);if(!b(n))throw new Error(\"Invalid date passed to `navigate`\");this.currentYear=n.getFullYear(),this.currentMonth=n.getMonth(),u(this),t&&this.onMonthChange(this)}function B(){var e=!this.calendarContainer.classList.contains(\"qs-hidden\"),t=!this.calendarContainer.querySelector(\".qs-overlay\").classList.contains(\"qs-hidden\");e&&M(t,this)}t.default=function(e,t){var n=function(e,t){var n,l,d=function(e){var t=c(e);t.events&&(t.events=t.events.reduce((function(e,t){if(!b(t))throw new Error('\"options.events\" must only contain valid JavaScript Date objects.');return e[+g(t)]=!0,e}),{}));[\"startDate\",\"dateSelected\",\"minDate\",\"maxDate\"].forEach((function(e){var n=t[e];if(n&&!b(n))throw new Error('\"options.'+e+'\" needs to be a valid JavaScript Date object.');t[e]=g(n)}));var n=t.position,i=t.maxDate,l=t.minDate,d=t.dateSelected,u=t.overlayPlaceholder,h=t.overlayButton,f=t.startDay,v=t.id;if(t.startDate=g(t.startDate||d||new Date),t.disabledDates=(t.disabledDates||[]).reduce((function(e,t){var n=+g(t);if(!b(t))throw new Error('You supplied an invalid date to \"options.disabledDates\".');if(n===+g(d))throw new Error('\"disabledDates\" cannot contain the same date as \"dateSelected\".');return e[n]=1,e}),{}),t.hasOwnProperty(\"id\")&&null==v)throw new Error(\"`id` cannot be `null` or `undefined`\");if(null!=v){var m=a.filter((function(e){return e.id===v}));if(m.length>1)throw new Error(\"Only two datepickers can share an id.\");m.length?(t.second=!0,t.sibling=m[0]):t.first=!0}var y=[\"tr\",\"tl\",\"br\",\"bl\",\"c\"].some((function(e){return n===e}));if(n&&!y)throw new Error('\"options.position\" must be one of the following: tl, tr, bl, br, or c.');function p(e){throw new Error('\"dateSelected\" in options is '+(e?\"less\":\"greater\")+' than \"'+(e||\"max\")+'Date\".')}if(t.position=function(e){var t=e[0],n=e[1],a={};a[o[t]]=1,n&&(a[o[n]]=1);return a}(n||\"bl\"),i<l)throw new Error('\"maxDate\" in options is less than \"minDate\".');d&&(l>d&&p(\"min\"),i<d&&p());if([\"onSelect\",\"onShow\",\"onHide\",\"onMonthChange\",\"formatter\",\"disabler\"].forEach((function(e){\"function\"!=typeof t[e]&&(t[e]=s)})),[\"customDays\",\"customMonths\",\"customOverlayMonths\"].forEach((function(e,n){var a=t[e],r=n?12:7;if(a){if(!Array.isArray(a)||a.length!==r||a.some((function(e){return\"string\"!=typeof e})))throw new Error('\"'+e+'\" must be an array with '+r+\" strings.\");t[n?n<2?\"months\":\"overlayMonths\":\"days\"]=a}})),f&&f>0&&f<7){var w=(t.customDays||r).slice(),D=w.splice(0,f);t.customDays=w.concat(D),t.startDay=+f,t.weekendIndices=[w.length-1,w.length]}else t.startDay=0,t.weekendIndices=[6,0];\"string\"!=typeof u&&delete t.overlayPlaceholder;\"string\"!=typeof h&&delete t.overlayButton;var q=t.defaultView;if(q&&\"calendar\"!==q&&\"overlay\"!==q)throw new Error('options.defaultView must either be \"calendar\" or \"overlay\".');return t.defaultView=q||\"calendar\",t}(t||{startDate:g(new Date),position:\"bl\",defaultView:\"calendar\"}),u=e;if(\"string\"==typeof u)u=\"#\"===u[0]?document.getElementById(u.slice(1)):document.querySelector(u);else{if(\"[object ShadowRoot]\"===x(u))throw new Error(\"Using a shadow DOM as your selector is not supported.\");for(var h,f=u.parentNode;!h;){var v=x(f);\"[object HTMLDocument]\"===v?h=!0:\"[object ShadowRoot]\"===v?(h=!0,n=f,l=f.host):f=f.parentNode}}if(!u)throw new Error(\"No selector / element found.\");if(a.some((function(e){return e.el===u})))throw new Error(\"A datepicker already exists on that element.\");var m=u===document.body,y=n?u.parentElement||n:m?document.body:u.parentElement,w=n?u.parentElement||l:y,D=document.createElement(\"div\"),q=document.createElement(\"div\");D.className=\"qs-datepicker-container qs-hidden\",q.className=\"qs-datepicker\";var M={shadowDom:n,customElement:l,positionedEl:w,el:u,parent:y,nonInput:\"INPUT\"!==u.nodeName,noPosition:m,position:!m&&d.position,startDate:d.startDate,dateSelected:d.dateSelected,disabledDates:d.disabledDates,minDate:d.minDate,maxDate:d.maxDate,noWeekends:!!d.noWeekends,weekendIndices:d.weekendIndices,calendarContainer:D,calendar:q,currentMonth:(d.startDate||d.dateSelected).getMonth(),currentMonthName:(d.months||i)[(d.startDate||d.dateSelected).getMonth()],currentYear:(d.startDate||d.dateSelected).getFullYear(),events:d.events||{},defaultView:d.defaultView,setDate:k,remove:R,setMin:N,setMax:_,show:O,hide:P,navigate:F,toggleOverlay:B,onSelect:d.onSelect,onShow:d.onShow,onHide:d.onHide,onMonthChange:d.onMonthChange,formatter:d.formatter,disabler:d.disabler,months:d.months||i,days:d.customDays||r,startDay:d.startDay,overlayMonths:d.overlayMonths||(d.months||i).map((function(e){return e.slice(0,3)})),overlayPlaceholder:d.overlayPlaceholder||\"4-digit year\",overlayButton:d.overlayButton||\"Submit\",disableYearOverlay:!!d.disableYearOverlay,disableMobile:!!d.disableMobile,isMobile:\"ontouchstart\"in window,alwaysShow:!!d.alwaysShow,id:d.id,showAllDates:!!d.showAllDates,respectDisabledReadOnly:!!d.respectDisabledReadOnly,first:d.first,second:d.second};if(d.sibling){var E=d.sibling,C=M,L=E.minDate||C.minDate,Y=E.maxDate||C.maxDate;C.sibling=E,E.sibling=C,E.minDate=L,E.maxDate=Y,C.minDate=L,C.maxDate=Y,E.originalMinDate=L,E.originalMaxDate=Y,C.originalMinDate=L,C.originalMaxDate=Y,E.getRange=A,C.getRange=A}d.dateSelected&&p(u,M);var j=getComputedStyle(w).position;m||j&&\"static\"!==j||(M.inlinePosition=!0,w.style.setProperty(\"position\",\"relative\"));var I=a.filter((function(e){return e.positionedEl===M.positionedEl}));I.some((function(e){return e.inlinePosition}))&&(M.inlinePosition=!0,I.forEach((function(e){e.inlinePosition=!0})));D.appendChild(q),y.appendChild(D),M.alwaysShow&&S(M);return M}(e,t);if(a.length||d(document),n.shadowDom&&(a.some((function(e){return e.shadowDom===n.shadowDom}))||d(n.shadowDom)),a.push(n),n.second){var l=n.sibling;y({instance:n,deselect:!n.dateSelected}),y({instance:l,deselect:!l.dateSelected}),u(l)}return u(n,n.startDate||n.dateSelected),n.alwaysShow&&D(n),n}}]).default}));","@import '~js-datepicker/dist/datepicker.min.css';\n\n:host {\n display: block;\n font-family: inherit;\n --spw-input-height: 40px;\n --spw-input-padding: 0 12px;\n --spw-input-text-align: left;\n --spw-input-font-size: 16px;\n --spw-input-radius: 4px;\n --spw-input-icon-search-color: var(--spw-color-themes-grey-grey-900);\n --spw-input-border: var(--spw-color-themes-grey-grey-800);\n}\n\n%input {\n flex: 1;\n width: 100%;\n height: var(--spw-input-height);\n padding: var(--spw-input-padding);\n text-overflow: ellipsis;\n line-height: var(--spw-input-height);\n border-radius: var(--spw-input-radius);\n font-size: var(--spw-input-font-size);\n text-align: var(--spw-input-text-align);\n border: 1px solid var(--spw-input-border);\n &:hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n &:focus,\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 6px black;\n }\n &:active {\n border-color: var(--spw-input-border);\n }\n}\n\n.spw-date-picker {\n &__input-container {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n &__input {\n @extend %input;\n\n &--error {\n border-color: var(--spw-color-error, #dc2626);\n\n &:focus {\n border-color: var(--spw-color-error, #dc2626);\n box-shadow: 0 0 0 3px var(--spw-color-error-light, rgba(220, 38, 38, 0.1));\n }\n }\n\n &--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 &--open {\n outline: 3px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 6px black;\n }\n\n &::placeholder {\n color: var(--spw-color-text-placeholder, #9ca3af);\n }\n }\n\n &__icon {\n position: absolute;\n right: 0.75rem;\n color: var(--spw-color-text-secondary, #6b7280);\n pointer-events: none;\n font-size: 1rem;\n }\n\n &__help {\n margin-top: 0.25rem;\n font-size: 0.75rem;\n line-height: 1rem;\n color: var(--spw-color-text-secondary, #6b7280);\n }\n\n &__error {\n display: flex;\n align-items: center;\n margin-top: 0.25rem;\n font-size: 0.75rem;\n line-height: 1rem;\n color: var(--spw-color-error, #dc2626);\n\n spw-icon {\n margin-right: 0.25rem;\n font-size: 0.75rem;\n }\n }\n}\n\n.qs-datepicker-container {\n box-shadow: var(--spw-effect-elevation-6);\n border: none;\n width: 320px;\n margin-top: 6px;\n .qs-controls {\n padding: 24px;\n padding-bottom: 0;\n background: none;\n margin-bottom: 16px;\n position: relative;\n }\n .qs-month-year {\n font-size: 14px;\n border: 1px solid var(--spw-colors-support-grey-grey-300);\n border-radius: 6px;\n padding: 8px 16px;\n &:hover {\n border-color: var(--spw-colors-support-grey-grey-800);\n }\n }\n .qs-arrow {\n position: absolute;\n top: 24px;\n width: 36px;\n height: 36px;\n color: transparent;\n &:before {\n content: '';\n width: 100%;\n height: 100%;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-family: var(--spw-ds-font-icons-solid);\n font-weight: 700;\n font-size: 16px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n color: var(--spw-colors-support-grey-grey-800);\n }\n &:after {\n display: none;\n }\n &:hover {\n background: var(--spw-colors-support-grey-grey-200);\n }\n &:active {\n background: var(--spw-colors-support-grey-grey-300);\n }\n }\n .qs-left {\n right: 60px;\n &:before {\n content: '\\f053';\n }\n }\n .qs-right {\n right: 24px;\n &:before {\n content: '\\f054';\n }\n }\n .qs-squares {\n padding: 24px;\n padding-top: 0;\n gap: 4px 0;\n }\n .qs-square {\n font-size: 14px;\n text-transform: lowercase;\n height: 36px;\n }\n .qs-square:not(.qs-empty):not(.qs-disabled):not(.qs-day):not(.qs-active):hover {\n background: var(--spw-colors-support-grey-grey-400);\n }\n .qs-range-end:hover,\n .qr-range-start:hover {\n background: var(--spw-colors-support-grey-grey-800);\n }\n .qs-active,\n .qs-range-end,\n .qs-range-start,\n .qs-range-start.qs-disabled {\n background: var(--spw-colors-support-grey-grey-900);\n color: white;\n opacity: 1;\n }\n .qs-range-middle {\n background: var(--spw-colors-support-grey-grey-300);\n }\n .qs-day {\n font-weight: 400;\n color: var(--spw-colors-support-grey-grey-800);\n padding-bottom: 12px;\n border-radius: 0;\n position: relative;\n &:after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n width: 68px;\n height: 1px;\n background: var(--spw-colors-support-grey-grey-300);\n }\n &:nth-child(7) {\n &:after {\n display: none;\n }\n }\n }\n .qs-overlay {\n padding: 24px;\n background: #fff;\n }\n .qs-overlay-month {\n font-size: 14px;\n color: var(--spw-colors-support-grey-grey-800);\n width: calc(100% / 4);\n }\n .qs-close {\n color: var(--spw-colors-support-grey-grey-600);\n top: 24px;\n left: 24px;\n right: auto;\n padding: 0;\n height: 40px;\n width: 32px;\n text-indent: -9999px;\n transition: all ease-in 0.2s;\n &:after {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n font-family: var(--spw-ds-font-icons-solid);\n font-weight: 700;\n content: '\\f060';\n font-size: 14px;\n text-indent: 0;\n }\n &:hover {\n color: var(--spw-colors-support-grey-grey-900);\n }\n }\n .qs-blur {\n filter: none;\n }\n .qs-overlay {\n transition: none;\n }\n .qs-overlay .qs-overlay-year {\n @extend %input;\n color: var(--spw-colors-support-grey-grey-900);\n margin-bottom: 24px;\n width: calc(100% - 80px);\n margin-left: 28px;\n }\n .qs-submit {\n position: absolute;\n text-indent: -9999px;\n top: 24px;\n right: 24px;\n width: 40px;\n height: 40px;\n border-radius: 9999px;\n border: 2px solid transparent;\n color: white;\n background: var(--spw-ds-primary);\n font-weight: 700;\n font-size: 14px;\n transition: all ease-in 0.2s;\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-family: var(--spw-ds-font-icons-solid);\n font-weight: 700;\n content: '\\f00c';\n font-size: 14px;\n text-indent: 0;\n }\n &:hover {\n background: var(--spw-ds-variant);\n }\n &:active {\n background: var(--spw-ds-active);\n }\n &.qs-disabled {\n background: var(--spw-colors-support-grey-grey-400);\n border-color: var(--spw-colors-support-grey-grey-400);\n color: var(--spw-colors-support-grey-grey-500);\n opacity: 1;\n }\n }\n}\n","import { Component, Host, h, Prop, State, Element, Event, EventEmitter, Watch, Method, AttachInternals } from '@stencil/core';\nimport datepicker from 'js-datepicker';\n\n@Component({\n tag: 'spw-date-picker',\n styleUrl: 'spw-date-picker.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SpwDatePicker {\n @Element() el: HTMLSpwDatePickerElement;\n\n /** Valeur de la date sélectionnée */\n @Prop({ mutable: true }) value: string;\n /** Placeholder du champ de saisie */\n @Prop() placeholder: string = 'JJ/MM/AAAA';\n /** Label du champ */\n @Prop() label: string;\n /** Attribut `name` utilisé par le formulaire */\n @Prop() name: string;\n /** Indique si le champ est requis */\n @Prop() required: boolean = false;\n /** Indique si le champ est désactivé */\n @Prop() disabled: boolean = false;\n /** Format de date à afficher */\n @Prop() dateFormat: string = 'dd/MM/yyyy';\n /** Date minimale sélectionnable */\n @Prop() minDate: string;\n /** Date maximale sélectionnable */\n @Prop() maxDate: string;\n /** Jours de la semaine désactivés (0=dimanche, 1=lundi, etc.) */\n @Prop() disabledDays: string | number[] = [];\n /** Dates spécifiques désactivées (format ISO) */\n @Prop() disabledDates: string[] = [];\n /** Position du datepicker */\n @Prop() position: 'tr' | 'tl' | 'br' | 'bl' = 'bl';\n /** Message d'erreur à afficher sous le champ */\n @Prop() error?: string = '';\n /** Message d'indication (hint) à afficher sous le champ */\n @Prop() hint?: string = '';\n /** Message de succès à afficher sous le champ */\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 /** Texte d'assistance à afficher sous le champ de saisie */\n @Prop() assistiveText?: string;\n\n /** Si vrai, permet de définir un range de dates */\n @Prop() range: boolean = false;\n /** Permet de définir un id pour le range de date (corrélation entre les 2 inputs) */\n @Prop() rangeId?: string;\n /** Permet de définir l'input de début pour un range */\n @Prop() isStart: boolean = false;\n\n @State() isOpen: boolean = false;\n @State() hasError: boolean = false;\n @State() internalError: string;\n @State() internalValue: string = '';\n\n /** Evenement émis au changement de date */\n @Event() dateChange: EventEmitter<{ value: string; date: Date }>;\n /** Evenement émis à l'ouverture du datepicker */\n @Event() datePickerOpen: EventEmitter<void>;\n /** Evenement émis à la fermeture du datepicker */\n @Event() datePickerClose: EventEmitter<void>;\n\n private inputElement: HTMLInputElement;\n private datepickerInstance: any;\n private uniqueId: string;\n private lastInputValue: string = '';\n private isDeleting: boolean = false;\n\n @AttachInternals() internals: ElementInternals;\n\n componentWillLoad() {\n this.uniqueId = `spw-date-picker-${Math.random().toString(36).substr(2, 9)}`;\n if (typeof this.disabledDays === 'string') {\n try {\n const parsed = JSON.parse(this.disabledDays);\n if (Array.isArray(parsed) && parsed.every(val => typeof val === 'number')) {\n this.disabledDays = parsed;\n } else {\n this.disabledDays = [];\n }\n } catch {\n this.disabledDays = [];\n }\n }\n\n const start = this.value ? this.formatDate(new Date(this.value)) : '';\n this.internalValue = start;\n this.lastInputValue = this.internalValue;\n }\n\n componentDidLoad() {\n this.initializeDatepicker();\n if (this.value) {\n const initialDate = new Date(this.value);\n if (!isNaN(initialDate.getTime())) {\n this.datepickerInstance.setDate(initialDate, true);\n this.inputElement.value = this.formatDate(initialDate);\n this.internalValue = this.formatDate(initialDate);\n }\n }\n this.internals.setFormValue(this.value ? this.value : null);\n }\n\n disconnectedCallback() {\n if (this.datepickerInstance) {\n this.datepickerInstance.destroy();\n }\n }\n\n @Watch('value')\n watchValue(newValue: string) {\n if (this.datepickerInstance && newValue) {\n const date = new Date(newValue);\n if (!isNaN(date.getTime())) {\n this.datepickerInstance.setDate(date, true);\n const formattedDate = this.formatDate(date);\n this.inputElement.value = formattedDate;\n this.internalValue = formattedDate;\n this.lastInputValue = formattedDate;\n }\n } else if (this.datepickerInstance) {\n this.datepickerInstance.setDate(undefined, true);\n this.inputElement.value = '';\n this.internalValue = '';\n this.lastInputValue = '';\n }\n this.internals.setFormValue(newValue ? newValue : null);\n }\n\n @Watch('disabled')\n watchDisabled(isDisabled: boolean) {\n if (this.inputElement) {\n this.inputElement.disabled = isDisabled;\n }\n }\n\n /** Méthode pour ouvrir le datepicker */\n @Method()\n async open() {\n if (this.datepickerInstance) {\n this.datepickerInstance.show();\n }\n }\n\n /** Méthode pour fermer le datepicker */\n @Method()\n async close() {\n if (this.datepickerInstance) {\n this.datepickerInstance.hide();\n }\n }\n\n /** Méthode pour définir la date */\n @Method()\n async setDate(date: Date | string) {\n if (this.datepickerInstance) {\n const dateObj = typeof date === 'string' ? new Date(date) : date;\n this.datepickerInstance.setDate(dateObj, true);\n }\n }\n\n /** Méthode pour récupérer la date */\n @Method()\n async getDate(): Promise<Date | null> {\n return this.datepickerInstance ? this.datepickerInstance.dateSelected : null;\n }\n\n /** Méthode pour récupérer le range de dates */\n @Method()\n async getRange(): Promise<{ start: Date | null; end: Date | null }> {\n if (this.range && this.datepickerInstance?.getRange) {\n return this.datepickerInstance.getRange();\n }\n return { start: null, end: null };\n }\n\n private toISODateString(date: Date): string {\n const year = date.getFullYear();\n const month = `${date.getMonth() + 1}`.padStart(2, '0');\n const day = `${date.getDate()}`.padStart(2, '0');\n return `${year}-${month}-${day}`;\n }\n\n private getRangeSiblings(): { start: SpwDatePicker | null; end: SpwDatePicker | null } {\n if (!this.range || !this.rangeId) return { start: null, end: null };\n\n const selector = `spw-date-picker[range][range-id=\"${this.rangeId}\"]`;\n const siblings = Array.from(document.querySelectorAll(selector)) as HTMLSpwDatePickerElement[];\n\n let start: SpwDatePicker | null = null;\n let end: SpwDatePicker | null = null;\n\n siblings.forEach(pickerEl => {\n const picker = pickerEl as unknown as SpwDatePicker;\n if (picker.isStart) {\n start = picker;\n } else {\n end = picker;\n }\n });\n\n return { start, end };\n }\n\n private updateRangeConstraints() {\n if (!this.range || !this.rangeId) return;\n\n const { start, end } = this.getRangeSiblings();\n\n if (this.isStart && end && end.datepickerInstance) {\n const startDate = this.value ? new Date(this.value) : null;\n if (startDate && !isNaN(startDate.getTime())) {\n end.datepickerInstance.setMin(startDate);\n }\n } else if (!this.isStart && start && start.datepickerInstance) {\n const endDate = this.value ? new Date(this.value) : null;\n if (endDate && !isNaN(endDate.getTime())) {\n start.datepickerInstance.setMax(endDate);\n }\n }\n }\n\n private unmask(value: string): string {\n return value ? value.replace(/[^0-9]/g, '') : '';\n }\n\n private applyMaskSmart(value: string): string {\n if (!value) return '';\n\n const digits = this.unmask(value);\n let result = '';\n\n for (let i = 0; i < digits.length && i < 8; i++) {\n if (i === 2 || i === 4) {\n result += '/';\n }\n result += digits[i];\n }\n\n return result;\n }\n\n private handleMaskedInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n const newValue = target.value;\n const cursorPosition = target.selectionStart || 0;\n\n this.isDeleting = newValue.length < this.lastInputValue.length;\n\n if (this.isDeleting) {\n this.internalValue = newValue;\n target.value = newValue;\n this.lastInputValue = newValue;\n\n setTimeout(() => {\n if (this.inputElement) {\n this.inputElement.setSelectionRange(cursorPosition, cursorPosition);\n }\n }, 0);\n } else {\n const oldDigitCount = this.unmask(this.lastInputValue).length;\n const maskedValue = this.applyMaskSmart(newValue);\n const newDigitCount = this.unmask(maskedValue).length;\n\n this.internalValue = maskedValue;\n target.value = maskedValue;\n this.lastInputValue = maskedValue;\n\n setTimeout(() => {\n if (this.inputElement) {\n let newCursorPos = cursorPosition;\n\n if (newDigitCount > oldDigitCount) {\n if ((newDigitCount === 3 && oldDigitCount === 2) || (newDigitCount === 5 && oldDigitCount === 4)) {\n newCursorPos = cursorPosition + 1;\n }\n }\n\n newCursorPos = Math.min(newCursorPos, maskedValue.length);\n this.inputElement.setSelectionRange(newCursorPos, newCursorPos);\n }\n }, 0);\n }\n\n const digits = this.unmask(this.internalValue);\n if (digits.length === 8) {\n const parsedDate = this.parseDate(this.internalValue);\n if (parsedDate && !isNaN(parsedDate.getTime())) {\n const isoString = this.toISODateString(parsedDate);\n this.value = isoString;\n this.internals.setFormValue(isoString);\n this.dateChange.emit({ value: isoString, date: parsedDate });\n if (this.datepickerInstance) {\n this.datepickerInstance.setDate(parsedDate, true);\n }\n }\n } else if (!this.internalValue) {\n this.value = '';\n this.internals.setFormValue(null);\n this.dateChange.emit({ value: '', date: null });\n if (this.datepickerInstance) {\n this.datepickerInstance.setDate(undefined, true);\n }\n }\n };\n\n private setupCalendarNavigation() {\n if (!this.datepickerInstance) return;\n\n const calendarEl = this.datepickerInstance.calendarContainer;\n if (!calendarEl) return;\n\n const focusableEls: any = [\n ...Array.from(calendarEl.querySelectorAll('.qs-arrow')),\n calendarEl.querySelector('.qs-month-year') as HTMLElement,\n ...Array.from(calendarEl.querySelectorAll('.qs-square:not(.qs-day):not(.qs-empty)')),\n ].filter(Boolean) as HTMLElement[];\n\n focusableEls.forEach((el: HTMLElement) => {\n el.setAttribute('tabindex', '0');\n el.addEventListener('keydown', (e: KeyboardEvent) => {\n this.handleCalendarKeyDown(e, el, focusableEls);\n });\n // if (el.classList.contains('qs-square')) {\n // el.addEventListener('click', () => {\n // setTimeout(() => this.inputElement.focus(), 100);\n // });\n // }\n });\n }\n\n private handleCalendarKeyDown(e: KeyboardEvent, currentElement: HTMLElement, focusableEls: HTMLElement[]) {\n const currentIndex = focusableEls.indexOf(currentElement);\n let newIndex = currentIndex;\n\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n newIndex = Math.min(currentIndex + 1, focusableEls.length - 1);\n break;\n case 'ArrowLeft':\n e.preventDefault();\n newIndex = Math.max(currentIndex - 1, 0);\n break;\n case 'ArrowDown':\n e.preventDefault();\n newIndex = currentElement.classList.contains('qs-square') ? Math.min(currentIndex + 7, focusableEls.length - 1) : Math.min(currentIndex + 1, focusableEls.length - 1);\n break;\n case 'ArrowUp':\n e.preventDefault();\n newIndex = currentElement.classList.contains('qs-square') ? Math.max(currentIndex - 7, 0) : Math.max(currentIndex - 1, 0);\n break;\n case 'Home':\n e.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n e.preventDefault();\n newIndex = focusableEls.length - 1;\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (currentElement.classList.contains('qs-arrow')) {\n currentElement.click();\n setTimeout(() => currentElement.focus(), 0);\n } else {\n currentElement.click();\n }\n return;\n case 'Escape':\n e.preventDefault();\n this.datepickerInstance.hide();\n this.inputElement.focus();\n return;\n }\n\n if (newIndex !== currentIndex) {\n const newElement = focusableEls[newIndex];\n if (newElement && !newElement.matches('.qs-day, .qs-disabled, .qs-empty')) {\n newElement.focus();\n }\n }\n }\n\n private initializeDatepicker() {\n if (!this.inputElement) return;\n\n const options: any = {\n position: this.position,\n startDay: 1,\n customDays: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],\n customMonths: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],\n overlayPlaceholder: 'Année',\n overlayButton: 'Valider',\n formatter: (input: HTMLInputElement, date: Date) => {\n const formattedDate = this.formatDate(date);\n input.value = formattedDate;\n this.internalValue = formattedDate;\n this.lastInputValue = formattedDate;\n },\n disabler: (date: Date) => {\n const disabledDays = this.disabledDays as number[];\n if (disabledDays.includes(date.getDay())) return true;\n const dateStr = date.toISOString().split('T')[0];\n return this.disabledDates.includes(dateStr);\n },\n onSelect: (selectedDateOrInstance: any) => {\n const selectedDate = selectedDateOrInstance instanceof Date ? selectedDateOrInstance : selectedDateOrInstance?.dateSelected;\n\n if (!selectedDate || isNaN(selectedDate.getTime())) return;\n\n const isoString = this.toISODateString(selectedDate);\n this.value = isoString;\n const formattedDate = this.formatDate(selectedDate);\n this.inputElement.value = formattedDate;\n this.internalValue = formattedDate;\n this.lastInputValue = formattedDate;\n this.internals.setFormValue(isoString);\n this.dateChange.emit({ value: isoString, date: selectedDate });\n\n this.updateRangeConstraints();\n },\n onShow: () => {\n this.isOpen = true;\n this.datePickerOpen.emit();\n setTimeout(() => this.setupCalendarNavigation(), 100);\n },\n onHide: () => {\n this.isOpen = false;\n this.datePickerClose.emit();\n },\n };\n\n if (this.range && this.rangeId) {\n options.id = this.rangeId;\n\n const { start, end } = this.getRangeSiblings();\n\n if (this.isStart && end && end.value) {\n const endDate = new Date(end.value);\n if (!isNaN(endDate.getTime())) {\n options.maxDate = endDate;\n }\n } else if (!this.isStart && start && start.value) {\n const startDate = new Date(start.value);\n if (!isNaN(startDate.getTime())) {\n options.minDate = startDate;\n }\n }\n } else {\n if (this.minDate) options.minDate = new Date(this.minDate);\n if (this.maxDate) options.maxDate = new Date(this.maxDate);\n }\n\n if (this.datepickerInstance) {\n this.datepickerInstance.destroy();\n }\n\n this.datepickerInstance = datepicker(this.inputElement, options);\n\n if (this.value) {\n const initialDate = new Date(this.value);\n if (!isNaN(initialDate.getTime())) {\n this.datepickerInstance.setDate(initialDate, true);\n const formattedDate = this.formatDate(initialDate);\n this.inputElement.value = formattedDate;\n this.internalValue = formattedDate;\n this.lastInputValue = formattedDate;\n }\n }\n }\n\n private formatDate(date: Date): string {\n if (!(date instanceof Date) || isNaN(date.getTime())) return '';\n const day = date.getDate().toString().padStart(2, '0');\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const year = date.getFullYear();\n return this.dateFormat.replace('dd', day).replace('MM', month).replace('yyyy', year.toString());\n }\n\n private handleInputChange = (event: Event) => {\n this.handleMaskedInput(event);\n };\n\n private parseDate(dateString: string): Date | null {\n const parts = dateString.split('/');\n if (parts.length === 3) {\n const day = parseInt(parts[0], 10);\n const month = parseInt(parts[1], 10) - 1;\n const year = parseInt(parts[2], 10);\n if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {\n return new Date(year, month, day);\n }\n }\n return null;\n }\n\n private handleInputFocus = () => {\n if (!this.disabled && this.datepickerInstance) {\n this.datepickerInstance.show();\n }\n };\n\n private handleKeyDown = (ev: KeyboardEvent) => {\n const target = ev.target as HTMLElement;\n const isInputFocused = target === this.inputElement;\n const isCalendarFocused = target.closest('.qs-datepicker') !== null;\n\n if (isInputFocused) {\n switch (ev.key) {\n case 'Tab':\n if (!ev.shiftKey && this.isOpen) {\n ev.preventDefault();\n ev.stopPropagation();\n setTimeout(() => {\n const calendarEl = this.datepickerInstance?.calendarContainer;\n if (calendarEl) {\n const focusableEls: HTMLElement[] = [\n ...Array.from(calendarEl.querySelectorAll('.qs-arrow')),\n calendarEl.querySelector('.qs-month-year') as HTMLElement,\n ...Array.from(calendarEl.querySelectorAll('.qs-square:not(.qs-day):not(.qs-empty)')),\n ].filter(Boolean) as HTMLElement[];\n if (focusableEls[0]) {\n focusableEls[0].focus();\n }\n }\n }, 0);\n }\n break;\n case 'Escape':\n if (this.isOpen) {\n ev.preventDefault();\n this.datepickerInstance.hide();\n this.inputElement.focus();\n }\n break;\n }\n } else if (isCalendarFocused) {\n switch (ev.key) {\n case 'Escape':\n ev.preventDefault();\n this.datepickerInstance.hide();\n this.inputElement.focus();\n break;\n case 'Tab':\n if (ev.shiftKey) {\n ev.preventDefault();\n this.inputElement.focus();\n }\n break;\n }\n }\n };\n\n formResetCallback() {\n this.value = '';\n this.internalValue = '';\n this.lastInputValue = '';\n this.internals.setFormValue(null);\n if (this.inputElement) {\n this.inputElement.value = '';\n }\n if (this.datepickerInstance) {\n this.datepickerInstance.setDate(undefined, true);\n }\n this.dateChange.emit({ value: '', date: null });\n this.updateRangeConstraints();\n }\n\n render() {\n const inputClass = {\n 'spw-date-picker__input': true,\n 'spw-date-picker__input--error': this.hasError,\n 'spw-date-picker__input--disabled': this.disabled,\n 'spw-date-picker__input--open': this.isOpen,\n };\n\n const errorMessage = this.error || this.internalError;\n\n return (\n <Host>\n <div class=\"spw-date-picker\">\n {this.label && <spw-field-label label={this.label} 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\n <div class=\"spw-date-picker__input-container\">\n <input\n ref={el => (this.inputElement = el)}\n id={this.uniqueId}\n type=\"text\"\n class={inputClass}\n value={this.internalValue}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n onFocus={this.handleInputFocus}\n onInput={this.handleInputChange}\n onKeyDown={this.handleKeyDown}\n aria-describedby={this.assistiveText || errorMessage ? `${this.uniqueId}-help ${this.uniqueId}-error` : undefined}\n aria-invalid={this.hasError}\n ></input>\n <spw-icon icon=\"fa-calendar\" class=\"spw-date-picker__icon\"></spw-icon>\n </div>\n\n {this.error && (\n <spw-field-message variant=\"error\" showIcon={this.showErrorIcon}>\n {this.error}\n </spw-field-message>\n )}\n {this.hint && (\n <spw-field-message variant=\"hint\" showIcon={this.showHintIcon}>\n {this.hint}\n </spw-field-message>\n )}\n {this.success && (\n <spw-field-message variant=\"success\" showIcon={this.showSuccessIcon}>\n {this.success}\n </spw-field-message>\n )}\n {this.warning && (\n <spw-field-message variant=\"warning\" showIcon={this.showWarningIcon}>\n {this.warning}\n </spw-field-message>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as s}from"./p-BYM_CUUH.js";const i="/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-custom-select{position:relative}.spw-custom-select__container{align-items:center;background-color:#fff;border:1px solid var(--spw-color-themes-grey-grey-800);border-radius:4px;display:flex;height:40px;justify-content:space-between;line-height:40px;padding:0 12px;width:100%}.spw-custom-select__container:hover{outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-custom-select__container:focus-visible,.spw-custom-select__container:focus-within{box-shadow:0 0 0 6px #000;outline:3px solid #fff;outline-offset:0}.spw-custom-select--disabled .spw-custom-select__container{background:var(--spw-color-themes-grey-grey-100);border-color:var(--spw-color-themes-grey-grey-400);color:var(--spw-color-themes-grey-grey-500);cursor:not-allowed}.spw-custom-select--disabled .spw-custom-select__container::-moz-placeholder{color:var(--spw-color-themes-grey-grey-500)}.spw-custom-select--disabled .spw-custom-select__container::placeholder{color:var(--spw-color-themes-grey-grey-500)}.spw-custom-select--disabled .spw-custom-select__container:focus,.spw-custom-select--disabled .spw-custom-select__container:focus-visible,.spw-custom-select--disabled .spw-custom-select__container:hover{outline:none}.spw-custom-select--is-error .spw-custom-select__container{border-color:var(--spw-colors-states-error-error-300)}.spw-custom-select--large .spw-custom-select__container{height:60px;line-height:60px;padding:0 24px}.spw-custom-select--is-opened .spw-custom-select__container{border-bottom-color:transparent;border-radius:4px 4px 0 0;height:auto;line-height:1;min-height:40px}.spw-custom-select__selected{flex:1;max-width:100%;padding-right:30px}.spw-custom-select__selected-item{align-items:center;background:var(--spw-color-themes-grey-grey-200);border:1px solid var(--spw-color-themes-grey-grey-900);border-radius:999px;color:var(--spw-color-themes-grey-grey-900);display:inline-flex;font-size:14px;gap:6px;height:24px;line-height:24px;margin:4px 6px 2px 0;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spw-custom-select__selected-items{text-wrap:nowrap;flex:1;overflow:hidden;text-overflow:ellipsis}.spw-custom-select--is-opened .spw-custom-select__selected-items{text-wrap:initial;overflow:visible;padding-bottom:4px;padding-top:3px;text-overflow:clip}.spw-custom-select__arrow{color:var(--spw-color-themes-grey-grey-600);font-size:16px;pointer-events:none;position:absolute;right:12px;top:10px}.spw-custom-select__wrapper{position:relative}.spw-custom-select--is-opened .spw-custom-select__search{left:0;margin-top:1px;position:absolute;top:0;width:100%;z-index:11}.spw-custom-select--has-value.spw-custom-select--is-opened .spw-custom-select__search{margin-top:-3px;top:auto;top:100%}.spw-custom-select__search-input{border:none;height:38px;line-height:40px;margin:0;padding:0;text-overflow:ellipsis;width:calc(100% - 30px)}.spw-custom-select__search-input:focus{outline:none}.spw-custom-select--is-opened .spw-custom-select__search-input{border-left:1px solid var(--spw-color-themes-grey-grey-800);padding:0 12px}.spw-custom-select--is-opened.spw-custom-select--has-value .spw-custom-select__search-input{border-right:1px solid var(--spw-color-themes-grey-grey-800);width:100%}.spw-custom-select__options{background-color:#fff;border:1px solid var(--spw-color-themes-grey-grey-800);border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;position:absolute;width:100%;z-index:12}.spw-custom-select__options--down,.spw-custom-select__options--up{top:100%;transform:translateY(0)}.spw-custom-select--has-value.spw-custom-select--is-opened:not(.spw-custom-select--not-searchable) .spw-custom-select__options{margin-top:35px}.spw-custom-select__no-results{color:var(--spw-color-themes-grey-grey-600);cursor:not-allowed;padding:12px}.spw-custom-select__option{border-bottom:1px solid var(--spw-color-themes-grey-grey-900);cursor:pointer;padding:12px}.spw-custom-select__option:hover{background-color:var(--spw-color-themes-grey-grey-200)}.spw-custom-select__option:last-child{border-bottom:none}.spw-custom-select__option--selected{font-weight:700}.spw-custom-select__error{color:var(--spw-color-themes-grey-grey-600);display:block;font-size:12px;margin-top:8px}.spw-custom-select__option--focused{background-color:var(--spw-color-themes-grey-grey-300)}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}.spw-tw-mr-2{margin-right:.5rem}";const o=class{constructor(s){e(this,s);this.valueChanged=t(this,"valueChanged");if(s.$hostElement$["s-ei"]){this.internals=s.$hostElement$["s-ei"]}else{this.internals=s.$hostElement$.attachInternals();s.$hostElement$["s-ei"]=this.internals}this.isOpen=false;this.parsedOptions=[];this.focusedOptionIndex=null;this.searchText="";this.dropdownDirection="down";this.hasSelectedValue=false;this.value=[];this.label="";this.placeholder="Sélectionnez une option";this.required=false;this.size="medium";this.multiple=false;this.isSearch=false;this.error="";this.hint="";this.success="";this.warning="";this.showErrorIcon=true;this.showHintIcon=true;this.showSuccessIcon=true;this.showWarningIcon=true;this.handleClickOutside=e=>{var t,s;if(this.isOpen){const i=e.composedPath()[0];const o=this.host.contains(i);const r=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelector(".spw-custom-select__search-input");const n=r===null||r===void 0?void 0:r.contains(i);if(!o&&!n){if(this.multiple){const e=(s=this.host.shadowRoot)===null||s===void 0?void 0:s.querySelector(".spw-custom-select__options");if(e&&e.contains(i)){return}}this.closeDropdown()}}}}componentWillLoad(){if(this.multiple){if(typeof this.value==="string"){try{this.internalValue=JSON.parse(this.value)}catch(e){this.internalValue=[]}}else if(Array.isArray(this.value)){this.internalValue=this.value}else{this.internalValue=[]}}else{this.internalValue=this.value}if(this.items){this.parseOptions(this.items)}this.updateSelectedOption()}componentDidLoad(){document.addEventListener("click",this.handleClickOutside);this.internals.setFormValue(this.getFormValue())}disconnectedCallback(){document.removeEventListener("click",this.handleClickOutside)}parseOptions(e){try{if(Array.isArray(e)){this.parsedOptions=e.map((e=>({value:e.value,label:e.label})))}else if(typeof e==="string"){this.parsedOptions=JSON.parse(e).map((e=>({value:e.value,label:e.label})))}else{this.parsedOptions=[]}this.updateSelectedOption()}catch(e){this.parsedOptions=[]}}valueChangedHandler(e){if(this.multiple){this.internalValue=Array.isArray(e)?e:[e]}else{this.internalValue=e}this.updateSelectedOption();this.internals.setFormValue(this.getFormValue());this.valueChanged.emit(this.internalValue)}updateSelectedOption(){this.internals.setFormValue(this.getFormValue());if(!this.multiple&&this.internalValue!==undefined){this.focusedOptionIndex=this.parsedOptions.findIndex((e=>String(e.value)===String(this.internalValue)))}else if(this.multiple&&Array.isArray(this.internalValue)){this.internalValue=this.internalValue.filter((e=>this.parsedOptions.some((t=>String(t.value)===String(e))))).sort(((e,t)=>this.parsedOptions.findIndex((t=>String(t.value)===String(e)))-this.parsedOptions.findIndex((e=>String(e.value)===String(t)))))}}internalValueChanged(){this.hasSelectedValue=Array.isArray(this.internalValue)?this.internalValue.length>0:Boolean(this.internalValue)}getFormValue(){if(this.multiple){return Array.isArray(this.internalValue)&&this.internalValue.length>0?this.internalValue.map((e=>String(e))).join(","):null}return this.internalValue?String(this.internalValue):null}toggleDropdown(e){if(!this.disabled){if(e){const t=e.composedPath()[0];if(t.classList.contains("spw-custom-select__search-input")){return}e.stopPropagation()}this.determineDropdownDirection();this.isOpen=!this.isOpen;if(!this.isOpen){this.focusedOptionIndex=null}}}determineDropdownDirection(){const e=this.selectContainer.getBoundingClientRect();const t=window.innerHeight;if(e.bottom+200>t&&e.top>200){this.dropdownDirection="up"}else{this.dropdownDirection="down"}}openDropdownWithKeyboard(){this.determineDropdownDirection();this.isOpen=true;this.focusedOptionIndex=0}closeDropdown(){this.isOpen=false;this.focusedOptionIndex=null;this.searchText=""}selectOption(e,t){if(t){t.stopPropagation()}if(this.multiple){const t=this.internalValue.findIndex((t=>String(t)===String(e)));if(t>-1){this.internalValue=[...this.internalValue.slice(0,t),...this.internalValue.slice(t+1)]}else{this.internalValue=[...this.internalValue,e]}this.internalValue=this.internalValue.sort(((e,t)=>this.parsedOptions.findIndex((t=>String(t.value)===String(e)))-this.parsedOptions.findIndex((e=>String(e.value)===String(t)))))}else{this.internalValue=e;this.closeDropdown()}this.value=this.internalValue;this.internals.setFormValue(this.getFormValue());this.valueChanged.emit(this.internalValue);this.updateSelectedOption()}handleOptionKeyDown(e,t){if(e.key==="Enter"||e.key===" "){e.preventDefault();this.selectOption(t)}}handleKeyDown(e){if(e.target.classList.contains("spw-custom-select__search-input")){return}switch(e.key){case" ":e.preventDefault();if(!this.isOpen){this.openDropdownWithKeyboard()}break;case"ArrowDown":e.preventDefault();if(this.isOpen){this.focusedOptionIndex=this.focusedOptionIndex===null?0:(this.focusedOptionIndex+1)%this.parsedOptions.length}else{this.openDropdownWithKeyboard()}break;case"ArrowUp":e.preventDefault();if(this.isOpen){this.focusedOptionIndex=this.focusedOptionIndex===null?this.parsedOptions.length-1:(this.focusedOptionIndex-1+this.parsedOptions.length)%this.parsedOptions.length}break;case"Enter":e.preventDefault();if(this.isOpen&&this.focusedOptionIndex!==null){this.selectOption(this.parsedOptions[this.focusedOptionIndex].value)}break;case"Escape":if(this.isOpen){this.closeDropdown()}break}}renderErrorMessage(){if(this.error){return s("spw-field-message",{variant:"error",showIcon:this.showErrorIcon},this.error)}}renderHintMessage(){if(this.hint){return s("spw-field-message",{variant:"hint",showIcon:this.showHintIcon},this.hint)}}renderWarningMessage(){if(this.warning){return s("spw-field-message",{variant:"warning",showIcon:this.showWarningIcon},this.warning)}}renderSuccessMessage(){if(this.success){return s("spw-field-message",{variant:"success",showIcon:this.showSuccessIcon},this.success)}}get elementClass(){return{"spw-custom-select":true,[`spw-custom-select--${this.size}`]:true,"spw-custom-select--is-error":!!this.error,"spw-custom-select--disabled":this.disabled,"spw-custom-select--is-opened":this.isOpen,"spw-custom-select--has-value":this.hasSelectedValue,"spw-custom-select--no-value":!this.hasSelectedValue,"spw-custom-select--is-searchable":this.isSearch,"spw-custom-select--not-searchable":!this.isSearch}}normalizeString(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase()}getSelectedLabels(){if(this.multiple){return Array.isArray(this.internalValue)&&this.internalValue.length>0?this.internalValue.map((e=>{var t;return(t=this.parsedOptions.find((t=>String(t.value)===String(e))))===null||t===void 0?void 0:t.label})).filter(Boolean).join(", "):null}else{const e=this.parsedOptions.find((e=>String(e.value)===String(this.internalValue)));return e?e.label:null}}getFilteredOptions(){const e=this.normalizeString(this.searchText);return this.parsedOptions.filter((t=>this.normalizeString(t.label).includes(e)))}handleSearchInput(e){const t=e.target;this.searchText=t.value;this.focusedOptionIndex=0;if(!this.isOpen){this.isOpen=true}}isSearchVisible(){if(!this.isSearch)return false;if(!this.hasSelectedValue&&!this.isOpen)return true;if(this.isSearch&&this.isOpen)return true;return this.isOpen}showPlaceholder(){if(this.isSearch)return false;if(this.hasSelectedValue)return false;return true}render(){const e=this.getFilteredOptions();const t=this.showPlaceholder();return s("div",{key:"c4e9b482e11452d0ddb0faed48aef67fd9545625",class:this.elementClass,ref:e=>this.host=e},this.label&&s("spw-field-label",{key:"77a5da149e2a0997cbd7c9193af13b2d1ca46b27",label:this.label,name:this.name,required:this.required}),this.assistiveText&&s("spw-field-message",{key:"b779d0b9ece682f7000fb6ccd270f02200a8f1b8",class:"spw-tw-mb-2 -spw-tw-mt-1",variant:"hint",showIcon:false},this.assistiveText),s("div",{key:"abd83c181c4431d01d8e587bbdc53f9362f66cb7",class:"spw-custom-select__wrapper"},s("div",{key:"dd453bffadd86ecc44e32b6f6eaeee452c978c60",class:"spw-custom-select__container",id:this.name,ref:e=>this.selectContainer=e,onClick:e=>this.toggleDropdown(e),onKeyDown:e=>this.handleKeyDown(e),tabindex:this.disabled?-1:0},s("div",{key:"a149b15532b5de925657c9fdfd3a5d9f813cea29",class:"spw-custom-select__selected"},this.isSearchVisible()&&s("div",{key:"5232d7520be9f80496abdff21ebf83897ec3a0bb",class:"spw-custom-select__search"},s("input",{key:"bd7749e107c927a822b16d4c11e6bb32b2cb26ad",class:"spw-custom-select__search-input",placeholder:"Entrez votre recherche",onInput:e=>this.handleSearchInput(e),value:this.searchText})),t&&s("span",{key:"081cd01abd2c93104e10e0903af457b90634d6d2"},this.placeholder),this.multiple&&this.internalValue.length>0&&s("div",{key:"caed3dfbb5db9118f09773b02cdf4cc31f90dd2b",class:"spw-custom-select__selected-items"},this.internalValue.map((e=>{var t;return s("span",{class:"spw-custom-select__selected-item"},(t=this.parsedOptions.find((t=>String(t.value)===String(e))))===null||t===void 0?void 0:t.label,s("spw-icon",{icon:"fa-times",class:"spw-custom-select__deselect-icon",onClick:t=>this.selectOption(e,t)}))}))),!this.multiple&&s("span",{key:"86c77bbf92be5aae6f992e050e2485890beda7c3"},this.getSelectedLabels()))),s("div",{key:"261db6b56fb6ff8d20069785a5ddf7502b256aef",class:"spw-custom-select__arrow"},s("spw-icon",{key:"d2cce80c23491f730fdd24cc1a9c67c3b637d389",icon:this.isOpen?"fa-chevron-up":"fa-chevron-down"})),this.isOpen&&s("div",{key:"490a5118943e76dceeea2d85f3ebe734d9bf1386",class:`spw-custom-select__options spw-custom-select__options--${this.dropdownDirection}`},!!e.length&&s("ul",{key:"1368ca0e2e8745f72e73bec0a4f2d68277d7b646"},e.map(((e,t)=>s("li",{class:{"spw-custom-select__option":true,"spw-custom-select__option--selected":this.multiple?this.internalValue.some((t=>String(t)===String(e.value))):e.value===this.internalValue,"spw-custom-select__option--focused":t===this.focusedOptionIndex},onClick:()=>this.selectOption(e.value)},this.multiple&&s("spw-checkbox",{onKeyDown:t=>this.handleOptionKeyDown(t,e.value),class:"spw-tw-mr-2",checked:this.internalValue.some((t=>String(t)===String(e.value)))}),e.label)))),!e.length&&s("p",{key:"cc013a0bcd87440b3c805e51fa530ebfe301fd63",class:"spw-custom-select__no-results"},"Pas de résultats pour cette recherche."))),this.renderErrorMessage(),this.renderHintMessage(),this.renderSuccessMessage(),this.renderWarningMessage())}static get formAssociated(){return true}static get watchers(){return{items:["parseOptions"],value:["valueChangedHandler"],internalValue:["internalValueChanged"]}}};o.style=i;export{o as spw_custom_select};
|
|
2
|
-
//# sourceMappingURL=p-34dc26ba.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwCustomSelectCss","SpwCustomSelect","constructor","hostRef","this","isOpen","parsedOptions","focusedOptionIndex","searchText","dropdownDirection","hasSelectedValue","value","label","placeholder","required","size","multiple","isSearch","error","hint","success","warning","showErrorIcon","showHintIcon","showSuccessIcon","showWarningIcon","handleClickOutside","event","target","composedPath","isInsideHost","host","contains","searchField","_a","shadowRoot","querySelector","isInsideSearchField","optionsContainer","_b","closeDropdown","componentWillLoad","internalValue","JSON","parse","e","Array","isArray","items","parseOptions","updateSelectedOption","componentDidLoad","document","addEventListener","internals","setFormValue","getFormValue","disconnectedCallback","removeEventListener","newValue","map","option","valueChangedHandler","valueChanged","emit","undefined","findIndex","String","filter","val","some","sort","a","b","internalValueChanged","length","Boolean","v","join","toggleDropdown","disabled","classList","stopPropagation","determineDropdownDirection","rect","selectContainer","getBoundingClientRect","viewportHeight","window","innerHeight","bottom","top","openDropdownWithKeyboard","selectOption","optionValue","index","slice","handleOptionKeyDown","key","preventDefault","handleKeyDown","renderErrorMessage","h","variant","showIcon","renderHintMessage","renderWarningMessage","renderSuccessMessage","elementClass","normalizeString","str","normalize","replace","toLowerCase","getSelectedLabels","find","selectedOption","getFilteredOptions","normalizedSearchText","includes","handleSearchInput","input","isSearchVisible","showPlaceholder","render","filteredOptions","class","ref","el","name","assistiveText","id","onClick","onKeyDown","tabindex","onInput","icon","checked"],"sources":["src/components/spw-custom-select/spw-custom-select.scss?tag=spw-custom-select&encapsulation=shadow","src/components/spw-custom-select/spw-custom-select.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-custom-select {\n position: relative;\n &__container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 40px;\n padding: 0 12px;\n line-height: 40px;\n border-radius: 4px;\n border: 1px solid var(--spw-color-themes-grey-grey-800);\n background-color: #fff;\n &:hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n &:focus-within,\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 6px black;\n }\n .spw-custom-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 .spw-custom-select--is-error & {\n border-color: var(--spw-colors-states-error-error-300);\n }\n .spw-custom-select--large & {\n height: 60px;\n padding: 0 24px;\n line-height: 60px;\n }\n .spw-custom-select--is-opened & {\n height: auto;\n line-height: 1;\n min-height: 40px;\n border-radius: 4px 4px 0 0;\n border-bottom-color: transparent;\n }\n }\n\n &__selected {\n flex: 1;\n padding-right: 30px;\n max-width: 100%;\n }\n\n &__selected-item {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: var(--spw-color-themes-grey-grey-900);\n border: 1px solid var(--spw-color-themes-grey-grey-900);\n background: var(--spw-color-themes-grey-grey-200);\n line-height: 24px;\n height: 24px;\n padding: 0 8px;\n margin: 4px 6px 2px 0;\n border-radius: 999px;\n font-size: 14px;\n user-select: none;\n }\n\n &__selected-items {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n text-wrap: nowrap;\n .spw-custom-select--is-opened & {\n padding-top: 3px;\n padding-bottom: 4px;\n overflow: visible;\n text-overflow: initial;\n text-wrap: initial;\n }\n }\n\n &__arrow {\n position: absolute;\n right: 12px;\n top: 10px;\n font-size: 16px;\n color: var(--spw-color-themes-grey-grey-600);\n pointer-events: none;\n }\n\n &__wrapper {\n position: relative;\n }\n\n &__search {\n .spw-custom-select--is-opened & {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 11;\n width: 100%;\n margin-top: 1px;\n }\n .spw-custom-select--has-value.spw-custom-select--is-opened & {\n top: auto;\n top: 100%;\n margin-top: -3px;\n }\n &-input {\n padding: 0;\n height: 38px;\n line-height: 40px;\n border: none;\n margin: 0;\n width: calc(100% - 30px);\n text-overflow: ellipsis;\n &:focus {\n outline: none;\n }\n .spw-custom-select--is-opened & {\n border-left: 1px solid var(--spw-color-themes-grey-grey-800);\n padding: 0 12px;\n }\n .spw-custom-select--is-opened.spw-custom-select--has-value & {\n border-right: 1px solid var(--spw-color-themes-grey-grey-800);\n width: 100%;\n }\n }\n }\n\n &__options {\n position: absolute;\n width: 100%;\n background-color: #fff;\n border: 1px solid var(--spw-color-themes-grey-grey-800);\n border-radius: 0 0 4px 4px;\n max-height: 200px;\n overflow-y: auto;\n z-index: 12;\n\n &--down {\n top: 100%;\n transform: translateY(0);\n }\n\n &--up {\n top: 100%;\n transform: translateY(0);\n }\n\n .spw-custom-select--has-value.spw-custom-select--is-opened:not(.spw-custom-select--not-searchable) & {\n margin-top: 35px;\n }\n }\n\n &__no-results {\n padding: 12px;\n cursor: not-allowed;\n color: var(--spw-color-themes-grey-grey-600);\n }\n\n &__option {\n border-bottom: 1px solid var(--spw-color-themes-grey-grey-900);\n padding: 12px;\n cursor: pointer;\n &:hover {\n background-color: var(--spw-color-themes-grey-grey-200);\n }\n &:last-child {\n border-bottom: none;\n }\n &--selected {\n font-weight: 700;\n }\n }\n\n &__error {\n display: block;\n font-size: 12px;\n color: var(--spw-color-themes-grey-grey-600);\n margin-top: 8px;\n }\n}\n\n.spw-custom-select__option--focused {\n background-color: var(--spw-color-themes-grey-grey-300);\n}\n","import { AttachInternals, Component, Prop, State, Event, EventEmitter, h, Watch } from '@stencil/core';\n\n@Component({\n tag: 'spw-custom-select',\n styleUrl: 'spw-custom-select.scss',\n formAssociated: true,\n shadow: true,\n})\nexport class SpwCustomSelect {\n private host: HTMLElement;\n private selectContainer: HTMLElement;\n\n /** Événement émis lorsque la valeur sélectionnée change */\n @Event() valueChanged: EventEmitter<(string | number)[] | string | number>;\n\n @State() internalValue: (string | number)[] | string | number;\n @State() isOpen: boolean = false;\n @State() parsedOptions: { value: string | number; label: string }[] = [];\n @State() focusedOptionIndex: number | null = null;\n @State() searchText: string = '';\n @State() dropdownDirection: 'up' | 'down' = 'down';\n @State() hasSelectedValue: boolean = false;\n\n /** Valeur actuelle sélectionnée dans le composant, peut être une chaîne, un nombre ou un tableau */\n @Prop({ mutable: true, reflect: true }) value: (string | number)[] | string | number = [];\n /** Label associé au champ de sélection personnalisé */\n @Prop() label: string = '';\n /** Placeholder à afficher lorsque aucune option n'est sélectionnée */\n @Prop() placeholder: string = 'Sélectionnez une option';\n /** Indique si le champ est désactivé et donc non interactif */\n @Prop() disabled: boolean;\n /** Nom de l'élément dans les formulaires, utilisé pour associer la valeur */\n @Prop() name: string;\n /** Indique si la sélection est obligatoire dans le formulaire */\n @Prop() required: boolean = false;\n /** Chaîne JSON des options disponibles dans le select (valeur et label) */\n @Prop() items: string | any[];\n /** Taille du select, peut être \"large\" ou \"medium\" */\n @Prop() size: 'large' | 'medium' = 'medium';\n /** Permet la sélection multiple si vrai */\n @Prop() multiple: boolean = false;\n /** Active la fonction de recherche dans la liste des items */\n @Prop() isSearch: boolean = false;\n /** Texte d'assistance à afficher sous le champ */\n @Prop() assistiveText?: string;\n /** Message d'erreur à afficher sous le champ */\n @Prop() error?: string = '';\n /** Message d'indication (hint) à afficher sous le champ */\n @Prop() hint?: string = '';\n /** Message de succès à afficher sous le champ */\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 @AttachInternals() internals: ElementInternals;\n\n componentWillLoad() {\n if (this.multiple) {\n if (typeof this.value === 'string') {\n try {\n this.internalValue = JSON.parse(this.value);\n } catch (e) {\n this.internalValue = [];\n }\n } else if (Array.isArray(this.value)) {\n this.internalValue = this.value;\n } else {\n this.internalValue = [];\n }\n } else {\n this.internalValue = this.value as string | number;\n }\n\n if (this.items) {\n this.parseOptions(this.items);\n }\n this.updateSelectedOption();\n }\n\n componentDidLoad() {\n document.addEventListener('click', this.handleClickOutside);\n this.internals.setFormValue(this.getFormValue());\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n private handleClickOutside = (event: MouseEvent) => {\n if (this.isOpen) {\n const target = event.composedPath()[0] as Node;\n const isInsideHost = this.host.contains(target);\n const searchField = this.host.shadowRoot?.querySelector('.spw-custom-select__search-input');\n\n const isInsideSearchField = searchField?.contains(target);\n\n if (!isInsideHost && !isInsideSearchField) {\n if (this.multiple) {\n const optionsContainer = this.host.shadowRoot?.querySelector('.spw-custom-select__options');\n if (optionsContainer && optionsContainer.contains(target)) {\n return;\n }\n }\n\n this.closeDropdown();\n }\n }\n };\n\n @Watch('items')\n parseOptions(newValue: string | any[]) {\n try {\n if (Array.isArray(newValue)) {\n this.parsedOptions = newValue.map(option => ({\n value: option.value,\n label: option.label,\n }));\n } else if (typeof newValue === 'string') {\n this.parsedOptions = JSON.parse(newValue).map(option => ({\n value: option.value,\n label: option.label,\n }));\n } else {\n this.parsedOptions = [];\n }\n this.updateSelectedOption();\n } catch (e) {\n this.parsedOptions = [];\n }\n }\n\n @Watch('value')\n valueChangedHandler(newValue: (string | number)[] | string | number) {\n if (this.multiple) {\n this.internalValue = Array.isArray(newValue) ? newValue : [newValue];\n } else {\n this.internalValue = newValue;\n }\n this.updateSelectedOption();\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private updateSelectedOption() {\n this.internals.setFormValue(this.getFormValue());\n\n if (!this.multiple && this.internalValue !== undefined) {\n this.focusedOptionIndex = this.parsedOptions.findIndex(option => String(option.value) === String(this.internalValue));\n } else if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = (this.internalValue as (string | number)[])\n .filter(val => this.parsedOptions.some(option => String(option.value) === String(val)))\n .sort((a, b) => this.parsedOptions.findIndex(option => String(option.value) === String(a)) - this.parsedOptions.findIndex(option => String(option.value) === String(b)));\n }\n }\n\n @Watch('internalValue')\n internalValueChanged() {\n this.hasSelectedValue = Array.isArray(this.internalValue) ? this.internalValue.length > 0 : Boolean(this.internalValue);\n }\n\n private getFormValue(): string | null {\n if (this.multiple) {\n return Array.isArray(this.internalValue) && this.internalValue.length > 0 ? this.internalValue.map(v => String(v)).join(',') : null;\n }\n return this.internalValue ? String(this.internalValue) : null;\n }\n\n private toggleDropdown(event?: MouseEvent) {\n if (!this.disabled) {\n if (event) {\n const target = event.composedPath()[0] as HTMLElement;\n\n if (target.classList.contains('spw-custom-select__search-input')) {\n return;\n }\n\n event.stopPropagation();\n }\n this.determineDropdownDirection();\n this.isOpen = !this.isOpen;\n if (!this.isOpen) {\n this.focusedOptionIndex = null;\n }\n }\n }\n\n private determineDropdownDirection() {\n const rect = this.selectContainer.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n\n if (rect.bottom + 200 > viewportHeight && rect.top > 200) {\n this.dropdownDirection = 'up';\n } else {\n this.dropdownDirection = 'down';\n }\n }\n\n private openDropdownWithKeyboard() {\n this.determineDropdownDirection();\n this.isOpen = true;\n this.focusedOptionIndex = 0;\n }\n\n private closeDropdown() {\n this.isOpen = false;\n this.focusedOptionIndex = null;\n this.searchText = '';\n }\n\n private selectOption(optionValue: string | number, event?: MouseEvent) {\n if (event) {\n event.stopPropagation();\n }\n\n if (this.multiple) {\n const index = (this.internalValue as (string | number)[]).findIndex(val => String(val) === String(optionValue));\n if (index > -1) {\n this.internalValue = [...(this.internalValue as (string | number)[]).slice(0, index), ...(this.internalValue as (string | number)[]).slice(index + 1)];\n } else {\n this.internalValue = [...(this.internalValue as (string | number)[]), optionValue];\n }\n this.internalValue = (this.internalValue as (string | number)[]).sort(\n (a, b) => this.parsedOptions.findIndex(option => String(option.value) === String(a)) - this.parsedOptions.findIndex(option => String(option.value) === String(b)),\n );\n } else {\n this.internalValue = optionValue;\n this.closeDropdown();\n }\n\n this.value = this.internalValue;\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n this.updateSelectedOption();\n }\n\n private handleOptionKeyDown(event: KeyboardEvent, optionValue: string | number) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectOption(optionValue);\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if ((event.target as HTMLElement).classList.contains('spw-custom-select__search-input')) {\n return;\n }\n switch (event.key) {\n case ' ':\n event.preventDefault();\n if (!this.isOpen) {\n this.openDropdownWithKeyboard();\n }\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (this.isOpen) {\n this.focusedOptionIndex = this.focusedOptionIndex === null ? 0 : (this.focusedOptionIndex + 1) % this.parsedOptions.length;\n } else {\n this.openDropdownWithKeyboard();\n }\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (this.isOpen) {\n this.focusedOptionIndex =\n this.focusedOptionIndex === null ? this.parsedOptions.length - 1 : (this.focusedOptionIndex - 1 + this.parsedOptions.length) % this.parsedOptions.length;\n }\n break;\n case 'Enter':\n event.preventDefault();\n if (this.isOpen && this.focusedOptionIndex !== null) {\n this.selectOption(this.parsedOptions[this.focusedOptionIndex].value);\n }\n break;\n case 'Escape':\n if (this.isOpen) {\n this.closeDropdown();\n }\n break;\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 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 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 get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-custom-select': true,\n [`spw-custom-select--${this.size}`]: true,\n 'spw-custom-select--is-error': !!this.error,\n 'spw-custom-select--disabled': this.disabled,\n 'spw-custom-select--is-opened': this.isOpen,\n 'spw-custom-select--has-value': this.hasSelectedValue,\n 'spw-custom-select--no-value': !this.hasSelectedValue,\n 'spw-custom-select--is-searchable': this.isSearch,\n 'spw-custom-select--not-searchable': !this.isSearch,\n };\n }\n\n private normalizeString(str: string): string {\n return str\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .toLowerCase();\n }\n\n private getSelectedLabels(): string {\n if (this.multiple) {\n return Array.isArray(this.internalValue) && this.internalValue.length > 0\n ? (this.internalValue as (string | number)[])\n .map(val => this.parsedOptions.find(option => String(option.value) === String(val))?.label)\n .filter(Boolean)\n .join(', ')\n : null;\n } else {\n const selectedOption = this.parsedOptions.find(option => String(option.value) === String(this.internalValue));\n return selectedOption ? selectedOption.label : null;\n }\n }\n\n private getFilteredOptions() {\n const normalizedSearchText = this.normalizeString(this.searchText);\n return this.parsedOptions.filter(option => this.normalizeString(option.label).includes(normalizedSearchText));\n }\n\n private handleSearchInput(event: Event) {\n const input = event.target as HTMLInputElement;\n this.searchText = input.value;\n this.focusedOptionIndex = 0;\n\n if (!this.isOpen) {\n this.isOpen = true;\n }\n }\n\n private isSearchVisible(): boolean {\n if (!this.isSearch) return false;\n if (!this.hasSelectedValue && !this.isOpen) return true;\n if (this.isSearch && this.isOpen) return true;\n return this.isOpen;\n }\n\n private showPlaceholder(): boolean {\n if (this.isSearch) return false;\n if (this.hasSelectedValue) return false;\n return true;\n }\n\n render() {\n const filteredOptions = this.getFilteredOptions();\n const showPlaceholder = this.showPlaceholder();\n\n return (\n <div class={this.elementClass} ref={el => (this.host = el as HTMLElement)}>\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-custom-select__wrapper\">\n <div\n class=\"spw-custom-select__container\"\n id={this.name}\n ref={el => (this.selectContainer = el as HTMLElement)}\n onClick={event => this.toggleDropdown(event)}\n onKeyDown={event => this.handleKeyDown(event)}\n tabindex={this.disabled ? -1 : 0}\n >\n <div class=\"spw-custom-select__selected\">\n {this.isSearchVisible() && (\n <div class=\"spw-custom-select__search\">\n <input class=\"spw-custom-select__search-input\" placeholder=\"Entrez votre recherche\" onInput={event => this.handleSearchInput(event)} value={this.searchText} />\n </div>\n )}\n {showPlaceholder && <span>{this.placeholder}</span>}\n {this.multiple && (this.internalValue as (string | number)[]).length > 0 && (\n <div class=\"spw-custom-select__selected-items\">\n {(this.internalValue as (string | number)[]).map(val => (\n <span class=\"spw-custom-select__selected-item\">\n {this.parsedOptions.find(option => String(option.value) === String(val))?.label}\n <spw-icon icon=\"fa-times\" class=\"spw-custom-select__deselect-icon\" onClick={event => this.selectOption(val, event)}></spw-icon>\n </span>\n ))}\n </div>\n )}\n {!this.multiple && <span>{this.getSelectedLabels()}</span>}\n </div>\n </div>\n <div class=\"spw-custom-select__arrow\">\n <spw-icon icon={this.isOpen ? 'fa-chevron-up' : 'fa-chevron-down'}></spw-icon>\n </div>\n {this.isOpen && (\n <div class={`spw-custom-select__options spw-custom-select__options--${this.dropdownDirection}`}>\n {!!filteredOptions.length && (\n <ul>\n {filteredOptions.map((option, index) => (\n <li\n class={{\n 'spw-custom-select__option': true,\n 'spw-custom-select__option--selected': this.multiple\n ? (this.internalValue as (string | number)[]).some(val => String(val) === String(option.value))\n : option.value === this.internalValue,\n 'spw-custom-select__option--focused': index === this.focusedOptionIndex,\n }}\n onClick={() => this.selectOption(option.value)}\n >\n {this.multiple && (\n <spw-checkbox\n onKeyDown={event => this.handleOptionKeyDown(event, option.value)}\n class=\"spw-tw-mr-2\"\n checked={(this.internalValue as (string | number)[]).some(val => String(val) === String(option.value))}\n ></spw-checkbox>\n )}\n {option.label}\n </li>\n ))}\n </ul>\n )}\n {!filteredOptions.length && <p class=\"spw-custom-select__no-results\">Pas de résultats pour cette recherche.</p>}\n </div>\n )}\n </div>\n {this.renderErrorMessage()}\n {this.renderHintMessage()}\n {this.renderSuccessMessage()}\n {this.renderWarningMessage()}\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAqB,82N,MCQdC,EAAe,MAN5B,WAAAC,CAAAC,G,mNAcWC,KAAMC,OAAY,MAClBD,KAAaE,cAAgD,GAC7DF,KAAkBG,mBAAkB,KACpCH,KAAUI,WAAW,GACrBJ,KAAiBK,kBAAkB,OACnCL,KAAgBM,iBAAY,MAGGN,KAAKO,MAA0C,GAE/EP,KAAKQ,MAAW,GAEhBR,KAAWS,YAAW,0BAMtBT,KAAQU,SAAY,MAIpBV,KAAIW,KAAuB,SAE3BX,KAAQY,SAAY,MAEpBZ,KAAQa,SAAY,MAIpBb,KAAKc,MAAY,GAEjBd,KAAIe,KAAY,GAEhBf,KAAOgB,QAAY,GAEnBhB,KAAOiB,QAAY,GAEnBjB,KAAakB,cAAa,KAE1BlB,KAAYmB,aAAa,KAEzBnB,KAAeoB,gBAAa,KAE5BpB,KAAeqB,gBAAa,KAoC5BrB,KAAAsB,mBAAsBC,I,QAC5B,GAAIvB,KAAKC,OAAQ,CACf,MAAMuB,EAASD,EAAME,eAAe,GACpC,MAAMC,EAAe1B,KAAK2B,KAAKC,SAASJ,GACxC,MAAMK,GAAcC,EAAA9B,KAAK2B,KAAKI,cAAY,MAAAD,SAAA,SAAAA,EAAAE,cAAc,oCAExD,MAAMC,EAAsBJ,IAAW,MAAXA,SAAW,SAAXA,EAAaD,SAASJ,GAElD,IAAKE,IAAiBO,EAAqB,CACzC,GAAIjC,KAAKY,SAAU,CACjB,MAAMsB,GAAmBC,EAAAnC,KAAK2B,KAAKI,cAAY,MAAAI,SAAA,SAAAA,EAAAH,cAAc,+BAC7D,GAAIE,GAAoBA,EAAiBN,SAASJ,GAAS,CACzD,M,EAIJxB,KAAKoC,e,GA2WZ,CA3ZC,iBAAAC,GACE,GAAIrC,KAAKY,SAAU,CACjB,UAAWZ,KAAKO,QAAU,SAAU,CAClC,IACEP,KAAKsC,cAAgBC,KAAKC,MAAMxC,KAAKO,M,CACrC,MAAOkC,GACPzC,KAAKsC,cAAgB,E,OAElB,GAAII,MAAMC,QAAQ3C,KAAKO,OAAQ,CACpCP,KAAKsC,cAAgBtC,KAAKO,K,KACrB,CACLP,KAAKsC,cAAgB,E,MAElB,CACLtC,KAAKsC,cAAgBtC,KAAKO,K,CAG5B,GAAIP,KAAK4C,MAAO,CACd5C,KAAK6C,aAAa7C,KAAK4C,M,CAEzB5C,KAAK8C,sB,CAGP,gBAAAC,GACEC,SAASC,iBAAiB,QAASjD,KAAKsB,oBACxCtB,KAAKkD,UAAUC,aAAanD,KAAKoD,e,CAGnC,oBAAAC,GACEL,SAASM,oBAAoB,QAAStD,KAAKsB,mB,CAyB7C,YAAAuB,CAAaU,GACX,IACE,GAAIb,MAAMC,QAAQY,GAAW,CAC3BvD,KAAKE,cAAgBqD,EAASC,KAAIC,IAAM,CACtClD,MAAOkD,EAAOlD,MACdC,MAAOiD,EAAOjD,S,MAEX,UAAW+C,IAAa,SAAU,CACvCvD,KAAKE,cAAgBqC,KAAKC,MAAMe,GAAUC,KAAIC,IAAM,CAClDlD,MAAOkD,EAAOlD,MACdC,MAAOiD,EAAOjD,S,KAEX,CACLR,KAAKE,cAAgB,E,CAEvBF,KAAK8C,sB,CACL,MAAOL,GACPzC,KAAKE,cAAgB,E,EAKzB,mBAAAwD,CAAoBH,GAClB,GAAIvD,KAAKY,SAAU,CACjBZ,KAAKsC,cAAgBI,MAAMC,QAAQY,GAAYA,EAAW,CAACA,E,KACtD,CACLvD,KAAKsC,cAAgBiB,C,CAEvBvD,KAAK8C,uBACL9C,KAAKkD,UAAUC,aAAanD,KAAKoD,gBACjCpD,KAAK2D,aAAaC,KAAK5D,KAAKsC,c,CAGtB,oBAAAQ,GACN9C,KAAKkD,UAAUC,aAAanD,KAAKoD,gBAEjC,IAAKpD,KAAKY,UAAYZ,KAAKsC,gBAAkBuB,UAAW,CACtD7D,KAAKG,mBAAqBH,KAAKE,cAAc4D,WAAUL,GAAUM,OAAON,EAAOlD,SAAWwD,OAAO/D,KAAKsC,gB,MACjG,GAAItC,KAAKY,UAAY8B,MAAMC,QAAQ3C,KAAKsC,eAAgB,CAC7DtC,KAAKsC,cAAiBtC,KAAKsC,cACxB0B,QAAOC,GAAOjE,KAAKE,cAAcgE,MAAKT,GAAUM,OAAON,EAAOlD,SAAWwD,OAAOE,OAChFE,MAAK,CAACC,EAAGC,IAAMrE,KAAKE,cAAc4D,WAAUL,GAAUM,OAAON,EAAOlD,SAAWwD,OAAOK,KAAMpE,KAAKE,cAAc4D,WAAUL,GAAUM,OAAON,EAAOlD,SAAWwD,OAAOM,M,EAK1K,oBAAAC,GACEtE,KAAKM,iBAAmBoC,MAAMC,QAAQ3C,KAAKsC,eAAiBtC,KAAKsC,cAAciC,OAAS,EAAIC,QAAQxE,KAAKsC,c,CAGnG,YAAAc,GACN,GAAIpD,KAAKY,SAAU,CACjB,OAAO8B,MAAMC,QAAQ3C,KAAKsC,gBAAkBtC,KAAKsC,cAAciC,OAAS,EAAIvE,KAAKsC,cAAckB,KAAIiB,GAAKV,OAAOU,KAAIC,KAAK,KAAO,I,CAEjI,OAAO1E,KAAKsC,cAAgByB,OAAO/D,KAAKsC,eAAiB,I,CAGnD,cAAAqC,CAAepD,GACrB,IAAKvB,KAAK4E,SAAU,CAClB,GAAIrD,EAAO,CACT,MAAMC,EAASD,EAAME,eAAe,GAEpC,GAAID,EAAOqD,UAAUjD,SAAS,mCAAoC,CAChE,M,CAGFL,EAAMuD,iB,CAER9E,KAAK+E,6BACL/E,KAAKC,QAAUD,KAAKC,OACpB,IAAKD,KAAKC,OAAQ,CAChBD,KAAKG,mBAAqB,I,GAKxB,0BAAA4E,GACN,MAAMC,EAAOhF,KAAKiF,gBAAgBC,wBAClC,MAAMC,EAAiBC,OAAOC,YAE9B,GAAIL,EAAKM,OAAS,IAAMH,GAAkBH,EAAKO,IAAM,IAAK,CACxDvF,KAAKK,kBAAoB,I,KACpB,CACLL,KAAKK,kBAAoB,M,EAIrB,wBAAAmF,GACNxF,KAAK+E,6BACL/E,KAAKC,OAAS,KACdD,KAAKG,mBAAqB,C,CAGpB,aAAAiC,GACNpC,KAAKC,OAAS,MACdD,KAAKG,mBAAqB,KAC1BH,KAAKI,WAAa,E,CAGZ,YAAAqF,CAAaC,EAA8BnE,GACjD,GAAIA,EAAO,CACTA,EAAMuD,iB,CAGR,GAAI9E,KAAKY,SAAU,CACjB,MAAM+E,EAAS3F,KAAKsC,cAAsCwB,WAAUG,GAAOF,OAAOE,KAASF,OAAO2B,KAClG,GAAIC,GAAQ,EAAI,CACd3F,KAAKsC,cAAgB,IAAKtC,KAAKsC,cAAsCsD,MAAM,EAAGD,MAAY3F,KAAKsC,cAAsCsD,MAAMD,EAAQ,G,KAC9I,CACL3F,KAAKsC,cAAgB,IAAKtC,KAAKsC,cAAuCoD,E,CAExE1F,KAAKsC,cAAiBtC,KAAKsC,cAAsC6B,MAC/D,CAACC,EAAGC,IAAMrE,KAAKE,cAAc4D,WAAUL,GAAUM,OAAON,EAAOlD,SAAWwD,OAAOK,KAAMpE,KAAKE,cAAc4D,WAAUL,GAAUM,OAAON,EAAOlD,SAAWwD,OAAOM,M,KAE3J,CACLrE,KAAKsC,cAAgBoD,EACrB1F,KAAKoC,e,CAGPpC,KAAKO,MAAQP,KAAKsC,cAClBtC,KAAKkD,UAAUC,aAAanD,KAAKoD,gBACjCpD,KAAK2D,aAAaC,KAAK5D,KAAKsC,eAC5BtC,KAAK8C,sB,CAGC,mBAAA+C,CAAoBtE,EAAsBmE,GAChD,GAAInE,EAAMuE,MAAQ,SAAWvE,EAAMuE,MAAQ,IAAK,CAC9CvE,EAAMwE,iBACN/F,KAAKyF,aAAaC,E,EAId,aAAAM,CAAczE,GACpB,GAAKA,EAAMC,OAAuBqD,UAAUjD,SAAS,mCAAoC,CACvF,M,CAEF,OAAQL,EAAMuE,KACZ,IAAK,IACHvE,EAAMwE,iBACN,IAAK/F,KAAKC,OAAQ,CAChBD,KAAKwF,0B,CAEP,MACF,IAAK,YACHjE,EAAMwE,iBACN,GAAI/F,KAAKC,OAAQ,CACfD,KAAKG,mBAAqBH,KAAKG,qBAAuB,KAAO,GAAKH,KAAKG,mBAAqB,GAAKH,KAAKE,cAAcqE,M,KAC/G,CACLvE,KAAKwF,0B,CAEP,MACF,IAAK,UACHjE,EAAMwE,iBACN,GAAI/F,KAAKC,OAAQ,CACfD,KAAKG,mBACHH,KAAKG,qBAAuB,KAAOH,KAAKE,cAAcqE,OAAS,GAAKvE,KAAKG,mBAAqB,EAAIH,KAAKE,cAAcqE,QAAUvE,KAAKE,cAAcqE,M,CAEtJ,MACF,IAAK,QACHhD,EAAMwE,iBACN,GAAI/F,KAAKC,QAAUD,KAAKG,qBAAuB,KAAM,CACnDH,KAAKyF,aAAazF,KAAKE,cAAcF,KAAKG,oBAAoBI,M,CAEhE,MACF,IAAK,SACH,GAAIP,KAAKC,OAAQ,CACfD,KAAKoC,e,CAEP,M,CAIE,kBAAA6D,GACN,GAAIjG,KAAKc,MAAO,CACd,OACEoF,EAAmB,qBAAAC,QAAQ,QAAQC,SAAUpG,KAAKkB,eAC/ClB,KAAKc,M,EAMN,iBAAAuF,GACN,GAAIrG,KAAKe,KAAM,CACb,OACEmF,EAAmB,qBAAAC,QAAQ,OAAOC,SAAUpG,KAAKmB,cAC9CnB,KAAKe,K,EAMN,oBAAAuF,GACN,GAAItG,KAAKiB,QAAS,CAChB,OACEiF,EAAmB,qBAAAC,QAAQ,UAAUC,SAAUpG,KAAKqB,iBACjDrB,KAAKiB,Q,EAMN,oBAAAsF,GACN,GAAIvG,KAAKgB,QAAS,CAChB,OACEkF,EAAmB,qBAAAC,QAAQ,UAAUC,SAAUpG,KAAKoB,iBACjDpB,KAAKgB,Q,EAMd,gBAAYwF,GACV,MAAO,CACL,oBAAqB,KACrB,CAAC,sBAAsBxG,KAAKW,QAAS,KACrC,gCAAiCX,KAAKc,MACtC,8BAA+Bd,KAAK4E,SACpC,+BAAgC5E,KAAKC,OACrC,+BAAgCD,KAAKM,iBACrC,+BAAgCN,KAAKM,iBACrC,mCAAoCN,KAAKa,SACzC,qCAAsCb,KAAKa,S,CAIvC,eAAA4F,CAAgBC,GACtB,OAAOA,EACJC,UAAU,OACVC,QAAQ,mBAAoB,IAC5BC,a,CAGG,iBAAAC,GACN,GAAI9G,KAAKY,SAAU,CACjB,OAAO8B,MAAMC,QAAQ3C,KAAKsC,gBAAkBtC,KAAKsC,cAAciC,OAAS,EACnEvE,KAAKsC,cACHkB,KAAIS,IAAM,IAAAnC,EAAC,OAAAA,EAAA9B,KAAKE,cAAc6G,MAAKtD,GAAUM,OAAON,EAAOlD,SAAWwD,OAAOE,QAAK,MAAAnC,SAAA,SAAAA,EAAEtB,KAAK,IACzFwD,OAAOQ,SACPE,KAAK,MACR,I,KACC,CACL,MAAMsC,EAAiBhH,KAAKE,cAAc6G,MAAKtD,GAAUM,OAAON,EAAOlD,SAAWwD,OAAO/D,KAAKsC,iBAC9F,OAAO0E,EAAiBA,EAAexG,MAAQ,I,EAI3C,kBAAAyG,GACN,MAAMC,EAAuBlH,KAAKyG,gBAAgBzG,KAAKI,YACvD,OAAOJ,KAAKE,cAAc8D,QAAOP,GAAUzD,KAAKyG,gBAAgBhD,EAAOjD,OAAO2G,SAASD,I,CAGjF,iBAAAE,CAAkB7F,GACxB,MAAM8F,EAAQ9F,EAAMC,OACpBxB,KAAKI,WAAaiH,EAAM9G,MACxBP,KAAKG,mBAAqB,EAE1B,IAAKH,KAAKC,OAAQ,CAChBD,KAAKC,OAAS,I,EAIV,eAAAqH,GACN,IAAKtH,KAAKa,SAAU,OAAO,MAC3B,IAAKb,KAAKM,mBAAqBN,KAAKC,OAAQ,OAAO,KACnD,GAAID,KAAKa,UAAYb,KAAKC,OAAQ,OAAO,KACzC,OAAOD,KAAKC,M,CAGN,eAAAsH,GACN,GAAIvH,KAAKa,SAAU,OAAO,MAC1B,GAAIb,KAAKM,iBAAkB,OAAO,MAClC,OAAO,I,CAGT,MAAAkH,GACE,MAAMC,EAAkBzH,KAAKiH,qBAC7B,MAAMM,EAAkBvH,KAAKuH,kBAE7B,OACErB,EAAA,OAAAJ,IAAA,2CAAK4B,MAAO1H,KAAKwG,aAAcmB,IAAKC,GAAO5H,KAAK2B,KAAOiG,GACpD5H,KAAKQ,OAAS0F,EAAA,mBAAAJ,IAAA,2CAAiBtF,MAAOR,KAAKQ,MAAOqH,KAAM7H,KAAK6H,KAAMnH,SAAUV,KAAKU,WAClFV,KAAK8H,eACJ5B,EAAA,qBAAAJ,IAAA,2CAAmB4B,MAAM,2BAA2BvB,QAAQ,OAAOC,SAAU,OAC1EpG,KAAK8H,eAGV5B,EAAK,OAAAJ,IAAA,2CAAA4B,MAAM,8BACTxB,EAAA,OAAAJ,IAAA,2CACE4B,MAAM,+BACNK,GAAI/H,KAAK6H,KACTF,IAAKC,GAAO5H,KAAKiF,gBAAkB2C,EACnCI,QAASzG,GAASvB,KAAK2E,eAAepD,GACtC0G,UAAW1G,GAASvB,KAAKgG,cAAczE,GACvC2G,SAAUlI,KAAK4E,UAAW,EAAK,GAE/BsB,EAAK,OAAAJ,IAAA,2CAAA4B,MAAM,+BACR1H,KAAKsH,mBACJpB,EAAK,OAAAJ,IAAA,2CAAA4B,MAAM,6BACTxB,EAAA,SAAAJ,IAAA,2CAAO4B,MAAM,kCAAkCjH,YAAY,yBAAyB0H,QAAS5G,GAASvB,KAAKoH,kBAAkB7F,GAAQhB,MAAOP,KAAKI,cAGpJmH,GAAmBrB,EAAA,QAAAJ,IAAA,4CAAO9F,KAAKS,aAC/BT,KAAKY,UAAaZ,KAAKsC,cAAsCiC,OAAS,GACrE2B,EAAA,OAAAJ,IAAA,2CAAK4B,MAAM,qCACP1H,KAAKsC,cAAsCkB,KAAIS,I,MAAO,OACtDiC,EAAA,QAAMwB,MAAM,qCACT5F,EAAA9B,KAAKE,cAAc6G,MAAKtD,GAAUM,OAAON,EAAOlD,SAAWwD,OAAOE,QAAK,MAAAnC,SAAA,S,EAAEtB,MAC1E0F,EAAU,YAAAkC,KAAK,WAAWV,MAAM,mCAAmCM,QAASzG,GAASvB,KAAKyF,aAAaxB,EAAK1C,KACvG,MAIXvB,KAAKY,UAAYsF,EAAA,QAAAJ,IAAA,4CAAO9F,KAAK8G,uBAGnCZ,EAAK,OAAAJ,IAAA,2CAAA4B,MAAM,4BACTxB,EAAA,YAAAJ,IAAA,2CAAUsC,KAAMpI,KAAKC,OAAS,gBAAkB,qBAEjDD,KAAKC,QACJiG,EAAA,OAAAJ,IAAA,2CAAK4B,MAAO,0DAA0D1H,KAAKK,uBACtEoH,EAAgBlD,QACjB2B,EAAA,MAAAJ,IAAA,4CACG2B,EAAgBjE,KAAI,CAACC,EAAQkC,IAC5BO,EACE,MAAAwB,MAAO,CACL,4BAA6B,KAC7B,sCAAuC1H,KAAKY,SACvCZ,KAAKsC,cAAsC4B,MAAKD,GAAOF,OAAOE,KAASF,OAAON,EAAOlD,SACtFkD,EAAOlD,QAAUP,KAAKsC,cAC1B,qCAAsCqD,IAAU3F,KAAKG,oBAEvD6H,QAAS,IAAMhI,KAAKyF,aAAahC,EAAOlD,QAEvCP,KAAKY,UACJsF,EAAA,gBACE+B,UAAW1G,GAASvB,KAAK6F,oBAAoBtE,EAAOkC,EAAOlD,OAC3DmH,MAAM,cACNW,QAAUrI,KAAKsC,cAAsC4B,MAAKD,GAAOF,OAAOE,KAASF,OAAON,EAAOlD,WAGlGkD,EAAOjD,WAKdiH,EAAgBlD,QAAU2B,EAAA,KAAAJ,IAAA,2CAAG4B,MAAM,iCAA+B,4CAIzE1H,KAAKiG,qBACLjG,KAAKqG,oBACLrG,KAAKuG,uBACLvG,KAAKsG,uB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwSidebarCss","SpwSidebar","constructor","hostRef","this","defaultExpanded","hasTopbar","BODY_CLASS","toggleSidebar","expanded","document","body","classList","toggle","checkTopbarClass","contains","componentWillLoad","add","observeBodyClassChanges","disconnectedCallback","remove","_a","observer","disconnect","MutationObserver","observe","attributes","attributeFilter","hostClass","elementClass","render","h","Host","key","class","onClick","toString","icon","name"],"sources":["src/components/spw-sidebar/spw-sidebar.scss?tag=spw-sidebar&encapsulation=shadow","src/components/spw-sidebar/spw-sidebar.tsx"],"sourcesContent":[":host {\n display: block;\n height: 100%;\n}\n\n.spw-sidebar {\n height: 100%;\n width: var(--spw-ds-bo-sidebar-width);\n transition: width 0.2s ease;\n display: flex;\n flex-direction: column;\n background: white;\n border-right: 1px solid var(--spw-colors-support-grey-grey-300);\n position: fixed;\n top: 0;\n left: 0;\n\n &--with-topbar {\n top: var(--spw-ds-bo-topbar-height);\n height: calc(100% - var(--spw-ds-bo-topbar-height));\n }\n\n &__toggle {\n position: absolute;\n right: 0;\n top: 67px;\n flex-basis: auto;\n width: 20px;\n padding: 6px 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n box-shadow: var(--spw-effect-elevation-6);\n border: 1px solid var(--spw-colors-support-grey-grey-300);\n cursor: pointer;\n font-size: 13px;\n z-index: 20;\n transform: translateX(50%);\n background: white;\n line-height: 1;\n spw-icon {\n position: relative;\n transition: transform 0.15s 0.2s ease;\n .spw-sidebar--expanded & {\n transform: rotate(180deg);\n }\n }\n }\n\n &__content {\n overflow: hidden;\n flex: 1 1 auto;\n overflow-y: auto;\n padding: 16px 0;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n @include scrollbars(var(--spw-color-themes-grey-grey-400), var(--spw-ds-white));\n }\n\n &--expanded {\n width: var(--spw-ds-bo-sidebar-expanded-width);\n }\n\n &--collapsed {\n width: var(--spw-ds-bo-sidebar-width);\n }\n\n &__resize-border {\n display: none;\n position: absolute;\n top: 0;\n right: 0;\n width: 10px;\n height: 100%;\n transform: translateX(50%);\n cursor: col-resize;\n align-items: center;\n justify-content: center;\n background: transparent;\n z-index: 10;\n }\n}\n","import { Component, h, Host, Element, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'spw-sidebar',\n styleUrl: 'spw-sidebar.scss',\n shadow: true,\n})\nexport class SpwSidebar {\n @Element() el!: HTMLElement;\n\n /** Si true, la sidebar est dépliée par défaut */\n @Prop() defaultExpanded: boolean = false;\n\n @State() expanded: boolean;\n @State() hasTopbar: boolean = false;\n\n private readonly BODY_CLASS = 'spw-sidebar-expanded';\n private observer: MutationObserver;\n\n componentWillLoad() {\n this.expanded = this.defaultExpanded;\n if (this.expanded) {\n document.body.classList.add(this.BODY_CLASS);\n }\n\n this.checkTopbarClass();\n this.observeBodyClassChanges();\n }\n\n disconnectedCallback() {\n document.body.classList.remove(this.BODY_CLASS);\n this.observer?.disconnect();\n }\n\n private toggleSidebar = () => {\n this.expanded = !this.expanded;\n document.body.classList.toggle(this.BODY_CLASS, this.expanded);\n };\n\n private checkTopbarClass = () => {\n this.hasTopbar = document.body.classList.contains('has-topbar');\n };\n\n private observeBodyClassChanges() {\n this.observer = new MutationObserver(() => {\n this.checkTopbarClass();\n });\n\n this.observer.observe(document.body, {\n attributes: true,\n attributeFilter: ['class'],\n });\n }\n\n private get hostClass() {\n return {\n '--expanded': this.expanded,\n '--collapsed': !this.expanded,\n };\n }\n\n private get elementClass() {\n return {\n 'spw-sidebar': true,\n 'spw-sidebar--expanded': this.expanded,\n 'spw-sidebar--collapsed': !this.expanded,\n 'spw-sidebar--with-topbar': this.hasTopbar,\n };\n }\n\n render() {\n return (\n <Host class={this.hostClass}>\n <div class={this.elementClass}>\n <span class=\"spw-sidebar__toggle\" onClick={this.toggleSidebar} aria-expanded={this.expanded.toString()}>\n <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </span>\n <div class=\"spw-sidebar__content\">\n <slot name=\"navigation-top\"></slot>\n <slot name=\"navigation-bottom\"></slot>\n </div>\n <div class=\"spw-sidebar__resize-border\" onClick={this.toggleSidebar}></div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAgB,6zI,MCOTC,EAAU,MALvB,WAAAC,CAAAC,G,UASUC,KAAeC,gBAAY,MAG1BD,KAASE,UAAY,MAEbF,KAAUG,WAAG,uBAkBtBH,KAAaI,cAAG,KACtBJ,KAAKK,UAAYL,KAAKK,SACtBC,SAASC,KAAKC,UAAUC,OAAOT,KAAKG,WAAYH,KAAKK,SAAS,EAGxDL,KAAgBU,iBAAG,KACzBV,KAAKE,UAAYI,SAASC,KAAKC,UAAUG,SAAS,aAAa,CA8ClE,CAnEC,iBAAAC,GACEZ,KAAKK,SAAWL,KAAKC,gBACrB,GAAID,KAAKK,SAAU,CACjBC,SAASC,KAAKC,UAAUK,IAAIb,KAAKG,W,CAGnCH,KAAKU,mBACLV,KAAKc,yB,CAGP,oBAAAC,G,MACET,SAASC,KAAKC,UAAUQ,OAAOhB,KAAKG,aACpCc,EAAAjB,KAAKkB,YAAU,MAAAD,SAAA,SAAAA,EAAAE,Y,CAYT,uBAAAL,GACNd,KAAKkB,SAAW,IAAIE,kBAAiB,KACnCpB,KAAKU,kBAAkB,IAGzBV,KAAKkB,SAASG,QAAQf,SAASC,KAAM,CACnCe,WAAY,KACZC,gBAAiB,CAAC,U,CAItB,aAAYC,GACV,MAAO,CACL,aAAcxB,KAAKK,SACnB,eAAgBL,KAAKK,S,CAIzB,gBAAYoB,GACV,MAAO,CACL,cAAe,KACf,wBAAyBzB,KAAKK,SAC9B,0BAA2BL,KAAKK,SAChC,2BAA4BL,KAAKE,U,CAIrC,MAAAwB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO9B,KAAKwB,WAChBG,EAAA,OAAAE,IAAA,2CAAKC,MAAO9B,KAAKyB,cACfE,EAAA,QAAAE,IAAA,2CAAMC,MAAM,sBAAsBC,QAAS/B,KAAKI,cAAa,gBAAiBJ,KAAKK,SAAS2B,YAC1FL,EAAA,YAAAE,IAAA,2CAAUI,KAAK,sBAEjBN,EAAK,OAAAE,IAAA,2CAAAC,MAAM,wBACTH,EAAM,QAAAE,IAAA,2CAAAK,KAAK,mBACXP,EAAA,QAAAE,IAAA,2CAAMK,KAAK,uBAEbP,EAAA,OAAAE,IAAA,2CAAKC,MAAM,6BAA6BC,QAAS/B,KAAKI,iB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwSkeletonCss","SpwSkeleton","constructor","hostRef","this","blocks","variant","renderLines","Array","from","length","_","index","isLast","isEven","isOdd","h","class","renderText","renderArticle","renderTextButtons","renderVariant","render","Host","key"],"sources":["src/components/spw-skeleton/spw-skeleton.scss?tag=spw-skeleton&encapsulation=shadow","src/components/spw-skeleton/spw-skeleton.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n%animation {\n background: linear-gradient(90deg, white 0%, var(--spw-color-themes-grey-grey-300) 50%, white 100%);\n background-size: 200% 100%;\n animation: shimmer 5s infinite linear;\n}\n\n.spw-skeleton {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n &__line {\n height: 1rem;\n width: 100%;\n border-radius: 4px;\n @extend %animation;\n }\n\n &__line--even {\n width: 85%;\n }\n\n &__line--last {\n width: 50% !important;\n }\n\n &__buttons {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: 24px;\n gap: 24px;\n }\n\n &__button {\n width: 200px;\n height: 40px;\n border-radius: 40px;\n @extend %animation;\n }\n\n &__article {\n &-image {\n margin-bottom: 24px;\n border-radius: 8px;\n height: 170px;\n @extend %animation;\n }\n }\n\n &__text {\n &-block {\n margin: 24px 0;\n border-radius: 4px;\n height: 60px;\n @extend %animation;\n }\n }\n}\n\n@keyframes shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n","import { Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-skeleton',\n styleUrl: 'spw-skeleton.scss',\n shadow: true,\n})\nexport class SpwSkeleton {\n /** Nombre de répétitions du skeleton (uniquement valable pour la variante lines) */\n @Prop() blocks: number = 1;\n\n /** Type de skeleton à afficher */\n @Prop() variant: 'lines' | 'text' | 'article' | 'layout' = 'lines';\n\n private renderLines() {\n return Array.from({ length: this.blocks }, (_, index) => {\n const isLast = index === this.blocks - 1;\n const isEven = index % 2 === 1;\n const isOdd = index % 2 === 0;\n\n return (\n <div\n class={{\n 'spw-skeleton__line': true,\n 'spw-skeleton__line--last': isLast,\n 'spw-skeleton__line--even': !isLast && isEven,\n 'spw-skeleton__line--odd': !isLast && isOdd,\n }}\n ></div>\n );\n });\n }\n\n private renderText() {\n return (\n <div class=\"spw-skeleton__text\">\n <spw-skeleton variant=\"lines\" blocks={5}></spw-skeleton>\n <div class=\"spw-skeleton__text-block\"></div>\n <spw-skeleton variant=\"lines\" blocks={2}></spw-skeleton>\n </div>\n );\n }\n\n private renderArticle() {\n return (\n <div class=\"spw-skeleton__article\">\n <div class=\"spw-skeleton__article-image\"></div>\n <spw-skeleton variant=\"lines\" blocks={7}></spw-skeleton>\n </div>\n );\n }\n\n private renderTextButtons() {\n return (\n <div class=\"spw-skeleton__text-buttons\">\n <spw-skeleton variant=\"lines\" blocks={3}></spw-skeleton>\n <div class=\"spw-skeleton__buttons\">\n <div class=\"spw-skeleton__button\"></div>\n <div class=\"spw-skeleton__button\"></div>\n </div>\n </div>\n );\n }\n\n private renderVariant() {\n switch (this.variant) {\n case 'text':\n return this.renderText();\n case 'article':\n return this.renderArticle();\n case 'layout':\n return this.renderTextButtons();\n case 'lines':\n default:\n return this.renderLines();\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"spw-skeleton\">\n {this.renderVariant()}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAiB,i6G,MCOVC,EAAW,MALxB,WAAAC,CAAAC,G,UAOUC,KAAMC,OAAW,EAGjBD,KAAOE,QAA4C,OA4E5D,CA1ES,WAAAC,GACN,OAAOC,MAAMC,KAAK,CAAEC,OAAQN,KAAKC,SAAU,CAACM,EAAGC,KAC7C,MAAMC,EAASD,IAAUR,KAAKC,OAAS,EACvC,MAAMS,EAASF,EAAQ,IAAM,EAC7B,MAAMG,EAAQH,EAAQ,IAAM,EAE5B,OACEI,EACE,OAAAC,MAAO,CACL,qBAAsB,KACtB,2BAA4BJ,EAC5B,4BAA6BA,GAAUC,EACvC,2BAA4BD,GAAUE,IAEnC,G,CAKL,UAAAG,GACN,OACEF,EAAA,OAAKC,MAAM,sBACTD,EAAA,gBAAcV,QAAQ,QAAQD,OAAQ,IACtCW,EAAK,OAAAC,MAAM,6BACXD,EAAc,gBAAAV,QAAQ,QAAQD,OAAQ,I,CAKpC,aAAAc,GACN,OACEH,EAAA,OAAKC,MAAM,yBACTD,EAAK,OAAAC,MAAM,gCACXD,EAAc,gBAAAV,QAAQ,QAAQD,OAAQ,I,CAKpC,iBAAAe,GACN,OACEJ,EAAA,OAAKC,MAAM,8BACTD,EAAA,gBAAcV,QAAQ,QAAQD,OAAQ,IACtCW,EAAK,OAAAC,MAAM,yBACTD,EAAK,OAAAC,MAAM,yBACXD,EAAA,OAAKC,MAAM,0B,CAMX,aAAAI,GACN,OAAQjB,KAAKE,SACX,IAAK,OACH,OAAOF,KAAKc,aACd,IAAK,UACH,OAAOd,KAAKe,gBACd,IAAK,SACH,OAAOf,KAAKgB,oBACd,IAAK,QACL,QACE,OAAOhB,KAAKG,c,CAIlB,MAAAe,GACE,OACEN,EAACO,EAAI,CAAAC,IAAA,4CACHR,EAAK,OAAAQ,IAAA,2CAAAP,MAAM,gBACRb,KAAKiB,gBACNL,EAAa,QAAAQ,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as t,H as o}from"./p-BYM_CUUH.js";const n="/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:contents;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}:host([data-row-style=odd]) .spw-table-row{background-color:var(--spw-color-themes-grey-grey-50)}.spw-table-row{position:relative}.spw-table-row--disabled{cursor:not-allowed;opacity:.3;pointer-events:none}.spw-table-row--selected{background-color:var(--spw-color-themes-blue-blue-50);box-shadow:inset 3px 0 0 var(--spw-color-themes-blue-blue-500)}";const i=class{constructor(t){e(this,t);this.state="default"}get elementClass(){return{"spw-table-row":true,[`spw-table-row--${this.state}`]:true}}render(){return t(o,{key:"82bcb6eecb5b6cc9bf3fb574194e53dbbd09aef0",part:"row"},t("tr",{key:"9cdb6e60f3205b925ac678ec9de3b4919b358acd",class:this.elementClass,part:"row"},t("slot",{key:"26d507c09d3e15a7862f7f2467891f393fc88081"})))}};i.style=n;export{i as spw_table_row};
|
|
2
|
-
//# sourceMappingURL=p-44d87d3f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwTableRowCss","SpwTableRow","constructor","hostRef","this","state","elementClass","render","h","Host","key","part","class"],"sources":["src/components/spw-table/spw-table-row/spw-table-row.scss?tag=spw-table-row&encapsulation=shadow","src/components/spw-table/spw-table-row/spw-table-row.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n:host([data-row-style='odd']) {\n .spw-table-row {\n background-color: var(--spw-color-themes-grey-grey-50);\n }\n}\n\n.spw-table-row {\n position: relative;\n &--disabled {\n opacity: 0.3;\n pointer-events: none;\n cursor: not-allowed;\n }\n &--selected {\n background-color: var(--spw-color-themes-blue-blue-50);\n box-shadow: inset 3px 0 0 var(--spw-color-themes-blue-blue-500);\n }\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-row',\n styleUrl: 'spw-table-row.scss',\n shadow: true,\n})\nexport class SpwTableRow {\n /** Permet de changer le state du spw-table-row */\n @Prop() state?: 'default' | 'selected' | 'disabled' = 'default';\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table-row': true,\n [`spw-table-row--${this.state}`]: true,\n };\n }\n\n render() {\n return (\n <Host part=\"row\">\n <tr class={this.elementClass} part=\"row\">\n <slot />\n </tr>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAiB,26F,MCOVC,EAAW,MALxB,WAAAC,CAAAC,G,UAOUC,KAAKC,MAAyC,SAkBvD,CAhBC,gBAAYC,GACV,MAAO,CACL,gBAAiB,KACjB,CAAC,kBAAkBF,KAAKC,SAAU,K,CAItC,MAAAE,GACE,OACEC,EAACC,EAAK,CAAAC,IAAA,2CAAAC,KAAK,OACTH,EAAI,MAAAE,IAAA,2CAAAE,MAAOR,KAAKE,aAAcK,KAAK,OACjCH,EAAQ,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwTableFooterCss","SpwTableFooter","render","h","key","part","style","captionSide","class","name"],"sources":["src/components/spw-table/spw-table-footer/spw-table-footer.scss?tag=spw-table-footer&encapsulation=shadow","src/components/spw-table/spw-table-footer/spw-table-footer.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n.spw-table-footer {\n padding: 16px 24px;\n caption-side: bottom;\n font-size: 14px;\n color: var(--spw-color-themes-grey-grey-900);\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n ::slotted([slot='right']) {\n display: inline-flex;\n gap: 8px;\n align-items: center;\n }\n}\n","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-footer',\n styleUrl: 'spw-table-footer.scss',\n shadow: true,\n})\nexport class SpwTableFooter {\n render() {\n return (\n <caption part=\"tfoot\" style={{ captionSide: 'bottom' }}>\n <div class=\"spw-table-footer\">\n <slot name=\"left\" />\n <slot name=\"center\" />\n <slot name=\"right\" />\n </div>\n </caption>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAoB,m2F,MCObC,EAAc,M,yBACzB,MAAAC,GACE,OACEC,EAAA,WAAAC,IAAA,2CAASC,KAAK,QAAQC,MAAO,CAAEC,YAAa,WAC1CJ,EAAK,OAAAC,IAAA,2CAAAI,MAAM,oBACTL,EAAM,QAAAC,IAAA,2CAAAK,KAAK,SACXN,EAAM,QAAAC,IAAA,2CAAAK,KAAK,WACXN,EAAA,QAAAC,IAAA,2CAAMK,KAAK,W","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwPaginationCss","SpwPagination","constructor","hostRef","this","isDisabled","variant","currentPage","inputPageValue","isMobile","window","innerWidth","updateIsMobile","componentWillLoad","calculateTotalPages","toString","addEventListener","disconnectedCallback","removeEventListener","totalPages","Math","ceil","totalItems","itemsPerPage","goToPage","page","pageChanged","emit","handleInputChange","event","inputValue","target","value","parseInt","isNaN","clearTimeout","debounceTimer","setTimeout","getPaginationClass","pages","calculatePageRange","ellipsisCount","filter","length","hasEllipsisStart","_a","hasEllipsisEnd","_b","paginationClass","handleKeyDown","key","calculateWidth","i","push","class","render","showPrevArrow","showNextArrow","prevArrow","h","onClick","icon","nextArrow","prevArrowMobile","nextArrowMobile","disabled","mobileArrows","Host","Fragment","type","onInput","onKeyDown","style","width","map","pageClass"],"sources":["src/components/spw-pagination/spw-pagination.scss?tag=spw-pagination&encapsulation=shadow","src/components/spw-pagination/spw-pagination.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n%button {\n text-align: center;\n line-height: 32px;\n font-weight: 700;\n border-radius: 32px;\n font-size: 14px;\n min-width: 32px;\n height: 32px;\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n }\n}\n\n.spw-pagination {\n display: flex;\n flex-direction: column;\n align-items: center;\n @include breakpoint(md) {\n align-items: flex-start;\n }\n\n ul {\n display: flex;\n align-items: center;\n padding: 0;\n }\n\n &__item {\n margin-right: 12px;\n spw-icon {\n font-size: 18px;\n }\n button {\n padding: 0 6px;\n margin: 0;\n border: none;\n cursor: pointer;\n color: var(--spw-color-themes-grey-grey-900);\n background: none;\n @extend %button;\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):hover {\n button {\n background: var(--spw-color-themes-grey-grey-200);\n }\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):active {\n button {\n background: var(--spw-color-themes-grey-grey-300);\n }\n }\n\n &--arrow {\n button {\n padding: 0 12px;\n display: flex;\n gap: 8px;\n align-items: center;\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n }\n\n &--dots {\n position: relative;\n top: 3px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: default;\n background: none;\n color: var(--spw-color-themes-grey-grey-400);\n @extend %button;\n spw-icon {\n font-size: 16px;\n }\n }\n\n &--desktop {\n display: none;\n @include breakpoint(md) {\n display: inline-block;\n }\n }\n\n &--active {\n button {\n color: white;\n background: var(--spw-ds-primary);\n }\n }\n }\n\n &__input {\n spw-text-field {\n width: 3ch;\n --spw-input-height: 32px;\n --spw-input-padding: 0 4px;\n --spw-input-text-align: center;\n --spw-input-font-size: 14px;\n }\n }\n\n &__mobile-arrows {\n margin-top: 12px;\n @include breakpoint(md) {\n display: none !important;\n }\n }\n\n &__total-pages {\n font-size: 14px;\n margin: 0 12px 0 6px;\n }\n}\n","import { Component, Fragment, Prop, Host, h, Event, EventEmitter, Watch, State } from '@stencil/core';\n\n@Component({\n tag: 'spw-pagination',\n styleUrl: 'spw-pagination.scss',\n shadow: true,\n})\nexport class SpwPagination {\n /** Nombre total d'éléments à paginer */\n @Prop() totalItems: number;\n /** Nombre d'éléments à afficher par page */\n @Prop() itemsPerPage: number;\n /** Indique si la pagination est désactivée */\n @Prop() isDisabled: boolean = false;\n /** Type de variante de la pagination : 'numbers' ou 'input' */\n @Prop() variant: 'numbers' | 'input' = 'numbers';\n /** Page actuellement sélectionnée, mutable */\n @Prop({ mutable: true }) currentPage: number = 1;\n\n /** Événement émis lorsque la page est changée, renvoie le numéro de la nouvelle page */\n @Event() pageChanged: EventEmitter<number>;\n\n private totalPages: number;\n @State() inputPageValue: string = '';\n @State() isMobile: boolean = window.innerWidth < 800;\n private debounceTimer: any;\n\n componentWillLoad() {\n this.calculateTotalPages();\n this.inputPageValue = this.currentPage.toString();\n window.addEventListener('resize', this.updateIsMobile);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.updateIsMobile);\n }\n\n private updateIsMobile = () => {\n this.isMobile = window.innerWidth < 800;\n };\n\n @Watch('totalItems')\n @Watch('itemsPerPage')\n @Watch('currentPage')\n calculateTotalPages() {\n this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n }\n\n private goToPage(page: number) {\n if (page !== this.currentPage && !this.isDisabled && page >= 1 && page <= this.totalPages) {\n this.currentPage = page;\n this.inputPageValue = this.currentPage.toString();\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n private handleInputChange(event: Event) {\n const inputValue = (event.target as HTMLInputElement).value;\n this.inputPageValue = inputValue;\n const page = parseInt(inputValue, 10);\n\n if (!isNaN(page) && page >= 1 && page <= this.totalPages) {\n clearTimeout(this.debounceTimer);\n this.debounceTimer = setTimeout(() => {\n this.goToPage(page);\n }, 500);\n }\n }\n\n private getPaginationClass() {\n const pages = this.calculatePageRange();\n const ellipsisCount = pages.filter(({ page }) => page === '...').length;\n const hasEllipsisStart = ellipsisCount > 0 && pages[1]?.page === '...';\n const hasEllipsisEnd = ellipsisCount > 0 && pages[pages.length - 2]?.page === '...';\n\n let paginationClass = `spw-pagination spw-pagination--${this.currentPage} spw-pagination--total-${this.totalPages}`;\n\n if (ellipsisCount === 2) {\n paginationClass += ' spw-pagination--double-ellipsis';\n } else if (hasEllipsisStart) {\n paginationClass += ' spw-pagination--ellipsis-start';\n } else if (hasEllipsisEnd) {\n paginationClass += ' spw-pagination--ellipsis-end';\n }\n\n return paginationClass;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n const page = parseInt(this.inputPageValue, 10);\n if (!isNaN(page)) {\n this.goToPage(page);\n }\n }\n }\n\n private calculateWidth(): string {\n const length = this.inputPageValue.length;\n if (length <= 1) {\n return '3ch';\n }\n return `${length + 1}ch`;\n }\n\n private calculatePageRange() {\n const pages = [];\n const { currentPage, totalPages, isMobile } = this;\n\n if (isMobile) {\n // Mode mobile\n if (totalPages <= 5) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 3) {\n for (let i = 1; i <= 3; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 2) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 2; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n } else {\n // Mode desktop\n if (totalPages <= 7) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 4) {\n for (let i = 1; i <= 4; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 3) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 3; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 2; i <= currentPage + 2; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n }\n\n return pages;\n }\n\n render() {\n const pages = this.calculatePageRange();\n const showPrevArrow = this.currentPage > 1;\n const showNextArrow = this.currentPage < this.totalPages;\n\n const prevArrow = showPrevArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span class=\"spw-pagination__item-arrow-text\">Précédent</span>\n </button>\n </li>\n );\n\n const nextArrow = showNextArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)}>\n <span class=\"spw-pagination__item-arrow-text\">Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const prevArrowMobile = this.currentPage > 1 && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span>Précédent</span>\n </button>\n </li>\n );\n\n const nextArrowMobile = this.currentPage < this.totalPages && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)} disabled={this.currentPage >= this.totalPages}>\n <span>Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const mobileArrows = (\n <ul class=\"spw-pagination__mobile-arrows\">\n {prevArrowMobile}\n {nextArrowMobile}\n </ul>\n );\n\n return (\n <Host>\n <div class={this.getPaginationClass()}>\n {this.variant === 'input' && (\n <Fragment>\n <ul>\n {prevArrow}\n <li class=\"spw-pagination__input\">\n <spw-text-field\n value={this.inputPageValue}\n type=\"text\"\n onInput={event => this.handleInputChange(event)}\n onKeyDown={event => this.handleKeyDown(event)}\n disabled={this.isDisabled}\n style={{ width: this.calculateWidth() }}\n ></spw-text-field>\n </li>\n <li class=\"spw-pagination__total-pages\">sur {this.totalPages} pages</li>\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n {this.variant === 'numbers' && (\n <Fragment>\n <ul>\n {prevArrow}\n\n {pages.map(({ page, class: pageClass }) => {\n if (page === '...') {\n return (\n <li class={`spw-pagination__item spw-pagination__item--dots ${pageClass}`}>\n <spw-icon icon=\"fa-ellipsis\"></spw-icon>\n </li>\n );\n }\n\n return (\n <li\n class={{\n 'spw-pagination__item': true,\n 'spw-pagination__item--active': page === this.currentPage,\n [pageClass]: true,\n }}\n >\n <button onClick={() => this.goToPage(page as number)} disabled={page === this.currentPage}>\n {page}\n </button>\n </li>\n );\n })}\n\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAmB,20J,MCOZC,EAAa,MAL1B,WAAAC,CAAAC,G,iDAWUC,KAAUC,WAAY,MAEtBD,KAAOE,QAAwB,UAEdF,KAAWG,YAAW,EAMtCH,KAAcI,eAAW,GACzBJ,KAAAK,SAAoBC,OAAOC,WAAa,IAazCP,KAAcQ,eAAG,KACvBR,KAAKK,SAAWC,OAAOC,WAAa,GAAG,CA2O1C,CAtPC,iBAAAE,GACET,KAAKU,sBACLV,KAAKI,eAAiBJ,KAAKG,YAAYQ,WACvCL,OAAOM,iBAAiB,SAAUZ,KAAKQ,e,CAGzC,oBAAAK,GACEP,OAAOQ,oBAAoB,SAAUd,KAAKQ,e,CAU5C,mBAAAE,GACEV,KAAKe,WAAaC,KAAKC,KAAKjB,KAAKkB,WAAalB,KAAKmB,a,CAG7C,QAAAC,CAASC,GACf,GAAIA,IAASrB,KAAKG,cAAgBH,KAAKC,YAAcoB,GAAQ,GAAKA,GAAQrB,KAAKe,WAAY,CACzFf,KAAKG,YAAckB,EACnBrB,KAAKI,eAAiBJ,KAAKG,YAAYQ,WACvCX,KAAKsB,YAAYC,KAAKvB,KAAKG,Y,EAIvB,iBAAAqB,CAAkBC,GACxB,MAAMC,EAAcD,EAAME,OAA4BC,MACtD5B,KAAKI,eAAiBsB,EACtB,MAAML,EAAOQ,SAASH,EAAY,IAElC,IAAKI,MAAMT,IAASA,GAAQ,GAAKA,GAAQrB,KAAKe,WAAY,CACxDgB,aAAa/B,KAAKgC,eAClBhC,KAAKgC,cAAgBC,YAAW,KAC9BjC,KAAKoB,SAASC,EAAK,GAClB,I,EAIC,kBAAAa,G,QACN,MAAMC,EAAQnC,KAAKoC,qBACnB,MAAMC,EAAgBF,EAAMG,QAAO,EAAGjB,UAAWA,IAAS,QAAOkB,OACjE,MAAMC,EAAmBH,EAAgB,KAAKI,EAAAN,EAAM,MAAE,MAAAM,SAAA,SAAAA,EAAEpB,QAAS,MACjE,MAAMqB,EAAiBL,EAAgB,KAAKM,EAAAR,EAAMA,EAAMI,OAAS,MAAE,MAAAI,SAAA,SAAAA,EAAEtB,QAAS,MAE9E,IAAIuB,EAAkB,kCAAkC5C,KAAKG,qCAAqCH,KAAKe,aAEvG,GAAIsB,IAAkB,EAAG,CACvBO,GAAmB,kC,MACd,GAAIJ,EAAkB,CAC3BI,GAAmB,iC,MACd,GAAIF,EAAgB,CACzBE,GAAmB,+B,CAGrB,OAAOA,C,CAGD,aAAAC,CAAcpB,GACpB,GAAIA,EAAMqB,MAAQ,QAAS,CACzB,MAAMzB,EAAOQ,SAAS7B,KAAKI,eAAgB,IAC3C,IAAK0B,MAAMT,GAAO,CAChBrB,KAAKoB,SAASC,E,GAKZ,cAAA0B,GACN,MAAMR,EAASvC,KAAKI,eAAemC,OACnC,GAAIA,GAAU,EAAG,CACf,MAAO,K,CAET,MAAO,GAAGA,EAAS,K,CAGb,kBAAAH,GACN,MAAMD,EAAQ,GACd,MAAMhC,YAAEA,EAAWY,WAAEA,EAAUV,SAAEA,GAAaL,KAE9C,GAAIK,EAAU,CAEZ,GAAIU,GAAc,EAAG,CACnB,IAAK,IAAIiC,EAAI,EAAGA,GAAKjC,EAAYiC,IAAK,CACpCb,EAAMc,KAAK,CAAE5B,KAAM2B,EAAGE,MAAO,qC,OAE1B,GAAI/C,GAAe,EAAG,CAC3B,IAAK,IAAI6C,EAAI,EAAGA,GAAK,EAAGA,IAAK,CAC3Bb,EAAMc,KAAK,CAAE5B,KAAM2B,EAAGE,MAAO,qC,CAE/Bf,EAAMc,KAAK,CAAE5B,KAAM,MAAO6B,MAAO,mCACjCf,EAAMc,KAAK,CAAE5B,KAAMN,EAAYmC,MAAO,6B,MACjC,GAAI/C,GAAeY,EAAa,EAAG,CACxCoB,EAAMc,KAAK,CAAE5B,KAAM,EAAG6B,MAAO,gCAC7Bf,EAAMc,KAAK,CAAE5B,KAAM,MAAO6B,MAAO,mCACjC,IAAK,IAAIF,EAAIjC,EAAa,EAAGiC,GAAKjC,EAAYiC,IAAK,CACjDb,EAAMc,KAAK,CAAE5B,KAAM2B,EAAGE,MAAO,mC,MAE1B,CACLf,EAAMc,KAAK,CAAE5B,KAAM,EAAG6B,MAAO,gCAC7Bf,EAAMc,KAAK,CAAE5B,KAAM,MAAO6B,MAAO,mCACjC,IAAK,IAAIF,EAAI7C,EAAc,EAAG6C,GAAK7C,EAAc,EAAG6C,IAAK,CACvDb,EAAMc,KAAK,CAAE5B,KAAM2B,EAAGE,MAAO,sC,CAE/Bf,EAAMc,KAAK,CAAE5B,KAAM,MAAO6B,MAAO,mCACjCf,EAAMc,KAAK,CAAE5B,KAAMN,EAAYmC,MAAO,6B,MAEnC,CAEL,GAAInC,GAAc,EAAG,CACnB,IAAK,IAAIiC,EAAI,EAAGA,GAAKjC,EAAYiC,IAAK,CACpCb,EAAMc,KAAK,CAAE5B,KAAM2B,EAAGE,MAAO,qC,OAE1B,GAAI/C,GAAe,EAAG,CAC3B,IAAK,IAAI6C,EAAI,EAAGA,GAAK,EAAGA,IAAK,CAC3Bb,EAAMc,KAAK,CAAE5B,KAAM2B,EAAGE,MAAO,qC,CAE/Bf,EAAMc,KAAK,CAAE5B,KAAM,MAAO6B,MAAO,mCACjCf,EAAMc,KAAK,CAAE5B,KAAMN,EAAYmC,MAAO,6B,MACjC,GAAI/C,GAAeY,EAAa,EAAG,CACxCoB,EAAMc,KAAK,CAAE5B,KAAM,EAAG6B,MAAO,gCAC7Bf,EAAMc,KAAK,CAAE5B,KAAM,MAAO6B,MAAO,mCACjC,IAAK,IAAIF,EAAIjC,EAAa,EAAGiC,GAAKjC,EAAYiC,IAAK,CACjDb,EAAMc,KAAK,CAAE5B,KAAM2B,EAAGE,MAAO,mC,MAE1B,CACLf,EAAMc,KAAK,CAAE5B,KAAM,EAAG6B,MAAO,gCAC7Bf,EAAMc,KAAK,CAAE5B,KAAM,MAAO6B,MAAO,mCACjC,IAAK,IAAIF,EAAI7C,EAAc,EAAG6C,GAAK7C,EAAc,EAAG6C,IAAK,CACvDb,EAAMc,KAAK,CAAE5B,KAAM2B,EAAGE,MAAO,sC,CAE/Bf,EAAMc,KAAK,CAAE5B,KAAM,MAAO6B,MAAO,mCACjCf,EAAMc,KAAK,CAAE5B,KAAMN,EAAYmC,MAAO,6B,EAI1C,OAAOf,C,CAGT,MAAAgB,GACE,MAAMhB,EAAQnC,KAAKoC,qBACnB,MAAMgB,EAAgBpD,KAAKG,YAAc,EACzC,MAAMkD,EAAgBrD,KAAKG,YAAcH,KAAKe,WAE9C,MAAMuC,EAAYF,GAChBG,EAAI,MAAAT,IAAA,2CAAAI,MAAM,kFACRK,EAAA,UAAAT,IAAA,2CAAQU,QAAS,IAAMxD,KAAKoB,SAASpB,KAAKG,YAAc,IACtDoD,EAAU,YAAAT,IAAA,2CAAAW,KAAK,oBAA6B,IAACF,EAAA,QAAAT,IAAA,2CAAMI,MAAM,mCAAiC,eAKhG,MAAMQ,EAAYL,GAChBE,EAAI,MAAAT,IAAA,2CAAAI,MAAM,kFACRK,EAAA,UAAAT,IAAA,2CAAQU,QAAS,IAAMxD,KAAKoB,SAASpB,KAAKG,YAAc,IACtDoD,EAAM,QAAAT,IAAA,2CAAAI,MAAM,mCAAgD,eAACK,EAAA,YAAAT,IAAA,2CAAUW,KAAK,uBAKlF,MAAME,EAAkB3D,KAAKG,YAAc,GACzCoD,EAAA,MAAAT,IAAA,2CAAII,MAAM,oDACRK,EAAA,UAAAT,IAAA,2CAAQU,QAAS,IAAMxD,KAAKoB,SAASpB,KAAKG,YAAc,IACtDoD,EAAU,YAAAT,IAAA,2CAAAW,KAAK,oBAA6B,IAACF,EAAsB,QAAAT,IAAA,2DAKzE,MAAMc,EAAkB5D,KAAKG,YAAcH,KAAKe,YAC9CwC,EAAI,MAAAT,IAAA,2CAAAI,MAAM,oDACRK,EAAQ,UAAAT,IAAA,2CAAAU,QAAS,IAAMxD,KAAKoB,SAASpB,KAAKG,YAAc,GAAI0D,SAAU7D,KAAKG,aAAeH,KAAKe,YAC7FwC,EAAoB,QAAAT,IAAA,2DAACS,EAAA,YAAAT,IAAA,2CAAUW,KAAK,uBAK1C,MAAMK,EACJP,EAAI,MAAAT,IAAA,2CAAAI,MAAM,iCACPS,EACAC,GAIL,OACEL,EAACQ,EAAI,CAAAjB,IAAA,4CACHS,EAAA,OAAAT,IAAA,2CAAKI,MAAOlD,KAAKkC,sBACdlC,KAAKE,UAAY,SAChBqD,EAACS,EAAQ,CAAAlB,IAAA,4CACPS,EAAA,MAAAT,IAAA,4CACGQ,EACDC,EAAI,MAAAT,IAAA,2CAAAI,MAAM,yBACRK,EACE,kBAAAT,IAAA,2CAAAlB,MAAO5B,KAAKI,eACZ6D,KAAK,OACLC,QAASzC,GAASzB,KAAKwB,kBAAkBC,GACzC0C,UAAW1C,GAASzB,KAAK6C,cAAcpB,GACvCoC,SAAU7D,KAAKC,WACfmE,MAAO,CAAEC,MAAOrE,KAAK+C,qBAGzBQ,EAAI,MAAAT,IAAA,2CAAAI,MAAM,+BAA6B,OAAMlD,KAAKe,WAAsB,UACvE2C,GAEFI,GAGJ9D,KAAKE,UAAY,WAChBqD,EAACS,EAAQ,CAAAlB,IAAA,4CACPS,EAAA,MAAAT,IAAA,4CACGQ,EAEAnB,EAAMmC,KAAI,EAAGjD,OAAM6B,MAAOqB,MACzB,GAAIlD,IAAS,MAAO,CAClB,OACEkC,EAAI,MAAAL,MAAO,mDAAmDqB,KAC5DhB,EAAA,YAAUE,KAAK,gB,CAKrB,OACEF,EACE,MAAAL,MAAO,CACL,uBAAwB,KACxB,+BAAgC7B,IAASrB,KAAKG,YAC9CoE,CAACA,GAAY,OAGfhB,EAAQ,UAAAC,QAAS,IAAMxD,KAAKoB,SAASC,GAAiBwC,SAAUxC,IAASrB,KAAKG,aAC3EkB,GAEA,IAIRqC,GAEFI,I","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as o,H as i,g as s}from"./p-BYM_CUUH.js";const n="/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3;position:relative}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-table-container{scrollbar-face-color:var(--spw-color-themes-grey-grey-400);scrollbar-track-color:var(--spw-ds-white);border-radius:4px;max-height:var(--spw-table-max-height);outline:1px solid var(--spw-color-themes-grey-grey-300);outline-offset:-1px;overflow-x:auto;overflow-y:auto;position:relative;width:100%}.spw-table-container::-webkit-scrollbar{height:14px;width:14px}.spw-table-container::-webkit-scrollbar-thumb{background:var(--spw-color-themes-grey-grey-400);border:4px solid var(--spw-ds-white);border-radius:20px}.spw-table-container::-webkit-scrollbar-track{background:var(--spw-ds-white)}.spw-table{border-collapse:collapse;border-radius:4px;min-width:var(--spw-table-min-width);position:relative;width:100%}";const r=class{constructor(o){t(this,o);this.spwSort=e(this,"spwSort");this.isSticky=false;this.minWidth="600";this.isZebra=false}componentDidLoad(){var t;this.updateZebra();const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot");if(e){e.addEventListener("slotchange",(()=>{this.setupHeaderCheckboxListener();this.updateMasterCheckboxState()}))}this.setupHeaderCheckboxListener();this.setupBodyCheckboxListener();setTimeout((()=>{this.updateMasterCheckboxState()}),0)}getMasterCheckboxColumnIndex(){var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot");if(!e)return null;const o=e.assignedElements({flatten:true});const i=o.find((t=>t.tagName.toLowerCase()==="spw-table-head"));if(!i)return null;const s=i.querySelector("spw-table-row");if(!s)return null;const n=Array.from(s.querySelectorAll("spw-table-header"));for(let t=0;t<n.length;t++){if(n[t].querySelector("spw-checkbox")){return t}}return null}isCheckboxDisabled(t){return(t===null||t===void 0?void 0:t.disabled)===true||(t===null||t===void 0?void 0:t.getAttribute("disabled"))==="true"||(t===null||t===void 0?void 0:t.getAttribute("disabled"))===""}updateMasterCheckboxState(){var t;const e=this.getMasterCheckboxColumnIndex();if(e===null)return;const o=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot");const i=o===null||o===void 0?void 0:o.assignedElements({flatten:true});if(!i)return;const s=i.find((t=>t.tagName.toLowerCase()==="spw-table-head"));const n=i.find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(!s||!n)return;const r=s.querySelector("spw-table-row");const a=r===null||r===void 0?void 0:r.querySelectorAll("spw-table-header")[e];const l=a===null||a===void 0?void 0:a.querySelector("spw-checkbox");const c=n.querySelectorAll("spw-table-row");const d=Array.from(c).map((t=>{const o=t.querySelectorAll("spw-table-cell")[e];const i=o===null||o===void 0?void 0:o.querySelector("spw-checkbox");return{checked:(i===null||i===void 0?void 0:i.checked)===true||(i===null||i===void 0?void 0:i.getAttribute("checked"))==="true",disabled:this.isCheckboxDisabled(i)}}));const p=d.filter((t=>!t.disabled));if(p.length===0)return;const b=p.every((t=>t.checked));const u=p.every((t=>!t.checked));if(!l)return;if(b){l.checked=true;l.setAttribute("checked","true");l.setAttribute("icon","fa-check")}else if(u){l.checked=false;l.setAttribute("checked","false");l.setAttribute("icon","fa-check")}else{l.checked=true;l.setAttribute("checked","true");l.setAttribute("icon","fa-minus")}}setupHeaderCheckboxListener(){var t,e;const o=(e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot"))===null||e===void 0?void 0:e.assignedElements({flatten:true});if(!o)return;const i=o.find((t=>t.tagName.toLowerCase()==="spw-table-head"));if(!i)return;const s=i.querySelectorAll("spw-table-row");s.forEach((t=>{const e=t.querySelectorAll("spw-checkbox");e.forEach((t=>{t.addEventListener("spwChange",(t=>{this.toggleAllRowCheckboxes(t.detail)}))}))}))}setupBodyCheckboxListener(){const t=Array.from(this.el.children).find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(!t)return;const e=t.querySelectorAll("spw-table-row");e.forEach((t=>{const e=t.querySelectorAll("spw-checkbox");e.forEach((t=>{t.addEventListener("spwChange",(()=>this.updateMasterCheckboxState()))}))}))}toggleAllRowCheckboxes(t){var e;const o=this.getMasterCheckboxColumnIndex();if(o===null)return;const i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("slot");const s=i===null||i===void 0?void 0:i.assignedElements({flatten:true});if(!s)return;const n=s.find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(!n)return;const r=n.querySelectorAll("spw-table-row");r.forEach((e=>{const i=Array.from(e.querySelectorAll("spw-table-cell"));const s=i[o];const n=s===null||s===void 0?void 0:s.querySelector("spw-checkbox");if(n&&!this.isCheckboxDisabled(n)){n.checked=t;n.setAttribute("checked",t.toString())}}));setTimeout((()=>{this.updateMasterCheckboxState()}),0)}handleHeaderClick(t){const e=t.detail;const o=this.currentSort;const i={column:e,direction:(o===null||o===void 0?void 0:o.column)===e&&o.direction==="asc"?"desc":"asc"};this.currentSort=i;this.spwSort.emit(i);this.sortRows(i.column,i.direction);this.updateHeadersSortState(i);this.updateZebra()}updateZebra(){const t=this.el.shadowRoot.querySelector("slot");if(!t)return;const e=t.assignedElements({flatten:true});const o=e.find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(o){if(this.isZebra){o.setAttribute("is-zebra","true")}else{o.removeAttribute("is-zebra")}if(typeof o.updateZebraStyles==="function"){o.updateZebraStyles()}}}sortRows(t,e){var o;const i=(o=this.el.shadowRoot.querySelector("slot"))===null||o===void 0?void 0:o.assignedElements().find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(!i)return;const s=Array.from(i.querySelectorAll("spw-table-row"));const n=Array.from(this.el.querySelectorAll("spw-table-header")).findIndex((e=>e.columnId===t));if(n===-1)return;s.sort(((t,o)=>{const i=t.querySelectorAll("spw-table-cell")[n];const s=o.querySelectorAll("spw-table-cell")[n];if(!i||!s)return 0;const r=i.textContent.trim();const a=s.textContent.trim();if(!isNaN(Number(r))&&!isNaN(Number(a))){return e==="asc"?+r-+a:+a-+r}return e==="asc"?r.localeCompare(a):a.localeCompare(r)}));s.forEach((t=>i.appendChild(t)));const r=i;if(r===null||r===void 0?void 0:r.updateZebraStyles){r.updateZebraStyles()}}updateHeadersSortState(t){const e=this.el.querySelectorAll("spw-table-header");e.forEach((e=>{const o=e.columnId===t.column;e.isSorted=o;e.sortDirection=o?t.direction:undefined}))}formatSize(t){if(t===undefined||t===null){return"auto"}return`${t}px`}get elementClass(){return{"spw-table":true,"spw-table--is-sticky":this.isSticky}}render(){return o(i,{key:"5294f8be63d4632acbd7a32613012bae435ca8f2",style:{"--spw-table-max-height":this.formatSize(this.maxHeight),"--spw-table-min-width":this.formatSize(this.minWidth)}},o("div",{key:"29ceffe040a91cc417d56af3cf52c2cffa47f694",class:"spw-table-container"},o("table",{key:"9143213a51fa293587779f05eab910ded777cadc",part:"table",class:this.elementClass,role:"table","aria-label":this.accAriaLabel},o("slot",{key:"2f6b90a68cde6fd8d0b01d59e95e0d4db948a9aa"}))))}get el(){return s(this)}};r.style=n;export{r as spw_table};
|
|
2
|
-
//# sourceMappingURL=p-73db3953.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwTableCss","SpwTable","constructor","hostRef","this","isSticky","minWidth","isZebra","componentDidLoad","updateZebra","slot","_a","el","shadowRoot","querySelector","addEventListener","setupHeaderCheckboxListener","updateMasterCheckboxState","setupBodyCheckboxListener","setTimeout","getMasterCheckboxColumnIndex","assignedElements","flatten","head","find","tagName","toLowerCase","headerRow","headerCells","Array","from","querySelectorAll","i","length","isCheckboxDisabled","checkbox","disabled","getAttribute","columnIndex","body","headerCell","masterCheckbox","rows","checkboxData","map","row","cell","cb","checked","enabledCheckboxes","filter","item","allChecked","every","noneChecked","setAttribute","_b","headerRows","forEach","checkboxes","event","toggleAllRowCheckboxes","detail","children","cells","targetCell","toString","handleHeaderClick","columnId","current","currentSort","newSort","column","direction","spwSort","emit","sortRows","updateHeadersSortState","removeAttribute","updateZebraStyles","findIndex","header","sort","a","b","aCell","bCell","aValue","textContent","trim","bValue","isNaN","Number","localeCompare","appendChild","bodyComponent","headers","isCurrent","isSorted","sortDirection","undefined","formatSize","value","elementClass","render","h","Host","key","style","maxHeight","class","part","role","accAriaLabel"],"sources":["src/components/spw-table/spw-table.scss?tag=spw-table&encapsulation=shadow","src/components/spw-table/spw-table.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n}\n\n%highlight {\n font-weight: 700;\n background: var(--spw-color-themes-grey-grey-100);\n}\n\n.spw-table-container {\n width: 100%;\n overflow-x: auto;\n overflow-y: auto;\n max-height: var(--spw-table-max-height);\n border-radius: 4px;\n outline: 1px solid var(--spw-color-themes-grey-grey-300);\n outline-offset: -1px;\n position: relative;\n @include scrollbars(var(--spw-color-themes-grey-grey-400), var(--spw-ds-white));\n}\n\n.spw-table {\n width: 100%;\n border-collapse: collapse;\n min-width: var(--spw-table-min-width);\n border-radius: 4px;\n position: relative;\n}\n","import { Component, Element, Event, Listen, State, EventEmitter, Host, Prop, h } from '@stencil/core';\n\nexport interface SortEvent {\n column: string;\n direction: 'asc' | 'desc';\n}\n\n@Component({\n tag: 'spw-table',\n styleUrl: 'spw-table.scss',\n shadow: true,\n})\nexport class SpwTable {\n @Element() el: HTMLSpwTableElement;\n\n /** Propriété pour l'aria-label, à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n /** Si le header du tableau doit être sticky ou non */\n @Prop() isSticky?: boolean = false;\n /** Si défini, apparition d'une scrollbar verticale et max-height */\n @Prop() maxHeight?: string;\n /** Si défini, apparition d'une scrollbar horizontale et max-width */\n @Prop() minWidth?: string = '600';\n /** Définit un background de couleur différent une ligne sur 2 */\n @Prop() isZebra?: boolean = false;\n\n @Event() spwSort: EventEmitter<SortEvent>;\n\n @State() currentSort?: SortEvent;\n\n componentDidLoad() {\n this.updateZebra();\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.setupHeaderCheckboxListener();\n this.updateMasterCheckboxState();\n });\n }\n this.setupHeaderCheckboxListener();\n this.setupBodyCheckboxListener();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n private getMasterCheckboxColumnIndex(): number | null {\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (!slot) return null;\n\n const assignedElements = slot.assignedElements({ flatten: true }) as HTMLElement[];\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return null;\n\n const headerRow = head.querySelector('spw-table-row');\n if (!headerRow) return null;\n\n const headerCells = Array.from(headerRow.querySelectorAll('spw-table-header'));\n\n for (let i = 0; i < headerCells.length; i++) {\n if (headerCells[i].querySelector('spw-checkbox')) {\n return i;\n }\n }\n\n return null;\n }\n\n private isCheckboxDisabled(checkbox: any): boolean {\n return checkbox?.disabled === true || checkbox?.getAttribute('disabled') === 'true' || checkbox?.getAttribute('disabled') === '';\n }\n\n private updateMasterCheckboxState() {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!head || !body) return;\n\n const headerRow = head.querySelector('spw-table-row');\n const headerCell = headerRow?.querySelectorAll('spw-table-header')[columnIndex];\n const masterCheckbox = headerCell?.querySelector('spw-checkbox') as any;\n\n const rows = body.querySelectorAll('spw-table-row');\n const checkboxData = Array.from(rows).map(row => {\n const cell = row.querySelectorAll('spw-table-cell')[columnIndex];\n const cb = cell?.querySelector('spw-checkbox') as any;\n return {\n checked: cb?.checked === true || cb?.getAttribute('checked') === 'true',\n disabled: this.isCheckboxDisabled(cb),\n };\n });\n\n const enabledCheckboxes = checkboxData.filter(item => !item.disabled);\n\n if (enabledCheckboxes.length === 0) return;\n\n const allChecked = enabledCheckboxes.every(item => item.checked);\n const noneChecked = enabledCheckboxes.every(item => !item.checked);\n\n if (!masterCheckbox) return;\n\n if (allChecked) {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else if (noneChecked) {\n masterCheckbox.checked = false;\n masterCheckbox.setAttribute('checked', 'false');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-minus');\n }\n }\n\n private setupHeaderCheckboxListener() {\n const assignedElements = this.el.shadowRoot?.querySelector('slot')?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return;\n\n const headerRows = head.querySelectorAll('spw-table-row');\n\n headerRows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.addEventListener('spwChange', (event: CustomEvent<boolean>) => {\n this.toggleAllRowCheckboxes(event.detail);\n });\n });\n });\n }\n\n private setupBodyCheckboxListener() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n rows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.addEventListener('spwChange', () => this.updateMasterCheckboxState());\n });\n });\n }\n\n private toggleAllRowCheckboxes(checked: boolean) {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n\n rows.forEach(row => {\n const cells = Array.from(row.querySelectorAll('spw-table-cell'));\n const targetCell = cells[columnIndex];\n const checkbox = targetCell?.querySelector('spw-checkbox') as any;\n\n if (checkbox && !this.isCheckboxDisabled(checkbox)) {\n checkbox.checked = checked;\n checkbox.setAttribute('checked', checked.toString());\n }\n });\n\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n @Listen('spwHeaderClick')\n handleHeaderClick(event: CustomEvent<string>) {\n const columnId = event.detail;\n const current = this.currentSort;\n\n const newSort: SortEvent = {\n column: columnId,\n direction: current?.column === columnId && current.direction === 'asc' ? 'desc' : 'asc',\n };\n\n this.currentSort = newSort;\n this.spwSort.emit(newSort);\n this.sortRows(newSort.column, newSort.direction);\n this.updateHeadersSortState(newSort);\n this.updateZebra();\n }\n\n private updateZebra() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (!slot) return;\n\n const assignedElements = slot.assignedElements({ flatten: true });\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body') as any;\n\n if (body) {\n if (this.isZebra) {\n body.setAttribute('is-zebra', 'true');\n } else {\n body.removeAttribute('is-zebra');\n }\n\n if (typeof body.updateZebraStyles === 'function') {\n body.updateZebraStyles();\n }\n }\n }\n\n private sortRows(columnId: string, direction: 'asc' | 'desc') {\n const body = this.el.shadowRoot\n .querySelector('slot')\n ?.assignedElements()\n .find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = Array.from(body.querySelectorAll('spw-table-row'));\n\n const columnIndex = Array.from(this.el.querySelectorAll('spw-table-header')).findIndex((header: any) => header.columnId === columnId);\n if (columnIndex === -1) return;\n\n rows.sort((a: any, b: any) => {\n const aCell = a.querySelectorAll('spw-table-cell')[columnIndex];\n const bCell = b.querySelectorAll('spw-table-cell')[columnIndex];\n if (!aCell || !bCell) return 0;\n\n const aValue = aCell.textContent.trim();\n const bValue = bCell.textContent.trim();\n\n if (!isNaN(Number(aValue)) && !isNaN(Number(bValue))) {\n return direction === 'asc' ? +aValue - +bValue : +bValue - +aValue;\n }\n\n return direction === 'asc' ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n });\n\n rows.forEach(row => body.appendChild(row));\n\n const bodyComponent = body as HTMLSpwTableBodyElement;\n if (bodyComponent?.updateZebraStyles) {\n bodyComponent.updateZebraStyles();\n }\n }\n\n private updateHeadersSortState(sort: SortEvent) {\n const headers = this.el.querySelectorAll('spw-table-header');\n headers.forEach((header: any) => {\n const isCurrent = header.columnId === sort.column;\n header.isSorted = isCurrent;\n header.sortDirection = isCurrent ? sort.direction : undefined;\n });\n }\n\n private formatSize(value?: string): string {\n if (value === undefined || value === null) {\n return 'auto';\n }\n return `${value}px`;\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table': true,\n 'spw-table--is-sticky': this.isSticky,\n };\n }\n\n render() {\n return (\n <Host\n style={{\n '--spw-table-max-height': this.formatSize(this.maxHeight),\n '--spw-table-min-width': this.formatSize(this.minWidth),\n }}\n >\n <div class=\"spw-table-container\">\n <table part=\"table\" class={this.elementClass} role=\"table\" aria-label={this.accAriaLabel}>\n <slot />\n </table>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as s,H as i,g as o}from"./p-BYM_CUUH.js";const r='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-select,.spw-select__container{position:relative}.spw-select__arrow{color:var(--spw-color-themes-grey-grey-600);font-size:16px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.spw-select__trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid var(--spw-color-themes-grey-grey-800);border-radius:4px;color:var(--spw-color-themes-grey-grey-800);font-size:16px;height:40px;margin:0;padding:0 40px 0 12px;position:relative;width:100%}.spw-select__trigger:hover{outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-select__trigger:focus-visible{box-shadow:0 0 0 6px #000;outline:3px solid #fff;outline-offset:0}.spw-select__trigger:after{color:var(--spw-color-themes-grey-grey-800);content:"\\f078";font-family:var(--spw-ds-font-icons-solid);font-size:14px;font-weight:900;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.spw-select--is-error .spw-select__trigger{border-color:var(--spw-colors-states-error-error-300)}.spw-select--large .spw-select__trigger{font-size:18px;height:60px;padding:0 24px}.spw-select--disabled .spw-select__trigger{background:var(--spw-color-themes-grey-grey-100);border-color:var(--spw-color-themes-grey-grey-400);color:var(--spw-color-themes-grey-grey-500);cursor:not-allowed}.spw-select--disabled .spw-select__trigger::-moz-placeholder{color:var(--spw-color-themes-grey-grey-500)}.spw-select--disabled .spw-select__trigger::placeholder{color:var(--spw-color-themes-grey-grey-500)}.spw-select--disabled .spw-select__trigger:focus,.spw-select--disabled .spw-select__trigger:focus-visible,.spw-select--disabled .spw-select__trigger:hover{outline:none}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}';const n=class{constructor(s){e(this,s);this.valueChanged=t(this,"valueChanged");if(s.$hostElement$["s-ei"]){this.internals=s.$hostElement$["s-ei"]}else{this.internals=s.$hostElement$.attachInternals();s.$hostElement$["s-ei"]=this.internals}this.label="";this.placeholder="Sélectionner une option";this.required=false;this.size="medium";this.error="";this.hint="";this.success="";this.warning="";this.showErrorIcon=true;this.showHintIcon=true;this.showSuccessIcon=true;this.showWarningIcon=true;this.defaultValue=null}handleItemsChange(){if(this.selectElement){this.syncDynamicOptions()}}componentWillLoad(){var e;this.defaultValue=(e=this.value)!==null&&e!==void 0?e:this.getInitialSelectedValue();this.internalValue=this.value||this.getInitialSelectedValue()}componentDidLoad(){this.internals.setFormValue(this.getFormValue());if(!this.items){this.moveOptionsToLightDom()}else{this.syncDynamicOptions()}}formResetCallback(){var e;this.setValue((e=this.defaultValue)!==null&&e!==void 0?e:"")}setValue(e){this.internalValue=e;this.value=e;if(this.selectElement){this.selectElement.value=String(e)}this.internals.setFormValue(this.getFormValue());this.valueChanged.emit(this.internalValue)}getFormValue(){return this.internalValue?String(this.internalValue):null}getInitialSelectedValue(){if(this.items&&this.items.length>0){return null}const e=Array.from(this.el.querySelectorAll("option"));for(const t of e){if(t.hasAttribute("selected")){return t.getAttribute("value")}}return null}handleSelectChange(e){const t=e.target;this.internalValue=t.value;this.value=this.internalValue;this.internals.setFormValue(this.getFormValue());this.valueChanged.emit(this.internalValue)}moveOptionsToLightDom(){const e=this.el.shadowRoot.querySelector("slot");if(e){const t=e.assignedNodes({flatten:true});t.forEach((e=>{if(e.nodeName==="OPTION"||e.nodeName==="OPTGROUP"){this.selectElement.appendChild(e)}}))}}syncDynamicOptions(){while(this.selectElement.options.length>1){this.selectElement.remove(1)}if(this.items&&this.items.length>0){this.items.forEach((e=>{const t=document.createElement("option");const s=this.itemValue?e[this.itemValue]:e;const i=this.itemLabel?e[this.itemLabel]:e;t.value=String(s);t.textContent=String(i);this.selectElement.appendChild(t)}))}if(this.selectElement.value!==String(this.internalValue||"")){this.selectElement.value=String(this.internalValue||"")}}renderErrorMessage(){if(this.error){return s("spw-field-message",{variant:"error",showIcon:this.showErrorIcon},this.error)}}renderHintMessage(){if(this.hint){return s("spw-field-message",{variant:"hint",showIcon:this.showHintIcon},this.hint)}}renderSuccessMessage(){if(this.success){return s("spw-field-message",{variant:"success",showIcon:this.showSuccessIcon},this.success)}}renderWarningMessage(){if(this.warning){return s("spw-field-message",{variant:"warning",showIcon:this.showWarningIcon},this.warning)}}get elementClass(){return{"spw-select":true,[`spw-select--${this.size}`]:true,"spw-select--disabled":this.disabled,"spw-select--is-error":!!this.error}}render(){return s(i,{key:"56d9bbe6fbb49ec72fd9e5116f3e74d8fbba34a0"},s("div",{key:"98a60067955e9ee577c337a855298753e444f806",class:this.elementClass},this.label&&s("spw-field-label",{key:"ab0ff5678cf5fe119d7a24fc66b58c1bf1b220ff",label:this.label,name:this.name,required:this.required}),this.assistiveText&&s("spw-field-message",{key:"fb578feee5ead5cbc2e5bb1e88d46ab57692c8bd",class:"spw-tw-mb-2 -spw-tw-mt-1",variant:"hint",showIcon:false},this.assistiveText),s("div",{key:"243a53007efb7fef01078c9be7db95bcb78109c6",class:"spw-select__container"},s("select",{key:"c8bfe5baa2daeede78609261bb6b6c642c5e68b3",id:this.name,class:"spw-select__trigger",onChange:e=>this.handleSelectChange(e),disabled:this.disabled,ref:e=>this.selectElement=e,tabindex:this.disabled?-1:0},s("option",{key:"60a3e98e85ebbe6c8ff01368b45f7655c8beb04f",value:"",disabled:true,selected:!this.internalValue},this.placeholder)),s("spw-icon",{key:"e60ed9a157f7bbcef3eca26d7ea0347b470a655f",class:"spw-select__arrow",icon:"fa-chevron-down"})),!this.items&&s("slot",{key:"6172fb81b853a9e167030c731ec1bfc4a2bf0af6"})),this.renderErrorMessage(),this.renderHintMessage(),this.renderSuccessMessage(),this.renderWarningMessage())}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{items:["handleItemsChange"]}}};n.style=r;export{n as spw_select};
|
|
2
|
-
//# sourceMappingURL=p-7e30e4c2.entry.js.map
|