@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,33 @@ 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 Tableau permet d'afficher et d'organiser efficacement de grandes quantités de données structurées. Il offre des fonctionnalités avancées de tri, filtrage et pagination pour faciliter la consultation et l'analyse des informations.
|
|
25
|
+
|
|
26
|
+
## Structure
|
|
27
|
+
|
|
28
|
+
Le composant se compose de six parties :
|
|
29
|
+
- **spw-table** : Le conteneur principal du tableau
|
|
30
|
+
- **spw-table-head** : En-tête du tableau
|
|
31
|
+
- **spw-table-header** : Cellule d'en-tête (colonnes)
|
|
32
|
+
- **spw-table-body** : Corps du tableau contenant les données
|
|
33
|
+
- **spw-table-row** : Ligne de données
|
|
34
|
+
- **spw-table-cell** : Cellule de données
|
|
35
|
+
- **spw-table-footer** : Pied de tableau pour pagination/infos
|
|
36
|
+
|
|
37
|
+
## Fonctionnalités
|
|
38
|
+
|
|
39
|
+
- Tri des colonnes avec indicateurs visuels
|
|
40
|
+
- Pagination intégrée
|
|
41
|
+
- Lignes sélectionnables avec checkboxes
|
|
42
|
+
- Support des états de ligne (sélection, désactivation)
|
|
43
|
+
- Filtres personnalisés par colonne via dropdown
|
|
44
|
+
- Actions contextuelles par ligne
|
|
45
|
+
- Support des tags et statuts
|
|
46
|
+
- Mode compact avec padding réduit
|
|
47
|
+
- Sticky header pour grands tableaux
|
|
48
|
+
- Skeleton loading pour chargement asynchrone
|
|
49
|
+
- Responsive avec scroll horizontal
|
|
50
|
+
- Accessibilité complète avec scope et aria
|
|
25
51
|
|
|
26
52
|
[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/90a77b-tableau)
|
|
27
53
|
`,
|
|
@@ -94,6 +120,13 @@ Base.args = {
|
|
|
94
120
|
</spw-table-body>
|
|
95
121
|
`,
|
|
96
122
|
};
|
|
123
|
+
Base.parameters = {
|
|
124
|
+
docs: {
|
|
125
|
+
description: {
|
|
126
|
+
story: `Tableau de base simple avec en-tête et plusieurs lignes de données. Exemple minimaliste pour afficher des données tabulaires sans fonctionnalités avancées.`,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
};
|
|
97
130
|
export const StickyTableWithMaxHeight = Template.bind({});
|
|
98
131
|
StickyTableWithMaxHeight.args = {
|
|
99
132
|
maxHeight: '225',
|
|
@@ -101,6 +134,13 @@ StickyTableWithMaxHeight.args = {
|
|
|
101
134
|
isSticky: true,
|
|
102
135
|
innerHTML: Base.args.innerHTML,
|
|
103
136
|
};
|
|
137
|
+
StickyTableWithMaxHeight.parameters = {
|
|
138
|
+
docs: {
|
|
139
|
+
description: {
|
|
140
|
+
story: `Tableau avec en-tête fixe (sticky) et hauteur maximale. L'en-tête reste visible lors du scroll vertical, pratique pour les longs tableaux. Idéal pour améliorer la lisibilité des données volumineuses.`,
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
};
|
|
104
144
|
export const ZebraTableWithSorting = Template.bind({});
|
|
105
145
|
ZebraTableWithSorting.args = {
|
|
106
146
|
isZebra: true,
|
|
@@ -136,6 +176,13 @@ ZebraTableWithSorting.args = {
|
|
|
136
176
|
</spw-table-body>
|
|
137
177
|
`,
|
|
138
178
|
};
|
|
179
|
+
ZebraTableWithSorting.parameters = {
|
|
180
|
+
docs: {
|
|
181
|
+
description: {
|
|
182
|
+
story: `Tableau avec lignes alternées (zebra) et tri sur colonnes. Cliquer sur un en-tête de colonne pour trier les données. Les rayures facilitent la lecture horizontale des lignes.`,
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
};
|
|
139
186
|
export const TableWithActionsAndTags = Template.bind({});
|
|
140
187
|
TableWithActionsAndTags.args = {
|
|
141
188
|
isZebra: true,
|
|
@@ -275,6 +322,13 @@ TableWithActionsAndTags.args = {
|
|
|
275
322
|
</spw-table-footer>
|
|
276
323
|
`,
|
|
277
324
|
};
|
|
325
|
+
TableWithActionsAndTags.parameters = {
|
|
326
|
+
docs: {
|
|
327
|
+
description: {
|
|
328
|
+
story: `Tableau complexe avec sélection, filtres, actions et tags. Démontre toutes les fonctionnalités avancées : checkboxes de sélection, tooltips d'info, filtres par colonne, boutons d'actions, états de ligne (sélectionnée/désactivée), tags de statut et pagination complète. Idéal pour backoffices et interfaces d'administration.`,
|
|
329
|
+
},
|
|
330
|
+
},
|
|
331
|
+
};
|
|
278
332
|
export const CompactTable = Template.bind({});
|
|
279
333
|
CompactTable.args = {
|
|
280
334
|
isZebra: true,
|
|
@@ -310,6 +364,13 @@ CompactTable.args = {
|
|
|
310
364
|
</spw-table-body>
|
|
311
365
|
`,
|
|
312
366
|
};
|
|
367
|
+
CompactTable.parameters = {
|
|
368
|
+
docs: {
|
|
369
|
+
description: {
|
|
370
|
+
story: `Tableau compact avec padding réduit (small). Idéal pour afficher plus de données dans un espace réduit tout en conservant la lisibilité. Parfait pour les dashboards ou interfaces nécessitant une vue densifiée.`,
|
|
371
|
+
},
|
|
372
|
+
},
|
|
373
|
+
};
|
|
313
374
|
export const LoadingWithSkeleton = Template.bind({});
|
|
314
375
|
LoadingWithSkeleton.args = {
|
|
315
376
|
isZebra: true,
|
|
@@ -429,4 +490,11 @@ LoadingWithSkeleton.args = {
|
|
|
429
490
|
</spw-table-footer>
|
|
430
491
|
`,
|
|
431
492
|
};
|
|
493
|
+
LoadingWithSkeleton.parameters = {
|
|
494
|
+
docs: {
|
|
495
|
+
description: {
|
|
496
|
+
story: `Tableau avec état de chargement utilisant des skeletons. Les placeholders animés simulent le chargement des données pour améliorer l'expérience utilisateur pendant les requêtes asynchrones. Évite les sauts de layout et rassure l'utilisateur pendant l'attente.`,
|
|
497
|
+
},
|
|
498
|
+
},
|
|
499
|
+
};
|
|
432
500
|
//# sourceMappingURL=spw-table.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-table.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-table/spw-table.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEtE,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;AAED,MAAM,UAAU,GAAG,WAAW,CAAC;AAE/B,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAEzI,MAAM,QAAQ,iDACT,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAC1D,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,KACpD,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GACxC,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;;;;;;SAMV;aACF;SACF;KACF;CACF,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,QAAQ,GAAY,IAAI,CAAC,EAAE;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnD,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,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,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,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;IACzC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAY,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,IAAI,CAAC,IAAI,GAAG;IACV,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCV;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAY,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnE,wBAAwB,CAAC,IAAI,GAAG;IAC9B,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAY,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChE,qBAAqB,CAAC,IAAI,GAAG;IAC3B,OAAO,EAAE,IAAI;IACb,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BV;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAY,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClE,uBAAuB,CAAC,IAAI,GAAG;IAC7B,OAAO,EAAE,IAAI;IACb,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsIV;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAY,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvD,YAAY,CAAC,IAAI,GAAG;IAClB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BV;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAY,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9D,mBAAmB,CAAC,IAAI,GAAG;IACzB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHV;CACF,CAAC","sourcesContent":["import { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes } from '@utils/utils';\n\nlet 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\nconst elementTag = 'spw-table';\n\nconst subComponentTags = ['spw-table-body', 'spw-table-cell', 'spw-table-footer', 'spw-table-header', 'spw-table-head', 'spw-table-row'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n innerHTML: { table: { disable: true } },\n};\n\nconst meta: Meta = {\n title: 'Organismes/Tableau',\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\nAffiche toutes les informations d’un ensemble de données.\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/90a77b-tableau)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction camelToKebab(str: string) {\n return str.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`);\n}\n\nconst Template: StoryFn = args => {\n const element = document.createElement(elementTag);\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 = args.innerHTML || '';\n return element;\n};\n\nexport const Base: StoryFn = Template.bind({});\nBase.args = {\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header scope=\"col\">Header 1</spw-table-header>\n <spw-table-header scope=\"col\">Header 2</spw-table-header>\n <spw-table-header scope=\"col\">Header 3</spw-table-header>\n <spw-table-header scope=\"col\">Header 4</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\n\nexport const StickyTableWithMaxHeight: StoryFn = Template.bind({});\nStickyTableWithMaxHeight.args = {\n maxHeight: '225',\n minWidth: '800',\n isSticky: true,\n innerHTML: Base.args.innerHTML,\n};\n\nexport const ZebraTableWithSorting: StoryFn = Template.bind({});\nZebraTableWithSorting.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"city\" sortable scope=\"col\">Ville</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell>Zoé</spw-table-cell>\n <spw-table-cell>28</spw-table-cell>\n <spw-table-cell>Charleroi</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Arthur</spw-table-cell>\n <spw-table-cell>35</spw-table-cell>\n <spw-table-cell>Namur</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Micheline</spw-table-cell>\n <spw-table-cell>17</spw-table-cell>\n <spw-table-cell>Liège</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>André</spw-table-cell>\n <spw-table-cell>84</spw-table-cell>\n <spw-table-cell>Tournai</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\n\nexport const TableWithActionsAndTags: StoryFn = Template.bind({});\nTableWithActionsAndTags.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header width=\"20\" scope=\"col\">\n <spw-checkbox></spw-checkbox>\n </spw-table-header>\n <spw-table-header tooltip-title=\"Information\" tooltip-text=\"Ceci est une phrase d'exemple\" column-id=\"name\" sortable scope=\"col\">\n Nom\n <spw-dropdown slot=\"filters\" content-width=\"360\" direction=\"bottom\">\n <spw-icon icon=\"fa-filter\">\n <div slot=\"dropdownContent\">\n <h3 class=\"spw-ds-typography-heading-03\">Filtrer la colonne nom</h3>\n <form>\n <spw-text-field\n required\n size=\"small\"\n max-length=\"100\"\n min-length=\"3\"\n label=\"Champ texte\"\n type=\"text\"\n placeholder=\"Entrez un texte\"\n name=\"firstname\"\n class=\"mb-2\"\n ></spw-text-field>\n <spw-custom-select\n label=\"Mon label\"\n placeholder=\"Sélectionnez une option\"\n name=\"mon-super-select\"\n required=\"true\"\n multiple=\"true\"\n id=\"mon-custom-select-dynamique\"\n is-search=\"true\"\n class=\"mb-3\"\n ></spw-custom-select>\n <spw-group label=\"Des choix horizontaux\" required=\"true\" type=\"radios\" orientation=\"horizontal\">\n <spw-radio name=\"radio1\" value=\"option1\">Un input radio</spw-radio>\n <spw-radio name=\"radio1\" value=\"option2\">Un input radio</spw-radio>\n </spw-group>\n </form>\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button class=\"mt-3\" is-full-width variant=\"primary\" size=\"small\">Appliquer</spw-button>\n </spw-group>\n </div>\n </spw-icon>\n </spw-dropdown>\n </spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"status\" sortable scope=\"col\">Statut</spw-table-header>\n <spw-table-header text-align=\"center\" scope=\"col\">Actions</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell width=\"20\"><spw-checkbox></spw-checkbox></spw-table-cell>\n <spw-table-cell>Zoé</spw-table-cell>\n <spw-table-cell>28</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row state=\"disabled\">\n <spw-table-cell width=\"20\"><spw-checkbox disabled=\"true\"></spw-checkbox></spw-table-cell>\n <spw-table-cell>Marie</spw-table-cell>\n <spw-table-cell>22</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row state=\"selected\">\n <spw-table-cell width=\"20\"><spw-checkbox checked=\"true\"></spw-checkbox></spw-table-cell>\n <spw-table-cell>Thomas</spw-table-cell>\n <spw-table-cell>37</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n <spw-table-footer>\n <div slot=\"left\">1-10 sur 9999 éléments</div>\n <div slot=\"center\">\n <spw-pagination class=\"spw-pagination\" variant=\"numbers\" total-items=\"30\" items-per-page=\"10\"></spw-pagination>\n </div>\n <div slot=\"right\">\n <spw-select placeholder=\"N°\" name=\"mon-select-natif\" size=\"medium\">\n <option selected value=\"10\">10</option>\n <option value=\"20\">20</option>\n <option value=\"30\">30</option>\n <option value=\"40\">40</option>\n </spw-select>\n éléments par page\n </div>\n </spw-table-footer>\n `,\n};\n\nexport const CompactTable: StoryFn = Template.bind({});\nCompactTable.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header padding=\"small\" column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header padding=\"small\" column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header padding=\"small\" column-id=\"city\" sortable scope=\"col\">Ville</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Zoé</spw-table-cell>\n <spw-table-cell padding=\"small\">28</spw-table-cell>\n <spw-table-cell padding=\"small\">Charleroi</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Arthur</spw-table-cell>\n <spw-table-cell padding=\"small\">35</spw-table-cell>\n <spw-table-cell padding=\"small\">Namur</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Micheline</spw-table-cell>\n <spw-table-cell padding=\"small\">17</spw-table-cell>\n <spw-table-cell padding=\"small\">Liège</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">André</spw-table-cell>\n <spw-table-cell padding=\"small\">84</spw-table-cell>\n <spw-table-cell padding=\"small\">Tournai</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\n\nexport const LoadingWithSkeleton: StoryFn = Template.bind({});\nLoadingWithSkeleton.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header width=\"20\" scope=\"col\">\n <spw-checkbox></spw-checkbox>\n </spw-table-header>\n <spw-table-header column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"status\" scope=\"col\">Statut</spw-table-header>\n <spw-table-header text-align=\"center\" scope=\"col\">Actions</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n <spw-table-footer>\n <div slot=\"left\">Chargement en cours...</div>\n <div slot=\"center\">\n <spw-pagination class=\"spw-pagination\" variant=\"numbers\" total-items=\"30\" items-per-page=\"10\"></spw-pagination>\n </div>\n <div slot=\"right\">\n <spw-select placeholder=\"N°\" name=\"mon-select-natif\" size=\"medium\">\n <option selected value=\"10\">10</option>\n <option value=\"20\">20</option>\n <option value=\"30\">30</option>\n <option value=\"40\">40</option>\n </spw-select>\n éléments par page\n </div>\n </spw-table-footer>\n `,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"spw-table.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-table/spw-table.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes } from '@utils/utils';\n\nlet 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\nconst elementTag = 'spw-table';\n\nconst subComponentTags = ['spw-table-body', 'spw-table-cell', 'spw-table-footer', 'spw-table-header', 'spw-table-head', 'spw-table-row'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n innerHTML: { table: { disable: true } },\n};\n\nconst meta: Meta = {\n title: 'Organismes/Tableau',\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 Tableau permet d'afficher et d'organiser efficacement de grandes quantités de données structurées. Il offre des fonctionnalités avancées de tri, filtrage et pagination pour faciliter la consultation et l'analyse des informations.\n\n## Structure\n\nLe composant se compose de six parties :\n- **spw-table** : Le conteneur principal du tableau\n- **spw-table-head** : En-tête du tableau\n- **spw-table-header** : Cellule d'en-tête (colonnes)\n- **spw-table-body** : Corps du tableau contenant les données\n- **spw-table-row** : Ligne de données\n- **spw-table-cell** : Cellule de données\n- **spw-table-footer** : Pied de tableau pour pagination/infos\n\n## Fonctionnalités\n\n- Tri des colonnes avec indicateurs visuels\n- Pagination intégrée\n- Lignes sélectionnables avec checkboxes\n- Support des états de ligne (sélection, désactivation)\n- Filtres personnalisés par colonne via dropdown\n- Actions contextuelles par ligne\n- Support des tags et statuts\n- Mode compact avec padding réduit\n- Sticky header pour grands tableaux\n- Skeleton loading pour chargement asynchrone\n- Responsive avec scroll horizontal\n- Accessibilité complète avec scope et aria\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/90a77b-tableau)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction camelToKebab(str: string) {\n return str.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`);\n}\n\nconst Template: StoryFn = args => {\n const element = document.createElement(elementTag);\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 = args.innerHTML || '';\n return element;\n};\n\nexport const Base: StoryFn = Template.bind({});\nBase.args = {\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header scope=\"col\">Header 1</spw-table-header>\n <spw-table-header scope=\"col\">Header 2</spw-table-header>\n <spw-table-header scope=\"col\">Header 3</spw-table-header>\n <spw-table-header scope=\"col\">Header 4</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\nBase.parameters = {\n docs: {\n description: {\n story: `Tableau de base simple avec en-tête et plusieurs lignes de données. Exemple minimaliste pour afficher des données tabulaires sans fonctionnalités avancées.`,\n },\n },\n};\n\nexport const StickyTableWithMaxHeight: StoryFn = Template.bind({});\nStickyTableWithMaxHeight.args = {\n maxHeight: '225',\n minWidth: '800',\n isSticky: true,\n innerHTML: Base.args.innerHTML,\n};\nStickyTableWithMaxHeight.parameters = {\n docs: {\n description: {\n story: `Tableau avec en-tête fixe (sticky) et hauteur maximale. L'en-tête reste visible lors du scroll vertical, pratique pour les longs tableaux. Idéal pour améliorer la lisibilité des données volumineuses.`,\n },\n },\n};\n\nexport const ZebraTableWithSorting: StoryFn = Template.bind({});\nZebraTableWithSorting.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"city\" sortable scope=\"col\">Ville</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell>Zoé</spw-table-cell>\n <spw-table-cell>28</spw-table-cell>\n <spw-table-cell>Charleroi</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Arthur</spw-table-cell>\n <spw-table-cell>35</spw-table-cell>\n <spw-table-cell>Namur</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Micheline</spw-table-cell>\n <spw-table-cell>17</spw-table-cell>\n <spw-table-cell>Liège</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>André</spw-table-cell>\n <spw-table-cell>84</spw-table-cell>\n <spw-table-cell>Tournai</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\nZebraTableWithSorting.parameters = {\n docs: {\n description: {\n story: `Tableau avec lignes alternées (zebra) et tri sur colonnes. Cliquer sur un en-tête de colonne pour trier les données. Les rayures facilitent la lecture horizontale des lignes.`,\n },\n },\n};\n\nexport const TableWithActionsAndTags: StoryFn = Template.bind({});\nTableWithActionsAndTags.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header width=\"20\" scope=\"col\">\n <spw-checkbox></spw-checkbox>\n </spw-table-header>\n <spw-table-header tooltip-title=\"Information\" tooltip-text=\"Ceci est une phrase d'exemple\" column-id=\"name\" sortable scope=\"col\">\n Nom\n <spw-dropdown slot=\"filters\" content-width=\"360\" direction=\"bottom\">\n <spw-icon icon=\"fa-filter\">\n <div slot=\"dropdownContent\">\n <h3 class=\"spw-ds-typography-heading-03\">Filtrer la colonne nom</h3>\n <form>\n <spw-text-field\n required\n size=\"small\"\n max-length=\"100\"\n min-length=\"3\"\n label=\"Champ texte\"\n type=\"text\"\n placeholder=\"Entrez un texte\"\n name=\"firstname\"\n class=\"mb-2\"\n ></spw-text-field>\n <spw-custom-select\n label=\"Mon label\"\n placeholder=\"Sélectionnez une option\"\n name=\"mon-super-select\"\n required=\"true\"\n multiple=\"true\"\n id=\"mon-custom-select-dynamique\"\n is-search=\"true\"\n class=\"mb-3\"\n ></spw-custom-select>\n <spw-group label=\"Des choix horizontaux\" required=\"true\" type=\"radios\" orientation=\"horizontal\">\n <spw-radio name=\"radio1\" value=\"option1\">Un input radio</spw-radio>\n <spw-radio name=\"radio1\" value=\"option2\">Un input radio</spw-radio>\n </spw-group>\n </form>\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button class=\"mt-3\" is-full-width variant=\"primary\" size=\"small\">Appliquer</spw-button>\n </spw-group>\n </div>\n </spw-icon>\n </spw-dropdown>\n </spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"status\" sortable scope=\"col\">Statut</spw-table-header>\n <spw-table-header text-align=\"center\" scope=\"col\">Actions</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell width=\"20\"><spw-checkbox></spw-checkbox></spw-table-cell>\n <spw-table-cell>Zoé</spw-table-cell>\n <spw-table-cell>28</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row state=\"disabled\">\n <spw-table-cell width=\"20\"><spw-checkbox disabled=\"true\"></spw-checkbox></spw-table-cell>\n <spw-table-cell>Marie</spw-table-cell>\n <spw-table-cell>22</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row state=\"selected\">\n <spw-table-cell width=\"20\"><spw-checkbox checked=\"true\"></spw-checkbox></spw-table-cell>\n <spw-table-cell>Thomas</spw-table-cell>\n <spw-table-cell>37</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n <spw-table-footer>\n <div slot=\"left\">1-10 sur 9999 éléments</div>\n <div slot=\"center\">\n <spw-pagination class=\"spw-pagination\" variant=\"numbers\" total-items=\"30\" items-per-page=\"10\"></spw-pagination>\n </div>\n <div slot=\"right\">\n <spw-select placeholder=\"N°\" name=\"mon-select-natif\" size=\"medium\">\n <option selected value=\"10\">10</option>\n <option value=\"20\">20</option>\n <option value=\"30\">30</option>\n <option value=\"40\">40</option>\n </spw-select>\n éléments par page\n </div>\n </spw-table-footer>\n `,\n};\nTableWithActionsAndTags.parameters = {\n docs: {\n description: {\n story: `Tableau complexe avec sélection, filtres, actions et tags. Démontre toutes les fonctionnalités avancées : checkboxes de sélection, tooltips d'info, filtres par colonne, boutons d'actions, états de ligne (sélectionnée/désactivée), tags de statut et pagination complète. Idéal pour backoffices et interfaces d'administration.`,\n },\n },\n};\n\nexport const CompactTable: StoryFn = Template.bind({});\nCompactTable.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header padding=\"small\" column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header padding=\"small\" column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header padding=\"small\" column-id=\"city\" sortable scope=\"col\">Ville</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Zoé</spw-table-cell>\n <spw-table-cell padding=\"small\">28</spw-table-cell>\n <spw-table-cell padding=\"small\">Charleroi</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Arthur</spw-table-cell>\n <spw-table-cell padding=\"small\">35</spw-table-cell>\n <spw-table-cell padding=\"small\">Namur</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Micheline</spw-table-cell>\n <spw-table-cell padding=\"small\">17</spw-table-cell>\n <spw-table-cell padding=\"small\">Liège</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">André</spw-table-cell>\n <spw-table-cell padding=\"small\">84</spw-table-cell>\n <spw-table-cell padding=\"small\">Tournai</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\nCompactTable.parameters = {\n docs: {\n description: {\n story: `Tableau compact avec padding réduit (small). Idéal pour afficher plus de données dans un espace réduit tout en conservant la lisibilité. Parfait pour les dashboards ou interfaces nécessitant une vue densifiée.`,\n },\n },\n};\n\nexport const LoadingWithSkeleton: StoryFn = Template.bind({});\nLoadingWithSkeleton.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header width=\"20\" scope=\"col\">\n <spw-checkbox></spw-checkbox>\n </spw-table-header>\n <spw-table-header column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"status\" scope=\"col\">Statut</spw-table-header>\n <spw-table-header text-align=\"center\" scope=\"col\">Actions</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n <spw-table-footer>\n <div slot=\"left\">Chargement en cours...</div>\n <div slot=\"center\">\n <spw-pagination class=\"spw-pagination\" variant=\"numbers\" total-items=\"30\" items-per-page=\"10\"></spw-pagination>\n </div>\n <div slot=\"right\">\n <spw-select placeholder=\"N°\" name=\"mon-select-natif\" size=\"medium\">\n <option selected value=\"10\">10</option>\n <option value=\"20\">20</option>\n <option value=\"30\">30</option>\n <option value=\"40\">40</option>\n </spw-select>\n éléments par page\n </div>\n </spw-table-footer>\n `,\n};\nLoadingWithSkeleton.parameters = {\n docs: {\n description: {\n story: `Tableau avec état de chargement utilisant des skeletons. Les placeholders animés simulent le chargement des données pour améliorer l'expérience utilisateur pendant les requêtes asynchrones. Évite les sauts de layout et rassure l'utilisateur pendant l'attente.`,\n },\n },\n};\n"]}
|
|
@@ -21,7 +21,30 @@ 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
|
-
Les onglets sont utilisés pour organiser le contenu
|
|
24
|
+
Les onglets sont utilisés pour organiser le contenu associé dans une interface. Ils permettent de naviguer entre différentes sections de contenu sans quitter la page, en affichant une seule section à la fois.
|
|
25
|
+
|
|
26
|
+
## Structure
|
|
27
|
+
|
|
28
|
+
Le composant se compose de quatre parties :
|
|
29
|
+
- **spw-tabs** : Le conteneur principal qui gère l'état et la logique
|
|
30
|
+
- **spw-tabs-navigation** : Contient la liste des onglets cliquables
|
|
31
|
+
- **spw-tabs-navigation-item** : Chaque onglet individuel avec son label
|
|
32
|
+
- **spw-tabs-content** : Le contenu associé à chaque onglet
|
|
33
|
+
|
|
34
|
+
## Variants disponibles
|
|
35
|
+
|
|
36
|
+
- **Default** : Style par défaut avec bordure inférieure
|
|
37
|
+
- **Box** : Style avec fond et bordures complètes
|
|
38
|
+
|
|
39
|
+
## Fonctionnalités
|
|
40
|
+
|
|
41
|
+
- Navigation par clic entre les onglets
|
|
42
|
+
- Support des onglets désactivés
|
|
43
|
+
- Notifications visuelles (bubbles) sur les onglets
|
|
44
|
+
- Tronquer du texte avec tooltip si nécessaire
|
|
45
|
+
- Support des onglets imbriqués (multi-niveaux)
|
|
46
|
+
- Navigation au clavier accessible
|
|
47
|
+
- Émission d'événement lors du changement d'onglet
|
|
25
48
|
|
|
26
49
|
[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/857780-onglets)
|
|
27
50
|
`,
|
|
@@ -182,6 +205,17 @@ Default.args = {
|
|
|
182
205
|
bubble: true,
|
|
183
206
|
defaultActiveTab: '1',
|
|
184
207
|
};
|
|
208
|
+
Default.parameters = {
|
|
209
|
+
docs: {
|
|
210
|
+
description: {
|
|
211
|
+
story: `
|
|
212
|
+
Exemple d'onglets avec le style par défaut. Cette story démontre plusieurs fonctionnalités : un onglet désactivé (Onglet 2), un onglet avec notification bubble (Onglet 3), et 8 onglets au total pour montrer le comportement avec beaucoup d'items.
|
|
213
|
+
|
|
214
|
+
Cas d'usage : navigation entre différentes sections d'un formulaire, d'un profil utilisateur, ou de paramètres. Le style default convient aux interfaces légères et épurées.
|
|
215
|
+
`,
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
};
|
|
185
219
|
export const Box = TemplateBox.bind({});
|
|
186
220
|
Box.args = {
|
|
187
221
|
disabled: true,
|
|
@@ -189,6 +223,17 @@ Box.args = {
|
|
|
189
223
|
defaultActiveTab: '1',
|
|
190
224
|
variant: 'box',
|
|
191
225
|
};
|
|
226
|
+
Box.parameters = {
|
|
227
|
+
docs: {
|
|
228
|
+
description: {
|
|
229
|
+
story: `
|
|
230
|
+
Variante "box" avec un fond et des bordures complètes autour du contenu. Ce style offre une séparation visuelle plus marquée entre les onglets et le contenu.
|
|
231
|
+
|
|
232
|
+
Cas d'usage : interfaces nécessitant une meilleure distinction visuelle, dashboards, ou sections de contenu nécessitant une mise en valeur particulière. Le padding interne du contenu crée un espacement confortable.
|
|
233
|
+
`,
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
};
|
|
192
237
|
export const MultiLevel = TemplateMultiLevel.bind({});
|
|
193
238
|
MultiLevel.args = {
|
|
194
239
|
disabled: true,
|
|
@@ -196,4 +241,15 @@ MultiLevel.args = {
|
|
|
196
241
|
defaultActiveTab: '1',
|
|
197
242
|
variant: 'box',
|
|
198
243
|
};
|
|
244
|
+
MultiLevel.parameters = {
|
|
245
|
+
docs: {
|
|
246
|
+
description: {
|
|
247
|
+
story: `
|
|
248
|
+
Démonstration d'onglets imbriqués (multi-niveaux). Le premier onglet contient lui-même un système d'onglets complet, permettant une navigation hiérarchique complexe.
|
|
249
|
+
|
|
250
|
+
Cas d'usage : interfaces avancées nécessitant plusieurs niveaux de navigation (ex: configuration système avec catégories et sous-catégories). À utiliser avec précaution pour éviter de surcharger l'interface utilisateur.
|
|
251
|
+
`,
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
};
|
|
199
255
|
//# sourceMappingURL=spw-tabs.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-tabs.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tabs/spw-tabs.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, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-tabs';\n\nconst subComponentTags = ['spw-tabs-content', 'spw-tabs-navigation', 'spw-tabs-navigation-item'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Onglets (tabs)',\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\nLes onglets sont utilisés pour organiser le contenu associé. \n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/857780-onglets)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentDefault(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"pt-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"pt-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"pt-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"pt-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"pt-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"pt-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"pt-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"pt-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nfunction htmlContentBox(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"p-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"p-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"p-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"p-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"p-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"p-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"p-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"p-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nfunction htmlContentMultiLevel(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\">\n <div class=\"p-3\">\n <spw-tabs default-active-tab=\"1\">\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"true\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"true\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"pt-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"pt-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"pt-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"pt-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"pt-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"pt-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"pt-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"pt-3\">Contenu 8</div></spw-tabs-content>\n </div>\n </spw-tabs>\n </div>\n </spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"p-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"p-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"p-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"p-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"p-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"p-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"p-3\">Contenu 8</div></spw-tabs-content>\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(args);\n\n return element;\n};\n\nconst TemplateBox: 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 = htmlContentBox(args);\n\n return element;\n};\n\nconst TemplateMultiLevel: 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 = htmlContentMultiLevel(args);\n\n return element;\n};\n\nexport const Default = TemplateDefault.bind({});\nDefault.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n};\n\nexport const Box = TemplateBox.bind({});\nBox.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n variant: 'box',\n};\n\nexport const MultiLevel = TemplateMultiLevel.bind({});\nMultiLevel.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n variant: 'box',\n};\n"]}
|
|
1
|
+
{"version":3,"file":"spw-tabs.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tabs/spw-tabs.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, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-tabs';\n\nconst subComponentTags = ['spw-tabs-content', 'spw-tabs-navigation', 'spw-tabs-navigation-item'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Onglets (tabs)',\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\nLes onglets sont utilisés pour organiser le contenu associé dans une interface. Ils permettent de naviguer entre différentes sections de contenu sans quitter la page, en affichant une seule section à la fois.\n\n## Structure\n\nLe composant se compose de quatre parties :\n- **spw-tabs** : Le conteneur principal qui gère l'état et la logique\n- **spw-tabs-navigation** : Contient la liste des onglets cliquables\n- **spw-tabs-navigation-item** : Chaque onglet individuel avec son label\n- **spw-tabs-content** : Le contenu associé à chaque onglet\n\n## Variants disponibles\n\n- **Default** : Style par défaut avec bordure inférieure\n- **Box** : Style avec fond et bordures complètes\n\n## Fonctionnalités\n\n- Navigation par clic entre les onglets\n- Support des onglets désactivés\n- Notifications visuelles (bubbles) sur les onglets\n- Tronquer du texte avec tooltip si nécessaire\n- Support des onglets imbriqués (multi-niveaux)\n- Navigation au clavier accessible\n- Émission d'événement lors du changement d'onglet\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/857780-onglets)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentDefault(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"pt-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"pt-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"pt-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"pt-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"pt-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"pt-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"pt-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"pt-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nfunction htmlContentBox(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"p-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"p-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"p-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"p-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"p-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"p-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"p-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"p-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nfunction htmlContentMultiLevel(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\">\n <div class=\"p-3\">\n <spw-tabs default-active-tab=\"1\">\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"true\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"true\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"pt-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"pt-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"pt-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"pt-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"pt-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"pt-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"pt-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"pt-3\">Contenu 8</div></spw-tabs-content>\n </div>\n </spw-tabs>\n </div>\n </spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"p-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"p-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"p-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"p-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"p-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"p-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"p-3\">Contenu 8</div></spw-tabs-content>\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(args);\n\n return element;\n};\n\nconst TemplateBox: 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 = htmlContentBox(args);\n\n return element;\n};\n\nconst TemplateMultiLevel: 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 = htmlContentMultiLevel(args);\n\n return element;\n};\n\nexport const Default = TemplateDefault.bind({});\nDefault.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n};\nDefault.parameters = {\n docs: {\n description: {\n story: `\nExemple d'onglets avec le style par défaut. Cette story démontre plusieurs fonctionnalités : un onglet désactivé (Onglet 2), un onglet avec notification bubble (Onglet 3), et 8 onglets au total pour montrer le comportement avec beaucoup d'items.\n\nCas d'usage : navigation entre différentes sections d'un formulaire, d'un profil utilisateur, ou de paramètres. Le style default convient aux interfaces légères et épurées.\n `,\n },\n },\n};\n\nexport const Box = TemplateBox.bind({});\nBox.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n variant: 'box',\n};\nBox.parameters = {\n docs: {\n description: {\n story: `\nVariante \"box\" avec un fond et des bordures complètes autour du contenu. Ce style offre une séparation visuelle plus marquée entre les onglets et le contenu.\n\nCas d'usage : interfaces nécessitant une meilleure distinction visuelle, dashboards, ou sections de contenu nécessitant une mise en valeur particulière. Le padding interne du contenu crée un espacement confortable.\n `,\n },\n },\n};\n\nexport const MultiLevel = TemplateMultiLevel.bind({});\nMultiLevel.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n variant: 'box',\n};\nMultiLevel.parameters = {\n docs: {\n description: {\n story: `\nDémonstration d'onglets imbriqués (multi-niveaux). Le premier onglet contient lui-même un système d'onglets complet, permettant une navigation hiérarchique complexe.\n\nCas d'usage : interfaces avancées nécessitant plusieurs niveaux de navigation (ex: configuration système avec catégories et sous-catégories). À utiliser avec précaution pour éviter de surcharger l'interface utilisateur.\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 Tile est un bloc visuel cliquable permettant aux utilisateurs de naviguer vers des pages ou de sélectionner des options. Il offre trois variantes adaptées à différents contextes d'utilisation.
|
|
25
|
+
|
|
26
|
+
## Structure
|
|
27
|
+
|
|
28
|
+
Le composant se compose de trois éléments :
|
|
29
|
+
- **spw-tile** : Conteneur principal avec gestion des variantes et interactions
|
|
30
|
+
- **spw-tile-title** : Titre de la tuile
|
|
31
|
+
- **spw-tile-description** : Description optionnelle (variant icon uniquement)
|
|
32
|
+
|
|
33
|
+
## Variantes disponibles
|
|
34
|
+
|
|
35
|
+
- **icon** : Tuile avec icône centrale, titre et description
|
|
36
|
+
- **light** : Tuile avec image de fond et titre en overlay
|
|
37
|
+
- **big** : Grande tuile avec image plein format et chevron d'action
|
|
38
|
+
|
|
39
|
+
## Fonctionnalités
|
|
40
|
+
|
|
41
|
+
- Trois variantes visuelles adaptées aux besoins
|
|
42
|
+
- Effets hover avec transitions fluides
|
|
43
|
+
- Support des icônes FontAwesome (variant icon)
|
|
44
|
+
- Images de fond avec overlay (variants light et big)
|
|
45
|
+
- Formats de hauteur personnalisables
|
|
46
|
+
- Indicateur visuel chevron sur variant big
|
|
47
|
+
- Rendu sémantique (div ou a selon href)
|
|
48
|
+
|
|
49
|
+
## Cas d'usage
|
|
50
|
+
|
|
51
|
+
- **Variant icon** : Accès rapides aux services, menu de fonctionnalités
|
|
52
|
+
- **Variant light** : Navigation par catégories, sections thématiques
|
|
53
|
+
- **Variant big** : Mise en avant de contenus majeurs, landing pages
|
|
25
54
|
|
|
26
55
|
[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/3326e7-tuile-tile)
|
|
27
56
|
`,
|
|
@@ -110,4 +139,57 @@ Big.args = {
|
|
|
110
139
|
imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',
|
|
111
140
|
imageAlt: 'Image de tuile',
|
|
112
141
|
};
|
|
142
|
+
Icon.parameters = {
|
|
143
|
+
docs: {
|
|
144
|
+
description: {
|
|
145
|
+
story: `
|
|
146
|
+
Tuile avec icône centrale (fa-paper-plane), titre et description. Format compact et informatif, idéal pour les menus d'accès rapides.
|
|
147
|
+
|
|
148
|
+
Caractéristiques :
|
|
149
|
+
- Icône FontAwesome large et centrée
|
|
150
|
+
- Titre et description sur fond blanc
|
|
151
|
+
- Effet hover avec surbrillance
|
|
152
|
+
- Lien externe (target="_blank")
|
|
153
|
+
|
|
154
|
+
Cas d'usage : grille de services (contacts, formulaires, démarches), menu de fonctionnalités d'une application, portail d'outils avec description. La description aide à comprendre la fonction avant de cliquer.
|
|
155
|
+
`,
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
Light.parameters = {
|
|
160
|
+
docs: {
|
|
161
|
+
description: {
|
|
162
|
+
story: `
|
|
163
|
+
Tuile légère avec image de fond et titre en overlay. Format minimaliste et élégant, met l'accent sur le visuel.
|
|
164
|
+
|
|
165
|
+
Caractéristiques :
|
|
166
|
+
- Image de fond plein format
|
|
167
|
+
- Overlay semi-transparent
|
|
168
|
+
- Titre en blanc par-dessus l'image
|
|
169
|
+
- Format landscape par défaut (configurable : square, portrait)
|
|
170
|
+
- Effet hover avec zoom subtil de l'image
|
|
171
|
+
|
|
172
|
+
Cas d'usage : navigation par catégories thématiques (environnement, mobilité, emploi), galerie de sections, portail avec accès visuels aux grandes rubriques. L'image illustre directement le thème.
|
|
173
|
+
`,
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
Big.parameters = {
|
|
178
|
+
docs: {
|
|
179
|
+
description: {
|
|
180
|
+
story: `
|
|
181
|
+
Grande tuile avec image plein format, titre en overlay et icône chevron. Format impactant pour mise en avant de contenus majeurs.
|
|
182
|
+
|
|
183
|
+
Caractéristiques :
|
|
184
|
+
- Image de fond haute résolution
|
|
185
|
+
- Titre en blanc avec overlay gradient
|
|
186
|
+
- Icône chevron (fa-chevron-right) indiquant l'action
|
|
187
|
+
- Format landscape par défaut (configurable : square, portrait)
|
|
188
|
+
- Effet hover avec transition sur image et chevron
|
|
189
|
+
|
|
190
|
+
Cas d'usage : landing pages avec sections principales, mise en avant d'univers thématiques majeurs, portails institutionnels avec grandes rubriques. Le format généreux capte l'attention et valorise le contenu.
|
|
191
|
+
`,
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
};
|
|
113
195
|
//# sourceMappingURL=spw-tile.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-tile.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tile/spw-tile.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, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-tile';\n\nconst subComponentTags = ['spw-tile-description', 'spw-tile-title'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Tuile (tile)',\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\nBloc visuel permettant aux utilisateurs de sélectionner des options ou de changer de page.\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/3326e7-tuile-tile)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentIcon() {\n return /* HTML */ `\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 `;\n}\nfunction htmlContentLight() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\nfunction htmlContentBig() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\n\nconst TemplateIcon: 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 = htmlContentIcon();\n\n return element;\n};\n\nconst TemplateLight: 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 = htmlContentLight();\n\n return element;\n};\n\nconst TemplateBig: 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 = htmlContentBig();\n\n return element;\n};\n\nexport const Icon = TemplateIcon.bind({});\nIcon.args = {\n variant: 'icon',\n href: 'https://google.com',\n target: '_blank',\n};\n\nexport const Light = TemplateLight.bind({});\nLight.args = {\n variant: 'light',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n\nexport const Big = TemplateBig.bind({});\nBig.args = {\n variant: 'big',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n"]}
|
|
1
|
+
{"version":3,"file":"spw-tile.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tile/spw-tile.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, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-tile';\n\nconst subComponentTags = ['spw-tile-description', 'spw-tile-title'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Tuile (tile)',\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 Tile est un bloc visuel cliquable permettant aux utilisateurs de naviguer vers des pages ou de sélectionner des options. Il offre trois variantes adaptées à différents contextes d'utilisation.\n\n## Structure\n\nLe composant se compose de trois éléments :\n- **spw-tile** : Conteneur principal avec gestion des variantes et interactions\n- **spw-tile-title** : Titre de la tuile\n- **spw-tile-description** : Description optionnelle (variant icon uniquement)\n\n## Variantes disponibles\n\n- **icon** : Tuile avec icône centrale, titre et description\n- **light** : Tuile avec image de fond et titre en overlay\n- **big** : Grande tuile avec image plein format et chevron d'action\n\n## Fonctionnalités\n\n- Trois variantes visuelles adaptées aux besoins\n- Effets hover avec transitions fluides\n- Support des icônes FontAwesome (variant icon)\n- Images de fond avec overlay (variants light et big)\n- Formats de hauteur personnalisables\n- Indicateur visuel chevron sur variant big\n- Rendu sémantique (div ou a selon href)\n\n## Cas d'usage\n\n- **Variant icon** : Accès rapides aux services, menu de fonctionnalités\n- **Variant light** : Navigation par catégories, sections thématiques\n- **Variant big** : Mise en avant de contenus majeurs, landing pages\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/3326e7-tuile-tile)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentIcon() {\n return /* HTML */ `\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 `;\n}\nfunction htmlContentLight() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\nfunction htmlContentBig() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\n\nconst TemplateIcon: 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 = htmlContentIcon();\n\n return element;\n};\n\nconst TemplateLight: 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 = htmlContentLight();\n\n return element;\n};\n\nconst TemplateBig: 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 = htmlContentBig();\n\n return element;\n};\n\nexport const Icon = TemplateIcon.bind({});\nIcon.args = {\n variant: 'icon',\n href: 'https://google.com',\n target: '_blank',\n};\n\nexport const Light = TemplateLight.bind({});\nLight.args = {\n variant: 'light',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n\nexport const Big = TemplateBig.bind({});\nBig.args = {\n variant: 'big',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n\nIcon.parameters = {\n docs: {\n description: {\n story: `\nTuile avec icône centrale (fa-paper-plane), titre et description. Format compact et informatif, idéal pour les menus d'accès rapides.\n\nCaractéristiques :\n- Icône FontAwesome large et centrée\n- Titre et description sur fond blanc\n- Effet hover avec surbrillance\n- Lien externe (target=\"_blank\")\n\nCas d'usage : grille de services (contacts, formulaires, démarches), menu de fonctionnalités d'une application, portail d'outils avec description. La description aide à comprendre la fonction avant de cliquer.\n `,\n },\n },\n};\n\nLight.parameters = {\n docs: {\n description: {\n story: `\nTuile légère avec image de fond et titre en overlay. Format minimaliste et élégant, met l'accent sur le visuel.\n\nCaractéristiques :\n- Image de fond plein format\n- Overlay semi-transparent\n- Titre en blanc par-dessus l'image\n- Format landscape par défaut (configurable : square, portrait)\n- Effet hover avec zoom subtil de l'image\n\nCas d'usage : navigation par catégories thématiques (environnement, mobilité, emploi), galerie de sections, portail avec accès visuels aux grandes rubriques. L'image illustre directement le thème.\n `,\n },\n },\n};\n\nBig.parameters = {\n docs: {\n description: {\n story: `\nGrande tuile avec image plein format, titre en overlay et icône chevron. Format impactant pour mise en avant de contenus majeurs.\n\nCaractéristiques :\n- Image de fond haute résolution\n- Titre en blanc avec overlay gradient\n- Icône chevron (fa-chevron-right) indiquant l'action\n- Format landscape par défaut (configurable : square, portrait)\n- Effet hover avec transition sur image et chevron\n\nCas d'usage : landing pages avec sections principales, mise en avant d'univers thématiques majeurs, portails institutionnels avec grandes rubriques. Le format généreux capte l'attention et valorise le contenu.\n `,\n },\n },\n};\n"]}
|