@spw-ds/spw-stencil-library 1.2.3 → 1.2.4
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_2.cjs.entry.js +5 -5
- 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 +23 -5
- 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 +195 -34
- 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_6.cjs.entry.js +7 -7
- 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 +8 -8
- package/dist/cjs/spw-radio.cjs.entry.js +3 -3
- package/dist/cjs/spw-search-field.cjs.entry.js +3 -3
- package/dist/cjs/spw-select.cjs.entry.js +13 -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 +33 -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 +4 -4
- package/dist/cjs/spw-table-row.cjs.entry.js +2 -2
- package/dist/cjs/spw-table.cjs.entry.js +47 -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-CKYAw_Le.js.map → utils-D_vNTY6w.js.map} +1 -1
- 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-checkbox/spw-checkbox.css +1 -1
- package/dist/collection/components/spw-custom-select/spw-custom-select.js +42 -3
- 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 +240 -29
- 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.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.js +6 -6
- package/dist/collection/components/spw-radio/spw-radio.js +1 -1
- package/dist/collection/components/spw-search-field/spw-search-field.js +2 -2
- package/dist/collection/components/spw-select/spw-select.js +32 -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 +56 -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.js +2 -2
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +1 -1
- package/dist/collection/components/spw-table/spw-table.css +1 -1
- package/dist/collection/components/spw-table/spw-table.js +110 -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-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 +1 -1
- 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-B-sLKmnT.js → p-AjhBdYbk.js} +6 -6
- package/dist/components/{p-B-sLKmnT.js.map → p-AjhBdYbk.js.map} +1 -1
- package/dist/components/{p-zpG0udTn.js → p-BBi01mKM.js} +3 -3
- package/dist/components/{p-zpG0udTn.js.map → p-BBi01mKM.js.map} +1 -1
- 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-GUYao_6w.js → p-CNNUoO2J.js} +4 -4
- package/dist/components/{p-GUYao_6w.js.map → p-CNNUoO2J.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-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-DaosfSzT.js → p-du-Bai6S.js} +12 -12
- package/dist/components/{p-DaosfSzT.js.map → p-du-Bai6S.js.map} +1 -1
- 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 +27 -8
- package/dist/components/spw-custom-select.js.map +1 -1
- package/dist/components/spw-date-picker.js +203 -38
- 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 +5 -5
- package/dist/components/spw-select.js +16 -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 +35 -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 +4 -4
- package/dist/components/spw-table-row.js +1 -1
- package/dist/components/spw-table.js +52 -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 +943 -14
- 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_2.entry.js +5 -5
- 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 +23 -5
- package/dist/esm/spw-custom-select.entry.js.map +1 -1
- package/dist/esm/spw-date-picker.entry.js +195 -34
- 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_6.entry.js +7 -7
- 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 +8 -8
- package/dist/esm/spw-radio.entry.js +3 -3
- package/dist/esm/spw-search-field.entry.js +3 -3
- package/dist/esm/spw-select.entry.js +13 -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 +33 -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 +4 -4
- package/dist/esm/spw-table-row.entry.js +2 -2
- package/dist/esm/spw-table.entry.js +47 -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-zpG0udTn.js.map → utils-BBi01mKM.js.map} +1 -1
- 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-fbe468de.entry.js → p-2113f2f6.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-44d87d3f.entry.js → p-22f972ca.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-3ab472db.entry.js → p-2b011668.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ba27b9b0.entry.js → p-2c28684f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ba27b9b0.entry.js.map → p-2c28684f.entry.js.map} +1 -1
- 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-5f82570e.entry.js → p-31793077.entry.js} +2 -2
- package/dist/spw-stencil-library/p-31793077.entry.js.map +1 -0
- 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-bf2d0cf4.entry.js → p-4c21a696.entry.js} +2 -2
- 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-572188ac.entry.js +2 -0
- package/dist/spw-stencil-library/p-572188ac.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-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-823b60ae.entry.js +2 -0
- package/dist/spw-stencil-library/p-823b60ae.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-8dca994a.entry.js → p-9b63ccca.entry.js} +2 -2
- 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-zpG0udTn.js → p-BBi01mKM.js} +2 -2
- package/dist/spw-stencil-library/{p-zpG0udTn.js.map → p-BBi01mKM.js.map} +1 -1
- 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-b1de48f3.entry.js +2 -0
- package/dist/spw-stencil-library/p-b1de48f3.entry.js.map +1 -0
- 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-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-d115a739.entry.js +2 -0
- package/dist/spw-stencil-library/{p-64670b2e.entry.js.map → p-d115a739.entry.js.map} +1 -1
- package/dist/spw-stencil-library/p-d2258e0a.entry.js +2 -0
- package/dist/spw-stencil-library/p-d2258e0a.entry.js.map +1 -0
- 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-8ef8864e.entry.js → p-ecec4588.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-8ef8864e.entry.js.map → p-ecec4588.entry.js.map} +1 -1
- 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-f5caed11.entry.js +2 -0
- package/dist/spw-stencil-library/p-f5caed11.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-7cd55113.entry.js → p-f70ed5c3.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a8311acd.entry.js → p-f7760a47.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a8311acd.entry.js.map → p-f7760a47.entry.js.map} +1 -1
- 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/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.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-file-upload.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.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 +3162 -942
- package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +2 -0
- package/dist/types/components/spw-date-picker/spw-date-picker.d.ts +7 -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-select/spw-select.d.ts +1 -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 +9 -0
- package/dist/types/components/spw-table/spw-table.d.ts +11 -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 +296 -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/hydrate/index.js +800 -150
- package/hydrate/index.mjs +800 -150
- package/package.json +1 -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/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-5f82570e.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-64670b2e.entry.js +0 -2
- 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-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-a950bce8.entry.js +0 -2
- package/dist/spw-stencil-library/p-a950bce8.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-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-44d87d3f.entry.js.map → p-22f972ca.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-bf2d0cf4.entry.js.map → p-4c21a696.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
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-ivINMH9O.js');
|
|
4
|
+
|
|
5
|
+
const spwDropdownItemCss = "/*! 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-dropdown-item{align-items:center;border-radius:4px;color:var(--spw-colors-support-grey-grey-900);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 12px;position:relative;text-decoration:none;transition:background-color .2s ease}.spw-dropdown-item:hover{background-color:var(--spw-colors-support-grey-grey-200)}.spw-dropdown-item--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.spw-dropdown-item--has-sub-items{padding-right:32px}.spw-dropdown-item--sub-items-open{background-color:var(--spw-colors-support-grey-grey-100)}.spw-dropdown-item__icon{align-items:center;color:var(--spw-colors-support-grey-grey-700);display:inline-flex;font-size:14px;height:20px;justify-content:center;width:20px}.spw-dropdown-item__content{align-items:center;display:flex;flex:1;justify-content:space-between;position:relative}.spw-dropdown-item__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spw-dropdown-item__toggle{align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;height:20px;justify-content:center;position:absolute;right:-24px;top:50%;transform:translateY(-50%);transition:background-color .2s ease,transform .2s ease;width:20px}.spw-dropdown-item__toggle:hover{background-color:var(--spw-colors-support-grey-grey-300)}.spw-dropdown-item__toggle spw-icon{color:var(--spw-colors-support-grey-grey-900);font-size:12px;transition:transform .2s ease}.spw-dropdown-item__toggle--open spw-icon{transform:rotate(180deg)}.spw-dropdown-item__sub-items{margin-top:4px;padding-left:16px}.spw-dropdown-item__sub-items spw-dropdown-item{font-size:13px}";
|
|
6
|
+
|
|
7
|
+
const SpwDropdownItem = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
/** Si true, l'item est désactivé */
|
|
11
|
+
this.disabled = false;
|
|
12
|
+
/** Variante d'icône font-awesome */
|
|
13
|
+
this.iconVariant = 'fa-regular';
|
|
14
|
+
this.hasSubItems = false;
|
|
15
|
+
this.subItemsOpen = false;
|
|
16
|
+
this.handleToggleSubItems = (event) => {
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
event.stopPropagation();
|
|
19
|
+
if (this.disabled)
|
|
20
|
+
return;
|
|
21
|
+
this.subItemsOpen = !this.subItemsOpen;
|
|
22
|
+
};
|
|
23
|
+
this.handleItemClick = (event) => {
|
|
24
|
+
if (this.disabled)
|
|
25
|
+
return;
|
|
26
|
+
if (this.hasSubItems && !this.href) {
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
event.stopPropagation();
|
|
29
|
+
this.subItemsOpen = !this.subItemsOpen;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
componentDidLoad() {
|
|
34
|
+
this.checkForSubItems();
|
|
35
|
+
this.setupMutationObserver();
|
|
36
|
+
setTimeout(() => {
|
|
37
|
+
this.checkForSubItems();
|
|
38
|
+
}, 0);
|
|
39
|
+
}
|
|
40
|
+
componentDidUpdate() {
|
|
41
|
+
this.checkForSubItems();
|
|
42
|
+
}
|
|
43
|
+
disconnectedCallback() {
|
|
44
|
+
if (this.mutationObserver) {
|
|
45
|
+
this.mutationObserver.disconnect();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
setupMutationObserver() {
|
|
49
|
+
this.mutationObserver = new MutationObserver(() => {
|
|
50
|
+
this.checkForSubItems();
|
|
51
|
+
});
|
|
52
|
+
this.mutationObserver.observe(this.el, {
|
|
53
|
+
childList: true,
|
|
54
|
+
subtree: true,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
checkForSubItems() {
|
|
58
|
+
const subItems = this.el.querySelector('[slot="sub-items"]');
|
|
59
|
+
const newHasSubItems = subItems !== null && (subItems.children.length > 0 || subItems.childNodes.length > 0);
|
|
60
|
+
if (this.hasSubItems !== newHasSubItems) {
|
|
61
|
+
this.hasSubItems = newHasSubItems;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
get classes() {
|
|
65
|
+
return {
|
|
66
|
+
'spw-dropdown-item': true,
|
|
67
|
+
'spw-dropdown-item--disabled': this.disabled,
|
|
68
|
+
'spw-dropdown-item--has-sub-items': this.hasSubItems,
|
|
69
|
+
'spw-dropdown-item--sub-items-open': this.subItemsOpen,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
render() {
|
|
73
|
+
const Tag = this.href && !this.disabled ? 'a' : 'div';
|
|
74
|
+
const toggleClasses = {
|
|
75
|
+
'spw-dropdown-item__toggle': true,
|
|
76
|
+
'spw-dropdown-item__toggle--open': this.subItemsOpen,
|
|
77
|
+
};
|
|
78
|
+
return (index.h(index.Host, { key: '307e80182a8b735db854ce11d5bb3a1688b7e39d' }, index.h(Tag, { key: 'd24ab632d44b956c73b45765ce67ec3981aa3252', class: this.classes, href: this.href, "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.handleItemClick }, this.icon && (index.h("div", { key: '570adea95e5a6c747c3382dcf8bfc9c1dbc55fb2', class: "spw-dropdown-item__icon" }, index.h("spw-icon", { key: 'c1040595688bfbc7b984e28baef9350899cef0ac', variant: this.iconVariant, icon: this.icon }))), index.h("div", { key: '6745b1625652a5defd03391b5f3382e338377cc7', class: "spw-dropdown-item__content" }, index.h("div", { key: 'c42468f6430fa62f0d975f4951823bfd5700ffa3', class: "spw-dropdown-item__label" }, index.h("slot", { key: '401083c4c4a0faefb8cc57d291185cbca254895e' })), this.hasSubItems && (index.h("div", { key: '34ecf263810f66dc4dfd4bcdbd779bd56510e8e7', class: toggleClasses, onClick: this.handleToggleSubItems }, index.h("spw-icon", { key: 'a0f1cc9ce266ff7287fdc82520425648f8d06ab8', icon: "fa-chevron-down" }))))), this.hasSubItems && (index.h("div", { key: '9d0591237181e952d7582d5103454d6c2d990b7d', class: "spw-dropdown-item__sub-items", style: { display: this.subItemsOpen ? 'block' : 'none' } }, index.h("slot", { key: '193df0fb5aea4f0474c0f4b3a035fa04b76eadcd', name: "sub-items" })))));
|
|
79
|
+
}
|
|
80
|
+
get el() { return index.getElement(this); }
|
|
81
|
+
};
|
|
82
|
+
SpwDropdownItem.style = spwDropdownItemCss;
|
|
83
|
+
|
|
84
|
+
exports.spw_dropdown_item = SpwDropdownItem;
|
|
85
|
+
//# sourceMappingURL=spw-dropdown-item.entry.cjs.js.map
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=spw-dropdown-item.cjs.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"spw-dropdown-item.entry.cjs.js","mappings":";;;;AAAA,MAAM,kBAAkB,GAAG,ipIAAipI;;MCO/pI,eAAe,GAAA,MAAA;AAL5B,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAWU,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;;AAIzB,QAAA,IAAW,CAAA,WAAA,GAA4C,YAAY;AAElE,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAC5B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;AA2C9B,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,KAAiB,KAAI;YACnD,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;YAEvB,IAAI,IAAI,CAAC,QAAQ;gBAAE;AAEnB,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY;AACxC,SAAC;AAEO,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,KAAiB,KAAI;YAC9C,IAAI,IAAI,CAAC,QAAQ;gBAAE;YAEnB,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE;gBACtB,KAAK,CAAC,eAAe,EAAE;AACvB,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY;;AAE1C,SAAC;AAiDF;IAzGC,gBAAgB,GAAA;QACd,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,qBAAqB,EAAE;QAE5B,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,gBAAgB,EAAE;SACxB,EAAE,CAAC,CAAC;;IAGP,kBAAkB,GAAA;QAChB,IAAI,CAAC,gBAAgB,EAAE;;IAGzB,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;;;IAI9B,qBAAqB,GAAA;AAC3B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAK;YAChD,IAAI,CAAC,gBAAgB,EAAE;AACzB,SAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;AACrC,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,OAAO,EAAE,IAAI;AACd,SAAA,CAAC;;IAGI,gBAAgB,GAAA;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,oBAAoB,CAAC;QAC5D,MAAM,cAAc,GAAG,QAAQ,KAAK,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AAE5G,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,cAAc,EAAE;AACvC,YAAA,IAAI,CAAC,WAAW,GAAG,cAAc;;;AAuBrC,IAAA,IAAY,OAAO,GAAA;QACjB,OAAO;AACL,YAAA,mBAAmB,EAAE,IAAI;YACzB,6BAA6B,EAAE,IAAI,CAAC,QAAQ;YAC5C,kCAAkC,EAAE,IAAI,CAAC,WAAW;YACpD,mCAAmC,EAAE,IAAI,CAAC,YAAY;SAC5B;;IAG9B,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,KAAK;AAErD,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,2BAA2B,EAAE,IAAI;YACjC,iCAAiC,EAAE,IAAI,CAAC,YAAY;SAC1B;QAE5B,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAA,CAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAiB,eAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAA,EACxH,IAAI,CAAC,IAAI,KACRA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EAClCA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAA,CAAa,CAC7D,CACP,EAEDA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACrCA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnCA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EAEL,IAAI,CAAC,WAAW,KACfA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAA,EAC3DA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,iBAAiB,GAAY,CACxC,CACP,CACG,CACF,EAEL,IAAI,CAAC,WAAW,KACfA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,8BAA8B,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,GAAG,OAAO,GAAG,MAAM,EAAE,EAAA,EAChGA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,WAAW,EAAA,CAAQ,CAC1B,CACP,CACI;;;;;;;;","names":["h","Host"],"sources":["src/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.scss?tag=spw-dropdown-item","src/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-dropdown-item {\n cursor: pointer;\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n color: var(--spw-colors-support-grey-grey-900);\n text-decoration: none;\n transition: background-color 0.2s ease;\n font-size: 14px;\n border-radius: 4px;\n\n &:hover {\n background-color: var(--spw-colors-support-grey-grey-200);\n }\n\n &--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n }\n\n &--has-sub-items {\n padding-right: 32px;\n }\n\n &--sub-items-open {\n background-color: var(--spw-colors-support-grey-grey-100);\n }\n\n &__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n font-size: 14px;\n color: var(--spw-colors-support-grey-grey-700);\n }\n\n &__content {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: relative;\n }\n\n &__label {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &__toggle {\n position: absolute;\n right: -24px;\n top: 50%;\n transform: translateY(-50%);\n width: 20px;\n height: 20px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n cursor: pointer;\n transition:\n background-color 0.2s ease,\n transform 0.2s ease;\n\n &:hover {\n background-color: var(--spw-colors-support-grey-grey-300);\n }\n\n spw-icon {\n font-size: 12px;\n color: var(--spw-colors-support-grey-grey-900);\n transition: transform 0.2s ease;\n }\n\n &--open {\n spw-icon {\n transform: rotate(180deg);\n }\n }\n }\n\n &__sub-items {\n padding-left: 16px;\n margin-top: 4px;\n\n spw-dropdown-item {\n font-size: 13px;\n }\n }\n}\n","import { Component, Host, h, Prop, Element, State } from '@stencil/core';\n\n@Component({\n tag: 'spw-dropdown-item',\n styleUrl: 'spw-dropdown-item.scss',\n shadow: false,\n})\nexport class SpwDropdownItem {\n @Element() el: HTMLElement;\n\n /** Lien href pour l'item */\n @Prop() href?: string;\n /** Si true, l'item est désactivé */\n @Prop() disabled: boolean = false;\n /** Icône optionnelle à afficher */\n @Prop() icon?: string;\n /** Variante d'icône font-awesome */\n @Prop() iconVariant: 'fa-solid' | 'fa-brands' | 'fa-regular' = 'fa-regular';\n\n @State() hasSubItems: boolean = false;\n @State() subItemsOpen: boolean = false;\n\n private mutationObserver?: MutationObserver;\n\n componentDidLoad() {\n this.checkForSubItems();\n this.setupMutationObserver();\n\n setTimeout(() => {\n this.checkForSubItems();\n }, 0);\n }\n\n componentDidUpdate() {\n this.checkForSubItems();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n private setupMutationObserver() {\n this.mutationObserver = new MutationObserver(() => {\n this.checkForSubItems();\n });\n\n this.mutationObserver.observe(this.el, {\n childList: true,\n subtree: true,\n });\n }\n\n private checkForSubItems() {\n const subItems = this.el.querySelector('[slot=\"sub-items\"]');\n const newHasSubItems = subItems !== null && (subItems.children.length > 0 || subItems.childNodes.length > 0);\n\n if (this.hasSubItems !== newHasSubItems) {\n this.hasSubItems = newHasSubItems;\n }\n }\n\n private handleToggleSubItems = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.disabled) return;\n\n this.subItemsOpen = !this.subItemsOpen;\n };\n\n private handleItemClick = (event: MouseEvent) => {\n if (this.disabled) return;\n\n if (this.hasSubItems && !this.href) {\n event.preventDefault();\n event.stopPropagation();\n this.subItemsOpen = !this.subItemsOpen;\n }\n };\n\n private get classes() {\n return {\n 'spw-dropdown-item': true,\n 'spw-dropdown-item--disabled': this.disabled,\n 'spw-dropdown-item--has-sub-items': this.hasSubItems,\n 'spw-dropdown-item--sub-items-open': this.subItemsOpen,\n } as Record<string, boolean>;\n }\n\n render() {\n const Tag = this.href && !this.disabled ? 'a' : 'div';\n\n const toggleClasses = {\n 'spw-dropdown-item__toggle': true,\n 'spw-dropdown-item__toggle--open': this.subItemsOpen,\n } as Record<string, boolean>;\n\n return (\n <Host>\n <Tag class={this.classes} href={this.href} aria-disabled={this.disabled ? 'true' : undefined} onClick={this.handleItemClick}>\n {this.icon && (\n <div class=\"spw-dropdown-item__icon\">\n <spw-icon variant={this.iconVariant} icon={this.icon}></spw-icon>\n </div>\n )}\n\n <div class=\"spw-dropdown-item__content\">\n <div class=\"spw-dropdown-item__label\">\n <slot></slot>\n </div>\n\n {this.hasSubItems && (\n <div class={toggleClasses} onClick={this.handleToggleSubItems}>\n <spw-icon icon=\"fa-chevron-down\"></spw-icon>\n </div>\n )}\n </div>\n </Tag>\n\n {this.hasSubItems && (\n <div class=\"spw-dropdown-item__sub-items\" style={{ display: this.subItemsOpen ? 'block' : 'none' }}>\n <slot name=\"sub-items\"></slot>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spw-dropdown-item.entry.cjs.js","sources":["src/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.scss?tag=spw-dropdown-item","src/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-dropdown-item {\n cursor: pointer;\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n color: var(--spw-colors-support-grey-grey-900);\n text-decoration: none;\n transition: background-color 0.2s ease;\n font-size: 14px;\n border-radius: 4px;\n\n &:hover {\n background-color: var(--spw-colors-support-grey-grey-200);\n }\n\n &--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n }\n\n &--has-sub-items {\n padding-right: 32px;\n }\n\n &--sub-items-open {\n background-color: var(--spw-colors-support-grey-grey-100);\n }\n\n &__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n font-size: 14px;\n color: var(--spw-colors-support-grey-grey-700);\n }\n\n &__content {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: relative;\n }\n\n &__label {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &__toggle {\n position: absolute;\n right: -24px;\n top: 50%;\n transform: translateY(-50%);\n width: 20px;\n height: 20px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n cursor: pointer;\n transition:\n background-color 0.2s ease,\n transform 0.2s ease;\n\n &:hover {\n background-color: var(--spw-colors-support-grey-grey-300);\n }\n\n spw-icon {\n font-size: 12px;\n color: var(--spw-colors-support-grey-grey-900);\n transition: transform 0.2s ease;\n }\n\n &--open {\n spw-icon {\n transform: rotate(180deg);\n }\n }\n }\n\n &__sub-items {\n padding-left: 16px;\n margin-top: 4px;\n\n spw-dropdown-item {\n font-size: 13px;\n }\n }\n}\n","import { Component, Host, h, Prop, Element, State } from '@stencil/core';\n\n@Component({\n tag: 'spw-dropdown-item',\n styleUrl: 'spw-dropdown-item.scss',\n shadow: false,\n})\nexport class SpwDropdownItem {\n @Element() el: HTMLElement;\n\n /** Lien href pour l'item */\n @Prop() href?: string;\n /** Si true, l'item est désactivé */\n @Prop() disabled: boolean = false;\n /** Icône optionnelle à afficher */\n @Prop() icon?: string;\n /** Variante d'icône font-awesome */\n @Prop() iconVariant: 'fa-solid' | 'fa-brands' | 'fa-regular' = 'fa-regular';\n\n @State() hasSubItems: boolean = false;\n @State() subItemsOpen: boolean = false;\n\n private mutationObserver?: MutationObserver;\n\n componentDidLoad() {\n this.checkForSubItems();\n this.setupMutationObserver();\n\n setTimeout(() => {\n this.checkForSubItems();\n }, 0);\n }\n\n componentDidUpdate() {\n this.checkForSubItems();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n private setupMutationObserver() {\n this.mutationObserver = new MutationObserver(() => {\n this.checkForSubItems();\n });\n\n this.mutationObserver.observe(this.el, {\n childList: true,\n subtree: true,\n });\n }\n\n private checkForSubItems() {\n const subItems = this.el.querySelector('[slot=\"sub-items\"]');\n const newHasSubItems = subItems !== null && (subItems.children.length > 0 || subItems.childNodes.length > 0);\n\n if (this.hasSubItems !== newHasSubItems) {\n this.hasSubItems = newHasSubItems;\n }\n }\n\n private handleToggleSubItems = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.disabled) return;\n\n this.subItemsOpen = !this.subItemsOpen;\n };\n\n private handleItemClick = (event: MouseEvent) => {\n if (this.disabled) return;\n\n if (this.hasSubItems && !this.href) {\n event.preventDefault();\n event.stopPropagation();\n this.subItemsOpen = !this.subItemsOpen;\n }\n };\n\n private get classes() {\n return {\n 'spw-dropdown-item': true,\n 'spw-dropdown-item--disabled': this.disabled,\n 'spw-dropdown-item--has-sub-items': this.hasSubItems,\n 'spw-dropdown-item--sub-items-open': this.subItemsOpen,\n } as Record<string, boolean>;\n }\n\n render() {\n const Tag = this.href && !this.disabled ? 'a' : 'div';\n\n const toggleClasses = {\n 'spw-dropdown-item__toggle': true,\n 'spw-dropdown-item__toggle--open': this.subItemsOpen,\n } as Record<string, boolean>;\n\n return (\n <Host>\n <Tag class={this.classes} href={this.href} aria-disabled={this.disabled ? 'true' : undefined} onClick={this.handleItemClick}>\n {this.icon && (\n <div class=\"spw-dropdown-item__icon\">\n <spw-icon variant={this.iconVariant} icon={this.icon}></spw-icon>\n </div>\n )}\n\n <div class=\"spw-dropdown-item__content\">\n <div class=\"spw-dropdown-item__label\">\n <slot></slot>\n </div>\n\n {this.hasSubItems && (\n <div class={toggleClasses} onClick={this.handleToggleSubItems}>\n <spw-icon icon=\"fa-chevron-down\"></spw-icon>\n </div>\n )}\n </div>\n </Tag>\n\n {this.hasSubItems && (\n <div class=\"spw-dropdown-item__sub-items\" style={{ display: this.subItemsOpen ? 'block' : 'none' }}>\n <slot name=\"sub-items\"></slot>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-ivINMH9O.js');
|
|
4
4
|
|
|
5
5
|
const spwDropdownCss = "/*! 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:inline-block;font-size:100%;line-height:1}: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)}}";
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@ const SpwDropdown = class {
|
|
|
12
12
|
/** Active un padding interne */
|
|
13
13
|
this.hasPadding = true;
|
|
14
14
|
/** Largeur du dropdown (px) */
|
|
15
|
-
this.contentWidth =
|
|
15
|
+
this.contentWidth = 300;
|
|
16
16
|
/** Contrôle externe du dropdown */
|
|
17
17
|
this.open = false;
|
|
18
18
|
this.isVisible = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"spw-dropdown.entry.cjs.js","mappings":";;;;AAAA,MAAM,cAAc,GAAG,ilFAAilF;;MCO3lF,WAAW,GAAA,MAAA;AALxB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAOU,QAAA,IAAS,CAAA,SAAA,GAAwC,QAAQ;;AAGzD,QAAA,IAAU,CAAA,UAAA,GAAY,IAAI;;AAG1B,QAAA,IAAY,CAAA,YAAA,GAAW,GAAG;;AAGM,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK;AAEpD,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAI3B,QAAA,IAAU,CAAA,UAAA,GAA0B,IAAI;AACxC,QAAA,IAAc,CAAA,cAAA,GAAuB,IAAI;AAoDzC,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;YAC1B,IAAI,IAAI,CAAC,SAAS;gBAAE;YAEpB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAgB;AACtF,YAAA,IAAI,CAAC,WAAW;gBAAE;AAElB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;YAErB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,0CAA0C,IAAI,CAAC,SAAS,CAAA,CAAE;YACtF,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC;YAEhF,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5C,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAG,EAAA,IAAI,CAAC,YAAY,IAAI,GAAG,IAAI;AAE7D,YAAA,IAAI,CAAC,cAAc,GAAG,WAAW;YACjC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;YAEhD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;YAE1C,qBAAqB,CAAC,MAAK;gBACzB,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,YAAY,EAAE;AACrB,aAAC,CAAC;AACJ,SAAC;AAEO,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;;YAC1B,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE;AAErB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;YAEjB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;;YAG5C,IAAI,MAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,EAAE;gBAC/B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;;AAGzD,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAE1B,IAAI,CAAC,eAAe,EAAE;AACxB,SAAC;AAqDF;AAlJC,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;QACjB,IAAI,CAAC,YAAY,EAAE;;AAIrB,IAAA,YAAY,CAAC,MAAe,EAAA;AAC1B,QAAA,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;;IAGpD,iBAAiB,GAAA;QACf,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGlE,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,YAAY,EAAE;;;IAIvB,oBAAoB,GAAA;QAClB,IAAI,CAAC,eAAe,EAAE;;IAGhB,YAAY,GAAA;QAClB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACjE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC;QAClE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC;;IAGtD,eAAe,GAAA;QACrB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACpE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC;QACrE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC;;AAGzD,IAAA,kBAAkB,CAAC,KAAiB,EAAA;;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,CAAA,EAAE;YACjG,IAAI,CAAC,KAAK,EAAE;;;IAIR,oBAAoB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,gBAAgB,EAAE;;;IAkDnB,gBAAgB,GAAA;;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AAEtB,QAAA,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,CAAC,wBAAwB,CAAC;AAC7E,QAAA,IAAI,CAAC,OAAO;YAAE;AAEd,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE;AAC5C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU;AAEhC,QAAA,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ;AACpC,QAAA,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO;AACjC,QAAA,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AAE/B,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,EAAE;QAErD,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,IAAI,GAAG,CAAC;AAEZ,QAAA,QAAQ,IAAI,CAAC,SAAS;AACpB,YAAA,KAAK,KAAK;gBACR,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;AACxC,gBAAA,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,CAAC;gBACxD;AACF,YAAA,KAAK,QAAQ;AACX,gBAAA,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AACrB,gBAAA,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,CAAC;gBACxD;AACF,YAAA,KAAK,MAAM;AACT,gBAAA,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC;gBACxD,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC;gBACzC;AACF,YAAA,KAAK,OAAO;AACZ,YAAA;AACE,gBAAA,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC;AACxD,gBAAA,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;gBACrB;;QAGJ,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAG,EAAA,GAAG,IAAI;QAC/B,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAG,EAAA,IAAI,IAAI;AACjC,QAAA,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;AAC9B,QAAA,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS;;IAGvC,MAAM,GAAA;AACJ,QAAA,QACEA,kEAAK,KAAK,EAAC,uBAAuB,EAAC,OAAO,EAAE,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA,EACxEA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;;;;;","names":["h"],"sources":["src/components/spw-dropdown/spw-dropdown.scss?tag=spw-dropdown&encapsulation=shadow","src/components/spw-dropdown/spw-dropdown.tsx"],"sourcesContent":[":host {\n display: inline-block;\n line-height: 1;\n}\n","import { Component, Prop, State, h, Element, Method, Watch } from '@stencil/core';\n\n@Component({\n tag: 'spw-dropdown',\n styleUrl: 'spw-dropdown.scss',\n shadow: true,\n})\nexport class SpwDropdown {\n /** Position du dropdown */\n @Prop() direction: 'top' | 'bottom' | 'left' | 'right' = 'bottom';\n\n /** Active un padding interne */\n @Prop() hasPadding: boolean = true;\n\n /** Largeur du dropdown (px) */\n @Prop() contentWidth: number =
|
|
1
|
+
{"file":"spw-dropdown.entry.cjs.js","mappings":"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","names":["h"],"sources":["src/components/spw-dropdown/spw-dropdown.scss?tag=spw-dropdown&encapsulation=shadow","src/components/spw-dropdown/spw-dropdown.tsx"],"sourcesContent":[":host {\n display: inline-block;\n line-height: 1;\n}\n","import { Component, Prop, State, h, Element, Method, Watch } from '@stencil/core';\n\n@Component({\n tag: 'spw-dropdown',\n styleUrl: 'spw-dropdown.scss',\n shadow: true,\n})\nexport class SpwDropdown {\n /** Position du dropdown */\n @Prop() direction: 'top' | 'bottom' | 'left' | 'right' = 'bottom';\n\n /** Active un padding interne */\n @Prop() hasPadding: boolean = true;\n\n /** Largeur du dropdown (px) */\n @Prop() contentWidth: number = 300;\n\n /** Contrôle externe du dropdown */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n @State() isVisible: boolean = false;\n\n @Element() host: HTMLElement;\n\n private dropdownEl: HTMLDivElement | null = null;\n private movedContentEl: HTMLElement | null = null;\n\n @Method()\n async close(): Promise<void> {\n this.open = false;\n this.hideDropdown();\n }\n\n @Watch('open')\n onOpenChange(newVal: boolean) {\n newVal ? this.showDropdown() : this.hideDropdown();\n }\n\n connectedCallback() {\n this.handleClickOutside = this.handleClickOutside.bind(this);\n this.handleScrollOrResize = this.handleScrollOrResize.bind(this);\n }\n\n componentDidLoad() {\n if (this.open) {\n this.showDropdown();\n }\n }\n\n disconnectedCallback() {\n this.removeListeners();\n }\n\n private addListeners() {\n document.addEventListener('click', this.handleClickOutside, true);\n window.addEventListener('scroll', this.handleScrollOrResize, true);\n window.addEventListener('resize', this.handleScrollOrResize);\n }\n\n private removeListeners() {\n document.removeEventListener('click', this.handleClickOutside, true);\n window.removeEventListener('scroll', this.handleScrollOrResize, true);\n window.removeEventListener('resize', this.handleScrollOrResize);\n }\n\n private handleClickOutside(event: MouseEvent) {\n if (!this.host.contains(event.target as Node) && !this.dropdownEl?.contains(event.target as Node)) {\n this.close();\n }\n }\n\n private handleScrollOrResize() {\n if (this.isVisible) {\n this.positionDropdown();\n }\n }\n\n private showDropdown = () => {\n if (this.isVisible) return;\n\n const slotContent = this.host.querySelector('[slot=\"dropdownContent\"]') as HTMLElement;\n if (!slotContent) return;\n\n this.isVisible = true;\n\n this.dropdownEl = document.createElement('div');\n this.dropdownEl.className = `spw-dropdown-fixed spw-dropdown-fixed--${this.direction}`;\n if (this.hasPadding) this.dropdownEl.classList.add('spw-dropdown-fixed--padded');\n\n this.dropdownEl.setAttribute('role', 'menu');\n this.dropdownEl.style.width = `${this.contentWidth || 200}px`;\n\n this.movedContentEl = slotContent;\n this.dropdownEl.appendChild(this.movedContentEl);\n\n document.body.appendChild(this.dropdownEl);\n\n requestAnimationFrame(() => {\n this.positionDropdown();\n this.addListeners();\n });\n };\n\n private hideDropdown = () => {\n if (!this.isVisible) return;\n\n this.isVisible = false;\n this.open = false;\n\n if (this.dropdownEl && this.movedContentEl) {\n this.host.appendChild(this.movedContentEl);\n }\n\n if (this.dropdownEl?.parentNode) {\n this.dropdownEl.parentNode.removeChild(this.dropdownEl);\n }\n\n this.dropdownEl = null;\n this.movedContentEl = null;\n\n this.removeListeners();\n };\n\n private positionDropdown() {\n if (!this.dropdownEl) return;\n\n const trigger = this.host.shadowRoot?.querySelector('.spw-dropdown__trigger');\n if (!trigger) return;\n\n const rect = trigger.getBoundingClientRect();\n const dropdown = this.dropdownEl;\n\n dropdown.style.visibility = 'hidden';\n dropdown.style.position = 'fixed';\n dropdown.style.display = 'flex';\n\n const dropdownRect = dropdown.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n\n switch (this.direction) {\n case 'top':\n top = rect.top - dropdownRect.height - 8;\n left = rect.left + (rect.width - dropdownRect.width) / 2;\n break;\n case 'bottom':\n top = rect.bottom + 8;\n left = rect.left + (rect.width - dropdownRect.width) / 2;\n break;\n case 'left':\n top = rect.top + (rect.height - dropdownRect.height) / 2;\n left = rect.left - dropdownRect.width - 8;\n break;\n case 'right':\n default:\n top = rect.top + (rect.height - dropdownRect.height) / 2;\n left = rect.right + 8;\n break;\n }\n\n dropdown.style.top = `${top}px`;\n dropdown.style.left = `${left}px`;\n dropdown.style.zIndex = '9999';\n dropdown.style.visibility = 'visible';\n }\n\n render() {\n return (\n <div class=\"spw-dropdown__trigger\" onClick={() => (this.open = !this.open)}>\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-dropdown.entry.cjs.js","sources":["src/components/spw-dropdown/spw-dropdown.scss?tag=spw-dropdown&encapsulation=shadow","src/components/spw-dropdown/spw-dropdown.tsx"],"sourcesContent":[":host {\n display: inline-block;\n line-height: 1;\n}\n","import { Component, Prop, State, h, Element, Method, Watch } from '@stencil/core';\n\n@Component({\n tag: 'spw-dropdown',\n styleUrl: 'spw-dropdown.scss',\n shadow: true,\n})\nexport class SpwDropdown {\n /** Position du dropdown */\n @Prop() direction: 'top' | 'bottom' | 'left' | 'right' = 'bottom';\n\n /** Active un padding interne */\n @Prop() hasPadding: boolean = true;\n\n /** Largeur du dropdown (px) */\n @Prop() contentWidth: number =
|
|
1
|
+
{"version":3,"file":"spw-dropdown.entry.cjs.js","sources":["src/components/spw-dropdown/spw-dropdown.scss?tag=spw-dropdown&encapsulation=shadow","src/components/spw-dropdown/spw-dropdown.tsx"],"sourcesContent":[":host {\n display: inline-block;\n line-height: 1;\n}\n","import { Component, Prop, State, h, Element, Method, Watch } from '@stencil/core';\n\n@Component({\n tag: 'spw-dropdown',\n styleUrl: 'spw-dropdown.scss',\n shadow: true,\n})\nexport class SpwDropdown {\n /** Position du dropdown */\n @Prop() direction: 'top' | 'bottom' | 'left' | 'right' = 'bottom';\n\n /** Active un padding interne */\n @Prop() hasPadding: boolean = true;\n\n /** Largeur du dropdown (px) */\n @Prop() contentWidth: number = 300;\n\n /** Contrôle externe du dropdown */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n @State() isVisible: boolean = false;\n\n @Element() host: HTMLElement;\n\n private dropdownEl: HTMLDivElement | null = null;\n private movedContentEl: HTMLElement | null = null;\n\n @Method()\n async close(): Promise<void> {\n this.open = false;\n this.hideDropdown();\n }\n\n @Watch('open')\n onOpenChange(newVal: boolean) {\n newVal ? this.showDropdown() : this.hideDropdown();\n }\n\n connectedCallback() {\n this.handleClickOutside = this.handleClickOutside.bind(this);\n this.handleScrollOrResize = this.handleScrollOrResize.bind(this);\n }\n\n componentDidLoad() {\n if (this.open) {\n this.showDropdown();\n }\n }\n\n disconnectedCallback() {\n this.removeListeners();\n }\n\n private addListeners() {\n document.addEventListener('click', this.handleClickOutside, true);\n window.addEventListener('scroll', this.handleScrollOrResize, true);\n window.addEventListener('resize', this.handleScrollOrResize);\n }\n\n private removeListeners() {\n document.removeEventListener('click', this.handleClickOutside, true);\n window.removeEventListener('scroll', this.handleScrollOrResize, true);\n window.removeEventListener('resize', this.handleScrollOrResize);\n }\n\n private handleClickOutside(event: MouseEvent) {\n if (!this.host.contains(event.target as Node) && !this.dropdownEl?.contains(event.target as Node)) {\n this.close();\n }\n }\n\n private handleScrollOrResize() {\n if (this.isVisible) {\n this.positionDropdown();\n }\n }\n\n private showDropdown = () => {\n if (this.isVisible) return;\n\n const slotContent = this.host.querySelector('[slot=\"dropdownContent\"]') as HTMLElement;\n if (!slotContent) return;\n\n this.isVisible = true;\n\n this.dropdownEl = document.createElement('div');\n this.dropdownEl.className = `spw-dropdown-fixed spw-dropdown-fixed--${this.direction}`;\n if (this.hasPadding) this.dropdownEl.classList.add('spw-dropdown-fixed--padded');\n\n this.dropdownEl.setAttribute('role', 'menu');\n this.dropdownEl.style.width = `${this.contentWidth || 200}px`;\n\n this.movedContentEl = slotContent;\n this.dropdownEl.appendChild(this.movedContentEl);\n\n document.body.appendChild(this.dropdownEl);\n\n requestAnimationFrame(() => {\n this.positionDropdown();\n this.addListeners();\n });\n };\n\n private hideDropdown = () => {\n if (!this.isVisible) return;\n\n this.isVisible = false;\n this.open = false;\n\n if (this.dropdownEl && this.movedContentEl) {\n this.host.appendChild(this.movedContentEl);\n }\n\n if (this.dropdownEl?.parentNode) {\n this.dropdownEl.parentNode.removeChild(this.dropdownEl);\n }\n\n this.dropdownEl = null;\n this.movedContentEl = null;\n\n this.removeListeners();\n };\n\n private positionDropdown() {\n if (!this.dropdownEl) return;\n\n const trigger = this.host.shadowRoot?.querySelector('.spw-dropdown__trigger');\n if (!trigger) return;\n\n const rect = trigger.getBoundingClientRect();\n const dropdown = this.dropdownEl;\n\n dropdown.style.visibility = 'hidden';\n dropdown.style.position = 'fixed';\n dropdown.style.display = 'flex';\n\n const dropdownRect = dropdown.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n\n switch (this.direction) {\n case 'top':\n top = rect.top - dropdownRect.height - 8;\n left = rect.left + (rect.width - dropdownRect.width) / 2;\n break;\n case 'bottom':\n top = rect.bottom + 8;\n left = rect.left + (rect.width - dropdownRect.width) / 2;\n break;\n case 'left':\n top = rect.top + (rect.height - dropdownRect.height) / 2;\n left = rect.left - dropdownRect.width - 8;\n break;\n case 'right':\n default:\n top = rect.top + (rect.height - dropdownRect.height) / 2;\n left = rect.right + 8;\n break;\n }\n\n dropdown.style.top = `${top}px`;\n dropdown.style.left = `${left}px`;\n dropdown.style.zIndex = '9999';\n dropdown.style.visibility = 'visible';\n }\n\n render() {\n return (\n <div class=\"spw-dropdown__trigger\" onClick={() => (this.open = !this.open)}>\n <slot></slot>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-ivINMH9O.js');
|
|
4
4
|
|
|
5
5
|
const spwFieldLabelCss = "/*! 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-field-label{color:var(--spw-color-themes-grey-grey-800);display:block;font-weight:600;margin-bottom:.5rem}.spw-field-label__required{color:var(--spw-ds-primary)}.spw-tw-mb-3{margin-bottom:.75rem}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}.spw-tw-mr-2{margin-right:.5rem}.spw-tw-mb-10{margin-bottom:2.5rem}.spw-tw-mb-6{margin-bottom:1.5rem}.spw-tw-ml-2{margin-left:.5rem}.spw-tw-mr-4{margin-right:1rem}.spw-tw-mt-12{margin-top:3rem}.spw-tw-italic{font-style:italic}";
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ const SpwFieldLabel = class {
|
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
|
-
return (index.h(index.Host, { key: '
|
|
23
|
+
return (index.h(index.Host, { key: '258c881478963c45000168061a8c816bb565b087' }, index.h("label", { key: '316132012ed4a875c8e1a96d1a661bd9f57b0b5b', class: "spw-field-label", htmlFor: this.name, onClick: this.handleClick }, this.label, " ", this.required && index.h("span", { key: '0d1948dd64208307936b034b5d75fda146106c74', class: "spw-field-label__required" }, "*"))));
|
|
24
24
|
}
|
|
25
25
|
get el() { return index.getElement(this); }
|
|
26
26
|
};
|
|
@@ -74,7 +74,7 @@ const SpwGroup = class {
|
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
render() {
|
|
77
|
-
return (index.h(index.Host, { key: '
|
|
77
|
+
return (index.h(index.Host, { key: 'dc2706bf3fcf14a4ce66ca752b3b711ef8dd5549' }, index.h("div", { key: '36de58106b119a68a29ae5422746437afc0c399d', class: this.groupClasses }, this.label && index.h("spw-field-label", { key: '4cf29052c6b891f2a1fcff4f7667a320a706841d', class: "spw-tw-mb-3", label: this.label, name: this.name, required: this.required }), index.h("div", { key: 'd771fd803484da3034d5297e04d166d874b56b0d', class: "spw-group__container" }, index.h("slot", { key: 'd16c70177f20cfb1f978486dd1e6e7a2bfc668d4', ref: el => (this.slotEl = el) })))));
|
|
78
78
|
}
|
|
79
79
|
get host() { return index.getElement(this); }
|
|
80
80
|
};
|
|
@@ -101,7 +101,7 @@ const spwLinkCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/
|
|
|
101
101
|
const SpwLink = class {
|
|
102
102
|
constructor(hostRef) {
|
|
103
103
|
index.registerInstance(this, hostRef);
|
|
104
|
-
this.spwClick = index.createEvent(this, "spwClick");
|
|
104
|
+
this.spwClick = index.createEvent(this, "spwClick", 7);
|
|
105
105
|
/** Attribut target (détermine où ouvrir le lien) */
|
|
106
106
|
this.target = '_self';
|
|
107
107
|
/** Position de l'icône à l'intérieur du lien (gauche ou droite) */
|
|
@@ -135,7 +135,7 @@ const SpwLink = class {
|
|
|
135
135
|
};
|
|
136
136
|
const iconClass = `spw-icon--${iconPosition}`;
|
|
137
137
|
const iconElement = icon ? index.h("spw-icon", { class: iconClass, icon: icon }) : null;
|
|
138
|
-
return (index.h("a", Object.assign({ key: '
|
|
138
|
+
return (index.h("a", Object.assign({ key: '6b8b34ebb09aa98e0924f1de932e423baa048d37', href: disabled ? undefined : href, rel: rel, target: target, class: this.elementClass, onClick: this.onClick }, ariaAttributes), iconPosition === 'left' && iconElement, index.h("div", { key: 'ee0b12555f84eaf1d8cce884e658ed12276dbfba', class: "spw-link__inner" }, index.h("slot", { key: '7240f63b0d6ba01e8eeae7c7016f22916a6dc630' })), iconPosition === 'right' && iconElement));
|
|
139
139
|
}
|
|
140
140
|
get el() { return index.getElement(this); }
|
|
141
141
|
};
|
|
@@ -172,7 +172,7 @@ const SpwSeparator = class {
|
|
|
172
172
|
};
|
|
173
173
|
}
|
|
174
174
|
render() {
|
|
175
|
-
return index.h("div", { key: '
|
|
175
|
+
return index.h("div", { key: '888d77fa5ca4a8030f263a30422e86068500cb29', class: this.elementClass, style: this.style });
|
|
176
176
|
}
|
|
177
177
|
};
|
|
178
178
|
SpwSeparator.style = spwSeparatorCss;
|
|
@@ -235,7 +235,7 @@ const SpwThemeProvider = class {
|
|
|
235
235
|
document.documentElement.setAttribute('data-theme', theme);
|
|
236
236
|
}
|
|
237
237
|
render() {
|
|
238
|
-
return (index.h("main", { key: '
|
|
238
|
+
return (index.h("main", { key: '5d50d6efac83371a0a7778ffe03db3921ea27bc0', class: `spw-theme-${this.theme}` }, index.h("slot", { key: '1e8e82d5368254187805aff59f0c33b0fc55bda8' })));
|
|
239
239
|
}
|
|
240
240
|
get el() { return index.getElement(this); }
|
|
241
241
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-ivINMH9O.js');
|
|
4
4
|
|
|
5
5
|
const spwFieldMessageCss = "/*! 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-field-message{display:block;display:flex;gap:8px;margin-top:8px}.spw-field-message--error{color:var(--spw-color-states-error-error-300)}.spw-field-message--hint{color:var(--spw-colors-support-grey-grey-800)}.spw-field-message--success{color:var(--spw-color-states-success-success-500)}.spw-field-message--warning{color:var(--spw-color-themes-orange-orange-500)}.spw-field-message__icon{position:relative;top:1px}.spw-field-message__text{flex:1;font-size:14px;line-height:1.5}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}.spw-tw-mr-2{margin-right:.5rem}.spw-tw-mb-10{margin-bottom:2.5rem}.spw-tw-mb-6{margin-bottom:1.5rem}.spw-tw-ml-2{margin-left:.5rem}.spw-tw-mr-4{margin-right:1rem}.spw-tw-mt-12{margin-top:3rem}.spw-tw-italic{font-style:italic}";
|
|
6
6
|
|
|
@@ -31,7 +31,7 @@ const SpwFieldMessage = class {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
|
-
return (index.h(index.Host, { key: '
|
|
34
|
+
return (index.h(index.Host, { key: '95fada96ae0c655bb4c1d427ed5b9dc0e9057683' }, index.h("div", { key: 'bde1388b8e07c7832650f8063d49421b81220020', class: this.elementClass }, this.showIcon && (index.h("div", { key: '3d532d21bf20213f460702d7390a81bc385f408b', class: "spw-field-message__icon" }, index.h("spw-icon", { key: 'f76d215f5639258e38e008c4992fd252b89f0923', icon: this.variantIcon }))), index.h("span", { key: '07d7762df44f5f14d23a032bcc532fef68bd29e5', class: "spw-field-message__text" }, index.h("slot", { key: 'fe807df34d8a13624d43b6e9b4789065af22ca62' })))));
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
SpwFieldMessage.style = spwFieldMessageCss;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var utils = require('./utils-
|
|
3
|
+
var index = require('./index-ivINMH9O.js');
|
|
4
|
+
var utils = require('./utils-D_vNTY6w.js');
|
|
5
5
|
|
|
6
6
|
const spwFileUploadCss = "/*! 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-file-upload{display:block;position:relative}.spw-file-upload__wrapper--error{background-color:#ffe6e6;border-color:#ff4d4d}.spw-file-upload__wrapper--dragging{background-color:#e0f7fa;border-color:#00acc1}.spw-file-upload spw-button{display:inline-block;margin-bottom:8px}.spw-file-upload__errors{color:var(--spw-colors-dark-themes-red-red-500);font-size:14px;font-weight:600}.spw-file-upload__errors li{margin-top:16px}.spw-file-upload__errors--warning{color:var(--spw-color-themes-grey-grey-800);font-weight:400}.spw-file-upload__hints{color:var(--spw-color-themes-grey-grey-600);font-size:14px;margin-top:16px}.spw-file-upload__dropzone{background:var(--spw-colors-dark-themes-blue-grey-blue-grey-50);border:1px dashed #333;border-radius:8px;color:#555;cursor:pointer;font-weight:700;padding:20px;text-align:center}.spw-file-upload__dropzone:not(.spw-file-upload--disabled):hover{outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-file-upload__dropzone:not(.spw-file-upload__wrapper--disabled):active,.spw-file-upload__dropzone:not(.spw-file-upload__wrapper--disabled):focus-visible,.spw-file-upload__dropzone:not(.spw-file-upload__wrapper--disabled):focus-within{outline:2px solid var(--spw-ds-focus)}.spw-file-upload__dropzone-link{color:var(--spw-ds-primary);text-decoration:underline}.spw-file-upload__dropzone-link:hover{text-decoration:none}.spw-file-upload__wrapper--disabled .spw-file-upload__dropzone-link{color:inherit;text-decoration:none}.spw-file-upload__wrapper--disabled .spw-file-upload__dropzone{background:var(--spw-color-themes-grey-grey-100);border-color:var(--spw-color-themes-grey-grey-300);color:var(--spw-color-themes-grey-grey-400);cursor:not-allowed;outline:none!important}.spw-file-upload--is-dragging .spw-file-upload__dropzone{background:var(--spw-colors-dark-themes-blue-grey-blue-grey-200)}.spw-file-upload__info-list{border-top:1px solid #eee;margin-top:16px}.spw-file-upload__info-list li{align-items:center;border-bottom:1px solid #eee;color:var(--spw-color-themes-grey-grey-900);display:flex;flex-wrap:wrap;font-size:14px;gap:8px;justify-content:space-between;padding:16px 8px}@media (min-width:768px){.spw-file-upload__info-list li{flex-wrap:nowrap;gap:16px}}.spw-file-upload__info-list-actions{display:flex;gap:8px}@media (min-width:768px){.spw-file-upload__info-list-actions{gap:16px}}.spw-file-upload__info-list-delete{color:inherit}.spw-file-upload__info-list-delete:hover{text-decoration:none}.spw-tw-mr-2{margin-right:.5rem}";
|
|
7
7
|
|
|
8
8
|
const SpwFileUpload = class {
|
|
9
9
|
constructor(hostRef) {
|
|
10
10
|
index.registerInstance(this, hostRef);
|
|
11
|
-
this.spwFileChange = index.createEvent(this, "spwFileChange");
|
|
11
|
+
this.spwFileChange = index.createEvent(this, "spwFileChange", 7);
|
|
12
12
|
if (hostRef.$hostElement$["s-ei"]) {
|
|
13
13
|
this.internals = hostRef.$hostElement$["s-ei"];
|
|
14
14
|
}
|
|
@@ -152,6 +152,7 @@ const SpwFileUpload = class {
|
|
|
152
152
|
this.selectedFiles = this.selectedFiles.filter((_, i) => i !== index);
|
|
153
153
|
this.fileLimitErrors = [];
|
|
154
154
|
this.updateFormValue();
|
|
155
|
+
this.spwFileChange.emit({ files: this.selectedFiles });
|
|
155
156
|
}
|
|
156
157
|
handleKeydown(event) {
|
|
157
158
|
if ((event.key === ' ' || event.key === 'Enter') && !this.isMaxFilesReached) {
|
|
@@ -187,10 +188,10 @@ const SpwFileUpload = class {
|
|
|
187
188
|
render() {
|
|
188
189
|
const inputTextNoDrop = this.multiple ? 'Choisir vos fichiers...' : 'Choisir votre fichier...';
|
|
189
190
|
const inputTextDrop = this.multiple ? 'Déposez vos fichiers ici' : 'Déposez votre fichier ici';
|
|
190
|
-
return (index.h("div", { key: '
|
|
191
|
+
return (index.h("div", { key: 'd1729f2e8e132eaae9466fd3de9d3cce1f1ab495', class: this.elementClass, onDragOver: this.handleDragOver.bind(this), onDragLeave: this.handleDragLeave.bind(this), onDrop: this.handleDrop.bind(this) }, index.h("input", { key: '006a507254e955356d0665cc379795680ec97cc0', type: "file", ref: el => (this.inputElement = el), onChange: this.handleFileChange.bind(this), name: this.name, multiple: this.multiple, accept: this.accept, style: { display: 'none' }, disabled: this.isMaxFilesReached }), this.enableDropZone ? (index.h("div", { tabindex: this.disabled || this.isMaxFilesReached ? -1 : 0, onKeyDown: this.handleKeydown.bind(this), onClick: () => !this.disabled && !this.isMaxFilesReached && this.inputElement.click(), class: "spw-file-upload__dropzone" }, inputTextDrop, " ou ", index.h("span", { class: "spw-file-upload__dropzone-link" }, "choisissez sur votre ordinateur..."))) : (index.h("spw-button", { variant: "secondary", onClick: () => !this.disabled && !this.isMaxFilesReached && this.inputElement.click(), disabled: this.disabled || this.isMaxFilesReached }, inputTextNoDrop)), index.h("div", { key: 'ec66251b01f2e4371256ec1f438172f24bb99664', class: "spw-file-upload__hints" }, this.hintsMessages.length > 0 && (index.h("ul", { key: '7f38d26e4951f5617224cc543305d96b6b0a1a48' }, this.hintsMessages.map((message, index$1) => (index.h("li", { key: index$1 }, message)))))), index.h("div", { key: 'a7b0ababb16f32dce72bcd0e476fcd7fe7bff743', class: "spw-file-upload__info" }, this.selectedFiles.length > 0 ? (index.h("ul", { class: "spw-file-upload__info-list" }, this.selectedFiles.map((file, index$1) => (index.h("li", { key: index$1 }, index.h("span", { class: "spw-file-upload__info-list-name" }, file.name), index.h("div", { class: "spw-file-upload__info-list-actions" }, index.h("span", { class: "spw-tw-mr-2" }, utils.formatFileSize(file.size)), index.h("a", { class: "spw-file-upload__info-list-delete", href: "#", onClick: e => {
|
|
191
192
|
e.preventDefault();
|
|
192
193
|
this.removeFile(index$1);
|
|
193
|
-
} }, "Supprimer"))))))) : (''), this.fileLimitErrors.length > 0 && (index.h("ul", { key: '
|
|
194
|
+
} }, "Supprimer"))))))) : (''), this.fileLimitErrors.length > 0 && (index.h("ul", { key: 'a00de4a895820fc4bf993fdf9bad95a84238398d', class: `spw-file-upload__errors ${this.isMaxFilesReachedExact ? 'spw-file-upload__errors--warning' : ''}` }, this.fileLimitErrors.map((message, index$1) => (index.h("li", { key: index$1 }, index.h("spw-icon", { class: "spw-tw-mr-2", icon: this.isMaxFilesReachedExact ? 'fa-circle-exclamation' : 'fa-warning' }), message))))), this.fileTypeErrors.length > 0 && (index.h("ul", { key: '6fe0f58fa4269cb953f3f2d74668a2d640fb408c', class: "spw-file-upload__errors" }, this.fileTypeErrors.map((message, index$1) => (index.h("li", { key: index$1 }, index.h("spw-icon", { class: "spw-tw-mr-2", icon: "fa-warning" }), message))))))));
|
|
194
195
|
}
|
|
195
196
|
static get formAssociated() { return true; }
|
|
196
197
|
get el() { return index.getElement(this); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"spw-file-upload.entry.cjs.js","mappings":";;;;;AAAA,MAAM,gBAAgB,GAAG,ggKAAggK;;MCS5gK,aAAa,GAAA,MAAA;AAN1B,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;;;;;;;AAYU,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;;AAEzB,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK;;AAMtB,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK;;AAE/B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;;AAEzB,QAAA,IAAM,CAAA,MAAA,GAAW,EAAE;;AAEnB,QAAA,IAAW,CAAA,WAAA,GAAW,GAAG;;AAEzB,QAAA,IAAQ,CAAA,QAAA,GAAW,QAAQ;AAG1B,QAAA,IAAa,CAAA,aAAA,GAAW,EAAE;AAC1B,QAAA,IAAc,CAAA,cAAA,GAAa,EAAE;AAC7B,QAAA,IAAe,CAAA,eAAA,GAAa,EAAE;AAC9B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAC3B,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK;AAyQjD;IAlQC,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI;;IAGnD,mBAAmB,GAAA;QACjB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;AACrC,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK;;;AAInC,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;;AAG3C,IAAA,gBAAgB,CAAC,KAAY,EAAA;AACnC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;AACxD,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;;AAGlB,IAAA,YAAY,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;AACzB,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;AAEnC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,aAAa,GAAG,EAAE;YACvB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;QAG3B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAG;YACrC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAChD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAElD,YAAA,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,EAAE;gBACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAG,EAAA,IAAI,CAAC,IAAI,CAAkG,gGAAA,CAAA,CAAC;AACxI,gBAAA,OAAO,KAAK;;iBACP,IAAI,CAAC,cAAc,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAG,EAAA,IAAI,CAAC,IAAI,CAA+D,6DAAA,CAAA,CAAC;AACrG,gBAAA,OAAO,KAAK;;iBACP,IAAI,CAAC,eAAe,EAAE;gBAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAG,EAAA,IAAI,CAAC,IAAI,CAA0E,wEAAA,CAAA,CAAC;AAChH,gBAAA,OAAO,KAAK;;AAGd,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM;AAE9D,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE;AACnE,gBAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI;AAClC,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oDAAoD,CAAC;;iBAC1E;AACL,gBAAA,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC;AAC/B,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,UAAU,GAAG,SAAS;AAC/D,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA,uCAAA,EAA0C,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,YAAY,CAAA,CAAA,CAAG,CAAC;;;AAIzG,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,UAAU,CAAC;AAE3D,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QACtD,IAAI,CAAC,eAAe,EAAE;;AAGhB,IAAA,cAAc,CAAC,IAAU,EAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACrE,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;AAG1F,IAAA,eAAe,CAAC,IAAU,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW;;IAG9B,eAAe,GAAA;QACrB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACzC,gBAAA,QAAQ,CAAC,MAAM,CAAC,CAAA,EAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,EAAE,IAAI,CAAC;AACjD,aAAC,CAAC;AACF,YAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE;AACxC,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC;;aAChC;AACL,YAAA,IAAI,CAAC,aAAa,GAAG,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;;;;AAMrC,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;AACvB,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;AACzB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;QACxB,IAAI,CAAC,eAAe,EAAE;;IAGxB,iBAAiB,GAAA;QACf,IAAI,CAAC,UAAU,EAAE;;AAGX,IAAA,cAAc,CAAC,KAAgB,EAAA;QACrC,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AACpE,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;;;IAIlB,eAAe,GAAA;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE;AACzC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;;;AAInB,IAAA,UAAU,CAAC,KAAgB,EAAA;;QACjC,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AACpE,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB,MAAM,KAAK,GAAG,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,IAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE;AACnF,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;;;AAIpB,IAAA,UAAU,CAAC,KAAa,EAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACrE,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;QACzB,IAAI,CAAC,eAAe,EAAE;;AAGhB,IAAA,aAAa,CAAC,KAAK,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3E,KAAK,CAAC,cAAc,EAAE;YACtB,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;;;AAI/C,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO;AACL,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,oCAAoC,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB;YAC7E,iCAAiC,EAAE,IAAI,CAAC,KAAK;YAC7C,+BAA+B,EAAE,IAAI,CAAC,cAAc;YACpD,8BAA8B,EAAE,IAAI,CAAC,UAAU;SAChD;;AAGH,IAAA,IAAY,aAAa,GAAA;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC;AACpD,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,kBAAkB;QACtE,MAAM,QAAQ,GAAG,EAAE;AACnB,QAAA,IAAI,OAAO,GAAG,CAAiC,8BAAA,EAAA,WAAW,KAAK;QAE/D,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC/C,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,UAAU,GAAG,SAAS;YAC/D,OAAO,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAI,CAAA,EAAA,YAAY,WAAW;;aACpD;YACL,OAAO,IAAI,GAAG;;AAGhB,QAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AACtB,QAAA,QAAQ,CAAC,IAAI,CAAC,uBAAuB,eAAe,CAAA,CAAA,CAAG,CAAC;AAExD,QAAA,OAAO,QAAQ;;IAGjB,MAAM,GAAA;AACJ,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,GAAG,yBAAyB,GAAG,0BAA0B;AAC9F,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,0BAA0B,GAAG,2BAA2B;QAE9F,QACEA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA,EACzJA,OAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACnC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,CAAA,EACD,IAAI,CAAC,cAAc,IAClBA,OACE,CAAA,KAAA,EAAA,EAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE,GAAG,CAAC,EAC1D,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACxC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EACrF,KAAK,EAAC,2BAA2B,EAAA,EAEhC,aAAa,UAAKA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,gCAAgC,EAAA,EAAA,oCAAA,CAA0C,CACrG,KAENA,OAAA,CAAA,YAAA,EAAA,EAAY,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAA,EACrK,eAAe,CACL,CACd,EACDA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,wBAAwB,EAChC,EAAA,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,KAC5BA,mEACG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAEC,OAAK,MACrCD,OAAI,CAAA,IAAA,EAAA,EAAA,GAAG,EAAEC,OAAK,IAAG,OAAO,CAAM,CAC/B,CAAC,CACC,CACN,CACG,EACND,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAC5BA,OAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,4BAA4B,EACnC,EAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAEC,OAAK,MAClCD,OAAI,CAAA,IAAA,EAAA,EAAA,GAAG,EAAEC,OAAK,EAAA,EACZD,OAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,iCAAiC,IAAE,IAAI,CAAC,IAAI,CAAQ,EAChEA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,oCAAoC,EAAA,EAC7CA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,aAAa,EAAE,EAAAE,oBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAQ,EAC5DF,OAAA,CAAA,GAAA,EAAA,EACE,KAAK,EAAC,mCAAmC,EACzC,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,CAAC,IAAG;gBACX,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,IAAI,CAAC,UAAU,CAACC,OAAK,CAAC;AACxB,aAAC,EAGC,EAAA,WAAA,CAAA,CACA,CACH,CACN,CAAC,CACC,KAEL,EAAE,CACH,EACA,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,KAC9BD,OAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAE,2BAA2B,IAAI,CAAC,sBAAsB,GAAG,kCAAkC,GAAG,EAAE,CAAE,CAAA,EAC1G,EAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAEC,OAAK,MACvCD,OAAI,CAAA,IAAA,EAAA,EAAA,GAAG,EAAEC,OAAK,EAAA,EACZD,OAAA,CAAA,UAAA,EAAA,EAAU,KAAK,EAAC,aAAa,EAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,YAAY,EAAa,CAAA,EACpH,OAAO,CACL,CACN,CAAC,CACC,CACN,EACA,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,KAC7BA,OAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,yBAAyB,IAChC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAEC,OAAK,MACtCD,OAAI,CAAA,IAAA,EAAA,EAAA,GAAG,EAAEC,OAAK,EAAA,EACZD,OAAA,CAAA,UAAA,EAAA,EAAU,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,YAAY,EAAY,CAAA,EAC1D,OAAO,CACL,CACN,CAAC,CACC,CACN,CACG,CACF;;;;;;;;;","names":["h","index","formatFileSize"],"sources":["src/components/spw-file-upload/spw-file-upload.scss?tag=spw-file-upload&encapsulation=shadow","src/components/spw-file-upload/spw-file-upload.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-file-upload {\n display: block;\n position: relative;\n\n &__wrapper {\n &--error {\n border-color: #ff4d4d;\n background-color: #ffe6e6;\n }\n\n &--dragging {\n background-color: #e0f7fa;\n border-color: #00acc1;\n }\n }\n\n spw-button {\n display: inline-block;\n margin-bottom: 8px;\n }\n\n &__errors {\n font-size: 14px;\n color: var(--spw-colors-dark-themes-red-red-500);\n font-weight: 600;\n li {\n margin-top: 16px;\n }\n &--warning {\n color: var(--spw-color-themes-grey-grey-800);\n font-weight: 400;\n }\n }\n\n &__hints {\n font-size: 14px;\n color: var(--spw-color-themes-grey-grey-600);\n margin-top: 16px;\n }\n}\n\n.spw-file-upload__dropzone {\n cursor: pointer;\n color: #555;\n background: var(--spw-colors-dark-themes-blue-grey-blue-grey-50);\n padding: 20px;\n border-radius: 8px;\n border: 1px dashed #333;\n font-weight: bold;\n text-align: center;\n\n &:not(.spw-file-upload--disabled):hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:not(.spw-file-upload__wrapper--disabled):focus-visible,\n &:not(.spw-file-upload__wrapper--disabled):active,\n &:not(.spw-file-upload__wrapper--disabled):focus-within {\n outline: 2px solid var(--spw-ds-focus);\n }\n\n &-link {\n color: var(--spw-ds-primary);\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n .spw-file-upload__wrapper--disabled & {\n color: inherit;\n text-decoration: none;\n }\n }\n\n .spw-file-upload__wrapper--disabled & {\n cursor: not-allowed;\n background: var(--spw-color-themes-grey-grey-100);\n color: var(--spw-color-themes-grey-grey-400);\n border-color: var(--spw-color-themes-grey-grey-300);\n outline: none !important;\n }\n\n .spw-file-upload--is-dragging & {\n background: var(--spw-colors-dark-themes-blue-grey-blue-grey-200);\n }\n}\n\n.spw-file-upload__info {\n &-list {\n margin-top: 16px;\n border-top: 1px solid #eee;\n\n li {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n justify-content: space-between;\n align-items: center;\n padding: 16px 8px;\n border-bottom: 1px solid #eee;\n color: var(--spw-color-themes-grey-grey-900);\n font-size: 14px;\n\n @include breakpoint(md) {\n flex-wrap: nowrap;\n gap: 16px;\n }\n }\n\n &-actions {\n display: flex;\n gap: 8px;\n @include breakpoint(md) {\n gap: 16px;\n }\n }\n\n &-delete {\n color: inherit;\n &:hover {\n text-decoration: none;\n }\n }\n }\n}\n","import { Component, h, Prop, Element, State, Event, EventEmitter, Method, AttachInternals } from '@stencil/core';\nimport { formatFileSize } from '@utils/utils';\n\n@Component({\n tag: 'spw-file-upload',\n styleUrl: 'spw-file-upload.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SpwFileUpload {\n private inputElement: HTMLInputElement;\n\n @Element() el: HTMLSpwFileUploadElement;\n\n /** Indique si le champ est désactivé, rendant le téléversement de fichiers non disponible */\n @Prop() disabled: boolean = false;\n /** Indique s'il y a une erreur visuelle associée au composant de téléversement de fichiers */\n @Prop() error: boolean = false;\n /** Nom de l'élément utilisé dans les formulaires pour associer la valeur des fichiers */\n @Prop() name: string;\n /** Valeur actuelle sélectionnée, utilisée pour les formulaires */\n @Prop() value: string;\n /** Active ou désactive la zone de dépôt pour le glisser-déposer de fichiers */\n @Prop() enableDropZone: boolean = false;\n /** Permet de téléverser plusieurs fichiers si vrai */\n @Prop() multiple: boolean = false;\n /** Types de fichiers acceptés, spécifiés sous forme de chaîne de types MIME */\n @Prop() accept: string = '';\n /** Taille maximale autorisée pour chaque fichier, en Mo */\n @Prop() maxFileSize: number = 100;\n /** Nombre maximal de fichiers pouvant être téléversés */\n @Prop() maxFiles: number = Infinity;\n\n @State() internalValue: string;\n @State() selectedFiles: File[] = [];\n @State() fileTypeErrors: string[] = [];\n @State() fileLimitErrors: string[] = [];\n @State() isDragging: boolean = false;\n @State() isMaxFilesReachedExact: boolean = false;\n\n @AttachInternals() internals: ElementInternals;\n\n /** Événement émis lorsque la sélection de fichiers change */\n @Event({ bubbles: true, composed: true }) spwFileChange: EventEmitter<{ files: File[] }>;\n\n componentWillLoad() {\n this.internalValue = this.value;\n this.maxFileSize = this.maxFileSize * 1024 * 1024;\n }\n\n componentWillUpdate() {\n if (this.value !== this.internalValue) {\n this.internalValue = this.value;\n }\n }\n\n get isMaxFilesReached(): boolean {\n return this.selectedFiles.length >= this.maxFiles;\n }\n\n private handleFileChange(event: Event) {\n const input = event.target as HTMLInputElement;\n const files = input.files ? Array.from(input.files) : [];\n this.processFiles(files);\n }\n\n private processFiles(files: File[]) {\n this.fileTypeErrors = [];\n this.fileLimitErrors = [];\n this.isMaxFilesReachedExact = false;\n\n if (!this.multiple) {\n this.selectedFiles = [];\n files = files.slice(0, 1);\n }\n\n const validFiles = files.filter(file => {\n const isFileAccepted = this.isFileAccepted(file);\n const isFileSizeValid = this.isFileSizeValid(file);\n\n if (!isFileAccepted && !isFileSizeValid) {\n this.fileTypeErrors.push(`${file.name} n’a pas été pris en compte car le format n’est pas autorisé et la limite de poids est dépassée.`);\n return false;\n } else if (!isFileAccepted) {\n this.fileTypeErrors.push(`${file.name} n'a pas été pris en compte car le format n'est pas autorisé.`);\n return false;\n } else if (!isFileSizeValid) {\n this.fileTypeErrors.push(`${file.name} n'a pas été pris en compte car il dépasse la taille maximale autorisée.`);\n return false;\n }\n\n return true;\n });\n\n if (this.selectedFiles.length + validFiles.length >= this.maxFiles) {\n const allowedFiles = this.maxFiles - this.selectedFiles.length;\n\n if (this.selectedFiles.length + validFiles.length === this.maxFiles) {\n this.isMaxFilesReachedExact = true;\n this.fileLimitErrors.push('Vous avez atteint la limite autorisée de fichiers.');\n } else {\n validFiles.splice(allowedFiles);\n const maxFilesText = this.maxFiles > 1 ? 'fichiers' : 'fichier';\n this.fileLimitErrors.push(`Vous ne pouvez pas télécharger plus de ${this.maxFiles} ${maxFilesText}.`);\n }\n }\n\n this.selectedFiles = [...this.selectedFiles, ...validFiles];\n\n this.spwFileChange.emit({ files: this.selectedFiles });\n this.updateFormValue();\n }\n\n private isFileAccepted(file: File): boolean {\n if (!this.accept) return true;\n const acceptedTypes = this.accept.split(',').map(type => type.trim());\n return acceptedTypes.includes(file.type) || acceptedTypes.some(type => file.name.endsWith(type));\n }\n\n private isFileSizeValid(file: File): boolean {\n return file.size <= this.maxFileSize;\n }\n\n private updateFormValue() {\n if (this.selectedFiles.length > 0) {\n const formData = new FormData();\n this.selectedFiles.forEach((file, index) => {\n formData.append(`${this.name}[${index}]`, file);\n });\n this.internalValue = formData.toString();\n this.internals.setFormValue(formData);\n } else {\n this.internalValue = '';\n this.internals.setFormValue(null);\n }\n }\n\n /** Réinitialise le champ de téléchargement de fichiers */\n @Method()\n async resetInput() {\n this.inputElement.value = '';\n this.selectedFiles = [];\n this.fileLimitErrors = [];\n this.fileTypeErrors = [];\n this.updateFormValue();\n }\n\n formResetCallback() {\n this.resetInput();\n }\n\n private handleDragOver(event: DragEvent) {\n event.preventDefault();\n if (!this.disabled && this.enableDropZone && !this.isMaxFilesReached) {\n this.isDragging = true;\n }\n }\n\n private handleDragLeave() {\n if (!this.disabled && this.enableDropZone) {\n this.isDragging = false;\n }\n }\n\n private handleDrop(event: DragEvent) {\n event.preventDefault();\n if (!this.disabled && this.enableDropZone && !this.isMaxFilesReached) {\n this.isDragging = false;\n const files = event.dataTransfer?.files ? Array.from(event.dataTransfer.files) : [];\n this.processFiles(files);\n }\n }\n\n private removeFile(index: number) {\n this.selectedFiles = this.selectedFiles.filter((_, i) => i !== index);\n this.fileLimitErrors = [];\n this.updateFormValue();\n }\n\n private handleKeydown(event) {\n if ((event.key === ' ' || event.key === 'Enter') && !this.isMaxFilesReached) {\n event.preventDefault();\n !this.disabled && this.inputElement.click();\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-file-upload__wrapper': true,\n 'spw-file-upload__wrapper--disabled': this.disabled || this.isMaxFilesReached,\n 'spw-file-upload__wrapper--error': this.error,\n 'spw-file-upload--has-dropzone': this.enableDropZone,\n 'spw-file-upload--is-dragging': this.isDragging,\n };\n }\n\n private get hintsMessages(): string[] {\n const maxSizeInMB = this.maxFileSize / (1024 * 1024);\n const acceptedFormats = this.accept ? this.accept : 'tous les formats';\n const messages = [];\n let message = `Taille maximale par fichier : ${maxSizeInMB} Mo`;\n\n if (this.multiple && this.maxFiles !== Infinity) {\n const maxFilesText = this.maxFiles > 1 ? 'fichiers' : 'fichier';\n message += ` - ${this.maxFiles} ${maxFilesText} maximum.`;\n } else {\n message += '.';\n }\n\n messages.push(message);\n messages.push(`Formats autorisés : ${acceptedFormats}.`);\n\n return messages;\n }\n\n render() {\n const inputTextNoDrop = this.multiple ? 'Choisir vos fichiers...' : 'Choisir votre fichier...';\n const inputTextDrop = this.multiple ? 'Déposez vos fichiers ici' : 'Déposez votre fichier ici';\n\n return (\n <div class={this.elementClass} onDragOver={this.handleDragOver.bind(this)} onDragLeave={this.handleDragLeave.bind(this)} onDrop={this.handleDrop.bind(this)}>\n <input\n type=\"file\"\n ref={el => (this.inputElement = el)}\n onChange={this.handleFileChange.bind(this)}\n name={this.name}\n multiple={this.multiple}\n accept={this.accept}\n style={{ display: 'none' }}\n disabled={this.isMaxFilesReached}\n />\n {this.enableDropZone ? (\n <div\n tabindex={this.disabled || this.isMaxFilesReached ? -1 : 0}\n onKeyDown={this.handleKeydown.bind(this)}\n onClick={() => !this.disabled && !this.isMaxFilesReached && this.inputElement.click()}\n class=\"spw-file-upload__dropzone\"\n >\n {inputTextDrop} ou <span class=\"spw-file-upload__dropzone-link\">choisissez sur votre ordinateur...</span>\n </div>\n ) : (\n <spw-button variant=\"secondary\" onClick={() => !this.disabled && !this.isMaxFilesReached && this.inputElement.click()} disabled={this.disabled || this.isMaxFilesReached}>\n {inputTextNoDrop}\n </spw-button>\n )}\n <div class=\"spw-file-upload__hints\">\n {this.hintsMessages.length > 0 && (\n <ul>\n {this.hintsMessages.map((message, index) => (\n <li key={index}>{message}</li>\n ))}\n </ul>\n )}\n </div>\n <div class=\"spw-file-upload__info\">\n {this.selectedFiles.length > 0 ? (\n <ul class=\"spw-file-upload__info-list\">\n {this.selectedFiles.map((file, index) => (\n <li key={index}>\n <span class=\"spw-file-upload__info-list-name\">{file.name}</span>\n <div class=\"spw-file-upload__info-list-actions\">\n <span class=\"spw-tw-mr-2\">{formatFileSize(file.size)}</span>\n <a\n class=\"spw-file-upload__info-list-delete\"\n href=\"#\"\n onClick={e => {\n e.preventDefault();\n this.removeFile(index);\n }}\n >\n Supprimer\n </a>\n </div>\n </li>\n ))}\n </ul>\n ) : (\n ''\n )}\n {this.fileLimitErrors.length > 0 && (\n <ul class={`spw-file-upload__errors ${this.isMaxFilesReachedExact ? 'spw-file-upload__errors--warning' : ''}`}>\n {this.fileLimitErrors.map((message, index) => (\n <li key={index}>\n <spw-icon class=\"spw-tw-mr-2\" icon={this.isMaxFilesReachedExact ? 'fa-circle-exclamation' : 'fa-warning'}></spw-icon>\n {message}\n </li>\n ))}\n </ul>\n )}\n {this.fileTypeErrors.length > 0 && (\n <ul class=\"spw-file-upload__errors\">\n {this.fileTypeErrors.map((message, index) => (\n <li key={index}>\n <spw-icon class=\"spw-tw-mr-2\" icon=\"fa-warning\"></spw-icon>\n {message}\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"spw-file-upload.entry.cjs.js","mappings":"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","names":["h","index","formatFileSize"],"sources":["src/components/spw-file-upload/spw-file-upload.scss?tag=spw-file-upload&encapsulation=shadow","src/components/spw-file-upload/spw-file-upload.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-file-upload {\n display: block;\n position: relative;\n\n &__wrapper {\n &--error {\n border-color: #ff4d4d;\n background-color: #ffe6e6;\n }\n\n &--dragging {\n background-color: #e0f7fa;\n border-color: #00acc1;\n }\n }\n\n spw-button {\n display: inline-block;\n margin-bottom: 8px;\n }\n\n &__errors {\n font-size: 14px;\n color: var(--spw-colors-dark-themes-red-red-500);\n font-weight: 600;\n li {\n margin-top: 16px;\n }\n &--warning {\n color: var(--spw-color-themes-grey-grey-800);\n font-weight: 400;\n }\n }\n\n &__hints {\n font-size: 14px;\n color: var(--spw-color-themes-grey-grey-600);\n margin-top: 16px;\n }\n}\n\n.spw-file-upload__dropzone {\n cursor: pointer;\n color: #555;\n background: var(--spw-colors-dark-themes-blue-grey-blue-grey-50);\n padding: 20px;\n border-radius: 8px;\n border: 1px dashed #333;\n font-weight: bold;\n text-align: center;\n\n &:not(.spw-file-upload--disabled):hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:not(.spw-file-upload__wrapper--disabled):focus-visible,\n &:not(.spw-file-upload__wrapper--disabled):active,\n &:not(.spw-file-upload__wrapper--disabled):focus-within {\n outline: 2px solid var(--spw-ds-focus);\n }\n\n &-link {\n color: var(--spw-ds-primary);\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n .spw-file-upload__wrapper--disabled & {\n color: inherit;\n text-decoration: none;\n }\n }\n\n .spw-file-upload__wrapper--disabled & {\n cursor: not-allowed;\n background: var(--spw-color-themes-grey-grey-100);\n color: var(--spw-color-themes-grey-grey-400);\n border-color: var(--spw-color-themes-grey-grey-300);\n outline: none !important;\n }\n\n .spw-file-upload--is-dragging & {\n background: var(--spw-colors-dark-themes-blue-grey-blue-grey-200);\n }\n}\n\n.spw-file-upload__info {\n &-list {\n margin-top: 16px;\n border-top: 1px solid #eee;\n\n li {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n justify-content: space-between;\n align-items: center;\n padding: 16px 8px;\n border-bottom: 1px solid #eee;\n color: var(--spw-color-themes-grey-grey-900);\n font-size: 14px;\n\n @include breakpoint(md) {\n flex-wrap: nowrap;\n gap: 16px;\n }\n }\n\n &-actions {\n display: flex;\n gap: 8px;\n @include breakpoint(md) {\n gap: 16px;\n }\n }\n\n &-delete {\n color: inherit;\n &:hover {\n text-decoration: none;\n }\n }\n }\n}\n","import { Component, h, Prop, Element, State, Event, EventEmitter, Method, AttachInternals } from '@stencil/core';\nimport { formatFileSize } from '@utils/utils';\n\n@Component({\n tag: 'spw-file-upload',\n styleUrl: 'spw-file-upload.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SpwFileUpload {\n private inputElement: HTMLInputElement;\n\n @Element() el: HTMLSpwFileUploadElement;\n\n /** Indique si le champ est désactivé, rendant le téléversement de fichiers non disponible */\n @Prop() disabled: boolean = false;\n /** Indique s'il y a une erreur visuelle associée au composant de téléversement de fichiers */\n @Prop() error: boolean = false;\n /** Nom de l'élément utilisé dans les formulaires pour associer la valeur des fichiers */\n @Prop() name: string;\n /** Valeur actuelle sélectionnée, utilisée pour les formulaires */\n @Prop() value: string;\n /** Active ou désactive la zone de dépôt pour le glisser-déposer de fichiers */\n @Prop() enableDropZone: boolean = false;\n /** Permet de téléverser plusieurs fichiers si vrai */\n @Prop() multiple: boolean = false;\n /** Types de fichiers acceptés, spécifiés sous forme de chaîne de types MIME */\n @Prop() accept: string = '';\n /** Taille maximale autorisée pour chaque fichier, en Mo */\n @Prop() maxFileSize: number = 100;\n /** Nombre maximal de fichiers pouvant être téléversés */\n @Prop() maxFiles: number = Infinity;\n\n @State() internalValue: string;\n @State() selectedFiles: File[] = [];\n @State() fileTypeErrors: string[] = [];\n @State() fileLimitErrors: string[] = [];\n @State() isDragging: boolean = false;\n @State() isMaxFilesReachedExact: boolean = false;\n\n @AttachInternals() internals: ElementInternals;\n\n /** Événement émis lorsque la sélection de fichiers change */\n @Event({ bubbles: true, composed: true }) spwFileChange: EventEmitter<{ files: File[] }>;\n\n componentWillLoad() {\n this.internalValue = this.value;\n this.maxFileSize = this.maxFileSize * 1024 * 1024;\n }\n\n componentWillUpdate() {\n if (this.value !== this.internalValue) {\n this.internalValue = this.value;\n }\n }\n\n get isMaxFilesReached(): boolean {\n return this.selectedFiles.length >= this.maxFiles;\n }\n\n private handleFileChange(event: Event) {\n const input = event.target as HTMLInputElement;\n const files = input.files ? Array.from(input.files) : [];\n this.processFiles(files);\n }\n\n private processFiles(files: File[]) {\n this.fileTypeErrors = [];\n this.fileLimitErrors = [];\n this.isMaxFilesReachedExact = false;\n\n if (!this.multiple) {\n this.selectedFiles = [];\n files = files.slice(0, 1);\n }\n\n const validFiles = files.filter(file => {\n const isFileAccepted = this.isFileAccepted(file);\n const isFileSizeValid = this.isFileSizeValid(file);\n\n if (!isFileAccepted && !isFileSizeValid) {\n this.fileTypeErrors.push(`${file.name} n’a pas été pris en compte car le format n’est pas autorisé et la limite de poids est dépassée.`);\n return false;\n } else if (!isFileAccepted) {\n this.fileTypeErrors.push(`${file.name} n'a pas été pris en compte car le format n'est pas autorisé.`);\n return false;\n } else if (!isFileSizeValid) {\n this.fileTypeErrors.push(`${file.name} n'a pas été pris en compte car il dépasse la taille maximale autorisée.`);\n return false;\n }\n\n return true;\n });\n\n if (this.selectedFiles.length + validFiles.length >= this.maxFiles) {\n const allowedFiles = this.maxFiles - this.selectedFiles.length;\n\n if (this.selectedFiles.length + validFiles.length === this.maxFiles) {\n this.isMaxFilesReachedExact = true;\n this.fileLimitErrors.push('Vous avez atteint la limite autorisée de fichiers.');\n } else {\n validFiles.splice(allowedFiles);\n const maxFilesText = this.maxFiles > 1 ? 'fichiers' : 'fichier';\n this.fileLimitErrors.push(`Vous ne pouvez pas télécharger plus de ${this.maxFiles} ${maxFilesText}.`);\n }\n }\n\n this.selectedFiles = [...this.selectedFiles, ...validFiles];\n\n this.spwFileChange.emit({ files: this.selectedFiles });\n this.updateFormValue();\n }\n\n private isFileAccepted(file: File): boolean {\n if (!this.accept) return true;\n const acceptedTypes = this.accept.split(',').map(type => type.trim());\n return acceptedTypes.includes(file.type) || acceptedTypes.some(type => file.name.endsWith(type));\n }\n\n private isFileSizeValid(file: File): boolean {\n return file.size <= this.maxFileSize;\n }\n\n private updateFormValue() {\n if (this.selectedFiles.length > 0) {\n const formData = new FormData();\n this.selectedFiles.forEach((file, index) => {\n formData.append(`${this.name}[${index}]`, file);\n });\n this.internalValue = formData.toString();\n this.internals.setFormValue(formData);\n } else {\n this.internalValue = '';\n this.internals.setFormValue(null);\n }\n }\n\n /** Réinitialise le champ de téléchargement de fichiers */\n @Method()\n async resetInput() {\n this.inputElement.value = '';\n this.selectedFiles = [];\n this.fileLimitErrors = [];\n this.fileTypeErrors = [];\n this.updateFormValue();\n }\n\n formResetCallback() {\n this.resetInput();\n }\n\n private handleDragOver(event: DragEvent) {\n event.preventDefault();\n if (!this.disabled && this.enableDropZone && !this.isMaxFilesReached) {\n this.isDragging = true;\n }\n }\n\n private handleDragLeave() {\n if (!this.disabled && this.enableDropZone) {\n this.isDragging = false;\n }\n }\n\n private handleDrop(event: DragEvent) {\n event.preventDefault();\n if (!this.disabled && this.enableDropZone && !this.isMaxFilesReached) {\n this.isDragging = false;\n const files = event.dataTransfer?.files ? Array.from(event.dataTransfer.files) : [];\n this.processFiles(files);\n }\n }\n\n private removeFile(index: number) {\n this.selectedFiles = this.selectedFiles.filter((_, i) => i !== index);\n this.fileLimitErrors = [];\n this.updateFormValue();\n this.spwFileChange.emit({ files: this.selectedFiles });\n }\n\n private handleKeydown(event) {\n if ((event.key === ' ' || event.key === 'Enter') && !this.isMaxFilesReached) {\n event.preventDefault();\n !this.disabled && this.inputElement.click();\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-file-upload__wrapper': true,\n 'spw-file-upload__wrapper--disabled': this.disabled || this.isMaxFilesReached,\n 'spw-file-upload__wrapper--error': this.error,\n 'spw-file-upload--has-dropzone': this.enableDropZone,\n 'spw-file-upload--is-dragging': this.isDragging,\n };\n }\n\n private get hintsMessages(): string[] {\n const maxSizeInMB = this.maxFileSize / (1024 * 1024);\n const acceptedFormats = this.accept ? this.accept : 'tous les formats';\n const messages = [];\n let message = `Taille maximale par fichier : ${maxSizeInMB} Mo`;\n\n if (this.multiple && this.maxFiles !== Infinity) {\n const maxFilesText = this.maxFiles > 1 ? 'fichiers' : 'fichier';\n message += ` - ${this.maxFiles} ${maxFilesText} maximum.`;\n } else {\n message += '.';\n }\n\n messages.push(message);\n messages.push(`Formats autorisés : ${acceptedFormats}.`);\n\n return messages;\n }\n\n render() {\n const inputTextNoDrop = this.multiple ? 'Choisir vos fichiers...' : 'Choisir votre fichier...';\n const inputTextDrop = this.multiple ? 'Déposez vos fichiers ici' : 'Déposez votre fichier ici';\n\n return (\n <div class={this.elementClass} onDragOver={this.handleDragOver.bind(this)} onDragLeave={this.handleDragLeave.bind(this)} onDrop={this.handleDrop.bind(this)}>\n <input\n type=\"file\"\n ref={el => (this.inputElement = el)}\n onChange={this.handleFileChange.bind(this)}\n name={this.name}\n multiple={this.multiple}\n accept={this.accept}\n style={{ display: 'none' }}\n disabled={this.isMaxFilesReached}\n />\n {this.enableDropZone ? (\n <div\n tabindex={this.disabled || this.isMaxFilesReached ? -1 : 0}\n onKeyDown={this.handleKeydown.bind(this)}\n onClick={() => !this.disabled && !this.isMaxFilesReached && this.inputElement.click()}\n class=\"spw-file-upload__dropzone\"\n >\n {inputTextDrop} ou <span class=\"spw-file-upload__dropzone-link\">choisissez sur votre ordinateur...</span>\n </div>\n ) : (\n <spw-button variant=\"secondary\" onClick={() => !this.disabled && !this.isMaxFilesReached && this.inputElement.click()} disabled={this.disabled || this.isMaxFilesReached}>\n {inputTextNoDrop}\n </spw-button>\n )}\n <div class=\"spw-file-upload__hints\">\n {this.hintsMessages.length > 0 && (\n <ul>\n {this.hintsMessages.map((message, index) => (\n <li key={index}>{message}</li>\n ))}\n </ul>\n )}\n </div>\n <div class=\"spw-file-upload__info\">\n {this.selectedFiles.length > 0 ? (\n <ul class=\"spw-file-upload__info-list\">\n {this.selectedFiles.map((file, index) => (\n <li key={index}>\n <span class=\"spw-file-upload__info-list-name\">{file.name}</span>\n <div class=\"spw-file-upload__info-list-actions\">\n <span class=\"spw-tw-mr-2\">{formatFileSize(file.size)}</span>\n <a\n class=\"spw-file-upload__info-list-delete\"\n href=\"#\"\n onClick={e => {\n e.preventDefault();\n this.removeFile(index);\n }}\n >\n Supprimer\n </a>\n </div>\n </li>\n ))}\n </ul>\n ) : (\n ''\n )}\n {this.fileLimitErrors.length > 0 && (\n <ul class={`spw-file-upload__errors ${this.isMaxFilesReachedExact ? 'spw-file-upload__errors--warning' : ''}`}>\n {this.fileLimitErrors.map((message, index) => (\n <li key={index}>\n <spw-icon class=\"spw-tw-mr-2\" icon={this.isMaxFilesReachedExact ? 'fa-circle-exclamation' : 'fa-warning'}></spw-icon>\n {message}\n </li>\n ))}\n </ul>\n )}\n {this.fileTypeErrors.length > 0 && (\n <ul class=\"spw-file-upload__errors\">\n {this.fileTypeErrors.map((message, index) => (\n <li key={index}>\n <spw-icon class=\"spw-tw-mr-2\" icon=\"fa-warning\"></spw-icon>\n {message}\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|