@dso-toolkit/core 74.0.0 → 75.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/dso-accordion-section.js +8 -8
- package/dist/bundle/dso-accordion-section.js.map +1 -1
- package/dist/bundle/dso-accordion.js +1 -1
- package/dist/bundle/dso-accordion.js.map +1 -1
- package/dist/bundle/dso-action-list-item.js +2 -2
- package/dist/bundle/dso-action-list-item.js.map +1 -1
- package/dist/bundle/dso-action-list.js +1 -1
- package/dist/bundle/dso-action-list.js.map +1 -1
- package/dist/bundle/dso-advanced-select.js +5 -5
- package/dist/bundle/dso-advanced-select.js.map +1 -1
- package/dist/bundle/dso-alert.js +1 -1
- package/dist/bundle/dso-annotation-activiteit.js +6 -6
- package/dist/bundle/dso-annotation-activiteit.js.map +1 -1
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +6 -6
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js.map +1 -1
- package/dist/bundle/dso-annotation-kaart.js +4 -4
- package/dist/bundle/dso-annotation-kaart.js.map +1 -1
- package/dist/bundle/dso-annotation-locatie.js +1 -1
- package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +6 -6
- package/dist/bundle/dso-annotation-omgevingsnormwaarde.js.map +1 -1
- package/dist/bundle/dso-attachments-counter.js +1 -1
- package/dist/bundle/dso-autosuggest.js +3 -3
- package/dist/bundle/dso-badge.js +1 -1
- package/dist/bundle/dso-banner.js +1 -1
- package/dist/bundle/dso-banner.js.map +1 -1
- package/dist/bundle/dso-card.js +2 -2
- package/dist/bundle/dso-card.js.map +1 -1
- package/dist/bundle/dso-contact-information.js +1 -1
- package/dist/bundle/dso-contact-information.js.map +1 -1
- package/dist/bundle/dso-date-picker-legacy.js +2 -2
- package/dist/bundle/dso-date-picker-legacy.js.map +1 -1
- package/dist/bundle/dso-date-picker.js +1 -1
- package/dist/bundle/dso-date-picker.js.map +1 -1
- package/dist/bundle/dso-document-card.js +2 -2
- package/dist/bundle/dso-document-card.js.map +1 -1
- package/dist/bundle/dso-document-component.js +1 -1
- package/dist/bundle/dso-expandable.js +1 -1
- package/dist/bundle/dso-header.js +2 -2
- package/dist/bundle/dso-header.js.map +1 -1
- package/dist/bundle/dso-highlight-box.js +1 -1
- package/dist/bundle/dso-highlight-box.js.map +1 -1
- package/dist/bundle/dso-icon.js +1 -1
- package/dist/bundle/dso-image-overlay.js +1 -1
- package/dist/bundle/dso-info-button.js +1 -1
- package/dist/bundle/dso-info.js +1 -1
- package/dist/bundle/dso-input-range.js +1 -1
- package/dist/bundle/dso-input-range.js.map +1 -1
- package/dist/bundle/dso-label.js +1 -1
- package/dist/bundle/dso-legend-item.js +16 -17
- package/dist/bundle/dso-legend-item.js.map +1 -1
- package/dist/bundle/dso-list-button.js +3 -3
- package/dist/bundle/dso-list-button.js.map +1 -1
- package/dist/bundle/dso-logo.js +1 -1
- package/dist/bundle/dso-map-base-layers.js +6 -6
- package/dist/bundle/dso-map-base-layers.js.map +1 -1
- package/dist/bundle/dso-map-controls.js +4 -4
- package/dist/bundle/dso-map-controls.js.map +1 -1
- package/dist/bundle/dso-map-overlays.js +6 -6
- package/dist/bundle/dso-map-overlays.js.map +1 -1
- package/dist/bundle/dso-mark-bar.js +3 -3
- package/dist/bundle/dso-mark-bar.js.map +1 -1
- package/dist/bundle/dso-modal.js +4 -4
- package/dist/bundle/dso-modal.js.map +1 -1
- package/dist/bundle/dso-onboarding-tip.js +3 -3
- package/dist/bundle/dso-onboarding-tip.js.map +1 -1
- package/dist/bundle/dso-ozon-content.js +1 -1
- package/dist/bundle/dso-pagination.js +3 -3
- package/dist/bundle/dso-pagination.js.map +1 -1
- package/dist/bundle/dso-panel.js +1 -1
- package/dist/bundle/dso-plekinfo-card.js +3 -3
- package/dist/bundle/dso-plekinfo-card.js.map +1 -1
- package/dist/bundle/dso-progress-bar.js +2 -2
- package/dist/bundle/dso-progress-bar.js.map +1 -1
- package/dist/bundle/dso-progress-indicator.js +1 -1
- package/dist/bundle/dso-project-item.js +5 -5
- package/dist/bundle/dso-project-item.js.map +1 -1
- package/dist/bundle/dso-renvooi.js +1 -1
- package/dist/bundle/dso-responsive-element.js +1 -1
- package/dist/bundle/dso-scrollable.js +1 -1
- package/dist/bundle/dso-selectable.js +1 -1
- package/dist/bundle/dso-skiplink.js +3 -3
- package/dist/bundle/dso-skiplink.js.map +1 -1
- package/dist/bundle/dso-slide-toggle.js +1 -1
- package/dist/bundle/dso-survey-rating.js +5 -5
- package/dist/bundle/dso-survey-rating.js.map +1 -1
- package/dist/bundle/dso-tab.js +1 -1
- package/dist/bundle/dso-tab.js.map +1 -1
- package/dist/bundle/dso-table.js +1 -1
- package/dist/bundle/dso-tabs.js +2 -2
- package/dist/bundle/dso-tabs.js.map +1 -1
- package/dist/bundle/dso-toggletip.js +1 -1
- package/dist/bundle/dso-tooltip.js +1 -1
- package/dist/bundle/dso-tree-view.js +4 -4
- package/dist/bundle/dso-tree-view.js.map +1 -1
- package/dist/bundle/dso-viewer-grid.js +2 -2
- package/dist/bundle/dso-viewer-grid.js.map +1 -1
- package/dist/bundle/dsot-document-component-demo.js +14 -14
- package/dist/bundle/p-0OxrSmuX.js +36 -0
- package/dist/bundle/{p-CwXjPr2h.js.map → p-0OxrSmuX.js.map} +1 -1
- package/dist/bundle/{p-C_CoF0aB.js → p-9Ncrliah.js} +5 -5
- package/dist/bundle/{p-C_CoF0aB.js.map → p-9Ncrliah.js.map} +1 -1
- package/dist/bundle/{p-BdyXpl60.js → p-BLcgQKpu.js} +3 -3
- package/dist/bundle/{p-BdyXpl60.js.map → p-BLcgQKpu.js.map} +1 -1
- package/dist/bundle/{p-kDtv6DeD.js → p-BN2fD3ZU.js} +4 -4
- package/dist/bundle/{p-kDtv6DeD.js.map → p-BN2fD3ZU.js.map} +1 -1
- package/dist/bundle/{p-CZ2ipzNO.js → p-BYV1oeRl.js} +4 -4
- package/dist/bundle/{p-CZ2ipzNO.js.map → p-BYV1oeRl.js.map} +1 -1
- package/dist/bundle/p-BzRDrr-_.js +63 -0
- package/dist/bundle/{p-xNnEBBZG.js.map → p-BzRDrr-_.js.map} +1 -1
- package/dist/bundle/p-CLisNzps.js +253 -0
- package/dist/bundle/{p-BJv2m9ZZ.js.map → p-CLisNzps.js.map} +1 -1
- package/dist/bundle/{p-DGWbWwct.js → p-CoKesn28.js} +5 -5
- package/dist/bundle/{p-DGWbWwct.js.map → p-CoKesn28.js.map} +1 -1
- package/dist/bundle/p-Cs3phD9i.js +1162 -0
- package/dist/bundle/{p-DvqO1i1s.js.map → p-Cs3phD9i.js.map} +1 -1
- package/dist/bundle/{p-dB3K6tfb.js → p-Cx4Hx2VD.js} +4 -4
- package/dist/bundle/{p-dB3K6tfb.js.map → p-Cx4Hx2VD.js.map} +1 -1
- package/dist/bundle/{p-PMqbDJmA.js → p-CyBDICEz.js} +4 -4
- package/dist/bundle/{p-PMqbDJmA.js.map → p-CyBDICEz.js.map} +1 -1
- package/dist/bundle/p-D8CNpm3v.js +80 -0
- package/dist/bundle/{p-CkBk3gL8.js.map → p-D8CNpm3v.js.map} +1 -1
- package/dist/bundle/{p-0JGmXD8O.js → p-D9Bg2rxG.js} +5 -5
- package/dist/bundle/{p-0JGmXD8O.js.map → p-D9Bg2rxG.js.map} +1 -1
- package/dist/bundle/p-DIok-wvi.js +115 -0
- package/dist/bundle/{p-BtcZ9oZ6.js.map → p-DIok-wvi.js.map} +1 -1
- package/dist/bundle/{p-D2nuXSd0.js → p-DTtP46RI.js} +3 -3
- package/dist/bundle/{p-D2nuXSd0.js.map → p-DTtP46RI.js.map} +1 -1
- package/dist/bundle/p-DWXU-hOH.js +43 -0
- package/dist/bundle/{p-C1tscMvU.js.map → p-DWXU-hOH.js.map} +1 -1
- package/dist/bundle/{p-DcpG4jOU.js → p-DeWunH18.js} +7 -7
- package/dist/bundle/{p-DcpG4jOU.js.map → p-DeWunH18.js.map} +1 -1
- package/dist/bundle/{p-CvGnEQcm.js → p-DkmiPgP0.js} +3 -3
- package/dist/bundle/p-DkmiPgP0.js.map +1 -0
- package/dist/bundle/{p-DrR9RuIM.js → p-Dxegur3q.js} +3 -3
- package/dist/bundle/{p-DrR9RuIM.js.map → p-Dxegur3q.js.map} +1 -1
- package/dist/bundle/{p-WYm6cxra.js → p-QqEnuAIH.js} +4 -4
- package/dist/bundle/{p-WYm6cxra.js.map → p-QqEnuAIH.js.map} +1 -1
- package/dist/bundle/p-YrsDWjn_.js +145 -0
- package/dist/bundle/{p-Cng7insW.js.map → p-YrsDWjn_.js.map} +1 -1
- package/dist/bundle/p-cdXH2H1r.js +125 -0
- package/dist/bundle/{p-D9Yjz_Sm.js.map → p-cdXH2H1r.js.map} +1 -1
- package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
- package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-accordion-section.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-accordion.cjs.entry.js +1 -1
- package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-action-list-item.cjs.entry.js +1 -1
- package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-action-list-item.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
- package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-action-list.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-advanced-select.cjs.entry.js +1 -1
- package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-advanced-select.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert_6.cjs.entry.js +8 -8
- package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-activiteit.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-activiteit.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-kaart.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-kaart.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-kaart.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-locatie.dso-document-component.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +2 -2
- package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-attachments-counter.dso-expandable.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-attachments-counter_2.cjs.entry.js +2 -2
- package/dist/cjs/dso-attachments-counter_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-banner.cjs.entry.js +1 -1
- package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-banner.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-card.cjs.entry.js +1 -1
- package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-card.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-contact-information.cjs.entry.js +1 -1
- package/dist/cjs/dso-contact-information.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-contact-information.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +1 -1
- package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-date-picker-legacy.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-date-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-document-card.cjs.entry.js +1 -1
- package/dist/cjs/dso-document-card.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-document-card.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-header.cjs.entry.js +1 -1
- package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-header.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-highlight-box.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-icon.cjs.entry.js +1 -1
- package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-info-button.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-info.dso-selectable.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js +3 -3
- package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-input-range.cjs.entry.js +1 -1
- package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-input-range.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-label.dso-renvooi.dso-slide-toggle.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-label_3.cjs.entry.js +4 -4
- package/dist/cjs/dso-label_3.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-legend-item.cjs.entry.js +3 -10
- package/dist/cjs/dso-legend-item.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-legend-item.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-list-button.cjs.entry.js +2 -2
- package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-list-button.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-logo.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-base-layers.cjs.entry.js +2 -2
- package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-base-layers.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js +2 -2
- package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-controls.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-map-overlays.cjs.entry.js +2 -2
- package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-overlays.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-mark-bar.cjs.entry.js +2 -2
- package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-mark-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js +2 -2
- package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-onboarding-tip.cjs.entry.js +2 -2
- package/dist/cjs/dso-onboarding-tip.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-onboarding-tip.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
- package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-plekinfo-card.cjs.entry.js +2 -2
- package/dist/cjs/dso-plekinfo-card.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-plekinfo-card.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-progress-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-progress-indicator.cjs.entry.js +2 -2
- package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-progress-indicator.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-project-item.cjs.entry.js +2 -2
- package/dist/cjs/dso-project-item.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-project-item.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
- package/dist/cjs/dso-scrollable.cjs.entry.js +3 -3
- package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-scrollable.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-skiplink.cjs.entry.js +2 -2
- package/dist/cjs/dso-skiplink.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-skiplink.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-survey-rating.cjs.entry.js +3 -3
- package/dist/cjs/dso-survey-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-survey-rating.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-tab.cjs.entry.js +1 -1
- package/dist/cjs/dso-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-tab.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-tabs.cjs.entry.js +2 -2
- package/dist/cjs/dso-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-toggletip.cjs.entry.js +2 -2
- package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-toggletip.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +1 -1
- package/dist/cjs/dso-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-tree-view.cjs.entry.js +2 -2
- package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-tree-view.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +2 -2
- package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-viewer-grid.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/accordion/accordion.css +15 -0
- package/dist/collection/components/accordion/components/accordion-section.css +17 -2
- package/dist/collection/components/action-list/action-list.css +15 -0
- package/dist/collection/components/action-list/components/action-list-item.css +15 -0
- package/dist/collection/components/advanced-select/advanced-select.css +15 -0
- package/dist/collection/components/alert/alert.css +15 -0
- package/dist/collection/components/annotation/annotation.css +15 -0
- package/dist/collection/components/attachments-counter/attachments-counter.css +15 -0
- package/dist/collection/components/badge/badge.css +15 -0
- package/dist/collection/components/banner/banner.css +15 -0
- package/dist/collection/components/card/card.css +15 -0
- package/dist/collection/components/contact-information/contact-information.css +15 -0
- package/dist/collection/components/date-picker/date-picker.css +15 -0
- package/dist/collection/components/date-picker-legacy/date-picker-legacy.css +15 -0
- package/dist/collection/components/document-card/document-card.css +15 -0
- package/dist/collection/components/document-component/document-component.css +15 -0
- package/dist/collection/components/expandable/expandable.css +19 -2
- package/dist/collection/components/header/header.css +15 -0
- package/dist/collection/components/highlight-box/highlight-box.css +15 -0
- package/dist/collection/components/icon/icon.css +15 -0
- package/dist/collection/components/image-overlay/image-overlay.css +15 -0
- package/dist/collection/components/info/info.css +15 -0
- package/dist/collection/components/info-button/info-button.css +15 -0
- package/dist/collection/components/input-range/input-range.css +15 -0
- package/dist/collection/components/label/label.css +15 -0
- package/dist/collection/components/legend-item/legend-item.css +42 -23
- package/dist/collection/components/legend-item/legend-item.interfaces.js.map +1 -1
- package/dist/collection/components/legend-item/legend-item.js +14 -21
- package/dist/collection/components/legend-item/legend-item.js.map +1 -1
- package/dist/collection/components/list-button/list-button.css +15 -0
- package/dist/collection/components/list-button/list-button.js +1 -1
- package/dist/collection/components/logo/logo.js +1 -1
- package/dist/collection/components/map-base-layers/map-base-layers.css +15 -0
- package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
- package/dist/collection/components/map-controls/map-controls.css +15 -0
- package/dist/collection/components/map-controls/map-controls.js +1 -1
- package/dist/collection/components/map-overlays/map-overlays.css +15 -0
- package/dist/collection/components/map-overlays/map-overlays.js +1 -1
- package/dist/collection/components/mark-bar/mark-bar.css +15 -0
- package/dist/collection/components/mark-bar/mark-bar.js +1 -1
- package/dist/collection/components/modal/modal.css +15 -0
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/onboarding-tip/onboarding-tip.css +15 -0
- package/dist/collection/components/onboarding-tip/onboarding-tip.js +1 -1
- package/dist/collection/components/ozon-content/ozon-content.css +15 -0
- package/dist/collection/components/ozon-content/ozon-content.js +1 -1
- package/dist/collection/components/pagination/pagination.css +15 -0
- package/dist/collection/components/panel/panel.css +15 -0
- package/dist/collection/components/plekinfo-card/plekinfo-card.css +15 -0
- package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.css +15 -0
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/progress-indicator/progress-indicator.css +15 -0
- package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
- package/dist/collection/components/project-item/project-item.css +15 -0
- package/dist/collection/components/project-item/project-item.js +1 -1
- package/dist/collection/components/renvooi/renvooi.css +15 -0
- package/dist/collection/components/responsive-element/responsive-element.js +1 -1
- package/dist/collection/components/scrollable/scrollable.css +15 -0
- package/dist/collection/components/scrollable/scrollable.js +2 -2
- package/dist/collection/components/selectable/selectable.css +15 -0
- package/dist/collection/components/selectable/selectable.js +1 -1
- package/dist/collection/components/skiplink/skiplink.css +15 -0
- package/dist/collection/components/skiplink/skiplink.js +1 -1
- package/dist/collection/components/slide-toggle/slide-toggle.css +16 -1
- package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
- package/dist/collection/components/survey-rating/survey-rating.css +15 -0
- package/dist/collection/components/survey-rating/survey-rating.js +2 -2
- package/dist/collection/components/table/table.css +15 -0
- package/dist/collection/components/table/table.js +1 -1
- package/dist/collection/components/tabs/components/tab.css +15 -0
- package/dist/collection/components/tabs/tabs.css +15 -0
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/toggletip/toggletip.css +15 -0
- package/dist/collection/components/toggletip/toggletip.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +15 -0
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/components/tree-view/tree-view.css +15 -0
- package/dist/collection/components/tree-view/tree-view.js +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.css +15 -0
- package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/annotation-locatie.js +1 -1
- package/dist/components/annotation-locatie.js.map +1 -1
- package/dist/components/attachments-counter.js +1 -1
- package/dist/components/attachments-counter.js.map +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/document-component.js +1 -1
- package/dist/components/document-component.js.map +1 -1
- package/dist/components/dso-accordion-section.js +1 -1
- package/dist/components/dso-accordion-section.js.map +1 -1
- package/dist/components/dso-accordion.js +1 -1
- package/dist/components/dso-accordion.js.map +1 -1
- package/dist/components/dso-action-list-item.js +1 -1
- package/dist/components/dso-action-list-item.js.map +1 -1
- package/dist/components/dso-action-list.js +1 -1
- package/dist/components/dso-action-list.js.map +1 -1
- package/dist/components/dso-advanced-select.js +1 -1
- package/dist/components/dso-advanced-select.js.map +1 -1
- package/dist/components/dso-annotation-activiteit.js +1 -1
- package/dist/components/dso-annotation-activiteit.js.map +1 -1
- package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
- package/dist/components/dso-annotation-gebiedsaanwijzing.js.map +1 -1
- package/dist/components/dso-annotation-kaart.js +1 -1
- package/dist/components/dso-annotation-kaart.js.map +1 -1
- package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
- package/dist/components/dso-annotation-omgevingsnormwaarde.js.map +1 -1
- package/dist/components/dso-banner.js +1 -1
- package/dist/components/dso-banner.js.map +1 -1
- package/dist/components/dso-card.js +1 -1
- package/dist/components/dso-card.js.map +1 -1
- package/dist/components/dso-contact-information.js +1 -1
- package/dist/components/dso-contact-information.js.map +1 -1
- package/dist/components/dso-date-picker-legacy.js +1 -1
- package/dist/components/dso-date-picker-legacy.js.map +1 -1
- package/dist/components/dso-date-picker.js +1 -1
- package/dist/components/dso-date-picker.js.map +1 -1
- package/dist/components/dso-document-card.js +1 -1
- package/dist/components/dso-document-card.js.map +1 -1
- package/dist/components/dso-header.js +1 -1
- package/dist/components/dso-header.js.map +1 -1
- package/dist/components/dso-highlight-box.js +1 -1
- package/dist/components/dso-highlight-box.js.map +1 -1
- package/dist/components/dso-input-range.js +1 -1
- package/dist/components/dso-input-range.js.map +1 -1
- package/dist/components/dso-legend-item.js +14 -15
- package/dist/components/dso-legend-item.js.map +1 -1
- package/dist/components/dso-list-button.js +2 -2
- package/dist/components/dso-list-button.js.map +1 -1
- package/dist/components/dso-logo.js +1 -1
- package/dist/components/dso-map-base-layers.js +2 -2
- package/dist/components/dso-map-base-layers.js.map +1 -1
- package/dist/components/dso-map-controls.js +2 -2
- package/dist/components/dso-map-controls.js.map +1 -1
- package/dist/components/dso-map-overlays.js +2 -2
- package/dist/components/dso-map-overlays.js.map +1 -1
- package/dist/components/dso-mark-bar.js +2 -2
- package/dist/components/dso-mark-bar.js.map +1 -1
- package/dist/components/dso-modal.js +2 -2
- package/dist/components/dso-modal.js.map +1 -1
- package/dist/components/dso-onboarding-tip.js +2 -2
- package/dist/components/dso-onboarding-tip.js.map +1 -1
- package/dist/components/dso-pagination.js +1 -1
- package/dist/components/dso-pagination.js.map +1 -1
- package/dist/components/dso-plekinfo-card.js +2 -2
- package/dist/components/dso-plekinfo-card.js.map +1 -1
- package/dist/components/dso-progress-bar.js +2 -2
- package/dist/components/dso-progress-bar.js.map +1 -1
- package/dist/components/dso-project-item.js +2 -2
- package/dist/components/dso-project-item.js.map +1 -1
- package/dist/components/dso-skiplink.js +2 -2
- package/dist/components/dso-skiplink.js.map +1 -1
- package/dist/components/dso-survey-rating.js +3 -3
- package/dist/components/dso-survey-rating.js.map +1 -1
- package/dist/components/dso-tab.js +1 -1
- package/dist/components/dso-tab.js.map +1 -1
- package/dist/components/dso-tabs.js +2 -2
- package/dist/components/dso-tabs.js.map +1 -1
- package/dist/components/dso-tree-view.js +2 -2
- package/dist/components/dso-tree-view.js.map +1 -1
- package/dist/components/dso-viewer-grid.js +2 -2
- package/dist/components/dso-viewer-grid.js.map +1 -1
- package/dist/components/expandable.js +1 -1
- package/dist/components/expandable.js.map +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/icon.js.map +1 -1
- package/dist/components/image-overlay.js +1 -1
- package/dist/components/image-overlay.js.map +1 -1
- package/dist/components/info-button.js +1 -1
- package/dist/components/info-button.js.map +1 -1
- package/dist/components/info.js +1 -1
- package/dist/components/info.js.map +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/label.js.map +1 -1
- package/dist/components/ozon-content.js +2 -2
- package/dist/components/ozon-content.js.map +1 -1
- package/dist/components/panel.js +1 -1
- package/dist/components/panel.js.map +1 -1
- package/dist/components/progress-indicator.js +2 -2
- package/dist/components/progress-indicator.js.map +1 -1
- package/dist/components/renvooi.js +1 -1
- package/dist/components/renvooi.js.map +1 -1
- package/dist/components/responsive-element.js +1 -1
- package/dist/components/scrollable.js +3 -3
- package/dist/components/scrollable.js.map +1 -1
- package/dist/components/selectable.js +2 -2
- package/dist/components/selectable.js.map +1 -1
- package/dist/components/slide-toggle.js +2 -2
- package/dist/components/slide-toggle.js.map +1 -1
- package/dist/components/table.js +2 -2
- package/dist/components/table.js.map +1 -1
- package/dist/components/toggletip.js +2 -2
- package/dist/components/toggletip.js.map +1 -1
- package/dist/components/tooltip.js +2 -2
- package/dist/components/tooltip.js.map +1 -1
- package/dist/dso-toolkit/dso-accordion-section.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-accordion.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-action-list-item.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-action-list.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-advanced-select.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-activiteit.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-gebiedsaanwijzing.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-kaart.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-locatie.dso-document-component.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-omgevingsnormwaarde.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-attachments-counter.dso-expandable.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-banner.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-card.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-contact-information.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-date-picker-legacy.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-date-picker.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-document-card.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-highlight-box.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-icon.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-info-button.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-info.dso-selectable.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-input-range.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-label.dso-renvooi.dso-slide-toggle.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-legend-item.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-list-button.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-map-base-layers.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-map-controls.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-map-overlays.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-mark-bar.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-modal.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-onboarding-tip.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-pagination.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-plekinfo-card.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-progress-bar.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-progress-indicator.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-project-item.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-scrollable.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-skiplink.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-survey-rating.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-tab.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-tabs.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-toggletip.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/dso-tooltip.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-tree-view.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-viewer-grid.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/p-088d0493.entry.js +2 -0
- package/dist/dso-toolkit/{p-09ec6ce5.entry.js.map → p-088d0493.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-090ab6fc.entry.js +2 -0
- package/dist/dso-toolkit/{p-b615471f.entry.js.map → p-090ab6fc.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-0c2176c5.entry.js +2 -0
- package/dist/dso-toolkit/{p-469ca170.entry.js.map → p-0c2176c5.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-0ce58811.entry.js +2 -0
- package/dist/dso-toolkit/{p-f1999525.entry.js.map → p-0ce58811.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-10901139.entry.js +2 -0
- package/dist/dso-toolkit/{p-4160d2e0.entry.js.map → p-10901139.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-11161e83.entry.js +2 -0
- package/dist/dso-toolkit/{p-0feea762.entry.js.map → p-11161e83.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-11cd688b.entry.js +2 -0
- package/dist/dso-toolkit/{p-2b1c6af2.entry.js.map → p-11cd688b.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-133c1677.entry.js +2 -0
- package/dist/dso-toolkit/{p-19af64f1.entry.js.map → p-133c1677.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-21542d86.entry.js +2 -0
- package/dist/dso-toolkit/{p-94cea134.entry.js.map → p-21542d86.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-2c460675.entry.js +2 -0
- package/dist/dso-toolkit/{p-8f4a2401.entry.js.map → p-2c460675.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-2ff601f9.entry.js +2 -0
- package/dist/dso-toolkit/{p-a61470ad.entry.js.map → p-2ff601f9.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-356f8d94.entry.js +2 -0
- package/dist/dso-toolkit/{p-db6b2bb9.entry.js.map → p-356f8d94.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-3d414fae.entry.js +2 -0
- package/dist/dso-toolkit/{p-8897189c.entry.js.map → p-3d414fae.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-3e736489.entry.js +2 -0
- package/dist/dso-toolkit/p-3e736489.entry.js.map +1 -0
- package/dist/dso-toolkit/p-4ac06008.entry.js +2 -0
- package/dist/dso-toolkit/{p-03fb6237.entry.js.map → p-4ac06008.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-4d032ac3.entry.js +2 -0
- package/dist/dso-toolkit/{p-9abdf5aa.entry.js.map → p-4d032ac3.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-517cbc20.entry.js +2 -0
- package/dist/dso-toolkit/{p-de3ed856.entry.js.map → p-517cbc20.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-53ca5932.entry.js +2 -0
- package/dist/dso-toolkit/{p-aa5dc824.entry.js.map → p-53ca5932.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-571f0f85.entry.js +2 -0
- package/dist/dso-toolkit/{p-322b7db4.entry.js.map → p-571f0f85.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-5b9803a2.entry.js +2 -0
- package/dist/dso-toolkit/{p-c4fe6ee2.entry.js.map → p-5b9803a2.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-5c8be619.entry.js +2 -0
- package/dist/dso-toolkit/{p-159be9e6.entry.js.map → p-5c8be619.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-6d3d29ac.entry.js +2 -0
- package/dist/dso-toolkit/{p-6c1feb1f.entry.js.map → p-6d3d29ac.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-74718de8.entry.js +2 -0
- package/dist/dso-toolkit/{p-d926863a.entry.js.map → p-74718de8.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-75091e9b.entry.js +2 -0
- package/dist/dso-toolkit/{p-f9b41ef6.entry.js.map → p-75091e9b.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-789aee43.entry.js +2 -0
- package/dist/dso-toolkit/{p-7a3c51ad.entry.js.map → p-789aee43.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-7e09098c.entry.js +2 -0
- package/dist/dso-toolkit/p-7e09098c.entry.js.map +1 -0
- package/dist/dso-toolkit/p-858970da.entry.js +2 -0
- package/dist/dso-toolkit/{p-90ead8a5.entry.js.map → p-858970da.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-8ec31264.entry.js +2 -0
- package/dist/dso-toolkit/{p-909118a3.entry.js.map → p-8ec31264.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-92f93d4d.entry.js +2 -0
- package/dist/dso-toolkit/{p-2510276b.entry.js.map → p-92f93d4d.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-95c85ef7.entry.js +2 -0
- package/dist/dso-toolkit/{p-e85e3e06.entry.js.map → p-95c85ef7.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-97320fda.entry.js +2 -0
- package/dist/dso-toolkit/{p-5c7331de.entry.js.map → p-97320fda.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-98772f24.entry.js +2 -0
- package/dist/dso-toolkit/{p-c3ed6804.entry.js.map → p-98772f24.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-99b4b85a.entry.js +2 -0
- package/dist/dso-toolkit/{p-0764520c.entry.js.map → p-99b4b85a.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-a10cea33.entry.js +2 -0
- package/dist/dso-toolkit/{p-dc33f3aa.entry.js.map → p-a10cea33.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-73f027ff.entry.js → p-afc5e401.entry.js} +2 -2
- package/dist/dso-toolkit/{p-73f027ff.entry.js.map → p-afc5e401.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-b9b0c72d.entry.js +2 -0
- package/dist/dso-toolkit/{p-400fede0.entry.js.map → p-b9b0c72d.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-3888525c.entry.js → p-bbcffc90.entry.js} +2 -2
- package/dist/dso-toolkit/{p-3888525c.entry.js.map → p-bbcffc90.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-bcfeeafb.entry.js +2 -0
- package/dist/dso-toolkit/{p-514665a1.entry.js.map → p-bcfeeafb.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-bfaa3608.entry.js +2 -0
- package/dist/dso-toolkit/{p-fa850439.entry.js.map → p-bfaa3608.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-c93fae9e.entry.js +2 -0
- package/dist/dso-toolkit/{p-15c901ff.entry.js.map → p-c93fae9e.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e04ebc7e.entry.js +2 -0
- package/dist/dso-toolkit/{p-1b3db27c.entry.js.map → p-e04ebc7e.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e0bc1853.entry.js +2 -0
- package/dist/dso-toolkit/{p-edda55f0.entry.js.map → p-e0bc1853.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-eafec507.entry.js → p-e3883983.entry.js} +2 -2
- package/dist/dso-toolkit/p-e7ba6656.entry.js +2 -0
- package/dist/dso-toolkit/{p-6f89da1c.entry.js.map → p-e7ba6656.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e9ea10ed.entry.js +2 -0
- package/dist/dso-toolkit/{p-2dc3dc9a.entry.js.map → p-e9ea10ed.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e9f5382c.entry.js +2 -0
- package/dist/dso-toolkit/{p-b6f5ca5e.entry.js.map → p-e9f5382c.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-f1f414b6.entry.js +2 -0
- package/dist/dso-toolkit/p-feae6843.entry.js +2 -0
- package/dist/dso-toolkit/{p-35e1d8a4.entry.js.map → p-feae6843.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-ffa6ca48.entry.js +2 -0
- package/dist/dso-toolkit/{p-9a30700a.entry.js.map → p-ffa6ca48.entry.js.map} +1 -1
- package/dist/esm/dso-accordion-section.entry.js +1 -1
- package/dist/esm/dso-accordion-section.entry.js.map +1 -1
- package/dist/esm/dso-accordion.entry.js +1 -1
- package/dist/esm/dso-accordion.entry.js.map +1 -1
- package/dist/esm/dso-action-list-item.entry.js +1 -1
- package/dist/esm/dso-action-list-item.entry.js.map +1 -1
- package/dist/esm/dso-action-list.entry.js +1 -1
- package/dist/esm/dso-action-list.entry.js.map +1 -1
- package/dist/esm/dso-advanced-select.entry.js +1 -1
- package/dist/esm/dso-advanced-select.entry.js.map +1 -1
- package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.js.map +1 -1
- package/dist/esm/dso-alert_6.entry.js +8 -8
- package/dist/esm/dso-alert_6.entry.js.map +1 -1
- package/dist/esm/dso-annotation-activiteit.entry.js +1 -1
- package/dist/esm/dso-annotation-activiteit.entry.js.map +1 -1
- package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +1 -1
- package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js.map +1 -1
- package/dist/esm/dso-annotation-kaart.entry.js +1 -1
- package/dist/esm/dso-annotation-kaart.entry.js.map +1 -1
- package/dist/esm/dso-annotation-locatie.dso-document-component.entry.js.map +1 -1
- package/dist/esm/dso-annotation-locatie_2.entry.js +2 -2
- package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
- package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +1 -1
- package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js.map +1 -1
- package/dist/esm/dso-attachments-counter.dso-expandable.entry.js.map +1 -1
- package/dist/esm/dso-attachments-counter_2.entry.js +2 -2
- package/dist/esm/dso-attachments-counter_2.entry.js.map +1 -1
- package/dist/esm/dso-banner.entry.js +1 -1
- package/dist/esm/dso-banner.entry.js.map +1 -1
- package/dist/esm/dso-card.entry.js +1 -1
- package/dist/esm/dso-card.entry.js.map +1 -1
- package/dist/esm/dso-contact-information.entry.js +1 -1
- package/dist/esm/dso-contact-information.entry.js.map +1 -1
- package/dist/esm/dso-date-picker-legacy.entry.js +1 -1
- package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
- package/dist/esm/dso-date-picker.entry.js +1 -1
- package/dist/esm/dso-date-picker.entry.js.map +1 -1
- package/dist/esm/dso-document-card.entry.js +1 -1
- package/dist/esm/dso-document-card.entry.js.map +1 -1
- package/dist/esm/dso-header.entry.js +1 -1
- package/dist/esm/dso-header.entry.js.map +1 -1
- package/dist/esm/dso-highlight-box.entry.js +1 -1
- package/dist/esm/dso-highlight-box.entry.js.map +1 -1
- package/dist/esm/dso-icon.entry.js +1 -1
- package/dist/esm/dso-icon.entry.js.map +1 -1
- package/dist/esm/dso-info-button.entry.js +1 -1
- package/dist/esm/dso-info-button.entry.js.map +1 -1
- package/dist/esm/dso-info.dso-selectable.entry.js.map +1 -1
- package/dist/esm/dso-info_2.entry.js +3 -3
- package/dist/esm/dso-info_2.entry.js.map +1 -1
- package/dist/esm/dso-input-range.entry.js +1 -1
- package/dist/esm/dso-input-range.entry.js.map +1 -1
- package/dist/esm/dso-label.dso-renvooi.dso-slide-toggle.entry.js.map +1 -1
- package/dist/esm/dso-label_3.entry.js +4 -4
- package/dist/esm/dso-label_3.entry.js.map +1 -1
- package/dist/esm/dso-legend-item.entry.js +3 -10
- package/dist/esm/dso-legend-item.entry.js.map +1 -1
- package/dist/esm/dso-list-button.entry.js +2 -2
- package/dist/esm/dso-list-button.entry.js.map +1 -1
- package/dist/esm/dso-logo.entry.js +1 -1
- package/dist/esm/dso-map-base-layers.entry.js +2 -2
- package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
- package/dist/esm/dso-map-controls.entry.js +2 -2
- package/dist/esm/dso-map-controls.entry.js.map +1 -1
- package/dist/esm/dso-map-overlays.entry.js +2 -2
- package/dist/esm/dso-map-overlays.entry.js.map +1 -1
- package/dist/esm/dso-mark-bar.entry.js +2 -2
- package/dist/esm/dso-mark-bar.entry.js.map +1 -1
- package/dist/esm/dso-modal.entry.js +2 -2
- package/dist/esm/dso-modal.entry.js.map +1 -1
- package/dist/esm/dso-onboarding-tip.entry.js +2 -2
- package/dist/esm/dso-onboarding-tip.entry.js.map +1 -1
- package/dist/esm/dso-pagination.entry.js +1 -1
- package/dist/esm/dso-pagination.entry.js.map +1 -1
- package/dist/esm/dso-plekinfo-card.entry.js +2 -2
- package/dist/esm/dso-plekinfo-card.entry.js.map +1 -1
- package/dist/esm/dso-progress-bar.entry.js +2 -2
- package/dist/esm/dso-progress-bar.entry.js.map +1 -1
- package/dist/esm/dso-progress-indicator.entry.js +2 -2
- package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
- package/dist/esm/dso-project-item.entry.js +2 -2
- package/dist/esm/dso-project-item.entry.js.map +1 -1
- package/dist/esm/dso-responsive-element.entry.js +1 -1
- package/dist/esm/dso-scrollable.entry.js +3 -3
- package/dist/esm/dso-scrollable.entry.js.map +1 -1
- package/dist/esm/dso-skiplink.entry.js +2 -2
- package/dist/esm/dso-skiplink.entry.js.map +1 -1
- package/dist/esm/dso-survey-rating.entry.js +3 -3
- package/dist/esm/dso-survey-rating.entry.js.map +1 -1
- package/dist/esm/dso-tab.entry.js +1 -1
- package/dist/esm/dso-tab.entry.js.map +1 -1
- package/dist/esm/dso-tabs.entry.js +2 -2
- package/dist/esm/dso-tabs.entry.js.map +1 -1
- package/dist/esm/dso-toggletip.entry.js +2 -2
- package/dist/esm/dso-toggletip.entry.js.map +1 -1
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-tooltip.entry.js +2 -2
- package/dist/esm/dso-tooltip.entry.js.map +1 -1
- package/dist/esm/dso-tree-view.entry.js +2 -2
- package/dist/esm/dso-tree-view.entry.js.map +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +2 -2
- package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/legend-item/legend-item.d.ts +7 -8
- package/dist/types/components/legend-item/legend-item.interfaces.d.ts +10 -2
- package/dist/types/components.d.ts +15 -15
- package/package.json +3 -3
- package/dist/bundle/p-BJv2m9ZZ.js +0 -253
- package/dist/bundle/p-BtcZ9oZ6.js +0 -115
- package/dist/bundle/p-C1tscMvU.js +0 -43
- package/dist/bundle/p-CkBk3gL8.js +0 -80
- package/dist/bundle/p-Cng7insW.js +0 -145
- package/dist/bundle/p-CvGnEQcm.js.map +0 -1
- package/dist/bundle/p-CwXjPr2h.js +0 -36
- package/dist/bundle/p-D9Yjz_Sm.js +0 -125
- package/dist/bundle/p-DvqO1i1s.js +0 -1162
- package/dist/bundle/p-xNnEBBZG.js +0 -63
- package/dist/dso-toolkit/p-03fb6237.entry.js +0 -2
- package/dist/dso-toolkit/p-0764520c.entry.js +0 -2
- package/dist/dso-toolkit/p-09ec6ce5.entry.js +0 -2
- package/dist/dso-toolkit/p-0feea762.entry.js +0 -2
- package/dist/dso-toolkit/p-159be9e6.entry.js +0 -2
- package/dist/dso-toolkit/p-15c901ff.entry.js +0 -2
- package/dist/dso-toolkit/p-19af64f1.entry.js +0 -2
- package/dist/dso-toolkit/p-1b3db27c.entry.js +0 -2
- package/dist/dso-toolkit/p-2510276b.entry.js +0 -2
- package/dist/dso-toolkit/p-2b1c6af2.entry.js +0 -2
- package/dist/dso-toolkit/p-2dc3dc9a.entry.js +0 -2
- package/dist/dso-toolkit/p-322b7db4.entry.js +0 -2
- package/dist/dso-toolkit/p-35e1d8a4.entry.js +0 -2
- package/dist/dso-toolkit/p-3c74fd03.entry.js +0 -2
- package/dist/dso-toolkit/p-3c74fd03.entry.js.map +0 -1
- package/dist/dso-toolkit/p-400fede0.entry.js +0 -2
- package/dist/dso-toolkit/p-4160d2e0.entry.js +0 -2
- package/dist/dso-toolkit/p-469ca170.entry.js +0 -2
- package/dist/dso-toolkit/p-514665a1.entry.js +0 -2
- package/dist/dso-toolkit/p-5c7331de.entry.js +0 -2
- package/dist/dso-toolkit/p-6c1feb1f.entry.js +0 -2
- package/dist/dso-toolkit/p-6f89da1c.entry.js +0 -2
- package/dist/dso-toolkit/p-7a3c51ad.entry.js +0 -2
- package/dist/dso-toolkit/p-8897189c.entry.js +0 -2
- package/dist/dso-toolkit/p-8f4a2401.entry.js +0 -2
- package/dist/dso-toolkit/p-909118a3.entry.js +0 -2
- package/dist/dso-toolkit/p-90ead8a5.entry.js +0 -2
- package/dist/dso-toolkit/p-94cea134.entry.js +0 -2
- package/dist/dso-toolkit/p-9a30700a.entry.js +0 -2
- package/dist/dso-toolkit/p-9abdf5aa.entry.js +0 -2
- package/dist/dso-toolkit/p-a61470ad.entry.js +0 -2
- package/dist/dso-toolkit/p-aa5dc824.entry.js +0 -2
- package/dist/dso-toolkit/p-b615471f.entry.js +0 -2
- package/dist/dso-toolkit/p-b6f5ca5e.entry.js +0 -2
- package/dist/dso-toolkit/p-bd717c9b.entry.js +0 -2
- package/dist/dso-toolkit/p-c3ed6804.entry.js +0 -2
- package/dist/dso-toolkit/p-c4fe6ee2.entry.js +0 -2
- package/dist/dso-toolkit/p-d4db08c7.entry.js +0 -2
- package/dist/dso-toolkit/p-d4db08c7.entry.js.map +0 -1
- package/dist/dso-toolkit/p-d926863a.entry.js +0 -2
- package/dist/dso-toolkit/p-db6b2bb9.entry.js +0 -2
- package/dist/dso-toolkit/p-dc33f3aa.entry.js +0 -2
- package/dist/dso-toolkit/p-de3ed856.entry.js +0 -2
- package/dist/dso-toolkit/p-e85e3e06.entry.js +0 -2
- package/dist/dso-toolkit/p-edda55f0.entry.js +0 -2
- package/dist/dso-toolkit/p-f1999525.entry.js +0 -2
- package/dist/dso-toolkit/p-f9b41ef6.entry.js +0 -2
- package/dist/dso-toolkit/p-fa850439.entry.js +0 -2
- /package/dist/dso-toolkit/{p-eafec507.entry.js.map → p-e3883983.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-bd717c9b.entry.js.map → p-f1f414b6.entry.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as i,c as e,h as o}from"./p-C-b4jsbt.js";import{i as t}from"./p-Hgv-pDpy.js";const s='@charset "UTF-8";:host{position:fixed;inset-block-start:0;inset-inline-start:0;z-index:2;display:block;inline-size:100vw}*,*::after,*::before{box-sizing:border-box}a{position:absolute;inset-inline-start:50%;inset-block-start:16px;display:inline-block;inline-size:1px;block-size:1px;overflow:hidden;background-color:#fff;border-radius:2px;clip:rect(1px, 1px, 1px, 1px);color:var(--link-color);white-space:nowrap;text-decoration:none;transform:translate(-50%);box-shadow:0 4px 8px 0 rgba(0, 0, 0, 0.2)}a:focus-visible{inline-size:auto;block-size:auto;padding:8px;clip:auto;white-space:normal;outline-offset:2px}';const n=class{constructor(o){i(this,o);this.dsoSkiplinkClick=e(this,"dsoSkiplinkClick",7)}clickEventHandler(i){if(!(i.target instanceof HTMLElement)||!this.to){return}return this.dsoSkiplinkClick.emit({originalEvent:i,isModifiedEvent:t(i)})}render(){return o("a",{key:"9d91efb96653b3344f79386814633d08520d6ab0",href:`#${this.to}`,onClick:i=>this.clickEventHandler(i)},this.label,o("dso-icon",{key:"3d79ed32ff98d7e1e7eea58307d03892756dbbf1",icon:"chevron-right"}))}};n.style=s;export{n as dso_skiplink};
|
|
2
|
+
//# sourceMappingURL=p-92f93d4d.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["skiplinkCss","Skiplink","clickEventHandler","e","target","HTMLElement","this","to","dsoSkiplinkClick","emit","originalEvent","isModifiedEvent","render","h","key","href","onClick","label","icon"],"sources":["src/components/skiplink/skiplink.scss?tag=dso-skiplink&encapsulation=shadow","src/components/skiplink/skiplink.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n:host {\r\n position: fixed;\r\n inset-block-start: 0;\r\n inset-inline-start: 0;\r\n z-index: 2;\r\n\r\n display: block;\r\n\r\n inline-size: 100vw;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\na {\r\n position: absolute;\r\n inset-inline-start: 50%;\r\n inset-block-start: units.$u2;\r\n\r\n display: inline-block;\r\n\r\n inline-size: 1px;\r\n block-size: 1px;\r\n\r\n overflow: hidden;\r\n\r\n background-color: colors.$wit;\r\n\r\n border-radius: units.$focus-border-radius;\r\n\r\n clip: rect(1px, 1px, 1px, 1px);\r\n\r\n color: var(--link-color);\r\n // stylelint-disable-next-line declaration-property-value-disallowed-list -- prevent wrapping\r\n white-space: nowrap;\r\n text-decoration: none;\r\n\r\n transform: translate(-50%);\r\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);\r\n\r\n &:focus-visible {\r\n inline-size: auto;\r\n block-size: auto;\r\n\r\n padding: units.$u1;\r\n\r\n clip: auto;\r\n\r\n white-space: normal;\r\n\r\n outline-offset: 2px;\r\n }\r\n}\r\n","import { Component, ComponentInterface, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\n\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { SkiplinkClickEvent } from \"./skiplink.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-skiplink\",\r\n styleUrl: \"skiplink.scss\",\r\n shadow: true,\r\n})\r\nexport class Skiplink implements ComponentInterface {\r\n /**\r\n * The location to which the skiplink links.\r\n */\r\n @Prop({ reflect: true })\r\n to!: string | undefined;\r\n\r\n /**\r\n * link text\r\n */\r\n @Prop({ reflect: true })\r\n label!: string | undefined;\r\n\r\n /**\r\n * Emitted when the Skiplink is clicked.\r\n */\r\n @Event()\r\n dsoSkiplinkClick!: EventEmitter<SkiplinkClickEvent>;\r\n\r\n private clickEventHandler(e: MouseEvent) {\r\n if (!(e.target instanceof HTMLElement) || !this.to) {\r\n return;\r\n }\r\n\r\n return this.dsoSkiplinkClick.emit({ originalEvent: e, isModifiedEvent: isModifiedEvent(e) });\r\n }\r\n\r\n render() {\r\n return (\r\n <a href={`#${this.to}`} onClick={(e) => this.clickEventHandler(e)}>\r\n {this.label}\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n );\r\n }\r\n}\r\n"],"mappings":"sFAAA,MAAMA,EAAc,
|
|
1
|
+
{"version":3,"names":["skiplinkCss","Skiplink","clickEventHandler","e","target","HTMLElement","this","to","dsoSkiplinkClick","emit","originalEvent","isModifiedEvent","render","h","key","href","onClick","label","icon"],"sources":["src/components/skiplink/skiplink.scss?tag=dso-skiplink&encapsulation=shadow","src/components/skiplink/skiplink.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n:host {\r\n position: fixed;\r\n inset-block-start: 0;\r\n inset-inline-start: 0;\r\n z-index: 2;\r\n\r\n display: block;\r\n\r\n inline-size: 100vw;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\na {\r\n position: absolute;\r\n inset-inline-start: 50%;\r\n inset-block-start: units.$u2;\r\n\r\n display: inline-block;\r\n\r\n inline-size: 1px;\r\n block-size: 1px;\r\n\r\n overflow: hidden;\r\n\r\n background-color: colors.$wit;\r\n\r\n border-radius: units.$focus-border-radius;\r\n\r\n clip: rect(1px, 1px, 1px, 1px);\r\n\r\n color: var(--link-color);\r\n // stylelint-disable-next-line declaration-property-value-disallowed-list -- prevent wrapping\r\n white-space: nowrap;\r\n text-decoration: none;\r\n\r\n transform: translate(-50%);\r\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);\r\n\r\n &:focus-visible {\r\n inline-size: auto;\r\n block-size: auto;\r\n\r\n padding: units.$u1;\r\n\r\n clip: auto;\r\n\r\n white-space: normal;\r\n\r\n outline-offset: 2px;\r\n }\r\n}\r\n","import { Component, ComponentInterface, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\n\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { SkiplinkClickEvent } from \"./skiplink.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-skiplink\",\r\n styleUrl: \"skiplink.scss\",\r\n shadow: true,\r\n})\r\nexport class Skiplink implements ComponentInterface {\r\n /**\r\n * The location to which the skiplink links.\r\n */\r\n @Prop({ reflect: true })\r\n to!: string | undefined;\r\n\r\n /**\r\n * link text\r\n */\r\n @Prop({ reflect: true })\r\n label!: string | undefined;\r\n\r\n /**\r\n * Emitted when the Skiplink is clicked.\r\n */\r\n @Event()\r\n dsoSkiplinkClick!: EventEmitter<SkiplinkClickEvent>;\r\n\r\n private clickEventHandler(e: MouseEvent) {\r\n if (!(e.target instanceof HTMLElement) || !this.to) {\r\n return;\r\n }\r\n\r\n return this.dsoSkiplinkClick.emit({ originalEvent: e, isModifiedEvent: isModifiedEvent(e) });\r\n }\r\n\r\n render() {\r\n return (\r\n <a href={`#${this.to}`} onClick={(e) => this.clickEventHandler(e)}>\r\n {this.label}\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n );\r\n }\r\n}\r\n"],"mappings":"sFAAA,MAAMA,EAAc,omB,MCWPC,EAAQ,M,4EAmBX,iBAAAC,CAAkBC,GACxB,KAAMA,EAAEC,kBAAkBC,eAAiBC,KAAKC,GAAI,CAClD,M,CAGF,OAAOD,KAAKE,iBAAiBC,KAAK,CAAEC,cAAeP,EAAGQ,gBAAiBA,EAAgBR,I,CAGzF,MAAAS,GACE,OACEC,EAAA,KAAAC,IAAA,2CAAGC,KAAM,IAAIT,KAAKC,KAAMS,QAAUb,GAAMG,KAAKJ,kBAAkBC,IAC5DG,KAAKW,MACNJ,EAAA,YAAAC,IAAA,2CAAUI,KAAK,kB","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as o,c as i,h as e,F as t,g as n}from"./p-C-b4jsbt.js";import{c as r}from"./p-ChV9xqsO.js";import{c as a}from"./p-BocpUT46.js";import{t as s}from"./p-Pk8qng7t.js";import{i as l}from"./p-Hgv-pDpy.js";const c='@charset "UTF-8";: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{background-color:#ccc;border-color:#ccc;color:#191919}.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{background-color:#6ca4d9;border-color:#6ca4d9;color:#191919}.group-primary .option-label::before{background-color:#275937;border-color:#275937;color:#fff}.group-success .option-label::before{background-color:#39870c;border-color:#39870c;color:#fff}.group-warning .option-label::before{background-color:#dcd400;border-color:#dcd400;color:#191919}.group-error .option-label::before{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.group-attention .option-label::before{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}.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 p=class{constructor(e){o(this,e);this.dsoChange=i(this,"dsoChange",3);this.dsoRedirect=i(this,"dsoRedirect",3);this.options=[];this.open=false;this.toggleOpen=()=>{this.open=!this.open};this.handleOptionClick=(o,i)=>{this.dsoChange.emit({originalEvent:o,option:i});this.open=false};this.handleRedirectClick=(o,i)=>{this.dsoRedirect.emit({originalEvent:o,isModifiedEvent:l(o),redirect:i});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=a(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 i;const e=this.host.isConnected?s(this.host,{getShadowRoot:true}):[];const t=e.findIndex((o=>{var i;return o===((i=this.host.shadowRoot)===null||i===void 0?void 0:i.activeElement)}));let n=t+o;if(n>=e.length){n=0}else if(n<0){n=e.length-1}(i=e[n])===null||i===void 0?void 0:i.focus()}render(){var o,i;return e(t,null,e("button",{key:"57d5cbcc817c119c470a08d43b92832bed397a2a","aria-expanded":this.open.toString(),class:r(["active-option",{open:this.open}]),type:"button",onClick:this.toggleOpen,ref:o=>this.toggleButtonElementRef=o},e(f,{key:"b91590eabccc667dcaf3e331522dfe90c8b137e6",active:this.active,options:this.options}),e("span",{key:"ef0cff05fac02406b2e4df6b762a917044554a16",class:"active-option-label"},(i=(o=this.active)===null||o===void 0?void 0:o.label)!==null&&i!==void 0?i:"Selecteer een optie"),e("span",{key:"61b2dda775ac610cc3c36e2e8795e58efaafb3fd",class:"active-option-aside"},this.options.some((o=>"summaryCounter"in o&&(o===null||o===void 0?void 0:o.summaryCounter)))&&e("span",{key:"e264d64ad86adf4a8daa5fe3be4d20815f4468c3",class:"badges"},this.options.filter((o=>"options"in o&&"summaryCounter"in o&&!!(o===null||o===void 0?void 0:o.summaryCounter))).map((o=>{var i;return e("dso-badge",{status:(i=o.variant)!==null&&i!==void 0?i:"outline"},o.options.length)}))),e("dso-icon",{key:"cb475802c2552024418f1911d442ac05b9cf4791",icon:"caret-down"}))),this.open&&e("div",{key:"19b91e26c714cdcd810f7be9cde41da1e1b8598f",class:"groups-container"},e("ul",{key:"ca00d61058824d3f3eb29f15b77d52ecf9d7e605",class:"groups"},this.options.map((o=>"options"in o&&e("li",{class:r(["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(d,{option:o,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick}))))),o.redirect&&e(b,{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(b,{redirect:o.redirect,callback:this.handleRedirectClick}))||e("li",null,e(d,{option:o,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick})))))))}get host(){return n(this)}};const d=({option:o,active:i,activeHint:t,callback:n})=>e("button",{class:r(["option",{"option-active":i===o}]),type:"button",onClick:i=>n(i,o)},e("span",{class:"option-label"},o.label),!!t&&i===o&&e("span",{class:"option-hint"},"(",t,")"));const b=({redirect:o,callback:i})=>e("a",{class:"group-link",href:o.href,onClick:e=>i(e,o)},o.label,e("dso-icon",{icon:"chevron-right"}));const f=({active:o,options:i})=>{const t=i.find((i=>"options"in i&&!!i.options.find((i=>i===o))&&!!i.activeLabel));return t&&e("dso-label",{compact:true,status:t.variant},t.activeLabel)};p.style=c;export{p as dso_advanced_select};
|
|
2
|
+
//# sourceMappingURL=p-95c85ef7.entry.js.map
|
|
@@ -1 +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 @include set-colors.apply(advanced-select.$default-variant-color, $icons: false, $links: false);\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, $icons: false, $links: false);\r\n}\r\n\r\n.group-primary .option-label::before {\r\n @include set-colors.apply(advanced-select.$primary-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-success .option-label::before {\r\n @include set-colors.apply(advanced-select.$success-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-warning .option-label::before {\r\n @include set-colors.apply(advanced-select.$warning-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-error .option-label::before {\r\n @include set-colors.apply(advanced-select.$error-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-attention .option-label::before {\r\n @include set-colors.apply(advanced-select.$attention-variant-color, $icons: false, $links: false);\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
|
+
{"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 @include set-colors.apply(advanced-select.$default-variant-color, $icons: false, $links: false);\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, $icons: false, $links: false);\r\n}\r\n\r\n.group-primary .option-label::before {\r\n @include set-colors.apply(advanced-select.$primary-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-success .option-label::before {\r\n @include set-colors.apply(advanced-select.$success-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-warning .option-label::before {\r\n @include set-colors.apply(advanced-select.$warning-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-error .option-label::before {\r\n @include set-colors.apply(advanced-select.$error-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-attention .option-label::before {\r\n @include set-colors.apply(advanced-select.$attention-variant-color, $icons: false, $links: false);\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":"gNAAA,MAAMA,EAAoB,y7F,MCiCbC,EAAc,MAL3B,WAAAC,CAAAC,G,wFAeEC,KAAOC,QAAyC,GAkBhDD,KAAIE,KAAY,MAmCRF,KAAUG,WAAG,KACnBH,KAAKE,MAAQF,KAAKE,IAAI,EAoChBF,KAAAI,kBAAoB,CAACC,EAAmBC,KAC9CN,KAAKO,UAAUC,KAAK,CAAEC,cAAeJ,EAAOC,WAC5CN,KAAKE,KAAO,KAAK,EAGXF,KAAAU,oBAAsB,CAACL,EAAmBM,KAChDX,KAAKY,YAAYJ,KAAK,CAAEC,cAAeJ,EAAOQ,gBAAiBA,EAAgBR,GAAQM,aACvFX,KAAKE,KAAO,KAAK,CAyFpB,CAvJC,eAAAY,CAAgBT,GACd,GAAIL,KAAKE,MAAQG,EAAMU,MAAQ,UAAW,CACxCV,EAAMW,iBACNhB,KAAKiB,WAAU,E,MACV,GAAIjB,KAAKE,MAAQG,EAAMU,MAAQ,YAAa,CACjDV,EAAMW,iBACNhB,KAAKiB,UAAU,E,EAInB,kBAAAC,GACE,GAAIlB,KAAKE,OAASF,KAAKmB,KAAM,CAC3BnB,KAAKoB,Y,MACA,IAAKpB,KAAKE,MAAQF,KAAKmB,KAAM,CAClCnB,KAAKqB,Y,EAQD,UAAAD,GACNpB,KAAKmB,KAAOG,EAAgBtB,KAAKuB,KAAM,CACrCC,wBAAyB,KACzBC,kBAAmB,KACnBC,eAAgB1B,KAAK2B,uBACrBC,gBAAiB,CACfC,cAAe,MAEjBC,aAAc,KACZ9B,KAAKE,KAAO,KAAK,IAElB6B,U,CAGG,UAAAV,G,OACNW,EAAAhC,KAAKmB,QAAM,MAAAa,SAAA,SAAAA,EAAAC,oBACJjC,KAAKmB,I,CAGN,SAAAF,CAAUiB,G,MAChB,MAAMC,EAAWnC,KAAKuB,KAAKa,YAAcC,EAASrC,KAAKuB,KAAM,CAAEM,cAAe,OAAU,GACxF,MAAMS,EAAeH,EAASI,WAAWC,IAAK,IAAAR,EAAC,OAAAQ,MAAMR,EAAAhC,KAAKuB,KAAKkB,cAAY,MAAAT,SAAA,SAAAA,EAAAU,cAAa,IAExF,IAAIC,EAAYL,EAAeJ,EAC/B,GAAIS,GAAaR,EAASS,OAAQ,CAChCD,EAAY,C,MACP,GAAIA,EAAY,EAAG,CACxBA,EAAYR,EAASS,OAAS,C,EAGhCZ,EAAAG,EAASQ,MAAY,MAAAX,SAAA,SAAAA,EAAAa,O,CAavB,MAAAC,G,QACE,OACEC,EAAAC,EAAA,KACED,EACiB,UAAAhC,IAAA,2DAAAf,KAAKE,KAAK+C,WACzBC,MAAOC,EAAK,CAAC,gBAAiB,CAAEjD,KAAMF,KAAKE,QAC3CkD,KAAK,SACLC,QAASrD,KAAKG,WACdmD,IAAMC,GAAavD,KAAK2B,uBAAyB4B,GAEjDR,EAACS,EAAgB,CAAAzC,IAAA,2CAAC0C,OAAQzD,KAAKyD,OAAQxD,QAASD,KAAKC,UACrD8C,EAAA,QAAAhC,IAAA,2CAAMmC,MAAM,wBAAuBQ,GAAA1B,EAAAhC,KAAKyD,UAAM,MAAAzB,SAAA,SAAAA,EAAE2B,SAAK,MAAAD,SAAA,EAAAA,EAAI,uBACzDX,EAAM,QAAAhC,IAAA,2CAAAmC,MAAM,uBACTlD,KAAKC,QAAQ2D,MACXC,GAAkB,mBAAoBA,IAAiBA,IAAa,MAAbA,SAAa,SAAbA,EAAeC,mBAEvEf,EAAM,QAAAhC,IAAA,2CAAAmC,MAAM,UACTlD,KAAKC,QACH8D,QACEzD,GACC,YAAaA,GAAU,mBAAoBA,MAAYA,IAAM,MAANA,SAAM,SAANA,EAAQwD,kBAElEE,KAAKC,I,MAAU,OACdlB,EAAW,aAAAmB,QAAQlC,EAAAiC,EAAME,WAAO,MAAAnC,SAAA,EAAAA,EAAI,WAAYiC,EAAMhE,QAAQ2C,OAAmB,KAIzFG,EAAA,YAAAhC,IAAA,2CAAUqD,KAAK,iBAGlBpE,KAAKE,MACJ6C,EAAK,OAAAhC,IAAA,2CAAAmC,MAAM,oBACTH,EAAI,MAAAhC,IAAA,2CAAAmC,MAAM,UACPlD,KAAKC,QAAQ+D,KACXH,GACE,YAAaA,GACZd,EAAA,MAAIG,MAAOC,EAAK,CAAC,QAAS,CAAE,CAAC,SAASU,EAAcM,aAAcN,EAAcM,YAC9EpB,EAAA,KAAGG,MAAM,eAAeW,EAAcF,OACtCZ,EAAA,MAAIG,MAAM,WACPW,EAAc5D,QAAQ+D,KAAK1D,GAC1ByC,EAAA,UACEA,EAACsB,EACC,CAAA/D,OAAQA,EACRmD,OAAQzD,KAAKyD,OACba,WAAYtE,KAAKsE,WACjBC,SAAUvE,KAAKI,wBAKtByD,EAAclD,UACboC,EAACyB,EAAc,CACb7D,SAAUkD,EAAclD,SACxB4D,SAAUvE,KAAKU,wBAKtB,gBAAiBmD,GAChBd,EAAI,MAAAG,MAAM,SACRH,EAAA,KAAGG,MAAM,eAAeW,EAAcF,OACtCZ,EAAA,KAAGG,MAAM,eAAeW,EAAcY,aACrCZ,EAAclD,UACboC,EAACyB,EACC,CAAA7D,SAAUkD,EAAclD,SACxB4D,SAAUvE,KAAKU,wBAKrBqC,EAAA,UACEA,EAACsB,EAAY,CACX/D,OAAQuD,EACRJ,OAAQzD,KAAKyD,OACba,WAAYtE,KAAKsE,WACjBC,SAAUvE,KAAKI,yB,6BAoBvC,MAAMiE,EAAuD,EAAG/D,SAAQmD,SAAQa,aAAYC,cAC1FxB,EACE,UAAAG,MAAOC,EAAK,CAAC,SAAU,CAAE,gBAAiBM,IAAWnD,KACrD8C,KAAK,SACLC,QAAUb,GAAM+B,EAAS/B,EAAGlC,IAE5ByC,EAAA,QAAMG,MAAM,gBAAgB5C,EAAOqD,SAChCW,GAAcb,IAAWnD,GAAUyC,EAAA,QAAMG,MAAM,eAAa,IAAGoB,EAAmB,MASzF,MAAME,EAA2D,EAAG7D,WAAU4D,cAC5ExB,EAAG,KAAAG,MAAM,aAAawB,KAAM/D,EAAS+D,KAAMrB,QAAUb,GAAM+B,EAAS/B,EAAG7B,IACpEA,EAASgD,MACVZ,EAAA,YAAUqB,KAAK,mBASnB,MAAMZ,EAA+D,EAAGC,SAAQxD,cAC9E,MAAMgE,EAAQhE,EAAQ0E,MACnBd,GACC,YAAaA,KACXA,EAAc5D,QAAQ0E,MAAMrE,GAAWA,IAAWmD,OAClDI,EAAce,cAGpB,OACEX,GACElB,EAAW,aAAA8B,QAAO,KAACX,OAAQD,EAAME,SAC9BF,EAAMW,YAEV,E","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as s,h as i,g as a}from"./p-C-b4jsbt.js";import{i as o}from"./p-B_kXuEcW.js";import{v as t}from"./p-BF0_OXTe.js";const l={en:{"dso-map-overlays":{title:"Maplayers"}},nl:{"dso-map-overlays":{title:"Kaartlagen"}}};const d='@charset "UTF-8";:host{display:block}*,*::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}fieldset{border:0;margin:0;min-inline-size:0;padding:0}fieldset .control-label{display:inline-block;font-weight:bold;margin-block-end:8px;max-inline-size:100%;text-align:start}p[slot=info]{margin:0}';const n=class{constructor(i){e(this,i);this.dsoToggleOverlay=s(this,"dsoToggleOverlay",7);this.selectableRefs={};this.group=t();this.text=o((()=>this.host),l)}overlayChangeHandler(e,s){const{checked:i}=s.detail;this.dsoToggleOverlay.emit({overlay:e,checked:i})}componentDidRender(){this.overlays.filter((e=>{var s,i;return!e.disabled&&((i=(s=this.previousOverlays)===null||s===void 0?void 0:s.find((s=>s.id===e.id)))===null||i===void 0?void 0:i.disabled)===true})).forEach((e=>{var s;(s=this.selectableRefs[e.id])===null||s===void 0?void 0:s.toggleInfo(false)}));this.previousOverlays=this.overlays}render(){for(const e in this.selectableRefs){delete this.selectableRefs[e]}return i("fieldset",{key:"912b3952f7f5e647cd41a29ddfd9c9944f0968ad",class:"form-group dso-checkboxes"},i("legend",{key:"4a00206699febc7cce55074a8ccc656ccadf88af",class:"sr-only"},"Kaartlagen"),i("div",{key:"0b26d2deddd8fc32b9ecad91b317ff478c31add0",class:"dso-label-container"},i("span",{key:"03b7e1541b138e5bd3547ba39e8c59612e906da9",class:"control-label","aria-hidden":"true"},this.text("title"))),i("div",{key:"70f4823f693900a9061395c486c2a0e75b6e8a78",class:"dso-field-container"},this.overlays.map((e=>i("dso-selectable",{key:e.id,type:"checkbox",value:e.name,checked:e.checked,disabled:e.disabled,name:this.group,ref:s=>s&&(this.selectableRefs[e.id]=s),onDsoChange:s=>this.overlayChangeHandler(e,s)},e.name,e.info?i("p",{slot:"info"},e.info):null)))))}get host(){return a(this)}};n.style=d;export{n as dso_map_overlays};
|
|
2
|
+
//# sourceMappingURL=p-97320fda.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["translations","en","title","nl","mapOverlaysCss","MapOverlays","constructor","hostRef","this","selectableRefs","group","uuidv4","text","i18n","host","overlayChangeHandler","overlay","e","checked","detail","dsoToggleOverlay","emit","componentDidRender","overlays","filter","o","_a","_b","disabled","previousOverlays","find","p","id","forEach","toggleInfo","render","ref","h","key","class","map","type","value","name","onDsoChange","info","slot"],"sources":["src/components/map-overlays/map-overlays.i18n.ts","src/components/map-overlays/map-overlays.scss?tag=dso-map-overlays&encapsulation=shadow","src/components/map-overlays/map-overlays.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-map-overlays\": {\r\n title: \"Maplayers\",\r\n },\r\n },\r\n nl: {\r\n \"dso-map-overlays\": {\r\n title: \"Kaartlagen\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: 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// Todo #1194\r\nfieldset {\r\n border: 0;\r\n margin: 0;\r\n min-inline-size: 0;\r\n padding: 0;\r\n\r\n .control-label {\r\n display: inline-block;\r\n font-weight: bold;\r\n margin-block-end: units.$u1;\r\n max-inline-size: 100%;\r\n text-align: start;\r\n }\r\n}\r\n\r\np[slot=\"info\"] {\r\n margin: 0;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\nimport { SelectableChangeEvent } from \"../selectable/selectable.interfaces\";\r\n\r\nimport { translations } from \"./map-overlays.i18n\";\r\nimport { Overlay, OverlayChangeEvent } from \"./map-overlays.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-map-overlays\",\r\n styleUrl: \"./map-overlays.scss\",\r\n shadow: true,\r\n})\r\nexport class MapOverlays implements ComponentInterface {\r\n private previousOverlays: Overlay[] | undefined;\r\n private selectableRefs: { [id: number]: HTMLDsoSelectableElement } = {};\r\n\r\n @Element()\r\n host!: HTMLDsoMapOverlaysElement;\r\n\r\n /**\r\n * To group the overlays together. Generally the default value suffices.\r\n */\r\n @Prop()\r\n group = uuidv4();\r\n\r\n /**\r\n * The overlays.\r\n */\r\n @Prop()\r\n overlays!: Overlay[];\r\n\r\n /**\r\n * Emitted when the user selects a different overlay.\r\n */\r\n @Event()\r\n dsoToggleOverlay!: EventEmitter<OverlayChangeEvent>;\r\n\r\n private overlayChangeHandler(overlay: Overlay, e: CustomEvent<SelectableChangeEvent>) {\r\n const { checked } = e.detail;\r\n\r\n this.dsoToggleOverlay.emit({ overlay, checked });\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.overlays\r\n .filter((o) => !o.disabled && this.previousOverlays?.find((p) => p.id === o.id)?.disabled === true)\r\n .forEach((o) => {\r\n this.selectableRefs[o.id]?.toggleInfo(false);\r\n });\r\n\r\n this.previousOverlays = this.overlays;\r\n }\r\n\r\n render() {\r\n for (const ref in this.selectableRefs) {\r\n delete this.selectableRefs[ref];\r\n }\r\n\r\n return (\r\n <fieldset class=\"form-group dso-checkboxes\">\r\n <legend class=\"sr-only\">Kaartlagen</legend>\r\n <div class=\"dso-label-container\">\r\n <span class=\"control-label\" aria-hidden=\"true\">\r\n {this.text(\"title\")}\r\n </span>\r\n </div>\r\n <div class=\"dso-field-container\">\r\n {this.overlays.map((overlay) => (\r\n <dso-selectable\r\n key={overlay.id}\r\n type=\"checkbox\"\r\n value={overlay.name}\r\n checked={overlay.checked}\r\n disabled={overlay.disabled}\r\n name={this.group}\r\n ref={(ref) => ref && (this.selectableRefs[overlay.id] = ref)}\r\n onDsoChange={(e) => this.overlayChangeHandler(overlay, e)}\r\n >\r\n {overlay.name}\r\n {overlay.info ? <p slot=\"info\">{overlay.info}</p> : null}\r\n </dso-selectable>\r\n ))}\r\n </div>\r\n </fieldset>\r\n );\r\n }\r\n}\r\n"],"mappings":"iIAEO,MAAMA,EAAyB,CACpCC,GAAI,CACF,mBAAoB,CAClBC,MAAO,cAGXC,GAAI,CACF,mBAAoB,CAClBD,MAAO,gBCVb,MAAME,EAAiB,
|
|
1
|
+
{"version":3,"names":["translations","en","title","nl","mapOverlaysCss","MapOverlays","constructor","hostRef","this","selectableRefs","group","uuidv4","text","i18n","host","overlayChangeHandler","overlay","e","checked","detail","dsoToggleOverlay","emit","componentDidRender","overlays","filter","o","_a","_b","disabled","previousOverlays","find","p","id","forEach","toggleInfo","render","ref","h","key","class","map","type","value","name","onDsoChange","info","slot"],"sources":["src/components/map-overlays/map-overlays.i18n.ts","src/components/map-overlays/map-overlays.scss?tag=dso-map-overlays&encapsulation=shadow","src/components/map-overlays/map-overlays.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-map-overlays\": {\r\n title: \"Maplayers\",\r\n },\r\n },\r\n nl: {\r\n \"dso-map-overlays\": {\r\n title: \"Kaartlagen\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: 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// Todo #1194\r\nfieldset {\r\n border: 0;\r\n margin: 0;\r\n min-inline-size: 0;\r\n padding: 0;\r\n\r\n .control-label {\r\n display: inline-block;\r\n font-weight: bold;\r\n margin-block-end: units.$u1;\r\n max-inline-size: 100%;\r\n text-align: start;\r\n }\r\n}\r\n\r\np[slot=\"info\"] {\r\n margin: 0;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\nimport { SelectableChangeEvent } from \"../selectable/selectable.interfaces\";\r\n\r\nimport { translations } from \"./map-overlays.i18n\";\r\nimport { Overlay, OverlayChangeEvent } from \"./map-overlays.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-map-overlays\",\r\n styleUrl: \"./map-overlays.scss\",\r\n shadow: true,\r\n})\r\nexport class MapOverlays implements ComponentInterface {\r\n private previousOverlays: Overlay[] | undefined;\r\n private selectableRefs: { [id: number]: HTMLDsoSelectableElement } = {};\r\n\r\n @Element()\r\n host!: HTMLDsoMapOverlaysElement;\r\n\r\n /**\r\n * To group the overlays together. Generally the default value suffices.\r\n */\r\n @Prop()\r\n group = uuidv4();\r\n\r\n /**\r\n * The overlays.\r\n */\r\n @Prop()\r\n overlays!: Overlay[];\r\n\r\n /**\r\n * Emitted when the user selects a different overlay.\r\n */\r\n @Event()\r\n dsoToggleOverlay!: EventEmitter<OverlayChangeEvent>;\r\n\r\n private overlayChangeHandler(overlay: Overlay, e: CustomEvent<SelectableChangeEvent>) {\r\n const { checked } = e.detail;\r\n\r\n this.dsoToggleOverlay.emit({ overlay, checked });\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.overlays\r\n .filter((o) => !o.disabled && this.previousOverlays?.find((p) => p.id === o.id)?.disabled === true)\r\n .forEach((o) => {\r\n this.selectableRefs[o.id]?.toggleInfo(false);\r\n });\r\n\r\n this.previousOverlays = this.overlays;\r\n }\r\n\r\n render() {\r\n for (const ref in this.selectableRefs) {\r\n delete this.selectableRefs[ref];\r\n }\r\n\r\n return (\r\n <fieldset class=\"form-group dso-checkboxes\">\r\n <legend class=\"sr-only\">Kaartlagen</legend>\r\n <div class=\"dso-label-container\">\r\n <span class=\"control-label\" aria-hidden=\"true\">\r\n {this.text(\"title\")}\r\n </span>\r\n </div>\r\n <div class=\"dso-field-container\">\r\n {this.overlays.map((overlay) => (\r\n <dso-selectable\r\n key={overlay.id}\r\n type=\"checkbox\"\r\n value={overlay.name}\r\n checked={overlay.checked}\r\n disabled={overlay.disabled}\r\n name={this.group}\r\n ref={(ref) => ref && (this.selectableRefs[overlay.id] = ref)}\r\n onDsoChange={(e) => this.overlayChangeHandler(overlay, e)}\r\n >\r\n {overlay.name}\r\n {overlay.info ? <p slot=\"info\">{overlay.info}</p> : null}\r\n </dso-selectable>\r\n ))}\r\n </div>\r\n </fieldset>\r\n );\r\n }\r\n}\r\n"],"mappings":"iIAEO,MAAMA,EAAyB,CACpCC,GAAI,CACF,mBAAoB,CAClBC,MAAO,cAGXC,GAAI,CACF,mBAAoB,CAClBD,MAAO,gBCVb,MAAME,EAAiB,wZ,MCcVC,EAAW,MALxB,WAAAC,CAAAC,G,6DAOUC,KAAcC,eAA+C,GASrED,KAAKE,MAAGC,IAoBAH,KAAAI,KAAOC,GAAK,IAAML,KAAKM,MAAMd,EA6CtC,CAnDS,oBAAAe,CAAqBC,EAAkBC,GAC7C,MAAMC,QAAEA,GAAYD,EAAEE,OAEtBX,KAAKY,iBAAiBC,KAAK,CAAEL,UAASE,W,CAKxC,kBAAAI,GACEd,KAAKe,SACFC,QAAQC,IAAK,IAAAC,EAAAC,EAAC,OAACF,EAAEG,YAAYD,GAAAD,EAAAlB,KAAKqB,oBAAkB,MAAAH,SAAA,SAAAA,EAAAI,MAAMC,GAAMA,EAAEC,KAAOP,EAAEO,QAAK,MAAAL,SAAA,SAAAA,EAAAC,YAAa,IAAI,IACjGK,SAASR,I,OACRC,EAAAlB,KAAKC,eAAegB,EAAEO,OAAK,MAAAN,SAAA,SAAAA,EAAAQ,WAAW,MAAM,IAGhD1B,KAAKqB,iBAAmBrB,KAAKe,Q,CAG/B,MAAAY,GACE,IAAK,MAAMC,KAAO5B,KAAKC,eAAgB,QAC9BD,KAAKC,eAAe2B,E,CAG7B,OACEC,EAAA,YAAAC,IAAA,2CAAUC,MAAM,6BACdF,EAAQ,UAAAC,IAAA,2CAAAC,MAAM,WAA6B,cAC3CF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,uBACTF,EAAA,QAAAC,IAAA,2CAAMC,MAAM,gBAAe,cAAa,QACrC/B,KAAKI,KAAK,WAGfyB,EAAA,OAAAC,IAAA,2CAAKC,MAAM,uBACR/B,KAAKe,SAASiB,KAAKxB,GAClBqB,EAAA,kBACEC,IAAKtB,EAAQgB,GACbS,KAAK,WACLC,MAAO1B,EAAQ2B,KACfzB,QAASF,EAAQE,QACjBU,SAAUZ,EAAQY,SAClBe,KAAMnC,KAAKE,MACX0B,IAAMA,GAAQA,IAAQ5B,KAAKC,eAAeO,EAAQgB,IAAMI,GACxDQ,YAAc3B,GAAMT,KAAKO,qBAAqBC,EAASC,IAEtDD,EAAQ2B,KACR3B,EAAQ6B,KAAOR,EAAA,KAAGS,KAAK,QAAQ9B,EAAQ6B,MAAY,S","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,h as i,H as e,g as o}from"./p-C-b4jsbt.js";import{c as n}from"./p-ChV9xqsO.js";import{d as r}from"./p-DDU8nTJS.js";import{d as a,h as s,c as l,b as d}from"./p-CsY83cJO.js";import"./p-BFTU3MAI.js";var p={name:"maxSize",enabled:true,phase:"main",requiresIfExists:["offset","preventOverflow","flip"],fn:function t(i){var e=i.state,o=i.name,n=i.options;var r=a(e,n);var s=e.modifiersData.preventOverflow||{x:0,y:0},l=s.x,d=s.y;var p=e.rects.popper,h=p.width,c=p.height;var f=e.placement.split("-"),b=f[0];var m=b==="left"?"left":"right";var u=b==="top"?"top":"bottom";e.modifiersData[o]={width:h-r[m]-l,height:c-r[u]-d}}};const h='@charset "UTF-8";:host(.hidden){visibility:hidden}*,*::after,*::before{box-sizing:border-box}.tooltip{font-family:Asap, sans-serif;font-style:normal;font-weight:400;line-height:1.5;line-break:auto;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;overflow-wrap:anywhere;word-spacing:normal;word-wrap:normal;white-space:normal;--link-color:#39870c;display:block;filter:drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));font-size:14px;opacity:0;position:absolute;transition:opacity 0.15s linear;z-index:410}.tooltip.in{opacity:1}.tooltip.in .tooltip-inner{max-block-size:200vh;overflow:auto;visibility:visible;padding-block:8px;padding-inline:16px}.tooltip:not(.in) .tooltip-inner{max-block-size:0;overflow:hidden;visibility:hidden;transition:all 0s linear 0.15s}.tooltip .tooltip-inner{background-color:#fff;border-radius:4px;color:#191919;display:inline-block;font-size:1rem;max-inline-size:640px;position:relative}.tooltip .tooltip-inner.dso-small{max-inline-size:320px}.tooltip .tooltip-arrow{border-color:transparent;border-style:solid;block-size:0;inline-size:0}.tooltip[data-popper-placement=top]{margin-block-start:-3px;padding-inline:0}.tooltip[data-popper-placement=top] .tooltip-arrow{inset-block-end:0;border-block-start-color:#fff;border-width:6px;border-block-end-width:0;margin-inline-start:var(--tooltip-margin-inline-start, -3px)}.tooltip[data-popper-placement=right]{margin-inline-start:3px;padding-inline-start:6px}.tooltip[data-popper-placement=right] .tooltip-arrow{inset-inline-start:0;border-inline-end-color:#fff;border-width:6px;border-inline-start-width:0;margin-block-start:var(--tooltip-margin-block-start, -3px)}.tooltip[data-popper-placement=bottom]{margin-block-start:3px;padding-block-start:6px;padding-inline:0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{inset-block-start:0;border-block-end-color:#fff;border-width:6px;border-block-start-width:0;margin-inline-start:var(--tooltip-margin-inline-start, -3px)}.tooltip[data-popper-placement=left]{margin-inline-start:-3px;margin-inline-end:var(--tooltip-margin-inline-end, unset);padding-block:0;padding-inline-end:6px}.tooltip[data-popper-placement=left] .tooltip-arrow{inset-inline-end:0;border-inline-start-color:#fff;border-width:6px;border-inline-end-width:0;margin-block-start:var(--tooltip-margin-block-start, -3px)}';var c=undefined&&undefined.__classPrivateFieldGet||function(t,i,e,o){if(e==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?t!==i||!o:!i.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?o:e==="a"?o.call(t):o?o.value:i.get(t)};var f=undefined&&undefined.__classPrivateFieldSet||function(t,i,e,o,n){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?t!==i||!n:!i.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?n.call(t,e):n?n.value=e:i.set(t,e),e};var b;const m=150;const u={name:"applyMaxSize",enabled:true,phase:d,requires:["maxSize"],fn({state:t}){let{width:i}=t.modifiersData.maxSize;if(i<160){i=160}t.styles.popper=Object.assign(Object.assign({},t.styles.popper),{maxWidth:`${i}px`})}};const v=class{constructor(i){t(this,i);this.descriptive=false;this.position="top";this.strategy="auto";this.noArrow=false;this.active=false;this.callbacks={activate:()=>this.active=true,deactivate:()=>{setTimeout((()=>{if(this.element.isConnected){this.active=false}}),2)}};this.onMouseLeave=()=>{var t;if(!this.element.matches(":hover")&&!((t=this.target)===null||t===void 0?void 0:t.matches(":hover"))){this.callbacks.deactivate()}};this.hidden=true;this.keyDownListener=t=>{if(t.key==="Escape"){this.deactivate()}};this.deactivatePopper=r((()=>{var t;this.hidden=true;(t=this.popper)===null||t===void 0?void 0:t.destroy();this.popper=undefined}),m);b.set(this,void 0)}async activate(){this.active=true}async deactivate(){this.active=false}watchPosition(){if(!this.popper){return}this.popper.setOptions({placement:this.position})}watchStrategy(){this.setStrategy()}setStrategy(){if(!this.popper){return}if(this.strategy==="absolute"||this.strategy==="fixed"){this.popper.setOptions({strategy:this.strategy});return}let t=this.element;while(t&&t.parentNode!==document){t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentElement;if(t!==null&&s(t)){this.popper.setOptions({strategy:"fixed"});return}}this.popper.setOptions({strategy:"absolute"})}watchActive(){if(this.active){this.activatePopper();if(!this.stateless){setTimeout((()=>{var t;(t=this.popper)===null||t===void 0?void 0:t.setOptions({modifiers:[{name:"eventListeners",enabled:true}]});document.addEventListener("keydown",this.keyDownListener)}))}}else{document.removeEventListener("keydown",this.keyDownListener);this.deactivatePopper()}}listenClick(t){t.stopPropagation()}componentDidLoad(){var t;const i=(t=this.element.shadowRoot)===null||t===void 0?void 0:t.querySelector(".tooltip");if(!(i instanceof HTMLElement)){throw new Error("tooltip element is not instanceof HTMLElement")}if(!this.stateless&&this.target){this.target.addEventListener("mouseenter",this.callbacks.activate);[this.element,this.target].forEach((t=>t.addEventListener("mouseleave",this.onMouseLeave)));this.target.addEventListener("focus",this.callbacks.activate);this.target.addEventListener("blur",this.callbacks.deactivate)}}disconnectedCallback(){var t;(t=this.popper)===null||t===void 0?void 0:t.destroy();if(!this.stateless&&this.target){this.target.removeEventListener("mouseenter",this.callbacks.activate);[this.element,this.target].forEach((t=>t.removeEventListener("mouseleave",this.onMouseLeave)));this.target.removeEventListener("focus",this.callbacks.activate);this.target.removeEventListener("blur",this.callbacks.deactivate)}this.target=undefined}componentDidRender(){var t;if(this.active){(t=this.popper)===null||t===void 0?void 0:t.update()}}render(){return i(e,{key:"eff3b2b70b8a7dcf3a0cf044b455493eb150bb56",class:{hidden:this.hidden},role:"tooltip",onClick:this.listenClick},i("div",{key:"f01664821ef0389bb10e30a5029e9e0d01dd4718",class:n("tooltip",{in:this.active})},!this.noArrow&&i("div",{key:"fd4b1942cf719a4df49049cd07383ae16f485d9f","data-popper-arrow":true,class:"tooltip-arrow"}),i("div",{key:"ad7b70bd41618de9b834cd8259f3485ac1b4670c","aria-hidden":!this.descriptive||undefined,class:n("tooltip-inner",{"dso-small":this.small})},i("slot",{key:"f3a11c6f3fa1c575295d7efeaa0992355245b59c"}))))}activatePopper(){var t;this.hidden=false;if(this.popper){return}const i=(t=this.element.shadowRoot)===null||t===void 0?void 0:t.querySelector(".tooltip");if(this.target&&i instanceof HTMLElement){this.popper=l(this.target,i,{placement:this.position,modifiers:[p,u,{name:"eventListeners",enabled:false}]});this.setStrategy()}}get target(){var t;return(t=c(this,b,"f"))!==null&&t!==void 0?t:this.initializeTarget()}set target(t){f(this,b,t,"f")}initializeTarget(){const t=this.element.id;if(!t){console.warn("Unable to find reference tooltip has no [id] attribute.");return}const i=this.element.getRootNode();if(!(i instanceof Document||i instanceof ShadowRoot)){console.warn(`rootNode is not instance of Document or ShadowRoot`);return}const e=i.querySelector(`[aria-describedBy="${t}`);if(!e){console.warn(`Unable to find reference with aria-describedby ${t}`);return}f(this,b,e,"f");return e}get element(){return o(this)}static get watchers(){return{position:["watchPosition"],strategy:["watchStrategy"],active:["watchActive"]}}};b=new WeakMap;v.style=h;export{v as dso_tooltip};
|
|
2
|
+
//# sourceMappingURL=p-98772f24.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["maxSize","name","enabled","phase","requiresIfExists","fn","_ref","state","options","overflow","detectOverflow","_ref2","modifiersData","preventOverflow","x","y","_state$rects$popper","rects","popper","width","height","_state$placement$spli","placement","split","basePlacement","widthProp","heightProp","tooltipCss","transitionDuration","applyMaxSize","beforeWrite","requires","styles","Object","assign","maxWidth","Tooltip","constructor","hostRef","this","descriptive","position","strategy","noArrow","active","callbacks","activate","deactivate","setTimeout","element","isConnected","onMouseLeave","matches","_a","target","hidden","keyDownListener","event","key","deactivatePopper","debounce","destroy","undefined","_Tooltip_target","set","watchPosition","setOptions","watchStrategy","setStrategy","parentNode","document","ShadowRoot","host","parentElement","hasOverflow","watchActive","activatePopper","stateless","modifiers","addEventListener","removeEventListener","listenClick","e","stopPropagation","componentDidLoad","tooltip","shadowRoot","querySelector","HTMLElement","Error","forEach","disconnectedCallback","componentDidRender","update","render","h","Host","class","role","onClick","clsx","in","small","createPopper","__classPrivateFieldGet","initializeTarget","__classPrivateFieldSet","id","console","warn","rootNode","getRootNode","Document","reference"],"sources":["../../node_modules/popper-max-size-modifier/dist/popper-max-size-modifier.esm.js","src/components/tooltip/tooltip.scss?tag=dso-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { detectOverflow } from '@popperjs/core';\n\nvar maxSize = {\n name: 'maxSize',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n fn: function fn(_ref) {\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var overflow = detectOverflow(state, options);\n\n var _ref2 = state.modifiersData.preventOverflow || {\n x: 0,\n y: 0\n },\n x = _ref2.x,\n y = _ref2.y;\n\n var _state$rects$popper = state.rects.popper,\n width = _state$rects$popper.width,\n height = _state$rects$popper.height;\n\n var _state$placement$spli = state.placement.split('-'),\n basePlacement = _state$placement$spli[0];\n\n var widthProp = basePlacement === 'left' ? 'left' : 'right';\n var heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n state.modifiersData[name] = {\n width: width - overflow[widthProp] - x,\n height: height - overflow[heightProp] - y\n };\n }\n};\n\nexport default maxSize;\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"tooltip.variables\" as tooltip-variables;\r\n\r\n:host(.hidden) {\r\n visibility: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.tooltip {\r\n font-family: typography.$font-family-base;\r\n // We deliberately do NOT reset font-size.\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: typography.$line-height-base;\r\n line-break: auto;\r\n text-align: start;\r\n text-decoration: none;\r\n text-shadow: none;\r\n text-transform: none;\r\n letter-spacing: normal;\r\n overflow-wrap: anywhere;\r\n word-spacing: normal;\r\n word-wrap: normal;\r\n white-space: normal;\r\n\r\n --link-color: #{colors.$grasgroen};\r\n display: block;\r\n filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));\r\n font-size: typography.$font-size-small;\r\n opacity: 0;\r\n position: absolute;\r\n transition: opacity tooltip-variables.$transition-duration linear;\r\n z-index: zindex.$tooltip;\r\n\r\n &.in {\r\n opacity: tooltip-variables.$opacity;\r\n\r\n .tooltip-inner {\r\n max-block-size: 200vh; // an extreme max-block-size, just to be sure it always fits\r\n overflow: auto;\r\n visibility: visible;\r\n padding-block: tooltip-variables.$padding-block; // set padding-block here to hide the div when the .in class is not active\r\n padding-inline: tooltip-variables.$padding-inline; // set padding-inline here to hide the div when the .in class is not active\r\n }\r\n }\r\n\r\n &:not(.in) {\r\n .tooltip-inner {\r\n max-block-size: 0; // hide the element\r\n overflow: hidden;\r\n visibility: hidden;\r\n transition: all 0s linear tooltip-variables.$transition-duration; // delay all the properties with a 0s linear animation till the parent opacity animation time has passed\r\n }\r\n }\r\n\r\n .tooltip-inner {\r\n background-color: colors.$wit;\r\n border-radius: tooltip-variables.$border-radius;\r\n color: colors.$grijs-90;\r\n display: inline-block;\r\n font-size: typography.$root-font-size-base;\r\n max-inline-size: tooltip-variables.$max-inline-size;\r\n position: relative;\r\n\r\n &.dso-small {\r\n max-inline-size: tooltip-variables.$max-inline-size-small;\r\n }\r\n }\r\n\r\n .tooltip-arrow {\r\n border-color: transparent;\r\n border-style: solid;\r\n block-size: 0;\r\n inline-size: 0;\r\n }\r\n\r\n &[data-popper-placement=\"top\"] {\r\n margin-block-start: -3px;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-end: 0;\r\n border-block-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-end-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"right\"] {\r\n margin-inline-start: 3px;\r\n padding-inline-start: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-start: 0;\r\n border-inline-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-start-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"bottom\"] {\r\n margin-block-start: 3px;\r\n padding-block-start: tooltip-variables.$arrow-inline-size;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-start: 0;\r\n border-block-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-start-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"left\"] {\r\n margin-inline-start: -3px;\r\n margin-inline-end: var(--tooltip-margin-inline-end, unset);\r\n padding-block: 0;\r\n padding-inline-end: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-end: 0;\r\n border-inline-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-end-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n}\r\n","import { Instance as PopperInstance, Placement, State as PopperState, beforeWrite, createPopper } from \"@popperjs/core\";\r\nimport { Component, ComponentInterface, Element, Host, Method, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\nimport maxSize from \"popper-max-size-modifier\";\r\n\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\n\r\n// Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin\r\nconst transitionDuration = 150;\r\n\r\nconst applyMaxSize = {\r\n name: \"applyMaxSize\",\r\n enabled: true,\r\n phase: beforeWrite,\r\n requires: [\"maxSize\"],\r\n fn({ state }: { state: PopperState }) {\r\n let { width } = state.modifiersData.maxSize;\r\n if (width < 160) {\r\n width = 160;\r\n }\r\n\r\n state.styles.popper = {\r\n ...state.styles.popper,\r\n maxWidth: `${width}px`,\r\n };\r\n },\r\n};\r\n\r\n@Component({\r\n tag: \"dso-tooltip\",\r\n styleUrl: \"tooltip.scss\",\r\n shadow: true,\r\n})\r\nexport class Tooltip implements ComponentInterface {\r\n /**\r\n * Defines if the tooltip is descriptive. A descriptive tooltip contains a meaningful message. Tooltips that are not descriptive are hidden from screenreaders using `aria-hidden`.\r\n */\r\n @Prop({\r\n reflect: true,\r\n })\r\n descriptive = false;\r\n\r\n /**\r\n * Set position of tooltip relative to target\r\n */\r\n @Prop()\r\n position: Placement = \"top\";\r\n\r\n /**\r\n * Set position strategy of tooltip\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n /**\r\n * Set attribute `no-arrow` to hide the arrow\r\n */\r\n @Prop()\r\n noArrow = false;\r\n\r\n /**\r\n * Deactivates mouseover behaviour\r\n */\r\n @Prop()\r\n stateless?: boolean;\r\n\r\n /**\r\n * Defines if the tooltip has a smaller max-width\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Whether or not to show the tooltip. To control the tooltip add the `active` attribute or use the `activate()` and `deactivate()` instance methods.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n active = false;\r\n\r\n /**\r\n * Activate the tooltip (Sets the `active` attribute)\r\n */\r\n @Method()\r\n async activate(): Promise<void> {\r\n this.active = true;\r\n }\r\n\r\n /**\r\n * Deactivate the tooltip (Removes the `active` attribute)\r\n */\r\n @Method()\r\n async deactivate(): Promise<void> {\r\n this.active = false;\r\n }\r\n\r\n @Watch(\"position\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.position,\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.element;\r\n while (element && element.parentNode !== document) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Watch(\"active\")\r\n watchActive() {\r\n if (this.active) {\r\n this.activatePopper();\r\n\r\n if (!this.stateless) {\r\n setTimeout(() => {\r\n this.popper?.setOptions({\r\n modifiers: [{ name: \"eventListeners\", enabled: true }],\r\n });\r\n document.addEventListener(\"keydown\", this.keyDownListener);\r\n });\r\n }\r\n } else {\r\n document.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.deactivatePopper();\r\n }\r\n }\r\n\r\n @Element()\r\n private element!: HTMLDsoTooltipElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n private callbacks: TooltipCallbacks = {\r\n activate: () => (this.active = true),\r\n deactivate: () => {\r\n // Zie https://github.com/dso-toolkit/dso-toolkit/issues/2997#issuecomment-2654330094 voor de aanleiding\r\n // van setTimeout() met 2ms.\r\n setTimeout(() => {\r\n if (this.element.isConnected) {\r\n this.active = false;\r\n }\r\n }, 2);\r\n },\r\n };\r\n\r\n private onMouseLeave = () => {\r\n if (!this.element.matches(\":hover\") && !this.target?.matches(\":hover\")) {\r\n this.callbacks.deactivate();\r\n }\r\n };\r\n\r\n @State()\r\n private hidden = true;\r\n\r\n private listenClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n }\r\n\r\n componentDidLoad(): void {\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n if (!(tooltip instanceof HTMLElement)) {\r\n throw new Error(\"tooltip element is not instanceof HTMLElement\");\r\n }\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.addEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.addEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.addEventListener(\"focus\", this.callbacks.activate);\r\n this.target.addEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.popper?.destroy();\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.removeEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.removeEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.removeEventListener(\"focus\", this.callbacks.activate);\r\n this.target.removeEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n\r\n this.target = undefined;\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active) {\r\n this.popper?.update();\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key === \"Escape\") {\r\n this.deactivate();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host class={{ hidden: this.hidden }} role=\"tooltip\" onClick={this.listenClick}>\r\n <div class={clsx(\"tooltip\", { in: this.active })}>\r\n {!this.noArrow && <div data-popper-arrow class=\"tooltip-arrow\"></div>}\r\n <div aria-hidden={!this.descriptive || undefined} class={clsx(\"tooltip-inner\", { \"dso-small\": this.small })}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private deactivatePopper = debounce(() => {\r\n this.hidden = true;\r\n this.popper?.destroy();\r\n this.popper = undefined;\r\n }, transitionDuration);\r\n\r\n private activatePopper(): void {\r\n this.hidden = false;\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n\r\n if (this.target && tooltip instanceof HTMLElement) {\r\n this.popper = createPopper(this.target, tooltip, {\r\n placement: this.position,\r\n modifiers: [maxSize, applyMaxSize, { name: \"eventListeners\", enabled: false }],\r\n });\r\n\r\n this.setStrategy();\r\n }\r\n }\r\n\r\n private get target(): HTMLElement | undefined {\r\n return this.#target ?? this.initializeTarget();\r\n }\r\n\r\n private set target(element: HTMLElement | undefined) {\r\n this.#target = element;\r\n }\r\n\r\n #target?: HTMLElement;\r\n\r\n private initializeTarget(): HTMLElement | undefined {\r\n const id = this.element.id;\r\n\r\n if (!id) {\r\n console.warn(\"Unable to find reference tooltip has no [id] attribute.\");\r\n\r\n return;\r\n }\r\n\r\n const rootNode = this.element.getRootNode();\r\n if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {\r\n console.warn(`rootNode is not instance of Document or ShadowRoot`);\r\n\r\n return;\r\n }\r\n\r\n const reference = rootNode.querySelector<HTMLElement>(`[aria-describedBy=\"${id}`);\r\n if (!reference) {\r\n console.warn(`Unable to find reference with aria-describedby ${id}`);\r\n\r\n return;\r\n }\r\n\r\n this.#target = reference;\r\n return reference;\r\n }\r\n}\r\n\r\ninterface TooltipCallbacks {\r\n activate: () => void;\r\n deactivate: () => void;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["maxSize","name","enabled","phase","requiresIfExists","fn","_ref","state","options","overflow","detectOverflow","_ref2","modifiersData","preventOverflow","x","y","_state$rects$popper","rects","popper","width","height","_state$placement$spli","placement","split","basePlacement","widthProp","heightProp","tooltipCss","transitionDuration","applyMaxSize","beforeWrite","requires","styles","Object","assign","maxWidth","Tooltip","constructor","hostRef","this","descriptive","position","strategy","noArrow","active","callbacks","activate","deactivate","setTimeout","element","isConnected","onMouseLeave","matches","_a","target","hidden","keyDownListener","event","key","deactivatePopper","debounce","destroy","undefined","_Tooltip_target","set","watchPosition","setOptions","watchStrategy","setStrategy","parentNode","document","ShadowRoot","host","parentElement","hasOverflow","watchActive","activatePopper","stateless","modifiers","addEventListener","removeEventListener","listenClick","e","stopPropagation","componentDidLoad","tooltip","shadowRoot","querySelector","HTMLElement","Error","forEach","disconnectedCallback","componentDidRender","update","render","h","Host","class","role","onClick","clsx","in","small","createPopper","__classPrivateFieldGet","initializeTarget","__classPrivateFieldSet","id","console","warn","rootNode","getRootNode","Document","reference"],"sources":["../../node_modules/popper-max-size-modifier/dist/popper-max-size-modifier.esm.js","src/components/tooltip/tooltip.scss?tag=dso-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { detectOverflow } from '@popperjs/core';\n\nvar maxSize = {\n name: 'maxSize',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n fn: function fn(_ref) {\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var overflow = detectOverflow(state, options);\n\n var _ref2 = state.modifiersData.preventOverflow || {\n x: 0,\n y: 0\n },\n x = _ref2.x,\n y = _ref2.y;\n\n var _state$rects$popper = state.rects.popper,\n width = _state$rects$popper.width,\n height = _state$rects$popper.height;\n\n var _state$placement$spli = state.placement.split('-'),\n basePlacement = _state$placement$spli[0];\n\n var widthProp = basePlacement === 'left' ? 'left' : 'right';\n var heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n state.modifiersData[name] = {\n width: width - overflow[widthProp] - x,\n height: height - overflow[heightProp] - y\n };\n }\n};\n\nexport default maxSize;\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"tooltip.variables\" as tooltip-variables;\r\n\r\n:host(.hidden) {\r\n visibility: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.tooltip {\r\n font-family: typography.$font-family-base;\r\n // We deliberately do NOT reset font-size.\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: typography.$line-height-base;\r\n line-break: auto;\r\n text-align: start;\r\n text-decoration: none;\r\n text-shadow: none;\r\n text-transform: none;\r\n letter-spacing: normal;\r\n overflow-wrap: anywhere;\r\n word-spacing: normal;\r\n word-wrap: normal;\r\n white-space: normal;\r\n\r\n --link-color: #{colors.$grasgroen};\r\n display: block;\r\n filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));\r\n font-size: typography.$font-size-small;\r\n opacity: 0;\r\n position: absolute;\r\n transition: opacity tooltip-variables.$transition-duration linear;\r\n z-index: zindex.$tooltip;\r\n\r\n &.in {\r\n opacity: tooltip-variables.$opacity;\r\n\r\n .tooltip-inner {\r\n max-block-size: 200vh; // an extreme max-block-size, just to be sure it always fits\r\n overflow: auto;\r\n visibility: visible;\r\n padding-block: tooltip-variables.$padding-block; // set padding-block here to hide the div when the .in class is not active\r\n padding-inline: tooltip-variables.$padding-inline; // set padding-inline here to hide the div when the .in class is not active\r\n }\r\n }\r\n\r\n &:not(.in) {\r\n .tooltip-inner {\r\n max-block-size: 0; // hide the element\r\n overflow: hidden;\r\n visibility: hidden;\r\n transition: all 0s linear tooltip-variables.$transition-duration; // delay all the properties with a 0s linear animation till the parent opacity animation time has passed\r\n }\r\n }\r\n\r\n .tooltip-inner {\r\n background-color: colors.$wit;\r\n border-radius: tooltip-variables.$border-radius;\r\n color: colors.$grijs-90;\r\n display: inline-block;\r\n font-size: typography.$root-font-size-base;\r\n max-inline-size: tooltip-variables.$max-inline-size;\r\n position: relative;\r\n\r\n &.dso-small {\r\n max-inline-size: tooltip-variables.$max-inline-size-small;\r\n }\r\n }\r\n\r\n .tooltip-arrow {\r\n border-color: transparent;\r\n border-style: solid;\r\n block-size: 0;\r\n inline-size: 0;\r\n }\r\n\r\n &[data-popper-placement=\"top\"] {\r\n margin-block-start: -3px;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-end: 0;\r\n border-block-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-end-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"right\"] {\r\n margin-inline-start: 3px;\r\n padding-inline-start: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-start: 0;\r\n border-inline-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-start-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"bottom\"] {\r\n margin-block-start: 3px;\r\n padding-block-start: tooltip-variables.$arrow-inline-size;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-start: 0;\r\n border-block-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-start-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"left\"] {\r\n margin-inline-start: -3px;\r\n margin-inline-end: var(--tooltip-margin-inline-end, unset);\r\n padding-block: 0;\r\n padding-inline-end: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-end: 0;\r\n border-inline-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-end-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n}\r\n","import { Instance as PopperInstance, Placement, State as PopperState, beforeWrite, createPopper } from \"@popperjs/core\";\r\nimport { Component, ComponentInterface, Element, Host, Method, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\nimport maxSize from \"popper-max-size-modifier\";\r\n\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\n\r\n// Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin\r\nconst transitionDuration = 150;\r\n\r\nconst applyMaxSize = {\r\n name: \"applyMaxSize\",\r\n enabled: true,\r\n phase: beforeWrite,\r\n requires: [\"maxSize\"],\r\n fn({ state }: { state: PopperState }) {\r\n let { width } = state.modifiersData.maxSize;\r\n if (width < 160) {\r\n width = 160;\r\n }\r\n\r\n state.styles.popper = {\r\n ...state.styles.popper,\r\n maxWidth: `${width}px`,\r\n };\r\n },\r\n};\r\n\r\n@Component({\r\n tag: \"dso-tooltip\",\r\n styleUrl: \"tooltip.scss\",\r\n shadow: true,\r\n})\r\nexport class Tooltip implements ComponentInterface {\r\n /**\r\n * Defines if the tooltip is descriptive. A descriptive tooltip contains a meaningful message. Tooltips that are not descriptive are hidden from screenreaders using `aria-hidden`.\r\n */\r\n @Prop({\r\n reflect: true,\r\n })\r\n descriptive = false;\r\n\r\n /**\r\n * Set position of tooltip relative to target\r\n */\r\n @Prop()\r\n position: Placement = \"top\";\r\n\r\n /**\r\n * Set position strategy of tooltip\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n /**\r\n * Set attribute `no-arrow` to hide the arrow\r\n */\r\n @Prop()\r\n noArrow = false;\r\n\r\n /**\r\n * Deactivates mouseover behaviour\r\n */\r\n @Prop()\r\n stateless?: boolean;\r\n\r\n /**\r\n * Defines if the tooltip has a smaller max-width\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Whether or not to show the tooltip. To control the tooltip add the `active` attribute or use the `activate()` and `deactivate()` instance methods.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n active = false;\r\n\r\n /**\r\n * Activate the tooltip (Sets the `active` attribute)\r\n */\r\n @Method()\r\n async activate(): Promise<void> {\r\n this.active = true;\r\n }\r\n\r\n /**\r\n * Deactivate the tooltip (Removes the `active` attribute)\r\n */\r\n @Method()\r\n async deactivate(): Promise<void> {\r\n this.active = false;\r\n }\r\n\r\n @Watch(\"position\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.position,\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.element;\r\n while (element && element.parentNode !== document) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Watch(\"active\")\r\n watchActive() {\r\n if (this.active) {\r\n this.activatePopper();\r\n\r\n if (!this.stateless) {\r\n setTimeout(() => {\r\n this.popper?.setOptions({\r\n modifiers: [{ name: \"eventListeners\", enabled: true }],\r\n });\r\n document.addEventListener(\"keydown\", this.keyDownListener);\r\n });\r\n }\r\n } else {\r\n document.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.deactivatePopper();\r\n }\r\n }\r\n\r\n @Element()\r\n private element!: HTMLDsoTooltipElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n private callbacks: TooltipCallbacks = {\r\n activate: () => (this.active = true),\r\n deactivate: () => {\r\n // Zie https://github.com/dso-toolkit/dso-toolkit/issues/2997#issuecomment-2654330094 voor de aanleiding\r\n // van setTimeout() met 2ms.\r\n setTimeout(() => {\r\n if (this.element.isConnected) {\r\n this.active = false;\r\n }\r\n }, 2);\r\n },\r\n };\r\n\r\n private onMouseLeave = () => {\r\n if (!this.element.matches(\":hover\") && !this.target?.matches(\":hover\")) {\r\n this.callbacks.deactivate();\r\n }\r\n };\r\n\r\n @State()\r\n private hidden = true;\r\n\r\n private listenClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n }\r\n\r\n componentDidLoad(): void {\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n if (!(tooltip instanceof HTMLElement)) {\r\n throw new Error(\"tooltip element is not instanceof HTMLElement\");\r\n }\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.addEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.addEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.addEventListener(\"focus\", this.callbacks.activate);\r\n this.target.addEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.popper?.destroy();\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.removeEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.removeEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.removeEventListener(\"focus\", this.callbacks.activate);\r\n this.target.removeEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n\r\n this.target = undefined;\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active) {\r\n this.popper?.update();\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key === \"Escape\") {\r\n this.deactivate();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host class={{ hidden: this.hidden }} role=\"tooltip\" onClick={this.listenClick}>\r\n <div class={clsx(\"tooltip\", { in: this.active })}>\r\n {!this.noArrow && <div data-popper-arrow class=\"tooltip-arrow\"></div>}\r\n <div aria-hidden={!this.descriptive || undefined} class={clsx(\"tooltip-inner\", { \"dso-small\": this.small })}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private deactivatePopper = debounce(() => {\r\n this.hidden = true;\r\n this.popper?.destroy();\r\n this.popper = undefined;\r\n }, transitionDuration);\r\n\r\n private activatePopper(): void {\r\n this.hidden = false;\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n\r\n if (this.target && tooltip instanceof HTMLElement) {\r\n this.popper = createPopper(this.target, tooltip, {\r\n placement: this.position,\r\n modifiers: [maxSize, applyMaxSize, { name: \"eventListeners\", enabled: false }],\r\n });\r\n\r\n this.setStrategy();\r\n }\r\n }\r\n\r\n private get target(): HTMLElement | undefined {\r\n return this.#target ?? this.initializeTarget();\r\n }\r\n\r\n private set target(element: HTMLElement | undefined) {\r\n this.#target = element;\r\n }\r\n\r\n #target?: HTMLElement;\r\n\r\n private initializeTarget(): HTMLElement | undefined {\r\n const id = this.element.id;\r\n\r\n if (!id) {\r\n console.warn(\"Unable to find reference tooltip has no [id] attribute.\");\r\n\r\n return;\r\n }\r\n\r\n const rootNode = this.element.getRootNode();\r\n if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {\r\n console.warn(`rootNode is not instance of Document or ShadowRoot`);\r\n\r\n return;\r\n }\r\n\r\n const reference = rootNode.querySelector<HTMLElement>(`[aria-describedBy=\"${id}`);\r\n if (!reference) {\r\n console.warn(`Unable to find reference with aria-describedby ${id}`);\r\n\r\n return;\r\n }\r\n\r\n this.#target = reference;\r\n return reference;\r\n }\r\n}\r\n\r\ninterface TooltipCallbacks {\r\n activate: () => void;\r\n deactivate: () => void;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as o,h as t,g as a}from"./p-C-b4jsbt.js";import{i as r}from"./p-Hgv-pDpy.js";const i='@charset "UTF-8";*,*::after,*::before{box-sizing:border-box}:host{display:block;border-color:#39870c;margin-block-end:-1px}@media screen and (max-width: 767px){:host{margin-block:10px}:host(:first-child){margin-block-start:0}}:host([active]:not([active=false])) [role=tab],:host([active]:not([active=false])) [role=tab]:active,:host([active]:not([active=false])) [role=tab]:focus,:host([active]:not([active=false])) [role=tab]:hover,:host([active]:not([active=false])) [role=tab]:visited{background-color:#fff;border:1px solid #39870c;border-block-end-color:#fff;color:#39870c;cursor:default}@media screen and (max-width: 767px){:host([active]:not([active=false])) [role=tab],:host([active]:not([active=false])) [role=tab]:active,:host([active]:not([active=false])) [role=tab]:focus,:host([active]:not([active=false])) [role=tab]:hover,:host([active]:not([active=false])) [role=tab]:visited{border-block-end-color:#39870c}}:host([disabled]:not([disabled=false])) [role=tab]{color:#999}:host([disabled]:not([disabled=false])) [role=tab]:hover,:host([disabled]:not([disabled=false])) [role=tab]:focus{color:#999;text-decoration:none;cursor:default;background-color:transparent}@media screen and (max-width: 767px){:host([disabled]:not([disabled=false])) [role=tab]:hover,:host([disabled]:not([disabled=false])) [role=tab]:focus{border-block-end-color:#fff}}a{text-decoration:none}a:hover,a:focus-visible{text-decoration:none}a:active{text-decoration:underline}a:visited{color:#666}button{font-family:inherit;font-size:inherit;background-color:transparent}[role=tab]{font-weight:bold;cursor:pointer;display:block;min-block-size:56px;border:1px solid transparent;border-radius:4px 4px 0 0;color:#666;line-height:1.5;padding-block:15px;padding-inline:23px}[role=tab]:hover{border-color:#e5e5e5 #e5e5e5 #e5e5e5}[role=tab]:hover,[role=tab]:focus{text-decoration:none;background-color:#e5e5e5}[role=tab]:active,[role=tab]:focus,[role=tab]:hover{background-color:#f2f2f2;border:1px solid transparent;border-block-end-color:#39870c;text-decoration:none}@media screen and (max-width: 767px){[role=tab]:active,[role=tab]:focus,[role=tab]:hover{border-block-end-color:#fff}}@media screen and (max-width: 767px){[role=tab]{border-color:#fff;border-radius:8px;padding-block:18px;padding-inline:20px;inline-size:100%;text-align:start}}';const s=class{constructor(t){e(this,t);this.dsoTabSwitch=o(this,"dsoTabSwitch",7);this.emitEvent=e=>{this.dsoTabSwitch.emit({originalEvent:e,isModifiedEvent:e instanceof MouseEvent?r(e):false})};this.keyUpHandler=e=>{if(e.key===" "&&!this.disabled&&!this.active){this.emitEvent(e)}};this.clickHandler=e=>{if(this.disabled&&this.href||this.active){e.preventDefault()}else{this.emitEvent(e)}}}async _dsoFocus(){var e;(e=this.anchorOrButtonRef)===null||e===void 0?void 0:e.focus()}render(){return this.href?t("a",Object.assign({role:"tab",href:this.href,onKeyUp:this.keyUpHandler,onClick:this.clickHandler,"aria-selected":this.active?"true":"false"},!this.active?{tabIndex:-1}:{},{ref:e=>this.anchorOrButtonRef=e}),t("slot",null)):t("button",Object.assign({role:"tab",type:"button",disabled:this.disabled,onClick:this.clickHandler,"aria-selected":this.active?"true":"false"},!this.active?{tabIndex:-1}:{},{ref:e=>this.anchorOrButtonRef=e}),t("slot",null))}get host(){return a(this)}};s.style=i;export{s as dso_tab};
|
|
2
|
+
//# sourceMappingURL=p-99b4b85a.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["tabCss","Tab","constructor","hostRef","this","emitEvent","e","dsoTabSwitch","emit","originalEvent","isModifiedEvent","MouseEvent","keyUpHandler","key","disabled","active","clickHandler","href","preventDefault","_dsoFocus","_a","anchorOrButtonRef","focus","render","h","Object","assign","role","onKeyUp","onClick","tabIndex","ref","element","type"],"sources":["src/components/tabs/components/tab.scss?tag=dso-tab&encapsulation=shadow","src/components/tabs/components/tab.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/components/link\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n\r\n@use \"tab.variables\" as tab-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n border-color: tab-variables.$color;\r\n // Make the list-items overlay the bottom border\r\n margin-block-end: -1px;\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n :host {\r\n margin-block: 10px;\r\n }\r\n\r\n :host(:first-child) {\r\n margin-block-start: 0;\r\n }\r\n}\r\n\r\n:host([active]:not([active=\"false\"])) {\r\n [role=\"tab\"] {\r\n &,\r\n &:active,\r\n &:focus,\r\n &:hover,\r\n &:visited {\r\n background-color: colors.$wit;\r\n border: 1px solid tab-variables.$color;\r\n border-block-end-color: colors.$wit;\r\n color: tab-variables.$color;\r\n cursor: default;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border-block-end-color: tab-variables.$color;\r\n }\r\n }\r\n }\r\n}\r\n\r\n:host([disabled]:not([disabled=\"false\"])) {\r\n [role=\"tab\"] {\r\n color: tab-variables.$nav-disabled-link-color;\r\n\r\n &:hover,\r\n &:focus {\r\n color: tab-variables.$nav-disabled-link-hover-color;\r\n text-decoration: none;\r\n cursor: scaffolding.$cursor-disabled;\r\n background-color: transparent;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border-block-end-color: colors.$wit;\r\n }\r\n }\r\n }\r\n}\r\n\r\na {\r\n @include link.clean();\r\n\r\n &:visited {\r\n color: tab-variables.$text-color;\r\n }\r\n}\r\n\r\nbutton {\r\n font-family: inherit;\r\n font-size: inherit;\r\n background-color: transparent;\r\n}\r\n\r\n[role=\"tab\"] {\r\n font-weight: bold;\r\n cursor: pointer;\r\n display: block;\r\n min-block-size: tab-variables.$block-size;\r\n border: 1px solid transparent;\r\n border-radius: tab-variables.$border-radius tab-variables.$border-radius 0 0;\r\n color: tab-variables.$text-color;\r\n line-height: typography.$line-height-base;\r\n padding-block: tab-variables.$block-padding;\r\n padding-inline: tab-variables.$inline-padding;\r\n\r\n &:hover {\r\n border-color: tab-variables.$link-hover-border-color tab-variables.$link-hover-border-color\r\n tab-variables.$border-color;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n background-color: tab-variables.$nav-link-hover-bg;\r\n }\r\n\r\n &:active,\r\n &:focus,\r\n &:hover {\r\n background-color: tab-variables.$hover-color;\r\n border: 1px solid transparent;\r\n border-block-end-color: tab-variables.$color;\r\n text-decoration: none;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border-block-end-color: colors.$wit;\r\n }\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border-color: colors.$wit;\r\n border-radius: 8px;\r\n padding-block: 18px;\r\n padding-inline: 20px;\r\n inline-size: 100%;\r\n text-align: start;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Method, Prop, h } from \"@stencil/core\";\r\n\r\nimport { isModifiedEvent } from \"../../../utils/is-modified-event\";\r\nimport { TabsSwitchEvent } from \"../tabs.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this tab\r\n */\r\n@Component({\r\n tag: \"dso-tab\",\r\n styleUrl: \"tab.scss\",\r\n shadow: true,\r\n})\r\nexport class Tab {\r\n @Element()\r\n host!: HTMLDsoTabElement;\r\n\r\n /**\r\n * Makes the tab active. The tab for which the tabpanel is visible is the active tab.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Disables the tab. A disabled tab cannot be activated and it's tabpanel cannot be shown.\r\n */\r\n @Prop({ reflect: true })\r\n disabled?: boolean;\r\n\r\n /**\r\n * The optional href of the tab. Creates an anchor if present. Creates a button if absent.\r\n */\r\n @Prop()\r\n href?: string;\r\n\r\n /**\r\n * Emitted when the user activates tab via click or arrow keys followed by space or enter.\r\n */\r\n @Event()\r\n dsoTabSwitch!: EventEmitter<TabsSwitchEvent>;\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _dsoFocus() {\r\n this.anchorOrButtonRef?.focus();\r\n }\r\n\r\n private anchorOrButtonRef?: HTMLAnchorElement | HTMLButtonElement;\r\n\r\n private emitEvent = (e: MouseEvent | KeyboardEvent) => {\r\n this.dsoTabSwitch.emit({\r\n originalEvent: e,\r\n isModifiedEvent: e instanceof MouseEvent ? isModifiedEvent(e) : false,\r\n });\r\n };\r\n\r\n private keyUpHandler = (e: KeyboardEvent) => {\r\n if (e.key === \" \" && !this.disabled && !this.active) {\r\n this.emitEvent(e);\r\n }\r\n };\r\n\r\n private clickHandler = (e: MouseEvent) => {\r\n if ((this.disabled && this.href) || this.active) {\r\n e.preventDefault();\r\n } else {\r\n this.emitEvent(e);\r\n }\r\n };\r\n\r\n render() {\r\n return this.href ? (\r\n <a\r\n role=\"tab\"\r\n href={this.href}\r\n onKeyUp={this.keyUpHandler}\r\n onClick={this.clickHandler}\r\n aria-selected={this.active ? \"true\" : \"false\"}\r\n {...(!this.active ? { tabIndex: -1 } : {})}\r\n ref={(element) => (this.anchorOrButtonRef = element)}\r\n >\r\n <slot />\r\n </a>\r\n ) : (\r\n <button\r\n role=\"tab\"\r\n type=\"button\"\r\n disabled={this.disabled}\r\n onClick={this.clickHandler}\r\n aria-selected={this.active ? \"true\" : \"false\"}\r\n {...(!this.active ? { tabIndex: -1 } : {})}\r\n ref={(element) => (this.anchorOrButtonRef = element)}\r\n >\r\n <slot />\r\n </button>\r\n );\r\n }\r\n}\r\n"],"mappings":"6FAAA,MAAMA,EAAS,
|
|
1
|
+
{"version":3,"names":["tabCss","Tab","constructor","hostRef","this","emitEvent","e","dsoTabSwitch","emit","originalEvent","isModifiedEvent","MouseEvent","keyUpHandler","key","disabled","active","clickHandler","href","preventDefault","_dsoFocus","_a","anchorOrButtonRef","focus","render","h","Object","assign","role","onKeyUp","onClick","tabIndex","ref","element","type"],"sources":["src/components/tabs/components/tab.scss?tag=dso-tab&encapsulation=shadow","src/components/tabs/components/tab.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/components/link\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n\r\n@use \"tab.variables\" as tab-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n border-color: tab-variables.$color;\r\n // Make the list-items overlay the bottom border\r\n margin-block-end: -1px;\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n :host {\r\n margin-block: 10px;\r\n }\r\n\r\n :host(:first-child) {\r\n margin-block-start: 0;\r\n }\r\n}\r\n\r\n:host([active]:not([active=\"false\"])) {\r\n [role=\"tab\"] {\r\n &,\r\n &:active,\r\n &:focus,\r\n &:hover,\r\n &:visited {\r\n background-color: colors.$wit;\r\n border: 1px solid tab-variables.$color;\r\n border-block-end-color: colors.$wit;\r\n color: tab-variables.$color;\r\n cursor: default;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border-block-end-color: tab-variables.$color;\r\n }\r\n }\r\n }\r\n}\r\n\r\n:host([disabled]:not([disabled=\"false\"])) {\r\n [role=\"tab\"] {\r\n color: tab-variables.$nav-disabled-link-color;\r\n\r\n &:hover,\r\n &:focus {\r\n color: tab-variables.$nav-disabled-link-hover-color;\r\n text-decoration: none;\r\n cursor: scaffolding.$cursor-disabled;\r\n background-color: transparent;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border-block-end-color: colors.$wit;\r\n }\r\n }\r\n }\r\n}\r\n\r\na {\r\n @include link.clean();\r\n\r\n &:visited {\r\n color: tab-variables.$text-color;\r\n }\r\n}\r\n\r\nbutton {\r\n font-family: inherit;\r\n font-size: inherit;\r\n background-color: transparent;\r\n}\r\n\r\n[role=\"tab\"] {\r\n font-weight: bold;\r\n cursor: pointer;\r\n display: block;\r\n min-block-size: tab-variables.$block-size;\r\n border: 1px solid transparent;\r\n border-radius: tab-variables.$border-radius tab-variables.$border-radius 0 0;\r\n color: tab-variables.$text-color;\r\n line-height: typography.$line-height-base;\r\n padding-block: tab-variables.$block-padding;\r\n padding-inline: tab-variables.$inline-padding;\r\n\r\n &:hover {\r\n border-color: tab-variables.$link-hover-border-color tab-variables.$link-hover-border-color\r\n tab-variables.$border-color;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n background-color: tab-variables.$nav-link-hover-bg;\r\n }\r\n\r\n &:active,\r\n &:focus,\r\n &:hover {\r\n background-color: tab-variables.$hover-color;\r\n border: 1px solid transparent;\r\n border-block-end-color: tab-variables.$color;\r\n text-decoration: none;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border-block-end-color: colors.$wit;\r\n }\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n border-color: colors.$wit;\r\n border-radius: 8px;\r\n padding-block: 18px;\r\n padding-inline: 20px;\r\n inline-size: 100%;\r\n text-align: start;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Method, Prop, h } from \"@stencil/core\";\r\n\r\nimport { isModifiedEvent } from \"../../../utils/is-modified-event\";\r\nimport { TabsSwitchEvent } from \"../tabs.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this tab\r\n */\r\n@Component({\r\n tag: \"dso-tab\",\r\n styleUrl: \"tab.scss\",\r\n shadow: true,\r\n})\r\nexport class Tab {\r\n @Element()\r\n host!: HTMLDsoTabElement;\r\n\r\n /**\r\n * Makes the tab active. The tab for which the tabpanel is visible is the active tab.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Disables the tab. A disabled tab cannot be activated and it's tabpanel cannot be shown.\r\n */\r\n @Prop({ reflect: true })\r\n disabled?: boolean;\r\n\r\n /**\r\n * The optional href of the tab. Creates an anchor if present. Creates a button if absent.\r\n */\r\n @Prop()\r\n href?: string;\r\n\r\n /**\r\n * Emitted when the user activates tab via click or arrow keys followed by space or enter.\r\n */\r\n @Event()\r\n dsoTabSwitch!: EventEmitter<TabsSwitchEvent>;\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _dsoFocus() {\r\n this.anchorOrButtonRef?.focus();\r\n }\r\n\r\n private anchorOrButtonRef?: HTMLAnchorElement | HTMLButtonElement;\r\n\r\n private emitEvent = (e: MouseEvent | KeyboardEvent) => {\r\n this.dsoTabSwitch.emit({\r\n originalEvent: e,\r\n isModifiedEvent: e instanceof MouseEvent ? isModifiedEvent(e) : false,\r\n });\r\n };\r\n\r\n private keyUpHandler = (e: KeyboardEvent) => {\r\n if (e.key === \" \" && !this.disabled && !this.active) {\r\n this.emitEvent(e);\r\n }\r\n };\r\n\r\n private clickHandler = (e: MouseEvent) => {\r\n if ((this.disabled && this.href) || this.active) {\r\n e.preventDefault();\r\n } else {\r\n this.emitEvent(e);\r\n }\r\n };\r\n\r\n render() {\r\n return this.href ? (\r\n <a\r\n role=\"tab\"\r\n href={this.href}\r\n onKeyUp={this.keyUpHandler}\r\n onClick={this.clickHandler}\r\n aria-selected={this.active ? \"true\" : \"false\"}\r\n {...(!this.active ? { tabIndex: -1 } : {})}\r\n ref={(element) => (this.anchorOrButtonRef = element)}\r\n >\r\n <slot />\r\n </a>\r\n ) : (\r\n <button\r\n role=\"tab\"\r\n type=\"button\"\r\n disabled={this.disabled}\r\n onClick={this.clickHandler}\r\n aria-selected={this.active ? \"true\" : \"false\"}\r\n {...(!this.active ? { tabIndex: -1 } : {})}\r\n ref={(element) => (this.anchorOrButtonRef = element)}\r\n >\r\n <slot />\r\n </button>\r\n );\r\n }\r\n}\r\n"],"mappings":"6FAAA,MAAMA,EAAS,kxE,MCaFC,EAAG,MALhB,WAAAC,CAAAC,G,qDA2CUC,KAAAC,UAAaC,IACnBF,KAAKG,aAAaC,KAAK,CACrBC,cAAeH,EACfI,gBAAiBJ,aAAaK,WAAaD,EAAgBJ,GAAK,OAChE,EAGIF,KAAAQ,aAAgBN,IACtB,GAAIA,EAAEO,MAAQ,MAAQT,KAAKU,WAAaV,KAAKW,OAAQ,CACnDX,KAAKC,UAAUC,E,GAIXF,KAAAY,aAAgBV,IACtB,GAAKF,KAAKU,UAAYV,KAAKa,MAASb,KAAKW,OAAQ,CAC/CT,EAAEY,gB,KACG,CACLd,KAAKC,UAAUC,E,EA+BpB,CAtDC,eAAMa,G,OACJC,EAAAhB,KAAKiB,qBAAmB,MAAAD,SAAA,SAAAA,EAAAE,O,CA0B1B,MAAAC,GACE,OAAOnB,KAAKa,KACVO,EACE,IAAAC,OAAAC,OAAA,CAAAC,KAAK,MACLV,KAAMb,KAAKa,KACXW,QAASxB,KAAKQ,aACdiB,QAASzB,KAAKY,aAAY,gBACXZ,KAAKW,OAAS,OAAS,UAChCX,KAAKW,OAAS,CAAEe,UAAU,GAAO,GAAG,CAC1CC,IAAMC,GAAa5B,KAAKiB,kBAAoBW,IAE5CR,EAAA,cAGFA,EAAA,SAAAC,OAAAC,OAAA,CACEC,KAAK,MACLM,KAAK,SACLnB,SAAUV,KAAKU,SACfe,QAASzB,KAAKY,aACC,gBAAAZ,KAAKW,OAAS,OAAS,UAChCX,KAAKW,OAAS,CAAEe,UAAU,GAAO,GAAG,CAC1CC,IAAMC,GAAa5B,KAAKiB,kBAAoBW,IAE5CR,EAAQ,a","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as o,c as t,h as s,g as e}from"./p-C-b4jsbt.js";import{c as i}from"./p-ChV9xqsO.js";import{d as r}from"./p-DDU8nTJS.js";import"./p-BFTU3MAI.js";const n='@charset "UTF-8";:host{display:block;block-size:100%;overflow-y:hidden}*,*::after,*::before{box-sizing:border-box}.dso-shadow-container{block-size:100%;max-block-size:inherit;min-block-size:inherit;position:relative}.dso-shadow-container .dso-scroll-container{block-size:100%;max-block-size:inherit;min-block-size:inherit;overflow-y:auto}.dso-shadow-container .dso-scroll-container::before,.dso-shadow-container .dso-scroll-container::after{background-repeat:no-repeat;background-size:100% 24px;content:"";display:block;block-size:24px;inset-inline-start:0;opacity:0;overflow:visible;position:absolute;transition:opacity 150ms ease-in-out;inline-size:100%;pointer-events:none;z-index:1}.dso-shadow-container .dso-scroll-container::before{background-image:linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));inset-block-start:0}.dso-shadow-container .dso-scroll-container::after{background-image:linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));inset-block-end:0}.dso-shadow-container .dso-scroll-container.dso-scroll-bottom::before{opacity:1}.dso-shadow-container .dso-scroll-container.dso-scroll-top::after{opacity:1}.dso-shadow-container .dso-scroll-container.dso-scroll-middle::before,.dso-shadow-container .dso-scroll-container.dso-scroll-middle::after{opacity:1}';const a=new ResizeObserver(r((o=>o.forEach((o=>{var t;return(t=c(o))===null||t===void 0?void 0:t._setScrollState()}))),50));function c({target:o}){if(o.parentNode instanceof ShadowRoot&&l(o.parentNode.host)){return o.parentNode.host}if(o.parentElement&&l(o.parentElement)){return o.parentElement}return undefined}function l(o){return o.tagName==="DSO-SCROLLABLE"}const d=class{constructor(s){o(this,s);this.dsoScrollEnd=t(this,"dsoScrollEnd",7);this.mutationObserver=new MutationObserver((o=>o.forEach((({target:o})=>{var t;const s=(t=o.parentElement)===null||t===void 0?void 0:t.closest("dso-scrollable");if(s!==this.host){return}this._setScrollState()}))));this.scrollPosition="noScroll"}async _setScrollState(){if(!this.host.isConnected){return}const o=this.getScrollPosition();if(this.scrollPosition!==o){this.scrollPosition=o;if(this.scrollPosition==="top"||this.scrollPosition==="bottom"){this.dsoScrollEnd.emit({scrollEnd:this.scrollPosition})}}}get slottedElements(){return Array.from(this.host.children)}getScrollPosition(){if(!this.scrollContainerDiv){return"noScroll"}const{scrollHeight:o,clientHeight:t,scrollTop:s}=this.scrollContainerDiv;if(o<=t){return"noScroll"}if(s===0){return"top"}if(o-s-t<1){return"bottom"}if(s>0){return"middle"}return"noScroll"}componentDidLoad(){this.mutationObserver.observe(this.host,{characterData:true,attributes:false,childList:false,subtree:true});if(this.shadowContainerDiv instanceof HTMLDivElement){a.observe(this.shadowContainerDiv)}this.slottedElements.forEach((o=>a.observe(o)))}disconnectedCallback(){if(this.shadowContainerDiv instanceof HTMLDivElement){a.unobserve(this.shadowContainerDiv)}this.mutationObserver.disconnect();this.slottedElements.forEach((o=>a.unobserve(o)))}render(){return s("div",{key:"8731a96c831972ad8f3ab111c24977bfb8ab3b49",ref:o=>this.shadowContainerDiv=o,class:"dso-shadow-container"},s("div",{key:"b2af22551c7847525bbf52ab8fef0a71cc84da7e",ref:o=>this.scrollContainerDiv=o,class:i("dso-scroll-container",{[`dso-scroll-${this.scrollPosition}`]:this.scrollPosition!=="noScroll"}),onScroll:()=>this._setScrollState()},s("slot",{key:"69233c37151fc601b20b938d828dba01ec98033a"})))}get host(){return e(this)}};d.style=n;export{d as dso_scrollable};
|
|
2
|
+
//# sourceMappingURL=p-a10cea33.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["scrollableCss","resizeObserver","ResizeObserver","debounce","entries","forEach","entry","_a","getScrollableComponentFromResizeObserverEntry","_setScrollState","target","parentNode","ShadowRoot","isDsoScrollableComponent","host","parentElement","undefined","element","tagName","Scrollable","constructor","hostRef","this","mutationObserver","MutationObserver","closest","scrollPosition","isConnected","getScrollPosition","dsoScrollEnd","emit","scrollEnd","slottedElements","Array","from","children","scrollContainerDiv","scrollHeight","clientHeight","scrollTop","componentDidLoad","observe","characterData","attributes","childList","subtree","shadowContainerDiv","HTMLDivElement","disconnectedCallback","unobserve","disconnect","render","h","key","ref","el","class","clsx","onScroll"],"sources":["src/components/scrollable/scrollable.scss?tag=dso-scrollable&encapsulation=shadow","src/components/scrollable/scrollable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n block-size: 100%;\r\n overflow-y: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-shadow-container {\r\n block-size: 100%;\r\n max-block-size: inherit;\r\n min-block-size: inherit;\r\n position: relative;\r\n\r\n .dso-scroll-container {\r\n block-size: 100%;\r\n max-block-size: inherit;\r\n min-block-size: inherit;\r\n overflow-y: auto;\r\n\r\n &::before,\r\n &::after {\r\n background-repeat: no-repeat;\r\n background-size: 100% units.$u3;\r\n content: \"\";\r\n display: block;\r\n block-size: units.$u3;\r\n inset-inline-start: 0;\r\n opacity: 0;\r\n overflow: visible;\r\n position: absolute;\r\n transition: opacity 150ms ease-in-out;\r\n inline-size: 100%;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n &::before {\r\n background-image: linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n inset-block-start: 0;\r\n }\r\n\r\n &::after {\r\n background-image: linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n inset-block-end: 0;\r\n }\r\n\r\n &.dso-scroll-bottom {\r\n &::before {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-top {\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-middle {\r\n &::before,\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Method, State, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DsoScrollEndEvent, ScrollPosition } from \"./scrollable.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(\r\n (entries: ResizeObserverEntry[]) =>\r\n entries.forEach((entry) => getScrollableComponentFromResizeObserverEntry(entry)?._setScrollState()),\r\n 50,\r\n ),\r\n);\r\n\r\nfunction getScrollableComponentFromResizeObserverEntry({\r\n target,\r\n}: ResizeObserverEntry): HTMLDsoScrollableElement | undefined {\r\n if (target.parentNode instanceof ShadowRoot && isDsoScrollableComponent(target.parentNode.host)) {\r\n return target.parentNode.host;\r\n }\r\n\r\n if (target.parentElement && isDsoScrollableComponent(target.parentElement)) {\r\n return target.parentElement;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction isDsoScrollableComponent(element: Element): element is HTMLDsoScrollableElement {\r\n return element.tagName === \"DSO-SCROLLABLE\";\r\n}\r\n\r\n@Component({\r\n tag: \"dso-scrollable\",\r\n styleUrl: \"scrollable.scss\",\r\n shadow: true,\r\n})\r\nexport class Scrollable {\r\n // One MutationObserver per instance because of https://github.com/whatwg/dom/issues/126\r\n private mutationObserver = new MutationObserver((entries) =>\r\n entries.forEach(({ target }) => {\r\n const element = target.parentElement?.closest(\"dso-scrollable\");\r\n if (element !== this.host) {\r\n return;\r\n }\r\n\r\n this._setScrollState();\r\n }),\r\n );\r\n\r\n private scrollContainerDiv?: HTMLDivElement;\r\n\r\n private shadowContainerDiv?: HTMLDivElement;\r\n\r\n @Element()\r\n host!: HTMLDsoScrollableElement;\r\n\r\n /**\r\n * Event emitted when the scrollbar has reached top or bottom.\r\n */\r\n @Event()\r\n dsoScrollEnd!: EventEmitter<DsoScrollEndEvent>;\r\n\r\n @State()\r\n scrollPosition: ScrollPosition = \"noScroll\";\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _setScrollState() {\r\n if (!this.host.isConnected) {\r\n return;\r\n }\r\n\r\n const scrollPosition = this.getScrollPosition();\r\n if (this.scrollPosition !== scrollPosition) {\r\n this.scrollPosition = scrollPosition;\r\n\r\n if (this.scrollPosition === \"top\" || this.scrollPosition === \"bottom\") {\r\n this.dsoScrollEnd.emit({ scrollEnd: this.scrollPosition });\r\n }\r\n }\r\n }\r\n\r\n private get slottedElements() {\r\n return Array.from(this.host.children);\r\n }\r\n\r\n private getScrollPosition(): ScrollPosition {\r\n if (!this.scrollContainerDiv) {\r\n return \"noScroll\";\r\n }\r\n\r\n const { scrollHeight, clientHeight, scrollTop } = this.scrollContainerDiv;\r\n\r\n if (scrollHeight <= clientHeight) {\r\n return \"noScroll\";\r\n }\r\n\r\n if (scrollTop === 0) {\r\n return \"top\";\r\n }\r\n\r\n if (scrollHeight - scrollTop - clientHeight < 1) {\r\n return \"bottom\";\r\n }\r\n\r\n if (scrollTop > 0) {\r\n return \"middle\";\r\n }\r\n\r\n return \"noScroll\";\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n attributes: false,\r\n childList: false,\r\n subtree: true,\r\n });\r\n\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.shadowContainerDiv);\r\n }\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.observe(element));\r\n }\r\n\r\n disconnectedCallback(): void {\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.unobserve(this.shadowContainerDiv);\r\n }\r\n\r\n this.mutationObserver.disconnect();\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.unobserve(element));\r\n }\r\n\r\n render() {\r\n return (\r\n <div ref={(el) => (this.shadowContainerDiv = el)} class=\"dso-shadow-container\">\r\n <div\r\n ref={(el) => (this.scrollContainerDiv = el)}\r\n class={clsx(\"dso-scroll-container\", {\r\n [`dso-scroll-${this.scrollPosition}`]: this.scrollPosition !== \"noScroll\",\r\n })}\r\n onScroll={() => this._setScrollState()}\r\n >\r\n <slot></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"yJAAA,MAAMA,EAAgB,
|
|
1
|
+
{"version":3,"names":["scrollableCss","resizeObserver","ResizeObserver","debounce","entries","forEach","entry","_a","getScrollableComponentFromResizeObserverEntry","_setScrollState","target","parentNode","ShadowRoot","isDsoScrollableComponent","host","parentElement","undefined","element","tagName","Scrollable","constructor","hostRef","this","mutationObserver","MutationObserver","closest","scrollPosition","isConnected","getScrollPosition","dsoScrollEnd","emit","scrollEnd","slottedElements","Array","from","children","scrollContainerDiv","scrollHeight","clientHeight","scrollTop","componentDidLoad","observe","characterData","attributes","childList","subtree","shadowContainerDiv","HTMLDivElement","disconnectedCallback","unobserve","disconnect","render","h","key","ref","el","class","clsx","onScroll"],"sources":["src/components/scrollable/scrollable.scss?tag=dso-scrollable&encapsulation=shadow","src/components/scrollable/scrollable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n block-size: 100%;\r\n overflow-y: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-shadow-container {\r\n block-size: 100%;\r\n max-block-size: inherit;\r\n min-block-size: inherit;\r\n position: relative;\r\n\r\n .dso-scroll-container {\r\n block-size: 100%;\r\n max-block-size: inherit;\r\n min-block-size: inherit;\r\n overflow-y: auto;\r\n\r\n &::before,\r\n &::after {\r\n background-repeat: no-repeat;\r\n background-size: 100% units.$u3;\r\n content: \"\";\r\n display: block;\r\n block-size: units.$u3;\r\n inset-inline-start: 0;\r\n opacity: 0;\r\n overflow: visible;\r\n position: absolute;\r\n transition: opacity 150ms ease-in-out;\r\n inline-size: 100%;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n &::before {\r\n background-image: linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n inset-block-start: 0;\r\n }\r\n\r\n &::after {\r\n background-image: linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n inset-block-end: 0;\r\n }\r\n\r\n &.dso-scroll-bottom {\r\n &::before {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-top {\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-middle {\r\n &::before,\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Method, State, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DsoScrollEndEvent, ScrollPosition } from \"./scrollable.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(\r\n (entries: ResizeObserverEntry[]) =>\r\n entries.forEach((entry) => getScrollableComponentFromResizeObserverEntry(entry)?._setScrollState()),\r\n 50,\r\n ),\r\n);\r\n\r\nfunction getScrollableComponentFromResizeObserverEntry({\r\n target,\r\n}: ResizeObserverEntry): HTMLDsoScrollableElement | undefined {\r\n if (target.parentNode instanceof ShadowRoot && isDsoScrollableComponent(target.parentNode.host)) {\r\n return target.parentNode.host;\r\n }\r\n\r\n if (target.parentElement && isDsoScrollableComponent(target.parentElement)) {\r\n return target.parentElement;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction isDsoScrollableComponent(element: Element): element is HTMLDsoScrollableElement {\r\n return element.tagName === \"DSO-SCROLLABLE\";\r\n}\r\n\r\n@Component({\r\n tag: \"dso-scrollable\",\r\n styleUrl: \"scrollable.scss\",\r\n shadow: true,\r\n})\r\nexport class Scrollable {\r\n // One MutationObserver per instance because of https://github.com/whatwg/dom/issues/126\r\n private mutationObserver = new MutationObserver((entries) =>\r\n entries.forEach(({ target }) => {\r\n const element = target.parentElement?.closest(\"dso-scrollable\");\r\n if (element !== this.host) {\r\n return;\r\n }\r\n\r\n this._setScrollState();\r\n }),\r\n );\r\n\r\n private scrollContainerDiv?: HTMLDivElement;\r\n\r\n private shadowContainerDiv?: HTMLDivElement;\r\n\r\n @Element()\r\n host!: HTMLDsoScrollableElement;\r\n\r\n /**\r\n * Event emitted when the scrollbar has reached top or bottom.\r\n */\r\n @Event()\r\n dsoScrollEnd!: EventEmitter<DsoScrollEndEvent>;\r\n\r\n @State()\r\n scrollPosition: ScrollPosition = \"noScroll\";\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _setScrollState() {\r\n if (!this.host.isConnected) {\r\n return;\r\n }\r\n\r\n const scrollPosition = this.getScrollPosition();\r\n if (this.scrollPosition !== scrollPosition) {\r\n this.scrollPosition = scrollPosition;\r\n\r\n if (this.scrollPosition === \"top\" || this.scrollPosition === \"bottom\") {\r\n this.dsoScrollEnd.emit({ scrollEnd: this.scrollPosition });\r\n }\r\n }\r\n }\r\n\r\n private get slottedElements() {\r\n return Array.from(this.host.children);\r\n }\r\n\r\n private getScrollPosition(): ScrollPosition {\r\n if (!this.scrollContainerDiv) {\r\n return \"noScroll\";\r\n }\r\n\r\n const { scrollHeight, clientHeight, scrollTop } = this.scrollContainerDiv;\r\n\r\n if (scrollHeight <= clientHeight) {\r\n return \"noScroll\";\r\n }\r\n\r\n if (scrollTop === 0) {\r\n return \"top\";\r\n }\r\n\r\n if (scrollHeight - scrollTop - clientHeight < 1) {\r\n return \"bottom\";\r\n }\r\n\r\n if (scrollTop > 0) {\r\n return \"middle\";\r\n }\r\n\r\n return \"noScroll\";\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n attributes: false,\r\n childList: false,\r\n subtree: true,\r\n });\r\n\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.shadowContainerDiv);\r\n }\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.observe(element));\r\n }\r\n\r\n disconnectedCallback(): void {\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.unobserve(this.shadowContainerDiv);\r\n }\r\n\r\n this.mutationObserver.disconnect();\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.unobserve(element));\r\n }\r\n\r\n render() {\r\n return (\r\n <div ref={(el) => (this.shadowContainerDiv = el)} class=\"dso-shadow-container\">\r\n <div\r\n ref={(el) => (this.scrollContainerDiv = el)}\r\n class={clsx(\"dso-scroll-container\", {\r\n [`dso-scroll-${this.scrollPosition}`]: this.scrollPosition !== \"noScroll\",\r\n })}\r\n onScroll={() => this._setScrollState()}\r\n >\r\n <slot></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"yJAAA,MAAMA,EAAgB,wyCCMtB,MAAMC,EAAiB,IAAIC,eACzBC,GACGC,GACCA,EAAQC,SAASC,IAAK,IAAAC,EAAK,OAAAA,EAAAC,EAA8CF,MAAM,MAAAC,SAAA,SAAAA,EAAEE,iBAAiB,KACpG,KAIJ,SAASD,GAA8CE,OACrDA,IAEA,GAAIA,EAAOC,sBAAsBC,YAAcC,EAAyBH,EAAOC,WAAWG,MAAO,CAC/F,OAAOJ,EAAOC,WAAWG,I,CAG3B,GAAIJ,EAAOK,eAAiBF,EAAyBH,EAAOK,eAAgB,CAC1E,OAAOL,EAAOK,a,CAGhB,OAAOC,SACT,CAEA,SAASH,EAAyBI,GAChC,OAAOA,EAAQC,UAAY,gBAC7B,C,MAOaC,EAAU,MALvB,WAAAC,CAAAC,G,qDAOUC,KAAAC,iBAAmB,IAAIC,kBAAkBpB,GAC/CA,EAAQC,SAAQ,EAAGK,a,MACjB,MAAMO,GAAUV,EAAAG,EAAOK,iBAAa,MAAAR,SAAA,SAAAA,EAAEkB,QAAQ,kBAC9C,GAAIR,IAAYK,KAAKR,KAAM,CACzB,M,CAGFQ,KAAKb,iBAAiB,MAkB1Ba,KAAcI,eAAmB,UA2FlC,CArFC,qBAAMjB,GACJ,IAAKa,KAAKR,KAAKa,YAAa,CAC1B,M,CAGF,MAAMD,EAAiBJ,KAAKM,oBAC5B,GAAIN,KAAKI,iBAAmBA,EAAgB,CAC1CJ,KAAKI,eAAiBA,EAEtB,GAAIJ,KAAKI,iBAAmB,OAASJ,KAAKI,iBAAmB,SAAU,CACrEJ,KAAKO,aAAaC,KAAK,CAAEC,UAAWT,KAAKI,gB,GAK/C,mBAAYM,GACV,OAAOC,MAAMC,KAAKZ,KAAKR,KAAKqB,S,CAGtB,iBAAAP,GACN,IAAKN,KAAKc,mBAAoB,CAC5B,MAAO,U,CAGT,MAAMC,aAAEA,EAAYC,aAAEA,EAAYC,UAAEA,GAAcjB,KAAKc,mBAEvD,GAAIC,GAAgBC,EAAc,CAChC,MAAO,U,CAGT,GAAIC,IAAc,EAAG,CACnB,MAAO,K,CAGT,GAAIF,EAAeE,EAAYD,EAAe,EAAG,CAC/C,MAAO,Q,CAGT,GAAIC,EAAY,EAAG,CACjB,MAAO,Q,CAGT,MAAO,U,CAGT,gBAAAC,GACElB,KAAKC,iBAAiBkB,QAAQnB,KAAKR,KAAM,CACvC4B,cAAe,KACfC,WAAY,MACZC,UAAW,MACXC,QAAS,OAGX,GAAIvB,KAAKwB,8BAA8BC,eAAgB,CACrD9C,EAAewC,QAAQnB,KAAKwB,mB,CAG9BxB,KAAKU,gBAAgB3B,SAASY,GAAYhB,EAAewC,QAAQxB,I,CAGnE,oBAAA+B,GACE,GAAI1B,KAAKwB,8BAA8BC,eAAgB,CACrD9C,EAAegD,UAAU3B,KAAKwB,mB,CAGhCxB,KAAKC,iBAAiB2B,aAEtB5B,KAAKU,gBAAgB3B,SAASY,GAAYhB,EAAegD,UAAUhC,I,CAGrE,MAAAkC,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,IAAMC,GAAQjC,KAAKwB,mBAAqBS,EAAKC,MAAM,wBACtDJ,EACE,OAAAC,IAAA,2CAAAC,IAAMC,GAAQjC,KAAKc,mBAAqBmB,EACxCC,MAAOC,EAAK,uBAAwB,CAClC,CAAC,cAAcnC,KAAKI,kBAAmBJ,KAAKI,iBAAmB,aAEjEgC,SAAU,IAAMpC,KAAKb,mBAErB2C,EAAa,QAAAC,IAAA,8C","ignoreList":[]}
|