@spw-ds/spw-stencil-library 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-iVhYitTd.js → index-ivINMH9O.js} +5 -5
- package/dist/cjs/{index-iVhYitTd.js.map → index-ivINMH9O.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-accordion_4.cjs.entry.js +3 -3
- package/dist/cjs/spw-accordion_4.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/spw-button.spw-loading.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-button_2.cjs.entry.js +6 -6
- package/dist/cjs/spw-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-card-content.cjs.entry.js +2 -2
- package/dist/cjs/spw-card-excerpt.cjs.entry.js +1 -1
- package/dist/cjs/spw-card-image.cjs.entry.js +1 -1
- package/dist/cjs/spw-card-subtag-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-card-subtags.cjs.entry.js +1 -1
- package/dist/cjs/spw-card-title.cjs.entry.js +1 -1
- package/dist/cjs/spw-card.cjs.entry.js +1 -1
- package/dist/cjs/spw-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/spw-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-cookies.cjs.entry.js +1 -1
- package/dist/cjs/spw-custom-select.cjs.entry.js +63 -9
- package/dist/cjs/spw-custom-select.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-custom-select.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-date-picker.cjs.entry.js +222 -41
- package/dist/cjs/spw-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-date-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-dropdown-container.cjs.entry.js +20 -0
- package/dist/cjs/spw-dropdown-container.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-dropdown-container.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-dropdown-item.cjs.entry.js +87 -0
- package/dist/cjs/spw-dropdown-item.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-dropdown-item.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/spw-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-field-label_6.cjs.entry.js +8 -8
- package/dist/cjs/spw-field-label_6.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-field-message.cjs.entry.js +2 -2
- package/dist/cjs/spw-file-upload.cjs.entry.js +6 -5
- package/dist/cjs/spw-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-file-upload.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-footer-bottom.cjs.entry.js +2 -2
- package/dist/cjs/spw-footer-content-col.cjs.entry.js +2 -2
- package/dist/cjs/spw-footer-content.cjs.entry.js +2 -2
- package/dist/cjs/spw-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/spw-footer.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-lang-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-lang.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-navigation-item.cjs.entry.js +3 -3
- package/dist/cjs/spw-header-navigation.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-persona-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-persona.cjs.entry.js +2 -2
- package/dist/cjs/spw-header.cjs.entry.js +2 -2
- package/dist/cjs/spw-hero.cjs.entry.js +2 -2
- package/dist/cjs/spw-illustration.cjs.entry.js +1 -1
- package/dist/cjs/spw-iodda.cjs.entry.js +2 -2
- package/dist/cjs/spw-list-description.cjs.entry.js +2 -2
- package/dist/cjs/spw-list-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-list-title.cjs.entry.js +2 -2
- package/dist/cjs/spw-list.cjs.entry.js +2 -2
- package/dist/cjs/spw-message.cjs.entry.js +1 -1
- package/dist/cjs/spw-modal.cjs.entry.js +4 -4
- package/dist/cjs/spw-mosaic-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-mosaic.cjs.entry.js +2 -2
- package/dist/cjs/spw-pagination.cjs.entry.js +28 -18
- package/dist/cjs/spw-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-radio.cjs.entry.js +3 -3
- package/dist/cjs/spw-search-field.cjs.entry.js +13 -3
- package/dist/cjs/spw-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-search-field.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-select.cjs.entry.js +15 -3
- package/dist/cjs/spw-select.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-select.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +85 -7
- package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-sidebar-navigation-item.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +2 -2
- package/dist/cjs/spw-sidebar.cjs.entry.js +10 -2
- package/dist/cjs/spw-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-sidebar.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-skeleton.cjs.entry.js +5 -3
- package/dist/cjs/spw-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-skeleton.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-socials.cjs.entry.js +2 -2
- package/dist/cjs/spw-stencil-library.cjs.js +2 -2
- package/dist/cjs/spw-table-body.cjs.entry.js +2 -2
- package/dist/cjs/spw-table-cell.cjs.entry.js +54 -3
- package/dist/cjs/spw-table-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table-footer.cjs.entry.js +3 -3
- package/dist/cjs/spw-table-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-footer.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table-head.cjs.entry.js +2 -2
- package/dist/cjs/spw-table-header.cjs.entry.js +35 -5
- package/dist/cjs/spw-table-header.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-header.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table-row.cjs.entry.js +35 -3
- package/dist/cjs/spw-table-row.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-row.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table.cjs.entry.js +70 -7
- package/dist/cjs/spw-table.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-tabs-content.cjs.entry.js +1 -1
- package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +3 -3
- package/dist/cjs/spw-tabs-navigation.cjs.entry.js +2 -2
- package/dist/cjs/spw-tabs.cjs.entry.js +6 -4
- package/dist/cjs/spw-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-tag.cjs.entry.js +2 -2
- package/dist/cjs/spw-text-field.cjs.entry.js +3 -3
- package/dist/cjs/spw-textarea.cjs.entry.js +3 -3
- package/dist/cjs/spw-tile-description.cjs.entry.js +2 -2
- package/dist/cjs/spw-tile-title.cjs.entry.js +2 -2
- package/dist/cjs/spw-tile.cjs.entry.js +2 -2
- package/dist/cjs/spw-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/spw-topbar.cjs.entry.js +2 -2
- package/dist/cjs/spw-wizard-item.cjs.entry.js +64 -0
- package/dist/cjs/spw-wizard-item.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-wizard-item.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-wizard.cjs.entry.js +90 -0
- package/dist/cjs/spw-wizard.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-wizard.entry.cjs.js.map +1 -0
- package/dist/cjs/{utils-CKYAw_Le.js → utils-D_vNTY6w.js} +3 -3
- package/dist/cjs/utils-D_vNTY6w.js.map +1 -0
- package/dist/collection/collection-manifest.json +5 -1
- package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.css +1 -1
- package/dist/collection/components/spw-button/spw-button.css +1 -1
- package/dist/collection/components/spw-checkbox/spw-checkbox.css +1 -1
- package/dist/collection/components/spw-custom-select/spw-custom-select.css +1 -1
- package/dist/collection/components/spw-custom-select/spw-custom-select.js +81 -6
- package/dist/collection/components/spw-custom-select/spw-custom-select.js.map +1 -1
- package/dist/collection/components/spw-date-picker/spw-date-picker.css +1 -1
- package/dist/collection/components/spw-date-picker/spw-date-picker.js +267 -36
- package/dist/collection/components/spw-date-picker/spw-date-picker.js.map +1 -1
- package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.css +2 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.js +19 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.js.map +1 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.css +2 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js +175 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js.map +1 -0
- package/dist/collection/components/spw-dropdown/spw-dropdown.js +2 -2
- package/dist/collection/components/spw-dropdown/spw-dropdown.js.map +1 -1
- package/dist/collection/components/spw-field-label/spw-field-label.js +1 -1
- package/dist/collection/components/spw-field-message/spw-field-message.js +1 -1
- package/dist/collection/components/spw-file-upload/spw-file-upload.js +3 -2
- package/dist/collection/components/spw-file-upload/spw-file-upload.js.map +1 -1
- package/dist/collection/components/spw-footer/spw-footer-bottom/spw-footer-bottom.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer-content/spw-footer-content.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer-content-col/spw-footer-content-col.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer-link/spw-footer-link.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer.js +1 -1
- package/dist/collection/components/spw-group/spw-group.js +1 -1
- package/dist/collection/components/spw-header/spw-header-lang/spw-header-lang.js +1 -1
- package/dist/collection/components/spw-header/spw-header-lang-item/spw-header-lang-item.js +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation-dropdown/spw-header-navigation-dropdown.js +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.js +1 -1
- package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js +1 -1
- package/dist/collection/components/spw-header/spw-header-persona-item/spw-header-persona-item.js +1 -1
- package/dist/collection/components/spw-header/spw-header.js +1 -1
- package/dist/collection/components/spw-hero/spw-hero.js +1 -1
- package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
- package/dist/collection/components/spw-link/spw-link.css +1 -1
- package/dist/collection/components/spw-link/spw-link.js +1 -1
- package/dist/collection/components/spw-list/spw-list-description/spw-list-description.js +1 -1
- package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +1 -1
- package/dist/collection/components/spw-list/spw-list-title/spw-list-title.js +1 -1
- package/dist/collection/components/spw-list/spw-list.js +1 -1
- package/dist/collection/components/spw-loading/spw-loading.js +1 -1
- package/dist/collection/components/spw-modal/spw-modal.js +1 -1
- package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
- package/dist/collection/components/spw-mosaic/spw-mosaic.js +1 -1
- package/dist/collection/components/spw-pagination/spw-pagination.css +1 -1
- package/dist/collection/components/spw-pagination/spw-pagination.js +54 -13
- package/dist/collection/components/spw-pagination/spw-pagination.js.map +1 -1
- package/dist/collection/components/spw-radio/spw-radio.js +1 -1
- package/dist/collection/components/spw-search-field/spw-search-field.js +50 -2
- package/dist/collection/components/spw-search-field/spw-search-field.js.map +1 -1
- package/dist/collection/components/spw-select/spw-select.js +34 -1
- package/dist/collection/components/spw-select/spw-select.js.map +1 -1
- package/dist/collection/components/spw-separator/spw-separator.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.css +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +105 -6
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js.map +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-separator/spw-sidebar-navigation-separator.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar.js +9 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar.js.map +1 -1
- package/dist/collection/components/spw-skeleton/spw-skeleton.js +4 -2
- package/dist/collection/components/spw-skeleton/spw-skeleton.js.map +1 -1
- package/dist/collection/components/spw-socials/spw-socials.js +1 -1
- package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
- package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.css +1 -1
- package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +137 -1
- package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.css +1 -1
- package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
- package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.css +1 -1
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +92 -2
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.css +1 -1
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +66 -1
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table.css +1 -1
- package/dist/collection/components/spw-table/spw-table.js +135 -9
- package/dist/collection/components/spw-table/spw-table.js.map +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs.js +6 -4
- package/dist/collection/components/spw-tabs/spw-tabs.js.map +1 -1
- package/dist/collection/components/spw-tag/spw-tag.js +1 -1
- package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
- package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
- package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile.js +1 -1
- package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
- package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
- package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.css +2 -0
- package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js +339 -0
- package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js.map +1 -0
- package/dist/collection/components/spw-wizard/spw-wizard.css +2 -0
- package/dist/collection/components/spw-wizard/spw-wizard.js +192 -0
- package/dist/collection/components/spw-wizard/spw-wizard.js.map +1 -0
- package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js +46 -1
- package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js +1 -1
- package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +1 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-table/spw-table.stories.js +119 -0
- package/dist/collection/stories/organisms/spw-table/spw-table.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-wizard/spw-wizard.stories.js +208 -0
- package/dist/collection/stories/organisms/spw-wizard/spw-wizard.stories.js.map +1 -0
- package/dist/collection/utils/utils.js +48 -49
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/index.js +3 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-DaosfSzT.js → p-B2toBmC2.js} +36 -25
- package/dist/components/p-B2toBmC2.js.map +1 -0
- package/dist/components/{p-zpG0udTn.js → p-BBi01mKM.js} +3 -3
- package/dist/components/p-BBi01mKM.js.map +1 -0
- package/dist/components/{p-DIhULKFM.js → p-Bvpi6byK.js} +3 -3
- package/dist/components/{p-DIhULKFM.js.map → p-Bvpi6byK.js.map} +1 -1
- package/dist/components/{p-fNRoK67L.js → p-CVuBJlFL.js} +3 -3
- package/dist/components/{p-fNRoK67L.js.map → p-CVuBJlFL.js.map} +1 -1
- package/dist/components/{p-B3OQ2nRI.js → p-D4PsQ_SH.js} +4 -4
- package/dist/components/p-D4PsQ_SH.js.map +1 -0
- package/dist/components/p-DHBpMBYT.js +129 -0
- package/dist/components/p-DHBpMBYT.js.map +1 -0
- package/dist/components/{p-B-sLKmnT.js → p-DjyPtAVX.js} +7 -7
- package/dist/components/p-DjyPtAVX.js.map +1 -0
- package/dist/components/{p-BDRCqK1w.js → p-J5AA2xQI.js} +3 -3
- package/dist/components/{p-BDRCqK1w.js.map → p-J5AA2xQI.js.map} +1 -1
- package/dist/components/{p-Dku0Cksp.js → p-_sdYD0eS.js} +6 -6
- package/dist/components/{p-Dku0Cksp.js.map → p-_sdYD0eS.js.map} +1 -1
- package/dist/components/{p-GUYao_6w.js → p-qROlK2WR.js} +5 -5
- package/dist/components/p-qROlK2WR.js.map +1 -0
- package/dist/components/{p-BF73GiQU.js → p-qgvllwX6.js} +3 -3
- package/dist/components/{p-BF73GiQU.js.map → p-qgvllwX6.js.map} +1 -1
- package/dist/components/{p-BowHA3gk.js → p-t1vZcpqC.js} +3 -3
- package/dist/components/{p-BowHA3gk.js.map → p-t1vZcpqC.js.map} +1 -1
- package/dist/components/spw-accordion-item.js +1 -1
- package/dist/components/spw-breadcrumb-item.js +1 -1
- package/dist/components/spw-button.js +1 -1
- package/dist/components/spw-card-content.js +1 -1
- package/dist/components/spw-checkbox.js +1 -1
- package/dist/components/spw-cookies.js +4 -4
- package/dist/components/spw-custom-select.js +67 -12
- package/dist/components/spw-custom-select.js.map +1 -1
- package/dist/components/spw-date-picker.js +230 -45
- package/dist/components/spw-date-picker.js.map +1 -1
- package/dist/components/spw-dropdown-container.d.ts +11 -0
- package/dist/components/spw-dropdown-container.js +36 -0
- package/dist/components/spw-dropdown-container.js.map +1 -0
- package/dist/components/spw-dropdown-item.d.ts +11 -0
- package/dist/components/spw-dropdown-item.js +115 -0
- package/dist/components/spw-dropdown-item.js.map +1 -0
- package/dist/components/spw-dropdown.js +1 -1
- package/dist/components/spw-dropdown.js.map +1 -1
- package/dist/components/spw-field-label.js +1 -1
- package/dist/components/spw-field-message.js +1 -1
- package/dist/components/spw-file-upload.js +7 -6
- package/dist/components/spw-file-upload.js.map +1 -1
- package/dist/components/spw-footer-bottom.js +1 -1
- package/dist/components/spw-footer-content-col.js +1 -1
- package/dist/components/spw-footer-content.js +1 -1
- package/dist/components/spw-footer-link.js +1 -1
- package/dist/components/spw-footer.js +1 -1
- package/dist/components/spw-group.js +2 -2
- package/dist/components/spw-header-lang-item.js +1 -1
- package/dist/components/spw-header-lang.js +3 -3
- package/dist/components/spw-header-navigation-dropdown.js +1 -1
- package/dist/components/spw-header-navigation-item.js +2 -2
- package/dist/components/spw-header-navigation.js +1 -1
- package/dist/components/spw-header-persona-item.js +1 -1
- package/dist/components/spw-header-persona.js +1 -1
- package/dist/components/spw-header.js +3 -3
- package/dist/components/spw-hero.js +1 -1
- package/dist/components/spw-iodda.js +6 -6
- package/dist/components/spw-link.js +1 -1
- package/dist/components/spw-list-description.js +1 -1
- package/dist/components/spw-list-item.js +1 -1
- package/dist/components/spw-list-title.js +1 -1
- package/dist/components/spw-list.js +1 -1
- package/dist/components/spw-loading.js +1 -1
- package/dist/components/spw-message.js +1 -1
- package/dist/components/spw-modal.js +3 -3
- package/dist/components/spw-mosaic-item.js +1 -1
- package/dist/components/spw-mosaic.js +1 -1
- package/dist/components/spw-pagination.js +1 -1
- package/dist/components/spw-radio.js +2 -2
- package/dist/components/spw-search-field.js +18 -7
- package/dist/components/spw-search-field.js.map +1 -1
- package/dist/components/spw-select.js +18 -5
- package/dist/components/spw-select.js.map +1 -1
- package/dist/components/spw-separator.js +1 -1
- package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
- package/dist/components/spw-sidebar-navigation-item.js +88 -8
- package/dist/components/spw-sidebar-navigation-item.js.map +1 -1
- package/dist/components/spw-sidebar-navigation-separator.js +2 -2
- package/dist/components/spw-sidebar.js +9 -1
- package/dist/components/spw-sidebar.js.map +1 -1
- package/dist/components/spw-skeleton.js +4 -2
- package/dist/components/spw-skeleton.js.map +1 -1
- package/dist/components/spw-socials.js +1 -1
- package/dist/components/spw-table-body.js +1 -1
- package/dist/components/spw-table-cell.js +59 -3
- package/dist/components/spw-table-cell.js.map +1 -1
- package/dist/components/spw-table-footer.js +2 -2
- package/dist/components/spw-table-footer.js.map +1 -1
- package/dist/components/spw-table-head.js +1 -1
- package/dist/components/spw-table-header.js +39 -6
- package/dist/components/spw-table-header.js.map +1 -1
- package/dist/components/spw-table-row.js +39 -3
- package/dist/components/spw-table-row.js.map +1 -1
- package/dist/components/spw-table.js +76 -8
- package/dist/components/spw-table.js.map +1 -1
- package/dist/components/spw-tabs-navigation-item.js +3 -3
- package/dist/components/spw-tabs-navigation.js +1 -1
- package/dist/components/spw-tabs.js +5 -3
- package/dist/components/spw-tabs.js.map +1 -1
- package/dist/components/spw-tag.js +1 -1
- package/dist/components/spw-text-field.js +1 -1
- package/dist/components/spw-textarea.js +4 -4
- package/dist/components/spw-theme-provider.js +1 -1
- package/dist/components/spw-tile-description.js +1 -1
- package/dist/components/spw-tile-title.js +1 -1
- package/dist/components/spw-tile.js +1 -1
- package/dist/components/spw-tooltip.js +1 -1
- package/dist/components/spw-topbar.js +1 -1
- package/dist/components/spw-wizard-item.d.ts +11 -0
- package/dist/components/spw-wizard-item.js +100 -0
- package/dist/components/spw-wizard-item.js.map +1 -0
- package/dist/components/spw-wizard.d.ts +11 -0
- package/dist/components/spw-wizard.js +110 -0
- package/dist/components/spw-wizard.js.map +1 -0
- package/dist/components_json.json +1214 -29
- package/dist/components_vscode.json +3088 -0
- package/dist/esm/{index-BYM_CUUH.js → index-CvfVJV8a.js} +5 -5
- package/dist/esm/{index-BYM_CUUH.js.map → index-CvfVJV8a.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.js.map +1 -1
- package/dist/esm/spw-accordion_4.entry.js +3 -3
- package/dist/esm/spw-accordion_4.entry.js.map +1 -1
- package/dist/esm/spw-breadcrumb-item.entry.js +1 -1
- package/dist/esm/spw-breadcrumb.entry.js +1 -1
- package/dist/esm/spw-button.spw-loading.entry.js.map +1 -1
- package/dist/esm/spw-button_2.entry.js +6 -6
- package/dist/esm/spw-button_2.entry.js.map +1 -1
- package/dist/esm/spw-card-content.entry.js +2 -2
- package/dist/esm/spw-card-excerpt.entry.js +1 -1
- package/dist/esm/spw-card-image.entry.js +1 -1
- package/dist/esm/spw-card-subtag-item.entry.js +1 -1
- package/dist/esm/spw-card-subtags.entry.js +1 -1
- package/dist/esm/spw-card-title.entry.js +1 -1
- package/dist/esm/spw-card.entry.js +1 -1
- package/dist/esm/spw-checkbox.entry.js +3 -3
- package/dist/esm/spw-checkbox.entry.js.map +1 -1
- package/dist/esm/spw-cookies.entry.js +1 -1
- package/dist/esm/spw-custom-select.entry.js +63 -9
- package/dist/esm/spw-custom-select.entry.js.map +1 -1
- package/dist/esm/spw-date-picker.entry.js +222 -41
- package/dist/esm/spw-date-picker.entry.js.map +1 -1
- package/dist/esm/spw-dropdown-container.entry.js +18 -0
- package/dist/esm/spw-dropdown-container.entry.js.map +1 -0
- package/dist/esm/spw-dropdown-item.entry.js +85 -0
- package/dist/esm/spw-dropdown-item.entry.js.map +1 -0
- package/dist/esm/spw-dropdown.entry.js +2 -2
- package/dist/esm/spw-dropdown.entry.js.map +1 -1
- package/dist/esm/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.js.map +1 -1
- package/dist/esm/spw-field-label_6.entry.js +8 -8
- package/dist/esm/spw-field-label_6.entry.js.map +1 -1
- package/dist/esm/spw-field-message.entry.js +2 -2
- package/dist/esm/spw-file-upload.entry.js +6 -5
- package/dist/esm/spw-file-upload.entry.js.map +1 -1
- package/dist/esm/spw-footer-bottom.entry.js +2 -2
- package/dist/esm/spw-footer-content-col.entry.js +2 -2
- package/dist/esm/spw-footer-content.entry.js +2 -2
- package/dist/esm/spw-footer-link.entry.js +2 -2
- package/dist/esm/spw-footer.entry.js +2 -2
- package/dist/esm/spw-header-lang-item.entry.js +2 -2
- package/dist/esm/spw-header-lang.entry.js +2 -2
- package/dist/esm/spw-header-navigation-dropdown.entry.js +2 -2
- package/dist/esm/spw-header-navigation-item.entry.js +3 -3
- package/dist/esm/spw-header-navigation.entry.js +2 -2
- package/dist/esm/spw-header-persona-item.entry.js +2 -2
- package/dist/esm/spw-header-persona.entry.js +2 -2
- package/dist/esm/spw-header.entry.js +2 -2
- package/dist/esm/spw-hero.entry.js +2 -2
- package/dist/esm/spw-illustration.entry.js +1 -1
- package/dist/esm/spw-iodda.entry.js +2 -2
- package/dist/esm/spw-list-description.entry.js +2 -2
- package/dist/esm/spw-list-item.entry.js +2 -2
- package/dist/esm/spw-list-title.entry.js +2 -2
- package/dist/esm/spw-list.entry.js +2 -2
- package/dist/esm/spw-message.entry.js +1 -1
- package/dist/esm/spw-modal.entry.js +4 -4
- package/dist/esm/spw-mosaic-item.entry.js +2 -2
- package/dist/esm/spw-mosaic.entry.js +2 -2
- package/dist/esm/spw-pagination.entry.js +28 -18
- package/dist/esm/spw-pagination.entry.js.map +1 -1
- package/dist/esm/spw-radio.entry.js +3 -3
- package/dist/esm/spw-search-field.entry.js +13 -3
- package/dist/esm/spw-search-field.entry.js.map +1 -1
- package/dist/esm/spw-select.entry.js +15 -3
- package/dist/esm/spw-select.entry.js.map +1 -1
- package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +2 -2
- package/dist/esm/spw-sidebar-navigation-item.entry.js +85 -7
- package/dist/esm/spw-sidebar-navigation-item.entry.js.map +1 -1
- package/dist/esm/spw-sidebar-navigation-separator.entry.js +2 -2
- package/dist/esm/spw-sidebar.entry.js +10 -2
- package/dist/esm/spw-sidebar.entry.js.map +1 -1
- package/dist/esm/spw-skeleton.entry.js +5 -3
- package/dist/esm/spw-skeleton.entry.js.map +1 -1
- package/dist/esm/spw-socials.entry.js +2 -2
- package/dist/esm/spw-stencil-library.js +3 -3
- package/dist/esm/spw-table-body.entry.js +2 -2
- package/dist/esm/spw-table-cell.entry.js +54 -3
- package/dist/esm/spw-table-cell.entry.js.map +1 -1
- package/dist/esm/spw-table-footer.entry.js +3 -3
- package/dist/esm/spw-table-footer.entry.js.map +1 -1
- package/dist/esm/spw-table-head.entry.js +2 -2
- package/dist/esm/spw-table-header.entry.js +35 -5
- package/dist/esm/spw-table-header.entry.js.map +1 -1
- package/dist/esm/spw-table-row.entry.js +35 -3
- package/dist/esm/spw-table-row.entry.js.map +1 -1
- package/dist/esm/spw-table.entry.js +70 -7
- package/dist/esm/spw-table.entry.js.map +1 -1
- package/dist/esm/spw-tabs-content.entry.js +1 -1
- package/dist/esm/spw-tabs-navigation-item.entry.js +3 -3
- package/dist/esm/spw-tabs-navigation.entry.js +2 -2
- package/dist/esm/spw-tabs.entry.js +6 -4
- package/dist/esm/spw-tabs.entry.js.map +1 -1
- package/dist/esm/spw-tag.entry.js +2 -2
- package/dist/esm/spw-text-field.entry.js +3 -3
- package/dist/esm/spw-textarea.entry.js +3 -3
- package/dist/esm/spw-tile-description.entry.js +2 -2
- package/dist/esm/spw-tile-title.entry.js +2 -2
- package/dist/esm/spw-tile.entry.js +2 -2
- package/dist/esm/spw-tooltip.entry.js +2 -2
- package/dist/esm/spw-topbar.entry.js +2 -2
- package/dist/esm/spw-wizard-item.entry.js +62 -0
- package/dist/esm/spw-wizard-item.entry.js.map +1 -0
- package/dist/esm/spw-wizard.entry.js +88 -0
- package/dist/esm/spw-wizard.entry.js.map +1 -0
- package/dist/esm/{utils-zpG0udTn.js → utils-BBi01mKM.js} +3 -3
- package/dist/esm/utils-BBi01mKM.js.map +1 -0
- package/dist/spw-stencil-library/{p-e2f03a02.entry.js → p-000f04a1.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e2f03a02.entry.js.map → p-000f04a1.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-f5de314e.entry.js → p-06cb6865.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-52c51ac5.entry.js → p-06ec3521.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-0226ad72.entry.js → p-0baeea00.entry.js} +2 -2
- package/dist/spw-stencil-library/p-0e1ec1e6.entry.js +2 -0
- package/dist/spw-stencil-library/p-0e1ec1e6.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-0f69442e.entry.js +2 -0
- package/dist/spw-stencil-library/p-0f69442e.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-14722019.entry.js +2 -0
- package/dist/spw-stencil-library/p-14722019.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-152525de.entry.js +2 -0
- package/dist/spw-stencil-library/p-152525de.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-fbe468de.entry.js → p-2113f2f6.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-181ae002.entry.js → p-25329033.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9219fe7c.entry.js → p-2abc48ed.entry.js} +2 -2
- package/dist/spw-stencil-library/p-2ad00dfc.entry.js +2 -0
- package/dist/spw-stencil-library/p-2ad00dfc.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-3ab472db.entry.js → p-2b011668.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-272dc0ee.entry.js → p-2c79bd06.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-272dc0ee.entry.js.map → p-2c79bd06.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-b0dc1073.entry.js → p-2cfb78fb.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-c2de4206.entry.js → p-2d974226.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-19a69f36.entry.js → p-300b4bdb.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-19a69f36.entry.js.map → p-300b4bdb.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-cb269271.entry.js → p-32fd509b.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-02151d7e.entry.js → p-438f1793.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-1f382434.entry.js → p-451a9785.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-4d61f200.entry.js → p-45d99a2b.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a93f21f9.entry.js → p-46567994.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2fd3eb76.entry.js → p-48417d99.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-dd4bf12d.entry.js → p-488c2d88.entry.js} +2 -2
- package/dist/spw-stencil-library/p-4a273848.entry.js +2 -0
- package/dist/spw-stencil-library/p-4a273848.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-08d78730.entry.js → p-4e1774df.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a30563ff.entry.js → p-512a2787.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-5f82570e.entry.js → p-5632f307.entry.js} +2 -2
- package/dist/spw-stencil-library/p-5632f307.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-04274072.entry.js → p-5a1b3ad1.entry.js} +3 -3
- package/dist/spw-stencil-library/{p-c838e17b.entry.js → p-5e34ea9d.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-64670b2e.entry.js → p-5e43e2ed.entry.js} +2 -2
- package/dist/spw-stencil-library/p-5e43e2ed.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-74b4aea0.entry.js → p-5f873b56.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-cff5a7e4.entry.js → p-5fde9dae.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-09a2d080.entry.js → p-63d1c97f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2dff657f.entry.js → p-6e74b1b0.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-fda153e0.entry.js → p-6ea811f3.entry.js} +2 -2
- package/dist/spw-stencil-library/p-6ed76337.entry.js +2 -0
- package/dist/spw-stencil-library/p-6ed76337.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-76e11724.entry.js +2 -0
- package/dist/spw-stencil-library/p-76e11724.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-11805364.entry.js → p-86bdf571.entry.js} +2 -2
- package/dist/spw-stencil-library/p-8c287e51.entry.js +2 -0
- package/dist/spw-stencil-library/p-8c287e51.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-fabf41a2.entry.js → p-8cfb4646.entry.js} +2 -2
- package/dist/spw-stencil-library/p-8cfb4646.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-92583499.entry.js +2 -0
- package/dist/spw-stencil-library/p-92583499.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-8dca994a.entry.js → p-9b63ccca.entry.js} +2 -2
- package/dist/spw-stencil-library/p-9d760073.entry.js +2 -0
- package/dist/spw-stencil-library/p-9d760073.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-42658e0a.entry.js → p-9d984204.entry.js} +2 -2
- package/dist/spw-stencil-library/p-9d984204.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-5a034423.entry.js → p-9e12973d.entry.js} +2 -2
- package/dist/spw-stencil-library/p-9e8a779e.entry.js +2 -0
- package/dist/spw-stencil-library/p-9e8a779e.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-zpG0udTn.js → p-BBi01mKM.js} +2 -2
- package/dist/spw-stencil-library/p-BBi01mKM.js.map +1 -0
- package/dist/spw-stencil-library/p-CvfVJV8a.js +3 -0
- package/dist/spw-stencil-library/{p-BYM_CUUH.js.map → p-CvfVJV8a.js.map} +1 -1
- package/dist/spw-stencil-library/{p-1d9ef3d5.entry.js → p-a25ad9f2.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-376b1e84.entry.js → p-a31a30f3.entry.js} +2 -2
- package/dist/spw-stencil-library/p-a31a30f3.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-a61253c2.entry.js +2 -0
- package/dist/spw-stencil-library/p-a61253c2.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-8c6c9db5.entry.js → p-a840f2ca.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-403fe46c.entry.js → p-b0e3875a.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-b45534d4.entry.js → p-b1bb413f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-db2354cf.entry.js → p-b6a56ec7.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-db2354cf.entry.js.map → p-b6a56ec7.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-75159246.entry.js → p-bb225503.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-1d93e0d8.entry.js → p-bff5424c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-cf508941.entry.js → p-c314e59f.entry.js} +2 -2
- package/dist/spw-stencil-library/p-c3985590.entry.js +2 -0
- package/dist/spw-stencil-library/p-c3985590.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-c4e4cfd4.entry.js +2 -0
- package/dist/spw-stencil-library/p-c4e4cfd4.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-e72c6410.entry.js → p-cbf8aea1.entry.js} +2 -2
- package/dist/spw-stencil-library/p-ce72bca4.entry.js +2 -0
- package/dist/spw-stencil-library/p-ce72bca4.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-b0ca9615.entry.js → p-d03b1644.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-817e139e.entry.js → p-d384f832.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-532314d2.entry.js → p-d8ba3e5c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e00468aa.entry.js → p-e0c31c21.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e00468aa.entry.js.map → p-e0c31c21.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-09d27c4b.entry.js → p-e3485695.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ae905af5.entry.js → p-e4b4f2b3.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-93a5f755.entry.js → p-e4d193cd.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-158e7952.entry.js → p-e936741c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-98ee79d6.entry.js → p-f154589d.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-98ee79d6.entry.js.map → p-f154589d.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-7d80a44e.entry.js → p-f28bf2be.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-7d80a44e.entry.js.map → p-f28bf2be.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-7cd55113.entry.js → p-f70ed5c3.entry.js} +2 -2
- package/dist/spw-stencil-library/p-f8ad31d4.entry.js +2 -0
- package/dist/spw-stencil-library/{p-03f1a257.entry.js.map → p-f8ad31d4.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-3450855b.entry.js → p-fa52aa2c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-554af1e3.entry.js → p-fc6af4d8.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a8311acd.entry.js → p-fcc5884a.entry.js} +2 -2
- package/dist/spw-stencil-library/p-fcc5884a.entry.js.map +1 -0
- package/dist/spw-stencil-library/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-button.spw-loading.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-checkbox.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-custom-select.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-date-picker.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-dropdown-container.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-dropdown-item.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-dropdown.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-file-upload.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-pagination.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-search-field.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-select.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-sidebar-navigation-item.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-sidebar.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-skeleton.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-stencil-library.css +1 -1
- package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
- package/dist/spw-stencil-library/spw-table-cell.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table-footer.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table-header.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table-row.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-tabs.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-wizard-item.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-wizard.entry.esm.js.map +1 -0
- package/dist/stats.json +3664 -983
- package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +5 -0
- package/dist/types/components/spw-date-picker/spw-date-picker.d.ts +8 -0
- package/dist/types/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.d.ts +3 -0
- package/dist/types/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.d.ts +23 -0
- package/dist/types/components/spw-pagination/spw-pagination.d.ts +4 -1
- package/dist/types/components/spw-search-field/spw-search-field.d.ts +5 -0
- package/dist/types/components/spw-select/spw-select.d.ts +2 -0
- package/dist/types/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.d.ts +8 -0
- package/dist/types/components/spw-sidebar/spw-sidebar.d.ts +1 -0
- package/dist/types/components/spw-table/spw-table-cell/spw-table-cell.d.ts +15 -0
- package/dist/types/components/spw-table/spw-table-header/spw-table-header.d.ts +6 -0
- package/dist/types/components/spw-table/spw-table-row/spw-table-row.d.ts +8 -0
- package/dist/types/components/spw-table/spw-table.d.ts +13 -1
- package/dist/types/components/spw-wizard/spw-wizard-item/spw-wizard-item.d.ts +35 -0
- package/dist/types/components/spw-wizard/spw-wizard.d.ts +19 -0
- package/dist/types/components.d.ts +379 -0
- package/dist/types/stories/components/spw-date-picker/spw-date-picker.stories.d.ts +2 -0
- package/dist/types/stories/organisms/spw-table/spw-table.stories.d.ts +1 -0
- package/dist/types/stories/organisms/spw-wizard/spw-wizard.stories.d.ts +8 -0
- package/dist/types/utils/utils.d.ts +2 -1
- package/hydrate/index.js +1023 -180
- package/hydrate/index.mjs +1023 -180
- package/package.json +1 -1
- package/dist/cjs/utils-CKYAw_Le.js.map +0 -1
- package/dist/components/p-B-sLKmnT.js.map +0 -1
- package/dist/components/p-B3OQ2nRI.js.map +0 -1
- package/dist/components/p-Cf-dIWNi.js +0 -129
- package/dist/components/p-Cf-dIWNi.js.map +0 -1
- package/dist/components/p-DaosfSzT.js.map +0 -1
- package/dist/components/p-GUYao_6w.js.map +0 -1
- package/dist/components/p-zpG0udTn.js.map +0 -1
- package/dist/esm/utils-zpG0udTn.js.map +0 -1
- package/dist/spw-stencil-library/p-03f1a257.entry.js +0 -2
- package/dist/spw-stencil-library/p-2e9756c4.entry.js +0 -2
- package/dist/spw-stencil-library/p-2e9756c4.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-34dc26ba.entry.js +0 -2
- package/dist/spw-stencil-library/p-34dc26ba.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-376b1e84.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-42658e0a.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-44d87d3f.entry.js +0 -2
- package/dist/spw-stencil-library/p-44d87d3f.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-5f82570e.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-64670b2e.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-73db3953.entry.js +0 -2
- package/dist/spw-stencil-library/p-73db3953.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-7e30e4c2.entry.js +0 -2
- package/dist/spw-stencil-library/p-7e30e4c2.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-8ef8864e.entry.js +0 -2
- package/dist/spw-stencil-library/p-8ef8864e.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-9356f8c9.entry.js +0 -2
- package/dist/spw-stencil-library/p-9356f8c9.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-BYM_CUUH.js +0 -3
- package/dist/spw-stencil-library/p-a8311acd.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-a950bce8.entry.js +0 -2
- package/dist/spw-stencil-library/p-a950bce8.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-ba27b9b0.entry.js +0 -2
- package/dist/spw-stencil-library/p-ba27b9b0.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-bf2d0cf4.entry.js +0 -2
- package/dist/spw-stencil-library/p-bf2d0cf4.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-c54fee67.entry.js +0 -2
- package/dist/spw-stencil-library/p-c54fee67.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-d3d4755a.entry.js +0 -2
- package/dist/spw-stencil-library/p-d3d4755a.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-fabf41a2.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-zpG0udTn.js.map +0 -1
- /package/dist/spw-stencil-library/{p-f5de314e.entry.js.map → p-06cb6865.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-52c51ac5.entry.js.map → p-06ec3521.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-0226ad72.entry.js.map → p-0baeea00.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-fbe468de.entry.js.map → p-2113f2f6.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-181ae002.entry.js.map → p-25329033.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-9219fe7c.entry.js.map → p-2abc48ed.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3ab472db.entry.js.map → p-2b011668.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b0dc1073.entry.js.map → p-2cfb78fb.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c2de4206.entry.js.map → p-2d974226.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cb269271.entry.js.map → p-32fd509b.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-02151d7e.entry.js.map → p-438f1793.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-1f382434.entry.js.map → p-451a9785.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-4d61f200.entry.js.map → p-45d99a2b.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a93f21f9.entry.js.map → p-46567994.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2fd3eb76.entry.js.map → p-48417d99.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-dd4bf12d.entry.js.map → p-488c2d88.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-08d78730.entry.js.map → p-4e1774df.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a30563ff.entry.js.map → p-512a2787.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-04274072.entry.js.map → p-5a1b3ad1.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c838e17b.entry.js.map → p-5e34ea9d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-74b4aea0.entry.js.map → p-5f873b56.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cff5a7e4.entry.js.map → p-5fde9dae.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-09a2d080.entry.js.map → p-63d1c97f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2dff657f.entry.js.map → p-6e74b1b0.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-fda153e0.entry.js.map → p-6ea811f3.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-11805364.entry.js.map → p-86bdf571.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8dca994a.entry.js.map → p-9b63ccca.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-5a034423.entry.js.map → p-9e12973d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-1d9ef3d5.entry.js.map → p-a25ad9f2.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8c6c9db5.entry.js.map → p-a840f2ca.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-403fe46c.entry.js.map → p-b0e3875a.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b45534d4.entry.js.map → p-b1bb413f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-75159246.entry.js.map → p-bb225503.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-1d93e0d8.entry.js.map → p-bff5424c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cf508941.entry.js.map → p-c314e59f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e72c6410.entry.js.map → p-cbf8aea1.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b0ca9615.entry.js.map → p-d03b1644.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-817e139e.entry.js.map → p-d384f832.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-532314d2.entry.js.map → p-d8ba3e5c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-09d27c4b.entry.js.map → p-e3485695.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ae905af5.entry.js.map → p-e4b4f2b3.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-93a5f755.entry.js.map → p-e4d193cd.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-158e7952.entry.js.map → p-e936741c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-7cd55113.entry.js.map → p-f70ed5c3.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3450855b.entry.js.map → p-fa52aa2c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-554af1e3.entry.js.map → p-fc6af4d8.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"spw-table-header.js","mappings":"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","names":["SpwTableHeader","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table-header/spw-table-header.scss?tag=spw-table-header&encapsulation=shadow","src/components/spw-table/spw-table-header/spw-table-header.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n.spw-table-header {\n border: 1px solid var(--spw-color-themes-grey-grey-300);\n color: var(--spw-color-themes-grey-grey-800);\n font-size: 14px;\n text-align: left;\n font-weight: 700;\n transition: all 0.2s linear;\n background: var(--spw-color-themes-grey-grey-200);\n white-space: nowrap;\n border-top: none !important;\n border-bottom: none !important;\n box-shadow:\n inset 0 1px 0 var(--spw-color-themes-grey-grey-300),\n inset 0 -1px 0 var(--spw-color-themes-grey-grey-300);\n\n background-clip: padding-box;\n\n :host-context(.spw-table--is-sticky) & {\n position: sticky;\n top: 0;\n z-index: 20;\n }\n\n &--text-align-left {\n text-align: left;\n }\n &--text-align-center {\n text-align: center;\n }\n &--text-align-right {\n text-align: right;\n }\n &--vertical-align-top {\n vertical-align: top;\n }\n &--vertical-align-bottom {\n vertical-align: bottom;\n }\n &--vertical-align-middle {\n vertical-align: middle;\n }\n\n &--has-tooltip {\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &--sortable {\n user-select: none;\n cursor: pointer;\n &:hover {\n background: var(--spw-color-themes-grey-grey-300);\n }\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n &--is-sorted {\n .spw-table-header__sort-icon {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &__sort-icons {\n display: flex;\n gap: 0;\n }\n &--padding-small {\n padding: 8px;\n }\n &--padding-medium {\n padding: 16px;\n }\n &__icons {\n display: flex;\n gap: 8px;\n align-items: center;\n color: var(--spw-color-themes-grey-grey-500);\n }\n ::slotted(spw-checkbox) {\n --spw-ds-checkbox-checked-color: #000;\n }\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-header',\n styleUrl: 'spw-table-header.scss',\n shadow: true,\n})\nexport class SpwTableHeader {\n /** Définit un colspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() colspan?: HTMLTableCellElement['colSpan'];\n /** Définit un header relationnel pour la cellule, à des fins d'accessibilité (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() headers?: HTMLTableCellElement['headers'];\n /** Définit un rowspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() rowspan?: HTMLTableCellElement['rowSpan'];\n /** Définit un style visuel qui met en avant la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() isHighlighted?: boolean = false;\n /** Définit un alignement de texte pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() textAlign?: 'center' | 'left' | 'right' = 'left';\n /** Définit un alignement vertical pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() verticalAlign?: 'top' | 'bottom' | 'middle' = 'top';\n /** Définit le padding pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() padding?: 'small' | 'medium' = 'medium';\n /** Définit id pour la colonne (en cas de tri) (à appliquer sur spw-table-header) */\n @Prop() columnId: string;\n /** Définit si la colonne est triable (à appliquer sur spw-table-header) */\n @Prop() sortable?: boolean = false;\n /** Définit la direction pour le tri sur la colonne (ascendant ou descendant) (à appliquer sur spw-table-header) */\n @Prop() sortDirection?: 'asc' | 'desc';\n /** Définit si la colonne est triée ou non (à appliquer sur spw-table-header) */\n @Prop() isSorted?: boolean = false;\n /** Définit un titre pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipTitle?: string;\n /** Définit un contenu pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipText?: string;\n\n @Event() spwHeaderClick: EventEmitter<string>;\n\n private handleClick = (event: MouseEvent) => {\n if ((event.target as HTMLElement).closest('[slot=\"filters\"]')) {\n event.stopPropagation();\n return;\n }\n if (this.sortable) {\n this.spwHeaderClick.emit(this.columnId);\n }\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table-header': true,\n 'spw-table-header--sortable': this.sortable,\n 'spw-table-header--is-sorted': this.isSorted,\n 'spw-table-header--has-tooltip': !!(this.tooltipTitle || this.tooltipText),\n [`spw-table-header--padding-${this.padding}`]: true,\n [`spw-table-header--text-align-${this.textAlign}`]: true,\n [`spw-table-header--vertical-align-${this.verticalAlign}`]: true,\n };\n }\n\n render() {\n return (\n <th\n aria-sort={this.isSorted ? this.sortDirection : 'none'}\n onClick={this.handleClick}\n class={this.elementClass}\n colSpan={this.colspan}\n headers={this.headers}\n part=\"cell\"\n rowSpan={this.rowspan}\n >\n <div\n class={{\n 'spw-table-header__content': true,\n 'spw-table-header__content--is-sorted': this.isSorted,\n }}\n >\n <slot />\n <div class=\"spw-table-header__icons\">\n <slot name=\"filters\"></slot>\n {(this.tooltipTitle || this.tooltipText) && (\n <spw-tooltip tooltip-title={this.tooltipTitle} tooltip-text={this.tooltipText}>\n <spw-icon variant=\"fa-regular\" icon=\"fa-circle-question\"></spw-icon>\n </spw-tooltip>\n )}\n {this.sortable && (\n <spw-icon\n class=\"spw-table-header__sort-icon\"\n icon={this.isSorted ? (this.sortDirection === 'asc' ? 'fa-arrow-up-short-wide' : 'fa-arrow-down-wide-short') : 'fa-arrow-up-arrow-down'}\n ></spw-icon>\n )}\n </div>\n </div>\n </th>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"spw-table-header.js","mappings":"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","names":["SpwTableHeader","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table-header/spw-table-header.scss?tag=spw-table-header&encapsulation=shadow","src/components/spw-table/spw-table-header/spw-table-header.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n:host(.--is-sticky) {\n .spw-table-header {\n position: sticky;\n top: 0;\n z-index: 50;\n }\n}\n\n.spw-table-header {\n border: 1px solid var(--spw-color-themes-grey-grey-300);\n color: var(--spw-color-themes-grey-grey-800);\n font-size: 14px;\n text-align: left;\n font-weight: 700;\n transition: all 0.2s linear;\n background: var(--spw-color-themes-grey-grey-200);\n white-space: nowrap;\n border-top: none !important;\n border-bottom: none !important;\n box-shadow:\n inset 0 1px 0 var(--spw-color-themes-grey-grey-300),\n inset 0 -1px 0 var(--spw-color-themes-grey-grey-300);\n\n background-clip: padding-box;\n\n &--text-align-left {\n text-align: left;\n }\n &--text-align-center {\n text-align: center;\n }\n &--text-align-right {\n text-align: right;\n }\n &--vertical-align-top {\n vertical-align: top;\n }\n &--vertical-align-bottom {\n vertical-align: bottom;\n }\n &--vertical-align-middle {\n vertical-align: middle;\n }\n\n &--has-tooltip {\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &--sortable {\n user-select: none;\n cursor: pointer;\n &:hover {\n background: var(--spw-color-themes-grey-grey-300);\n }\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n &--is-sorted {\n .spw-table-header__sort-icon {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &__sort-icons {\n display: flex;\n gap: 0;\n }\n &--padding-small {\n padding: 8px;\n }\n &--padding-medium {\n padding: 16px;\n }\n &__icons {\n display: flex;\n gap: 8px;\n align-items: center;\n color: var(--spw-color-themes-grey-grey-500);\n }\n ::slotted(spw-checkbox) {\n --spw-ds-checkbox-checked-color: #000;\n }\n\n &--sticky {\n position: sticky;\n background-color: var(--spw-color-themes-grey-grey-200);\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 8px;\n pointer-events: none;\n transition: opacity 0.2s;\n }\n\n &-start::after {\n right: -8px;\n box-shadow: inset 8px 0 8px -8px rgba(0, 0, 0, 0.15);\n }\n\n &-end::after {\n left: -8px;\n box-shadow: inset -8px 0 8px -8px rgba(0, 0, 0, 0.15);\n }\n }\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-header',\n styleUrl: 'spw-table-header.scss',\n shadow: true,\n})\nexport class SpwTableHeader {\n /** Définit un colspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() colspan?: HTMLTableCellElement['colSpan'];\n /** Définit un header relationnel pour la cellule, à des fins d'accessibilité (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() headers?: HTMLTableCellElement['headers'];\n /** Définit un rowspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() rowspan?: HTMLTableCellElement['rowSpan'];\n /** Définit un style visuel qui met en avant la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() isHighlighted?: boolean = false;\n /** Définit un alignement de texte pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() textAlign?: 'center' | 'left' | 'right' = 'left';\n /** Définit un alignement vertical pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() verticalAlign?: 'top' | 'bottom' | 'middle' = 'top';\n /** Définit le padding pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() padding?: 'small' | 'medium' = 'medium';\n /** Définit id pour la colonne (en cas de tri) (à appliquer sur spw-table-header) */\n @Prop() columnId: string;\n /** Définit si la colonne est triable (à appliquer sur spw-table-header) */\n @Prop() sortable?: boolean = false;\n /** Définit la direction pour le tri sur la colonne (ascendant ou descendant) (à appliquer sur spw-table-header) */\n @Prop() sortDirection?: 'asc' | 'desc';\n /** Définit si la colonne est triée ou non (à appliquer sur spw-table-header) */\n @Prop() isSorted?: boolean = false;\n /** Définit un titre pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipTitle?: string;\n /** Définit un contenu pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipText?: string;\n /** Rend la cellule sticky lors du défilement horizontal (à appliquer sur spw-table-header ou spw-table-cell) */\n @Prop() sticky?: boolean = false;\n /** Position du sticky : 'start' (left: 0) ou 'end' (right: 0) (à appliquer sur spw-table-header ou spw-table-cell) */\n @Prop() stickyPosition?: 'start' | 'end' = 'start';\n /** Décalage en pixels pour le sticky (utile pour empiler plusieurs colonnes sticky) (à appliquer sur spw-table-header ou spw-table-cell) */\n @Prop() stickyOffset?: number = 0;\n\n @Event() spwHeaderClick: EventEmitter<string>;\n\n private handleClick = (event: MouseEvent) => {\n if ((event.target as HTMLElement).closest('[slot=\"filters\"]')) {\n event.stopPropagation();\n return;\n }\n if (this.sortable) {\n this.spwHeaderClick.emit(this.columnId);\n }\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table-header': true,\n 'spw-table-header--sortable': this.sortable,\n 'spw-table-header--is-sorted': this.isSorted,\n 'spw-table-header--has-tooltip': !!(this.tooltipTitle || this.tooltipText),\n [`spw-table-header--padding-${this.padding}`]: true,\n [`spw-table-header--text-align-${this.textAlign}`]: true,\n [`spw-table-header--vertical-align-${this.verticalAlign}`]: true,\n 'spw-table-header--sticky': this.sticky,\n [`spw-table-header--sticky-${this.stickyPosition}`]: this.sticky,\n };\n }\n\n render() {\n const attrs: { [key: string]: any } = {\n 'aria-sort': this.isSorted ? this.sortDirection : 'none',\n 'onClick': this.handleClick,\n 'class': this.elementClass,\n 'colSpan': this.colspan,\n 'headers': this.headers,\n 'part': 'cell',\n 'rowSpan': this.rowspan,\n };\n\n if (this.sticky) {\n const stickyStyles: { [key: string]: string } = {\n position: 'sticky',\n zIndex: '60',\n };\n\n if (this.stickyPosition === 'start') {\n stickyStyles.left = `${this.stickyOffset}px`;\n } else {\n stickyStyles.right = `${this.stickyOffset}px`;\n }\n\n attrs.style = stickyStyles;\n }\n\n return (\n <th {...attrs}>\n <div\n class={{\n 'spw-table-header__content': true,\n 'spw-table-header__content--is-sorted': this.isSorted,\n }}\n >\n <slot />\n <div class=\"spw-table-header__icons\">\n <slot name=\"filters\"></slot>\n {(this.tooltipTitle || this.tooltipText) && (\n <spw-tooltip tooltip-title={this.tooltipTitle} tooltip-text={this.tooltipText}>\n <spw-icon variant=\"fa-regular\" icon=\"fa-circle-question\"></spw-icon>\n </spw-tooltip>\n )}\n {this.sortable && (\n <spw-icon\n class=\"spw-table-header__sort-icon\"\n icon={this.isSorted ? (this.sortDirection === 'asc' ? 'fa-arrow-up-short-wide' : 'fa-arrow-down-wide-short') : 'fa-arrow-up-arrow-down'}\n ></spw-icon>\n )}\n </div>\n </div>\n </th>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, h, a as Host } from './index.js';
|
|
2
2
|
|
|
3
|
-
const spwTableRowCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:contents;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}:host([data-row-style=odd]) .spw-table-row{background-color:var(--spw-color-themes-grey-grey-50)}.spw-table-row{position:relative}.spw-table-row--disabled{
|
|
3
|
+
const spwTableRowCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:contents;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}:host([data-row-style=odd]) .spw-table-row{background-color:var(--spw-color-themes-grey-grey-50)}.spw-table-row{position:relative}.spw-table-row--disabled{background:#fff}.spw-table-row--selected{background-color:var(--spw-color-themes-blue-blue-50);box-shadow:inset 3px 0 0 var(--spw-color-themes-blue-blue-500)}";
|
|
4
4
|
|
|
5
5
|
const SpwTableRow$1 = /*@__PURE__*/ proxyCustomElement(class SpwTableRow extends H {
|
|
6
6
|
constructor() {
|
|
@@ -10,6 +10,33 @@ const SpwTableRow$1 = /*@__PURE__*/ proxyCustomElement(class SpwTableRow extends
|
|
|
10
10
|
/** Permet de changer le state du spw-table-row */
|
|
11
11
|
this.state = 'default';
|
|
12
12
|
}
|
|
13
|
+
componentDidLoad() {
|
|
14
|
+
this.applyPropsToChildren();
|
|
15
|
+
}
|
|
16
|
+
slotChanged() {
|
|
17
|
+
this.applyPropsToChildren();
|
|
18
|
+
}
|
|
19
|
+
onStateChange() {
|
|
20
|
+
this.applyPropsToChildren();
|
|
21
|
+
}
|
|
22
|
+
onPaddingChange() {
|
|
23
|
+
this.applyPropsToChildren();
|
|
24
|
+
}
|
|
25
|
+
applyPropsToChildren() {
|
|
26
|
+
requestAnimationFrame(() => {
|
|
27
|
+
const cells = this.el.querySelectorAll('spw-table-cell, spw-table-header');
|
|
28
|
+
const stateClass = `--${this.state}`;
|
|
29
|
+
cells.forEach(cell => {
|
|
30
|
+
cell.classList.remove('--default', '--selected', '--disabled');
|
|
31
|
+
if (this.state !== 'default') {
|
|
32
|
+
cell.classList.add(stateClass);
|
|
33
|
+
}
|
|
34
|
+
if (this.padding && !cell.hasAttribute('padding')) {
|
|
35
|
+
cell.padding = this.padding;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
13
40
|
get elementClass() {
|
|
14
41
|
return {
|
|
15
42
|
'spw-table-row': true,
|
|
@@ -17,11 +44,20 @@ const SpwTableRow$1 = /*@__PURE__*/ proxyCustomElement(class SpwTableRow extends
|
|
|
17
44
|
};
|
|
18
45
|
}
|
|
19
46
|
render() {
|
|
20
|
-
return (h(Host, { key: '
|
|
47
|
+
return (h(Host, { key: 'a92e7619db6ca66332e5680add2f4f074ddb5db5', part: "row" }, h("tr", { key: '198d8027ea3cd377444f476e0c77d35de50c22c2', class: this.elementClass, part: "row" }, h("slot", { key: '667fb895983eff3077f36da1ac0d31756c8dd691' }))));
|
|
21
48
|
}
|
|
49
|
+
get el() { return this; }
|
|
50
|
+
static get watchers() { return {
|
|
51
|
+
"state": ["onStateChange"],
|
|
52
|
+
"padding": ["onPaddingChange"]
|
|
53
|
+
}; }
|
|
22
54
|
static get style() { return spwTableRowCss; }
|
|
23
55
|
}, [1, "spw-table-row", {
|
|
24
|
-
"state": [1]
|
|
56
|
+
"state": [1],
|
|
57
|
+
"padding": [1]
|
|
58
|
+
}, [[0, "slotchange", "slotChanged"]], {
|
|
59
|
+
"state": ["onStateChange"],
|
|
60
|
+
"padding": ["onPaddingChange"]
|
|
25
61
|
}]);
|
|
26
62
|
function defineCustomElement$1() {
|
|
27
63
|
if (typeof customElements === "undefined") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"spw-table-row.js","mappings":";;AAAA,MAAM,cAAc,GAAG,
|
|
1
|
+
{"file":"spw-table-row.js","mappings":";;AAAA,MAAM,cAAc,GAAG,w4FAAw4F;;MCOl5FA,aAAW,iBAAAC,kBAAA,CAAA,MAAA,WAAA,SAAAC,CAAA,CAAA;AALxB,IAAA,WAAA,GAAA;;;;;AASU,QAAA,IAAK,CAAA,KAAA,GAAyC,SAAS;AAyDhE;IArDC,gBAAgB,GAAA;QACd,IAAI,CAAC,oBAAoB,EAAE;;IAI7B,WAAW,GAAA;QACT,IAAI,CAAC,oBAAoB,EAAE;;IAI7B,aAAa,GAAA;QACX,IAAI,CAAC,oBAAoB,EAAE;;IAI7B,eAAe,GAAA;QACb,IAAI,CAAC,oBAAoB,EAAE;;IAGrB,oBAAoB,GAAA;QAC1B,qBAAqB,CAAC,MAAK;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,kCAAkC,CAAC;AAC1E,YAAA,MAAM,UAAU,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,KAAK,EAAE;AAEpC,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;gBACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;AAC9D,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC5B,oBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;;AAGhC,gBAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;AAChD,oBAAA,IAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;;AAExC,aAAC,CAAC;AACJ,SAAC,CAAC;;AAGJ,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO;AACL,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;SACvC;;IAGH,MAAM,GAAA;QACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,KAAK,EAAA,EACd,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAC,KAAK,EAAA,EACtC,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACL,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SpwTableRow","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table-row/spw-table-row.scss?tag=spw-table-row&encapsulation=shadow","src/components/spw-table/spw-table-row/spw-table-row.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n:host([data-row-style='odd']) {\n .spw-table-row {\n background-color: var(--spw-color-themes-grey-grey-50);\n }\n}\n\n.spw-table-row {\n position: relative;\n\n &--disabled {\n background: white;\n }\n &--selected {\n background-color: var(--spw-color-themes-blue-blue-50);\n box-shadow: inset 3px 0 0 var(--spw-color-themes-blue-blue-500);\n }\n}\n","import { Component, Host, Prop, Element, Listen, Watch, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-row',\n styleUrl: 'spw-table-row.scss',\n shadow: true,\n})\nexport class SpwTableRow {\n @Element() el: HTMLSpwTableRowElement;\n\n /** Permet de changer le state du spw-table-row */\n @Prop() state?: 'default' | 'selected' | 'disabled' = 'default';\n /** Définit le padding pour toutes les cellules de la row */\n @Prop() padding?: 'small' | 'medium';\n\n componentDidLoad() {\n this.applyPropsToChildren();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.applyPropsToChildren();\n }\n\n @Watch('state')\n onStateChange() {\n this.applyPropsToChildren();\n }\n\n @Watch('padding')\n onPaddingChange() {\n this.applyPropsToChildren();\n }\n\n private applyPropsToChildren() {\n requestAnimationFrame(() => {\n const cells = this.el.querySelectorAll('spw-table-cell, spw-table-header');\n const stateClass = `--${this.state}`;\n\n cells.forEach(cell => {\n cell.classList.remove('--default', '--selected', '--disabled');\n if (this.state !== 'default') {\n cell.classList.add(stateClass);\n }\n\n if (this.padding && !cell.hasAttribute('padding')) {\n (cell as any).padding = this.padding;\n }\n });\n });\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table-row': true,\n [`spw-table-row--${this.state}`]: true,\n };\n }\n\n render() {\n return (\n <Host part=\"row\">\n <tr class={this.elementClass} part=\"row\">\n <slot />\n </tr>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,36 +1,74 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, a as Host } from './index.js';
|
|
2
2
|
|
|
3
|
-
const spwTableCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3;position:relative}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-table-container{scrollbar-face-color:var(--spw-color-themes-grey-grey-400);scrollbar-track-color:var(--spw-ds-white);border-radius:4px;max-height:var(--spw-table-max-height);outline:1px solid var(--spw-color-themes-grey-grey-300);outline-offset:-1px;overflow-x:auto;overflow-y:auto;position:relative;width:100%}.spw-table-container::-webkit-scrollbar{height:14px;width:14px}.spw-table-container::-webkit-scrollbar-thumb{background:var(--spw-color-themes-grey-grey-400);border:4px solid var(--spw-ds-white);border-radius:20px}.spw-table-container::-webkit-scrollbar-track{background:var(--spw-ds-white)}.spw-table{border-collapse:collapse;border-radius:4px;min-width:var(--spw-table-min-width);position:relative;width:100%}";
|
|
3
|
+
const spwTableCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3;position:relative}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-table-container{scrollbar-face-color:var(--spw-color-themes-grey-grey-400);scrollbar-track-color:var(--spw-ds-white);border-radius:4px;max-height:var(--spw-table-max-height);outline:1px solid var(--spw-color-themes-grey-grey-300);outline-offset:-1px;overflow-x:auto;overflow-y:auto;position:relative;width:100%}.spw-table-container::-webkit-scrollbar{height:14px;width:14px}.spw-table-container::-webkit-scrollbar-thumb{background:var(--spw-color-themes-grey-grey-400);border:4px solid var(--spw-ds-white);border-radius:20px}.spw-table-container::-webkit-scrollbar-track{background:var(--spw-ds-white)}.spw-table{border-collapse:collapse;border-radius:4px;min-width:var(--spw-table-min-width);position:relative;width:100%}.spw-table--layout-fixed{table-layout:fixed}.spw-table--layout-auto{table-layout:auto}";
|
|
4
4
|
|
|
5
5
|
const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
|
|
6
6
|
constructor() {
|
|
7
7
|
super();
|
|
8
8
|
this.__registerHost();
|
|
9
9
|
this.__attachShadow();
|
|
10
|
-
this.spwSort = createEvent(this, "spwSort");
|
|
10
|
+
this.spwSort = createEvent(this, "spwSort", 7);
|
|
11
11
|
/** Si le header du tableau doit être sticky ou non */
|
|
12
12
|
this.isSticky = false;
|
|
13
13
|
/** Si défini, apparition d'une scrollbar horizontale et max-width */
|
|
14
14
|
this.minWidth = '600';
|
|
15
|
+
/** Permet de définir le table-layout (auto ou fixed) */
|
|
16
|
+
this.tableLayout = 'auto';
|
|
15
17
|
/** Définit un background de couleur différent une ligne sur 2 */
|
|
16
18
|
this.isZebra = false;
|
|
19
|
+
/** Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée */
|
|
20
|
+
this.disableSort = false;
|
|
21
|
+
this.checkboxChangeHandler = () => this.updateMasterCheckboxState();
|
|
22
|
+
}
|
|
23
|
+
onCurrentSortChange(newSort) {
|
|
24
|
+
if (newSort) {
|
|
25
|
+
this.updateHeadersSortState(newSort);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
onIsStickyChange() {
|
|
29
|
+
this.applyStickyToChildren();
|
|
17
30
|
}
|
|
18
31
|
componentDidLoad() {
|
|
19
32
|
var _a;
|
|
20
33
|
this.updateZebra();
|
|
34
|
+
this.applyStickyToChildren();
|
|
21
35
|
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
|
|
22
36
|
if (slot) {
|
|
23
37
|
slot.addEventListener('slotchange', () => {
|
|
24
38
|
this.setupHeaderCheckboxListener();
|
|
25
39
|
this.updateMasterCheckboxState();
|
|
40
|
+
this.applyStickyToChildren();
|
|
26
41
|
});
|
|
27
42
|
}
|
|
28
43
|
this.setupHeaderCheckboxListener();
|
|
29
44
|
this.setupBodyCheckboxListener();
|
|
45
|
+
this.setupTableBodyObserver();
|
|
30
46
|
setTimeout(() => {
|
|
31
47
|
this.updateMasterCheckboxState();
|
|
32
48
|
}, 0);
|
|
33
49
|
}
|
|
50
|
+
disconnectedCallback() {
|
|
51
|
+
if (this.mutationObserver) {
|
|
52
|
+
this.mutationObserver.disconnect();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
setupTableBodyObserver() {
|
|
56
|
+
const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');
|
|
57
|
+
if (!body)
|
|
58
|
+
return;
|
|
59
|
+
this.mutationObserver = new MutationObserver(() => {
|
|
60
|
+
this.setupBodyCheckboxListener();
|
|
61
|
+
setTimeout(() => {
|
|
62
|
+
this.updateMasterCheckboxState();
|
|
63
|
+
}, 0);
|
|
64
|
+
});
|
|
65
|
+
this.mutationObserver.observe(body, {
|
|
66
|
+
childList: true,
|
|
67
|
+
subtree: true,
|
|
68
|
+
attributes: true,
|
|
69
|
+
attributeFilter: ['checked', 'disabled'],
|
|
70
|
+
});
|
|
71
|
+
}
|
|
34
72
|
getMasterCheckboxColumnIndex() {
|
|
35
73
|
var _a;
|
|
36
74
|
const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
|
|
@@ -128,7 +166,8 @@ const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
|
|
|
128
166
|
rows.forEach(row => {
|
|
129
167
|
const checkboxes = row.querySelectorAll('spw-checkbox');
|
|
130
168
|
checkboxes.forEach(cb => {
|
|
131
|
-
cb.
|
|
169
|
+
cb.removeEventListener('spwChange', this.checkboxChangeHandler);
|
|
170
|
+
cb.addEventListener('spwChange', this.checkboxChangeHandler);
|
|
132
171
|
});
|
|
133
172
|
});
|
|
134
173
|
}
|
|
@@ -167,7 +206,9 @@ const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
|
|
|
167
206
|
};
|
|
168
207
|
this.currentSort = newSort;
|
|
169
208
|
this.spwSort.emit(newSort);
|
|
170
|
-
this.
|
|
209
|
+
if (!this.disableSort) {
|
|
210
|
+
this.sortRows(newSort.column, newSort.direction);
|
|
211
|
+
}
|
|
171
212
|
this.updateHeadersSortState(newSort);
|
|
172
213
|
this.updateZebra();
|
|
173
214
|
}
|
|
@@ -189,6 +230,23 @@ const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
|
|
|
189
230
|
}
|
|
190
231
|
}
|
|
191
232
|
}
|
|
233
|
+
applyStickyToChildren() {
|
|
234
|
+
requestAnimationFrame(() => {
|
|
235
|
+
const stickyClass = '--is-sticky';
|
|
236
|
+
const headers = this.el.querySelectorAll('spw-table-header');
|
|
237
|
+
const cells = this.el.querySelectorAll('spw-table-cell');
|
|
238
|
+
const footer = this.el.querySelector('spw-table-footer');
|
|
239
|
+
if (this.isSticky) {
|
|
240
|
+
headers.forEach(header => header.classList.add(stickyClass));
|
|
241
|
+
footer === null || footer === void 0 ? void 0 : footer.classList.add(stickyClass);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
headers.forEach(header => header.classList.remove(stickyClass));
|
|
245
|
+
cells.forEach(cell => cell.classList.remove(stickyClass));
|
|
246
|
+
footer === null || footer === void 0 ? void 0 : footer.classList.remove(stickyClass);
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
}
|
|
192
250
|
sortRows(columnId, direction) {
|
|
193
251
|
var _a;
|
|
194
252
|
const body = (_a = this.el.shadowRoot
|
|
@@ -235,24 +293,34 @@ const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
|
|
|
235
293
|
return {
|
|
236
294
|
'spw-table': true,
|
|
237
295
|
'spw-table--is-sticky': this.isSticky,
|
|
296
|
+
[`spw-table--layout-${this.tableLayout}`]: true,
|
|
238
297
|
};
|
|
239
298
|
}
|
|
240
299
|
render() {
|
|
241
|
-
return (h(Host, { key: '
|
|
300
|
+
return (h(Host, { key: '7cc259ed7e17128348ebd7a6757d48b2d0114e0a', style: {
|
|
242
301
|
'--spw-table-max-height': this.formatSize(this.maxHeight),
|
|
243
302
|
'--spw-table-min-width': this.formatSize(this.minWidth),
|
|
244
|
-
} }, h("div", { key: '
|
|
303
|
+
} }, h("div", { key: 'b5dac474e57841c60312f92045859a1ff0d741c7', class: "spw-table-container" }, h("table", { key: '67790f5adbd07b77c80be97b03406ca6d8296d13', part: "table", class: this.elementClass, role: "table", "aria-label": this.accAriaLabel }, h("slot", { key: '208be3ca21332261306114673e756ca47bc0582d' })))));
|
|
245
304
|
}
|
|
246
305
|
get el() { return this; }
|
|
306
|
+
static get watchers() { return {
|
|
307
|
+
"currentSort": ["onCurrentSortChange"],
|
|
308
|
+
"isSticky": ["onIsStickyChange"]
|
|
309
|
+
}; }
|
|
247
310
|
static get style() { return spwTableCss; }
|
|
248
311
|
}, [1, "spw-table", {
|
|
249
312
|
"accAriaLabel": [1, "acc-aria-label"],
|
|
250
313
|
"isSticky": [4, "is-sticky"],
|
|
251
314
|
"maxHeight": [1, "max-height"],
|
|
252
315
|
"minWidth": [1, "min-width"],
|
|
316
|
+
"tableLayout": [1, "table-layout"],
|
|
253
317
|
"isZebra": [4, "is-zebra"],
|
|
254
|
-
"
|
|
255
|
-
|
|
318
|
+
"disableSort": [4, "disable-sort"],
|
|
319
|
+
"currentSort": [1040]
|
|
320
|
+
}, [[0, "spwHeaderClick", "handleHeaderClick"]], {
|
|
321
|
+
"currentSort": ["onCurrentSortChange"],
|
|
322
|
+
"isSticky": ["onIsStickyChange"]
|
|
323
|
+
}]);
|
|
256
324
|
function defineCustomElement$1() {
|
|
257
325
|
if (typeof customElements === "undefined") {
|
|
258
326
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"spw-table.js","mappings":"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","names":["SpwTable","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table.scss?tag=spw-table&encapsulation=shadow","src/components/spw-table/spw-table.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n}\n\n%highlight {\n font-weight: 700;\n background: var(--spw-color-themes-grey-grey-100);\n}\n\n.spw-table-container {\n width: 100%;\n overflow-x: auto;\n overflow-y: auto;\n max-height: var(--spw-table-max-height);\n border-radius: 4px;\n outline: 1px solid var(--spw-color-themes-grey-grey-300);\n outline-offset: -1px;\n position: relative;\n @include scrollbars(var(--spw-color-themes-grey-grey-400), var(--spw-ds-white));\n}\n\n.spw-table {\n width: 100%;\n border-collapse: collapse;\n min-width: var(--spw-table-min-width);\n border-radius: 4px;\n position: relative;\n}\n","import { Component, Element, Event, Listen, State, EventEmitter, Host, Prop, h } from '@stencil/core';\n\nexport interface SortEvent {\n column: string;\n direction: 'asc' | 'desc';\n}\n\n@Component({\n tag: 'spw-table',\n styleUrl: 'spw-table.scss',\n shadow: true,\n})\nexport class SpwTable {\n @Element() el: HTMLSpwTableElement;\n\n /** Propriété pour l'aria-label, à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n /** Si le header du tableau doit être sticky ou non */\n @Prop() isSticky?: boolean = false;\n /** Si défini, apparition d'une scrollbar verticale et max-height */\n @Prop() maxHeight?: string;\n /** Si défini, apparition d'une scrollbar horizontale et max-width */\n @Prop() minWidth?: string = '600';\n /** Définit un background de couleur différent une ligne sur 2 */\n @Prop() isZebra?: boolean = false;\n\n @Event() spwSort: EventEmitter<SortEvent>;\n\n @State() currentSort?: SortEvent;\n\n componentDidLoad() {\n this.updateZebra();\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.setupHeaderCheckboxListener();\n this.updateMasterCheckboxState();\n });\n }\n this.setupHeaderCheckboxListener();\n this.setupBodyCheckboxListener();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n private getMasterCheckboxColumnIndex(): number | null {\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (!slot) return null;\n\n const assignedElements = slot.assignedElements({ flatten: true }) as HTMLElement[];\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return null;\n\n const headerRow = head.querySelector('spw-table-row');\n if (!headerRow) return null;\n\n const headerCells = Array.from(headerRow.querySelectorAll('spw-table-header'));\n\n for (let i = 0; i < headerCells.length; i++) {\n if (headerCells[i].querySelector('spw-checkbox')) {\n return i;\n }\n }\n\n return null;\n }\n\n private isCheckboxDisabled(checkbox: any): boolean {\n return checkbox?.disabled === true || checkbox?.getAttribute('disabled') === 'true' || checkbox?.getAttribute('disabled') === '';\n }\n\n private updateMasterCheckboxState() {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!head || !body) return;\n\n const headerRow = head.querySelector('spw-table-row');\n const headerCell = headerRow?.querySelectorAll('spw-table-header')[columnIndex];\n const masterCheckbox = headerCell?.querySelector('spw-checkbox') as any;\n\n const rows = body.querySelectorAll('spw-table-row');\n const checkboxData = Array.from(rows).map(row => {\n const cell = row.querySelectorAll('spw-table-cell')[columnIndex];\n const cb = cell?.querySelector('spw-checkbox') as any;\n return {\n checked: cb?.checked === true || cb?.getAttribute('checked') === 'true',\n disabled: this.isCheckboxDisabled(cb),\n };\n });\n\n const enabledCheckboxes = checkboxData.filter(item => !item.disabled);\n\n if (enabledCheckboxes.length === 0) return;\n\n const allChecked = enabledCheckboxes.every(item => item.checked);\n const noneChecked = enabledCheckboxes.every(item => !item.checked);\n\n if (!masterCheckbox) return;\n\n if (allChecked) {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else if (noneChecked) {\n masterCheckbox.checked = false;\n masterCheckbox.setAttribute('checked', 'false');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-minus');\n }\n }\n\n private setupHeaderCheckboxListener() {\n const assignedElements = this.el.shadowRoot?.querySelector('slot')?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return;\n\n const headerRows = head.querySelectorAll('spw-table-row');\n\n headerRows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.addEventListener('spwChange', (event: CustomEvent<boolean>) => {\n this.toggleAllRowCheckboxes(event.detail);\n });\n });\n });\n }\n\n private setupBodyCheckboxListener() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n rows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.addEventListener('spwChange', () => this.updateMasterCheckboxState());\n });\n });\n }\n\n private toggleAllRowCheckboxes(checked: boolean) {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n\n rows.forEach(row => {\n const cells = Array.from(row.querySelectorAll('spw-table-cell'));\n const targetCell = cells[columnIndex];\n const checkbox = targetCell?.querySelector('spw-checkbox') as any;\n\n if (checkbox && !this.isCheckboxDisabled(checkbox)) {\n checkbox.checked = checked;\n checkbox.setAttribute('checked', checked.toString());\n }\n });\n\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n @Listen('spwHeaderClick')\n handleHeaderClick(event: CustomEvent<string>) {\n const columnId = event.detail;\n const current = this.currentSort;\n\n const newSort: SortEvent = {\n column: columnId,\n direction: current?.column === columnId && current.direction === 'asc' ? 'desc' : 'asc',\n };\n\n this.currentSort = newSort;\n this.spwSort.emit(newSort);\n this.sortRows(newSort.column, newSort.direction);\n this.updateHeadersSortState(newSort);\n this.updateZebra();\n }\n\n private updateZebra() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (!slot) return;\n\n const assignedElements = slot.assignedElements({ flatten: true });\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body') as any;\n\n if (body) {\n if (this.isZebra) {\n body.setAttribute('is-zebra', 'true');\n } else {\n body.removeAttribute('is-zebra');\n }\n\n if (typeof body.updateZebraStyles === 'function') {\n body.updateZebraStyles();\n }\n }\n }\n\n private sortRows(columnId: string, direction: 'asc' | 'desc') {\n const body = this.el.shadowRoot\n .querySelector('slot')\n ?.assignedElements()\n .find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = Array.from(body.querySelectorAll('spw-table-row'));\n\n const columnIndex = Array.from(this.el.querySelectorAll('spw-table-header')).findIndex((header: any) => header.columnId === columnId);\n if (columnIndex === -1) return;\n\n rows.sort((a: any, b: any) => {\n const aCell = a.querySelectorAll('spw-table-cell')[columnIndex];\n const bCell = b.querySelectorAll('spw-table-cell')[columnIndex];\n if (!aCell || !bCell) return 0;\n\n const aValue = aCell.textContent.trim();\n const bValue = bCell.textContent.trim();\n\n if (!isNaN(Number(aValue)) && !isNaN(Number(bValue))) {\n return direction === 'asc' ? +aValue - +bValue : +bValue - +aValue;\n }\n\n return direction === 'asc' ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n });\n\n rows.forEach(row => body.appendChild(row));\n\n const bodyComponent = body as HTMLSpwTableBodyElement;\n if (bodyComponent?.updateZebraStyles) {\n bodyComponent.updateZebraStyles();\n }\n }\n\n private updateHeadersSortState(sort: SortEvent) {\n const headers = this.el.querySelectorAll('spw-table-header');\n headers.forEach((header: any) => {\n const isCurrent = header.columnId === sort.column;\n header.isSorted = isCurrent;\n header.sortDirection = isCurrent ? sort.direction : undefined;\n });\n }\n\n private formatSize(value?: string): string {\n if (value === undefined || value === null) {\n return 'auto';\n }\n return `${value}px`;\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table': true,\n 'spw-table--is-sticky': this.isSticky,\n };\n }\n\n render() {\n return (\n <Host\n style={{\n '--spw-table-max-height': this.formatSize(this.maxHeight),\n '--spw-table-min-width': this.formatSize(this.minWidth),\n }}\n >\n <div class=\"spw-table-container\">\n <table part=\"table\" class={this.elementClass} role=\"table\" aria-label={this.accAriaLabel}>\n <slot />\n </table>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"spw-table.js","mappings":"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","names":["SpwTable","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table.scss?tag=spw-table&encapsulation=shadow","src/components/spw-table/spw-table.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n}\n\n%highlight {\n font-weight: 700;\n background: var(--spw-color-themes-grey-grey-100);\n}\n\n.spw-table-container {\n width: 100%;\n overflow-x: auto;\n overflow-y: auto;\n max-height: var(--spw-table-max-height);\n border-radius: 4px;\n outline: 1px solid var(--spw-color-themes-grey-grey-300);\n outline-offset: -1px;\n position: relative;\n @include scrollbars(var(--spw-color-themes-grey-grey-400), var(--spw-ds-white));\n}\n\n.spw-table {\n width: 100%;\n border-collapse: collapse;\n min-width: var(--spw-table-min-width);\n border-radius: 4px;\n position: relative;\n &--layout-fixed {\n table-layout: fixed;\n }\n &--layout-auto {\n table-layout: auto;\n }\n}\n","import { Component, Element, Event, Listen, EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\n\nexport interface SortEvent {\n column: string;\n direction: 'asc' | 'desc';\n}\n\n@Component({\n tag: 'spw-table',\n styleUrl: 'spw-table.scss',\n shadow: true,\n})\nexport class SpwTable {\n @Element() el: HTMLSpwTableElement;\n\n /** Propriété pour l'aria-label, à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n /** Si le header du tableau doit être sticky ou non */\n @Prop() isSticky?: boolean = false;\n /** Si défini, apparition d'une scrollbar verticale et max-height */\n @Prop() maxHeight?: string;\n /** Si défini, apparition d'une scrollbar horizontale et max-width */\n @Prop() minWidth?: string = '600';\n /** Permet de définir le table-layout (auto ou fixed) */\n @Prop() tableLayout?: 'auto' | 'fixed' = 'auto';\n /** Définit un background de couleur différent une ligne sur 2 */\n @Prop() isZebra?: boolean = false;\n /** Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée */\n @Prop() disableSort?: boolean = false;\n /** État du tri actuel (colonne et direction). Peut être défini de l'extérieur pour un tri personnalisé */\n @Prop({ mutable: true }) currentSort?: SortEvent;\n\n @Event() spwSort: EventEmitter<SortEvent>;\n\n private mutationObserver?: MutationObserver;\n\n @Watch('currentSort')\n onCurrentSortChange(newSort: SortEvent | undefined) {\n if (newSort) {\n this.updateHeadersSortState(newSort);\n }\n }\n\n @Watch('isSticky')\n onIsStickyChange() {\n this.applyStickyToChildren();\n }\n\n componentDidLoad() {\n this.updateZebra();\n this.applyStickyToChildren();\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.setupHeaderCheckboxListener();\n this.updateMasterCheckboxState();\n this.applyStickyToChildren();\n });\n }\n this.setupHeaderCheckboxListener();\n this.setupBodyCheckboxListener();\n this.setupTableBodyObserver();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n private setupTableBodyObserver() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n this.mutationObserver = new MutationObserver(() => {\n this.setupBodyCheckboxListener();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n });\n\n this.mutationObserver.observe(body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['checked', 'disabled'],\n });\n }\n\n private getMasterCheckboxColumnIndex(): number | null {\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (!slot) return null;\n\n const assignedElements = slot.assignedElements({ flatten: true }) as HTMLElement[];\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return null;\n\n const headerRow = head.querySelector('spw-table-row');\n if (!headerRow) return null;\n\n const headerCells = Array.from(headerRow.querySelectorAll('spw-table-header'));\n\n for (let i = 0; i < headerCells.length; i++) {\n if (headerCells[i].querySelector('spw-checkbox')) {\n return i;\n }\n }\n\n return null;\n }\n\n private isCheckboxDisabled(checkbox: any): boolean {\n return checkbox?.disabled === true || checkbox?.getAttribute('disabled') === 'true' || checkbox?.getAttribute('disabled') === '';\n }\n\n private updateMasterCheckboxState() {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!head || !body) return;\n\n const headerRow = head.querySelector('spw-table-row');\n const headerCell = headerRow?.querySelectorAll('spw-table-header')[columnIndex];\n const masterCheckbox = headerCell?.querySelector('spw-checkbox') as any;\n\n const rows = body.querySelectorAll('spw-table-row');\n const checkboxData = Array.from(rows).map(row => {\n const cell = row.querySelectorAll('spw-table-cell')[columnIndex];\n const cb = cell?.querySelector('spw-checkbox') as any;\n return {\n checked: cb?.checked === true || cb?.getAttribute('checked') === 'true',\n disabled: this.isCheckboxDisabled(cb),\n };\n });\n\n const enabledCheckboxes = checkboxData.filter(item => !item.disabled);\n\n if (enabledCheckboxes.length === 0) return;\n\n const allChecked = enabledCheckboxes.every(item => item.checked);\n const noneChecked = enabledCheckboxes.every(item => !item.checked);\n\n if (!masterCheckbox) return;\n\n if (allChecked) {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else if (noneChecked) {\n masterCheckbox.checked = false;\n masterCheckbox.setAttribute('checked', 'false');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-minus');\n }\n }\n\n private setupHeaderCheckboxListener() {\n const assignedElements = this.el.shadowRoot?.querySelector('slot')?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return;\n\n const headerRows = head.querySelectorAll('spw-table-row');\n\n headerRows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.addEventListener('spwChange', (event: CustomEvent<boolean>) => {\n this.toggleAllRowCheckboxes(event.detail);\n });\n });\n });\n }\n\n private checkboxChangeHandler = () => this.updateMasterCheckboxState();\n\n private setupBodyCheckboxListener() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n rows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.removeEventListener('spwChange', this.checkboxChangeHandler);\n cb.addEventListener('spwChange', this.checkboxChangeHandler);\n });\n });\n }\n\n private toggleAllRowCheckboxes(checked: boolean) {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n\n rows.forEach(row => {\n const cells = Array.from(row.querySelectorAll('spw-table-cell'));\n const targetCell = cells[columnIndex];\n const checkbox = targetCell?.querySelector('spw-checkbox') as any;\n\n if (checkbox && !this.isCheckboxDisabled(checkbox)) {\n checkbox.checked = checked;\n checkbox.setAttribute('checked', checked.toString());\n }\n });\n\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n @Listen('spwHeaderClick')\n handleHeaderClick(event: CustomEvent<string>) {\n const columnId = event.detail;\n const current = this.currentSort;\n\n const newSort: SortEvent = {\n column: columnId,\n direction: current?.column === columnId && current.direction === 'asc' ? 'desc' : 'asc',\n };\n\n this.currentSort = newSort;\n this.spwSort.emit(newSort);\n\n if (!this.disableSort) {\n this.sortRows(newSort.column, newSort.direction);\n }\n\n this.updateHeadersSortState(newSort);\n this.updateZebra();\n }\n\n private updateZebra() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (!slot) return;\n\n const assignedElements = slot.assignedElements({ flatten: true });\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body') as any;\n\n if (body) {\n if (this.isZebra) {\n body.setAttribute('is-zebra', 'true');\n } else {\n body.removeAttribute('is-zebra');\n }\n\n if (typeof body.updateZebraStyles === 'function') {\n body.updateZebraStyles();\n }\n }\n }\n\n private applyStickyToChildren() {\n requestAnimationFrame(() => {\n const stickyClass = '--is-sticky';\n const headers = this.el.querySelectorAll('spw-table-header');\n const cells = this.el.querySelectorAll('spw-table-cell');\n const footer = this.el.querySelector('spw-table-footer');\n\n if (this.isSticky) {\n headers.forEach(header => header.classList.add(stickyClass));\n footer?.classList.add(stickyClass);\n } else {\n headers.forEach(header => header.classList.remove(stickyClass));\n cells.forEach(cell => cell.classList.remove(stickyClass));\n footer?.classList.remove(stickyClass);\n }\n });\n }\n\n private sortRows(columnId: string, direction: 'asc' | 'desc') {\n const body = this.el.shadowRoot\n .querySelector('slot')\n ?.assignedElements()\n .find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = Array.from(body.querySelectorAll('spw-table-row'));\n\n const columnIndex = Array.from(this.el.querySelectorAll('spw-table-header')).findIndex((header: any) => header.columnId === columnId);\n if (columnIndex === -1) return;\n\n rows.sort((a: any, b: any) => {\n const aCell = a.querySelectorAll('spw-table-cell')[columnIndex];\n const bCell = b.querySelectorAll('spw-table-cell')[columnIndex];\n if (!aCell || !bCell) return 0;\n\n const aValue = aCell.textContent.trim();\n const bValue = bCell.textContent.trim();\n\n if (!isNaN(Number(aValue)) && !isNaN(Number(bValue))) {\n return direction === 'asc' ? +aValue - +bValue : +bValue - +aValue;\n }\n\n return direction === 'asc' ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n });\n\n rows.forEach(row => body.appendChild(row));\n\n const bodyComponent = body as HTMLSpwTableBodyElement;\n if (bodyComponent?.updateZebraStyles) {\n bodyComponent.updateZebraStyles();\n }\n }\n\n private updateHeadersSortState(sort: SortEvent) {\n const headers = this.el.querySelectorAll('spw-table-header');\n headers.forEach((header: any) => {\n const isCurrent = header.columnId === sort.column;\n header.isSorted = isCurrent;\n header.sortDirection = isCurrent ? sort.direction : undefined;\n });\n }\n\n private formatSize(value?: string): string {\n if (value === undefined || value === null) {\n return 'auto';\n }\n return `${value}px`;\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table': true,\n 'spw-table--is-sticky': this.isSticky,\n [`spw-table--layout-${this.tableLayout}`]: true,\n };\n }\n\n render() {\n return (\n <Host\n style={{\n '--spw-table-max-height': this.formatSize(this.maxHeight),\n '--spw-table-min-width': this.formatSize(this.minWidth),\n }}\n >\n <div class=\"spw-table-container\">\n <table part=\"table\" class={this.elementClass} role=\"table\" aria-label={this.accAriaLabel}>\n <slot />\n </table>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, a as Host } from './index.js';
|
|
2
2
|
import { d as defineCustomElement$3 } from './p-_q4w18VU.js';
|
|
3
|
-
import { d as defineCustomElement$2 } from './p-
|
|
3
|
+
import { d as defineCustomElement$2 } from './p-J5AA2xQI.js';
|
|
4
4
|
|
|
5
5
|
const spwTabsNavigationItemCss = "/*! 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%;--spw-tabs-max-width-text:200px;--spw-tabs-border-radius:4px 4px 0 0;--spw-tabs-margin-left:0;--spw-tabs-width:auto;--spw-tabs-text-align:left;box-sizing:border-box;display:contents;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-tabs-navigation-item{color:var(--spw-colors-support-grey-grey-700);cursor:pointer;position:relative;text-align:var(--spw-tabs-text-align);transition:color .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--spw-tabs-width)}.spw-tabs-navigation-item:hover{color:var(--spw-colors-support-grey-grey-900)}:host(.--box) .spw-tabs-navigation-item:hover{color:var(--spw-colors-support-grey-grey-900)}.spw-tabs-navigation-item:focus-visible{outline:2px solid #000;outline-offset:-2px}:host(.--box) .spw-tabs-navigation-item{background:var(--spw-colors-support-grey-grey-100);border:1px solid var(--spw-colors-support-grey-grey-300);border-radius:var(--spw-tabs-border-radius);color:var(--spw-colors-support-grey-grey-600);margin-left:var(--spw-tabs-margin-left);margin-top:3px}.spw-tabs-navigation-item--disabled{cursor:not-allowed;opacity:.6}.spw-tabs-navigation-item--disabled:hover{color:var(--spw-colors-support-grey-grey-700)}:host(.--box) .spw-tabs-navigation-item--disabled{color:var(--spw-colors-support-grey-grey-400);opacity:1}:host(.--box) .spw-tabs-navigation-item--disabled:hover{color:var(--spw-colors-support-grey-grey-400)}:host(.--box) .spw-tabs-navigation-item--disabled:active{transform:none}.spw-tabs-navigation-item--active{border-bottom:0;color:var(--spw-colors-support-grey-grey-900)}.spw-tabs-navigation-item--active:after{background:var(--spw-ds-primary);bottom:0;content:\"\";height:2px;left:0;position:absolute;width:100%}:host(.--box) .spw-tabs-navigation-item--active{background:#fff;color:var(--spw-colors-support-grey-grey-900);margin-top:0;position:relative;top:1px}:host(.--box) .spw-tabs-navigation-item--active:after{display:none}.spw-tabs-navigation-item--bubble:before{background:var(--spw-ds-primary);border-radius:50%;content:\"\";height:6px;position:absolute;right:-8px;top:2px;width:6px}:host(.--box) .spw-tabs-navigation-item--bubble:before{right:4px;top:4px}:host(.--ellipsis) .spw-tabs-navigation-item{flex-shrink:0;max-width:var(--spw-tabs-max-width-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.--ellipsis) .spw-tabs-navigation-item spw-tooltip{display:contents}:host(.--small) .spw-tabs-navigation-item{font-size:14px;padding:8px 0 12px}:host(.--small.--box) .spw-tabs-navigation-item{padding:7px 16px 6px}:host(.--small.--box) .spw-tabs-navigation-item .spw-tabs-navigation-item--active{padding:8px 16px}:host(.--medium) .spw-tabs-navigation-item{font-size:16px;padding:12px 0 16px}:host(.--medium.--box) .spw-tabs-navigation-item{padding:11px 16px 10px}:host(.--medium.--box) .spw-tabs-navigation-item .spw-tabs-navigation-item--active{padding:12px 16px}:host(.--large) .spw-tabs-navigation-item{font-size:18px;padding:16px 0 20px}:host(.--large.--box) .spw-tabs-navigation-item{padding:15px 20px 14px}:host(.--large.--box) .spw-tabs-navigation-item .spw-tabs-navigation-item--active{padding:16px 20px}.spw-tabs-navigation-item .spw-icon--left{margin-right:4px}.spw-tabs-navigation-item .spw-icon--right{margin-left:4px}";
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ const SpwTabsNavigationItem$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabsNa
|
|
|
9
9
|
super();
|
|
10
10
|
this.__registerHost();
|
|
11
11
|
this.__attachShadow();
|
|
12
|
-
this.tabSelected = createEvent(this, "tabSelected");
|
|
12
|
+
this.tabSelected = createEvent(this, "tabSelected", 7);
|
|
13
13
|
/** Définit si le tab est actif ou non */
|
|
14
14
|
this.active = false;
|
|
15
15
|
/** Définit si le tab est disabled ou non */
|
|
@@ -67,7 +67,7 @@ const SpwTabsNavigationItem$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabsNa
|
|
|
67
67
|
const iconPosition = this.icon && !this.iconPosition ? 'right' : this.iconPosition;
|
|
68
68
|
const iconClass = `spw-icon--${iconPosition}`;
|
|
69
69
|
const iconElement = this.icon ? h("spw-icon", { class: iconClass, icon: this.icon }) : null;
|
|
70
|
-
return (h(Host, { key: '
|
|
70
|
+
return (h(Host, { key: '4570863acc066a81e3c4769eecf3a9a2c6c0c5df', class: this.active ? '--active' : '' }, h("li", { key: 'c4f00308f2265f5acf9d6ce5d18342a6d5118403', id: `tab-${this.tabId}`, role: "tab", "aria-selected": this.active ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-controls": `panel-${this.tabId}`, "aria-label": this.slotText, onKeyDown: this.handleKeyDown, tabIndex: this.disabled ? -1 : 0, class: this.elementClass, onClick: this.handleClick }, this.hasEllipsis && (h("spw-tooltip", { key: '7a7f10a7d402fd08f9254d4c9e0820f7eba5459b', cursor: this.disabled ? 'disabled' : 'pointer', class: "spw-tooltip--has-ellipsis", tooltipText: this.slotText }, iconPosition === 'left' && iconElement, h("slot", { key: '82e6379ecc7c353dd5816df4295c8e2f3189211a' }), iconPosition === 'right' && iconElement)), !this.hasEllipsis && (h(Fragment, { key: '76ee269ebf8de32788aab9fbe280ca4acd29caca' }, iconPosition === 'left' && iconElement, h("slot", { key: '537f33fe187848bb67e529fcd94a89a54a88e282' }), iconPosition === 'right' && iconElement)), ' ', this.bubble && h("span", { key: 'a298011730c038c214728e6a9465aca289123a77', class: "bubble" }))));
|
|
71
71
|
}
|
|
72
72
|
get el() { return this; }
|
|
73
73
|
static get style() { return spwTabsNavigationItemCss; }
|
|
@@ -91,7 +91,7 @@ const SpwTabsNavigation$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabsNaviga
|
|
|
91
91
|
this.checkOverflow();
|
|
92
92
|
}
|
|
93
93
|
render() {
|
|
94
|
-
return (h("div", { key: '
|
|
94
|
+
return (h("div", { key: 'f7a4bfdab3232c7ce3a7d1f28279733419dd4ae7', class: "spw-tabs-navigation-container" }, this.showLeftArrow && (h("button", { key: 'd8c9496990f8e48fa18927e5b2cb3a2e5b38c83c', class: "spw-tabs-navigation__arrow spw-tabs-navigation__arrow--left", onClick: this.scrollLeft, "aria-label": "Faire d\u00E9filer vers la gauche" }, h("spw-icon", { key: 'eabaa1b71fdacd05cf41ee417994a5eedfc6f8d3', icon: "fa-chevron-left" }))), h("nav", { key: 'e7e50d5c97c72d0a9786865b89aaac519a265a09', class: "spw-tabs-navigation" }, h("ul", { key: 'f2824eb6b477ed6ad3ab3d3a7ec4725dbd38d741', class: "spw-tabs-navigation__list", role: "tablist", ref: el => (this.ulElement = el), onScroll: this.handleScroll }, h("slot", { key: 'ebf5b6ae1b51cf5603b07a896ac63add8a75ab6e' }))), this.showRightArrow && (h("button", { key: '54f99195ebc3bbd7dd270a2cad5d71905003d0df', class: "spw-tabs-navigation__arrow spw-tabs-navigation__arrow--right", onClick: this.scrollRight, "aria-label": "Faire d\u00E9filer vers la droite" }, h("spw-icon", { key: 'b5151f6a76a6d3ae7340c52e11e4a53e6c7b2de0', icon: "fa-chevron-right" })))));
|
|
95
95
|
}
|
|
96
96
|
get hostElement() { return this; }
|
|
97
97
|
static get style() { return spwTabsNavigationCss; }
|
|
@@ -7,7 +7,7 @@ const SpwTabs$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabs extends H {
|
|
|
7
7
|
super();
|
|
8
8
|
this.__registerHost();
|
|
9
9
|
this.__attachShadow();
|
|
10
|
-
this.tabChanged = createEvent(this, "tabChanged");
|
|
10
|
+
this.tabChanged = createEvent(this, "tabChanged", 1);
|
|
11
11
|
/** Onglet actif par défaut */
|
|
12
12
|
this.defaultActiveTab = '1';
|
|
13
13
|
/** Variante des onglets */
|
|
@@ -54,7 +54,9 @@ const SpwTabs$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabs extends H {
|
|
|
54
54
|
this.activeTab = tabId;
|
|
55
55
|
}
|
|
56
56
|
handleTabSelected(event) {
|
|
57
|
-
|
|
57
|
+
const path = event.composedPath();
|
|
58
|
+
const firstTabsInPath = path.find(el => el.tagName === 'SPW-TABS');
|
|
59
|
+
if (firstTabsInPath !== this.el) {
|
|
58
60
|
return;
|
|
59
61
|
}
|
|
60
62
|
this.activeTab = event.detail;
|
|
@@ -169,7 +171,7 @@ const SpwTabs$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabs extends H {
|
|
|
169
171
|
};
|
|
170
172
|
}
|
|
171
173
|
render() {
|
|
172
|
-
return (h("div", { key: '
|
|
174
|
+
return (h("div", { key: 'b4ab2e3d669cf271c861030894df09e5a30c32b6', class: this.elementClass }, h("slot", { key: 'c4fc77c49d19f00326eaa1fc6fc6d2f6f1ae42c6', name: "navigation" }), h("slot", { key: 'cb3766973065dff8a272fe5876b3cc2e93ac0a66', name: "content" })));
|
|
173
175
|
}
|
|
174
176
|
get el() { return this; }
|
|
175
177
|
static get watchers() { return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"spw-tabs.js","mappings":"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","names":["SpwTabs","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-tabs/spw-tabs.scss?tag=spw-tabs&encapsulation=shadow","src/components/spw-tabs/spw-tabs.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, State, Event, EventEmitter, Prop, Method, Element, Listen, Watch } from '@stencil/core';\n\n@Component({\n tag: 'spw-tabs',\n styleUrl: 'spw-tabs.scss',\n shadow: true,\n})\nexport class SpwTabs {\n @Element() el: HTMLElement;\n\n /** Onglet actif par défaut */\n @Prop() defaultActiveTab: string = '1';\n /** Variante des onglets */\n @Prop() variant: 'default' | 'box' = 'default';\n /** Texte coupé si trop long, affiche un tooltip si le contenu excède la max-width définie */\n @Prop() hasEllipsis?: boolean = false;\n /** Définit la largeur maximale de l'onglet (en pixels) */\n @Prop() maxWidth?: number;\n /** Permet de spécifier la taille de l'onglet */\n @Prop() size?: 'large' | 'medium' | 'small' = 'small';\n\n @State() activeTab: string = '1'; // Initialiser avec une valeur par défaut\n\n /** Événement émis lorsque l'onglet actif change */\n @Event() tabChanged: EventEmitter<string>;\n\n componentWillLoad() {\n this.activeTab = this.defaultActiveTab;\n }\n\n componentDidLoad() {\n this.applyVariantToChildren();\n this.updateActiveStates();\n\n setTimeout(() => {\n this.applyMaxWidthToChildren();\n }, 100);\n }\n\n @Watch('activeTab')\n activeTabChanged() {\n this.updateActiveStates();\n this.tabChanged.emit(this.activeTab);\n }\n\n @Watch('maxWidth')\n maxWidthChanged() {\n this.applyMaxWidthToChildren();\n }\n\n @Watch('hasEllipsis')\n hasEllipsisChanged() {\n this.applyVariantToChildren();\n }\n\n /**\n * Récupère l'onglet actuellement sélectionné\n * @returns {Promise<string>} L'ID de l'onglet actif\n */\n @Method()\n async getSelectedTab(): Promise<string> {\n return this.activeTab;\n }\n\n /**\n * Définit l'onglet sélectionné\n * @param tabId L'ID de l'onglet à sélectionner\n * @returns {Promise<void>}\n */\n @Method()\n async setSelectedTab(tabId: string): Promise<void> {\n this.activeTab = tabId;\n }\n\n @Listen('tabSelected', { capture: true })\n handleTabSelected(event: CustomEvent<string>) {\n if (event.target && (event.target as HTMLElement).closest('spw-tabs') !== this.el) {\n return;\n }\n\n this.activeTab = event.detail;\n event.stopPropagation();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.applyVariantToChildren();\n this.updateActiveStates();\n this.applyMaxWidthToChildren();\n }\n\n private updateActiveStates() {\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n\n const navItems = Array.from(this.el.querySelectorAll('spw-tabs-navigation-item')).filter(isInThisComponent) as HTMLSpwTabsNavigationItemElement[];\n\n const contents = Array.from(this.el.querySelectorAll('spw-tabs-content')).filter(isInThisComponent) as HTMLSpwTabsContentElement[];\n\n navItems.forEach(item => {\n item.active = item.tabId === this.activeTab;\n });\n\n contents.forEach(content => {\n content.active = content.tabId === this.activeTab;\n });\n }\n\n private applyMaxWidthToChildren() {\n if (!this.maxWidth) {\n return;\n }\n\n requestAnimationFrame(() => {\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n const navItems = Array.from(this.el.querySelectorAll('spw-tabs-navigation-item')).filter(isInThisComponent) as HTMLSpwTabsNavigationItemElement[];\n const ellipsisClass = `--ellipsis`;\n\n navItems.forEach(item => {\n const textContent = item.textContent?.trim() || '';\n\n if (!textContent) {\n return;\n }\n\n const measureEl = document.createElement('div');\n measureEl.style.cssText = `\n position: absolute;\n visibility: hidden;\n white-space: nowrap;\n top: -9999px;\n left: -9999px;\n `;\n measureEl.textContent = textContent;\n\n const computedStyle = window.getComputedStyle(item);\n measureEl.style.fontSize = computedStyle.fontSize;\n measureEl.style.fontFamily = computedStyle.fontFamily;\n measureEl.style.fontWeight = computedStyle.fontWeight;\n measureEl.style.fontStyle = computedStyle.fontStyle;\n measureEl.style.letterSpacing = computedStyle.letterSpacing;\n measureEl.style.textTransform = computedStyle.textTransform;\n\n document.body.appendChild(measureEl);\n const contentWidth = measureEl.getBoundingClientRect().width;\n document.body.removeChild(measureEl);\n\n if (contentWidth > this.maxWidth) {\n item.style.setProperty('--spw-tabs-max-width-text', `${this.maxWidth}px`);\n\n item.setAttribute('has-ellipsis', 'true');\n\n item.classList.add(ellipsisClass);\n } else {\n item.style.removeProperty('--spw-tabs-max-width-text');\n item.setAttribute('has-ellipsis', 'false');\n item.classList.remove(ellipsisClass);\n }\n });\n });\n }\n\n private applyVariantToChildren() {\n requestAnimationFrame(() => {\n const variantClass = `--${this.variant}`;\n const sizeClass = `--${this.size}`;\n\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n\n const navigationSlot = this.el.shadowRoot?.querySelector('slot[name=\"navigation\"]') as HTMLSlotElement;\n const contentSlot = this.el.shadowRoot?.querySelector('slot[name=\"content\"]') as HTMLSlotElement;\n\n const navigationElements = (navigationSlot?.assignedElements({ flatten: true }) || []).filter(isInThisComponent);\n const contentElements = (contentSlot?.assignedElements({ flatten: true }) || []).filter(isInThisComponent);\n\n navigationElements.forEach(el => {\n if (el.tagName === 'SPW-TABS-NAVIGATION') {\n el.classList.add(variantClass);\n\n el.querySelectorAll('spw-tabs-navigation-item').forEach(item => {\n if (isInThisComponent(item)) {\n item.classList.add(variantClass);\n item.classList.add(sizeClass);\n }\n });\n } else if (el.tagName === 'SPW-TABS-NAVIGATION-ITEM') {\n el.classList.add(variantClass);\n el.classList.add(sizeClass);\n }\n });\n\n contentElements.forEach(el => {\n if (el.tagName === 'SPW-TABS-CONTENT') {\n el.classList.add(variantClass);\n } else {\n el.querySelectorAll('spw-tabs-content').forEach(content => {\n if (isInThisComponent(content)) {\n content.classList.add(variantClass);\n }\n });\n }\n });\n\n this.applyMaxWidthToChildren();\n });\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-tabs': true,\n [`spw-tabs--${this.variant}`]: true,\n };\n }\n\n render() {\n return (\n <div class={this.elementClass}>\n <slot name=\"navigation\"></slot>\n <slot name=\"content\"></slot>\n </div>\n );\n }\n}"],"version":3}
|
|
1
|
+
{"file":"spw-tabs.js","mappings":"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","names":["SpwTabs","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-tabs/spw-tabs.scss?tag=spw-tabs&encapsulation=shadow","src/components/spw-tabs/spw-tabs.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, State, Event, EventEmitter, Prop, Method, Element, Listen, Watch } from '@stencil/core';\n\n@Component({\n tag: 'spw-tabs',\n styleUrl: 'spw-tabs.scss',\n shadow: true,\n})\nexport class SpwTabs {\n @Element() el: HTMLElement;\n\n /** Onglet actif par défaut */\n @Prop() defaultActiveTab: string = '1';\n /** Variante des onglets */\n @Prop() variant: 'default' | 'box' = 'default';\n /** Texte coupé si trop long, affiche un tooltip si le contenu excède la max-width définie */\n @Prop() hasEllipsis?: boolean = false;\n /** Définit la largeur maximale de l'onglet (en pixels) */\n @Prop() maxWidth?: number;\n /** Permet de spécifier la taille de l'onglet */\n @Prop() size?: 'large' | 'medium' | 'small' = 'small';\n\n @State() activeTab: string = '1'; // Initialiser avec une valeur par défaut\n\n /** Événement émis lorsque l'onglet actif change */\n @Event({\n bubbles: false,\n composed: false\n }) tabChanged: EventEmitter<string>;\n\n componentWillLoad() {\n this.activeTab = this.defaultActiveTab;\n }\n\n componentDidLoad() {\n this.applyVariantToChildren();\n this.updateActiveStates();\n\n setTimeout(() => {\n this.applyMaxWidthToChildren();\n }, 100);\n }\n\n @Watch('activeTab')\n activeTabChanged() {\n this.updateActiveStates();\n this.tabChanged.emit(this.activeTab);\n }\n\n @Watch('maxWidth')\n maxWidthChanged() {\n this.applyMaxWidthToChildren();\n }\n\n @Watch('hasEllipsis')\n hasEllipsisChanged() {\n this.applyVariantToChildren();\n }\n\n /**\n * Récupère l'onglet actuellement sélectionné\n * @returns {Promise<string>} L'ID de l'onglet actif\n */\n @Method()\n async getSelectedTab(): Promise<string> {\n return this.activeTab;\n }\n\n /**\n * Définit l'onglet sélectionné\n * @param tabId L'ID de l'onglet à sélectionner\n * @returns {Promise<void>}\n */\n @Method()\n async setSelectedTab(tabId: string): Promise<void> {\n this.activeTab = tabId;\n }\n\n @Listen('tabSelected', { capture: true })\n handleTabSelected(event: CustomEvent<string>) {\n const path = event.composedPath();\n const firstTabsInPath = path.find(el => (el as HTMLElement).tagName === 'SPW-TABS') as HTMLElement;\n if (firstTabsInPath !== this.el) {\n return;\n }\n\n this.activeTab = event.detail;\n event.stopPropagation();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.applyVariantToChildren();\n this.updateActiveStates();\n this.applyMaxWidthToChildren();\n }\n\n private updateActiveStates() {\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n\n const navItems = Array.from(this.el.querySelectorAll('spw-tabs-navigation-item')).filter(isInThisComponent) as HTMLSpwTabsNavigationItemElement[];\n\n const contents = Array.from(this.el.querySelectorAll('spw-tabs-content')).filter(isInThisComponent) as HTMLSpwTabsContentElement[];\n\n navItems.forEach(item => {\n item.active = item.tabId === this.activeTab;\n });\n\n contents.forEach(content => {\n content.active = content.tabId === this.activeTab;\n });\n }\n\n private applyMaxWidthToChildren() {\n if (!this.maxWidth) {\n return;\n }\n\n requestAnimationFrame(() => {\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n const navItems = Array.from(this.el.querySelectorAll('spw-tabs-navigation-item')).filter(isInThisComponent) as HTMLSpwTabsNavigationItemElement[];\n const ellipsisClass = `--ellipsis`;\n\n navItems.forEach(item => {\n const textContent = item.textContent?.trim() || '';\n\n if (!textContent) {\n return;\n }\n\n const measureEl = document.createElement('div');\n measureEl.style.cssText = `\n position: absolute;\n visibility: hidden;\n white-space: nowrap;\n top: -9999px;\n left: -9999px;\n `;\n measureEl.textContent = textContent;\n\n const computedStyle = window.getComputedStyle(item);\n measureEl.style.fontSize = computedStyle.fontSize;\n measureEl.style.fontFamily = computedStyle.fontFamily;\n measureEl.style.fontWeight = computedStyle.fontWeight;\n measureEl.style.fontStyle = computedStyle.fontStyle;\n measureEl.style.letterSpacing = computedStyle.letterSpacing;\n measureEl.style.textTransform = computedStyle.textTransform;\n\n document.body.appendChild(measureEl);\n const contentWidth = measureEl.getBoundingClientRect().width;\n document.body.removeChild(measureEl);\n\n if (contentWidth > this.maxWidth) {\n item.style.setProperty('--spw-tabs-max-width-text', `${this.maxWidth}px`);\n\n item.setAttribute('has-ellipsis', 'true');\n\n item.classList.add(ellipsisClass);\n } else {\n item.style.removeProperty('--spw-tabs-max-width-text');\n item.setAttribute('has-ellipsis', 'false');\n item.classList.remove(ellipsisClass);\n }\n });\n });\n }\n\n private applyVariantToChildren() {\n requestAnimationFrame(() => {\n const variantClass = `--${this.variant}`;\n const sizeClass = `--${this.size}`;\n\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n\n const navigationSlot = this.el.shadowRoot?.querySelector('slot[name=\"navigation\"]') as HTMLSlotElement;\n const contentSlot = this.el.shadowRoot?.querySelector('slot[name=\"content\"]') as HTMLSlotElement;\n\n const navigationElements = (navigationSlot?.assignedElements({ flatten: true }) || []).filter(isInThisComponent);\n const contentElements = (contentSlot?.assignedElements({ flatten: true }) || []).filter(isInThisComponent);\n\n navigationElements.forEach(el => {\n if (el.tagName === 'SPW-TABS-NAVIGATION') {\n el.classList.add(variantClass);\n\n el.querySelectorAll('spw-tabs-navigation-item').forEach(item => {\n if (isInThisComponent(item)) {\n item.classList.add(variantClass);\n item.classList.add(sizeClass);\n }\n });\n } else if (el.tagName === 'SPW-TABS-NAVIGATION-ITEM') {\n el.classList.add(variantClass);\n el.classList.add(sizeClass);\n }\n });\n\n contentElements.forEach(el => {\n if (el.tagName === 'SPW-TABS-CONTENT') {\n el.classList.add(variantClass);\n } else {\n el.querySelectorAll('spw-tabs-content').forEach(content => {\n if (isInThisComponent(content)) {\n content.classList.add(variantClass);\n }\n });\n }\n });\n\n this.applyMaxWidthToChildren();\n });\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-tabs': true,\n [`spw-tabs--${this.variant}`]: true,\n };\n }\n\n render() {\n return (\n <div class={this.elementClass}>\n <slot name=\"navigation\"></slot>\n <slot name=\"content\"></slot>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -50,7 +50,7 @@ const SpwTag$1 = /*@__PURE__*/ proxyCustomElement(class SpwTag extends H {
|
|
|
50
50
|
href,
|
|
51
51
|
target,
|
|
52
52
|
};
|
|
53
|
-
return (h(Host, { key: '
|
|
53
|
+
return (h(Host, { key: 'bda34729477b08d8a8e9ef1352f6030ec1eab9fa' }, h(TagType, Object.assign({ key: 'b67722ec2d656df38cd7a1cf0a9e4b1fc59bb9d1' }, attrs, { class: this.elementClass }), this.hasIcon && h("spw-icon", { key: 'acf8ac1c7fa6a26f6e97f044dc72e33110ec2a29', icon: this.getIcon(this.variant) }), h("slot", { key: '7d02564667780d40e57937218fa92c1f326f1207' }))));
|
|
54
54
|
}
|
|
55
55
|
static get style() { return spwTagCss; }
|
|
56
56
|
}, [1, "spw-tag", {
|