@dso-toolkit/core 74.0.0 → 75.0.0
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/bundle/dso-accordion-section.js +8 -8
- package/dist/bundle/dso-accordion-section.js.map +1 -1
- package/dist/bundle/dso-accordion.js +1 -1
- package/dist/bundle/dso-accordion.js.map +1 -1
- package/dist/bundle/dso-action-list-item.js +2 -2
- package/dist/bundle/dso-action-list-item.js.map +1 -1
- package/dist/bundle/dso-action-list.js +1 -1
- package/dist/bundle/dso-action-list.js.map +1 -1
- package/dist/bundle/dso-advanced-select.js +5 -5
- package/dist/bundle/dso-advanced-select.js.map +1 -1
- package/dist/bundle/dso-alert.js +1 -1
- package/dist/bundle/dso-annotation-activiteit.js +6 -6
- package/dist/bundle/dso-annotation-activiteit.js.map +1 -1
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +6 -6
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js.map +1 -1
- package/dist/bundle/dso-annotation-kaart.js +4 -4
- package/dist/bundle/dso-annotation-kaart.js.map +1 -1
- package/dist/bundle/dso-annotation-locatie.js +1 -1
- package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +6 -6
- package/dist/bundle/dso-annotation-omgevingsnormwaarde.js.map +1 -1
- package/dist/bundle/dso-attachments-counter.js +1 -1
- package/dist/bundle/dso-autosuggest.js +3 -3
- package/dist/bundle/dso-badge.js +1 -1
- package/dist/bundle/dso-banner.js +1 -1
- package/dist/bundle/dso-banner.js.map +1 -1
- package/dist/bundle/dso-card.js +2 -2
- package/dist/bundle/dso-card.js.map +1 -1
- package/dist/bundle/dso-contact-information.js +1 -1
- package/dist/bundle/dso-contact-information.js.map +1 -1
- package/dist/bundle/dso-date-picker-legacy.js +2 -2
- package/dist/bundle/dso-date-picker-legacy.js.map +1 -1
- package/dist/bundle/dso-date-picker.js +1 -1
- package/dist/bundle/dso-date-picker.js.map +1 -1
- package/dist/bundle/dso-document-card.js +2 -2
- package/dist/bundle/dso-document-card.js.map +1 -1
- package/dist/bundle/dso-document-component.js +1 -1
- package/dist/bundle/dso-expandable.js +1 -1
- package/dist/bundle/dso-header.js +2 -2
- package/dist/bundle/dso-header.js.map +1 -1
- package/dist/bundle/dso-highlight-box.js +1 -1
- package/dist/bundle/dso-highlight-box.js.map +1 -1
- package/dist/bundle/dso-icon.js +1 -1
- package/dist/bundle/dso-image-overlay.js +1 -1
- package/dist/bundle/dso-info-button.js +1 -1
- package/dist/bundle/dso-info.js +1 -1
- package/dist/bundle/dso-input-range.js +1 -1
- package/dist/bundle/dso-input-range.js.map +1 -1
- package/dist/bundle/dso-label.js +1 -1
- package/dist/bundle/dso-legend-item.js +16 -17
- package/dist/bundle/dso-legend-item.js.map +1 -1
- package/dist/bundle/dso-list-button.js +3 -3
- package/dist/bundle/dso-list-button.js.map +1 -1
- package/dist/bundle/dso-logo.js +1 -1
- package/dist/bundle/dso-map-base-layers.js +6 -6
- package/dist/bundle/dso-map-base-layers.js.map +1 -1
- package/dist/bundle/dso-map-controls.js +4 -4
- package/dist/bundle/dso-map-controls.js.map +1 -1
- package/dist/bundle/dso-map-overlays.js +6 -6
- package/dist/bundle/dso-map-overlays.js.map +1 -1
- package/dist/bundle/dso-mark-bar.js +3 -3
- package/dist/bundle/dso-mark-bar.js.map +1 -1
- package/dist/bundle/dso-modal.js +4 -4
- package/dist/bundle/dso-modal.js.map +1 -1
- package/dist/bundle/dso-onboarding-tip.js +3 -3
- package/dist/bundle/dso-onboarding-tip.js.map +1 -1
- package/dist/bundle/dso-ozon-content.js +1 -1
- package/dist/bundle/dso-pagination.js +3 -3
- package/dist/bundle/dso-pagination.js.map +1 -1
- package/dist/bundle/dso-panel.js +1 -1
- package/dist/bundle/dso-plekinfo-card.js +3 -3
- package/dist/bundle/dso-plekinfo-card.js.map +1 -1
- package/dist/bundle/dso-progress-bar.js +2 -2
- package/dist/bundle/dso-progress-bar.js.map +1 -1
- package/dist/bundle/dso-progress-indicator.js +1 -1
- package/dist/bundle/dso-project-item.js +5 -5
- package/dist/bundle/dso-project-item.js.map +1 -1
- package/dist/bundle/dso-renvooi.js +1 -1
- package/dist/bundle/dso-responsive-element.js +1 -1
- package/dist/bundle/dso-scrollable.js +1 -1
- package/dist/bundle/dso-selectable.js +1 -1
- package/dist/bundle/dso-skiplink.js +3 -3
- package/dist/bundle/dso-skiplink.js.map +1 -1
- package/dist/bundle/dso-slide-toggle.js +1 -1
- package/dist/bundle/dso-survey-rating.js +5 -5
- package/dist/bundle/dso-survey-rating.js.map +1 -1
- package/dist/bundle/dso-tab.js +1 -1
- package/dist/bundle/dso-tab.js.map +1 -1
- package/dist/bundle/dso-table.js +1 -1
- package/dist/bundle/dso-tabs.js +2 -2
- package/dist/bundle/dso-tabs.js.map +1 -1
- package/dist/bundle/dso-toggletip.js +1 -1
- package/dist/bundle/dso-tooltip.js +1 -1
- package/dist/bundle/dso-tree-view.js +4 -4
- package/dist/bundle/dso-tree-view.js.map +1 -1
- package/dist/bundle/dso-viewer-grid.js +2 -2
- package/dist/bundle/dso-viewer-grid.js.map +1 -1
- package/dist/bundle/dsot-document-component-demo.js +14 -14
- package/dist/bundle/p-0OxrSmuX.js +36 -0
- package/dist/bundle/{p-CwXjPr2h.js.map → p-0OxrSmuX.js.map} +1 -1
- package/dist/bundle/{p-C_CoF0aB.js → p-9Ncrliah.js} +5 -5
- package/dist/bundle/{p-C_CoF0aB.js.map → p-9Ncrliah.js.map} +1 -1
- package/dist/bundle/{p-BdyXpl60.js → p-BLcgQKpu.js} +3 -3
- package/dist/bundle/{p-BdyXpl60.js.map → p-BLcgQKpu.js.map} +1 -1
- package/dist/bundle/{p-kDtv6DeD.js → p-BN2fD3ZU.js} +4 -4
- package/dist/bundle/{p-kDtv6DeD.js.map → p-BN2fD3ZU.js.map} +1 -1
- package/dist/bundle/{p-CZ2ipzNO.js → p-BYV1oeRl.js} +4 -4
- package/dist/bundle/{p-CZ2ipzNO.js.map → p-BYV1oeRl.js.map} +1 -1
- package/dist/bundle/p-BzRDrr-_.js +63 -0
- package/dist/bundle/{p-xNnEBBZG.js.map → p-BzRDrr-_.js.map} +1 -1
- package/dist/bundle/p-CLisNzps.js +253 -0
- package/dist/bundle/{p-BJv2m9ZZ.js.map → p-CLisNzps.js.map} +1 -1
- package/dist/bundle/{p-DGWbWwct.js → p-CoKesn28.js} +5 -5
- package/dist/bundle/{p-DGWbWwct.js.map → p-CoKesn28.js.map} +1 -1
- package/dist/bundle/p-Cs3phD9i.js +1162 -0
- package/dist/bundle/{p-DvqO1i1s.js.map → p-Cs3phD9i.js.map} +1 -1
- package/dist/bundle/{p-dB3K6tfb.js → p-Cx4Hx2VD.js} +4 -4
- package/dist/bundle/{p-dB3K6tfb.js.map → p-Cx4Hx2VD.js.map} +1 -1
- package/dist/bundle/{p-PMqbDJmA.js → p-CyBDICEz.js} +4 -4
- package/dist/bundle/{p-PMqbDJmA.js.map → p-CyBDICEz.js.map} +1 -1
- package/dist/bundle/p-D8CNpm3v.js +80 -0
- package/dist/bundle/{p-CkBk3gL8.js.map → p-D8CNpm3v.js.map} +1 -1
- package/dist/bundle/{p-0JGmXD8O.js → p-D9Bg2rxG.js} +5 -5
- package/dist/bundle/{p-0JGmXD8O.js.map → p-D9Bg2rxG.js.map} +1 -1
- package/dist/bundle/p-DIok-wvi.js +115 -0
- package/dist/bundle/{p-BtcZ9oZ6.js.map → p-DIok-wvi.js.map} +1 -1
- package/dist/bundle/{p-D2nuXSd0.js → p-DTtP46RI.js} +3 -3
- package/dist/bundle/{p-D2nuXSd0.js.map → p-DTtP46RI.js.map} +1 -1
- package/dist/bundle/p-DWXU-hOH.js +43 -0
- package/dist/bundle/{p-C1tscMvU.js.map → p-DWXU-hOH.js.map} +1 -1
- package/dist/bundle/{p-DcpG4jOU.js → p-DeWunH18.js} +7 -7
- package/dist/bundle/{p-DcpG4jOU.js.map → p-DeWunH18.js.map} +1 -1
- package/dist/bundle/{p-CvGnEQcm.js → p-DkmiPgP0.js} +3 -3
- package/dist/bundle/p-DkmiPgP0.js.map +1 -0
- package/dist/bundle/{p-DrR9RuIM.js → p-Dxegur3q.js} +3 -3
- package/dist/bundle/{p-DrR9RuIM.js.map → p-Dxegur3q.js.map} +1 -1
- package/dist/bundle/{p-WYm6cxra.js → p-QqEnuAIH.js} +4 -4
- package/dist/bundle/{p-WYm6cxra.js.map → p-QqEnuAIH.js.map} +1 -1
- package/dist/bundle/p-YrsDWjn_.js +145 -0
- package/dist/bundle/{p-Cng7insW.js.map → p-YrsDWjn_.js.map} +1 -1
- package/dist/bundle/p-cdXH2H1r.js +125 -0
- package/dist/bundle/{p-D9Yjz_Sm.js.map → p-cdXH2H1r.js.map} +1 -1
- package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
- package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-accordion-section.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-accordion.cjs.entry.js +1 -1
- package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-action-list-item.cjs.entry.js +1 -1
- package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-action-list-item.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
- package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-action-list.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-advanced-select.cjs.entry.js +1 -1
- package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-advanced-select.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert_6.cjs.entry.js +8 -8
- package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-activiteit.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-kaart.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-kaart.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-locatie.dso-document-component.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +2 -2
- package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-attachments-counter.dso-expandable.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-attachments-counter_2.cjs.entry.js +2 -2
- package/dist/cjs/dso-attachments-counter_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-banner.cjs.entry.js +1 -1
- package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-banner.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-card.cjs.entry.js +1 -1
- package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-card.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-contact-information.cjs.entry.js +1 -1
- package/dist/cjs/dso-contact-information.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-contact-information.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +1 -1
- package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-date-picker-legacy.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-date-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-document-card.cjs.entry.js +1 -1
- package/dist/cjs/dso-document-card.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-document-card.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-header.cjs.entry.js +1 -1
- package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-header.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-highlight-box.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-icon.cjs.entry.js +1 -1
- package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-info-button.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-info.dso-selectable.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js +3 -3
- package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-input-range.cjs.entry.js +1 -1
- package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-input-range.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-label.dso-renvooi.dso-slide-toggle.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-label_3.cjs.entry.js +4 -4
- package/dist/cjs/dso-label_3.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-legend-item.cjs.entry.js +3 -10
- package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-legend-item.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-list-button.cjs.entry.js +2 -2
- package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-list-button.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-logo.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-base-layers.cjs.entry.js +2 -2
- package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-base-layers.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js +2 -2
- package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-controls.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-map-overlays.cjs.entry.js +2 -2
- package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-overlays.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-mark-bar.cjs.entry.js +2 -2
- package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-mark-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js +2 -2
- package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-onboarding-tip.cjs.entry.js +2 -2
- package/dist/cjs/dso-onboarding-tip.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-onboarding-tip.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
- package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-plekinfo-card.cjs.entry.js +2 -2
- package/dist/cjs/dso-plekinfo-card.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-plekinfo-card.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-progress-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-progress-indicator.cjs.entry.js +2 -2
- package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-progress-indicator.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-project-item.cjs.entry.js +2 -2
- package/dist/cjs/dso-project-item.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-project-item.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
- package/dist/cjs/dso-scrollable.cjs.entry.js +3 -3
- package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-scrollable.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-skiplink.cjs.entry.js +2 -2
- package/dist/cjs/dso-skiplink.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-skiplink.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-survey-rating.cjs.entry.js +3 -3
- package/dist/cjs/dso-survey-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-survey-rating.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-tab.cjs.entry.js +1 -1
- package/dist/cjs/dso-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-tab.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-tabs.cjs.entry.js +2 -2
- package/dist/cjs/dso-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-toggletip.cjs.entry.js +2 -2
- package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-toggletip.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +1 -1
- package/dist/cjs/dso-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-tree-view.cjs.entry.js +2 -2
- package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-tree-view.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +2 -2
- package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-viewer-grid.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/accordion/accordion.css +15 -0
- package/dist/collection/components/accordion/components/accordion-section.css +17 -2
- package/dist/collection/components/action-list/action-list.css +15 -0
- package/dist/collection/components/action-list/components/action-list-item.css +15 -0
- package/dist/collection/components/advanced-select/advanced-select.css +15 -0
- package/dist/collection/components/alert/alert.css +15 -0
- package/dist/collection/components/annotation/annotation.css +15 -0
- package/dist/collection/components/attachments-counter/attachments-counter.css +15 -0
- package/dist/collection/components/badge/badge.css +15 -0
- package/dist/collection/components/banner/banner.css +15 -0
- package/dist/collection/components/card/card.css +15 -0
- package/dist/collection/components/contact-information/contact-information.css +15 -0
- package/dist/collection/components/date-picker/date-picker.css +15 -0
- package/dist/collection/components/date-picker-legacy/date-picker-legacy.css +15 -0
- package/dist/collection/components/document-card/document-card.css +15 -0
- package/dist/collection/components/document-component/document-component.css +15 -0
- package/dist/collection/components/expandable/expandable.css +19 -2
- package/dist/collection/components/header/header.css +15 -0
- package/dist/collection/components/highlight-box/highlight-box.css +15 -0
- package/dist/collection/components/icon/icon.css +15 -0
- package/dist/collection/components/image-overlay/image-overlay.css +15 -0
- package/dist/collection/components/info/info.css +15 -0
- package/dist/collection/components/info-button/info-button.css +15 -0
- package/dist/collection/components/input-range/input-range.css +15 -0
- package/dist/collection/components/label/label.css +15 -0
- package/dist/collection/components/legend-item/legend-item.css +42 -23
- package/dist/collection/components/legend-item/legend-item.interfaces.js.map +1 -1
- package/dist/collection/components/legend-item/legend-item.js +14 -21
- package/dist/collection/components/legend-item/legend-item.js.map +1 -1
- package/dist/collection/components/list-button/list-button.css +15 -0
- package/dist/collection/components/list-button/list-button.js +1 -1
- package/dist/collection/components/logo/logo.js +1 -1
- package/dist/collection/components/map-base-layers/map-base-layers.css +15 -0
- package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
- package/dist/collection/components/map-controls/map-controls.css +15 -0
- package/dist/collection/components/map-controls/map-controls.js +1 -1
- package/dist/collection/components/map-overlays/map-overlays.css +15 -0
- package/dist/collection/components/map-overlays/map-overlays.js +1 -1
- package/dist/collection/components/mark-bar/mark-bar.css +15 -0
- package/dist/collection/components/mark-bar/mark-bar.js +1 -1
- package/dist/collection/components/modal/modal.css +15 -0
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/onboarding-tip/onboarding-tip.css +15 -0
- package/dist/collection/components/onboarding-tip/onboarding-tip.js +1 -1
- package/dist/collection/components/ozon-content/ozon-content.css +15 -0
- package/dist/collection/components/ozon-content/ozon-content.js +1 -1
- package/dist/collection/components/pagination/pagination.css +15 -0
- package/dist/collection/components/panel/panel.css +15 -0
- package/dist/collection/components/plekinfo-card/plekinfo-card.css +15 -0
- package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.css +15 -0
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/progress-indicator/progress-indicator.css +15 -0
- package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
- package/dist/collection/components/project-item/project-item.css +15 -0
- package/dist/collection/components/project-item/project-item.js +1 -1
- package/dist/collection/components/renvooi/renvooi.css +15 -0
- package/dist/collection/components/responsive-element/responsive-element.js +1 -1
- package/dist/collection/components/scrollable/scrollable.css +15 -0
- package/dist/collection/components/scrollable/scrollable.js +2 -2
- package/dist/collection/components/selectable/selectable.css +15 -0
- package/dist/collection/components/selectable/selectable.js +1 -1
- package/dist/collection/components/skiplink/skiplink.css +15 -0
- package/dist/collection/components/skiplink/skiplink.js +1 -1
- package/dist/collection/components/slide-toggle/slide-toggle.css +16 -1
- package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
- package/dist/collection/components/survey-rating/survey-rating.css +15 -0
- package/dist/collection/components/survey-rating/survey-rating.js +2 -2
- package/dist/collection/components/table/table.css +15 -0
- package/dist/collection/components/table/table.js +1 -1
- package/dist/collection/components/tabs/components/tab.css +15 -0
- package/dist/collection/components/tabs/tabs.css +15 -0
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/toggletip/toggletip.css +15 -0
- package/dist/collection/components/toggletip/toggletip.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +15 -0
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/components/tree-view/tree-view.css +15 -0
- package/dist/collection/components/tree-view/tree-view.js +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.css +15 -0
- package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/annotation-locatie.js +1 -1
- package/dist/components/annotation-locatie.js.map +1 -1
- package/dist/components/attachments-counter.js +1 -1
- package/dist/components/attachments-counter.js.map +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/document-component.js +1 -1
- package/dist/components/document-component.js.map +1 -1
- package/dist/components/dso-accordion-section.js +1 -1
- package/dist/components/dso-accordion-section.js.map +1 -1
- package/dist/components/dso-accordion.js +1 -1
- package/dist/components/dso-accordion.js.map +1 -1
- package/dist/components/dso-action-list-item.js +1 -1
- package/dist/components/dso-action-list-item.js.map +1 -1
- package/dist/components/dso-action-list.js +1 -1
- package/dist/components/dso-action-list.js.map +1 -1
- package/dist/components/dso-advanced-select.js +1 -1
- package/dist/components/dso-advanced-select.js.map +1 -1
- package/dist/components/dso-annotation-activiteit.js +1 -1
- package/dist/components/dso-annotation-activiteit.js.map +1 -1
- package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
- package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
- package/dist/components/dso-annotation-kaart.js +1 -1
- package/dist/components/dso-annotation-kaart.js.map +1 -1
- package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
- package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
- package/dist/components/dso-banner.js +1 -1
- package/dist/components/dso-banner.js.map +1 -1
- package/dist/components/dso-card.js +1 -1
- package/dist/components/dso-card.js.map +1 -1
- package/dist/components/dso-contact-information.js +1 -1
- package/dist/components/dso-contact-information.js.map +1 -1
- package/dist/components/dso-date-picker-legacy.js +1 -1
- package/dist/components/dso-date-picker-legacy.js.map +1 -1
- package/dist/components/dso-date-picker.js +1 -1
- package/dist/components/dso-date-picker.js.map +1 -1
- package/dist/components/dso-document-card.js +1 -1
- package/dist/components/dso-document-card.js.map +1 -1
- package/dist/components/dso-header.js +1 -1
- package/dist/components/dso-header.js.map +1 -1
- package/dist/components/dso-highlight-box.js +1 -1
- package/dist/components/dso-highlight-box.js.map +1 -1
- package/dist/components/dso-input-range.js +1 -1
- package/dist/components/dso-input-range.js.map +1 -1
- package/dist/components/dso-legend-item.js +14 -15
- package/dist/components/dso-legend-item.js.map +1 -1
- package/dist/components/dso-list-button.js +2 -2
- package/dist/components/dso-list-button.js.map +1 -1
- package/dist/components/dso-logo.js +1 -1
- package/dist/components/dso-map-base-layers.js +2 -2
- package/dist/components/dso-map-base-layers.js.map +1 -1
- package/dist/components/dso-map-controls.js +2 -2
- package/dist/components/dso-map-controls.js.map +1 -1
- package/dist/components/dso-map-overlays.js +2 -2
- package/dist/components/dso-map-overlays.js.map +1 -1
- package/dist/components/dso-mark-bar.js +2 -2
- package/dist/components/dso-mark-bar.js.map +1 -1
- package/dist/components/dso-modal.js +2 -2
- package/dist/components/dso-modal.js.map +1 -1
- package/dist/components/dso-onboarding-tip.js +2 -2
- package/dist/components/dso-onboarding-tip.js.map +1 -1
- package/dist/components/dso-pagination.js +1 -1
- package/dist/components/dso-pagination.js.map +1 -1
- package/dist/components/dso-plekinfo-card.js +2 -2
- package/dist/components/dso-plekinfo-card.js.map +1 -1
- package/dist/components/dso-progress-bar.js +2 -2
- package/dist/components/dso-progress-bar.js.map +1 -1
- package/dist/components/dso-project-item.js +2 -2
- package/dist/components/dso-project-item.js.map +1 -1
- package/dist/components/dso-skiplink.js +2 -2
- package/dist/components/dso-skiplink.js.map +1 -1
- package/dist/components/dso-survey-rating.js +3 -3
- package/dist/components/dso-survey-rating.js.map +1 -1
- package/dist/components/dso-tab.js +1 -1
- package/dist/components/dso-tab.js.map +1 -1
- package/dist/components/dso-tabs.js +2 -2
- package/dist/components/dso-tabs.js.map +1 -1
- package/dist/components/dso-tree-view.js +2 -2
- package/dist/components/dso-tree-view.js.map +1 -1
- package/dist/components/dso-viewer-grid.js +2 -2
- package/dist/components/dso-viewer-grid.js.map +1 -1
- package/dist/components/expandable.js +1 -1
- package/dist/components/expandable.js.map +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/icon.js.map +1 -1
- package/dist/components/image-overlay.js +1 -1
- package/dist/components/image-overlay.js.map +1 -1
- package/dist/components/info-button.js +1 -1
- package/dist/components/info-button.js.map +1 -1
- package/dist/components/info.js +1 -1
- package/dist/components/info.js.map +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/label.js.map +1 -1
- package/dist/components/ozon-content.js +2 -2
- package/dist/components/ozon-content.js.map +1 -1
- package/dist/components/panel.js +1 -1
- package/dist/components/panel.js.map +1 -1
- package/dist/components/progress-indicator.js +2 -2
- package/dist/components/progress-indicator.js.map +1 -1
- package/dist/components/renvooi.js +1 -1
- package/dist/components/renvooi.js.map +1 -1
- package/dist/components/responsive-element.js +1 -1
- package/dist/components/scrollable.js +3 -3
- package/dist/components/scrollable.js.map +1 -1
- package/dist/components/selectable.js +2 -2
- package/dist/components/selectable.js.map +1 -1
- package/dist/components/slide-toggle.js +2 -2
- package/dist/components/slide-toggle.js.map +1 -1
- package/dist/components/table.js +2 -2
- package/dist/components/table.js.map +1 -1
- package/dist/components/toggletip.js +2 -2
- package/dist/components/toggletip.js.map +1 -1
- package/dist/components/tooltip.js +2 -2
- package/dist/components/tooltip.js.map +1 -1
- package/dist/dso-toolkit/dso-accordion-section.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-accordion.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-action-list-item.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-action-list.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-advanced-select.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-activiteit.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-gebiedsaanwijzing.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-kaart.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-locatie.dso-document-component.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-omgevingsnormwaarde.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-attachments-counter.dso-expandable.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-banner.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-card.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-contact-information.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-date-picker-legacy.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-date-picker.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-document-card.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-highlight-box.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-icon.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-info-button.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-info.dso-selectable.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-input-range.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-label.dso-renvooi.dso-slide-toggle.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-legend-item.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-list-button.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-map-base-layers.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-map-controls.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-map-overlays.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-mark-bar.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-modal.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-onboarding-tip.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-pagination.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-plekinfo-card.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-progress-bar.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-progress-indicator.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-project-item.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-scrollable.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-skiplink.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-survey-rating.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-tab.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-tabs.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-toggletip.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/dso-tooltip.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-tree-view.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-viewer-grid.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/p-088d0493.entry.js +2 -0
- package/dist/dso-toolkit/{p-09ec6ce5.entry.js.map → p-088d0493.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-090ab6fc.entry.js +2 -0
- package/dist/dso-toolkit/{p-b615471f.entry.js.map → p-090ab6fc.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-0c2176c5.entry.js +2 -0
- package/dist/dso-toolkit/{p-469ca170.entry.js.map → p-0c2176c5.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-0ce58811.entry.js +2 -0
- package/dist/dso-toolkit/{p-f1999525.entry.js.map → p-0ce58811.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-10901139.entry.js +2 -0
- package/dist/dso-toolkit/{p-4160d2e0.entry.js.map → p-10901139.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-11161e83.entry.js +2 -0
- package/dist/dso-toolkit/{p-0feea762.entry.js.map → p-11161e83.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-11cd688b.entry.js +2 -0
- package/dist/dso-toolkit/{p-2b1c6af2.entry.js.map → p-11cd688b.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-133c1677.entry.js +2 -0
- package/dist/dso-toolkit/{p-19af64f1.entry.js.map → p-133c1677.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-21542d86.entry.js +2 -0
- package/dist/dso-toolkit/{p-94cea134.entry.js.map → p-21542d86.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-2c460675.entry.js +2 -0
- package/dist/dso-toolkit/{p-8f4a2401.entry.js.map → p-2c460675.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-2ff601f9.entry.js +2 -0
- package/dist/dso-toolkit/{p-a61470ad.entry.js.map → p-2ff601f9.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-356f8d94.entry.js +2 -0
- package/dist/dso-toolkit/{p-db6b2bb9.entry.js.map → p-356f8d94.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-3d414fae.entry.js +2 -0
- package/dist/dso-toolkit/{p-8897189c.entry.js.map → p-3d414fae.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-3e736489.entry.js +2 -0
- package/dist/dso-toolkit/p-3e736489.entry.js.map +1 -0
- package/dist/dso-toolkit/p-4ac06008.entry.js +2 -0
- package/dist/dso-toolkit/{p-03fb6237.entry.js.map → p-4ac06008.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-4d032ac3.entry.js +2 -0
- package/dist/dso-toolkit/{p-9abdf5aa.entry.js.map → p-4d032ac3.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-517cbc20.entry.js +2 -0
- package/dist/dso-toolkit/{p-de3ed856.entry.js.map → p-517cbc20.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-53ca5932.entry.js +2 -0
- package/dist/dso-toolkit/{p-aa5dc824.entry.js.map → p-53ca5932.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-571f0f85.entry.js +2 -0
- package/dist/dso-toolkit/{p-322b7db4.entry.js.map → p-571f0f85.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-5b9803a2.entry.js +2 -0
- package/dist/dso-toolkit/{p-c4fe6ee2.entry.js.map → p-5b9803a2.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-5c8be619.entry.js +2 -0
- package/dist/dso-toolkit/{p-159be9e6.entry.js.map → p-5c8be619.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-6d3d29ac.entry.js +2 -0
- package/dist/dso-toolkit/{p-6c1feb1f.entry.js.map → p-6d3d29ac.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-74718de8.entry.js +2 -0
- package/dist/dso-toolkit/{p-d926863a.entry.js.map → p-74718de8.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-75091e9b.entry.js +2 -0
- package/dist/dso-toolkit/{p-f9b41ef6.entry.js.map → p-75091e9b.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-789aee43.entry.js +2 -0
- package/dist/dso-toolkit/{p-7a3c51ad.entry.js.map → p-789aee43.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-7e09098c.entry.js +2 -0
- package/dist/dso-toolkit/p-7e09098c.entry.js.map +1 -0
- package/dist/dso-toolkit/p-858970da.entry.js +2 -0
- package/dist/dso-toolkit/{p-90ead8a5.entry.js.map → p-858970da.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-8ec31264.entry.js +2 -0
- package/dist/dso-toolkit/{p-909118a3.entry.js.map → p-8ec31264.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-92f93d4d.entry.js +2 -0
- package/dist/dso-toolkit/{p-2510276b.entry.js.map → p-92f93d4d.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-95c85ef7.entry.js +2 -0
- package/dist/dso-toolkit/{p-e85e3e06.entry.js.map → p-95c85ef7.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-97320fda.entry.js +2 -0
- package/dist/dso-toolkit/{p-5c7331de.entry.js.map → p-97320fda.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-98772f24.entry.js +2 -0
- package/dist/dso-toolkit/{p-c3ed6804.entry.js.map → p-98772f24.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-99b4b85a.entry.js +2 -0
- package/dist/dso-toolkit/{p-0764520c.entry.js.map → p-99b4b85a.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-a10cea33.entry.js +2 -0
- package/dist/dso-toolkit/{p-dc33f3aa.entry.js.map → p-a10cea33.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-73f027ff.entry.js → p-afc5e401.entry.js} +2 -2
- package/dist/dso-toolkit/{p-73f027ff.entry.js.map → p-afc5e401.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-b9b0c72d.entry.js +2 -0
- package/dist/dso-toolkit/{p-400fede0.entry.js.map → p-b9b0c72d.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-3888525c.entry.js → p-bbcffc90.entry.js} +2 -2
- package/dist/dso-toolkit/{p-3888525c.entry.js.map → p-bbcffc90.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-bcfeeafb.entry.js +2 -0
- package/dist/dso-toolkit/{p-514665a1.entry.js.map → p-bcfeeafb.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-bfaa3608.entry.js +2 -0
- package/dist/dso-toolkit/{p-fa850439.entry.js.map → p-bfaa3608.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-c93fae9e.entry.js +2 -0
- package/dist/dso-toolkit/{p-15c901ff.entry.js.map → p-c93fae9e.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e04ebc7e.entry.js +2 -0
- package/dist/dso-toolkit/{p-1b3db27c.entry.js.map → p-e04ebc7e.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e0bc1853.entry.js +2 -0
- package/dist/dso-toolkit/{p-edda55f0.entry.js.map → p-e0bc1853.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-eafec507.entry.js → p-e3883983.entry.js} +2 -2
- package/dist/dso-toolkit/p-e7ba6656.entry.js +2 -0
- package/dist/dso-toolkit/{p-6f89da1c.entry.js.map → p-e7ba6656.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e9ea10ed.entry.js +2 -0
- package/dist/dso-toolkit/{p-2dc3dc9a.entry.js.map → p-e9ea10ed.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e9f5382c.entry.js +2 -0
- package/dist/dso-toolkit/{p-b6f5ca5e.entry.js.map → p-e9f5382c.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-f1f414b6.entry.js +2 -0
- package/dist/dso-toolkit/p-feae6843.entry.js +2 -0
- package/dist/dso-toolkit/{p-35e1d8a4.entry.js.map → p-feae6843.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-ffa6ca48.entry.js +2 -0
- package/dist/dso-toolkit/{p-9a30700a.entry.js.map → p-ffa6ca48.entry.js.map} +1 -1
- package/dist/esm/dso-accordion-section.entry.js +1 -1
- package/dist/esm/dso-accordion-section.entry.js.map +1 -1
- package/dist/esm/dso-accordion.entry.js +1 -1
- package/dist/esm/dso-accordion.entry.js.map +1 -1
- package/dist/esm/dso-action-list-item.entry.js +1 -1
- package/dist/esm/dso-action-list-item.entry.js.map +1 -1
- package/dist/esm/dso-action-list.entry.js +1 -1
- package/dist/esm/dso-action-list.entry.js.map +1 -1
- package/dist/esm/dso-advanced-select.entry.js +1 -1
- package/dist/esm/dso-advanced-select.entry.js.map +1 -1
- package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.js.map +1 -1
- package/dist/esm/dso-alert_6.entry.js +8 -8
- package/dist/esm/dso-alert_6.entry.js.map +1 -1
- package/dist/esm/dso-annotation-activiteit.entry.js +1 -1
- package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
- package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +1 -1
- package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
- package/dist/esm/dso-annotation-kaart.entry.js +1 -1
- package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
- package/dist/esm/dso-annotation-locatie.dso-document-component.entry.js.map +1 -1
- package/dist/esm/dso-annotation-locatie_2.entry.js +2 -2
- package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
- package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +1 -1
- package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
- package/dist/esm/dso-attachments-counter.dso-expandable.entry.js.map +1 -1
- package/dist/esm/dso-attachments-counter_2.entry.js +2 -2
- package/dist/esm/dso-attachments-counter_2.entry.js.map +1 -1
- package/dist/esm/dso-banner.entry.js +1 -1
- package/dist/esm/dso-banner.entry.js.map +1 -1
- package/dist/esm/dso-card.entry.js +1 -1
- package/dist/esm/dso-card.entry.js.map +1 -1
- package/dist/esm/dso-contact-information.entry.js +1 -1
- package/dist/esm/dso-contact-information.entry.js.map +1 -1
- package/dist/esm/dso-date-picker-legacy.entry.js +1 -1
- package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
- package/dist/esm/dso-date-picker.entry.js +1 -1
- package/dist/esm/dso-date-picker.entry.js.map +1 -1
- package/dist/esm/dso-document-card.entry.js +1 -1
- package/dist/esm/dso-document-card.entry.js.map +1 -1
- package/dist/esm/dso-header.entry.js +1 -1
- package/dist/esm/dso-header.entry.js.map +1 -1
- package/dist/esm/dso-highlight-box.entry.js +1 -1
- package/dist/esm/dso-highlight-box.entry.js.map +1 -1
- package/dist/esm/dso-icon.entry.js +1 -1
- package/dist/esm/dso-icon.entry.js.map +1 -1
- package/dist/esm/dso-info-button.entry.js +1 -1
- package/dist/esm/dso-info-button.entry.js.map +1 -1
- package/dist/esm/dso-info.dso-selectable.entry.js.map +1 -1
- package/dist/esm/dso-info_2.entry.js +3 -3
- package/dist/esm/dso-info_2.entry.js.map +1 -1
- package/dist/esm/dso-input-range.entry.js +1 -1
- package/dist/esm/dso-input-range.entry.js.map +1 -1
- package/dist/esm/dso-label.dso-renvooi.dso-slide-toggle.entry.js.map +1 -1
- package/dist/esm/dso-label_3.entry.js +4 -4
- package/dist/esm/dso-label_3.entry.js.map +1 -1
- package/dist/esm/dso-legend-item.entry.js +3 -10
- package/dist/esm/dso-legend-item.entry.js.map +1 -1
- package/dist/esm/dso-list-button.entry.js +2 -2
- package/dist/esm/dso-list-button.entry.js.map +1 -1
- package/dist/esm/dso-logo.entry.js +1 -1
- package/dist/esm/dso-map-base-layers.entry.js +2 -2
- package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
- package/dist/esm/dso-map-controls.entry.js +2 -2
- package/dist/esm/dso-map-controls.entry.js.map +1 -1
- package/dist/esm/dso-map-overlays.entry.js +2 -2
- package/dist/esm/dso-map-overlays.entry.js.map +1 -1
- package/dist/esm/dso-mark-bar.entry.js +2 -2
- package/dist/esm/dso-mark-bar.entry.js.map +1 -1
- package/dist/esm/dso-modal.entry.js +2 -2
- package/dist/esm/dso-modal.entry.js.map +1 -1
- package/dist/esm/dso-onboarding-tip.entry.js +2 -2
- package/dist/esm/dso-onboarding-tip.entry.js.map +1 -1
- package/dist/esm/dso-pagination.entry.js +1 -1
- package/dist/esm/dso-pagination.entry.js.map +1 -1
- package/dist/esm/dso-plekinfo-card.entry.js +2 -2
- package/dist/esm/dso-plekinfo-card.entry.js.map +1 -1
- package/dist/esm/dso-progress-bar.entry.js +2 -2
- package/dist/esm/dso-progress-bar.entry.js.map +1 -1
- package/dist/esm/dso-progress-indicator.entry.js +2 -2
- package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
- package/dist/esm/dso-project-item.entry.js +2 -2
- package/dist/esm/dso-project-item.entry.js.map +1 -1
- package/dist/esm/dso-responsive-element.entry.js +1 -1
- package/dist/esm/dso-scrollable.entry.js +3 -3
- package/dist/esm/dso-scrollable.entry.js.map +1 -1
- package/dist/esm/dso-skiplink.entry.js +2 -2
- package/dist/esm/dso-skiplink.entry.js.map +1 -1
- package/dist/esm/dso-survey-rating.entry.js +3 -3
- package/dist/esm/dso-survey-rating.entry.js.map +1 -1
- package/dist/esm/dso-tab.entry.js +1 -1
- package/dist/esm/dso-tab.entry.js.map +1 -1
- package/dist/esm/dso-tabs.entry.js +2 -2
- package/dist/esm/dso-tabs.entry.js.map +1 -1
- package/dist/esm/dso-toggletip.entry.js +2 -2
- package/dist/esm/dso-toggletip.entry.js.map +1 -1
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-tooltip.entry.js +2 -2
- package/dist/esm/dso-tooltip.entry.js.map +1 -1
- package/dist/esm/dso-tree-view.entry.js +2 -2
- package/dist/esm/dso-tree-view.entry.js.map +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +2 -2
- package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/legend-item/legend-item.d.ts +7 -8
- package/dist/types/components/legend-item/legend-item.interfaces.d.ts +10 -2
- package/dist/types/components.d.ts +15 -15
- package/package.json +3 -3
- package/dist/bundle/p-BJv2m9ZZ.js +0 -253
- package/dist/bundle/p-BtcZ9oZ6.js +0 -115
- package/dist/bundle/p-C1tscMvU.js +0 -43
- package/dist/bundle/p-CkBk3gL8.js +0 -80
- package/dist/bundle/p-Cng7insW.js +0 -145
- package/dist/bundle/p-CvGnEQcm.js.map +0 -1
- package/dist/bundle/p-CwXjPr2h.js +0 -36
- package/dist/bundle/p-D9Yjz_Sm.js +0 -125
- package/dist/bundle/p-DvqO1i1s.js +0 -1162
- package/dist/bundle/p-xNnEBBZG.js +0 -63
- package/dist/dso-toolkit/p-03fb6237.entry.js +0 -2
- package/dist/dso-toolkit/p-0764520c.entry.js +0 -2
- package/dist/dso-toolkit/p-09ec6ce5.entry.js +0 -2
- package/dist/dso-toolkit/p-0feea762.entry.js +0 -2
- package/dist/dso-toolkit/p-159be9e6.entry.js +0 -2
- package/dist/dso-toolkit/p-15c901ff.entry.js +0 -2
- package/dist/dso-toolkit/p-19af64f1.entry.js +0 -2
- package/dist/dso-toolkit/p-1b3db27c.entry.js +0 -2
- package/dist/dso-toolkit/p-2510276b.entry.js +0 -2
- package/dist/dso-toolkit/p-2b1c6af2.entry.js +0 -2
- package/dist/dso-toolkit/p-2dc3dc9a.entry.js +0 -2
- package/dist/dso-toolkit/p-322b7db4.entry.js +0 -2
- package/dist/dso-toolkit/p-35e1d8a4.entry.js +0 -2
- package/dist/dso-toolkit/p-3c74fd03.entry.js +0 -2
- package/dist/dso-toolkit/p-3c74fd03.entry.js.map +0 -1
- package/dist/dso-toolkit/p-400fede0.entry.js +0 -2
- package/dist/dso-toolkit/p-4160d2e0.entry.js +0 -2
- package/dist/dso-toolkit/p-469ca170.entry.js +0 -2
- package/dist/dso-toolkit/p-514665a1.entry.js +0 -2
- package/dist/dso-toolkit/p-5c7331de.entry.js +0 -2
- package/dist/dso-toolkit/p-6c1feb1f.entry.js +0 -2
- package/dist/dso-toolkit/p-6f89da1c.entry.js +0 -2
- package/dist/dso-toolkit/p-7a3c51ad.entry.js +0 -2
- package/dist/dso-toolkit/p-8897189c.entry.js +0 -2
- package/dist/dso-toolkit/p-8f4a2401.entry.js +0 -2
- package/dist/dso-toolkit/p-909118a3.entry.js +0 -2
- package/dist/dso-toolkit/p-90ead8a5.entry.js +0 -2
- package/dist/dso-toolkit/p-94cea134.entry.js +0 -2
- package/dist/dso-toolkit/p-9a30700a.entry.js +0 -2
- package/dist/dso-toolkit/p-9abdf5aa.entry.js +0 -2
- package/dist/dso-toolkit/p-a61470ad.entry.js +0 -2
- package/dist/dso-toolkit/p-aa5dc824.entry.js +0 -2
- package/dist/dso-toolkit/p-b615471f.entry.js +0 -2
- package/dist/dso-toolkit/p-b6f5ca5e.entry.js +0 -2
- package/dist/dso-toolkit/p-bd717c9b.entry.js +0 -2
- package/dist/dso-toolkit/p-c3ed6804.entry.js +0 -2
- package/dist/dso-toolkit/p-c4fe6ee2.entry.js +0 -2
- package/dist/dso-toolkit/p-d4db08c7.entry.js +0 -2
- package/dist/dso-toolkit/p-d4db08c7.entry.js.map +0 -1
- package/dist/dso-toolkit/p-d926863a.entry.js +0 -2
- package/dist/dso-toolkit/p-db6b2bb9.entry.js +0 -2
- package/dist/dso-toolkit/p-dc33f3aa.entry.js +0 -2
- package/dist/dso-toolkit/p-de3ed856.entry.js +0 -2
- package/dist/dso-toolkit/p-e85e3e06.entry.js +0 -2
- package/dist/dso-toolkit/p-edda55f0.entry.js +0 -2
- package/dist/dso-toolkit/p-f1999525.entry.js +0 -2
- package/dist/dso-toolkit/p-f9b41ef6.entry.js +0 -2
- package/dist/dso-toolkit/p-fa850439.entry.js +0 -2
- /package/dist/dso-toolkit/{p-eafec507.entry.js.map → p-e3883983.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-bd717c9b.entry.js.map → p-f1f414b6.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["localization","buttonLabel","placeholder","selectedDateMessage","prevMonthLabel","nextMonthLabel","monthSelectLabel","yearSelectLabel","closeLabel","keyboardInstruction","calendarHeading","dayNames","monthNames","monthNamesShort","DaysOfWeek","createDate","year","month","day","dayInt","parseInt","monthInt","yearInt","isValid","Number","isInteger","Date","parseDutchDate","value","matches","split","length","printDutchDate","date","d","getDate","toString","padStart","m","getMonth","y","getFullYear","isEqual","a","b","addDays","days","setDate","startOfWeek","firstDayOfWeek","Monday","getDay","diff","endOfWeek","startOfMonth","endOfMonth","setMonth","setYear","setFullYear","inRange","min","max","clamp","time","getTime","getDaysInRange","start","end","current","push","getViewOfMonth","DatePickerLegacyDay","focusedDay","today","onDaySelect","onKeyboardNavigation","focusedDayRef","isToday","isFocused","notCurrentMonth","isOutsideRange","handleClick","e","h","class","tabIndex","onClick","onKeyDown","disabled","type","ref","el","chunk","array","chunkSize","result","i","slice","mapWithOffset","startingOffset","mapFn","map","_","adjustedIndex","item","Error","DatePickerLegacyMonth","selectedDate","focusedDate","labelledById","onDateSelect","onMouseDown","onFocusIn","role","onFocusin","dayName","scope","substr","week","undefined","monthRange","selectedYear","minDate","maxDate","minYear","minMonth","maxYear","maxMonth","filter","_month","index","range","from","to","datePickerLegacyCss","keyCode","TAB","ESC","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DISALLOWED_CHARACTERS","TRANSITION_MS","cleanValue","input","regex","cursor","selectionStart","beforeCursor","afterCursor","filteredBeforeCursor","replace","filterAfterCursor","newValue","newCursor","selectionEnd","DsoDatePickerLegacy","constructor","hostRef","this","monthSelectId","createIdentifier","yearSelectId","dialogLabelId","defaultLocalization","activeFocus","open","visible","name","direction","required","dsoAutofocus","enableActiveFocus","disableActiveFocus","toggleOpen","preventDefault","hide","show","handleEscKey","event","handleBlur","stopPropagation","dsoBlur","emit","component","handleKeyUp","dsoKeyUp","originalEvent","handleKeyDown","dsoKeyDown","handleFocus","dsoFocus","handleTouchStart","touch","changedTouches","initialTouchX","pageX","initialTouchY","pageY","handleTouchMove","handleTouchEnd","distX","_a","distY","_b","threshold","isHorizontalSwipe","Math","abs","isDownwardsSwipe","addMonths","handleNextMonthClick","handlePreviousMonthClick","handleFirstFocusableKeydown","shiftKey","focusedDayNode","focus","handleKeyboardNavigation","firstFocusableElement","handled","addYears","handleDaySelect","_event","setValue","setFocusedDay","handleMonthSelect","target","HTMLSelectElement","handleYearSelect","handleInputChange","cleanedValue","prepareEvent","valueAsDate","error","clampValue","processFocusedDayNode","element","setTimeout","handleDocumentClick","path","composedPath","Node","contains","setFocus","datePickerLegacyInput","hideTimeoutId","clearTimeout","focusTimeoutId","monthSelectNode","moveFocusToButton","datePickerLegacyButton","months","years","previousValue","dsoDateChange","componentWillLoad","componentDidLoad","render","formattedDate","focusedMonth","focusedYear","prevMonthDisabled","nextMonthDisabled","Host","key","id","identifier","invalid","describedBy","onInput","onFocus","onBlur","onKeyUp","autoComplete","icon","onTouchMove","onTouchStart","onTouchEnd","htmlFor","onChange","indexOf","selected"],"sources":["src/components/date-picker-legacy/date-localization.ts","src/components/date-picker-legacy/date-utils.ts","src/components/date-picker-legacy/date-picker-day.tsx","src/components/date-picker-legacy/date-picker-month.tsx","src/components/date-picker-legacy/utils/month-range.ts","src/components/date-picker-legacy/utils/range.ts","src/components/date-picker-legacy/date-picker-legacy.scss?tag=dso-date-picker-legacy&encapsulation=scoped","src/components/date-picker-legacy/date-picker-legacy.tsx"],"sourcesContent":["type MonthsNames = [string, string, string, string, string, string, string, string, string, string, string, string];\r\ntype DayNames = [string, string, string, string, string, string, string];\r\n\r\nexport type DsoLocalizedText = {\r\n buttonLabel: string;\r\n placeholder: string;\r\n selectedDateMessage: string;\r\n prevMonthLabel: string;\r\n nextMonthLabel: string;\r\n monthSelectLabel: string;\r\n yearSelectLabel: string;\r\n closeLabel: string;\r\n keyboardInstruction: string;\r\n calendarHeading: string;\r\n dayNames: DayNames;\r\n monthNames: MonthsNames;\r\n monthNamesShort: MonthsNames;\r\n};\r\n\r\nconst localization: DsoLocalizedText = {\r\n buttonLabel: \"Kies datum\",\r\n placeholder: \"dd-mm-jjjj\",\r\n selectedDateMessage: \"Geselecteerde datum is\",\r\n prevMonthLabel: \"Vorige maand\",\r\n nextMonthLabel: \"Volgende maand\",\r\n monthSelectLabel: \"Maand\",\r\n yearSelectLabel: \"Jaar\",\r\n closeLabel: \"Sluiten\",\r\n keyboardInstruction: \"Gebruik de pijltjestoetsen om een dag te kiezen\",\r\n calendarHeading: \"Kies een datum\",\r\n dayNames: [\"Zondag\", \"Maandag\", \"Dinsdag\", \"Woensdag\", \"Donderdag\", \"Vrijdag\", \"Zaterdag\"],\r\n monthNames: [\r\n \"Januari\",\r\n \"Februari\",\r\n \"Maart\",\r\n \"April\",\r\n \"Mei\",\r\n \"Juni\",\r\n \"Juli\",\r\n \"Augustus\",\r\n \"September\",\r\n \"Oktober\",\r\n \"November\",\r\n \"December\",\r\n ],\r\n monthNamesShort: [\"Jan\", \"Feb\", \"Mrt\", \"Apr\", \"Mei\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dec\"],\r\n};\r\n\r\nexport default localization;\r\n","// eslint-disable-next-line @stencil-community/ban-exported-const-enums -- This enum is not part of public API\r\nexport enum DaysOfWeek {\r\n Sunday = 0,\r\n Monday = 1,\r\n Tuesday = 2,\r\n Wednesday = 3,\r\n Thursday = 4,\r\n Friday = 5,\r\n Saturday = 6,\r\n}\r\n\r\nexport function createDate(year: string, month: string, day: string): Date | undefined {\r\n const dayInt = parseInt(day, 10);\r\n const monthInt = parseInt(month, 10);\r\n const yearInt = parseInt(year, 10);\r\n\r\n const isValid =\r\n Number.isInteger(yearInt) && // all parts should be integers\r\n Number.isInteger(monthInt) &&\r\n Number.isInteger(dayInt) &&\r\n monthInt > 0 && // month must be 1-12\r\n monthInt <= 12 &&\r\n dayInt > 0 && // day must be 1-31\r\n dayInt <= 31 &&\r\n yearInt > 0;\r\n\r\n if (isValid) {\r\n return new Date(yearInt, monthInt - 1, dayInt);\r\n }\r\n}\r\n\r\n/**\r\n * @param value date string in Dutch format D-M-YYYY\r\n */\r\nexport function parseDutchDate(value: string | undefined): Date | undefined {\r\n if (!value) {\r\n return;\r\n }\r\n\r\n const matches = value.split(\"-\");\r\n\r\n if (\r\n matches.length === 3 &&\r\n typeof matches[0] === \"string\" &&\r\n typeof matches[1] === \"string\" &&\r\n typeof matches[2] === \"string\" &&\r\n matches[2].length === 4\r\n ) {\r\n return createDate(matches[2], matches[1], matches[0]);\r\n }\r\n}\r\n\r\n/**\r\n * print date in format DD-MM-YYYY\r\n * @param date\r\n */\r\nexport function printDutchDate(date: Date | undefined): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const d = date.getDate().toString(10).padStart(2, \"0\");\r\n const m = (date.getMonth() + 1).toString(10).padStart(2, \"0\");\r\n const y = date.getFullYear().toString(10).padStart(2, \"0\");\r\n\r\n return `${d}-${m}-${y}`;\r\n}\r\n\r\n/**\r\n * Compare if two dates are equal in terms of day, month, and year\r\n */\r\nexport function isEqual(a: Date | undefined, b: Date | undefined): boolean {\r\n if (!a || !b) {\r\n return false;\r\n }\r\n\r\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\r\n}\r\n\r\nexport function addDays(date: Date, days: number): Date {\r\n const d = new Date(date);\r\n d.setDate(d.getDate() + days);\r\n return d;\r\n}\r\n\r\nexport function addMonths(date: Date, months: number): Date {\r\n const d = new Date(date);\r\n d.setMonth(date.getMonth() + months);\r\n return d;\r\n}\r\n\r\nexport function addYears(date: Date, years: number): Date {\r\n const d = new Date(date);\r\n d.setFullYear(date.getFullYear() + years);\r\n return d;\r\n}\r\n\r\nexport function startOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\r\n const d = new Date(date);\r\n const day = d.getDay();\r\n const diff = (day < firstDayOfWeek ? 7 : 0) + day - firstDayOfWeek;\r\n\r\n d.setDate(d.getDate() - diff);\r\n return d;\r\n}\r\n\r\nexport function endOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\r\n const d = new Date(date);\r\n const day = d.getDay();\r\n const diff = (day < firstDayOfWeek ? -7 : 0) + 6 - (day - firstDayOfWeek);\r\n\r\n d.setDate(d.getDate() + diff);\r\n return d;\r\n}\r\n\r\nexport function startOfMonth(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth(), 1);\r\n}\r\n\r\nexport function endOfMonth(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n}\r\n\r\nexport function setMonth(date: Date, month: number): Date {\r\n const d = new Date(date);\r\n d.setMonth(month);\r\n return d;\r\n}\r\n\r\nexport function setYear(date: Date, year: number): Date {\r\n const d = new Date(date);\r\n d.setFullYear(year);\r\n return d;\r\n}\r\n\r\n/**\r\n * Check if date is within a min and max\r\n */\r\nexport function inRange(date: Date, min?: Date, max?: Date): boolean {\r\n return clamp(date, min, max) === date;\r\n}\r\n\r\n/**\r\n * Ensures date is within range, returns min or max if out of bounds\r\n */\r\nexport function clamp(date: Date, min?: Date, max?: Date): Date {\r\n const time = date.getTime();\r\n\r\n if (min && min instanceof Date && time < min.getTime()) {\r\n return min;\r\n }\r\n\r\n if (max && max instanceof Date && time > max.getTime()) {\r\n return max;\r\n }\r\n\r\n return date;\r\n}\r\n\r\n/**\r\n * given start and end date, return an (inclusive) array of all dates in between\r\n * @param start\r\n * @param end\r\n */\r\nfunction getDaysInRange(start: Date, end: Date): Date[] {\r\n const days: Date[] = [];\r\n let current = start;\r\n\r\n while (!isEqual(current, end)) {\r\n days.push(current);\r\n current = addDays(current, 1);\r\n }\r\n\r\n days.push(current);\r\n\r\n return days;\r\n}\r\n\r\n/**\r\n * given a date, return an array of dates from a calendar perspective\r\n * @param date\r\n * @param firstDayOfWeek\r\n */\r\nexport function getViewOfMonth(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date[] {\r\n const start = startOfWeek(startOfMonth(date), firstDayOfWeek);\r\n const end = endOfWeek(endOfMonth(date), firstDayOfWeek);\r\n\r\n return getDaysInRange(start, end);\r\n}\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { isEqual, printDutchDate } from \"./date-utils\";\r\n\r\nexport type DatePickerLegacyDayProps = {\r\n focusedDay: Date;\r\n today: Date;\r\n day: Date;\r\n inRange: boolean;\r\n onDaySelect: (event: MouseEvent, day: Date) => void;\r\n onKeyboardNavigation: (event: KeyboardEvent) => void;\r\n focusedDayRef?: (element: HTMLButtonElement) => void;\r\n};\r\n\r\nexport const DatePickerLegacyDay: FunctionalComponent<DatePickerLegacyDayProps> = ({\r\n focusedDay,\r\n today,\r\n day,\r\n onDaySelect,\r\n onKeyboardNavigation,\r\n focusedDayRef,\r\n inRange,\r\n}) => {\r\n const isToday = isEqual(day, today);\r\n const isFocused = isEqual(day, focusedDay);\r\n const notCurrentMonth = day.getMonth() !== focusedDay.getMonth();\r\n const isOutsideRange = !inRange;\r\n\r\n function handleClick(e: MouseEvent) {\r\n onDaySelect(e, day);\r\n }\r\n\r\n return (\r\n <button\r\n class={{\r\n \"dso-date__day\": true,\r\n \"is-today\": isToday,\r\n }}\r\n tabIndex={isFocused ? 0 : -1}\r\n onClick={handleClick}\r\n onKeyDown={onKeyboardNavigation}\r\n disabled={isOutsideRange || notCurrentMonth}\r\n type=\"button\"\r\n ref={(el) => {\r\n if (isFocused && el && focusedDayRef) {\r\n focusedDayRef(el);\r\n }\r\n }}\r\n >\r\n <span aria-hidden=\"true\">{day.getDate()}</span>\r\n <span class=\"dso-date__vhidden\">{printDutchDate(day)}</span>\r\n </button>\r\n );\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { DsoLocalizedText } from \"./date-localization\";\r\nimport { DatePickerLegacyDay, DatePickerLegacyDayProps } from \"./date-picker-day\";\r\nimport { DaysOfWeek, getViewOfMonth, inRange, isEqual } from \"./date-utils\";\r\n\r\nfunction chunk<T>(array: T[], chunkSize: number): T[][] {\r\n const result = [];\r\n\r\n for (let i = 0; i < array.length; i += chunkSize) {\r\n result.push(array.slice(i, i + chunkSize));\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction mapWithOffset<T, U>(array: T[], startingOffset: number, mapFn: (item: T) => U): U[] {\r\n return array.map((_, i) => {\r\n const adjustedIndex = (i + startingOffset) % array.length;\r\n const item = array[adjustedIndex];\r\n if (!item) {\r\n throw new Error(\"No item found\");\r\n }\r\n\r\n return mapFn(item);\r\n });\r\n}\r\n\r\ntype DatePickerLegacyMonthProps = {\r\n selectedDate: Date | undefined;\r\n focusedDate: Date;\r\n labelledById: string;\r\n localization: DsoLocalizedText;\r\n firstDayOfWeek: DaysOfWeek;\r\n min?: Date;\r\n max?: Date;\r\n onDateSelect: DatePickerLegacyDayProps[\"onDaySelect\"];\r\n onKeyboardNavigation: DatePickerLegacyDayProps[\"onKeyboardNavigation\"];\r\n focusedDayRef: (element: HTMLButtonElement) => void;\r\n onFocusIn?: (e: FocusEvent) => void;\r\n onMouseDown?: (e: MouseEvent) => void;\r\n};\r\n\r\nexport const DatePickerLegacyMonth: FunctionalComponent<DatePickerLegacyMonthProps> = ({\r\n selectedDate,\r\n focusedDate,\r\n labelledById,\r\n localization,\r\n firstDayOfWeek,\r\n min,\r\n max,\r\n onDateSelect,\r\n onKeyboardNavigation,\r\n focusedDayRef,\r\n onMouseDown,\r\n onFocusIn,\r\n}) => {\r\n const today = new Date();\r\n const days = getViewOfMonth(focusedDate, firstDayOfWeek);\r\n\r\n return (\r\n <table\r\n class=\"dso-date__table\"\r\n role=\"grid\"\r\n aria-labelledby={labelledById}\r\n onFocusin={onFocusIn}\r\n onMouseDown={onMouseDown}\r\n >\r\n <thead>\r\n <tr>\r\n {mapWithOffset(localization.dayNames, firstDayOfWeek, (dayName) => (\r\n <th class=\"dso-date__table-header\" scope=\"col\">\r\n <span aria-hidden=\"true\">{dayName.substr(0, 2)}</span>\r\n <span class=\"dso-date__vhidden\">{dayName}</span>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {chunk(days, 7).map((week) => (\r\n <tr class=\"dso-date__row\">\r\n {week.map((day) => (\r\n <td\r\n class=\"dso-date__cell\"\r\n role=\"gridcell\"\r\n aria-selected={isEqual(day, selectedDate) ? \"true\" : undefined}\r\n aria-current={isEqual(day, today) ? \"date\" : undefined}\r\n >\r\n <DatePickerLegacyDay\r\n day={day}\r\n today={today}\r\n focusedDay={focusedDate}\r\n inRange={inRange(day, min, max)}\r\n onDaySelect={onDateSelect}\r\n onKeyboardNavigation={onKeyboardNavigation}\r\n focusedDayRef={focusedDayRef}\r\n />\r\n </td>\r\n ))}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n );\r\n};\r\n","import { DsoLocalizedText } from \"../date-localization\";\r\n\r\nexport function monthRange(\r\n localization: DsoLocalizedText,\r\n selectedYear: number,\r\n minDate?: Date,\r\n maxDate?: Date,\r\n): string[] {\r\n if (minDate && maxDate) {\r\n const { minYear, minMonth } = { minYear: minDate.getFullYear(), minMonth: minDate.getMonth() };\r\n const { maxYear, maxMonth } = { maxYear: maxDate.getFullYear(), maxMonth: maxDate.getMonth() };\r\n\r\n return localization.monthNames.filter((_month, index) => {\r\n if (minYear === selectedYear && maxYear === selectedYear) {\r\n return index >= minMonth && index >= maxMonth;\r\n }\r\n\r\n if (minYear === selectedYear) {\r\n return index >= minMonth;\r\n }\r\n\r\n if (maxYear === selectedYear) {\r\n return index <= maxMonth;\r\n }\r\n\r\n return true;\r\n });\r\n }\r\n\r\n if (minDate) {\r\n const { minYear, minMonth } = { minYear: minDate.getFullYear(), minMonth: minDate.getMonth() };\r\n\r\n return localization.monthNames.filter((_month, index) => minYear === selectedYear && index >= minMonth);\r\n }\r\n\r\n if (maxDate) {\r\n const { maxYear, maxMonth } = { maxYear: maxDate.getFullYear(), maxMonth: maxDate.getMonth() };\r\n\r\n return localization.monthNames.filter((_month, index) => maxYear === selectedYear && index <= maxMonth);\r\n }\r\n\r\n return localization.monthNames;\r\n}\r\n","export function range(from: number, to: number) {\r\n const result: number[] = [];\r\n for (let i = from; i <= to; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n}\r\n","@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n\r\n@use \"date-picker-legacy.variables\" as core-date-picker-legacy-variables;\r\n\r\n:host {\r\n display: block;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n .dso-date__input {\r\n border-color: colors.$danger-color;\r\n }\r\n }\r\n}\r\n\r\n.dso-date *,\r\n.dso-date *::before,\r\n.dso-date *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n.dso-date {\r\n box-sizing: border-box;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n display: block;\r\n font-family: core-date-picker-legacy-variables.$font;\r\n margin: 0;\r\n position: relative;\r\n text-align: start;\r\n inline-size: 100%;\r\n\r\n &:not(.dso-visible) {\r\n .dso-date__dialog {\r\n display: none;\r\n }\r\n }\r\n}\r\n\r\n.dso-date__input {\r\n @include form-control.root();\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ TOGGLE\r\n// ---------------------------------------------\r\n\r\n.dso-date__toggle {\r\n -moz-appearance: none;\r\n -webkit-appearance: none;\r\n -webkit-user-select: none;\r\n align-items: center;\r\n appearance: none;\r\n background: core-date-picker-legacy-variables.$color-button-bg;\r\n border: 0;\r\n border-radius: 0;\r\n border-end-end-radius: core-date-picker-legacy-variables.$radius;\r\n border-start-end-radius: core-date-picker-legacy-variables.$radius;\r\n color: core-date-picker-legacy-variables.$color-icon;\r\n cursor: pointer;\r\n display: flex;\r\n block-size: core-date-picker-legacy-variables.$size;\r\n justify-content: center;\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: 0;\r\n transform: translateY(-50%);\r\n inset-block-start: 50%;\r\n user-select: none;\r\n inline-size: core-date-picker-legacy-variables.$size;\r\n z-index: zindex.$datepicker + 1;\r\n\r\n &:disabled {\r\n color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n cursor: default;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ DIALOG\r\n// ---------------------------------------------\r\n\r\n.dso-date__dialog {\r\n border-width: core-date-picker-legacy-variables.$border-width;\r\n display: flex;\r\n inset-inline-end: 0;\r\n min-inline-size: 320px;\r\n opacity: 0;\r\n position: absolute;\r\n inset-block-start: 100%;\r\n transform: scale(0.96) translateZ(0) translateY(-20px);\r\n transform-origin: top right;\r\n transition:\r\n transform 300ms ease,\r\n opacity 300ms ease,\r\n visibility 300ms ease;\r\n visibility: hidden;\r\n will-change: transform, opacity, visibility;\r\n z-index: zindex.$datepicker-dialog;\r\n\r\n @media (max-width: 35.9375em) {\r\n background: core-date-picker-legacy-variables.$overlay;\r\n inset-block-end: 0;\r\n position: fixed;\r\n inset-inline-start: 0;\r\n inset-inline-end: 0;\r\n inset-block-start: 0;\r\n transform: translateZ(0);\r\n transform-origin: bottom center;\r\n }\r\n\r\n &.is-left {\r\n inset-inline-start: units.$padding-base-inline * -1 + core-date-picker-legacy-variables.$border-width;\r\n inset-inline-end: auto;\r\n inline-size: auto;\r\n }\r\n\r\n &.is-active {\r\n opacity: 1;\r\n // The value of 1.0001 fixes a Chrome glitch with scaling\r\n transform: scale(1.0001) translateZ(0) translateY(0);\r\n visibility: visible;\r\n }\r\n}\r\n\r\n.dso-date__dialog-content {\r\n background: core-date-picker-legacy-variables.$surface;\r\n border: 1px solid rgba(0, 0, 0, 0.1);\r\n border-radius: core-date-picker-legacy-variables.$radius;\r\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.4);\r\n margin-inline-start: auto;\r\n margin-inline-end: -1px;\r\n margin-block-start: 8px;\r\n max-inline-size: 310px;\r\n min-inline-size: 290px;\r\n padding: 16px;\r\n position: relative;\r\n transform: none;\r\n inline-size: 100%;\r\n z-index: zindex.$datepicker-dialog;\r\n\r\n @media (max-width: 35.9375em) {\r\n border: 0;\r\n border-radius: 0;\r\n border-start-start-radius: core-date-picker-legacy-variables.$radius;\r\n border-start-end-radius: core-date-picker-legacy-variables.$radius;\r\n inset-block-end: 0;\r\n inset-inline-start: 0;\r\n margin: 0;\r\n max-inline-size: none;\r\n min-block-size: 26em;\r\n opacity: 0;\r\n padding-block: 0 20px;\r\n padding-inline: 8%;\r\n position: absolute;\r\n transform: translateZ(0) translateY(100%);\r\n transition:\r\n transform core-date-picker-legacy-variables.$transition-duration ease,\r\n opacity core-date-picker-legacy-variables.$transition-duration ease,\r\n visibility core-date-picker-legacy-variables.$transition-duration ease;\r\n visibility: hidden;\r\n will-change: transform, opacity, visibility;\r\n\r\n .is-active & {\r\n opacity: 1;\r\n transform: translateZ(0) translateY(0);\r\n visibility: visible;\r\n }\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ TABLE\r\n// ---------------------------------------------\r\n\r\n.dso-date__table {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n font-size: 1rem;\r\n font-weight: core-date-picker-legacy-variables.$font-normal;\r\n line-height: 1.25;\r\n min-inline-size: (core-date-picker-legacy-variables.$size + 2) * 7;\r\n table-layout: fixed;\r\n text-align: center;\r\n inline-size: 100%;\r\n}\r\n\r\n.dso-date__table-header {\r\n font-size: 0.875em;\r\n font-weight: core-date-picker-legacy-variables.$font-bold;\r\n block-size: 36px;\r\n line-height: 36px;\r\n text-align: center;\r\n text-decoration: none;\r\n text-transform: uppercase;\r\n}\r\n\r\n.dso-date__cell {\r\n block-size: core-date-picker-legacy-variables.$size + 2;\r\n padding: 1px;\r\n text-align: center;\r\n inline-size: core-date-picker-legacy-variables.$size + 2;\r\n}\r\n\r\n.dso-date__day {\r\n -moz-appearance: none;\r\n -webkit-appearance: none;\r\n appearance: none;\r\n background: transparent;\r\n border: 0;\r\n border-radius: 50%;\r\n box-shadow: 0 0 0 1px transparent;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n cursor: pointer;\r\n display: inline-block;\r\n font-family: core-date-picker-legacy-variables.$font;\r\n font-variant-numeric: tabular-nums;\r\n font-weight: core-date-picker-legacy-variables.$font-normal;\r\n block-size: core-date-picker-legacy-variables.$size;\r\n line-height: 0;\r\n padding: 0;\r\n position: relative;\r\n text-align: center;\r\n vertical-align: middle;\r\n inline-size: core-date-picker-legacy-variables.$size;\r\n z-index: zindex.$datepicker;\r\n\r\n &.is-today {\r\n background: transparent;\r\n block-size: core-date-picker-legacy-variables.$size - 2;\r\n box-shadow: 0 0 0 1px core-date-picker-legacy-variables.$color-button;\r\n inline-size: core-date-picker-legacy-variables.$size - 2;\r\n }\r\n\r\n &:hover,\r\n &:active {\r\n background: core-date-picker-legacy-variables.$color-button;\r\n color: core-date-picker-legacy-variables.$color-text-active;\r\n }\r\n\r\n &:focus {\r\n background: transparent;\r\n box-shadow: 0 0 0 2px colors.$bosgroen;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n block-size: core-date-picker-legacy-variables.$size - 4;\r\n outline: 0;\r\n inline-size: core-date-picker-legacy-variables.$size - 4;\r\n }\r\n\r\n [aria-selected=\"true\"] & {\r\n background: core-date-picker-legacy-variables.$color-button;\r\n color: core-date-picker-legacy-variables.$color-text-active;\r\n\r\n &:focus {\r\n background: transparent;\r\n\r\n span[aria-hidden=\"true\"] {\r\n background: core-date-picker-legacy-variables.$color-button;\r\n border: 1px solid colors.$wit;\r\n line-height: core-date-picker-legacy-variables.$size - 6;\r\n }\r\n }\r\n }\r\n\r\n &:disabled {\r\n background: colors.$wit;\r\n color: core-date-picker-legacy-variables.$color-text-disabled;\r\n cursor: default;\r\n }\r\n\r\n span[aria-hidden=\"true\"] {\r\n border-radius: 50%;\r\n display: inline-block;\r\n block-size: core-date-picker-legacy-variables.$size - 4;\r\n line-height: core-date-picker-legacy-variables.$size - 4;\r\n inline-size: core-date-picker-legacy-variables.$size - 4;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ HEADER\r\n// ---------------------------------------------\r\n\r\n.dso-date__header {\r\n align-items: center;\r\n display: flex;\r\n justify-content: space-between;\r\n margin-block-end: 16px;\r\n inline-size: 100%;\r\n\r\n span {\r\n font-size: 0.875rem;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ NAVIGATION\r\n// ---------------------------------------------\r\n\r\n.dso-date__nav {\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n}\r\n\r\n.dso-date__prev,\r\n.dso-date__next {\r\n -moz-appearance: none;\r\n -webkit-appearance: none;\r\n align-items: center;\r\n appearance: none;\r\n background: core-date-picker-legacy-variables.$color-button-bg;\r\n border: 1px solid core-date-picker-legacy-variables.$color-button;\r\n border-radius: core-date-picker-legacy-variables.$radius;\r\n box-sizing: border-box;\r\n color: core-date-picker-legacy-variables.$color-button;\r\n cursor: pointer;\r\n display: inline-flex;\r\n font-size: 1em;\r\n block-size: 32px;\r\n justify-content: center;\r\n margin-inline-start: 8px;\r\n padding: 0;\r\n inline-size: 32px;\r\n\r\n @media (max-width: 35.9375em) {\r\n block-size: 40px;\r\n inline-size: 40px;\r\n }\r\n\r\n &:hover,\r\n &:active {\r\n background-color: core-date-picker-legacy-variables.$color-button;\r\n color: core-date-picker-legacy-variables.$color-text-active;\r\n }\r\n\r\n &:focus {\r\n background: core-date-picker-legacy-variables.$color-button-bg;\r\n color: core-date-picker-legacy-variables.$color-button;\r\n }\r\n\r\n &:disabled {\r\n &,\r\n &:hover {\r\n background-color: colors.$wit;\r\n border-color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n opacity: 1;\r\n }\r\n }\r\n\r\n svg {\r\n margin-block: 0; // left this in, just to be sure ;)\r\n margin-inline: auto;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ SELECT\r\n// ---------------------------------------------\r\n\r\n.dso-date__select {\r\n display: inline-flex;\r\n block-size: units.$u1 * 4 - 4;\r\n line-height: units.$u1 * 4 - 4;\r\n position: relative;\r\n\r\n span {\r\n margin-inline-end: 4px;\r\n }\r\n\r\n select {\r\n color: core-date-picker-legacy-variables.$color-primary;\r\n cursor: pointer;\r\n font-size: 1rem;\r\n block-size: 100%;\r\n inset-inline-start: 0;\r\n opacity: 0;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inline-size: 100%;\r\n z-index: zindex.$datepicker + 1;\r\n\r\n &:focus + .dso-date__select-label {\r\n box-shadow: 0 0 0 2px core-date-picker-legacy-variables.$color-primary;\r\n }\r\n\r\n &:disabled {\r\n color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n }\r\n }\r\n}\r\n\r\n.dso-date__select-label {\r\n align-items: center;\r\n border-radius: core-date-picker-legacy-variables.$radius;\r\n color: core-date-picker-legacy-variables.$select;\r\n display: flex;\r\n padding-block: 0;\r\n padding-inline: 8px 4px;\r\n pointer-events: none;\r\n position: relative;\r\n inline-size: 100%;\r\n z-index: zindex.$datepicker;\r\n\r\n span {\r\n font-size: 1.25rem;\r\n font-weight: core-date-picker-legacy-variables.$font-bold;\r\n line-height: 1.25;\r\n }\r\n\r\n svg {\r\n inline-size: 16px;\r\n block-size: 16px;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ MOBILE\r\n// ---------------------------------------------\r\n\r\n.dso-date__mobile {\r\n align-items: center;\r\n border-block-end: 1px solid rgba(0, 0, 0, 0.12);\r\n display: flex;\r\n font-size: 1em;\r\n justify-content: space-between;\r\n margin-block-end: 20px;\r\n margin-inline-start: -10%;\r\n overflow: hidden;\r\n padding-block: 12px;\r\n padding-inline: 20px;\r\n position: relative;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n inline-size: 120%;\r\n\r\n @media (min-width: 36em) {\r\n border: 0;\r\n margin: 0;\r\n overflow: visible;\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: -16px;\r\n inset-block-start: -16px;\r\n inline-size: auto;\r\n }\r\n}\r\n\r\n.dso-date__mobile-heading {\r\n display: inline-block;\r\n font-weight: core-date-picker-legacy-variables.$font-bold;\r\n max-inline-size: 84%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n\r\n @media (min-width: 36em) {\r\n display: none;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ CLOSE\r\n// ---------------------------------------------\r\n\r\n.dso-date__close {\r\n -webkit-appearance: none;\r\n align-items: center;\r\n appearance: none;\r\n background-color: colors.$wit;\r\n border: 0;\r\n border-radius: 50%;\r\n color: core-date-picker-legacy-variables.$color-icon;\r\n cursor: pointer;\r\n display: flex;\r\n font-size: 1em;\r\n block-size: units.$u1 * 4;\r\n justify-content: center;\r\n margin-inline-end: -4px;\r\n padding: 0;\r\n inline-size: units.$u1 * 4;\r\n\r\n @media (min-width: 36em) {\r\n margin-inline-end: 0;\r\n opacity: 0;\r\n }\r\n\r\n &:focus {\r\n box-shadow: 0 0 0 2px colors.$bosgroen;\r\n outline: none;\r\n\r\n @media (min-width: 36em) {\r\n opacity: 1;\r\n }\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ VISUALLY HIDDEN\r\n// ---------------------------------------------\r\n\r\n.dso-date__vhidden {\r\n border: 0;\r\n clip: rect(1px, 1px, 1px, 1px);\r\n block-size: 1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inline-size: 1px;\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Host,\r\n Listen,\r\n Method,\r\n Prop,\r\n State,\r\n h,\r\n} from \"@stencil/core\";\r\n\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\n\r\nimport defaultLocalization, { DsoLocalizedText } from \"./date-localization\";\r\nimport {\r\n DsoDatePickerLegacyChangeEvent,\r\n DsoDatePickerLegacyDirection,\r\n DsoDatePickerLegacyFocusEvent,\r\n DsoDatePickerLegacyKeyboardEvent,\r\n} from \"./date-picker-legacy.interfaces\";\r\nimport { DatePickerLegacyMonth } from \"./date-picker-month\";\r\nimport {\r\n DaysOfWeek,\r\n addDays,\r\n clamp,\r\n endOfMonth,\r\n endOfWeek,\r\n inRange,\r\n parseDutchDate,\r\n printDutchDate,\r\n setMonth,\r\n setYear,\r\n startOfMonth,\r\n startOfWeek,\r\n} from \"./date-utils\";\r\nimport { monthRange } from \"./utils/month-range\";\r\nimport { range } from \"./utils/range\";\r\n\r\nconst keyCode = {\r\n TAB: 9,\r\n ESC: 27,\r\n SPACE: 32,\r\n PAGE_UP: 33,\r\n PAGE_DOWN: 34,\r\n END: 35,\r\n HOME: 36,\r\n LEFT: 37,\r\n UP: 38,\r\n RIGHT: 39,\r\n DOWN: 40,\r\n};\r\n\r\nconst DISALLOWED_CHARACTERS = /[^0-9-]+/g;\r\nconst TRANSITION_MS = 300;\r\n\r\nfunction cleanValue(input: HTMLInputElement, regex: RegExp): string {\r\n const value = input.value;\r\n const cursor = input.selectionStart;\r\n\r\n if (!cursor) {\r\n return value;\r\n }\r\n\r\n const beforeCursor = value.slice(0, cursor);\r\n const afterCursor = value.slice(cursor, value.length);\r\n\r\n const filteredBeforeCursor = beforeCursor.replace(regex, \"\");\r\n const filterAfterCursor = afterCursor.replace(regex, \"\");\r\n\r\n const newValue = filteredBeforeCursor + filterAfterCursor;\r\n const newCursor = filteredBeforeCursor.length;\r\n\r\n input.value = newValue;\r\n input.selectionStart = input.selectionEnd = newCursor;\r\n\r\n return newValue;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-date-picker-legacy\",\r\n styleUrl: \"date-picker-legacy.scss\",\r\n shadow: false,\r\n scoped: true,\r\n})\r\nexport class DsoDatePickerLegacy implements ComponentInterface {\r\n /**\r\n * Own Properties\r\n */\r\n private monthSelectId = createIdentifier(\"DsoDateMonth\");\r\n private yearSelectId = createIdentifier(\"DsoDateYear\");\r\n private dialogLabelId = createIdentifier(\"DsoDateLabel\");\r\n\r\n private datePickerLegacyButton: HTMLButtonElement | undefined;\r\n private datePickerLegacyInput: HTMLInputElement | undefined;\r\n private firstFocusableElement: HTMLElement | undefined;\r\n private monthSelectNode: HTMLElement | undefined;\r\n private focusedDayNode: HTMLButtonElement | undefined;\r\n\r\n private focusTimeoutId: ReturnType<typeof setTimeout> | undefined;\r\n private hideTimeoutId: ReturnType<typeof setTimeout> | undefined;\r\n\r\n private initialTouchX: number | undefined;\r\n private initialTouchY: number | undefined;\r\n\r\n private localization: DsoLocalizedText = defaultLocalization;\r\n private firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday;\r\n\r\n private previousValue: string | undefined;\r\n\r\n /**\r\n * Reference to host HTML element.\r\n */\r\n @Element()\r\n element!: HTMLDsoDatePickerLegacyElement;\r\n\r\n /**\r\n * State() variables\r\n */\r\n @State()\r\n activeFocus = false;\r\n\r\n @State()\r\n focusedDay = new Date();\r\n\r\n @State()\r\n open = false;\r\n\r\n @State()\r\n visible = false;\r\n\r\n /**\r\n * Public Property API\r\n */\r\n\r\n /**\r\n * Name of the date picker input.\r\n */\r\n @Prop()\r\n name = \"date\";\r\n\r\n /**\r\n * Adds a unique identifier for the date picker input. Use this instead of html `id` attribute.\r\n */\r\n @Prop()\r\n identifier: string | undefined;\r\n\r\n /**\r\n * Makes the date picker input component disabled. This prevents users from being able to\r\n * interact with the input, and conveys its inactive state to assistive technologies.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Defines a specific role attribute for the date picker input.\r\n */\r\n @Prop()\r\n // eslint-disable-next-line @stencil-community/reserved-member-names\r\n role: string | null = null;\r\n\r\n /**\r\n * Forces the opening direction of the calendar modal to be always left or right.\r\n * This setting can be useful when the input is smaller than the opening date picker\r\n * would be as by default the picker always opens towards right.\r\n */\r\n @Prop()\r\n direction: DsoDatePickerLegacyDirection = \"right\";\r\n\r\n /**\r\n * Should the input be marked as required?\r\n */\r\n @Prop()\r\n required = false;\r\n\r\n /**\r\n * Is input invalid?\r\n */\r\n @Prop({ reflect: true })\r\n invalid?: boolean;\r\n\r\n /**\r\n * ID of element that describes the input element\r\n */\r\n @Prop()\r\n describedBy?: string;\r\n\r\n /**\r\n * Should the input be focused on load?\r\n */\r\n @Prop()\r\n dsoAutofocus = false;\r\n\r\n /**\r\n * Date value. Must be in Dutch date format: DD-MM-YYYY.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n value = \"\";\r\n\r\n /**\r\n * Minimum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the max property.\r\n */\r\n @Prop()\r\n min: string | undefined;\r\n\r\n /**\r\n * Maximum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the min property.\r\n */\r\n @Prop()\r\n max: string | undefined;\r\n\r\n /**\r\n * Events section.\r\n */\r\n\r\n /**\r\n * Event emitted when a date is selected.\r\n */\r\n @Event()\r\n dsoDateChange!: EventEmitter<DsoDatePickerLegacyChangeEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is blurred.\r\n */\r\n @Event()\r\n dsoBlur!: EventEmitter<DsoDatePickerLegacyFocusEvent>;\r\n\r\n /**\r\n * Event emitted on key up in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyUp!: EventEmitter<DsoDatePickerLegacyKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted on key down in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyDown!: EventEmitter<DsoDatePickerLegacyKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is focused.\r\n */\r\n @Event()\r\n dsoFocus!: EventEmitter<DsoDatePickerLegacyFocusEvent>;\r\n\r\n /**\r\n * Component event handling.\r\n */\r\n @Listen(\"click\", { target: \"document\", capture: true })\r\n handleDocumentClick(e: MouseEvent) {\r\n if (!this.open) {\r\n return;\r\n }\r\n\r\n const path = e.composedPath();\r\n\r\n for (const target of path) {\r\n if (target instanceof Node && this.element.contains(target)) {\r\n return;\r\n }\r\n }\r\n\r\n this.hide(false);\r\n }\r\n\r\n /**\r\n * Sets focus on the date picker's input. Use this method instead of the global `focus()`.\r\n */\r\n @Method()\r\n async setFocus() {\r\n return this.datePickerLegacyInput?.focus();\r\n }\r\n\r\n /**\r\n * Public methods API\r\n */\r\n\r\n /**\r\n * Show the calendar modal, moving focus to the calendar inside.\r\n */\r\n @Method()\r\n async show() {\r\n if (typeof this.hideTimeoutId !== \"undefined\") {\r\n clearTimeout(this.hideTimeoutId);\r\n }\r\n\r\n this.visible = true;\r\n\r\n setTimeout(() => {\r\n this.open = true;\r\n this.setFocusedDay(parseDutchDate(this.value) || new Date());\r\n\r\n if (typeof this.focusTimeoutId !== \"undefined\") {\r\n clearTimeout(this.focusTimeoutId);\r\n }\r\n\r\n this.focusTimeoutId = setTimeout(() => this.monthSelectNode?.focus(), TRANSITION_MS);\r\n });\r\n }\r\n\r\n /**\r\n * Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus\r\n * returning to the date picker's button. Default is true.\r\n */\r\n @Method()\r\n async hide(moveFocusToButton = true) {\r\n this.open = false;\r\n\r\n // in cases where calendar is quickly shown and hidden\r\n // we should avoid moving focus to the button\r\n if (typeof this.focusTimeoutId !== \"undefined\") {\r\n clearTimeout(this.focusTimeoutId);\r\n }\r\n\r\n this.hideTimeoutId = setTimeout(() => {\r\n if (moveFocusToButton && this.datePickerLegacyButton) {\r\n this.datePickerLegacyButton.focus();\r\n }\r\n\r\n this.visible = false;\r\n }, TRANSITION_MS + 200);\r\n }\r\n\r\n /**\r\n * Local methods.\r\n */\r\n private enableActiveFocus = () => {\r\n this.activeFocus = true;\r\n };\r\n\r\n private disableActiveFocus = () => {\r\n this.activeFocus = false;\r\n };\r\n\r\n private addDays(days: number) {\r\n this.setFocusedDay(addDays(this.focusedDay, days));\r\n }\r\n\r\n private addMonths(months: number) {\r\n this.setMonth(this.focusedDay.getMonth() + months);\r\n }\r\n\r\n private addYears(years: number) {\r\n this.setYear(this.focusedDay.getFullYear() + years);\r\n }\r\n\r\n private startOfWeek() {\r\n this.setFocusedDay(startOfWeek(this.focusedDay, this.firstDayOfWeek));\r\n }\r\n\r\n private endOfWeek() {\r\n this.setFocusedDay(endOfWeek(this.focusedDay, this.firstDayOfWeek));\r\n }\r\n\r\n private setMonth(month: number) {\r\n const min = setMonth(startOfMonth(this.focusedDay), month);\r\n const max = endOfMonth(min);\r\n const date = setMonth(this.focusedDay, month);\r\n\r\n this.setFocusedDay(clamp(date, min, max));\r\n }\r\n\r\n private setYear(year: number) {\r\n const min = setYear(startOfMonth(this.focusedDay), year);\r\n const max = endOfMonth(min);\r\n const date = setYear(this.focusedDay, year);\r\n\r\n this.setFocusedDay(clamp(date, min, max));\r\n }\r\n\r\n private setFocusedDay(day: Date) {\r\n this.focusedDay = clamp(day, parseDutchDate(this.min), parseDutchDate(this.max));\r\n }\r\n\r\n private toggleOpen = (e: Event) => {\r\n e.preventDefault();\r\n if (this.open) {\r\n this.hide(false);\r\n } else {\r\n this.show();\r\n }\r\n };\r\n\r\n private handleEscKey = (event: KeyboardEvent) => {\r\n if (event.keyCode === keyCode.ESC) {\r\n this.hide();\r\n }\r\n };\r\n\r\n private handleBlur = (event: Event) => {\r\n event.stopPropagation();\r\n\r\n this.dsoBlur.emit({\r\n component: \"dso-date-picker-legacy\",\r\n });\r\n };\r\n\r\n private handleKeyUp = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyUp.emit({\r\n component: \"dso-date-picker-legacy\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleKeyDown = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyDown.emit({\r\n component: \"dso-date-picker-legacy\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleFocus = (event: Event) => {\r\n event.stopPropagation();\r\n\r\n this.dsoFocus.emit({\r\n component: \"dso-date-picker-legacy\",\r\n });\r\n };\r\n\r\n private handleTouchStart = (event: TouchEvent) => {\r\n const touch = event.changedTouches[0];\r\n if (!touch) {\r\n throw new Error(\"No touch found\");\r\n }\r\n\r\n this.initialTouchX = touch.pageX;\r\n this.initialTouchY = touch.pageY;\r\n };\r\n\r\n private handleTouchMove = (event: TouchEvent) => {\r\n event.preventDefault();\r\n };\r\n\r\n private handleTouchEnd = (event: TouchEvent) => {\r\n const touch = event.changedTouches[0];\r\n if (!touch) {\r\n throw new Error(\"No touch found\");\r\n }\r\n\r\n const distX = touch.pageX - (this.initialTouchX ?? 0); // get horizontal dist traveled\r\n const distY = touch.pageY - (this.initialTouchY ?? 0); // get vertical dist traveled\r\n const threshold = 70;\r\n\r\n const isHorizontalSwipe = Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;\r\n const isDownwardsSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold && distY > 0;\r\n\r\n if (isHorizontalSwipe) {\r\n this.addMonths(distX < 0 ? 1 : -1);\r\n } else if (isDownwardsSwipe) {\r\n this.hide(false);\r\n event.preventDefault();\r\n }\r\n\r\n this.initialTouchY = undefined;\r\n this.initialTouchX = undefined;\r\n };\r\n\r\n private handleNextMonthClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n this.addMonths(1);\r\n };\r\n\r\n private handlePreviousMonthClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n this.addMonths(-1);\r\n };\r\n\r\n private handleFirstFocusableKeydown = (event: KeyboardEvent) => {\r\n // this ensures focus is trapped inside the dialog\r\n if (event.keyCode === keyCode.TAB && event.shiftKey) {\r\n this.focusedDayNode?.focus();\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n private handleKeyboardNavigation = (event: KeyboardEvent) => {\r\n // handle tab separately, since it needs to be treated\r\n // differently to other keyboard interactions\r\n if (event.keyCode === keyCode.TAB && !event.shiftKey) {\r\n event.preventDefault();\r\n this.firstFocusableElement?.focus();\r\n return;\r\n }\r\n\r\n let handled = true;\r\n\r\n switch (event.keyCode) {\r\n case keyCode.RIGHT:\r\n this.addDays(1);\r\n break;\r\n case keyCode.LEFT:\r\n this.addDays(-1);\r\n break;\r\n case keyCode.DOWN:\r\n this.addDays(7);\r\n break;\r\n case keyCode.UP:\r\n this.addDays(-7);\r\n break;\r\n case keyCode.PAGE_UP:\r\n if (event.shiftKey) {\r\n this.addYears(-1);\r\n } else {\r\n this.addMonths(-1);\r\n }\r\n break;\r\n case keyCode.PAGE_DOWN:\r\n if (event.shiftKey) {\r\n this.addYears(1);\r\n } else {\r\n this.addMonths(1);\r\n }\r\n break;\r\n case keyCode.HOME:\r\n this.startOfWeek();\r\n break;\r\n case keyCode.END:\r\n this.endOfWeek();\r\n break;\r\n default:\r\n handled = false;\r\n }\r\n\r\n if (handled) {\r\n event.preventDefault();\r\n this.enableActiveFocus();\r\n }\r\n };\r\n\r\n private handleDaySelect = (_event: MouseEvent, day: Date) => {\r\n if (!inRange(day, parseDutchDate(this.min), parseDutchDate(this.max))) {\r\n return;\r\n }\r\n\r\n if (day.getMonth() === this.focusedDay.getMonth()) {\r\n this.setValue(day);\r\n this.hide();\r\n } else {\r\n this.setFocusedDay(day);\r\n }\r\n };\r\n\r\n private handleMonthSelect = (e: Event) => {\r\n // Todo\r\n if (e.target instanceof HTMLSelectElement) {\r\n this.setMonth(parseInt(e.target.value, 10));\r\n }\r\n };\r\n\r\n private handleYearSelect = (e: Event) => {\r\n if (e.target instanceof HTMLSelectElement) {\r\n this.setYear(parseInt(e.target.value, 10));\r\n }\r\n };\r\n\r\n private handleInputChange = (e: Event) => {\r\n const target = e.target as HTMLInputElement;\r\n\r\n const cleanedValue = cleanValue(target, DISALLOWED_CHARACTERS);\r\n\r\n this.setValue(cleanedValue);\r\n };\r\n\r\n private setValue(value: Date | string) {\r\n const event = this.prepareEvent(value);\r\n\r\n this.value = typeof value === \"string\" ? value : event.value;\r\n\r\n if (this.value !== this.previousValue) {\r\n this.dsoDateChange.emit(event);\r\n this.previousValue = this.value;\r\n }\r\n }\r\n\r\n private prepareEvent = (value: Date | string): DsoDatePickerLegacyChangeEvent => {\r\n const event: DsoDatePickerLegacyChangeEvent = {\r\n component: \"dso-date-picker-legacy\",\r\n value: \"\",\r\n valueAsDate: undefined,\r\n };\r\n\r\n if (value instanceof Date) {\r\n event.valueAsDate = value;\r\n } else {\r\n event.value = value;\r\n event.valueAsDate = parseDutchDate(value);\r\n }\r\n\r\n if (event.valueAsDate) {\r\n event.value = printDutchDate(event.valueAsDate);\r\n }\r\n\r\n if (!event.valueAsDate && this.required) {\r\n event.error = \"required\";\r\n }\r\n\r\n if (event.value && !event.valueAsDate) {\r\n event.error = \"invalid\";\r\n }\r\n\r\n if (event.valueAsDate && (this.min || this.max)) {\r\n const min = parseDutchDate(this.min);\r\n const max = parseDutchDate(this.max);\r\n const clampValue = clamp(event.valueAsDate, min, max);\r\n\r\n if (clampValue !== event.valueAsDate && clampValue === min) {\r\n event.valueAsDate = undefined;\r\n event.error = \"min-range\";\r\n } else if (clampValue !== event.valueAsDate && clampValue === max) {\r\n event.valueAsDate = undefined;\r\n event.error = \"max-range\";\r\n }\r\n }\r\n\r\n return event;\r\n };\r\n\r\n private processFocusedDayNode = (element: HTMLButtonElement) => {\r\n this.focusedDayNode = element;\r\n\r\n if (this.activeFocus && this.open) {\r\n setTimeout(() => element.focus(), 0);\r\n }\r\n };\r\n\r\n componentWillLoad(): void | Promise<void> {\r\n const minDate = parseDutchDate(this.min);\r\n const maxDate = parseDutchDate(this.max);\r\n\r\n if (minDate && minDate > this.focusedDay) {\r\n this.focusedDay = minDate;\r\n }\r\n\r\n if (maxDate && maxDate < this.focusedDay) {\r\n this.focusedDay = maxDate;\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const valueAsDate = parseDutchDate(this.value);\r\n if (valueAsDate) {\r\n this.previousValue = this.value = printDutchDate(valueAsDate);\r\n }\r\n\r\n if (this.dsoAutofocus) {\r\n this.setFocus();\r\n }\r\n }\r\n\r\n /**\r\n * render() function\r\n * Always the last one in the class.\r\n */\r\n render() {\r\n const valueAsDate = parseDutchDate(this.value);\r\n const formattedDate = valueAsDate && printDutchDate(valueAsDate);\r\n const selectedYear = (valueAsDate || this.focusedDay).getFullYear();\r\n const focusedMonth = this.focusedDay.getMonth();\r\n const focusedYear = this.focusedDay.getFullYear();\r\n\r\n const minDate = parseDutchDate(this.min);\r\n const maxDate = parseDutchDate(this.max);\r\n const prevMonthDisabled = minDate && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear;\r\n const nextMonthDisabled = maxDate && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear;\r\n\r\n let minYear = selectedYear - 10;\r\n let maxYear = selectedYear + 10;\r\n if (minDate) {\r\n minYear = Math.max(minYear, minDate.getFullYear());\r\n }\r\n if (maxDate) {\r\n maxYear = Math.min(maxYear, maxDate.getFullYear());\r\n }\r\n\r\n return (\r\n <Host>\r\n <div class={{ \"dso-date\": true, \"dso-visible\": this.visible }}>\r\n <div class=\"dso-date__input-wrapper\">\r\n <input\r\n class=\"dso-date__input\"\r\n value={this.value}\r\n placeholder={this.localization.placeholder}\r\n id={this.identifier}\r\n disabled={this.disabled}\r\n role={this.role ?? undefined}\r\n required={this.required ? true : undefined}\r\n aria-autocomplete=\"none\"\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={this.describedBy}\r\n onInput={this.handleInputChange}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyUp={this.handleKeyUp}\r\n onKeyDown={this.handleKeyDown}\r\n autoComplete=\"off\"\r\n ref={(element) => (this.datePickerLegacyInput = element)}\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"dso-date__toggle\"\r\n onClick={this.toggleOpen}\r\n disabled={this.disabled}\r\n ref={(element) => (this.datePickerLegacyButton = element)}\r\n >\r\n <span class=\"dso-date__toggle-icon\">\r\n <dso-icon icon=\"calendar\"></dso-icon>\r\n </span>\r\n <span class=\"dso-date__vhidden\">\r\n {this.localization.buttonLabel}\r\n {formattedDate && (\r\n <span>\r\n , {this.localization.selectedDateMessage} {formattedDate}\r\n </span>\r\n )}\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class={{\r\n \"dso-date__dialog\": true,\r\n \"is-left\": this.direction === \"left\",\r\n \"is-active\": this.open,\r\n }}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-hidden={this.open ? \"false\" : \"true\"}\r\n aria-labelledby={this.dialogLabelId}\r\n onTouchMove={this.handleTouchMove}\r\n onTouchStart={this.handleTouchStart}\r\n onTouchEnd={this.handleTouchEnd}\r\n >\r\n <div class=\"dso-date__dialog-content\" onKeyDown={this.handleEscKey}>\r\n <div class=\"dso-date__vhidden dso-date__instructions\" aria-live=\"polite\">\r\n {this.localization.keyboardInstruction}\r\n </div>\r\n <div class=\"dso-date__mobile\" onFocusin={this.disableActiveFocus}>\r\n <label class=\"dso-date__mobile-heading\">{this.localization.calendarHeading}</label>\r\n <button\r\n class=\"dso-date__close\"\r\n ref={(element) => (this.firstFocusableElement = element)}\r\n onKeyDown={this.handleFirstFocusableKeydown}\r\n onClick={() => this.hide()}\r\n type=\"button\"\r\n >\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"dso-date__vhidden\">{this.localization.closeLabel}</span>\r\n </button>\r\n </div>\r\n <div class=\"dso-date__header\" onFocusin={this.disableActiveFocus}>\r\n <div>\r\n <h2 id={this.dialogLabelId} class=\"dso-date__vhidden\" aria-live=\"polite\">\r\n {this.localization.monthNames[focusedMonth]} {this.focusedDay.getFullYear()}\r\n </h2>\r\n\r\n <label htmlFor={this.monthSelectId} class=\"dso-date__vhidden\">\r\n {this.localization.monthSelectLabel}\r\n </label>\r\n <div class=\"dso-date__select\">\r\n <select\r\n id={this.monthSelectId}\r\n class=\"dso-date__select--month\"\r\n ref={(element) => (this.monthSelectNode = element)}\r\n onChange={this.handleMonthSelect}\r\n >\r\n {monthRange(this.localization, selectedYear, minDate, maxDate).map((month) => {\r\n const index = this.localization.monthNames.indexOf(month);\r\n\r\n return (\r\n <option key={month} value={index} selected={index === focusedMonth}>\r\n {month}\r\n </option>\r\n );\r\n })}\r\n </select>\r\n <div class=\"dso-date__select-label\" aria-hidden=\"true\">\r\n <span>{this.localization.monthNamesShort[focusedMonth]}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </div>\r\n\r\n <label htmlFor={this.yearSelectId} class=\"dso-date__vhidden\">\r\n {this.localization.yearSelectLabel}\r\n </label>\r\n <div class=\"dso-date__select\">\r\n <select id={this.yearSelectId} class=\"dso-date__select--year\" onChange={this.handleYearSelect}>\r\n {range(minYear, maxYear).map((year) => (\r\n <option key={year} selected={year === focusedYear}>\r\n {year}\r\n </option>\r\n ))}\r\n </select>\r\n <div class=\"dso-date__select-label\" aria-hidden=\"true\">\r\n <span>{this.focusedDay.getFullYear()}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"dso-date__nav\">\r\n <button\r\n class=\"dso-date__prev\"\r\n onClick={this.handlePreviousMonthClick}\r\n disabled={prevMonthDisabled}\r\n type=\"button\"\r\n >\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n <span class=\"dso-date__vhidden\">{this.localization.prevMonthLabel}</span>\r\n </button>\r\n <button\r\n class=\"dso-date__next\"\r\n onClick={this.handleNextMonthClick}\r\n disabled={nextMonthDisabled}\r\n type=\"button\"\r\n >\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n <span class=\"dso-date__vhidden\">{this.localization.nextMonthLabel}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <DatePickerLegacyMonth\r\n selectedDate={valueAsDate}\r\n focusedDate={this.focusedDay}\r\n onDateSelect={this.handleDaySelect}\r\n onKeyboardNavigation={this.handleKeyboardNavigation}\r\n labelledById={this.dialogLabelId}\r\n localization={this.localization}\r\n firstDayOfWeek={this.firstDayOfWeek}\r\n focusedDayRef={this.processFocusedDayNode}\r\n min={minDate}\r\n max={maxDate}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["localization","buttonLabel","placeholder","selectedDateMessage","prevMonthLabel","nextMonthLabel","monthSelectLabel","yearSelectLabel","closeLabel","keyboardInstruction","calendarHeading","dayNames","monthNames","monthNamesShort","DaysOfWeek","createDate","year","month","day","dayInt","parseInt","monthInt","yearInt","isValid","Number","isInteger","Date","parseDutchDate","value","matches","split","length","printDutchDate","date","d","getDate","toString","padStart","m","getMonth","y","getFullYear","isEqual","a","b","addDays","days","setDate","startOfWeek","firstDayOfWeek","Monday","getDay","diff","endOfWeek","startOfMonth","endOfMonth","setMonth","setYear","setFullYear","inRange","min","max","clamp","time","getTime","getDaysInRange","start","end","current","push","getViewOfMonth","DatePickerLegacyDay","focusedDay","today","onDaySelect","onKeyboardNavigation","focusedDayRef","isToday","isFocused","notCurrentMonth","isOutsideRange","handleClick","e","h","class","tabIndex","onClick","onKeyDown","disabled","type","ref","el","chunk","array","chunkSize","result","i","slice","mapWithOffset","startingOffset","mapFn","map","_","adjustedIndex","item","Error","DatePickerLegacyMonth","selectedDate","focusedDate","labelledById","onDateSelect","onMouseDown","onFocusIn","role","onFocusin","dayName","scope","substr","week","undefined","monthRange","selectedYear","minDate","maxDate","minYear","minMonth","maxYear","maxMonth","filter","_month","index","range","from","to","datePickerLegacyCss","keyCode","TAB","ESC","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DISALLOWED_CHARACTERS","TRANSITION_MS","cleanValue","input","regex","cursor","selectionStart","beforeCursor","afterCursor","filteredBeforeCursor","replace","filterAfterCursor","newValue","newCursor","selectionEnd","DsoDatePickerLegacy","constructor","hostRef","this","monthSelectId","createIdentifier","yearSelectId","dialogLabelId","defaultLocalization","activeFocus","open","visible","name","direction","required","dsoAutofocus","enableActiveFocus","disableActiveFocus","toggleOpen","preventDefault","hide","show","handleEscKey","event","handleBlur","stopPropagation","dsoBlur","emit","component","handleKeyUp","dsoKeyUp","originalEvent","handleKeyDown","dsoKeyDown","handleFocus","dsoFocus","handleTouchStart","touch","changedTouches","initialTouchX","pageX","initialTouchY","pageY","handleTouchMove","handleTouchEnd","distX","_a","distY","_b","threshold","isHorizontalSwipe","Math","abs","isDownwardsSwipe","addMonths","handleNextMonthClick","handlePreviousMonthClick","handleFirstFocusableKeydown","shiftKey","focusedDayNode","focus","handleKeyboardNavigation","firstFocusableElement","handled","addYears","handleDaySelect","_event","setValue","setFocusedDay","handleMonthSelect","target","HTMLSelectElement","handleYearSelect","handleInputChange","cleanedValue","prepareEvent","valueAsDate","error","clampValue","processFocusedDayNode","element","setTimeout","handleDocumentClick","path","composedPath","Node","contains","setFocus","datePickerLegacyInput","hideTimeoutId","clearTimeout","focusTimeoutId","monthSelectNode","moveFocusToButton","datePickerLegacyButton","months","years","previousValue","dsoDateChange","componentWillLoad","componentDidLoad","render","formattedDate","focusedMonth","focusedYear","prevMonthDisabled","nextMonthDisabled","Host","key","id","identifier","invalid","describedBy","onInput","onFocus","onBlur","onKeyUp","autoComplete","icon","onTouchMove","onTouchStart","onTouchEnd","htmlFor","onChange","indexOf","selected"],"sources":["src/components/date-picker-legacy/date-localization.ts","src/components/date-picker-legacy/date-utils.ts","src/components/date-picker-legacy/date-picker-day.tsx","src/components/date-picker-legacy/date-picker-month.tsx","src/components/date-picker-legacy/utils/month-range.ts","src/components/date-picker-legacy/utils/range.ts","src/components/date-picker-legacy/date-picker-legacy.scss?tag=dso-date-picker-legacy&encapsulation=scoped","src/components/date-picker-legacy/date-picker-legacy.tsx"],"sourcesContent":["type MonthsNames = [string, string, string, string, string, string, string, string, string, string, string, string];\r\ntype DayNames = [string, string, string, string, string, string, string];\r\n\r\nexport type DsoLocalizedText = {\r\n buttonLabel: string;\r\n placeholder: string;\r\n selectedDateMessage: string;\r\n prevMonthLabel: string;\r\n nextMonthLabel: string;\r\n monthSelectLabel: string;\r\n yearSelectLabel: string;\r\n closeLabel: string;\r\n keyboardInstruction: string;\r\n calendarHeading: string;\r\n dayNames: DayNames;\r\n monthNames: MonthsNames;\r\n monthNamesShort: MonthsNames;\r\n};\r\n\r\nconst localization: DsoLocalizedText = {\r\n buttonLabel: \"Kies datum\",\r\n placeholder: \"dd-mm-jjjj\",\r\n selectedDateMessage: \"Geselecteerde datum is\",\r\n prevMonthLabel: \"Vorige maand\",\r\n nextMonthLabel: \"Volgende maand\",\r\n monthSelectLabel: \"Maand\",\r\n yearSelectLabel: \"Jaar\",\r\n closeLabel: \"Sluiten\",\r\n keyboardInstruction: \"Gebruik de pijltjestoetsen om een dag te kiezen\",\r\n calendarHeading: \"Kies een datum\",\r\n dayNames: [\"Zondag\", \"Maandag\", \"Dinsdag\", \"Woensdag\", \"Donderdag\", \"Vrijdag\", \"Zaterdag\"],\r\n monthNames: [\r\n \"Januari\",\r\n \"Februari\",\r\n \"Maart\",\r\n \"April\",\r\n \"Mei\",\r\n \"Juni\",\r\n \"Juli\",\r\n \"Augustus\",\r\n \"September\",\r\n \"Oktober\",\r\n \"November\",\r\n \"December\",\r\n ],\r\n monthNamesShort: [\"Jan\", \"Feb\", \"Mrt\", \"Apr\", \"Mei\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dec\"],\r\n};\r\n\r\nexport default localization;\r\n","// eslint-disable-next-line @stencil-community/ban-exported-const-enums -- This enum is not part of public API\r\nexport enum DaysOfWeek {\r\n Sunday = 0,\r\n Monday = 1,\r\n Tuesday = 2,\r\n Wednesday = 3,\r\n Thursday = 4,\r\n Friday = 5,\r\n Saturday = 6,\r\n}\r\n\r\nexport function createDate(year: string, month: string, day: string): Date | undefined {\r\n const dayInt = parseInt(day, 10);\r\n const monthInt = parseInt(month, 10);\r\n const yearInt = parseInt(year, 10);\r\n\r\n const isValid =\r\n Number.isInteger(yearInt) && // all parts should be integers\r\n Number.isInteger(monthInt) &&\r\n Number.isInteger(dayInt) &&\r\n monthInt > 0 && // month must be 1-12\r\n monthInt <= 12 &&\r\n dayInt > 0 && // day must be 1-31\r\n dayInt <= 31 &&\r\n yearInt > 0;\r\n\r\n if (isValid) {\r\n return new Date(yearInt, monthInt - 1, dayInt);\r\n }\r\n}\r\n\r\n/**\r\n * @param value date string in Dutch format D-M-YYYY\r\n */\r\nexport function parseDutchDate(value: string | undefined): Date | undefined {\r\n if (!value) {\r\n return;\r\n }\r\n\r\n const matches = value.split(\"-\");\r\n\r\n if (\r\n matches.length === 3 &&\r\n typeof matches[0] === \"string\" &&\r\n typeof matches[1] === \"string\" &&\r\n typeof matches[2] === \"string\" &&\r\n matches[2].length === 4\r\n ) {\r\n return createDate(matches[2], matches[1], matches[0]);\r\n }\r\n}\r\n\r\n/**\r\n * print date in format DD-MM-YYYY\r\n * @param date\r\n */\r\nexport function printDutchDate(date: Date | undefined): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const d = date.getDate().toString(10).padStart(2, \"0\");\r\n const m = (date.getMonth() + 1).toString(10).padStart(2, \"0\");\r\n const y = date.getFullYear().toString(10).padStart(2, \"0\");\r\n\r\n return `${d}-${m}-${y}`;\r\n}\r\n\r\n/**\r\n * Compare if two dates are equal in terms of day, month, and year\r\n */\r\nexport function isEqual(a: Date | undefined, b: Date | undefined): boolean {\r\n if (!a || !b) {\r\n return false;\r\n }\r\n\r\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\r\n}\r\n\r\nexport function addDays(date: Date, days: number): Date {\r\n const d = new Date(date);\r\n d.setDate(d.getDate() + days);\r\n return d;\r\n}\r\n\r\nexport function addMonths(date: Date, months: number): Date {\r\n const d = new Date(date);\r\n d.setMonth(date.getMonth() + months);\r\n return d;\r\n}\r\n\r\nexport function addYears(date: Date, years: number): Date {\r\n const d = new Date(date);\r\n d.setFullYear(date.getFullYear() + years);\r\n return d;\r\n}\r\n\r\nexport function startOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\r\n const d = new Date(date);\r\n const day = d.getDay();\r\n const diff = (day < firstDayOfWeek ? 7 : 0) + day - firstDayOfWeek;\r\n\r\n d.setDate(d.getDate() - diff);\r\n return d;\r\n}\r\n\r\nexport function endOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\r\n const d = new Date(date);\r\n const day = d.getDay();\r\n const diff = (day < firstDayOfWeek ? -7 : 0) + 6 - (day - firstDayOfWeek);\r\n\r\n d.setDate(d.getDate() + diff);\r\n return d;\r\n}\r\n\r\nexport function startOfMonth(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth(), 1);\r\n}\r\n\r\nexport function endOfMonth(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n}\r\n\r\nexport function setMonth(date: Date, month: number): Date {\r\n const d = new Date(date);\r\n d.setMonth(month);\r\n return d;\r\n}\r\n\r\nexport function setYear(date: Date, year: number): Date {\r\n const d = new Date(date);\r\n d.setFullYear(year);\r\n return d;\r\n}\r\n\r\n/**\r\n * Check if date is within a min and max\r\n */\r\nexport function inRange(date: Date, min?: Date, max?: Date): boolean {\r\n return clamp(date, min, max) === date;\r\n}\r\n\r\n/**\r\n * Ensures date is within range, returns min or max if out of bounds\r\n */\r\nexport function clamp(date: Date, min?: Date, max?: Date): Date {\r\n const time = date.getTime();\r\n\r\n if (min && min instanceof Date && time < min.getTime()) {\r\n return min;\r\n }\r\n\r\n if (max && max instanceof Date && time > max.getTime()) {\r\n return max;\r\n }\r\n\r\n return date;\r\n}\r\n\r\n/**\r\n * given start and end date, return an (inclusive) array of all dates in between\r\n * @param start\r\n * @param end\r\n */\r\nfunction getDaysInRange(start: Date, end: Date): Date[] {\r\n const days: Date[] = [];\r\n let current = start;\r\n\r\n while (!isEqual(current, end)) {\r\n days.push(current);\r\n current = addDays(current, 1);\r\n }\r\n\r\n days.push(current);\r\n\r\n return days;\r\n}\r\n\r\n/**\r\n * given a date, return an array of dates from a calendar perspective\r\n * @param date\r\n * @param firstDayOfWeek\r\n */\r\nexport function getViewOfMonth(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date[] {\r\n const start = startOfWeek(startOfMonth(date), firstDayOfWeek);\r\n const end = endOfWeek(endOfMonth(date), firstDayOfWeek);\r\n\r\n return getDaysInRange(start, end);\r\n}\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { isEqual, printDutchDate } from \"./date-utils\";\r\n\r\nexport type DatePickerLegacyDayProps = {\r\n focusedDay: Date;\r\n today: Date;\r\n day: Date;\r\n inRange: boolean;\r\n onDaySelect: (event: MouseEvent, day: Date) => void;\r\n onKeyboardNavigation: (event: KeyboardEvent) => void;\r\n focusedDayRef?: (element: HTMLButtonElement) => void;\r\n};\r\n\r\nexport const DatePickerLegacyDay: FunctionalComponent<DatePickerLegacyDayProps> = ({\r\n focusedDay,\r\n today,\r\n day,\r\n onDaySelect,\r\n onKeyboardNavigation,\r\n focusedDayRef,\r\n inRange,\r\n}) => {\r\n const isToday = isEqual(day, today);\r\n const isFocused = isEqual(day, focusedDay);\r\n const notCurrentMonth = day.getMonth() !== focusedDay.getMonth();\r\n const isOutsideRange = !inRange;\r\n\r\n function handleClick(e: MouseEvent) {\r\n onDaySelect(e, day);\r\n }\r\n\r\n return (\r\n <button\r\n class={{\r\n \"dso-date__day\": true,\r\n \"is-today\": isToday,\r\n }}\r\n tabIndex={isFocused ? 0 : -1}\r\n onClick={handleClick}\r\n onKeyDown={onKeyboardNavigation}\r\n disabled={isOutsideRange || notCurrentMonth}\r\n type=\"button\"\r\n ref={(el) => {\r\n if (isFocused && el && focusedDayRef) {\r\n focusedDayRef(el);\r\n }\r\n }}\r\n >\r\n <span aria-hidden=\"true\">{day.getDate()}</span>\r\n <span class=\"dso-date__vhidden\">{printDutchDate(day)}</span>\r\n </button>\r\n );\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { DsoLocalizedText } from \"./date-localization\";\r\nimport { DatePickerLegacyDay, DatePickerLegacyDayProps } from \"./date-picker-day\";\r\nimport { DaysOfWeek, getViewOfMonth, inRange, isEqual } from \"./date-utils\";\r\n\r\nfunction chunk<T>(array: T[], chunkSize: number): T[][] {\r\n const result = [];\r\n\r\n for (let i = 0; i < array.length; i += chunkSize) {\r\n result.push(array.slice(i, i + chunkSize));\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction mapWithOffset<T, U>(array: T[], startingOffset: number, mapFn: (item: T) => U): U[] {\r\n return array.map((_, i) => {\r\n const adjustedIndex = (i + startingOffset) % array.length;\r\n const item = array[adjustedIndex];\r\n if (!item) {\r\n throw new Error(\"No item found\");\r\n }\r\n\r\n return mapFn(item);\r\n });\r\n}\r\n\r\ntype DatePickerLegacyMonthProps = {\r\n selectedDate: Date | undefined;\r\n focusedDate: Date;\r\n labelledById: string;\r\n localization: DsoLocalizedText;\r\n firstDayOfWeek: DaysOfWeek;\r\n min?: Date;\r\n max?: Date;\r\n onDateSelect: DatePickerLegacyDayProps[\"onDaySelect\"];\r\n onKeyboardNavigation: DatePickerLegacyDayProps[\"onKeyboardNavigation\"];\r\n focusedDayRef: (element: HTMLButtonElement) => void;\r\n onFocusIn?: (e: FocusEvent) => void;\r\n onMouseDown?: (e: MouseEvent) => void;\r\n};\r\n\r\nexport const DatePickerLegacyMonth: FunctionalComponent<DatePickerLegacyMonthProps> = ({\r\n selectedDate,\r\n focusedDate,\r\n labelledById,\r\n localization,\r\n firstDayOfWeek,\r\n min,\r\n max,\r\n onDateSelect,\r\n onKeyboardNavigation,\r\n focusedDayRef,\r\n onMouseDown,\r\n onFocusIn,\r\n}) => {\r\n const today = new Date();\r\n const days = getViewOfMonth(focusedDate, firstDayOfWeek);\r\n\r\n return (\r\n <table\r\n class=\"dso-date__table\"\r\n role=\"grid\"\r\n aria-labelledby={labelledById}\r\n onFocusin={onFocusIn}\r\n onMouseDown={onMouseDown}\r\n >\r\n <thead>\r\n <tr>\r\n {mapWithOffset(localization.dayNames, firstDayOfWeek, (dayName) => (\r\n <th class=\"dso-date__table-header\" scope=\"col\">\r\n <span aria-hidden=\"true\">{dayName.substr(0, 2)}</span>\r\n <span class=\"dso-date__vhidden\">{dayName}</span>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {chunk(days, 7).map((week) => (\r\n <tr class=\"dso-date__row\">\r\n {week.map((day) => (\r\n <td\r\n class=\"dso-date__cell\"\r\n role=\"gridcell\"\r\n aria-selected={isEqual(day, selectedDate) ? \"true\" : undefined}\r\n aria-current={isEqual(day, today) ? \"date\" : undefined}\r\n >\r\n <DatePickerLegacyDay\r\n day={day}\r\n today={today}\r\n focusedDay={focusedDate}\r\n inRange={inRange(day, min, max)}\r\n onDaySelect={onDateSelect}\r\n onKeyboardNavigation={onKeyboardNavigation}\r\n focusedDayRef={focusedDayRef}\r\n />\r\n </td>\r\n ))}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n );\r\n};\r\n","import { DsoLocalizedText } from \"../date-localization\";\r\n\r\nexport function monthRange(\r\n localization: DsoLocalizedText,\r\n selectedYear: number,\r\n minDate?: Date,\r\n maxDate?: Date,\r\n): string[] {\r\n if (minDate && maxDate) {\r\n const { minYear, minMonth } = { minYear: minDate.getFullYear(), minMonth: minDate.getMonth() };\r\n const { maxYear, maxMonth } = { maxYear: maxDate.getFullYear(), maxMonth: maxDate.getMonth() };\r\n\r\n return localization.monthNames.filter((_month, index) => {\r\n if (minYear === selectedYear && maxYear === selectedYear) {\r\n return index >= minMonth && index >= maxMonth;\r\n }\r\n\r\n if (minYear === selectedYear) {\r\n return index >= minMonth;\r\n }\r\n\r\n if (maxYear === selectedYear) {\r\n return index <= maxMonth;\r\n }\r\n\r\n return true;\r\n });\r\n }\r\n\r\n if (minDate) {\r\n const { minYear, minMonth } = { minYear: minDate.getFullYear(), minMonth: minDate.getMonth() };\r\n\r\n return localization.monthNames.filter((_month, index) => minYear === selectedYear && index >= minMonth);\r\n }\r\n\r\n if (maxDate) {\r\n const { maxYear, maxMonth } = { maxYear: maxDate.getFullYear(), maxMonth: maxDate.getMonth() };\r\n\r\n return localization.monthNames.filter((_month, index) => maxYear === selectedYear && index <= maxMonth);\r\n }\r\n\r\n return localization.monthNames;\r\n}\r\n","export function range(from: number, to: number) {\r\n const result: number[] = [];\r\n for (let i = from; i <= to; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n}\r\n","@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n\r\n@use \"date-picker-legacy.variables\" as core-date-picker-legacy-variables;\r\n\r\n:host {\r\n display: block;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n .dso-date__input {\r\n border-color: colors.$danger-color;\r\n }\r\n }\r\n}\r\n\r\n.dso-date *,\r\n.dso-date *::before,\r\n.dso-date *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n.dso-date {\r\n box-sizing: border-box;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n display: block;\r\n font-family: core-date-picker-legacy-variables.$font;\r\n margin: 0;\r\n position: relative;\r\n text-align: start;\r\n inline-size: 100%;\r\n\r\n &:not(.dso-visible) {\r\n .dso-date__dialog {\r\n display: none;\r\n }\r\n }\r\n}\r\n\r\n.dso-date__input {\r\n @include form-control.root();\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ TOGGLE\r\n// ---------------------------------------------\r\n\r\n.dso-date__toggle {\r\n -moz-appearance: none;\r\n -webkit-appearance: none;\r\n -webkit-user-select: none;\r\n align-items: center;\r\n appearance: none;\r\n background: core-date-picker-legacy-variables.$color-button-bg;\r\n border: 0;\r\n border-radius: 0;\r\n border-end-end-radius: core-date-picker-legacy-variables.$radius;\r\n border-start-end-radius: core-date-picker-legacy-variables.$radius;\r\n color: core-date-picker-legacy-variables.$color-icon;\r\n cursor: pointer;\r\n display: flex;\r\n block-size: core-date-picker-legacy-variables.$size;\r\n justify-content: center;\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: 0;\r\n transform: translateY(-50%);\r\n inset-block-start: 50%;\r\n user-select: none;\r\n inline-size: core-date-picker-legacy-variables.$size;\r\n z-index: zindex.$datepicker + 1;\r\n\r\n &:disabled {\r\n color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n cursor: default;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ DIALOG\r\n// ---------------------------------------------\r\n\r\n.dso-date__dialog {\r\n border-width: core-date-picker-legacy-variables.$border-width;\r\n display: flex;\r\n inset-inline-end: 0;\r\n min-inline-size: 320px;\r\n opacity: 0;\r\n position: absolute;\r\n inset-block-start: 100%;\r\n transform: scale(0.96) translateZ(0) translateY(-20px);\r\n transform-origin: top right;\r\n transition:\r\n transform 300ms ease,\r\n opacity 300ms ease,\r\n visibility 300ms ease;\r\n visibility: hidden;\r\n will-change: transform, opacity, visibility;\r\n z-index: zindex.$datepicker-dialog;\r\n\r\n @media (max-width: 35.9375em) {\r\n background: core-date-picker-legacy-variables.$overlay;\r\n inset-block-end: 0;\r\n position: fixed;\r\n inset-inline-start: 0;\r\n inset-inline-end: 0;\r\n inset-block-start: 0;\r\n transform: translateZ(0);\r\n transform-origin: bottom center;\r\n }\r\n\r\n &.is-left {\r\n inset-inline-start: units.$padding-base-inline * -1 + core-date-picker-legacy-variables.$border-width;\r\n inset-inline-end: auto;\r\n inline-size: auto;\r\n }\r\n\r\n &.is-active {\r\n opacity: 1;\r\n // The value of 1.0001 fixes a Chrome glitch with scaling\r\n transform: scale(1.0001) translateZ(0) translateY(0);\r\n visibility: visible;\r\n }\r\n}\r\n\r\n.dso-date__dialog-content {\r\n background: core-date-picker-legacy-variables.$surface;\r\n border: 1px solid rgba(0, 0, 0, 0.1);\r\n border-radius: core-date-picker-legacy-variables.$radius;\r\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.4);\r\n margin-inline-start: auto;\r\n margin-inline-end: -1px;\r\n margin-block-start: 8px;\r\n max-inline-size: 310px;\r\n min-inline-size: 290px;\r\n padding: 16px;\r\n position: relative;\r\n transform: none;\r\n inline-size: 100%;\r\n z-index: zindex.$datepicker-dialog;\r\n\r\n @media (max-width: 35.9375em) {\r\n border: 0;\r\n border-radius: 0;\r\n border-start-start-radius: core-date-picker-legacy-variables.$radius;\r\n border-start-end-radius: core-date-picker-legacy-variables.$radius;\r\n inset-block-end: 0;\r\n inset-inline-start: 0;\r\n margin: 0;\r\n max-inline-size: none;\r\n min-block-size: 26em;\r\n opacity: 0;\r\n padding-block: 0 20px;\r\n padding-inline: 8%;\r\n position: absolute;\r\n transform: translateZ(0) translateY(100%);\r\n transition:\r\n transform core-date-picker-legacy-variables.$transition-duration ease,\r\n opacity core-date-picker-legacy-variables.$transition-duration ease,\r\n visibility core-date-picker-legacy-variables.$transition-duration ease;\r\n visibility: hidden;\r\n will-change: transform, opacity, visibility;\r\n\r\n .is-active & {\r\n opacity: 1;\r\n transform: translateZ(0) translateY(0);\r\n visibility: visible;\r\n }\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ TABLE\r\n// ---------------------------------------------\r\n\r\n.dso-date__table {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n font-size: 1rem;\r\n font-weight: core-date-picker-legacy-variables.$font-normal;\r\n line-height: 1.25;\r\n min-inline-size: (core-date-picker-legacy-variables.$size + 2) * 7;\r\n table-layout: fixed;\r\n text-align: center;\r\n inline-size: 100%;\r\n}\r\n\r\n.dso-date__table-header {\r\n font-size: 0.875em;\r\n font-weight: core-date-picker-legacy-variables.$font-bold;\r\n block-size: 36px;\r\n line-height: 36px;\r\n text-align: center;\r\n text-decoration: none;\r\n text-transform: uppercase;\r\n}\r\n\r\n.dso-date__cell {\r\n block-size: core-date-picker-legacy-variables.$size + 2;\r\n padding: 1px;\r\n text-align: center;\r\n inline-size: core-date-picker-legacy-variables.$size + 2;\r\n}\r\n\r\n.dso-date__day {\r\n -moz-appearance: none;\r\n -webkit-appearance: none;\r\n appearance: none;\r\n background: transparent;\r\n border: 0;\r\n border-radius: 50%;\r\n box-shadow: 0 0 0 1px transparent;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n cursor: pointer;\r\n display: inline-block;\r\n font-family: core-date-picker-legacy-variables.$font;\r\n font-variant-numeric: tabular-nums;\r\n font-weight: core-date-picker-legacy-variables.$font-normal;\r\n block-size: core-date-picker-legacy-variables.$size;\r\n line-height: 0;\r\n padding: 0;\r\n position: relative;\r\n text-align: center;\r\n vertical-align: middle;\r\n inline-size: core-date-picker-legacy-variables.$size;\r\n z-index: zindex.$datepicker;\r\n\r\n &.is-today {\r\n background: transparent;\r\n block-size: core-date-picker-legacy-variables.$size - 2;\r\n box-shadow: 0 0 0 1px core-date-picker-legacy-variables.$color-button;\r\n inline-size: core-date-picker-legacy-variables.$size - 2;\r\n }\r\n\r\n &:hover,\r\n &:active {\r\n background: core-date-picker-legacy-variables.$color-button;\r\n color: core-date-picker-legacy-variables.$color-text-active;\r\n }\r\n\r\n &:focus {\r\n background: transparent;\r\n box-shadow: 0 0 0 2px colors.$bosgroen;\r\n color: core-date-picker-legacy-variables.$color-text;\r\n block-size: core-date-picker-legacy-variables.$size - 4;\r\n outline: 0;\r\n inline-size: core-date-picker-legacy-variables.$size - 4;\r\n }\r\n\r\n [aria-selected=\"true\"] & {\r\n background: core-date-picker-legacy-variables.$color-button;\r\n color: core-date-picker-legacy-variables.$color-text-active;\r\n\r\n &:focus {\r\n background: transparent;\r\n\r\n span[aria-hidden=\"true\"] {\r\n background: core-date-picker-legacy-variables.$color-button;\r\n border: 1px solid colors.$wit;\r\n line-height: core-date-picker-legacy-variables.$size - 6;\r\n }\r\n }\r\n }\r\n\r\n &:disabled {\r\n background: colors.$wit;\r\n color: core-date-picker-legacy-variables.$color-text-disabled;\r\n cursor: default;\r\n }\r\n\r\n span[aria-hidden=\"true\"] {\r\n border-radius: 50%;\r\n display: inline-block;\r\n block-size: core-date-picker-legacy-variables.$size - 4;\r\n line-height: core-date-picker-legacy-variables.$size - 4;\r\n inline-size: core-date-picker-legacy-variables.$size - 4;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ HEADER\r\n// ---------------------------------------------\r\n\r\n.dso-date__header {\r\n align-items: center;\r\n display: flex;\r\n justify-content: space-between;\r\n margin-block-end: 16px;\r\n inline-size: 100%;\r\n\r\n span {\r\n font-size: 0.875rem;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ NAVIGATION\r\n// ---------------------------------------------\r\n\r\n.dso-date__nav {\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n}\r\n\r\n.dso-date__prev,\r\n.dso-date__next {\r\n -moz-appearance: none;\r\n -webkit-appearance: none;\r\n align-items: center;\r\n appearance: none;\r\n background: core-date-picker-legacy-variables.$color-button-bg;\r\n border: 1px solid core-date-picker-legacy-variables.$color-button;\r\n border-radius: core-date-picker-legacy-variables.$radius;\r\n box-sizing: border-box;\r\n color: core-date-picker-legacy-variables.$color-button;\r\n cursor: pointer;\r\n display: inline-flex;\r\n font-size: 1em;\r\n block-size: 32px;\r\n justify-content: center;\r\n margin-inline-start: 8px;\r\n padding: 0;\r\n inline-size: 32px;\r\n\r\n @media (max-width: 35.9375em) {\r\n block-size: 40px;\r\n inline-size: 40px;\r\n }\r\n\r\n &:hover,\r\n &:active {\r\n background-color: core-date-picker-legacy-variables.$color-button;\r\n color: core-date-picker-legacy-variables.$color-text-active;\r\n }\r\n\r\n &:focus {\r\n background: core-date-picker-legacy-variables.$color-button-bg;\r\n color: core-date-picker-legacy-variables.$color-button;\r\n }\r\n\r\n &:disabled {\r\n &,\r\n &:hover {\r\n background-color: colors.$wit;\r\n border-color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n opacity: 1;\r\n }\r\n }\r\n\r\n svg {\r\n margin-block: 0; // left this in, just to be sure ;)\r\n margin-inline: auto;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ SELECT\r\n// ---------------------------------------------\r\n\r\n.dso-date__select {\r\n display: inline-flex;\r\n block-size: units.$u1 * 4 - 4;\r\n line-height: units.$u1 * 4 - 4;\r\n position: relative;\r\n\r\n span {\r\n margin-inline-end: 4px;\r\n }\r\n\r\n select {\r\n color: core-date-picker-legacy-variables.$color-primary;\r\n cursor: pointer;\r\n font-size: 1rem;\r\n block-size: 100%;\r\n inset-inline-start: 0;\r\n opacity: 0;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inline-size: 100%;\r\n z-index: zindex.$datepicker + 1;\r\n\r\n &:focus + .dso-date__select-label {\r\n box-shadow: 0 0 0 2px core-date-picker-legacy-variables.$color-primary;\r\n }\r\n\r\n &:disabled {\r\n color: core-date-picker-legacy-variables.$nav-button-disabled;\r\n }\r\n }\r\n}\r\n\r\n.dso-date__select-label {\r\n align-items: center;\r\n border-radius: core-date-picker-legacy-variables.$radius;\r\n color: core-date-picker-legacy-variables.$select;\r\n display: flex;\r\n padding-block: 0;\r\n padding-inline: 8px 4px;\r\n pointer-events: none;\r\n position: relative;\r\n inline-size: 100%;\r\n z-index: zindex.$datepicker;\r\n\r\n span {\r\n font-size: 1.25rem;\r\n font-weight: core-date-picker-legacy-variables.$font-bold;\r\n line-height: 1.25;\r\n }\r\n\r\n svg {\r\n inline-size: 16px;\r\n block-size: 16px;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ MOBILE\r\n// ---------------------------------------------\r\n\r\n.dso-date__mobile {\r\n align-items: center;\r\n border-block-end: 1px solid rgba(0, 0, 0, 0.12);\r\n display: flex;\r\n font-size: 1em;\r\n justify-content: space-between;\r\n margin-block-end: 20px;\r\n margin-inline-start: -10%;\r\n overflow: hidden;\r\n padding-block: 12px;\r\n padding-inline: 20px;\r\n position: relative;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n inline-size: 120%;\r\n\r\n @media (min-width: 36em) {\r\n border: 0;\r\n margin: 0;\r\n overflow: visible;\r\n padding: 0;\r\n position: absolute;\r\n inset-inline-end: -16px;\r\n inset-block-start: -16px;\r\n inline-size: auto;\r\n }\r\n}\r\n\r\n.dso-date__mobile-heading {\r\n display: inline-block;\r\n font-weight: core-date-picker-legacy-variables.$font-bold;\r\n max-inline-size: 84%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- 3rd party code\r\n\r\n @media (min-width: 36em) {\r\n display: none;\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ CLOSE\r\n// ---------------------------------------------\r\n\r\n.dso-date__close {\r\n -webkit-appearance: none;\r\n align-items: center;\r\n appearance: none;\r\n background-color: colors.$wit;\r\n border: 0;\r\n border-radius: 50%;\r\n color: core-date-picker-legacy-variables.$color-icon;\r\n cursor: pointer;\r\n display: flex;\r\n font-size: 1em;\r\n block-size: units.$u1 * 4;\r\n justify-content: center;\r\n margin-inline-end: -4px;\r\n padding: 0;\r\n inline-size: units.$u1 * 4;\r\n\r\n @media (min-width: 36em) {\r\n margin-inline-end: 0;\r\n opacity: 0;\r\n }\r\n\r\n &:focus {\r\n box-shadow: 0 0 0 2px colors.$bosgroen;\r\n outline: none;\r\n\r\n @media (min-width: 36em) {\r\n opacity: 1;\r\n }\r\n }\r\n}\r\n\r\n// ---------------------------------------------\r\n// dso DATE PICKER __ VISUALLY HIDDEN\r\n// ---------------------------------------------\r\n\r\n.dso-date__vhidden {\r\n border: 0;\r\n clip: rect(1px, 1px, 1px, 1px);\r\n block-size: 1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n inset-block-start: 0;\r\n inline-size: 1px;\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Host,\r\n Listen,\r\n Method,\r\n Prop,\r\n State,\r\n h,\r\n} from \"@stencil/core\";\r\n\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\n\r\nimport defaultLocalization, { DsoLocalizedText } from \"./date-localization\";\r\nimport {\r\n DsoDatePickerLegacyChangeEvent,\r\n DsoDatePickerLegacyDirection,\r\n DsoDatePickerLegacyFocusEvent,\r\n DsoDatePickerLegacyKeyboardEvent,\r\n} from \"./date-picker-legacy.interfaces\";\r\nimport { DatePickerLegacyMonth } from \"./date-picker-month\";\r\nimport {\r\n DaysOfWeek,\r\n addDays,\r\n clamp,\r\n endOfMonth,\r\n endOfWeek,\r\n inRange,\r\n parseDutchDate,\r\n printDutchDate,\r\n setMonth,\r\n setYear,\r\n startOfMonth,\r\n startOfWeek,\r\n} from \"./date-utils\";\r\nimport { monthRange } from \"./utils/month-range\";\r\nimport { range } from \"./utils/range\";\r\n\r\nconst keyCode = {\r\n TAB: 9,\r\n ESC: 27,\r\n SPACE: 32,\r\n PAGE_UP: 33,\r\n PAGE_DOWN: 34,\r\n END: 35,\r\n HOME: 36,\r\n LEFT: 37,\r\n UP: 38,\r\n RIGHT: 39,\r\n DOWN: 40,\r\n};\r\n\r\nconst DISALLOWED_CHARACTERS = /[^0-9-]+/g;\r\nconst TRANSITION_MS = 300;\r\n\r\nfunction cleanValue(input: HTMLInputElement, regex: RegExp): string {\r\n const value = input.value;\r\n const cursor = input.selectionStart;\r\n\r\n if (!cursor) {\r\n return value;\r\n }\r\n\r\n const beforeCursor = value.slice(0, cursor);\r\n const afterCursor = value.slice(cursor, value.length);\r\n\r\n const filteredBeforeCursor = beforeCursor.replace(regex, \"\");\r\n const filterAfterCursor = afterCursor.replace(regex, \"\");\r\n\r\n const newValue = filteredBeforeCursor + filterAfterCursor;\r\n const newCursor = filteredBeforeCursor.length;\r\n\r\n input.value = newValue;\r\n input.selectionStart = input.selectionEnd = newCursor;\r\n\r\n return newValue;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-date-picker-legacy\",\r\n styleUrl: \"date-picker-legacy.scss\",\r\n shadow: false,\r\n scoped: true,\r\n})\r\nexport class DsoDatePickerLegacy implements ComponentInterface {\r\n /**\r\n * Own Properties\r\n */\r\n private monthSelectId = createIdentifier(\"DsoDateMonth\");\r\n private yearSelectId = createIdentifier(\"DsoDateYear\");\r\n private dialogLabelId = createIdentifier(\"DsoDateLabel\");\r\n\r\n private datePickerLegacyButton: HTMLButtonElement | undefined;\r\n private datePickerLegacyInput: HTMLInputElement | undefined;\r\n private firstFocusableElement: HTMLElement | undefined;\r\n private monthSelectNode: HTMLElement | undefined;\r\n private focusedDayNode: HTMLButtonElement | undefined;\r\n\r\n private focusTimeoutId: ReturnType<typeof setTimeout> | undefined;\r\n private hideTimeoutId: ReturnType<typeof setTimeout> | undefined;\r\n\r\n private initialTouchX: number | undefined;\r\n private initialTouchY: number | undefined;\r\n\r\n private localization: DsoLocalizedText = defaultLocalization;\r\n private firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday;\r\n\r\n private previousValue: string | undefined;\r\n\r\n /**\r\n * Reference to host HTML element.\r\n */\r\n @Element()\r\n element!: HTMLDsoDatePickerLegacyElement;\r\n\r\n /**\r\n * State() variables\r\n */\r\n @State()\r\n activeFocus = false;\r\n\r\n @State()\r\n focusedDay = new Date();\r\n\r\n @State()\r\n open = false;\r\n\r\n @State()\r\n visible = false;\r\n\r\n /**\r\n * Public Property API\r\n */\r\n\r\n /**\r\n * Name of the date picker input.\r\n */\r\n @Prop()\r\n name = \"date\";\r\n\r\n /**\r\n * Adds a unique identifier for the date picker input. Use this instead of html `id` attribute.\r\n */\r\n @Prop()\r\n identifier: string | undefined;\r\n\r\n /**\r\n * Makes the date picker input component disabled. This prevents users from being able to\r\n * interact with the input, and conveys its inactive state to assistive technologies.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Defines a specific role attribute for the date picker input.\r\n */\r\n @Prop()\r\n // eslint-disable-next-line @stencil-community/reserved-member-names\r\n role: string | null = null;\r\n\r\n /**\r\n * Forces the opening direction of the calendar modal to be always left or right.\r\n * This setting can be useful when the input is smaller than the opening date picker\r\n * would be as by default the picker always opens towards right.\r\n */\r\n @Prop()\r\n direction: DsoDatePickerLegacyDirection = \"right\";\r\n\r\n /**\r\n * Should the input be marked as required?\r\n */\r\n @Prop()\r\n required = false;\r\n\r\n /**\r\n * Is input invalid?\r\n */\r\n @Prop({ reflect: true })\r\n invalid?: boolean;\r\n\r\n /**\r\n * ID of element that describes the input element\r\n */\r\n @Prop()\r\n describedBy?: string;\r\n\r\n /**\r\n * Should the input be focused on load?\r\n */\r\n @Prop()\r\n dsoAutofocus = false;\r\n\r\n /**\r\n * Date value. Must be in Dutch date format: DD-MM-YYYY.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n value = \"\";\r\n\r\n /**\r\n * Minimum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the max property.\r\n */\r\n @Prop()\r\n min: string | undefined;\r\n\r\n /**\r\n * Maximum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.\r\n * This setting can be used alone or together with the min property.\r\n */\r\n @Prop()\r\n max: string | undefined;\r\n\r\n /**\r\n * Events section.\r\n */\r\n\r\n /**\r\n * Event emitted when a date is selected.\r\n */\r\n @Event()\r\n dsoDateChange!: EventEmitter<DsoDatePickerLegacyChangeEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is blurred.\r\n */\r\n @Event()\r\n dsoBlur!: EventEmitter<DsoDatePickerLegacyFocusEvent>;\r\n\r\n /**\r\n * Event emitted on key up in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyUp!: EventEmitter<DsoDatePickerLegacyKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted on key down in the date picker input.\r\n */\r\n @Event()\r\n dsoKeyDown!: EventEmitter<DsoDatePickerLegacyKeyboardEvent>;\r\n\r\n /**\r\n * Event emitted the date picker input is focused.\r\n */\r\n @Event()\r\n dsoFocus!: EventEmitter<DsoDatePickerLegacyFocusEvent>;\r\n\r\n /**\r\n * Component event handling.\r\n */\r\n @Listen(\"click\", { target: \"document\", capture: true })\r\n handleDocumentClick(e: MouseEvent) {\r\n if (!this.open) {\r\n return;\r\n }\r\n\r\n const path = e.composedPath();\r\n\r\n for (const target of path) {\r\n if (target instanceof Node && this.element.contains(target)) {\r\n return;\r\n }\r\n }\r\n\r\n this.hide(false);\r\n }\r\n\r\n /**\r\n * Sets focus on the date picker's input. Use this method instead of the global `focus()`.\r\n */\r\n @Method()\r\n async setFocus() {\r\n return this.datePickerLegacyInput?.focus();\r\n }\r\n\r\n /**\r\n * Public methods API\r\n */\r\n\r\n /**\r\n * Show the calendar modal, moving focus to the calendar inside.\r\n */\r\n @Method()\r\n async show() {\r\n if (typeof this.hideTimeoutId !== \"undefined\") {\r\n clearTimeout(this.hideTimeoutId);\r\n }\r\n\r\n this.visible = true;\r\n\r\n setTimeout(() => {\r\n this.open = true;\r\n this.setFocusedDay(parseDutchDate(this.value) || new Date());\r\n\r\n if (typeof this.focusTimeoutId !== \"undefined\") {\r\n clearTimeout(this.focusTimeoutId);\r\n }\r\n\r\n this.focusTimeoutId = setTimeout(() => this.monthSelectNode?.focus(), TRANSITION_MS);\r\n });\r\n }\r\n\r\n /**\r\n * Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus\r\n * returning to the date picker's button. Default is true.\r\n */\r\n @Method()\r\n async hide(moveFocusToButton = true) {\r\n this.open = false;\r\n\r\n // in cases where calendar is quickly shown and hidden\r\n // we should avoid moving focus to the button\r\n if (typeof this.focusTimeoutId !== \"undefined\") {\r\n clearTimeout(this.focusTimeoutId);\r\n }\r\n\r\n this.hideTimeoutId = setTimeout(() => {\r\n if (moveFocusToButton && this.datePickerLegacyButton) {\r\n this.datePickerLegacyButton.focus();\r\n }\r\n\r\n this.visible = false;\r\n }, TRANSITION_MS + 200);\r\n }\r\n\r\n /**\r\n * Local methods.\r\n */\r\n private enableActiveFocus = () => {\r\n this.activeFocus = true;\r\n };\r\n\r\n private disableActiveFocus = () => {\r\n this.activeFocus = false;\r\n };\r\n\r\n private addDays(days: number) {\r\n this.setFocusedDay(addDays(this.focusedDay, days));\r\n }\r\n\r\n private addMonths(months: number) {\r\n this.setMonth(this.focusedDay.getMonth() + months);\r\n }\r\n\r\n private addYears(years: number) {\r\n this.setYear(this.focusedDay.getFullYear() + years);\r\n }\r\n\r\n private startOfWeek() {\r\n this.setFocusedDay(startOfWeek(this.focusedDay, this.firstDayOfWeek));\r\n }\r\n\r\n private endOfWeek() {\r\n this.setFocusedDay(endOfWeek(this.focusedDay, this.firstDayOfWeek));\r\n }\r\n\r\n private setMonth(month: number) {\r\n const min = setMonth(startOfMonth(this.focusedDay), month);\r\n const max = endOfMonth(min);\r\n const date = setMonth(this.focusedDay, month);\r\n\r\n this.setFocusedDay(clamp(date, min, max));\r\n }\r\n\r\n private setYear(year: number) {\r\n const min = setYear(startOfMonth(this.focusedDay), year);\r\n const max = endOfMonth(min);\r\n const date = setYear(this.focusedDay, year);\r\n\r\n this.setFocusedDay(clamp(date, min, max));\r\n }\r\n\r\n private setFocusedDay(day: Date) {\r\n this.focusedDay = clamp(day, parseDutchDate(this.min), parseDutchDate(this.max));\r\n }\r\n\r\n private toggleOpen = (e: Event) => {\r\n e.preventDefault();\r\n if (this.open) {\r\n this.hide(false);\r\n } else {\r\n this.show();\r\n }\r\n };\r\n\r\n private handleEscKey = (event: KeyboardEvent) => {\r\n if (event.keyCode === keyCode.ESC) {\r\n this.hide();\r\n }\r\n };\r\n\r\n private handleBlur = (event: Event) => {\r\n event.stopPropagation();\r\n\r\n this.dsoBlur.emit({\r\n component: \"dso-date-picker-legacy\",\r\n });\r\n };\r\n\r\n private handleKeyUp = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyUp.emit({\r\n component: \"dso-date-picker-legacy\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleKeyDown = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n\r\n this.dsoKeyDown.emit({\r\n component: \"dso-date-picker-legacy\",\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleFocus = (event: Event) => {\r\n event.stopPropagation();\r\n\r\n this.dsoFocus.emit({\r\n component: \"dso-date-picker-legacy\",\r\n });\r\n };\r\n\r\n private handleTouchStart = (event: TouchEvent) => {\r\n const touch = event.changedTouches[0];\r\n if (!touch) {\r\n throw new Error(\"No touch found\");\r\n }\r\n\r\n this.initialTouchX = touch.pageX;\r\n this.initialTouchY = touch.pageY;\r\n };\r\n\r\n private handleTouchMove = (event: TouchEvent) => {\r\n event.preventDefault();\r\n };\r\n\r\n private handleTouchEnd = (event: TouchEvent) => {\r\n const touch = event.changedTouches[0];\r\n if (!touch) {\r\n throw new Error(\"No touch found\");\r\n }\r\n\r\n const distX = touch.pageX - (this.initialTouchX ?? 0); // get horizontal dist traveled\r\n const distY = touch.pageY - (this.initialTouchY ?? 0); // get vertical dist traveled\r\n const threshold = 70;\r\n\r\n const isHorizontalSwipe = Math.abs(distX) >= threshold && Math.abs(distY) <= threshold;\r\n const isDownwardsSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold && distY > 0;\r\n\r\n if (isHorizontalSwipe) {\r\n this.addMonths(distX < 0 ? 1 : -1);\r\n } else if (isDownwardsSwipe) {\r\n this.hide(false);\r\n event.preventDefault();\r\n }\r\n\r\n this.initialTouchY = undefined;\r\n this.initialTouchX = undefined;\r\n };\r\n\r\n private handleNextMonthClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n this.addMonths(1);\r\n };\r\n\r\n private handlePreviousMonthClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n this.addMonths(-1);\r\n };\r\n\r\n private handleFirstFocusableKeydown = (event: KeyboardEvent) => {\r\n // this ensures focus is trapped inside the dialog\r\n if (event.keyCode === keyCode.TAB && event.shiftKey) {\r\n this.focusedDayNode?.focus();\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n private handleKeyboardNavigation = (event: KeyboardEvent) => {\r\n // handle tab separately, since it needs to be treated\r\n // differently to other keyboard interactions\r\n if (event.keyCode === keyCode.TAB && !event.shiftKey) {\r\n event.preventDefault();\r\n this.firstFocusableElement?.focus();\r\n return;\r\n }\r\n\r\n let handled = true;\r\n\r\n switch (event.keyCode) {\r\n case keyCode.RIGHT:\r\n this.addDays(1);\r\n break;\r\n case keyCode.LEFT:\r\n this.addDays(-1);\r\n break;\r\n case keyCode.DOWN:\r\n this.addDays(7);\r\n break;\r\n case keyCode.UP:\r\n this.addDays(-7);\r\n break;\r\n case keyCode.PAGE_UP:\r\n if (event.shiftKey) {\r\n this.addYears(-1);\r\n } else {\r\n this.addMonths(-1);\r\n }\r\n break;\r\n case keyCode.PAGE_DOWN:\r\n if (event.shiftKey) {\r\n this.addYears(1);\r\n } else {\r\n this.addMonths(1);\r\n }\r\n break;\r\n case keyCode.HOME:\r\n this.startOfWeek();\r\n break;\r\n case keyCode.END:\r\n this.endOfWeek();\r\n break;\r\n default:\r\n handled = false;\r\n }\r\n\r\n if (handled) {\r\n event.preventDefault();\r\n this.enableActiveFocus();\r\n }\r\n };\r\n\r\n private handleDaySelect = (_event: MouseEvent, day: Date) => {\r\n if (!inRange(day, parseDutchDate(this.min), parseDutchDate(this.max))) {\r\n return;\r\n }\r\n\r\n if (day.getMonth() === this.focusedDay.getMonth()) {\r\n this.setValue(day);\r\n this.hide();\r\n } else {\r\n this.setFocusedDay(day);\r\n }\r\n };\r\n\r\n private handleMonthSelect = (e: Event) => {\r\n // Todo\r\n if (e.target instanceof HTMLSelectElement) {\r\n this.setMonth(parseInt(e.target.value, 10));\r\n }\r\n };\r\n\r\n private handleYearSelect = (e: Event) => {\r\n if (e.target instanceof HTMLSelectElement) {\r\n this.setYear(parseInt(e.target.value, 10));\r\n }\r\n };\r\n\r\n private handleInputChange = (e: Event) => {\r\n const target = e.target as HTMLInputElement;\r\n\r\n const cleanedValue = cleanValue(target, DISALLOWED_CHARACTERS);\r\n\r\n this.setValue(cleanedValue);\r\n };\r\n\r\n private setValue(value: Date | string) {\r\n const event = this.prepareEvent(value);\r\n\r\n this.value = typeof value === \"string\" ? value : event.value;\r\n\r\n if (this.value !== this.previousValue) {\r\n this.dsoDateChange.emit(event);\r\n this.previousValue = this.value;\r\n }\r\n }\r\n\r\n private prepareEvent = (value: Date | string): DsoDatePickerLegacyChangeEvent => {\r\n const event: DsoDatePickerLegacyChangeEvent = {\r\n component: \"dso-date-picker-legacy\",\r\n value: \"\",\r\n valueAsDate: undefined,\r\n };\r\n\r\n if (value instanceof Date) {\r\n event.valueAsDate = value;\r\n } else {\r\n event.value = value;\r\n event.valueAsDate = parseDutchDate(value);\r\n }\r\n\r\n if (event.valueAsDate) {\r\n event.value = printDutchDate(event.valueAsDate);\r\n }\r\n\r\n if (!event.valueAsDate && this.required) {\r\n event.error = \"required\";\r\n }\r\n\r\n if (event.value && !event.valueAsDate) {\r\n event.error = \"invalid\";\r\n }\r\n\r\n if (event.valueAsDate && (this.min || this.max)) {\r\n const min = parseDutchDate(this.min);\r\n const max = parseDutchDate(this.max);\r\n const clampValue = clamp(event.valueAsDate, min, max);\r\n\r\n if (clampValue !== event.valueAsDate && clampValue === min) {\r\n event.valueAsDate = undefined;\r\n event.error = \"min-range\";\r\n } else if (clampValue !== event.valueAsDate && clampValue === max) {\r\n event.valueAsDate = undefined;\r\n event.error = \"max-range\";\r\n }\r\n }\r\n\r\n return event;\r\n };\r\n\r\n private processFocusedDayNode = (element: HTMLButtonElement) => {\r\n this.focusedDayNode = element;\r\n\r\n if (this.activeFocus && this.open) {\r\n setTimeout(() => element.focus(), 0);\r\n }\r\n };\r\n\r\n componentWillLoad(): void | Promise<void> {\r\n const minDate = parseDutchDate(this.min);\r\n const maxDate = parseDutchDate(this.max);\r\n\r\n if (minDate && minDate > this.focusedDay) {\r\n this.focusedDay = minDate;\r\n }\r\n\r\n if (maxDate && maxDate < this.focusedDay) {\r\n this.focusedDay = maxDate;\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const valueAsDate = parseDutchDate(this.value);\r\n if (valueAsDate) {\r\n this.previousValue = this.value = printDutchDate(valueAsDate);\r\n }\r\n\r\n if (this.dsoAutofocus) {\r\n this.setFocus();\r\n }\r\n }\r\n\r\n /**\r\n * render() function\r\n * Always the last one in the class.\r\n */\r\n render() {\r\n const valueAsDate = parseDutchDate(this.value);\r\n const formattedDate = valueAsDate && printDutchDate(valueAsDate);\r\n const selectedYear = (valueAsDate || this.focusedDay).getFullYear();\r\n const focusedMonth = this.focusedDay.getMonth();\r\n const focusedYear = this.focusedDay.getFullYear();\r\n\r\n const minDate = parseDutchDate(this.min);\r\n const maxDate = parseDutchDate(this.max);\r\n const prevMonthDisabled = minDate && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear;\r\n const nextMonthDisabled = maxDate && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear;\r\n\r\n let minYear = selectedYear - 10;\r\n let maxYear = selectedYear + 10;\r\n if (minDate) {\r\n minYear = Math.max(minYear, minDate.getFullYear());\r\n }\r\n if (maxDate) {\r\n maxYear = Math.min(maxYear, maxDate.getFullYear());\r\n }\r\n\r\n return (\r\n <Host>\r\n <div class={{ \"dso-date\": true, \"dso-visible\": this.visible }}>\r\n <div class=\"dso-date__input-wrapper\">\r\n <input\r\n class=\"dso-date__input\"\r\n value={this.value}\r\n placeholder={this.localization.placeholder}\r\n id={this.identifier}\r\n disabled={this.disabled}\r\n role={this.role ?? undefined}\r\n required={this.required ? true : undefined}\r\n aria-autocomplete=\"none\"\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={this.describedBy}\r\n onInput={this.handleInputChange}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyUp={this.handleKeyUp}\r\n onKeyDown={this.handleKeyDown}\r\n autoComplete=\"off\"\r\n ref={(element) => (this.datePickerLegacyInput = element)}\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"dso-date__toggle\"\r\n onClick={this.toggleOpen}\r\n disabled={this.disabled}\r\n ref={(element) => (this.datePickerLegacyButton = element)}\r\n >\r\n <span class=\"dso-date__toggle-icon\">\r\n <dso-icon icon=\"calendar\"></dso-icon>\r\n </span>\r\n <span class=\"dso-date__vhidden\">\r\n {this.localization.buttonLabel}\r\n {formattedDate && (\r\n <span>\r\n , {this.localization.selectedDateMessage} {formattedDate}\r\n </span>\r\n )}\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class={{\r\n \"dso-date__dialog\": true,\r\n \"is-left\": this.direction === \"left\",\r\n \"is-active\": this.open,\r\n }}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-hidden={this.open ? \"false\" : \"true\"}\r\n aria-labelledby={this.dialogLabelId}\r\n onTouchMove={this.handleTouchMove}\r\n onTouchStart={this.handleTouchStart}\r\n onTouchEnd={this.handleTouchEnd}\r\n >\r\n <div class=\"dso-date__dialog-content\" onKeyDown={this.handleEscKey}>\r\n <div class=\"dso-date__vhidden dso-date__instructions\" aria-live=\"polite\">\r\n {this.localization.keyboardInstruction}\r\n </div>\r\n <div class=\"dso-date__mobile\" onFocusin={this.disableActiveFocus}>\r\n <label class=\"dso-date__mobile-heading\">{this.localization.calendarHeading}</label>\r\n <button\r\n class=\"dso-date__close\"\r\n ref={(element) => (this.firstFocusableElement = element)}\r\n onKeyDown={this.handleFirstFocusableKeydown}\r\n onClick={() => this.hide()}\r\n type=\"button\"\r\n >\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"dso-date__vhidden\">{this.localization.closeLabel}</span>\r\n </button>\r\n </div>\r\n <div class=\"dso-date__header\" onFocusin={this.disableActiveFocus}>\r\n <div>\r\n <h2 id={this.dialogLabelId} class=\"dso-date__vhidden\" aria-live=\"polite\">\r\n {this.localization.monthNames[focusedMonth]} {this.focusedDay.getFullYear()}\r\n </h2>\r\n\r\n <label htmlFor={this.monthSelectId} class=\"dso-date__vhidden\">\r\n {this.localization.monthSelectLabel}\r\n </label>\r\n <div class=\"dso-date__select\">\r\n <select\r\n id={this.monthSelectId}\r\n class=\"dso-date__select--month\"\r\n ref={(element) => (this.monthSelectNode = element)}\r\n onChange={this.handleMonthSelect}\r\n >\r\n {monthRange(this.localization, selectedYear, minDate, maxDate).map((month) => {\r\n const index = this.localization.monthNames.indexOf(month);\r\n\r\n return (\r\n <option key={month} value={index} selected={index === focusedMonth}>\r\n {month}\r\n </option>\r\n );\r\n })}\r\n </select>\r\n <div class=\"dso-date__select-label\" aria-hidden=\"true\">\r\n <span>{this.localization.monthNamesShort[focusedMonth]}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </div>\r\n\r\n <label htmlFor={this.yearSelectId} class=\"dso-date__vhidden\">\r\n {this.localization.yearSelectLabel}\r\n </label>\r\n <div class=\"dso-date__select\">\r\n <select id={this.yearSelectId} class=\"dso-date__select--year\" onChange={this.handleYearSelect}>\r\n {range(minYear, maxYear).map((year) => (\r\n <option key={year} selected={year === focusedYear}>\r\n {year}\r\n </option>\r\n ))}\r\n </select>\r\n <div class=\"dso-date__select-label\" aria-hidden=\"true\">\r\n <span>{this.focusedDay.getFullYear()}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"dso-date__nav\">\r\n <button\r\n class=\"dso-date__prev\"\r\n onClick={this.handlePreviousMonthClick}\r\n disabled={prevMonthDisabled}\r\n type=\"button\"\r\n >\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n <span class=\"dso-date__vhidden\">{this.localization.prevMonthLabel}</span>\r\n </button>\r\n <button\r\n class=\"dso-date__next\"\r\n onClick={this.handleNextMonthClick}\r\n disabled={nextMonthDisabled}\r\n type=\"button\"\r\n >\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n <span class=\"dso-date__vhidden\">{this.localization.nextMonthLabel}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <DatePickerLegacyMonth\r\n selectedDate={valueAsDate}\r\n focusedDate={this.focusedDay}\r\n onDateSelect={this.handleDaySelect}\r\n onKeyboardNavigation={this.handleKeyboardNavigation}\r\n labelledById={this.dialogLabelId}\r\n localization={this.localization}\r\n firstDayOfWeek={this.firstDayOfWeek}\r\n focusedDayRef={this.processFocusedDayNode}\r\n min={minDate}\r\n max={maxDate}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,h as t,F as a}from"./p-C-b4jsbt.js";const d='@charset "UTF-8";:host{display:block;padding:16px;border:1px solid #ccc;border-radius:4px}*,*::after,*::before{box-sizing:border-box}::slotted(dl[slot=progress]),::slotted(dl[slot=status]){--_dt-dl-margin-block-end:0;--_dt-dl-before-display:none;--_dt-dl-dt-font-weight:normal;--_dt-dl-dd-margin-block-start:0;--_dt-dl-dd-margin-inline-start:units.$u1;--_dt-dl-dd-padding-inline-start:0;--_dt-dl-dt-inline-size:auto;--_dt-dl-dd-last-margin-block-end:0;--_dt-mark-bg-color:none;--_dt-mark-padding-block:0;--_dt-mark-color:inherit;--_dt-mark-font-weight:600;display:flex !important;flex-wrap:wrap;column-gap:16px}::slotted([slot=status]){--_dt-dl-font-size:0.875rem}::slotted([slot=title]){margin-block:0 !important;font-size:1.25rem !important}::slotted([slot=actions]){display:flex}.project-item-header{display:flex;gap:16px;flex-wrap:nowrap;align-items:flex-start;margin-block-end:16px}.project-item-title{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;flex-grow:1}.project-item-actions{display:flex;flex-shrink:0;flex-wrap:nowrap}.project-item-info{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;align-items:flex-end}';const s=class{constructor(t){e(this,t)}render(){return t(a,null,t("div",{key:"af232d23ec7307a08cfd541e9cd6a7c9d101f442",class:"project-item-header"},t("div",{key:"3310dd878965eb7a8338f92a7a475a8a2e5d1ed8",class:"project-item-title"},t("slot",{key:"2a7a705075ba857ebec0db96fed670eb2f37e38e",name:"title"}),this.label&&t("dso-label",{key:"e6b771509298d10fee06b2db5a5814abf6b39073",status:"error",compact:true},this.label)),t("div",{key:"a850f520e5b1f749e5981c02c3013ba189e7e12f",class:"project-item-actions"},t("slot",{key:"bd1e274fecd646bfdcea22ee9f287ec9b36a623f",name:"actions"}))),t("div",{key:"a6637e1b65e227d288c7570e04898f1bf56f4e99",class:"project-item-info"},t("div",{key:"07b60fe8df706537cd65c7d58a0e3a475edbbfc1",class:"project-item-progress"},t("slot",{key:"b472f3fb67d00ff25cfc90005f87f7ac12e8f9ce",name:"progress"})),t("div",{key:"9e72c54ec0489b67b0ec68ec5b7b2ceef5a7a605",class:"project-item-status"},t("slot",{key:"d4bb5471f42e7799ca2d388c39a4c3a8c7e30475",name:"status"}))))}};s.style=d;export{s as dso_project_item};
|
|
2
|
+
//# sourceMappingURL=p-e9f5382c.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["projectItemCss","ProjectItem","render","h","Fragment","key","class","name","this","label","status","compact"],"sources":["src/components/project-item/project-item.scss?tag=dso-project-item&encapsulation=shadow","src/components/project-item/project-item.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n:host {\r\n display: block;\r\n\r\n padding: units.$u2;\r\n\r\n border: 1px solid colors.$grijs-20;\r\n border-radius: calc(units.$u1 / 2);\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n::slotted(dl[slot=\"progress\"]),\r\n::slotted(dl[slot=\"status\"]) {\r\n --_dt-dl-margin-block-end: 0;\r\n --_dt-dl-before-display: none;\r\n --_dt-dl-dt-font-weight: normal;\r\n --_dt-dl-dd-margin-block-start: 0;\r\n --_dt-dl-dd-margin-inline-start: units.$u1;\r\n --_dt-dl-dd-padding-inline-start: 0;\r\n --_dt-dl-dt-inline-size: auto;\r\n --_dt-dl-dd-last-margin-block-end: 0;\r\n\r\n --_dt-mark-bg-color: none;\r\n --_dt-mark-padding-block: 0;\r\n --_dt-mark-color: inherit;\r\n --_dt-mark-font-weight: 600;\r\n\r\n display: flex !important;\r\n flex-wrap: wrap;\r\n column-gap: units.$u2;\r\n}\r\n\r\n::slotted([slot=\"status\"]) {\r\n --_dt-dl-font-size: 0.875rem;\r\n}\r\n\r\n::slotted([slot=\"title\"]) {\r\n margin-block: 0 !important;\r\n font-size: 1.25rem !important;\r\n}\r\n\r\n::slotted([slot=\"actions\"]) {\r\n display: flex;\r\n}\r\n\r\n.project-item-header {\r\n display: flex;\r\n gap: units.$u2;\r\n flex-wrap: nowrap;\r\n align-items: flex-start;\r\n\r\n margin-block-end: units.$u2;\r\n}\r\n\r\n.project-item-title {\r\n display: flex;\r\n gap: units.$u2;\r\n align-items: center;\r\n justify-content: space-between;\r\n flex-wrap: wrap;\r\n flex-grow: 1;\r\n}\r\n\r\n.project-item-actions {\r\n display: flex;\r\n flex-shrink: 0;\r\n flex-wrap: nowrap;\r\n}\r\n\r\n.project-item-info {\r\n display: flex;\r\n gap: units.$u2;\r\n justify-content: space-between;\r\n flex-wrap: wrap;\r\n align-items: flex-end;\r\n}\r\n","import { Component, ComponentInterface, Fragment, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-project-item\",\r\n styleUrl: \"project-item.scss\",\r\n shadow: true,\r\n})\r\nexport class ProjectItem implements ComponentInterface {\r\n /**\r\n * The label of the project item.\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n render() {\r\n return (\r\n <>\r\n <div class=\"project-item-header\">\r\n <div class=\"project-item-title\">\r\n <slot name=\"title\" />\r\n {this.label && (\r\n <dso-label status=\"error\" compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n </div>\r\n <div class=\"project-item-actions\">\r\n <slot name=\"actions\" />\r\n </div>\r\n </div>\r\n <div class=\"project-item-info\">\r\n <div class=\"project-item-progress\">\r\n <slot name=\"progress\" />\r\n </div>\r\n <div class=\"project-item-status\">\r\n <slot name=\"status\" />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAAA,MAAMA,EAAiB,
|
|
1
|
+
{"version":3,"names":["projectItemCss","ProjectItem","render","h","Fragment","key","class","name","this","label","status","compact"],"sources":["src/components/project-item/project-item.scss?tag=dso-project-item&encapsulation=shadow","src/components/project-item/project-item.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n:host {\r\n display: block;\r\n\r\n padding: units.$u2;\r\n\r\n border: 1px solid colors.$grijs-20;\r\n border-radius: calc(units.$u1 / 2);\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n::slotted(dl[slot=\"progress\"]),\r\n::slotted(dl[slot=\"status\"]) {\r\n --_dt-dl-margin-block-end: 0;\r\n --_dt-dl-before-display: none;\r\n --_dt-dl-dt-font-weight: normal;\r\n --_dt-dl-dd-margin-block-start: 0;\r\n --_dt-dl-dd-margin-inline-start: units.$u1;\r\n --_dt-dl-dd-padding-inline-start: 0;\r\n --_dt-dl-dt-inline-size: auto;\r\n --_dt-dl-dd-last-margin-block-end: 0;\r\n\r\n --_dt-mark-bg-color: none;\r\n --_dt-mark-padding-block: 0;\r\n --_dt-mark-color: inherit;\r\n --_dt-mark-font-weight: 600;\r\n\r\n display: flex !important;\r\n flex-wrap: wrap;\r\n column-gap: units.$u2;\r\n}\r\n\r\n::slotted([slot=\"status\"]) {\r\n --_dt-dl-font-size: 0.875rem;\r\n}\r\n\r\n::slotted([slot=\"title\"]) {\r\n margin-block: 0 !important;\r\n font-size: 1.25rem !important;\r\n}\r\n\r\n::slotted([slot=\"actions\"]) {\r\n display: flex;\r\n}\r\n\r\n.project-item-header {\r\n display: flex;\r\n gap: units.$u2;\r\n flex-wrap: nowrap;\r\n align-items: flex-start;\r\n\r\n margin-block-end: units.$u2;\r\n}\r\n\r\n.project-item-title {\r\n display: flex;\r\n gap: units.$u2;\r\n align-items: center;\r\n justify-content: space-between;\r\n flex-wrap: wrap;\r\n flex-grow: 1;\r\n}\r\n\r\n.project-item-actions {\r\n display: flex;\r\n flex-shrink: 0;\r\n flex-wrap: nowrap;\r\n}\r\n\r\n.project-item-info {\r\n display: flex;\r\n gap: units.$u2;\r\n justify-content: space-between;\r\n flex-wrap: wrap;\r\n align-items: flex-end;\r\n}\r\n","import { Component, ComponentInterface, Fragment, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-project-item\",\r\n styleUrl: \"project-item.scss\",\r\n shadow: true,\r\n})\r\nexport class ProjectItem implements ComponentInterface {\r\n /**\r\n * The label of the project item.\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n render() {\r\n return (\r\n <>\r\n <div class=\"project-item-header\">\r\n <div class=\"project-item-title\">\r\n <slot name=\"title\" />\r\n {this.label && (\r\n <dso-label status=\"error\" compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n </div>\r\n <div class=\"project-item-actions\">\r\n <slot name=\"actions\" />\r\n </div>\r\n </div>\r\n <div class=\"project-item-info\">\r\n <div class=\"project-item-progress\">\r\n <slot name=\"progress\" />\r\n </div>\r\n <div class=\"project-item-status\">\r\n <slot name=\"status\" />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAAA,MAAMA,EAAiB,6pC,MCOVC,EAAW,M,yBAOtB,MAAAC,GACE,OACEC,EAAAC,EAAA,KACED,EAAK,OAAAE,IAAA,2CAAAC,MAAM,uBACTH,EAAK,OAAAE,IAAA,2CAAAC,MAAM,sBACTH,EAAM,QAAAE,IAAA,2CAAAE,KAAK,UACVC,KAAKC,OACJN,EAAA,aAAAE,IAAA,2CAAWK,OAAO,QAAQC,QAAO,MAC9BH,KAAKC,QAIZN,EAAK,OAAAE,IAAA,2CAAAC,MAAM,wBACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,cAGfJ,EAAK,OAAAE,IAAA,2CAAAC,MAAM,qBACTH,EAAK,OAAAE,IAAA,2CAAAC,MAAM,yBACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,cAEbJ,EAAK,OAAAE,IAAA,2CAAAC,MAAM,uBACTH,EAAM,QAAAE,IAAA,2CAAAE,KAAK,a","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as s,c as t,h as e,H as i,g as a}from"./p-C-b4jsbt.js";const o=":host{display:block}";const r=[{width:624,alias:"large"},{width:375,alias:"medium"},{width:0,alias:"small"}];const l=class{constructor(e){s(this,e);this.dsoSizeChange=t(this,"dsoSizeChange",7);this.sizeAlias=r[0].alias;this.sizeWidth=0;this.observer=new ResizeObserver((([s])=>{var t,e;if(!s){throw new Error("No entry found")}const i=(e=(t=r.find((t=>s.contentRect.width>=t.width)))===null||t===void 0?void 0:t.alias)!==null&&e!==void 0?e:r[0].alias;this.sizeAlias=i;this.dsoSizeChange.emit(i)}))}async getSize(){return this.sizeAlias}componentWillLoad(){this.observer.observe(this.host)}disconnectedCallback(){this.observer.unobserve(this.host)}render(){return e(i,{key:"e91c4381f1dbed450ac401d4da518280a8c29779",small:this.sizeAlias==="small",medium:this.sizeAlias==="medium",large:this.sizeAlias==="large"},e("slot",{key:"41e3674a479ce776ef848b0752b928cb89a3dd4b"}))}get host(){return a(this)}};l.style=o;export{l as dso_responsive_element};
|
|
2
|
+
//# sourceMappingURL=p-f1f414b6.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as n,c as e,f as t,h as o,F as s,g as i}from"./p-C-b4jsbt.js";import{c as r}from"./p-ChV9xqsO.js";const d="@charset \"UTF-8\";\n/* Genereert een `transition` met vaste easing en optionele duur en delay per property.\n**\n** @param {ArgList} $transitions...\n** - \"property\": gebruikt standaard duur (260ms) en delay (0ms)\n** - (\"property\", duur): eigen duur, geen delay\n** - (\"property\", duur, delay): eigen duur én delay\n**\n** @example\n** @include transition(opacity, (\"transform\", 300ms), (\"color\", 500ms, 200ms));\n**\n** @output\n** transition: [property] [duration] cubic-bezier(0.4, 0, 0.2, 1) [delay];\n**\n*/\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host {\n display: block;\n}\n\n.sr-only {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\n.dso-tertiary:focus, .dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\n.dso-tertiary:active {\n outline: 0;\n}\n.dso-tertiary {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\n.dso-tertiary[disabled] {\n color: #afcf9d;\n}\n.dso-tertiary[disabled].dso-spinner-left, .dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\n.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\n.dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding-block: 11px;\n padding-inline: 0;\n position: relative;\n}\n.dso-tertiary.dso-truncate {\n max-inline-size: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\n.dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n block-size: 24px;\n vertical-align: middle;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\n.dso-tertiary dso-icon + span:not(.sr-only),\n.dso-tertiary svg.di + span:not(.sr-only),\n.dso-tertiary span:not(.sr-only) + dso-icon,\n.dso-tertiary span:not(.sr-only) + svg.di {\n margin-inline-start: 8px;\n}\n.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\n.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\n.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\n.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-inline-start: 4px;\n}\n.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\n.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\n.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\n.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\n.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\n.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\n.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\n.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-inline-start: 0;\n}\n.dso-tertiary dso-icon,\n.dso-tertiary svg.di,\n.dso-tertiary span {\n vertical-align: middle;\n}\n.dso-tertiary {\n cursor: pointer;\n}\n\n.dso-input-number {\n align-items: center;\n display: flex;\n}\n.dso-input-number .dso-input-step-counter {\n text-align: center;\n inline-size: 1.5rem;\n font-size: 14px;\n}\n\n.dso-button-group {\n display: flex;\n flex-direction: row;\n}\n.dso-button-group.dso-disabled > * {\n background-color: #fff;\n border-color: #e5e5e5;\n color: #666;\n}\n.dso-button-group.dso-disabled > * {\n pointer-events: none;\n}\n.dso-button-group > * {\n border-radius: 0;\n}\n.dso-button-group > *:first-child {\n border-radius: 4px 0 0 4px;\n}\n.dso-button-group > *:not(:first-child) {\n border-inline-start-style: none !important;\n}\n.dso-button-group > *:last-child {\n border-radius: 0 4px 4px 0;\n}\n.dso-button-group > *:only-child {\n border-radius: 4px;\n}\n.dso-button-group > .dso-input-number {\n border-style: solid;\n border-width: 1px;\n flex-wrap: nowrap;\n padding-block: 0;\n padding-inline: 16px;\n}\n.dso-button-group > .dso-input-number {\n background-color: #fff;\n border-color: #ccc;\n color: #191919;\n}\n@media screen and (max-width: 767px) {\n .dso-button-group > .dso-input-number {\n justify-content: center;\n }\n}\n.dso-button-group > *:hover + .dso-input-number,\n.dso-button-group > *:focus + .dso-input-number {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-button-group > *.dso-selected + .dso-input-number {\n box-shadow: inset 0 -1px 0 0 #39870c, inset 0 1px 0 0 #39870c, inset -1px 0 0 0 #39870c;\n}\n.dso-button-group > *.dso-selected + .dso-input-number {\n background-color: #fff;\n border-color: #39870c;\n color: #191919;\n}\n.dso-button-group > *:active + .dso-input-number, .dso-button-group > *:active + .dso-input-number:hover,\n.dso-button-group > *.active + .dso-input-number,\n.dso-button-group > *.active + .dso-input-number:hover {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-button-group > *.disabled + .dso-input-number, .dso-button-group > *.disabled + .dso-input-number:hover,\n.dso-button-group > *[disabled] + .dso-input-number,\n.dso-button-group > *[disabled] + .dso-input-number:hover {\n opacity: 1;\n}\n.dso-button-group > *.disabled + .dso-input-number, .dso-button-group > *.disabled + .dso-input-number:hover,\n.dso-button-group > *[disabled] + .dso-input-number,\n.dso-button-group > *[disabled] + .dso-input-number:hover {\n background-color: #fff;\n border-color: #ccc;\n color: #666;\n}\n.dso-button-group .dso-list-button {\n padding-inline-end: 15px;\n}\n\n.dso-selectable {\n position: relative;\n display: var(--dso-selectable-display, block);\n padding-block: 0;\n padding-inline: 32px 0;\n}\n.dso-selectable label {\n font-weight: 400;\n line-height: 24px;\n margin: 0;\n}\n.dso-selectable input[type=checkbox][disabled] + label::before, .dso-selectable input[type=checkbox][disabled]:active + label::before, .dso-selectable input[type=checkbox][disabled]:focus + label::before,\n.dso-selectable input[type=radio][disabled] + label::before,\n.dso-selectable input[type=radio][disabled]:active + label::before,\n.dso-selectable input[type=radio][disabled]:focus + label::before {\n background-color: #fff;\n box-shadow: 0 0 0 2px #e5e5e5;\n}\n.dso-selectable input[type=checkbox],\n.dso-selectable input[type=radio] {\n block-size: 24px;\n inset-inline-start: 0;\n margin: 0;\n opacity: 0;\n position: absolute;\n inset-block-start: 0;\n inline-size: 24px;\n z-index: 100;\n zoom: 1;\n}\n@media (prefers-contrast: more) {\n .dso-selectable input[type=checkbox],\n .dso-selectable input[type=radio] {\n opacity: 1;\n }\n}\n.dso-selectable input[type=checkbox]:not([disabled]),\n.dso-selectable input[type=radio]:not([disabled]) {\n cursor: pointer;\n}\n.dso-selectable input[type=checkbox] + label,\n.dso-selectable input[type=radio] + label {\n display: inline;\n font-style: normal;\n padding-inline-start: 0;\n}\n.dso-selectable input[type=checkbox] + label::before,\n.dso-selectable input[type=radio] + label::before {\n background: #fff;\n border: 0;\n box-shadow: 0 0 0 2px var(--dso-selectable-color, #275937);\n content: \"\";\n block-size: 20px;\n inset-inline-start: 2px;\n position: absolute;\n inset-block-start: 2px;\n inline-size: 20px;\n}\n.dso-selectable input[type=checkbox]:focus,\n.dso-selectable input[type=radio]:focus {\n outline: 0;\n}\n.dso-selectable input[type=checkbox]:focus + label::before,\n.dso-selectable input[type=radio]:focus + label::before {\n box-shadow: 0 0 0 3px var(--dso-selectable-color, #275937);\n block-size: 18px;\n inset-inline-start: 3px;\n inset-block-start: 3px;\n inline-size: 18px;\n}\n.dso-selectable input[type=checkbox]:active + label::before, .dso-selectable input[type=checkbox].active + label::before,\n.dso-selectable input[type=radio]:active + label::before,\n.dso-selectable input[type=radio].active + label::before {\n background-color: #ebf3e6;\n box-shadow: 0 0 0 1px #275937;\n block-size: 22px;\n inset-inline-start: 1px;\n inset-block-start: 1px;\n inline-size: 22px;\n}\n.dso-selectable input[type=checkbox] + label::before {\n border-radius: 4px;\n}\n.dso-selectable input[type=checkbox] + label::after {\n background: transparent;\n content: \"\";\n inset-inline-start: 6px;\n opacity: 0;\n position: absolute;\n inset-block-start: 6px;\n zoom: 1;\n}\n.dso-selectable input[type=checkbox]:checked + label::after, .dso-selectable input[type=checkbox]:indeterminate + label::after {\n opacity: 1;\n}\n.dso-selectable input[type=checkbox]:checked + label::after {\n border: solid;\n border-color: var(--dso-selectable-color, #39870c);\n border-block-start-color: transparent;\n border-width: 0 0 3px 3px;\n block-size: 8px;\n transform: rotate(-45deg);\n inline-size: 13px;\n}\n.dso-selectable input[type=checkbox]:indeterminate + label::after {\n background-color: var(--dso-selectable-color, #39870c);\n block-size: 12px;\n inline-size: 12px;\n}\n.dso-selectable input[type=radio] + label::before {\n border-radius: 50%;\n}\n.dso-selectable input[type=radio] + label::after {\n background-color: transparent;\n border-radius: 50%;\n content: \"\";\n block-size: 12px;\n inset-inline-start: 6px;\n opacity: 0;\n position: absolute;\n inset-block-start: 6px;\n inline-size: 12px;\n zoom: 1;\n}\n.dso-selectable input[type=radio]:checked + label::after {\n background-color: var(--dso-selectable-color, #39870c);\n opacity: 1;\n}\n.dso-selectable label {\n font-weight: 700;\n}\n\n.dso-list-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\n.dso-list-button:focus, .dso-list-button:focus-visible {\n outline-offset: 2px;\n}\n.dso-list-button:active {\n outline: 0;\n}\n.dso-list-button {\n background-color: #fff;\n border-color: #ccc;\n color: #191919;\n}\n.dso-list-button {\n border-radius: 4px;\n border-width: 1px;\n border-style: solid;\n font-weight: 600;\n padding-block: 15px;\n padding-inline: 15px 47px;\n position: relative;\n text-align: start;\n white-space: normal;\n inline-size: 100%;\n cursor: pointer;\n}\n.dso-list-button:hover, .dso-list-button:focus {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-list-button:active, .dso-list-button:active:hover, .dso-list-button.active, .dso-list-button.active:hover {\n background-color: #fff;\n border-color: #d7e7ce;\n color: #191919;\n}\n.dso-list-button.disabled, .dso-list-button.disabled:hover, .dso-list-button[disabled], .dso-list-button[disabled]:hover {\n background-color: #fff;\n border-color: #ccc;\n color: #666;\n}\n.dso-list-button.disabled, .dso-list-button.disabled:hover, .dso-list-button[disabled], .dso-list-button[disabled]:hover {\n opacity: 1;\n}\n.dso-list-button.dso-selected {\n border-color: #39870c;\n border-width: 1px;\n box-shadow: inset 0px 0px 0px 1px #39870c, inset -1px 0px 0px 0px #39870c;\n}\n@media screen and (min-width: 768px) {\n .dso-list-button.dso-selected.dso-single-count {\n border-inline-end: 0;\n box-shadow: #39870c 0px 1px 0px 0px inset, #39870c 1px 0px 0px 0px inset, #39870c 0px -1px 0px 0px inset;\n }\n}\n.dso-list-button label {\n cursor: inherit;\n}\n.dso-list-button > span {\n display: block;\n}\n.dso-list-button .dso-sublabel,\n.dso-list-button .subcontent {\n font-weight: 400;\n inline-size: 100%;\n padding-inline-start: 32px;\n}\n.dso-list-button dso-icon {\n block-size: 24px;\n color: #39870c;\n inset-block-start: 15px;\n inset-inline-end: 15px;\n inline-size: 24px;\n page-break-before: always;\n position: absolute;\n}\n@media screen and (max-width: 767px) {\n .dso-list-button.dso-selected.dso-single-count::after {\n inline-size: 0;\n }\n}";const a=class{constructor(t){n(this,t);this.dsoCountChange=e(this,"dsoCountChange",7);this.dsoSelectedChange=e(this,"dsoSelectedChange",7);this.checked=false;this.disabled=false}get subcontentSlot(){return this.host.querySelector("[slot='subcontent']")}connectedCallback(){this.mutationObserver=new MutationObserver((()=>t(this.host)));this.mutationObserver.observe(this.host,{characterData:true,childList:true,subtree:true,attributes:true})}componentDidRender(){var n,e;if(!((n=this.subcontentSlot)===null||n===void 0?void 0:n.hasAttribute("aria-hidden"))){(e=this.subcontentSlot)===null||e===void 0?void 0:e.setAttribute("aria-hidden","true")}}disconnectedCallback(){var n;(n=this.mutationObserver)===null||n===void 0?void 0:n.disconnect();delete this.mutationObserver}stepValue(n,e){if(typeof this.count==="number"){const t=e==="increment"?this.count+1:this.count-1;if(!this.isNewCountValid(t)){return}this.dsoCountChange.emit({originalEvent:n,count:t})}}handleSelectClick(n){n.preventDefault();if(this.count!==undefined){this.dsoCountChange.emit({originalEvent:n,count:this.count>0?0:1});return}this.dsoSelectedChange.emit({originalEvent:n,checked:!this.checked})}isNewCountValid(n){return!(this.min!==undefined&&this.max!==undefined&&(n<Number(this.min)||n>Number(this.max)))}render(){const n=this.checked||this.count!==undefined&&this.count>0;return o("div",{key:"b598da82cfebc24eeccc5a2ec2b46613ba6eba69",class:r(["dso-button-group",{"dso-disabled":this.disabled}])},o("div",{key:"ddf4368fb2eafc2be93b9a9e5c85c227c220303e",class:r(["dso-list-button",{"dso-selected":n,"dso-single-count":this.count===1}]),onClick:n=>this.handleSelectClick(n)},o("div",{key:"f2c536704711f53fadc40463b39f0fec0430d9c9",class:"dso-selectable"},o("input",{key:"e751f37d8eb12e3f6e41742dd93b1019a3bb9303",id:"dso-list-button-checkbox",type:"checkbox",value:"list-button",name:"naam","aria-describedby":[this.sublabel&&"sublabel",this.subcontentSlot&&"description"].filter((n=>!!n)).join(" ")||null,checked:n,disabled:this.disabled}),o("label",{key:"7ece1b6cdd28904be5dc222ce19f86f64d0cadac",htmlFor:"dso-list-button-checkbox"},this.label),this.subcontentSlot&&o("div",{key:"7d7bd35557060c7e4ca370f122bfed958957a634",class:"sr-only",id:"description"},this.subcontentPrefix&&this.subcontentPrefix+":",o("div",{key:"87dd6a05f6886e745f2448a2358cd3a8c2110cf7",innerHTML:this.subcontentSlot.innerHTML}))),this.sublabel&&o("span",{key:"0c490aa9be692955ab1fedae67d832d787e2edea",class:"dso-sublabel",id:"sublabel"},this.sublabel),this.subcontentSlot&&o("div",{key:"d10de6f4ad7cafe0735603fdcc9dde1f52eea620",class:"subcontent"},o("slot",{key:"a19c3621e895948edf1b1c6cf3245d0d6869e9e7",name:"subcontent"}))),this.count!==undefined&&this.count>0&&o("div",{key:"94c1149928f8dcdcdc446ef2ccc287c6b0d65b35",class:"dso-input-number"},this.count>1&&o(s,null,o("button",{key:"3a11c8e551814a5061881a70132256804b682604",type:"button",class:"dso-tertiary",disabled:this.count===Number(this.min)||this.disabled,onClick:n=>this.stepValue(n,"decrement")},o("dso-icon",{key:"54fd8dc97e5d0b543c82e85750bfb6caeaea02ef",icon:"minus-circle"}),o("span",{key:"7f24b449569afea6a498d592d13f360bf328a0da",class:"sr-only"},"Aantal verlagen")),o("span",{key:"5d7a3c2fe16cb3e8003500de84691919845bc0b5",class:"dso-input-step-counter","aria-label":"Aantal","aria-live":"polite"},this.count)),o("button",{key:"cbeee360c92ab646420c63bdd21ce8782e17dd72",type:"button",class:"dso-tertiary",disabled:this.count===Number(this.max)||this.disabled,onClick:n=>this.stepValue(n,"increment")},o("dso-icon",{key:"479edf8adbb0896abc366d6e79e8386d753a857a",icon:"plus-circle"}),o("span",{key:"6c1d00d2e2dcd983d703368e7550faa3ade4c4d6",class:"sr-only"},"Aantal verhogen"))))}get host(){return i(this)}};a.style=d;export{a as dso_list_button};
|
|
2
|
+
//# sourceMappingURL=p-feae6843.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["listButtonCss","ListButton","constructor","hostRef","this","checked","disabled","subcontentSlot","host","querySelector","connectedCallback","mutationObserver","MutationObserver","forceUpdate","observe","characterData","childList","subtree","attributes","componentDidRender","_a","hasAttribute","_b","setAttribute","disconnectedCallback","disconnect","stepValue","e","direction","count","newValue","isNewCountValid","dsoCountChange","emit","originalEvent","handleSelectClick","preventDefault","undefined","dsoSelectedChange","min","max","Number","render","selected","h","key","class","clsx","onClick","id","type","value","name","sublabel","filter","s","join","htmlFor","label","subcontentPrefix","innerHTML","Fragment","icon"],"sources":["src/components/list-button/list-button.scss?tag=dso-list-button&encapsulation=shadow","src/components/list-button/list-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"list-button.variables\" as list-button-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n@mixin _state-styling($background-color: inherit, $border-color: inherit, $color: inherit) {\r\n & {\r\n background-color: $background-color;\r\n border-color: $border-color;\r\n color: $color;\r\n }\r\n}\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-tertiary {\r\n @include button.tertiary($modifiers: false);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.dso-input-number {\r\n align-items: center;\r\n display: flex;\r\n\r\n .dso-input-step-counter {\r\n text-align: center;\r\n inline-size: units.$ru3;\r\n font-size: list-button-variables.$font-size-count;\r\n }\r\n}\r\n\r\n.dso-button-group {\r\n display: flex;\r\n flex-direction: row;\r\n\r\n &.dso-disabled {\r\n > * {\r\n @include _state-styling(colors.$wit, colors.$grijs-10, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n pointer-events: none;\r\n }\r\n }\r\n }\r\n\r\n > * {\r\n border-radius: 0;\r\n\r\n &:first-child {\r\n border-radius: list-button-variables.$border-radius 0 0 list-button-variables.$border-radius;\r\n }\r\n\r\n &:not(:first-child) {\r\n border-inline-start-style: none !important;\r\n }\r\n\r\n &:last-child {\r\n border-radius: 0 list-button-variables.$border-radius list-button-variables.$border-radius 0;\r\n }\r\n\r\n &:only-child {\r\n border-radius: list-button-variables.$border-radius;\r\n }\r\n }\r\n\r\n > .dso-input-number {\r\n border-style: solid;\r\n border-width: 1px;\r\n flex-wrap: nowrap;\r\n padding-block: 0;\r\n padding-inline: units.$u2;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n justify-content: center;\r\n }\r\n }\r\n\r\n > *:hover + .dso-input-number,\r\n > *:focus + .dso-input-number {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n\r\n > *.dso-selected + .dso-input-number {\r\n box-shadow:\r\n inset 0 -1px 0 0 button.$secondary-border-color,\r\n inset 0 1px 0 0 button.$secondary-border-color,\r\n inset -1px 0 0 0 button.$secondary-border-color;\r\n\r\n @include _state-styling(colors.$wit, button.$secondary-border-color, colors.$grijs-90);\r\n }\r\n\r\n > *:active + .dso-input-number,\r\n > *.active + .dso-input-number {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n > *.disabled + .dso-input-number,\r\n > *[disabled] + .dso-input-number {\r\n &,\r\n &:hover {\r\n opacity: 1;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n }\r\n }\r\n\r\n .dso-list-button {\r\n padding-inline-end: #{units.$u2 - 1};\r\n }\r\n}\r\n\r\n.dso-selectable {\r\n @include selectable.root(\"dso-info\");\r\n\r\n label {\r\n font-weight: 700;\r\n }\r\n}\r\n\r\n.dso-list-button {\r\n @include button.base($modifiers: false);\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2977\r\n & {\r\n border-radius: button.$border-radius;\r\n border-width: 1px;\r\n border-style: solid;\r\n font-weight: 600;\r\n padding-block: #{units.$u2 - 1};\r\n padding-inline: #{units.$u2 - 1} #{units.$u6 - 1};\r\n position: relative;\r\n text-align: start;\r\n white-space: normal;\r\n inline-size: 100%;\r\n cursor: pointer;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n\r\n &:active,\r\n &.active {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n &.disabled,\r\n &[disabled] {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n\r\n &.dso-selected {\r\n border-color: colors.$grasgroen;\r\n border-width: 1px;\r\n box-shadow:\r\n inset 0px 0px 0px 1px colors.$grasgroen,\r\n inset -1px 0px 0px 0px colors.$grasgroen;\r\n\r\n &.dso-single-count {\r\n @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {\r\n border-inline-end: 0;\r\n box-shadow:\r\n colors.$grasgroen 0px 1px 0px 0px inset,\r\n colors.$grasgroen 1px 0px 0px 0px inset,\r\n colors.$grasgroen 0px -1px 0px 0px inset;\r\n }\r\n }\r\n }\r\n\r\n label {\r\n cursor: inherit;\r\n }\r\n\r\n > span {\r\n display: block;\r\n }\r\n\r\n .dso-sublabel,\r\n .subcontent {\r\n font-weight: 400;\r\n inline-size: 100%;\r\n padding-inline-start: selectable.$size + units.$u1;\r\n }\r\n\r\n dso-icon {\r\n block-size: units.$u3;\r\n color: colors.$grasgroen;\r\n inset-block-start: #{units.$u2 - 1};\r\n inset-inline-end: #{units.$u2 - 1};\r\n inline-size: units.$u3;\r\n page-break-before: always;\r\n position: absolute;\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n &.dso-selected.dso-single-count {\r\n &::after {\r\n inline-size: 0;\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Prop,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { ListButtonChangeEvent, ListButtonSelectedEvent } from \"./list-button.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-list-button\",\r\n shadow: true,\r\n styleUrl: \"list-button.scss\",\r\n})\r\nexport class ListButton implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoListButtonElement;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private get subcontentSlot() {\r\n return this.host.querySelector<HTMLElement>(\"[slot='subcontent']\");\r\n }\r\n\r\n /**\r\n * The label of the List Button.\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The sublabel of the List Button.\r\n */\r\n @Prop()\r\n sublabel?: string;\r\n\r\n /**\r\n * When defined the count can show on the List Button.\r\n */\r\n @Prop()\r\n count?: number;\r\n\r\n /**\r\n * The minimum value.\r\n */\r\n @Prop()\r\n min?: string | number;\r\n\r\n /**\r\n * The maximum value.\r\n */\r\n @Prop()\r\n max?: string | number;\r\n\r\n /**\r\n * Whether the List Button is checked.\r\n */\r\n @Prop({ reflect: true })\r\n checked = false;\r\n\r\n /**\r\n * Whether the List Button is disabled.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Prefix to subcontent for the purpose of screenreading.\r\n */\r\n @Prop()\r\n subcontentPrefix?: string;\r\n\r\n /**\r\n * Emitted when the user changes the count.\r\n */\r\n @Event()\r\n dsoCountChange!: EventEmitter<ListButtonChangeEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the List Button itself.\r\n *\r\n * Does not fire when the user activates the count controls.\r\n */\r\n @Event()\r\n dsoSelectedChange!: EventEmitter<ListButtonSelectedEvent>;\r\n\r\n connectedCallback() {\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n }\r\n\r\n componentDidRender(): void {\r\n if (!this.subcontentSlot?.hasAttribute(\"aria-hidden\")) {\r\n this.subcontentSlot?.setAttribute(\"aria-hidden\", \"true\");\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n delete this.mutationObserver;\r\n }\r\n\r\n private stepValue(e: Event, direction: \"increment\" | \"decrement\"): void {\r\n if (typeof this.count === \"number\") {\r\n const newValue = direction === \"increment\" ? this.count + 1 : this.count - 1;\r\n\r\n if (!this.isNewCountValid(newValue)) {\r\n return;\r\n }\r\n\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: newValue,\r\n });\r\n }\r\n }\r\n\r\n private handleSelectClick(e: Event): void {\r\n e.preventDefault();\r\n\r\n if (this.count !== undefined) {\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: this.count > 0 ? 0 : 1,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.dsoSelectedChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n private isNewCountValid(newValue: number): boolean {\r\n return !(\r\n this.min !== undefined &&\r\n this.max !== undefined &&\r\n (newValue < Number(this.min) || newValue > Number(this.max))\r\n );\r\n }\r\n\r\n render() {\r\n const selected = this.checked || (this.count !== undefined && this.count > 0);\r\n\r\n return (\r\n <div class={clsx([\"dso-button-group\", { \"dso-disabled\": this.disabled }])}>\r\n <div\r\n class={clsx([\"dso-list-button\", { \"dso-selected\": selected, \"dso-single-count\": this.count === 1 }])}\r\n onClick={(e) => this.handleSelectClick(e)}\r\n >\r\n <div class=\"dso-selectable\">\r\n <input\r\n id=\"dso-list-button-checkbox\"\r\n type=\"checkbox\"\r\n value=\"list-button\"\r\n name=\"naam\"\r\n aria-describedby={\r\n [this.sublabel && \"sublabel\", this.subcontentSlot && \"description\"].filter((s) => !!s).join(\" \") || null\r\n }\r\n checked={selected}\r\n disabled={this.disabled}\r\n />\r\n <label htmlFor=\"dso-list-button-checkbox\">{this.label}</label>\r\n {this.subcontentSlot && (\r\n <div class=\"sr-only\" id=\"description\">\r\n {this.subcontentPrefix && this.subcontentPrefix + \":\"}\r\n <div innerHTML={this.subcontentSlot.innerHTML}></div>\r\n </div>\r\n )}\r\n </div>\r\n {this.sublabel && (\r\n <span class=\"dso-sublabel\" id=\"sublabel\">\r\n {this.sublabel}\r\n </span>\r\n )}\r\n {this.subcontentSlot && (\r\n <div class=\"subcontent\">\r\n <slot name=\"subcontent\" />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {this.count !== undefined && this.count > 0 && (\r\n <div class=\"dso-input-number\">\r\n {this.count > 1 && (\r\n <>\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n disabled={this.count === Number(this.min) || this.disabled}\r\n onClick={(e) => this.stepValue(e, \"decrement\")}\r\n >\r\n <dso-icon icon=\"minus-circle\"></dso-icon>\r\n <span class=\"sr-only\">Aantal verlagen</span>\r\n </button>\r\n <span class=\"dso-input-step-counter\" aria-label=\"Aantal\" aria-live=\"polite\">\r\n {this.count}\r\n </span>\r\n </>\r\n )}\r\n\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n disabled={this.count === Number(this.max) || this.disabled}\r\n onClick={(e) => this.stepValue(e, \"increment\")}\r\n >\r\n <dso-icon icon=\"plus-circle\"></dso-icon>\r\n <span class=\"sr-only\">Aantal verhogen</span>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["listButtonCss","ListButton","constructor","hostRef","this","checked","disabled","subcontentSlot","host","querySelector","connectedCallback","mutationObserver","MutationObserver","forceUpdate","observe","characterData","childList","subtree","attributes","componentDidRender","_a","hasAttribute","_b","setAttribute","disconnectedCallback","disconnect","stepValue","e","direction","count","newValue","isNewCountValid","dsoCountChange","emit","originalEvent","handleSelectClick","preventDefault","undefined","dsoSelectedChange","min","max","Number","render","selected","h","key","class","clsx","onClick","id","type","value","name","sublabel","filter","s","join","htmlFor","label","subcontentPrefix","innerHTML","Fragment","icon"],"sources":["src/components/list-button/list-button.scss?tag=dso-list-button&encapsulation=shadow","src/components/list-button/list-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"list-button.variables\" as list-button-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n@mixin _state-styling($background-color: inherit, $border-color: inherit, $color: inherit) {\r\n & {\r\n background-color: $background-color;\r\n border-color: $border-color;\r\n color: $color;\r\n }\r\n}\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-tertiary {\r\n @include button.tertiary($modifiers: false);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.dso-input-number {\r\n align-items: center;\r\n display: flex;\r\n\r\n .dso-input-step-counter {\r\n text-align: center;\r\n inline-size: units.$ru3;\r\n font-size: list-button-variables.$font-size-count;\r\n }\r\n}\r\n\r\n.dso-button-group {\r\n display: flex;\r\n flex-direction: row;\r\n\r\n &.dso-disabled {\r\n > * {\r\n @include _state-styling(colors.$wit, colors.$grijs-10, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n pointer-events: none;\r\n }\r\n }\r\n }\r\n\r\n > * {\r\n border-radius: 0;\r\n\r\n &:first-child {\r\n border-radius: list-button-variables.$border-radius 0 0 list-button-variables.$border-radius;\r\n }\r\n\r\n &:not(:first-child) {\r\n border-inline-start-style: none !important;\r\n }\r\n\r\n &:last-child {\r\n border-radius: 0 list-button-variables.$border-radius list-button-variables.$border-radius 0;\r\n }\r\n\r\n &:only-child {\r\n border-radius: list-button-variables.$border-radius;\r\n }\r\n }\r\n\r\n > .dso-input-number {\r\n border-style: solid;\r\n border-width: 1px;\r\n flex-wrap: nowrap;\r\n padding-block: 0;\r\n padding-inline: units.$u2;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n justify-content: center;\r\n }\r\n }\r\n\r\n > *:hover + .dso-input-number,\r\n > *:focus + .dso-input-number {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n\r\n > *.dso-selected + .dso-input-number {\r\n box-shadow:\r\n inset 0 -1px 0 0 button.$secondary-border-color,\r\n inset 0 1px 0 0 button.$secondary-border-color,\r\n inset -1px 0 0 0 button.$secondary-border-color;\r\n\r\n @include _state-styling(colors.$wit, button.$secondary-border-color, colors.$grijs-90);\r\n }\r\n\r\n > *:active + .dso-input-number,\r\n > *.active + .dso-input-number {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n > *.disabled + .dso-input-number,\r\n > *[disabled] + .dso-input-number {\r\n &,\r\n &:hover {\r\n opacity: 1;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n }\r\n }\r\n\r\n .dso-list-button {\r\n padding-inline-end: #{units.$u2 - 1};\r\n }\r\n}\r\n\r\n.dso-selectable {\r\n @include selectable.root(\"dso-info\");\r\n\r\n label {\r\n font-weight: 700;\r\n }\r\n}\r\n\r\n.dso-list-button {\r\n @include button.base($modifiers: false);\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2977\r\n & {\r\n border-radius: button.$border-radius;\r\n border-width: 1px;\r\n border-style: solid;\r\n font-weight: 600;\r\n padding-block: #{units.$u2 - 1};\r\n padding-inline: #{units.$u2 - 1} #{units.$u6 - 1};\r\n position: relative;\r\n text-align: start;\r\n white-space: normal;\r\n inline-size: 100%;\r\n cursor: pointer;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n\r\n &:active,\r\n &.active {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n &.disabled,\r\n &[disabled] {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n\r\n &.dso-selected {\r\n border-color: colors.$grasgroen;\r\n border-width: 1px;\r\n box-shadow:\r\n inset 0px 0px 0px 1px colors.$grasgroen,\r\n inset -1px 0px 0px 0px colors.$grasgroen;\r\n\r\n &.dso-single-count {\r\n @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {\r\n border-inline-end: 0;\r\n box-shadow:\r\n colors.$grasgroen 0px 1px 0px 0px inset,\r\n colors.$grasgroen 1px 0px 0px 0px inset,\r\n colors.$grasgroen 0px -1px 0px 0px inset;\r\n }\r\n }\r\n }\r\n\r\n label {\r\n cursor: inherit;\r\n }\r\n\r\n > span {\r\n display: block;\r\n }\r\n\r\n .dso-sublabel,\r\n .subcontent {\r\n font-weight: 400;\r\n inline-size: 100%;\r\n padding-inline-start: selectable.$size + units.$u1;\r\n }\r\n\r\n dso-icon {\r\n block-size: units.$u3;\r\n color: colors.$grasgroen;\r\n inset-block-start: #{units.$u2 - 1};\r\n inset-inline-end: #{units.$u2 - 1};\r\n inline-size: units.$u3;\r\n page-break-before: always;\r\n position: absolute;\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n &.dso-selected.dso-single-count {\r\n &::after {\r\n inline-size: 0;\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Prop,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { ListButtonChangeEvent, ListButtonSelectedEvent } from \"./list-button.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-list-button\",\r\n shadow: true,\r\n styleUrl: \"list-button.scss\",\r\n})\r\nexport class ListButton implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoListButtonElement;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private get subcontentSlot() {\r\n return this.host.querySelector<HTMLElement>(\"[slot='subcontent']\");\r\n }\r\n\r\n /**\r\n * The label of the List Button.\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The sublabel of the List Button.\r\n */\r\n @Prop()\r\n sublabel?: string;\r\n\r\n /**\r\n * When defined the count can show on the List Button.\r\n */\r\n @Prop()\r\n count?: number;\r\n\r\n /**\r\n * The minimum value.\r\n */\r\n @Prop()\r\n min?: string | number;\r\n\r\n /**\r\n * The maximum value.\r\n */\r\n @Prop()\r\n max?: string | number;\r\n\r\n /**\r\n * Whether the List Button is checked.\r\n */\r\n @Prop({ reflect: true })\r\n checked = false;\r\n\r\n /**\r\n * Whether the List Button is disabled.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Prefix to subcontent for the purpose of screenreading.\r\n */\r\n @Prop()\r\n subcontentPrefix?: string;\r\n\r\n /**\r\n * Emitted when the user changes the count.\r\n */\r\n @Event()\r\n dsoCountChange!: EventEmitter<ListButtonChangeEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the List Button itself.\r\n *\r\n * Does not fire when the user activates the count controls.\r\n */\r\n @Event()\r\n dsoSelectedChange!: EventEmitter<ListButtonSelectedEvent>;\r\n\r\n connectedCallback() {\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n }\r\n\r\n componentDidRender(): void {\r\n if (!this.subcontentSlot?.hasAttribute(\"aria-hidden\")) {\r\n this.subcontentSlot?.setAttribute(\"aria-hidden\", \"true\");\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n delete this.mutationObserver;\r\n }\r\n\r\n private stepValue(e: Event, direction: \"increment\" | \"decrement\"): void {\r\n if (typeof this.count === \"number\") {\r\n const newValue = direction === \"increment\" ? this.count + 1 : this.count - 1;\r\n\r\n if (!this.isNewCountValid(newValue)) {\r\n return;\r\n }\r\n\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: newValue,\r\n });\r\n }\r\n }\r\n\r\n private handleSelectClick(e: Event): void {\r\n e.preventDefault();\r\n\r\n if (this.count !== undefined) {\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: this.count > 0 ? 0 : 1,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.dsoSelectedChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n private isNewCountValid(newValue: number): boolean {\r\n return !(\r\n this.min !== undefined &&\r\n this.max !== undefined &&\r\n (newValue < Number(this.min) || newValue > Number(this.max))\r\n );\r\n }\r\n\r\n render() {\r\n const selected = this.checked || (this.count !== undefined && this.count > 0);\r\n\r\n return (\r\n <div class={clsx([\"dso-button-group\", { \"dso-disabled\": this.disabled }])}>\r\n <div\r\n class={clsx([\"dso-list-button\", { \"dso-selected\": selected, \"dso-single-count\": this.count === 1 }])}\r\n onClick={(e) => this.handleSelectClick(e)}\r\n >\r\n <div class=\"dso-selectable\">\r\n <input\r\n id=\"dso-list-button-checkbox\"\r\n type=\"checkbox\"\r\n value=\"list-button\"\r\n name=\"naam\"\r\n aria-describedby={\r\n [this.sublabel && \"sublabel\", this.subcontentSlot && \"description\"].filter((s) => !!s).join(\" \") || null\r\n }\r\n checked={selected}\r\n disabled={this.disabled}\r\n />\r\n <label htmlFor=\"dso-list-button-checkbox\">{this.label}</label>\r\n {this.subcontentSlot && (\r\n <div class=\"sr-only\" id=\"description\">\r\n {this.subcontentPrefix && this.subcontentPrefix + \":\"}\r\n <div innerHTML={this.subcontentSlot.innerHTML}></div>\r\n </div>\r\n )}\r\n </div>\r\n {this.sublabel && (\r\n <span class=\"dso-sublabel\" id=\"sublabel\">\r\n {this.sublabel}\r\n </span>\r\n )}\r\n {this.subcontentSlot && (\r\n <div class=\"subcontent\">\r\n <slot name=\"subcontent\" />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {this.count !== undefined && this.count > 0 && (\r\n <div class=\"dso-input-number\">\r\n {this.count > 1 && (\r\n <>\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n disabled={this.count === Number(this.min) || this.disabled}\r\n onClick={(e) => this.stepValue(e, \"decrement\")}\r\n >\r\n <dso-icon icon=\"minus-circle\"></dso-icon>\r\n <span class=\"sr-only\">Aantal verlagen</span>\r\n </button>\r\n <span class=\"dso-input-step-counter\" aria-label=\"Aantal\" aria-live=\"polite\">\r\n {this.count}\r\n </span>\r\n </>\r\n )}\r\n\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n disabled={this.count === Number(this.max) || this.disabled}\r\n onClick={(e) => this.stepValue(e, \"increment\")}\r\n >\r\n <dso-icon icon=\"plus-circle\"></dso-icon>\r\n <span class=\"sr-only\">Aantal verhogen</span>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as t,h as i,g as s}from"./p-C-b4jsbt.js";function o(e){if(!e){return}const t=e.split("-");if(t.length===3&&typeof t[0]==="string"&&typeof t[1]==="string"&&typeof t[2]==="string"){const[e,i,s]=t;const o=e.padStart(2,"0");const d=i.padStart(2,"0");const n=s.padStart(4,"0");return[n,d,o].join("-")}return e}function d(e){if(!e){return""}const t=e.getDate().toString(10).padStart(2,"0");const i=(e.getMonth()+1).toString(10).padStart(2,"0");const s=e.getFullYear().toString(10).padStart(4,"0");return[t,i,s].join("-")}const n='@charset "UTF-8";.sc-dso-date-picker-h{display:block}[invalid].sc-dso-date-picker-h:not([invalid=false]) .dso-date__input.sc-dso-date-picker{border-color:#ce3f51}.dso-date__input.sc-dso-date-picker{display:block;inline-size:100%;block-size:40px;padding-block:6px;padding-inline:14px;font-size:1rem;line-height:1.5;color:#191919;background-color:#fff;background-image:none;border:1px solid #275937;border-radius:4px;transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s}.dso-date__input.sc-dso-date-picker::-moz-placeholder{color:#666;opacity:1}.dso-date__input.sc-dso-date-picker:-ms-input-placeholder{color:#666}.dso-date__input.sc-dso-date-picker::-webkit-input-placeholder{color:#666}.dso-date__input.sc-dso-date-picker::-ms-expand{background-color:transparent;border:0}.dso-date__input.sc-dso-date-picker:focus{border-color:#275937;outline:0;box-shadow:inset 0 0 0 1px #275937}.dso-date__input[disabled].sc-dso-date-picker,.dso-date__input[readonly].sc-dso-date-picker,fieldset[disabled].sc-dso-date-picker .dso-date__input.sc-dso-date-picker{background-color:#fff;opacity:1}.dso-date__input[disabled].sc-dso-date-picker,fieldset[disabled].sc-dso-date-picker .dso-date__input.sc-dso-date-picker{cursor:default}.dso-date__input[disabled].sc-dso-date-picker{border-color:#e5e5e5;color:#999}.dso-date__input[readonly].sc-dso-date-picker{border-width:1px}.dso-date__input[type=text].sc-dso-date-picker{line-height:40px}.dso-date__input[size].sc-dso-date-picker{inline-size:auto}.dso-date__input.sc-dso-date-picker::-webkit-calendar-picker-indicator{position:relative;inset-inline-end:-8px;font-size:1.75rem;filter:invert(50%) sepia(66%) saturate(6528%) hue-rotate(71deg) brightness(94%) contrast(91%)}';const a=class{constructor(i){e(this,i);this.dsoDateChange=t(this,"dsoDateChange",7);this.dsoBlur=t(this,"dsoBlur",7);this.dsoKeyUp=t(this,"dsoKeyUp",7);this.dsoKeyDown=t(this,"dsoKeyDown",7);this.dsoFocus=t(this,"dsoFocus",7);this.name="dso-date";this.disabled=false;this.required=false;this.dsoAutofocus=false;this.value="";this.handleBlur=e=>{e.stopPropagation();const{target:t}=e;if(!(t instanceof HTMLInputElement)){return}const{validity:i}=t;const{value:s,valueAsDate:o}=this.dateValues(t);const d=this.validityToError(i);const n={component:"dso-date-picker",originalEvent:e,validity:i,value:s,valueAsDate:o,error:d};this.dsoBlur.emit(n)};this.handleFocus=e=>{e.stopPropagation();this.dsoFocus.emit({originalEvent:e,component:"dso-date-picker"})};this.handleKeyUp=e=>{e.stopPropagation();this.dsoKeyUp.emit({component:"dso-date-picker",originalEvent:e})};this.handleKeyDown=e=>{e.stopPropagation();this.dsoKeyDown.emit({component:"dso-date-picker",originalEvent:e})};this.handleInputChange=e=>{const t=e.target;if(!(t instanceof HTMLInputElement)){return}const{validity:i}=t;const{value:s,valueAsDate:o}=this.dateValues(t);const d=this.validityToError(i);const n={component:"dso-date-picker",originalEvent:e,validity:i,value:s,valueAsDate:o,error:d};this.dsoDateChange.emit(n)}}dateValues(e){const{valueAsDate:t,validity:i}=e;return{value:d(t),valueAsDate:!i.rangeOverflow&&!i.rangeUnderflow&&t||undefined}}validityToError(e){if(e.valueMissing){return"required"}if(e.rangeUnderflow){return"min-range"}if(e.rangeOverflow){return"max-range"}if(!e.valid){return"invalid"}return undefined}render(){var e;return i("input",{key:"c599e90b8e1029573beb7097dc5364e06759dcd7",type:"date",id:this.identifier,class:"dso-date__input",value:o(this.value),name:this.name,min:o(this.min),max:o(this.max),disabled:this.disabled||undefined,required:this.required||undefined,"aria-autocomplete":"none","aria-invalid":(e=this.invalid)===null||e===void 0?void 0:e.toString(),"aria-describedby":this.describedBy,autoComplete:"off",autofocus:this.dsoAutofocus||undefined,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyUp:this.handleKeyUp,onKeyDown:this.handleKeyDown,onChange:this.handleInputChange})}get element(){return s(this)}};a.style=n;export{a as dso_date_picker};
|
|
2
|
+
//# sourceMappingURL=p-ffa6ca48.entry.js.map
|