@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
|
@@ -21,7 +21,24 @@ const meta = {
|
|
|
21
21
|
component: `
|
|
22
22
|
<strong class="mr-2">Statut du composant :</strong> <spw-tag size="small" variant="green">Prêt</spw-tag>
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Le composant Modal affiche une fenêtre superposée qui capte l'attention de l'utilisateur pour afficher du contenu ou des actions importantes. Il masque temporairement le reste de l'interface et nécessite une interaction avant de continuer.
|
|
25
|
+
|
|
26
|
+
## Tailles disponibles
|
|
27
|
+
|
|
28
|
+
- **Small** : Pour des messages courts ou confirmations simples
|
|
29
|
+
- **Medium** : Taille par défaut pour la plupart des cas d'usage
|
|
30
|
+
- **Large** : Pour du contenu plus riche ou des formulaires complets
|
|
31
|
+
- **Fluid** : S'adapte dynamiquement au contenu
|
|
32
|
+
|
|
33
|
+
## Fonctionnalités
|
|
34
|
+
|
|
35
|
+
- Ouverture via attribut data-modal-trigger sur n'importe quel élément
|
|
36
|
+
- Fermeture via attribut data-modal-close, touche Escape, ou clic overlay
|
|
37
|
+
- Piège de focus (focus trap) pour l'accessibilité
|
|
38
|
+
- Animations d'entrée/sortie en fondu
|
|
39
|
+
- Gestion automatique des vidéos (arrêt à la fermeture)
|
|
40
|
+
- Méthodes programmatiques openModal() et closeModal()
|
|
41
|
+
- Événements spwModalOpen et spwModalClose
|
|
25
42
|
|
|
26
43
|
[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/75759c-modale)
|
|
27
44
|
`,
|
|
@@ -74,6 +91,17 @@ Small.args = {
|
|
|
74
91
|
</spw-group>
|
|
75
92
|
`,
|
|
76
93
|
};
|
|
94
|
+
Small.parameters = {
|
|
95
|
+
docs: {
|
|
96
|
+
description: {
|
|
97
|
+
story: `
|
|
98
|
+
Modal de petite taille idéale pour des messages de confirmation courts ou des alertes simples. Elle capte l'attention sans occuper trop d'espace à l'écran.
|
|
99
|
+
|
|
100
|
+
Cas d'usage : confirmations d'actions ("Êtes-vous sûr de vouloir supprimer ?"), messages d'alerte courts, notifications importantes nécessitant une action utilisateur.
|
|
101
|
+
`,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
};
|
|
77
105
|
export const Medium = Template.bind({});
|
|
78
106
|
Medium.args = {
|
|
79
107
|
size: 'medium',
|
|
@@ -86,6 +114,17 @@ Medium.args = {
|
|
|
86
114
|
</spw-group>
|
|
87
115
|
`,
|
|
88
116
|
};
|
|
117
|
+
Medium.parameters = {
|
|
118
|
+
docs: {
|
|
119
|
+
description: {
|
|
120
|
+
story: `
|
|
121
|
+
Modal de taille moyenne, la plus couramment utilisée. Elle offre un bon équilibre entre espace disponible et focus de l'utilisateur.
|
|
122
|
+
|
|
123
|
+
Cas d'usage : formulaires de taille moyenne, affichage d'informations détaillées, paramètres de configuration, dialogues nécessitant plusieurs champs de saisie.
|
|
124
|
+
`,
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
};
|
|
89
128
|
export const Large = Template.bind({});
|
|
90
129
|
Large.args = {
|
|
91
130
|
size: 'large',
|
|
@@ -98,6 +137,17 @@ Large.args = {
|
|
|
98
137
|
</spw-group>
|
|
99
138
|
`,
|
|
100
139
|
};
|
|
140
|
+
Large.parameters = {
|
|
141
|
+
docs: {
|
|
142
|
+
description: {
|
|
143
|
+
story: `
|
|
144
|
+
Grande modal pour afficher du contenu riche ou des formulaires complexes. Elle maximise l'espace disponible tout en conservant les marges nécessaires.
|
|
145
|
+
|
|
146
|
+
Cas d'usage : formulaires longs avec plusieurs sections, affichage de tableaux ou listes détaillées, éditeurs de contenu, prévisualisation de documents.
|
|
147
|
+
`,
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
};
|
|
101
151
|
export const Fluid = Template.bind({});
|
|
102
152
|
Fluid.args = {
|
|
103
153
|
size: 'fluid',
|
|
@@ -110,4 +160,15 @@ Fluid.args = {
|
|
|
110
160
|
</spw-group>
|
|
111
161
|
`,
|
|
112
162
|
};
|
|
163
|
+
Fluid.parameters = {
|
|
164
|
+
docs: {
|
|
165
|
+
description: {
|
|
166
|
+
story: `
|
|
167
|
+
Modal fluide qui s'adapte dynamiquement à la taille de son contenu. Elle ajuste automatiquement sa largeur en fonction de ce qu'elle contient, dans les limites raisonnables.
|
|
168
|
+
|
|
169
|
+
Cas d'usage : contenu dynamique de taille variable, images ou médias dont la taille n'est pas connue à l'avance, galeries adaptatives.
|
|
170
|
+
`,
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
};
|
|
113
174
|
//# sourceMappingURL=spw-modal.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-modal.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-modal/spw-modal.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, toKebabCase } from '@utils/utils';\nimport '../../assets/css/components.css';\n\nconst elementTag = 'spw-modal';\n\nconst argTypes = withComponentControls(componentsData, { tag: elementTag });\n\nconst meta: Meta = {\n title: 'Organismes/Modale',\n component: elementTag,\n argTypes: {\n ...argTypes,\n content: { control: 'text' },\n buttons: { control: 'text' },\n },\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nFenêtre superposée affichant du contenu ou des actions importantes.\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/75759c-modale)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nconst Template: StoryFn = args => {\n const fragment = new DocumentFragment();\n\n const button = document.createElement('spw-button');\n button.textContent = 'Ouvrir fenêtre modale';\n\n const element = document.createElement(elementTag);\n\n Object.entries(args).forEach(([key, val]) => {\n if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n } else {\n if (key !== 'content' && key !== 'buttons' && key !== 'closeModal' && key !== 'openModal') {\n element.setAttribute(toKebabCase(key), val as string);\n }\n }\n });\n\n button.setAttribute('data-modal-trigger', args.id);\n\n if (args.content) {\n const contentDiv = document.createElement('div');\n contentDiv.setAttribute('slot', 'content');\n contentDiv.innerHTML = args.content;\n element.appendChild(contentDiv);\n }\n\n if (args.buttons) {\n const buttonsDiv = document.createElement('div');\n buttonsDiv.setAttribute('slot', 'buttons');\n buttonsDiv.innerHTML = args.buttons;\n element.appendChild(buttonsDiv);\n }\n\n fragment.appendChild(button);\n fragment.appendChild(element);\n\n return fragment;\n};\n\nexport const Small = Template.bind({});\nSmall.args = {\n size: 'small',\n id: 'modal1',\n content: 'Lorem ipsum dolor sit amet consectetur adipiscing scelerisque dui lorem ipsum.',\n buttons: `\n <spw-group alignment=\"right\">\n <spw-button size=\"medium\" variant=\"primary\" data-modal-close=\"modal1\">Valider</spw-button>\n <spw-button size=\"medium\" variant=\"secondary\" data-modal-close=\"modal1\">Fermer</spw-button>\n </spw-group>\n `,\n};\n\nexport const Medium = Template.bind({});\nMedium.args = {\n size: 'medium',\n id: 'modal2',\n content: 'Lorem ipsum dolor sit amet consectetur adipiscing scelerisque dui lorem ipsum.',\n buttons: `\n <spw-group alignment=\"right\">\n <spw-button size=\"medium\" variant=\"primary\" data-modal-close=\"modal2\">Valider</spw-button>\n <spw-button size=\"medium\" variant=\"secondary\" data-modal-close=\"modal2\">Fermer</spw-button>\n </spw-group>\n `,\n};\n\nexport const Large = Template.bind({});\nLarge.args = {\n size: 'large',\n id: 'modal3',\n content: 'Lorem ipsum dolor sit amet consectetur adipiscing scelerisque dui lorem ipsum.',\n buttons: `\n <spw-group alignment=\"right\">\n <spw-button size=\"medium\" variant=\"primary\" data-modal-close=\"modal3\">Valider</spw-button>\n <spw-button size=\"medium\" variant=\"secondary\" data-modal-close=\"modal3\">Fermer</spw-button>\n </spw-group>\n `,\n};\n\nexport const Fluid = Template.bind({});\nFluid.args = {\n size: 'fluid',\n id: 'modal4',\n content: 'Lorem ipsum dolor sit amet consectetur adipiscing scelerisque dui lorem ipsum.',\n buttons: `\n <spw-group alignment=\"right\">\n <spw-button size=\"medium\" variant=\"primary\" data-modal-close=\"modal4\">Valider</spw-button>\n <spw-button size=\"medium\" variant=\"secondary\" data-modal-close=\"modal4\">Fermer</spw-button>\n </spw-group>\n `,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"spw-modal.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-modal/spw-modal.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, toKebabCase } from '@utils/utils';\nimport '../../assets/css/components.css';\n\nconst elementTag = 'spw-modal';\n\nconst argTypes = withComponentControls(componentsData, { tag: elementTag });\n\nconst meta: Meta = {\n title: 'Organismes/Modale',\n component: elementTag,\n argTypes: {\n ...argTypes,\n content: { control: 'text' },\n buttons: { control: 'text' },\n },\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLe composant Modal affiche une fenêtre superposée qui capte l'attention de l'utilisateur pour afficher du contenu ou des actions importantes. Il masque temporairement le reste de l'interface et nécessite une interaction avant de continuer.\n\n## Tailles disponibles\n\n- **Small** : Pour des messages courts ou confirmations simples\n- **Medium** : Taille par défaut pour la plupart des cas d'usage\n- **Large** : Pour du contenu plus riche ou des formulaires complets\n- **Fluid** : S'adapte dynamiquement au contenu\n\n## Fonctionnalités\n\n- Ouverture via attribut data-modal-trigger sur n'importe quel élément\n- Fermeture via attribut data-modal-close, touche Escape, ou clic overlay\n- Piège de focus (focus trap) pour l'accessibilité\n- Animations d'entrée/sortie en fondu\n- Gestion automatique des vidéos (arrêt à la fermeture)\n- Méthodes programmatiques openModal() et closeModal()\n- Événements spwModalOpen et spwModalClose\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/75759c-modale)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nconst Template: StoryFn = args => {\n const fragment = new DocumentFragment();\n\n const button = document.createElement('spw-button');\n button.textContent = 'Ouvrir fenêtre modale';\n\n const element = document.createElement(elementTag);\n\n Object.entries(args).forEach(([key, val]) => {\n if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n } else {\n if (key !== 'content' && key !== 'buttons' && key !== 'closeModal' && key !== 'openModal') {\n element.setAttribute(toKebabCase(key), val as string);\n }\n }\n });\n\n button.setAttribute('data-modal-trigger', args.id);\n\n if (args.content) {\n const contentDiv = document.createElement('div');\n contentDiv.setAttribute('slot', 'content');\n contentDiv.innerHTML = args.content;\n element.appendChild(contentDiv);\n }\n\n if (args.buttons) {\n const buttonsDiv = document.createElement('div');\n buttonsDiv.setAttribute('slot', 'buttons');\n buttonsDiv.innerHTML = args.buttons;\n element.appendChild(buttonsDiv);\n }\n\n fragment.appendChild(button);\n fragment.appendChild(element);\n\n return fragment;\n};\n\nexport const Small = Template.bind({});\nSmall.args = {\n size: 'small',\n id: 'modal1',\n content: 'Lorem ipsum dolor sit amet consectetur adipiscing scelerisque dui lorem ipsum.',\n buttons: `\n <spw-group alignment=\"right\">\n <spw-button size=\"medium\" variant=\"primary\" data-modal-close=\"modal1\">Valider</spw-button>\n <spw-button size=\"medium\" variant=\"secondary\" data-modal-close=\"modal1\">Fermer</spw-button>\n </spw-group>\n `,\n};\nSmall.parameters = {\n docs: {\n description: {\n story: `\nModal de petite taille idéale pour des messages de confirmation courts ou des alertes simples. Elle capte l'attention sans occuper trop d'espace à l'écran.\n\nCas d'usage : confirmations d'actions (\"Êtes-vous sûr de vouloir supprimer ?\"), messages d'alerte courts, notifications importantes nécessitant une action utilisateur.\n `,\n },\n },\n};\n\nexport const Medium = Template.bind({});\nMedium.args = {\n size: 'medium',\n id: 'modal2',\n content: 'Lorem ipsum dolor sit amet consectetur adipiscing scelerisque dui lorem ipsum.',\n buttons: `\n <spw-group alignment=\"right\">\n <spw-button size=\"medium\" variant=\"primary\" data-modal-close=\"modal2\">Valider</spw-button>\n <spw-button size=\"medium\" variant=\"secondary\" data-modal-close=\"modal2\">Fermer</spw-button>\n </spw-group>\n `,\n};\nMedium.parameters = {\n docs: {\n description: {\n story: `\nModal de taille moyenne, la plus couramment utilisée. Elle offre un bon équilibre entre espace disponible et focus de l'utilisateur.\n\nCas d'usage : formulaires de taille moyenne, affichage d'informations détaillées, paramètres de configuration, dialogues nécessitant plusieurs champs de saisie.\n `,\n },\n },\n};\n\nexport const Large = Template.bind({});\nLarge.args = {\n size: 'large',\n id: 'modal3',\n content: 'Lorem ipsum dolor sit amet consectetur adipiscing scelerisque dui lorem ipsum.',\n buttons: `\n <spw-group alignment=\"right\">\n <spw-button size=\"medium\" variant=\"primary\" data-modal-close=\"modal3\">Valider</spw-button>\n <spw-button size=\"medium\" variant=\"secondary\" data-modal-close=\"modal3\">Fermer</spw-button>\n </spw-group>\n `,\n};\nLarge.parameters = {\n docs: {\n description: {\n story: `\nGrande modal pour afficher du contenu riche ou des formulaires complexes. Elle maximise l'espace disponible tout en conservant les marges nécessaires.\n\nCas d'usage : formulaires longs avec plusieurs sections, affichage de tableaux ou listes détaillées, éditeurs de contenu, prévisualisation de documents.\n `,\n },\n },\n};\n\nexport const Fluid = Template.bind({});\nFluid.args = {\n size: 'fluid',\n id: 'modal4',\n content: 'Lorem ipsum dolor sit amet consectetur adipiscing scelerisque dui lorem ipsum.',\n buttons: `\n <spw-group alignment=\"right\">\n <spw-button size=\"medium\" variant=\"primary\" data-modal-close=\"modal4\">Valider</spw-button>\n <spw-button size=\"medium\" variant=\"secondary\" data-modal-close=\"modal4\">Fermer</spw-button>\n </spw-group>\n `,\n};\nFluid.parameters = {\n docs: {\n description: {\n story: `\nModal fluide qui s'adapte dynamiquement à la taille de son contenu. Elle ajuste automatiquement sa largeur en fonction de ce qu'elle contient, dans les limites raisonnables.\n\nCas d'usage : contenu dynamique de taille variable, images ou médias dont la taille n'est pas connue à l'avance, galeries adaptatives.\n `,\n },\n },\n};\n"]}
|
|
@@ -21,7 +21,36 @@ const meta = {
|
|
|
21
21
|
component: `
|
|
22
22
|
<strong class="mr-2">Statut du composant :</strong> <spw-tag size="small" variant="green">Prêt</spw-tag>
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Le composant Mosaic permet d'afficher une grille d'éléments sous la forme d'un masonry (mise en page dynamique type Pinterest). Il s'adapte automatiquement à la hauteur variable des contenus et offre une configuration responsive.
|
|
25
|
+
|
|
26
|
+
## Structure
|
|
27
|
+
|
|
28
|
+
Le composant se compose de deux éléments :
|
|
29
|
+
- **spw-mosaic** : Conteneur principal avec gestion du masonry layout
|
|
30
|
+
- **spw-mosaic-item** : Wrapper pour chaque élément de la grille
|
|
31
|
+
|
|
32
|
+
## Configuration responsive
|
|
33
|
+
|
|
34
|
+
- **colsDesktop** : Nombre de colonnes en vue desktop (défaut: 3)
|
|
35
|
+
- **colsTablet** : Nombre de colonnes en vue tablette (défaut: 2)
|
|
36
|
+
- **colsMobile** : Nombre de colonnes en vue mobile (défaut: 1)
|
|
37
|
+
- **isMasonry** : Active/désactive le mode masonry layout
|
|
38
|
+
|
|
39
|
+
## Fonctionnalités
|
|
40
|
+
|
|
41
|
+
- Layout masonry automatique avec bibliothèque Masonry.js
|
|
42
|
+
- Grille responsive configurée par breakpoint
|
|
43
|
+
- Chargement intelligent des images avant disposition
|
|
44
|
+
- Support de tout type de contenu (cards, tiles)
|
|
45
|
+
- Mode grille classique si masonry désactivé
|
|
46
|
+
|
|
47
|
+
## Cas d'usage
|
|
48
|
+
|
|
49
|
+
- Galeries d'actualités avec images de tailles variées
|
|
50
|
+
- Grilles de cartes avec contenus de hauteurs différentes
|
|
51
|
+
- Affichage de tuiles d'accès rapides organisées
|
|
52
|
+
|
|
53
|
+
[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/378091-carousel-slider)
|
|
25
54
|
`,
|
|
26
55
|
},
|
|
27
56
|
},
|
|
@@ -287,4 +316,48 @@ BigTiles.args = {
|
|
|
287
316
|
colsTablet: 2,
|
|
288
317
|
colsMobile: 1,
|
|
289
318
|
};
|
|
319
|
+
Cards.parameters = {
|
|
320
|
+
docs: {
|
|
321
|
+
description: {
|
|
322
|
+
story: `
|
|
323
|
+
Mosaïque de cartes (spw-card) avec masonry activé en 3 colonnes desktop, 2 tablette, 1 mobile. Mélange de cartes avec et sans images, avec contenus de hauteurs variables (titres courts et longs).
|
|
324
|
+
|
|
325
|
+
Cas d'usage : galerie d'actualités, liste d'événements avec visuels optionnels, affichage de contenus éditoriaux mixtes. Le masonry permet une disposition harmonieuse malgré les hauteurs différentes.
|
|
326
|
+
`,
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
};
|
|
330
|
+
IconTiles.parameters = {
|
|
331
|
+
docs: {
|
|
332
|
+
description: {
|
|
333
|
+
story: `
|
|
334
|
+
Mosaïque de tuiles icônes (spw-tile variant="icon") organisées en grille masonry. Chaque tuile affiche une icône FontAwesome, un titre et une description. Configuration 3/2/1 colonnes.
|
|
335
|
+
|
|
336
|
+
Cas d'usage : grille d'accès rapides aux services, menu de fonctionnalités principales, portail d'outils avec icônes représentatives. Format compact et visuellement équilibré.
|
|
337
|
+
`,
|
|
338
|
+
},
|
|
339
|
+
},
|
|
340
|
+
};
|
|
341
|
+
LightTiles.parameters = {
|
|
342
|
+
docs: {
|
|
343
|
+
description: {
|
|
344
|
+
story: `
|
|
345
|
+
Mosaïque de tuiles légères (spw-tile variant="light") avec images de fond. Format minimaliste avec titre en overlay sur l'image. Configuration responsive 3/2/1 colonnes.
|
|
346
|
+
|
|
347
|
+
Cas d'usage : galerie de catégories thématiques, navigation visuelle par sections, portfolio de projets avec aperçu visuel. L'image attire l'attention et le titre identifie le contenu.
|
|
348
|
+
`,
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
};
|
|
352
|
+
BigTiles.parameters = {
|
|
353
|
+
docs: {
|
|
354
|
+
description: {
|
|
355
|
+
story: `
|
|
356
|
+
Mosaïque de grandes tuiles (spw-tile variant="big") avec images plein format et titre en overlay. Format impactant avec icône chevron indiquant l'interactivité. Configuration 3/2/1 colonnes.
|
|
357
|
+
|
|
358
|
+
Cas d'usage : mise en avant de grandes thématiques, landing pages avec sections principales, portails avec accès aux univers majeurs. Format généreux qui valorise le contenu visuel.
|
|
359
|
+
`,
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
};
|
|
290
363
|
//# sourceMappingURL=spw-mosaic.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-mosaic.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-mosaic/spw-mosaic.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes } from '@utils/utils';\n\nconst elementTag = 'spw-mosaic';\n\nconst subComponentTags = ['spw-mosaic-item'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: \"Organismes/Mosaique d'éléments (masonry)\",\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nPermet d'afficher une grille d'éléments sous la forme d'un masonry.\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentCards() {\n return /* HTML */ `\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-subtags>\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 1</spw-card-subtag-item>\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 2</spw-card-subtag-item>\n </spw-card-subtags>\n <spw-card-title>Lorem ipsum dolor sit amet consectetur adipiscing</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-image label=\"Tag\">\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" />\n </spw-card-image>\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit amet consectetur adipiscing</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-image label=\"Tag\">\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" />\n </spw-card-image>\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-image label=\"Tag\">\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" />\n </spw-card-image>\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit amet consectetur adipiscing</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-image label=\"Tag\">\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" />\n </spw-card-image>\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit amet consectetur adipiscing</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit amet</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n `;\n}\n\nfunction htmlContentIconTiles() {\n return /* HTML */ `\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-power-off\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-map-location-dot\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-paper-plane\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-user\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-image\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-bell\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n `;\n}\n\nfunction htmlContentLightTiles() {\n return /* HTML */ `\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"light\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"light\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"light\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n `;\n}\n\nfunction htmlContentBigTiles() {\n return /* HTML */ `\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"big\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"big\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"big\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n `;\n}\n\nfunction camelToKebab(str: string) {\n return str.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`);\n}\n\nconst TemplateCards: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentCards();\n\n return element;\n};\n\nconst TemplateIconTiles: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentIconTiles();\n\n return element;\n};\n\nconst TemplateLightTiles: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentLightTiles();\n\n return element;\n};\n\nconst TemplateBigTiles: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentBigTiles();\n\n return element;\n};\n\nexport const Cards = TemplateCards.bind({});\nCards.args = {\n isMasonry: true,\n colsDesktop: 3,\n colsTablet: 2,\n colsMobile: 1,\n};\n\nexport const IconTiles = TemplateIconTiles.bind({});\nIconTiles.args = {\n isMasonry: true,\n colsDesktop: 3,\n colsTablet: 2,\n colsMobile: 1,\n};\n\nexport const LightTiles = TemplateLightTiles.bind({});\nLightTiles.args = {\n isMasonry: true,\n colsDesktop: 3,\n colsTablet: 2,\n colsMobile: 1,\n};\n\nexport const BigTiles = TemplateBigTiles.bind({});\nBigTiles.args = {\n isMasonry: true,\n colsDesktop: 3,\n colsTablet: 2,\n colsMobile: 1,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"spw-mosaic.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-mosaic/spw-mosaic.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes } from '@utils/utils';\n\nconst elementTag = 'spw-mosaic';\n\nconst subComponentTags = ['spw-mosaic-item'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: \"Organismes/Mosaique d'éléments (masonry)\",\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLe composant Mosaic permet d'afficher une grille d'éléments sous la forme d'un masonry (mise en page dynamique type Pinterest). Il s'adapte automatiquement à la hauteur variable des contenus et offre une configuration responsive.\n\n## Structure\n\nLe composant se compose de deux éléments :\n- **spw-mosaic** : Conteneur principal avec gestion du masonry layout\n- **spw-mosaic-item** : Wrapper pour chaque élément de la grille\n\n## Configuration responsive\n\n- **colsDesktop** : Nombre de colonnes en vue desktop (défaut: 3)\n- **colsTablet** : Nombre de colonnes en vue tablette (défaut: 2)\n- **colsMobile** : Nombre de colonnes en vue mobile (défaut: 1)\n- **isMasonry** : Active/désactive le mode masonry layout\n\n## Fonctionnalités\n\n- Layout masonry automatique avec bibliothèque Masonry.js\n- Grille responsive configurée par breakpoint\n- Chargement intelligent des images avant disposition\n- Support de tout type de contenu (cards, tiles)\n- Mode grille classique si masonry désactivé\n\n## Cas d'usage\n\n- Galeries d'actualités avec images de tailles variées\n- Grilles de cartes avec contenus de hauteurs différentes\n- Affichage de tuiles d'accès rapides organisées\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/378091-carousel-slider)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentCards() {\n return /* HTML */ `\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-subtags>\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 1</spw-card-subtag-item>\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 2</spw-card-subtag-item>\n </spw-card-subtags>\n <spw-card-title>Lorem ipsum dolor sit amet consectetur adipiscing</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-image label=\"Tag\">\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" />\n </spw-card-image>\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit amet consectetur adipiscing</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-image label=\"Tag\">\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" />\n </spw-card-image>\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-image label=\"Tag\">\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" />\n </spw-card-image>\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit amet consectetur adipiscing</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-image label=\"Tag\">\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" />\n </spw-card-image>\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit amet consectetur adipiscing</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-card full-height=\"true\" href=\"http://google.com\" target=\"_blank\">\n <spw-card-content subtag=\"Tag\" tag=\"Catégorie\" date=\"2024-02-09\">\n <spw-card-title>Lorem ipsum dolor sit amet</spw-card-title>\n <spw-card-excerpt>\n Nullam et orci ac sapien hendrerit porta non in ligula. Suspendisse quis mattis neque. Cras sagittis nisi non urna congue, sed iaculis felis fermentum.\n </spw-card-excerpt>\n </spw-card-content>\n </spw-card>\n </spw-mosaic-item>\n `;\n}\n\nfunction htmlContentIconTiles() {\n return /* HTML */ `\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-power-off\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-map-location-dot\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-paper-plane\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-user\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-image\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile variant=\"icon\" href=\"http://google.com\" target=\"_blank\">\n <spw-icon icon=\"fa-bell\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n </spw-tile>\n </spw-mosaic-item>\n `;\n}\n\nfunction htmlContentLightTiles() {\n return /* HTML */ `\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"light\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"light\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"light\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n `;\n}\n\nfunction htmlContentBigTiles() {\n return /* HTML */ `\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"big\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"big\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n <spw-mosaic-item>\n <spw-tile image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Image de tuile\" variant=\"big\" href=\"http://google.com\" target=\"_blank\">\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n </spw-tile>\n </spw-mosaic-item>\n `;\n}\n\nfunction camelToKebab(str: string) {\n return str.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`);\n}\n\nconst TemplateCards: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentCards();\n\n return element;\n};\n\nconst TemplateIconTiles: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentIconTiles();\n\n return element;\n};\n\nconst TemplateLightTiles: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentLightTiles();\n\n return element;\n};\n\nconst TemplateBigTiles: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentBigTiles();\n\n return element;\n};\n\nexport const Cards = TemplateCards.bind({});\nCards.args = {\n isMasonry: true,\n colsDesktop: 3,\n colsTablet: 2,\n colsMobile: 1,\n};\n\nexport const IconTiles = TemplateIconTiles.bind({});\nIconTiles.args = {\n isMasonry: true,\n colsDesktop: 3,\n colsTablet: 2,\n colsMobile: 1,\n};\n\nexport const LightTiles = TemplateLightTiles.bind({});\nLightTiles.args = {\n isMasonry: true,\n colsDesktop: 3,\n colsTablet: 2,\n colsMobile: 1,\n};\n\nexport const BigTiles = TemplateBigTiles.bind({});\nBigTiles.args = {\n isMasonry: true,\n colsDesktop: 3,\n colsTablet: 2,\n colsMobile: 1,\n};\n\nCards.parameters = {\n docs: {\n description: {\n story: `\nMosaïque de cartes (spw-card) avec masonry activé en 3 colonnes desktop, 2 tablette, 1 mobile. Mélange de cartes avec et sans images, avec contenus de hauteurs variables (titres courts et longs).\n\nCas d'usage : galerie d'actualités, liste d'événements avec visuels optionnels, affichage de contenus éditoriaux mixtes. Le masonry permet une disposition harmonieuse malgré les hauteurs différentes.\n `,\n },\n },\n};\n\nIconTiles.parameters = {\n docs: {\n description: {\n story: `\nMosaïque de tuiles icônes (spw-tile variant=\"icon\") organisées en grille masonry. Chaque tuile affiche une icône FontAwesome, un titre et une description. Configuration 3/2/1 colonnes.\n\nCas d'usage : grille d'accès rapides aux services, menu de fonctionnalités principales, portail d'outils avec icônes représentatives. Format compact et visuellement équilibré.\n `,\n },\n },\n};\n\nLightTiles.parameters = {\n docs: {\n description: {\n story: `\nMosaïque de tuiles légères (spw-tile variant=\"light\") avec images de fond. Format minimaliste avec titre en overlay sur l'image. Configuration responsive 3/2/1 colonnes.\n\nCas d'usage : galerie de catégories thématiques, navigation visuelle par sections, portfolio de projets avec aperçu visuel. L'image attire l'attention et le titre identifie le contenu.\n `,\n },\n },\n};\n\nBigTiles.parameters = {\n docs: {\n description: {\n story: `\nMosaïque de grandes tuiles (spw-tile variant=\"big\") avec images plein format et titre en overlay. Format impactant avec icône chevron indiquant l'interactivité. Configuration 3/2/1 colonnes.\n\nCas d'usage : mise en avant de grandes thématiques, landing pages avec sections principales, portails avec accès aux univers majeurs. Format généreux qui valorise le contenu visuel.\n `,\n },\n },\n};\n"]}
|
|
@@ -21,7 +21,37 @@ const meta = {
|
|
|
21
21
|
component: `
|
|
22
22
|
<strong class="mr-2">Statut du composant :</strong> <spw-tag size="small" variant="green">Prêt</spw-tag>
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Le composant Sidebar est un panneau latéral rétractable pour la navigation principale ou les actions contextuelles. Idéal pour les back-offices et applications web complexes nécessitant une navigation permanente et accessible.
|
|
25
|
+
|
|
26
|
+
## Structure
|
|
27
|
+
|
|
28
|
+
Le composant se compose de quatre éléments :
|
|
29
|
+
- **spw-sidebar** : Conteneur principal avec gestion de l'état déplié/rétracté
|
|
30
|
+
- **spw-sidebar-navigation-item** : Item de navigation avec icône, tooltip, badge et état actif
|
|
31
|
+
- **spw-sidebar-navigation-dropdown** : Menu déroulant multi-niveaux
|
|
32
|
+
- **spw-sidebar-navigation-separator** : Séparateur visuel entre groupes d'items
|
|
33
|
+
|
|
34
|
+
## Slots disponibles
|
|
35
|
+
|
|
36
|
+
- **navigation-top** : Éléments de navigation principaux (partie haute)
|
|
37
|
+
- **navigation-bottom** : Éléments de navigation secondaires (partie basse, fixée au bas)
|
|
38
|
+
|
|
39
|
+
## Fonctionnalités
|
|
40
|
+
|
|
41
|
+
- Rétracter/déplier via bouton toggle ou bordure cliquable
|
|
42
|
+
- Navigation multi-niveaux avec dropdowns imbriqués
|
|
43
|
+
- Tooltips automatiques en mode rétracté
|
|
44
|
+
- Badges de notification sur items
|
|
45
|
+
- État actif synchronisé avec la page courante
|
|
46
|
+
- Gestion automatique de la classe body pour adaptation du layout
|
|
47
|
+
- Compatible avec spw-topbar (détection automatique)
|
|
48
|
+
|
|
49
|
+
## Cas d'usage
|
|
50
|
+
|
|
51
|
+
- Navigation principale de back-office
|
|
52
|
+
- Menus de configuration et administration
|
|
53
|
+
- Interfaces d'applications métier
|
|
54
|
+
- Portails avec navigation complexe
|
|
25
55
|
|
|
26
56
|
[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/30d84f-sidebar)
|
|
27
57
|
`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-sidebar.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-sidebar/spw-sidebar.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,MAAM,gBAAgB,GAAG,CAAC,kCAAkC,EAAE,iCAAiC,EAAE,6BAA6B,CAAC,CAAC;AAEhI,MAAM,QAAQ,mCACT,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAC1D,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACrD,CAAC;AAEF,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,UAAU;IACrB,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"spw-sidebar.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-sidebar/spw-sidebar.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,MAAM,gBAAgB,GAAG,CAAC,kCAAkC,EAAE,iCAAiC,EAAE,6BAA6B,CAAC,CAAC;AAEhI,MAAM,QAAQ,mCACT,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAC1D,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACrD,CAAC;AAEF,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,UAAU;IACrB,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAoCV;aACF;SACF;KACF;CACF,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,SAAS,kBAAkB;IACzB,OAAO,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CjB,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAY,IAAI,CAAC,EAAE;IACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC1C,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAa,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,GAAG,kBAAkB,EAAE,CAAC;IAEzC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,OAAO,CAAC,IAAI,GAAG;IACb,eAAe,EAAE,KAAK;CACvB,CAAC","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-sidebar';\n\nconst subComponentTags = ['spw-sidebar-navigation-separator', 'spw-sidebar-navigation-dropdown', 'spw-sidebar-navigation-item'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Sidebar',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLe composant Sidebar est un panneau latéral rétractable pour la navigation principale ou les actions contextuelles. Idéal pour les back-offices et applications web complexes nécessitant une navigation permanente et accessible.\n\n## Structure\n\nLe composant se compose de quatre éléments :\n- **spw-sidebar** : Conteneur principal avec gestion de l'état déplié/rétracté\n- **spw-sidebar-navigation-item** : Item de navigation avec icône, tooltip, badge et état actif\n- **spw-sidebar-navigation-dropdown** : Menu déroulant multi-niveaux\n- **spw-sidebar-navigation-separator** : Séparateur visuel entre groupes d'items\n\n## Slots disponibles\n\n- **navigation-top** : Éléments de navigation principaux (partie haute)\n- **navigation-bottom** : Éléments de navigation secondaires (partie basse, fixée au bas)\n\n## Fonctionnalités\n\n- Rétracter/déplier via bouton toggle ou bordure cliquable\n- Navigation multi-niveaux avec dropdowns imbriqués\n- Tooltips automatiques en mode rétracté\n- Badges de notification sur items\n- État actif synchronisé avec la page courante\n- Gestion automatique de la classe body pour adaptation du layout\n- Compatible avec spw-topbar (détection automatique)\n\n## Cas d'usage\n\n- Navigation principale de back-office\n- Menus de configuration et administration\n- Interfaces d'applications métier\n- Portails avec navigation complexe\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/30d84f-sidebar)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentDefault() {\n return /* HTML */ `\n <div slot=\"navigation-top\">\n <spw-sidebar-navigation-item icon=\"fa-home\" tooltip-title=\"Accueil\" active> Accueil </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-separator></spw-sidebar-navigation-separator>\n <spw-sidebar-navigation-item icon=\"fa-file\" bubble=\"3\" tooltip-title=\"Documents\">\n Documents\n <spw-sidebar-navigation-dropdown slot=\"dropdown\">\n <spw-sidebar-navigation-item> Item </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item>\n Sous-catégorie\n <spw-sidebar-navigation-dropdown slot=\"dropdown\">\n <spw-sidebar-navigation-item> Item </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item> Item </spw-sidebar-navigation-item>\n </spw-sidebar-navigation-dropdown></spw-sidebar-navigation-item\n >\n <spw-sidebar-navigation-item>\n Sous-catégorie\n <spw-sidebar-navigation-dropdown slot=\"dropdown\">\n <spw-sidebar-navigation-item> Item </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item> Item </spw-sidebar-navigation-item>\n </spw-sidebar-navigation-dropdown></spw-sidebar-navigation-item\n >\n <spw-sidebar-navigation-item>\n Sous-catégorie\n <spw-sidebar-navigation-dropdown slot=\"dropdown\">\n <spw-sidebar-navigation-item> Item </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item> Item </spw-sidebar-navigation-item>\n </spw-sidebar-navigation-dropdown></spw-sidebar-navigation-item\n >\n </spw-sidebar-navigation-dropdown>\n </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item icon=\"fa-calendar\" tooltip-title=\"Calendrier\"> Calendrier </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item icon=\"fa-envelope\" tooltip-title=\"Messages\" bubble=\"9\"> Messages </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item icon=\"fa-chart-sine\" tooltip-title=\"Statistiques\"> Statistiques </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item icon=\"fa-cloud\" tooltip-title=\"Fichiers\"> Fichiers </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item icon=\"fa-user-shield\" tooltip-title=\"Permissions\" disabled> Permissions </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-separator></spw-sidebar-navigation-separator>\n <spw-sidebar-navigation-item icon=\"fa-address-book\" tooltip-title=\"Annuaire\" bubbles=\"1\"> Annuaire </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item icon=\"fa-moon\" tooltip-title=\"Mode sombre\"> Mode sombre </spw-sidebar-navigation-item>\n </div>\n <div slot=\"navigation-bottom\">\n <spw-sidebar-navigation-separator></spw-sidebar-navigation-separator>\n <spw-sidebar-navigation-item icon=\"fa-globe\" tooltip-title=\"Liens utiles\"> Liens utiles </spw-sidebar-navigation-item>\n <spw-sidebar-navigation-item icon=\"fa-circle-question\" tooltip-title=\"Aide\"> Aide </spw-sidebar-navigation-item>\n </div>\n `;\n}\n\nconst TemplateDefault: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentDefault();\n\n return element;\n};\n\nexport const Default = TemplateDefault.bind({});\nDefault.args = {\n defaultExpanded: false,\n};\n"]}
|
|
@@ -21,7 +21,27 @@ const meta = {
|
|
|
21
21
|
component: `
|
|
22
22
|
<strong class="mr-2">Statut du composant :</strong> <spw-tag size="small" variant="green">Prêt</spw-tag>
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Le composant Slider (carousel) permet d'afficher un enchaînement d'éléments défilants. Idéal pour mettre en avant plusieurs contenus importants dans un espace limité avec navigation fluide entre les items.
|
|
25
|
+
|
|
26
|
+
## Structure
|
|
27
|
+
|
|
28
|
+
Le composant se compose de deux éléments :
|
|
29
|
+
- **spw-slider** : Conteneur du carousel avec contrôles
|
|
30
|
+
- **spw-slider-item** : Item individuel du carousel (généralement contient un spw-hero)
|
|
31
|
+
|
|
32
|
+
## Fonctionnalités
|
|
33
|
+
|
|
34
|
+
- Navigation par flèches (clavier et boutons)
|
|
35
|
+
- Indicateurs de pagination cliquables
|
|
36
|
+
- Autoplay avec contrôle play/pause
|
|
37
|
+
- Swipe tactile sur mobile et tablette
|
|
38
|
+
- Support du clavier (flèches gauche/droite)
|
|
39
|
+
- Boucle infinie optionnelle
|
|
40
|
+
|
|
41
|
+
## Cas d'usage
|
|
42
|
+
|
|
43
|
+
- Bannières de mise en avant sur homepage
|
|
44
|
+
- Carrousels d'actualités ou événements
|
|
25
45
|
|
|
26
46
|
[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/378091-carousel-slider)
|
|
27
47
|
`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-slider.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-slider/spw-slider.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAE7C,MAAM,QAAQ,mCACT,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAC1D,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACrD,CAAC;AAEF,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,8BAA8B;IACrC,SAAS,EAAE,UAAU;IACrB,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"spw-slider.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-slider/spw-slider.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAE7C,MAAM,QAAQ,mCACT,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAC1D,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACrD,CAAC;AAEF,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,8BAA8B;IACrC,SAAS,EAAE,UAAU;IACrB,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;SA0BV;aACF;SACF;KACF;CACF,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,SAAS,WAAW;IAClB,OAAO,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BjB,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAY,IAAI,CAAC,EAAE;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC1C,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAa,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,GAAG,WAAW,EAAE,CAAC;IAElC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,kBAAkB,EAAE,KAAK;IACzB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,KAAK;CACvB,CAAC","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-slider';\n\nconst subComponentTags = ['spw-slider-item'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Carousel (slider)',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLe composant Slider (carousel) permet d'afficher un enchaînement d'éléments défilants. Idéal pour mettre en avant plusieurs contenus importants dans un espace limité avec navigation fluide entre les items.\n\n## Structure\n\nLe composant se compose de deux éléments :\n- **spw-slider** : Conteneur du carousel avec contrôles\n- **spw-slider-item** : Item individuel du carousel (généralement contient un spw-hero)\n\n## Fonctionnalités\n\n- Navigation par flèches (clavier et boutons)\n- Indicateurs de pagination cliquables\n- Autoplay avec contrôle play/pause\n- Swipe tactile sur mobile et tablette\n- Support du clavier (flèches gauche/droite)\n- Boucle infinie optionnelle\n\n## Cas d'usage\n\n- Bannières de mise en avant sur homepage\n- Carrousels d'actualités ou événements\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/378091-carousel-slider)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContent() {\n return /* HTML */ `\n <spw-slider-item>\n <spw-hero variant=\"photo\" alignment=\"left\" image-src=\"https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5\" image-alt=\"Paysage naturel\">\n <h1 class=\"spw-ds-typography-heading-01 mb-4\">Découvrez la Wallonie</h1>\n <p class=\"spw-ds-typography-body-1 mb-4\">Un territoire riche en patrimoine, culture et opportunités pour tous les citoyens.</p>\n <spw-group type=\"buttons\" orientation=\"horizontal\" alignment=\"left\">\n <spw-button variant=\"primary\">En savoir plus</spw-button>\n <spw-button variant=\"secondary\">Voir les services</spw-button>\n </spw-group>\n </spw-hero>\n </spw-slider-item>\n <spw-slider-item>\n <spw-hero variant=\"photo\" alignment=\"center\" image-src=\"https://images.unsplash.com/photo-1486406146926-c627a92ad1ab\" image-alt=\"Architecture moderne\">\n <h1 class=\"spw-ds-typography-heading-01 mb-4\">Innovation et développement</h1>\n <p class=\"spw-ds-typography-body-1 mb-4\">La Wallonie investit dans l'avenir avec des projets innovants et durables.</p>\n <spw-group type=\"buttons\" orientation=\"horizontal\" alignment=\"center\">\n <spw-button variant=\"primary\">Découvrir les projets</spw-button>\n </spw-group>\n </spw-hero>\n </spw-slider-item>\n <spw-slider-item>\n <spw-hero variant=\"photo\" alignment=\"right\" image-src=\"https://images.unsplash.com/photo-1542744173-8e7e53415bb0\" image-alt=\"Équipe collaborative\">\n <h1 class=\"spw-ds-typography-heading-01 mb-4\">Services aux citoyens</h1>\n <p class=\"spw-ds-typography-body-1 mb-4\">Accédez facilement à tous les services publics de la région wallonne en ligne.</p>\n <spw-group type=\"buttons\" orientation=\"horizontal\" alignment=\"right\">\n <spw-button variant=\"primary\">Accéder aux services</spw-button>\n <spw-button variant=\"tertiary\">Contactez-nous</spw-button>\n </spw-group>\n </spw-hero>\n </spw-slider-item>\n `;\n}\n\nconst Template: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContent();\n\n return element;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n showArrows: true,\n showDots: true,\n showAutoplayToggle: false,\n autoplayInterval: 5000,\n autoplayEnabled: false,\n};\n"]}
|
|
@@ -20,7 +20,20 @@ const meta = {
|
|
|
20
20
|
component: `
|
|
21
21
|
<strong class="mr-2">Statut du composant :</strong> <spw-tag size="small" variant="green">Prêt</spw-tag>
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Le composant Réseaux sociaux affiche un bandeau horizontal contenant des liens vers les différents profils de réseaux sociaux d'une organisation. Il permet de centraliser et de mettre en valeur la présence sociale de manière cohérente.
|
|
24
|
+
|
|
25
|
+
## Structure
|
|
26
|
+
|
|
27
|
+
Le composant se compose de :
|
|
28
|
+
- **Titre principal** : Customisable via la propriété mainTitle
|
|
29
|
+
- **Slot** : Contient les liens vers les réseaux sociaux avec leurs icônes
|
|
30
|
+
|
|
31
|
+
## Fonctionnalités
|
|
32
|
+
|
|
33
|
+
- Affichage des icônes de réseaux sociaux dans un conteneur horizontal
|
|
34
|
+
- Support de tous les réseaux sociaux via les icônes Font Awesome Brands
|
|
35
|
+
- Style cohérent avec le design system
|
|
36
|
+
- Responsive design adapté à tous les écrans
|
|
24
37
|
`,
|
|
25
38
|
},
|
|
26
39
|
},
|
|
@@ -59,4 +72,15 @@ export const Default = Template.bind({});
|
|
|
59
72
|
Default.args = {
|
|
60
73
|
mainTitle: 'Restez connecté',
|
|
61
74
|
};
|
|
75
|
+
Default.parameters = {
|
|
76
|
+
docs: {
|
|
77
|
+
description: {
|
|
78
|
+
story: `
|
|
79
|
+
Exemple de bandeau de réseaux sociaux avec les principales plateformes sociales. Le composant affiche un titre personnalisable suivi des icônes cliquables des réseaux sociaux.
|
|
80
|
+
|
|
81
|
+
Cas d'usage typique : placé en footer ou dans une sidebar pour encourager les utilisateurs à suivre l'organisation sur les réseaux sociaux. Les icônes utilisent Font Awesome Brands et s'ouvrent dans un nouvel onglet.
|
|
82
|
+
`,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
};
|
|
62
86
|
//# sourceMappingURL=spw-socials.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-socials.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-socials/spw-socials.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;AAE5E,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,UAAU;IACrB,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"spw-socials.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-socials/spw-socials.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;AAE5E,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,UAAU;IACrB,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EAAE;;;;;;;;;;;;;;;;;SAiBV;aACF;SACF;KACF;CACF,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,SAAS,WAAW;IAClB,OAAO;;;;;;CAMR,CAAC;AACF,CAAC;AAED,MAAM,QAAQ,GAAY,IAAI,CAAC,EAAE;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,YAAY,GAAG,OAAO,CAAC;IAE7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC1C,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;gBACzB,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAa,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,SAAS,GAAG,WAAW,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,SAAS,EAAE,iBAAiB;CAC7B,CAAC;AACF,OAAO,CAAC,UAAU,GAAG;IACnB,IAAI,EAAE;QACJ,WAAW,EAAE;YACX,KAAK,EAAE;;;;OAIN;SACF;KACF;CACF,CAAC","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-socials';\n\nconst argTypes = withComponentControls(componentsData, { tag: elementTag });\n\nconst meta: Meta = {\n title: 'Organismes/Réseaux sociaux',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLe composant Réseaux sociaux affiche un bandeau horizontal contenant des liens vers les différents profils de réseaux sociaux d'une organisation. Il permet de centraliser et de mettre en valeur la présence sociale de manière cohérente.\n\n## Structure\n\nLe composant se compose de :\n- **Titre principal** : Customisable via la propriété mainTitle\n- **Slot** : Contient les liens vers les réseaux sociaux avec leurs icônes\n\n## Fonctionnalités\n\n- Affichage des icônes de réseaux sociaux dans un conteneur horizontal\n- Support de tous les réseaux sociaux via les icônes Font Awesome Brands\n- Style cohérent avec le design system\n- Responsive design adapté à tous les écrans\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContent(): string {\n return `\n <a target=\"_blank\" href=\"#\"><spw-icon variant=\"fa-brands\" icon=\"fa-facebook\"></spw-icon></a>\n <a target=\"_blank\" href=\"#\"><spw-icon variant=\"fa-brands\" icon=\"fa-instagram\"></spw-icon></a>\n <a target=\"_blank\" href=\"#\"><spw-icon variant=\"fa-brands\" icon=\"fa-x-twitter\"></spw-icon></a>\n <a target=\"_blank\" href=\"#\"><spw-icon variant=\"fa-brands\" icon=\"fa-youtube\"></spw-icon></a>\n <a target=\"_blank\" href=\"#\"><spw-icon variant=\"fa-brands\" icon=\"fa-linkedin-in\"></spw-icon></a>\n`;\n}\n\nconst Template: StoryFn = args => {\n const element = document.createElement(elementTag);\n const hasSlot = true;\n const slottedLabel = 'label';\n\n Object.entries(args).forEach(([key, val]) => {\n if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n } else {\n if (key !== slottedLabel) {\n element.setAttribute(toKebabCase(key), val as string);\n }\n }\n });\n\n if (hasSlot) {\n element.innerHTML = htmlContent();\n }\n\n return element;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n mainTitle: 'Restez connecté',\n};\nDefault.parameters = {\n docs: {\n description: {\n story: `\nExemple de bandeau de réseaux sociaux avec les principales plateformes sociales. Le composant affiche un titre personnalisable suivi des icônes cliquables des réseaux sociaux.\n\nCas d'usage typique : placé en footer ou dans une sidebar pour encourager les utilisateurs à suivre l'organisation sur les réseaux sociaux. Les icônes utilisent Font Awesome Brands et s'ouvrent dans un nouvel onglet.\n `,\n },\n },\n};\n"]}
|