@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwHeaderNavigationCss","SpwHeaderNavigation","constructor","hostRef","this","level","element","redirectToHome","event","preventDefault","window","location","href","handleNavigation","stopPropagation","detail","setTimeout","updateNavigationItems","allItems","getAllNavigationItems","forEach","item","index","setAttribute","navItems","document","querySelectorAll","push","shadowRoot","subItems","subItem","render","h","Host","key","class","onClick","icon"],"sources":["src/components/spw-header/spw-header-navigation/spw-header-navigation.scss?tag=spw-header-navigation&encapsulation=shadow","src/components/spw-header/spw-header-navigation/spw-header-navigation.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n.spw-header-navigation {\n display: none;\n left: 0;\n width: 100%;\n height: calc(100% - 80px);\n background: white;\n z-index: 9999;\n overflow-y: auto;\n order: 2;\n border-top: 1px solid var(--spw-colors-support-grey-grey-300);\n :host(.spw-ds-nav-open) & {\n display: flex;\n flex-direction: column;\n }\n @include breakpoint(lg) {\n order: initial;\n display: block;\n height: auto;\n width: auto;\n overflow-y: initial;\n top: auto;\n left: auto;\n z-index: 30;\n }\n :host(.spw-ds-search-open) & {\n @include breakpoint(lg) {\n display: none;\n }\n }\n &__list {\n position: relative;\n display: flex;\n flex: 1;\n align-items: center;\n flex-direction: column;\n width: calc(100% + 32px);\n margin-left: -16px;\n margin-right: -16px;\n @include breakpoint(lg) {\n flex-direction: row;\n }\n @include breakpoint(xl) {\n gap: 24px;\n }\n &-back {\n display: flex;\n justify-content: left;\n width: 100%;\n padding: 24px 16px;\n padding-bottom: 0;\n position: relative;\n z-index: 3;\n &:after {\n content: '';\n position: absolute;\n bottom: -1px;\n width: 100%;\n left: 0;\n height: 1px;\n background: white;\n }\n a {\n gap: 8px;\n display: flex;\n justify-content: left;\n align-items: center;\n font-weight: 700;\n font-size: 14px;\n text-decoration: none;\n color: var(--spw-colors-support-grey-grey-900);\n span {\n text-decoration: underline;\n }\n spw-icon {\n font-size: 18px;\n }\n }\n @include breakpoint(lg) {\n display: none;\n }\n }\n }\n}\n","import { Component, Listen, Host, State, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-header-navigation',\n styleUrl: 'spw-header-navigation.scss',\n shadow: true,\n})\nexport class SpwHeaderNavigation {\n @State() level: number = 0;\n @State() element: HTMLSpwHeaderNavigationItemElement | null = null;\n\n private redirectToHome(event: MouseEvent) {\n event.preventDefault();\n window.location.href = '/';\n }\n\n @Listen('spwHeaderNavigationNavigate', { capture: true })\n handleNavigation(event: CustomEvent<{ level: number; element: HTMLSpwHeaderNavigationItemElement }>) {\n event.stopPropagation();\n this.element = event.detail.element;\n this.level = event.detail.level;\n\n setTimeout(() => {\n this.updateNavigationItems();\n }, 0);\n }\n\n private updateNavigationItems() {\n const allItems = this.getAllNavigationItems();\n\n allItems.forEach((item, index) => {\n item.setAttribute('data-id', `${index + 1}`);\n item.setAttribute('data-level-visible', `${this.level}`);\n });\n }\n\n private getAllNavigationItems(): HTMLElement[] {\n const allItems: HTMLElement[] = [];\n const navItems = document.querySelectorAll('spw-header-navigation-item');\n\n navItems.forEach(item => {\n allItems.push(item);\n const shadowRoot = item.shadowRoot;\n if (shadowRoot) {\n const subItems = shadowRoot.querySelectorAll('spw-header-navigation-item');\n subItems.forEach(subItem => allItems.push(subItem as HTMLElement));\n }\n });\n\n return allItems;\n }\n\n render() {\n return (\n <Host>\n <nav class=\"spw-header-navigation\">\n <div class=\"spw-ds-container\">\n <ul class=\"spw-header-navigation__list\">\n <li class=\"spw-header-navigation__list-back\">\n <a href=\"#\" onClick={event => this.redirectToHome(event)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span>Page d'accueil</span>\n </a>\n </li>\n <slot></slot>\n </ul>\n </div>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAyB,g/H,MCOlBC,EAAmB,MALhC,WAAAC,CAAAC,G,UAMWC,KAAKC,MAAW,EAChBD,KAAOE,QAA8C,IA6D/D,CA3DS,cAAAC,CAAeC,GACrBA,EAAMC,iBACNC,OAAOC,SAASC,KAAO,G,CAIzB,gBAAAC,CAAiBL,GACfA,EAAMM,kBACNV,KAAKE,QAAUE,EAAMO,OAAOT,QAC5BF,KAAKC,MAAQG,EAAMO,OAAOV,MAE1BW,YAAW,KACTZ,KAAKa,uBAAuB,GAC3B,E,CAGG,qBAAAA,GACN,MAAMC,EAAWd,KAAKe,wBAEtBD,EAASE,SAAQ,CAACC,EAAMC,KACtBD,EAAKE,aAAa,UAAW,GAAGD,EAAQ,KACxCD,EAAKE,aAAa,qBAAsB,GAAGnB,KAAKC,QAAQ,G,CAIpD,qBAAAc,GACN,MAAMD,EAA0B,GAChC,MAAMM,EAAWC,SAASC,iBAAiB,8BAE3CF,EAASJ,SAAQC,IACfH,EAASS,KAAKN,GACd,MAAMO,EAAaP,EAAKO,WACxB,GAAIA,EAAY,CACd,MAAMC,EAAWD,EAAWF,iBAAiB,8BAC7CG,EAAST,SAAQU,GAAWZ,EAASS,KAAKG,I,KAI9C,OAAOZ,C,CAGT,MAAAa,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAK,OAAAE,IAAA,2CAAAC,MAAM,yBACTH,EAAK,OAAAE,IAAA,2CAAAC,MAAM,oBACTH,EAAI,MAAAE,IAAA,2CAAAC,MAAM,+BACRH,EAAI,MAAAE,IAAA,2CAAAC,MAAM,oCACRH,EAAA,KAAAE,IAAA,2CAAGtB,KAAK,IAAIwB,QAAS5B,GAASJ,KAAKG,eAAeC,IAChDwB,EAAU,YAAAE,IAAA,2CAAAG,KAAK,oBAA6B,IAACL,EAAA,QAAAE,IAAA,gEAGjDF,EAAA,QAAAE,IAAA,gD","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwSelectCss","SpwSelect","constructor","hostRef","this","label","placeholder","required","size","error","hint","success","warning","showErrorIcon","showHintIcon","showSuccessIcon","showWarningIcon","defaultValue","handleItemsChange","selectElement","syncDynamicOptions","resetSelect","internalValue","value","internals","setFormValue","valueChanged","emit","componentWillLoad","_a","getInitialSelectedValue","componentDidLoad","getFormValue","items","moveOptionsToLightDom","formResetCallback","setValue","val","String","length","assignedNodes","Array","from","el","querySelectorAll","option","hasAttribute","getAttribute","handleSelectChange","event","select","target","slot","shadowRoot","querySelector","flatten","forEach","node","nodeName","appendChild","options","remove","item","document","createElement","itemValue","itemLabel","textContent","renderErrorMessage","h","variant","showIcon","renderHintMessage","renderSuccessMessage","renderWarningMessage","elementClass","disabled","render","Host","key","class","name","assistiveText","id","onChange","ref","tabindex","selected","icon"],"sources":["src/components/spw-select/spw-select.scss?tag=spw-select&encapsulation=shadow","src/components/spw-select/spw-select.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-select {\n position: relative;\n &__container {\n position: relative;\n }\n &__arrow {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 12px;\n pointer-events: none;\n color: var(--spw-color-themes-grey-grey-600);\n font-size: 16px;\n }\n &__trigger {\n width: 100%;\n height: 40px;\n border-radius: 4px;\n border: 1px solid var(--spw-color-themes-grey-grey-800);\n background-color: #fff;\n font-size: 16px;\n color: var(--spw-color-themes-grey-grey-800);\n position: relative;\n padding: 0;\n margin: 0;\n appearance: none;\n padding: 0 12px;\n padding-right: 40px;\n\n &:hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 6px black;\n }\n\n &::after {\n content: '\\f078';\n font-family: var(--spw-ds-font-icons-solid);\n font-weight: 900;\n font-size: 14px;\n color: var(--spw-color-themes-grey-grey-800);\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n\n .spw-select--is-error & {\n border-color: var(--spw-colors-states-error-error-300);\n }\n\n .spw-select--large & {\n height: 60px;\n padding: 0 24px;\n font-size: 18px;\n }\n\n .spw-select--disabled & {\n border-color: var(--spw-color-themes-grey-grey-400);\n background: var(--spw-color-themes-grey-grey-100);\n color: var(--spw-color-themes-grey-grey-500);\n cursor: not-allowed;\n &::placeholder {\n color: var(--spw-color-themes-grey-grey-500);\n }\n &:hover,\n &:focus,\n &:focus-visible {\n outline: none;\n }\n }\n }\n}\n","import { AttachInternals, Host, Component, Method, Prop, State, Event, EventEmitter, h, Element, Watch } from '@stencil/core';\n\nexport interface SelectItem {\n label: string;\n value: string | number;\n}\n\n@Component({\n tag: 'spw-select',\n styleUrl: 'spw-select.scss',\n formAssociated: true,\n shadow: true,\n})\nexport class SpwSelect {\n @Element() el: HTMLSpwSelectElement;\n\n /** Emet un event si la valeur change */\n @Event() valueChanged: EventEmitter<string | number>;\n @State() internalValue: string | number;\n\n /** Valeur sélectionnée actuelle, mutable et reflétée dans le DOM */\n @Prop({ mutable: true, reflect: true }) value: string | number;\n /** Label associé au champ de sélection */\n @Prop() label: string = '';\n /** Texte du placeholder à afficher lorsque rien n'est sélectionné */\n @Prop() placeholder: string = 'Sélectionner une option';\n /** Indique si le champ de sélection est désactivé */\n @Prop() disabled: boolean;\n /** Nom de l'élément utilisé dans les formulaires pour associer la valeur sélectionnée */\n @Prop() name: string;\n /** Indique si la sélection est obligatoire dans le formulaire */\n @Prop() required: boolean = false;\n /** Taille du champ de sélection : 'large' ou 'medium' */\n @Prop() size: 'large' | 'medium' = 'medium';\n /** Texte d'assistance affiché sous le champ de sélection */\n @Prop() assistiveText?: string;\n /** Message d'erreur à afficher sous le champ de sélection */\n @Prop() error?: string = '';\n /** Message d'indication (hint) à afficher sous le champ de sélection */\n @Prop() hint?: string = '';\n /** Message de succès à afficher sous le champ de sélection */\n @Prop() success?: string = '';\n /** Message de warning à afficher sous le champ */\n @Prop() warning?: string = '';\n /** Affiche une icône d'erreur si vrai */\n @Prop() showErrorIcon?: boolean = true;\n /** Affiche une icône d'indication si vrai */\n @Prop() showHintIcon?: boolean = true;\n /** Affiche une icône de succès si vrai */\n @Prop() showSuccessIcon?: boolean = true;\n /** Affiche une icône de warning si vrai */\n @Prop() showWarningIcon?: boolean = true;\n /** Liste d'items dynamiques pour générer les options (array d'objects avec label + value) */\n @Prop() items?: SelectItem[];\n /** Propriété à utiliser comme label des options */\n @Prop() itemLabel?: string;\n /** Propriété à utiliser comme valeur des options */\n @Prop() itemValue?: string;\n\n private selectElement!: HTMLSelectElement;\n private defaultValue: string | number | null = null;\n\n @AttachInternals() internals: ElementInternals;\n\n @Watch('items')\n handleItemsChange() {\n if (this.selectElement) {\n this.syncDynamicOptions();\n }\n }\n\n @Method()\n async resetSelect() {\n this.internalValue = '';\n this.value = '';\n if (this.selectElement) {\n this.selectElement.value = '';\n }\n this.internals.setFormValue('');\n this.valueChanged.emit('');\n }\n\n componentWillLoad() {\n this.defaultValue = this.value ?? this.getInitialSelectedValue();\n this.internalValue = this.value || this.getInitialSelectedValue();\n }\n\n componentDidLoad() {\n this.internals.setFormValue(this.getFormValue());\n if (!this.items) {\n this.moveOptionsToLightDom();\n } else {\n this.syncDynamicOptions();\n }\n }\n\n formResetCallback() {\n this.setValue(this.defaultValue ?? '');\n this.resetSelect();\n }\n\n private setValue(val: string | number) {\n this.internalValue = val;\n this.value = val;\n\n if (this.selectElement) {\n this.selectElement.value = String(val);\n }\n\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private getFormValue(): string | null {\n return this.internalValue ? String(this.internalValue) : null;\n }\n\n private getInitialSelectedValue(): string | number | null {\n if (this.items && this.items.length > 0) {\n return null;\n }\n const assignedNodes = Array.from(this.el.querySelectorAll('option')) as HTMLOptionElement[];\n for (const option of assignedNodes) {\n if (option.hasAttribute('selected')) {\n return option.getAttribute('value');\n }\n }\n return null;\n }\n\n private handleSelectChange(event: Event) {\n const select = event.target as HTMLSelectElement;\n this.internalValue = select.value;\n this.value = this.internalValue;\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private moveOptionsToLightDom() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (slot) {\n const assignedNodes = slot.assignedNodes({ flatten: true }) as HTMLElement[];\n assignedNodes.forEach(node => {\n if (node.nodeName === 'OPTION' || node.nodeName === 'OPTGROUP') {\n this.selectElement.appendChild(node);\n }\n });\n }\n }\n\n private syncDynamicOptions() {\n while (this.selectElement.options.length > 1) {\n this.selectElement.remove(1);\n }\n\n if (this.items && this.items.length > 0) {\n this.items.forEach(item => {\n const option = document.createElement('option');\n const value = this.itemValue ? item[this.itemValue] : item;\n const label = this.itemLabel ? item[this.itemLabel] : item;\n option.value = String(value);\n option.textContent = String(label);\n this.selectElement.appendChild(option);\n });\n }\n\n if (this.selectElement.value !== String(this.internalValue || '')) {\n this.selectElement.value = String(this.internalValue || '');\n }\n }\n\n private renderErrorMessage() {\n if (this.error) {\n return (\n <spw-field-message variant=\"error\" showIcon={this.showErrorIcon}>\n {this.error}\n </spw-field-message>\n );\n }\n }\n\n private renderHintMessage() {\n if (this.hint) {\n return (\n <spw-field-message variant=\"hint\" showIcon={this.showHintIcon}>\n {this.hint}\n </spw-field-message>\n );\n }\n }\n\n private renderSuccessMessage() {\n if (this.success) {\n return (\n <spw-field-message variant=\"success\" showIcon={this.showSuccessIcon}>\n {this.success}\n </spw-field-message>\n );\n }\n }\n\n private renderWarningMessage() {\n if (this.warning) {\n return (\n <spw-field-message variant=\"warning\" showIcon={this.showWarningIcon}>\n {this.warning}\n </spw-field-message>\n );\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-select': true,\n [`spw-select--${this.size}`]: true,\n 'spw-select--disabled': this.disabled,\n 'spw-select--is-error': !!this.error,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.elementClass}>\n {this.label && <spw-field-label label={this.label} name={this.name} required={this.required}></spw-field-label>}\n {this.assistiveText && (\n <spw-field-message class=\"spw-tw-mb-2 -spw-tw-mt-1\" variant=\"hint\" showIcon={false}>\n {this.assistiveText}\n </spw-field-message>\n )}\n <div class=\"spw-select__container\">\n <select\n id={this.name}\n class=\"spw-select__trigger\"\n onChange={event => this.handleSelectChange(event)}\n disabled={this.disabled}\n ref={el => (this.selectElement = el as HTMLSelectElement)}\n tabindex={this.disabled ? -1 : 0}\n >\n <option value=\"\" disabled selected={!this.internalValue}>\n {this.placeholder}\n </option>\n </select>\n <spw-icon class=\"spw-select__arrow\" icon=\"fa-chevron-down\"></spw-icon>\n </div>\n {!this.items && <slot />}\n </div>\n {this.renderErrorMessage()}\n {this.renderHintMessage()}\n {this.renderSuccessMessage()}\n {this.renderWarningMessage()}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,F as a,H as n}from"./p-CvfVJV8a.js";const s="/*! 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:3ch}.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}";const o=class{constructor(e){t(this,e);this.pageChanged=i(this,"pageChanged",7);this.isDisabled=false;this.variant="numbers";this.currentPage=1;this.inputPageValue="";this.isMobile=window.innerWidth<800;this.updateIsMobile=()=>{this.isMobile=window.innerWidth<800}}componentWillLoad(){this.calculateTotalPages();this.inputPageValue=this.currentPage.toString();window.addEventListener("resize",this.updateIsMobile)}disconnectedCallback(){window.removeEventListener("resize",this.updateIsMobile)}calculateTotalPages(){this.totalPages=Math.ceil(this.totalItems/this.itemsPerPage)}goToPage(t){if(t!==this.currentPage&&!this.isDisabled&&t>=1&&t<=this.totalPages){this.currentPage=t;this.inputPageValue=this.currentPage.toString();this.pageChanged.emit(this.currentPage)}}handleInputChange(t){const i=t.target.value;this.inputPageValue=i;const e=parseInt(i,10);if(!isNaN(e)&&e>=1&&e<=this.totalPages){clearTimeout(this.debounceTimer);this.debounceTimer=setTimeout((()=>{this.goToPage(e)}),500)}}getPaginationClass(){var t,i;const e=this.calculatePageRange();const a=e.filter((({page:t})=>t==="...")).length;const n=a>0&&((t=e[1])===null||t===void 0?void 0:t.page)==="...";const s=a>0&&((i=e[e.length-2])===null||i===void 0?void 0:i.page)==="...";let o=`spw-pagination spw-pagination--${this.currentPage} spw-pagination--total-${this.totalPages}`;if(a===2){o+=" spw-pagination--double-ellipsis"}else if(n){o+=" spw-pagination--ellipsis-start"}else if(s){o+=" spw-pagination--ellipsis-end"}return o}handleKeyDown(t){if(t.key==="Enter"){const t=parseInt(this.inputPageValue,10);if(!isNaN(t)){this.goToPage(t)}}}calculateWidth(){const t=this.inputPageValue.length;if(t<=1){return"3ch"}return`${t+1}ch`}calculatePageRange(){const t=[];const{currentPage:i,totalPages:e,isMobile:a}=this;if(a){if(e<=5){for(let i=1;i<=e;i++){t.push({page:i,class:"spw-pagination__item--small-range"})}}else if(i<=3){for(let i=1;i<=3;i++){t.push({page:i,class:"spw-pagination__item--start-range"})}t.push({page:"...",class:"spw-pagination__item--ellipsis"});t.push({page:e,class:"spw-pagination__item--end"})}else if(i>=e-2){t.push({page:1,class:"spw-pagination__item--start"});t.push({page:"...",class:"spw-pagination__item--ellipsis"});for(let i=e-2;i<=e;i++){t.push({page:i,class:"spw-pagination__item--end-range"})}}else{t.push({page:1,class:"spw-pagination__item--start"});t.push({page:"...",class:"spw-pagination__item--ellipsis"});for(let e=i-1;e<=i+1;e++){t.push({page:e,class:"spw-pagination__item--middle-range"})}t.push({page:"...",class:"spw-pagination__item--ellipsis"});t.push({page:e,class:"spw-pagination__item--end"})}}else{if(e<=7){for(let i=1;i<=e;i++){t.push({page:i,class:"spw-pagination__item--small-range"})}}else if(i<=4){for(let i=1;i<=4;i++){t.push({page:i,class:"spw-pagination__item--start-range"})}t.push({page:"...",class:"spw-pagination__item--ellipsis"});t.push({page:e,class:"spw-pagination__item--end"})}else if(i>=e-3){t.push({page:1,class:"spw-pagination__item--start"});t.push({page:"...",class:"spw-pagination__item--ellipsis"});for(let i=e-3;i<=e;i++){t.push({page:i,class:"spw-pagination__item--end-range"})}}else{t.push({page:1,class:"spw-pagination__item--start"});t.push({page:"...",class:"spw-pagination__item--ellipsis"});for(let e=i-2;e<=i+2;e++){t.push({page:e,class:"spw-pagination__item--middle-range"})}t.push({page:"...",class:"spw-pagination__item--ellipsis"});t.push({page:e,class:"spw-pagination__item--end"})}}return t}render(){const t=this.calculatePageRange();const i=this.currentPage>1;const s=this.currentPage<this.totalPages;const o=i&&e("li",{key:"310d6881f5ca26e72e291ff46f3702430f04c156",class:"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow"},e("button",{key:"7bf0984d6ca0e452a1af393378029132360d0f88",onClick:()=>this.goToPage(this.currentPage-1)},e("spw-icon",{key:"22a2118f590923421f7939c43d2a5219d8f7b83b",icon:"fa-chevron-left"})," ",e("span",{key:"759c5b353af09965af21490c10ad5769aedd5b8c",class:"spw-pagination__item-arrow-text"},"Précédent")));const p=s&&e("li",{key:"f53c2e57b5c522b1cbfddd2065051cc6f12a8989",class:"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow"},e("button",{key:"3956b0e4c17fcb36d186d0da90f9a12876f32880",onClick:()=>this.goToPage(this.currentPage+1)},e("span",{key:"415a566238d6628eef7f7076931b1dd6117c59cc",class:"spw-pagination__item-arrow-text"},"Suivant")," ",e("spw-icon",{key:"c692184f2e32af5cecda53da9693097cfe714237",icon:"fa-chevron-right"})));const c=this.currentPage>1&&e("li",{key:"73f7a0999c00ea9a7bc4824b5a5ecb0c7e39a361",class:"spw-pagination__item spw-pagination__item--arrow"},e("button",{key:"3032dadbad8440c930f08187b3f13a5f3792fa22",onClick:()=>this.goToPage(this.currentPage-1)},e("spw-icon",{key:"a8c783e83bb884f27765b8353f4a248e51a30436",icon:"fa-chevron-left"})," ",e("span",{key:"a16dec2d98c14d3f46e043d6085f8da949e36ec0"},"Précédent")));const r=this.currentPage<this.totalPages&&e("li",{key:"c8bc3cb1a2579704de138011dac511eb6d9cb4d8",class:"spw-pagination__item spw-pagination__item--arrow"},e("button",{key:"b1bed9428d39534a9b4132b99abc6abcb503a523",onClick:()=>this.goToPage(this.currentPage+1),disabled:this.currentPage>=this.totalPages},e("span",{key:"295d1d532e9bf87abe1aecfbbe2348f0aceb5aa8"},"Suivant")," ",e("spw-icon",{key:"a57dfaf1c64201cf2ba9a8c8348159f24cb5162a",icon:"fa-chevron-right"})));const l=e("ul",{key:"13e17fdac8c7924ddfd7e9a0efead49d1219d00c",class:"spw-pagination__mobile-arrows"},c,r);return e(n,{key:"327f0c39d4ff811b3b336a3b7ddebfd980631197"},e("div",{key:"91582fe920ccc6122016e349e08f5e0ee8e134b4",class:this.getPaginationClass()},this.variant==="input"&&e(a,{key:"fc891f9ab8a03f988e1f71a3c7e8a82de146c1cf"},e("ul",{key:"ce69c066495c083e6231ea94596498f28df2d946"},o,e("li",{key:"6aa4b5c1eb79fe1c364cfa474d3909c5dfc9a6e7",class:"spw-pagination__input"},e("spw-text-field",{key:"b63bc14dff14f025c6503a2ec1a6250573e51f79",value:this.inputPageValue,type:"text",onInput:t=>this.handleInputChange(t),onKeyDown:t=>this.handleKeyDown(t),disabled:this.isDisabled,style:{width:this.calculateWidth()}})),e("li",{key:"fc3afd361ff6457b0cefc381ed210d1ca8b9cae5",class:"spw-pagination__total-pages"},"sur ",this.totalPages," pages"),p),l),this.variant==="numbers"&&e(a,{key:"db332f9578f6a3dc6e7776b2acd98a09c60a5800"},e("ul",{key:"3f4c352d2ed4673cfe15497d83088a3fc9b7caba"},o,t.map((({page:t,class:i})=>{if(t==="..."){return e("li",{class:`spw-pagination__item spw-pagination__item--dots ${i}`},e("spw-icon",{icon:"fa-ellipsis"}))}return e("li",{class:{"spw-pagination__item":true,"spw-pagination__item--active":t===this.currentPage,[i]:true}},e("button",{onClick:()=>this.goToPage(t),disabled:t===this.currentPage},t))})),p),l)))}static get watchers(){return{totalItems:["calculateTotalPages"],itemsPerPage:["calculateTotalPages"],currentPage:["calculateTotalPages"]}}};o.style=s;export{o as spw_pagination};
|
|
2
|
-
//# sourceMappingURL=p-d115a739.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwPaginationCss","SpwPagination","constructor","hostRef","this","isDisabled","variant","currentPage","inputPageValue","isMobile","window","innerWidth","updateIsMobile","componentWillLoad","calculateTotalPages","toString","addEventListener","disconnectedCallback","removeEventListener","totalPages","Math","ceil","totalItems","itemsPerPage","goToPage","page","pageChanged","emit","handleInputChange","event","inputValue","target","value","parseInt","isNaN","clearTimeout","debounceTimer","setTimeout","getPaginationClass","pages","calculatePageRange","ellipsisCount","filter","length","hasEllipsisStart","_a","hasEllipsisEnd","_b","paginationClass","handleKeyDown","key","calculateWidth","i","push","class","render","showPrevArrow","showNextArrow","prevArrow","h","onClick","icon","nextArrow","prevArrowMobile","nextArrowMobile","disabled","mobileArrows","Host","Fragment","type","onInput","onKeyDown","style","width","map","pageClass"],"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: 3ch;\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 } 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 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 calculateWidth(): string {\n const length = this.inputPageValue.length;\n if (length <= 1) {\n return '3ch';\n }\n return `${length + 1}ch`;\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 style={{ width: this.calculateWidth() }}\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as s,H as i,g as o}from"./p-CvfVJV8a.js";const n="/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3;position:relative}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-table-container{scrollbar-face-color:var(--spw-color-themes-grey-grey-400);scrollbar-track-color:var(--spw-ds-white);border-radius:4px;max-height:var(--spw-table-max-height);outline:1px solid var(--spw-color-themes-grey-grey-300);outline-offset:-1px;overflow-x:auto;overflow-y:auto;position:relative;width:100%}.spw-table-container::-webkit-scrollbar{height:14px;width:14px}.spw-table-container::-webkit-scrollbar-thumb{background:var(--spw-color-themes-grey-grey-400);border:4px solid var(--spw-ds-white);border-radius:20px}.spw-table-container::-webkit-scrollbar-track{background:var(--spw-ds-white)}.spw-table{border-collapse:collapse;border-radius:4px;min-width:var(--spw-table-min-width);position:relative;width:100%}.spw-table--layout-fixed{table-layout:fixed}.spw-table--layout-auto{table-layout:auto}";const r=class{constructor(s){t(this,s);this.spwSort=e(this,"spwSort",7);this.isSticky=false;this.minWidth="600";this.tableLayout="auto";this.isZebra=false;this.disableSort=false;this.checkboxChangeHandler=()=>this.updateMasterCheckboxState()}onCurrentSortChange(t){if(t){this.updateHeadersSortState(t)}}componentDidLoad(){var t;this.updateZebra();const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot");if(e){e.addEventListener("slotchange",(()=>{this.setupHeaderCheckboxListener();this.updateMasterCheckboxState()}))}this.setupHeaderCheckboxListener();this.setupBodyCheckboxListener();this.setupTableBodyObserver();setTimeout((()=>{this.updateMasterCheckboxState()}),0)}disconnectedCallback(){if(this.mutationObserver){this.mutationObserver.disconnect()}}setupTableBodyObserver(){const t=Array.from(this.el.children).find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(!t)return;this.mutationObserver=new MutationObserver((()=>{this.setupBodyCheckboxListener();setTimeout((()=>{this.updateMasterCheckboxState()}),0)}));this.mutationObserver.observe(t,{childList:true,subtree:true,attributes:true,attributeFilter:["checked","disabled"]})}getMasterCheckboxColumnIndex(){var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot");if(!e)return null;const s=e.assignedElements({flatten:true});const i=s.find((t=>t.tagName.toLowerCase()==="spw-table-head"));if(!i)return null;const o=i.querySelector("spw-table-row");if(!o)return null;const n=Array.from(o.querySelectorAll("spw-table-header"));for(let t=0;t<n.length;t++){if(n[t].querySelector("spw-checkbox")){return t}}return null}isCheckboxDisabled(t){return(t===null||t===void 0?void 0:t.disabled)===true||(t===null||t===void 0?void 0:t.getAttribute("disabled"))==="true"||(t===null||t===void 0?void 0:t.getAttribute("disabled"))===""}updateMasterCheckboxState(){var t;const e=this.getMasterCheckboxColumnIndex();if(e===null)return;const s=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot");const i=s===null||s===void 0?void 0:s.assignedElements({flatten:true});if(!i)return;const o=i.find((t=>t.tagName.toLowerCase()==="spw-table-head"));const n=i.find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(!o||!n)return;const r=o.querySelector("spw-table-row");const a=r===null||r===void 0?void 0:r.querySelectorAll("spw-table-header")[e];const l=a===null||a===void 0?void 0:a.querySelector("spw-checkbox");const c=n.querySelectorAll("spw-table-row");const d=Array.from(c).map((t=>{const s=t.querySelectorAll("spw-table-cell")[e];const i=s===null||s===void 0?void 0:s.querySelector("spw-checkbox");return{checked:(i===null||i===void 0?void 0:i.checked)===true||(i===null||i===void 0?void 0:i.getAttribute("checked"))==="true",disabled:this.isCheckboxDisabled(i)}}));const b=d.filter((t=>!t.disabled));if(b.length===0)return;const u=b.every((t=>t.checked));const h=b.every((t=>!t.checked));if(!l)return;if(u){l.checked=true;l.setAttribute("checked","true");l.setAttribute("icon","fa-check")}else if(h){l.checked=false;l.setAttribute("checked","false");l.setAttribute("icon","fa-check")}else{l.checked=true;l.setAttribute("checked","true");l.setAttribute("icon","fa-minus")}}setupHeaderCheckboxListener(){var t,e;const s=(e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot"))===null||e===void 0?void 0:e.assignedElements({flatten:true});if(!s)return;const i=s.find((t=>t.tagName.toLowerCase()==="spw-table-head"));if(!i)return;const o=i.querySelectorAll("spw-table-row");o.forEach((t=>{const e=t.querySelectorAll("spw-checkbox");e.forEach((t=>{t.addEventListener("spwChange",(t=>{this.toggleAllRowCheckboxes(t.detail)}))}))}))}setupBodyCheckboxListener(){const t=Array.from(this.el.children).find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(!t)return;const e=t.querySelectorAll("spw-table-row");e.forEach((t=>{const e=t.querySelectorAll("spw-checkbox");e.forEach((t=>{t.removeEventListener("spwChange",this.checkboxChangeHandler);t.addEventListener("spwChange",this.checkboxChangeHandler)}))}))}toggleAllRowCheckboxes(t){var e;const s=this.getMasterCheckboxColumnIndex();if(s===null)return;const i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("slot");const o=i===null||i===void 0?void 0:i.assignedElements({flatten:true});if(!o)return;const n=o.find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(!n)return;const r=n.querySelectorAll("spw-table-row");r.forEach((e=>{const i=Array.from(e.querySelectorAll("spw-table-cell"));const o=i[s];const n=o===null||o===void 0?void 0:o.querySelector("spw-checkbox");if(n&&!this.isCheckboxDisabled(n)){n.checked=t;n.setAttribute("checked",t.toString())}}));setTimeout((()=>{this.updateMasterCheckboxState()}),0)}handleHeaderClick(t){const e=t.detail;const s=this.currentSort;const i={column:e,direction:(s===null||s===void 0?void 0:s.column)===e&&s.direction==="asc"?"desc":"asc"};this.currentSort=i;this.spwSort.emit(i);if(!this.disableSort){this.sortRows(i.column,i.direction)}this.updateHeadersSortState(i);this.updateZebra()}updateZebra(){const t=this.el.shadowRoot.querySelector("slot");if(!t)return;const e=t.assignedElements({flatten:true});const s=e.find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(s){if(this.isZebra){s.setAttribute("is-zebra","true")}else{s.removeAttribute("is-zebra")}if(typeof s.updateZebraStyles==="function"){s.updateZebraStyles()}}}sortRows(t,e){var s;const i=(s=this.el.shadowRoot.querySelector("slot"))===null||s===void 0?void 0:s.assignedElements().find((t=>t.tagName.toLowerCase()==="spw-table-body"));if(!i)return;const o=Array.from(i.querySelectorAll("spw-table-row"));const n=Array.from(this.el.querySelectorAll("spw-table-header")).findIndex((e=>e.columnId===t));if(n===-1)return;o.sort(((t,s)=>{const i=t.querySelectorAll("spw-table-cell")[n];const o=s.querySelectorAll("spw-table-cell")[n];if(!i||!o)return 0;const r=i.textContent.trim();const a=o.textContent.trim();if(!isNaN(Number(r))&&!isNaN(Number(a))){return e==="asc"?+r-+a:+a-+r}return e==="asc"?r.localeCompare(a):a.localeCompare(r)}));o.forEach((t=>i.appendChild(t)));const r=i;if(r===null||r===void 0?void 0:r.updateZebraStyles){r.updateZebraStyles()}}updateHeadersSortState(t){const e=this.el.querySelectorAll("spw-table-header");e.forEach((e=>{const s=e.columnId===t.column;e.isSorted=s;e.sortDirection=s?t.direction:undefined}))}formatSize(t){if(t===undefined||t===null){return"auto"}return`${t}px`}get elementClass(){return{"spw-table":true,"spw-table--is-sticky":this.isSticky,[`spw-table--layout-${this.tableLayout}`]:true}}render(){return s(i,{key:"1742538080b1ac32644a8d00b9a25779e72ee08e",style:{"--spw-table-max-height":this.formatSize(this.maxHeight),"--spw-table-min-width":this.formatSize(this.minWidth)}},s("div",{key:"7d15c468ce94b645b2a8f040617b88151df1b615",class:"spw-table-container"},s("table",{key:"bc98737e0850bfedc5b3a83b4d8c3e5c33a30256",part:"table",class:this.elementClass,role:"table","aria-label":this.accAriaLabel},s("slot",{key:"b075fc150e453269afbc585dea5304c6e795517d"}))))}get el(){return o(this)}static get watchers(){return{currentSort:["onCurrentSortChange"]}}};r.style=n;export{r as spw_table};
|
|
2
|
-
//# sourceMappingURL=p-d2258e0a.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwTableCss","SpwTable","constructor","hostRef","this","isSticky","minWidth","tableLayout","isZebra","disableSort","checkboxChangeHandler","updateMasterCheckboxState","onCurrentSortChange","newSort","updateHeadersSortState","componentDidLoad","updateZebra","slot","_a","el","shadowRoot","querySelector","addEventListener","setupHeaderCheckboxListener","setupBodyCheckboxListener","setupTableBodyObserver","setTimeout","disconnectedCallback","mutationObserver","disconnect","body","Array","from","children","find","tagName","toLowerCase","MutationObserver","observe","childList","subtree","attributes","attributeFilter","getMasterCheckboxColumnIndex","assignedElements","flatten","head","headerRow","headerCells","querySelectorAll","i","length","isCheckboxDisabled","checkbox","disabled","getAttribute","columnIndex","headerCell","masterCheckbox","rows","checkboxData","map","row","cell","cb","checked","enabledCheckboxes","filter","item","allChecked","every","noneChecked","setAttribute","_b","headerRows","forEach","checkboxes","event","toggleAllRowCheckboxes","detail","removeEventListener","cells","targetCell","toString","handleHeaderClick","columnId","current","currentSort","column","direction","spwSort","emit","sortRows","removeAttribute","updateZebraStyles","findIndex","header","sort","a","b","aCell","bCell","aValue","textContent","trim","bValue","isNaN","Number","localeCompare","appendChild","bodyComponent","headers","isCurrent","isSorted","sortDirection","undefined","formatSize","value","elementClass","render","h","Host","key","style","maxHeight","class","part","role","accAriaLabel"],"sources":["src/components/spw-table/spw-table.scss?tag=spw-table&encapsulation=shadow","src/components/spw-table/spw-table.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n}\n\n%highlight {\n font-weight: 700;\n background: var(--spw-color-themes-grey-grey-100);\n}\n\n.spw-table-container {\n width: 100%;\n overflow-x: auto;\n overflow-y: auto;\n max-height: var(--spw-table-max-height);\n border-radius: 4px;\n outline: 1px solid var(--spw-color-themes-grey-grey-300);\n outline-offset: -1px;\n position: relative;\n @include scrollbars(var(--spw-color-themes-grey-grey-400), var(--spw-ds-white));\n}\n\n.spw-table {\n width: 100%;\n border-collapse: collapse;\n min-width: var(--spw-table-min-width);\n border-radius: 4px;\n position: relative;\n &--layout-fixed {\n table-layout: fixed;\n }\n &--layout-auto {\n table-layout: auto;\n }\n}\n","import { Component, Element, Event, Listen, EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\n\nexport interface SortEvent {\n column: string;\n direction: 'asc' | 'desc';\n}\n\n@Component({\n tag: 'spw-table',\n styleUrl: 'spw-table.scss',\n shadow: true,\n})\nexport class SpwTable {\n @Element() el: HTMLSpwTableElement;\n\n /** Propriété pour l'aria-label, à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n /** Si le header du tableau doit être sticky ou non */\n @Prop() isSticky?: boolean = false;\n /** Si défini, apparition d'une scrollbar verticale et max-height */\n @Prop() maxHeight?: string;\n /** Si défini, apparition d'une scrollbar horizontale et max-width */\n @Prop() minWidth?: string = '600';\n /** Permet de définir le table-layout (auto ou fixed) */\n @Prop() tableLayout?: 'auto' | 'fixed' = 'auto';\n /** Définit un background de couleur différent une ligne sur 2 */\n @Prop() isZebra?: boolean = false;\n /** Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée */\n @Prop() disableSort?: boolean = false;\n /** État du tri actuel (colonne et direction). Peut être défini de l'extérieur pour un tri personnalisé */\n @Prop({ mutable: true }) currentSort?: SortEvent;\n\n @Event() spwSort: EventEmitter<SortEvent>;\n\n private mutationObserver?: MutationObserver;\n\n @Watch('currentSort')\n onCurrentSortChange(newSort: SortEvent | undefined) {\n if (newSort) {\n this.updateHeadersSortState(newSort);\n }\n }\n\n componentDidLoad() {\n this.updateZebra();\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.setupHeaderCheckboxListener();\n this.updateMasterCheckboxState();\n });\n }\n this.setupHeaderCheckboxListener();\n this.setupBodyCheckboxListener();\n this.setupTableBodyObserver();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n private setupTableBodyObserver() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n this.mutationObserver = new MutationObserver(() => {\n this.setupBodyCheckboxListener();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n });\n\n this.mutationObserver.observe(body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['checked', 'disabled'],\n });\n }\n\n private getMasterCheckboxColumnIndex(): number | null {\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (!slot) return null;\n\n const assignedElements = slot.assignedElements({ flatten: true }) as HTMLElement[];\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return null;\n\n const headerRow = head.querySelector('spw-table-row');\n if (!headerRow) return null;\n\n const headerCells = Array.from(headerRow.querySelectorAll('spw-table-header'));\n\n for (let i = 0; i < headerCells.length; i++) {\n if (headerCells[i].querySelector('spw-checkbox')) {\n return i;\n }\n }\n\n return null;\n }\n\n private isCheckboxDisabled(checkbox: any): boolean {\n return checkbox?.disabled === true || checkbox?.getAttribute('disabled') === 'true' || checkbox?.getAttribute('disabled') === '';\n }\n\n private updateMasterCheckboxState() {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!head || !body) return;\n\n const headerRow = head.querySelector('spw-table-row');\n const headerCell = headerRow?.querySelectorAll('spw-table-header')[columnIndex];\n const masterCheckbox = headerCell?.querySelector('spw-checkbox') as any;\n\n const rows = body.querySelectorAll('spw-table-row');\n const checkboxData = Array.from(rows).map(row => {\n const cell = row.querySelectorAll('spw-table-cell')[columnIndex];\n const cb = cell?.querySelector('spw-checkbox') as any;\n return {\n checked: cb?.checked === true || cb?.getAttribute('checked') === 'true',\n disabled: this.isCheckboxDisabled(cb),\n };\n });\n\n const enabledCheckboxes = checkboxData.filter(item => !item.disabled);\n\n if (enabledCheckboxes.length === 0) return;\n\n const allChecked = enabledCheckboxes.every(item => item.checked);\n const noneChecked = enabledCheckboxes.every(item => !item.checked);\n\n if (!masterCheckbox) return;\n\n if (allChecked) {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else if (noneChecked) {\n masterCheckbox.checked = false;\n masterCheckbox.setAttribute('checked', 'false');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-minus');\n }\n }\n\n private setupHeaderCheckboxListener() {\n const assignedElements = this.el.shadowRoot?.querySelector('slot')?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return;\n\n const headerRows = head.querySelectorAll('spw-table-row');\n\n headerRows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.addEventListener('spwChange', (event: CustomEvent<boolean>) => {\n this.toggleAllRowCheckboxes(event.detail);\n });\n });\n });\n }\n\n private checkboxChangeHandler = () => this.updateMasterCheckboxState();\n\n private setupBodyCheckboxListener() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n rows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.removeEventListener('spwChange', this.checkboxChangeHandler);\n cb.addEventListener('spwChange', this.checkboxChangeHandler);\n });\n });\n }\n\n private toggleAllRowCheckboxes(checked: boolean) {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n\n rows.forEach(row => {\n const cells = Array.from(row.querySelectorAll('spw-table-cell'));\n const targetCell = cells[columnIndex];\n const checkbox = targetCell?.querySelector('spw-checkbox') as any;\n\n if (checkbox && !this.isCheckboxDisabled(checkbox)) {\n checkbox.checked = checked;\n checkbox.setAttribute('checked', checked.toString());\n }\n });\n\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n @Listen('spwHeaderClick')\n handleHeaderClick(event: CustomEvent<string>) {\n const columnId = event.detail;\n const current = this.currentSort;\n\n const newSort: SortEvent = {\n column: columnId,\n direction: current?.column === columnId && current.direction === 'asc' ? 'desc' : 'asc',\n };\n\n this.currentSort = newSort;\n this.spwSort.emit(newSort);\n\n if (!this.disableSort) {\n this.sortRows(newSort.column, newSort.direction);\n }\n\n this.updateHeadersSortState(newSort);\n this.updateZebra();\n }\n\n private updateZebra() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (!slot) return;\n\n const assignedElements = slot.assignedElements({ flatten: true });\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body') as any;\n\n if (body) {\n if (this.isZebra) {\n body.setAttribute('is-zebra', 'true');\n } else {\n body.removeAttribute('is-zebra');\n }\n\n if (typeof body.updateZebraStyles === 'function') {\n body.updateZebraStyles();\n }\n }\n }\n\n private sortRows(columnId: string, direction: 'asc' | 'desc') {\n const body = this.el.shadowRoot\n .querySelector('slot')\n ?.assignedElements()\n .find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = Array.from(body.querySelectorAll('spw-table-row'));\n\n const columnIndex = Array.from(this.el.querySelectorAll('spw-table-header')).findIndex((header: any) => header.columnId === columnId);\n if (columnIndex === -1) return;\n\n rows.sort((a: any, b: any) => {\n const aCell = a.querySelectorAll('spw-table-cell')[columnIndex];\n const bCell = b.querySelectorAll('spw-table-cell')[columnIndex];\n if (!aCell || !bCell) return 0;\n\n const aValue = aCell.textContent.trim();\n const bValue = bCell.textContent.trim();\n\n if (!isNaN(Number(aValue)) && !isNaN(Number(bValue))) {\n return direction === 'asc' ? +aValue - +bValue : +bValue - +aValue;\n }\n\n return direction === 'asc' ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n });\n\n rows.forEach(row => body.appendChild(row));\n\n const bodyComponent = body as HTMLSpwTableBodyElement;\n if (bodyComponent?.updateZebraStyles) {\n bodyComponent.updateZebraStyles();\n }\n }\n\n private updateHeadersSortState(sort: SortEvent) {\n const headers = this.el.querySelectorAll('spw-table-header');\n headers.forEach((header: any) => {\n const isCurrent = header.columnId === sort.column;\n header.isSorted = isCurrent;\n header.sortDirection = isCurrent ? sort.direction : undefined;\n });\n }\n\n private formatSize(value?: string): string {\n if (value === undefined || value === null) {\n return 'auto';\n }\n return `${value}px`;\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table': true,\n 'spw-table--is-sticky': this.isSticky,\n [`spw-table--layout-${this.tableLayout}`]: true,\n };\n }\n\n render() {\n return (\n <Host\n style={{\n '--spw-table-max-height': this.formatSize(this.maxHeight),\n '--spw-table-min-width': this.formatSize(this.minWidth),\n }}\n >\n <div class=\"spw-table-container\">\n <table part=\"table\" class={this.elementClass} role=\"table\" aria-label={this.accAriaLabel}>\n <slot />\n </table>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as a}from"./p-CvfVJV8a.js";const s="/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:contents;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-table-header{background:var(--spw-color-themes-grey-grey-200);background-clip:padding-box;border:1px solid var(--spw-color-themes-grey-grey-300);border-bottom:none!important;border-top:none!important;box-shadow:inset 0 1px 0 var(--spw-color-themes-grey-grey-300),inset 0 -1px 0 var(--spw-color-themes-grey-grey-300);color:var(--spw-color-themes-grey-grey-800);font-size:14px;font-weight:700;text-align:left;transition:all .2s linear;white-space:nowrap}:host-context(.spw-table--is-sticky) .spw-table-header{position:sticky;top:0;z-index:20}.spw-table-header--text-align-left{text-align:left}.spw-table-header--text-align-center{text-align:center}.spw-table-header--text-align-right{text-align:right}.spw-table-header--vertical-align-top{vertical-align:top}.spw-table-header--vertical-align-bottom{vertical-align:bottom}.spw-table-header--vertical-align-middle{vertical-align:middle}.spw-table-header--has-tooltip .spw-table-header__content{align-items:center;display:flex;gap:16px;justify-content:space-between}.spw-table-header--has-tooltip .spw-table-header__content spw-icon{color:var(--spw-color-themes-grey-grey-500)}.spw-table-header--has-tooltip .spw-table-header__content spw-icon:hover{color:var(--spw-color-themes-grey-grey-900)}.spw-table-header--sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spw-table-header--sortable:hover{background:var(--spw-color-themes-grey-grey-300)}.spw-table-header--sortable .spw-table-header__content{align-items:center;display:flex;gap:16px;justify-content:space-between}.spw-table-header--sortable .spw-table-header__content spw-icon{color:var(--spw-color-themes-grey-grey-500)}.spw-table-header--sortable .spw-table-header__content spw-icon:hover,.spw-table-header--sortable .spw-table-header__content--is-sorted .spw-table-header__sort-icon{color:var(--spw-color-themes-grey-grey-900)}.spw-table-header__sort-icons{display:flex;gap:0}.spw-table-header--padding-small{padding:8px}.spw-table-header--padding-medium{padding:16px}.spw-table-header__icons{align-items:center;color:var(--spw-color-themes-grey-grey-500);display:flex;gap:8px}.spw-table-header ::slotted(spw-checkbox){--spw-ds-checkbox-checked-color:#000}";const o=class{constructor(a){e(this,a);this.spwHeaderClick=t(this,"spwHeaderClick",7);this.isHighlighted=false;this.textAlign="left";this.verticalAlign="top";this.padding="medium";this.sortable=false;this.isSorted=false;this.handleClick=e=>{if(e.target.closest('[slot="filters"]')){e.stopPropagation();return}if(this.sortable){this.spwHeaderClick.emit(this.columnId)}}}get elementClass(){return{"spw-table-header":true,"spw-table-header--sortable":this.sortable,"spw-table-header--is-sorted":this.isSorted,"spw-table-header--has-tooltip":!!(this.tooltipTitle||this.tooltipText),[`spw-table-header--padding-${this.padding}`]:true,[`spw-table-header--text-align-${this.textAlign}`]:true,[`spw-table-header--vertical-align-${this.verticalAlign}`]:true}}render(){return a("th",{key:"f6b876e9a0abd09b83ac0fb6d4ed56069db623b2","aria-sort":this.isSorted?this.sortDirection:"none",onClick:this.handleClick,class:this.elementClass,colSpan:this.colspan,headers:this.headers,part:"cell",rowSpan:this.rowspan},a("div",{key:"59bc5d894c9693eb3fc3bccd050dac2b79c505ee",class:{"spw-table-header__content":true,"spw-table-header__content--is-sorted":this.isSorted}},a("slot",{key:"3e37a6205e94db70faa13e6f362ef66e191b24c7"}),a("div",{key:"671ddc146285bc6b717b904180559d16636bca64",class:"spw-table-header__icons"},a("slot",{key:"448450b9a1c7dd13e54e707de3dc4e230a4787f8",name:"filters"}),(this.tooltipTitle||this.tooltipText)&&a("spw-tooltip",{key:"c516faefd3239efc3e3c8c35e98d0713afe86848","tooltip-title":this.tooltipTitle,"tooltip-text":this.tooltipText},a("spw-icon",{key:"ced1ef2406a68e6b1ce5da441ba5376063930ec3",variant:"fa-regular",icon:"fa-circle-question"})),this.sortable&&a("spw-icon",{key:"89022b197525a6b6e2a0ccda404798f1e9b13a6a",class:"spw-table-header__sort-icon",icon:this.isSorted?this.sortDirection==="asc"?"fa-arrow-up-short-wide":"fa-arrow-down-wide-short":"fa-arrow-up-arrow-down"}))))}};o.style=s;export{o as spw_table_header};
|
|
2
|
-
//# sourceMappingURL=p-ecec4588.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["spwTableHeaderCss","SpwTableHeader","constructor","hostRef","this","isHighlighted","textAlign","verticalAlign","padding","sortable","isSorted","handleClick","event","target","closest","stopPropagation","spwHeaderClick","emit","columnId","elementClass","tooltipTitle","tooltipText","render","h","key","sortDirection","onClick","class","colSpan","colspan","headers","part","rowSpan","rowspan","name","variant","icon"],"sources":["src/components/spw-table/spw-table-header/spw-table-header.scss?tag=spw-table-header&encapsulation=shadow","src/components/spw-table/spw-table-header/spw-table-header.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n.spw-table-header {\n border: 1px solid var(--spw-color-themes-grey-grey-300);\n color: var(--spw-color-themes-grey-grey-800);\n font-size: 14px;\n text-align: left;\n font-weight: 700;\n transition: all 0.2s linear;\n background: var(--spw-color-themes-grey-grey-200);\n white-space: nowrap;\n border-top: none !important;\n border-bottom: none !important;\n box-shadow:\n inset 0 1px 0 var(--spw-color-themes-grey-grey-300),\n inset 0 -1px 0 var(--spw-color-themes-grey-grey-300);\n\n background-clip: padding-box;\n\n :host-context(.spw-table--is-sticky) & {\n position: sticky;\n top: 0;\n z-index: 20;\n }\n\n &--text-align-left {\n text-align: left;\n }\n &--text-align-center {\n text-align: center;\n }\n &--text-align-right {\n text-align: right;\n }\n &--vertical-align-top {\n vertical-align: top;\n }\n &--vertical-align-bottom {\n vertical-align: bottom;\n }\n &--vertical-align-middle {\n vertical-align: middle;\n }\n\n &--has-tooltip {\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &--sortable {\n user-select: none;\n cursor: pointer;\n &:hover {\n background: var(--spw-color-themes-grey-grey-300);\n }\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n &--is-sorted {\n .spw-table-header__sort-icon {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &__sort-icons {\n display: flex;\n gap: 0;\n }\n &--padding-small {\n padding: 8px;\n }\n &--padding-medium {\n padding: 16px;\n }\n &__icons {\n display: flex;\n gap: 8px;\n align-items: center;\n color: var(--spw-color-themes-grey-grey-500);\n }\n ::slotted(spw-checkbox) {\n --spw-ds-checkbox-checked-color: #000;\n }\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-header',\n styleUrl: 'spw-table-header.scss',\n shadow: true,\n})\nexport class SpwTableHeader {\n /** Définit un colspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() colspan?: HTMLTableCellElement['colSpan'];\n /** Définit un header relationnel pour la cellule, à des fins d'accessibilité (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() headers?: HTMLTableCellElement['headers'];\n /** Définit un rowspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() rowspan?: HTMLTableCellElement['rowSpan'];\n /** Définit un style visuel qui met en avant la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() isHighlighted?: boolean = false;\n /** Définit un alignement de texte pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() textAlign?: 'center' | 'left' | 'right' = 'left';\n /** Définit un alignement vertical pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() verticalAlign?: 'top' | 'bottom' | 'middle' = 'top';\n /** Définit le padding pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() padding?: 'small' | 'medium' = 'medium';\n /** Définit id pour la colonne (en cas de tri) (à appliquer sur spw-table-header) */\n @Prop() columnId: string;\n /** Définit si la colonne est triable (à appliquer sur spw-table-header) */\n @Prop() sortable?: boolean = false;\n /** Définit la direction pour le tri sur la colonne (ascendant ou descendant) (à appliquer sur spw-table-header) */\n @Prop() sortDirection?: 'asc' | 'desc';\n /** Définit si la colonne est triée ou non (à appliquer sur spw-table-header) */\n @Prop() isSorted?: boolean = false;\n /** Définit un titre pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipTitle?: string;\n /** Définit un contenu pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipText?: string;\n\n @Event() spwHeaderClick: EventEmitter<string>;\n\n private handleClick = (event: MouseEvent) => {\n if ((event.target as HTMLElement).closest('[slot=\"filters\"]')) {\n event.stopPropagation();\n return;\n }\n if (this.sortable) {\n this.spwHeaderClick.emit(this.columnId);\n }\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table-header': true,\n 'spw-table-header--sortable': this.sortable,\n 'spw-table-header--is-sorted': this.isSorted,\n 'spw-table-header--has-tooltip': !!(this.tooltipTitle || this.tooltipText),\n [`spw-table-header--padding-${this.padding}`]: true,\n [`spw-table-header--text-align-${this.textAlign}`]: true,\n [`spw-table-header--vertical-align-${this.verticalAlign}`]: true,\n };\n }\n\n render() {\n return (\n <th\n aria-sort={this.isSorted ? this.sortDirection : 'none'}\n onClick={this.handleClick}\n class={this.elementClass}\n colSpan={this.colspan}\n headers={this.headers}\n part=\"cell\"\n rowSpan={this.rowspan}\n >\n <div\n class={{\n 'spw-table-header__content': true,\n 'spw-table-header__content--is-sorted': this.isSorted,\n }}\n >\n <slot />\n <div class=\"spw-table-header__icons\">\n <slot name=\"filters\"></slot>\n {(this.tooltipTitle || this.tooltipText) && (\n <spw-tooltip tooltip-title={this.tooltipTitle} tooltip-text={this.tooltipText}>\n <spw-icon variant=\"fa-regular\" icon=\"fa-circle-question\"></spw-icon>\n </spw-tooltip>\n )}\n {this.sortable && (\n <spw-icon\n class=\"spw-table-header__sort-icon\"\n icon={this.isSorted ? (this.sortDirection === 'asc' ? 'fa-arrow-up-short-wide' : 'fa-arrow-down-wide-short') : 'fa-arrow-up-arrow-down'}\n ></spw-icon>\n )}\n </div>\n </div>\n </th>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAoB,8uJ,MCObC,EAAc,MAL3B,WAAAC,CAAAC,G,yDAaUC,KAAaC,cAAa,MAE1BD,KAASE,UAAiC,OAE1CF,KAAaG,cAAiC,MAE9CH,KAAOI,QAAwB,SAI/BJ,KAAQK,SAAa,MAIrBL,KAAQM,SAAa,MAQrBN,KAAAO,YAAeC,IACrB,GAAKA,EAAMC,OAAuBC,QAAQ,oBAAqB,CAC7DF,EAAMG,kBACN,M,CAEF,GAAIX,KAAKK,SAAU,CACjBL,KAAKY,eAAeC,KAAKb,KAAKc,S,EAoDnC,CAhDC,gBAAYC,GACV,MAAO,CACL,mBAAoB,KACpB,6BAA8Bf,KAAKK,SACnC,8BAA+BL,KAAKM,SACpC,mCAAoCN,KAAKgB,cAAgBhB,KAAKiB,aAC9D,CAAC,6BAA6BjB,KAAKI,WAAY,KAC/C,CAAC,gCAAgCJ,KAAKE,aAAc,KACpD,CAAC,oCAAoCF,KAAKG,iBAAkB,K,CAIhE,MAAAe,GACE,OACEC,EAAA,MAAAC,IAAA,uDACapB,KAAKM,SAAWN,KAAKqB,cAAgB,OAChDC,QAAStB,KAAKO,YACdgB,MAAOvB,KAAKe,aACZS,QAASxB,KAAKyB,QACdC,QAAS1B,KAAK0B,QACdC,KAAK,OACLC,QAAS5B,KAAK6B,SAEdV,EAAA,OAAAC,IAAA,2CACEG,MAAO,CACL,4BAA6B,KAC7B,uCAAwCvB,KAAKM,WAG/Ca,EAAQ,QAAAC,IAAA,6CACRD,EAAK,OAAAC,IAAA,2CAAAG,MAAM,2BACTJ,EAAM,QAAAC,IAAA,2CAAAU,KAAK,aACT9B,KAAKgB,cAAgBhB,KAAKiB,cAC1BE,EAAA,eAAAC,IAAA,2DAA4BpB,KAAKgB,aAA4B,eAAAhB,KAAKiB,aAChEE,EAAU,YAAAC,IAAA,2CAAAW,QAAQ,aAAaC,KAAK,wBAGvChC,KAAKK,UACJc,EACE,YAAAC,IAAA,2CAAAG,MAAM,8BACNS,KAAMhC,KAAKM,SAAYN,KAAKqB,gBAAkB,MAAQ,yBAA2B,2BAA8B,6B","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as i,H as r,g as s}from"./p-CvfVJV8a.js";import{g as n}from"./p-B85MJLTf.js";var o={exports:{}};var a;function d(){if(a)return o.exports;a=1;(function(e,t){!function(t,i){e.exports=i()}(window,(function(){return function(e){var t={};function i(r){if(t[r])return t[r].exports;var s=t[r]={i:r,l:false,exports:{}};return e[r].call(s.exports,s,s.exports,i),s.l=true,s.exports}return i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:true,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:true})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:true,value:e}),2&t&&"string"!=typeof e)for(var s in e)i.d(r,s,function(t){return e[t]}.bind(null,s));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t,i){i.r(t);var r=[],s=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],n=["January","February","March","April","May","June","July","August","September","October","November","December"],o={t:"top",r:"right",b:"bottom",l:"left",c:"centered"};function a(){}var d=["click","focusin","keydown","input"];function c(e){d.forEach((function(t){e.addEventListener(t,e===document?N:S)}))}function l(e){return Array.isArray(e)?e.map(l):"[object Object]"===z(e)?Object.keys(e).reduce((function(t,i){return t[i]=l(e[i]),t}),{}):e}function p(e,t){var i=e.calendar.querySelector(".qs-overlay"),r=i&&!i.classList.contains("qs-hidden");t=t||new Date(e.currentYear,e.currentMonth),e.calendar.innerHTML=[u(t,e,r),h(t,e,r),f(e,r)].join(""),r&&window.requestAnimationFrame((function(){D(true,e)}))}function u(e,t,i){return['<div class="qs-controls'+(i?" qs-blur":"")+'">','<div class="qs-arrow qs-left"></div>','<div class="qs-month-year'+(t.disableYearOverlay?" qs-disabled-year-overlay":"")+'">','<span class="qs-month">'+t.months[e.getMonth()]+"</span>",'<span class="qs-year">'+e.getFullYear()+"</span>","</div>",'<div class="qs-arrow qs-right"></div>',"</div>"].join("")}function h(e,t,i){var r=t.currentMonth,s=t.currentYear,n=t.dateSelected,o=t.maxDate,a=t.minDate,d=t.showAllDates,c=t.days,l=t.disabledDates,p=t.startDay,u=t.weekendIndices,h=t.events,f=t.getRange?t.getRange():{},b=+f.start,w=+f.end,m=q(new Date(e).setDate(1)),g=m.getDay()-p,y=g<0?7:0;m.setMonth(m.getMonth()+1),m.setDate(0);var v=m.getDate(),k=[],x=y+7*((g+v)/7|0);x+=(g+v)%7?7:0;for(var D=1;D<=x;D++){var _=(D-1)%7,z=c[_],M=D-(g>=0?g:7+g),N=new Date(s,r,M),S=h[+N],j=M<1||M>v,E=j?M<1?-1:1:0,A=j&&!d,I=A?"":N.getDate(),O=+N==+n,T=_===u[0]||_===u[1],J=b!==w,C="qs-square "+z;S&&!A&&(C+=" qs-event"),j&&(C+=" qs-outside-current-month"),!d&&j||(C+=" qs-num"),O&&(C+=" qs-active"),(l[+N]||t.disabler(N)||T&&t.noWeekends||a&&+N<+a||o&&+N>+o)&&!A&&(C+=" qs-disabled"),+q(new Date)==+N&&(C+=" qs-current"),+N===b&&w&&J&&(C+=" qs-range-start"),+N>b&&+N<w&&(C+=" qs-range-middle"),+N===w&&b&&J&&(C+=" qs-range-end"),A&&(C+=" qs-empty",I=""),k.push('<div class="'+C+'" data-direction="'+E+'">'+I+"</div>")}var R=c.map((function(e){return'<div class="qs-square qs-day">'+e+"</div>"})).concat(k);return R.unshift('<div class="qs-squares'+(i?" qs-blur":"")+'">'),R.push("</div>"),R.join("")}function f(e,t){var i=e.overlayPlaceholder,r=e.overlayButton;return['<div class="qs-overlay'+(t?"":" qs-hidden")+'">',"<div>",'<input class="qs-overlay-year" placeholder="'+i+'" inputmode="numeric" />','<div class="qs-close">✕</div>',"</div>",'<div class="qs-overlay-month-container">'+e.overlayMonths.map((function(e,t){return'<div class="qs-overlay-month" data-month-num="'+t+'">'+e+"</div>"})).join("")+"</div>",'<div class="qs-submit qs-disabled">'+r+"</div>","</div>"].join("")}function b(e,t,i){var r=t.el,s=t.calendar.querySelector(".qs-active"),n=e.textContent,o=t.sibling;(r.disabled||r.readOnly)&&t.respectDisabledReadOnly||(t.dateSelected=i?void 0:new Date(t.currentYear,t.currentMonth,n),s&&s.classList.remove("qs-active"),i||e.classList.add("qs-active"),m(r,t,i),i||k(t),o&&(w({instance:t,deselect:i}),t.first&&!o.dateSelected&&(o.currentYear=t.currentYear,o.currentMonth=t.currentMonth,o.currentMonthName=t.currentMonthName),p(t),p(o)),t.onSelect(t,i?void 0:new Date(t.dateSelected)))}function w(e){var t=e.instance.first?e.instance:e.instance.sibling,i=t.sibling;t===e.instance?e.deselect?(t.minDate=t.originalMinDate,i.minDate=i.originalMinDate):i.minDate=t.dateSelected:e.deselect?(i.maxDate=i.originalMaxDate,t.maxDate=t.originalMaxDate):t.maxDate=i.dateSelected}function m(e,t,i){if(!t.nonInput)return i?e.value="":t.formatter!==a?t.formatter(e,t.dateSelected,t):void(e.value=t.dateSelected.toDateString())}function g(e,t,i,r){i||r?(i&&(t.currentYear=+i),r&&(t.currentMonth=+r)):(t.currentMonth+=e.contains("qs-right")?1:-1,12===t.currentMonth?(t.currentMonth=0,t.currentYear++):-1===t.currentMonth&&(t.currentMonth=11,t.currentYear--)),t.currentMonthName=t.months[t.currentMonth],p(t),t.onMonthChange(t)}function y(e){if(!e.noPosition){var t=e.position.top,i=e.position.right;if(e.position.centered)return e.calendarContainer.classList.add("qs-centered");var r=e.positionedEl.getBoundingClientRect(),s=e.el.getBoundingClientRect(),n=e.calendarContainer.getBoundingClientRect(),o=s.top-r.top+(t?-1*n.height:s.height)+"px",a=s.left-r.left+(i?s.width-n.width:0)+"px";e.calendarContainer.style.setProperty("top",o),e.calendarContainer.style.setProperty("left",a)}}function v(e){return"[object Date]"===z(e)&&"Invalid Date"!==e.toString()}function q(e){if(v(e)||"number"==typeof e&&!isNaN(e)){var t=new Date(+e);return new Date(t.getFullYear(),t.getMonth(),t.getDate())}}function k(e){e.disabled||!e.calendarContainer.classList.contains("qs-hidden")&&!e.alwaysShow&&("overlay"!==e.defaultView&&D(true,e),e.calendarContainer.classList.add("qs-hidden"),e.onHide(e))}function x(e){e.disabled||(e.calendarContainer.classList.remove("qs-hidden"),"overlay"===e.defaultView&&D(false,e),y(e),e.onShow(e))}function D(e,t){var i=t.calendar,r=i.querySelector(".qs-overlay"),s=r.querySelector(".qs-overlay-year"),n=i.querySelector(".qs-controls"),o=i.querySelector(".qs-squares");e?(r.classList.add("qs-hidden"),n.classList.remove("qs-blur"),o.classList.remove("qs-blur"),s.value=""):(r.classList.remove("qs-hidden"),n.classList.add("qs-blur"),o.classList.add("qs-blur"),s.focus())}function _(e,t,i,r){var s=isNaN(+(new Date).setFullYear(t.value||void 0)),n=s?null:t.value;if(13===e.which||13===e.keyCode||"click"===e.type)r?g(null,i,n,r):s||t.classList.contains("qs-disabled")||g(null,i,n);else if(i.calendar.contains(t)){i.calendar.querySelector(".qs-submit").classList[s?"add":"remove"]("qs-disabled")}}function z(e){return{}.toString.call(e)}function M(e){r.forEach((function(t){t!==e&&k(t)}))}function N(e){if(!e.__qs_shadow_dom){var t=e.which||e.keyCode,i=e.type,s=e.target,o=s.classList,a=r.filter((function(e){return e.calendar.contains(s)||e.el===s}))[0],d=a&&a.calendar.contains(s);if(!(a&&a.isMobile&&a.disableMobile))if("click"===i){if(!a)return r.forEach(k);if(a.disabled)return;var c=a.calendar,l=a.calendarContainer,u=a.disableYearOverlay,h=a.nonInput,f=c.querySelector(".qs-overlay-year"),w=!!c.querySelector(".qs-hidden"),m=c.querySelector(".qs-month-year").contains(s),y=s.dataset.monthNum;if(a.noPosition&&!d)(l.classList.contains("qs-hidden")?x:k)(a);else if(o.contains("qs-arrow"))g(o,a);else if(m||o.contains("qs-close"))u||D(!w,a);else if(y)_(e,f,a,y);else{if(o.contains("qs-disabled"))return;if(o.contains("qs-num")){var v=s.textContent,q=+s.dataset.direction,z=new Date(a.currentYear,a.currentMonth+q,v);if(q){a.currentYear=z.getFullYear(),a.currentMonth=z.getMonth(),a.currentMonthName=n[a.currentMonth],p(a);for(var N,S=a.calendar.querySelectorAll('[data-direction="0"]'),j=0;!N;){var E=S[j];E.textContent===v&&(N=E),j++}s=N}return void(+z==+a.dateSelected?b(s,a,true):s.classList.contains("qs-disabled")||b(s,a))}o.contains("qs-submit")?_(e,f,a):h&&s===a.el&&(x(a),M(a))}}else if("focusin"===i&&a)x(a),M(a);else if("keydown"===i&&9===t&&a)k(a);else if("keydown"===i&&a&&!a.disabled){var A=!a.calendar.querySelector(".qs-overlay").classList.contains("qs-hidden");13===t&&A&&d?_(e,s,a):27===t&&A&&d&&D(true,a)}else if("input"===i){if(!a||!a.calendar.contains(s))return;var I=a.calendar.querySelector(".qs-submit"),O=s.value.split("").reduce((function(e,t){return e||"0"!==t?e+(t.match(/[0-9]/)?t:""):""}),"").slice(0,4);s.value=O,I.classList[4===O.length?"remove":"add"]("qs-disabled")}}}function S(e){N(e),e.__qs_shadow_dom=true}function j(e,t){d.forEach((function(i){e.removeEventListener(i,t)}))}function E(){x(this)}function A(){k(this)}function I(e,t){var i=q(e),r=this.currentYear,s=this.currentMonth,n=this.sibling;if(null==e)return this.dateSelected=void 0,m(this.el,this,true),n&&(w({instance:this,deselect:true}),p(n)),p(this),this;if(!v(e))throw new Error("`setDate` needs a JavaScript Date object.");if(this.disabledDates[+i]||i<this.minDate||i>this.maxDate)throw new Error("You can't manually set a date that's disabled.");this.dateSelected=i,t&&(this.currentYear=i.getFullYear(),this.currentMonth=i.getMonth(),this.currentMonthName=this.months[i.getMonth()]),m(this.el,this),n&&(w({instance:this}),p(n));var o=r===i.getFullYear()&&s===i.getMonth();return o||t?p(this,i):o||p(this,new Date(r,s,1)),this}function O(e){return J(this,e,true)}function T(e){return J(this,e)}function J(e,t,i){var r=e.dateSelected,s=e.first,n=e.sibling,o=e.minDate,a=e.maxDate,d=q(t),c=i?"Min":"Max";function l(){return"original"+c+"Date"}function u(){return c.toLowerCase()+"Date"}function h(){return"set"+c}function f(){throw new Error("Out-of-range date passed to "+h())}if(null==t)e[l()]=void 0,n?(n[l()]=void 0,i?(s&&!r||!s&&!n.dateSelected)&&(e.minDate=void 0,n.minDate=void 0):(s&&!n.dateSelected||!s&&!r)&&(e.maxDate=void 0,n.maxDate=void 0)):e[u()]=void 0;else{if(!v(t))throw new Error("Invalid date passed to "+h());n?((s&&i&&d>(r||a)||s&&!i&&d<(n.dateSelected||o)||!s&&i&&d>(n.dateSelected||a)||!s&&!i&&d<(r||o))&&f(),e[l()]=d,n[l()]=d,(i&&(s&&!r||!s&&!n.dateSelected)||!i&&(s&&!n.dateSelected||!s&&!r))&&(e[u()]=d,n[u()]=d)):((i&&d>(r||a)||!i&&d<(r||o))&&f(),e[u()]=d)}return n&&p(n),p(e),e}function C(){var e=this.first?this:this.sibling,t=e.sibling;return{start:e.dateSelected,end:t.dateSelected}}function R(){var e=this.shadowDom,t=this.positionedEl,i=this.calendarContainer,s=this.sibling,n=this;this.inlinePosition&&(r.some((function(e){return e!==n&&e.positionedEl===t}))||t.style.setProperty("position",null));i.remove(),r=r.filter((function(e){return e!==n})),s&&delete s.sibling,r.length||j(document,N);var o=r.some((function(t){return t.shadowDom===e}));for(var a in e&&!o&&j(e,S),this)delete this[a];r.length||d.forEach((function(e){document.removeEventListener(e,N)}))}function V(e,t){var i=new Date(e);if(!v(i))throw new Error("Invalid date passed to `navigate`");this.currentYear=i.getFullYear(),this.currentMonth=i.getMonth(),p(this),t&&this.onMonthChange(this)}function $(){var e=!this.calendarContainer.classList.contains("qs-hidden"),t=!this.calendarContainer.querySelector(".qs-overlay").classList.contains("qs-hidden");e&&D(t,this)}t.default=function(e,t){var i=function(e,t){var i,d,c=function(e){var t=l(e);t.events&&(t.events=t.events.reduce((function(e,t){if(!v(t))throw new Error('"options.events" must only contain valid JavaScript Date objects.');return e[+q(t)]=true,e}),{}));["startDate","dateSelected","minDate","maxDate"].forEach((function(e){var i=t[e];if(i&&!v(i))throw new Error('"options.'+e+'" needs to be a valid JavaScript Date object.');t[e]=q(i)}));var i=t.position,n=t.maxDate,d=t.minDate,c=t.dateSelected,p=t.overlayPlaceholder,u=t.overlayButton,h=t.startDay,f=t.id;if(t.startDate=q(t.startDate||c||new Date),t.disabledDates=(t.disabledDates||[]).reduce((function(e,t){var i=+q(t);if(!v(t))throw new Error('You supplied an invalid date to "options.disabledDates".');if(i===+q(c))throw new Error('"disabledDates" cannot contain the same date as "dateSelected".');return e[i]=1,e}),{}),t.hasOwnProperty("id")&&null==f)throw new Error("`id` cannot be `null` or `undefined`");if(null!=f){var b=r.filter((function(e){return e.id===f}));if(b.length>1)throw new Error("Only two datepickers can share an id.");b.length?(t.second=true,t.sibling=b[0]):t.first=true}var w=["tr","tl","br","bl","c"].some((function(e){return i===e}));if(i&&!w)throw new Error('"options.position" must be one of the following: tl, tr, bl, br, or c.');function m(e){throw new Error('"dateSelected" in options is '+(e?"less":"greater")+' than "'+(e||"max")+'Date".')}if(t.position=function(e){var t=e[0],i=e[1],r={};r[o[t]]=1,i&&(r[o[i]]=1);return r}(i||"bl"),n<d)throw new Error('"maxDate" in options is less than "minDate".');c&&(d>c&&m("min"),n<c&&m());if(["onSelect","onShow","onHide","onMonthChange","formatter","disabler"].forEach((function(e){"function"!=typeof t[e]&&(t[e]=a)})),["customDays","customMonths","customOverlayMonths"].forEach((function(e,i){var r=t[e],s=i?12:7;if(r){if(!Array.isArray(r)||r.length!==s||r.some((function(e){return"string"!=typeof e})))throw new Error('"'+e+'" must be an array with '+s+" strings.");t[i?i<2?"months":"overlayMonths":"days"]=r}})),h&&h>0&&h<7){var g=(t.customDays||s).slice(),y=g.splice(0,h);t.customDays=g.concat(y),t.startDay=+h,t.weekendIndices=[g.length-1,g.length]}else t.startDay=0,t.weekendIndices=[6,0];"string"!=typeof p&&delete t.overlayPlaceholder;"string"!=typeof u&&delete t.overlayButton;var k=t.defaultView;if(k&&"calendar"!==k&&"overlay"!==k)throw new Error('options.defaultView must either be "calendar" or "overlay".');return t.defaultView=k||"calendar",t}(t||{startDate:q(new Date),position:"bl",defaultView:"calendar"}),p=e;if("string"==typeof p)p="#"===p[0]?document.getElementById(p.slice(1)):document.querySelector(p);else{if("[object ShadowRoot]"===z(p))throw new Error("Using a shadow DOM as your selector is not supported.");for(var u,h=p.parentNode;!u;){var f=z(h);"[object HTMLDocument]"===f?u=true:"[object ShadowRoot]"===f?(u=true,i=h,d=h.host):h=h.parentNode}}if(!p)throw new Error("No selector / element found.");if(r.some((function(e){return e.el===p})))throw new Error("A datepicker already exists on that element.");var b=p===document.body,w=i?p.parentElement||i:b?document.body:p.parentElement,g=i?p.parentElement||d:w,y=document.createElement("div"),k=document.createElement("div");y.className="qs-datepicker-container qs-hidden",k.className="qs-datepicker";var D={shadowDom:i,customElement:d,positionedEl:g,el:p,parent:w,nonInput:"INPUT"!==p.nodeName,noPosition:b,position:!b&&c.position,startDate:c.startDate,dateSelected:c.dateSelected,disabledDates:c.disabledDates,minDate:c.minDate,maxDate:c.maxDate,noWeekends:!!c.noWeekends,weekendIndices:c.weekendIndices,calendarContainer:y,calendar:k,currentMonth:(c.startDate||c.dateSelected).getMonth(),currentMonthName:(c.months||n)[(c.startDate||c.dateSelected).getMonth()],currentYear:(c.startDate||c.dateSelected).getFullYear(),events:c.events||{},defaultView:c.defaultView,setDate:I,remove:R,setMin:O,setMax:T,show:E,hide:A,navigate:V,toggleOverlay:$,onSelect:c.onSelect,onShow:c.onShow,onHide:c.onHide,onMonthChange:c.onMonthChange,formatter:c.formatter,disabler:c.disabler,months:c.months||n,days:c.customDays||s,startDay:c.startDay,overlayMonths:c.overlayMonths||(c.months||n).map((function(e){return e.slice(0,3)})),overlayPlaceholder:c.overlayPlaceholder||"4-digit year",overlayButton:c.overlayButton||"Submit",disableYearOverlay:!!c.disableYearOverlay,disableMobile:!!c.disableMobile,isMobile:"ontouchstart"in window,alwaysShow:!!c.alwaysShow,id:c.id,showAllDates:!!c.showAllDates,respectDisabledReadOnly:!!c.respectDisabledReadOnly,first:c.first,second:c.second};if(c.sibling){var _=c.sibling,M=D,N=_.minDate||M.minDate,S=_.maxDate||M.maxDate;M.sibling=_,_.sibling=M,_.minDate=N,_.maxDate=S,M.minDate=N,M.maxDate=S,_.originalMinDate=N,_.originalMaxDate=S,M.originalMinDate=N,M.originalMaxDate=S,_.getRange=C,M.getRange=C}c.dateSelected&&m(p,D);var j=getComputedStyle(g).position;b||j&&"static"!==j||(D.inlinePosition=true,g.style.setProperty("position","relative"));var J=r.filter((function(e){return e.positionedEl===D.positionedEl}));J.some((function(e){return e.inlinePosition}))&&(D.inlinePosition=true,J.forEach((function(e){e.inlinePosition=true})));y.appendChild(k),w.appendChild(y),D.alwaysShow&&x(D);return D}(e,t);if(r.length||c(document),i.shadowDom&&(r.some((function(e){return e.shadowDom===i.shadowDom}))||c(i.shadowDom)),r.push(i),i.second){var d=i.sibling;w({instance:i,deselect:!i.dateSelected}),w({instance:d,deselect:!d.dateSelected}),p(d)}return p(i,i.startDate||i.dateSelected),i.alwaysShow&&y(i),i}}]).default}))})(o);return o.exports}var c=d();var l=n(c);const p='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */.qs-datepicker-container{font-size:1rem;font-family:sans-serif;color:#000;position:absolute;width:15.625em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:9001;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid grey;border-radius:.263921875em;overflow:hidden;background:#fff;-webkit-box-shadow:0 1.25em 1.25em -.9375em rgba(0,0,0,.3);box-shadow:0 1.25em 1.25em -.9375em rgba(0,0,0,.3)}.qs-datepicker-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.qs-centered{position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.qs-hidden{display:none}.qs-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.75);color:#fff;width:100%;height:100%;padding:.5em;z-index:1;opacity:1;-webkit-transition:opacity .3s;transition:opacity .3s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.qs-overlay.qs-hidden{opacity:0;z-index:-1}.qs-overlay .qs-overlay-year{background:rgba(0,0,0,0);border:none;border-bottom:1px solid #fff;border-radius:0;color:#fff;font-size:.875em;padding:.25em 0;width:80%;text-align:center;margin:0 auto;display:block}.qs-overlay .qs-overlay-year::-webkit-inner-spin-button{-webkit-appearance:none}.qs-overlay .qs-close{padding:.5em;cursor:pointer;position:absolute;top:0;right:0}.qs-overlay .qs-submit{border:1px solid #fff;border-radius:.263921875em;padding:.5em;margin:0 auto auto;cursor:pointer;background:hsla(0,0%,50.2%,.4)}.qs-overlay .qs-submit.qs-disabled{color:grey;border-color:grey;cursor:not-allowed}.qs-overlay .qs-overlay-month-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.qs-overlay .qs-overlay-month{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:calc(100% / 3);cursor:pointer;opacity:.5;-webkit-transition:opacity .15s;transition:opacity .15s}.qs-overlay .qs-overlay-month.active,.qs-overlay .qs-overlay-month:hover{opacity:1}.qs-controls{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:0;flex-shrink:0;background:#d3d3d3;-webkit-filter:blur(0);filter:blur(0);-webkit-transition:-webkit-filter .3s;transition:-webkit-filter .3s;transition:filter .3s;transition:filter .3s, -webkit-filter .3s}.qs-controls.qs-blur{-webkit-filter:blur(5px);filter:blur(5px)}.qs-arrow{height:1.5625em;width:1.5625em;position:relative;cursor:pointer;border-radius:.263921875em;-webkit-transition:background .15s;transition:background .15s}.qs-arrow:hover.qs-left:after{border-right-color:#000}.qs-arrow:hover.qs-right:after{border-left-color:#000}.qs-arrow:hover{background:rgba(0,0,0,.1)}.qs-arrow:after{content:"";border:.390625em solid rgba(0,0,0,0);position:absolute;top:50%;-webkit-transition:border .2s;transition:border .2s}.qs-arrow.qs-left:after{border-right-color:grey;right:50%;-webkit-transform:translate(25%,-50%);-ms-transform:translate(25%,-50%);transform:translate(25%,-50%)}.qs-arrow.qs-right:after{border-left-color:grey;left:50%;-webkit-transform:translate(-25%,-50%);-ms-transform:translate(-25%,-50%);transform:translate(-25%,-50%)}.qs-month-year{font-weight:700;-webkit-transition:border .2s;transition:border .2s;border-bottom:1px solid rgba(0,0,0,0)}.qs-month-year:not(.qs-disabled-year-overlay){cursor:pointer}.qs-month-year:not(.qs-disabled-year-overlay):hover{border-bottom:1px solid grey}.qs-month-year:active:focus,.qs-month-year:focus{outline:none}.qs-month{padding-right:.5ex}.qs-year{padding-left:.5ex}.qs-squares{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.3125em;-webkit-filter:blur(0);filter:blur(0);-webkit-transition:-webkit-filter .3s;transition:-webkit-filter .3s;transition:filter .3s;transition:filter .3s, -webkit-filter .3s}.qs-squares.qs-blur{-webkit-filter:blur(5px);filter:blur(5px)}.qs-square{width:calc(100% / 7);height:1.5625em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-transition:background .1s;transition:background .1s;border-radius:.263921875em}.qs-square:not(.qs-empty):not(.qs-disabled):not(.qs-day):not(.qs-active):hover{background:orange}.qs-current{font-weight:700;text-decoration:underline}.qs-active,.qs-range-end,.qs-range-start{background:#add8e6}.qs-range-start:not(.qs-range-6){border-top-right-radius:0;border-bottom-right-radius:0}.qs-range-middle{background:#d4ebf2}.qs-range-middle:not(.qs-range-0):not(.qs-range-6){border-radius:0}.qs-range-middle.qs-range-0{border-top-right-radius:0;border-bottom-right-radius:0}.qs-range-end:not(.qs-range-0),.qs-range-middle.qs-range-6{border-top-left-radius:0;border-bottom-left-radius:0}.qs-disabled,.qs-outside-current-month{opacity:.2}.qs-disabled{cursor:not-allowed}.qs-day,.qs-empty{cursor:default}.qs-day{font-weight:700;color:grey}.qs-event{position:relative}.qs-event:after{content:"";position:absolute;width:.46875em;height:.46875em;border-radius:50%;background:#07f;bottom:0;right:0}html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;--spw-input-height:40px;--spw-input-padding:0 12px;--spw-input-text-align:left;--spw-input-font-size:16px;--spw-input-radius:4px;--spw-input-icon-search-color:var(--spw-color-themes-grey-grey-900);--spw-input-border:var(--spw-color-themes-grey-grey-800);box-sizing:border-box;display:block;font-family:inherit;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)}}.qs-datepicker-container .qs-overlay .qs-overlay-year,.spw-date-picker__input{border:1px solid var(--spw-input-border);border-radius:var(--spw-input-radius);flex:1;font-size:var(--spw-input-font-size);height:var(--spw-input-height);line-height:var(--spw-input-height);padding:var(--spw-input-padding);text-align:var(--spw-input-text-align);text-overflow:ellipsis;width:100%}.qs-datepicker-container .qs-overlay .qs-overlay-year:hover,.spw-date-picker__input:hover{outline:4px solid var(--spw-color-themes-grey-grey-300)}.qs-datepicker-container .qs-overlay .qs-overlay-year:focus,.qs-datepicker-container .qs-overlay .qs-overlay-year:focus-visible,.spw-date-picker__input:focus,.spw-date-picker__input:focus-visible{box-shadow:0 0 0 6px #000;outline:3px solid #fff;outline-offset:0}.qs-datepicker-container .qs-overlay .qs-overlay-year:active,.spw-date-picker__input:active{border-color:var(--spw-input-border)}.spw-date-picker__input-container{align-items:center;display:flex;position:relative}.spw-date-picker__input--error,.spw-date-picker__input--error:focus{border-color:var(--spw-color-error,#dc2626)}.spw-date-picker__input--error:focus{box-shadow:0 0 0 3px var(--spw-color-error-light,rgba(220,38,38,.1))}.spw-date-picker__input--disabled{background:var(--spw-color-themes-grey-grey-100);border-color:var(--spw-color-themes-grey-grey-400);color:var(--spw-color-themes-grey-grey-500);cursor:not-allowed}.spw-date-picker__input--disabled::-moz-placeholder{color:var(--spw-color-themes-grey-grey-500)}.spw-date-picker__input--disabled::placeholder{color:var(--spw-color-themes-grey-grey-500)}.spw-date-picker__input--disabled:focus,.spw-date-picker__input--disabled:focus-visible,.spw-date-picker__input--disabled:hover{outline:none}.spw-date-picker__input--open{box-shadow:0 0 0 6px #000;outline:3px solid #fff;outline-offset:0}.spw-date-picker__input::-moz-placeholder{color:var(--spw-color-text-placeholder,#9ca3af)}.spw-date-picker__input::placeholder{color:var(--spw-color-text-placeholder,#9ca3af)}.spw-date-picker__icon{font-size:1rem;pointer-events:none;position:absolute;right:.75rem}.spw-date-picker__help,.spw-date-picker__icon{color:var(--spw-color-text-secondary,#6b7280)}.spw-date-picker__error,.spw-date-picker__help{font-size:.75rem;line-height:1rem;margin-top:.25rem}.spw-date-picker__error{align-items:center;color:var(--spw-color-error,#dc2626);display:flex}.spw-date-picker__error spw-icon{font-size:.75rem;margin-right:.25rem}.qs-datepicker-container{border:none;box-shadow:var(--spw-effect-elevation-6);margin-top:6px;width:320px}.qs-datepicker-container .qs-controls{background:none;margin-bottom:16px;padding:24px 24px 0;position:relative}.qs-datepicker-container .qs-month-year{border:1px solid var(--spw-colors-support-grey-grey-300);border-radius:6px;font-size:14px;padding:8px 16px}.qs-datepicker-container .qs-month-year:hover{border-color:var(--spw-colors-support-grey-grey-800)}.qs-datepicker-container .qs-arrow{color:transparent;height:36px;position:absolute;top:24px;width:36px}.qs-datepicker-container .qs-arrow:before{align-items:center;color:var(--spw-colors-support-grey-grey-800);content:"";display:inline-flex;font-family:var(--spw-ds-font-icons-solid);font-size:16px;font-weight:700;height:100%;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.qs-datepicker-container .qs-arrow:after{display:none}.qs-datepicker-container .qs-arrow:hover{background:var(--spw-colors-support-grey-grey-200)}.qs-datepicker-container .qs-arrow:active{background:var(--spw-colors-support-grey-grey-300)}.qs-datepicker-container .qs-left{right:60px}.qs-datepicker-container .qs-left:before{content:"\\f053"}.qs-datepicker-container .qs-right{right:24px}.qs-datepicker-container .qs-right:before{content:"\\f054"}.qs-datepicker-container .qs-squares{gap:4px 0;padding:0 24px 24px}.qs-datepicker-container .qs-square{font-size:14px;height:36px;text-transform:lowercase}.qs-datepicker-container .qs-square:not(.qs-empty):not(.qs-disabled):not(.qs-day):not(.qs-active):hover{background:var(--spw-colors-support-grey-grey-400)}.qs-datepicker-container .qr-range-start:hover,.qs-datepicker-container .qs-range-end:hover{background:var(--spw-colors-support-grey-grey-800)}.qs-datepicker-container .qs-active,.qs-datepicker-container .qs-range-end,.qs-datepicker-container .qs-range-start,.qs-datepicker-container .qs-range-start.qs-disabled{background:var(--spw-colors-support-grey-grey-900);color:#fff;opacity:1}.qs-datepicker-container .qs-range-middle{background:var(--spw-colors-support-grey-grey-300)}.qs-datepicker-container .spw-date-range-start{background:var(--spw-colors-support-grey-grey-900)!important;border-radius:4px 0 0 4px!important;color:#fff!important;font-weight:700;opacity:1!important}.qs-datepicker-container .spw-date-range-start:hover{background:var(--spw-colors-support-grey-grey-800)!important}.qs-datepicker-container .spw-date-range-end{background:var(--spw-colors-support-grey-grey-900)!important;border-radius:0 4px 4px 0!important;color:#fff!important;font-weight:700;opacity:1!important}.qs-datepicker-container .spw-date-range-end:hover{background:var(--spw-colors-support-grey-grey-800)!important}.qs-datepicker-container .spw-date-range-middle{background:var(--spw-colors-support-grey-grey-300)!important;border-radius:0!important}.qs-datepicker-container .spw-date-range-middle:hover{background:var(--spw-colors-support-grey-grey-400)!important}.qs-datepicker-container .qs-day{border-radius:0;color:var(--spw-colors-support-grey-grey-800);font-weight:400;padding-bottom:12px;position:relative}.qs-datepicker-container .qs-day:after{background:var(--spw-colors-support-grey-grey-300);bottom:0;content:"";height:1px;left:0;position:absolute;width:68px}.qs-datepicker-container .qs-day:nth-child(7):after{display:none}.qs-datepicker-container .qs-overlay{background:#fff;padding:24px;transition:none}.qs-datepicker-container .qs-overlay-month{color:var(--spw-colors-support-grey-grey-800);font-size:14px;width:25%}.qs-datepicker-container .qs-close{color:var(--spw-colors-support-grey-grey-600);height:40px;left:24px;padding:0;right:auto;text-indent:-9999px;top:24px;transition:all .2s ease-in;width:32px}.qs-datepicker-container .qs-close:after{content:"\\f060";font-family:var(--spw-ds-font-icons-solid);font-size:14px;font-weight:700;left:0;position:absolute;text-indent:0;top:50%;transform:translateY(-50%)}.qs-datepicker-container .qs-close:hover{color:var(--spw-colors-support-grey-grey-900)}.qs-datepicker-container .qs-blur{filter:none}.qs-datepicker-container .qs-overlay .qs-overlay-year{color:var(--spw-colors-support-grey-grey-900);margin-bottom:24px;margin-left:28px;width:calc(100% - 80px)}.qs-datepicker-container .qs-submit{background:var(--spw-ds-primary);border:2px solid transparent;border-radius:9999px;color:#fff;font-size:14px;font-weight:700;height:40px;position:absolute;right:24px;text-indent:-9999px;top:24px;transition:all .2s ease-in;width:40px}.qs-datepicker-container .qs-submit:after{content:"\\f00c";font-family:var(--spw-ds-font-icons-solid);font-size:14px;font-weight:700;left:50%;position:absolute;text-indent:0;top:50%;transform:translate(-50%,-50%)}.qs-datepicker-container .qs-submit:hover{background:var(--spw-ds-variant)}.qs-datepicker-container .qs-submit:active{background:var(--spw-ds-active)}.qs-datepicker-container .qs-submit.qs-disabled{background:var(--spw-colors-support-grey-grey-400);border-color:var(--spw-colors-support-grey-grey-400);color:var(--spw-colors-support-grey-grey-500);opacity:1}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}';const u=class{constructor(i){e(this,i);this.dateChange=t(this,"dateChange",7);this.datePickerOpen=t(this,"datePickerOpen",7);this.datePickerClose=t(this,"datePickerClose",7);if(i.$hostElement$["s-ei"]){this.internals=i.$hostElement$["s-ei"]}else{this.internals=i.$hostElement$.attachInternals();i.$hostElement$["s-ei"]=this.internals}this.placeholder="JJ/MM/AAAA";this.required=false;this.disabled=false;this.dateFormat="dd/MM/yyyy";this.disabledDays=[];this.disabledDates=[];this.position="bl";this.error="";this.hint="";this.success="";this.warning="";this.showErrorIcon=true;this.showHintIcon=true;this.showSuccessIcon=true;this.showWarningIcon=true;this.range=false;this.isStart=false;this.isOpen=false;this.hasError=false;this.internalValue="";this.lastInputValue="";this.isDeleting=false;this.handleMaskedInput=e=>{const t=e.target;const i=t.value;const r=t.selectionStart||0;this.isDeleting=i.length<this.lastInputValue.length;if(this.isDeleting){this.internalValue=i;t.value=i;this.lastInputValue=i;setTimeout((()=>{if(this.inputElement){this.inputElement.setSelectionRange(r,r)}}),0)}else{const e=this.unmask(this.lastInputValue).length;const s=this.applyMaskSmart(i);const n=this.unmask(s).length;this.internalValue=s;t.value=s;this.lastInputValue=s;setTimeout((()=>{if(this.inputElement){let t=r;if(n>e){if(n===3&&e===2||n===5&&e===4){t=r+1}}t=Math.min(t,s.length);this.inputElement.setSelectionRange(t,t)}}),0)}const s=this.unmask(this.internalValue);if(s.length===8){const e=this.parseDate(this.internalValue);if(e&&!isNaN(e.getTime())){const t=this.toISODateString(e);this.value=t;this.internals.setFormValue(t);this.dateChange.emit({value:t,date:e});if(this.datepickerInstance){this.datepickerInstance.setDate(e,true)}}}else if(!this.internalValue){this.value="";this.internals.setFormValue(null);this.dateChange.emit({value:"",date:null});if(this.datepickerInstance){this.datepickerInstance.setDate(undefined,true)}}};this.handleInputChange=e=>{this.handleMaskedInput(e)};this.handleInputFocus=()=>{if(!this.disabled&&this.datepickerInstance){this.datepickerInstance.show()}};this.handleKeyDown=e=>{const t=e.target;const i=t===this.inputElement;const r=t.closest(".qs-datepicker")!==null;if(i){switch(e.key){case"Tab":if(!e.shiftKey&&this.isOpen){e.preventDefault();e.stopPropagation();setTimeout((()=>{var e;const t=(e=this.datepickerInstance)===null||e===void 0?void 0:e.calendarContainer;if(t){const e=[...Array.from(t.querySelectorAll(".qs-arrow")),t.querySelector(".qs-month-year"),...Array.from(t.querySelectorAll(".qs-square:not(.qs-day):not(.qs-empty)"))].filter(Boolean);if(e[0]){e[0].focus()}}}),0)}break;case"Escape":if(this.isOpen){e.preventDefault();this.datepickerInstance.hide();this.inputElement.focus()}break}}else if(r){switch(e.key){case"Escape":e.preventDefault();this.datepickerInstance.hide();this.inputElement.focus();break;case"Tab":if(e.shiftKey){e.preventDefault();this.inputElement.focus()}break}}}}componentWillLoad(){this.uniqueId=`spw-date-picker-${Math.random().toString(36).substr(2,9)}`;if(typeof this.disabledDays==="string"){try{const e=JSON.parse(this.disabledDays);if(Array.isArray(e)&&e.every((e=>typeof e==="number"))){this.disabledDays=e}else{this.disabledDays=[]}}catch(e){this.disabledDays=[]}}const e=this.value?this.formatDate(new Date(this.value)):"";this.internalValue=e;this.lastInputValue=this.internalValue}componentDidLoad(){this.initializeDatepicker();if(this.value){const e=new Date(this.value);if(!isNaN(e.getTime())){this.datepickerInstance.setDate(e,true);this.inputElement.value=this.formatDate(e);this.internalValue=this.formatDate(e)}}this.internals.setFormValue(this.value?this.value:null)}disconnectedCallback(){if(this.datepickerInstance&&typeof this.datepickerInstance.remove==="function"){this.datepickerInstance.remove()}}watchValue(e){if(this.datepickerInstance&&e){const t=new Date(e);if(!isNaN(t.getTime())){this.datepickerInstance.setDate(t,true);const e=this.formatDate(t);this.inputElement.value=e;this.internalValue=e;this.lastInputValue=e}}else if(this.datepickerInstance){this.datepickerInstance.setDate(undefined,true);this.inputElement.value="";this.internalValue="";this.lastInputValue=""}this.internals.setFormValue(e?e:null);this.updateRangeConstraints()}watchDisabled(e){if(this.inputElement){this.inputElement.disabled=e}}watchMinDate(e){if(this.datepickerInstance&&e){this.datepickerInstance.setMin(new Date(e))}else if(this.datepickerInstance){this.datepickerInstance.setMin(undefined)}}watchMaxDate(e){if(this.datepickerInstance&&e){this.datepickerInstance.setMax(new Date(e))}else if(this.datepickerInstance){this.datepickerInstance.setMax(undefined)}}async open(){if(this.datepickerInstance){this.datepickerInstance.show()}}async close(){if(this.datepickerInstance){this.datepickerInstance.hide()}}async setDate(e){if(this.datepickerInstance){const t=typeof e==="string"?new Date(e):e;this.datepickerInstance.setDate(t,true)}}async getDate(){return this.datepickerInstance?this.datepickerInstance.dateSelected:null}async getRange(){var e;if(this.range&&((e=this.datepickerInstance)===null||e===void 0?void 0:e.getRange)){return this.datepickerInstance.getRange()}return{start:null,end:null}}async updateConstraints(e,t){if(!this.datepickerInstance)return;if(e!==undefined){if(typeof this.datepickerInstance.setMin==="function"){this.datepickerInstance.setMin(e)}else{this.datepickerInstance.minDate=e}}if(t!==undefined){if(typeof this.datepickerInstance.setMax==="function"){this.datepickerInstance.setMax(t)}else{this.datepickerInstance.maxDate=t}}if(this.isOpen&&this.datepickerInstance.calendar){this.datepickerInstance.hide();setTimeout((()=>{this.datepickerInstance.show()}),0)}}async resetInput(){this.value="";this.internalValue="";this.lastInputValue="";this.internals.setFormValue(null);if(this.inputElement){this.inputElement.value=""}if(this.datepickerInstance){this.datepickerInstance.setDate(undefined,true)}this.dateChange.emit({value:"",date:null});this.updateRangeConstraints()}toISODateString(e){const t=e.getFullYear();const i=`${e.getMonth()+1}`.padStart(2,"0");const r=`${e.getDate()}`.padStart(2,"0");return`${t}-${i}-${r}`}getRangeSiblings(){if(!this.range||!this.rangeId)return{start:null,end:null};const e=`spw-date-picker[range][range-id="${this.rangeId}"]`;const t=Array.from(document.querySelectorAll(e));let i=null;let r=null;t.forEach((e=>{if(e.hasAttribute("is-start")){i=e}else{r=e}}));return{start:i,end:r}}highlightRangeInCalendar(){var e;if(!this.range||!this.rangeId||!((e=this.datepickerInstance)===null||e===void 0?void 0:e.calendar))return;const{start:t,end:i}=this.getRangeSiblings();if(!t||!i)return;const r=t.value;const s=i.value;if(!r||!s){const e=this.datepickerInstance.calendar.querySelectorAll(".qs-square");e.forEach((e=>{e.classList.remove("spw-date-range-start","spw-date-range-end","spw-date-range-middle")}));return}const n=new Date(r);const o=new Date(s);if(isNaN(n.getTime())||isNaN(o.getTime()))return;const a=this.datepickerInstance.calendar.querySelectorAll(".qs-square:not(.qs-empty)");a.forEach((e=>{const t=parseInt(e.textContent||"0",10);if(!t)return;const i=this.datepickerInstance.currentMonth;const r=this.datepickerInstance.currentYear;const s=new Date(r,i,t);const a=new Date(s.getFullYear(),s.getMonth(),s.getDate());const d=new Date(n.getFullYear(),n.getMonth(),n.getDate());const c=new Date(o.getFullYear(),o.getMonth(),o.getDate());if(a>=d&&a<=c){if(a.getTime()===d.getTime()){e.classList.add("spw-date-range-start");e.classList.remove("spw-date-range-middle","spw-date-range-end")}else if(a.getTime()===c.getTime()){e.classList.add("spw-date-range-end");e.classList.remove("spw-date-range-middle","spw-date-range-start")}else{e.classList.add("spw-date-range-middle");e.classList.remove("spw-date-range-start","spw-date-range-end")}}else{e.classList.remove("spw-date-range-start","spw-date-range-end","spw-date-range-middle")}}))}async updateRangeConstraints(){var e,t;if(!this.range||!this.rangeId)return;const{start:i,end:r}=this.getRangeSiblings();if(this.isStart&&r){await((e=r.componentOnReady)===null||e===void 0?void 0:e.call(r));const t=this.value?new Date(this.value):null;if(t&&!isNaN(t.getTime())){await r.updateConstraints(t,undefined)}else{const e=r.minDate?new Date(r.minDate):undefined;await r.updateConstraints(e,undefined)}}if(!this.isStart&&i){await((t=i.componentOnReady)===null||t===void 0?void 0:t.call(i));const e=this.value?new Date(this.value):null;if(e&&!isNaN(e.getTime())){await i.updateConstraints(undefined,e)}else{const e=i.maxDate?new Date(i.maxDate):undefined;await i.updateConstraints(undefined,e)}}}unmask(e){return e?e.replace(/[^0-9]/g,""):""}applyMaskSmart(e){if(!e)return"";const t=this.unmask(e);let i="";for(let e=0;e<t.length&&e<8;e++){if(e===2||e===4){i+="/"}i+=t[e]}return i}setupCalendarNavigation(){if(!this.datepickerInstance)return;const e=this.datepickerInstance.calendarContainer;if(!e)return;const t=[...Array.from(e.querySelectorAll(".qs-arrow")),e.querySelector(".qs-month-year"),...Array.from(e.querySelectorAll(".qs-square:not(.qs-day):not(.qs-empty)"))].filter(Boolean);t.forEach((e=>{e.setAttribute("tabindex","0");e.addEventListener("keydown",(i=>{this.handleCalendarKeyDown(i,e,t)}))}))}handleCalendarKeyDown(e,t,i){const r=i.indexOf(t);let s=r;switch(e.key){case"ArrowRight":e.preventDefault();s=Math.min(r+1,i.length-1);break;case"ArrowLeft":e.preventDefault();s=Math.max(r-1,0);break;case"ArrowDown":e.preventDefault();s=t.classList.contains("qs-square")?Math.min(r+7,i.length-1):Math.min(r+1,i.length-1);break;case"ArrowUp":e.preventDefault();s=t.classList.contains("qs-square")?Math.max(r-7,0):Math.max(r-1,0);break;case"Home":e.preventDefault();s=0;break;case"End":e.preventDefault();s=i.length-1;break;case"Enter":case" ":e.preventDefault();if(t.classList.contains("qs-arrow")){t.click();setTimeout((()=>t.focus()),0)}else{t.click()}return;case"Escape":e.preventDefault();this.datepickerInstance.hide();this.inputElement.focus();return}if(s!==r){const e=i[s];if(e&&!e.matches(".qs-day, .qs-disabled, .qs-empty")){e.focus()}}}initializeDatepicker(){if(!this.inputElement)return;const e={position:this.position,startDay:1,customDays:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],customMonths:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],overlayPlaceholder:"Année",overlayButton:"Valider",formatter:(e,t)=>{const i=this.formatDate(t);e.value=i;this.internalValue=i;this.lastInputValue=i},disabler:e=>{const t=this.disabledDays;if(t.includes(e.getDay()))return true;const i=e.toISOString().split("T")[0];return this.disabledDates.includes(i)},onSelect:e=>{const t=e instanceof Date?e:e===null||e===void 0?void 0:e.dateSelected;if(!t||isNaN(t.getTime()))return;const i=this.toISODateString(t);this.value=i;const r=this.formatDate(t);this.inputElement.value=r;this.internalValue=r;this.lastInputValue=r;this.internals.setFormValue(i);this.dateChange.emit({value:i,date:t});this.updateRangeConstraints();setTimeout((()=>{var e,t;this.highlightRangeInCalendar();const{start:i,end:r}=this.getRangeSiblings();const s=this.isStart?r:i;if(s&&s.isOpen){(t=(e=s).highlightRangeInCalendar)===null||t===void 0?void 0:t.call(e)}}),50)},onShow:()=>{this.isOpen=true;this.datePickerOpen.emit();setTimeout((()=>{this.setupCalendarNavigation();this.highlightRangeInCalendar();setTimeout((()=>this.highlightRangeInCalendar()),50);setTimeout((()=>this.highlightRangeInCalendar()),150)}),100)},onHide:()=>{this.isOpen=false;this.datePickerClose.emit()}};if(this.range&&this.rangeId){const{start:t,end:i}=this.getRangeSiblings();if(this.isStart){if(i&&i.value){const t=new Date(i.value);if(!isNaN(t.getTime())){e.maxDate=t}}}else{if(t&&t.value){const i=new Date(t.value);if(!isNaN(i.getTime())){e.minDate=i}}}}else{if(this.minDate)e.minDate=new Date(this.minDate);if(this.maxDate)e.maxDate=new Date(this.maxDate)}if(this.datepickerInstance){if(typeof this.datepickerInstance.remove==="function"){this.datepickerInstance.remove()}}this.datepickerInstance=l(this.inputElement,e);if(this.value){const e=new Date(this.value);if(!isNaN(e.getTime())){try{this.datepickerInstance.setDate(e,true);const t=this.formatDate(e);this.inputElement.value=t;this.internalValue=t;this.lastInputValue=t}catch(e){}}}}formatDate(e){if(!(e instanceof Date)||isNaN(e.getTime()))return"";const t=e.getDate().toString().padStart(2,"0");const i=(e.getMonth()+1).toString().padStart(2,"0");const r=e.getFullYear();return this.dateFormat.replace("dd",t).replace("MM",i).replace("yyyy",r.toString())}parseDate(e){const t=e.split("/");if(t.length===3){const e=parseInt(t[0],10);const i=parseInt(t[1],10)-1;const r=parseInt(t[2],10);if(!isNaN(e)&&!isNaN(i)&&!isNaN(r)){return new Date(r,i,e)}}return null}formResetCallback(){this.value="";this.internalValue="";this.lastInputValue="";this.internals.setFormValue(null);if(this.inputElement){this.inputElement.value=""}if(this.datepickerInstance){this.datepickerInstance.setDate(undefined,true)}this.dateChange.emit({value:"",date:null});this.updateRangeConstraints()}render(){const e={"spw-date-picker__input":true,"spw-date-picker__input--error":this.hasError,"spw-date-picker__input--disabled":this.disabled,"spw-date-picker__input--open":this.isOpen};const t=this.error||this.internalError;return i(r,{key:"657ed1e69aaeb89fe38dd244e5744bf3caf5ca21"},i("div",{key:"dc957192b9d4b8c3eb9bd9f055a84c8ac67f6150",class:"spw-date-picker"},this.label&&i("spw-field-label",{key:"34adf8491363afcb0bce2aed2dfb72d4d3655b81",label:this.label,required:this.required}),this.assistiveText&&i("spw-field-message",{key:"098a6382c0558a436b17c605654c1edcb1447408",class:"spw-tw-mb-2 -spw-tw-mt-1",variant:"hint",showIcon:false},this.assistiveText),i("div",{key:"9d6684f543f9300f5bc528a6ee6a88d79f19c9fa",class:"spw-date-picker__input-container"},i("input",{key:"56f8098297fada855c2672f7d3b4d926e7ac2e71",ref:e=>this.inputElement=e,id:this.uniqueId,type:"text",class:e,value:this.internalValue,placeholder:this.placeholder,disabled:this.disabled,required:this.required,onFocus:this.handleInputFocus,onInput:this.handleInputChange,onKeyDown:this.handleKeyDown,"aria-describedby":this.assistiveText||t?`${this.uniqueId}-help ${this.uniqueId}-error`:undefined,"aria-invalid":this.hasError}),i("spw-icon",{key:"c18e7b4405c18d553036c5fd0301aa9bf2403be8",icon:"fa-calendar",class:"spw-date-picker__icon"})),this.error&&i("spw-field-message",{key:"83103ba00956d37bc8369d220f1b80591d840fea",variant:"error",showIcon:this.showErrorIcon},this.error),this.hint&&i("spw-field-message",{key:"fbcb99394e7fac065b25141b14f57247993efb09",variant:"hint",showIcon:this.showHintIcon},this.hint),this.success&&i("spw-field-message",{key:"a0041903b10368ad8f2c9482603868565ab20ee2",variant:"success",showIcon:this.showSuccessIcon},this.success),this.warning&&i("spw-field-message",{key:"d52fdb1f562529df9d9e10f7ee5c92e221a8debe",variant:"warning",showIcon:this.showWarningIcon},this.warning)))}static get formAssociated(){return true}get el(){return s(this)}static get watchers(){return{value:["watchValue"],disabled:["watchDisabled"],minDate:["watchMinDate"],maxDate:["watchMaxDate"]}}};u.style=p;export{u as spw_date_picker};
|
|
2
|
-
//# sourceMappingURL=p-f5caed11.entry.js.map
|