@dso-toolkit/core 79.1.0 → 80.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/dso-accordion-section.js +8 -8
- package/dist/bundle/dso-accordion-section.js.map +1 -1
- package/dist/bundle/dso-action-list-item.js +1 -1
- package/dist/bundle/dso-action-list.js +1 -1
- package/dist/bundle/dso-action-list.js.map +1 -1
- package/dist/bundle/dso-advanced-select.js +6 -6
- 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 +7 -7
- package/dist/bundle/dso-annotation-activiteit.js.map +1 -1
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +7 -7
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js.map +1 -1
- package/dist/bundle/dso-annotation-kaart.js +4 -4
- package/dist/bundle/dso-annotation-kaart.js.map +1 -1
- package/dist/bundle/dso-annotation-locatie.js +1 -1
- package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +7 -7
- package/dist/bundle/dso-annotation-omgevingsnormwaarde.js.map +1 -1
- package/dist/bundle/dso-attachments-counter.js +1 -1
- package/dist/bundle/dso-autosuggest.js +3 -3
- package/dist/bundle/dso-badge.js +1 -1
- package/dist/bundle/dso-card.js +1 -1
- package/dist/bundle/dso-contact-information.js.map +1 -1
- package/dist/bundle/dso-date-picker-legacy.js +1 -1
- package/dist/bundle/dso-document-card.js +1 -1
- package/dist/bundle/dso-document-component.js +1 -1
- package/dist/bundle/dso-dropdown-menu.js +1 -1
- package/dist/bundle/dso-header.js +4 -4
- package/dist/bundle/dso-header.js.map +1 -1
- package/dist/bundle/dso-highlight-box.js +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 +2 -2
- package/dist/bundle/dso-label.js +1 -1
- package/dist/bundle/dso-legend-item.js +7 -7
- package/dist/bundle/dso-list-button.js +6 -6
- package/dist/bundle/dso-logo.js +1 -1
- package/dist/bundle/dso-map-base-layers.js +6 -6
- package/dist/bundle/dso-map-controls.js +3 -3
- package/dist/bundle/dso-map-overlays.js +6 -6
- package/dist/bundle/dso-mark-bar.js +3 -3
- package/dist/bundle/dso-modal.js +4 -4
- package/dist/bundle/dso-onboarding-tip.js +14 -7
- package/dist/bundle/dso-onboarding-tip.js.map +1 -1
- package/dist/bundle/dso-ozon-content.js +1 -1
- package/dist/bundle/dso-pagination.js +2 -2
- package/dist/bundle/dso-panel.js +1 -1
- package/dist/bundle/dso-plekinfo-card.js +3 -3
- package/dist/bundle/dso-plekinfo-card.js.map +1 -1
- package/dist/bundle/dso-progress-bar.js +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 +2 -2
- 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 +3 -3
- package/dist/bundle/dso-viewer-grid.js +4 -4
- package/dist/bundle/dso-viewer-grid.js.map +1 -1
- package/dist/bundle/dsot-document-component-demo.js +16 -16
- package/dist/bundle/dsot-document-component-demo.js.map +1 -1
- package/dist/bundle/{p-bxV-YGVG.js → p-9bHGEoYf.js} +4 -4
- package/dist/bundle/{p-bxV-YGVG.js.map → p-9bHGEoYf.js.map} +1 -1
- package/dist/bundle/p-B5BPyp6o.js +220 -0
- package/dist/bundle/{p--HbwCvQM.js.map → p-B5BPyp6o.js.map} +1 -1
- package/dist/bundle/{p-CMO4UirQ.js → p-B8bBvups.js} +107 -39
- package/dist/bundle/p-B8bBvups.js.map +1 -0
- package/dist/bundle/{p-DdLngpp0.js → p-BR7Ow0DG.js} +5 -5
- package/dist/bundle/{p-DdLngpp0.js.map → p-BR7Ow0DG.js.map} +1 -1
- package/dist/bundle/{p-Dwv_hVo9.js → p-BcGxHO36.js} +6 -8
- package/dist/bundle/p-BcGxHO36.js.map +1 -0
- package/dist/bundle/{p-ZUzIHCVc.js → p-Bl9zHNzD.js} +3 -3
- package/dist/bundle/{p-ZUzIHCVc.js.map → p-Bl9zHNzD.js.map} +1 -1
- package/dist/bundle/{p-BaN2YPhJ.js → p-Bp89pCCa.js} +7 -7
- package/dist/bundle/{p-BaN2YPhJ.js.map → p-Bp89pCCa.js.map} +1 -1
- package/dist/bundle/p-Bv7dmPUW.js +36 -0
- package/dist/bundle/{p-LlmPNkbk.js.map → p-Bv7dmPUW.js.map} +1 -1
- package/dist/bundle/{p-Vek1sFf5.js → p-BwLp1fyH.js} +4 -4
- package/dist/bundle/{p-Vek1sFf5.js.map → p-BwLp1fyH.js.map} +1 -1
- package/dist/bundle/{p-DZgHugpQ.js → p-CsCVe62Z.js} +4 -4
- package/dist/bundle/{p-DZgHugpQ.js.map → p-CsCVe62Z.js.map} +1 -1
- package/dist/bundle/{p-DaQXGkxw.js → p-D-c0uqBJ.js} +3 -3
- package/dist/bundle/{p-DaQXGkxw.js.map → p-D-c0uqBJ.js.map} +1 -1
- package/dist/bundle/{p-yEg3EESJ.js → p-DCUKSco0.js} +5 -5
- package/dist/bundle/p-DCUKSco0.js.map +1 -0
- package/dist/bundle/p-DFmQ0X-A.js +84 -0
- package/dist/bundle/p-DFmQ0X-A.js.map +1 -0
- package/dist/bundle/{p-B1X31Uiw.js → p-DGFwLEIa.js} +3 -3
- package/dist/bundle/{p-B1X31Uiw.js.map → p-DGFwLEIa.js.map} +1 -1
- package/dist/bundle/{p-CTcIwB2o.js → p-DGU5h4Ld.js} +15 -15
- package/dist/bundle/{p-CTcIwB2o.js.map → p-DGU5h4Ld.js.map} +1 -1
- package/dist/bundle/p-DT_PQZdN.js +49 -0
- package/dist/bundle/{p-CF3bHKY3.js.map → p-DT_PQZdN.js.map} +1 -1
- package/dist/bundle/{p-oGRWyph0.js → p-Det0hMG3.js} +3 -3
- package/dist/bundle/{p-oGRWyph0.js.map → p-Det0hMG3.js.map} +1 -1
- package/dist/bundle/{p-Du2B4UJi.js → p-DfqdgdtQ.js} +9 -9
- package/dist/bundle/{p-Du2B4UJi.js.map → p-DfqdgdtQ.js.map} +1 -1
- package/dist/bundle/{p-BOnELf-b.js → p-DnhRCFJX.js} +3 -3
- package/dist/bundle/{p-BOnELf-b.js.map → p-DnhRCFJX.js.map} +1 -1
- package/dist/bundle/p-DroNj8WY.js +83 -0
- package/dist/bundle/{p-D-Dm2Gh7.js.map → p-DroNj8WY.js.map} +1 -1
- package/dist/bundle/{p-DqxeHQ0G.js → p-Dxl03aIO.js} +5 -5
- package/dist/bundle/{p-DqxeHQ0G.js.map → p-Dxl03aIO.js.map} +1 -1
- package/dist/bundle/{p-CaZRQPYD.js → p-IsED2_lv.js} +7 -7
- package/dist/bundle/{p-CaZRQPYD.js.map → p-IsED2_lv.js.map} +1 -1
- package/dist/bundle/p-uFh4xT-b.js +169 -0
- package/dist/bundle/p-uFh4xT-b.js.map +1 -0
- 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.cjs.entry.js +1 -1
- package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-action-list.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-advanced-select.cjs.entry.js +1 -1
- package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-advanced-select.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert_6.cjs.entry.js +16 -20
- package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-activiteit.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-kaart.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-kaart.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-locatie.dso-document-component.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +92 -23
- package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-contact-information.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-contact-information.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-dropdown-menu.cjs.entry.js +1 -1
- package/dist/cjs/dso-header.cjs.entry.js +2 -2
- package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-header.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
- package/dist/cjs/dso-history-item.cjs.entry.js +1 -1
- package/dist/cjs/dso-icon-button.cjs.entry.js +2 -2
- 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 +4 -6
- package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-info.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 +2 -2
- 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 +6 -6
- 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-list-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-logo.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
- package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js +1 -1
- package/dist/cjs/dso-onboarding-tip.cjs.entry.js +10 -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-plekinfo-card.cjs.entry.js +2 -2
- package/dist/cjs/dso-plekinfo-card.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-plekinfo-card.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/dso-progress-indicator.cjs.entry.js +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 +2 -2
- package/dist/cjs/dso-skiplink.cjs.entry.js +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 +1 -1
- package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +3 -3
- 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/dsot-document-component-demo.cjs.entry.js.map +1 -1
- package/dist/cjs/dsot-document-component-demo.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/parse-wijzigactie-from-node.function-BSyDFa0d.js +11 -0
- package/dist/cjs/parse-wijzigactie-from-node.function-BSyDFa0d.js.map +1 -0
- package/dist/collection/components/accordion/components/accordion-section.css +4 -1
- package/dist/collection/components/action-list/action-list.css +4 -1
- package/dist/collection/components/advanced-select/advanced-select.css +133 -7
- package/dist/collection/components/alert/alert.css +99 -97
- package/dist/collection/components/annotation/annotation.css +8 -2
- package/dist/collection/components/badge/badge.css +163 -9
- package/dist/collection/components/document-component/document-component.css +29 -5
- package/dist/collection/components/document-component/document-component.interfaces.js.map +1 -1
- package/dist/collection/components/document-component/document-component.js +126 -47
- 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/document-component-demo/document-component.demo.js.map +1 -1
- package/dist/collection/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist/collection/components/header/header.css +1 -1
- package/dist/collection/components/header/header.js +1 -1
- 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 +12 -3
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/image-overlay/image-overlay.css +16 -4
- package/dist/collection/components/info/info.css +4 -1
- package/dist/collection/components/info/info.js +1 -1
- package/dist/collection/components/info-button/info-button.js +1 -1
- package/dist/collection/components/input-range/input-range.js +2 -2
- package/dist/collection/components/label/label.css +165 -11
- package/dist/collection/components/label/label.js +6 -6
- package/dist/collection/components/label/label.js.map +1 -1
- package/dist/collection/components/legend-item/legend-item.js +1 -1
- package/dist/collection/components/list-button/list-button.js +1 -1
- package/dist/collection/components/logo/logo.js +1 -1
- package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
- package/dist/collection/components/map-controls/map-controls.js +1 -1
- package/dist/collection/components/map-overlays/map-overlays.js +1 -1
- package/dist/collection/components/mark-bar/mark-bar.js +1 -1
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/onboarding-tip/onboarding-tip.css +19 -1
- package/dist/collection/components/onboarding-tip/onboarding-tip.js +11 -4
- package/dist/collection/components/onboarding-tip/onboarding-tip.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content.css +32 -8
- package/dist/collection/components/ozon-content/ozon-content.js +1 -1
- package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
- package/dist/collection/components/panel/panel.css +5 -1
- package/dist/collection/components/plekinfo-card/plekinfo-card.css +8 -2
- package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.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 +8 -2
- package/dist/collection/components/responsive-element/responsive-element.js +1 -1
- package/dist/collection/components/scrollable/scrollable.js +2 -2
- package/dist/collection/components/selectable/selectable.js +1 -1
- 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 -7
- package/dist/collection/components/survey-rating/survey-rating.js +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 +4 -1
- 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.js +1 -1
- package/dist/collection/components/tree-view/tree-view.js +1 -1
- package/dist/collection/components/viewer-grid/components/filter-panel.js +2 -2
- package/dist/collection/components/viewer-grid/components/filter-panel.js.map +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/annotation-locatie.js +1 -1
- package/dist/components/annotation-locatie.js.map +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/document-component.js +96 -28
- 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.js +1 -1
- package/dist/components/dso-action-list.js.map +1 -1
- package/dist/components/dso-advanced-select.js +1 -1
- package/dist/components/dso-advanced-select.js.map +1 -1
- package/dist/components/dso-annotation-activiteit.js +1 -1
- package/dist/components/dso-annotation-activiteit.js.map +1 -1
- package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
- package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
- package/dist/components/dso-annotation-kaart.js +1 -1
- package/dist/components/dso-annotation-kaart.js.map +1 -1
- package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
- package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
- package/dist/components/dso-contact-information.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 +1 -1
- package/dist/components/dso-history-item.js +1 -1
- package/dist/components/dso-input-range.js +2 -2
- package/dist/components/dso-legend-item.js +1 -1
- package/dist/components/dso-list-button.js +1 -1
- package/dist/components/dso-logo.js +1 -1
- package/dist/components/dso-map-base-layers.js +1 -1
- package/dist/components/dso-map-controls.js +1 -1
- package/dist/components/dso-map-overlays.js +1 -1
- package/dist/components/dso-mark-bar.js +1 -1
- package/dist/components/dso-modal.js +1 -1
- package/dist/components/dso-onboarding-tip.js +12 -5
- package/dist/components/dso-onboarding-tip.js.map +1 -1
- package/dist/components/dso-plekinfo-card.js +2 -2
- package/dist/components/dso-plekinfo-card.js.map +1 -1
- package/dist/components/dso-progress-bar.js +1 -1
- package/dist/components/dso-project-item.js +1 -1
- package/dist/components/dso-skiplink.js +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 +1 -1
- package/dist/components/dso-viewer-grid.js +4 -4
- package/dist/components/dso-viewer-grid.js.map +1 -1
- package/dist/components/dsot-document-component-demo.js +1 -1
- package/dist/components/dsot-document-component-demo.js.map +1 -1
- package/dist/components/icon-button.js +2 -2
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/icon.js +4 -6
- package/dist/components/icon.js.map +1 -1
- package/dist/components/image-overlay.js +1 -1
- package/dist/components/image-overlay.js.map +1 -1
- package/dist/components/info-button.js +1 -1
- package/dist/components/info.js +2 -2
- package/dist/components/info.js.map +1 -1
- package/dist/components/label.js +7 -7
- package/dist/components/label.js.map +1 -1
- package/dist/components/ozon-content.js +8 -8
- package/dist/components/ozon-content.js.map +1 -1
- package/dist/components/panel.js +1 -1
- package/dist/components/panel.js.map +1 -1
- package/dist/components/progress-indicator.js +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/selectable.js +1 -1
- package/dist/components/slide-toggle.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/toggletip.js +1 -1
- package/dist/components/tooltip.js +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-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-contact-information.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-icon-button.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-icon.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-label.dso-renvooi.dso-slide-toggle.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-onboarding-tip.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-plekinfo-card.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-viewer-grid.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dsot-document-component-demo.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/{p-7c9c4915.entry.js → p-08643f11.entry.js} +2 -2
- package/dist/dso-toolkit/p-0cdc3e10.entry.js +2 -0
- package/dist/dso-toolkit/p-0cdc3e10.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-7229ccdf.entry.js → p-10ac0424.entry.js} +2 -2
- package/dist/dso-toolkit/{p-365e9e81.entry.js → p-10e924eb.entry.js} +2 -2
- package/dist/dso-toolkit/p-116f645b.entry.js +2 -0
- package/dist/dso-toolkit/{p-8ed2e508.entry.js.map → p-116f645b.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-1336708f.entry.js +2 -0
- package/dist/dso-toolkit/p-1336708f.entry.js.map +1 -0
- package/dist/dso-toolkit/p-1c1ace73.entry.js +2 -0
- package/dist/dso-toolkit/p-1c1ace73.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-1e4f1515.entry.js → p-1da633fc.entry.js} +2 -2
- package/dist/dso-toolkit/{p-57a9ed50.entry.js → p-20b31a44.entry.js} +2 -2
- package/dist/dso-toolkit/{p-71c54b0e.entry.js → p-26966325.entry.js} +2 -2
- package/dist/dso-toolkit/p-2bce5330.entry.js +2 -0
- package/dist/dso-toolkit/{p-91fc3638.entry.js → p-2e304f75.entry.js} +2 -2
- package/dist/dso-toolkit/p-33220be0.entry.js +2 -0
- package/dist/dso-toolkit/{p-abfdf382.entry.js.map → p-33220be0.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-3f0c80ce.entry.js +2 -0
- package/dist/dso-toolkit/{p-93fc1c1d.entry.js.map → p-3f0c80ce.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-43ba1098.entry.js +2 -0
- package/dist/dso-toolkit/{p-1f7492cd.entry.js → p-44415d94.entry.js} +2 -2
- package/dist/dso-toolkit/{p-cef6e3bf.entry.js → p-47713848.entry.js} +2 -2
- package/dist/dso-toolkit/p-4d590a9d.entry.js +2 -0
- package/dist/dso-toolkit/p-4d590a9d.entry.js.map +1 -0
- package/dist/dso-toolkit/p-616021ab.entry.js +2 -0
- package/dist/dso-toolkit/{p-0ccf331b.entry.js.map → p-616021ab.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-50292d0e.entry.js → p-649ea683.entry.js} +2 -2
- package/dist/dso-toolkit/{p-353feb5d.entry.js → p-706da18c.entry.js} +2 -2
- package/dist/dso-toolkit/p-7b279318.entry.js +2 -0
- package/dist/dso-toolkit/p-7b279318.entry.js.map +1 -0
- package/dist/dso-toolkit/p-7f686292.entry.js +2 -0
- package/dist/dso-toolkit/{p-04a52f3c.entry.js.map → p-7f686292.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-7fd4c991.entry.js +2 -0
- package/dist/dso-toolkit/p-7fd4c991.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-bfde6737.entry.js → p-808ce903.entry.js} +2 -2
- package/dist/dso-toolkit/p-80e3a910.entry.js.map +1 -1
- package/dist/dso-toolkit/{p-46de999c.entry.js → p-862f3439.entry.js} +2 -2
- package/dist/dso-toolkit/{p-94fdb7a5.entry.js → p-8a5f5ada.entry.js} +2 -2
- package/dist/dso-toolkit/p-8e1c7f7a.entry.js +2 -0
- package/dist/dso-toolkit/{p-e2ec593d.entry.js.map → p-8e1c7f7a.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-98159a53.entry.js +2 -0
- package/dist/dso-toolkit/{p-2796b6d5.entry.js.map → p-98159a53.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-a926abc4.entry.js → p-987406fd.entry.js} +2 -2
- package/dist/dso-toolkit/{p-e9f750f2.entry.js → p-9f178660.entry.js} +2 -2
- package/dist/dso-toolkit/{p-06c5c71d.entry.js → p-9fd36887.entry.js} +2 -2
- package/dist/dso-toolkit/{p-a7057d38.entry.js → p-a0cfd562.entry.js} +2 -2
- package/dist/dso-toolkit/{p-a7057d38.entry.js.map → p-a0cfd562.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-9f138ac0.entry.js → p-ad1ddba2.entry.js} +2 -2
- package/dist/dso-toolkit/p-b92a01d1.entry.js +2 -0
- package/dist/dso-toolkit/p-b92a01d1.entry.js.map +1 -0
- package/dist/dso-toolkit/p-bdccacb5.entry.js +2 -0
- package/dist/dso-toolkit/{p-d1bbcada.entry.js.map → p-bdccacb5.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-95fc086e.entry.js → p-c0526066.entry.js} +2 -2
- package/dist/dso-toolkit/p-c0526066.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-4c1c2071.entry.js → p-c6cd153d.entry.js} +2 -2
- package/dist/dso-toolkit/p-d01cf064.entry.js +2 -0
- package/dist/dso-toolkit/p-d01cf064.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-829b8003.entry.js → p-d80d3ce8.entry.js} +2 -2
- package/dist/dso-toolkit/{p-79616f47.entry.js → p-e882b88b.entry.js} +2 -2
- package/dist/dso-toolkit/p-eee489f1.entry.js +2 -0
- package/dist/dso-toolkit/p-eee489f1.entry.js.map +1 -0
- package/dist/dso-toolkit/p-efbfd246.entry.js +2 -0
- package/dist/dso-toolkit/{p-3fd63c50.entry.js.map → p-efbfd246.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-l-fQf40Y.js +2 -0
- package/dist/dso-toolkit/p-l-fQf40Y.js.map +1 -0
- 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.entry.js +1 -1
- package/dist/esm/dso-action-list.entry.js.map +1 -1
- package/dist/esm/dso-advanced-select.entry.js +1 -1
- package/dist/esm/dso-advanced-select.entry.js.map +1 -1
- package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.js.map +1 -1
- package/dist/esm/dso-alert_6.entry.js +8 -12
- package/dist/esm/dso-alert_6.entry.js.map +1 -1
- package/dist/esm/dso-annotation-activiteit.entry.js +1 -1
- package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
- package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +1 -1
- package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
- package/dist/esm/dso-annotation-kaart.entry.js +1 -1
- package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
- package/dist/esm/dso-annotation-locatie.dso-document-component.entry.js.map +1 -1
- package/dist/esm/dso-annotation-locatie_2.entry.js +92 -23
- package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
- package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +1 -1
- package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
- package/dist/esm/dso-contact-information.entry.js.map +1 -1
- package/dist/esm/dso-dropdown-menu.entry.js +1 -1
- package/dist/esm/dso-header.entry.js +2 -2
- package/dist/esm/dso-header.entry.js.map +1 -1
- package/dist/esm/dso-highlight-box.entry.js +1 -1
- package/dist/esm/dso-history-item.entry.js +1 -1
- package/dist/esm/dso-icon-button.entry.js +2 -2
- package/dist/esm/dso-icon-button.entry.js.map +1 -1
- package/dist/esm/dso-icon.entry.js +4 -6
- package/dist/esm/dso-icon.entry.js.map +1 -1
- package/dist/esm/dso-info-button.entry.js +1 -1
- package/dist/esm/dso-info.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 +2 -2
- package/dist/esm/dso-label.dso-renvooi.dso-slide-toggle.entry.js.map +1 -1
- package/dist/esm/dso-label_3.entry.js +6 -6
- 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-list-button.entry.js +1 -1
- package/dist/esm/dso-logo.entry.js +1 -1
- package/dist/esm/dso-map-base-layers.entry.js +1 -1
- package/dist/esm/dso-map-controls.entry.js +1 -1
- package/dist/esm/dso-map-overlays.entry.js +1 -1
- package/dist/esm/dso-mark-bar.entry.js +1 -1
- package/dist/esm/dso-modal.entry.js +1 -1
- package/dist/esm/dso-onboarding-tip.entry.js +10 -4
- package/dist/esm/dso-onboarding-tip.entry.js.map +1 -1
- package/dist/esm/dso-plekinfo-card.entry.js +2 -2
- package/dist/esm/dso-plekinfo-card.entry.js.map +1 -1
- package/dist/esm/dso-progress-bar.entry.js +1 -1
- package/dist/esm/dso-progress-indicator.entry.js +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 +2 -2
- package/dist/esm/dso-skiplink.entry.js +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 +1 -1
- package/dist/esm/dso-tree-view.entry.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +4 -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/esm/dsot-document-component-demo.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/parse-wijzigactie-from-node.function-l-fQf40Y.js +9 -0
- package/dist/esm/parse-wijzigactie-from-node.function-l-fQf40Y.js.map +1 -0
- package/dist/types/components/document-component/document-component.d.ts +17 -5
- package/dist/types/components/document-component/document-component.interfaces.d.ts +4 -0
- package/dist/types/components/document-component-demo/document-component.demo.d.ts +3 -3
- package/dist/types/components/onboarding-tip/onboarding-tip.d.ts +1 -0
- package/dist/types/components/viewer-grid/components/filter-panel.d.ts +1 -0
- package/dist/types/components.d.ts +8 -12
- package/package.json +3 -3
- package/dist/bundle/p--HbwCvQM.js +0 -220
- package/dist/bundle/p-CF3bHKY3.js +0 -49
- package/dist/bundle/p-CMO4UirQ.js.map +0 -1
- package/dist/bundle/p-CVzuETs2.js +0 -169
- package/dist/bundle/p-CVzuETs2.js.map +0 -1
- package/dist/bundle/p-D-Dm2Gh7.js +0 -83
- package/dist/bundle/p-Dd-GhTkt.js +0 -84
- package/dist/bundle/p-Dd-GhTkt.js.map +0 -1
- package/dist/bundle/p-Dwv_hVo9.js.map +0 -1
- package/dist/bundle/p-LlmPNkbk.js +0 -36
- package/dist/bundle/p-yEg3EESJ.js.map +0 -1
- package/dist/dso-toolkit/p-04a52f3c.entry.js +0 -2
- package/dist/dso-toolkit/p-0565847a.entry.js +0 -2
- package/dist/dso-toolkit/p-0565847a.entry.js.map +0 -1
- package/dist/dso-toolkit/p-0ccf331b.entry.js +0 -2
- package/dist/dso-toolkit/p-20459167.entry.js +0 -2
- package/dist/dso-toolkit/p-2796b6d5.entry.js +0 -2
- package/dist/dso-toolkit/p-2f8cc334.entry.js +0 -2
- package/dist/dso-toolkit/p-2f8cc334.entry.js.map +0 -1
- package/dist/dso-toolkit/p-3fd63c50.entry.js +0 -2
- package/dist/dso-toolkit/p-4229552b.entry.js +0 -2
- package/dist/dso-toolkit/p-4229552b.entry.js.map +0 -1
- package/dist/dso-toolkit/p-45046e40.entry.js +0 -2
- package/dist/dso-toolkit/p-45046e40.entry.js.map +0 -1
- package/dist/dso-toolkit/p-5ab79fb4.entry.js +0 -2
- package/dist/dso-toolkit/p-5ab79fb4.entry.js.map +0 -1
- package/dist/dso-toolkit/p-734acd5e.entry.js +0 -2
- package/dist/dso-toolkit/p-8ed2e508.entry.js +0 -2
- package/dist/dso-toolkit/p-93fc1c1d.entry.js +0 -2
- package/dist/dso-toolkit/p-95fc086e.entry.js.map +0 -1
- package/dist/dso-toolkit/p-aa5787d4.entry.js +0 -2
- package/dist/dso-toolkit/p-aa5787d4.entry.js.map +0 -1
- package/dist/dso-toolkit/p-abfdf382.entry.js +0 -2
- package/dist/dso-toolkit/p-d1bbcada.entry.js +0 -2
- package/dist/dso-toolkit/p-e2ec593d.entry.js +0 -2
- package/dist/dso-toolkit/p-fa4a3a93.entry.js +0 -2
- package/dist/dso-toolkit/p-fa4a3a93.entry.js.map +0 -1
- package/dist/dso-toolkit/p-fc1ff757.entry.js +0 -2
- package/dist/dso-toolkit/p-fc1ff757.entry.js.map +0 -1
- package/dist/dso-toolkit/p-fda214fa.entry.js +0 -2
- package/dist/dso-toolkit/p-fda214fa.entry.js.map +0 -1
- /package/dist/dso-toolkit/{p-7c9c4915.entry.js.map → p-08643f11.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-7229ccdf.entry.js.map → p-10ac0424.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-365e9e81.entry.js.map → p-10e924eb.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-1e4f1515.entry.js.map → p-1da633fc.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-57a9ed50.entry.js.map → p-20b31a44.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-71c54b0e.entry.js.map → p-26966325.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-20459167.entry.js.map → p-2bce5330.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-91fc3638.entry.js.map → p-2e304f75.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-734acd5e.entry.js.map → p-43ba1098.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-1f7492cd.entry.js.map → p-44415d94.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-cef6e3bf.entry.js.map → p-47713848.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-50292d0e.entry.js.map → p-649ea683.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-353feb5d.entry.js.map → p-706da18c.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-bfde6737.entry.js.map → p-808ce903.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-46de999c.entry.js.map → p-862f3439.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-94fdb7a5.entry.js.map → p-8a5f5ada.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-a926abc4.entry.js.map → p-987406fd.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-e9f750f2.entry.js.map → p-9f178660.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-06c5c71d.entry.js.map → p-9fd36887.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-9f138ac0.entry.js.map → p-ad1ddba2.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-4c1c2071.entry.js.map → p-c6cd153d.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-829b8003.entry.js.map → p-d80d3ce8.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-79616f47.entry.js.map → p-e882b88b.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["translations","en","close","success","info","warning","error","nl","alertCss","Alert","constructor","hostRef","this","closable","text","i18n","host","render","status","Error","h","key","class","clsx","compact","role","roleAlert","undefined","icon","label","variant","onDsoClick","e","dsoClose","emit","originalEvent","badgeCss","Badge","imageOverlayCss","wijzigactieLabels","verwijder","voegtoe","Dimmer","active","src","alt","ref","click","children","ImageOverlay","zoomable","titelSlot","bijschriftSlot","loadListener","event","target","HTMLImageElement","setZoomable","connectedCallback","querySelector","componentDidLoad","resizeObserver","ResizeObserver","debounce","imgElement","mutationObserver","MutationObserver","forceUpdate","_a","type","_b","disconnect","initZoomableImage","observe","attributes","subtree","attributeFilter","childList","disconnectedCallback","trap","deactivate","_c","complete","imageElement","width","naturalWidth","height","naturalHeight","isWijzigactie","wijzigactie","editActionLabel","button","element","iconButtonElement","Host","onClick","setFocus","wrapperElement","name","hidden","componentDidRender","createFocusTrap","escapeDeactivates","clickOutsideDeactivates","MouseEvent","composedPath","setReturnFocus","onDeactivate","tabbableOptions","getShadowRoot","node","shadowRoot","activate","getNodeName","Element","localName","nodeName","includes","substring","indexOf","OzonContentAbbrNode","mapNodeToJsx","title","getAttribute","childNodes","WrapWijzigactie","wijzigactieToClassName","isNestedAl","path","some","n","OzonContentAlNode","inline","content","parseWijzigactieFromNode","className","OzonContentBronNode","OzonContentDocumentNode","Fragment","symbolTag","reAsciiWord","reLatin","rsAstralRange","rsComboMarksRange","rsComboSymbolsRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsLowerMisc","rsUpperMisc","rsOptLowerContr","rsOptUpperContr","reOptMod","rsOptVar","rsOptJoin","join","rsSeq","rsEmoji","reApos","RegExp","reComboMark","reUnicodeWord","reHasUnicodeWord","deburredLetters","freeGlobal","global","Object","freeSelf","self","root","Function","arrayReduce","array","iteratee","accumulator","initAccum","index","length","asciiWords","string","match","basePropertyOf","object","deburrLetter","hasUnicodeWord","test","unicodeWords","objectProto","prototype","objectToString","toString","Symbol","symbolProto","symbolToString","baseToString","value","isSymbol","call","result","Infinity","createCompounder","callback","words","deburr","replace","isObjectLike","kebabCase","word","toLowerCase","pattern","guard","lodash_kebabcase","OzonContentExtRefNode","urlResolver","tagName","href","rel","OzonContentFallbackNode","Bijschrift","bijschrift","bron","bronText","textContent","trim","inhoud","OzonContentFiguurNode","getStyle","illustratie","widthPixels","Number","breedte","heightPixels","hoogte","style","uitlijning","widthPercentage","Math","min","dpi","assign","mapIllustratieNode","naam","find","u","Array","from","titel","illustratieNode","bijschriftNode","locatie","slot","_e","_d","OzonContentInhoudNode","richContent","OzonContentInlineTekstAfbeeldingNode","OzonContentInlineNodes","Tag","OzonContentIntIoRefNode","emitAnchorClick","intRefOnClick","preventDefault","currentTarget","HTMLAnchorElement","documentComponent","OzonContentIntRefNode","mapData","nummer","opschrift","subtitels","querySelectorAll","OzonContentKopNode","handles","emitClick","handleKopClick","wijzigactieLabel","wijzigactieNummer","wijzigactieOpschrift","part","map","subtitel","wijzigactieSubtitel","OzonContentLijstNode","parseTypeFromLijstNode","aanhef","sluiting","listItems","filter","item","itemNodes","liNummer","liWijzigactie","OzonContentNieuweTekstNode","OzonContentNootNode","identify","state","openNoteId","setState","noteId","console","noteControlsId","nootNummer","onBlur","id","stateless","descriptive","mapColspecs","count","nodeList","elements","totalWidth","getTotalWidth","columns","colNumber","colsep","number","parseInt","rowsep","getWidth","reduce","colWidth","isNaN","round","Colgroup","colspecs","colspec","getColspecStartColsep","nameStart","colspecStart","c","getColspecStartRowsep","getData","cell","row","parentElement","tgroup","table","moreRows","nameEnd","getColspan","colspecEnd","colspan","Cell","context","rowSpan","colSpan","Rows","rows","colAttribute","columnCount","caption","headRows","bodyRows","frame","OzonContentTableNode","uuidv4","OzonContentTextNode","mark","emitMarkItemHighlight","highlight","OzonContentVerwijderdeTekstNode","Mapper","mappers","skip","t","m","push","fallbackNode","findMapper","isArray","NodeList","mapper","identity","s","transform","input","document","inputToXmlDocument","message","getRootNode","XMLDocument","domParser","DOMParser","parseFromString","implementation","createDocument","ozonContentCss","OzonContent","handleMarkItemHighlight","elementRef","dsoOzonContentMarkItemHighlight","contentWatcher","dsoAnchorClick","dsoClick","transformed","panelCss","Panel","emphasized","dsoCloseClick","detail","closeButtonLabel","tableCss","Table","labelledbyId","v4","noModal","modalActive","startResponsiveBehavior","componentWillLoad","entries","setResponsiveTable","setFocusTrap","isResponsive","placeholderHeight","focusTrapElement","display","buttonElement","openModal","closeModal","clientHeight","dsoTable","tableElement","HTMLTableElement","floor","getBoundingClientRect","contentRect"],"sources":["src/components/alert/alert.i18n.ts","src/components/alert/alert.scss?tag=dso-alert&encapsulation=shadow","src/components/alert/alert.tsx","src/components/badge/badge.scss?tag=dso-badge&encapsulation=shadow","src/components/badge/badge.tsx","src/components/image-overlay/image-overlay.scss?tag=dso-image-overlay&encapsulation=shadow","src/components/image-overlay/image-overlay.tsx","src/components/ozon-content/get-node-name.function.ts","src/components/ozon-content/nodes/abbr.node.tsx","src/components/ozon-content/functional-components/wrap-wijzigactie.functional-component.tsx","src/components/ozon-content/functions/wijzigactie-to-class-name.function.ts","src/components/ozon-content/nodes/al.node.tsx","src/components/ozon-content/nodes/bron.node.tsx","src/components/ozon-content/nodes/document.node.tsx","../../node_modules/lodash.kebabcase/index.js","src/components/ozon-content/nodes/ext-ref.node.tsx","src/components/ozon-content/nodes/fallback.node.tsx","src/components/ozon-content/nodes/figuur.node.tsx","src/components/ozon-content/nodes/inhoud.node.tsx","src/components/ozon-content/nodes/inline-tekst-afbeelding.node.tsx","src/components/ozon-content/nodes/inline.nodes.tsx","src/components/ozon-content/nodes/int-io-ref.node.tsx","src/components/ozon-content/nodes/int-ref.node.tsx","src/components/ozon-content/nodes/kop.node.tsx","src/components/ozon-content/nodes/lijst.node.tsx","src/components/ozon-content/nodes/nieuwe-tekst.node.tsx","src/components/ozon-content/nodes/noot.node.tsx","src/components/ozon-content/nodes/table.node/colspec/colspec-mapper.ts","src/components/ozon-content/nodes/table.node/table-colgroup.tsx","src/components/ozon-content/nodes/table.node/table-cell.tsx","src/components/ozon-content/nodes/table.node/table-rows.tsx","src/components/ozon-content/nodes/table.node/table.node.tsx","src/components/ozon-content/nodes/text.node.tsx","src/components/ozon-content/nodes/verwijderde-tekst.node.tsx","src/components/ozon-content/ozon-content-mapper.tsx","src/components/ozon-content/ozon-content.scss?tag=dso-ozon-content&encapsulation=shadow","src/components/ozon-content/ozon-content.tsx","src/components/panel/panel.i18n.ts","src/components/panel/panel.scss?tag=dso-panel&encapsulation=shadow","src/components/panel/panel.tsx","src/components/table/table.scss?tag=dso-table&encapsulation=shadow","src/components/table/table.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-alert\": {\r\n close: \"Close\",\r\n success: \"Success\",\r\n info: \"Notice\",\r\n warning: \"Warning\",\r\n error: \"Error\",\r\n },\r\n },\r\n nl: {\r\n \"dso-alert\": {\r\n close: \"Sluiten\",\r\n success: \"Gelukt\",\r\n info: \"Opmerking\",\r\n warning: \"Waarschuwing\",\r\n error: \"Fout\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/alert\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host(:not(:first-child)) {\r\n margin-block-start: units.$u3;\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\r\n.alert {\r\n @include alert.root();\r\n\r\n dso-icon-button {\r\n position: absolute;\r\n inset-block-start: units.$u1 - alert.$border-size;\r\n inset-inline-end: units.$u1 - alert.$border-size;\r\n }\r\n\r\n &.dso-compact {\r\n min-block-size: alert.$inline-padding;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { translations } from \"./alert.i18n\";\r\nimport { AlertCloseEvent } from \"./alert.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-alert\",\r\n styleUrl: \"alert.scss\",\r\n shadow: true,\r\n})\r\nexport class Alert {\r\n @Element()\r\n host!: HTMLDsoAlertElement;\r\n\r\n /**\r\n * Set status of alert\r\n */\r\n @Prop({ reflect: true })\r\n status!: \"success\" | \"info\" | \"warning\" | \"error\";\r\n\r\n /**\r\n * Whether or not to show the role attribute with value \"alert\". To control the tooltip add the `role-alert` attribute.\r\n */\r\n @Prop()\r\n roleAlert?: boolean;\r\n\r\n /**\r\n * Show alert as compact variant (without icon)\r\n */\r\n @Prop({ reflect: true })\r\n compact?: boolean;\r\n\r\n /**\r\n * When `false` the close button in the alert will not be rendered.\r\n */\r\n @Prop()\r\n closable = false;\r\n\r\n /**\r\n * Emitted when the user closes the Alert.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<AlertCloseEvent>;\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n render() {\r\n const status = this.text(this.status);\r\n if (!status) {\r\n throw new Error(`Invalid status ${this.status}`);\r\n }\r\n\r\n return (\r\n <div\r\n class={clsx(\"alert\", `alert-${this.status}`, { \"dso-compact\": this.compact })}\r\n role={this.roleAlert ? \"alert\" : undefined}\r\n >\r\n {!this.compact && <dso-icon class=\"icon-status\" icon={\"status-\" + this.status} />}\r\n <span class=\"sr-only\">{status}:</span>\r\n <slot></slot>\r\n\r\n {this.closable && (\r\n <dso-icon-button\r\n label={this.text(\"close\")}\r\n variant=\"tertiary\"\r\n icon=\"times\"\r\n onDsoClick={(e) => this.dsoClose.emit({ originalEvent: e })}\r\n />\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/badge\";\r\n\r\n:host {\r\n display: inline-block;\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\r\n.dso-badge {\r\n @include badge.root();\r\n}\r\n","import { Component, Prop, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { BadgeStatus } from \"./badge.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-badge\",\r\n styleUrl: \"badge.scss\",\r\n shadow: true,\r\n})\r\nexport class Badge {\r\n /**\r\n * The status of the Badge.\r\n */\r\n @Prop()\r\n status?: BadgeStatus;\r\n\r\n render() {\r\n return (\r\n <span class={clsx(\"dso-badge\", { [`badge-${this.status}`]: this.status })}>\r\n <slot></slot>\r\n </span>\r\n );\r\n }\r\n}\r\n","@use \"sass:color\";\r\n\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/insert\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n\r\n:host {\r\n display: inline-block;\r\n position: relative;\r\n}\r\n\r\n:host(:hover) .open,\r\n.open:focus {\r\n opacity: 1;\r\n}\r\n\r\n.open {\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n opacity: 0;\r\n position: absolute;\r\n inset-inline-end: units.$u2;\r\n inset-block-start: units.$u2;\r\n }\r\n}\r\n\r\n.dimmer {\r\n position: fixed;\r\n inset: 0;\r\n z-index: zindex.$image-overlay - 1;\r\n display: flex;\r\n padding: units.$u4;\r\n background-color: color.scale(colors.$wit, $alpha: -20%);\r\n justify-content: center;\r\n}\r\n\r\n.wrapper {\r\n align-self: center;\r\n box-shadow: 0 units.$u1 units.$u3 0 rgba(25, 25, 25, 0.4);\r\n line-height: 0;\r\n outline: 4px solid colors.$wit;\r\n position: relative;\r\n z-index: zindex.$image-overlay;\r\n\r\n .title {\r\n background-color: colors.$wit;\r\n font-weight: 700;\r\n line-height: initial;\r\n padding: units.$u1;\r\n position: absolute;\r\n }\r\n\r\n img {\r\n inline-size: auto;\r\n block-size: auto;\r\n max-inline-size: 100%;\r\n max-block-size: calc(100vh - #{units.$u8});\r\n }\r\n\r\n .figuur-bijschrift:not([hidden]) {\r\n display: block;\r\n font-size: 0.75rem;\r\n font-style: italic;\r\n padding-block-end: units.$u1 * 1.5;\r\n padding-block-start: units.$u2;\r\n }\r\n}\r\n\r\n.close {\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n position: absolute;\r\n inset-block-start: units.$u2;\r\n inset-inline-end: units.$u2;\r\n }\r\n}\r\n\r\nins.editaction-add {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include insert.element();\r\n @include insert.root();\r\n\r\n .wrapper {\r\n outline: none;\r\n padding: units.$u1;\r\n @include insert.root();\r\n\r\n .editaction-label {\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\r\n inset-block-start: units.$u6;\r\n }\r\n }\r\n\r\n .open {\r\n inset-block-start: units.$u6;\r\n }\r\n}\r\n\r\ndel.editaction-remove {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n .wrapper {\r\n outline: none;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n .title {\r\n text-decoration: line-through;\r\n }\r\n\r\n .editaction-label {\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\r\n inset-block-start: units.$u6;\r\n }\r\n }\r\n\r\n .open {\r\n inset-block-start: units.$u6;\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n margin-block-end: units.$u1;\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n FunctionalComponent,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { FocusTrap, createFocusTrap } from \"focus-trap\";\r\n\r\ntype ImageOverlayWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nconst wijzigactieLabels: { [wijzigactie in ImageOverlayWijzigactie]: string } = {\r\n verwijder: \"Verwijderd\",\r\n voegtoe: \"Toegevoegd\",\r\n};\r\n\r\nconst Dimmer: FunctionalComponent<{\r\n active: boolean;\r\n src: string | undefined;\r\n alt: string | undefined;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n click: () => void;\r\n}> = ({ active, src, alt, ref, click }, children) =>\r\n active &&\r\n src && (\r\n <div class=\"dimmer\">\r\n <div class=\"wrapper\" ref={ref}>\r\n {children[2]}\r\n {children[0]}\r\n <img src={src} alt={alt} />\r\n <dso-icon-button icon=\"times\" variant=\"map\" class=\"close\" label=\"Sluiten\" onDsoClick={click} />\r\n {children[1]}\r\n </div>\r\n </div>\r\n );\r\n\r\n@Component({\r\n tag: \"dso-image-overlay\",\r\n styleUrl: \"./image-overlay.scss\",\r\n shadow: true,\r\n})\r\nexport class ImageOverlay implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoImageOverlayElement;\r\n\r\n /**\r\n * The wijzigactie.\r\n */\r\n @Prop()\r\n wijzigactie?: string;\r\n\r\n @State()\r\n active = false;\r\n\r\n @State()\r\n zoomable = false;\r\n\r\n private iconButtonElement: HTMLDsoIconButtonElement | undefined;\r\n\r\n private wrapperElement: HTMLDivElement | undefined;\r\n\r\n private trap: FocusTrap | undefined;\r\n\r\n private titelSlot: HTMLElement | null = null;\r\n\r\n private bijschriftSlot: HTMLElement | null = null;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private resizeObserver?: ResizeObserver;\r\n\r\n @Listen(\"load\", { capture: true })\r\n loadListener(event: Event) {\r\n if (event.target instanceof HTMLImageElement) {\r\n this.setZoomable(event.target);\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n this.titelSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='titel']\");\r\n\r\n this.bijschriftSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='bijschrift']\");\r\n }\r\n\r\n componentDidLoad() {\r\n this.resizeObserver = new ResizeObserver(\r\n debounce(() => {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (imgElement instanceof HTMLImageElement) {\r\n this.setZoomable(imgElement);\r\n }\r\n }, 200),\r\n );\r\n\r\n this.mutationObserver = new MutationObserver((e) => {\r\n forceUpdate(this.host);\r\n\r\n if (e[0]?.type === \"childList\") {\r\n this.resizeObserver?.disconnect();\r\n // <img> is gone or a new element.\r\n this.initZoomableImage();\r\n }\r\n });\r\n\r\n this.mutationObserver.observe(this.host, {\r\n attributes: true,\r\n subtree: true,\r\n attributeFilter: [\"src\", \"alt\"],\r\n childList: true,\r\n });\r\n\r\n this.initZoomableImage();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.trap?.deactivate();\r\n this.mutationObserver?.disconnect();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n private initZoomableImage(): void {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (!(imgElement instanceof HTMLImageElement)) {\r\n return;\r\n }\r\n\r\n // Due to timing issues where the image is loaded before we listen to load events we double check if the image is already complete.\r\n if (imgElement.complete) {\r\n this.setZoomable(imgElement);\r\n }\r\n\r\n this.resizeObserver?.observe(imgElement);\r\n }\r\n\r\n private setZoomable(imageElement: HTMLImageElement): void {\r\n const { width, naturalWidth, height, naturalHeight } = imageElement;\r\n\r\n this.zoomable = width < naturalWidth || height < naturalHeight;\r\n }\r\n\r\n private isWijzigactie(wijzigactie: string): wijzigactie is ImageOverlayWijzigactie {\r\n return wijzigactie === \"voegtoe\" || wijzigactie === \"verwijder\";\r\n }\r\n\r\n render() {\r\n const { src, alt } = this.host.querySelector(\"img\") ?? {};\r\n\r\n const editActionLabel: string | undefined =\r\n (this.wijzigactie && this.isWijzigactie(this.wijzigactie) && wijzigactieLabels[this.wijzigactie]) || undefined;\r\n\r\n const button = this.zoomable && (\r\n <dso-icon-button\r\n icon=\"external-link\"\r\n class=\"open\"\r\n variant=\"map\"\r\n label=\"Afbeelding vergroot weergeven\"\r\n ref={(element) => (this.iconButtonElement = element)}\r\n onDsoClick={() => (this.active = true)}\r\n />\r\n );\r\n\r\n if (this.wijzigactie === \"verwijder\") {\r\n return (\r\n <Host onClick={() => this.iconButtonElement?.setFocus()}>\r\n <del class=\"editaction-remove\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </del>\r\n </Host>\r\n );\r\n }\r\n\r\n if (this.wijzigactie === \"voegtoe\") {\r\n return (\r\n <Host onClick={() => this.iconButtonElement?.setFocus()}>\r\n <ins class=\"editaction-add\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </ins>\r\n </Host>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={() => this.iconButtonElement?.setFocus()}>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </Host>\r\n );\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active && this.wrapperElement && !this.trap) {\r\n this.trap = createFocusTrap(this.wrapperElement, {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.wrapperElement) {\r\n this.active = false;\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.iconButtonElement ?? false,\r\n onDeactivate: () => (this.active = false),\r\n tabbableOptions: {\r\n getShadowRoot: (node) => node.shadowRoot ?? undefined,\r\n },\r\n }).activate();\r\n } else if (!this.active && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n}\r\n","export function getNodeName(node: Node): string {\r\n if (node instanceof Element) {\r\n return node.localName;\r\n }\r\n\r\n if (node.nodeName.includes(\":\")) {\r\n return node.nodeName.substring(node.nodeName.indexOf(\":\") + 1);\r\n }\r\n\r\n return node.nodeName;\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentAbbrNode implements OzonContentNode {\r\n name = \"abbr\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const title = node.getAttribute(\"title\");\r\n\r\n return (\r\n <span class=\"od-abbr\">\r\n <abbr>{mapNodeToJsx(node.childNodes)}</abbr>\r\n {title && ` (${title})`}\r\n </span>\r\n );\r\n }\r\n}\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentWijzigActie } from \"../ozon-content.interfaces\";\r\n\r\nexport interface WrapWijzigactieProps {\r\n wijzigactie: OzonContentWijzigActie | undefined;\r\n}\r\n\r\nexport const WrapWijzigactie: FunctionalComponent<WrapWijzigactieProps> = ({ wijzigactie }, children) => {\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins>{children}</ins>;\r\n }\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del>{children}</del>;\r\n }\r\n\r\n return children;\r\n};\r\n","import { OzonContentWijzigActie } from \"../ozon-content.interfaces\";\r\n\r\nexport function wijzigactieToClassName(wijzigactie: OzonContentWijzigActie | undefined): string | undefined {\r\n if (wijzigactie === \"voegtoe\") {\r\n return \"editaction-add\";\r\n }\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return \"editaction-remove\";\r\n }\r\n\r\n return undefined;\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { WrapWijzigactie } from \"../functional-components/wrap-wijzigactie.functional-component\";\r\nimport { parseWijzigactieFromNode } from \"../functions/parse-wijzigactie-from-node.function\";\r\nimport { wijzigactieToClassName } from \"../functions/wijzigactie-to-class-name.function\";\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nfunction isNestedAl(path: Node[]) {\r\n return path.some((n) => {\r\n const nodeName = getNodeName(n);\r\n\r\n return nodeName === \"Al\" || nodeName === \"Opschrift\";\r\n });\r\n}\r\n\r\nexport class OzonContentAlNode implements OzonContentNode {\r\n name = \"Al\";\r\n\r\n render(node: Element, { mapNodeToJsx, path, inline }: OzonContentNodeContext) {\r\n let content = mapNodeToJsx(node.childNodes);\r\n const wijzigactie = parseWijzigactieFromNode(node);\r\n const className = wijzigactieToClassName(wijzigactie);\r\n\r\n if (inline || isNestedAl(path)) {\r\n content = (\r\n <span role=\"paragraph\" class={className}>\r\n {content}\r\n </span>\r\n );\r\n } else {\r\n content = <p class={className}>{content}</p>;\r\n }\r\n\r\n return <WrapWijzigactie wijzigactie={wijzigactie}>{content}</WrapWijzigactie>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentBronNode implements OzonContentNode {\r\n name = \"Bron\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class=\"dso-ozon-bron\">{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentDocumentNode implements OzonContentNode {\r\n name = \"#document\";\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <Fragment>{mapNodeToJsx(node.childNodes)}</Fragment>;\r\n }\r\n}\r\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20f0',\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsLowerMisc = '(?:' + rsLower + '|' + rsMisc + ')',\n rsUpperMisc = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptLowerContr = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptUpperContr = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptLowerContr + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsUpperMisc + '+' + rsOptUpperContr + '(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',\n rsUpper + '?' + rsLowerMisc + '+' + rsOptLowerContr,\n rsUpper + '+' + rsOptUpperContr,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 'ss'\n};\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = kebabCase;\n","import { h } from \"@stencil/core\";\r\nimport kebabCase from \"lodash.kebabcase\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentExtRefNode implements OzonContentNode {\r\n name = [\"ExtRef\", \"ExtIoRef\"];\r\n\r\n render(node: Element, { mapNodeToJsx, urlResolver }: OzonContentNodeContext) {\r\n const className = kebabCase(node.tagName);\r\n const value = node.getAttribute(\"ref\");\r\n const name: \"ExtRef\" | \"ExtIoRef\" = node.tagName === \"ExtRef\" ? \"ExtRef\" : \"ExtIoRef\";\r\n const href = urlResolver ? urlResolver(name, \"ref\", value, node) : value;\r\n\r\n return (\r\n <a\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n href={href ?? undefined}\r\n class={className}\r\n title=\"Opent andere website in nieuw tabblad\"\r\n >\r\n <span>{mapNodeToJsx(node.childNodes)}</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentFallbackNode implements OzonContentNode {\r\n // This name does not match any elements\r\n name = [\"<fallback>\"];\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class={`fallback od-${getNodeName(node)}`}>{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, FunctionalComponent, JSX, h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\ntype BijschriftProps = {\r\n bijschrift?: IBijschrift;\r\n bron?: ChildNode;\r\n mapNodeToJsx: (node: Node | NodeList | Node[]) => JSX.Element;\r\n};\r\n\r\ninterface IBijschrift {\r\n inhoud: NodeListOf<ChildNode>;\r\n locatie: string;\r\n}\r\n\r\ninterface Illustratie {\r\n naam: string;\r\n breedte: number;\r\n hoogte: number;\r\n dpi: number;\r\n uitlijning: \"start\" | \"center\" | \"end\";\r\n alt: string | undefined;\r\n}\r\n\r\nconst Bijschrift: FunctionalComponent<BijschriftProps> = ({ bijschrift, bron, mapNodeToJsx }) => {\r\n const bronText = bron && bron.textContent?.trim();\r\n\r\n return (\r\n <span class=\"figuur-bijschrift\">\r\n {bijschrift && bijschrift.inhoud && mapNodeToJsx(bijschrift.inhoud)}\r\n {bronText && (\r\n <Fragment>\r\n {`${bijschrift ? \" \" : \"\"}(bron: `}\r\n {mapNodeToJsx(bron)})\r\n </Fragment>\r\n )}\r\n </span>\r\n );\r\n};\r\n\r\nexport class OzonContentFiguurNode implements OzonContentNode {\r\n name = [\"Figuur\"];\r\n\r\n private getStyle(illustratie: Illustratie) {\r\n const widthPixels = Number(illustratie.breedte);\r\n const heightPixels = Number(illustratie.hoogte);\r\n\r\n const style = {\r\n \"--_dso-ozon-content-illustratie-uitlijning\": illustratie.uitlijning,\r\n };\r\n\r\n if (widthPixels && heightPixels) {\r\n // This is the STOP formula to calculate the width in percentage\r\n // see: https://koop.gitlab.io/stop/standaard/1.4.0-ic/regeltekst_afbeelding.html\r\n // We maximise it to 100% in the case of missing dpi or a calculated percentage greater than 100%\r\n const widthPercentage = Math.min(illustratie.dpi ? (16.4 * widthPixels) / Number(illustratie.dpi) : 100, 100);\r\n\r\n Object.assign(style, {\r\n \"--_dso-ozon-content-illustratie-aspect-ratio\": (widthPixels / heightPixels).toString(),\r\n \"--_dso-ozon-content-illustratie-width\": `${widthPercentage}%`,\r\n });\r\n }\r\n\r\n return style;\r\n }\r\n\r\n private mapIllustratieNode(node: Element): Illustratie {\r\n return {\r\n naam: node.getAttribute(\"naam\") ?? \"\",\r\n breedte: Number(node.getAttribute(\"breedte\")),\r\n hoogte: Number(node.getAttribute(\"hoogte\")),\r\n dpi: Number(node.getAttribute(\"dpi\")),\r\n uitlijning:\r\n [\"start\", \"center\", \"end\"].find((u): u is Illustratie[\"uitlijning\"] => node.getAttribute(\"uitlijning\") === u) ??\r\n \"start\",\r\n alt: node.getAttribute(\"alt\") ?? undefined,\r\n };\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx, urlResolver }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const titel = childNodes.find((n) => getNodeName(n) === \"Titel\")?.textContent;\r\n const bron = childNodes.find((n) => getNodeName(n) === \"Bron\");\r\n\r\n const illustratieNode = childNodes.find((n) => getNodeName(n) === \"Illustratie\");\r\n const bijschriftNode = childNodes.find((n) => getNodeName(n) === \"Bijschrift\");\r\n\r\n const wijzigactie = node.getAttribute(\"wijzigactie\") || undefined;\r\n\r\n if (illustratieNode instanceof Element) {\r\n const illustratie = this.mapIllustratieNode(illustratieNode);\r\n\r\n const bijschrift =\r\n bijschriftNode instanceof Element\r\n ? {\r\n inhoud: bijschriftNode.childNodes,\r\n locatie: bijschriftNode.getAttribute(\"locatie\") ?? \"onder\",\r\n }\r\n : undefined;\r\n\r\n const src = urlResolver ? urlResolver(\"Illustratie\", \"naam\", illustratie.naam, node) : illustratie.naam;\r\n\r\n return (\r\n <div\r\n class={`dso-ozon-figuur ${bijschrift ? `bijschrift-${bijschrift.locatie}` : \"onder\"}`}\r\n style={this.getStyle(illustratie)}\r\n >\r\n {titel && <span class=\"figuur-titel\">{titel}</span>}\r\n {bijschrift?.locatie === \"boven\" && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n <dso-image-overlay wijzigactie={wijzigactie}>\r\n {titel && (\r\n <div slot=\"titel\">\r\n <span>{titel}</span>\r\n </div>\r\n )}\r\n <img src={src ?? undefined} alt={illustratie.alt ?? titel ?? illustratie.naam ?? undefined} />\r\n {(bijschrift || bron) && (\r\n <div slot=\"bijschrift\">\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n </div>\r\n )}\r\n </dso-image-overlay>\r\n {(bijschrift?.locatie === \"onder\" || (!bijschrift && bron)) && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInhoudNode implements OzonContentNode {\r\n name = [\"Inhoud\", \"ContainerBlocksType\", \"BlockMixedcontentMetMaximaleInlinesMarkersPopupsType\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n const richContent = <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del class=\"editaction-remove\">{richContent}</del>;\r\n }\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins class=\"editaction-add\">{richContent}</ins>;\r\n }\r\n\r\n return richContent;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineTekstAfbeeldingNode implements OzonContentNode {\r\n name = [\"InlineTekstAfbeelding\", \"Illustratie\"];\r\n\r\n render(node: Element, { urlResolver }: OzonContentNodeContext) {\r\n const value = node.getAttribute(\"naam\");\r\n const name: \"InlineTekstAfbeelding\" | \"Illustratie\" =\r\n node.tagName === \"InlineTekstAfbeelding\" ? \"InlineTekstAfbeelding\" : \"Illustratie\";\r\n const src = urlResolver ? urlResolver(name, \"naam\", value, node) : value;\r\n\r\n return (\r\n <img\r\n src={src ?? undefined}\r\n alt={node.getAttribute(\"naam\") ?? undefined}\r\n height={node.getAttribute(\"hoogte\") ?? undefined}\r\n width={node.getAttribute(\"breedte\") ?? undefined}\r\n />\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineNodes implements OzonContentNode {\r\n name = [\"sub\", \"sup\", \"strong\", \"b\", \"u\", \"i\", \"br\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n if (node.localName === \"br\") {\r\n return <br />;\r\n }\r\n\r\n const Tag = node.localName;\r\n\r\n return <Tag>{mapNodeToJsx(node.childNodes)}</Tag>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntIoRefNode implements OzonContentNode {\r\n name = \"IntIoRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntRefNode implements OzonContentNode {\r\n name = \"IntRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { WrapWijzigactie } from \"../functional-components/wrap-wijzigactie.functional-component\";\r\nimport { parseWijzigactieFromNode } from \"../functions/parse-wijzigactie-from-node.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nfunction mapData(node: Element) {\r\n return {\r\n label: node.querySelector(\"Label\"),\r\n nummer: node.querySelector(\"Nummer\"),\r\n opschrift: node.querySelector(\"Opschrift\"),\r\n subtitels: Array.from(node.querySelectorAll(\"Subtitel\")),\r\n };\r\n}\r\n\r\nexport class OzonContentKopNode implements OzonContentNode {\r\n name = \"Kop\";\r\n\r\n handles = [\"Label\", \"Nummer\", \"Opschrift\", \"Subtitel\"];\r\n\r\n render(node: Element, { mapNodeToJsx, emitClick }: OzonContentNodeContext) {\r\n const handleKopClick = (event: MouseEvent) => {\r\n emitClick({\r\n type: \"Kop\",\r\n node,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n const { label, nummer, opschrift, subtitels } = mapData(node);\r\n\r\n const wijzigactieLabel = label ? parseWijzigactieFromNode(label) : undefined;\r\n const wijzigactieNummer = nummer ? parseWijzigactieFromNode(nummer) : undefined;\r\n const wijzigactieOpschrift = opschrift ? parseWijzigactieFromNode(opschrift) : undefined;\r\n\r\n return (\r\n <WrapWijzigactie wijzigactie={parseWijzigactieFromNode(node)}>\r\n <div onClick={handleKopClick} part=\"_kop\">\r\n {label && <WrapWijzigactie wijzigactie={wijzigactieLabel}>{mapNodeToJsx(label.childNodes)}</WrapWijzigactie>}\r\n {nummer && (\r\n <>\r\n {\" \"}\r\n <WrapWijzigactie wijzigactie={wijzigactieNummer}>{mapNodeToJsx(nummer.childNodes)}</WrapWijzigactie>\r\n </>\r\n )}\r\n {opschrift && (\r\n <>\r\n {\" \"}\r\n <WrapWijzigactie wijzigactie={wijzigactieOpschrift}>{mapNodeToJsx(opschrift.childNodes)}</WrapWijzigactie>\r\n </>\r\n )}\r\n </div>\r\n {subtitels.length > 0 && (\r\n <div class=\"subtitels-container\" part=\"_subtitels\">\r\n {subtitels.map((subtitel) => {\r\n const wijzigactieSubtitel = parseWijzigactieFromNode(subtitel);\r\n\r\n return (\r\n <div class=\"subtitel\">\r\n <WrapWijzigactie wijzigactie={wijzigactieSubtitel}>\r\n {mapNodeToJsx(subtitel.childNodes)}\r\n </WrapWijzigactie>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n )}\r\n </WrapWijzigactie>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { WrapWijzigactie } from \"../functional-components/wrap-wijzigactie.functional-component\";\r\nimport { parseWijzigactieFromNode } from \"../functions/parse-wijzigactie-from-node.function\";\r\nimport { wijzigactieToClassName } from \"../functions/wijzigactie-to-class-name.function\";\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentLijstNode implements OzonContentNode {\r\n name = \"Lijst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const wijzigactie = parseWijzigactieFromNode(node);\r\n const childNodes = Array.from(node.childNodes);\r\n const type = parseTypeFromLijstNode(node);\r\n const aanhef = childNodes.find((n) => getNodeName(n) === \"Lijstaanhef\");\r\n const sluiting = childNodes.find((n) => getNodeName(n) === \"Lijstsluiting\");\r\n const listItems = childNodes.filter((n) => getNodeName(n) === \"Li\");\r\n\r\n return (\r\n <WrapWijzigactie wijzigactie={wijzigactie}>\r\n <div class={clsx(\"dso-ozon-lijst od-Lijst\", wijzigactieToClassName(wijzigactie))}>\r\n {aanhef && mapNodeToJsx(aanhef)}\r\n <ul class={type}>\r\n {listItems.map((item) => {\r\n const itemNodes = Array.from(item.childNodes);\r\n const liNummer = itemNodes.find((n) => getNodeName(n) === \"LiNummer\")?.childNodes;\r\n const liWijzigactie = parseWijzigactieFromNode(item);\r\n\r\n return (\r\n <li class={clsx(\"od-Li\", wijzigactieToClassName(liWijzigactie))}>\r\n {liNummer && <span class=\"od-LiNummer\">{mapNodeToJsx(liNummer)}</span>}\r\n <WrapWijzigactie wijzigactie={liWijzigactie}>\r\n {mapNodeToJsx(itemNodes.filter((n) => getNodeName(n) !== \"LiNummer\"))}\r\n </WrapWijzigactie>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n {sluiting && mapNodeToJsx(sluiting)}\r\n </div>\r\n </WrapWijzigactie>\r\n );\r\n }\r\n}\r\n\r\nfunction parseTypeFromLijstNode(node: Node): LijstType | undefined {\r\n const type = node instanceof Element ? node.getAttribute(\"type\") : undefined;\r\n\r\n return type === \"expliciet\" || type === \"ongemarkeerd\" ? type : undefined;\r\n}\r\n\r\ntype LijstType = \"expliciet\" | \"ongemarkeerd\";\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNieuweTekstNode implements OzonContentNode {\r\n name = \"NieuweTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <ins class=\"new-text\">{mapNodeToJsx(node.childNodes)}</ins>;\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNootNode implements OzonContentNode {\r\n name = \"Noot\";\r\n\r\n handles = [\"NootNummer\"];\r\n\r\n identify(): string | undefined {\r\n return \"Noot\";\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx, state: openNoteId, setState }: OzonContentNodeContext<string | undefined>) {\r\n const noteId = node.getAttribute(\"id\");\r\n if (!noteId) {\r\n console.error(\"Noot node without id\", node);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n const noteControlsId = `dso-ozon-note-${noteId}`;\r\n\r\n const childNodes = Array.from(node.childNodes);\r\n const nootNummer = childNodes.find((n) => getNodeName(n) === \"NootNummer\")?.textContent ?? noteId;\r\n\r\n return (\r\n <>\r\n <sup>\r\n <button\r\n type=\"button\"\r\n class=\"toggle-note\"\r\n aria-describedby={noteControlsId}\r\n onClick={() => setState?.(openNoteId === noteId ? undefined : noteId)}\r\n onBlur={() => setState?.(undefined)}\r\n aria-expanded={openNoteId === noteId ? \"true\" : \"false\"}\r\n >\r\n {nootNummer}\r\n </button>\r\n </sup>\r\n <dso-tooltip active={openNoteId === noteId} id={noteControlsId} stateless descriptive>\r\n <span role=\"section\">{mapNodeToJsx(Array.from(node.querySelectorAll(\":scope > Al\")))}</span>\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n","import { Colspec, Colspecs } from \"./colspec.interface\";\r\n\r\nexport function mapColspecs(count: number, nodeList: NodeListOf<Element>): Colspecs {\r\n const elements = Array.from(nodeList);\r\n const totalWidth = getTotalWidth(elements);\r\n\r\n return {\r\n totalWidth,\r\n count,\r\n columns: elements.map((element, index): Colspec => {\r\n const colNumber = element.getAttribute(\"colnum\");\r\n\r\n return {\r\n colsep: element.getAttribute(\"colsep\"),\r\n name: element.getAttribute(\"colname\") ?? \"\",\r\n number: colNumber ? parseInt(colNumber, 10) : index + 1,\r\n rowsep: element.getAttribute(\"rowsep\"),\r\n width: getWidth(totalWidth, element),\r\n };\r\n }),\r\n };\r\n}\r\n\r\nfunction getTotalWidth(elements: Element[]): number {\r\n return elements.reduce((totalWidth, element) => {\r\n const width = element.getAttribute(\"colwidth\")?.replace(/[^0-9]/, \"\") ?? \"\";\r\n const colWidth = parseInt(width, 10);\r\n\r\n return totalWidth + (isNaN(colWidth) ? 0 : colWidth);\r\n }, 0);\r\n}\r\n\r\nfunction getWidth(totalWidth: number, element: Element): string | undefined {\r\n const width = element.getAttribute(\"colwidth\");\r\n\r\n if (!width) {\r\n return undefined;\r\n }\r\n\r\n if (width === \"*\") {\r\n return \"100%\";\r\n }\r\n\r\n if (width.includes(\"*\") || width.match(/^[\\d+]$/)) {\r\n const colWidth = parseInt(width.replace(/[^0-9]/, \"\"), 10);\r\n\r\n return `${Math.round((colWidth / totalWidth) * 100)}%`;\r\n }\r\n\r\n return width;\r\n}\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nexport const Colgroup: FunctionalComponent<{ colspecs: Colspecs }> = ({ colspecs }) =>\r\n colspecs.columns.length > 0 ? (\r\n <colgroup>\r\n {colspecs.columns.map((colspec) => (\r\n <col style={{ width: colspec.width }} />\r\n ))}\r\n </colgroup>\r\n ) : (\r\n <Fragment />\r\n );\r\n","import { FunctionalComponent } from \"@stencil/core\";\r\nimport { h } from \"@stencil/core/internal\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nfunction getColspecStartColsep({ columns }: Colspecs, nameStart: string): string | null {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n\r\n return colspecStart ? colspecStart.colsep : null;\r\n}\r\n\r\nfunction getColspecStartRowsep({ columns }: Colspecs, nameStart: string): string | null {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n\r\n return colspecStart ? colspecStart.rowsep : null;\r\n}\r\n\r\nfunction getData(cell: Element, colspecs?: Colspecs) {\r\n const nameStart = cell.getAttribute(\"namest\");\r\n const row = cell.parentElement;\r\n const tgroup = row?.parentElement?.parentElement;\r\n const table = tgroup?.parentElement;\r\n const colsep =\r\n cell.getAttribute(\"colsep\") ||\r\n (colspecs && nameStart ? getColspecStartColsep(colspecs, nameStart) : null) ||\r\n (tgroup && tgroup.getAttribute(\"colsep\")) ||\r\n (table && table.getAttribute(\"colsep\"));\r\n const rowsep =\r\n cell.getAttribute(\"rowsep\") ||\r\n (row && row.getAttribute(\"rowsep\")) ||\r\n (colspecs && nameStart ? getColspecStartRowsep(colspecs, nameStart) : null) ||\r\n (tgroup && tgroup.getAttribute(\"rowsep\")) ||\r\n (table && table.getAttribute(\"rowsep\"));\r\n\r\n return {\r\n moreRows: cell.getAttribute(\"morerows\"),\r\n nameStart,\r\n nameEnd: cell.getAttribute(\"nameend\"),\r\n colsep,\r\n rowsep,\r\n };\r\n}\r\n\r\nfunction getColspan({ columns }: Colspecs, nameStart: string, nameEnd: string): number | undefined {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n const colspecEnd = columns.find((c) => c.name === nameEnd);\r\n if (!colspecStart || !colspecEnd) {\r\n return undefined;\r\n }\r\n\r\n const colspan = colspecEnd.number - colspecStart.number + 1;\r\n\r\n return colspan === 1 ? undefined : colspan;\r\n}\r\n\r\nexport const Cell: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n cell: Element;\r\n}> = ({ context: { mapNodeToJsx }, colspecs, cell }) => {\r\n const { moreRows, nameStart, nameEnd, colsep, rowsep } = getData(cell, colspecs);\r\n\r\n return (\r\n <td\r\n class={clsx({ \"dso-horizontal-line\": rowsep !== \"0\" }, { \"dso-vertical-line\": colsep !== \"0\" })}\r\n rowSpan={moreRows ? parseInt(moreRows, 10) + 1 : undefined}\r\n colSpan={colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined}\r\n >\r\n {mapNodeToJsx(cell.childNodes)}\r\n </td>\r\n );\r\n};\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\nimport { Cell } from \"./table-cell\";\r\n\r\nexport const Rows: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n rows: Element[];\r\n}> = ({ context, colspecs, rows }) => {\r\n return (\r\n <>\r\n {rows.map((row) => (\r\n <tr>\r\n {Array.from(row.children).map((cell) => (\r\n <Cell cell={cell} colspecs={colspecs} context={context} />\r\n ))}\r\n </tr>\r\n ))}\r\n </>\r\n );\r\n};\r\n","import { h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { getNodeName } from \"../../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../../ozon-content-node.interface\";\r\n\r\nimport { mapColspecs } from \"./colspec/colspec-mapper\";\r\nimport { Colgroup } from \"./table-colgroup\";\r\nimport { Rows } from \"./table-rows\";\r\n\r\nfunction mapData(node: Element) {\r\n const tgroup = node.querySelector(\":scope > tgroup\");\r\n const colAttribute = tgroup?.getAttribute(\"cols\") ?? undefined;\r\n const columnCount = colAttribute ? parseInt(colAttribute, 10) : undefined;\r\n\r\n return {\r\n caption: node.querySelector(\":scope > title\")?.textContent ?? undefined,\r\n colspecs: tgroup && columnCount ? mapColspecs(columnCount, tgroup.querySelectorAll(\":scope > colspec\")) : undefined,\r\n headRows: Array.from(node.querySelectorAll(\":scope > tgroup > thead > row\")),\r\n bodyRows: Array.from(node.querySelectorAll(\":scope > tgroup > tbody > row\")),\r\n wijzigactie: node.getAttribute(\"wijzigactie\"),\r\n frame: node.getAttribute(\"frame\") ? node.getAttribute(\"frame\") : \"all\",\r\n };\r\n}\r\n\r\nexport class OzonContentTableNode implements OzonContentNode {\r\n name = \"table\";\r\n\r\n handles = [\"title\", \"tgroup\", \"colspec\", \"thead\", \"tbody\", \"row\", \"cell\"];\r\n\r\n id = uuidv4();\r\n\r\n render(node: Element, context: OzonContentNodeContext) {\r\n const { caption, colspecs, headRows, bodyRows, wijzigactie, frame } = mapData(node);\r\n\r\n const bron = Array.from(node.childNodes).find((n) => getNodeName(n) === \"Bron\");\r\n\r\n return (\r\n <dso-table>\r\n <table\r\n class={clsx(\"table\", {\r\n \"editaction-add\": wijzigactie === \"voegtoe\",\r\n \"editaction-remove\": wijzigactie === \"verwijder\",\r\n [`dso-table-outside-lines-${frame}`]: frame,\r\n })}\r\n {...(bron ? { \"aria-describedby\": this.id } : {})}\r\n >\r\n {caption && <caption>{caption}</caption>}\r\n {colspecs && <Colgroup colspecs={colspecs} />}\r\n {headRows.length > 0 && (\r\n <thead>\r\n <Rows rows={headRows} colspecs={colspecs} context={context}></Rows>\r\n </thead>\r\n )}\r\n {bodyRows.length > 0 && (\r\n <tbody>\r\n <Rows rows={bodyRows} colspecs={colspecs} context={context}></Rows>\r\n </tbody>\r\n )}\r\n </table>\r\n {bron && <div id={this.id}>{context.mapNodeToJsx(bron)}</div>}\r\n </dso-table>\r\n );\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentTextNode implements OzonContentNode {\r\n name = \"#text\";\r\n\r\n render({ textContent }: Node, { mark, emitMarkItemHighlight }: OzonContentNodeContext) {\r\n if (!mark || !textContent) {\r\n return <>{textContent}</>;\r\n }\r\n\r\n const result = mark(textContent);\r\n\r\n return !result || result.length === 0 ? (\r\n <>{textContent}</>\r\n ) : (\r\n <>\r\n {result.map((value) => {\r\n if (typeof value === \"string\") {\r\n return <>{value}</>;\r\n }\r\n\r\n return (\r\n <mark\r\n class={value.highlight ? \"dso-highlight\" : undefined}\r\n ref={(ref) => value.highlight && ref && emitMarkItemHighlight(value.text, ref)}\r\n >\r\n {value.text}\r\n </mark>\r\n );\r\n })}\r\n </>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentVerwijderdeTekstNode implements OzonContentNode {\r\n name = \"VerwijderdeTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <del class=\"removed-text\">{mapNodeToJsx(node.childNodes)}</del>;\r\n }\r\n}\r\n","import { Fragment, JSX, h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"./get-node-name.function\";\r\nimport { OzonContentAbbrNode } from \"./nodes/abbr.node\";\r\nimport { OzonContentAlNode } from \"./nodes/al.node\";\r\nimport { OzonContentBronNode } from \"./nodes/bron.node\";\r\nimport { OzonContentDocumentNode } from \"./nodes/document.node\";\r\nimport { OzonContentExtRefNode } from \"./nodes/ext-ref.node\";\r\nimport { OzonContentFallbackNode } from \"./nodes/fallback.node\";\r\nimport { OzonContentFiguurNode } from \"./nodes/figuur.node\";\r\nimport { OzonContentInhoudNode } from \"./nodes/inhoud.node\";\r\nimport { OzonContentInlineTekstAfbeeldingNode } from \"./nodes/inline-tekst-afbeelding.node\";\r\nimport { OzonContentInlineNodes } from \"./nodes/inline.nodes\";\r\nimport { OzonContentIntIoRefNode } from \"./nodes/int-io-ref.node\";\r\nimport { OzonContentIntRefNode } from \"./nodes/int-ref.node\";\r\nimport { OzonContentKopNode } from \"./nodes/kop.node\";\r\nimport { OzonContentLijstNode } from \"./nodes/lijst.node\";\r\nimport { OzonContentNieuweTekstNode } from \"./nodes/nieuwe-tekst.node\";\r\nimport { OzonContentNootNode } from \"./nodes/noot.node\";\r\nimport { OzonContentTableNode } from \"./nodes/table.node\";\r\nimport { OzonContentTextNode } from \"./nodes/text.node\";\r\nimport { OzonContentVerwijderdeTekstNode } from \"./nodes/verwijderde-tekst.node\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentNode } from \"./ozon-content-node.interface\";\r\nimport { OzonContentInputType } from \"./ozon-content.interfaces\";\r\n\r\nexport class Mapper {\r\n private mappers: OzonContentNode[] = [\r\n new OzonContentAbbrNode(),\r\n new OzonContentTextNode(),\r\n new OzonContentDocumentNode(),\r\n new OzonContentInhoudNode(),\r\n new OzonContentKopNode(),\r\n new OzonContentIntRefNode(),\r\n new OzonContentExtRefNode(),\r\n new OzonContentAlNode(),\r\n new OzonContentInlineNodes(),\r\n new OzonContentInlineTekstAfbeeldingNode(),\r\n new OzonContentNootNode(),\r\n new OzonContentTableNode(),\r\n new OzonContentIntIoRefNode(),\r\n new OzonContentFiguurNode(),\r\n new OzonContentLijstNode(),\r\n new OzonContentBronNode(),\r\n new OzonContentNieuweTekstNode(),\r\n new OzonContentVerwijderdeTekstNode(),\r\n ];\r\n\r\n private skip = this.mappers.reduce<string[]>((t, m) => {\r\n if (m.handles) {\r\n t.push(...m.handles);\r\n }\r\n\r\n return t;\r\n }, []);\r\n\r\n private fallbackNode = new OzonContentFallbackNode();\r\n\r\n private domParser?: DOMParser;\r\n\r\n private findMapper(name: string): OzonContentNode | undefined {\r\n if (this.skip.includes(name)) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n this.mappers.find((m) => {\r\n if (Array.isArray(m.name)) {\r\n return m.name.includes(name);\r\n }\r\n\r\n return m.name === name;\r\n }) ?? this.fallbackNode\r\n );\r\n }\r\n\r\n mapNodeToJsx(node: Node | Node[] | NodeList, context: OzonContentContext, path: Node[]): JSX.Element {\r\n if (node instanceof NodeList) {\r\n return <Fragment>{Array.from(node).map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n if (Array.isArray(node)) {\r\n return <Fragment>{node.map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n const nodeName = getNodeName(node);\r\n const mapper = this.findMapper(nodeName);\r\n if (!mapper) {\r\n return <Fragment />;\r\n }\r\n\r\n const identity = mapper.identify?.(node);\r\n\r\n const state = identity ? context.state[identity] : undefined;\r\n const setState = identity ? (s: unknown) => context.setState({ ...context.state, [identity]: s }) : undefined;\r\n\r\n return mapper.render(node, {\r\n inline: context.inline,\r\n mark: context.mark,\r\n mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),\r\n emitAnchorClick: context.emitAnchorClick,\r\n emitClick: context.emitClick,\r\n setState,\r\n emitMarkItemHighlight: context.emitMarkItemHighlight,\r\n state,\r\n path,\r\n urlResolver: context.urlResolver,\r\n });\r\n }\r\n\r\n transform(input: OzonContentInputType | undefined, context: OzonContentContext): JSX.Element {\r\n if (!input) {\r\n return <Fragment />;\r\n }\r\n\r\n const document = this.inputToXmlDocument(input);\r\n if (document.querySelector(\"parsererror\")) {\r\n console.error({\r\n message: \"[DSO Toolkit: Ozon Content Mapper] Unable to parse XML\",\r\n context,\r\n input,\r\n document,\r\n });\r\n\r\n return <Fragment />;\r\n }\r\n\r\n return this.mapNodeToJsx(document.getRootNode(), context, []);\r\n }\r\n\r\n private inputToXmlDocument(input: OzonContentInputType): XMLDocument {\r\n if (input instanceof XMLDocument) {\r\n return input;\r\n }\r\n\r\n if (typeof input === \"string\") {\r\n this.domParser ??= new DOMParser();\r\n\r\n return this.domParser.parseFromString(input, \"text/xml\");\r\n }\r\n\r\n return document.implementation.createDocument(null, null);\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n@use \"~dso-toolkit/src/components/link\";\r\n@use \"~dso-toolkit/src/components/button/button.mixins\" as button-mixins;\r\n@use \"~dso-toolkit/src/components/insert\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/mark/mark\";\r\n@use \"~dso-toolkit/src/components/superscript/superscript\";\r\n@use \"~dso-toolkit/src/components/subscript/subscript\";\r\n@use \"~dso-toolkit/src/components/table/table\";\r\n\r\n@use \"./ozon-content.variables\" as ozon-content-variables;\r\n\r\n:host(:not([inline])) {\r\n display: block;\r\n}\r\n\r\n:host([inline]) {\r\n display: inline;\r\n}\r\n\r\nbutton.toggle-note {\r\n @include button-mixins.tertiary($modifiers: false);\r\n}\r\n\r\nspan[role=\"section\"],\r\nspan[role=\"paragraph\"] {\r\n display: block;\r\n}\r\n\r\n:host(:not([inline])) .fallback {\r\n display: block;\r\n}\r\n\r\na {\r\n @include link.root();\r\n}\r\n\r\n// Styling below copied from DSO Viewer 20211011\r\n\r\n.od-Term {\r\n font-weight: 700;\r\n}\r\n\r\n.od-Definitie,\r\n.od-Tussenkop {\r\n font-style: italic;\r\n}\r\n\r\n.od-Inhoud,\r\n.od-Inhoud > .od-Lijst,\r\n.od-IntIoRef,\r\n.od-Lidnr,\r\n.od-LiNr,\r\n.od-Opschrift,\r\n.od-Tussenkop {\r\n display: inline;\r\n}\r\n\r\n.od-Al {\r\n margin-block-end: 0.75em;\r\n}\r\n\r\n.od-IntIoRef {\r\n border-block-end: 1px dotted;\r\n}\r\n\r\n.dso-ozon-bron {\r\n font-style: italic;\r\n font-size: 0.75rem;\r\n}\r\n\r\n.dso-ozon-figuur {\r\n text-align: var(--_dso-ozon-content-illustratie-uitlijning);\r\n margin-block-end: units.$u1;\r\n\r\n .figuur-bijschrift {\r\n display: block;\r\n font-size: 0.75rem;\r\n font-style: italic;\r\n }\r\n\r\n &.bijschrift-boven {\r\n .figuur-bijschrift {\r\n padding-block-end: 0.25rem;\r\n }\r\n }\r\n\r\n &.bijschrift-onder {\r\n .figuur-bijschrift {\r\n padding-block-start: 0.25rem;\r\n }\r\n }\r\n\r\n .figuur-titel {\r\n color: colors.$mauve;\r\n display: block;\r\n font-weight: 500;\r\n padding-block-end: 0.5rem;\r\n }\r\n\r\n > dso-image-overlay {\r\n inline-size: var(--_dso-ozon-content-illustratie-width);\r\n block-size: auto;\r\n max-block-size: 200vh;\r\n aspect-ratio: var(--_dso-ozon-content-illustratie-aspect-ratio);\r\n\r\n img {\r\n block-size: 100%;\r\n inline-size: 100%;\r\n }\r\n }\r\n}\r\n\r\n.dso-ozon-lijst {\r\n span.od-Lijstaanhef,\r\n span.od-Lijstsluiting {\r\n margin-block-end: units.$u1;\r\n }\r\n\r\n ul {\r\n margin-block-end: units.$u1 !important;\r\n margin-block-start: units.$u1;\r\n\r\n p {\r\n margin-block-end: units.$u1;\r\n }\r\n\r\n &.expliciet {\r\n list-style: none;\r\n\r\n > .od-Li {\r\n position: relative;\r\n\r\n > span.od-LiNummer {\r\n position: absolute;\r\n inset-inline-start: units.$u6 * -1 + 4;\r\n text-align: end;\r\n inline-size: units.$u5;\r\n }\r\n }\r\n }\r\n }\r\n\r\n p {\r\n margin: 0;\r\n }\r\n}\r\n\r\n.od-Tabel thead {\r\n font-weight: 600;\r\n}\r\n\r\n.od-Kadertekst {\r\n border: 1px solid #e5e5e5;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n}\r\n\r\np,\r\nspan[role=\"paragraph\"],\r\n.dso-ozon-lijst,\r\n.dso-ozon-lijst > ul > li,\r\ntable {\r\n &.editaction-add {\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-remove {\r\n @include delete.root();\r\n }\r\n}\r\n\r\nins {\r\n @include insert.element();\r\n\r\n &.new-text {\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-add {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n\r\n @include insert.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\ndel {\r\n &.removed-text {\r\n @include delete.root();\r\n }\r\n\r\n &.editaction-remove {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n}\r\n\r\n.dso-rich-content {\r\n @include rich-content.children();\r\n}\r\n\r\n.od-abbr {\r\n text-decoration: underline dotted;\r\n}\r\n\r\n.subtitels-container {\r\n cursor: default;\r\n}\r\n\r\n.subtitel {\r\n color: ozon-content-variables.$subtitel-color;\r\n font-weight: 700;\r\n margin-block: 0 units.$u2;\r\n margin-inline: 0;\r\n\r\n &:has(del, ins) {\r\n display: inline-block;\r\n inline-size: 100%;\r\n margin-inline: units.$u1 * -0.5;\r\n padding-inline: units.$u1 * 0.5;\r\n }\r\n\r\n &:has(del:not(.removed-text)) {\r\n @include delete.root();\r\n }\r\n\r\n &:has(ins:not(.new-text)) {\r\n @include insert.element();\r\n @include insert.root();\r\n }\r\n\r\n ins,\r\n del {\r\n color: ozon-content-variables.$subtitel-renvooi-color;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n JSX,\r\n Prop,\r\n State,\r\n Watch,\r\n h,\r\n} from \"@stencil/core\";\r\n\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\nimport {\r\n OzonContentAnchorClickEvent,\r\n OzonContentClickEvent,\r\n OzonContentInputType,\r\n OzonContentMarkFunction,\r\n OzonContentMarkItemHighlightEvent,\r\n OzonContentUrlResolver,\r\n} from \"./ozon-content.interfaces\";\r\n\r\nconst mapper = new Mapper();\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n shadow: true,\r\n})\r\nexport class OzonContent implements ComponentInterface {\r\n /**\r\n * The XML to be rendered.\r\n */\r\n @Prop()\r\n content?: OzonContentInputType;\r\n\r\n /**\r\n * Setting this property creates dso-ozon-content as inline element instead of a block element.\r\n */\r\n @Prop({ reflect: true })\r\n inline = false;\r\n\r\n /**\r\n * To mark text.\r\n */\r\n @Prop()\r\n mark?: OzonContentMarkFunction;\r\n\r\n /**\r\n * A UrlResolver that will be called for all STOP elements that render to HTML5 elements with external references.\r\n */\r\n @Prop()\r\n urlResolver?: OzonContentUrlResolver;\r\n\r\n /**\r\n * Emitted when an interactive element is clicked, except for <IntIoRef> and <IntRef>.\r\n */\r\n @Event({ bubbles: false })\r\n dsoClick!: EventEmitter<OzonContentClickEvent>;\r\n\r\n /**\r\n * Emitted when `<a>` that is created through <IntIoRef> or <IntRef> is clicked.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClickEvent>;\r\n\r\n /**\r\n * Emitted when a marked item is highlighted.\r\n */\r\n @Event({ bubbles: false })\r\n dsoOzonContentMarkItemHighlight!: EventEmitter<OzonContentMarkItemHighlightEvent>;\r\n\r\n @Watch(\"content\")\r\n contentWatcher() {\r\n this.state = {};\r\n }\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n private handleMarkItemHighlight = (text: string, elementRef: HTMLElement) => {\r\n this.dsoOzonContentMarkItemHighlight.emit({ text, elementRef });\r\n };\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n inline: this.inline,\r\n mark: this.mark,\r\n setState: (state) => (this.state = state),\r\n emitMarkItemHighlight: this.handleMarkItemHighlight,\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n emitClick: this.dsoClick.emit,\r\n urlResolver: this.urlResolver,\r\n };\r\n\r\n const transformed = mapper.transform(this.content, context);\r\n\r\n return <Fragment>{transformed}</Fragment>;\r\n }\r\n}\r\n\r\nconst dependencies = () => {\r\n dependencies();\r\n\r\n return (\r\n <Fragment>\r\n <dso-icon />\r\n <dso-image-overlay />\r\n <dso-tooltip />\r\n <dso-table />\r\n </Fragment>\r\n );\r\n};\r\n","import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-panel\": {\r\n close: \"Close\",\r\n },\r\n },\r\n nl: {\r\n \"dso-panel\": {\r\n close: \"Sluiten\",\r\n },\r\n },\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/global/mixins/set-colors.mixin\" as set-colors;\r\n@use \"~dso-toolkit/src/di\";\r\n\r\n@use \"panel.variables\" as panel-variables;\r\n\r\n:host {\r\n display: block;\r\n\r\n border: 1px solid colors.$grijs-30;\r\n border-radius: units.$u1 * 0.5;\r\n\r\n overflow: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.panel-heading {\r\n display: flex;\r\n gap: units.$u2;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n\r\n padding-block: units.$u1;\r\n padding-inline-start: var(--panel-heading-padding-inline-start, panel-variables.$panel-heading-padding-inline-start);\r\n padding-inline-end: units.$u1;\r\n\r\n border-block-end: 1px solid colors.$grijs-30;\r\n\r\n border-start-start-radius: units.$u1 * 0.5;\r\n border-start-end-radius: units.$u1 * 0.5;\r\n border-color: colors.$grijs-30;\r\n\r\n @include set-colors.apply(colors.$grijs-10, \"panel\");\r\n\r\n .sr-only {\r\n @include utilities.sr-only();\r\n }\r\n}\r\n\r\n.emphasized .panel-heading {\r\n background-color: panel-variables.$background-color-emphasized;\r\n}\r\n\r\n::slotted([slot=\"heading\"]) {\r\n margin: 0 !important;\r\n font-size: 1rem !important;\r\n font-weight: 600 !important;\r\n line-height: 1.5 !important;\r\n color: colors.$zwart !important;\r\n}\r\n\r\n.panel-body {\r\n padding-block: units.$u2;\r\n padding-inline: var(--panel-body-padding-inline, panel-variables.$panel-body-padding-inline);\r\n\r\n background-color: var(--_dso-panel-body-background-color, transparent);\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { translations } from \"./panel.i18n\";\r\n\r\nexport interface PanelCloseEvent {\r\n originalEvent: Event;\r\n}\r\n\r\n/**\r\n * @slot - The contents to be highlighted within the panel\r\n * @slot heading - The heading (h2 - h6) with the title of the panel\r\n */\r\n@Component({\r\n tag: \"dso-panel\",\r\n styleUrl: \"panel.scss\",\r\n shadow: true,\r\n})\r\nexport class Panel implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoPanelElement;\r\n\r\n /**\r\n * The accessible name for the close button.\r\n */\r\n @Prop()\r\n closeButtonLabel?: string;\r\n\r\n /**\r\n * To display the panel as an emphasized panel.\r\n */\r\n @Prop()\r\n emphasized = false;\r\n\r\n /**\r\n * Emitted when the user click the close button.\r\n */\r\n @Event()\r\n dsoCloseClick!: EventEmitter<PanelCloseEvent>;\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n render() {\r\n return (\r\n <div class={clsx([\"dso-panel\", { emphasized: this.emphasized }])}>\r\n <div class=\"panel-heading\">\r\n <slot name=\"heading\" />\r\n <dso-icon-button\r\n icon=\"times\"\r\n variant=\"tertiary\"\r\n onDsoClick={(e) => this.dsoCloseClick.emit({ originalEvent: e.detail.originalEvent })}\r\n label={this.closeButtonLabel || this.text(\"close\")}\r\n />\r\n </div>\r\n <div class=\"panel-body\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@use \"sass:color\";\r\n\r\n@use \"~dso-toolkit/src/components/grid/grid.variables\" as grid-variables;\r\n@use \"~dso-toolkit/src/components/modal/modal.variables\" as modal-variables;\r\n\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/modal\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n@use \"~dso-toolkit/src/components/table\";\r\n\r\n:host {\r\n display: block;\r\n margin-block-end: units.$u3;\r\n}\r\n\r\n.dso-header {\r\n min-block-size: units.$u4;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-size: units.$font-size-h2;\r\n font-weight: 700;\r\n }\r\n\r\n .dso-close {\r\n color: colors.$bosgroen;\r\n }\r\n}\r\n\r\n:host .dso-modal {\r\n inset: 0px;\r\n block-size: 100%;\r\n position: fixed;\r\n z-index: zindex.$modal;\r\n\r\n @include modal.root();\r\n}\r\n\r\n.dso-modal .dso-dialog.dso-table-dialog {\r\n margin-block-start: 1rem;\r\n max-inline-size: calc(100% - 2rem);\r\n margin-inline-start: auto;\r\n margin-inline-end: auto;\r\n inline-size: auto;\r\n\r\n .dso-body {\r\n $dso-body-unavailable-height: (\r\n (2 * modal.$header-padding) + (modal.$footer-button-block-size + modal.$footer-padding)\r\n );\r\n max-block-size: calc(100vh - #{$dso-body-unavailable-height} - 1.5em - 2rem); // margin\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n max-inline-size: 100%;\r\n }\r\n}\r\n\r\n:host([is-responsive=\"true\"]) {\r\n .dso-table-body {\r\n border: 1px solid table.$border-color;\r\n margin-block-end: 0;\r\n overflow-y: auto;\r\n inline-size: 100%;\r\n\r\n &.dso-body {\r\n inline-size: calc(100% - modal.$body-padding * 2);\r\n }\r\n }\r\n}\r\n\r\n.dso-table-utilities {\r\n align-items: center;\r\n display: flex;\r\n justify-content: space-between;\r\n margin-block-end: units.$u1;\r\n\r\n .dso-responsive-message {\r\n margin-block-end: 0;\r\n\r\n &:only-child {\r\n inline-size: 100%;\r\n }\r\n }\r\n\r\n .open-modal-button {\r\n &:only-child {\r\n margin-inline-start: auto;\r\n }\r\n }\r\n}\r\n\r\n.dso-responsive-message {\r\n font-size: 0.8em;\r\n margin-block-end: units.$u1;\r\n position: relative;\r\n text-align: center;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-modal-overlay {\r\n background-color: color.scale(modal-variables.$backdrop-bg, $alpha: modal-variables.$backdrop-opacity);\r\n display: block;\r\n position: fixed;\r\n inset: 0;\r\n z-index: zindex.$modal-background-overlay;\r\n}\r\n\r\n.dso-table-placeholder {\r\n box-shadow: inset 0 0 0 1px table.$border-color;\r\n display: grid;\r\n place-content: center;\r\n}\r\n","import { Component, ComponentInterface, Element, Host, Prop, State, h } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { FocusTrap, createFocusTrap } from \"focus-trap\";\r\nimport { v4 } from \"uuid\";\r\n\r\n@Component({\r\n tag: \"dso-table\",\r\n styleUrl: \"table.scss\",\r\n shadow: true,\r\n})\r\nexport class Table implements ComponentInterface {\r\n private resizeObserver?: ResizeObserver;\r\n\r\n private focusTrapElement?: HTMLDivElement;\r\n\r\n private buttonElement?: HTMLButtonElement;\r\n\r\n private trap?: FocusTrap;\r\n\r\n private labelledbyId = v4();\r\n\r\n @Element()\r\n host!: HTMLDsoTableElement;\r\n\r\n /**\r\n * Prevents the table being opened in a modal.\r\n */\r\n @Prop({ reflect: true })\r\n noModal = false;\r\n\r\n @State()\r\n isResponsive?: boolean;\r\n\r\n @State()\r\n modalActive = false;\r\n\r\n @State()\r\n placeholderHeight?: number;\r\n\r\n private startResponsiveBehavior(): void {\r\n this.resizeObserver?.observe(this.host);\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.resizeObserver = new ResizeObserver(debounce((entries) => this.setResponsiveTable(entries), 200));\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.startResponsiveBehavior();\r\n }\r\n\r\n componentDidRender() {\r\n this.setFocusTrap();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n const caption = this.host.querySelector(\":scope > table > caption\")?.textContent?.trim();\r\n\r\n return (\r\n <Host is-responsive={this.isResponsive?.toString()}>\r\n {this.modalActive && this.placeholderHeight && (\r\n <div class=\"dso-table-placeholder\" style={{ height: `${this.placeholderHeight}px` }} />\r\n )}\r\n\r\n {this.modalActive && <div class=\"dso-modal-overlay\"></div>}\r\n\r\n <div class={{ \"dso-modal\": this.modalActive }}>\r\n <div\r\n class={{ \"dso-dialog\": this.modalActive, \"dso-table-dialog\": true }}\r\n ref={(element) => (this.focusTrapElement = element)}\r\n {...(this.modalActive ? { [\"aria-labelledby\"]: this.labelledbyId, role: \"dialog\" } : {})}\r\n >\r\n {(this.isResponsive || !this.noModal) && (\r\n <div class=\"dso-table-utilities\" style={this.modalActive ? { display: \"none\" } : undefined}>\r\n {this.isResponsive && (\r\n <div class=\"dso-responsive-message\">\r\n <span>beweeg de tabel van links naar rechts</span>\r\n </div>\r\n )}\r\n\r\n {!this.noModal && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary open-modal-button\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => this.openModal()}\r\n >\r\n <span class=\"sr-only\">tabel {caption ?? \"\"} </span>\r\n <span>vergroten</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n\r\n {this.modalActive && (\r\n <div class=\"dso-header\">\r\n <h2 id={this.labelledbyId} class={{ \"sr-only\": !caption }}>\r\n {caption || \"Uitvergrote tabel dialoog\"}\r\n </h2>\r\n <button type=\"button\" class=\"dso-close\" onClick={() => this.closeModal()}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div class={{ \"dso-body\": this.modalActive, \"dso-table-body\": true }}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private openModal() {\r\n this.placeholderHeight = this.host.clientHeight;\r\n this.modalActive = true;\r\n }\r\n\r\n private closeModal() {\r\n this.placeholderHeight = undefined;\r\n this.modalActive = false;\r\n }\r\n\r\n private setFocusTrap() {\r\n if (this.modalActive && this.focusTrapElement && !this.trap) {\r\n this.trap = createFocusTrap([this.host, this.focusTrapElement], {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.focusTrapElement) {\r\n this.closeModal();\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.buttonElement ?? false,\r\n onDeactivate: () => this.closeModal(),\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n }).activate();\r\n } else if (!this.modalActive && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n\r\n private setResponsiveTable([dsoTable]: ResizeObserverEntry[]): void {\r\n if (!dsoTable) {\r\n throw new Error(\"No dsoTable found\");\r\n }\r\n\r\n const tableElement = dsoTable.target.querySelector(\"table\");\r\n\r\n if (dsoTable && tableElement instanceof HTMLTableElement) {\r\n this.isResponsive =\r\n Math.floor(tableElement.getBoundingClientRect().width) > Math.floor(dsoTable.contentRect.width);\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 r,h as e,F as i,g as a}from"./p-DxWmN7gh.js";import{c as t}from"./p-ChV9xqsO.js";import{c as n}from"./p-BocpUT46.js";import{t as l}from"./p-Pk8qng7t.js";import{i as d}from"./p-Hgv-pDpy.js";const s=':host{display:block}*,*::after,*::before{box-sizing:border-box}.active-option{display:flex;inline-size:100%;justify-content:flex-start;align-items:center;padding:0;border:1px solid #275937;border-radius:4px;cursor:pointer;background-color:#fff;line-height:inherit;font-family:inherit;font-size:inherit}.active-option.open{border-radius:4px 4px 0 0}.active-option dso-icon{color:#275937}.active-option dso-label{margin-inline-start:8px}.active-option-label{padding-block:4px;padding-inline:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.active-option-aside{display:flex;align-items:center;gap:8px;padding-block:0;padding-inline:8px;margin-inline-start:auto}.badges{display:flex;justify-content:space-between;align-items:center;gap:4px}.groups-container{position:relative;z-index:200}.groups{position:absolute;inset-block-start:-1px;inset-inline-start:0;inline-size:100%;max-block-size:500px;margin:0;padding:0;overflow-y:auto;background-color:#fff;border:1px solid #275937;border-radius:0 0 4px 4px}.groups li::marker{display:none}.group{border-block-end:1px solid #ccc}.group:last-child{border-block-end:none}.group .option{padding-inline-start:37px}.group .option-label::before{content:"";position:absolute;display:block;block-size:10px;inline-size:10px;inset-block:4px auto;inset-inline:-20px auto;border-radius:50%}.group .option-label::before{--_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;--_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:#ccc;color:#191919}.group .option-label::before 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"))}.group .option-label::before 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"))}.group .option-label::before 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"))}.group .option-label::before 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"))}.group-label{margin:0;padding-block:4px;padding-inline:16px;color:#666;font-size:14px;font-weight:500;border-block-end:1px solid #ccc}.group-link{display:block;padding-block:8px;padding-inline:4px;text-align:end;color:#000;text-decoration:none}.group-link:hover{text-decoration:underline}.group-link dso-icon{color:#39870c}.group-info .option-label::before{--_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;--_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:#6ca4d9;color:#191919}.group-info .option-label::before 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"))}.group-info .option-label::before 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"))}.group-info .option-label::before 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"))}.group-info .option-label::before 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"))}.group-primary .option-label::before{--_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;--_dso-icon-button-tertiary-color:#fff;background-color:#275937;color:#fff}.group-primary .option-label::before 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-wit"))}.group-primary .option-label::before 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-wit"))}.group-primary .option-label::before 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-wit"))}.group-primary .option-label::before 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-wit"))}.group-success .option-label::before{--_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;--_dso-icon-button-tertiary-color:#fff;background-color:#39870c;color:#fff}.group-success .option-label::before 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-wit"))}.group-success .option-label::before 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-wit"))}.group-success .option-label::before 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-wit"))}.group-success .option-label::before 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-wit"))}.group-warning .option-label::before{--_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;--_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:#dcd400;color:#191919}.group-warning .option-label::before 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"))}.group-warning .option-label::before 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"))}.group-warning .option-label::before 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"))}.group-warning .option-label::before 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"))}.group-error .option-label::before{--_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;--_dso-icon-button-tertiary-color:#fff;background-color:#ce3f51;color:#fff}.group-error .option-label::before 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-wit"))}.group-error .option-label::before 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-wit"))}.group-error .option-label::before 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-wit"))}.group-error .option-label::before 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-wit"))}.group-attention .option-label::before{--_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;--_dso-icon-button-tertiary-color:#fff;background-color:#8b4a6a;color:#fff}.group-attention .option-label::before 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-wit"))}.group-attention .option-label::before 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-wit"))}.group-attention .option-label::before 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-wit"))}.group-attention .option-label::before 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-wit"))}.options{margin:0;padding:0}.option{display:block;inline-size:100%;padding-block:8px;padding-inline:16px;cursor:pointer;line-height:inherit;font-family:inherit;font-size:inherit;border:none;text-align:start;background-color:#fff}.option:hover{background-color:#ebf3e6}.option:hover .option-label{color:#39870c;font-weight:bold}.option.option-active .option-label{color:#39870c;font-weight:bold;text-decoration:underline}.option-label{position:relative;color:#000;font-size:Asap, sans-serif;font-weight:400}.option-hint{padding-inline-start:5px;color:#39870c;font-size:Asap, sans-serif;font-weight:bold}.placeholder{margin:0;padding-block:8px;padding-inline:16px;color:#666}';const c=class{constructor(e){o(this,e);this.dsoChange=r(this,"dsoChange",3);this.dsoRedirect=r(this,"dsoRedirect",3);this.options=[];this.open=false;this.toggleOpen=()=>{this.open=!this.open};this.handleOptionClick=(o,r)=>{this.dsoChange.emit({originalEvent:o,option:r});this.open=false};this.handleRedirectClick=(o,r)=>{this.dsoRedirect.emit({originalEvent:o,isModifiedEvent:d(o),redirect:r});this.open=false}}keyDownListener(o){if(this.open&&o.key==="ArrowUp"){o.preventDefault();this.handleTab(-1)}else if(this.open&&o.key==="ArrowDown"){o.preventDefault();this.handleTab(1)}}componentDidRender(){if(this.open&&!this.trap){this.createTrap()}else if(!this.open&&this.trap){this.removeTrap()}}createTrap(){this.trap=n(this.host,{clickOutsideDeactivates:true,escapeDeactivates:true,setReturnFocus:this.toggleButtonElementRef,tabbableOptions:{getShadowRoot:true},onDeactivate:()=>{this.open=false}}).activate()}removeTrap(){var o;(o=this.trap)===null||o===void 0?void 0:o.deactivate();delete this.trap}handleTab(o){var r;const e=this.host.isConnected?l(this.host,{getShadowRoot:true}):[];const i=e.findIndex((o=>{var r;return o===((r=this.host.shadowRoot)===null||r===void 0?void 0:r.activeElement)}));let a=i+o;if(a>=e.length){a=0}else if(a<0){a=e.length-1}(r=e[a])===null||r===void 0?void 0:r.focus()}render(){var o,r;return e(i,null,e("button",{key:"15ec55636d5b8e8c60310dec5e5b6a5822ba4931","aria-expanded":this.open.toString(),class:t(["active-option",{open:this.open}]),type:"button",onClick:this.toggleOpen,ref:o=>this.toggleButtonElementRef=o},e(g,{key:"78fd61b57eb5bb1b902fb78ded529194bff85a90",active:this.active,options:this.options}),e("span",{key:"0be891dd5ae2a168f1b18bfd1d5e56dd6a085750",class:"active-option-label"},(r=(o=this.active)===null||o===void 0?void 0:o.label)!==null&&r!==void 0?r:"Selecteer een optie"),e("span",{key:"13559e8e947fe668da61e548206397443dc79f4c",class:"active-option-aside"},this.options.some((o=>"summaryCounter"in o&&(o===null||o===void 0?void 0:o.summaryCounter)))&&e("span",{key:"2e3a7464939c9ebf7546983926d6cfb1258a74a0",class:"badges"},this.options.filter((o=>"options"in o&&"summaryCounter"in o&&!!(o===null||o===void 0?void 0:o.summaryCounter))).map((o=>{var r;return e("dso-badge",{status:(r=o.variant)!==null&&r!==void 0?r:"outline"},o.options.length)}))),e("dso-icon",{key:"1cd8b93ecdfdc2c1cc2a0f6e2600b35e0980d224",icon:"caret-down"}))),this.open&&e("div",{key:"97b17d979ed45ac46e24a134cb6379a97a6f74ce",class:"groups-container"},e("ul",{key:"bf0c881272a3c3b6dfab624710acf8de0abc6dbf",class:"groups"},this.options.map((o=>"options"in o&&e("li",{class:t(["group",{[`group-${o.variant}`]:!!o.variant}])},e("p",{class:"group-label"},o.label),e("ul",{class:"options"},o.options.map((o=>e("li",null,e(b,{option:o,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick}))))),o.redirect&&e(u,{redirect:o.redirect,callback:this.handleRedirectClick}))||"placeholder"in o&&e("li",{class:"group"},e("p",{class:"group-label"},o.label),e("p",{class:"placeholder"},o.placeholder),o.redirect&&e(u,{redirect:o.redirect,callback:this.handleRedirectClick}))||e("li",null,e(b,{option:o,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick})))))))}get host(){return a(this)}};const b=({option:o,active:r,activeHint:i,callback:a})=>e("button",{class:t(["option",{"option-active":r===o}]),type:"button",onClick:r=>a(r,o)},e("span",{class:"option-label"},o.label),!!i&&r===o&&e("span",{class:"option-hint"},"(",i,")"));const u=({redirect:o,callback:r})=>e("a",{class:"group-link",href:o.href,onClick:e=>r(e,o)},o.label,e("dso-icon",{icon:"chevron-right"}));const g=({active:o,options:r})=>{const i=r.find((r=>"options"in r&&!!r.options.find((r=>r===o))&&!!r.activeLabel));return i&&e("dso-label",{compact:true,status:i.variant},i.activeLabel)};c.style=s;export{c as dso_advanced_select};
|
|
2
|
+
//# sourceMappingURL=p-1c1ace73.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["advancedSelectCss","AdvancedSelect","constructor","hostRef","this","options","open","toggleOpen","handleOptionClick","event","option","dsoChange","emit","originalEvent","handleRedirectClick","redirect","dsoRedirect","isModifiedEvent","keyDownListener","key","preventDefault","handleTab","componentDidRender","trap","createTrap","removeTrap","createFocusTrap","host","clickOutsideDeactivates","escapeDeactivates","setReturnFocus","toggleButtonElementRef","tabbableOptions","getShadowRoot","onDeactivate","activate","_a","deactivate","direction","elements","isConnected","tabbable","currentIndex","findIndex","e","shadowRoot","activeElement","nextIndex","length","focus","render","h","Fragment","toString","class","clsx","type","onClick","ref","element","ActiveGroupLabel","active","_b","label","some","optionOrGroup","summaryCounter","filter","map","group","status","variant","icon","OptionButton","activeHint","callback","RedirectAnchor","placeholder","href","find","activeLabel","compact"],"sources":["src/components/advanced-select/advanced-select.scss?tag=dso-advanced-select&encapsulation=shadow","src/components/advanced-select/advanced-select.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/global/mixins/set-colors.mixin\" as set-colors;\r\n@use \"~dso-toolkit/src/components/advanced-select\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.active-option {\r\n display: flex;\r\n inline-size: 100%;\r\n justify-content: flex-start;\r\n align-items: center;\r\n padding: 0;\r\n border: 1px solid advanced-select.$border-color;\r\n border-radius: advanced-select.$border-radius;\r\n cursor: pointer;\r\n background-color: advanced-select.$bg-color;\r\n line-height: inherit;\r\n font-family: inherit;\r\n font-size: inherit;\r\n\r\n &.open {\r\n border-radius: advanced-select.$border-radius advanced-select.$border-radius 0 0;\r\n }\r\n\r\n dso-icon {\r\n color: advanced-select.$icon-color;\r\n }\r\n\r\n dso-label {\r\n margin-inline-start: advanced-select.$inline-padding * 0.5;\r\n }\r\n}\r\n\r\n.active-option-label {\r\n padding-block: advanced-select.$block-padding;\r\n padding-inline: advanced-select.$inline-padding;\r\n overflow: hidden;\r\n /* stylelint-disable-next-line declaration-property-value-disallowed-list -- Nodig om lange titels op de zelfde regel te houden */\r\n white-space: nowrap;\r\n /* stylelint-disable-next-line declaration-property-value-disallowed-list -- Nodig om lange titels op de zelfde regel te houden */\r\n text-overflow: ellipsis;\r\n}\r\n\r\n.active-option-aside {\r\n display: flex;\r\n align-items: center;\r\n gap: advanced-select.$inline-padding * 0.5;\r\n padding-block: 0;\r\n padding-inline: advanced-select.$inline-padding * 0.5;\r\n margin-inline-start: auto;\r\n}\r\n\r\n.badges {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: advanced-select.$block-padding;\r\n}\r\n\r\n.groups-container {\r\n position: relative;\r\n z-index: zindex.$advanced-select-group;\r\n}\r\n\r\n.groups {\r\n position: absolute;\r\n inset-block-start: -1px;\r\n inset-inline-start: 0;\r\n inline-size: 100%;\r\n max-block-size: 500px;\r\n margin: 0;\r\n padding: 0;\r\n overflow-y: auto;\r\n background-color: advanced-select.$bg-color;\r\n border: 1px solid advanced-select.$border-color;\r\n border-radius: 0 0 advanced-select.$border-radius advanced-select.$border-radius;\r\n\r\n li {\r\n &::marker {\r\n display: none;\r\n }\r\n }\r\n}\r\n\r\n.group {\r\n border-block-end: 1px solid advanced-select.$hr-color;\r\n\r\n &:last-child {\r\n border-block-end: none;\r\n }\r\n\r\n .option {\r\n padding-inline-start: advanced-select.$inline-padding * 2 + advanced-select.$option-dot-size * 0.5;\r\n }\r\n\r\n .option-label::before {\r\n content: \"\";\r\n position: absolute;\r\n display: block;\r\n block-size: advanced-select.$option-dot-size;\r\n inline-size: advanced-select.$option-dot-size;\r\n inset-block: advanced-select.$block-padding auto;\r\n inset-inline: -#{advanced-select.$option-dot-size * 2} auto;\r\n border-radius: 50%;\r\n\r\n @include set-colors.apply(advanced-select.$default-variant-color, \"advanced-select\");\r\n }\r\n}\r\n\r\n.group-label {\r\n margin: 0;\r\n padding-block: advanced-select.$block-padding;\r\n padding-inline: advanced-select.$inline-padding;\r\n color: advanced-select.$group-label-color;\r\n font-size: advanced-select.$group-label-font-size;\r\n font-weight: advanced-select.$group-label-font-weight;\r\n border-block-end: 1px solid advanced-select.$hr-color;\r\n}\r\n\r\n.group-link {\r\n display: block;\r\n padding-block: advanced-select.$group-link-block-padding;\r\n padding-inline: advanced-select.$group-link-inline-padding;\r\n text-align: end;\r\n color: advanced-select.$group-link-color;\r\n text-decoration: none;\r\n\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n dso-icon {\r\n color: advanced-select.$redirect-icon-color;\r\n }\r\n}\r\n\r\n.group-info .option-label::before {\r\n @include set-colors.apply(advanced-select.$info-variant-color, \"advanced-select\");\r\n}\r\n\r\n.group-primary .option-label::before {\r\n @include set-colors.apply(advanced-select.$primary-variant-color, \"advanced-select\");\r\n}\r\n\r\n.group-success .option-label::before {\r\n @include set-colors.apply(advanced-select.$success-variant-color, \"advanced-select\");\r\n}\r\n\r\n.group-warning .option-label::before {\r\n @include set-colors.apply(advanced-select.$warning-variant-color, \"advanced-select\");\r\n}\r\n\r\n.group-error .option-label::before {\r\n @include set-colors.apply(advanced-select.$error-variant-color, \"advanced-select\");\r\n}\r\n\r\n.group-attention .option-label::before {\r\n @include set-colors.apply(advanced-select.$attention-variant-color, \"advanced-select\");\r\n}\r\n\r\n.options {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n.option {\r\n display: block;\r\n inline-size: 100%;\r\n padding-block: advanced-select.$block-padding * 2;\r\n padding-inline: advanced-select.$inline-padding;\r\n cursor: pointer;\r\n line-height: inherit;\r\n font-family: inherit;\r\n font-size: inherit;\r\n border: none;\r\n text-align: start;\r\n background-color: advanced-select.$bg-color;\r\n\r\n &:hover {\r\n background-color: advanced-select.$option-hover-bg-color;\r\n\r\n .option-label {\r\n color: advanced-select.$option-hover-color;\r\n font-weight: advanced-select.$option-hover-font-weight;\r\n }\r\n }\r\n}\r\n\r\n.option.option-active .option-label {\r\n color: advanced-select.$option-active-color;\r\n font-weight: advanced-select.$option-active-font-weight;\r\n text-decoration: underline;\r\n}\r\n\r\n.option-label {\r\n position: relative;\r\n color: advanced-select.$option-color;\r\n font-size: advanced-select.$option-font-size;\r\n font-weight: advanced-select.$option-font-weight;\r\n}\r\n\r\n.option-hint {\r\n padding-inline-start: 5px;\r\n color: advanced-select.$option-active-color;\r\n font-size: advanced-select.$option-font-size;\r\n font-weight: advanced-select.$option-active-font-weight;\r\n}\r\n\r\n.placeholder {\r\n margin: 0;\r\n padding-block: advanced-select.$block-padding * 2;\r\n padding-inline: advanced-select.$inline-padding;\r\n color: advanced-select.$option-placeholder-color;\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 Listen,\r\n Prop,\r\n State,\r\n h,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { FocusTrap, createFocusTrap } from \"focus-trap\";\r\nimport { tabbable } from \"tabbable\";\r\n\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport {\r\n AdvancedSelectChangeEvent,\r\n AdvancedSelectGroup,\r\n AdvancedSelectGroupRedirect,\r\n AdvancedSelectOption,\r\n AdvancedSelectOptionOrGroup,\r\n AdvancedSelectRedirectEvent,\r\n} from \"./advanced-select.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-advanced-select\",\r\n styleUrl: \"advanced-select.scss\",\r\n shadow: true,\r\n})\r\nexport class AdvancedSelect implements ComponentInterface {\r\n private trap?: FocusTrap;\r\n\r\n @Element()\r\n host!: HTMLDsoAdvancedSelectElement;\r\n\r\n /**\r\n * The options to display in the select.\r\n */\r\n @Prop()\r\n options: AdvancedSelectOptionOrGroup<never>[] = [];\r\n\r\n /**\r\n * The active option. By object reference.\r\n */\r\n @Prop()\r\n active?: AdvancedSelectOption<never>;\r\n\r\n /**\r\n * An extra text for the active option. Only visible in the list of options.\r\n */\r\n @Prop()\r\n activeHint?: string;\r\n\r\n /**\r\n * The open state of the options list.\r\n */\r\n @State()\r\n open: boolean = false;\r\n\r\n /**\r\n * Emitted when user selects an option\r\n */\r\n @Event({ bubbles: false })\r\n dsoChange!: EventEmitter<AdvancedSelectChangeEvent<never>>;\r\n\r\n /**\r\n * Emitted when user activates a group redirect link.\r\n */\r\n @Event({ bubbles: false })\r\n dsoRedirect!: EventEmitter<AdvancedSelectRedirectEvent>;\r\n\r\n private toggleButtonElementRef: HTMLButtonElement | undefined;\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (this.open && event.key === \"ArrowUp\") {\r\n event.preventDefault();\r\n this.handleTab(-1);\r\n } else if (this.open && event.key === \"ArrowDown\") {\r\n event.preventDefault();\r\n this.handleTab(1);\r\n }\r\n }\r\n\r\n componentDidRender() {\r\n if (this.open && !this.trap) {\r\n this.createTrap();\r\n } else if (!this.open && this.trap) {\r\n this.removeTrap();\r\n }\r\n }\r\n\r\n private toggleOpen = () => {\r\n this.open = !this.open;\r\n };\r\n\r\n private createTrap() {\r\n this.trap = createFocusTrap(this.host, {\r\n clickOutsideDeactivates: true,\r\n escapeDeactivates: true,\r\n setReturnFocus: this.toggleButtonElementRef,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n onDeactivate: () => {\r\n this.open = false;\r\n },\r\n }).activate();\r\n }\r\n\r\n private removeTrap() {\r\n this.trap?.deactivate();\r\n delete this.trap;\r\n }\r\n\r\n private handleTab(direction: number) {\r\n const elements = this.host.isConnected ? tabbable(this.host, { getShadowRoot: true }) : [];\r\n const currentIndex = elements.findIndex((e) => e === this.host.shadowRoot?.activeElement);\r\n\r\n let nextIndex = currentIndex + direction;\r\n if (nextIndex >= elements.length) {\r\n nextIndex = 0;\r\n } else if (nextIndex < 0) {\r\n nextIndex = elements.length - 1;\r\n }\r\n\r\n elements[nextIndex]?.focus();\r\n }\r\n\r\n private handleOptionClick = (event: MouseEvent, option: AdvancedSelectOption<never>) => {\r\n this.dsoChange.emit({ originalEvent: event, option });\r\n this.open = false;\r\n };\r\n\r\n private handleRedirectClick = (event: MouseEvent, redirect: AdvancedSelectGroupRedirect) => {\r\n this.dsoRedirect.emit({ originalEvent: event, isModifiedEvent: isModifiedEvent(event), redirect });\r\n this.open = false;\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n aria-expanded={this.open.toString()}\r\n class={clsx([\"active-option\", { open: this.open }])}\r\n type=\"button\"\r\n onClick={this.toggleOpen}\r\n ref={(element) => (this.toggleButtonElementRef = element)}\r\n >\r\n <ActiveGroupLabel active={this.active} options={this.options} />\r\n <span class=\"active-option-label\">{this.active?.label ?? \"Selecteer een optie\"}</span>\r\n <span class=\"active-option-aside\">\r\n {this.options.some(\r\n (optionOrGroup) => \"summaryCounter\" in optionOrGroup && optionOrGroup?.summaryCounter,\r\n ) && (\r\n <span class=\"badges\">\r\n {this.options\r\n .filter(\r\n (option): option is AdvancedSelectGroup<never> =>\r\n \"options\" in option && \"summaryCounter\" in option && !!option?.summaryCounter,\r\n )\r\n .map((group) => (\r\n <dso-badge status={group.variant ?? \"outline\"}>{group.options.length}</dso-badge>\r\n ))}\r\n </span>\r\n )}\r\n <dso-icon icon=\"caret-down\"></dso-icon>\r\n </span>\r\n </button>\r\n {this.open && (\r\n <div class=\"groups-container\">\r\n <ul class=\"groups\">\r\n {this.options.map(\r\n (optionOrGroup) =>\r\n (\"options\" in optionOrGroup && (\r\n <li class={clsx([\"group\", { [`group-${optionOrGroup.variant}`]: !!optionOrGroup.variant }])}>\r\n <p class=\"group-label\">{optionOrGroup.label}</p>\r\n <ul class=\"options\">\r\n {optionOrGroup.options.map((option) => (\r\n <li>\r\n <OptionButton\r\n option={option}\r\n active={this.active}\r\n activeHint={this.activeHint}\r\n callback={this.handleOptionClick}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {optionOrGroup.redirect && (\r\n <RedirectAnchor\r\n redirect={optionOrGroup.redirect}\r\n callback={this.handleRedirectClick}\r\n ></RedirectAnchor>\r\n )}\r\n </li>\r\n )) ||\r\n (\"placeholder\" in optionOrGroup && (\r\n <li class=\"group\">\r\n <p class=\"group-label\">{optionOrGroup.label}</p>\r\n <p class=\"placeholder\">{optionOrGroup.placeholder}</p>\r\n {optionOrGroup.redirect && (\r\n <RedirectAnchor\r\n redirect={optionOrGroup.redirect}\r\n callback={this.handleRedirectClick}\r\n ></RedirectAnchor>\r\n )}\r\n </li>\r\n )) || (\r\n <li>\r\n <OptionButton\r\n option={optionOrGroup}\r\n active={this.active}\r\n activeHint={this.activeHint}\r\n callback={this.handleOptionClick}\r\n />\r\n </li>\r\n ),\r\n )}\r\n </ul>\r\n </div>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n\r\ninterface OptionButtonProps {\r\n option: AdvancedSelectOption<never>;\r\n active: AdvancedSelectOption<never> | undefined;\r\n activeHint: string | undefined;\r\n callback: (event: MouseEvent, value: AdvancedSelectOption<never>) => void;\r\n}\r\n\r\nconst OptionButton: FunctionalComponent<OptionButtonProps> = ({ option, active, activeHint, callback }) => (\r\n <button\r\n class={clsx([\"option\", { \"option-active\": active === option }])}\r\n type=\"button\"\r\n onClick={(e) => callback(e, option)}\r\n >\r\n <span class=\"option-label\">{option.label}</span>\r\n {!!activeHint && active === option && <span class=\"option-hint\">({activeHint})</span>}\r\n </button>\r\n);\r\n\r\ninterface RedirectAnchorProps {\r\n redirect: AdvancedSelectGroupRedirect;\r\n callback: (event: MouseEvent, value: AdvancedSelectGroupRedirect) => void;\r\n}\r\n\r\nconst RedirectAnchor: FunctionalComponent<RedirectAnchorProps> = ({ redirect, callback }) => (\r\n <a class=\"group-link\" href={redirect.href} onClick={(e) => callback(e, redirect)}>\r\n {redirect.label}\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n);\r\n\r\ninterface ActiveGroupLabelProps {\r\n active: AdvancedSelectOption<never> | undefined;\r\n options: AdvancedSelectOptionOrGroup<never>[];\r\n}\r\n\r\nconst ActiveGroupLabel: FunctionalComponent<ActiveGroupLabelProps> = ({ active, options }) => {\r\n const group = options.find(\r\n (optionOrGroup): optionOrGroup is AdvancedSelectGroup<never> =>\r\n \"options\" in optionOrGroup &&\r\n !!optionOrGroup.options.find((option) => option === active) &&\r\n !!optionOrGroup.activeLabel,\r\n );\r\n\r\n return (\r\n group && (\r\n <dso-label compact status={group.variant}>\r\n {group.activeLabel}\r\n </dso-label>\r\n )\r\n );\r\n};\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as s,H as e,g as i}from"./p-DxWmN7gh.js";import{a as o,c as n,o as
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as s,H as e,g as i}from"./p-DxWmN7gh.js";import{a as o,c as n,o as a,f as r}from"./p-gdsca1fx.js";import{t as h}from"./p-Pk8qng7t.js";import{g as f}from"./p-CodDyi2J.js";import{v as l}from"./p-BF0_OXTe.js";const d=":host(:focus){outline:none}:host{display:inline-block}div[popover]{margin:0 !important;border:0;padding:0;background-color:transparent;overflow:unset;inline-size:max-content}";const c=class{constructor(s){t(this,s);this.open=false;this.dropdownAlign="left";this.dropdownOptionsOffset=2;this.checkable=false;this.focusOutListener=t=>{if(this.open&&(!(t.relatedTarget instanceof HTMLElement)||!this.tabbables(true).includes(t.relatedTarget))){this.toggleOptions(false)}};this.keyDownListener=t=>{if(t.defaultPrevented||!this.open){return}switch(t.key){case"Tab":if(t.shiftKey){this.tabInPopup(this.tabbables(true),-1)}else{this.tabInPopup(this.tabbables(true),1)}break;case"ArrowDown":this.tabInPopup(this.tabbables(false),1);break;case"ArrowUp":this.tabInPopup(this.tabbables(false),-1);break;case"Escape":this.escape();break;case" ":if(t.target instanceof HTMLElement){t.target.click()}break;default:return}t.preventDefault()};this.escape=()=>{this.button.focus();this.toggleOptions(false)}}get button(){const t=this.host.querySelector('button[slot="toggle"]');if(!(t instanceof HTMLButtonElement)){throw new ReferenceError("Mandatory toggle button not found")}return t}tabbables(t){const s=this.host.isConnected?h(this.host):[];return t?s:s.filter((t=>t!==this.button))}componentDidLoad(){this.button.setAttribute("aria-haspopup","menu");this.button.setAttribute("aria-expanded","false");if(!this.button.id){this.button.id=l()}const t=this.host.querySelector(".dso-dropdown-options");if(!(t instanceof HTMLElement)){throw new Error("dropdown options element is not instanceof HTMLElement")}t.setAttribute("role","menu");t.setAttribute("aria-labelledby",this.button.id);for(const t of Array.from(this.host.getElementsByTagName("ul"))){t.setAttribute("role","group");for(const s of Array.from(t.getElementsByTagName("li"))){s.setAttribute("role","none")}}}componentDidRender(){for(const t of Array.from(this.host.getElementsByTagName("li"))){for(const s of this.host.isConnected?h(t):[]){s.setAttribute("role",this.checkable?"menuitemradio":"menuitem");if(this.checkable){s.setAttribute("aria-checked",t.classList.contains("dso-checked").toString())}}}this.button.setAttribute("aria-expanded",this.open?"true":"false");if(this.popoverElement&&!this.cleanUp){const t=this.popoverElement;this.cleanUp=o(this.button,t,(()=>{n(this.button,t,{strategy:"fixed",middleware:[a(this.dropdownOptionsOffset),r({padding:this.dropdownOptionsOffset})],placement:this.dropdownAlign==="right"?"bottom-end":"bottom-start"}).then((({x:s,y:e})=>{Object.assign(t.style,{left:`${s}px`,top:`${e}px`})}))}))}}onClick(t){const s=t.composedPath();if(this.isToggleButtonEvent(s)){this.toggleOptions()}else if(this.open&&this.isMenuItemEvent(s)){this.toggleOptions(false)}}isToggleButtonEvent(t){return t.includes(this.button)}isMenuItemEvent(t){return t.includes(this.host)&&!this.isToggleButtonEvent(t)}toggleOptions(t){var s,e;this.open=t!==null&&t!==void 0?t:!this.open;if((s=this.popoverElement)===null||s===void 0?void 0:s.isConnected){(e=this.popoverElement)===null||e===void 0?void 0:e.togglePopover(this.open)}if(!this.open&&this.cleanUp){this.cleanUp();this.cleanUp=undefined}}connectedCallback(){this.host.addEventListener("keydown",this.keyDownListener)}disconnectedCallback(){this.host.removeEventListener("keydown",this.keyDownListener);this.toggleOptions(false)}tabInPopup(t,s){var e;const i=t.findIndex((t=>t===f()));let o=i+s;if(o>=t.length){o=0}else if(o<0){o=t.length-1}(e=t[o])===null||e===void 0?void 0:e.focus()}render(){return s(e,{key:"eef8d8dbe39c7860fa9a20de588baf35441b7949",onFocusout:this.focusOutListener},s("slot",{key:"aba87a4ef0ca475046f1635d67f14441a0c7dfb2",name:"toggle"}),s("div",{key:"7b219dd6210934f8d153bf5d4f41a884c33fe646",popover:"manual",ref:t=>this.popoverElement=t},s("slot",{key:"744c81309fd55ae6f16752ae6a2976b515863aee"})))}get host(){return i(this)}};c.style=d;export{c as dso_dropdown_menu};
|
|
2
|
+
//# sourceMappingURL=p-1da633fc.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as i,F as s,g as e}from"./p-DxWmN7gh.js";const o="*,*::after,*::before{box-sizing:border-box}:host{display:inline-block;--tooltip-margin-block-start:0;--tooltip-margin-inline-start:3px;--tooltip-margin-inline-end:units.$u1 * -1 !important}:host(:focus){outline:none;z-index:410}";const h=class{constructor(i){t(this,i);this.active=false;this.label="Toelichting";this.position="right";this.click=()=>{if(this.active){this.close()}else{this.open()}};this.open=()=>{this.active=true;this.host.addEventListener("keydown",this.keyDownListener);this.host.addEventListener("focusout",this.focusOutListener)};this.close=()=>{this.host.removeEventListener("focusout",this.focusOutListener);this.host.removeEventListener("keydown",this.keyDownListener);this.active=false};this.focusOutListener=t=>{if(!this.host.contains(t.relatedTarget)){this.close()}};this.keyDownListener=t=>{var i;if(!t.defaultPrevented&&t.key==="Escape"){this.close();(i=this.infoButton)===null||i===void 0?void 0:i.setFocus();t.preventDefault()}return}}render(){return i(s,{key:"
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as i,F as s,g as e}from"./p-DxWmN7gh.js";const o="*,*::after,*::before{box-sizing:border-box}:host{display:inline-block;--tooltip-margin-block-start:0;--tooltip-margin-inline-start:3px;--tooltip-margin-inline-end:units.$u1 * -1 !important}:host(:focus){outline:none;z-index:410}";const h=class{constructor(i){t(this,i);this.active=false;this.label="Toelichting";this.position="right";this.click=()=>{if(this.active){this.close()}else{this.open()}};this.open=()=>{this.active=true;this.host.addEventListener("keydown",this.keyDownListener);this.host.addEventListener("focusout",this.focusOutListener)};this.close=()=>{this.host.removeEventListener("focusout",this.focusOutListener);this.host.removeEventListener("keydown",this.keyDownListener);this.active=false};this.focusOutListener=t=>{if(!this.host.contains(t.relatedTarget)){this.close()}};this.keyDownListener=t=>{var i;if(!t.defaultPrevented&&t.key==="Escape"){this.close();(i=this.infoButton)===null||i===void 0?void 0:i.setFocus();t.preventDefault()}return}}render(){return i(s,{key:"facdb6f15ee9411df97bf57a390001e6c5c538eb"},i("dso-info-button",{key:"104bb7ff512fbd57eaaf7559adde8d8fb1966bf2","aria-describedby":"toggle",onClick:this.click,label:this.label,active:this.active,secondary:this.secondary,ref:t=>this.infoButton=t}),i("dso-tooltip",{key:"320c7a6d9e2199f1f3d91610f41773e163d17c64",stateless:true,descriptive:true,id:"toggle",strategy:"absolute",active:this.active,position:this.position,small:this.small},i("slot",{key:"3f609c4261d1a8d04b55bf6ddf152a2649b6b20f"})))}get host(){return e(this)}};h.style=o;export{h as dso_toggletip};
|
|
2
|
+
//# sourceMappingURL=p-20b31a44.entry.js.map
|
|
@@ -1,2 +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;overflow:hidden;clip:rect(0, 0, 0, 0);border: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:"
|
|
2
|
-
//# sourceMappingURL=p-
|
|
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;overflow:hidden;clip:rect(0, 0, 0, 0);border: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:"7db23c7d7736a1b2f4f18c6240db2dcb72d965a2",id:"tree",class:"dso-tree",onKeyDown:e=>this.keyDownListener(e),ref:e=>this.tree=e},e("ul",{key:"dc8acc481f22aaced2657634b24a0e054194a33f",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-26966325.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,f as s,h as e,H as a,g as r}from"./p-DxWmN7gh.js";const i="*,*::after,*::before{box-sizing:border-box}:host{display:block}.tabs{border-block-end:1px solid #39870c;display:flex;gap:2px;flex-wrap:wrap;margin-block-end:24px;padding-inline-start:0}@media screen and (max-width: 767px){.tabs{border:0;display:block}}";const o=class{constructor(s){t(this,s);this.keyUpHandler=t=>{if(!(t.target instanceof HTMLElement)){return}switch(t.key){case"ArrowRight":case"ArrowDown":this.moveFocusToNextTab(t.target);break;case"ArrowLeft":case"ArrowUp":this.moveFocusToPreviousTab(t.target);break;default:return}}}get enabledTabs(){return Array.from(this.host.querySelectorAll(":scope > dso-tab")).reduce(((t,s)=>{if(!s.disabled){t.push(s)}return t}),[])}get firstTab(){return this.enabledTabs[0]}get lastTab(){return this.enabledTabs[this.enabledTabs.length-1]}moveFocusToTab(t){t===null||t===void 0?void 0:t._dsoFocus()}moveFocusToPreviousTab(t){var s;const e=this.enabledTabs.findIndex((s=>s===t));const a=(s=this.enabledTabs[e-1])!==null&&s!==void 0?s:this.lastTab;this.moveFocusToTab(a)}moveFocusToNextTab(t){var s;const e=this.enabledTabs.findIndex((s=>s===t));const a=(s=this.enabledTabs[e+1])!==null&&s!==void 0?s:this.firstTab;this.moveFocusToTab(a)}connectedCallback(){var t;(t=this.mutationObserver)!==null&&t!==void 0?t:this.mutationObserver=new MutationObserver((()=>s(this.host)));this.mutationObserver.observe(this.host,{childList:true})}disconnectedCallback(){var t;(t=this.mutationObserver)===null||t===void 0?void 0:t.disconnect()}render(){return e(a,{key:"349c801fdadbfd077ca6cc68f5d1f48dea0d4ff4"},e("div",{key:"1413312c78b126135b10295690aa957d99304acf",class:"tabs",role:"tablist",onKeyUp:this.keyUpHandler},e("slot",{key:"3b4cbf35c3d29ba1f6158853d755335dd8a05b5e"})),e("div",{key:"95e97aa712722fc019bbf1578dfb1c6224ecebb5",role:"tabpanel",tabindex:"0"},e("slot",{key:"305195dcc64770963bb740d64c5cc0d08f0c16bc",name:"panel"})))}get host(){return r(this)}};o.style=i;export{o as dso_tabs};
|
|
2
|
+
//# sourceMappingURL=p-2bce5330.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as r,h as n,F as i,g as a}from"./p-DxWmN7gh.js";const o=":host{display:flex;align-items:center;gap:0.5rem;padding:0.5rem;inline-size:100%}*,*::after,*::before{box-sizing:border-box}.counter{flex-shrink:0;min-inline-size:5ch}.counter.min{text-align:end}.counter.max{text-align:start}.input{flex-grow:1;appearance:none;background-color:transparent;cursor:pointer}.input::-webkit-slider-runnable-track{block-size:0.5rem;background-color:#e5e5e5;border:1px solid #666;border-radius:0.5rem}.input::-webkit-slider-runnable-track:hover{background-color:#ccc}.input::-webkit-slider-thumb{block-size:1.5rem;inline-size:1.5rem;appearance:none;margin-block-start:-0.55rem;background-color:#39870c;border-radius:50%}.input::-webkit-slider-thumb:hover{background-color:#275937}.input::-moz-range-track{box-sizing:border-box;block-size:0.5rem;background-color:#e5e5e5;border:1px solid #666;border-radius:0.5rem}.input::-moz-range-track:hover{background-color:#ccc}.input::-moz-range-thumb{box-sizing:border-box;block-size:1.5rem;inline-size:1.5rem;appearance:none;margin-block-start:-0.5rem;background-color:#39870c;border-color:transparent;border-radius:50%}.input::-moz-range-thumb:hover{background-color:#275937}";const t=class{constructor(n){e(this,n);this.dsoChange=r(this,"dsoChange",3);this.unit=""}render(){const e=this.min||0;const r=this.max||100;const a=this.step||1;return n(i,null,this.description&&n("span",{key:"
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as r,h as n,F as i,g as a}from"./p-DxWmN7gh.js";const o=":host{display:flex;align-items:center;gap:0.5rem;padding:0.5rem;inline-size:100%}*,*::after,*::before{box-sizing:border-box}.counter{flex-shrink:0;min-inline-size:5ch}.counter.min{text-align:end}.counter.max{text-align:start}.input{flex-grow:1;appearance:none;background-color:transparent;cursor:pointer}.input::-webkit-slider-runnable-track{block-size:0.5rem;background-color:#e5e5e5;border:1px solid #666;border-radius:0.5rem}.input::-webkit-slider-runnable-track:hover{background-color:#ccc}.input::-webkit-slider-thumb{block-size:1.5rem;inline-size:1.5rem;appearance:none;margin-block-start:-0.55rem;background-color:#39870c;border-radius:50%}.input::-webkit-slider-thumb:hover{background-color:#275937}.input::-moz-range-track{box-sizing:border-box;block-size:0.5rem;background-color:#e5e5e5;border:1px solid #666;border-radius:0.5rem}.input::-moz-range-track:hover{background-color:#ccc}.input::-moz-range-thumb{box-sizing:border-box;block-size:1.5rem;inline-size:1.5rem;appearance:none;margin-block-start:-0.5rem;background-color:#39870c;border-color:transparent;border-radius:50%}.input::-moz-range-thumb:hover{background-color:#275937}";const t=class{constructor(n){e(this,n);this.dsoChange=r(this,"dsoChange",3);this.unit=""}render(){const e=this.min||0;const r=this.max||100;const a=this.step||1;return n(i,null,this.description&&n("span",{key:"10cce6802d9237ac16b82cab7c22c96ba6c6351a",id:"description",hidden:true},this.description),n("span",{key:"752793eb65c306843b90d281fc4b43dbd8f39bcd",class:"counter min","aria-hidden":"true"},e,this.unit),n("input",{key:"f2ccb4d8a20c54a1a7f506cf240b7ea7ea101e8b",type:"range",min:this.min,max:this.max,value:this.value,class:"input","aria-label":this.label,"aria-describedby":this.description?"description":undefined,onChange:n=>this.dsoChange.emit({originalEvent:n,value:n.target instanceof HTMLInputElement?parseInt(n.target.value,10):undefined,max:r,min:e,step:a})}),n("span",{key:"ffafaf37c7681a94df522f66e1bc4c8ce35494cc",class:"counter max","aria-hidden":"true"},r,this.unit))}get host(){return a(this)}};t.style=o;export{t as dso_input_range};
|
|
2
|
+
//# sourceMappingURL=p-2e304f75.entry.js.map
|