@dso-toolkit/core 82.0.0 → 83.1.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 +9 -9
- package/dist/bundle/dso-accordion-section.js.map +1 -1
- package/dist/bundle/dso-action-list-item.js +2 -2
- 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 +10 -10
- 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 +8 -8
- package/dist/bundle/dso-annotation-activiteit.js.map +1 -1
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +8 -8
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js.map +1 -1
- package/dist/bundle/dso-annotation-kaart.js +5 -5
- 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 +8 -8
- 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 +7 -7
- package/dist/bundle/dso-badge.js +1 -1
- package/dist/bundle/dso-banner.js +2 -2
- package/dist/bundle/dso-banner.js.map +1 -1
- package/dist/bundle/dso-button-group.js +1 -1
- package/dist/bundle/dso-card-container.js +1 -1
- package/dist/bundle/dso-card.js +4 -4
- package/dist/bundle/dso-card.js.map +1 -1
- package/dist/bundle/dso-contact-information.js +1 -1
- package/dist/bundle/dso-date-picker.js +1 -1
- package/dist/bundle/dso-document-card.js +3 -3
- package/dist/bundle/dso-document-card.js.map +1 -1
- package/dist/bundle/dso-document-component.js +1 -1
- package/dist/bundle/dso-dropdown-menu.js +1 -1
- package/dist/bundle/dso-expandable.js +1 -1
- package/dist/bundle/dso-header.js +5 -5
- package/dist/bundle/dso-header.js.map +1 -1
- package/dist/bundle/dso-highlight-box.js +2 -2
- package/dist/bundle/dso-highlight-box.js.map +1 -1
- package/dist/bundle/dso-history-item.js +2 -2
- package/dist/bundle/dso-icon-button.js +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 +3 -3
- 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 +7 -7
- package/dist/bundle/dso-legend-item.js.map +1 -1
- package/dist/bundle/dso-list-button.js +7 -7
- 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 +9 -9
- package/dist/bundle/dso-map-base-layers.js.map +1 -1
- package/dist/bundle/dso-map-controls.js +6 -6
- package/dist/bundle/dso-map-controls.js.map +1 -1
- package/dist/bundle/dso-map-overlays.js +9 -9
- package/dist/bundle/dso-map-overlays.js.map +1 -1
- package/dist/bundle/dso-mark-bar.js +4 -4
- package/dist/bundle/dso-mark-bar.js.map +1 -1
- package/dist/bundle/dso-modal.js +7 -7
- package/dist/bundle/dso-modal.js.map +1 -1
- package/dist/bundle/dso-onboarding-tip.js +5 -5
- package/dist/bundle/dso-onboarding-tip.js.map +1 -1
- package/dist/bundle/dso-ozon-content-toggletip.js +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-indicator.js +1 -1
- package/dist/bundle/dso-project-item.js +5 -5
- 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 +6 -6
- package/dist/bundle/dso-survey-rating.js.map +1 -1
- package/dist/bundle/dso-table.js +1 -1
- package/dist/bundle/dso-tabs.js +1 -1
- package/dist/bundle/dso-tijdreis-banner.js +3 -3
- package/dist/bundle/dso-tijdreis-banner.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 +5 -5
- package/dist/bundle/dso-tree-view.js.map +1 -1
- package/dist/bundle/dso-viewer-grid.js +3 -3
- package/dist/bundle/dso-viewer-grid.js.map +1 -1
- package/dist/bundle/dsot-document-component-demo.js +17 -18
- package/dist/bundle/dsot-document-component-demo.js.map +1 -1
- package/dist/bundle/index.js +0 -2
- package/dist/bundle/index.js.map +1 -1
- package/dist/bundle/p--8xOEWb7.js +49 -0
- package/dist/bundle/{p-fTG2YwZq.js.map → p--8xOEWb7.js.map} +1 -1
- package/dist/bundle/{p-YEwuOvaY.js → p-BSxYLM2I.js} +10 -10
- package/dist/bundle/{p-YEwuOvaY.js.map → p-BSxYLM2I.js.map} +1 -1
- package/dist/bundle/{p-D1M1qAkT.js → p-BXS9fSw3.js} +5 -5
- package/dist/bundle/p-BXS9fSw3.js.map +1 -0
- package/dist/bundle/{p-C8fuhhYl.js → p-BsnzmGaW.js} +4 -4
- package/dist/bundle/p-BsnzmGaW.js.map +1 -0
- package/dist/bundle/{p-B_kXuEcW.js → p-C0ZvZbHD.js} +71 -20
- package/dist/bundle/p-C0ZvZbHD.js.map +1 -0
- package/dist/bundle/{p-ZIaudZgD.js → p-C0fad0Tz.js} +16 -16
- package/dist/bundle/{p-ZIaudZgD.js.map → p-C0fad0Tz.js.map} +1 -1
- package/dist/bundle/{p-COQMcyrp.js → p-CAiNl6nx.js} +7 -7
- package/dist/bundle/{p-COQMcyrp.js.map → p-CAiNl6nx.js.map} +1 -1
- package/dist/bundle/p-CWK4j8Tr.js +126 -0
- package/dist/bundle/p-CWK4j8Tr.js.map +1 -0
- package/dist/bundle/{p-CS5wngFb.js → p-CXFRGieQ.js} +4 -4
- package/dist/bundle/{p-CS5wngFb.js.map → p-CXFRGieQ.js.map} +1 -1
- package/dist/bundle/{p-DTle6By6.js → p-CXctuPtC.js} +3 -3
- package/dist/bundle/{p-DTle6By6.js.map → p-CXctuPtC.js.map} +1 -1
- package/dist/bundle/{p-CHxXKwET.js → p-CYZ_ghQd.js} +6 -6
- package/dist/bundle/{p-CHxXKwET.js.map → p-CYZ_ghQd.js.map} +1 -1
- package/dist/bundle/{p-BF0_OXTe.js → p-C_akviUd.js} +9 -6
- package/dist/bundle/p-C_akviUd.js.map +1 -0
- package/dist/bundle/{p-Cpkqb2I3.js → p-CkFupSQb.js} +7 -7
- package/dist/bundle/{p-Cpkqb2I3.js.map → p-CkFupSQb.js.map} +1 -1
- package/dist/bundle/{p-8gGambFe.js → p-CmVgHB0k.js} +3 -3
- package/dist/bundle/{p-8gGambFe.js.map → p-CmVgHB0k.js.map} +1 -1
- package/dist/bundle/{p-DAvYoaob.js → p-CoDNmQUl.js} +7 -7
- package/dist/bundle/{p-DAvYoaob.js.map → p-CoDNmQUl.js.map} +1 -1
- package/dist/bundle/{p-BwJ60QDk.js → p-CqQwHORn.js} +5 -5
- package/dist/bundle/{p-BwJ60QDk.js.map → p-CqQwHORn.js.map} +1 -1
- package/dist/bundle/{p-Dvmo0ffo.js → p-CsqbRus4.js} +7 -7
- package/dist/bundle/{p-Dvmo0ffo.js.map → p-CsqbRus4.js.map} +1 -1
- package/dist/bundle/{p-CpYhA6kG.js → p-Cx7q66IK.js} +5 -5
- package/dist/bundle/{p-CpYhA6kG.js.map → p-Cx7q66IK.js.map} +1 -1
- package/dist/bundle/p-D2Hmy92r.js +84 -0
- package/dist/bundle/{p-D_6TKRgI.js.map → p-D2Hmy92r.js.map} +1 -1
- package/dist/bundle/p-D5k5mkW4.js +36 -0
- package/dist/bundle/{p-Bv7dmPUW.js.map → p-D5k5mkW4.js.map} +1 -1
- package/dist/{esm/index.esm-Pk8qng7t.js → bundle/p-DDSMs62-.js} +45 -20
- package/dist/bundle/p-DDSMs62-.js.map +1 -0
- package/dist/bundle/{p-DpzeiE9g.js → p-DcPjXXDp.js} +6 -6
- package/dist/bundle/p-DcPjXXDp.js.map +1 -0
- package/dist/bundle/{p-BZCmkczj.js → p-Dea3wzTK.js} +5 -5
- package/dist/bundle/{p-BZCmkczj.js.map → p-Dea3wzTK.js.map} +1 -1
- package/dist/bundle/{p-nPKr7LCS.js → p-Dt8LczXv.js} +8 -8
- package/dist/bundle/{p-nPKr7LCS.js.map → p-Dt8LczXv.js.map} +1 -1
- package/dist/bundle/p-FpbfIBtx.js +169 -0
- package/dist/bundle/p-FpbfIBtx.js.map +1 -0
- package/dist/bundle/{p-B4T_HZRq.js → p-Ra_s5BYd.js} +3 -3
- package/dist/bundle/{p-B4T_HZRq.js.map → p-Ra_s5BYd.js.map} +1 -1
- package/dist/bundle/p-VjABABA3.js.map +1 -1
- package/dist/{esm/floating-ui.dom-gdsca1fx.js → bundle/p-_RZbmuMU.js} +70 -41
- package/dist/bundle/p-_RZbmuMU.js.map +1 -0
- package/dist/bundle/{p-UaaPHvKJ.js → p-_WSH7pZY.js} +3 -3
- package/dist/bundle/{p-UaaPHvKJ.js.map → p-_WSH7pZY.js.map} +1 -1
- package/dist/bundle/{p-BuyCa_uF.js → p-bAS7SMVR.js} +5 -5
- package/dist/bundle/{p-BuyCa_uF.js.map → p-bAS7SMVR.js.map} +1 -1
- package/dist/bundle/p-baWVwd8J.js +109 -0
- package/dist/bundle/p-baWVwd8J.js.map +1 -0
- package/dist/bundle/{p-Dd5JHsV3.js → p-dzRDgb4S.js} +3 -3
- package/dist/bundle/{p-Dd5JHsV3.js.map → p-dzRDgb4S.js.map} +1 -1
- package/dist/bundle/{p-BocpUT46.js → p-pf-8Sy0Y.js} +26 -26
- package/dist/bundle/p-pf-8Sy0Y.js.map +1 -0
- package/dist/bundle/{p-DbaZzGS_.js → p-vXXTDKh5.js} +50 -35
- package/dist/bundle/p-vXXTDKh5.js.map +1 -0
- package/dist/cjs/annotation-body-DaD_bwoW.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-action-list-item.cjs.entry.js +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 +5 -5
- 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-ozon-content-toggletip.dso-panel.dso-table.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert_7.cjs.entry.js +51 -41
- package/dist/cjs/dso-alert_7.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +5 -5
- package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +2 -2
- 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 +4 -4
- package/dist/cjs/dso-attachments-counter_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-autosuggest.cjs.entry.js +4 -5
- package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-autosuggest.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-banner.cjs.entry.js +2 -2
- 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-button-group.cjs.entry.js +1 -1
- package/dist/cjs/dso-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-button-group.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
- package/dist/cjs/dso-card.cjs.entry.js +3 -3
- 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-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/dso-document-card.cjs.entry.js +2 -2
- 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-dropdown-menu.cjs.entry.js +4 -4
- package/dist/cjs/dso-header.cjs.entry.js +3 -3
- 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 +2 -2
- 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-history-item.cjs.entry.js +1 -1
- package/dist/cjs/dso-icon-button.cjs.entry.js +21 -11
- package/dist/cjs/dso-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-icon-button.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-icon.cjs.entry.js +1 -1
- package/dist/cjs/dso-info-button.cjs.entry.js +2 -2
- 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 +3 -3
- 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 +8 -9
- package/dist/cjs/dso-label_3.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-legend-item.cjs.entry.js +1 -1
- 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 +4 -4
- 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 +3 -3
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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-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 +1 -1
- package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
- package/dist/cjs/dso-scrollable.cjs.entry.js +3 -4
- 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-tabs.cjs.entry.js +1 -1
- package/dist/cjs/dso-tijdreis-banner.cjs.entry.js +2 -2
- package/dist/cjs/dso-tijdreis-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-tijdreis-banner.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +1 -1
- package/dist/cjs/dso-tooltip.cjs.entry.js +3 -4
- 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 +3 -3
- 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 +3 -4
- 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/dsot-document-component-demo.cjs.entry.js +1 -1
- package/dist/cjs/{floating-ui.dom-uZgU2YQo.js → floating-ui.dom-CHD5ZW0W.js} +70 -41
- package/dist/cjs/floating-ui.dom-CHD5ZW0W.js.map +1 -0
- package/dist/cjs/{focus-trap.esm-c-Aj_u8L.js → focus-trap.esm-DSO8w3eY.js} +26 -26
- package/dist/cjs/focus-trap.esm-DSO8w3eY.js.map +1 -0
- package/dist/cjs/{i18n-yRiEgk_k.js → i18n-Dq0QvKWD.js} +71 -20
- package/dist/cjs/i18n-Dq0QvKWD.js.map +1 -0
- package/dist/cjs/index-DMUCyuUA.js +111 -0
- package/dist/cjs/index-DMUCyuUA.js.map +1 -0
- package/dist/cjs/{index.esm-DtPCE30D.js → index.esm-jAw0K065.js} +45 -20
- package/dist/cjs/index.esm-jAw0K065.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{position-tooltip.function-CwmmCHWn.js → position-tooltip.function-ByMSSaYN.js} +3 -3
- package/dist/cjs/{position-tooltip.function-CwmmCHWn.js.map → position-tooltip.function-ByMSSaYN.js.map} +1 -1
- package/dist/cjs/tooltip.functional-component-CD9AUuU7.js.map +1 -1
- package/dist/cjs/{v4-Br3XC_0C.js → v4-DVHpSsrI.js} +9 -6
- package/dist/cjs/v4-DVHpSsrI.js.map +1 -0
- package/dist/collection/collection-manifest.json +0 -1
- package/dist/collection/components/accordion/components/accordion-section.css +10 -8
- package/dist/collection/components/action-list/action-list.css +8 -6
- package/dist/collection/components/action-list/components/action-list-item.css +5 -5
- package/dist/collection/components/advanced-select/advanced-select.css +44 -30
- package/dist/collection/components/advanced-select/advanced-select.js +3 -3
- package/dist/collection/components/advanced-select/advanced-select.js.map +1 -1
- package/dist/collection/components/alert/alert.css +34 -26
- package/dist/collection/components/alert/alert.js +2 -2
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js +1 -1
- package/dist/collection/components/annotation/annotation-body.js.map +1 -1
- package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js +1 -1
- package/dist/collection/components/annotation/annotation-kaart/annotation-kaart.js +1 -1
- package/dist/collection/components/annotation/annotation-locatie/annotation-locatie.js +1 -1
- package/dist/collection/components/annotation/annotation-omgevingsnormwaarde/annotation-omgevingsnormwaarde.js +1 -1
- package/dist/collection/components/annotation/annotation.css +16 -12
- package/dist/collection/components/attachments-counter/attachments-counter.css +2 -2
- package/dist/collection/components/attachments-counter/attachments-counter.js +1 -1
- package/dist/collection/components/autosuggest/autosuggest.js +1 -1
- package/dist/collection/components/badge/badge.css +40 -26
- package/dist/collection/components/badge/badge.js +2 -2
- package/dist/collection/components/badge/badge.js.map +1 -1
- package/dist/collection/components/banner/banner.js +3 -3
- package/dist/collection/components/banner/banner.js.map +1 -1
- package/dist/collection/components/button-group/button-group.js +2 -2
- package/dist/collection/components/button-group/button-group.js.map +1 -1
- package/dist/collection/components/card/card.css +2 -2
- package/dist/collection/components/card/card.js +2 -2
- package/dist/collection/components/card-container/card-container.js +1 -1
- package/dist/collection/components/contact-information/contact-information.js +1 -1
- package/dist/collection/components/date-picker/date-picker.js +1 -1
- package/dist/collection/components/document-card/document-card.css +2 -2
- package/dist/collection/components/document-card/document-card.js +1 -1
- package/dist/collection/components/document-component/document-component.css +23 -15
- package/dist/collection/components/document-component/document-component.js +4 -7
- package/dist/collection/components/document-component/document-component.js.map +1 -1
- package/dist/collection/components/document-component-demo/document-component.demo.js +1 -1
- package/dist/collection/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist/collection/components/expandable/expandable.js +3 -3
- package/dist/collection/components/expandable/expandable.js.map +1 -1
- package/dist/collection/components/header/header.css +8 -6
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/highlight-box/highlight-box.css +6 -4
- package/dist/collection/components/highlight-box/highlight-box.js +1 -1
- package/dist/collection/components/history-item/history-item.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon-button/icon-button.css +15 -9
- package/dist/collection/components/icon-button/icon-button.js +18 -8
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/image-overlay/image-overlay.css +32 -24
- package/dist/collection/components/info/info.css +10 -8
- package/dist/collection/components/info/info.js +1 -1
- package/dist/collection/components/info-button/info-button.css +6 -4
- package/dist/collection/components/info-button/info-button.js +1 -1
- package/dist/collection/components/input-range/input-range.css +15 -7
- package/dist/collection/components/input-range/input-range.js +2 -2
- package/dist/collection/components/label/label.css +70 -50
- package/dist/collection/components/label/label.js +4 -4
- package/dist/collection/components/label/label.js.map +1 -1
- package/dist/collection/components/legend-item/legend-item.js +2 -2
- package/dist/collection/components/legend-item/legend-item.js.map +1 -1
- package/dist/collection/components/list-button/list-button.css +3 -3
- package/dist/collection/components/list-button/list-button.js +2 -2
- package/dist/collection/components/list-button/list-button.js.map +1 -1
- package/dist/collection/components/logo/logo.js +1 -1
- package/dist/collection/components/map-base-layers/map-base-layers.css +2 -2
- package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
- package/dist/collection/components/map-controls/map-controls.css +4 -4
- package/dist/collection/components/map-controls/map-controls.js +1 -1
- package/dist/collection/components/map-overlays/map-overlays.css +2 -2
- package/dist/collection/components/map-overlays/map-overlays.js +1 -1
- package/dist/collection/components/mark-bar/mark-bar.css +4 -4
- package/dist/collection/components/mark-bar/mark-bar.js +1 -1
- package/dist/collection/components/modal/modal.css +2 -2
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/onboarding-tip/onboarding-tip.css +8 -7
- package/dist/collection/components/onboarding-tip/onboarding-tip.js +1 -1
- package/dist/collection/components/ozon-content/components/ozon-content-toggletip/ozon-content-toggletip.js +1 -1
- package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +5 -2
- package/dist/collection/components/ozon-content/nodes/ext-ref.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/figuur.node.js +5 -5
- package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js +4 -4
- package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js +3 -3
- package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/int-ref.node.js +15 -8
- package/dist/collection/components/ozon-content/nodes/int-ref.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/lijst.node.js +1 -1
- package/dist/collection/components/ozon-content/nodes/lijst.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/table.node.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content.css +124 -84
- package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content.js +2 -2
- package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
- package/dist/collection/components/pagination/pagination.css +2 -2
- package/dist/collection/components/panel/panel.css +10 -8
- package/dist/collection/components/panel/panel.js +2 -2
- package/dist/collection/components/panel/panel.js.map +1 -1
- package/dist/collection/components/plekinfo-card/plekinfo-card.css +18 -14
- package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
- package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
- package/dist/collection/components/project-item/project-item.js +1 -1
- package/dist/collection/components/renvooi/renvooi.css +16 -12
- package/dist/collection/components/responsive-element/responsive-element.js +1 -1
- package/dist/collection/components/scrollable/scrollable.js +3 -3
- package/dist/collection/components/scrollable/scrollable.js.map +1 -1
- package/dist/collection/components/selectable/selectable.js +1 -1
- package/dist/collection/components/skiplink/skiplink.css +2 -2
- package/dist/collection/components/skiplink/skiplink.js +1 -1
- package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
- package/dist/collection/components/survey-rating/survey-rating.css +49 -33
- package/dist/collection/components/survey-rating/survey-rating.js +2 -2
- package/dist/collection/components/table/table.css +2 -2
- package/dist/collection/components/table/table.js +1 -1
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/tijdreis-banner/tijdreis-banner.css +5 -3
- package/dist/collection/components/tijdreis-banner/tijdreis-banner.js +1 -1
- package/dist/collection/components/toggletip/toggletip.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +1 -2
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tree-view/tree-item.js +2 -2
- package/dist/collection/components/tree-view/tree-item.js.map +1 -1
- package/dist/collection/components/tree-view/tree-view.css +2 -2
- package/dist/collection/components/tree-view/tree-view.js +1 -1
- package/dist/collection/components/viewer-grid/components/main-panel.js +1 -1
- package/dist/collection/components/viewer-grid/components/main-panel.js.map +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.css +2 -2
- package/dist/collection/components/viewer-grid/viewer-grid.js +2 -2
- package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
- package/dist/collection/functional-components/tooltip/tooltip.functional-component.js +1 -1
- package/dist/collection/functional-components/tooltip/tooltip.functional-component.js.map +1 -1
- package/dist/components/alert.js +2 -2
- package/dist/components/alert.js.map +1 -1
- package/dist/components/annotation-body.js.map +1 -1
- package/dist/components/annotation-locatie.js +2 -2
- package/dist/components/annotation-locatie.js.map +1 -1
- package/dist/components/attachments-counter.js +2 -2
- package/dist/components/attachments-counter.js.map +1 -1
- package/dist/components/badge.js +2 -2
- package/dist/components/badge.js.map +1 -1
- package/dist/components/button-group.js +1 -1
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/document-component.js +3 -3
- package/dist/components/document-component.js.map +1 -1
- package/dist/components/dropdown-menu.js +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-action-list-item.js +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 +3 -3
- package/dist/components/dso-advanced-select.js.map +1 -1
- package/dist/components/dso-annotation-activiteit.js +2 -2
- package/dist/components/dso-annotation-activiteit.js.map +1 -1
- package/dist/components/dso-annotation-gebiedsaanwijzing.js +2 -2
- package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
- package/dist/components/dso-annotation-kaart.js +2 -2
- package/dist/components/dso-annotation-kaart.js.map +1 -1
- package/dist/components/dso-annotation-omgevingsnormwaarde.js +2 -2
- package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
- package/dist/components/dso-autosuggest.js +1 -1
- package/dist/components/dso-banner.js +2 -2
- package/dist/components/dso-banner.js.map +1 -1
- package/dist/components/dso-card-container.js +1 -1
- package/dist/components/dso-card.js +3 -3
- package/dist/components/dso-card.js.map +1 -1
- package/dist/components/dso-contact-information.js +1 -1
- package/dist/components/dso-date-picker.js +1 -1
- package/dist/components/dso-document-card.js +2 -2
- package/dist/components/dso-document-card.js.map +1 -1
- package/dist/components/dso-header.js +2 -2
- package/dist/components/dso-header.js.map +1 -1
- package/dist/components/dso-highlight-box.js +2 -2
- package/dist/components/dso-highlight-box.js.map +1 -1
- package/dist/components/dso-history-item.js +1 -1
- package/dist/components/dso-input-range.js +3 -3
- package/dist/components/dso-input-range.js.map +1 -1
- package/dist/components/dso-legend-item.js +1 -1
- 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-project-item.js +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-tabs.js +1 -1
- package/dist/components/dso-tijdreis-banner.js +2 -2
- package/dist/components/dso-tijdreis-banner.js.map +1 -1
- package/dist/components/dso-tree-view.js +3 -3
- 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/dsot-document-component-demo.js +2 -3
- package/dist/components/dsot-document-component-demo.js.map +1 -1
- package/dist/components/expandable.js +2 -2
- package/dist/components/expandable.js.map +1 -1
- package/dist/components/floating-ui.dom.js +68 -39
- package/dist/components/floating-ui.dom.js.map +1 -1
- package/dist/components/focus-trap.esm.js +23 -23
- package/dist/components/focus-trap.esm.js.map +1 -1
- package/dist/components/i18n.js +69 -18
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/icon-button.js +19 -9
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/image-overlay.js +1 -1
- package/dist/components/image-overlay.js.map +1 -1
- package/dist/components/index.d.ts +0 -2
- package/dist/components/index.esm.js +43 -18
- package/dist/components/index.esm.js.map +1 -1
- package/dist/components/index.js +0 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +81 -98
- package/dist/components/index2.js.map +1 -1
- package/dist/components/info-button.js +2 -2
- package/dist/components/info-button.js.map +1 -1
- package/dist/components/info.js +2 -2
- package/dist/components/info.js.map +1 -1
- package/dist/components/label.js +4 -4
- package/dist/components/label.js.map +1 -1
- package/dist/components/ozon-content-toggletip.js +1 -1
- package/dist/components/ozon-content.js +41 -26
- package/dist/components/ozon-content.js.map +1 -1
- package/dist/components/panel.js +2 -2
- package/dist/components/panel.js.map +1 -1
- package/dist/components/progress-indicator.js +1 -1
- 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 +2 -2
- package/dist/components/scrollable.js.map +1 -1
- package/dist/components/selectable.js +1 -1
- package/dist/components/slide-toggle.js +1 -1
- package/dist/components/table.js +2 -2
- package/dist/components/table.js.map +1 -1
- package/dist/components/toggletip.js +1 -1
- package/dist/components/tooltip.functional-component.js.map +1 -1
- package/dist/components/tooltip.js +2 -2
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/v4.js +7 -4
- package/dist/components/v4.js.map +1 -1
- package/dist/dso-toolkit/dso-accordion-section.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-ozon-content-toggletip.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-autosuggest.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-banner.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-button-group.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-card.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-button.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-indicator.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-tijdreis-banner.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-9d79a107.entry.js → p-088622a3.entry.js} +2 -2
- package/dist/dso-toolkit/p-08f69868.entry.js +2 -0
- package/dist/dso-toolkit/{p-07220932.entry.js.map → p-08f69868.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-0af17a28.entry.js +2 -0
- package/dist/dso-toolkit/{p-573b9046.entry.js.map → p-0af17a28.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-12e81f84.entry.js +2 -0
- package/dist/dso-toolkit/{p-c8def649.entry.js.map → p-12e81f84.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-05275c43.entry.js → p-13140af9.entry.js} +2 -2
- package/dist/dso-toolkit/p-16c153d5.entry.js +2 -0
- package/dist/dso-toolkit/{p-4a07fb41.entry.js.map → p-16c153d5.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-1e431f4a.entry.js +2 -0
- package/dist/dso-toolkit/p-1e431f4a.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-7883dfda.entry.js → p-242e14d4.entry.js} +2 -2
- package/dist/dso-toolkit/p-2ac8353d.entry.js +2 -0
- package/dist/dso-toolkit/{p-9b37f2a1.entry.js.map → p-2ac8353d.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-2bdda7b6.entry.js +2 -0
- package/dist/dso-toolkit/{p-7b279318.entry.js.map → p-2bdda7b6.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-2bf60d4d.entry.js +2 -0
- package/dist/dso-toolkit/p-2bf60d4d.entry.js.map +1 -0
- package/dist/dso-toolkit/p-337c9024.entry.js +2 -0
- package/dist/dso-toolkit/{p-9232e376.entry.js.map → p-337c9024.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-3ae293ef.entry.js +2 -0
- package/dist/dso-toolkit/{p-847af791.entry.js.map → p-3ae293ef.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-0ee97f84.entry.js → p-3cd95234.entry.js} +2 -2
- package/dist/dso-toolkit/{p-0ee97f84.entry.js.map → p-3cd95234.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-4c5a75e6.entry.js +2 -0
- package/dist/dso-toolkit/p-4c5a75e6.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-19019f3b.entry.js → p-4fb7266b.entry.js} +2 -2
- package/dist/dso-toolkit/p-539cd8e4.entry.js +2 -0
- package/dist/dso-toolkit/{p-b3f2cf42.entry.js.map → p-539cd8e4.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-55390fd2.entry.js +2 -0
- package/dist/dso-toolkit/{p-a61e4944.entry.js.map → p-55390fd2.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-e5f7cfd3.entry.js → p-648900a1.entry.js} +2 -2
- package/dist/dso-toolkit/p-648900a1.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-80e3a910.entry.js → p-64d2bb0b.entry.js} +2 -2
- package/dist/dso-toolkit/p-6848c1e8.entry.js +2 -0
- package/dist/dso-toolkit/p-6848c1e8.entry.js.map +1 -0
- package/dist/dso-toolkit/p-7325f496.entry.js +2 -0
- package/dist/dso-toolkit/{p-3bc30158.entry.js.map → p-7325f496.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-7422113e.entry.js +2 -0
- package/dist/dso-toolkit/{p-4bd397cb.entry.js.map → p-7422113e.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-7fed0288.entry.js → p-748c3876.entry.js} +2 -2
- package/dist/dso-toolkit/{p-4593ea95.entry.js → p-7e6a09af.entry.js} +2 -2
- package/dist/dso-toolkit/p-831256d0.entry.js +2 -0
- package/dist/dso-toolkit/{p-0f9f5005.entry.js.map → p-831256d0.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-6a578760.entry.js → p-8fb685b7.entry.js} +2 -2
- package/dist/dso-toolkit/p-8fb685b7.entry.js.map +1 -0
- package/dist/dso-toolkit/p-95bd8820.entry.js +2 -0
- package/dist/dso-toolkit/p-95bd8820.entry.js.map +1 -0
- package/dist/dso-toolkit/p-993577a7.entry.js +2 -0
- package/dist/dso-toolkit/{p-556f5935.entry.js.map → p-993577a7.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-BlB0--wP.js.map +1 -1
- package/dist/dso-toolkit/p-C0ZvZbHD.js +2 -0
- package/dist/dso-toolkit/p-C0ZvZbHD.js.map +1 -0
- package/dist/dso-toolkit/{p-BF0_OXTe.js → p-C_akviUd.js} +2 -2
- package/dist/dso-toolkit/p-C_akviUd.js.map +1 -0
- package/dist/dso-toolkit/p-CtC5362R.js.map +1 -1
- package/dist/dso-toolkit/p-DDSMs62-.js +6 -0
- package/dist/dso-toolkit/p-DDSMs62-.js.map +1 -0
- package/dist/dso-toolkit/{p-B31olq-p.js → p-DQTeCl9Y.js} +2 -2
- package/dist/dso-toolkit/{p-B31olq-p.js.map → p-DQTeCl9Y.js.map} +1 -1
- package/dist/dso-toolkit/p-_RZbmuMU.js +2 -0
- package/dist/dso-toolkit/p-_RZbmuMU.js.map +1 -0
- package/dist/dso-toolkit/p-a14c39a8.entry.js +2 -0
- package/dist/dso-toolkit/p-a14c39a8.entry.js.map +1 -0
- package/dist/dso-toolkit/p-a9b2ea7e.entry.js +2 -0
- package/dist/dso-toolkit/p-a9b2ea7e.entry.js.map +1 -0
- package/dist/dso-toolkit/p-ace52920.entry.js +2 -0
- package/dist/dso-toolkit/{p-2787bc48.entry.js.map → p-ace52920.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-fbd357bb.entry.js → p-b4664091.entry.js} +2 -2
- package/dist/dso-toolkit/p-baWVwd8J.js +2 -0
- package/dist/dso-toolkit/p-baWVwd8J.js.map +1 -0
- package/dist/dso-toolkit/p-bb3ac0a4.entry.js +2 -0
- package/dist/dso-toolkit/p-bb3ac0a4.entry.js.map +1 -0
- package/dist/dso-toolkit/p-bea3ed89.entry.js +2 -0
- package/dist/dso-toolkit/p-bea3ed89.entry.js.map +1 -0
- package/dist/dso-toolkit/p-bf591ec8.entry.js +2 -0
- package/dist/dso-toolkit/{p-b52165a0.entry.js.map → p-bf591ec8.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-eceff1ea.entry.js → p-c2e05c9e.entry.js} +2 -2
- package/dist/dso-toolkit/p-c9c8b0b8.entry.js +2 -0
- package/dist/dso-toolkit/p-c9d4a733.entry.js +2 -0
- package/dist/dso-toolkit/p-c9d4a733.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-aa1b8321.entry.js → p-cde53355.entry.js} +2 -2
- package/dist/dso-toolkit/p-ce9ffa56.entry.js +2 -0
- package/dist/dso-toolkit/p-ce9ffa56.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-4a4f56ed.entry.js → p-d0252763.entry.js} +2 -2
- package/dist/dso-toolkit/p-d0ffada0.entry.js +2 -0
- package/dist/dso-toolkit/{p-c0bb872c.entry.js.map → p-d0ffada0.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-d63e56e7.entry.js +2 -0
- package/dist/dso-toolkit/{p-4341eaab.entry.js.map → p-d63e56e7.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-d690e557.entry.js +2 -0
- package/dist/dso-toolkit/p-d690e557.entry.js.map +1 -0
- package/dist/dso-toolkit/p-d9a8e4da.entry.js +2 -0
- package/dist/dso-toolkit/{p-0a496a26.entry.js.map → p-d9a8e4da.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-daae46b3.entry.js +2 -0
- package/dist/dso-toolkit/{p-bea9eb4c.entry.js.map → p-daae46b3.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-dcfb330c.entry.js +2 -0
- package/dist/dso-toolkit/{p-5a7ce367.entry.js.map → p-dcfb330c.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e4ee59df.entry.js +2 -0
- package/dist/dso-toolkit/p-e4ee59df.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-a96fc5f8.entry.js → p-e5dc4512.entry.js} +2 -2
- package/dist/dso-toolkit/{p-76f0c45e.entry.js → p-e980ad1a.entry.js} +2 -2
- package/dist/dso-toolkit/p-e980ad1a.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-426cf574.entry.js → p-e99b9b48.entry.js} +2 -2
- package/dist/dso-toolkit/{p-426cf574.entry.js.map → p-e99b9b48.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-f9e0da0c.entry.js +2 -0
- package/dist/dso-toolkit/{p-b12a966f.entry.js.map → p-f9e0da0c.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-pf-8Sy0Y.js +6 -0
- package/dist/dso-toolkit/p-pf-8Sy0Y.js.map +1 -0
- package/dist/esm/annotation-body-eL8p8SW9.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-action-list-item.entry.js +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 +5 -5
- 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-ozon-content-toggletip.dso-panel.dso-table.entry.js.map +1 -1
- package/dist/esm/dso-alert_7.entry.js +51 -41
- package/dist/esm/dso-alert_7.entry.js.map +1 -1
- package/dist/esm/dso-annotation-activiteit.entry.js +2 -2
- package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
- package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +2 -2
- package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
- package/dist/esm/dso-annotation-kaart.entry.js +2 -2
- 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 +5 -5
- package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
- package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +2 -2
- 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 +4 -4
- package/dist/esm/dso-attachments-counter_2.entry.js.map +1 -1
- package/dist/esm/dso-autosuggest.entry.js +4 -5
- package/dist/esm/dso-autosuggest.entry.js.map +1 -1
- package/dist/esm/dso-banner.entry.js +2 -2
- package/dist/esm/dso-banner.entry.js.map +1 -1
- package/dist/esm/dso-button-group.entry.js +1 -1
- package/dist/esm/dso-button-group.entry.js.map +1 -1
- package/dist/esm/dso-card-container.entry.js +1 -1
- package/dist/esm/dso-card.entry.js +3 -3
- package/dist/esm/dso-card.entry.js.map +1 -1
- package/dist/esm/dso-contact-information.entry.js +1 -1
- package/dist/esm/dso-date-picker.entry.js +1 -1
- package/dist/esm/dso-document-card.entry.js +2 -2
- package/dist/esm/dso-document-card.entry.js.map +1 -1
- package/dist/esm/dso-dropdown-menu.entry.js +4 -4
- package/dist/esm/dso-header.entry.js +3 -3
- package/dist/esm/dso-header.entry.js.map +1 -1
- package/dist/esm/dso-highlight-box.entry.js +2 -2
- package/dist/esm/dso-highlight-box.entry.js.map +1 -1
- package/dist/esm/dso-history-item.entry.js +1 -1
- package/dist/esm/dso-icon-button.entry.js +21 -11
- package/dist/esm/dso-icon-button.entry.js.map +1 -1
- package/dist/esm/dso-icon.entry.js +1 -1
- package/dist/esm/dso-info-button.entry.js +2 -2
- 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 +3 -3
- 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 +8 -9
- package/dist/esm/dso-label_3.entry.js.map +1 -1
- package/dist/esm/dso-legend-item.entry.js +1 -1
- 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 +4 -4
- package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
- package/dist/esm/dso-map-controls.entry.js +3 -3
- package/dist/esm/dso-map-controls.entry.js.map +1 -1
- package/dist/esm/dso-map-overlays.entry.js +4 -4
- 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 +4 -4
- package/dist/esm/dso-modal.entry.js.map +1 -1
- package/dist/esm/dso-onboarding-tip.entry.js +4 -4
- 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-indicator.entry.js +2 -2
- package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
- package/dist/esm/dso-project-item.entry.js +1 -1
- package/dist/esm/dso-responsive-element.entry.js +1 -1
- package/dist/esm/dso-scrollable.entry.js +3 -4
- 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-tabs.entry.js +1 -1
- package/dist/esm/dso-tijdreis-banner.entry.js +2 -2
- package/dist/esm/dso-tijdreis-banner.entry.js.map +1 -1
- package/dist/esm/dso-toggletip.entry.js +1 -1
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-tooltip.entry.js +3 -4
- package/dist/esm/dso-tooltip.entry.js.map +1 -1
- package/dist/esm/dso-tree-view.entry.js +3 -3
- package/dist/esm/dso-tree-view.entry.js.map +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +3 -4
- package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
- package/dist/esm/dsot-document-component-demo.entry.js +1 -1
- package/dist/{bundle/p-gdsca1fx.js → esm/floating-ui.dom-_RZbmuMU.js} +70 -41
- package/dist/esm/floating-ui.dom-_RZbmuMU.js.map +1 -0
- package/dist/esm/{focus-trap.esm-THfp668w.js → focus-trap.esm-fQH2SrJA.js} +26 -26
- package/dist/esm/focus-trap.esm-fQH2SrJA.js.map +1 -0
- package/dist/esm/{i18n-B_kXuEcW.js → i18n-C0ZvZbHD.js} +71 -20
- package/dist/esm/i18n-C0ZvZbHD.js.map +1 -0
- package/dist/esm/index-baWVwd8J.js +109 -0
- package/dist/esm/index-baWVwd8J.js.map +1 -0
- package/dist/{bundle/p-Pk8qng7t.js → esm/index.esm-DDSMs62-.js} +45 -20
- package/dist/esm/index.esm-DDSMs62-.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{position-tooltip.function-CozxeEX7.js → position-tooltip.function-C5-1llBb.js} +3 -3
- package/dist/esm/{position-tooltip.function-CozxeEX7.js.map → position-tooltip.function-C5-1llBb.js.map} +1 -1
- package/dist/esm/tooltip.functional-component-B6RTdaZw.js.map +1 -1
- package/dist/esm/{v4-BF0_OXTe.js → v4-C_akviUd.js} +9 -6
- package/dist/esm/v4-C_akviUd.js.map +1 -0
- package/dist/types/components/annotation/annotation-body.d.ts +1 -1
- package/dist/types/components/document-component/document-component.d.ts +2 -1
- package/dist/types/components/icon-button/icon-button.d.ts +2 -0
- package/dist/types/components/ozon-content/ozon-content.d.ts +2 -1
- package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +3 -3
- package/dist/types/components.d.ts +4 -47
- package/package.json +21 -21
- package/dist/bundle/dso-progress-bar.d.ts +0 -11
- package/dist/bundle/dso-progress-bar.js +0 -50
- package/dist/bundle/dso-progress-bar.js.map +0 -1
- package/dist/bundle/p-BDuXq5bx.js +0 -169
- package/dist/bundle/p-BDuXq5bx.js.map +0 -1
- package/dist/bundle/p-BF0_OXTe.js.map +0 -1
- package/dist/bundle/p-BJ43Q58h.js +0 -116
- package/dist/bundle/p-BJ43Q58h.js.map +0 -1
- package/dist/bundle/p-B_kXuEcW.js.map +0 -1
- package/dist/bundle/p-BocpUT46.js.map +0 -1
- package/dist/bundle/p-Bv7dmPUW.js +0 -36
- package/dist/bundle/p-BxvZeNWe.js +0 -126
- package/dist/bundle/p-BxvZeNWe.js.map +0 -1
- package/dist/bundle/p-C8fuhhYl.js.map +0 -1
- package/dist/bundle/p-D1M1qAkT.js.map +0 -1
- package/dist/bundle/p-D_6TKRgI.js +0 -84
- package/dist/bundle/p-DbaZzGS_.js.map +0 -1
- package/dist/bundle/p-DpzeiE9g.js.map +0 -1
- package/dist/bundle/p-Pk8qng7t.js.map +0 -1
- package/dist/bundle/p-fTG2YwZq.js +0 -49
- package/dist/bundle/p-gdsca1fx.js.map +0 -1
- package/dist/cjs/dso-progress-bar.cjs.entry.js +0 -30
- package/dist/cjs/dso-progress-bar.cjs.entry.js.map +0 -1
- package/dist/cjs/dso-progress-bar.entry.cjs.js.map +0 -1
- package/dist/cjs/floating-ui.dom-uZgU2YQo.js.map +0 -1
- package/dist/cjs/focus-trap.esm-c-Aj_u8L.js.map +0 -1
- package/dist/cjs/i18n-yRiEgk_k.js.map +0 -1
- package/dist/cjs/index-D8QM7CRO.js +0 -124
- package/dist/cjs/index-D8QM7CRO.js.map +0 -1
- package/dist/cjs/index.esm-DtPCE30D.js.map +0 -1
- package/dist/cjs/v4-Br3XC_0C.js.map +0 -1
- package/dist/collection/components/progress-bar/progress-bar.css +0 -40
- package/dist/collection/components/progress-bar/progress-bar.js +0 -94
- package/dist/collection/components/progress-bar/progress-bar.js.map +0 -1
- package/dist/components/dso-progress-bar.d.ts +0 -11
- package/dist/components/dso-progress-bar.js +0 -50
- package/dist/components/dso-progress-bar.js.map +0 -1
- package/dist/dso-toolkit/dso-progress-bar.entry.esm.js.map +0 -1
- package/dist/dso-toolkit/p-004b02b7.entry.js +0 -2
- package/dist/dso-toolkit/p-004b02b7.entry.js.map +0 -1
- package/dist/dso-toolkit/p-07220932.entry.js +0 -2
- package/dist/dso-toolkit/p-0a496a26.entry.js +0 -2
- package/dist/dso-toolkit/p-0f9f5005.entry.js +0 -2
- package/dist/dso-toolkit/p-1c1ace73.entry.js +0 -2
- package/dist/dso-toolkit/p-1c1ace73.entry.js.map +0 -1
- package/dist/dso-toolkit/p-24bd7e04.entry.js +0 -2
- package/dist/dso-toolkit/p-24bd7e04.entry.js.map +0 -1
- package/dist/dso-toolkit/p-2787bc48.entry.js +0 -2
- package/dist/dso-toolkit/p-27eac763.entry.js +0 -2
- package/dist/dso-toolkit/p-27eac763.entry.js.map +0 -1
- package/dist/dso-toolkit/p-2d35ce14.entry.js +0 -2
- package/dist/dso-toolkit/p-2d35ce14.entry.js.map +0 -1
- package/dist/dso-toolkit/p-32b64025.entry.js +0 -2
- package/dist/dso-toolkit/p-32b64025.entry.js.map +0 -1
- package/dist/dso-toolkit/p-3bc30158.entry.js +0 -2
- package/dist/dso-toolkit/p-4341eaab.entry.js +0 -2
- package/dist/dso-toolkit/p-4a07fb41.entry.js +0 -2
- package/dist/dso-toolkit/p-4bd397cb.entry.js +0 -2
- package/dist/dso-toolkit/p-556f5935.entry.js +0 -2
- package/dist/dso-toolkit/p-573b9046.entry.js +0 -2
- package/dist/dso-toolkit/p-5a7ce367.entry.js +0 -2
- package/dist/dso-toolkit/p-6215779a.entry.js +0 -2
- package/dist/dso-toolkit/p-6215779a.entry.js.map +0 -1
- package/dist/dso-toolkit/p-663fb2ee.entry.js +0 -2
- package/dist/dso-toolkit/p-663fb2ee.entry.js.map +0 -1
- package/dist/dso-toolkit/p-6a578760.entry.js.map +0 -1
- package/dist/dso-toolkit/p-76f0c45e.entry.js.map +0 -1
- package/dist/dso-toolkit/p-798a1b91.entry.js +0 -2
- package/dist/dso-toolkit/p-798a1b91.entry.js.map +0 -1
- package/dist/dso-toolkit/p-7b279318.entry.js +0 -2
- package/dist/dso-toolkit/p-83448a26.entry.js +0 -2
- package/dist/dso-toolkit/p-83448a26.entry.js.map +0 -1
- package/dist/dso-toolkit/p-847af791.entry.js +0 -2
- package/dist/dso-toolkit/p-9232e376.entry.js +0 -2
- package/dist/dso-toolkit/p-9b37f2a1.entry.js +0 -2
- package/dist/dso-toolkit/p-BF0_OXTe.js.map +0 -1
- package/dist/dso-toolkit/p-B_kXuEcW.js +0 -2
- package/dist/dso-toolkit/p-B_kXuEcW.js.map +0 -1
- package/dist/dso-toolkit/p-BocpUT46.js +0 -6
- package/dist/dso-toolkit/p-BocpUT46.js.map +0 -1
- package/dist/dso-toolkit/p-DDU8nTJS.js +0 -2
- package/dist/dso-toolkit/p-DDU8nTJS.js.map +0 -1
- package/dist/dso-toolkit/p-Pk8qng7t.js +0 -6
- package/dist/dso-toolkit/p-Pk8qng7t.js.map +0 -1
- package/dist/dso-toolkit/p-a2d60908.entry.js +0 -2
- package/dist/dso-toolkit/p-a2d60908.entry.js.map +0 -1
- package/dist/dso-toolkit/p-a61e4944.entry.js +0 -2
- package/dist/dso-toolkit/p-acdbeafd.entry.js +0 -2
- package/dist/dso-toolkit/p-acdbeafd.entry.js.map +0 -1
- package/dist/dso-toolkit/p-b12a966f.entry.js +0 -2
- package/dist/dso-toolkit/p-b3f2cf42.entry.js +0 -2
- package/dist/dso-toolkit/p-b52165a0.entry.js +0 -2
- package/dist/dso-toolkit/p-bea9eb4c.entry.js +0 -2
- package/dist/dso-toolkit/p-c0bb872c.entry.js +0 -2
- package/dist/dso-toolkit/p-c8def649.entry.js +0 -2
- package/dist/dso-toolkit/p-d84f1295.entry.js +0 -2
- package/dist/dso-toolkit/p-d84f1295.entry.js.map +0 -1
- package/dist/dso-toolkit/p-da3c8097.entry.js +0 -2
- package/dist/dso-toolkit/p-e5f7cfd3.entry.js.map +0 -1
- package/dist/dso-toolkit/p-f07bf097.entry.js +0 -2
- package/dist/dso-toolkit/p-f07bf097.entry.js.map +0 -1
- package/dist/dso-toolkit/p-gdsca1fx.js +0 -2
- package/dist/dso-toolkit/p-gdsca1fx.js.map +0 -1
- package/dist/esm/dso-progress-bar.entry.js +0 -28
- package/dist/esm/dso-progress-bar.entry.js.map +0 -1
- package/dist/esm/floating-ui.dom-gdsca1fx.js.map +0 -1
- package/dist/esm/focus-trap.esm-THfp668w.js.map +0 -1
- package/dist/esm/i18n-B_kXuEcW.js.map +0 -1
- package/dist/esm/index-CoMRvcY0.js +0 -122
- package/dist/esm/index-CoMRvcY0.js.map +0 -1
- package/dist/esm/index.esm-Pk8qng7t.js.map +0 -1
- package/dist/esm/v4-BF0_OXTe.js.map +0 -1
- package/dist/types/components/progress-bar/progress-bar.d.ts +0 -15
- /package/dist/dso-toolkit/{p-9d79a107.entry.js.map → p-088622a3.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-05275c43.entry.js.map → p-13140af9.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-7883dfda.entry.js.map → p-242e14d4.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-19019f3b.entry.js.map → p-4fb7266b.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-80e3a910.entry.js.map → p-64d2bb0b.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-7fed0288.entry.js.map → p-748c3876.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-4593ea95.entry.js.map → p-7e6a09af.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-fbd357bb.entry.js.map → p-b4664091.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-eceff1ea.entry.js.map → p-c2e05c9e.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-da3c8097.entry.js.map → p-c9c8b0b8.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-aa1b8321.entry.js.map → p-cde53355.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-4a4f56ed.entry.js.map → p-d0252763.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-a96fc5f8.entry.js.map → p-e5dc4512.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["escapeStringRegexp","string","TypeError","replace","translations","en","notFound","nl","autosuggestCss","maxSuggestionsViewable","listboxPaddingBlock","listboxBorderWidth","Option","id","mouseEnter","mouseLeave","click","selected","suggestion","ref","markedSuggestion","h","class","role","onMouseEnter","onMouseLeave","onClick","value","type","undefined","extras","map","markedChunk","extra","isGrouped","suggestions","length","every","groupLabel","isFlat","Autosuggest","constructor","hostRef","this","loading","loadingLabel","suggestOnFocus","showSuggestions","showLoading","listboxItems","listboxId","v4","inputId","labelId","resizeObserver","ResizeObserver","debounce","setListboxContainerMaxBlockSize","debouncedEmitValue","dsoChange","emit","debouncedShowLoading","inputValue","loadingDelayed","onInput","event","target","HTMLInputElement","match","onFocusIn","openSuggestions","text","i18n","host","onWindowResize","onScrollend","onKeyDown","defaultPrevented","key","selectNextSuggestion","selectPreviousSuggestion","closeSuggestions","pickSelectedValue","preventDefault","suggestionsWatcher","resetSelectedSuggestion","onDocumentClick","listbox","Node","contains","input","componentDidRender","connectedCallback","querySelector","labels","label","setAttribute","addEventListener","window","document","observe","disconnectedCallback","_a","removeEventListener","_b","_c","disconnect","listboxContainer","blockSizeViewableListItems","listboxContainerMaxBlockSize","total","Math","min","i","getBoundingClientRect","height","availableBlockSize","innerHeight","bottom","listboxMaxBlockSize","style","setProperty","showInputValueNotFound","processAutosuggestMarkItems","markTerms","split","filter","t","handleMark","extraIndex","mark","terms","suggestionValue","termRegex","RegExp","reduce","valuePart","push","test","slice","items","item","selectSuggestion","group","selectedSuggestion","selectedSuggestionGroup","setAriaActiveDescendant","selectFirstSuggestion","selectLastSuggestion","selectNextGroupedSuggestion","index","indexOf","indexInGroup","groupIndex","suggestionGroups","selectPreviousGroupedSuggestion","scroll","listboxGroupedItemId","listboxItemId","getElementById","scrollIntoView","block","_d","toString","dsoSelect","dsoSearch","suggestionGroup","getMarkedChunkedExtras","chunkedExtras","resultArray","chunkIndex","floor","chunk","c","getMarkedSuggestions","getAutosuggestStatus","totalSuggestions","count","render","showListbox","grouped","flat","removeAttribute","Fragment","element","tabindex","groupLabelId","notFoundLabel"],"sources":["../../node_modules/escape-string-regexp/index.js","src/components/autosuggest/autosuggest.i18n.ts","src/components/autosuggest/autosuggest.scss?tag=dso-autosuggest&encapsulation=scoped","src/components/autosuggest/autosuggest.tsx"],"sourcesContent":["export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} was not found.\",\r\n },\r\n },\r\n nl: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} is niet gevonden.\",\r\n },\r\n },\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/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"autosuggest.variables\" as core-autosuggest-variables;\r\n\r\n:host {\r\n display: block;\r\n position: relative;\r\n}\r\n\r\n.listbox-container {\r\n inset-inline: 0;\r\n inset-block-start: 100%;\r\n block-size: auto;\r\n max-block-size: var(--_dso-autosuggest-max-block-size);\r\n min-block-size: core-autosuggest-variables.$listbox-min-block-size;\r\n overflow-y: auto;\r\n position: absolute;\r\n z-index: zindex.$autosuggest;\r\n}\r\n\r\n.listbox,\r\n.autosuggest-progress-box {\r\n background-clip: padding-box;\r\n background-color: core-autosuggest-variables.$background-color;\r\n border: core-autosuggest-variables.$listbox-border-width solid core-autosuggest-variables.$border-color;\r\n border-radius: scaffolding.$border-radius-base;\r\n box-shadow: core-autosuggest-variables.$box-shadow;\r\n list-style-type: none;\r\n margin-block: 0;\r\n}\r\n\r\n.autosuggest-progress-box {\r\n padding-block: units.$u1 * 1.5;\r\n padding-inline: units.$u1;\r\n}\r\n\r\n.listbox {\r\n padding-block: core-autosuggest-variables.$listbox-padding-block;\r\n padding-inline: 0;\r\n\r\n .group:not(:first-child) {\r\n .group-label {\r\n border-block-start: 1px solid colors.$grijs-30;\r\n padding-block-start: units.$padding-base-inline;\r\n }\r\n }\r\n\r\n .group-label {\r\n color: colors.$bosgroen;\r\n font-weight: 700;\r\n padding-block: core-autosuggest-variables.$list-item-padding-block;\r\n margin-inline: units.$u2;\r\n }\r\n\r\n .option {\r\n padding-block: core-autosuggest-variables.$list-item-padding-block;\r\n padding-inline: units.$u2;\r\n\r\n .suggestion-row {\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n\r\n &:active {\r\n background-color: colors.$bosgroen;\r\n\r\n &,\r\n .type,\r\n .extra {\r\n color: colors.$wit;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.option[aria-selected=\"true\"] {\r\n cursor: pointer;\r\n background-color: colors.$grasgroen-20;\r\n}\r\n\r\nmark {\r\n font-weight: 700;\r\n background-color: inherit;\r\n color: inherit;\r\n padding: 0;\r\n}\r\n\r\n.type,\r\n.extra {\r\n color: colors.$grijs-60;\r\n}\r\n\r\n.type {\r\n text-align: end;\r\n}\r\n\r\n.extra {\r\n font-size: typography.$root-font-size-small;\r\n line-height: typography.$root-font-size-small * typography.$line-height-base;\r\n\r\n &:not(:first-child) {\r\n text-align: end;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n FunctionalComponent,\r\n Listen,\r\n Prop,\r\n State,\r\n VNode,\r\n Watch,\r\n h,\r\n} from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport escapeStringRegexp from \"escape-string-regexp\";\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { translations } from \"./autosuggest.i18n\";\r\nimport { AutosuggestMarkFunction, AutosuggestMarkItem, Suggestion, SuggestionGroup } from \"./autosuggest.interfaces\";\r\n\r\ninterface MarkedSuggestion {\r\n value: (VNode | string)[];\r\n type?: (VNode | string)[];\r\n extras?: (VNode | string)[][][];\r\n}\r\n\r\nconst maxSuggestionsViewable = 10;\r\nconst listboxPaddingBlock = 8;\r\nconst listboxBorderWidth = 1;\r\n\r\nconst Option: FunctionalComponent<{\r\n id: string;\r\n mouseEnter: () => void;\r\n mouseLeave: () => void;\r\n click: () => void;\r\n selected: string;\r\n suggestion: Suggestion;\r\n markedSuggestion: MarkedSuggestion;\r\n ref: (element: HTMLDivElement | undefined) => void;\r\n}> = ({ id, mouseEnter, mouseLeave, click, selected, suggestion, ref, markedSuggestion }) => (\r\n <div\r\n class=\"option\"\r\n role=\"option\"\r\n id={id}\r\n onMouseEnter={mouseEnter}\r\n onMouseLeave={mouseLeave}\r\n onClick={click}\r\n aria-selected={selected}\r\n aria-label={suggestion.value}\r\n ref={ref}\r\n >\r\n <div class=\"suggestion-row\">\r\n <span class=\"value\">{markedSuggestion.value}</span>\r\n {markedSuggestion.type ? <span class=\"type\">{markedSuggestion.type}</span> : undefined}\r\n </div>\r\n {markedSuggestion.extras &&\r\n markedSuggestion.extras.map((markedChunk) => (\r\n <div class=\"suggestion-row\">\r\n {markedChunk.map((extra) => (\r\n <span class=\"extra\">{extra}</span>\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n);\r\n\r\nfunction isGrouped(suggestions: Suggestion[] | SuggestionGroup[] | null): suggestions is SuggestionGroup[] {\r\n return (\r\n !!suggestions &&\r\n suggestions.length > 0 &&\r\n suggestions.every(\r\n (suggestion) =>\r\n suggestion !== undefined &&\r\n \"groupLabel\" in suggestion &&\r\n suggestion.groupLabel !== undefined &&\r\n \"suggestions\" in suggestion &&\r\n suggestion.suggestions.length > 0,\r\n )\r\n );\r\n}\r\n\r\nfunction isFlat(suggestions: Suggestion[] | SuggestionGroup[] | null): suggestions is Suggestion[] {\r\n return (\r\n !!suggestions &&\r\n suggestions.length > 0 &&\r\n suggestions.every(\r\n (suggestion) => suggestion !== undefined && \"value\" in suggestion && suggestion.value !== undefined,\r\n )\r\n );\r\n}\r\n\r\n@Component({\r\n tag: \"dso-autosuggest\",\r\n styleUrl: \"autosuggest.scss\",\r\n scoped: true,\r\n})\r\nexport class Autosuggest {\r\n /**\r\n * The suggestions for the value of the slotted input element.\r\n *\r\n * This can be an array of type Suggestion or an Array of type SuggestionGroup.\r\n *\r\n * A suggestionGroup must have a `groupLabel` and `suggestions`.\r\n *\r\n * A suggestion must have a `value` and can have a `type`, an `item` or `extras`.\r\n *\r\n * The `type` is used to style the suggestion. `item` can be use to reference the original object that was used to\r\n * create the suggestion. `extras` is an array of additional strings to further specify the suggestion.\r\n *\r\n * The value should be null when no suggestions have been fetched.\r\n */\r\n @Prop()\r\n readonly suggestions: Suggestion[] | SuggestionGroup[] | null = null;\r\n\r\n /**\r\n * Shows progress indicator when fetching results.\r\n */\r\n @Prop()\r\n loading = false;\r\n\r\n /**\r\n * To override progress indicator's default loading label.\r\n */\r\n @Prop()\r\n loadingLabel?: string = \"Een moment geduld.\";\r\n\r\n /**\r\n * To delay progress indicator showing (in ms).\r\n */\r\n @Prop()\r\n loadingDelayed?: number;\r\n\r\n /**\r\n * To show text when no results are found.\r\n */\r\n @Prop()\r\n notFoundLabel?: string;\r\n\r\n /**\r\n * Whether the previous suggestions will be presented when the input gets focus again.\r\n */\r\n @Prop()\r\n suggestOnFocus = false;\r\n\r\n /**\r\n * A function provided by the consumer of the autosuggest component, that returns an array of `AutosuggestMarkItem`s\r\n */\r\n @Prop()\r\n mark?: AutosuggestMarkFunction;\r\n\r\n /**\r\n * Emitted when a suggestion is selected.\r\n * The `detail` property of the `CustomEvent` will contain the selected suggestion.\r\n */\r\n @Event()\r\n dsoSelect!: EventEmitter<Suggestion>;\r\n\r\n /**\r\n * This is emitted debounced for every change for the slotted input type=text element.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when enter is pressed.\r\n * The `detail` property of the `CustomEvent` will contain the input text.\r\n */\r\n @Event()\r\n dsoSearch!: EventEmitter<string>;\r\n\r\n @Element()\r\n host!: HTMLDsoAutosuggestElement;\r\n\r\n @State()\r\n showSuggestions = false;\r\n\r\n @State()\r\n selectedSuggestion: Suggestion | undefined;\r\n\r\n @State()\r\n selectedSuggestionGroup: SuggestionGroup | undefined;\r\n\r\n @State()\r\n notFound = false;\r\n\r\n @State()\r\n showLoading = false;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listboxContainer: HTMLDsoScrollableElement | undefined;\r\n\r\n private listbox: HTMLDivElement | undefined;\r\n\r\n // ListboxItems are used for the calculation of the listboxContainerMaxBlockSize\r\n private listboxItems: HTMLDivElement[] = [];\r\n\r\n private listboxId: string = v4();\r\n\r\n private inputId: string = v4();\r\n\r\n private labelId: string = v4();\r\n\r\n private resizeObserver = new ResizeObserver(debounce(() => this.setListboxContainerMaxBlockSize(), 150));\r\n\r\n private debouncedEmitValue = debounce((value: string) => {\r\n this.dsoChange.emit(value);\r\n this.debouncedShowLoading();\r\n }, 200);\r\n\r\n private debouncedShowLoading = debounce(() => {\r\n if (this.inputValue) {\r\n this.showLoading = true;\r\n }\r\n }, this.loadingDelayed);\r\n\r\n private inputValue = \"\";\r\n\r\n private onInput = (event: Event) => {\r\n if (!(event.target instanceof HTMLInputElement)) {\r\n return;\r\n // throw new Error(\"event.target is not instanceof HTMLInputElement\"); #2293\r\n }\r\n\r\n this.showLoading = !this.loadingDelayed;\r\n this.inputValue = event.target.value;\r\n this.debouncedEmitValue(event.target.value.match(/(\\S+)/g) ? event.target.value : \"\");\r\n };\r\n\r\n private onFocusIn = () => {\r\n if (this.suggestOnFocus) {\r\n this.openSuggestions();\r\n }\r\n };\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n (this.showSuggestions || this.notFound) &&\r\n this.listbox &&\r\n event.target instanceof Node &&\r\n !this.listbox.contains(event.target) &&\r\n this.input !== event.target\r\n ) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.setListboxContainerMaxBlockSize();\r\n }\r\n\r\n connectedCallback() {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory text input not found\"); #2293\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory label for text input not found\"); #2293\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.addEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.removeEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n private onWindowResize = debounce(() => this.setListboxContainerMaxBlockSize(), 150);\r\n\r\n private onScrollend = () => this.setListboxContainerMaxBlockSize();\r\n\r\n private setListboxContainerMaxBlockSize(): void {\r\n if (!this.listboxContainer || !this.showSuggestions) {\r\n return;\r\n }\r\n\r\n if (this.showSuggestions) {\r\n let blockSizeViewableListItems = 0;\r\n let listboxContainerMaxBlockSize = 0;\r\n\r\n // The total number of list items to reserve vertical space for.\r\n const total = this.listboxItems.length ? Math.min(this.listboxItems.length, maxSuggestionsViewable) : 0;\r\n for (let i = 0; i < total; i++) {\r\n blockSizeViewableListItems =\r\n blockSizeViewableListItems + (this.listboxItems[i]?.getBoundingClientRect().height || 0);\r\n }\r\n\r\n const availableBlockSize = window.innerHeight - this.host.getBoundingClientRect().bottom;\r\n const listboxMaxBlockSize = blockSizeViewableListItems + 2 * listboxPaddingBlock + 2 * listboxBorderWidth;\r\n\r\n if (availableBlockSize < listboxMaxBlockSize || availableBlockSize <= blockSizeViewableListItems) {\r\n listboxContainerMaxBlockSize = availableBlockSize - 2 * listboxPaddingBlock;\r\n } else {\r\n listboxContainerMaxBlockSize = listboxMaxBlockSize;\r\n }\r\n\r\n this.listboxContainer.style.setProperty(\"--_dso-autosuggest-max-block-size\", `${listboxContainerMaxBlockSize}px`);\r\n }\r\n }\r\n\r\n private showInputValueNotFound(text?: string) {\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private handleMark(\r\n suggestion: Suggestion,\r\n text: string,\r\n type?: \"value\" | \"type\" | \"extra\",\r\n extraIndex?: number,\r\n ): (VNode | string)[] {\r\n if (this.mark && type) {\r\n return this.processAutosuggestMarkItems(this.mark(suggestion, text, type, extraIndex));\r\n }\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private markTerms(terms: string[], suggestionValue?: string): AutosuggestMarkItem[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).reduce((total: AutosuggestMarkItem[], valuePart: string) => {\r\n if (!valuePart) {\r\n total.push(valuePart);\r\n } else if (termRegex.test(valuePart)) {\r\n total.push({ mark: valuePart });\r\n } else if (terms.length === 1) {\r\n total.push(valuePart);\r\n } else {\r\n total.push(...this.markTerms(terms.slice(1), valuePart));\r\n }\r\n\r\n return total;\r\n }, []);\r\n }\r\n\r\n private processAutosuggestMarkItems(items: AutosuggestMarkItem[]): (VNode | string)[] {\r\n if (items.length === 0) {\r\n return [\"\"];\r\n }\r\n\r\n return items.map((item) => {\r\n if (typeof item === \"object\") {\r\n return <mark>{item.mark}</mark>;\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion, group?: SuggestionGroup) {\r\n this.selectedSuggestion = suggestion;\r\n this.selectedSuggestionGroup = group;\r\n\r\n this.setAriaActiveDescendant();\r\n }\r\n\r\n private selectFirstSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions) && this.selectedSuggestionGroup) {\r\n this.selectedSuggestion = this.selectedSuggestionGroup.suggestions[0];\r\n } else {\r\n if (isFlat(this.suggestions)) {\r\n this.selectedSuggestion = this.suggestions[0];\r\n }\r\n }\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectLastSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions) && this.selectedSuggestionGroup) {\r\n this.selectedSuggestion =\r\n this.selectedSuggestionGroup.suggestions[this.selectedSuggestionGroup.suggestions.length - 1];\r\n } else {\r\n if (isFlat(this.suggestions)) {\r\n this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];\r\n }\r\n }\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectNextSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions)) {\r\n this.selectNextGroupedSuggestion();\r\n } else {\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;\r\n\r\n this.selectedSuggestion = this.suggestions[index + 1] ?? this.suggestions[0];\r\n }\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectNextGroupedSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (this.selectedSuggestionGroup) {\r\n const indexInGroup = this.selectedSuggestion\r\n ? this.selectedSuggestionGroup.suggestions.indexOf(this.selectedSuggestion)\r\n : -1;\r\n\r\n if (indexInGroup === this.selectedSuggestionGroup.suggestions.length - 1) {\r\n // Move to first suggestion in next or first group\r\n const groupIndex = this.suggestionGroups.indexOf(this.selectedSuggestionGroup);\r\n this.selectedSuggestionGroup = this.suggestionGroups[groupIndex + 1] ?? this.suggestionGroups[0];\r\n this.selectedSuggestion = this.selectedSuggestionGroup!.suggestions[0];\r\n } else {\r\n // Within this group\r\n this.selectedSuggestion = this.selectedSuggestionGroup.suggestions[indexInGroup + 1];\r\n }\r\n } else {\r\n this.selectedSuggestionGroup = this.suggestionGroups[0];\r\n this.selectedSuggestion = this.selectedSuggestionGroup!.suggestions[0];\r\n }\r\n }\r\n\r\n private selectPreviousSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions)) {\r\n this.selectPreviousGroupedSuggestion();\r\n } else {\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;\r\n\r\n this.selectedSuggestion = this.suggestions[index - 1] ?? this.suggestions[this.suggestions.length - 1];\r\n }\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectPreviousGroupedSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (this.selectedSuggestionGroup) {\r\n const indexInGroup = this.selectedSuggestion\r\n ? this.selectedSuggestionGroup.suggestions.indexOf(this.selectedSuggestion)\r\n : -1;\r\n\r\n if (indexInGroup === 0) {\r\n // Move to last suggestion in previous or last group\r\n const groupIndex = this.suggestionGroups.indexOf(this.selectedSuggestionGroup);\r\n\r\n this.selectedSuggestionGroup =\r\n this.suggestionGroups[groupIndex - 1] ?? this.suggestionGroups[this.suggestions.length - 1];\r\n this.selectedSuggestion =\r\n this.selectedSuggestionGroup!.suggestions[this.selectedSuggestionGroup!.suggestions.length - 1];\r\n } else {\r\n // Within this group\r\n this.selectedSuggestion = this.selectedSuggestionGroup.suggestions[indexInGroup - 1];\r\n }\r\n } else {\r\n this.selectedSuggestionGroup = this.suggestionGroups[this.suggestions.length - 1];\r\n this.selectedSuggestion =\r\n this.selectedSuggestionGroup!.suggestions[this.selectedSuggestionGroup!.suggestions.length - 1];\r\n }\r\n }\r\n\r\n private get suggestionGroups(): SuggestionGroup[] {\r\n return isGrouped(this.suggestions) ? this.suggestions : [];\r\n }\r\n\r\n private setAriaActiveDescendant(scroll = false): void {\r\n if (this.selectedSuggestion) {\r\n const id = this.selectedSuggestionGroup\r\n ? this.listboxGroupedItemId(this.selectedSuggestionGroup, this.selectedSuggestion)\r\n : this.listboxItemId(this.selectedSuggestion);\r\n this.input?.setAttribute(\"aria-activedescendant\", id);\r\n if (scroll) {\r\n document.getElementById(id)?.scrollIntoView({ block: \"nearest\" });\r\n }\r\n }\r\n }\r\n\r\n private resetSelectedSuggestion() {\r\n this.showLoading = !this.loadingDelayed;\r\n this.notFound = false;\r\n this.selectedSuggestion = undefined;\r\n this.selectedSuggestionGroup = undefined;\r\n this.input?.setAttribute(\"aria-activedescendant\", \"\");\r\n }\r\n\r\n private openSuggestions(selectSuggestion?: \"first\" | \"last\") {\r\n this.showSuggestions = (this.suggestions && this.suggestions.length > 0) ?? false;\r\n this.notFound = (this.suggestions && this.suggestions?.length === 0) ?? false;\r\n this.input?.setAttribute(\"aria-expanded\", (this.showSuggestions || this.notFound).toString());\r\n\r\n if (this.showSuggestions && selectSuggestion === \"first\") {\r\n this.selectFirstSuggestion();\r\n } else if (this.showSuggestions && selectSuggestion === \"last\") {\r\n this.selectLastSuggestion();\r\n }\r\n }\r\n\r\n private closeSuggestions() {\r\n this.showSuggestions = false;\r\n this.notFound = false;\r\n this.input?.setAttribute(\"aria-expanded\", \"false\");\r\n this.selectFirstSuggestion();\r\n }\r\n\r\n private pickSelectedValue() {\r\n if (this.selectedSuggestion && this.showSuggestions) {\r\n this.dsoSelect.emit(this.selectedSuggestion);\r\n } else {\r\n this.dsoSearch.emit(this.input?.value);\r\n }\r\n\r\n this.closeSuggestions();\r\n }\r\n\r\n private onKeyDown = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented || this.loading) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"first\");\r\n } else {\r\n this.selectNextSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"ArrowUp\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"last\");\r\n } else {\r\n this.selectPreviousSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.closeSuggestions();\r\n return;\r\n\r\n case \"Escape\":\r\n this.closeSuggestions();\r\n break;\r\n\r\n case \"Enter\":\r\n this.pickSelectedValue();\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n private listboxItemId(suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n return `${this.inputId}-${isFlat(this.suggestions) && this.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private listboxGroupedItemId(suggestionGroup: SuggestionGroup, suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n\r\n return `${this.inputId}-${this.suggestionGroups.indexOf(suggestionGroup) + 1}-${suggestionGroup.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private getMarkedChunkedExtras(extras: string[], suggestion: Suggestion): (string | VNode)[][][] {\r\n const chunkedExtras = extras.reduce((resultArray: string[][], extra, index) => {\r\n const chunkIndex = Math.floor(index / 2);\r\n\r\n if (!resultArray[chunkIndex]) {\r\n resultArray[chunkIndex] = [];\r\n }\r\n resultArray[chunkIndex]?.push(extra);\r\n return resultArray;\r\n }, []);\r\n\r\n return chunkedExtras.map((chunk, index) =>\r\n chunk.map((c, i) => this.handleMark(suggestion, c, \"extra\", index * 2 + i)),\r\n );\r\n }\r\n\r\n private getMarkedSuggestions(suggestion: Suggestion): MarkedSuggestion {\r\n return {\r\n value: this.handleMark(suggestion, suggestion.value, \"value\"),\r\n type: suggestion.type ? this.handleMark(suggestion, suggestion.type, \"type\") : undefined,\r\n extras: suggestion.extras ? this.getMarkedChunkedExtras(suggestion.extras, suggestion) : undefined,\r\n };\r\n }\r\n\r\n private getAutosuggestStatus() {\r\n if (this.notFound) {\r\n return `\"${this.inputValue}\" is niet gevonden.`;\r\n }\r\n\r\n let totalSuggestions = 0;\r\n\r\n if (isFlat(this.suggestions)) {\r\n totalSuggestions = this.suggestions.length;\r\n } else if (isGrouped(this.suggestions)) {\r\n totalSuggestions = this.suggestions.reduce((count, group) => count + group.suggestions.length, 0);\r\n }\r\n\r\n return `${totalSuggestions} resultaten gevonden.`;\r\n }\r\n\r\n render() {\r\n this.listboxItems = [];\r\n\r\n const showListbox = this.showSuggestions || this.notFound;\r\n\r\n const grouped = isGrouped(this.suggestions);\r\n const flat = isFlat(this.suggestions);\r\n\r\n if (showListbox && this.input) {\r\n this.input.setAttribute(\"aria-controls\", this.listboxId);\r\n } else if (this.input) {\r\n this.input.removeAttribute(\"aria-controls\");\r\n }\r\n\r\n return (\r\n <>\r\n <slot />\r\n {this.loading && this.showLoading ? (\r\n <div class=\"autosuggest-progress-box\">\r\n <dso-progress-indicator label={this.loadingLabel}></dso-progress-indicator>\r\n </div>\r\n ) : (\r\n showListbox && (\r\n <>\r\n <dso-scrollable class=\"listbox-container\" ref={(element) => (this.listboxContainer = element)}>\r\n <div\r\n class=\"listbox\"\r\n role=\"listbox\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n tabindex=\"0\"\r\n >\r\n {(flat &&\r\n this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestion) => (\r\n <Option\r\n id={this.listboxItemId(suggestion)}\r\n mouseEnter={() => this.selectSuggestion(suggestion)}\r\n mouseLeave={() => this.resetSelectedSuggestion()}\r\n click={() => this.pickSelectedValue()}\r\n selected={(suggestion === this.selectedSuggestion).toString()}\r\n suggestion={suggestion}\r\n ref={(element) => element && this.listboxItems.push(element)}\r\n markedSuggestion={this.getMarkedSuggestions(suggestion)}\r\n />\r\n ))) ||\r\n (grouped &&\r\n this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestionGroup) => {\r\n const groupLabelId = v4();\r\n return (\r\n <div role=\"group\" class=\"group\" aria-labelledby={groupLabelId}>\r\n <div\r\n class=\"group-label\"\r\n role=\"presentation\"\r\n id={groupLabelId}\r\n ref={(element) => element && this.listboxItems.push(element)}\r\n >\r\n {suggestionGroup.groupLabel}\r\n </div>\r\n {suggestionGroup.suggestions.map((suggestion) => (\r\n <Option\r\n id={this.listboxGroupedItemId(suggestionGroup, suggestion)}\r\n mouseEnter={() => this.selectSuggestion(suggestion, suggestionGroup)}\r\n mouseLeave={() => this.resetSelectedSuggestion()}\r\n click={() => this.pickSelectedValue()}\r\n selected={(suggestion === this.selectedSuggestion).toString()}\r\n suggestion={suggestion}\r\n ref={(element) => element && this.listboxItems.push(element)}\r\n markedSuggestion={this.getMarkedSuggestions(suggestion)}\r\n />\r\n ))}\r\n </div>\r\n );\r\n })) ||\r\n (this.notFound && (\r\n <div class=\"option\">\r\n <span class=\"value\">\r\n {this.notFoundLabel ||\r\n this.showInputValueNotFound(this.text(\"notFound\", { inputValue: this.inputValue }))}\r\n </span>\r\n </div>\r\n ))}\r\n </div>\r\n </dso-scrollable>\r\n <div class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n {this.getAutosuggestStatus()}\r\n </div>\r\n </>\r\n )\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["escapeStringRegexp","string","TypeError","replace","translations","en","notFound","nl","autosuggestCss","maxSuggestionsViewable","listboxPaddingBlock","listboxBorderWidth","Option","id","mouseEnter","mouseLeave","click","selected","suggestion","ref","markedSuggestion","h","class","role","onMouseEnter","onMouseLeave","onClick","value","type","undefined","extras","map","markedChunk","extra","isGrouped","suggestions","length","every","groupLabel","isFlat","Autosuggest","constructor","hostRef","this","loading","loadingLabel","suggestOnFocus","showSuggestions","showLoading","listboxItems","listboxId","v4","inputId","labelId","resizeObserver","ResizeObserver","debounce","setListboxContainerMaxBlockSize","debouncedEmitValue","dsoChange","emit","debouncedShowLoading","inputValue","loadingDelayed","onInput","event","target","HTMLInputElement","match","onFocusIn","openSuggestions","text","i18n","host","onWindowResize","onScrollend","onKeyDown","defaultPrevented","key","selectNextSuggestion","selectPreviousSuggestion","closeSuggestions","pickSelectedValue","preventDefault","suggestionsWatcher","resetSelectedSuggestion","onDocumentClick","listbox","Node","contains","input","componentDidRender","connectedCallback","querySelector","labels","label","setAttribute","addEventListener","window","document","observe","disconnectedCallback","_a","removeEventListener","_b","_c","disconnect","listboxContainer","blockSizeViewableListItems","listboxContainerMaxBlockSize","total","Math","min","i","getBoundingClientRect","height","availableBlockSize","innerHeight","bottom","listboxMaxBlockSize","style","setProperty","showInputValueNotFound","processAutosuggestMarkItems","markTerms","split","filter","t","handleMark","extraIndex","mark","terms","suggestionValue","termRegex","RegExp","reduce","valuePart","push","test","slice","items","item","selectSuggestion","group","selectedSuggestion","selectedSuggestionGroup","setAriaActiveDescendant","selectFirstSuggestion","selectLastSuggestion","selectNextGroupedSuggestion","index","indexOf","indexInGroup","groupIndex","suggestionGroups","selectPreviousGroupedSuggestion","scroll","listboxGroupedItemId","listboxItemId","getElementById","scrollIntoView","block","_d","toString","dsoSelect","dsoSearch","suggestionGroup","getMarkedChunkedExtras","chunkedExtras","resultArray","chunkIndex","floor","chunk","c","getMarkedSuggestions","getAutosuggestStatus","totalSuggestions","count","render","showListbox","grouped","flat","removeAttribute","Fragment","element","tabindex","groupLabelId","notFoundLabel"],"sources":["../../node_modules/escape-string-regexp/index.js","src/components/autosuggest/autosuggest.i18n.ts","src/components/autosuggest/autosuggest.scss?tag=dso-autosuggest&encapsulation=scoped","src/components/autosuggest/autosuggest.tsx"],"sourcesContent":["export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} was not found.\",\r\n },\r\n },\r\n nl: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} is niet gevonden.\",\r\n },\r\n },\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/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"autosuggest.variables\" as core-autosuggest-variables;\r\n\r\n:host {\r\n display: block;\r\n position: relative;\r\n}\r\n\r\n.listbox-container {\r\n inset-inline: 0;\r\n inset-block-start: 100%;\r\n block-size: auto;\r\n max-block-size: var(--_dso-autosuggest-max-block-size);\r\n min-block-size: core-autosuggest-variables.$listbox-min-block-size;\r\n overflow-y: auto;\r\n position: absolute;\r\n z-index: zindex.$autosuggest;\r\n}\r\n\r\n.listbox,\r\n.autosuggest-progress-box {\r\n background-clip: padding-box;\r\n background-color: core-autosuggest-variables.$background-color;\r\n border: core-autosuggest-variables.$listbox-border-width solid core-autosuggest-variables.$border-color;\r\n border-radius: scaffolding.$border-radius-base;\r\n box-shadow: core-autosuggest-variables.$box-shadow;\r\n list-style-type: none;\r\n margin-block: 0;\r\n}\r\n\r\n.autosuggest-progress-box {\r\n padding-block: units.$u1 * 1.5;\r\n padding-inline: units.$u1;\r\n}\r\n\r\n.listbox {\r\n padding-block: core-autosuggest-variables.$listbox-padding-block;\r\n padding-inline: 0;\r\n\r\n .group:not(:first-child) {\r\n .group-label {\r\n border-block-start: 1px solid colors.$grijs-30;\r\n padding-block-start: units.$padding-base-inline;\r\n }\r\n }\r\n\r\n .group-label {\r\n color: colors.$bosgroen;\r\n font-weight: 700;\r\n padding-block: core-autosuggest-variables.$list-item-padding-block;\r\n margin-inline: units.$u2;\r\n }\r\n\r\n .option {\r\n padding-block: core-autosuggest-variables.$list-item-padding-block;\r\n padding-inline: units.$u2;\r\n\r\n .suggestion-row {\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n\r\n &:active {\r\n background-color: colors.$bosgroen;\r\n\r\n &,\r\n .type,\r\n .extra {\r\n color: colors.$wit;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.option[aria-selected=\"true\"] {\r\n cursor: pointer;\r\n background-color: colors.$grasgroen-20;\r\n}\r\n\r\nmark {\r\n font-weight: 700;\r\n background-color: inherit;\r\n color: inherit;\r\n padding: 0;\r\n}\r\n\r\n.type,\r\n.extra {\r\n color: colors.$grijs-60;\r\n}\r\n\r\n.type {\r\n text-align: end;\r\n}\r\n\r\n.extra {\r\n font-size: typography.$root-font-size-small;\r\n line-height: typography.$root-font-size-small * typography.$line-height-base;\r\n\r\n &:not(:first-child) {\r\n text-align: end;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n FunctionalComponent,\r\n Listen,\r\n Prop,\r\n State,\r\n VNode,\r\n Watch,\r\n h,\r\n} from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport escapeStringRegexp from \"escape-string-regexp\";\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { translations } from \"./autosuggest.i18n\";\r\nimport { AutosuggestMarkFunction, AutosuggestMarkItem, Suggestion, SuggestionGroup } from \"./autosuggest.interfaces\";\r\n\r\ninterface MarkedSuggestion {\r\n value: (VNode | string)[];\r\n type?: (VNode | string)[];\r\n extras?: (VNode | string)[][][];\r\n}\r\n\r\nconst maxSuggestionsViewable = 10;\r\nconst listboxPaddingBlock = 8;\r\nconst listboxBorderWidth = 1;\r\n\r\nconst Option: FunctionalComponent<{\r\n id: string;\r\n mouseEnter: () => void;\r\n mouseLeave: () => void;\r\n click: () => void;\r\n selected: string;\r\n suggestion: Suggestion;\r\n markedSuggestion: MarkedSuggestion;\r\n ref: (element: HTMLDivElement | undefined) => void;\r\n}> = ({ id, mouseEnter, mouseLeave, click, selected, suggestion, ref, markedSuggestion }) => (\r\n <div\r\n class=\"option\"\r\n role=\"option\"\r\n id={id}\r\n onMouseEnter={mouseEnter}\r\n onMouseLeave={mouseLeave}\r\n onClick={click}\r\n aria-selected={selected}\r\n aria-label={suggestion.value}\r\n ref={ref}\r\n >\r\n <div class=\"suggestion-row\">\r\n <span class=\"value\">{markedSuggestion.value}</span>\r\n {markedSuggestion.type ? <span class=\"type\">{markedSuggestion.type}</span> : undefined}\r\n </div>\r\n {markedSuggestion.extras &&\r\n markedSuggestion.extras.map((markedChunk) => (\r\n <div class=\"suggestion-row\">\r\n {markedChunk.map((extra) => (\r\n <span class=\"extra\">{extra}</span>\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n);\r\n\r\nfunction isGrouped(suggestions: Suggestion[] | SuggestionGroup[] | null): suggestions is SuggestionGroup[] {\r\n return (\r\n !!suggestions &&\r\n suggestions.length > 0 &&\r\n suggestions.every(\r\n (suggestion) =>\r\n suggestion !== undefined &&\r\n \"groupLabel\" in suggestion &&\r\n suggestion.groupLabel !== undefined &&\r\n \"suggestions\" in suggestion &&\r\n suggestion.suggestions.length > 0,\r\n )\r\n );\r\n}\r\n\r\nfunction isFlat(suggestions: Suggestion[] | SuggestionGroup[] | null): suggestions is Suggestion[] {\r\n return (\r\n !!suggestions &&\r\n suggestions.length > 0 &&\r\n suggestions.every(\r\n (suggestion) => suggestion !== undefined && \"value\" in suggestion && suggestion.value !== undefined,\r\n )\r\n );\r\n}\r\n\r\n@Component({\r\n tag: \"dso-autosuggest\",\r\n styleUrl: \"autosuggest.scss\",\r\n scoped: true,\r\n})\r\nexport class Autosuggest {\r\n /**\r\n * The suggestions for the value of the slotted input element.\r\n *\r\n * This can be an array of type Suggestion or an Array of type SuggestionGroup.\r\n *\r\n * A suggestionGroup must have a `groupLabel` and `suggestions`.\r\n *\r\n * A suggestion must have a `value` and can have a `type`, an `item` or `extras`.\r\n *\r\n * The `type` is used to style the suggestion. `item` can be use to reference the original object that was used to\r\n * create the suggestion. `extras` is an array of additional strings to further specify the suggestion.\r\n *\r\n * The value should be null when no suggestions have been fetched.\r\n */\r\n @Prop()\r\n readonly suggestions: Suggestion[] | SuggestionGroup[] | null = null;\r\n\r\n /**\r\n * Shows progress indicator when fetching results.\r\n */\r\n @Prop()\r\n loading = false;\r\n\r\n /**\r\n * To override progress indicator's default loading label.\r\n */\r\n @Prop()\r\n loadingLabel?: string = \"Een moment geduld.\";\r\n\r\n /**\r\n * To delay progress indicator showing (in ms).\r\n */\r\n @Prop()\r\n loadingDelayed?: number;\r\n\r\n /**\r\n * To show text when no results are found.\r\n */\r\n @Prop()\r\n notFoundLabel?: string;\r\n\r\n /**\r\n * Whether the previous suggestions will be presented when the input gets focus again.\r\n */\r\n @Prop()\r\n suggestOnFocus = false;\r\n\r\n /**\r\n * A function provided by the consumer of the autosuggest component, that returns an array of `AutosuggestMarkItem`s\r\n */\r\n @Prop()\r\n mark?: AutosuggestMarkFunction;\r\n\r\n /**\r\n * Emitted when a suggestion is selected.\r\n * The `detail` property of the `CustomEvent` will contain the selected suggestion.\r\n */\r\n @Event()\r\n dsoSelect!: EventEmitter<Suggestion>;\r\n\r\n /**\r\n * This is emitted debounced for every change for the slotted input type=text element.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when enter is pressed.\r\n * The `detail` property of the `CustomEvent` will contain the input text.\r\n */\r\n @Event()\r\n dsoSearch!: EventEmitter<string>;\r\n\r\n @Element()\r\n host!: HTMLDsoAutosuggestElement;\r\n\r\n @State()\r\n showSuggestions = false;\r\n\r\n @State()\r\n selectedSuggestion: Suggestion | undefined;\r\n\r\n @State()\r\n selectedSuggestionGroup: SuggestionGroup | undefined;\r\n\r\n @State()\r\n notFound = false;\r\n\r\n @State()\r\n showLoading = false;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listboxContainer: HTMLDsoScrollableElement | undefined;\r\n\r\n private listbox: HTMLDivElement | undefined;\r\n\r\n // ListboxItems are used for the calculation of the listboxContainerMaxBlockSize\r\n private listboxItems: HTMLDivElement[] = [];\r\n\r\n private listboxId: string = v4();\r\n\r\n private inputId: string = v4();\r\n\r\n private labelId: string = v4();\r\n\r\n private resizeObserver = new ResizeObserver(debounce(() => this.setListboxContainerMaxBlockSize(), 150));\r\n\r\n private debouncedEmitValue = debounce((value: string) => {\r\n this.dsoChange.emit(value);\r\n this.debouncedShowLoading();\r\n }, 200);\r\n\r\n private debouncedShowLoading = debounce(() => {\r\n if (this.inputValue) {\r\n this.showLoading = true;\r\n }\r\n }, this.loadingDelayed);\r\n\r\n private inputValue = \"\";\r\n\r\n private onInput = (event: Event) => {\r\n if (!(event.target instanceof HTMLInputElement)) {\r\n return;\r\n // throw new Error(\"event.target is not instanceof HTMLInputElement\"); #2293\r\n }\r\n\r\n this.showLoading = !this.loadingDelayed;\r\n this.inputValue = event.target.value;\r\n this.debouncedEmitValue(event.target.value.match(/(\\S+)/g) ? event.target.value : \"\");\r\n };\r\n\r\n private onFocusIn = () => {\r\n if (this.suggestOnFocus) {\r\n this.openSuggestions();\r\n }\r\n };\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n (this.showSuggestions || this.notFound) &&\r\n this.listbox &&\r\n event.target instanceof Node &&\r\n !this.listbox.contains(event.target) &&\r\n this.input !== event.target\r\n ) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.setListboxContainerMaxBlockSize();\r\n }\r\n\r\n connectedCallback() {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory text input not found\"); #2293\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory label for text input not found\"); #2293\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.addEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.removeEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n private onWindowResize = debounce(() => this.setListboxContainerMaxBlockSize(), 150);\r\n\r\n private onScrollend = () => this.setListboxContainerMaxBlockSize();\r\n\r\n private setListboxContainerMaxBlockSize(): void {\r\n if (!this.listboxContainer || !this.showSuggestions) {\r\n return;\r\n }\r\n\r\n if (this.showSuggestions) {\r\n let blockSizeViewableListItems = 0;\r\n let listboxContainerMaxBlockSize = 0;\r\n\r\n // The total number of list items to reserve vertical space for.\r\n const total = this.listboxItems.length ? Math.min(this.listboxItems.length, maxSuggestionsViewable) : 0;\r\n for (let i = 0; i < total; i++) {\r\n blockSizeViewableListItems =\r\n blockSizeViewableListItems + (this.listboxItems[i]?.getBoundingClientRect().height || 0);\r\n }\r\n\r\n const availableBlockSize = window.innerHeight - this.host.getBoundingClientRect().bottom;\r\n const listboxMaxBlockSize = blockSizeViewableListItems + 2 * listboxPaddingBlock + 2 * listboxBorderWidth;\r\n\r\n if (availableBlockSize < listboxMaxBlockSize || availableBlockSize <= blockSizeViewableListItems) {\r\n listboxContainerMaxBlockSize = availableBlockSize - 2 * listboxPaddingBlock;\r\n } else {\r\n listboxContainerMaxBlockSize = listboxMaxBlockSize;\r\n }\r\n\r\n this.listboxContainer.style.setProperty(\"--_dso-autosuggest-max-block-size\", `${listboxContainerMaxBlockSize}px`);\r\n }\r\n }\r\n\r\n private showInputValueNotFound(text?: string) {\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private handleMark(\r\n suggestion: Suggestion,\r\n text: string,\r\n type?: \"value\" | \"type\" | \"extra\",\r\n extraIndex?: number,\r\n ): (VNode | string)[] {\r\n if (this.mark && type) {\r\n return this.processAutosuggestMarkItems(this.mark(suggestion, text, type, extraIndex));\r\n }\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private markTerms(terms: string[], suggestionValue?: string): AutosuggestMarkItem[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).reduce((total: AutosuggestMarkItem[], valuePart: string) => {\r\n if (!valuePart) {\r\n total.push(valuePart);\r\n } else if (termRegex.test(valuePart)) {\r\n total.push({ mark: valuePart });\r\n } else if (terms.length === 1) {\r\n total.push(valuePart);\r\n } else {\r\n total.push(...this.markTerms(terms.slice(1), valuePart));\r\n }\r\n\r\n return total;\r\n }, []);\r\n }\r\n\r\n private processAutosuggestMarkItems(items: AutosuggestMarkItem[]): (VNode | string)[] {\r\n if (items.length === 0) {\r\n return [\"\"];\r\n }\r\n\r\n return items.map((item) => {\r\n if (typeof item === \"object\") {\r\n return <mark>{item.mark}</mark>;\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion, group?: SuggestionGroup) {\r\n this.selectedSuggestion = suggestion;\r\n this.selectedSuggestionGroup = group;\r\n\r\n this.setAriaActiveDescendant();\r\n }\r\n\r\n private selectFirstSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions) && this.selectedSuggestionGroup) {\r\n this.selectedSuggestion = this.selectedSuggestionGroup.suggestions[0];\r\n } else {\r\n if (isFlat(this.suggestions)) {\r\n this.selectedSuggestion = this.suggestions[0];\r\n }\r\n }\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectLastSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions) && this.selectedSuggestionGroup) {\r\n this.selectedSuggestion =\r\n this.selectedSuggestionGroup.suggestions[this.selectedSuggestionGroup.suggestions.length - 1];\r\n } else {\r\n if (isFlat(this.suggestions)) {\r\n this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];\r\n }\r\n }\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectNextSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions)) {\r\n this.selectNextGroupedSuggestion();\r\n } else {\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;\r\n\r\n this.selectedSuggestion = this.suggestions[index + 1] ?? this.suggestions[0];\r\n }\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectNextGroupedSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (this.selectedSuggestionGroup) {\r\n const indexInGroup = this.selectedSuggestion\r\n ? this.selectedSuggestionGroup.suggestions.indexOf(this.selectedSuggestion)\r\n : -1;\r\n\r\n if (indexInGroup === this.selectedSuggestionGroup.suggestions.length - 1) {\r\n // Move to first suggestion in next or first group\r\n const groupIndex = this.suggestionGroups.indexOf(this.selectedSuggestionGroup);\r\n this.selectedSuggestionGroup = this.suggestionGroups[groupIndex + 1] ?? this.suggestionGroups[0];\r\n this.selectedSuggestion = this.selectedSuggestionGroup!.suggestions[0];\r\n } else {\r\n // Within this group\r\n this.selectedSuggestion = this.selectedSuggestionGroup.suggestions[indexInGroup + 1];\r\n }\r\n } else {\r\n this.selectedSuggestionGroup = this.suggestionGroups[0];\r\n this.selectedSuggestion = this.selectedSuggestionGroup!.suggestions[0];\r\n }\r\n }\r\n\r\n private selectPreviousSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (isGrouped(this.suggestions)) {\r\n this.selectPreviousGroupedSuggestion();\r\n } else {\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;\r\n\r\n this.selectedSuggestion = this.suggestions[index - 1] ?? this.suggestions[this.suggestions.length - 1];\r\n }\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectPreviousGroupedSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n if (this.selectedSuggestionGroup) {\r\n const indexInGroup = this.selectedSuggestion\r\n ? this.selectedSuggestionGroup.suggestions.indexOf(this.selectedSuggestion)\r\n : -1;\r\n\r\n if (indexInGroup === 0) {\r\n // Move to last suggestion in previous or last group\r\n const groupIndex = this.suggestionGroups.indexOf(this.selectedSuggestionGroup);\r\n\r\n this.selectedSuggestionGroup =\r\n this.suggestionGroups[groupIndex - 1] ?? this.suggestionGroups[this.suggestions.length - 1];\r\n this.selectedSuggestion =\r\n this.selectedSuggestionGroup!.suggestions[this.selectedSuggestionGroup!.suggestions.length - 1];\r\n } else {\r\n // Within this group\r\n this.selectedSuggestion = this.selectedSuggestionGroup.suggestions[indexInGroup - 1];\r\n }\r\n } else {\r\n this.selectedSuggestionGroup = this.suggestionGroups[this.suggestions.length - 1];\r\n this.selectedSuggestion =\r\n this.selectedSuggestionGroup!.suggestions[this.selectedSuggestionGroup!.suggestions.length - 1];\r\n }\r\n }\r\n\r\n private get suggestionGroups(): SuggestionGroup[] {\r\n return isGrouped(this.suggestions) ? this.suggestions : [];\r\n }\r\n\r\n private setAriaActiveDescendant(scroll = false): void {\r\n if (this.selectedSuggestion) {\r\n const id = this.selectedSuggestionGroup\r\n ? this.listboxGroupedItemId(this.selectedSuggestionGroup, this.selectedSuggestion)\r\n : this.listboxItemId(this.selectedSuggestion);\r\n this.input?.setAttribute(\"aria-activedescendant\", id);\r\n if (scroll) {\r\n document.getElementById(id)?.scrollIntoView({ block: \"nearest\" });\r\n }\r\n }\r\n }\r\n\r\n private resetSelectedSuggestion() {\r\n this.showLoading = !this.loadingDelayed;\r\n this.notFound = false;\r\n this.selectedSuggestion = undefined;\r\n this.selectedSuggestionGroup = undefined;\r\n this.input?.setAttribute(\"aria-activedescendant\", \"\");\r\n }\r\n\r\n private openSuggestions(selectSuggestion?: \"first\" | \"last\") {\r\n this.showSuggestions = (this.suggestions && this.suggestions.length > 0) ?? false;\r\n this.notFound = (this.suggestions && this.suggestions?.length === 0) ?? false;\r\n this.input?.setAttribute(\"aria-expanded\", (this.showSuggestions || this.notFound).toString());\r\n\r\n if (this.showSuggestions && selectSuggestion === \"first\") {\r\n this.selectFirstSuggestion();\r\n } else if (this.showSuggestions && selectSuggestion === \"last\") {\r\n this.selectLastSuggestion();\r\n }\r\n }\r\n\r\n private closeSuggestions() {\r\n this.showSuggestions = false;\r\n this.notFound = false;\r\n this.input?.setAttribute(\"aria-expanded\", \"false\");\r\n this.selectFirstSuggestion();\r\n }\r\n\r\n private pickSelectedValue() {\r\n if (this.selectedSuggestion && this.showSuggestions) {\r\n this.dsoSelect.emit(this.selectedSuggestion);\r\n } else {\r\n this.dsoSearch.emit(this.input?.value);\r\n }\r\n\r\n this.closeSuggestions();\r\n }\r\n\r\n private onKeyDown = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented || this.loading) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"first\");\r\n } else {\r\n this.selectNextSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"ArrowUp\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"last\");\r\n } else {\r\n this.selectPreviousSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.closeSuggestions();\r\n return;\r\n\r\n case \"Escape\":\r\n this.closeSuggestions();\r\n break;\r\n\r\n case \"Enter\":\r\n this.pickSelectedValue();\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n private listboxItemId(suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n return `${this.inputId}-${isFlat(this.suggestions) && this.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private listboxGroupedItemId(suggestionGroup: SuggestionGroup, suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n\r\n return `${this.inputId}-${this.suggestionGroups.indexOf(suggestionGroup) + 1}-${suggestionGroup.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private getMarkedChunkedExtras(extras: string[], suggestion: Suggestion): (string | VNode)[][][] {\r\n const chunkedExtras = extras.reduce((resultArray: string[][], extra, index) => {\r\n const chunkIndex = Math.floor(index / 2);\r\n\r\n if (!resultArray[chunkIndex]) {\r\n resultArray[chunkIndex] = [];\r\n }\r\n resultArray[chunkIndex]?.push(extra);\r\n return resultArray;\r\n }, []);\r\n\r\n return chunkedExtras.map((chunk, index) =>\r\n chunk.map((c, i) => this.handleMark(suggestion, c, \"extra\", index * 2 + i)),\r\n );\r\n }\r\n\r\n private getMarkedSuggestions(suggestion: Suggestion): MarkedSuggestion {\r\n return {\r\n value: this.handleMark(suggestion, suggestion.value, \"value\"),\r\n type: suggestion.type ? this.handleMark(suggestion, suggestion.type, \"type\") : undefined,\r\n extras: suggestion.extras ? this.getMarkedChunkedExtras(suggestion.extras, suggestion) : undefined,\r\n };\r\n }\r\n\r\n private getAutosuggestStatus() {\r\n if (this.notFound) {\r\n return `\"${this.inputValue}\" is niet gevonden.`;\r\n }\r\n\r\n let totalSuggestions = 0;\r\n\r\n if (isFlat(this.suggestions)) {\r\n totalSuggestions = this.suggestions.length;\r\n } else if (isGrouped(this.suggestions)) {\r\n totalSuggestions = this.suggestions.reduce((count, group) => count + group.suggestions.length, 0);\r\n }\r\n\r\n return `${totalSuggestions} resultaten gevonden.`;\r\n }\r\n\r\n render() {\r\n this.listboxItems = [];\r\n\r\n const showListbox = this.showSuggestions || this.notFound;\r\n\r\n const grouped = isGrouped(this.suggestions);\r\n const flat = isFlat(this.suggestions);\r\n\r\n if (showListbox && this.input) {\r\n this.input.setAttribute(\"aria-controls\", this.listboxId);\r\n } else if (this.input) {\r\n this.input.removeAttribute(\"aria-controls\");\r\n }\r\n\r\n return (\r\n <>\r\n <slot />\r\n {this.loading && this.showLoading ? (\r\n <div class=\"autosuggest-progress-box\">\r\n <dso-progress-indicator label={this.loadingLabel}></dso-progress-indicator>\r\n </div>\r\n ) : (\r\n showListbox && (\r\n <>\r\n <dso-scrollable class=\"listbox-container\" ref={(element) => (this.listboxContainer = element)}>\r\n <div\r\n class=\"listbox\"\r\n role=\"listbox\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n tabindex=\"0\"\r\n >\r\n {(flat &&\r\n this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestion) => (\r\n <Option\r\n id={this.listboxItemId(suggestion)}\r\n mouseEnter={() => this.selectSuggestion(suggestion)}\r\n mouseLeave={() => this.resetSelectedSuggestion()}\r\n click={() => this.pickSelectedValue()}\r\n selected={(suggestion === this.selectedSuggestion).toString()}\r\n suggestion={suggestion}\r\n ref={(element) => element && this.listboxItems.push(element)}\r\n markedSuggestion={this.getMarkedSuggestions(suggestion)}\r\n />\r\n ))) ||\r\n (grouped &&\r\n this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestionGroup) => {\r\n const groupLabelId = v4();\r\n return (\r\n <div role=\"group\" class=\"group\" aria-labelledby={groupLabelId}>\r\n <div\r\n class=\"group-label\"\r\n role=\"presentation\"\r\n id={groupLabelId}\r\n ref={(element) => element && this.listboxItems.push(element)}\r\n >\r\n {suggestionGroup.groupLabel}\r\n </div>\r\n {suggestionGroup.suggestions.map((suggestion) => (\r\n <Option\r\n id={this.listboxGroupedItemId(suggestionGroup, suggestion)}\r\n mouseEnter={() => this.selectSuggestion(suggestion, suggestionGroup)}\r\n mouseLeave={() => this.resetSelectedSuggestion()}\r\n click={() => this.pickSelectedValue()}\r\n selected={(suggestion === this.selectedSuggestion).toString()}\r\n suggestion={suggestion}\r\n ref={(element) => element && this.listboxItems.push(element)}\r\n markedSuggestion={this.getMarkedSuggestions(suggestion)}\r\n />\r\n ))}\r\n </div>\r\n );\r\n })) ||\r\n (this.notFound && (\r\n <div class=\"option\">\r\n <span class=\"value\">\r\n {this.notFoundLabel ||\r\n this.showInputValueNotFound(this.text(\"notFound\", { inputValue: this.inputValue }))}\r\n </span>\r\n </div>\r\n ))}\r\n </div>\r\n </dso-scrollable>\r\n <div class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n {this.getAutosuggestStatus()}\r\n </div>\r\n </>\r\n )\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as o,c as n,f as t,h as s,F as c,H as d,g as e}from"./p-DxWmN7gh.js";const a={success:"succes:",info:"info:",warning:"waarschuwing:",danger:"fout:",error:"fout:"};const i='*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip-path:inset(0)}:host{display:block;--_dso-accordion-margin-block-end:0}:host .dso-section-handle{font-size:1em;font-weight:600;line-height:1.375em;margin:0;position:relative}:host .dso-section-handle>a:active{text-decoration:none}:host .dso-section-handle a{text-decoration:none}:host .dso-section-handle a:hover,:host .dso-section-handle a:focus-visible{text-decoration:none}:host .dso-section-handle a:active{text-decoration:underline}:host .dso-section-handle .dso-status{color:#000;font-size:14px;font-weight:400}:host .dso-section-handle>button,:host .dso-section-handle>a{align-items:flex-start;background-color:transparent;border:0;cursor:pointer;display:flex;font-family:Asap, sans-serif;font-size:1em;font-weight:600;line-height:1.375em;margin:0;padding-block:12px;padding-inline:16px;text-align:start;inline-size:100%;overflow-wrap:anywhere}:host .dso-section-handle>button dso-icon,:host .dso-section-handle>a dso-icon{flex-shrink:0}:host .dso-section-handle>button dso-icon.dso-section-handle-chevron,:host .dso-section-handle>a dso-icon.dso-section-handle-chevron{transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transform:rotate(0)}:host .dso-section-handle>button>.dso-section-handle-addons:first-child,:host .dso-section-handle>button>dso-icon:first-child,:host .dso-section-handle>a>.dso-section-handle-addons:first-child,:host .dso-section-handle>a>dso-icon:first-child{margin-inline-end:8px}:host .dso-section-handle>button>dso-icon:last-child,:host .dso-section-handle>a>dso-icon:last-child{margin-inline-start:auto}:host .dso-section-handle>button>.dso-section-handle-addons:last-child,:host .dso-section-handle>a>.dso-section-handle-addons:last-child{margin-inline-start:auto}:host .dso-section-handle>button>.dso-section-handle-addons:last-child dso-attachments-counter,:host .dso-section-handle>button>.dso-section-handle-addons:last-child dso-icon,:host .dso-section-handle>a>.dso-section-handle-addons:last-child dso-attachments-counter,:host .dso-section-handle>a>.dso-section-handle-addons:last-child dso-icon{margin-inline-start:8px}:host .dso-section-handle>button>dso-label,:host .dso-section-handle>a>dso-label{margin-inline-start:auto;padding-inline-start:8px;word-break:normal}:host .dso-section-handle>button>dso-label+dso-icon:last-child,:host .dso-section-handle>button>dso-label+.dso-section-handle-addons:last-child,:host .dso-section-handle>a>dso-label+dso-icon:last-child,:host .dso-section-handle>a>dso-label+.dso-section-handle-addons:last-child{margin-inline-start:8px}:host([open]:not([open=false])) .dso-section-handle>button .dso-section-handle-chevron:first-child,:host([open]:not([open=false])) .dso-section-handle>a .dso-section-handle-chevron:first-child{transform:rotate(90deg)}:host([open]:not([open=false])) .dso-section-handle>button .dso-section-handle-chevron:last-child,:host([open]:not([open=false])) .dso-section-handle>a .dso-section-handle-chevron:last-child{transform:rotate(-180deg)}.dso-section-body{background-color:#fff;border-block-start:0}.dso-section-body .dso-section-body-content{padding-block:20px 16px;padding-inline:16px}:host(.dso-accordion-default){border:1px solid #8b4a6a;border-radius:4px}:host(.dso-accordion-default) .dso-section-handle{background-color:#fff;border-radius:4px}:host(.dso-accordion-default) .dso-section-handle a,:host(.dso-accordion-default) .dso-section-handle button{color:#8b4a6a}:host(.dso-accordion-default) .dso-section-handle a:hover,:host(.dso-accordion-default) .dso-section-handle a:active,:host(.dso-accordion-default) .dso-section-handle a.active,:host(.dso-accordion-default) .dso-section-handle button:hover,:host(.dso-accordion-default) .dso-section-handle button:active,:host(.dso-accordion-default) .dso-section-handle button.active{color:#8b4a6a}:host(.dso-accordion-default) .dso-section-handle .dso-status{text-decoration:underline}:host(.dso-accordion-default) .dso-section-body{border-radius:0 0 4px 4px}:host(.dso-accordion-default[open]:not([open=false]))>.dso-section-handle{background-color:#8b4a6a;border-radius:0}:host(.dso-accordion-default[open]:not([open=false]))>.dso-section-handle a,:host(.dso-accordion-default[open]:not([open=false]))>.dso-section-handle button{color:#fff}:host(.dso-accordion-default[open]:not([open=false]))>.dso-section-handle a dso-attachments-counter,:host(.dso-accordion-default[open]:not([open=false]))>.dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#fff;--dso-icon:var(--di-paperclip-wit)}:host(.dso-accordion-default.dso-nested-accordion[open]:not([open=false])) .dso-section-body{background-color:#e5e5e5}:host(.dso-accordion-compact) .dso-section-handle{border-block-end:1px solid transparent;border-block-start:1px solid #ccc}:host(.dso-accordion-compact) .dso-section-handle a,:host(.dso-accordion-compact) .dso-section-handle button{color:#39870c;padding-block-end:11px;padding-inline-start:0;padding-block-start:11px}:host(.dso-accordion-compact) .dso-section-handle a:hover,:host(.dso-accordion-compact) .dso-section-handle a:active,:host(.dso-accordion-compact) .dso-section-handle a.active,:host(.dso-accordion-compact) .dso-section-handle button:hover,:host(.dso-accordion-compact) .dso-section-handle button:active,:host(.dso-accordion-compact) .dso-section-handle button.active{color:#39870c}:host(.dso-accordion-compact) .dso-section-handle .dso-status{color:#000}:host(.dso-accordion-compact) .dso-section-body .dso-section-body-content{padding-inline-start:32px;padding-block-start:0;padding-inline-end:0}:host(.dso-accordion-compact.dso-accordion-reverse-align) .dso-section-handle a,:host(.dso-accordion-compact.dso-accordion-reverse-align) .dso-section-handle button{padding-inline:16px 0}:host(.dso-accordion-compact.dso-accordion-reverse-align) .dso-section-body .dso-section-body-content{padding-inline-start:16px;padding-inline-end:0}:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle{background-color:transparent}:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle a,:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle button{color:#39870c}:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle a:hover,:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle a:active,:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle a.active,:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle button:hover,:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle button:active,:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle button.active{color:#39870c}:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle a dso-attachments-counter,:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#666;--dso-icon:var(--di-paperclip-grijs)}:host(.dso-accordion-compact[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-body{border-block-start:0}:host(.dso-accordion-compact.dso-nested-accordion[open]:not([open=false]))>.dso-section-body{padding-block-end:0}:host(.dso-accordion-compact.dso-nested-accordion[open]:not([open=false]))>.dso-section-body dso-accordion-section:last-child{border-block-end:0}:host(.dso-accordion-compact-black) .dso-section-handle{border-block-end:1px solid transparent;border-block-start:1px solid #ccc}:host(.dso-accordion-compact-black) .dso-section-handle a,:host(.dso-accordion-compact-black) .dso-section-handle button:not(.dso-slider){color:#000;padding-block-end:11px;padding-inline-start:0;padding-block-start:11px}:host(.dso-accordion-compact-black) .dso-section-handle a:hover,:host(.dso-accordion-compact-black) .dso-section-handle a:active,:host(.dso-accordion-compact-black) .dso-section-handle a.active,:host(.dso-accordion-compact-black) .dso-section-handle button:not(.dso-slider):hover,:host(.dso-accordion-compact-black) .dso-section-handle button:not(.dso-slider):active,:host(.dso-accordion-compact-black) .dso-section-handle button:not(.dso-slider).active{color:#000}:host(.dso-accordion-compact-black) .dso-section-body .dso-section-body-content{padding-inline-start:32px;padding-block-start:0;padding-inline-end:0}:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle{border-block-end:1px solid transparent;border-block-start:1px solid #ccc}:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle a,:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle button:not(.dso-slider){color:#000;padding-block-end:11px;padding-inline-start:0;padding-block-start:11px}:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle a:hover,:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle a:active,:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle a.active,:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle button:not(.dso-slider):hover,:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle button:not(.dso-slider):active,:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle button:not(.dso-slider).active{color:#000}:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-body .dso-section-body-content{padding-inline-start:32px;padding-block-start:0;padding-inline-end:0}:host(.dso-accordion-compact-black.dso-accordion-section-activate) .dso-section-handle{display:flex}:host(.dso-accordion-compact-black.dso-accordion-section-activate) dso-slide-toggle{margin-block-start:11px;margin-inline:8px}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-voegtoe){background-color:#e4f1d4}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-voegtoe) .dso-section-body{background-color:#e4f1d4}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder){--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--link-color:currentColor;--link-hover-color:currentColor;--link-visited-color:currentColor}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) a:not(.dso-primary,.dso-secondary,.dso-tertiary):is(.download,.download:hover,.download:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#download-zwart"))}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) a:not(.dso-primary,.dso-secondary,.dso-tertiary):is(.extern,.extern:hover,.extern:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#external-link-zwart"))}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) a:not(.dso-primary,.dso-secondary,.dso-tertiary):is([href^="tel:"],[href^="tel:"]:hover,[href^="tel:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#call-zwart"))}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) a:not(.dso-primary,.dso-secondary,.dso-tertiary):is([href^="mailto:"],[href^="mailto:"]:hover,[href^="mailto:"]:focus-visible){background-image:var(--_dso-di-background-image, url("./di.svg#email-zwart"))}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder){--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#173521;--_dso-icon-button-tertiary-disabled-color:#999;background-color:#f5d8dc;color:#191919}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder){--_dso-ozon-content-toggletip-color:colors.$zwart;text-decoration:line-through;--_dso-ozon-content-toggletip-text-decoration:underline line-through}@media screen and (min--moz-device-pixel-ratio: 0){:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder){font-family:sans-serif}}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder){background-color:#f5d8dc}:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) .dso-section-body{background-color:#f5d8dc}:host(.dso-accordion-compact-black.dso-accordion-reverse-align) .dso-section-handle a,:host(.dso-accordion-compact-black.dso-accordion-reverse-align) .dso-section-handle button{padding-inline:16px 0}:host(.dso-accordion-compact-black.dso-accordion-reverse-align) .dso-section-body .dso-section-body-content{padding-inline-start:16px;padding-inline-end:0}:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle{background-color:transparent}:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle a,:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle button{color:#000}:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle a:hover,:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle a:active,:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle a.active,:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle button:hover,:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle button:active,:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle button.active{color:#000}:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle a dso-attachments-counter,:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#666;--dso-icon:var(--di-paperclip-grijs)}:host(.dso-accordion-compact-black[open]:not([open=false]))>.dso-section-body{border-block-start:0}:host(.dso-accordion-compact-black.dso-nested-accordion[open]:not([open=false]))>.dso-section-body{padding-block-end:0}:host(.dso-accordion-compact-black.dso-nested-accordion[open]:not([open=false]))>.dso-section-body dso-accordion-section:last-child{border-block-end:0}:host(.dso-accordion-conclusion) .dso-section-handle{background-color:#f2f2f2;border:1px solid #f2f2f2}:host(.dso-accordion-conclusion) .dso-section-handle a,:host(.dso-accordion-conclusion) .dso-section-handle button{color:#000}:host(.dso-accordion-conclusion) .dso-section-handle a:hover,:host(.dso-accordion-conclusion) .dso-section-handle a:active,:host(.dso-accordion-conclusion) .dso-section-handle a.active,:host(.dso-accordion-conclusion) .dso-section-handle button:hover,:host(.dso-accordion-conclusion) .dso-section-handle button:active,:host(.dso-accordion-conclusion) .dso-section-handle button.active{background-color:#e5e5e5}:host(.dso-accordion-conclusion) .dso-section-handle a dso-attachments-counter,:host(.dso-accordion-conclusion) .dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#000;--dso-icon:var(--di-paperclip-zwart)}:host(.dso-accordion-conclusion) .dso-section-body{border:2px solid #f2f2f2}:host(.dso-accordion-conclusion[open]:not([open=false]):not(.dso-nested-accordion))>.dso-section-handle{background-color:#f2f2f2}:host(.dso-accordion-conclusion.dso-nested-accordion[open]:not([open=false])){background-color:#fff}:host(.dso-accordion-neutral) .dso-section-handle{background-color:transparent;border:none;border-radius:4px;margin-block-end:2px}:host(.dso-accordion-neutral) .dso-section-handle a,:host(.dso-accordion-neutral) .dso-section-handle button{color:#000;padding-block:5px;padding-inline:0}:host(.dso-accordion-neutral) .dso-section-handle a:hover,:host(.dso-accordion-neutral) .dso-section-handle a:active,:host(.dso-accordion-neutral) .dso-section-handle a.active,:host(.dso-accordion-neutral) .dso-section-handle button:hover,:host(.dso-accordion-neutral) .dso-section-handle button:active,:host(.dso-accordion-neutral) .dso-section-handle button.active{color:#000}:host(.dso-accordion-neutral) .dso-section-handle a .info-icon,:host(.dso-accordion-neutral) .dso-section-handle button .info-icon{color:#39870c;margin-inline-start:8px}:host(.dso-accordion-neutral) .dso-section-handle dso-icon{vertical-align:top}:host(.dso-accordion-neutral) .dso-section-body[open],:host(.dso-accordion-neutral) .dso-section-body:not(.dso-hide){background-color:transparent;border:1px solid #275937;box-shadow:1px 3px 4px rgba(0, 0, 0, 0.5);margin-block:-2px 0}:host(.dso-accordion-neutral) .dso-section-body[open].dso-animate-ready,:host(.dso-accordion-neutral) .dso-section-body:not(.dso-hide).dso-animate-ready{transition-property:grid-template-rows, margin-block, border, opacity}:host(.dso-accordion-neutral) .dso-section-body[open] .dso-section-body-content,:host(.dso-accordion-neutral) .dso-section-body:not(.dso-hide) .dso-section-body-content{padding-block:16px 24px;padding-inline:16px}@media screen and (min-width: 480px){:host(.dso-accordion-neutral) .dso-section-body[open] .dso-section-body-content,:host(.dso-accordion-neutral) .dso-section-body:not(.dso-hide) .dso-section-body-content{padding-block:16px 24px;padding-inline:32px}}:host(.dso-accordion-neutral[open]:not([open=false]))>.dso-section-handle{background-color:transparant;border-radius:0;border-start-start-radius:4px;border-start-end-radius:4px}:host(.dso-accordion-neutral[open]:not([open=false]))>.dso-section-handle a,:host(.dso-accordion-neutral[open]:not([open=false]))>.dso-section-handle button{color:#000}:host(.dso-accordion-neutral[open]:not([open=false]))>.dso-section-handle a dso-attachments-counter,:host(.dso-accordion-neutral[open]:not([open=false]))>.dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#fff;--dso-icon:var(--di-paperclip-wit)}:host(.dso-accordion-neutral[open]:not([open=false])) .dso-section-body{margin-block-end:16px;margin-block-start:2px}:host(.dso-accordion-neutral.dso-nested-accordion[open]:not([open=false])) .dso-section-body{background-color:#e5e5e5}';const r=window["_dsoLog"]===true?console.log.bind(console.log):function(){};const l=({handleUrl:o,onClick:n,open:t,showSlideToggle:d,active:e,onActiveChange:a,handleElementRef:i},r)=>{if(o){return s(c,null,s("a",{href:o,onClick:n,"aria-expanded":t?"true":"false",ref:i},r),d&&s("dso-slide-toggle",{accessibleLabel:"Toon op kaart",checked:e,onDsoActiveChange:a}))}return s(c,null,s("button",{type:"button",onClick:n,"aria-expanded":t?"true":"false",ref:i},r),d&&s("dso-slide-toggle",{accessibleLabel:"Toon op kaart",checked:e,onDsoActiveChange:a}))};const h=({heading:o,ref:n},t)=>{switch(o){default:case"h2":return s("h2",{ref:n,class:"dso-section-handle"},t);case"h3":return s("h3",{ref:n,class:"dso-section-handle"},t);case"h4":return s("h4",{ref:n,class:"dso-section-handle"},t);case"h5":return s("h5",{ref:n,class:"dso-section-handle"},t)}};const p=({state:o,icon:n,attachmentCount:t})=>{if(o){return s(b,{state:o})}if(t){return s("dso-attachments-counter",{count:t})}if(n){return s("dso-icon",{icon:n})}};const b=({state:o})=>{if(o==="error"){return s("dso-icon",{icon:"status-error"})}if(o==="danger"){return s("dso-icon",{icon:"status-danger"})}if(o==="success"){return s("dso-icon",{icon:"status-success"})}if(o==="info"){return s("dso-icon",{icon:"status-info"})}if(o==="warning"){return s("dso-icon",{icon:"status-warning"})}};const u=class{constructor(t){o(this,t);this.dsoActiveChange=n(this,"dsoActiveChange",7);this.dsoToggleClick=n(this,"dsoToggleClick",3);this.dsoAnimationStart=n(this,"dsoAnimationStart",3);this.dsoAnimationEnd=n(this,"dsoAnimationEnd",3);this.heading="h2";this.open=false;this.hasNestedAccordion=false;this.activatable=false;this.active=false;this.hover=false;this.handleClick=o=>{this.dsoToggleClick.emit({originalEvent:o,open:!this.open})};this.handleActiveChange=o=>{this.dsoActiveChange.emit({current:Boolean(this.active),next:!this.active,originalEvent:o})};this.handleExpandableAnimationStart=o=>{this.dsoAnimationStart.emit({animation:this.open?"opening":"closing",scrollIntoView:(n="auto")=>this.scrollIntoView(o.detail.bodyHeight,n)})};this.handleExpandableAnimationEnd=o=>{this.dsoAnimationEnd.emit({open:this.open,scrollIntoView:(n="auto")=>this.scrollIntoView(o.detail.bodyHeight,n)})}}async focusHandle(){var o;(o=this.handleElementRef)===null||o===void 0?void 0:o.focus()}get containsNestedAccordion(){return this.host.querySelector("dso-accordion")!==null}componentWillLoad(){var o;(o=this.accordion)===null||o===void 0?void 0:o._getState().then((o=>{this.accordionState=o;t(this.host)}))}get isNeutral(){var o;return((o=this.accordionState)===null||o===void 0?void 0:o.variant)==="neutral"}async scrollIntoView(o,n="auto"){var t,s;r(`DSO Toolkit [Accordion Section] scrollIntoView(bodyHeight: ${JSON.stringify(o)}, behavior: ${JSON.stringify(n)})`);const c=(t=this.sectionBody)===null||t===void 0?void 0:t.getBoundingClientRect();const d=(s=this.sectionHeading)===null||s===void 0?void 0:s.getBoundingClientRect();r(`DSO Toolkit [Accordion Section] const bodyClientRect = ${JSON.stringify(c)};`);r(`DSO Toolkit [Accordion Section] const headingClientRect = ${JSON.stringify(d)};`);r(`DSO Toolkit [Accordion Section] this.accordionState = ${JSON.stringify(this.accordionState)};`);r(`DSO Toolkit [Accordion Section] this.open = ${JSON.stringify(this.open)};`);if(!c||!d||!this.accordionState){r(`DSO Toolkit [Accordion Section] returning`);return}const e=d.top+d.height+(this.open?o!==null&&o!==void 0?o:0:0);r(`DSO Toolkit [Accordion Section] const sectionBottomY = ${JSON.stringify(e)};`);r(`DSO Toolkit [Accordion Section] window.innerHeight = ${JSON.stringify(window.innerHeight)};`);const a=this.host.getBoundingClientRect();const i=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop;const l=document.documentElement.clientTop||document.body.clientTop||0;const h=a.top+i-l;r("DSO Toolkit [Accordion Section] scroll",{box:a,scrollTop:i,clientTop:l,top:h});if(e>window.innerHeight){r(`DSO Toolkit [Accordion Section] sectionBottomY > window.innerHeight === ${JSON.stringify(e>window.innerHeight)};`);const o=e-d.top;const t=o>window.innerHeight;r(`DSO Toolkit [Accordion Section] const expandedAccordionHeight = ${JSON.stringify(o)};`);r(`DSO Toolkit [Accordion Section] const shouldScrollToTopOfSection = ${JSON.stringify(t)};`);window.scrollTo({top:t?h:h-(window.innerHeight-o),behavior:n})}else if(d.top<0){r(`DSO Toolkit [Accordion Section] headingClientRect.top < 0 === ${JSON.stringify(d.top<0)};`);window.scrollTo({top:h,behavior:n})}}get accordion(){return this.host.closest("dso-accordion")}render(){var o;const{variant:n,reverseAlign:t}=(o=this.accordionState)!==null&&o!==void 0?o:{};const e=!!this.statusDescription||!!this.status||!!this.icon||!!this.attachmentCount;const i=this.activatable&&n==="compact-black"&&!t;return s(d,{key:"2e65f0a85688c2d52a1a337e90fdce86870bf713",class:{"dso-accordion-section":true,["dso-accordion-"+n]:!!n,"dso-nested-accordion":this.hasNestedAccordion||this.containsNestedAccordion,"dso-accordion-reverse-align":t!==null&&t!==void 0?t:false,["dso-accordion-wijzigactie-"+this.wijzigactie]:!!this.wijzigactie,"dso-accordion-section-activate":i},hidden:!n,onMouseenter:()=>this.hover=true,onMouseleave:()=>this.hover=false},s(h,{key:"0ba35033762292d6467ba90f7df97e169c870db5",heading:this.heading,ref:o=>this.sectionHeading=o},s(l,{key:"95c07f60960daf7d2718e6bd4fdd4723b1b9a1c3",handleUrl:this.handleUrl,onClick:this.handleClick,open:this.open,showSlideToggle:i,active:this.active,onActiveChange:this.handleActiveChange,handleElementRef:o=>this.handleElementRef=o},t?s(c,null,this.icon&&s("div",{class:"dso-section-handle-addons"},s(p,{icon:this.icon})),s("dso-renvooi",{value:this.handleTitle}),this.label&&s("dso-label",{status:this.labelStatus,compact:true},this.label),s("div",{class:"dso-section-handle-addons"},this.statusDescription&&s("span",{class:"dso-status"},this.statusDescription),s("dso-icon",{class:"dso-section-handle-chevron",icon:"chevron-down"}))):s(c,null,s("dso-icon",{class:"dso-section-handle-chevron",icon:"chevron-right"}),this.status&&s("span",{class:"sr-only"},a[this.status]),s("span",null,s("dso-renvooi",{value:this.handleTitle}),this.isNeutral&&s("dso-icon",{class:"info-icon",icon:this.open||this.hover?"info-active":"info"})),this.label&&s("dso-label",{status:this.labelStatus,compact:true},this.label),e&&s("div",{class:"dso-section-handle-addons"},this.statusDescription&&s("span",{class:"dso-status"},this.statusDescription),s(p,{state:this.status,icon:this.icon,attachmentCount:this.attachmentCount}))))),s("dso-expandable",{key:"72113b4b9c53aa6ca84d481464e0e1bc39e57c6d",class:"dso-section-body",open:this.open,enableAnimation:true,minimumHeight:this.isNeutral?0:4,onDsoExpandableAnimationStart:this.handleExpandableAnimationStart,onDsoExpandableAnimationEnd:this.handleExpandableAnimationEnd},s("div",{key:"6a2e4e4ab8bace1e7ba6784c81bb1c1171774ffc",class:"dso-section-body-content",ref:o=>this.sectionBody=o},s("slot",{key:"9e5190299f7eda51678bf06e172525fd378b05e8"}))))}get host(){return e(this)}};u.style=i;export{u as dso_accordion_section};
|
|
2
|
+
//# sourceMappingURL=p-dcfb330c.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["stateMap","success","info","warning","danger","error","accordionSectionCss","log","window","console","bind","HandleElement","handleUrl","onClick","open","showSlideToggle","active","onActiveChange","handleElementRef","children","h","Fragment","href","ref","accessibleLabel","checked","onDsoActiveChange","type","Handle","heading","class","HandleIcon","state","icon","attachmentCount","HandleStateIcon","count","AccordionSection","constructor","hostRef","this","hasNestedAccordion","activatable","hover","handleClick","event","dsoToggleClick","emit","originalEvent","handleActiveChange","dsoActiveChange","current","Boolean","next","handleExpandableAnimationStart","e","dsoAnimationStart","animation","scrollIntoView","behavior","detail","bodyHeight","handleExpandableAnimationEnd","dsoAnimationEnd","focusHandle","_a","focus","containsNestedAccordion","host","querySelector","componentWillLoad","accordion","_getState","then","accordionState","forceUpdate","isNeutral","variant","JSON","stringify","bodyClientRect","sectionBody","getBoundingClientRect","headingClientRect","_b","sectionHeading","sectionBottomY","top","height","innerHeight","box","scrollTop","scrollY","document","documentElement","body","clientTop","expandedAccordionHeight","shouldScrollToTopOfSection","scrollTo","closest","render","reverseAlign","hasAddons","statusDescription","status","Host","key","wijzigactie","hidden","onMouseenter","onMouseleave","element","value","handleTitle","label","labelStatus","compact","enableAnimation","minimumHeight","onDsoExpandableAnimationStart","onDsoExpandableAnimationEnd"],"sources":["src/components/accordion/components/accordion-section.interfaces.ts","src/components/accordion/components/accordion-section.scss?tag=dso-accordion-section&encapsulation=shadow","src/components/accordion/components/accordion-section.tsx"],"sourcesContent":["export type AccordionSectionState = \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\";\r\n\r\nexport type AccordionHeading = \"h2\" | \"h3\" | \"h4\" | \"h5\";\r\n\r\nexport type AccordionSectionWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nexport const stateMap: Record<AccordionSectionState, string> = {\r\n success: \"succes:\",\r\n info: \"info:\",\r\n warning: \"waarschuwing:\",\r\n danger: \"fout:\",\r\n error: \"fout:\",\r\n};\r\n\r\nexport interface AccordionSectionToggleClickEvent {\r\n /**\r\n * The original MouseEvent that triggered the click.\r\n *\r\n * In case the Section Handle is an <a> this event can be used to preventDefault() so the framework router is reponsible for navigating the user.\r\n */\r\n originalEvent?: MouseEvent;\r\n\r\n /**\r\n * The requested state. If the Accordion Section is closed, `open = true`.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionAnimationStartEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * Whether or not the Accordion opening or closing.\r\n */\r\n animation: \"opening\" | \"closing\";\r\n}\r\n\r\nexport interface AccordionSectionAnimationEndEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * The state of the Accordion Section after animation.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionActiveChangeEvent {\r\n /**\r\n * De current status van de Accordion Section.\r\n */\r\n current: boolean;\r\n\r\n /**\r\n * De desired status van de Accordion Section.\r\n */\r\n next: boolean;\r\n\r\n originalEvent: Event;\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n\r\n@use \"~dso-toolkit/src/components/link\";\r\n\r\n@use \"../accordion.variables\" as accordion-variables;\r\n\r\n@use \"accordion-section-theme-compact\";\r\n@use \"accordion-section-theme-compact-black\";\r\n@use \"accordion-section-theme-conclusion\";\r\n@use \"accordion-section-theme-default\";\r\n@use \"accordion-section-theme-neutral\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n:host {\r\n display: block;\r\n --_dso-accordion-margin-block-end: 0;\r\n\r\n .dso-section-handle {\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion-variables.$handle-line-height;\r\n margin: 0;\r\n position: relative;\r\n\r\n > a:active {\r\n text-decoration: none;\r\n }\r\n\r\n a {\r\n @include link.clean();\r\n }\r\n\r\n .dso-status {\r\n color: colors.$zwart;\r\n font-size: typography.$font-size-small;\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n .dso-section-handle > button,\r\n .dso-section-handle > a {\r\n align-items: flex-start;\r\n background-color: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n display: flex;\r\n font-family: typography.$font-family-base;\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion-variables.$handle-line-height;\r\n margin: 0;\r\n padding-block: accordion-variables.$block-padding;\r\n padding-inline: accordion-variables.$inline-padding;\r\n text-align: start;\r\n inline-size: 100%;\r\n overflow-wrap: anywhere;\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n\r\n &.dso-section-handle-chevron {\r\n @include utilities.transition(transform);\r\n\r\n transform: rotate(0);\r\n }\r\n }\r\n\r\n > .dso-section-handle-addons:first-child,\r\n > dso-icon:first-child {\r\n margin-inline-end: units.$u1;\r\n }\r\n\r\n > dso-icon:last-child {\r\n margin-inline-start: auto;\r\n }\r\n\r\n > .dso-section-handle-addons:last-child {\r\n margin-inline-start: auto;\r\n\r\n dso-attachments-counter,\r\n dso-icon {\r\n margin-inline-start: units.$u1;\r\n }\r\n }\r\n\r\n > dso-label {\r\n margin-inline-start: auto;\r\n padding-inline-start: units.$u1;\r\n word-break: normal;\r\n\r\n & + dso-icon:last-child,\r\n & + .dso-section-handle-addons:last-child {\r\n margin-inline-start: units.$u1;\r\n }\r\n }\r\n }\r\n}\r\n\r\n:host([open]:not([open=\"false\"])) {\r\n .dso-section-handle {\r\n > button,\r\n > a {\r\n .dso-section-handle-chevron {\r\n &:first-child {\r\n transform: rotate(90deg);\r\n }\r\n\r\n &:last-child {\r\n transform: rotate(-180deg);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dso-section-body {\r\n background-color: colors.$wit;\r\n border-block-start: 0;\r\n\r\n .dso-section-body-content {\r\n padding-block: units.$u2 + accordion-variables.$border-radius units.$u2;\r\n padding-inline: units.$u2;\r\n }\r\n}\r\n\r\n// Default\r\n:host(.dso-accordion-default) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default();\r\n}\r\n\r\n:host(.dso-accordion-default[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open();\r\n}\r\n\r\n:host(.dso-accordion-default.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open-nested();\r\n}\r\n\r\n// Compact\r\n:host(.dso-accordion-compact) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open-nested();\r\n}\r\n\r\n// Compact black\r\n:host(.dso-accordion-compact-black) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-section-activate) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-activate();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-voegtoe) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-voegtoe();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-verwijder();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact-black[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open-nested();\r\n}\r\n\r\n// Conclusion\r\n:host(.dso-accordion-conclusion) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion();\r\n}\r\n\r\n:host(.dso-accordion-conclusion[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open();\r\n}\r\n\r\n:host(.dso-accordion-conclusion.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open-nested();\r\n}\r\n\r\n// Neutral\r\n:host(.dso-accordion-neutral) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral();\r\n}\r\n\r\n:host(.dso-accordion-neutral[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open();\r\n}\r\n\r\n:host(.dso-accordion-neutral.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open-nested();\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 FunctionalComponent,\r\n Host,\r\n Method,\r\n Prop,\r\n State,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\n\r\nimport { DsoSlideToggleCustomEvent } from \"../../../components\";\r\nimport { ExpandableAnimationEndEvent } from \"../../expandable/expandable\";\r\nimport { LabelStatus } from \"../../label/label.interfaces\";\r\nimport { RenvooiValue } from \"../../renvooi/renvooi.interfaces\";\r\nimport { SlideToggleActiveEvent } from \"../../slide-toggle/slide-toggle.interfaces\";\r\nimport { AccordionInternalState } from \"../accordion.interfaces\";\r\n\r\nimport {\r\n AccordionHeading,\r\n AccordionSectionActiveChangeEvent,\r\n AccordionSectionAnimationEndEvent,\r\n AccordionSectionAnimationStartEvent,\r\n AccordionSectionState,\r\n AccordionSectionToggleClickEvent,\r\n AccordionSectionWijzigactie,\r\n stateMap,\r\n} from \"./accordion-section.interfaces\";\r\n\r\n// eslint-disable-next-line no-console\r\nconst log = (window as any)[\"_dsoLog\"] === true ? console.log.bind(console.log) : function () {};\r\n\r\nconst HandleElement: FunctionalComponent<{\r\n handleUrl: string | undefined;\r\n open: boolean;\r\n showSlideToggle: boolean;\r\n active: boolean;\r\n onActiveChange: (e: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => void;\r\n handleElementRef: (element: HTMLAnchorElement | HTMLButtonElement | undefined) => void;\r\n onClick: (e: MouseEvent) => void;\r\n}> = ({ handleUrl, onClick, open, showSlideToggle, active, onActiveChange, handleElementRef }, children) => {\r\n if (handleUrl) {\r\n return (\r\n <Fragment>\r\n <a href={handleUrl} onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </a>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n\r\n return (\r\n <Fragment>\r\n <button type=\"button\" onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </button>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </Fragment>\r\n );\r\n};\r\n\r\nconst Handle: FunctionalComponent<{\r\n heading: AccordionHeading;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n}> = ({ heading, ref }, children) => {\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n return (\r\n <h2 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h2>\r\n );\r\n case \"h3\":\r\n return (\r\n <h3 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h3>\r\n );\r\n case \"h4\":\r\n return (\r\n <h4 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h4>\r\n );\r\n case \"h5\":\r\n return (\r\n <h5 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h5>\r\n );\r\n }\r\n};\r\n\r\nconst HandleIcon: FunctionalComponent<{\r\n state?: AccordionSectionState;\r\n icon?: string;\r\n attachmentCount?: number;\r\n}> = ({ state, icon, attachmentCount }) => {\r\n if (state) {\r\n return <HandleStateIcon state={state} />;\r\n }\r\n\r\n if (attachmentCount) {\r\n return <dso-attachments-counter count={attachmentCount}></dso-attachments-counter>;\r\n }\r\n\r\n if (icon) {\r\n return <dso-icon icon={icon}></dso-icon>;\r\n }\r\n};\r\n\r\nconst HandleStateIcon: FunctionalComponent<{ state: AccordionSectionState }> = ({ state }) => {\r\n if (state === \"error\") {\r\n return <dso-icon icon=\"status-error\"></dso-icon>;\r\n }\r\n\r\n if (state === \"danger\") {\r\n return <dso-icon icon=\"status-danger\"></dso-icon>;\r\n }\r\n\r\n if (state === \"success\") {\r\n return <dso-icon icon=\"status-success\"></dso-icon>;\r\n }\r\n\r\n if (state === \"info\") {\r\n return <dso-icon icon=\"status-info\"></dso-icon>;\r\n }\r\n\r\n if (state === \"warning\") {\r\n return <dso-icon icon=\"status-warning\"></dso-icon>;\r\n }\r\n};\r\n\r\n@Component({\r\n tag: \"dso-accordion-section\",\r\n styleUrl: \"accordion-section.scss\",\r\n shadow: true,\r\n})\r\nexport class AccordionSection implements ComponentInterface {\r\n private accordionState?: AccordionInternalState;\r\n\r\n private sectionBody?: HTMLDivElement;\r\n\r\n private sectionHeading?: HTMLHeadingElement;\r\n\r\n @Element()\r\n host!: HTMLDsoAccordionSectionElement;\r\n\r\n /**\r\n * The title of the handle\r\n */\r\n @Prop()\r\n handleTitle!: RenvooiValue | RenvooiValue[] | undefined;\r\n\r\n /**\r\n * An optional 'wijzigactie' that signals if the section is added or removed.\r\n */\r\n @Prop()\r\n wijzigactie?: AccordionSectionWijzigactie;\r\n\r\n /**\r\n * Which heading element to use.\r\n */\r\n @Prop()\r\n heading: AccordionHeading = \"h2\";\r\n\r\n /**\r\n * When set the handle will render as a `<a>`. When undefined it renders as a `<button>`\r\n */\r\n @Prop()\r\n handleUrl?: string;\r\n\r\n /**\r\n * `state` takes precedence over `attachmentCount` and `icon`\r\n */\r\n @Prop()\r\n status?: AccordionSectionState;\r\n\r\n /**\r\n * `attachmentCount` takes precedence over `icon`\r\n */\r\n @Prop()\r\n attachmentCount?: number;\r\n\r\n /**\r\n * To set an icon in the heading handle.\r\n */\r\n @Prop()\r\n icon?: string;\r\n\r\n /**\r\n * The status of the section.\r\n */\r\n @Prop()\r\n statusDescription?: string;\r\n\r\n /**\r\n * Set the Accordion Section open.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n /**\r\n * Set when this Accordion Section contains or will contain an Accordion.\r\n */\r\n @Prop({ reflect: true })\r\n hasNestedAccordion = false;\r\n\r\n /**\r\n * The label to be displayed in the heading handle inside a Label (optional)\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The status of the Label in the heading handle (optional)\r\n */\r\n @Prop()\r\n labelStatus?: LabelStatus;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is capable of being activated. When `true` a Slide Toggle displays\r\n * on the right in the heading handle (optional). Works only for `variant` `compact-black` and `reverseAlign` false.\r\n */\r\n @Prop({ reflect: true })\r\n activatable = false;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is `active`. Only applicable when the Accordion Section is\r\n * `activatable`.\r\n */\r\n @Prop({ reflect: true })\r\n active = false;\r\n\r\n /**\r\n * An optional event listener for changes on the value of property `active`.\r\n */\r\n @Event()\r\n dsoActiveChange!: EventEmitter<AccordionSectionActiveChangeEvent>;\r\n\r\n /**\r\n * Calling this method will set focus to the handle.\r\n */\r\n @Method()\r\n async focusHandle() {\r\n this.handleElementRef?.focus();\r\n }\r\n\r\n @State()\r\n hover = false;\r\n\r\n get containsNestedAccordion() {\r\n return this.host.querySelector(\"dso-accordion\") !== null;\r\n }\r\n\r\n componentWillLoad() {\r\n this.accordion?._getState().then((state) => {\r\n this.accordionState = state;\r\n\r\n forceUpdate(this.host);\r\n });\r\n }\r\n\r\n get isNeutral() {\r\n return this.accordionState?.variant === \"neutral\";\r\n }\r\n\r\n private async scrollIntoView(bodyHeight: number | undefined, behavior: ScrollBehavior = \"auto\"): Promise<void> {\r\n log(\r\n `DSO Toolkit [Accordion Section] scrollIntoView(bodyHeight: ${JSON.stringify(\r\n bodyHeight,\r\n )}, behavior: ${JSON.stringify(behavior)})`,\r\n );\r\n\r\n const bodyClientRect = this.sectionBody?.getBoundingClientRect();\r\n const headingClientRect = this.sectionHeading?.getBoundingClientRect();\r\n\r\n log(`DSO Toolkit [Accordion Section] const bodyClientRect = ${JSON.stringify(bodyClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] const headingClientRect = ${JSON.stringify(headingClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] this.accordionState = ${JSON.stringify(this.accordionState)};`);\r\n log(`DSO Toolkit [Accordion Section] this.open = ${JSON.stringify(this.open)};`);\r\n\r\n if (!bodyClientRect || !headingClientRect || !this.accordionState) {\r\n log(`DSO Toolkit [Accordion Section] returning`);\r\n\r\n return;\r\n }\r\n\r\n // this y is relative to the top of the viewport.\r\n const sectionBottomY = headingClientRect.top + headingClientRect.height + (this.open ? (bodyHeight ?? 0) : 0);\r\n\r\n log(`DSO Toolkit [Accordion Section] const sectionBottomY = ${JSON.stringify(sectionBottomY)};`);\r\n log(`DSO Toolkit [Accordion Section] window.innerHeight = ${JSON.stringify(window.innerHeight)};`);\r\n\r\n const box = this.host.getBoundingClientRect();\r\n\r\n const scrollTop = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop;\r\n const clientTop = document.documentElement.clientTop || document.body.clientTop || 0;\r\n const top = box.top + scrollTop - clientTop;\r\n\r\n log(\"DSO Toolkit [Accordion Section] scroll\", { box, scrollTop, clientTop, top });\r\n\r\n if (sectionBottomY > window.innerHeight) {\r\n log(\r\n `DSO Toolkit [Accordion Section] sectionBottomY > window.innerHeight === ${JSON.stringify(\r\n sectionBottomY > window.innerHeight,\r\n )};`,\r\n );\r\n\r\n const expandedAccordionHeight = sectionBottomY - headingClientRect.top;\r\n const shouldScrollToTopOfSection = expandedAccordionHeight > window.innerHeight;\r\n\r\n log(\r\n `DSO Toolkit [Accordion Section] const expandedAccordionHeight = ${JSON.stringify(expandedAccordionHeight)};`,\r\n );\r\n log(\r\n `DSO Toolkit [Accordion Section] const shouldScrollToTopOfSection = ${JSON.stringify(\r\n shouldScrollToTopOfSection,\r\n )};`,\r\n );\r\n\r\n window.scrollTo({\r\n top: shouldScrollToTopOfSection ? top : top - (window.innerHeight - expandedAccordionHeight),\r\n behavior,\r\n });\r\n } else if (headingClientRect.top < 0) {\r\n log(\r\n `DSO Toolkit [Accordion Section] headingClientRect.top < 0 === ${JSON.stringify(headingClientRect.top < 0)};`,\r\n );\r\n\r\n window.scrollTo({\r\n top,\r\n behavior,\r\n });\r\n }\r\n }\r\n\r\n private get accordion() {\r\n return this.host.closest(\"dso-accordion\");\r\n }\r\n\r\n private handleClick = (event: MouseEvent) => {\r\n this.dsoToggleClick.emit({\r\n originalEvent: event,\r\n open: !this.open,\r\n });\r\n };\r\n\r\n private handleActiveChange = (event: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => {\r\n this.dsoActiveChange.emit({\r\n current: Boolean(this.active),\r\n next: !this.active,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleExpandableAnimationStart = (e: CustomEvent<any>) => {\r\n this.dsoAnimationStart.emit({\r\n animation: this.open ? \"opening\" : \"closing\",\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n private handleExpandableAnimationEnd = (e: CustomEvent<ExpandableAnimationEndEvent>) => {\r\n this.dsoAnimationEnd.emit({\r\n open: this.open,\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n /**\r\n * Emitted when the user activates the toggle button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoToggleClick!: EventEmitter<AccordionSectionToggleClickEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section starts its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationStart!: EventEmitter<AccordionSectionAnimationStartEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section completes its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationEnd!: EventEmitter<AccordionSectionAnimationEndEvent>;\r\n\r\n private handleElementRef?: HTMLAnchorElement | HTMLButtonElement;\r\n\r\n render() {\r\n const { variant, reverseAlign } = this.accordionState ?? {};\r\n const hasAddons = !!this.statusDescription || !!this.status || !!this.icon || !!this.attachmentCount;\r\n const showSlideToggle = this.activatable && variant === \"compact-black\" && !reverseAlign;\r\n\r\n return (\r\n <Host\r\n class={{\r\n \"dso-accordion-section\": true,\r\n [\"dso-accordion-\" + variant]: !!variant,\r\n \"dso-nested-accordion\": this.hasNestedAccordion || this.containsNestedAccordion,\r\n \"dso-accordion-reverse-align\": reverseAlign ?? false,\r\n [\"dso-accordion-wijzigactie-\" + this.wijzigactie]: !!this.wijzigactie,\r\n \"dso-accordion-section-activate\": showSlideToggle,\r\n }}\r\n hidden={!variant}\r\n onMouseenter={() => (this.hover = true)}\r\n onMouseleave={() => (this.hover = false)}\r\n >\r\n <Handle heading={this.heading} ref={(element) => (this.sectionHeading = element)}>\r\n <HandleElement\r\n handleUrl={this.handleUrl}\r\n onClick={this.handleClick}\r\n open={this.open}\r\n showSlideToggle={showSlideToggle}\r\n active={this.active}\r\n onActiveChange={this.handleActiveChange}\r\n handleElementRef={(e) => (this.handleElementRef = e)}\r\n >\r\n {reverseAlign ? (\r\n <Fragment>\r\n {this.icon && (\r\n <div class=\"dso-section-handle-addons\">\r\n <HandleIcon icon={this.icon} />\r\n </div>\r\n )}\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </Fragment>\r\n ) : (\r\n <Fragment>\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-right\"></dso-icon>\r\n {this.status && <span class=\"sr-only\">{stateMap[this.status]}</span>}\r\n <span>\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.isNeutral && (\r\n <dso-icon class=\"info-icon\" icon={this.open || this.hover ? \"info-active\" : \"info\"} />\r\n )}\r\n </span>\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n {hasAddons && (\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <HandleIcon state={this.status} icon={this.icon} attachmentCount={this.attachmentCount} />\r\n </div>\r\n )}\r\n </Fragment>\r\n )}\r\n </HandleElement>\r\n </Handle>\r\n <dso-expandable\r\n class=\"dso-section-body\"\r\n open={this.open}\r\n enableAnimation\r\n minimumHeight={this.isNeutral ? 0 : 4}\r\n onDsoExpandableAnimationStart={this.handleExpandableAnimationStart}\r\n onDsoExpandableAnimationEnd={this.handleExpandableAnimationEnd}\r\n >\r\n <div class=\"dso-section-body-content\" ref={(element) => (this.sectionBody = element)}>\r\n <slot />\r\n </div>\r\n </dso-expandable>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["stateMap","success","info","warning","danger","error","accordionSectionCss","log","window","console","bind","HandleElement","handleUrl","onClick","open","showSlideToggle","active","onActiveChange","handleElementRef","children","h","Fragment","href","ref","accessibleLabel","checked","onDsoActiveChange","type","Handle","heading","class","HandleIcon","state","icon","attachmentCount","HandleStateIcon","count","AccordionSection","constructor","hostRef","this","hasNestedAccordion","activatable","hover","handleClick","event","dsoToggleClick","emit","originalEvent","handleActiveChange","dsoActiveChange","current","Boolean","next","handleExpandableAnimationStart","e","dsoAnimationStart","animation","scrollIntoView","behavior","detail","bodyHeight","handleExpandableAnimationEnd","dsoAnimationEnd","focusHandle","_a","focus","containsNestedAccordion","host","querySelector","componentWillLoad","accordion","_getState","then","accordionState","forceUpdate","isNeutral","variant","JSON","stringify","bodyClientRect","sectionBody","getBoundingClientRect","headingClientRect","_b","sectionHeading","sectionBottomY","top","height","innerHeight","box","scrollTop","scrollY","document","documentElement","body","clientTop","expandedAccordionHeight","shouldScrollToTopOfSection","scrollTo","closest","render","reverseAlign","hasAddons","statusDescription","status","Host","key","wijzigactie","hidden","onMouseenter","onMouseleave","element","value","handleTitle","label","labelStatus","compact","enableAnimation","minimumHeight","onDsoExpandableAnimationStart","onDsoExpandableAnimationEnd"],"sources":["src/components/accordion/components/accordion-section.interfaces.ts","src/components/accordion/components/accordion-section.scss?tag=dso-accordion-section&encapsulation=shadow","src/components/accordion/components/accordion-section.tsx"],"sourcesContent":["export type AccordionSectionState = \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\";\r\n\r\nexport type AccordionHeading = \"h2\" | \"h3\" | \"h4\" | \"h5\";\r\n\r\nexport type AccordionSectionWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nexport const stateMap: Record<AccordionSectionState, string> = {\r\n success: \"succes:\",\r\n info: \"info:\",\r\n warning: \"waarschuwing:\",\r\n danger: \"fout:\",\r\n error: \"fout:\",\r\n};\r\n\r\nexport interface AccordionSectionToggleClickEvent {\r\n /**\r\n * The original MouseEvent that triggered the click.\r\n *\r\n * In case the Section Handle is an <a> this event can be used to preventDefault() so the framework router is reponsible for navigating the user.\r\n */\r\n originalEvent?: MouseEvent;\r\n\r\n /**\r\n * The requested state. If the Accordion Section is closed, `open = true`.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionAnimationStartEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * Whether or not the Accordion opening or closing.\r\n */\r\n animation: \"opening\" | \"closing\";\r\n}\r\n\r\nexport interface AccordionSectionAnimationEndEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * The state of the Accordion Section after animation.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionActiveChangeEvent {\r\n /**\r\n * De current status van de Accordion Section.\r\n */\r\n current: boolean;\r\n\r\n /**\r\n * De desired status van de Accordion Section.\r\n */\r\n next: boolean;\r\n\r\n originalEvent: Event;\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n\r\n@use \"~dso-toolkit/src/components/link\";\r\n\r\n@use \"../accordion.variables\" as accordion-variables;\r\n\r\n@use \"accordion-section-theme-compact\";\r\n@use \"accordion-section-theme-compact-black\";\r\n@use \"accordion-section-theme-conclusion\";\r\n@use \"accordion-section-theme-default\";\r\n@use \"accordion-section-theme-neutral\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n:host {\r\n display: block;\r\n --_dso-accordion-margin-block-end: 0;\r\n\r\n .dso-section-handle {\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion-variables.$handle-line-height;\r\n margin: 0;\r\n position: relative;\r\n\r\n > a:active {\r\n text-decoration: none;\r\n }\r\n\r\n a {\r\n @include link.clean();\r\n }\r\n\r\n .dso-status {\r\n color: colors.$zwart;\r\n font-size: typography.$font-size-small;\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n .dso-section-handle > button,\r\n .dso-section-handle > a {\r\n align-items: flex-start;\r\n background-color: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n display: flex;\r\n font-family: typography.$font-family-base;\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion-variables.$handle-line-height;\r\n margin: 0;\r\n padding-block: accordion-variables.$block-padding;\r\n padding-inline: accordion-variables.$inline-padding;\r\n text-align: start;\r\n inline-size: 100%;\r\n overflow-wrap: anywhere;\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n\r\n &.dso-section-handle-chevron {\r\n @include utilities.transition(transform);\r\n\r\n transform: rotate(0);\r\n }\r\n }\r\n\r\n > .dso-section-handle-addons:first-child,\r\n > dso-icon:first-child {\r\n margin-inline-end: units.$u1;\r\n }\r\n\r\n > dso-icon:last-child {\r\n margin-inline-start: auto;\r\n }\r\n\r\n > .dso-section-handle-addons:last-child {\r\n margin-inline-start: auto;\r\n\r\n dso-attachments-counter,\r\n dso-icon {\r\n margin-inline-start: units.$u1;\r\n }\r\n }\r\n\r\n > dso-label {\r\n margin-inline-start: auto;\r\n padding-inline-start: units.$u1;\r\n word-break: normal;\r\n\r\n & + dso-icon:last-child,\r\n & + .dso-section-handle-addons:last-child {\r\n margin-inline-start: units.$u1;\r\n }\r\n }\r\n }\r\n}\r\n\r\n:host([open]:not([open=\"false\"])) {\r\n .dso-section-handle {\r\n > button,\r\n > a {\r\n .dso-section-handle-chevron {\r\n &:first-child {\r\n transform: rotate(90deg);\r\n }\r\n\r\n &:last-child {\r\n transform: rotate(-180deg);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dso-section-body {\r\n background-color: colors.$wit;\r\n border-block-start: 0;\r\n\r\n .dso-section-body-content {\r\n padding-block: units.$u2 + accordion-variables.$border-radius units.$u2;\r\n padding-inline: units.$u2;\r\n }\r\n}\r\n\r\n// Default\r\n:host(.dso-accordion-default) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default();\r\n}\r\n\r\n:host(.dso-accordion-default[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open();\r\n}\r\n\r\n:host(.dso-accordion-default.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open-nested();\r\n}\r\n\r\n// Compact\r\n:host(.dso-accordion-compact) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open-nested();\r\n}\r\n\r\n// Compact black\r\n:host(.dso-accordion-compact-black) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-section-activate) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-activate();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-voegtoe) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-voegtoe();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-verwijder();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact-black[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open-nested();\r\n}\r\n\r\n// Conclusion\r\n:host(.dso-accordion-conclusion) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion();\r\n}\r\n\r\n:host(.dso-accordion-conclusion[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open();\r\n}\r\n\r\n:host(.dso-accordion-conclusion.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open-nested();\r\n}\r\n\r\n// Neutral\r\n:host(.dso-accordion-neutral) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral();\r\n}\r\n\r\n:host(.dso-accordion-neutral[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open();\r\n}\r\n\r\n:host(.dso-accordion-neutral.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open-nested();\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 FunctionalComponent,\r\n Host,\r\n Method,\r\n Prop,\r\n State,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\n\r\nimport { DsoSlideToggleCustomEvent } from \"../../../components\";\r\nimport { ExpandableAnimationEndEvent } from \"../../expandable/expandable\";\r\nimport { LabelStatus } from \"../../label/label.interfaces\";\r\nimport { RenvooiValue } from \"../../renvooi/renvooi.interfaces\";\r\nimport { SlideToggleActiveEvent } from \"../../slide-toggle/slide-toggle.interfaces\";\r\nimport { AccordionInternalState } from \"../accordion.interfaces\";\r\n\r\nimport {\r\n AccordionHeading,\r\n AccordionSectionActiveChangeEvent,\r\n AccordionSectionAnimationEndEvent,\r\n AccordionSectionAnimationStartEvent,\r\n AccordionSectionState,\r\n AccordionSectionToggleClickEvent,\r\n AccordionSectionWijzigactie,\r\n stateMap,\r\n} from \"./accordion-section.interfaces\";\r\n\r\n// eslint-disable-next-line no-console\r\nconst log = (window as any)[\"_dsoLog\"] === true ? console.log.bind(console.log) : function () {};\r\n\r\nconst HandleElement: FunctionalComponent<{\r\n handleUrl: string | undefined;\r\n open: boolean;\r\n showSlideToggle: boolean;\r\n active: boolean;\r\n onActiveChange: (e: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => void;\r\n handleElementRef: (element: HTMLAnchorElement | HTMLButtonElement | undefined) => void;\r\n onClick: (e: MouseEvent) => void;\r\n}> = ({ handleUrl, onClick, open, showSlideToggle, active, onActiveChange, handleElementRef }, children) => {\r\n if (handleUrl) {\r\n return (\r\n <Fragment>\r\n <a href={handleUrl} onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </a>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n\r\n return (\r\n <Fragment>\r\n <button type=\"button\" onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </button>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </Fragment>\r\n );\r\n};\r\n\r\nconst Handle: FunctionalComponent<{\r\n heading: AccordionHeading;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n}> = ({ heading, ref }, children) => {\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n return (\r\n <h2 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h2>\r\n );\r\n case \"h3\":\r\n return (\r\n <h3 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h3>\r\n );\r\n case \"h4\":\r\n return (\r\n <h4 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h4>\r\n );\r\n case \"h5\":\r\n return (\r\n <h5 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h5>\r\n );\r\n }\r\n};\r\n\r\nconst HandleIcon: FunctionalComponent<{\r\n state?: AccordionSectionState;\r\n icon?: string;\r\n attachmentCount?: number;\r\n}> = ({ state, icon, attachmentCount }) => {\r\n if (state) {\r\n return <HandleStateIcon state={state} />;\r\n }\r\n\r\n if (attachmentCount) {\r\n return <dso-attachments-counter count={attachmentCount}></dso-attachments-counter>;\r\n }\r\n\r\n if (icon) {\r\n return <dso-icon icon={icon}></dso-icon>;\r\n }\r\n};\r\n\r\nconst HandleStateIcon: FunctionalComponent<{ state: AccordionSectionState }> = ({ state }) => {\r\n if (state === \"error\") {\r\n return <dso-icon icon=\"status-error\"></dso-icon>;\r\n }\r\n\r\n if (state === \"danger\") {\r\n return <dso-icon icon=\"status-danger\"></dso-icon>;\r\n }\r\n\r\n if (state === \"success\") {\r\n return <dso-icon icon=\"status-success\"></dso-icon>;\r\n }\r\n\r\n if (state === \"info\") {\r\n return <dso-icon icon=\"status-info\"></dso-icon>;\r\n }\r\n\r\n if (state === \"warning\") {\r\n return <dso-icon icon=\"status-warning\"></dso-icon>;\r\n }\r\n};\r\n\r\n@Component({\r\n tag: \"dso-accordion-section\",\r\n styleUrl: \"accordion-section.scss\",\r\n shadow: true,\r\n})\r\nexport class AccordionSection implements ComponentInterface {\r\n private accordionState?: AccordionInternalState;\r\n\r\n private sectionBody?: HTMLDivElement;\r\n\r\n private sectionHeading?: HTMLHeadingElement;\r\n\r\n @Element()\r\n host!: HTMLDsoAccordionSectionElement;\r\n\r\n /**\r\n * The title of the handle\r\n */\r\n @Prop()\r\n handleTitle!: RenvooiValue | RenvooiValue[] | undefined;\r\n\r\n /**\r\n * An optional 'wijzigactie' that signals if the section is added or removed.\r\n */\r\n @Prop()\r\n wijzigactie?: AccordionSectionWijzigactie;\r\n\r\n /**\r\n * Which heading element to use.\r\n */\r\n @Prop()\r\n heading: AccordionHeading = \"h2\";\r\n\r\n /**\r\n * When set the handle will render as a `<a>`. When undefined it renders as a `<button>`\r\n */\r\n @Prop()\r\n handleUrl?: string;\r\n\r\n /**\r\n * `state` takes precedence over `attachmentCount` and `icon`\r\n */\r\n @Prop()\r\n status?: AccordionSectionState;\r\n\r\n /**\r\n * `attachmentCount` takes precedence over `icon`\r\n */\r\n @Prop()\r\n attachmentCount?: number;\r\n\r\n /**\r\n * To set an icon in the heading handle.\r\n */\r\n @Prop()\r\n icon?: string;\r\n\r\n /**\r\n * The status of the section.\r\n */\r\n @Prop()\r\n statusDescription?: string;\r\n\r\n /**\r\n * Set the Accordion Section open.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n /**\r\n * Set when this Accordion Section contains or will contain an Accordion.\r\n */\r\n @Prop({ reflect: true })\r\n hasNestedAccordion = false;\r\n\r\n /**\r\n * The label to be displayed in the heading handle inside a Label (optional)\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The status of the Label in the heading handle (optional)\r\n */\r\n @Prop()\r\n labelStatus?: LabelStatus;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is capable of being activated. When `true` a Slide Toggle displays\r\n * on the right in the heading handle (optional). Works only for `variant` `compact-black` and `reverseAlign` false.\r\n */\r\n @Prop({ reflect: true })\r\n activatable = false;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is `active`. Only applicable when the Accordion Section is\r\n * `activatable`.\r\n */\r\n @Prop({ reflect: true })\r\n active = false;\r\n\r\n /**\r\n * An optional event listener for changes on the value of property `active`.\r\n */\r\n @Event()\r\n dsoActiveChange!: EventEmitter<AccordionSectionActiveChangeEvent>;\r\n\r\n /**\r\n * Calling this method will set focus to the handle.\r\n */\r\n @Method()\r\n async focusHandle() {\r\n this.handleElementRef?.focus();\r\n }\r\n\r\n @State()\r\n hover = false;\r\n\r\n get containsNestedAccordion() {\r\n return this.host.querySelector(\"dso-accordion\") !== null;\r\n }\r\n\r\n componentWillLoad() {\r\n this.accordion?._getState().then((state) => {\r\n this.accordionState = state;\r\n\r\n forceUpdate(this.host);\r\n });\r\n }\r\n\r\n get isNeutral() {\r\n return this.accordionState?.variant === \"neutral\";\r\n }\r\n\r\n private async scrollIntoView(bodyHeight: number | undefined, behavior: ScrollBehavior = \"auto\"): Promise<void> {\r\n log(\r\n `DSO Toolkit [Accordion Section] scrollIntoView(bodyHeight: ${JSON.stringify(\r\n bodyHeight,\r\n )}, behavior: ${JSON.stringify(behavior)})`,\r\n );\r\n\r\n const bodyClientRect = this.sectionBody?.getBoundingClientRect();\r\n const headingClientRect = this.sectionHeading?.getBoundingClientRect();\r\n\r\n log(`DSO Toolkit [Accordion Section] const bodyClientRect = ${JSON.stringify(bodyClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] const headingClientRect = ${JSON.stringify(headingClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] this.accordionState = ${JSON.stringify(this.accordionState)};`);\r\n log(`DSO Toolkit [Accordion Section] this.open = ${JSON.stringify(this.open)};`);\r\n\r\n if (!bodyClientRect || !headingClientRect || !this.accordionState) {\r\n log(`DSO Toolkit [Accordion Section] returning`);\r\n\r\n return;\r\n }\r\n\r\n // this y is relative to the top of the viewport.\r\n const sectionBottomY = headingClientRect.top + headingClientRect.height + (this.open ? (bodyHeight ?? 0) : 0);\r\n\r\n log(`DSO Toolkit [Accordion Section] const sectionBottomY = ${JSON.stringify(sectionBottomY)};`);\r\n log(`DSO Toolkit [Accordion Section] window.innerHeight = ${JSON.stringify(window.innerHeight)};`);\r\n\r\n const box = this.host.getBoundingClientRect();\r\n\r\n const scrollTop = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop;\r\n const clientTop = document.documentElement.clientTop || document.body.clientTop || 0;\r\n const top = box.top + scrollTop - clientTop;\r\n\r\n log(\"DSO Toolkit [Accordion Section] scroll\", { box, scrollTop, clientTop, top });\r\n\r\n if (sectionBottomY > window.innerHeight) {\r\n log(\r\n `DSO Toolkit [Accordion Section] sectionBottomY > window.innerHeight === ${JSON.stringify(\r\n sectionBottomY > window.innerHeight,\r\n )};`,\r\n );\r\n\r\n const expandedAccordionHeight = sectionBottomY - headingClientRect.top;\r\n const shouldScrollToTopOfSection = expandedAccordionHeight > window.innerHeight;\r\n\r\n log(\r\n `DSO Toolkit [Accordion Section] const expandedAccordionHeight = ${JSON.stringify(expandedAccordionHeight)};`,\r\n );\r\n log(\r\n `DSO Toolkit [Accordion Section] const shouldScrollToTopOfSection = ${JSON.stringify(\r\n shouldScrollToTopOfSection,\r\n )};`,\r\n );\r\n\r\n window.scrollTo({\r\n top: shouldScrollToTopOfSection ? top : top - (window.innerHeight - expandedAccordionHeight),\r\n behavior,\r\n });\r\n } else if (headingClientRect.top < 0) {\r\n log(\r\n `DSO Toolkit [Accordion Section] headingClientRect.top < 0 === ${JSON.stringify(headingClientRect.top < 0)};`,\r\n );\r\n\r\n window.scrollTo({\r\n top,\r\n behavior,\r\n });\r\n }\r\n }\r\n\r\n private get accordion() {\r\n return this.host.closest(\"dso-accordion\");\r\n }\r\n\r\n private handleClick = (event: MouseEvent) => {\r\n this.dsoToggleClick.emit({\r\n originalEvent: event,\r\n open: !this.open,\r\n });\r\n };\r\n\r\n private handleActiveChange = (event: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => {\r\n this.dsoActiveChange.emit({\r\n current: Boolean(this.active),\r\n next: !this.active,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleExpandableAnimationStart = (e: CustomEvent<any>) => {\r\n this.dsoAnimationStart.emit({\r\n animation: this.open ? \"opening\" : \"closing\",\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n private handleExpandableAnimationEnd = (e: CustomEvent<ExpandableAnimationEndEvent>) => {\r\n this.dsoAnimationEnd.emit({\r\n open: this.open,\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n /**\r\n * Emitted when the user activates the toggle button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoToggleClick!: EventEmitter<AccordionSectionToggleClickEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section starts its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationStart!: EventEmitter<AccordionSectionAnimationStartEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section completes its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationEnd!: EventEmitter<AccordionSectionAnimationEndEvent>;\r\n\r\n private handleElementRef?: HTMLAnchorElement | HTMLButtonElement;\r\n\r\n render() {\r\n const { variant, reverseAlign } = this.accordionState ?? {};\r\n const hasAddons = !!this.statusDescription || !!this.status || !!this.icon || !!this.attachmentCount;\r\n const showSlideToggle = this.activatable && variant === \"compact-black\" && !reverseAlign;\r\n\r\n return (\r\n <Host\r\n class={{\r\n \"dso-accordion-section\": true,\r\n [\"dso-accordion-\" + variant]: !!variant,\r\n \"dso-nested-accordion\": this.hasNestedAccordion || this.containsNestedAccordion,\r\n \"dso-accordion-reverse-align\": reverseAlign ?? false,\r\n [\"dso-accordion-wijzigactie-\" + this.wijzigactie]: !!this.wijzigactie,\r\n \"dso-accordion-section-activate\": showSlideToggle,\r\n }}\r\n hidden={!variant}\r\n onMouseenter={() => (this.hover = true)}\r\n onMouseleave={() => (this.hover = false)}\r\n >\r\n <Handle heading={this.heading} ref={(element) => (this.sectionHeading = element)}>\r\n <HandleElement\r\n handleUrl={this.handleUrl}\r\n onClick={this.handleClick}\r\n open={this.open}\r\n showSlideToggle={showSlideToggle}\r\n active={this.active}\r\n onActiveChange={this.handleActiveChange}\r\n handleElementRef={(e) => (this.handleElementRef = e)}\r\n >\r\n {reverseAlign ? (\r\n <Fragment>\r\n {this.icon && (\r\n <div class=\"dso-section-handle-addons\">\r\n <HandleIcon icon={this.icon} />\r\n </div>\r\n )}\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </Fragment>\r\n ) : (\r\n <Fragment>\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-right\"></dso-icon>\r\n {this.status && <span class=\"sr-only\">{stateMap[this.status]}</span>}\r\n <span>\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.isNeutral && (\r\n <dso-icon class=\"info-icon\" icon={this.open || this.hover ? \"info-active\" : \"info\"} />\r\n )}\r\n </span>\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n {hasAddons && (\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <HandleIcon state={this.status} icon={this.icon} attachmentCount={this.attachmentCount} />\r\n </div>\r\n )}\r\n </Fragment>\r\n )}\r\n </HandleElement>\r\n </Handle>\r\n <dso-expandable\r\n class=\"dso-section-body\"\r\n open={this.open}\r\n enableAnimation\r\n minimumHeight={this.isNeutral ? 0 : 4}\r\n onDsoExpandableAnimationStart={this.handleExpandableAnimationStart}\r\n onDsoExpandableAnimationEnd={this.handleExpandableAnimationEnd}\r\n >\r\n <div class=\"dso-section-body-content\" ref={(element) => (this.sectionBody = element)}>\r\n <slot />\r\n </div>\r\n </dso-expandable>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{h as e,F as t,r as o,c as i}from"./p-DxWmN7gh.js";import{c as n}from"./p-ChV9xqsO.js";const s=({owner:o,ancestors:i,item:r,index:a,level:l,setSize:c})=>{var d,u,h,p;return e("li",{key:r.id,class:n("tree-item",{"has-child":r.hasItems,"is-expanded":!!r.open&&!!((d=r.items)===null||d===void 0?void 0:d.length)}),role:"none"},e("div",{class:"tree-branch-control"},r.hasItems?e("div",{onClick:e=>o.itemClick(e,i,r)},e("dso-icon",{icon:r.open?"minus-square":"plus-square"})):e("dso-icon",null)),e("p",{class:n("tree-content",{active:r.active},{selected:r.selected}),tabindex:l===1&&a===0?0:-1,role:"treeitem","aria-expanded":r.hasItems?""+(!!r.open&&!!((u=r.items)===null||u===void 0?void 0:u.length)):undefined,"aria-current":r.active?"true":undefined,"aria-level":l,"aria-setsize":c,"aria-posinset":a+1,"aria-busy":r.loading?"true":undefined,"data-item-id":r.id,onClick:e=>o.itemClick(e,i,r)},r.selected&&e("span",{class:"sr-only"},"Resultaat: "),r.href?e("a",{href:r.href,tabindex:"-1"},r.label):e("span",null,r.label),(h=r.icons)===null||h===void 0?void 0:h.map((t=>e("dso-icon",{icon:t.icon,title:t.label})))),r.open&&e(t,null,r.hasItems&&!r.items&&r.loading?e("dso-progress-indicator",{size:"small",label:"Resultaten laden: een moment geduld alstublieft."}):e("ul",{role:"group"},(p=r.items)===null||p===void 0?void 0:p.map(((t,n,a)=>e(s,{owner:o,ancestors:[...i,r],item:t,index:n,level:l+1,setSize:a.length}))))))};const r=':host ul{list-style-type:none;padding-inline-start:32px;position:relative}:host li{position:relative}:host ul[role=tree]{padding-inline-start:0}:host ul[role=group]::before{border-inline-start:1px solid #275937;content:"";block-size:8px;inset-inline-start:44px;position:absolute;inset-block-start:0;inline-size:0}:host li:not(.has-child)::before{border-block-start:1px solid #275937;content:"";block-size:0;inset-inline-start:12px;position:absolute;inset-block-start:20px;inline-size:16px}:host li:not(.has-child)::after{border-inline-start:1px solid #275937;content:"";block-size:100%;inset-inline-start:12px;position:absolute;inset-block-start:8px;inline-size:0}:host li:not(.has-child):last-child::after{block-size:20px;inset-block-start:0}:host li.has-child::before{border-block-start:1px solid #275937;content:"";block-size:0;inset-inline-start:24px;position:absolute;inset-block-start:20px;inline-size:4px}:host li.has-child:not(:last-child)::after{border-inline-start:1px solid #275937;content:"";block-size:calc(100% - 24px);inset-inline-start:12px;position:absolute;inset-block-start:32px;inline-size:0}:host li.has-child.is-expanded:last-child::after{border-inline-start:1px solid #275937;content:"";block-size:calc(100% - 32px);inset-inline-start:12px;position:absolute;inset-block-start:32px;inline-size:0}:host .tree-branch-control{color:#39870c;display:inline-block;font-size:16px;margin-block:8px;margin-inline:0 8px;vertical-align:top}:host .tree-branch-control>div{cursor:pointer}:host .tree-content{cursor:pointer;display:inline-block;margin-block:8px;margin-inline:0;max-inline-size:calc(100% - 40px)}:host .tree-content a{color:#191919;text-decoration:underline}:host .tree-content a:hover,:host .tree-content a:focus{color:#191919;text-decoration:none}:host .tree-content a:active{text-decoration:none}:host .tree-content.selected{color:#191919;font-weight:700;text-decoration:underline}:host .tree-content.selected:hover,:host .tree-content.selected:focus{text-decoration:none}:host .tree-content.active{color:#8b4a6a;font-style:italic;font-weight:700;text-decoration:underline}:host .tree-content.active:hover,:host .tree-content.active:focus{text-decoration:none}:host .tree-content.active a{color:#8b4a6a}:host .tree-content.active a:hover,:host .tree-content.active a:focus{text-decoration:none}:host .tree-content dso-icon{color:#39870c;font-size:0.75em;margin-inline-start:0.5em;vertical-align:text-bottom}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip-path:inset(0)}';const a=class{constructor(e){o(this,e);this.dsoOpenItem=i(this,"dsoOpenItem",7);this.dsoCloseItem=i(this,"dsoCloseItem",7);this.dsoClickItem=i(this,"dsoClickItem",7);this.keyDownListener=e=>{if(e.defaultPrevented){return}const t=e=>e.length===1&&e.match(/\S/);const o=e.composedPath().find((e=>e instanceof HTMLElement?e.className==="dso-tree":false));if(!(e.target instanceof HTMLParagraphElement)||!(o instanceof HTMLElement)){return}switch(e.key){case"ArrowDown":a.moveFocus(o,e.target,"next");break;case"ArrowUp":a.moveFocus(o,e.target,"previous");break;case"ArrowRight":a.expandItemOrFocusChild(o,e.target);break;case"ArrowLeft":a.collapseItemOrFocusParent(o,e.target);break;case"End":a.moveFocus(o,e.target,"last");break;case"Home":a.moveFocus(o,e.target,"first");break;case"Enter":case" ":e.target.click();break;default:if(t(e.key)){if(a.setFocusByFirstCharacter(o,e.target,e.key,e.shiftKey)){break}}return}e.preventDefault()};this.itemClick=(e,t,o)=>{if(!(e.target instanceof HTMLElement)){return}const i=e.target.closest(".tree-content");if(i){const n=e.composedPath().find((e=>e instanceof HTMLElement?e.className==="dso-tree":false));if(!(i instanceof HTMLParagraphElement)||!(n instanceof HTMLElement)){return}a.setFocus(n,i);this.dsoClickItem.emit({path:[...t,o],originalEvent:e});return}if(o.open){this.dsoCloseItem.emit([...t,o])}else{this.dsoOpenItem.emit([...t,o])}}}async focusItem(e){var t;const o=this.tree;if(!o||e.length===0){return false}const i=e[e.length-1];if(!i){throw new Error("No itemToFocus found")}const n=Array.from((t=o.querySelectorAll("p"))!==null&&t!==void 0?t:[]).filter((e=>e.offsetWidth>0&&e.offsetHeight>0)).find((e=>e.dataset["itemId"]===i.id));if(!n){return false}a.setFocus(o,n);return true}static setFocus(e,t){if(t){Array.from(e.querySelectorAll("p")).filter((e=>e.tabIndex===0)).forEach((e=>e.tabIndex=-1));t.tabIndex=0;t.focus()}}static moveFocus(e,t,o){const i=Array.from(e.querySelectorAll("p")).filter((e=>e.offsetWidth>0&&e.offsetHeight>0));let n=0;switch(o){case"first":n=0;break;case"previous":n=i.indexOf(t)-1;break;case"next":n=i.indexOf(t)+1;break;case"last":n=i.length-1;break}const s=i[n];if(!s){throw new Error("No focusableItem found")}a.setFocus(e,s)}static expandItemOrFocusChild(e,t){var o;if((t===null||t===void 0?void 0:t.getAttribute("aria-expanded"))==="true"){a.moveFocus(e,t,"next")}else{const e=(o=t.previousElementSibling)===null||o===void 0?void 0:o.firstElementChild;if(e instanceof HTMLElement){e.click()}}}static collapseItemOrFocusParent(e,t){var o,i,n;if((t===null||t===void 0?void 0:t.getAttribute("aria-expanded"))==="true"){const e=(o=t.previousElementSibling)===null||o===void 0?void 0:o.firstElementChild;if(e instanceof HTMLElement){e.click()}}else{const o=(n=(i=t===null||t===void 0?void 0:t.parentElement)===null||i===void 0?void 0:i.parentElement)===null||n===void 0?void 0:n.previousElementSibling;if(o instanceof HTMLElement){a.setFocus(e,o)}}}static setFocusByFirstCharacter(e,t,o,i){const n=Array.from(e.querySelectorAll("p")).filter((e=>e.offsetWidth>0&&e.offsetHeight>0));if(i){n.reverse()}const s=n.indexOf(t);o=o.toLowerCase();let r=n.find(((e,t)=>{var i;return t>s&&((i=e.textContent)===null||i===void 0?void 0:i.toLowerCase().startsWith(o))}));if(!r){r=n.find(((e,t)=>{var i;return t<s&&((i=e.textContent)===null||i===void 0?void 0:i.toLowerCase().startsWith(o))}))}if(r){a.setFocus(e,r);return true}return false}render(){var t;return e("div",{key:"d24bd4e931e11e6495a51faef9bdee75a7eb0e49",id:"tree",class:"dso-tree",onKeyDown:e=>this.keyDownListener(e),ref:e=>this.tree=e},e("ul",{key:"9128a33f3e85620f530266deb7753b2c64d76eb7",role:"tree","aria-label":"Objectenboom"},(t=this.collection)===null||t===void 0?void 0:t.map(((t,o)=>e(s,{owner:this,ancestors:[],item:t,index:o,level:1,setSize:this.collection.length})))))}};a.style=r;export{a as dso_tree_view};
|
|
2
|
+
//# sourceMappingURL=p-e4ee59df.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DsoTreeItem","owner","ancestors","item","index","level","setSize","h","key","id","class","clsx","hasItems","open","_a","items","length","role","onClick","e","itemClick","icon","active","selected","tabindex","_b","undefined","loading","href","label","_c","icons","map","title","Fragment","size","_d","childItem","childIndex","org","treeViewCss","TreeView","constructor","hostRef","this","keyDownListener","event","defaultPrevented","isIndexLetter","str","match","tree","composedPath","find","HTMLElement","className","target","HTMLParagraphElement","moveFocus","expandItemOrFocusChild","collapseItemOrFocusParent","click","setFocusByFirstCharacter","shiftKey","preventDefault","contentElement","closest","eventTarget","setFocus","dsoClickItem","emit","path","originalEvent","dsoCloseItem","dsoOpenItem","focusItem","itemToFocus","Error","elementToFocus","Array","from","querySelectorAll","filter","offsetWidth","offsetHeight","dataset","tabIndex","forEach","focus","el","moveTo","focusableItems","indexOf","focusableItem","getAttribute","controlElement","previousElementSibling","firstElementChild","parentTarget","parentElement","char","backwards","reverse","current","toLowerCase","nextItem","textContent","startsWith","render","onKeyDown","ref","element","collection"],"sources":["src/components/tree-view/tree-item.tsx","src/components/tree-view/tree-view.scss?tag=dso-tree-view&encapsulation=shadow","src/components/tree-view/tree-view.tsx"],"sourcesContent":["import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\nimport { clsx } from \"clsx\";\r\n\r\nimport { TreeView } from \"./tree-view\";\r\nimport { TreeViewItem, TreeViewItemIcon } from \"./tree-view.interfaces\";\r\n\r\ninterface TreeViewItemProps {\r\n owner: TreeView;\r\n ancestors: TreeViewItem[];\r\n item: TreeViewItem;\r\n index: number;\r\n level: number;\r\n setSize: number;\r\n}\r\n\r\nexport const DsoTreeItem: FunctionalComponent<TreeViewItemProps> = ({\r\n owner,\r\n ancestors,\r\n item,\r\n index,\r\n level,\r\n setSize,\r\n}) => (\r\n <li\r\n key={item.id}\r\n class={clsx(\"tree-item\", { \"has-child\": item.hasItems, \"is-expanded\": !!item.open && !!item.items?.length })}\r\n role=\"none\"\r\n >\r\n <div class=\"tree-branch-control\">\r\n {item.hasItems ? (\r\n <div onClick={(e) => owner.itemClick(e, ancestors, item)}>\r\n <dso-icon icon={item.open ? \"minus-square\" : \"plus-square\"}></dso-icon>\r\n </div>\r\n ) : (\r\n <dso-icon></dso-icon>\r\n )}\r\n </div>\r\n <p\r\n class={clsx(\"tree-content\", { active: item.active }, { selected: item.selected })}\r\n tabindex={level === 1 && index === 0 ? 0 : -1}\r\n role=\"treeitem\"\r\n aria-expanded={item.hasItems ? \"\" + (!!item.open && !!item.items?.length) : undefined}\r\n aria-current={item.active ? \"true\" : undefined}\r\n aria-level={level}\r\n aria-setsize={setSize}\r\n aria-posinset={index + 1}\r\n aria-busy={item.loading ? \"true\" : undefined}\r\n data-item-id={item.id}\r\n onClick={(e) => owner.itemClick(e, ancestors, item)}\r\n >\r\n {item.selected && <span class=\"sr-only\">Resultaat: </span>}\r\n {item.href ? (\r\n <a href={item.href} tabindex=\"-1\">\r\n {item.label}\r\n </a>\r\n ) : (\r\n <span>{item.label}</span>\r\n )}\r\n {item.icons?.map((icon: TreeViewItemIcon) => (\r\n <dso-icon icon={icon.icon} title={icon.label}></dso-icon>\r\n ))}\r\n </p>\r\n {item.open && (\r\n <Fragment>\r\n {item.hasItems && !item.items && item.loading ? (\r\n <dso-progress-indicator size=\"small\" label=\"Resultaten laden: een moment geduld alstublieft.\" />\r\n ) : (\r\n <ul role=\"group\">\r\n {item.items?.map((childItem: TreeViewItem, childIndex: number, org: TreeViewItem[]) => (\r\n <DsoTreeItem\r\n owner={owner}\r\n ancestors={[...ancestors, item]}\r\n item={childItem}\r\n index={childIndex}\r\n level={level + 1}\r\n setSize={org.length}\r\n ></DsoTreeItem>\r\n ))}\r\n </ul>\r\n )}\r\n </Fragment>\r\n )}\r\n </li>\r\n);\r\n","@use \"sass:math\";\r\n\r\n@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n\r\n@use \"tree-view.mixins\" as core-tree-view-mixins;\r\n@use \"tree-view.variables\" as core-tree-view-variables;\r\n\r\n:host {\r\n ul {\r\n list-style-type: none;\r\n padding-inline-start: core-tree-view-variables.$indent;\r\n position: relative;\r\n }\r\n\r\n li {\r\n position: relative;\r\n }\r\n\r\n ul[role=\"tree\"] {\r\n padding-inline-start: 0;\r\n }\r\n\r\n // connects branch or leaf to parent\r\n ul[role=\"group\"]::before {\r\n @include core-tree-view-mixins.vertical-line(\r\n core-tree-view-variables.$indent + core-tree-view-variables.$hcenter,\r\n 0,\r\n core-tree-view-variables.$vspace\r\n );\r\n }\r\n\r\n li:not(.has-child) {\r\n // horizontal connector for a leaf\r\n &::before {\r\n @include core-tree-view-mixins.horizontal-line(\r\n core-tree-view-variables.$hcenter,\r\n core-tree-view-variables.$vcenter,\r\n core-tree-view-variables.$hspace + 0.5 * core-tree-view-variables.$icon-size - 4px\r\n );\r\n }\r\n\r\n // vertical connector for a leaf\r\n &::after {\r\n @include core-tree-view-mixins.vertical-line(\r\n core-tree-view-variables.$hcenter,\r\n core-tree-view-variables.$vspace,\r\n 100%\r\n );\r\n }\r\n\r\n // vertical connector for the last leaf\r\n &:last-child::after {\r\n block-size: core-tree-view-variables.$vcenter;\r\n inset-block-start: 0;\r\n }\r\n }\r\n\r\n li.has-child {\r\n // horizontal connector for a branch\r\n &::before {\r\n @include core-tree-view-mixins.horizontal-line(\r\n core-tree-view-variables.$icon-size,\r\n core-tree-view-variables.$vcenter,\r\n core-tree-view-variables.$hspace - 4px\r\n );\r\n }\r\n\r\n // vertical connector for a branch (not last)\r\n &:not(:last-child)::after {\r\n @include core-tree-view-mixins.vertical-line(\r\n core-tree-view-variables.$hcenter,\r\n core-tree-view-variables.$vcenter + 0.5 * core-tree-view-variables.$icon-size,\r\n calc(100% - core-tree-view-variables.$icon-size)\r\n );\r\n }\r\n\r\n // vertical line after a expanded branch (creating dead ends)\r\n &.is-expanded:last-child::after {\r\n @include core-tree-view-mixins.vertical-line(\r\n core-tree-view-variables.$hcenter,\r\n core-tree-view-variables.$vcenter + 0.5 * core-tree-view-variables.$icon-size,\r\n calc(100% - (core-tree-view-variables.$vcenter + 0.5 * core-tree-view-variables.$icon-size))\r\n );\r\n }\r\n }\r\n\r\n .tree-branch-control {\r\n color: colors.$grasgroen;\r\n display: inline-block;\r\n font-size: math.div(2 * core-tree-view-variables.$icon-size, 3);\r\n margin-block: core-tree-view-variables.$vspace;\r\n margin-inline: 0 core-tree-view-variables.$hspace;\r\n vertical-align: top;\r\n\r\n > div {\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .tree-content {\r\n cursor: pointer;\r\n display: inline-block;\r\n margin-block: core-tree-view-variables.$vspace;\r\n margin-inline: 0;\r\n max-inline-size: calc(100% - (core-tree-view-variables.$indent + core-tree-view-variables.$hspace));\r\n\r\n a {\r\n color: scaffolding.$text-color;\r\n text-decoration: underline;\r\n\r\n &:hover,\r\n &:focus {\r\n color: scaffolding.$text-color;\r\n text-decoration: none;\r\n }\r\n\r\n &:active {\r\n text-decoration: none;\r\n }\r\n }\r\n\r\n &.selected {\r\n color: scaffolding.$text-color;\r\n font-weight: 700;\r\n text-decoration: underline;\r\n\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n }\r\n }\r\n\r\n &.active {\r\n color: colors.$mauve;\r\n font-style: italic;\r\n font-weight: 700;\r\n\r\n text-decoration: underline;\r\n\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n }\r\n\r\n a {\r\n color: colors.$mauve;\r\n\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n }\r\n }\r\n }\r\n\r\n dso-icon {\r\n color: colors.$grasgroen;\r\n font-size: 0.75em;\r\n margin-inline-start: 0.5em;\r\n vertical-align: text-bottom;\r\n }\r\n }\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { Component, ComponentInterface, Event, EventEmitter, Method, Prop, h } from \"@stencil/core\";\r\n\r\nimport { DsoTreeItem } from \"./tree-item\";\r\nimport { TreeViewItem, TreeViewPointerEvent } from \"./tree-view.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-tree-view\",\r\n styleUrl: \"./tree-view.scss\",\r\n shadow: true,\r\n})\r\nexport class TreeView implements ComponentInterface {\r\n private tree?: HTMLElement;\r\n\r\n /**\r\n * The collection of TreeViewItems\r\n */\r\n @Prop()\r\n collection!: TreeViewItem[];\r\n\r\n /**\r\n * Emitted when a tree view item is opened.\r\n * The `detail` property of the `CustomEvent` will contain the complete path of TreeViewItems from the\r\n * root to the item that is emitting the open event. The consumer of the event is responsible for updating\r\n * the TreeView's collection (usually set the open state on the last TreeViewItem in path).\r\n */\r\n @Event()\r\n dsoOpenItem!: EventEmitter<TreeViewItem[]>;\r\n\r\n /**\r\n * Emitted when a tree view item is closed.\r\n * The `detail` property of the `CustomEvent` will contain the complete path of TreeViewItems from the\r\n * root to the item that is emitting the close event. The consumer of the event is responsible for updating\r\n * the TreeView's collection (usually set the closed state on the last TreeViewItem in path).\r\n */\r\n @Event()\r\n dsoCloseItem!: EventEmitter<TreeViewItem[]>;\r\n\r\n /**\r\n * Emitted when a tree view item is clicked.\r\n * The `detail` property of the `CustomEvent` will contain an object with:\r\n * `path` = the complete path of TreeViewItems from the root to the item that is emitting the clicked event.\r\n * `originalEvent` = the original click event.\r\n * The consumer of the event is responsible for updating the TreeView's collection (usually set the active\r\n * state on the last TreeViewItem in path and clear all other active item states).\r\n */\r\n @Event()\r\n dsoClickItem!: EventEmitter<TreeViewPointerEvent>;\r\n\r\n /**\r\n * Set focus on the last item in the specified path.\r\n * The consumer is responsible for providing a TreeView collection where the last item is visible.\r\n * @async\r\n * @returns Whether the item was found.\r\n */\r\n @Method()\r\n async focusItem(path: TreeViewItem[]): Promise<boolean> {\r\n const tree = this.tree;\r\n\r\n if (!tree || path.length === 0) {\r\n return false;\r\n }\r\n\r\n const itemToFocus = path[path.length - 1];\r\n if (!itemToFocus) {\r\n throw new Error(\"No itemToFocus found\");\r\n }\r\n\r\n const elementToFocus = (Array.from(tree.querySelectorAll(\"p\") ?? []) as HTMLElement[])\r\n .filter((item) => item.offsetWidth > 0 && item.offsetHeight > 0)\r\n .find((item) => item.dataset[\"itemId\"] === itemToFocus.id);\r\n\r\n if (!elementToFocus) {\r\n return false;\r\n }\r\n\r\n TreeView.setFocus(tree, elementToFocus);\r\n\r\n return true;\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const isIndexLetter = (str: string) => str.length === 1 && str.match(/\\S/);\r\n\r\n const tree = event\r\n .composedPath()\r\n .find((item) => (item instanceof HTMLElement ? item.className === \"dso-tree\" : false));\r\n\r\n if (!(event.target instanceof HTMLParagraphElement) || !(tree instanceof HTMLElement)) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n TreeView.moveFocus(tree, event.target, \"next\");\r\n break;\r\n case \"ArrowUp\":\r\n TreeView.moveFocus(tree, event.target, \"previous\");\r\n break;\r\n case \"ArrowRight\":\r\n TreeView.expandItemOrFocusChild(tree, event.target);\r\n break;\r\n case \"ArrowLeft\":\r\n TreeView.collapseItemOrFocusParent(tree, event.target);\r\n break;\r\n case \"End\":\r\n TreeView.moveFocus(tree, event.target, \"last\");\r\n break;\r\n case \"Home\":\r\n TreeView.moveFocus(tree, event.target, \"first\");\r\n break;\r\n case \"Enter\":\r\n case \" \":\r\n event.target.click();\r\n break;\r\n default:\r\n if (isIndexLetter(event.key)) {\r\n if (TreeView.setFocusByFirstCharacter(tree, event.target, event.key, event.shiftKey)) {\r\n break;\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n // eslint-disable-next-line @stencil-community/own-props-must-be-private -- Omdat this als TreeView instance aan Functionele Components wordt gegeven\r\n itemClick = (event: MouseEvent, ancestors: TreeViewItem[], item: TreeViewItem) => {\r\n if (!(event.target instanceof HTMLElement)) {\r\n return;\r\n }\r\n\r\n const contentElement = event.target.closest(\".tree-content\");\r\n\r\n if (contentElement) {\r\n const tree = event\r\n .composedPath()\r\n .find((eventTarget) => (eventTarget instanceof HTMLElement ? eventTarget.className === \"dso-tree\" : false));\r\n if (!(contentElement instanceof HTMLParagraphElement) || !(tree instanceof HTMLElement)) {\r\n return;\r\n }\r\n\r\n TreeView.setFocus(tree, contentElement);\r\n this.dsoClickItem.emit({ path: [...ancestors, item], originalEvent: event });\r\n\r\n return;\r\n }\r\n\r\n if (item.open) {\r\n this.dsoCloseItem.emit([...ancestors, item]);\r\n } else {\r\n this.dsoOpenItem.emit([...ancestors, item]);\r\n }\r\n };\r\n\r\n private static setFocus(tree: HTMLElement, target: HTMLElement) {\r\n if (target) {\r\n (Array.from(tree.querySelectorAll(\"p\")) as HTMLElement[])\r\n .filter((item) => item.tabIndex === 0)\r\n .forEach((item) => (item.tabIndex = -1));\r\n\r\n target.tabIndex = 0;\r\n target.focus();\r\n }\r\n }\r\n\r\n private static moveFocus(tree: HTMLElement, el: HTMLElement, moveTo: \"first\" | \"previous\" | \"next\" | \"last\"): void {\r\n const focusableItems = (Array.from(tree.querySelectorAll(\"p\")) as HTMLElement[]).filter(\r\n (item) => item.offsetWidth > 0 && item.offsetHeight > 0,\r\n );\r\n\r\n let index = 0;\r\n switch (moveTo) {\r\n case \"first\":\r\n index = 0;\r\n break;\r\n case \"previous\":\r\n index = focusableItems.indexOf(el) - 1;\r\n break;\r\n case \"next\":\r\n index = focusableItems.indexOf(el) + 1;\r\n break;\r\n case \"last\":\r\n index = focusableItems.length - 1;\r\n break;\r\n }\r\n\r\n const focusableItem = focusableItems[index];\r\n if (!focusableItem) {\r\n throw new Error(\"No focusableItem found\");\r\n }\r\n\r\n TreeView.setFocus(tree, focusableItem);\r\n }\r\n\r\n private static expandItemOrFocusChild(tree: HTMLElement, target: HTMLElement): void {\r\n if (target?.getAttribute(\"aria-expanded\") === \"true\") {\r\n TreeView.moveFocus(tree, target, \"next\");\r\n } else {\r\n const controlElement = target.previousElementSibling?.firstElementChild;\r\n if (controlElement instanceof HTMLElement) {\r\n controlElement.click();\r\n }\r\n }\r\n }\r\n\r\n private static collapseItemOrFocusParent(tree: HTMLElement, target: HTMLElement): void {\r\n if (target?.getAttribute(\"aria-expanded\") === \"true\") {\r\n const controlElement = target.previousElementSibling?.firstElementChild;\r\n if (controlElement instanceof HTMLElement) {\r\n controlElement.click();\r\n }\r\n } else {\r\n const parentTarget = target?.parentElement?.parentElement?.previousElementSibling;\r\n if (parentTarget instanceof HTMLElement) {\r\n TreeView.setFocus(tree, parentTarget);\r\n }\r\n }\r\n }\r\n\r\n private static setFocusByFirstCharacter(\r\n tree: HTMLElement,\r\n el: HTMLElement,\r\n char: string,\r\n backwards: boolean,\r\n ): boolean {\r\n const focusableItems = (Array.from(tree.querySelectorAll(\"p\")) as HTMLElement[]).filter(\r\n (item) => item.offsetWidth > 0 && item.offsetHeight > 0,\r\n );\r\n\r\n if (backwards) {\r\n focusableItems.reverse();\r\n }\r\n\r\n const current = focusableItems.indexOf(el);\r\n\r\n char = char.toLowerCase();\r\n let nextItem = focusableItems.find(\r\n (item, index) => index > current && item.textContent?.toLowerCase().startsWith(char),\r\n );\r\n if (!nextItem) {\r\n nextItem = focusableItems.find(\r\n (item, index) => index < current && item.textContent?.toLowerCase().startsWith(char),\r\n );\r\n }\r\n\r\n if (nextItem) {\r\n TreeView.setFocus(tree, nextItem);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n render() {\r\n return (\r\n <div\r\n id=\"tree\"\r\n class=\"dso-tree\"\r\n onKeyDown={(e) => this.keyDownListener(e)}\r\n ref={(element) => (this.tree = element)}\r\n >\r\n <ul role=\"tree\" aria-label=\"Objectenboom\">\r\n {this.collection?.map((item, index) => (\r\n <DsoTreeItem\r\n owner={this}\r\n ancestors={[]}\r\n item={item}\r\n index={index}\r\n level={1}\r\n setSize={this.collection.length}\r\n ></DsoTreeItem>\r\n ))}\r\n </ul>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|