@dso-toolkit/core 78.0.0 → 79.0.0-pre.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 +5 -5
- package/dist/bundle/dso-action-list-item.js +1 -1
- package/dist/bundle/dso-advanced-select.js +3 -3
- package/dist/bundle/dso-alert.js +1 -1
- package/dist/bundle/dso-annotation-activiteit.js +4 -4
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +4 -4
- package/dist/bundle/dso-annotation-kaart.js +2 -2
- package/dist/bundle/dso-annotation-locatie.js +1 -1
- package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +4 -4
- package/dist/bundle/dso-attachments-counter.js +1 -1
- package/dist/bundle/dso-autosuggest.js +3 -3
- package/dist/bundle/dso-card.js +1 -1
- package/dist/bundle/dso-date-picker-legacy.js +1 -1
- package/dist/bundle/dso-document-card.js +1 -1
- package/dist/bundle/dso-document-component.js +1 -1
- package/dist/bundle/dso-dropdown-menu.js +1 -1
- package/dist/bundle/dso-header.js +98 -97
- package/dist/bundle/dso-header.js.map +1 -1
- package/dist/bundle/dso-highlight-box.js +1 -1
- package/dist/bundle/dso-icon.js +1 -1
- package/dist/bundle/dso-image-overlay.js +1 -1
- package/dist/bundle/dso-info-button.js +1 -1
- package/dist/bundle/dso-info.js +1 -1
- package/dist/bundle/dso-input-range.js +2 -2
- package/dist/bundle/dso-label.js +1 -1
- package/dist/bundle/dso-legend-item.js +6 -6
- package/dist/bundle/dso-list-button.js +5 -5
- package/dist/bundle/dso-logo.js +2 -2
- package/dist/bundle/dso-logo.js.map +1 -1
- package/dist/bundle/dso-map-base-layers.js +5 -5
- package/dist/bundle/dso-map-controls.js +3 -3
- package/dist/bundle/dso-map-overlays.js +5 -5
- package/dist/bundle/dso-mark-bar.js +2 -2
- package/dist/bundle/dso-modal.js +3 -3
- package/dist/bundle/dso-onboarding-tip.js +2 -2
- package/dist/bundle/dso-ozon-content.js +1 -1
- package/dist/bundle/dso-pagination.js +2 -2
- package/dist/bundle/dso-panel.js +1 -1
- package/dist/bundle/dso-plekinfo-card.js +2 -2
- package/dist/bundle/dso-progress-bar.js +1 -1
- package/dist/bundle/dso-progress-indicator.js +1 -1
- package/dist/bundle/dso-project-item.js +4 -4
- package/dist/bundle/dso-responsive-element.js +1 -1
- package/dist/bundle/dso-scrollable.js +1 -1
- package/dist/bundle/dso-selectable.js +1 -1
- package/dist/bundle/dso-skiplink.js +2 -2
- package/dist/bundle/dso-slide-toggle.js +1 -1
- package/dist/bundle/dso-survey-rating.js +4 -4
- package/dist/bundle/dso-table.js +1 -1
- package/dist/bundle/dso-tabs.js +1 -1
- package/dist/bundle/dso-toggletip.js +1 -1
- package/dist/bundle/dso-tooltip.js +1 -1
- package/dist/bundle/dso-tree-view.js +3 -3
- package/dist/bundle/dso-viewer-grid.js +1 -1
- package/dist/bundle/dsot-document-component-demo.js +12 -12
- package/dist/bundle/{p-lE-KxpG-.js → p-7ffg336s.js} +3 -3
- package/dist/bundle/{p-lE-KxpG-.js.map → p-7ffg336s.js.map} +1 -1
- package/dist/bundle/{p-BZUv4Fwx.js → p-B3Alb07i.js} +6 -6
- package/dist/bundle/{p-BZUv4Fwx.js.map → p-B3Alb07i.js.map} +1 -1
- package/dist/bundle/{p-CUZmPl-a.js → p-BELL2NPR.js} +7 -7
- package/dist/bundle/{p-CUZmPl-a.js.map → p-BELL2NPR.js.map} +1 -1
- package/dist/bundle/{p-BQF5fCSD.js → p-BOvMM9C8.js} +3 -3
- package/dist/bundle/{p-BQF5fCSD.js.map → p-BOvMM9C8.js.map} +1 -1
- package/dist/bundle/{p-BnSdv9VD.js → p-B_9Gan2F.js} +10 -10
- package/dist/bundle/{p-BnSdv9VD.js.map → p-B_9Gan2F.js.map} +1 -1
- package/dist/bundle/{p-D0gB2lgu.js → p-Bgqhjszl.js} +3 -3
- package/dist/bundle/{p-D0gB2lgu.js.map → p-Bgqhjszl.js.map} +1 -1
- package/dist/bundle/{p-D92MZVkr.js → p-BqKuHNTU.js} +3 -3
- package/dist/bundle/{p-D92MZVkr.js.map → p-BqKuHNTU.js.map} +1 -1
- package/dist/bundle/{p-DNULhBX2.js → p-BrQ3aUVb.js} +3 -3
- package/dist/bundle/{p-DNULhBX2.js.map → p-BrQ3aUVb.js.map} +1 -1
- package/dist/bundle/{p-DcxEm1dI.js → p-C5KKL3gn.js} +7 -7
- package/dist/bundle/{p-DcxEm1dI.js.map → p-C5KKL3gn.js.map} +1 -1
- package/dist/bundle/{p-CwKyBrf3.js → p-CEFYoazH.js} +4 -4
- package/dist/bundle/{p-CwKyBrf3.js.map → p-CEFYoazH.js.map} +1 -1
- package/dist/bundle/{p-CXEXoC_s.js → p-CeXiA7z5.js} +3 -3
- package/dist/bundle/{p-CXEXoC_s.js.map → p-CeXiA7z5.js.map} +1 -1
- package/dist/bundle/{p-WmD5BfeO.js → p-CynPODEC.js} +4 -4
- package/dist/bundle/{p-WmD5BfeO.js.map → p-CynPODEC.js.map} +1 -1
- package/dist/bundle/{p-Dt1j98T1.js → p-DAJsc8Jk.js} +3 -3
- package/dist/bundle/{p-Dt1j98T1.js.map → p-DAJsc8Jk.js.map} +1 -1
- package/dist/bundle/{p-C2Ek2dWW.js → p-DRH8HBCF.js} +3 -3
- package/dist/bundle/{p-C2Ek2dWW.js.map → p-DRH8HBCF.js.map} +1 -1
- package/dist/bundle/{p--iZjxqv3.js → p-DrWTFwlB.js} +4 -4
- package/dist/bundle/{p--iZjxqv3.js.map → p-DrWTFwlB.js.map} +1 -1
- package/dist/bundle/{p-D3I3eS2K.js → p-DrrX-h-R.js} +4 -4
- package/dist/bundle/{p-D3I3eS2K.js.map → p-DrrX-h-R.js.map} +1 -1
- package/dist/bundle/{p-BLPc0VWK.js → p-S0YMB18e.js} +6 -6
- package/dist/bundle/{p-BLPc0VWK.js.map → p-S0YMB18e.js.map} +1 -1
- package/dist/bundle/{p-CH8BjCNJ.js → p-X4ksz0z1.js} +6 -6
- package/dist/bundle/{p-CH8BjCNJ.js.map → p-X4ksz0z1.js.map} +1 -1
- package/dist/bundle/{p-CYNNmESE.js → p-_H6ui1La.js} +3 -3
- package/dist/bundle/{p-CYNNmESE.js.map → p-_H6ui1La.js.map} +1 -1
- package/dist/bundle/{p-ChsWtZdt.js → p-uUOjJ6kU.js} +4 -4
- package/dist/bundle/{p-ChsWtZdt.js.map → p-uUOjJ6kU.js.map} +1 -1
- package/dist/cjs/dso-alert_6.cjs.entry.js +2 -2
- package/dist/cjs/dso-dropdown-menu.cjs.entry.js +1 -1
- package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-dropdown-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-header.cjs.entry.js +91 -89
- 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-icon.cjs.entry.js +1 -1
- package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
- package/dist/cjs/dso-input-range.cjs.entry.js +2 -2
- package/dist/cjs/dso-label_3.cjs.entry.js +4 -4
- package/dist/cjs/dso-legend-item.cjs.entry.js +1 -1
- package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-logo.cjs.entry.js +2 -2
- package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-logo.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
- package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js +1 -1
- package/dist/cjs/dso-onboarding-tip.cjs.entry.js +1 -1
- package/dist/cjs/dso-plekinfo-card.cjs.entry.js +1 -1
- package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
- package/dist/cjs/dso-project-item.cjs.entry.js +1 -1
- package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
- package/dist/cjs/dso-scrollable.cjs.entry.js +2 -2
- package/dist/cjs/dso-skiplink.cjs.entry.js +1 -1
- package/dist/cjs/dso-survey-rating.cjs.entry.js +2 -2
- package/dist/cjs/dso-tabs.cjs.entry.js +1 -1
- package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +1 -1
- package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/collection/components/header/header.css +28 -28
- package/dist/collection/components/header/header.interfaces.js.map +1 -1
- package/dist/collection/components/header/header.js +126 -107
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/header/menu-item.functional-component.js +6 -0
- package/dist/collection/components/header/menu-item.functional-component.js.map +1 -0
- package/dist/collection/components/highlight-box/highlight-box.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/info/info.js +1 -1
- package/dist/collection/components/info-button/info-button.js +1 -1
- package/dist/collection/components/input-range/input-range.js +2 -2
- package/dist/collection/components/label/label.js +3 -3
- package/dist/collection/components/legend-item/legend-item.js +1 -1
- package/dist/collection/components/list-button/list-button.js +1 -1
- package/dist/collection/components/logo/logo.css +2 -8
- package/dist/collection/components/logo/logo.js +1 -1
- package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
- package/dist/collection/components/map-controls/map-controls.js +1 -1
- package/dist/collection/components/map-overlays/map-overlays.js +1 -1
- package/dist/collection/components/mark-bar/mark-bar.js +1 -1
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/onboarding-tip/onboarding-tip.js +1 -1
- package/dist/collection/components/ozon-content/ozon-content.js +1 -1
- package/dist/collection/components/plekinfo-card/plekinfo-card.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
- package/dist/collection/components/project-item/project-item.js +1 -1
- package/dist/collection/components/responsive-element/responsive-element.js +1 -1
- package/dist/collection/components/scrollable/scrollable.js +2 -2
- package/dist/collection/components/selectable/selectable.js +1 -1
- package/dist/collection/components/skiplink/skiplink.js +1 -1
- package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
- package/dist/collection/components/survey-rating/survey-rating.js +2 -2
- package/dist/collection/components/table/table.js +1 -1
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/toggletip/toggletip.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/components/tree-view/tree-view.js +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
- package/dist/components/dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu.js.map +1 -1
- package/dist/components/dso-header.js +96 -95
- package/dist/components/dso-header.js.map +1 -1
- package/dist/components/dso-highlight-box.js +1 -1
- package/dist/components/dso-input-range.js +2 -2
- package/dist/components/dso-legend-item.js +1 -1
- package/dist/components/dso-list-button.js +1 -1
- package/dist/components/dso-logo.js +2 -2
- package/dist/components/dso-logo.js.map +1 -1
- package/dist/components/dso-map-base-layers.js +1 -1
- package/dist/components/dso-map-controls.js +1 -1
- package/dist/components/dso-map-overlays.js +1 -1
- package/dist/components/dso-mark-bar.js +1 -1
- package/dist/components/dso-modal.js +1 -1
- package/dist/components/dso-onboarding-tip.js +1 -1
- package/dist/components/dso-plekinfo-card.js +1 -1
- package/dist/components/dso-progress-bar.js +1 -1
- package/dist/components/dso-project-item.js +1 -1
- package/dist/components/dso-skiplink.js +1 -1
- package/dist/components/dso-survey-rating.js +2 -2
- package/dist/components/dso-tabs.js +1 -1
- package/dist/components/dso-tree-view.js +1 -1
- package/dist/components/dso-viewer-grid.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/info-button.js +1 -1
- package/dist/components/info.js +1 -1
- package/dist/components/label.js +3 -3
- package/dist/components/ozon-content.js +1 -1
- package/dist/components/progress-indicator.js +1 -1
- package/dist/components/responsive-element.js +1 -1
- package/dist/components/scrollable.js +2 -2
- package/dist/components/selectable.js +1 -1
- package/dist/components/slide-toggle.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/toggletip.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/dso-toolkit/dso-dropdown-menu.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-header.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-logo.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/{p-53466f70.entry.js → p-01e90e48.entry.js} +2 -2
- package/dist/dso-toolkit/{p-78a12530.entry.js → p-071846be.entry.js} +2 -2
- package/dist/dso-toolkit/{p-8128fe57.entry.js → p-08efe022.entry.js} +2 -2
- package/dist/dso-toolkit/{p-f055ab17.entry.js → p-1cc4cc04.entry.js} +2 -2
- package/dist/dso-toolkit/{p-6aff6420.entry.js → p-257a4650.entry.js} +2 -2
- package/dist/dso-toolkit/p-2660ebab.entry.js +2 -0
- package/dist/dso-toolkit/p-2660ebab.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-443a78e5.entry.js → p-275e5ec7.entry.js} +2 -2
- package/dist/dso-toolkit/{p-3300fe1e.entry.js → p-2cec1fea.entry.js} +2 -2
- package/dist/dso-toolkit/{p-53a81213.entry.js → p-445aba67.entry.js} +2 -2
- package/dist/dso-toolkit/{p-7731d7bb.entry.js → p-55637fe3.entry.js} +2 -2
- package/dist/dso-toolkit/{p-c359f83e.entry.js → p-67b6a838.entry.js} +2 -2
- package/dist/dso-toolkit/{p-b245449a.entry.js → p-6902ffb5.entry.js} +2 -2
- package/dist/dso-toolkit/{p-17219f16.entry.js → p-81711068.entry.js} +2 -2
- package/dist/dso-toolkit/{p-afaee982.entry.js → p-898de91a.entry.js} +2 -2
- package/dist/dso-toolkit/{p-6a813c6c.entry.js → p-951d879a.entry.js} +2 -2
- package/dist/dso-toolkit/{p-6a813c6c.entry.js.map → p-951d879a.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-02491a35.entry.js → p-9566b0a7.entry.js} +2 -2
- package/dist/dso-toolkit/p-9b2ca189.entry.js +2 -0
- package/dist/dso-toolkit/{p-3522c1dd.entry.js.map → p-9b2ca189.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-16255f29.entry.js → p-a38fbc5c.entry.js} +2 -2
- package/dist/dso-toolkit/{p-5c0322dc.entry.js → p-a62f368d.entry.js} +2 -2
- package/dist/dso-toolkit/{p-d51d9d66.entry.js → p-add3ca45.entry.js} +2 -2
- package/dist/dso-toolkit/{p-04d6ae97.entry.js → p-b4931ff4.entry.js} +2 -2
- package/dist/dso-toolkit/{p-f8557ec8.entry.js → p-b4ba87ac.entry.js} +2 -2
- package/dist/dso-toolkit/{p-ea71badf.entry.js → p-c45258d3.entry.js} +2 -2
- package/dist/dso-toolkit/{p-d0e82c62.entry.js → p-d864f7da.entry.js} +2 -2
- package/dist/dso-toolkit/{p-4d885de2.entry.js → p-d947dd25.entry.js} +2 -2
- package/dist/dso-toolkit/{p-1aa49aa7.entry.js → p-e299ac60.entry.js} +2 -2
- package/dist/dso-toolkit/{p-8fd586d4.entry.js → p-ef042313.entry.js} +2 -2
- package/dist/dso-toolkit/{p-fd42a8cd.entry.js → p-f2a61198.entry.js} +2 -2
- package/dist/dso-toolkit/{p-218b1fe3.entry.js → p-f4a1a07b.entry.js} +2 -2
- package/dist/dso-toolkit/p-f65ace88.entry.js +2 -0
- package/dist/dso-toolkit/p-f65ace88.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-43564b05.entry.js → p-f9bc4e87.entry.js} +2 -2
- package/dist/esm/dso-alert_6.entry.js +2 -2
- package/dist/esm/dso-dropdown-menu.entry.js +1 -1
- package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
- package/dist/esm/dso-header.entry.js +92 -90
- package/dist/esm/dso-header.entry.js.map +1 -1
- package/dist/esm/dso-highlight-box.entry.js +1 -1
- package/dist/esm/dso-icon.entry.js +1 -1
- package/dist/esm/dso-info-button.entry.js +1 -1
- package/dist/esm/dso-info_2.entry.js +2 -2
- package/dist/esm/dso-input-range.entry.js +2 -2
- package/dist/esm/dso-label_3.entry.js +4 -4
- package/dist/esm/dso-legend-item.entry.js +1 -1
- package/dist/esm/dso-list-button.entry.js +1 -1
- package/dist/esm/dso-logo.entry.js +2 -2
- package/dist/esm/dso-logo.entry.js.map +1 -1
- package/dist/esm/dso-map-base-layers.entry.js +1 -1
- package/dist/esm/dso-map-controls.entry.js +1 -1
- package/dist/esm/dso-map-overlays.entry.js +1 -1
- package/dist/esm/dso-mark-bar.entry.js +1 -1
- package/dist/esm/dso-modal.entry.js +1 -1
- package/dist/esm/dso-onboarding-tip.entry.js +1 -1
- package/dist/esm/dso-plekinfo-card.entry.js +1 -1
- package/dist/esm/dso-progress-bar.entry.js +1 -1
- package/dist/esm/dso-progress-indicator.entry.js +1 -1
- package/dist/esm/dso-project-item.entry.js +1 -1
- package/dist/esm/dso-responsive-element.entry.js +1 -1
- package/dist/esm/dso-scrollable.entry.js +2 -2
- package/dist/esm/dso-skiplink.entry.js +1 -1
- package/dist/esm/dso-survey-rating.entry.js +2 -2
- package/dist/esm/dso-tabs.entry.js +1 -1
- package/dist/esm/dso-toggletip.entry.js +1 -1
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-tooltip.entry.js +1 -1
- package/dist/esm/dso-tree-view.entry.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/header/header.d.ts +38 -26
- package/dist/types/components/header/header.interfaces.d.ts +2 -0
- package/dist/types/components/header/menu-item.functional-component.d.ts +9 -0
- package/dist/types/components.d.ts +20 -18
- package/package.json +3 -3
- package/dist/dso-toolkit/p-1a06ea3b.entry.js +0 -2
- package/dist/dso-toolkit/p-1a06ea3b.entry.js.map +0 -1
- package/dist/dso-toolkit/p-3522c1dd.entry.js +0 -2
- package/dist/dso-toolkit/p-a85afaa8.entry.js +0 -2
- package/dist/dso-toolkit/p-a85afaa8.entry.js.map +0 -1
- /package/dist/dso-toolkit/{p-53466f70.entry.js.map → p-01e90e48.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-78a12530.entry.js.map → p-071846be.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-8128fe57.entry.js.map → p-08efe022.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-f055ab17.entry.js.map → p-1cc4cc04.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-6aff6420.entry.js.map → p-257a4650.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-443a78e5.entry.js.map → p-275e5ec7.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-3300fe1e.entry.js.map → p-2cec1fea.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-53a81213.entry.js.map → p-445aba67.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-7731d7bb.entry.js.map → p-55637fe3.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-c359f83e.entry.js.map → p-67b6a838.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-b245449a.entry.js.map → p-6902ffb5.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-17219f16.entry.js.map → p-81711068.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-afaee982.entry.js.map → p-898de91a.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-02491a35.entry.js.map → p-9566b0a7.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-16255f29.entry.js.map → p-a38fbc5c.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-5c0322dc.entry.js.map → p-a62f368d.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-d51d9d66.entry.js.map → p-add3ca45.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-04d6ae97.entry.js.map → p-b4931ff4.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-f8557ec8.entry.js.map → p-b4ba87ac.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-ea71badf.entry.js.map → p-c45258d3.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-d0e82c62.entry.js.map → p-d864f7da.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-4d885de2.entry.js.map → p-d947dd25.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-1aa49aa7.entry.js.map → p-e299ac60.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-8fd586d4.entry.js.map → p-ef042313.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-fd42a8cd.entry.js.map → p-f2a61198.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-218b1fe3.entry.js.map → p-f4a1a07b.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-43564b05.entry.js.map → p-f9bc4e87.entry.js.map} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Fragment, h } from "@stencil/core";
|
|
1
|
+
import { Fragment, Host, forceUpdate, h, } from "@stencil/core";
|
|
2
2
|
import clsx from "clsx";
|
|
3
3
|
import debounce from "debounce";
|
|
4
4
|
import { i18n } from "../../utils/i18n";
|
|
5
5
|
import { isModifiedEvent } from "../../utils/is-modified-event";
|
|
6
6
|
import { translations } from "./header.i18n";
|
|
7
|
+
import { MenuItem } from "./menu-item.functional-component";
|
|
7
8
|
const minDesktopViewportWidth = 992;
|
|
8
9
|
export class Header {
|
|
9
10
|
constructor() {
|
|
@@ -12,9 +13,10 @@ export class Header {
|
|
|
12
13
|
*/
|
|
13
14
|
this.mainMenu = [];
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
+
* Set to "always" to force the header to be compact. Otherwise it will be compact when
|
|
17
|
+
* the viewport is smaller than 992px.
|
|
16
18
|
*/
|
|
17
|
-
this.
|
|
19
|
+
this.compact = "auto";
|
|
18
20
|
/**
|
|
19
21
|
* Used to show the login/logout option. 'none' renders nothing.
|
|
20
22
|
*/
|
|
@@ -23,83 +25,73 @@ export class Header {
|
|
|
23
25
|
* Show a help-button or link in the header
|
|
24
26
|
*/
|
|
25
27
|
this.showHelp = false;
|
|
26
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Set this to true when the user is at "Mijn Omgevingsloket".
|
|
30
|
+
*/
|
|
31
|
+
this.userHomeActive = false;
|
|
32
|
+
this.visibleMenuItemsCount = undefined;
|
|
27
33
|
this.dropdownOptionsOffset = 0;
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
34
|
+
this.onWindowResize = debounce(() => this.resetVisibleMenuItems(), 20);
|
|
35
|
+
this.resetVisibleMenuItems = () => {
|
|
36
|
+
this.visibleMenuItemsCount = undefined;
|
|
37
|
+
forceUpdate(this.host);
|
|
38
|
+
};
|
|
39
|
+
this.clickHandler = (e, type, options) => {
|
|
30
40
|
var _a, _b;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
}, 100);
|
|
39
|
-
this.MenuItem = (item) => {
|
|
40
|
-
return (h("li", { class: item.active ? "dso-active" : undefined }, h("a", { href: item.url, "aria-current": item.active ? "page" : undefined, onClick: (e) => this.clickHandler(e, "menuItem", { menuItem: item }) }, item.label)));
|
|
41
|
+
this.dsoHeaderClick.emit({
|
|
42
|
+
originalEvent: e,
|
|
43
|
+
isModifiedEvent: isModifiedEvent(e),
|
|
44
|
+
type,
|
|
45
|
+
menuItem: options === null || options === void 0 ? void 0 : options.menuItem,
|
|
46
|
+
url: (_a = options === null || options === void 0 ? void 0 : options.url) !== null && _a !== void 0 ? _a : (_b = options === null || options === void 0 ? void 0 : options.menuItem) === null || _b === void 0 ? void 0 : _b.url,
|
|
47
|
+
});
|
|
41
48
|
};
|
|
49
|
+
this.menuItemElementRefs = [];
|
|
50
|
+
this.text = i18n(() => this.host, translations);
|
|
42
51
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this.dsoHeaderClick.emit({
|
|
46
|
-
originalEvent: e,
|
|
47
|
-
isModifiedEvent: isModifiedEvent(e),
|
|
48
|
-
type,
|
|
49
|
-
menuItem: options === null || options === void 0 ? void 0 : options.menuItem,
|
|
50
|
-
url: (_a = options === null || options === void 0 ? void 0 : options.url) !== null && _a !== void 0 ? _a : (_b = options === null || options === void 0 ? void 0 : options.menuItem) === null || _b === void 0 ? void 0 : _b.url,
|
|
51
|
-
});
|
|
52
|
+
mainMenuChanged() {
|
|
53
|
+
this.resetVisibleMenuItems();
|
|
52
54
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
this.setDropDownMenu();
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
this.showDropDown = value === "always";
|
|
55
|
+
resizeListener() {
|
|
56
|
+
this.onWindowResize();
|
|
59
57
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (this.wrapper.clientWidth >= this.nav.clientWidth) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
if (this.mainMenu && this.overflowMenuItems >= this.mainMenu.length) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
this.overflowMenuItems++;
|
|
58
|
+
get isCompact() {
|
|
59
|
+
return this.compact === "always" || window.innerWidth < minDesktopViewportWidth;
|
|
71
60
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (this.showDropDown) {
|
|
90
|
-
return;
|
|
61
|
+
/**
|
|
62
|
+
* Before determining the visible menu items, all the menu items are rendered (including the dropdown menu item and the user home menu item).
|
|
63
|
+
* Then the visible menu items are calculated in componentDidRender() and ONLY when the visibleMenuItemsCount is undefined.
|
|
64
|
+
*
|
|
65
|
+
* When the window resizes or this.mainMenu changes, a reset is triggered to recalculate the visible menu items.
|
|
66
|
+
*
|
|
67
|
+
* @param navElement The navigation element to calculate the overflow menu item count for.
|
|
68
|
+
* @returns The number of menu items that can fit in the available space.
|
|
69
|
+
*/
|
|
70
|
+
calculateOverflowMenuItemCount(navElement) {
|
|
71
|
+
var _a;
|
|
72
|
+
const availableWidth = navElement.offsetWidth;
|
|
73
|
+
const lastMenuItem = this.menuItemElementRefs[this.menuItemElementRefs.length - 1];
|
|
74
|
+
const mostRightMenuItem = (_a = this.userHomeMenuItemElementRef) !== null && _a !== void 0 ? _a : lastMenuItem;
|
|
75
|
+
const dropdownMenuItem = this.dropdownMenuItemElementRef;
|
|
76
|
+
if (!mostRightMenuItem || !dropdownMenuItem || !lastMenuItem) {
|
|
77
|
+
return this.menuItemElementRefs.length;
|
|
91
78
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
79
|
+
const dropdownMenuItemEffectiveWidth = dropdownMenuItem.offsetLeft + dropdownMenuItem.offsetWidth - (lastMenuItem.offsetLeft + lastMenuItem.offsetWidth);
|
|
80
|
+
const requiredWidth = mostRightMenuItem.offsetLeft + mostRightMenuItem.offsetWidth - dropdownMenuItemEffectiveWidth;
|
|
81
|
+
if (requiredWidth <= availableWidth) {
|
|
82
|
+
return this.menuItemElementRefs.length;
|
|
95
83
|
}
|
|
96
|
-
this.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
84
|
+
const userHomeMenuItemEffectiveWidth = this.userHomeMenuItemElementRef
|
|
85
|
+
? this.userHomeMenuItemElementRef.offsetLeft +
|
|
86
|
+
this.userHomeMenuItemElementRef.offsetWidth -
|
|
87
|
+
(dropdownMenuItem.offsetLeft + dropdownMenuItem.offsetWidth)
|
|
88
|
+
: 0;
|
|
89
|
+
const remainingWidth = availableWidth - dropdownMenuItemEffectiveWidth - userHomeMenuItemEffectiveWidth;
|
|
90
|
+
const visibleMenuItems = this.menuItemElementRefs.findIndex((menuItem) => menuItem && menuItem.offsetLeft + menuItem.offsetWidth > remainingWidth);
|
|
91
|
+
if (visibleMenuItems < 0) {
|
|
92
|
+
return this.menuItemElementRefs.length;
|
|
101
93
|
}
|
|
102
|
-
|
|
94
|
+
return visibleMenuItems;
|
|
103
95
|
}
|
|
104
96
|
calculateDropdownOptionsOffset() {
|
|
105
97
|
var _a;
|
|
@@ -109,28 +101,34 @@ export class Header {
|
|
|
109
101
|
return (this.host.clientHeight -
|
|
110
102
|
(((_a = this.dropdownElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().bottom) - this.host.getBoundingClientRect().top));
|
|
111
103
|
}
|
|
112
|
-
|
|
113
|
-
|
|
104
|
+
get visibleMainMenuItems() {
|
|
105
|
+
return typeof this.visibleMenuItemsCount === "number"
|
|
106
|
+
? this.mainMenu.slice(0, this.visibleMenuItemsCount)
|
|
107
|
+
: this.mainMenu;
|
|
114
108
|
}
|
|
115
|
-
|
|
116
|
-
|
|
109
|
+
get hiddenMainMenuItems() {
|
|
110
|
+
return typeof this.visibleMenuItemsCount === "number" ? this.mainMenu.slice(this.visibleMenuItemsCount) : [];
|
|
117
111
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (this.showDropDown === undefined) {
|
|
112
|
+
componentDidRender() {
|
|
113
|
+
if (!this.host.isConnected) {
|
|
121
114
|
return;
|
|
122
115
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
116
|
+
if (this.isCompact && this.dropdownElement) {
|
|
117
|
+
this.dropdownElement.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();
|
|
118
|
+
}
|
|
119
|
+
if (typeof this.visibleMenuItemsCount === "undefined" && this.navElement) {
|
|
120
|
+
this.visibleMenuItemsCount = this.calculateOverflowMenuItemCount(this.navElement);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
render() {
|
|
124
|
+
return (h(Host, { key: '8e00a5489946b71addacb1b71c2f9f36d443c14f', "is-compact": this.isCompact }, h("div", { key: '220b6faaeb955c2631dd038434fb91f74f90f233', class: "dso-header" }, h("div", { key: '00800011fd196a1c59e6401309ecbd3e97d7be6f', class: "logo-container" }, h("slot", { key: '6285ba06ebca475c7d38d3fb4ab60fdbb82a60e3', name: "logo" })), this.isCompact ? this.renderCompact() : this.renderNormal())));
|
|
125
|
+
}
|
|
126
|
+
renderCompact() {
|
|
127
|
+
return ((this.mainMenu.length > 0 || this.userHomeUrl || this.authStatus !== "none") && (h("div", { class: "dropdown" }, h("dso-dropdown-menu", { "dropdown-align": "right", dropdownOptionsOffset: this.dropdownOptionsOffset, ref: (element) => (this.dropdownElement = element) }, h("button", { type: "button", slot: "toggle" }, h("span", null, this.text("menu")), h("dso-icon", { icon: "chevron-down" })), h("div", { class: "dso-dropdown-options" }, h("ul", null, this.mainMenu.map((menuItem) => (h(MenuItem, { item: menuItem, onClick: (e) => this.clickHandler(e, "menuItem", { menuItem }) }))), this.userHomeUrl && (h("li", null, h("a", { href: this.userHomeUrl, onClick: (e) => this.clickHandler(e, "userHome", { url: this.userHomeUrl }) }, this.text("userHome")))), this.userProfileUrl && this.userProfileName && this.authStatus === "loggedIn" && (h("li", null, h("a", { href: this.userProfileUrl, onClick: (e) => this.clickHandler(e, "profile", { url: this.userProfileUrl }) }, this.userProfileName, h("span", { class: "profile-label" }, " - Mijn profiel")))), this.authStatus === "loggedOut" && (h("li", null, this.loginUrl ? (h("a", { href: this.loginUrl, onClick: (e) => this.clickHandler(e, "login", { url: this.loginUrl }) }, this.text("login"))) : (h("button", { type: "button", onClick: (e) => this.clickHandler(e, "login") }, this.text("login"))))), this.authStatus === "loggedIn" && (h("li", null, this.logoutUrl ? (h("a", { href: this.logoutUrl, onClick: (e) => this.clickHandler(e, "logout", { url: this.logoutUrl }) }, this.text("logout"))) : (h("button", { type: "button", onClick: (e) => this.clickHandler(e, "logout") }, this.text("logout"))))), this.showHelp && (h("li", null, this.helpUrl ? (h("a", { href: this.helpUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "help", { url: this.helpUrl }) }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" }))) : (h("button", { type: "button", class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "help") }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" })))))))))));
|
|
128
|
+
}
|
|
129
|
+
renderNormal() {
|
|
130
|
+
this.menuItemElementRefs = [];
|
|
131
|
+
return (h(Fragment, null, h("div", { class: "dso-header-session" }, this.userProfileUrl && this.userProfileName && this.authStatus === "loggedIn" && (h("div", { class: "profile" }, h("a", { href: this.userProfileUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "profile", { url: this.userProfileUrl }) }, this.userProfileName))), this.authStatus === "loggedOut" && (h("div", { class: "login" }, this.loginUrl ? (h("a", { href: this.loginUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "login", { url: this.loginUrl }) }, this.text("login"))) : (h("button", { class: "dso-tertiary", type: "button", onClick: (e) => this.clickHandler(e, "login") }, this.text("login"))))), this.authStatus === "loggedIn" && (h("div", { class: "logout" }, this.logoutUrl ? (h("a", { href: this.logoutUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "logout", { url: this.logoutUrl }) }, this.text("logout"))) : (h("button", { class: "dso-tertiary", type: "button", onClick: (e) => this.clickHandler(e, "logout") }, this.text("logout"))))), this.showHelp && (h("div", { class: "help" }, this.helpUrl ? (h("a", { href: this.helpUrl, class: "dso-tertiary", onClick: (e) => this.clickHandler(e, "help", { url: this.helpUrl }) }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" }))) : (h("button", { class: "dso-tertiary", type: "button", onClick: (e) => this.clickHandler(e, "help") }, h("span", null, this.text("help")), h("dso-icon", { icon: "help" })))))), (this.mainMenu.length > 0 || this.userHomeUrl) && (h("nav", { class: "dso-navbar" }, h("ul", { class: clsx("dso-nav", "dso-nav-main", { ready: this.visibleMenuItemsCount !== undefined }), ref: (element) => (this.navElement = element) }, this.visibleMainMenuItems.map((menuItem, i) => (h(MenuItem, { item: menuItem, onClick: (e) => this.clickHandler(e, "menuItem", { menuItem }), key: menuItem.label, ref: (el) => (this.menuItemElementRefs[i] = el) }))), (this.visibleMenuItemsCount === undefined || this.hiddenMainMenuItems.length > 0) && (h("li", { "aria-hidden": this.visibleMenuItemsCount === undefined, ref: (el) => (this.dropdownMenuItemElementRef = el), class: "dropdown-menu-item" }, h("dso-dropdown-menu", null, h("button", { type: "button", slot: "toggle" }, h("span", null, this.text("overflowMenu")), h("dso-icon", { icon: "chevron-down", class: "main-menu-item-icon" })), h("div", { class: "dso-dropdown-options" }, h("ul", null, this.hiddenMainMenuItems.map((menuItem) => (h(MenuItem, { item: menuItem, onClick: (e) => this.clickHandler(e, "menuItem", { menuItem }) })))))))), this.userHomeUrl && (h("li", { class: clsx("menu-user-home", { "dso-active": this.userHomeActive }), ref: (el) => (this.userHomeMenuItemElementRef = el) }, h("a", { href: this.userHomeUrl, "aria-current": this.userHomeActive ? "page" : undefined, onClick: (e) => this.clickHandler(e, "userHome", { url: this.userHomeUrl }) }, h("dso-icon", { icon: "user-line", class: "main-menu-item-icon" }), this.text("userHome")))))))));
|
|
134
132
|
}
|
|
135
133
|
static get is() { return "dso-header"; }
|
|
136
134
|
static get encapsulation() { return "shadow"; }
|
|
@@ -152,7 +150,7 @@ export class Header {
|
|
|
152
150
|
"mutable": false,
|
|
153
151
|
"complexType": {
|
|
154
152
|
"original": "HeaderMenuItem[]",
|
|
155
|
-
"resolved": "HeaderMenuItem[]
|
|
153
|
+
"resolved": "HeaderMenuItem[]",
|
|
156
154
|
"references": {
|
|
157
155
|
"HeaderMenuItem": {
|
|
158
156
|
"location": "import",
|
|
@@ -162,7 +160,7 @@ export class Header {
|
|
|
162
160
|
}
|
|
163
161
|
},
|
|
164
162
|
"required": false,
|
|
165
|
-
"optional":
|
|
163
|
+
"optional": false,
|
|
166
164
|
"docs": {
|
|
167
165
|
"tags": [],
|
|
168
166
|
"text": "The main menu items."
|
|
@@ -171,20 +169,26 @@ export class Header {
|
|
|
171
169
|
"setter": false,
|
|
172
170
|
"defaultValue": "[]"
|
|
173
171
|
},
|
|
174
|
-
"
|
|
172
|
+
"compact": {
|
|
175
173
|
"type": "string",
|
|
176
|
-
"attribute": "
|
|
174
|
+
"attribute": "compact",
|
|
177
175
|
"mutable": false,
|
|
178
176
|
"complexType": {
|
|
179
|
-
"original": "
|
|
177
|
+
"original": "HeaderCompactMode",
|
|
180
178
|
"resolved": "\"always\" | \"auto\"",
|
|
181
|
-
"references": {
|
|
179
|
+
"references": {
|
|
180
|
+
"HeaderCompactMode": {
|
|
181
|
+
"location": "import",
|
|
182
|
+
"path": "./header.interfaces",
|
|
183
|
+
"id": "src/components/header/header.interfaces.ts::HeaderCompactMode"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
182
186
|
},
|
|
183
187
|
"required": false,
|
|
184
188
|
"optional": false,
|
|
185
189
|
"docs": {
|
|
186
190
|
"tags": [],
|
|
187
|
-
"text": "
|
|
191
|
+
"text": "Set to \"always\" to force the header to be compact. Otherwise it will be compact when\r\nthe viewport is smaller than 992px."
|
|
188
192
|
},
|
|
189
193
|
"getter": false,
|
|
190
194
|
"setter": false,
|
|
@@ -196,9 +200,15 @@ export class Header {
|
|
|
196
200
|
"attribute": "auth-status",
|
|
197
201
|
"mutable": false,
|
|
198
202
|
"complexType": {
|
|
199
|
-
"original": "
|
|
203
|
+
"original": "HeaderAuthStatus",
|
|
200
204
|
"resolved": "\"loggedIn\" | \"loggedOut\" | \"none\"",
|
|
201
|
-
"references": {
|
|
205
|
+
"references": {
|
|
206
|
+
"HeaderAuthStatus": {
|
|
207
|
+
"location": "import",
|
|
208
|
+
"path": "./header.interfaces",
|
|
209
|
+
"id": "src/components/header/header.interfaces.ts::HeaderAuthStatus"
|
|
210
|
+
}
|
|
211
|
+
}
|
|
202
212
|
},
|
|
203
213
|
"required": false,
|
|
204
214
|
"optional": false,
|
|
@@ -254,12 +264,12 @@ export class Header {
|
|
|
254
264
|
"attribute": "show-help",
|
|
255
265
|
"mutable": false,
|
|
256
266
|
"complexType": {
|
|
257
|
-
"original": "boolean
|
|
258
|
-
"resolved": "boolean
|
|
267
|
+
"original": "boolean",
|
|
268
|
+
"resolved": "boolean",
|
|
259
269
|
"references": {}
|
|
260
270
|
},
|
|
261
271
|
"required": false,
|
|
262
|
-
"optional":
|
|
272
|
+
"optional": false,
|
|
263
273
|
"docs": {
|
|
264
274
|
"tags": [],
|
|
265
275
|
"text": "Show a help-button or link in the header"
|
|
@@ -351,25 +361,25 @@ export class Header {
|
|
|
351
361
|
"mutable": false,
|
|
352
362
|
"complexType": {
|
|
353
363
|
"original": "boolean",
|
|
354
|
-
"resolved": "boolean
|
|
364
|
+
"resolved": "boolean",
|
|
355
365
|
"references": {}
|
|
356
366
|
},
|
|
357
367
|
"required": false,
|
|
358
|
-
"optional":
|
|
368
|
+
"optional": false,
|
|
359
369
|
"docs": {
|
|
360
370
|
"tags": [],
|
|
361
371
|
"text": "Set this to true when the user is at \"Mijn Omgevingsloket\"."
|
|
362
372
|
},
|
|
363
373
|
"getter": false,
|
|
364
374
|
"setter": false,
|
|
365
|
-
"reflect": false
|
|
375
|
+
"reflect": false,
|
|
376
|
+
"defaultValue": "false"
|
|
366
377
|
}
|
|
367
378
|
};
|
|
368
379
|
}
|
|
369
380
|
static get states() {
|
|
370
381
|
return {
|
|
371
|
-
"
|
|
372
|
-
"overflowMenuItems": {},
|
|
382
|
+
"visibleMenuItemsCount": {},
|
|
373
383
|
"dropdownOptionsOffset": {}
|
|
374
384
|
};
|
|
375
385
|
}
|
|
@@ -400,8 +410,17 @@ export class Header {
|
|
|
400
410
|
static get elementRef() { return "host"; }
|
|
401
411
|
static get watchers() {
|
|
402
412
|
return [{
|
|
403
|
-
"propName": "
|
|
404
|
-
"methodName": "
|
|
413
|
+
"propName": "mainMenu",
|
|
414
|
+
"methodName": "mainMenuChanged"
|
|
415
|
+
}];
|
|
416
|
+
}
|
|
417
|
+
static get listeners() {
|
|
418
|
+
return [{
|
|
419
|
+
"name": "resize",
|
|
420
|
+
"method": "resizeListener",
|
|
421
|
+
"target": "window",
|
|
422
|
+
"capture": false,
|
|
423
|
+
"passive": true
|
|
405
424
|
}];
|
|
406
425
|
}
|
|
407
426
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/components/header/header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { translations } from \"./header.i18n\";\r\nimport { HeaderEvent, HeaderMenuItem, HeaderNavigationType } from \"./header.interfaces\";\r\n\r\nconst minDesktopViewportWidth = 992;\r\n\r\n@Component({\r\n tag: \"dso-header\",\r\n styleUrl: \"header.scss\",\r\n shadow: true,\r\n})\r\nexport class Header {\r\n private clickHandler(\r\n e: MouseEvent,\r\n type: HeaderNavigationType,\r\n options?: { menuItem?: HeaderMenuItem; url?: string },\r\n ) {\r\n this.dsoHeaderClick.emit({\r\n originalEvent: e,\r\n isModifiedEvent: isModifiedEvent(e),\r\n type,\r\n menuItem: options?.menuItem,\r\n url: options?.url ?? options?.menuItem?.url,\r\n });\r\n }\r\n\r\n private dropdownElement?: HTMLElement;\r\n\r\n @Element()\r\n host!: HTMLDsoHeaderElement;\r\n\r\n /**\r\n * The main menu items.\r\n */\r\n @Prop()\r\n mainMenu?: HeaderMenuItem[] = [];\r\n\r\n /**\r\n * Either have the dropdown menu appear automatically or always.\r\n */\r\n @Prop()\r\n useDropDownMenu: \"always\" | \"auto\" = \"auto\";\r\n\r\n /**\r\n * Used to show the login/logout option. 'none' renders nothing.\r\n */\r\n @Prop()\r\n authStatus: \"none\" | \"loggedIn\" | \"loggedOut\" = \"none\";\r\n\r\n /**\r\n * When the `authStatus` is `loggedOut` a loginUrl can be provided.\r\n * The login button will then render as an anchor.\r\n */\r\n @Prop()\r\n loginUrl?: string;\r\n\r\n /**\r\n * The URL to open when the user activates \"logout\".\r\n * If no URL is specified, a button element is used instead.\r\n */\r\n @Prop()\r\n logoutUrl?: string;\r\n\r\n /**\r\n * Show a help-button or link in the header\r\n */\r\n @Prop()\r\n showHelp? = false;\r\n\r\n /**\r\n * The URL to open when the user activates \"help\".\r\n * If no URL is specified, a button element is used instead.\r\n */\r\n @Prop()\r\n helpUrl?: string;\r\n\r\n /**\r\n * The name to show when the user is logged in.\r\n */\r\n @Prop()\r\n userProfileName?: string;\r\n\r\n /**\r\n * The URL to open when the user activates the profile url.\r\n */\r\n @Prop()\r\n userProfileUrl?: string;\r\n\r\n /**\r\n * The URL to open when the user activates \"Mijn Omgevingsloket\".\r\n */\r\n @Prop()\r\n userHomeUrl?: string;\r\n\r\n /**\r\n * Set this to true when the user is at \"Mijn Omgevingsloket\".\r\n */\r\n @Prop()\r\n userHomeActive?: boolean;\r\n\r\n @State()\r\n showDropDown?: boolean;\r\n\r\n @State()\r\n overflowMenuItems = 0;\r\n\r\n @State()\r\n dropdownOptionsOffset = 0;\r\n\r\n /**\r\n * Emitted when something in the header is selected.\r\n *\r\n * `event.detail.type` indicates the functionality the user pressed. eg. `'login'` or `'menuItem'`\r\n */\r\n @Event()\r\n dsoHeaderClick!: EventEmitter<HeaderEvent>;\r\n\r\n @Watch(\"useDropDownMenu\")\r\n setShowDropDown(value: \"always\" | \"auto\") {\r\n if (value === \"auto\") {\r\n this.setDropDownMenu();\r\n\r\n return;\r\n }\r\n\r\n this.showDropDown = value === \"always\";\r\n }\r\n\r\n private wrapper: HTMLDivElement | undefined;\r\n\r\n private nav: HTMLUListElement | undefined;\r\n\r\n private shrinkMenuToFit() {\r\n if (!this.wrapper || !this.nav) {\r\n return;\r\n }\r\n\r\n if (this.wrapper.clientWidth >= this.nav.clientWidth) {\r\n return;\r\n }\r\n\r\n if (this.mainMenu && this.overflowMenuItems >= this.mainMenu.length) {\r\n return;\r\n }\r\n\r\n this.overflowMenuItems++;\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n if (!this.host.isConnected) {\r\n return;\r\n }\r\n\r\n if (this.showDropDown) {\r\n this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n\r\n return;\r\n }\r\n\r\n window.setTimeout(() => this.shrinkMenuToFit(), 0);\r\n }\r\n\r\n componentDidLoad() {\r\n this.setShowDropDown(this.useDropDownMenu);\r\n\r\n if (this.showDropDown) {\r\n this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n }\r\n }\r\n\r\n private setOverflowMenu() {\r\n if (this.showDropDown) {\r\n return;\r\n }\r\n\r\n if (this.overflowMenuItems !== 0) {\r\n this.overflowMenuItems = 0;\r\n return;\r\n }\r\n\r\n this.shrinkMenuToFit();\r\n }\r\n\r\n private setDropDownMenu() {\r\n if (this.useDropDownMenu !== \"auto\") {\r\n return;\r\n }\r\n\r\n this.showDropDown = window.innerWidth < minDesktopViewportWidth;\r\n }\r\n\r\n private calculateDropdownOptionsOffset() {\r\n if (!this.dropdownElement) {\r\n return 0;\r\n }\r\n\r\n return (\r\n this.host.clientHeight -\r\n (this.dropdownElement?.getBoundingClientRect().bottom - this.host.getBoundingClientRect().top)\r\n );\r\n }\r\n\r\n private onWindowResize = debounce(() => {\r\n this.dropdownElement?.removeAttribute(\"open\");\r\n this.dropdownElement?.removeAttribute(\"tabindex\");\r\n\r\n this.setDropDownMenu();\r\n this.setOverflowMenu();\r\n\r\n if (this.showDropDown) {\r\n this.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n }\r\n }, 100);\r\n\r\n connectedCallback() {\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n }\r\n\r\n private MenuItem = (item: HeaderMenuItem) => {\r\n return (\r\n <li class={item.active ? \"dso-active\" : undefined}>\r\n <a\r\n href={item.url}\r\n aria-current={item.active ? \"page\" : undefined}\r\n onClick={(e) => this.clickHandler(e, \"menuItem\", { menuItem: item })}\r\n >\r\n {item.label}\r\n </a>\r\n </li>\r\n );\r\n };\r\n\r\n render() {\r\n // Prevent 'flickering' when useDropDownMenu = 'always'\r\n if (this.showDropDown === undefined) {\r\n return;\r\n }\r\n\r\n return (\r\n <>\r\n <div\r\n class={clsx(\"dso-header\", {\r\n [\"use-drop-down\"]: this.showDropDown,\r\n })}\r\n ref={(element) => (this.wrapper = element)}\r\n >\r\n <div class=\"logo-container\">\r\n <slot name=\"logo\" />\r\n </div>\r\n {this.showDropDown &&\r\n this.mainMenu &&\r\n (this.mainMenu.length > 0 || this.userHomeUrl || this.authStatus !== \"none\") && (\r\n <div class=\"dropdown\">\r\n <dso-dropdown-menu\r\n dropdown-align=\"right\"\r\n dropdownOptionsOffset={this.dropdownOptionsOffset}\r\n ref={(element) => (this.dropdownElement = element)}\r\n >\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>{this.text(\"menu\")}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </button>\r\n <div class=\"dso-dropdown-options\">\r\n <ul>\r\n {this.mainMenu.map(this.MenuItem)}\r\n {this.userHomeUrl && (\r\n <li>\r\n <a\r\n href={this.userHomeUrl}\r\n onClick={(e) => this.clickHandler(e, \"userHome\", { url: this.userHomeUrl })}\r\n >\r\n {this.text(\"userHome\")}\r\n </a>\r\n </li>\r\n )}\r\n {this.userProfileUrl && this.userProfileName && this.authStatus === \"loggedIn\" && (\r\n <li>\r\n <a\r\n href={this.userProfileUrl}\r\n onClick={(e) => this.clickHandler(e, \"profile\", { url: this.userProfileUrl })}\r\n >\r\n {this.userProfileName}\r\n <span class=\"profile-label\"> - Mijn profiel</span>\r\n </a>\r\n </li>\r\n )}\r\n {this.authStatus === \"loggedOut\" && (\r\n <li>\r\n {this.loginUrl ? (\r\n <a\r\n href={this.loginUrl}\r\n onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}\r\n >\r\n {this.text(\"login\")}\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n {this.text(\"login\")}\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n {this.authStatus === \"loggedIn\" && (\r\n <li>\r\n {this.logoutUrl ? (\r\n <a\r\n href={this.logoutUrl}\r\n onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}\r\n >\r\n {this.text(\"logout\")}\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n {this.text(\"logout\")}\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n {this.showHelp && (\r\n <li>\r\n {this.helpUrl ? (\r\n <a\r\n href={this.helpUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"help\", { url: this.helpUrl })}\r\n >\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </a>\r\n ) : (\r\n <button type=\"button\" class=\"dso-tertiary\" onClick={(e) => this.clickHandler(e, \"help\")}>\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </dso-dropdown-menu>\r\n </div>\r\n )}\r\n {!this.showDropDown && (\r\n <>\r\n <div class=\"dso-header-session\">\r\n {this.userProfileUrl && this.userProfileName && this.authStatus === \"loggedIn\" && (\r\n <div class=\"profile\">\r\n <a\r\n href={this.userProfileUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"profile\", { url: this.userProfileUrl })}\r\n >\r\n {this.userProfileName}\r\n </a>\r\n </div>\r\n )}\r\n {this.authStatus === \"loggedOut\" && (\r\n <div class=\"login\">\r\n {this.loginUrl ? (\r\n <a\r\n href={this.loginUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}\r\n >\r\n {this.text(\"login\")}\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n {this.text(\"login\")}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n {this.authStatus === \"loggedIn\" && (\r\n <div class=\"logout\">\r\n {this.logoutUrl ? (\r\n <a\r\n href={this.logoutUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}\r\n >\r\n {this.text(\"logout\")}\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n {this.text(\"logout\")}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n {this.showHelp && (\r\n <div class=\"help\">\r\n {this.helpUrl ? (\r\n <a\r\n href={this.helpUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"help\", { url: this.helpUrl })}\r\n >\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"help\")}>\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n {((this.mainMenu && this.mainMenu.length > 0) || this.userHomeUrl) && (\r\n <nav class=\"dso-navbar\">\r\n <ul class=\"dso-nav dso-nav-main\" ref={(element) => (this.nav = element)}>\r\n {this.mainMenu &&\r\n this.mainMenu\r\n .filter((_, index) => this.mainMenu && index < this.mainMenu.length - this.overflowMenuItems)\r\n .map(this.MenuItem)}\r\n {this.overflowMenuItems > 0 && (\r\n <li>\r\n <dso-dropdown-menu>\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>{this.text(\"overflowMenu\")}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </button>\r\n <div class=\"dso-dropdown-options\">\r\n <ul>\r\n {this.mainMenu &&\r\n this.mainMenu\r\n .filter(\r\n (_, index) =>\r\n this.mainMenu && index >= this.mainMenu.length - this.overflowMenuItems,\r\n )\r\n .map(this.MenuItem)}\r\n </ul>\r\n </div>\r\n </dso-dropdown-menu>\r\n </li>\r\n )}\r\n {this.userHomeUrl && (\r\n <li class={clsx(\"menu-user-home\", { \"dso-active\": this.userHomeActive })}>\r\n <a\r\n href={this.userHomeUrl}\r\n aria-current={this.userHomeActive ? \"page\" : undefined}\r\n onClick={(e) => this.clickHandler(e, \"userHome\", { url: this.userHomeUrl })}\r\n >\r\n <dso-icon icon=\"user-line\"></dso-icon>\r\n {this.text(\"userHome\")}\r\n </a>\r\n </li>\r\n )}\r\n </ul>\r\n </nav>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/components/header/header.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n Watch,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { translations } from \"./header.i18n\";\r\nimport {\r\n HeaderAuthStatus,\r\n HeaderCompactMode,\r\n HeaderEvent,\r\n HeaderMenuItem,\r\n HeaderNavigationType,\r\n} from \"./header.interfaces\";\r\nimport { MenuItem } from \"./menu-item.functional-component\";\r\n\r\nconst minDesktopViewportWidth = 992;\r\n\r\ninterface ClickHandlerOptions {\r\n menuItem?: HeaderMenuItem;\r\n url?: string;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-header\",\r\n styleUrl: \"header.scss\",\r\n shadow: true,\r\n})\r\nexport class Header implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoHeaderElement;\r\n\r\n /**\r\n * The main menu items.\r\n */\r\n @Prop()\r\n mainMenu: HeaderMenuItem[] = [];\r\n\r\n /**\r\n * Set to \"always\" to force the header to be compact. Otherwise it will be compact when\r\n * the viewport is smaller than 992px.\r\n */\r\n @Prop()\r\n compact: HeaderCompactMode = \"auto\";\r\n\r\n /**\r\n * Used to show the login/logout option. 'none' renders nothing.\r\n */\r\n @Prop()\r\n authStatus: HeaderAuthStatus = \"none\";\r\n\r\n /**\r\n * When the `authStatus` is `loggedOut` a loginUrl can be provided.\r\n * The login button will then render as an anchor.\r\n */\r\n @Prop()\r\n loginUrl?: string;\r\n\r\n /**\r\n * The URL to open when the user activates \"logout\".\r\n * If no URL is specified, a button element is used instead.\r\n */\r\n @Prop()\r\n logoutUrl?: string;\r\n\r\n /**\r\n * Show a help-button or link in the header\r\n */\r\n @Prop()\r\n showHelp = false;\r\n\r\n /**\r\n * The URL to open when the user activates \"help\".\r\n * If no URL is specified, a button element is used instead.\r\n */\r\n @Prop()\r\n helpUrl?: string;\r\n\r\n /**\r\n * The name to show when the user is logged in.\r\n */\r\n @Prop()\r\n userProfileName?: string;\r\n\r\n /**\r\n * The URL to open when the user activates the profile url.\r\n */\r\n @Prop()\r\n userProfileUrl?: string;\r\n\r\n /**\r\n * The URL to open when the user activates \"Mijn Omgevingsloket\".\r\n */\r\n @Prop()\r\n userHomeUrl?: string;\r\n\r\n /**\r\n * Set this to true when the user is at \"Mijn Omgevingsloket\".\r\n */\r\n @Prop()\r\n userHomeActive = false;\r\n\r\n /**\r\n * Emitted when something in the header is selected.\r\n *\r\n * `event.detail.type` indicates the functionality the user pressed. eg. `'login'` or `'menuItem'`\r\n */\r\n @Event()\r\n dsoHeaderClick!: EventEmitter<HeaderEvent>;\r\n\r\n @State()\r\n visibleMenuItemsCount: number | undefined = undefined;\r\n\r\n @State()\r\n dropdownOptionsOffset = 0;\r\n\r\n @Watch(\"mainMenu\")\r\n mainMenuChanged() {\r\n this.resetVisibleMenuItems();\r\n }\r\n\r\n @Listen(\"resize\", { target: \"window\" })\r\n resizeListener() {\r\n this.onWindowResize();\r\n }\r\n\r\n private onWindowResize = debounce(() => this.resetVisibleMenuItems(), 20);\r\n\r\n private resetVisibleMenuItems = () => {\r\n this.visibleMenuItemsCount = undefined;\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n private get isCompact() {\r\n return this.compact === \"always\" || window.innerWidth < minDesktopViewportWidth;\r\n }\r\n\r\n private clickHandler = (e: MouseEvent, type: HeaderNavigationType, options?: ClickHandlerOptions) => {\r\n this.dsoHeaderClick.emit({\r\n originalEvent: e,\r\n isModifiedEvent: isModifiedEvent(e),\r\n type,\r\n menuItem: options?.menuItem,\r\n url: options?.url ?? options?.menuItem?.url,\r\n });\r\n };\r\n\r\n private dropdownElement: HTMLDsoDropdownMenuElement | undefined;\r\n private navElement: HTMLUListElement | undefined;\r\n private menuItemElementRefs: (HTMLLIElement | undefined)[] = [];\r\n private dropdownMenuItemElementRef: HTMLLIElement | undefined;\r\n private userHomeMenuItemElementRef: HTMLLIElement | undefined;\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n /**\r\n * Before determining the visible menu items, all the menu items are rendered (including the dropdown menu item and the user home menu item).\r\n * Then the visible menu items are calculated in componentDidRender() and ONLY when the visibleMenuItemsCount is undefined.\r\n *\r\n * When the window resizes or this.mainMenu changes, a reset is triggered to recalculate the visible menu items.\r\n *\r\n * @param navElement The navigation element to calculate the overflow menu item count for.\r\n * @returns The number of menu items that can fit in the available space.\r\n */\r\n private calculateOverflowMenuItemCount(navElement: HTMLUListElement): number {\r\n const availableWidth = navElement.offsetWidth;\r\n\r\n const lastMenuItem = this.menuItemElementRefs[this.menuItemElementRefs.length - 1];\r\n const mostRightMenuItem = this.userHomeMenuItemElementRef ?? lastMenuItem;\r\n const dropdownMenuItem = this.dropdownMenuItemElementRef;\r\n\r\n if (!mostRightMenuItem || !dropdownMenuItem || !lastMenuItem) {\r\n return this.menuItemElementRefs.length;\r\n }\r\n\r\n const dropdownMenuItemEffectiveWidth =\r\n dropdownMenuItem.offsetLeft + dropdownMenuItem.offsetWidth - (lastMenuItem.offsetLeft + lastMenuItem.offsetWidth);\r\n\r\n const requiredWidth = mostRightMenuItem.offsetLeft + mostRightMenuItem.offsetWidth - dropdownMenuItemEffectiveWidth;\r\n\r\n if (requiredWidth <= availableWidth) {\r\n return this.menuItemElementRefs.length;\r\n }\r\n\r\n const userHomeMenuItemEffectiveWidth = this.userHomeMenuItemElementRef\r\n ? this.userHomeMenuItemElementRef.offsetLeft +\r\n this.userHomeMenuItemElementRef.offsetWidth -\r\n (dropdownMenuItem.offsetLeft + dropdownMenuItem.offsetWidth)\r\n : 0;\r\n\r\n const remainingWidth = availableWidth - dropdownMenuItemEffectiveWidth - userHomeMenuItemEffectiveWidth;\r\n\r\n const visibleMenuItems = this.menuItemElementRefs.findIndex(\r\n (menuItem) => menuItem && menuItem.offsetLeft + menuItem.offsetWidth > remainingWidth,\r\n );\r\n\r\n if (visibleMenuItems < 0) {\r\n return this.menuItemElementRefs.length;\r\n }\r\n\r\n return visibleMenuItems;\r\n }\r\n\r\n private calculateDropdownOptionsOffset() {\r\n if (!this.dropdownElement) {\r\n return 0;\r\n }\r\n\r\n return (\r\n this.host.clientHeight -\r\n (this.dropdownElement?.getBoundingClientRect().bottom - this.host.getBoundingClientRect().top)\r\n );\r\n }\r\n\r\n private get visibleMainMenuItems(): HeaderMenuItem[] {\r\n return typeof this.visibleMenuItemsCount === \"number\"\r\n ? this.mainMenu.slice(0, this.visibleMenuItemsCount)\r\n : this.mainMenu;\r\n }\r\n\r\n private get hiddenMainMenuItems(): HeaderMenuItem[] {\r\n return typeof this.visibleMenuItemsCount === \"number\" ? this.mainMenu.slice(this.visibleMenuItemsCount) : [];\r\n }\r\n\r\n componentDidRender() {\r\n if (!this.host.isConnected) {\r\n return;\r\n }\r\n\r\n if (this.isCompact && this.dropdownElement) {\r\n this.dropdownElement.dropdownOptionsOffset = this.calculateDropdownOptionsOffset();\r\n }\r\n\r\n if (typeof this.visibleMenuItemsCount === \"undefined\" && this.navElement) {\r\n this.visibleMenuItemsCount = this.calculateOverflowMenuItemCount(this.navElement);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host is-compact={this.isCompact}>\r\n <div class=\"dso-header\">\r\n <div class=\"logo-container\">\r\n <slot name=\"logo\" />\r\n </div>\r\n {this.isCompact ? this.renderCompact() : this.renderNormal()}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private renderCompact() {\r\n return (\r\n (this.mainMenu.length > 0 || this.userHomeUrl || this.authStatus !== \"none\") && (\r\n <div class=\"dropdown\">\r\n <dso-dropdown-menu\r\n dropdown-align=\"right\"\r\n dropdownOptionsOffset={this.dropdownOptionsOffset}\r\n ref={(element) => (this.dropdownElement = element)}\r\n >\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>{this.text(\"menu\")}</span>\r\n <dso-icon icon=\"chevron-down\"></dso-icon>\r\n </button>\r\n <div class=\"dso-dropdown-options\">\r\n <ul>\r\n {this.mainMenu.map((menuItem) => (\r\n <MenuItem item={menuItem} onClick={(e) => this.clickHandler(e, \"menuItem\", { menuItem })} />\r\n ))}\r\n {this.userHomeUrl && (\r\n <li>\r\n <a\r\n href={this.userHomeUrl}\r\n onClick={(e) => this.clickHandler(e, \"userHome\", { url: this.userHomeUrl })}\r\n >\r\n {this.text(\"userHome\")}\r\n </a>\r\n </li>\r\n )}\r\n {this.userProfileUrl && this.userProfileName && this.authStatus === \"loggedIn\" && (\r\n <li>\r\n <a\r\n href={this.userProfileUrl}\r\n onClick={(e) => this.clickHandler(e, \"profile\", { url: this.userProfileUrl })}\r\n >\r\n {this.userProfileName}\r\n <span class=\"profile-label\"> - Mijn profiel</span>\r\n </a>\r\n </li>\r\n )}\r\n {this.authStatus === \"loggedOut\" && (\r\n <li>\r\n {this.loginUrl ? (\r\n <a href={this.loginUrl} onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}>\r\n {this.text(\"login\")}\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n {this.text(\"login\")}\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n {this.authStatus === \"loggedIn\" && (\r\n <li>\r\n {this.logoutUrl ? (\r\n <a href={this.logoutUrl} onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}>\r\n {this.text(\"logout\")}\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n {this.text(\"logout\")}\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n {this.showHelp && (\r\n <li>\r\n {this.helpUrl ? (\r\n <a\r\n href={this.helpUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"help\", { url: this.helpUrl })}\r\n >\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </a>\r\n ) : (\r\n <button type=\"button\" class=\"dso-tertiary\" onClick={(e) => this.clickHandler(e, \"help\")}>\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </button>\r\n )}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </dso-dropdown-menu>\r\n </div>\r\n )\r\n );\r\n }\r\n\r\n private renderNormal() {\r\n this.menuItemElementRefs = [];\r\n\r\n return (\r\n <Fragment>\r\n <div class=\"dso-header-session\">\r\n {this.userProfileUrl && this.userProfileName && this.authStatus === \"loggedIn\" && (\r\n <div class=\"profile\">\r\n <a\r\n href={this.userProfileUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"profile\", { url: this.userProfileUrl })}\r\n >\r\n {this.userProfileName}\r\n </a>\r\n </div>\r\n )}\r\n {this.authStatus === \"loggedOut\" && (\r\n <div class=\"login\">\r\n {this.loginUrl ? (\r\n <a\r\n href={this.loginUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}\r\n >\r\n {this.text(\"login\")}\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n {this.text(\"login\")}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n {this.authStatus === \"loggedIn\" && (\r\n <div class=\"logout\">\r\n {this.logoutUrl ? (\r\n <a\r\n href={this.logoutUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}\r\n >\r\n {this.text(\"logout\")}\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n {this.text(\"logout\")}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n {this.showHelp && (\r\n <div class=\"help\">\r\n {this.helpUrl ? (\r\n <a\r\n href={this.helpUrl}\r\n class=\"dso-tertiary\"\r\n onClick={(e) => this.clickHandler(e, \"help\", { url: this.helpUrl })}\r\n >\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"help\")}>\r\n <span>{this.text(\"help\")}</span>\r\n <dso-icon icon=\"help\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n {(this.mainMenu.length > 0 || this.userHomeUrl) && (\r\n <nav class=\"dso-navbar\">\r\n <ul\r\n class={clsx(\"dso-nav\", \"dso-nav-main\", { ready: this.visibleMenuItemsCount !== undefined })}\r\n ref={(element) => (this.navElement = element)}\r\n >\r\n {this.visibleMainMenuItems.map((menuItem, i) => (\r\n <MenuItem\r\n item={menuItem}\r\n onClick={(e) => this.clickHandler(e, \"menuItem\", { menuItem })}\r\n key={menuItem.label}\r\n ref={(el) => (this.menuItemElementRefs[i] = el)}\r\n />\r\n ))}\r\n {(this.visibleMenuItemsCount === undefined || this.hiddenMainMenuItems.length > 0) && (\r\n <li\r\n aria-hidden={this.visibleMenuItemsCount === undefined}\r\n ref={(el) => (this.dropdownMenuItemElementRef = el)}\r\n class=\"dropdown-menu-item\"\r\n >\r\n <dso-dropdown-menu>\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>{this.text(\"overflowMenu\")}</span>\r\n <dso-icon icon=\"chevron-down\" class=\"main-menu-item-icon\"></dso-icon>\r\n </button>\r\n <div class=\"dso-dropdown-options\">\r\n <ul>\r\n {this.hiddenMainMenuItems.map((menuItem) => (\r\n <MenuItem item={menuItem} onClick={(e) => this.clickHandler(e, \"menuItem\", { menuItem })} />\r\n ))}\r\n </ul>\r\n </div>\r\n </dso-dropdown-menu>\r\n </li>\r\n )}\r\n {this.userHomeUrl && (\r\n <li\r\n class={clsx(\"menu-user-home\", { \"dso-active\": this.userHomeActive })}\r\n ref={(el) => (this.userHomeMenuItemElementRef = el)}\r\n >\r\n <a\r\n href={this.userHomeUrl}\r\n aria-current={this.userHomeActive ? \"page\" : undefined}\r\n onClick={(e) => this.clickHandler(e, \"userHome\", { url: this.userHomeUrl })}\r\n >\r\n <dso-icon icon=\"user-line\" class=\"main-menu-item-icon\"></dso-icon>\r\n {this.text(\"userHome\")}\r\n </a>\r\n </li>\r\n )}\r\n </ul>\r\n </nav>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { clsx } from "clsx";
|
|
3
|
+
export const MenuItem = ({ item, onClick, key, ref }) => {
|
|
4
|
+
return (h("li", { class: clsx({ "dso-active": item.active }), key: key, ref: ref }, h("a", { href: item.url, "aria-current": item.active ? "page" : undefined, onClick: onClick }, item.label)));
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=menu-item.functional-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-item.functional-component.js","sourceRoot":"","sources":["../../../../src/components/header/menu-item.functional-component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,MAAM,CAAC,MAAM,QAAQ,GAAuC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;IAC1F,OAAO,CACL,UAAI,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChE,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,kBAAgB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,IAChF,IAAI,CAAC,KAAK,CACT,CACD,CACN,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\nimport { clsx } from \"clsx\";\r\n\r\nimport { HeaderMenuItem } from \"./header.interfaces\";\r\n\r\nexport interface MenuItemProps {\r\n item: HeaderMenuItem;\r\n onClick: (event: MouseEvent) => void;\r\n key?: string;\r\n ref?: (el: HTMLLIElement | undefined) => void;\r\n}\r\n\r\nexport const MenuItem: FunctionalComponent<MenuItemProps> = ({ item, onClick, key, ref }) => {\r\n return (\r\n <li class={clsx({ \"dso-active\": item.active })} key={key} ref={ref}>\r\n <a href={item.url} aria-current={item.active ? \"page\" : undefined} onClick={onClick}>\r\n {item.label}\r\n </a>\r\n </li>\r\n );\r\n};\r\n"]}
|
|
@@ -3,7 +3,7 @@ export class HighlightBox {
|
|
|
3
3
|
render() {
|
|
4
4
|
var _a;
|
|
5
5
|
const hasCounter = this.step || !!this.element.querySelector("[slot=icon]");
|
|
6
|
-
return (h(Host, { key: '
|
|
6
|
+
return (h(Host, { key: 'a17c902d2d0218ca9535995de35277932314703a', "has-counter": hasCounter }, hasCounter && h("div", { key: '51784bd453e91291a9b6f89f63a53860bd0015dd', class: "dso-step-counter" }, (_a = this.step) !== null && _a !== void 0 ? _a : h("slot", { key: '48e88b38b2ea9e9b696db3830bb489ffcf129ff6', name: "icon" })), h("slot", { key: 'cd1d9e7ab981c5c155c624dc604a58b6b5a1ca65' })));
|
|
7
7
|
}
|
|
8
8
|
static get is() { return "dso-highlight-box"; }
|
|
9
9
|
static get encapsulation() { return "shadow"; }
|
|
@@ -216,7 +216,7 @@ export class Icon {
|
|
|
216
216
|
if (!icon) {
|
|
217
217
|
throw new TypeError(`Unknown svg: ${this.icon}`);
|
|
218
218
|
}
|
|
219
|
-
return h("span", { key: '
|
|
219
|
+
return h("span", { key: '487ea1db4f0bb118860e08fe8d7fc16ca1705f94', class: "icon-container", innerHTML: icon.svg });
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
static get is() { return "dso-icon"; }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Fragment, h } from "@stencil/core";
|
|
2
2
|
export class Info {
|
|
3
3
|
render() {
|
|
4
|
-
return (h(Fragment, { key: '
|
|
4
|
+
return (h(Fragment, { key: '5819c33391f64495faebc5b480e6cf4146f06e21' }, h("slot", { key: 'b7e232a77cab0b9f32c3b7053a2b02c1a42402d8' }), !this.fixed && (h("button", { key: 'bcb06304bf67ed32bfc0063fdda0f20b79658374', type: "button", onClick: (e) => this.dsoClose.emit(e) }, h("dso-icon", { key: '17998edf989e2de6d49ec3fa0cbf02a0207a14a9', icon: "times" }), h("span", { key: 'fc858fe44cf7ed69fb0b4883554998f0fc3cb872', class: "sr-only" }, "Sluiten")))));
|
|
5
5
|
}
|
|
6
6
|
static get is() { return "dso-info"; }
|
|
7
7
|
static get encapsulation() { return "shadow"; }
|
|
@@ -20,7 +20,7 @@ export class InfoButton {
|
|
|
20
20
|
this.dsoToggle.emit({ originalEvent: e, active: this.active });
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
return (h(Host, { key: 'eb293ebed30eed249b8be309def6ead14b1cf24a', onMouseenter: () => (this.hover = true), onMouseleave: () => (this.hover = false) }, h("button", { key: '3e288bbba8b56cc92ca338df47811cbdded8a3df', type: "button", class: clsx({ "dso-open": !!this.active, "dso-info-secondary": !!this.secondary }), "aria-expanded": typeof this.active === "boolean" ? this.active.toString() : undefined, onClick: (e) => this.handleToggle(e), ref: (element) => (this.button = element) }, h("dso-icon", { key: '9c11b0fcb3d77c441e7732d098fe14f4538cb2f5', icon: this.active || this.hover ? "info-active" : "info" }), h("span", { key: 'aff325d3fefac7a17259b40753104177dc3ac8f6', class: "sr-only" }, this.label))));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "dso-info-button"; }
|
|
26
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -10,13 +10,13 @@ export class InputRange {
|
|
|
10
10
|
const min = this.min || 0;
|
|
11
11
|
const max = this.max || 100;
|
|
12
12
|
const step = this.step || 1;
|
|
13
|
-
return (h(Fragment, null, this.description && (h("span", { key: '
|
|
13
|
+
return (h(Fragment, null, this.description && (h("span", { key: '7ac9735224c60c717a0ebff59e2f8c40623e2f34', id: "description", hidden: true }, this.description)), h("span", { key: 'fd65b63bda56de9516e6bef05781777b13cc8245', class: "counter min", "aria-hidden": "true" }, min, this.unit), h("input", { key: '8a0a67fff0a51267565ad447c572e4ba0d20009a', type: "range", min: this.min, max: this.max, value: this.value, class: "input", "aria-label": this.label, "aria-describedby": this.description ? "description" : undefined, onChange: (event) => this.dsoChange.emit({
|
|
14
14
|
originalEvent: event,
|
|
15
15
|
value: event.target instanceof HTMLInputElement ? parseInt(event.target.value, 10) : undefined,
|
|
16
16
|
max,
|
|
17
17
|
min,
|
|
18
18
|
step,
|
|
19
|
-
}) }), h("span", { key: '
|
|
19
|
+
}) }), h("span", { key: '3d22eb9d281b35f52a0cdaa3565448375e1435c9', class: "counter max", "aria-hidden": "true" }, max, this.unit)));
|
|
20
20
|
}
|
|
21
21
|
static get is() { return "dso-input-range"; }
|
|
22
22
|
static get encapsulation() { return "shadow"; }
|