@spw-ds/spw-stencil-library 1.2.4 → 1.2.6
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-button.spw-loading.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-button_2.cjs.entry.js +1 -1
- package/dist/cjs/spw-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-custom-select.cjs.entry.js +43 -7
- package/dist/cjs/spw-custom-select.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-custom-select.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-date-picker.cjs.entry.js +48 -28
- 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-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-field-label_6.cjs.entry.js +3 -3
- package/dist/cjs/spw-field-label_6.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-header-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-header-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-header-navigation-item.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-header-navigation.cjs.entry.js +10 -2
- package/dist/cjs/spw-header-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-header-navigation.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-pagination.cjs.entry.js +26 -16
- 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-search-field.cjs.entry.js +74 -10
- package/dist/cjs/spw-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-search-field.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-select.cjs.entry.js +3 -1
- package/dist/cjs/spw-select.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-select.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +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-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 +23 -2
- package/dist/cjs/spw-table-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table-footer.cjs.entry.js +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 +33 -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 +34 -2
- package/dist/cjs/spw-table-row.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-table-row.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-table.cjs.entry.js +26 -3
- 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 +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-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/cjs/utils-D_vNTY6w.js.map +1 -1
- package/dist/collection/components/spw-button/spw-button.css +1 -1
- package/dist/collection/components/spw-custom-select/spw-custom-select.css +1 -1
- package/dist/collection/components/spw-custom-select/spw-custom-select.js +42 -6
- package/dist/collection/components/spw-custom-select/spw-custom-select.js.map +1 -1
- package/dist/collection/components/spw-date-picker/spw-date-picker.js +48 -28
- package/dist/collection/components/spw-date-picker/spw-date-picker.js.map +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.css +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +33 -1
- package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js.map +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.css +1 -1
- package/dist/collection/components/spw-link/spw-link.css +1 -1
- package/dist/collection/components/spw-pagination/spw-pagination.css +1 -1
- package/dist/collection/components/spw-pagination/spw-pagination.js +54 -13
- package/dist/collection/components/spw-pagination/spw-pagination.js.map +1 -1
- package/dist/collection/components/spw-search-field/spw-search-field.css +1 -1
- package/dist/collection/components/spw-search-field/spw-search-field.js +247 -9
- package/dist/collection/components/spw-search-field/spw-search-field.js.map +1 -1
- package/dist/collection/components/spw-select/spw-select.js +3 -1
- package/dist/collection/components/spw-select/spw-select.js.map +1 -1
- package/dist/collection/components/spw-separator/spw-separator.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.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-socials/spw-socials.js +1 -1
- package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
- package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.css +1 -1
- package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +82 -1
- package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.css +1 -1
- package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
- package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.css +1 -1
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +92 -2
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.css +1 -1
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +66 -1
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js.map +1 -1
- package/dist/collection/components/spw-table/spw-table.js +27 -2
- 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 +1 -1
- package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile.js +1 -1
- package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
- package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
- package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.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 +3 -2
- package/dist/collection/stories/components/spw-breadcrumb/spw-breadcrumb.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js +11 -31
- package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js +106 -11
- package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-card/spw-card.stories.js +5 -2
- 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 +1 -1
- package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +1 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-list/spw-list.stories.js +1 -1
- package/dist/collection/stories/organisms/spw-list/spw-list.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js +1 -1
- package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js.map +1 -1
- package/dist/collection/utils/utils.js +48 -48
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/p-BBi01mKM.js.map +1 -1
- package/dist/components/{p-du-Bai6S.js → p-BFGmcTVw.js} +33 -22
- package/dist/components/p-BFGmcTVw.js.map +1 -0
- package/dist/components/{p-_sdYD0eS.js → p-BZy3vC1Y.js} +3 -3
- package/dist/components/{p-_sdYD0eS.js.map → p-BZy3vC1Y.js.map} +1 -1
- package/dist/components/{p-Bvpi6byK.js → p-DHePkzaR.js} +3 -3
- package/dist/components/{p-Bvpi6byK.js.map → p-DHePkzaR.js.map} +1 -1
- package/dist/components/{p-AjhBdYbk.js → p-DjyPtAVX.js} +3 -3
- package/dist/components/p-DjyPtAVX.js.map +1 -0
- package/dist/components/{p-J5AA2xQI.js → p-DuDAHfBT.js} +3 -3
- package/dist/components/{p-J5AA2xQI.js.map → p-DuDAHfBT.js.map} +1 -1
- package/dist/components/{p-CNNUoO2J.js → p-qROlK2WR.js} +3 -3
- package/dist/components/p-qROlK2WR.js.map +1 -0
- package/dist/components/spw-breadcrumb-item.js +1 -1
- package/dist/components/spw-button.js +1 -1
- package/dist/components/spw-cookies.js +1 -1
- package/dist/components/spw-custom-select.js +43 -7
- package/dist/components/spw-custom-select.js.map +1 -1
- package/dist/components/spw-date-picker.js +48 -28
- package/dist/components/spw-date-picker.js.map +1 -1
- package/dist/components/spw-file-upload.js +1 -1
- package/dist/components/spw-header-lang.js +1 -1
- package/dist/components/spw-header-navigation-item.js +1 -1
- package/dist/components/spw-header-navigation-item.js.map +1 -1
- package/dist/components/spw-header-navigation.js +11 -2
- package/dist/components/spw-header-navigation.js.map +1 -1
- package/dist/components/spw-header.js +1 -1
- package/dist/components/spw-iodda.js +2 -2
- package/dist/components/spw-link.js +1 -1
- package/dist/components/spw-message.js +1 -1
- package/dist/components/spw-pagination.js +1 -1
- package/dist/components/spw-search-field.js +85 -13
- package/dist/components/spw-search-field.js.map +1 -1
- package/dist/components/spw-select.js +3 -1
- package/dist/components/spw-select.js.map +1 -1
- package/dist/components/spw-separator.js +1 -1
- package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
- package/dist/components/spw-sidebar-navigation-item.js +4 -4
- package/dist/components/spw-sidebar-navigation-separator.js +2 -2
- package/dist/components/spw-sidebar.js +1 -1
- package/dist/components/spw-skeleton.js +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 +26 -2
- package/dist/components/spw-table-cell.js.map +1 -1
- package/dist/components/spw-table-footer.js +2 -2
- package/dist/components/spw-table-footer.js.map +1 -1
- package/dist/components/spw-table-head.js +1 -1
- package/dist/components/spw-table-header.js +38 -5
- package/dist/components/spw-table-header.js.map +1 -1
- package/dist/components/spw-table-row.js +39 -3
- package/dist/components/spw-table-row.js.map +1 -1
- package/dist/components/spw-table.js +28 -4
- package/dist/components/spw-table.js.map +1 -1
- package/dist/components/spw-tabs-navigation-item.js +2 -2
- package/dist/components/spw-tabs-navigation.js +1 -1
- package/dist/components/spw-tabs.js +1 -1
- package/dist/components/spw-tag.js +1 -1
- package/dist/components/spw-text-field.js +1 -1
- package/dist/components/spw-textarea.js +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 +1 -1
- package/dist/components/spw-tooltip.js +1 -1
- package/dist/components/spw-topbar.js +1 -1
- package/dist/components/spw-wizard-item.js +1 -1
- package/dist/components/spw-wizard.js +1 -1
- package/dist/components_json.json +481 -15
- package/dist/components_vscode.json +3121 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/spw-button.spw-loading.entry.js.map +1 -1
- package/dist/esm/spw-button_2.entry.js +1 -1
- package/dist/esm/spw-button_2.entry.js.map +1 -1
- package/dist/esm/spw-custom-select.entry.js +43 -7
- package/dist/esm/spw-custom-select.entry.js.map +1 -1
- package/dist/esm/spw-date-picker.entry.js +48 -28
- package/dist/esm/spw-date-picker.entry.js.map +1 -1
- package/dist/esm/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.js.map +1 -1
- package/dist/esm/spw-field-label_6.entry.js +3 -3
- package/dist/esm/spw-field-label_6.entry.js.map +1 -1
- package/dist/esm/spw-header-navigation-item.entry.js +1 -1
- package/dist/esm/spw-header-navigation-item.entry.js.map +1 -1
- package/dist/esm/spw-header-navigation.entry.js +10 -2
- package/dist/esm/spw-header-navigation.entry.js.map +1 -1
- package/dist/esm/spw-pagination.entry.js +26 -16
- package/dist/esm/spw-pagination.entry.js.map +1 -1
- package/dist/esm/spw-search-field.entry.js +75 -11
- package/dist/esm/spw-search-field.entry.js.map +1 -1
- package/dist/esm/spw-select.entry.js +3 -1
- package/dist/esm/spw-select.entry.js.map +1 -1
- 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-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 +23 -2
- package/dist/esm/spw-table-cell.entry.js.map +1 -1
- 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 +33 -3
- package/dist/esm/spw-table-header.entry.js.map +1 -1
- package/dist/esm/spw-table-row.entry.js +35 -3
- package/dist/esm/spw-table-row.entry.js.map +1 -1
- package/dist/esm/spw-table.entry.js +26 -3
- 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 +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-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/esm/utils-BBi01mKM.js.map +1 -1
- package/dist/spw-stencil-library/p-066fdd57.entry.js +2 -0
- package/dist/spw-stencil-library/p-066fdd57.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-f7760a47.entry.js → p-06ac337f.entry.js} +2 -2
- package/dist/spw-stencil-library/p-06ac337f.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-488c2d88.entry.js → p-0d1330e7.entry.js} +2 -2
- package/dist/spw-stencil-library/p-0f69442e.entry.js +2 -0
- package/dist/spw-stencil-library/p-0f69442e.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-31793077.entry.js → p-13ecc56f.entry.js} +2 -2
- package/dist/spw-stencil-library/p-13ecc56f.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-14722019.entry.js +2 -0
- package/dist/spw-stencil-library/p-14722019.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-b1de48f3.entry.js → p-152525de.entry.js} +2 -2
- package/dist/spw-stencil-library/p-152525de.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-1713c17e.entry.js +2 -0
- package/dist/spw-stencil-library/p-1713c17e.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-2c79bd06.entry.js → p-1c2b8f70.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-0baeea00.entry.js → p-229981f8.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9e12973d.entry.js → p-25f95c06.entry.js} +2 -2
- package/dist/spw-stencil-library/p-25f95c06.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-fc6af4d8.entry.js → p-26eb5cff.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ce72bca4.entry.js → p-2dc80ae2.entry.js} +2 -2
- package/dist/spw-stencil-library/p-43104fe6.entry.js +2 -0
- package/dist/spw-stencil-library/p-43104fe6.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-2d974226.entry.js → p-45caa6b4.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-f70ed5c3.entry.js → p-4e025664.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9d984204.entry.js → p-4f0727e5.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-8cfb4646.entry.js → p-50a66fe6.entry.js} +2 -2
- package/dist/spw-stencil-library/p-5e43e2ed.entry.js +2 -0
- package/dist/spw-stencil-library/p-5e43e2ed.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-a31a30f3.entry.js → p-6ec608ca.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-c3985590.entry.js → p-8115c88f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a25ad9f2.entry.js → p-852e0315.entry.js} +2 -2
- package/dist/spw-stencil-library/p-92583499.entry.js +2 -0
- package/dist/spw-stencil-library/p-92583499.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-9e8a779e.entry.js +2 -0
- package/dist/spw-stencil-library/p-9e8a779e.entry.js.map +1 -0
- package/dist/spw-stencil-library/p-BBi01mKM.js.map +1 -1
- package/dist/spw-stencil-library/{p-0e1ec1e6.entry.js → p-a8c3ce29.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e0c31c21.entry.js → p-ab5202fa.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-f28bf2be.entry.js → p-c9a3b38a.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2abc48ed.entry.js → p-d0b15ea8.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-451a9785.entry.js → p-d368cf67.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-48417d99.entry.js → p-dde9348e.entry.js} +2 -2
- package/dist/spw-stencil-library/p-deb92d5e.entry.js +2 -0
- package/dist/spw-stencil-library/p-deb92d5e.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-512a2787.entry.js → p-df177420.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-cbf8aea1.entry.js → p-e159f34c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e3485695.entry.js → p-e4c9b397.entry.js} +2 -2
- package/dist/spw-stencil-library/p-e60e3382.entry.js +2 -0
- package/dist/spw-stencil-library/p-e60e3382.entry.js.map +1 -0
- package/dist/spw-stencil-library/spw-button.spw-loading.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-custom-select.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-date-picker.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-header-navigation-item.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-header-navigation.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-pagination.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-search-field.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-select.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-stencil-library.css +1 -1
- package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
- package/dist/spw-stencil-library/spw-table-cell.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table-footer.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table-header.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table-row.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-table.entry.esm.js.map +1 -1
- package/dist/stats.json +1139 -314
- package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +3 -0
- package/dist/types/components/spw-date-picker/spw-date-picker.d.ts +1 -0
- package/dist/types/components/spw-header/spw-header-navigation/spw-header-navigation.d.ts +3 -0
- package/dist/types/components/spw-pagination/spw-pagination.d.ts +4 -1
- package/dist/types/components/spw-search-field/spw-search-field.d.ts +25 -1
- package/dist/types/components/spw-select/spw-select.d.ts +1 -0
- package/dist/types/components/spw-table/spw-table-cell/spw-table-cell.d.ts +6 -0
- package/dist/types/components/spw-table/spw-table-header/spw-table-header.d.ts +6 -0
- package/dist/types/components/spw-table/spw-table-row/spw-table-row.d.ts +8 -0
- package/dist/types/components/spw-table/spw-table.d.ts +2 -0
- package/dist/types/components.d.ts +139 -0
- package/dist/types/stories/components/spw-pagination/spw-pagination.stories.d.ts +0 -17
- package/dist/types/stories/components/spw-search-field/spw-search-field.stories.d.ts +5 -0
- package/dist/types/utils/utils.d.ts +2 -1
- package/hydrate/index.js +372 -109
- package/hydrate/index.mjs +372 -109
- package/package.json +1 -1
- package/dist/components/p-AjhBdYbk.js.map +0 -1
- package/dist/components/p-CNNUoO2J.js.map +0 -1
- package/dist/components/p-du-Bai6S.js.map +0 -1
- package/dist/spw-stencil-library/p-22f972ca.entry.js +0 -2
- package/dist/spw-stencil-library/p-22f972ca.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-2c28684f.entry.js +0 -2
- package/dist/spw-stencil-library/p-2c28684f.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-300b4bdb.entry.js +0 -2
- package/dist/spw-stencil-library/p-300b4bdb.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-31793077.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-4c21a696.entry.js +0 -2
- package/dist/spw-stencil-library/p-4c21a696.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-572188ac.entry.js +0 -2
- package/dist/spw-stencil-library/p-572188ac.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-823b60ae.entry.js +0 -2
- package/dist/spw-stencil-library/p-823b60ae.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-9e12973d.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-b1de48f3.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-d115a739.entry.js +0 -2
- package/dist/spw-stencil-library/p-d115a739.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-d2258e0a.entry.js +0 -2
- package/dist/spw-stencil-library/p-d2258e0a.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-ecec4588.entry.js +0 -2
- package/dist/spw-stencil-library/p-ecec4588.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-f5caed11.entry.js +0 -2
- package/dist/spw-stencil-library/p-f5caed11.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-f7760a47.entry.js.map +0 -1
- /package/dist/spw-stencil-library/{p-488c2d88.entry.js.map → p-0d1330e7.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2c79bd06.entry.js.map → p-1c2b8f70.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-0baeea00.entry.js.map → p-229981f8.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-fc6af4d8.entry.js.map → p-26eb5cff.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ce72bca4.entry.js.map → p-2dc80ae2.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2d974226.entry.js.map → p-45caa6b4.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-f70ed5c3.entry.js.map → p-4e025664.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-9d984204.entry.js.map → p-4f0727e5.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8cfb4646.entry.js.map → p-50a66fe6.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a31a30f3.entry.js.map → p-6ec608ca.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c3985590.entry.js.map → p-8115c88f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a25ad9f2.entry.js.map → p-852e0315.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-0e1ec1e6.entry.js.map → p-a8c3ce29.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e0c31c21.entry.js.map → p-ab5202fa.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-f28bf2be.entry.js.map → p-c9a3b38a.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2abc48ed.entry.js.map → p-d0b15ea8.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-451a9785.entry.js.map → p-d368cf67.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-48417d99.entry.js.map → p-dde9348e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-512a2787.entry.js.map → p-df177420.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cbf8aea1.entry.js.map → p-e159f34c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e3485695.entry.js.map → p-e4c9b397.entry.js.map} +0 -0
|
@@ -23,108 +23,110 @@ const enumOptions = (prop) => prop.type
|
|
|
23
23
|
.map(t => t.trim())
|
|
24
24
|
.map(t => (t === '""' ? 'default' : t))
|
|
25
25
|
.map(t => t.replace(/^"(.*)"$/, '$1'));
|
|
26
|
-
const generateProp = (prop) => {
|
|
26
|
+
const generateProp = (prop, componentTag, prefixPropName = false) => {
|
|
27
|
+
const category = componentTag ? `Props - ${componentTag}` : 'properties';
|
|
28
|
+
const propName = prefixPropName && componentTag ? `${componentTag}__${prop.name}` : prop.name;
|
|
29
|
+
const kebabCaseName = toKebabCase(prop.name);
|
|
30
|
+
const baseTableConfig = {
|
|
31
|
+
category: category,
|
|
32
|
+
defaultValue: { summary: prop.default },
|
|
33
|
+
};
|
|
27
34
|
if (isText(prop)) {
|
|
28
35
|
return {
|
|
29
|
-
[
|
|
36
|
+
[propName]: {
|
|
30
37
|
control: 'text',
|
|
31
38
|
description: description(prop),
|
|
32
39
|
defaultValue: prop.default,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
defaultValue: { summary: prop.default },
|
|
36
|
-
type: { summary: 'string' },
|
|
37
|
-
},
|
|
40
|
+
name: kebabCaseName,
|
|
41
|
+
table: Object.assign(Object.assign({}, baseTableConfig), { type: { summary: 'string' } }),
|
|
38
42
|
},
|
|
39
43
|
};
|
|
40
44
|
}
|
|
41
45
|
if (isBoolean(prop)) {
|
|
42
46
|
return {
|
|
43
|
-
[
|
|
47
|
+
[propName]: {
|
|
44
48
|
control: 'boolean',
|
|
45
49
|
description: description(prop),
|
|
46
50
|
defaultValue: prop.default,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
defaultValue: { summary: prop.default },
|
|
50
|
-
type: { summary: 'boolean' },
|
|
51
|
-
},
|
|
51
|
+
name: kebabCaseName,
|
|
52
|
+
table: Object.assign(Object.assign({}, baseTableConfig), { type: { summary: 'boolean' } }),
|
|
52
53
|
},
|
|
53
54
|
};
|
|
54
55
|
}
|
|
55
56
|
if (isNumber(prop)) {
|
|
56
57
|
return {
|
|
57
|
-
[
|
|
58
|
+
[propName]: {
|
|
58
59
|
control: 'number',
|
|
59
60
|
description: description(prop),
|
|
60
61
|
defaultValue: prop.default,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
defaultValue: { summary: prop.default },
|
|
64
|
-
type: { summary: 'number' },
|
|
65
|
-
},
|
|
62
|
+
name: kebabCaseName,
|
|
63
|
+
table: Object.assign(Object.assign({}, baseTableConfig), { type: { summary: 'number' } }),
|
|
66
64
|
},
|
|
67
65
|
};
|
|
68
66
|
}
|
|
69
67
|
if (isEnum(prop)) {
|
|
70
68
|
return {
|
|
71
|
-
[
|
|
69
|
+
[propName]: {
|
|
72
70
|
control: 'select',
|
|
73
71
|
defaultValue: prop.default,
|
|
74
72
|
options: enumOptions(prop),
|
|
75
73
|
description: description(prop),
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
defaultValue: { summary: prop.default },
|
|
79
|
-
type: { summary: 'enum' },
|
|
80
|
-
},
|
|
74
|
+
name: kebabCaseName,
|
|
75
|
+
table: Object.assign(Object.assign({}, baseTableConfig), { type: { summary: 'enum' } }),
|
|
81
76
|
},
|
|
82
77
|
};
|
|
83
78
|
}
|
|
84
79
|
return {};
|
|
85
80
|
};
|
|
86
|
-
const generateProps = (props) => {
|
|
81
|
+
const generateProps = (props, componentTag, prefixPropName = false) => {
|
|
87
82
|
let args = {};
|
|
88
|
-
props.forEach(prop => (args = Object.assign(Object.assign({}, args), generateProp(prop))));
|
|
83
|
+
props.forEach(prop => (args = Object.assign(Object.assign({}, args), generateProp(prop, componentTag, prefixPropName))));
|
|
89
84
|
return args;
|
|
90
85
|
};
|
|
91
|
-
const generateEvent = (event) => {
|
|
86
|
+
const generateEvent = (event, componentTag, prefixEventName = false) => {
|
|
92
87
|
function capitalizeFirstLetter(string) {
|
|
93
88
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
94
89
|
}
|
|
90
|
+
const category = componentTag ? `Events - ${componentTag}` : 'events';
|
|
91
|
+
const originalEventName = `on${capitalizeFirstLetter(event.event)}`;
|
|
92
|
+
const eventName = prefixEventName && componentTag ? `${componentTag}__${originalEventName}` : originalEventName;
|
|
95
93
|
return {
|
|
96
|
-
[
|
|
94
|
+
[eventName]: {
|
|
97
95
|
action: event.event,
|
|
98
96
|
description: description(event),
|
|
97
|
+
name: originalEventName,
|
|
99
98
|
table: {
|
|
100
99
|
defaultValue: { summary: event.event },
|
|
101
|
-
category:
|
|
100
|
+
category: category,
|
|
102
101
|
type: { summary: event.detail },
|
|
103
102
|
},
|
|
104
103
|
},
|
|
105
104
|
};
|
|
106
105
|
};
|
|
107
|
-
const generateEvents = (events) => {
|
|
106
|
+
const generateEvents = (events, componentTag, prefixEventName = false) => {
|
|
108
107
|
let args = {};
|
|
109
|
-
events.forEach(event => (args = Object.assign(Object.assign({}, args), generateEvent(event))));
|
|
108
|
+
events.forEach(event => (args = Object.assign(Object.assign({}, args), generateEvent(event, componentTag, prefixEventName))));
|
|
110
109
|
return args;
|
|
111
110
|
};
|
|
112
|
-
const generateMethod = (method) => {
|
|
111
|
+
const generateMethod = (method, componentTag, prefixMethodName = false) => {
|
|
112
|
+
const category = componentTag ? `Methods - ${componentTag}` : 'methods';
|
|
113
|
+
const methodName = prefixMethodName && componentTag ? `${componentTag}__${method.name}` : method.name;
|
|
113
114
|
return {
|
|
114
|
-
[
|
|
115
|
+
[methodName]: {
|
|
115
116
|
action: method.name,
|
|
116
117
|
description: description(method),
|
|
118
|
+
name: method.name,
|
|
117
119
|
table: {
|
|
118
|
-
category:
|
|
120
|
+
category: category,
|
|
119
121
|
type: { summary: method.signature },
|
|
120
122
|
defaultValue: { summary: method.returns.type },
|
|
121
123
|
},
|
|
122
124
|
},
|
|
123
125
|
};
|
|
124
126
|
};
|
|
125
|
-
const generateMethods = (methods) => {
|
|
127
|
+
const generateMethods = (methods, componentTag, prefixMethodName = false) => {
|
|
126
128
|
let args = {};
|
|
127
|
-
methods.forEach(method => (args = Object.assign(Object.assign({}, args), generateMethod(method))));
|
|
129
|
+
methods.forEach(method => (args = Object.assign(Object.assign({}, args), generateMethod(method, componentTag, prefixMethodName))));
|
|
128
130
|
return args;
|
|
129
131
|
};
|
|
130
132
|
const extractComponentInfoByTag = (componentsData, tag) => {
|
|
@@ -241,39 +243,37 @@ export const generateComponentTable = (componentsData, tag) => {
|
|
|
241
243
|
const componentInfo = extractComponentInfoByTag(componentsData, tag);
|
|
242
244
|
return generateHTMLTable(componentInfo);
|
|
243
245
|
};
|
|
244
|
-
export const withComponentControls = (componentsData, { tag, customTokens = [] }) => {
|
|
246
|
+
export const withComponentControls = (componentsData, { tag, customTokens = [], prefixNames = false }) => {
|
|
245
247
|
const component = componentsData.components.find(c => c.tag === tag);
|
|
246
248
|
const props = (component === null || component === void 0 ? void 0 : component.props) || [];
|
|
247
249
|
const events = (component === null || component === void 0 ? void 0 : component.events) || [];
|
|
248
250
|
const methods = (component === null || component === void 0 ? void 0 : component.methods) || [];
|
|
249
251
|
const tokenControls = customTokens.reduce((acc, token) => {
|
|
250
|
-
|
|
252
|
+
const tokenName = prefixNames ? `${tag}__${token.name}` : token.name;
|
|
253
|
+
acc[tokenName] = {
|
|
251
254
|
control: true,
|
|
252
255
|
description: token.description,
|
|
253
256
|
table: {
|
|
254
|
-
category:
|
|
257
|
+
category: `Tokens - ${tag}`,
|
|
255
258
|
type: { summary: 'CSS Variable' },
|
|
256
259
|
defaultValue: { summary: token.defaultValue },
|
|
257
260
|
},
|
|
258
261
|
};
|
|
259
262
|
return acc;
|
|
260
263
|
}, {});
|
|
261
|
-
|
|
262
|
-
const
|
|
263
|
-
const
|
|
264
|
-
const methodControls = generateMethods(methods);
|
|
265
|
-
// ✅ Regroupement complet pour Storybook
|
|
264
|
+
const propControls = generateProps(props, tag, prefixNames);
|
|
265
|
+
const eventControls = generateEvents(events, tag, prefixNames);
|
|
266
|
+
const methodControls = generateMethods(methods, tag, prefixNames);
|
|
266
267
|
const allControls = Object.assign(Object.assign(Object.assign(Object.assign({}, propControls), eventControls), methodControls), tokenControls);
|
|
267
|
-
// ✅ Indique explicitement quelles sont les props réelles du composant
|
|
268
268
|
Object.defineProperty(allControls, '__realProps', {
|
|
269
269
|
value: Object.keys(propControls).concat(Object.keys(tokenControls)),
|
|
270
|
-
enumerable: false,
|
|
270
|
+
enumerable: false,
|
|
271
271
|
});
|
|
272
272
|
return allControls;
|
|
273
273
|
};
|
|
274
274
|
export function extractArgTypes(componentsData, subComponentTags) {
|
|
275
275
|
return subComponentTags.reduce((acc, tag) => {
|
|
276
|
-
const subComponentArgTypes = withComponentControls(componentsData, { tag });
|
|
276
|
+
const subComponentArgTypes = withComponentControls(componentsData, { tag, prefixNames: true });
|
|
277
277
|
return Object.assign(Object.assign({}, acc), subComponentArgTypes);
|
|
278
278
|
}, {});
|
|
279
279
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}/${parts[1]}/${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp) => {\n if (isText(prop)) {\n return {\n [prop.name]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [prop.name]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [prop.name]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [prop.name]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[]) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n return {\n [`on${capitalizeFirstLetter(event.event)}`]: {\n action: event.event,\n description: description(event),\n table: {\n defaultValue: { summary: event.event },\n category: 'events',\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[]) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod) => {\n return {\n [method.name]: {\n action: method.name,\n description: description(method),\n table: {\n category: 'methods',\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[]) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [] }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[] },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n acc[token.name] = {\n control: true,\n description: token.description,\n table: {\n category: 'Tokens',\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n // ✅ Séparation claire des catégories\n const propControls = generateProps(props as ComponentProp[]);\n const eventControls = generateEvents(events as ComponentEvent[]);\n const methodControls = generateMethods(methods as ComponentMethod[]);\n\n // ✅ Regroupement complet pour Storybook\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n // ✅ Indique explicitement quelles sont les props réelles du composant\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false, // ne pollue pas la vue Storybook\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}/${parts[1]}/${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp, componentTag?: string, prefixPropName: boolean = false) => {\n const category = componentTag ? `Props - ${componentTag}` : 'properties';\n const propName = prefixPropName && componentTag ? `${componentTag}__${prop.name}` : prop.name;\n const kebabCaseName = toKebabCase(prop.name);\n\n const baseTableConfig = {\n category: category,\n defaultValue: { summary: prop.default },\n };\n\n if (isText(prop)) {\n return {\n [propName]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [propName]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [propName]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [propName]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[], componentTag?: string, prefixPropName: boolean = false) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop, componentTag, prefixPropName) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent, componentTag?: string, prefixEventName: boolean = false) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n const category = componentTag ? `Events - ${componentTag}` : 'events';\n const originalEventName = `on${capitalizeFirstLetter(event.event)}`;\n const eventName = prefixEventName && componentTag ? `${componentTag}__${originalEventName}` : originalEventName;\n\n return {\n [eventName]: {\n action: event.event,\n description: description(event),\n name: originalEventName,\n table: {\n defaultValue: { summary: event.event },\n category: category,\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[], componentTag?: string, prefixEventName: boolean = false) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event, componentTag, prefixEventName) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod, componentTag?: string, prefixMethodName: boolean = false) => {\n const category = componentTag ? `Methods - ${componentTag}` : 'methods';\n const methodName = prefixMethodName && componentTag ? `${componentTag}__${method.name}` : method.name;\n\n return {\n [methodName]: {\n action: method.name,\n description: description(method),\n name: method.name,\n table: {\n category: category,\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[], componentTag?: string, prefixMethodName: boolean = false) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method, componentTag, prefixMethodName) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [], prefixNames = false }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[]; prefixNames?: boolean },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n const tokenName = prefixNames ? `${tag}__${token.name}` : token.name;\n acc[tokenName] = {\n control: true,\n description: token.description,\n table: {\n category: `Tokens - ${tag}`,\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n const propControls = generateProps(props as ComponentProp[], tag, prefixNames);\n const eventControls = generateEvents(events as ComponentEvent[], tag, prefixNames);\n const methodControls = generateMethods(methods as ComponentMethod[], tag, prefixNames);\n\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false,\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag, prefixNames: true });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-BBi01mKM.js","mappings":"AAQM,SAAU,UAAU,CAAC,IAAY,EAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AAC9C;AAqWM,SAAU,cAAc,CAAC,WAAW,EAAA;IACxC,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC;AAC5C,IAAA,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAEzD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE;QACnC,aAAa,GAAG,MAAM;;AACjB,SAAA,IAAI,QAAQ,KAAK,CAAC,EAAE;QACzB,aAAa,GAAG,MAAM;;IAGxB,OAAO,CAAA,EAAG,aAAa,CAAA,GAAA,CAAK;AAC9B;;;;","names":[],"sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}/${parts[1]}/${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp) => {\n if (isText(prop)) {\n return {\n [prop.name]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [prop.name]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [prop.name]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [prop.name]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[]) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n return {\n [`on${capitalizeFirstLetter(event.event)}`]: {\n action: event.event,\n description: description(event),\n table: {\n defaultValue: { summary: event.event },\n category: 'events',\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[]) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod) => {\n return {\n [method.name]: {\n action: method.name,\n description: description(method),\n table: {\n category: 'methods',\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[]) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [] }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[] },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n acc[token.name] = {\n control: true,\n description: token.description,\n table: {\n category: 'Tokens',\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n // ✅ Séparation claire des catégories\n const propControls = generateProps(props as ComponentProp[]);\n const eventControls = generateEvents(events as ComponentEvent[]);\n const methodControls = generateMethods(methods as ComponentMethod[]);\n\n // ✅ Regroupement complet pour Storybook\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n // ✅ Indique explicitement quelles sont les props réelles du composant\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false, // ne pollue pas la vue Storybook\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-BBi01mKM.js","mappings":"AAQM,SAAU,UAAU,CAAC,IAAY,EAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AAC9C;AAqXM,SAAU,cAAc,CAAC,WAAW,EAAA;IACxC,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC;AAC5C,IAAA,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAEzD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE;QACnC,aAAa,GAAG,MAAM;;AACjB,SAAA,IAAI,QAAQ,KAAK,CAAC,EAAE;QACzB,aAAa,GAAG,MAAM;;IAGxB,OAAO,CAAA,EAAG,aAAa,CAAA,GAAA,CAAK;AAC9B;;;;","names":[],"sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}/${parts[1]}/${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp, componentTag?: string, prefixPropName: boolean = false) => {\n const category = componentTag ? `Props - ${componentTag}` : 'properties';\n const propName = prefixPropName && componentTag ? `${componentTag}__${prop.name}` : prop.name;\n const kebabCaseName = toKebabCase(prop.name);\n\n const baseTableConfig = {\n category: category,\n defaultValue: { summary: prop.default },\n };\n\n if (isText(prop)) {\n return {\n [propName]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [propName]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [propName]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [propName]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[], componentTag?: string, prefixPropName: boolean = false) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop, componentTag, prefixPropName) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent, componentTag?: string, prefixEventName: boolean = false) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n const category = componentTag ? `Events - ${componentTag}` : 'events';\n const originalEventName = `on${capitalizeFirstLetter(event.event)}`;\n const eventName = prefixEventName && componentTag ? `${componentTag}__${originalEventName}` : originalEventName;\n\n return {\n [eventName]: {\n action: event.event,\n description: description(event),\n name: originalEventName,\n table: {\n defaultValue: { summary: event.event },\n category: category,\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[], componentTag?: string, prefixEventName: boolean = false) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event, componentTag, prefixEventName) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod, componentTag?: string, prefixMethodName: boolean = false) => {\n const category = componentTag ? `Methods - ${componentTag}` : 'methods';\n const methodName = prefixMethodName && componentTag ? `${componentTag}__${method.name}` : method.name;\n\n return {\n [methodName]: {\n action: method.name,\n description: description(method),\n name: method.name,\n table: {\n category: category,\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[], componentTag?: string, prefixMethodName: boolean = false) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method, componentTag, prefixMethodName) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [], prefixNames = false }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[]; prefixNames?: boolean },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n const tokenName = prefixNames ? `${tag}__${token.name}` : token.name;\n acc[tokenName] = {\n control: true,\n description: token.description,\n table: {\n category: `Tokens - ${tag}`,\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n const propControls = generateProps(props as ComponentProp[], tag, prefixNames);\n const eventControls = generateEvents(events as ComponentEvent[], tag, prefixNames);\n const methodControls = generateMethods(methods as ComponentMethod[], tag, prefixNames);\n\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false,\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag, prefixNames: true });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"],"version":3}
|
|
@@ -2,9 +2,9 @@ import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, a as Ho
|
|
|
2
2
|
import { d as defineCustomElement$4 } from './p-t1vZcpqC.js';
|
|
3
3
|
import { d as defineCustomElement$3 } from './p-qgvllwX6.js';
|
|
4
4
|
import { d as defineCustomElement$2 } from './p-_q4w18VU.js';
|
|
5
|
-
import { d as defineCustomElement$1 } from './p-
|
|
5
|
+
import { d as defineCustomElement$1 } from './p-BZy3vC1Y.js';
|
|
6
6
|
|
|
7
|
-
const spwPaginationCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-pagination__item button,.spw-pagination__item--dots{border-radius:32px;font-size:14px;font-weight:700;height:32px;line-height:32px;min-width:32px;text-align:center}.spw-pagination__item button:focus-visible,.spw-pagination__item--dots:focus-visible{box-shadow:0 0 0 5px #000;outline:3px solid #fff;outline-offset:-1px}.spw-pagination{align-items:center;display:flex;flex-direction:column}@media (min-width:768px){.spw-pagination{align-items:flex-start}}.spw-pagination ul{align-items:center;display:flex;padding:0}.spw-pagination__item{margin-right:12px}.spw-pagination__item spw-icon{font-size:18px}.spw-pagination__item button{background:none;border:none;color:var(--spw-color-themes-grey-grey-900);cursor:pointer;margin:0;padding:0 6px}.spw-pagination__item:not(.spw-pagination__item--active,.spw-pagination__item--dots,.spw-pagination__item--disabled):hover button{background:var(--spw-color-themes-grey-grey-200)}.spw-pagination__item:not(.spw-pagination__item--active,.spw-pagination__item--dots,.spw-pagination__item--disabled):active button{background:var(--spw-color-themes-grey-grey-300)}.spw-pagination__item--arrow button{align-items:center;display:flex;gap:8px;padding:0 12px;text-decoration:underline}.spw-pagination__item--arrow button:hover{text-decoration:none}.spw-pagination__item--dots{align-items:center;background:none;color:var(--spw-color-themes-grey-grey-400);cursor:default;display:inline-flex;justify-content:center;position:relative;top:3px}.spw-pagination__item--dots spw-icon{font-size:16px}.spw-pagination__item--desktop{display:none}@media (min-width:768px){.spw-pagination__item--desktop{display:inline-block}}.spw-pagination__item--active button{background:var(--spw-ds-primary);color:#fff}.spw-pagination__input spw-text-field{--spw-input-height:32px;--spw-input-padding:0 4px;--spw-input-text-align:center;--spw-input-font-size:14px;width:
|
|
7
|
+
const spwPaginationCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-pagination__item button,.spw-pagination__item--dots{border-radius:32px;font-size:14px;font-weight:700;height:32px;line-height:32px;min-width:32px;text-align:center}.spw-pagination__item button:focus-visible,.spw-pagination__item--dots:focus-visible{box-shadow:0 0 0 5px #000;outline:3px solid #fff;outline-offset:-1px}.spw-pagination{align-items:center;display:flex;flex-direction:column}@media (min-width:768px){.spw-pagination{align-items:flex-start}}.spw-pagination ul{align-items:center;display:flex;padding:0}.spw-pagination__item{margin-right:12px}.spw-pagination__item spw-icon{font-size:18px}.spw-pagination__item button{background:none;border:none;color:var(--spw-color-themes-grey-grey-900);cursor:pointer;margin:0;padding:0 6px}.spw-pagination__item:not(.spw-pagination__item--active,.spw-pagination__item--dots,.spw-pagination__item--disabled):hover button{background:var(--spw-color-themes-grey-grey-200)}.spw-pagination__item:not(.spw-pagination__item--active,.spw-pagination__item--dots,.spw-pagination__item--disabled):active button{background:var(--spw-color-themes-grey-grey-300)}.spw-pagination__item--arrow button{align-items:center;display:flex;gap:8px;padding:0 12px;text-decoration:underline}.spw-pagination__item--arrow button:hover{text-decoration:none}.spw-pagination__item--dots{align-items:center;background:none;color:var(--spw-color-themes-grey-grey-400);cursor:default;display:inline-flex;justify-content:center;position:relative;top:3px}.spw-pagination__item--dots spw-icon{font-size:16px}.spw-pagination__item--desktop{display:none}@media (min-width:768px){.spw-pagination__item--desktop{display:inline-block}}.spw-pagination__item--active button{background:var(--spw-ds-primary);color:#fff}.spw-pagination__input spw-text-field{--spw-input-height:32px;--spw-input-padding:0 4px;--spw-input-text-align:center;--spw-input-font-size:14px;width:36px}.spw-pagination__mobile-arrows{margin-top:12px}@media (min-width:768px){.spw-pagination__mobile-arrows{display:none!important}}.spw-pagination__total-pages{font-size:14px;margin:0 12px 0 6px}.spw-tw-mb-10{margin-bottom:2.5rem}.spw-tw-mb-6{margin-bottom:1.5rem}.spw-tw-ml-2{margin-left:.5rem}.spw-tw-mr-4{margin-right:1rem}.spw-tw-mt-12{margin-top:3rem}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}";
|
|
8
8
|
|
|
9
9
|
const SpwPagination = /*@__PURE__*/ proxyCustomElement(class SpwPagination extends H {
|
|
10
10
|
constructor() {
|
|
@@ -35,6 +35,23 @@ const SpwPagination = /*@__PURE__*/ proxyCustomElement(class SpwPagination exten
|
|
|
35
35
|
calculateTotalPages() {
|
|
36
36
|
this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);
|
|
37
37
|
}
|
|
38
|
+
onItemsPerPageChange() {
|
|
39
|
+
this.currentPage = 1;
|
|
40
|
+
this.inputPageValue = '1';
|
|
41
|
+
this.pageChanged.emit(this.currentPage);
|
|
42
|
+
}
|
|
43
|
+
onTotalItemsChange() {
|
|
44
|
+
const newTotalPages = Math.ceil(this.totalItems / this.itemsPerPage);
|
|
45
|
+
if (this.currentPage > newTotalPages || this.currentPage === 0) {
|
|
46
|
+
this.currentPage = 1;
|
|
47
|
+
this.inputPageValue = '1';
|
|
48
|
+
this.pageChanged.emit(this.currentPage);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Méthode publique pour définir la page courante */
|
|
52
|
+
async setPage(page) {
|
|
53
|
+
this.goToPage(page);
|
|
54
|
+
}
|
|
38
55
|
goToPage(page) {
|
|
39
56
|
if (page !== this.currentPage && !this.isDisabled && page >= 1 && page <= this.totalPages) {
|
|
40
57
|
this.currentPage = page;
|
|
@@ -79,13 +96,6 @@ const SpwPagination = /*@__PURE__*/ proxyCustomElement(class SpwPagination exten
|
|
|
79
96
|
}
|
|
80
97
|
}
|
|
81
98
|
}
|
|
82
|
-
calculateWidth() {
|
|
83
|
-
const length = this.inputPageValue.length;
|
|
84
|
-
if (length <= 1) {
|
|
85
|
-
return '3ch';
|
|
86
|
-
}
|
|
87
|
-
return `${length + 1}ch`;
|
|
88
|
-
}
|
|
89
99
|
calculatePageRange() {
|
|
90
100
|
const pages = [];
|
|
91
101
|
const { currentPage, totalPages, isMobile } = this;
|
|
@@ -157,12 +167,12 @@ const SpwPagination = /*@__PURE__*/ proxyCustomElement(class SpwPagination exten
|
|
|
157
167
|
const pages = this.calculatePageRange();
|
|
158
168
|
const showPrevArrow = this.currentPage > 1;
|
|
159
169
|
const showNextArrow = this.currentPage < this.totalPages;
|
|
160
|
-
const prevArrow = showPrevArrow && (h("li", { key: '
|
|
161
|
-
const nextArrow = showNextArrow && (h("li", { key: '
|
|
162
|
-
const prevArrowMobile = this.currentPage > 1 && (h("li", { key: '
|
|
163
|
-
const nextArrowMobile = this.currentPage < this.totalPages && (h("li", { key: '
|
|
164
|
-
const mobileArrows = (h("ul", { key: '
|
|
165
|
-
return (h(Host, { key: '
|
|
170
|
+
const prevArrow = showPrevArrow && (h("li", { key: 'c96747975f1283f426b16fc5d6b9169641bf937a', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: '2cb14838bb36158b08708be2a6c851eab28d8a9e', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: '4a97d865f50b82f807b699d2c9962cadb2fa3c49', icon: "fa-chevron-left" }), " ", h("span", { key: '85d4eba965c575bf620ac2775fc8b8ab91582c53', class: "spw-pagination__item-arrow-text" }, "Pr\u00E9c\u00E9dent"))));
|
|
171
|
+
const nextArrow = showNextArrow && (h("li", { key: 'db5e31a07af299158c0730b2c8ffdc647eb9c798', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: 'a2c031078bce4993152b5441e149c00d4633cefe', onClick: () => this.goToPage(this.currentPage + 1) }, h("span", { key: '28cdbfbcca8698294fae48d72a3d0a8932f0a94f', class: "spw-pagination__item-arrow-text" }, "Suivant"), " ", h("spw-icon", { key: '8af477a9a0eb495234278335eca66b7ca0b06fbe', icon: "fa-chevron-right" }))));
|
|
172
|
+
const prevArrowMobile = this.currentPage > 1 && (h("li", { key: '7509af0d29a02f64d67717753d71f2aa05349177', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: 'c3707cdd586dd519eaa00621eed632f73c5b00b6', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: 'f1fcf011715c381330865d20f1628ef24edb1778', icon: "fa-chevron-left" }), " ", h("span", { key: 'b9753065430534df7f5b499d97bf4bbad12c32d5' }, "Pr\u00E9c\u00E9dent"))));
|
|
173
|
+
const nextArrowMobile = this.currentPage < this.totalPages && (h("li", { key: '0c3fcbc4f482b151ef5355c2cd24378a7a2c7af3', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: 'f363b0de0131d011336fccdbf17dc9bc2b5eca15', onClick: () => this.goToPage(this.currentPage + 1), disabled: this.currentPage >= this.totalPages }, h("span", { key: '74df65c99c48fc1aec8084359866227ecdd26dbc' }, "Suivant"), " ", h("spw-icon", { key: '98e057e8cb6318ea06c2543fb4eae8500fcef87c', icon: "fa-chevron-right" }))));
|
|
174
|
+
const mobileArrows = (h("ul", { key: 'a4bff20ae94b1b94d70a8781cf311997c54c87e7', class: "spw-pagination__mobile-arrows" }, prevArrowMobile, nextArrowMobile));
|
|
175
|
+
return (h(Host, { key: 'fc202908905cb6da3eea73312068961b60cc776b' }, h("div", { key: '351bc8518011e937ee51c4831ac13797be51a6cb', class: this.getPaginationClass() }, this.variant === 'input' && (h(Fragment, { key: '684feca5a1724c030f21733850370eaf87153c13' }, h("ul", { key: '14de6cc555d4cab07ef9cb8dbdc0d3e83a25f67b' }, prevArrow, h("li", { key: '825297b0b82ef635497f3470ffcc5478646a558d', class: "spw-pagination__input" }, h("spw-text-field", { key: '3010c66645025021ca8b678b1dedcc65810e3742', value: this.inputPageValue, type: "text", onInput: event => this.handleInputChange(event), onKeyDown: event => this.handleKeyDown(event), disabled: this.isDisabled })), h("li", { key: '4273e7a738ef59ff77229580d89effeaeda18091', class: "spw-pagination__total-pages" }, "sur ", this.totalPages, " pages"), nextArrow), mobileArrows)), this.variant === 'numbers' && (h(Fragment, { key: '159503f57df6936053bbffeb4ed28bd01dff38ff' }, h("ul", { key: '87e707dd1060d3c3ccb6367f99e1c6cefabf99b8' }, prevArrow, pages.map(({ page, class: pageClass }) => {
|
|
166
176
|
if (page === '...') {
|
|
167
177
|
return (h("li", { class: `spw-pagination__item spw-pagination__item--dots ${pageClass}` }, h("spw-icon", { icon: "fa-ellipsis" })));
|
|
168
178
|
}
|
|
@@ -174,8 +184,8 @@ const SpwPagination = /*@__PURE__*/ proxyCustomElement(class SpwPagination exten
|
|
|
174
184
|
}), nextArrow), mobileArrows)))));
|
|
175
185
|
}
|
|
176
186
|
static get watchers() { return {
|
|
177
|
-
"totalItems": ["calculateTotalPages"],
|
|
178
|
-
"itemsPerPage": ["calculateTotalPages"],
|
|
187
|
+
"totalItems": ["calculateTotalPages", "onTotalItemsChange"],
|
|
188
|
+
"itemsPerPage": ["calculateTotalPages", "onItemsPerPageChange"],
|
|
179
189
|
"currentPage": ["calculateTotalPages"]
|
|
180
190
|
}; }
|
|
181
191
|
static get style() { return spwPaginationCss; }
|
|
@@ -186,10 +196,11 @@ const SpwPagination = /*@__PURE__*/ proxyCustomElement(class SpwPagination exten
|
|
|
186
196
|
"variant": [1],
|
|
187
197
|
"currentPage": [1026, "current-page"],
|
|
188
198
|
"inputPageValue": [32],
|
|
189
|
-
"isMobile": [32]
|
|
199
|
+
"isMobile": [32],
|
|
200
|
+
"setPage": [64]
|
|
190
201
|
}, undefined, {
|
|
191
|
-
"totalItems": ["calculateTotalPages"],
|
|
192
|
-
"itemsPerPage": ["calculateTotalPages"],
|
|
202
|
+
"totalItems": ["calculateTotalPages", "onTotalItemsChange"],
|
|
203
|
+
"itemsPerPage": ["calculateTotalPages", "onItemsPerPageChange"],
|
|
193
204
|
"currentPage": ["calculateTotalPages"]
|
|
194
205
|
}]);
|
|
195
206
|
function defineCustomElement() {
|
|
@@ -227,6 +238,6 @@ function defineCustomElement() {
|
|
|
227
238
|
}
|
|
228
239
|
|
|
229
240
|
export { SpwPagination as S, defineCustomElement as d };
|
|
230
|
-
//# sourceMappingURL=p-
|
|
241
|
+
//# sourceMappingURL=p-BFGmcTVw.js.map
|
|
231
242
|
|
|
232
|
-
//# sourceMappingURL=p-
|
|
243
|
+
//# sourceMappingURL=p-BFGmcTVw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-BFGmcTVw.js","mappings":";;;;;;AAAA,MAAM,gBAAgB,GAAG,20JAA20J;;MCOv1J,aAAa,iBAAAA,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAL1B,IAAA,WAAA,GAAA;;;;;;AAWU,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;;AAE3B,QAAA,IAAO,CAAA,OAAA,GAAwB,SAAS;;AAEvB,QAAA,IAAW,CAAA,WAAA,GAAW,CAAC;AAMvC,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE;QAC3B,IAAA,CAAA,QAAQ,GAAY,MAAM,CAAC,UAAU,GAAG,GAAG;AAa5C,QAAA,IAAc,CAAA,cAAA,GAAG,MAAK;YAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,GAAG,GAAG;AACzC,SAAC;AAwPF;IApQC,iBAAiB,GAAA;QACf,IAAI,CAAC,mBAAmB,EAAE;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;QACjD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC;;IAGxD,oBAAoB,GAAA;QAClB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC;;IAU3D,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;;IAIlE,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,cAAc,GAAG,GAAG;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;IAIzC,kBAAkB,GAAA;AAChB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;AACpE,QAAA,IAAI,IAAI,CAAC,WAAW,GAAG,aAAa,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;AAC9D,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC;AACpB,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG;YACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;;;IAM3C,MAAM,OAAO,CAAC,IAAY,EAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;;AAGb,IAAA,QAAQ,CAAC,IAAY,EAAA;QAC3B,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzF,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;;AAInC,IAAA,iBAAiB,CAAC,KAAY,EAAA;AACpC,QAAA,MAAM,UAAU,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK;AAC3D,QAAA,IAAI,CAAC,cAAc,GAAG,UAAU;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;AAErC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACxD,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;AAChC,YAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;AACnC,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aACpB,EAAE,GAAG,CAAC;;;IAIH,kBAAkB,GAAA;;AACxB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE;AACvC,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;AACvE,QAAA,MAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC,IAAI,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,MAAK,KAAK;AACtE,QAAA,MAAM,cAAc,GAAG,aAAa,GAAG,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,IAAI,MAAK,KAAK;QAEnF,IAAI,eAAe,GAAG,CAAA,+BAAA,EAAkC,IAAI,CAAC,WAAW,CAAA,uBAAA,EAA0B,IAAI,CAAC,UAAU,CAAA,CAAE;AAEnH,QAAA,IAAI,aAAa,KAAK,CAAC,EAAE;YACvB,eAAe,IAAI,kCAAkC;;aAChD,IAAI,gBAAgB,EAAE;YAC3B,eAAe,IAAI,iCAAiC;;aAC/C,IAAI,cAAc,EAAE;YACzB,eAAe,IAAI,+BAA+B;;AAGpD,QAAA,OAAO,eAAe;;AAGhB,IAAA,aAAa,CAAC,KAAoB,EAAA;AACxC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;AAC9C,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAChB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;;;;IAKjB,kBAAkB,GAAA;QACxB,MAAM,KAAK,GAAG,EAAE;QAChB,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI;QAElD,IAAI,QAAQ,EAAE;;AAEZ,YAAA,IAAI,UAAU,IAAI,CAAC,EAAE;AACnB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;AACpC,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;;;AAEhE,iBAAA,IAAI,WAAW,IAAI,CAAC,EAAE;AAC3B,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC3B,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;;AAErE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;;AAC/D,iBAAA,IAAI,WAAW,IAAI,UAAU,GAAG,CAAC,EAAE;AACxC,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;AAC7D,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;AACjD,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;;;iBAE9D;AACL,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;AAC7D,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACvD,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;;AAEtE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;;;aAEjE;;AAEL,YAAA,IAAI,UAAU,IAAI,CAAC,EAAE;AACnB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;AACpC,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;;;AAEhE,iBAAA,IAAI,WAAW,IAAI,CAAC,EAAE;AAC3B,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC3B,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;;AAErE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;;AAC/D,iBAAA,IAAI,WAAW,IAAI,UAAU,GAAG,CAAC,EAAE;AACxC,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;AAC7D,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;AACjD,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;;;iBAE9D;AACL,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;AAC7D,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACvD,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;;AAEtE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;;;AAIxE,QAAA,OAAO,KAAK;;IAGd,MAAM,GAAA;AACJ,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE;AACvC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU;AAExD,QAAA,MAAM,SAAS,GAAG,aAAa,KAC7B,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gFAAgF,EAAA,EACxF,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAA,EACxD,CAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,iBAAiB,EAAY,CAAA,OAAC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,iCAAiC,0BAAiB,CACpG,CACN,CACN;AAED,QAAA,MAAM,SAAS,GAAG,aAAa,KAC7B,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gFAAgF,EAAA,EACxF,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAA,EACxD,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iCAAiC,EAAe,EAAA,SAAA,CAAA,OAAC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,kBAAkB,GAAY,CACnG,CACN,CACN;AAED,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,KAC1C,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,kDAAkD,EAAA,EAC1D,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAA,EACxD,CAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,iBAAiB,EAAY,CAAA,OAAC,CAAsB,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,qBAAA,CAAA,CAC5D,CACN,CACN;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,KACxD,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kDAAkD,EAAA,EAC1D,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAA,EACvG,CAAoB,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,SAAA,CAAA,OAAC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,kBAAkB,GAAY,CAC3D,CACN,CACN;QAED,MAAM,YAAY,IAChB,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACtC,eAAe,EACf,eAAe,CACb,CACN;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAA,EAClC,IAAI,CAAC,OAAO,KAAK,OAAO,KACvB,EAAC,QAAQ,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACP,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACG,SAAS,EACV,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAC7C,QAAQ,EAAE,IAAI,CAAC,UAAU,GACT,CACf,EACL,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,UAAM,IAAI,CAAC,UAAU,EAAY,QAAA,CAAA,EACvE,SAAS,CACP,EACJ,YAAY,CACJ,CACZ,EACA,IAAI,CAAC,OAAO,KAAK,SAAS,KACzB,EAAC,QAAQ,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACP,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACG,SAAS,EAET,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAI;AACxC,YAAA,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,QACE,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAE,CAAmD,gDAAA,EAAA,SAAS,CAAE,CAAA,EAAA,EACvE,CAAA,CAAA,UAAA,EAAA,EAAU,IAAI,EAAC,aAAa,EAAY,CAAA,CACrC;;AAIT,YAAA,QACE,CACE,CAAA,IAAA,EAAA,EAAA,KAAK,EAAE;AACL,oBAAA,sBAAsB,EAAE,IAAI;AAC5B,oBAAA,8BAA8B,EAAE,IAAI,KAAK,IAAI,CAAC,WAAW;oBACzD,CAAC,SAAS,GAAG,IAAI;AAClB,iBAAA,EAAA,EAED,CAAQ,CAAA,QAAA,EAAA,EAAA,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,WAAW,IACtF,IAAI,CACE,CACN;SAER,CAAC,EAED,SAAS,CACP,EACJ,YAAY,CACJ,CACZ,CACG,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-pagination/spw-pagination.scss?tag=spw-pagination&encapsulation=shadow","src/components/spw-pagination/spw-pagination.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n%button {\n text-align: center;\n line-height: 32px;\n font-weight: 700;\n border-radius: 32px;\n font-size: 14px;\n min-width: 32px;\n height: 32px;\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n }\n}\n\n.spw-pagination {\n display: flex;\n flex-direction: column;\n align-items: center;\n @include breakpoint(md) {\n align-items: flex-start;\n }\n\n ul {\n display: flex;\n align-items: center;\n padding: 0;\n }\n\n &__item {\n margin-right: 12px;\n spw-icon {\n font-size: 18px;\n }\n button {\n padding: 0 6px;\n margin: 0;\n border: none;\n cursor: pointer;\n color: var(--spw-color-themes-grey-grey-900);\n background: none;\n @extend %button;\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):hover {\n button {\n background: var(--spw-color-themes-grey-grey-200);\n }\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):active {\n button {\n background: var(--spw-color-themes-grey-grey-300);\n }\n }\n\n &--arrow {\n button {\n padding: 0 12px;\n display: flex;\n gap: 8px;\n align-items: center;\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n }\n\n &--dots {\n position: relative;\n top: 3px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: default;\n background: none;\n color: var(--spw-color-themes-grey-grey-400);\n @extend %button;\n spw-icon {\n font-size: 16px;\n }\n }\n\n &--desktop {\n display: none;\n @include breakpoint(md) {\n display: inline-block;\n }\n }\n\n &--active {\n button {\n color: white;\n background: var(--spw-ds-primary);\n }\n }\n }\n\n &__input {\n spw-text-field {\n width: 36px;\n --spw-input-height: 32px;\n --spw-input-padding: 0 4px;\n --spw-input-text-align: center;\n --spw-input-font-size: 14px;\n }\n }\n\n &__mobile-arrows {\n margin-top: 12px;\n @include breakpoint(md) {\n display: none !important;\n }\n }\n\n &__total-pages {\n font-size: 14px;\n margin: 0 12px 0 6px;\n }\n}\n","import { Component, Fragment, Prop, Host, h, Event, EventEmitter, Watch, State, Method } from '@stencil/core';\n\n@Component({\n tag: 'spw-pagination',\n styleUrl: 'spw-pagination.scss',\n shadow: true,\n})\nexport class SpwPagination {\n /** Nombre total d'éléments à paginer */\n @Prop() totalItems: number;\n /** Nombre d'éléments à afficher par page */\n @Prop() itemsPerPage: number;\n /** Indique si la pagination est désactivée */\n @Prop() isDisabled: boolean = false;\n /** Type de variante de la pagination : 'numbers' ou 'input' */\n @Prop() variant: 'numbers' | 'input' = 'numbers';\n /** Page actuellement sélectionnée, mutable */\n @Prop({ mutable: true }) currentPage: number = 1;\n\n /** Événement émis lorsque la page est changée, renvoie le numéro de la nouvelle page */\n @Event() pageChanged: EventEmitter<number>;\n\n private totalPages: number;\n @State() inputPageValue: string = '';\n @State() isMobile: boolean = window.innerWidth < 800;\n private debounceTimer: any;\n\n componentWillLoad() {\n this.calculateTotalPages();\n this.inputPageValue = this.currentPage.toString();\n window.addEventListener('resize', this.updateIsMobile);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.updateIsMobile);\n }\n\n private updateIsMobile = () => {\n this.isMobile = window.innerWidth < 800;\n };\n\n @Watch('totalItems')\n @Watch('itemsPerPage')\n @Watch('currentPage')\n calculateTotalPages() {\n this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n }\n\n @Watch('itemsPerPage')\n onItemsPerPageChange() {\n this.currentPage = 1;\n this.inputPageValue = '1';\n this.pageChanged.emit(this.currentPage);\n }\n\n @Watch('totalItems')\n onTotalItemsChange() {\n const newTotalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n if (this.currentPage > newTotalPages || this.currentPage === 0) {\n this.currentPage = 1;\n this.inputPageValue = '1';\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n /** Méthode publique pour définir la page courante */\n @Method()\n async setPage(page: number): Promise<void> {\n this.goToPage(page);\n }\n\n private goToPage(page: number) {\n if (page !== this.currentPage && !this.isDisabled && page >= 1 && page <= this.totalPages) {\n this.currentPage = page;\n this.inputPageValue = this.currentPage.toString();\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n private handleInputChange(event: Event) {\n const inputValue = (event.target as HTMLInputElement).value;\n this.inputPageValue = inputValue;\n const page = parseInt(inputValue, 10);\n\n if (!isNaN(page) && page >= 1 && page <= this.totalPages) {\n clearTimeout(this.debounceTimer);\n this.debounceTimer = setTimeout(() => {\n this.goToPage(page);\n }, 500);\n }\n }\n\n private getPaginationClass() {\n const pages = this.calculatePageRange();\n const ellipsisCount = pages.filter(({ page }) => page === '...').length;\n const hasEllipsisStart = ellipsisCount > 0 && pages[1]?.page === '...';\n const hasEllipsisEnd = ellipsisCount > 0 && pages[pages.length - 2]?.page === '...';\n\n let paginationClass = `spw-pagination spw-pagination--${this.currentPage} spw-pagination--total-${this.totalPages}`;\n\n if (ellipsisCount === 2) {\n paginationClass += ' spw-pagination--double-ellipsis';\n } else if (hasEllipsisStart) {\n paginationClass += ' spw-pagination--ellipsis-start';\n } else if (hasEllipsisEnd) {\n paginationClass += ' spw-pagination--ellipsis-end';\n }\n\n return paginationClass;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n const page = parseInt(this.inputPageValue, 10);\n if (!isNaN(page)) {\n this.goToPage(page);\n }\n }\n }\n\n private calculatePageRange() {\n const pages = [];\n const { currentPage, totalPages, isMobile } = this;\n\n if (isMobile) {\n // Mode mobile\n if (totalPages <= 5) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 3) {\n for (let i = 1; i <= 3; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 2) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 2; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n } else {\n // Mode desktop\n if (totalPages <= 7) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 4) {\n for (let i = 1; i <= 4; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 3) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 3; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 2; i <= currentPage + 2; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n }\n\n return pages;\n }\n\n render() {\n const pages = this.calculatePageRange();\n const showPrevArrow = this.currentPage > 1;\n const showNextArrow = this.currentPage < this.totalPages;\n\n const prevArrow = showPrevArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span class=\"spw-pagination__item-arrow-text\">Précédent</span>\n </button>\n </li>\n );\n\n const nextArrow = showNextArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)}>\n <span class=\"spw-pagination__item-arrow-text\">Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const prevArrowMobile = this.currentPage > 1 && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span>Précédent</span>\n </button>\n </li>\n );\n\n const nextArrowMobile = this.currentPage < this.totalPages && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)} disabled={this.currentPage >= this.totalPages}>\n <span>Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const mobileArrows = (\n <ul class=\"spw-pagination__mobile-arrows\">\n {prevArrowMobile}\n {nextArrowMobile}\n </ul>\n );\n\n return (\n <Host>\n <div class={this.getPaginationClass()}>\n {this.variant === 'input' && (\n <Fragment>\n <ul>\n {prevArrow}\n <li class=\"spw-pagination__input\">\n <spw-text-field\n value={this.inputPageValue}\n type=\"text\"\n onInput={event => this.handleInputChange(event)}\n onKeyDown={event => this.handleKeyDown(event)}\n disabled={this.isDisabled}\n ></spw-text-field>\n </li>\n <li class=\"spw-pagination__total-pages\">sur {this.totalPages} pages</li>\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n {this.variant === 'numbers' && (\n <Fragment>\n <ul>\n {prevArrow}\n\n {pages.map(({ page, class: pageClass }) => {\n if (page === '...') {\n return (\n <li class={`spw-pagination__item spw-pagination__item--dots ${pageClass}`}>\n <spw-icon icon=\"fa-ellipsis\"></spw-icon>\n </li>\n );\n }\n\n return (\n <li\n class={{\n 'spw-pagination__item': true,\n 'spw-pagination__item--active': page === this.currentPage,\n [pageClass]: true,\n }}\n >\n <button onClick={() => this.goToPage(page as number)} disabled={page === this.currentPage}>\n {page}\n </button>\n </li>\n );\n })}\n\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -189,7 +189,7 @@ const SpwTextField = /*@__PURE__*/ proxyCustomElement(class SpwTextField extends
|
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
191
|
render() {
|
|
192
|
-
return (h("div", { key: '
|
|
192
|
+
return (h("div", { key: '5fd55473eefa7f0a27d7165e4d44f5d2c44fa739', class: this.elementClass }, this.label && h("spw-field-label", { key: '50d9c4f1ca75ea24f312ff2c01b29e3006224543', label: this.label, name: this.name, required: this.required }), this.assistiveText && (h("spw-field-message", { key: 'b1c791b05d0ae8482cf59ff7d710ef32a368265c', class: "spw-tw-mb-2 -spw-tw-mt-1", variant: "hint", showIcon: false }, this.assistiveText)), h("div", { key: 'e7aaffa2be5493ac0354850c055c009545ed724e', class: "spw-text-field__container" }, h("div", { key: '902d7a5f33b9ea552034c686f2592b7cd3ea81e8', class: "spw-text-field__input-container" }, h("input", { key: 'f66db7aa135d17c8951abef37ae4548c57749d06', class: "spw-text-field__input", ref: el => (this.inputElement = el), type: this.type, min: this.min, max: this.max, step: this.step, value: this.internalValue, placeholder: this.placeholder, disabled: this.disabled, name: this.name, id: this.name, minLength: this.minLength, maxLength: this.maxLength, required: this.required, onInput: event => this.handleInput(event) }), (this.isSearch || this.isClearIconVisible) && (h("div", { key: 'd817394dadd7b8d9fc48f5a4f537c42c7b2b3676', class: "spw-text-field__icons" }, this.isClearIconVisible && (h("span", { key: '4a0dc1ed855194dab43bbf75d664a3837954fb36', class: "spw-text-field__clear", onClick: () => this.handleClear() }, h("spw-icon", { key: '24decfa0b20f35aaeefb13ce844ff67d99d4afa5', class: "spw-text-field__icon spw-text-field__icon--clear", icon: "fa-xmark" }))), this.isSearch && h("spw-icon", { key: 'c5b2d09ee9bd71af72121d26b20a25e950436f2d', class: "spw-text-field__icon spw-text-field__icon--search", icon: "fa-magnifying-glass" })))), this.indicator && h("div", { key: '6f680cc1c24770ede98068d81360e7ebaba1a658', class: "spw-text-field__indicator" }, this.indicator)), this.renderErrorMessage(), this.renderHintMessage(), this.renderSuccessMessage(), this.renderWarningMessage()));
|
|
193
193
|
}
|
|
194
194
|
static get formAssociated() { return true; }
|
|
195
195
|
static get watchers() { return {
|
|
@@ -259,6 +259,6 @@ function defineCustomElement() {
|
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
export { SpwTextField as S, defineCustomElement as d };
|
|
262
|
-
//# sourceMappingURL=p-
|
|
262
|
+
//# sourceMappingURL=p-BZy3vC1Y.js.map
|
|
263
263
|
|
|
264
|
-
//# sourceMappingURL=p-
|
|
264
|
+
//# sourceMappingURL=p-BZy3vC1Y.js.map
|