@spw-ds/spw-stencil-library 1.3.0 → 1.3.2
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/loader.cjs.js +1 -1
- 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 +28 -5
- package/dist/cjs/spw-accordion_4.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +5 -2
- package/dist/cjs/spw-breadcrumb-item.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-breadcrumb-item.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/spw-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-breadcrumb.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-button_2.cjs.entry.js +2 -2
- package/dist/cjs/spw-card-content.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/spw-custom-select.cjs.entry.js +3 -3
- package/dist/cjs/spw-date-picker.cjs.entry.js +5 -3
- 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 +1 -1
- package/dist/cjs/spw-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/spw-field-label_6.cjs.entry.js +6 -6
- package/dist/cjs/spw-field-message.cjs.entry.js +1 -1
- package/dist/cjs/spw-file-upload.cjs.entry.js +2 -2
- package/dist/cjs/spw-footer-bottom.cjs.entry.js +1 -1
- package/dist/cjs/spw-footer-content-col.cjs.entry.js +1 -1
- package/dist/cjs/spw-footer-content.cjs.entry.js +1 -1
- package/dist/cjs/spw-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/spw-footer.cjs.entry.js +1 -1
- package/dist/cjs/spw-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/spw-grid.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-lang-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-header-lang.cjs.entry.js +1 -1
- package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/spw-header-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-header-navigation.cjs.entry.js +1 -1
- package/dist/cjs/spw-header-persona-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-header-persona.cjs.entry.js +1 -1
- package/dist/cjs/spw-header.cjs.entry.js +1 -1
- package/dist/cjs/spw-hero.cjs.entry.js +10 -3
- package/dist/cjs/spw-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-hero.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-illustration.cjs.entry.js +488 -1
- package/dist/cjs/spw-illustration.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-illustration.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-iodda.cjs.entry.js +1 -1
- package/dist/cjs/spw-list-description.cjs.entry.js +1 -1
- package/dist/cjs/spw-list-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-list-title.cjs.entry.js +1 -1
- package/dist/cjs/spw-list.cjs.entry.js +1 -1
- package/dist/cjs/spw-modal.cjs.entry.js +1 -1
- package/dist/cjs/spw-mosaic-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-mosaic.cjs.entry.js +1 -1
- package/dist/cjs/spw-pagination.cjs.entry.js +10 -10
- 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 +1 -1
- package/dist/cjs/spw-search-field.cjs.entry.js +2 -2
- package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +3 -3
- package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +1 -1
- package/dist/cjs/spw-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/spw-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/spw-slider-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-slider.cjs.entry.js +11 -4
- package/dist/cjs/spw-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-slider.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-socials.cjs.entry.js +1 -1
- package/dist/cjs/spw-stencil-library.cjs.js +1 -1
- package/dist/cjs/spw-table-body.cjs.entry.js +1 -1
- package/dist/cjs/spw-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/spw-table-container.cjs.entry.js +20 -0
- package/dist/cjs/spw-table-container.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-table-container.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-table-footer.cjs.entry.js +2 -2
- 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 +1 -1
- package/dist/cjs/spw-table-header.cjs.entry.js +3 -3
- 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 +1 -1
- package/dist/cjs/spw-table-sidebar.cjs.entry.js +142 -0
- package/dist/cjs/spw-table-sidebar.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-table-sidebar.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-table.cjs.entry.js +34 -17
- 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-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-tabs-navigation.cjs.entry.js +1 -1
- package/dist/cjs/spw-tabs.cjs.entry.js +1 -1
- package/dist/cjs/spw-tag.cjs.entry.js +1 -1
- package/dist/cjs/spw-text-field.cjs.entry.js +1 -1
- package/dist/cjs/spw-textarea.cjs.entry.js +2 -2
- package/dist/cjs/spw-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-tile-description.cjs.entry.js +1 -1
- package/dist/cjs/spw-tile-title.cjs.entry.js +1 -1
- package/dist/cjs/spw-tile.cjs.entry.js +1 -1
- package/dist/cjs/spw-toc-container.cjs.entry.js +73 -0
- package/dist/cjs/spw-toc-container.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-toc-container.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-toc-navigation.cjs.entry.js +283 -0
- package/dist/cjs/spw-toc-navigation.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-toc-navigation.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-toc.cjs.entry.js +20 -0
- package/dist/cjs/spw-toc.cjs.entry.js.map +1 -0
- package/dist/cjs/spw-toc.entry.cjs.js.map +1 -0
- package/dist/cjs/spw-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/spw-topbar.cjs.entry.js +1 -1
- package/dist/cjs/spw-wizard-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-wizard.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +5 -0
- package/dist/collection/components/spw-accordion/spw-accordion-content/spw-accordion-content.js +1 -1
- package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.css +1 -1
- package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.js +1 -1
- package/dist/collection/components/spw-accordion/spw-accordion-title/spw-accordion-title.js +1 -1
- package/dist/collection/components/spw-accordion/spw-accordion.js +53 -1
- package/dist/collection/components/spw-accordion/spw-accordion.js.map +1 -1
- package/dist/collection/components/spw-breadcrumb/spw-breadcrumb-item/spw-breadcrumb-item.css +1 -1
- package/dist/collection/components/spw-breadcrumb/spw-breadcrumb-item/spw-breadcrumb-item.js +4 -1
- package/dist/collection/components/spw-breadcrumb/spw-breadcrumb-item/spw-breadcrumb-item.js.map +1 -1
- package/dist/collection/components/spw-breadcrumb/spw-breadcrumb.css +1 -1
- package/dist/collection/components/spw-breadcrumb/spw-breadcrumb.js +1 -1
- package/dist/collection/components/spw-button/spw-button.js +1 -1
- package/dist/collection/components/spw-card/spw-card-content/spw-card-content.js +1 -1
- package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.js +1 -1
- package/dist/collection/components/spw-card/spw-card-image/spw-card-image.js +1 -1
- package/dist/collection/components/spw-card/spw-card-subtag-item/spw-card-subtag-item.js +1 -1
- package/dist/collection/components/spw-card/spw-card-subtags/spw-card-subtags.js +1 -1
- package/dist/collection/components/spw-card/spw-card-title/spw-card-title.js +1 -1
- package/dist/collection/components/spw-card/spw-card.js +1 -1
- package/dist/collection/components/spw-checkbox/spw-checkbox.js +1 -1
- package/dist/collection/components/spw-custom-select/spw-custom-select.js +3 -3
- package/dist/collection/components/spw-date-picker/spw-date-picker.js +5 -3
- 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.js +1 -1
- package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js +1 -1
- package/dist/collection/components/spw-dropdown/spw-dropdown.js +1 -1
- package/dist/collection/components/spw-field-label/spw-field-label.js +1 -1
- package/dist/collection/components/spw-field-message/spw-field-message.js +1 -1
- package/dist/collection/components/spw-file-upload/spw-file-upload.js +2 -2
- package/dist/collection/components/spw-footer/spw-footer-bottom/spw-footer-bottom.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer-content/spw-footer-content.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer-content-col/spw-footer-content-col.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer-link/spw-footer-link.js +1 -1
- package/dist/collection/components/spw-footer/spw-footer.js +1 -1
- package/dist/collection/components/spw-grid/spw-grid-item/spw-grid-item.js +2 -2
- package/dist/collection/components/spw-grid/spw-grid.js +2 -2
- package/dist/collection/components/spw-group/spw-group.js +1 -1
- package/dist/collection/components/spw-header/spw-header-lang/spw-header-lang.js +1 -1
- package/dist/collection/components/spw-header/spw-header-lang-item/spw-header-lang-item.js +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation-dropdown/spw-header-navigation-dropdown.js +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.js +1 -1
- package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js +1 -1
- package/dist/collection/components/spw-header/spw-header-persona-item/spw-header-persona-item.js +1 -1
- package/dist/collection/components/spw-header/spw-header.js +1 -1
- package/dist/collection/components/spw-hero/spw-hero.css +1 -1
- package/dist/collection/components/spw-hero/spw-hero.js +51 -4
- package/dist/collection/components/spw-hero/spw-hero.js.map +1 -1
- package/dist/collection/components/spw-icon/spw-icon.js +1 -1
- package/dist/collection/components/spw-illustration/spw-illustration.css +1 -1
- package/dist/collection/components/spw-illustration/spw-illustration.js +488 -1
- package/dist/collection/components/spw-illustration/spw-illustration.js.map +1 -1
- package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
- package/dist/collection/components/spw-link/spw-link.js +1 -1
- package/dist/collection/components/spw-list/spw-list-description/spw-list-description.js +1 -1
- package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +1 -1
- package/dist/collection/components/spw-list/spw-list-title/spw-list-title.js +1 -1
- package/dist/collection/components/spw-list/spw-list.js +1 -1
- package/dist/collection/components/spw-loading/spw-loading.js +1 -1
- package/dist/collection/components/spw-modal/spw-modal.js +1 -1
- package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
- package/dist/collection/components/spw-mosaic/spw-mosaic.js +1 -1
- package/dist/collection/components/spw-pagination/spw-pagination.js +12 -9
- 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 +2 -2
- 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.js +3 -3
- 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 +1 -1
- package/dist/collection/components/spw-skeleton/spw-skeleton.js +1 -1
- package/dist/collection/components/spw-slider/spw-slider-item/spw-slider-item.js +1 -1
- package/dist/collection/components/spw-slider/spw-slider.css +1 -1
- package/dist/collection/components/spw-slider/spw-slider.js +30 -3
- package/dist/collection/components/spw-slider/spw-slider.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.js +1 -1
- package/dist/collection/components/spw-table/spw-table-container/spw-table-container.css +2 -0
- package/dist/collection/components/spw-table/spw-table-container/spw-table-container.js +19 -0
- package/dist/collection/components/spw-table/spw-table-container/spw-table-container.js.map +1 -0
- 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-footer/spw-table-footer.js.map +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 +2 -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.js +1 -1
- package/dist/collection/components/spw-table/spw-table-sidebar/spw-table-sidebar.css +2 -0
- package/dist/collection/components/spw-table/spw-table-sidebar/spw-table-sidebar.js +290 -0
- package/dist/collection/components/spw-table/spw-table-sidebar/spw-table-sidebar.js.map +1 -0
- package/dist/collection/components/spw-table/spw-table.css +1 -1
- package/dist/collection/components/spw-table/spw-table.js +33 -16
- 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 +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 +3 -3
- package/dist/collection/components/spw-textarea/spw-textarea.js.map +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-toc/spw-toc-container/spw-toc-container.css +2 -0
- package/dist/collection/components/spw-toc/spw-toc-container/spw-toc-container.js +120 -0
- package/dist/collection/components/spw-toc/spw-toc-container/spw-toc-container.js.map +1 -0
- package/dist/collection/components/spw-toc/spw-toc-navigation/spw-toc-navigation.css +2 -0
- package/dist/collection/components/spw-toc/spw-toc-navigation/spw-toc-navigation.js +301 -0
- package/dist/collection/components/spw-toc/spw-toc-navigation/spw-toc-navigation.js.map +1 -0
- package/dist/collection/components/spw-toc/spw-toc.css +2 -0
- package/dist/collection/components/spw-toc/spw-toc.js +18 -0
- package/dist/collection/components/spw-toc/spw-toc.js.map +1 -0
- 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.js +1 -1
- package/dist/collection/components/spw-wizard/spw-wizard.js +1 -1
- package/dist/collection/stories/components/spw-breadcrumb/spw-breadcrumb.stories.js +32 -1
- package/dist/collection/stories/components/spw-breadcrumb/spw-breadcrumb.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-button/spw-button.stories.js +59 -1
- package/dist/collection/stories/components/spw-button/spw-button.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js +37 -1
- package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js +60 -1
- package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js +60 -1
- package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js +19 -1
- package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-field-message/spw-field-message.stories.js +52 -1
- package/dist/collection/stories/components/spw-field-message/spw-field-message.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js +20 -1
- package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-icon/spw-icon.stories.js +21 -1
- package/dist/collection/stories/components/spw-icon/spw-icon.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-link/spw-link.stories.js +31 -1
- package/dist/collection/stories/components/spw-link/spw-link.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-loading/spw-loading.stories.js +29 -1
- package/dist/collection/stories/components/spw-loading/spw-loading.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js +37 -1
- package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-radio/spw-radio.stories.js +17 -1
- package/dist/collection/stories/components/spw-radio/spw-radio.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js +33 -1
- package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-select/spw-select.stories.js +19 -1
- package/dist/collection/stories/components/spw-select/spw-select.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-separator/spw-separator.stories.js +33 -1
- package/dist/collection/stories/components/spw-separator/spw-separator.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-skeleton/spw-skeleton.stories.js +51 -2
- package/dist/collection/stories/components/spw-skeleton/spw-skeleton.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-tag/spw-tag.stories.js +72 -1
- package/dist/collection/stories/components/spw-tag/spw-tag.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js +34 -1
- package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-textarea/spw-textarea.stories.js +16 -1
- package/dist/collection/stories/components/spw-textarea/spw-textarea.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-tooltip/spw-tooltip.stories.js +17 -1
- package/dist/collection/stories/components/spw-tooltip/spw-tooltip.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-accordion/spw-accordion.stories.js +17 -4
- package/dist/collection/stories/organisms/spw-accordion/spw-accordion.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-card/spw-card.stories.js +96 -1
- package/dist/collection/stories/organisms/spw-card/spw-card.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js +38 -1
- package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-grid/spw-grid.stories.js +25 -1
- package/dist/collection/stories/organisms/spw-grid/spw-grid.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-group/spw-group.stories.js +46 -7
- package/dist/collection/stories/organisms/spw-group/spw-group.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +58 -7
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js +87 -1
- package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-list/spw-list.stories.js +57 -1
- package/dist/collection/stories/organisms/spw-list/spw-list.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-message/spw-message.stories.js +71 -1
- package/dist/collection/stories/organisms/spw-message/spw-message.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js +62 -1
- package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js +74 -1
- package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js +31 -1
- package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-slider/spw-slider.stories.js +21 -1
- package/dist/collection/stories/organisms/spw-slider/spw-slider.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-socials/spw-socials.stories.js +25 -1
- package/dist/collection/stories/organisms/spw-socials/spw-socials.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-table/spw-table.stories.js +69 -1
- package/dist/collection/stories/organisms/spw-table/spw-table.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js +57 -1
- package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js +83 -1
- package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-toc/spw-toc.stories.js +256 -0
- package/dist/collection/stories/organisms/spw-toc/spw-toc.stories.js.map +1 -0
- package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js +52 -1
- package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js.map +1 -1
- package/dist/components/{p-QqgPCBuq.js → p-BCWtq89_.js} +3 -3
- package/dist/components/{p-QqgPCBuq.js.map → p-BCWtq89_.js.map} +1 -1
- package/dist/components/{p-DzdAUdJU.js → p-BTvGjWzW.js} +3 -3
- package/dist/components/{p-DzdAUdJU.js.map → p-BTvGjWzW.js.map} +1 -1
- package/dist/components/{p-DtyDCGAt.js → p-BZeR2u__.js} +3 -3
- package/dist/components/{p-DtyDCGAt.js.map → p-BZeR2u__.js.map} +1 -1
- package/dist/components/{p-BJuYSBNu.js → p-Bu2NP1Hz.js} +4 -4
- package/dist/components/{p-BJuYSBNu.js.map → p-Bu2NP1Hz.js.map} +1 -1
- package/dist/components/{p-CFQbmE2_.js → p-C0RRW46w.js} +4 -4
- package/dist/components/p-C0RRW46w.js.map +1 -0
- package/dist/components/{p-BYWyi-Sg.js → p-Cwnv6xZs.js} +4 -4
- package/dist/components/{p-BYWyi-Sg.js.map → p-Cwnv6xZs.js.map} +1 -1
- package/dist/components/{p-YZZxQbyU.js → p-CyyuvuPG.js} +5 -5
- package/dist/components/{p-YZZxQbyU.js.map → p-CyyuvuPG.js.map} +1 -1
- package/dist/components/{p-CQpGzRKu.js → p-D4uTODSD.js} +31 -4
- package/dist/components/p-D4uTODSD.js.map +1 -0
- package/dist/components/{p-CN-VU2O8.js → p-DPJAZYpY.js} +3 -3
- package/dist/components/{p-CN-VU2O8.js.map → p-DPJAZYpY.js.map} +1 -1
- package/dist/components/{p-Otqq8W18.js → p-DYC6u5kd.js} +3 -3
- package/dist/components/{p-Otqq8W18.js.map → p-DYC6u5kd.js.map} +1 -1
- package/dist/components/{p-CIwDs15y.js → p-DrAfEAz-.js} +3 -3
- package/dist/components/{p-CIwDs15y.js.map → p-DrAfEAz-.js.map} +1 -1
- package/dist/components/{p-BPeRFxsF.js → p-DvSE7JLV.js} +4 -4
- package/dist/components/{p-BPeRFxsF.js.map → p-DvSE7JLV.js.map} +1 -1
- package/dist/components/{p-C47wKUeG.js → p-L8eHcqaq.js} +17 -17
- package/dist/components/p-L8eHcqaq.js.map +1 -0
- package/dist/components/{p-DTm94uQW.js → p-d3hqDeA0.js} +4 -4
- package/dist/components/{p-DTm94uQW.js.map → p-d3hqDeA0.js.map} +1 -1
- package/dist/components/{p-Cdk2nQ84.js → p-kJsRMeYL.js} +6 -6
- package/dist/components/{p-Cdk2nQ84.js.map → p-kJsRMeYL.js.map} +1 -1
- package/dist/components/spw-accordion-content.js +1 -1
- package/dist/components/spw-accordion-item.js +1 -1
- package/dist/components/spw-accordion-title.js +1 -1
- package/dist/components/spw-accordion.js +1 -1
- package/dist/components/spw-breadcrumb-item.js +7 -4
- package/dist/components/spw-breadcrumb-item.js.map +1 -1
- package/dist/components/spw-breadcrumb.js +2 -2
- package/dist/components/spw-breadcrumb.js.map +1 -1
- package/dist/components/spw-button.js +1 -1
- package/dist/components/spw-card-content.js +1 -1
- package/dist/components/spw-card-excerpt.js +1 -1
- package/dist/components/spw-card-image.js +2 -2
- package/dist/components/spw-card-subtag-item.js +1 -1
- package/dist/components/spw-card-subtags.js +1 -1
- package/dist/components/spw-card-title.js +1 -1
- package/dist/components/spw-card.js +1 -1
- package/dist/components/spw-checkbox.js +1 -1
- package/dist/components/spw-cookies.js +8 -8
- package/dist/components/spw-custom-select.js +7 -7
- package/dist/components/spw-date-picker.js +8 -6
- package/dist/components/spw-date-picker.js.map +1 -1
- package/dist/components/spw-dropdown-container.js +1 -1
- package/dist/components/spw-dropdown-item.js +2 -2
- package/dist/components/spw-dropdown.js +1 -1
- package/dist/components/spw-field-label.js +1 -1
- package/dist/components/spw-field-message.js +1 -1
- package/dist/components/spw-file-upload.js +5 -5
- package/dist/components/spw-footer-bottom.js +1 -1
- package/dist/components/spw-footer-content-col.js +1 -1
- package/dist/components/spw-footer-content.js +1 -1
- package/dist/components/spw-footer-link.js +1 -1
- package/dist/components/spw-footer.js +1 -1
- package/dist/components/spw-grid-item.js +2 -2
- package/dist/components/spw-grid.js +2 -2
- package/dist/components/spw-group.js +2 -2
- package/dist/components/spw-header-lang-item.js +1 -1
- package/dist/components/spw-header-lang.js +4 -4
- package/dist/components/spw-header-navigation-dropdown.js +1 -1
- package/dist/components/spw-header-navigation-item.js +2 -2
- package/dist/components/spw-header-navigation.js +4 -4
- package/dist/components/spw-header-persona-item.js +1 -1
- package/dist/components/spw-header-persona.js +2 -2
- package/dist/components/spw-header.js +4 -4
- package/dist/components/spw-hero.js +14 -5
- package/dist/components/spw-hero.js.map +1 -1
- package/dist/components/spw-icon.js +1 -1
- package/dist/components/spw-illustration.js +488 -1
- package/dist/components/spw-illustration.js.map +1 -1
- package/dist/components/spw-iodda.js +7 -7
- package/dist/components/spw-link.js +1 -1
- package/dist/components/spw-list-description.js +1 -1
- package/dist/components/spw-list-item.js +2 -2
- package/dist/components/spw-list-title.js +2 -2
- package/dist/components/spw-list.js +1 -1
- package/dist/components/spw-loading.js +1 -1
- package/dist/components/spw-message.js +2 -2
- package/dist/components/spw-modal.js +2 -2
- package/dist/components/spw-mosaic-item.js +1 -1
- package/dist/components/spw-mosaic.js +1 -1
- package/dist/components/spw-pagination.js +1 -1
- package/dist/components/spw-radio.js +1 -1
- package/dist/components/spw-search-field.js +6 -6
- package/dist/components/spw-select.js +3 -3
- 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 +5 -5
- package/dist/components/spw-sidebar-navigation-separator.js +2 -2
- package/dist/components/spw-sidebar.js +2 -2
- package/dist/components/spw-skeleton.js +1 -1
- package/dist/components/spw-slider-item.js +1 -1
- package/dist/components/spw-slider.js +14 -6
- package/dist/components/spw-slider.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 +1 -1
- package/dist/components/spw-table-container.d.ts +11 -0
- package/dist/components/spw-table-container.js +36 -0
- package/dist/components/spw-table-container.js.map +1 -0
- 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 +5 -5
- package/dist/components/spw-table-header.js.map +1 -1
- package/dist/components/spw-table-row.js +1 -1
- package/dist/components/spw-table-sidebar.d.ts +11 -0
- package/dist/components/spw-table-sidebar.js +185 -0
- package/dist/components/spw-table-sidebar.js.map +1 -0
- package/dist/components/spw-table.js +34 -17
- 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 +2 -2
- package/dist/components/spw-tabs.js +1 -1
- package/dist/components/spw-tag.js +2 -2
- package/dist/components/spw-text-field.js +1 -1
- package/dist/components/spw-textarea.js +5 -5
- package/dist/components/spw-textarea.js.map +1 -1
- package/dist/components/spw-theme-provider.js +1 -1
- package/dist/components/spw-tile-description.js +1 -1
- package/dist/components/spw-tile-title.js +1 -1
- package/dist/components/spw-tile.js +2 -2
- package/dist/components/spw-toc-container.d.ts +11 -0
- package/dist/components/spw-toc-container.js +90 -0
- package/dist/components/spw-toc-container.js.map +1 -0
- package/dist/components/spw-toc-navigation.d.ts +11 -0
- package/dist/components/spw-toc-navigation.js +304 -0
- package/dist/components/spw-toc-navigation.js.map +1 -0
- package/dist/components/spw-toc.d.ts +11 -0
- package/dist/components/spw-toc.js +35 -0
- package/dist/components/spw-toc.js.map +1 -0
- package/dist/components/spw-tooltip.js +1 -1
- package/dist/components/spw-topbar.js +1 -1
- package/dist/components/spw-wizard-item.js +2 -2
- package/dist/components/spw-wizard.js +1 -1
- package/dist/components_json.json +461 -16
- package/dist/components_vscode.json +3409 -0
- package/dist/esm/loader.js +1 -1
- 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 +28 -5
- package/dist/esm/spw-accordion_4.entry.js.map +1 -1
- package/dist/esm/spw-breadcrumb-item.entry.js +5 -2
- package/dist/esm/spw-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/spw-breadcrumb.entry.js +2 -2
- package/dist/esm/spw-breadcrumb.entry.js.map +1 -1
- package/dist/esm/spw-button_2.entry.js +2 -2
- package/dist/esm/spw-card-content.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/spw-custom-select.entry.js +3 -3
- package/dist/esm/spw-date-picker.entry.js +5 -3
- package/dist/esm/spw-date-picker.entry.js.map +1 -1
- package/dist/esm/spw-dropdown-container.entry.js +1 -1
- package/dist/esm/spw-dropdown-item.entry.js +1 -1
- package/dist/esm/spw-dropdown.entry.js +1 -1
- package/dist/esm/spw-field-label_6.entry.js +6 -6
- package/dist/esm/spw-field-message.entry.js +1 -1
- package/dist/esm/spw-file-upload.entry.js +2 -2
- package/dist/esm/spw-footer-bottom.entry.js +1 -1
- package/dist/esm/spw-footer-content-col.entry.js +1 -1
- package/dist/esm/spw-footer-content.entry.js +1 -1
- package/dist/esm/spw-footer-link.entry.js +1 -1
- package/dist/esm/spw-footer.entry.js +1 -1
- package/dist/esm/spw-grid-item.entry.js +2 -2
- package/dist/esm/spw-grid.entry.js +2 -2
- package/dist/esm/spw-header-lang-item.entry.js +1 -1
- package/dist/esm/spw-header-lang.entry.js +1 -1
- package/dist/esm/spw-header-navigation-dropdown.entry.js +1 -1
- package/dist/esm/spw-header-navigation-item.entry.js +1 -1
- package/dist/esm/spw-header-navigation.entry.js +1 -1
- package/dist/esm/spw-header-persona-item.entry.js +1 -1
- package/dist/esm/spw-header-persona.entry.js +1 -1
- package/dist/esm/spw-header.entry.js +1 -1
- package/dist/esm/spw-hero.entry.js +10 -3
- package/dist/esm/spw-hero.entry.js.map +1 -1
- package/dist/esm/spw-illustration.entry.js +488 -1
- package/dist/esm/spw-illustration.entry.js.map +1 -1
- package/dist/esm/spw-iodda.entry.js +1 -1
- package/dist/esm/spw-list-description.entry.js +1 -1
- package/dist/esm/spw-list-item.entry.js +1 -1
- package/dist/esm/spw-list-title.entry.js +1 -1
- package/dist/esm/spw-list.entry.js +1 -1
- package/dist/esm/spw-modal.entry.js +1 -1
- package/dist/esm/spw-mosaic-item.entry.js +1 -1
- package/dist/esm/spw-mosaic.entry.js +1 -1
- package/dist/esm/spw-pagination.entry.js +10 -10
- package/dist/esm/spw-pagination.entry.js.map +1 -1
- package/dist/esm/spw-radio.entry.js +1 -1
- package/dist/esm/spw-search-field.entry.js +2 -2
- package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +1 -1
- package/dist/esm/spw-sidebar-navigation-item.entry.js +3 -3
- package/dist/esm/spw-sidebar-navigation-separator.entry.js +1 -1
- package/dist/esm/spw-sidebar.entry.js +1 -1
- package/dist/esm/spw-skeleton.entry.js +1 -1
- package/dist/esm/spw-slider-item.entry.js +1 -1
- package/dist/esm/spw-slider.entry.js +11 -4
- package/dist/esm/spw-slider.entry.js.map +1 -1
- package/dist/esm/spw-socials.entry.js +1 -1
- package/dist/esm/spw-stencil-library.js +1 -1
- package/dist/esm/spw-table-body.entry.js +1 -1
- package/dist/esm/spw-table-cell.entry.js +1 -1
- package/dist/esm/spw-table-container.entry.js +18 -0
- package/dist/esm/spw-table-container.entry.js.map +1 -0
- package/dist/esm/spw-table-footer.entry.js +2 -2
- package/dist/esm/spw-table-footer.entry.js.map +1 -1
- package/dist/esm/spw-table-head.entry.js +1 -1
- package/dist/esm/spw-table-header.entry.js +3 -3
- package/dist/esm/spw-table-header.entry.js.map +1 -1
- package/dist/esm/spw-table-row.entry.js +1 -1
- package/dist/esm/spw-table-sidebar.entry.js +140 -0
- package/dist/esm/spw-table-sidebar.entry.js.map +1 -0
- package/dist/esm/spw-table.entry.js +34 -17
- package/dist/esm/spw-table.entry.js.map +1 -1
- package/dist/esm/spw-tabs-navigation-item.entry.js +1 -1
- package/dist/esm/spw-tabs-navigation.entry.js +1 -1
- package/dist/esm/spw-tabs.entry.js +1 -1
- package/dist/esm/spw-tag.entry.js +1 -1
- package/dist/esm/spw-text-field.entry.js +1 -1
- package/dist/esm/spw-textarea.entry.js +2 -2
- package/dist/esm/spw-textarea.entry.js.map +1 -1
- package/dist/esm/spw-tile-description.entry.js +1 -1
- package/dist/esm/spw-tile-title.entry.js +1 -1
- package/dist/esm/spw-tile.entry.js +1 -1
- package/dist/esm/spw-toc-container.entry.js +71 -0
- package/dist/esm/spw-toc-container.entry.js.map +1 -0
- package/dist/esm/spw-toc-navigation.entry.js +281 -0
- package/dist/esm/spw-toc-navigation.entry.js.map +1 -0
- package/dist/esm/spw-toc.entry.js +18 -0
- package/dist/esm/spw-toc.entry.js.map +1 -0
- package/dist/esm/spw-tooltip.entry.js +1 -1
- package/dist/esm/spw-topbar.entry.js +1 -1
- package/dist/esm/spw-wizard-item.entry.js +1 -1
- package/dist/esm/spw-wizard.entry.js +1 -1
- package/dist/spw-stencil-library/{p-4bc3d2ef.entry.js → p-04aa5d86.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a2fd09f8.entry.js → p-0839efb1.entry.js} +2 -2
- package/dist/spw-stencil-library/p-0a69cead.entry.js +2 -0
- package/dist/spw-stencil-library/p-0a69cead.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-84645c94.entry.js → p-0bc1209e.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-1644bf7d.entry.js → p-0e7f2c1a.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-6e37db2d.entry.js → p-0f728bbd.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-6e37db2d.entry.js.map → p-0f728bbd.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-670f0edc.entry.js → p-1306c0ff.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ed61e2a8.entry.js → p-137f2856.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-d02b077c.entry.js → p-1416942e.entry.js} +2 -2
- package/dist/spw-stencil-library/p-1416942e.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-5e0b04c0.entry.js → p-1bb4a071.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-eb26b450.entry.js → p-1c728c37.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-44bb3ec0.entry.js → p-20fa2637.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2b70c24a.entry.js → p-2965d7ca.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-82ed2f9b.entry.js → p-29fb06a6.entry.js} +2 -2
- package/dist/spw-stencil-library/p-2d6f393e.entry.js +2 -0
- package/dist/spw-stencil-library/p-2d6f393e.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-2760ef2b.entry.js → p-2d7492af.entry.js} +2 -2
- package/dist/spw-stencil-library/p-2dea4478.entry.js +2 -0
- package/dist/spw-stencil-library/p-2dea4478.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-6c88a82d.entry.js → p-3067d3dd.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e5f141b6.entry.js → p-31980405.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9d0e8d02.entry.js → p-3553e1f1.entry.js} +2 -2
- package/dist/spw-stencil-library/p-3753277e.entry.js +2 -0
- package/dist/spw-stencil-library/p-3753277e.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-cbf4ef91.entry.js → p-3c524edb.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-93dc746d.entry.js → p-40b238cb.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-93dc746d.entry.js.map → p-40b238cb.entry.js.map} +1 -1
- package/dist/spw-stencil-library/{p-d37963e0.entry.js → p-420fd27d.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-87249c32.entry.js → p-460b4ede.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-c3f21e33.entry.js → p-47f6b942.entry.js} +2 -2
- package/dist/spw-stencil-library/p-48f1e67a.entry.js +2 -0
- package/dist/spw-stencil-library/p-48f1e67a.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-f26fd3b1.entry.js → p-49227f48.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a065a834.entry.js → p-4ab97219.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-3545f888.entry.js → p-5ba3deea.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-5e1aae61.entry.js → p-6c0993d6.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-95749696.entry.js → p-70ccb73f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-6f084e62.entry.js → p-70f46bf2.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-b3e76f4c.entry.js → p-7214cc7b.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-0c3e8d91.entry.js → p-798bac47.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a4111a43.entry.js → p-8483cd8b.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-931bea3a.entry.js → p-8c2f0377.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e4e2cb61.entry.js → p-93bd4d23.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-25204236.entry.js → p-95ec862e.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-5adfcd7e.entry.js → p-9a3dcf80.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-6cdf16ac.entry.js → p-9d5deba6.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-d28a7068.entry.js → p-a264b181.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-95fa97a9.entry.js → p-aa4ddfa1.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9dea2f39.entry.js → p-ad964a8e.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-08000970.entry.js → p-ada217d5.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-197a694e.entry.js → p-aed34c29.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-94069aff.entry.js → p-b4805c08.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-277bb102.entry.js → p-bb4c4e16.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a5004a01.entry.js → p-bb7f1387.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-b4c2fdf2.entry.js → p-bcceb61b.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-68f93962.entry.js → p-bf070798.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-110ca863.entry.js → p-c02b7133.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ca98ee5d.entry.js → p-c278daa3.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-428aa721.entry.js → p-c398550f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-803b2bb5.entry.js → p-c77adac8.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-aeec7eeb.entry.js → p-c7b2c5d7.entry.js} +2 -2
- package/dist/spw-stencil-library/p-c7b2c5d7.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-c85f2f9a.entry.js +2 -0
- package/dist/spw-stencil-library/p-c85f2f9a.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-ea0cfe62.entry.js → p-cc3a84a1.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-91b264d1.entry.js → p-cc869e6f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a1d06611.entry.js → p-ccbc7c44.entry.js} +2 -2
- package/dist/spw-stencil-library/p-d0cb71d3.entry.js +2 -0
- package/dist/spw-stencil-library/p-d0cb71d3.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-3ac699ae.entry.js → p-d18146ca.entry.js} +2 -2
- package/dist/spw-stencil-library/p-d2b6aae7.entry.js +2 -0
- package/dist/spw-stencil-library/p-d2b6aae7.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-65aec904.entry.js → p-d2f5d210.entry.js} +2 -2
- package/dist/spw-stencil-library/p-d672e985.entry.js +2 -0
- package/dist/spw-stencil-library/p-d672e985.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-bb2421dc.entry.js → p-d8cae37d.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e2bac6be.entry.js → p-db817793.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-c3246505.entry.js → p-dbb7e719.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-df4d1f42.entry.js → p-de771d14.entry.js} +2 -2
- package/dist/spw-stencil-library/p-dedeaccc.entry.js +2 -0
- package/dist/spw-stencil-library/p-dedeaccc.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-187d02cb.entry.js → p-e369abbb.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-67b7b947.entry.js → p-e44b8ebb.entry.js} +2 -2
- package/dist/spw-stencil-library/p-e55b0c4b.entry.js +2 -0
- package/dist/spw-stencil-library/p-e55b0c4b.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-1271e178.entry.js → p-e6b25971.entry.js} +2 -2
- package/dist/spw-stencil-library/p-e6b25971.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-e6c8a3e4.entry.js +2 -0
- package/dist/spw-stencil-library/p-e6c8a3e4.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-6461fb4b.entry.js → p-e78304f0.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-25aaf6a6.entry.js → p-ea5f2427.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-95891f3a.entry.js → p-ea952c66.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-22f022ca.entry.js → p-eaa1025a.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ef8f15e9.entry.js → p-f05cd056.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2ef45489.entry.js → p-fad06d00.entry.js} +2 -2
- package/dist/spw-stencil-library/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-breadcrumb-item.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-breadcrumb.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-hero.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-illustration.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-slider.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-container.entry.esm.js.map +1 -0
- 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-sidebar.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-table.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-textarea.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-toc-container.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-toc-navigation.entry.esm.js.map +1 -0
- package/dist/spw-stencil-library/spw-toc.entry.esm.js.map +1 -0
- package/dist/stats.json +2225 -592
- package/dist/types/components/spw-accordion/spw-accordion.d.ts +6 -0
- package/dist/types/components/spw-hero/spw-hero.d.ts +5 -1
- package/dist/types/components/spw-illustration/spw-illustration.d.ts +2 -0
- package/dist/types/components/spw-pagination/spw-pagination.d.ts +1 -0
- package/dist/types/components/spw-slider/spw-slider.d.ts +3 -0
- package/dist/types/components/spw-table/spw-table-container/spw-table-container.d.ts +3 -0
- package/dist/types/components/spw-table/spw-table-sidebar/spw-table-sidebar.d.ts +34 -0
- package/dist/types/components/spw-table/spw-table.d.ts +2 -0
- package/dist/types/components/spw-toc/spw-toc-container/spw-toc-container.d.ts +18 -0
- package/dist/types/components/spw-toc/spw-toc-navigation/spw-toc-navigation.d.ts +24 -0
- package/dist/types/components/spw-toc/spw-toc.d.ts +3 -0
- package/dist/types/components.d.ts +185 -2
- package/dist/types/stories/organisms/spw-toc/spw-toc.stories.d.ts +5 -0
- package/hydrate/index.js +1245 -134
- package/hydrate/index.mjs +1245 -134
- package/package.json +4 -4
- package/dist/components/p-C47wKUeG.js.map +0 -1
- package/dist/components/p-CFQbmE2_.js.map +0 -1
- package/dist/components/p-CQpGzRKu.js.map +0 -1
- package/dist/spw-stencil-library/p-1271e178.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-33f33d6d.entry.js +0 -2
- package/dist/spw-stencil-library/p-33f33d6d.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-5c745e85.entry.js +0 -2
- package/dist/spw-stencil-library/p-5c745e85.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-71519d62.entry.js +0 -2
- package/dist/spw-stencil-library/p-71519d62.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-98bddf34.entry.js +0 -2
- package/dist/spw-stencil-library/p-98bddf34.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-aeec7eeb.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-b8645217.entry.js +0 -2
- package/dist/spw-stencil-library/p-b8645217.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-bf7cd8c9.entry.js +0 -2
- package/dist/spw-stencil-library/p-bf7cd8c9.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-c43d3406.entry.js +0 -2
- package/dist/spw-stencil-library/p-c43d3406.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-d02b077c.entry.js.map +0 -1
- /package/dist/spw-stencil-library/{p-4bc3d2ef.entry.js.map → p-04aa5d86.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a2fd09f8.entry.js.map → p-0839efb1.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-84645c94.entry.js.map → p-0bc1209e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-1644bf7d.entry.js.map → p-0e7f2c1a.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-670f0edc.entry.js.map → p-1306c0ff.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ed61e2a8.entry.js.map → p-137f2856.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-5e0b04c0.entry.js.map → p-1bb4a071.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-eb26b450.entry.js.map → p-1c728c37.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-44bb3ec0.entry.js.map → p-20fa2637.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2b70c24a.entry.js.map → p-2965d7ca.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-82ed2f9b.entry.js.map → p-29fb06a6.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2760ef2b.entry.js.map → p-2d7492af.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-6c88a82d.entry.js.map → p-3067d3dd.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e5f141b6.entry.js.map → p-31980405.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-9d0e8d02.entry.js.map → p-3553e1f1.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cbf4ef91.entry.js.map → p-3c524edb.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-d37963e0.entry.js.map → p-420fd27d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-87249c32.entry.js.map → p-460b4ede.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c3f21e33.entry.js.map → p-47f6b942.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-f26fd3b1.entry.js.map → p-49227f48.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a065a834.entry.js.map → p-4ab97219.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3545f888.entry.js.map → p-5ba3deea.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-5e1aae61.entry.js.map → p-6c0993d6.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-95749696.entry.js.map → p-70ccb73f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-6f084e62.entry.js.map → p-70f46bf2.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b3e76f4c.entry.js.map → p-7214cc7b.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-0c3e8d91.entry.js.map → p-798bac47.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a4111a43.entry.js.map → p-8483cd8b.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-931bea3a.entry.js.map → p-8c2f0377.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e4e2cb61.entry.js.map → p-93bd4d23.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-25204236.entry.js.map → p-95ec862e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-5adfcd7e.entry.js.map → p-9a3dcf80.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-6cdf16ac.entry.js.map → p-9d5deba6.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-d28a7068.entry.js.map → p-a264b181.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-95fa97a9.entry.js.map → p-aa4ddfa1.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-9dea2f39.entry.js.map → p-ad964a8e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-08000970.entry.js.map → p-ada217d5.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-197a694e.entry.js.map → p-aed34c29.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-94069aff.entry.js.map → p-b4805c08.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-277bb102.entry.js.map → p-bb4c4e16.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a5004a01.entry.js.map → p-bb7f1387.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-b4c2fdf2.entry.js.map → p-bcceb61b.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-68f93962.entry.js.map → p-bf070798.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-110ca863.entry.js.map → p-c02b7133.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ca98ee5d.entry.js.map → p-c278daa3.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-428aa721.entry.js.map → p-c398550f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-803b2bb5.entry.js.map → p-c77adac8.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ea0cfe62.entry.js.map → p-cc3a84a1.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-91b264d1.entry.js.map → p-cc869e6f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a1d06611.entry.js.map → p-ccbc7c44.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-3ac699ae.entry.js.map → p-d18146ca.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-65aec904.entry.js.map → p-d2f5d210.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-bb2421dc.entry.js.map → p-d8cae37d.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e2bac6be.entry.js.map → p-db817793.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c3246505.entry.js.map → p-dbb7e719.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-df4d1f42.entry.js.map → p-de771d14.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-187d02cb.entry.js.map → p-e369abbb.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-67b7b947.entry.js.map → p-e44b8ebb.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-6461fb4b.entry.js.map → p-e78304f0.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-25aaf6a6.entry.js.map → p-ea5f2427.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-95891f3a.entry.js.map → p-ea952c66.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-22f022ca.entry.js.map → p-eaa1025a.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ef8f15e9.entry.js.map → p-f05cd056.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2ef45489.entry.js.map → p-fad06d00.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-pagination.entry.esm.js","sources":["src/components/spw-pagination/spw-pagination.scss?tag=spw-pagination&encapsulation=shadow","src/components/spw-pagination/spw-pagination.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n%button {\n text-align: center;\n line-height: 32px;\n font-weight: 700;\n border-radius: 32px;\n font-size: 14px;\n min-width: 32px;\n height: 32px;\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n }\n}\n\n.spw-pagination {\n display: flex;\n flex-direction: column;\n align-items: center;\n @include breakpoint(md) {\n align-items: flex-start;\n }\n\n ul {\n display: flex;\n align-items: center;\n padding: 0;\n }\n\n &__item {\n margin-right: 12px;\n spw-icon {\n font-size: 18px;\n }\n button {\n padding: 0 6px;\n margin: 0;\n border: none;\n cursor: pointer;\n color: var(--spw-color-themes-grey-grey-900);\n background: none;\n @extend %button;\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):hover {\n button {\n background: var(--spw-color-themes-grey-grey-200);\n }\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):active {\n button {\n background: var(--spw-color-themes-grey-grey-300);\n }\n }\n\n &--arrow {\n button {\n padding: 0 12px;\n display: flex;\n gap: 8px;\n align-items: center;\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n }\n\n &--dots {\n position: relative;\n top: 3px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: default;\n background: none;\n color: var(--spw-color-themes-grey-grey-400);\n @extend %button;\n spw-icon {\n font-size: 16px;\n }\n }\n\n &--desktop {\n display: none;\n @include breakpoint(md) {\n display: inline-block;\n }\n }\n\n &--active {\n button {\n color: white;\n background: var(--spw-ds-primary);\n }\n }\n }\n\n &__input {\n spw-text-field {\n width: 36px;\n --spw-input-height: 32px;\n --spw-input-padding: 0 4px;\n --spw-input-text-align: center;\n --spw-input-font-size: 14px;\n }\n }\n\n &__mobile-arrows {\n margin-top: 12px;\n @include breakpoint(md) {\n display: none !important;\n }\n }\n\n &__total-pages {\n font-size: 14px;\n margin: 0 12px 0 6px;\n }\n}\n","import { Component, Fragment, Prop, Host, h, Event, EventEmitter, Watch, State, Method } from '@stencil/core';\n\n@Component({\n tag: 'spw-pagination',\n styleUrl: 'spw-pagination.scss',\n shadow: true,\n})\nexport class SpwPagination {\n /** Nombre total d'éléments à paginer */\n @Prop() totalItems: number;\n /** Nombre d'éléments à afficher par page */\n @Prop() itemsPerPage: number;\n /** Indique si la pagination est désactivée */\n @Prop() isDisabled: boolean = false;\n /** Type de variante de la pagination : 'numbers' ou 'input' */\n @Prop() variant: 'numbers' | 'input' = 'numbers';\n /** Page actuellement sélectionnée, mutable */\n @Prop({ mutable: true }) currentPage: number = 1;\n\n /** Événement émis lorsque la page est changée, renvoie le numéro de la nouvelle page */\n @Event() pageChanged: EventEmitter<number>;\n\n private totalPages: number;\n @State() inputPageValue: string = '';\n @State() isMobile: boolean = window.innerWidth < 800;\n private debounceTimer: any;\n\n componentWillLoad() {\n this.calculateTotalPages();\n this.inputPageValue = this.currentPage.toString();\n window.addEventListener('resize', this.updateIsMobile);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.updateIsMobile);\n }\n\n private updateIsMobile = () => {\n this.isMobile = window.innerWidth < 800;\n };\n\n @Watch('totalItems')\n @Watch('itemsPerPage')\n @Watch('currentPage')\n calculateTotalPages() {\n this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n }\n\n @Watch('itemsPerPage')\n onItemsPerPageChange() {\n this.currentPage = 1;\n this.inputPageValue = '1';\n this.pageChanged.emit(this.currentPage);\n }\n\n @Watch('totalItems')\n onTotalItemsChange() {\n const newTotalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n if (this.currentPage > newTotalPages || this.currentPage === 0) {\n this.currentPage = 1;\n this.inputPageValue = '1';\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n /** Méthode publique pour définir la page courante */\n @Method()\n async setPage(page: number): Promise<void> {\n this.goToPage(page);\n }\n\n private goToPage(page: number) {\n if (page !== this.currentPage && !this.isDisabled && page >= 1 && page <= this.totalPages) {\n this.currentPage = page;\n this.inputPageValue = this.currentPage.toString();\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n private handleInputChange(event: Event) {\n const inputValue = (event.target as HTMLInputElement).value;\n this.inputPageValue = inputValue;\n const page = parseInt(inputValue, 10);\n\n if (!isNaN(page) && page >= 1 && page <= this.totalPages) {\n clearTimeout(this.debounceTimer);\n this.debounceTimer = setTimeout(() => {\n this.goToPage(page);\n }, 500);\n }\n }\n\n private getPaginationClass() {\n const pages = this.calculatePageRange();\n const ellipsisCount = pages.filter(({ page }) => page === '...').length;\n const hasEllipsisStart = ellipsisCount > 0 && pages[1]?.page === '...';\n const hasEllipsisEnd = ellipsisCount > 0 && pages[pages.length - 2]?.page === '...';\n\n let paginationClass = `spw-pagination spw-pagination--${this.currentPage} spw-pagination--total-${this.totalPages}`;\n\n if (ellipsisCount === 2) {\n paginationClass += ' spw-pagination--double-ellipsis';\n } else if (hasEllipsisStart) {\n paginationClass += ' spw-pagination--ellipsis-start';\n } else if (hasEllipsisEnd) {\n paginationClass += ' spw-pagination--ellipsis-end';\n }\n\n return paginationClass;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n const page = parseInt(this.inputPageValue, 10);\n if (!isNaN(page)) {\n this.goToPage(page);\n }\n }\n }\n\n private calculatePageRange() {\n const pages = [];\n const { currentPage, totalPages, isMobile } = this;\n\n if (isMobile) {\n // Mode mobile\n if (totalPages <= 5) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 3) {\n for (let i = 1; i <= 3; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 2) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 2; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n } else {\n // Mode desktop\n if (totalPages <= 7) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 4) {\n for (let i = 1; i <= 4; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 3) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 3; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 2; i <= currentPage + 2; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n }\n\n return pages;\n }\n\n render() {\n const pages = this.calculatePageRange();\n const showPrevArrow = this.currentPage > 1;\n const showNextArrow = this.currentPage < this.totalPages;\n\n const prevArrow = showPrevArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span class=\"spw-pagination__item-arrow-text\">Précédent</span>\n </button>\n </li>\n );\n\n const nextArrow = showNextArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)}>\n <span class=\"spw-pagination__item-arrow-text\">Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const prevArrowMobile = this.currentPage > 1 && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span>Précédent</span>\n </button>\n </li>\n );\n\n const nextArrowMobile = this.currentPage < this.totalPages && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)} disabled={this.currentPage >= this.totalPages}>\n <span>Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const mobileArrows = (\n <ul class=\"spw-pagination__mobile-arrows\">\n {prevArrowMobile}\n {nextArrowMobile}\n </ul>\n );\n\n return (\n <Host>\n <div class={this.getPaginationClass()}>\n {this.variant === 'input' && (\n <Fragment>\n <ul>\n {prevArrow}\n <li class=\"spw-pagination__input\">\n <spw-text-field\n value={this.inputPageValue}\n type=\"text\"\n onInput={event => this.handleInputChange(event)}\n onKeyDown={event => this.handleKeyDown(event)}\n disabled={this.isDisabled}\n ></spw-text-field>\n </li>\n <li class=\"spw-pagination__total-pages\">sur {this.totalPages} {this.totalPages === 1 ? 'page' : 'pages'}</li>\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n {this.variant === 'numbers' && (\n <Fragment>\n <ul>\n {prevArrow}\n\n {pages.map(({ page, class: pageClass }) => {\n if (page === '...') {\n return (\n <li class={`spw-pagination__item spw-pagination__item--dots ${pageClass}`}>\n <spw-icon icon=\"fa-ellipsis\"></spw-icon>\n </li>\n );\n }\n\n return (\n <li\n class={{\n 'spw-pagination__item': true,\n 'spw-pagination__item--active': page === this.currentPage,\n [pageClass]: true,\n }}\n >\n <button onClick={() => this.goToPage(page as number)} disabled={page === this.currentPage}>\n {page}\n </button>\n </li>\n );\n })}\n\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spw-pagination.entry.esm.js","sources":["src/components/spw-pagination/spw-pagination.scss?tag=spw-pagination&encapsulation=shadow","src/components/spw-pagination/spw-pagination.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n%button {\n text-align: center;\n line-height: 32px;\n font-weight: 700;\n border-radius: 32px;\n font-size: 14px;\n min-width: 32px;\n height: 32px;\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n }\n}\n\n.spw-pagination {\n display: flex;\n flex-direction: column;\n align-items: center;\n @include breakpoint(md) {\n align-items: flex-start;\n }\n\n ul {\n display: flex;\n align-items: center;\n padding: 0;\n }\n\n &__item {\n margin-right: 12px;\n spw-icon {\n font-size: 18px;\n }\n button {\n padding: 0 6px;\n margin: 0;\n border: none;\n cursor: pointer;\n color: var(--spw-color-themes-grey-grey-900);\n background: none;\n @extend %button;\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):hover {\n button {\n background: var(--spw-color-themes-grey-grey-200);\n }\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):active {\n button {\n background: var(--spw-color-themes-grey-grey-300);\n }\n }\n\n &--arrow {\n button {\n padding: 0 12px;\n display: flex;\n gap: 8px;\n align-items: center;\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n }\n\n &--dots {\n position: relative;\n top: 3px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: default;\n background: none;\n color: var(--spw-color-themes-grey-grey-400);\n @extend %button;\n spw-icon {\n font-size: 16px;\n }\n }\n\n &--desktop {\n display: none;\n @include breakpoint(md) {\n display: inline-block;\n }\n }\n\n &--active {\n button {\n color: white;\n background: var(--spw-ds-primary);\n }\n }\n }\n\n &__input {\n spw-text-field {\n width: 36px;\n --spw-input-height: 32px;\n --spw-input-padding: 0 4px;\n --spw-input-text-align: center;\n --spw-input-font-size: 14px;\n }\n }\n\n &__mobile-arrows {\n margin-top: 12px;\n @include breakpoint(md) {\n display: none !important;\n }\n }\n\n &__total-pages {\n font-size: 14px;\n margin: 0 12px 0 6px;\n }\n}\n","import { Component, Fragment, Prop, Host, h, Event, EventEmitter, Watch, State, Method } from '@stencil/core';\n\n@Component({\n tag: 'spw-pagination',\n styleUrl: 'spw-pagination.scss',\n shadow: true,\n})\nexport class SpwPagination {\n /** Nombre total d'éléments à paginer */\n @Prop() totalItems: number;\n /** Nombre d'éléments à afficher par page */\n @Prop() itemsPerPage: number;\n /** Indique si la pagination est désactivée */\n @Prop() isDisabled: boolean = false;\n /** Type de variante de la pagination : 'numbers' ou 'input' */\n @Prop() variant: 'numbers' | 'input' = 'numbers';\n /** Page actuellement sélectionnée, mutable */\n @Prop({ mutable: true }) currentPage: number = 1;\n\n /** Événement émis lorsque la page est changée, renvoie le numéro de la nouvelle page */\n @Event() pageChanged: EventEmitter<number>;\n\n private totalPages: number;\n @State() inputPageValue: string = '';\n @State() isMobile: boolean = window.innerWidth < 800;\n private debounceTimer: any;\n\n componentWillLoad() {\n this.calculateTotalPages();\n this.inputPageValue = this.currentPage.toString();\n window.addEventListener('resize', this.updateIsMobile);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.updateIsMobile);\n }\n\n private updateIsMobile = () => {\n this.isMobile = window.innerWidth < 800;\n };\n\n @Watch('totalItems')\n @Watch('itemsPerPage')\n @Watch('currentPage')\n calculateTotalPages() {\n this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n }\n\n @Watch('currentPage')\n onCurrentPageChange(newPage: number) {\n this.inputPageValue = newPage.toString();\n }\n\n @Watch('itemsPerPage')\n onItemsPerPageChange() {\n this.currentPage = 1;\n this.pageChanged.emit(this.currentPage);\n }\n\n @Watch('totalItems')\n onTotalItemsChange() {\n const newTotalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n if (this.currentPage > newTotalPages || this.currentPage === 0) {\n this.currentPage = 1;\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n /** Méthode publique pour définir la page courante */\n @Method()\n async setPage(page: number): Promise<void> {\n this.goToPage(page);\n }\n\n private goToPage(page: number) {\n if (page !== this.currentPage && !this.isDisabled && page >= 1 && page <= this.totalPages) {\n this.currentPage = page;\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n private handleInputChange(event: Event) {\n const inputValue = (event.target as HTMLInputElement).value;\n this.inputPageValue = inputValue;\n const page = parseInt(inputValue, 10);\n\n if (!isNaN(page) && page >= 1 && page <= this.totalPages) {\n clearTimeout(this.debounceTimer);\n this.debounceTimer = setTimeout(() => {\n this.goToPage(page);\n }, 500);\n }\n }\n\n private getPaginationClass() {\n const pages = this.calculatePageRange();\n const ellipsisCount = pages.filter(({ page }) => page === '...').length;\n const hasEllipsisStart = ellipsisCount > 0 && pages[1]?.page === '...';\n const hasEllipsisEnd = ellipsisCount > 0 && pages[pages.length - 2]?.page === '...';\n\n let paginationClass = `spw-pagination spw-pagination--${this.currentPage} spw-pagination--total-${this.totalPages}`;\n\n if (ellipsisCount === 2) {\n paginationClass += ' spw-pagination--double-ellipsis';\n } else if (hasEllipsisStart) {\n paginationClass += ' spw-pagination--ellipsis-start';\n } else if (hasEllipsisEnd) {\n paginationClass += ' spw-pagination--ellipsis-end';\n }\n\n return paginationClass;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n const page = parseInt(this.inputPageValue, 10);\n if (!isNaN(page)) {\n this.goToPage(page);\n }\n }\n }\n\n private calculatePageRange() {\n const pages = [];\n const { currentPage, totalPages, isMobile } = this;\n\n if (isMobile) {\n // Mode mobile\n if (totalPages <= 5) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 3) {\n for (let i = 1; i <= 3; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 2) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 2; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n } else {\n // Mode desktop\n if (totalPages <= 7) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 4) {\n for (let i = 1; i <= 4; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 3) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 3; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 2; i <= currentPage + 2; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n }\n\n return pages;\n }\n\n render() {\n const pages = this.calculatePageRange();\n const showPrevArrow = this.currentPage > 1;\n const showNextArrow = this.currentPage < this.totalPages;\n\n const prevArrow = showPrevArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span class=\"spw-pagination__item-arrow-text\">Précédent</span>\n </button>\n </li>\n );\n\n const nextArrow = showNextArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)}>\n <span class=\"spw-pagination__item-arrow-text\">Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const prevArrowMobile = this.currentPage > 1 && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span>Précédent</span>\n </button>\n </li>\n );\n\n const nextArrowMobile = this.currentPage < this.totalPages && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)} disabled={this.currentPage >= this.totalPages}>\n <span>Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const mobileArrows = (\n <ul class=\"spw-pagination__mobile-arrows\">\n {prevArrowMobile}\n {nextArrowMobile}\n </ul>\n );\n\n return (\n <Host>\n <div class={this.getPaginationClass()}>\n {this.variant === 'input' && (\n <Fragment>\n <ul>\n {prevArrow}\n <li class=\"spw-pagination__input\">\n <spw-text-field\n value={this.inputPageValue}\n type=\"text\"\n onInput={event => this.handleInputChange(event)}\n onKeyDown={event => this.handleKeyDown(event)}\n disabled={this.isDisabled}\n ></spw-text-field>\n </li>\n <li class=\"spw-pagination__total-pages\">\n sur {this.totalPages} {this.totalPages === 1 ? 'page' : 'pages'}\n </li>\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n {this.variant === 'numbers' && (\n <Fragment>\n <ul>\n {prevArrow}\n\n {pages.map(({ page, class: pageClass }) => {\n if (page === '...') {\n return (\n <li class={`spw-pagination__item spw-pagination__item--dots ${pageClass}`}>\n <spw-icon icon=\"fa-ellipsis\"></spw-icon>\n </li>\n );\n }\n\n return (\n <li\n class={{\n 'spw-pagination__item': true,\n 'spw-pagination__item--active': page === this.currentPage,\n [pageClass]: true,\n }}\n >\n <button onClick={() => this.goToPage(page as number)} disabled={page === this.currentPage}>\n {page}\n </button>\n </li>\n );\n })}\n\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-slider.entry.esm.js","sources":["src/components/spw-slider/spw-slider.scss?tag=spw-slider&encapsulation=shadow","src/components/spw-slider/spw-slider.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-slider {\n position: relative;\n width: 100%;\n transition: height 0.3s ease-in-out;\n min-height: 100px;\n\n &[style*='height: 0px'] {\n min-height: 200px;\n }\n}\n\n.spw-slider__track {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n cursor: grab;\n user-select: none;\n\n &:active {\n cursor: grabbing;\n }\n}\n\n.spw-slider__navigation {\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n transform: translateY(-50%);\n display: flex;\n justify-content: space-between;\n padding: 0 12px;\n pointer-events: none;\n width: calc(100% + 64px);\n margin-left: -32px;\n @include breakpoint(lg) {\n width: 100%;\n margin-left: 0;\n }\n}\n\n.spw-slider__arrow {\n pointer-events: all;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n border: none;\n background-color: var(--spw-ds-primary);\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n font-size: 1.25rem;\n\n &:hover:not(:disabled) {\n transform: scale(0.9);\n }\n\n &:disabled {\n cursor: not-allowed;\n background-color: var(--spw-color-themes-grey-grey-300);\n color: var(--spw-color-themes-grey-grey-400);\n box-shadow: var(--spw-effect-elevation-5);\n }\n\n &:focus-visible {\n outline: 2px solid black;\n outline-offset: 2px;\n }\n}\n\n.spw-slider__dots {\n position: absolute;\n bottom: 10px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n gap: 0.5rem;\n z-index: 10;\n background: white;\n box-shadow: var(--spw-effect-elevation-5);\n padding: 8px;\n border-radius: 999px;\n}\n\n.spw-slider__dot {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--spw-color-themes-grey-grey-300);\n cursor: pointer;\n border: none;\n transition: all 0.2s ease;\n padding: 0;\n\n &:hover {\n transform: scale(1.2);\n }\n\n &--active {\n background-color: var(--spw-ds-primary);\n }\n\n &:focus-visible {\n outline: 2px solid black;\n outline-offset: 2px;\n }\n}\n\n.spw-slider__autoplay-toggle {\n margin-top: 12px;\n}\n","import { Component, Host, h, State, Element, Listen, Prop } from '@stencil/core';\n\n@Component({\n tag: 'spw-slider',\n styleUrl: 'spw-slider.scss',\n shadow: true,\n})\nexport class SpwSlider {\n @Element() el: HTMLElement;\n\n /** Affiche les flèches de navigation */\n @Prop() showArrows: boolean = true;\n /** Affiche les dots de navigation */\n @Prop() showDots: boolean = true;\n /** Affiche le toggle de défilement automatique */\n @Prop() showAutoplayToggle: boolean = false;\n /** Intervalle de défilement automatique en millisecondes */\n @Prop() autoplayInterval: number = 5000;\n /** Active le défilement automatique par défaut */\n @Prop() autoplayEnabled: boolean = false;\n /** Label du toggle de défilement automatique */\n @Prop() autoplayText: string = 'Défilement automatique';\n\n /** Index de la slide active */\n @State() activeIndex: number = 0;\n /** Nombre total de slides */\n @State() totalSlides: number = 0;\n /** Hauteur actuelle du slider */\n @State() currentHeight: number = 0;\n /** État du défilement automatique */\n @State() isAutoplayActive: boolean = false;\n\n /** Position de départ du swipe/drag */\n private startX: number = 0;\n /** Position actuelle du swipe/drag */\n private currentX: number = 0;\n /** Est en train de swiper/dragger */\n private isDragging: boolean = false;\n /** Intervalle de défilement automatique */\n private autoplayTimer: number;\n /** Tableau des slides */\n private slides: HTMLElement[] = [];\n /** Observer pour les mutations */\n private resizeObserver: ResizeObserver;\n /** Timeout pour le recalcul de hauteur */\n private heightUpdateTimeout: number;\n\n componentDidLoad() {\n this.initializeSlider();\n const slotElement = this.el.shadowRoot.querySelector('slot');\n if (slotElement) {\n slotElement.addEventListener('slotchange', this.handleSlotChange);\n }\n window.addEventListener('resize', this.handleResize);\n this.setupResizeObserver();\n\n // Initialiser l'autoplay si activé\n this.isAutoplayActive = this.autoplayEnabled;\n if (this.isAutoplayActive) {\n this.startAutoplay();\n }\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.handleResize);\n\n const slotElement = this.el.shadowRoot?.querySelector('slot');\n if (slotElement) {\n slotElement.removeEventListener('slotchange', this.handleSlotChange);\n }\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.heightUpdateTimeout) {\n clearTimeout(this.heightUpdateTimeout);\n }\n\n this.stopAutoplay();\n }\n\n private initializeSlider() {\n this.updateSlides();\n this.scheduleHeightUpdate(200);\n this.scheduleHeightUpdate(500);\n }\n\n private handleSlotChange = () => {\n this.updateSlides();\n this.scheduleHeightUpdate(50);\n };\n\n private handleResize = () => {\n this.scheduleHeightUpdate(50);\n };\n\n private setupResizeObserver() {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(() => {\n this.scheduleHeightUpdate(50);\n });\n\n this.slides.forEach(slide => {\n this.resizeObserver.observe(slide);\n\n const slotContent = slide.shadowRoot?.querySelector('slot')?.assignedElements()[0] as HTMLElement;\n if (slotContent) {\n this.resizeObserver.observe(slotContent);\n\n if (slotContent.shadowRoot) {\n const shadowContent = slotContent.shadowRoot.firstElementChild as HTMLElement;\n if (shadowContent) {\n this.resizeObserver.observe(shadowContent);\n }\n }\n }\n });\n }\n }\n\n private scheduleHeightUpdate(delay: number = 0) {\n if (this.heightUpdateTimeout) {\n clearTimeout(this.heightUpdateTimeout);\n }\n\n this.heightUpdateTimeout = window.setTimeout(() => {\n this.updateHeight();\n }, delay);\n }\n\n private updateSlides() {\n const slotElement = this.el.shadowRoot.querySelector('slot');\n if (slotElement) {\n const newSlides = slotElement.assignedElements() as HTMLElement[];\n\n if (this.resizeObserver) {\n this.slides.forEach(slide => {\n this.resizeObserver.unobserve(slide);\n });\n }\n\n this.slides = newSlides;\n this.totalSlides = this.slides.length;\n\n this.slides.forEach((slide, index) => {\n slide.style.transform = `translateX(${index * 100}%)`;\n });\n\n if (this.resizeObserver) {\n this.slides.forEach(slide => {\n this.resizeObserver.observe(slide);\n });\n }\n }\n }\n\n private async updateHeight() {\n if (this.slides[this.activeIndex]) {\n const activeSlide = this.slides[this.activeIndex];\n\n const slotContent = activeSlide.shadowRoot?.querySelector('slot')?.assignedElements()[0];\n\n if (slotContent) {\n const tagName = slotContent.tagName.toLowerCase();\n if (tagName.includes('-')) {\n try {\n await customElements.whenDefined(tagName);\n await new Promise(resolve => setTimeout(resolve, 50));\n } catch (e) {}\n }\n\n const contentElement = slotContent as HTMLElement;\n let slideHeight = contentElement.offsetHeight || contentElement.scrollHeight;\n\n if (contentElement.shadowRoot) {\n const shadowContent = contentElement.shadowRoot.firstElementChild as HTMLElement;\n if (shadowContent) {\n slideHeight = shadowContent.offsetHeight || shadowContent.scrollHeight;\n }\n }\n\n if (slideHeight > 0) {\n this.currentHeight = slideHeight;\n return;\n }\n }\n\n let slideHeight = activeSlide.offsetHeight || activeSlide.scrollHeight;\n\n if (slideHeight > 50) {\n this.currentHeight = slideHeight;\n } else {\n this.retryHeightCalculation(0);\n }\n }\n }\n\n private retryHeightCalculation(attempt: number) {\n if (attempt >= 15) return;\n\n setTimeout(\n () => {\n const activeSlide = this.slides[this.activeIndex];\n if (!activeSlide) return;\n\n const slotContent = activeSlide.shadowRoot?.querySelector('slot')?.assignedElements()[0] as HTMLElement;\n\n if (slotContent) {\n let retryHeight = slotContent.offsetHeight || slotContent.scrollHeight;\n\n if (slotContent.shadowRoot) {\n const shadowContent = slotContent.shadowRoot.firstElementChild as HTMLElement;\n if (shadowContent) {\n retryHeight = shadowContent.offsetHeight || shadowContent.scrollHeight;\n }\n }\n\n if (retryHeight > 50) {\n this.currentHeight = retryHeight;\n return;\n }\n }\n\n const retryHeight = activeSlide.offsetHeight || activeSlide.scrollHeight;\n\n if (retryHeight > 50) {\n this.currentHeight = retryHeight;\n } else {\n this.retryHeightCalculation(attempt + 1);\n }\n },\n 100 * (attempt + 1),\n );\n }\n\n private goToSlide(index: number) {\n if (index < 0 || index >= this.totalSlides) return;\n\n this.activeIndex = index;\n this.slides.forEach((slide, i) => {\n const offset = (i - this.activeIndex) * 100;\n slide.style.transition = 'transform 0.3s ease-in-out';\n slide.style.transform = `translateX(${offset}%)`;\n });\n\n this.scheduleHeightUpdate(0);\n this.scheduleHeightUpdate(320);\n\n if (this.isAutoplayActive) {\n this.stopAutoplay();\n this.startAutoplay();\n }\n }\n\n private handlePrevious = () => {\n if (this.activeIndex > 0) {\n this.goToSlide(this.activeIndex - 1);\n }\n };\n\n private handleNext = () => {\n if (this.activeIndex < this.totalSlides - 1) {\n this.goToSlide(this.activeIndex + 1);\n }\n };\n\n private handleDotClick = (index: number) => {\n this.goToSlide(index);\n };\n\n private startAutoplay = () => {\n this.stopAutoplay();\n this.autoplayTimer = window.setInterval(() => {\n const nextIndex = this.activeIndex < this.totalSlides - 1 ? this.activeIndex + 1 : 0;\n this.goToSlide(nextIndex);\n }, this.autoplayInterval);\n };\n\n private stopAutoplay = () => {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n this.autoplayTimer = null;\n }\n };\n\n private handleAutoplayToggle = (event: CustomEvent) => {\n this.isAutoplayActive = event.detail;\n if (this.isAutoplayActive) {\n this.startAutoplay();\n } else {\n this.stopAutoplay();\n }\n };\n\n @Listen('touchstart', { passive: true })\n handleTouchStart(event: TouchEvent) {\n this.startX = event.touches[0].clientX;\n this.currentX = this.startX;\n this.isDragging = true;\n\n if (this.isAutoplayActive) {\n this.stopAutoplay();\n }\n }\n\n @Listen('mousedown', { passive: false })\n handleMouseDown(event: MouseEvent) {\n this.startX = event.clientX;\n this.currentX = this.startX;\n this.isDragging = true;\n event.preventDefault();\n\n if (this.isAutoplayActive) {\n this.stopAutoplay();\n }\n }\n\n @Listen('touchmove', { passive: true })\n handleTouchMove(event: TouchEvent) {\n if (!this.isDragging) return;\n this.currentX = event.touches[0].clientX;\n }\n\n @Listen('mousemove', { passive: true })\n handleMouseMove(event: MouseEvent) {\n if (!this.isDragging) return;\n this.currentX = event.clientX;\n }\n\n @Listen('touchend')\n handleTouchEnd() {\n this.handleDragEnd();\n }\n\n @Listen('mouseup')\n handleMouseUp() {\n this.handleDragEnd();\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n if (this.isDragging) {\n this.handleDragEnd();\n }\n }\n\n private handleDragEnd() {\n if (!this.isDragging) return;\n\n const diff = this.startX - this.currentX;\n const threshold = 50;\n\n if (Math.abs(diff) > threshold) {\n if (diff > 0) {\n this.handleNext();\n } else {\n this.handlePrevious();\n }\n }\n\n this.isDragging = false;\n this.startX = 0;\n this.currentX = 0;\n\n if (this.isAutoplayActive) {\n this.startAutoplay();\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"spw-slider\" style={{ height: `${this.currentHeight}px` }}>\n <div class=\"spw-slider__track\">\n <slot></slot>\n </div>\n\n {this.showArrows && (\n <div class=\"spw-slider__navigation\">\n <button class=\"spw-slider__arrow spw-slider__arrow--prev\" onClick={this.handlePrevious} disabled={this.activeIndex === 0} aria-label=\"Slide précédente\">\n <spw-icon icon=\"fa-chevron-left\"></spw-icon>\n </button>\n <button class=\"spw-slider__arrow spw-slider__arrow--next\" onClick={this.handleNext} disabled={this.activeIndex === this.totalSlides - 1} aria-label=\"Slide suivante\">\n <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </div>\n )}\n\n {this.showDots && this.totalSlides > 1 && (\n <div class=\"spw-slider__dots\">\n {Array.from({ length: this.totalSlides }, (_, i) => (\n <button\n class={{\n 'spw-slider__dot': true,\n 'spw-slider__dot--active': i === this.activeIndex,\n }}\n onClick={() => this.handleDotClick(i)}\n aria-label={`Aller à la slide ${i + 1}`}\n aria-current={i === this.activeIndex ? 'true' : 'false'}\n />\n ))}\n </div>\n )}\n </div>\n\n {this.showAutoplayToggle && (\n <div class=\"spw-slider__autoplay-toggle\">\n <spw-checkbox variant=\"toggle\" checked={this.isAutoplayActive} onSpwChange={this.handleAutoplayToggle}>\n {this.autoplayText}\n </spw-checkbox>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,YAAY,GAAG,u1IAAu1I;;MCO/1I,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AASU,QAAA,IAAU,CAAA,UAAA,GAAY,IAAI;;AAE1B,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI;;AAExB,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK;;AAEnC,QAAA,IAAgB,CAAA,gBAAA,GAAW,IAAI;;AAE/B,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK;;AAEhC,QAAA,IAAY,CAAA,YAAA,GAAW,wBAAwB;;AAG9C,QAAA,IAAW,CAAA,WAAA,GAAW,CAAC;;AAEvB,QAAA,IAAW,CAAA,WAAA,GAAW,CAAC;;AAEvB,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC;;AAEzB,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK;;AAGlC,QAAA,IAAM,CAAA,MAAA,GAAW,CAAC;;AAElB,QAAA,IAAQ,CAAA,QAAA,GAAW,CAAC;;AAEpB,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;;AAI3B,QAAA,IAAM,CAAA,MAAA,GAAkB,EAAE;AA+C1B,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;YAC9B,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;AAC/B,SAAC;AAEO,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;AAC1B,YAAA,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;AAC/B,SAAC;AAgKO,QAAA,IAAc,CAAA,cAAA,GAAG,MAAK;AAC5B,YAAA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;;AAExC,SAAC;AAEO,QAAA,IAAU,CAAA,UAAA,GAAG,MAAK;YACxB,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;gBAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;;AAExC,SAAC;AAEO,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,KAAa,KAAI;AACzC,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACvB,SAAC;AAEO,QAAA,IAAa,CAAA,aAAA,GAAG,MAAK;YAC3B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,MAAK;gBAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC;AACpF,gBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAC3B,aAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAC3B,SAAC;AAEO,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;AAC1B,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,gBAAA,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AACjC,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;;AAE7B,SAAC;AAEO,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,KAAkB,KAAI;AACpD,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM;AACpC,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,aAAa,EAAE;;iBACf;gBACL,IAAI,CAAC,YAAY,EAAE;;AAEvB,SAAC;AA2HF;IAjXC,gBAAgB,GAAA;QACd,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC;QAC5D,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;;QAEnE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,mBAAmB,EAAE;;AAG1B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe;AAC5C,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,aAAa,EAAE;;;IAIxB,oBAAoB,GAAA;;QAClB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;AAEvD,QAAA,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,CAAC,MAAM,CAAC;QAC7D,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;;AAGtE,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;;AAGlC,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;;QAGxC,IAAI,CAAC,YAAY,EAAE;;IAGb,gBAAgB,GAAA;QACtB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;AAC9B,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;;IAYxB,mBAAmB,GAAA;AACzB,QAAA,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;AACzC,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;AAC5C,gBAAA,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;AAC/B,aAAC,CAAC;AAEF,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAG;;AAC1B,gBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC;gBAElC,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,MAAM,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,gBAAgB,EAAG,CAAA,CAAC,CAAgB;gBACjG,IAAI,WAAW,EAAE;AACf,oBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;AAExC,oBAAA,IAAI,WAAW,CAAC,UAAU,EAAE;AAC1B,wBAAA,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,iBAAgC;wBAC7E,IAAI,aAAa,EAAE;AACjB,4BAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC;;;;AAIlD,aAAC,CAAC;;;IAIE,oBAAoB,CAAC,QAAgB,CAAC,EAAA;AAC5C,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;;QAGxC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;YAChD,IAAI,CAAC,YAAY,EAAE;SACpB,EAAE,KAAK,CAAC;;IAGH,YAAY,GAAA;AAClB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC;QAC5D,IAAI,WAAW,EAAE;AACf,YAAA,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,EAAmB;AAEjE,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAG;AAC1B,oBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;AACtC,iBAAC,CAAC;;AAGJ,YAAA,IAAI,CAAC,MAAM,GAAG,SAAS;YACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YAErC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;gBACnC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,KAAK,GAAG,GAAG,CAAA,EAAA,CAAI;AACvD,aAAC,CAAC;AAEF,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAG;AAC1B,oBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC;AACpC,iBAAC,CAAC;;;;AAKA,IAAA,MAAM,YAAY,GAAA;;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAEjD,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,WAAW,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,MAAM,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,gBAAgB,EAAG,CAAA,CAAC,CAAC;YAExF,IAAI,WAAW,EAAE;gBACf,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE;AACjD,gBAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACzB,oBAAA,IAAI;AACF,wBAAA,MAAM,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC;AACzC,wBAAA,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;;AACrD,oBAAA,OAAO,CAAC,EAAE;;gBAGd,MAAM,cAAc,GAAG,WAA0B;gBACjD,IAAI,WAAW,GAAG,cAAc,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY;AAE5E,gBAAA,IAAI,cAAc,CAAC,UAAU,EAAE;AAC7B,oBAAA,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,iBAAgC;oBAChF,IAAI,aAAa,EAAE;wBACjB,WAAW,GAAG,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY;;;AAI1E,gBAAA,IAAI,WAAW,GAAG,CAAC,EAAE;AACnB,oBAAA,IAAI,CAAC,aAAa,GAAG,WAAW;oBAChC;;;YAIJ,IAAI,WAAW,GAAG,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY;AAEtE,YAAA,IAAI,WAAW,GAAG,EAAE,EAAE;AACpB,gBAAA,IAAI,CAAC,aAAa,GAAG,WAAW;;iBAC3B;AACL,gBAAA,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;;;;AAK5B,IAAA,sBAAsB,CAAC,OAAe,EAAA;QAC5C,IAAI,OAAO,IAAI,EAAE;YAAE;QAEnB,UAAU,CACR,MAAK;;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,YAAA,IAAI,CAAC,WAAW;gBAAE;YAElB,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,WAAW,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,MAAM,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,gBAAgB,EAAG,CAAA,CAAC,CAAgB;YAEvG,IAAI,WAAW,EAAE;gBACf,IAAI,WAAW,GAAG,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY;AAEtE,gBAAA,IAAI,WAAW,CAAC,UAAU,EAAE;AAC1B,oBAAA,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,iBAAgC;oBAC7E,IAAI,aAAa,EAAE;wBACjB,WAAW,GAAG,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY;;;AAI1E,gBAAA,IAAI,WAAW,GAAG,EAAE,EAAE;AACpB,oBAAA,IAAI,CAAC,aAAa,GAAG,WAAW;oBAChC;;;YAIJ,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY;AAExE,YAAA,IAAI,WAAW,GAAG,EAAE,EAAE;AACpB,gBAAA,IAAI,CAAC,aAAa,GAAG,WAAW;;iBAC3B;AACL,gBAAA,IAAI,CAAC,sBAAsB,CAAC,OAAO,GAAG,CAAC,CAAC;;SAE3C,EACD,GAAG,IAAI,OAAO,GAAG,CAAC,CAAC,CACpB;;AAGK,IAAA,SAAS,CAAC,KAAa,EAAA;QAC7B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW;YAAE;AAE5C,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAI;YAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG;AAC3C,YAAA,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,4BAA4B;YACrD,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAc,WAAA,EAAA,MAAM,IAAI;AAClD,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;AAE9B,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,aAAa,EAAE;;;AA6CxB,IAAA,gBAAgB,CAAC,KAAiB,EAAA;QAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AAEtB,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,YAAY,EAAE;;;AAKvB,IAAA,eAAe,CAAC,KAAiB,EAAA;AAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO;AAC3B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QACtB,KAAK,CAAC,cAAc,EAAE;AAEtB,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,YAAY,EAAE;;;AAKvB,IAAA,eAAe,CAAC,KAAiB,EAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;;AAI1C,IAAA,eAAe,CAAC,KAAiB,EAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO;;IAI/B,cAAc,GAAA;QACZ,IAAI,CAAC,aAAa,EAAE;;IAItB,aAAa,GAAA;QACX,IAAI,CAAC,aAAa,EAAE;;IAItB,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,aAAa,EAAE;;;IAIhB,aAAa,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ;QACxC,MAAM,SAAS,GAAG,EAAE;QAEpB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE;AAC9B,YAAA,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,IAAI,CAAC,UAAU,EAAE;;iBACZ;gBACL,IAAI,CAAC,cAAc,EAAE;;;AAIzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;AAEjB,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,aAAa,EAAE;;;IAIxB,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,EAAA,CAAI,EAAE,EAAA,EAClE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EAEL,IAAI,CAAC,UAAU,KACd,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,wBAAwB,EAAA,EACjC,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,KAAK,EAAC,2CAA2C,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,KAAK,CAAC,gBAAa,4BAAkB,EAAA,EACrJ,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,iBAAiB,EAAA,CAAY,CACrC,EACT,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2CAA2C,EAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,EAAA,YAAA,EAAa,gBAAgB,EAAA,EAClK,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,kBAAkB,EAAY,CAAA,CACtC,CACL,CACP,EAEA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,KACpC,4DAAK,KAAK,EAAC,kBAAkB,EAAA,EAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAC7C,CAAA,CAAA,QAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,yBAAyB,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW;aAClD,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EACzB,YAAA,EAAA,CAAoB,iBAAA,EAAA,CAAC,GAAG,CAAC,CAAA,CAAE,EAAA,cAAA,EACzB,CAAC,KAAK,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,OAAO,EACvD,CAAA,CACH,CAAC,CACE,CACP,CACG,EAEL,IAAI,CAAC,kBAAkB,KACtB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAc,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAClG,EAAA,IAAI,CAAC,YAAY,CACL,CACX,CACP,CACI;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"spw-slider.entry.esm.js","sources":["src/components/spw-slider/spw-slider.scss?tag=spw-slider&encapsulation=shadow","src/components/spw-slider/spw-slider.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-slider {\n position: relative;\n width: 100%;\n transition: height 0.3s ease-in-out;\n min-height: 100px;\n\n &[style*='height: 0px'] {\n min-height: 200px;\n }\n &--arrows-outside {\n padding: 0 56px;\n }\n}\n\n.spw-slider__track {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n cursor: grab;\n user-select: none;\n\n &:active {\n cursor: grabbing;\n }\n}\n\n.spw-slider__navigation {\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n transform: translateY(-50%);\n display: flex;\n justify-content: space-between;\n padding: 0 12px;\n pointer-events: none;\n width: calc(100% + 64px);\n margin-left: -32px;\n @include breakpoint(lg) {\n width: 100%;\n margin-left: 0;\n }\n .spw-slider--arrows-outside & {\n width: 100%;\n padding: 0;\n margin-left: 0;\n }\n}\n\n.spw-slider__arrow {\n pointer-events: all;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n border: none;\n background-color: var(--spw-ds-primary);\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n font-size: 1.25rem;\n\n &:hover:not(:disabled) {\n transform: scale(0.9);\n }\n\n &:disabled {\n cursor: not-allowed;\n background-color: var(--spw-color-themes-grey-grey-300);\n color: var(--spw-color-themes-grey-grey-400);\n }\n\n &:focus-visible {\n outline: 2px solid black;\n outline-offset: 2px;\n }\n}\n\n.spw-slider__dots {\n position: absolute;\n bottom: 10px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n gap: 0.5rem;\n z-index: 10;\n background: white;\n box-shadow: var(--spw-effect-elevation-5);\n padding: 8px;\n border-radius: 999px;\n}\n\n.spw-slider__dot {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--spw-color-themes-grey-grey-300);\n cursor: pointer;\n border: none;\n transition: all 0.2s ease;\n padding: 0;\n\n &:hover {\n transform: scale(1.2);\n }\n\n &--active {\n background-color: var(--spw-ds-primary);\n }\n\n &:focus-visible {\n outline: 2px solid black;\n outline-offset: 2px;\n }\n}\n\n.spw-slider__autoplay-toggle {\n margin-top: 12px;\n}\n","import { Component, Host, h, State, Element, Listen, Prop } from '@stencil/core';\n\n@Component({\n tag: 'spw-slider',\n styleUrl: 'spw-slider.scss',\n shadow: true,\n})\nexport class SpwSlider {\n @Element() el: HTMLElement;\n\n /** Affiche les flèches de navigation */\n @Prop() showArrows: boolean = true;\n /** Affiche les dots de navigation */\n @Prop() showDots: boolean = true;\n /** Affiche le toggle de défilement automatique */\n @Prop() showAutoplayToggle: boolean = false;\n /** Intervalle de défilement automatique en millisecondes */\n @Prop() autoplayInterval: number = 5000;\n /** Active le défilement automatique par défaut */\n @Prop() autoplayEnabled: boolean = false;\n /** Label du toggle de défilement automatique */\n @Prop() autoplayText: string = 'Défilement automatique';\n /** Position des flèches gauche/droite */\n @Prop() arrowsPosition: 'outside' | 'inside' = 'inside';\n\n /** Index de la slide active */\n @State() activeIndex: number = 0;\n /** Nombre total de slides */\n @State() totalSlides: number = 0;\n /** Hauteur actuelle du slider */\n @State() currentHeight: number = 0;\n /** État du défilement automatique */\n @State() isAutoplayActive: boolean = false;\n\n /** Position de départ du swipe/drag */\n private startX: number = 0;\n /** Position actuelle du swipe/drag */\n private currentX: number = 0;\n /** Est en train de swiper/dragger */\n private isDragging: boolean = false;\n /** Intervalle de défilement automatique */\n private autoplayTimer: number;\n /** Tableau des slides */\n private slides: HTMLElement[] = [];\n /** Observer pour les mutations */\n private resizeObserver: ResizeObserver;\n /** Timeout pour le recalcul de hauteur */\n private heightUpdateTimeout: number;\n\n componentDidLoad() {\n this.initializeSlider();\n const slotElement = this.el.shadowRoot.querySelector('slot');\n if (slotElement) {\n slotElement.addEventListener('slotchange', this.handleSlotChange);\n }\n window.addEventListener('resize', this.handleResize);\n this.setupResizeObserver();\n\n this.isAutoplayActive = this.autoplayEnabled;\n if (this.isAutoplayActive) {\n this.startAutoplay();\n }\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.handleResize);\n\n const slotElement = this.el.shadowRoot?.querySelector('slot');\n if (slotElement) {\n slotElement.removeEventListener('slotchange', this.handleSlotChange);\n }\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.heightUpdateTimeout) {\n clearTimeout(this.heightUpdateTimeout);\n }\n\n this.stopAutoplay();\n }\n\n private initializeSlider() {\n this.updateSlides();\n this.scheduleHeightUpdate(200);\n this.scheduleHeightUpdate(500);\n }\n\n private handleSlotChange = () => {\n this.updateSlides();\n this.scheduleHeightUpdate(50);\n };\n\n private handleResize = () => {\n this.scheduleHeightUpdate(50);\n };\n\n private setupResizeObserver() {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(() => {\n this.scheduleHeightUpdate(50);\n });\n\n this.slides.forEach(slide => {\n this.resizeObserver.observe(slide);\n\n const slotContent = slide.shadowRoot?.querySelector('slot')?.assignedElements()[0] as HTMLElement;\n if (slotContent) {\n this.resizeObserver.observe(slotContent);\n\n if (slotContent.shadowRoot) {\n const shadowContent = slotContent.shadowRoot.firstElementChild as HTMLElement;\n if (shadowContent) {\n this.resizeObserver.observe(shadowContent);\n }\n }\n }\n });\n }\n }\n\n private scheduleHeightUpdate(delay: number = 0) {\n if (this.heightUpdateTimeout) {\n clearTimeout(this.heightUpdateTimeout);\n }\n\n this.heightUpdateTimeout = window.setTimeout(() => {\n this.updateHeight();\n }, delay);\n }\n\n private updateSlides() {\n const slotElement = this.el.shadowRoot.querySelector('slot');\n if (slotElement) {\n const newSlides = slotElement.assignedElements() as HTMLElement[];\n\n if (this.resizeObserver) {\n this.slides.forEach(slide => {\n this.resizeObserver.unobserve(slide);\n });\n }\n\n this.slides = newSlides;\n this.totalSlides = this.slides.length;\n\n this.slides.forEach((slide, index) => {\n slide.style.transform = `translateX(${index * 100}%)`;\n });\n\n if (this.resizeObserver) {\n this.slides.forEach(slide => {\n this.resizeObserver.observe(slide);\n });\n }\n }\n }\n\n private async updateHeight() {\n if (this.slides[this.activeIndex]) {\n const activeSlide = this.slides[this.activeIndex];\n\n const slotContent = activeSlide.shadowRoot?.querySelector('slot')?.assignedElements()[0];\n\n if (slotContent) {\n const tagName = slotContent.tagName.toLowerCase();\n if (tagName.includes('-')) {\n try {\n await customElements.whenDefined(tagName);\n await new Promise(resolve => setTimeout(resolve, 50));\n } catch (e) {}\n }\n\n const contentElement = slotContent as HTMLElement;\n let slideHeight = contentElement.offsetHeight || contentElement.scrollHeight;\n\n if (contentElement.shadowRoot) {\n const shadowContent = contentElement.shadowRoot.firstElementChild as HTMLElement;\n if (shadowContent) {\n slideHeight = shadowContent.offsetHeight || shadowContent.scrollHeight;\n }\n }\n\n if (slideHeight > 0) {\n this.currentHeight = slideHeight;\n return;\n }\n }\n\n let slideHeight = activeSlide.offsetHeight || activeSlide.scrollHeight;\n\n if (slideHeight > 50) {\n this.currentHeight = slideHeight;\n } else {\n this.retryHeightCalculation(0);\n }\n }\n }\n\n private retryHeightCalculation(attempt: number) {\n if (attempt >= 15) return;\n\n setTimeout(\n () => {\n const activeSlide = this.slides[this.activeIndex];\n if (!activeSlide) return;\n\n const slotContent = activeSlide.shadowRoot?.querySelector('slot')?.assignedElements()[0] as HTMLElement;\n\n if (slotContent) {\n let retryHeight = slotContent.offsetHeight || slotContent.scrollHeight;\n\n if (slotContent.shadowRoot) {\n const shadowContent = slotContent.shadowRoot.firstElementChild as HTMLElement;\n if (shadowContent) {\n retryHeight = shadowContent.offsetHeight || shadowContent.scrollHeight;\n }\n }\n\n if (retryHeight > 50) {\n this.currentHeight = retryHeight;\n return;\n }\n }\n\n const retryHeight = activeSlide.offsetHeight || activeSlide.scrollHeight;\n\n if (retryHeight > 50) {\n this.currentHeight = retryHeight;\n } else {\n this.retryHeightCalculation(attempt + 1);\n }\n },\n 100 * (attempt + 1),\n );\n }\n\n private goToSlide(index: number) {\n if (index < 0 || index >= this.totalSlides) return;\n\n this.activeIndex = index;\n this.slides.forEach((slide, i) => {\n const offset = (i - this.activeIndex) * 100;\n slide.style.transition = 'transform 0.3s ease-in-out';\n slide.style.transform = `translateX(${offset}%)`;\n });\n\n this.scheduleHeightUpdate(0);\n this.scheduleHeightUpdate(320);\n\n if (this.isAutoplayActive) {\n this.stopAutoplay();\n this.startAutoplay();\n }\n }\n\n private handlePrevious = () => {\n if (this.activeIndex > 0) {\n this.goToSlide(this.activeIndex - 1);\n }\n };\n\n private handleNext = () => {\n if (this.activeIndex < this.totalSlides - 1) {\n this.goToSlide(this.activeIndex + 1);\n }\n };\n\n private handleDotClick = (index: number) => {\n this.goToSlide(index);\n };\n\n private startAutoplay = () => {\n this.stopAutoplay();\n this.autoplayTimer = window.setInterval(() => {\n const nextIndex = this.activeIndex < this.totalSlides - 1 ? this.activeIndex + 1 : 0;\n this.goToSlide(nextIndex);\n }, this.autoplayInterval);\n };\n\n private stopAutoplay = () => {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n this.autoplayTimer = null;\n }\n };\n\n private handleAutoplayToggle = (event: CustomEvent) => {\n this.isAutoplayActive = event.detail;\n if (this.isAutoplayActive) {\n this.startAutoplay();\n } else {\n this.stopAutoplay();\n }\n };\n\n @Listen('touchstart', { passive: true })\n handleTouchStart(event: TouchEvent) {\n this.startX = event.touches[0].clientX;\n this.currentX = this.startX;\n this.isDragging = true;\n\n if (this.isAutoplayActive) {\n this.stopAutoplay();\n }\n }\n\n @Listen('mousedown', { passive: false })\n handleMouseDown(event: MouseEvent) {\n this.startX = event.clientX;\n this.currentX = this.startX;\n this.isDragging = true;\n event.preventDefault();\n\n if (this.isAutoplayActive) {\n this.stopAutoplay();\n }\n }\n\n @Listen('touchmove', { passive: true })\n handleTouchMove(event: TouchEvent) {\n if (!this.isDragging) return;\n this.currentX = event.touches[0].clientX;\n }\n\n @Listen('mousemove', { passive: true })\n handleMouseMove(event: MouseEvent) {\n if (!this.isDragging) return;\n this.currentX = event.clientX;\n }\n\n @Listen('touchend')\n handleTouchEnd() {\n this.handleDragEnd();\n }\n\n @Listen('mouseup')\n handleMouseUp() {\n this.handleDragEnd();\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n if (this.isDragging) {\n this.handleDragEnd();\n }\n }\n\n private handleDragEnd() {\n if (!this.isDragging) return;\n\n const diff = this.startX - this.currentX;\n const threshold = 50;\n\n if (Math.abs(diff) > threshold) {\n if (diff > 0) {\n this.handleNext();\n } else {\n this.handlePrevious();\n }\n }\n\n this.isDragging = false;\n this.startX = 0;\n this.currentX = 0;\n\n if (this.isAutoplayActive) {\n this.startAutoplay();\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-slider': true,\n [`spw-slider--arrows-${this.arrowsPosition}`]: true,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.elementClass} style={{ height: `${this.currentHeight}px` }}>\n <div class=\"spw-slider__track\">\n <slot></slot>\n </div>\n\n {this.showArrows && (\n <div class=\"spw-slider__navigation\">\n <button class=\"spw-slider__arrow spw-slider__arrow--prev\" onClick={this.handlePrevious} disabled={this.activeIndex === 0} aria-label=\"Slide précédente\">\n <spw-icon icon=\"fa-chevron-left\"></spw-icon>\n </button>\n <button class=\"spw-slider__arrow spw-slider__arrow--next\" onClick={this.handleNext} disabled={this.activeIndex === this.totalSlides - 1} aria-label=\"Slide suivante\">\n <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </div>\n )}\n\n {this.showDots && this.totalSlides > 1 && (\n <div class=\"spw-slider__dots\">\n {Array.from({ length: this.totalSlides }, (_, i) => (\n <button\n class={{\n 'spw-slider__dot': true,\n 'spw-slider__dot--active': i === this.activeIndex,\n }}\n onClick={() => this.handleDotClick(i)}\n aria-label={`Aller à la slide ${i + 1}`}\n aria-current={i === this.activeIndex ? 'true' : 'false'}\n />\n ))}\n </div>\n )}\n </div>\n\n {this.showAutoplayToggle && (\n <div class=\"spw-slider__autoplay-toggle\">\n <spw-checkbox variant=\"toggle\" checked={this.isAutoplayActive} onSpwChange={this.handleAutoplayToggle}>\n {this.autoplayText}\n </spw-checkbox>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|