@dso-toolkit/core 56.0.0 → 57.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/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-alert_5.cjs.entry.js +34 -32
- package/dist/cjs/dso-alert_5.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-expandable.cjs.entry.js +1 -1
- package/dist/cjs/dso-expandable.cjs.entry.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-helpcenter-panel.cjs.entry.js +1 -1
- package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-image-overlay.cjs.entry.js +1 -1
- package/dist/cjs/dso-image-overlay.cjs.entry.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-list-button.cjs.entry.js +2 -2
- package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-table.cjs.entry.js +1 -1
- package/dist/cjs/dso-table.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +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/loader.cjs.js +1 -1
- package/dist/collection/components/accordion/accordion.interfaces.js.map +1 -1
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/accordion/components/accordion-section.css +97 -32
- package/dist/collection/components/accordion/components/accordion-section.interfaces.js.map +1 -1
- package/dist/collection/components/accordion/components/accordion-section.js +3 -3
- package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
- package/dist/collection/components/annotation-button/annotation-button.css +59 -383
- package/dist/collection/components/annotation-button/annotation-button.js +1 -1
- package/dist/collection/components/annotation-output/annotation-output.js +1 -1
- package/dist/collection/components/expandable/expandable.js +2 -2
- package/dist/collection/components/expandable/expandable.js.map +1 -1
- package/dist/collection/components/header/header.css +3 -3
- package/dist/collection/components/helpcenter-panel/helpcenter-panel.css +12 -12
- package/dist/collection/components/image-overlay/image-overlay.css +14 -14
- package/dist/collection/components/info-button/info-button.js +1 -1
- package/dist/collection/components/info-button/info-button.js.map +1 -1
- package/dist/collection/components/label/label.js +42 -33
- package/dist/collection/components/label/label.js.map +1 -1
- package/dist/collection/components/list-button/list-button.css +29 -23
- package/dist/collection/components/list-button/list-button.js +1 -1
- package/dist/collection/components/list-button/list-button.js.map +1 -1
- package/dist/collection/components/map-controls/map-controls.css +21 -15
- package/dist/collection/components/modal/modal.css +6 -8
- package/dist/collection/components/ozon-content/ozon-content.css +7 -1
- package/dist/collection/components/table/table.css +13 -9
- package/dist/collection/components/viewer-grid/viewer-grid.css +30 -22
- package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
- package/dist/components/annotation-button.js +1 -1
- package/dist/components/annotation-button.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-header.js +1 -1
- package/dist/components/dso-header.js.map +1 -1
- package/dist/components/dso-helpcenter-panel.js +1 -1
- package/dist/components/dso-helpcenter-panel.js.map +1 -1
- package/dist/components/dso-image-overlay.js +1 -1
- package/dist/components/dso-image-overlay.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-map-controls.js +1 -1
- package/dist/components/dso-map-controls.js.map +1 -1
- package/dist/components/dso-modal.js +1 -1
- package/dist/components/dso-modal.js.map +1 -1
- package/dist/components/dso-table.js +1 -1
- package/dist/components/dso-table.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/info-button.js +1 -1
- package/dist/components/info-button.js.map +1 -1
- package/dist/components/label.js +33 -31
- package/dist/components/label.js.map +1 -1
- package/dist/components/ozon-content.js +1 -1
- package/dist/components/ozon-content.js.map +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
- package/dist/dso-toolkit/p-04c97d7d.entry.js +2 -0
- package/dist/dso-toolkit/{p-909ccf98.entry.js.map → p-04c97d7d.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-1c295ae2.entry.js +2 -0
- package/dist/dso-toolkit/p-1c295ae2.entry.js.map +1 -0
- package/dist/dso-toolkit/p-1fe715e4.entry.js +2 -0
- package/dist/dso-toolkit/{p-422bcf93.entry.js.map → p-1fe715e4.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-27dfadbf.entry.js +2 -0
- package/dist/dso-toolkit/{p-b627d9ac.entry.js.map → p-27dfadbf.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-70a28e3f.entry.js +2 -0
- package/dist/dso-toolkit/{p-9c0477fc.entry.js.map → p-70a28e3f.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-b608283b.entry.js +2 -0
- package/dist/dso-toolkit/{p-29752a45.entry.js.map → p-b608283b.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e26974ee.entry.js +2 -0
- package/dist/dso-toolkit/p-e26974ee.entry.js.map +1 -0
- package/dist/dso-toolkit/p-e2cacb8b.entry.js +2 -0
- package/dist/dso-toolkit/{p-484ea1d2.entry.js.map → p-e2cacb8b.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-e4553695.entry.js +2 -0
- package/dist/dso-toolkit/{p-1cc75e0b.entry.js.map → p-e4553695.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-674e2406.entry.js → p-e86e0fce.entry.js} +2 -2
- package/dist/dso-toolkit/p-e86e0fce.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-83cdfde8.entry.js → p-f3ed8688.entry.js} +2 -2
- package/dist/dso-toolkit/{p-83cdfde8.entry.js.map → p-f3ed8688.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-ec4b568d.entry.js → p-f56c1b28.entry.js} +2 -2
- package/dist/dso-toolkit/{p-ec4b568d.entry.js.map → p-f56c1b28.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-alert_5.entry.js +34 -32
- package/dist/esm/dso-alert_5.entry.js.map +1 -1
- package/dist/esm/dso-expandable.entry.js +1 -1
- package/dist/esm/dso-expandable.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-helpcenter-panel.entry.js +1 -1
- package/dist/esm/dso-helpcenter-panel.entry.js.map +1 -1
- package/dist/esm/dso-image-overlay.entry.js +1 -1
- package/dist/esm/dso-image-overlay.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-list-button.entry.js +2 -2
- package/dist/esm/dso-list-button.entry.js.map +1 -1
- package/dist/esm/dso-map-controls.entry.js +1 -1
- package/dist/esm/dso-map-controls.entry.js.map +1 -1
- package/dist/esm/dso-modal.entry.js +1 -1
- package/dist/esm/dso-modal.entry.js.map +1 -1
- package/dist/esm/dso-table.entry.js +1 -1
- package/dist/esm/dso-table.entry.js.map +1 -1
- package/dist/esm/dso-toolkit.js +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/accordion/accordion.interfaces.d.ts +1 -23
- package/dist/types/components/accordion/components/accordion-section.d.ts +1 -2
- package/dist/types/components/accordion/components/accordion-section.interfaces.d.ts +22 -0
- package/dist/types/components/label/label.d.ts +9 -9
- package/dist/types/components.d.ts +4 -4
- package/package.json +2 -2
- package/dist/dso-toolkit/p-1cc75e0b.entry.js +0 -2
- package/dist/dso-toolkit/p-29752a45.entry.js +0 -2
- package/dist/dso-toolkit/p-39f6447d.entry.js +0 -2
- package/dist/dso-toolkit/p-39f6447d.entry.js.map +0 -1
- package/dist/dso-toolkit/p-3c554a18.entry.js +0 -2
- package/dist/dso-toolkit/p-3c554a18.entry.js.map +0 -1
- package/dist/dso-toolkit/p-422bcf93.entry.js +0 -2
- package/dist/dso-toolkit/p-484ea1d2.entry.js +0 -2
- package/dist/dso-toolkit/p-674e2406.entry.js.map +0 -1
- package/dist/dso-toolkit/p-909ccf98.entry.js +0 -2
- package/dist/dso-toolkit/p-9c0477fc.entry.js +0 -2
- package/dist/dso-toolkit/p-b627d9ac.entry.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{h as n,r as t,c as e,H as o,a as s}from"./p-ce928197.js";import{c as i}from"./p-91963e3d.js";import"./p-5950644a.js";const r=({onApply:t,onCancel:e})=>n("div",{class:"filterpanel-buttons"},n("button",{type:"button",class:"cancel-button",onClick:e},n("span",null,"Annuleren")),n("button",{type:"button",class:"apply-button",onClick:t},n("span",null,"Toepassen"),n("dso-icon",{icon:"chevron-right"})));const a="*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host {\n display: flex;\n height: 100vh;\n overflow: hidden;\n position: relative;\n}\n\n:host([small]) .dso-map-panel {\n flex-basis: 375px;\n min-width: 0;\n max-width: 375px;\n}\n@media screen and (max-width: 375px) {\n :host([small]) .dso-map-panel {\n flex-basis: 100vw;\n max-width: 100vw;\n min-width: 0;\n transition: none;\n }\n}\n\n:host([medium]) .dso-map-panel {\n flex-basis: 624px;\n min-width: 375px;\n max-width: 624px;\n}\n@media screen and (max-width: 624px) {\n :host([medium]) .dso-map-panel {\n flex-basis: 100vw;\n max-width: 100vw;\n min-width: 375px;\n transition: none;\n }\n}\n\n:host([large]) .dso-map-panel {\n flex-basis: 60%;\n min-width: 768px;\n max-width: 1024px;\n}\n@media screen and (max-width: 768px) {\n :host([large]) .dso-map-panel {\n flex-basis: 100vw;\n max-width: 100vw;\n min-width: 768px;\n transition: none;\n }\n}\n\nbutton {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.shrink,\n.expand,\n.overlay-close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\n.shrink:focus, .shrink:focus-visible,\n.expand:focus,\n.expand:focus-visible,\n.overlay-close-button:focus,\n.overlay-close-button:focus-visible {\n outline-offset: 2px;\n}\n.shrink:active,\n.expand:active,\n.overlay-close-button:active {\n outline: 0;\n}\n.shrink[disabled],\n.expand[disabled],\n.overlay-close-button[disabled] {\n color: #afcf9d;\n}\n.shrink[disabled].dso-spinner-left, .shrink[disabled].dso-spinner-right,\n.expand[disabled].dso-spinner-left,\n.expand[disabled].dso-spinner-right,\n.overlay-close-button[disabled].dso-spinner-left,\n.overlay-close-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n.shrink:not([disabled]):hover,\n.expand:not([disabled]):hover,\n.overlay-close-button:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.shrink:not([disabled]):active,\n.expand:not([disabled]):active,\n.overlay-close-button:not([disabled]):active {\n color: #173521;\n}\n.shrink.dso-align,\n.expand.dso-align,\n.overlay-close-button.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.shrink.dso-truncate,\n.expand.dso-truncate,\n.overlay-close-button.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shrink.dso-spinner-left::before,\n.expand.dso-spinner-left::before,\n.overlay-close-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.shrink.dso-spinner-right::after,\n.expand.dso-spinner-right::after,\n.overlay-close-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.shrink dso-icon + span:not(.sr-only),\n.shrink svg.di + span:not(.sr-only),\n.shrink span:not(.sr-only) + dso-icon,\n.shrink span:not(.sr-only) + svg.di,\n.expand dso-icon + span:not(.sr-only),\n.expand svg.di + span:not(.sr-only),\n.expand span:not(.sr-only) + dso-icon,\n.expand span:not(.sr-only) + svg.di,\n.overlay-close-button dso-icon + span:not(.sr-only),\n.overlay-close-button svg.di + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + dso-icon,\n.overlay-close-button span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.shrink svg.di.di-chevron-down + span:not(.sr-only),\n.shrink svg.di.di-chevron-up + span:not(.sr-only),\n.shrink span:not(.sr-only) + svg.di.di-chevron-down,\n.shrink span:not(.sr-only) + svg.di.di-chevron-up,\n.expand svg.di.di-chevron-down + span:not(.sr-only),\n.expand svg.di.di-chevron-up + span:not(.sr-only),\n.expand span:not(.sr-only) + svg.di.di-chevron-down,\n.expand span:not(.sr-only) + svg.di.di-chevron-up,\n.overlay-close-button svg.di.di-chevron-down + span:not(.sr-only),\n.overlay-close-button svg.di.di-chevron-up + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + svg.di.di-chevron-down,\n.overlay-close-button span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\n.shrink dso-icon[icon=chevron-left] + span:not(.sr-only),\n.shrink dso-icon[icon=chevron-right] + span:not(.sr-only),\n.shrink svg.di.di-angle-down + span:not(.sr-only),\n.shrink svg.di.di-angle-up + span:not(.sr-only),\n.shrink span:not(.sr-only) + svg.di.di-angle-down,\n.shrink span:not(.sr-only) + svg.di.di-angle-up,\n.shrink span:not(.sr-only) + dso-icon[icon=chevron-left],\n.shrink span:not(.sr-only) + dso-icon[icon=chevron-right],\n.expand dso-icon[icon=chevron-left] + span:not(.sr-only),\n.expand dso-icon[icon=chevron-right] + span:not(.sr-only),\n.expand svg.di.di-angle-down + span:not(.sr-only),\n.expand svg.di.di-angle-up + span:not(.sr-only),\n.expand span:not(.sr-only) + svg.di.di-angle-down,\n.expand span:not(.sr-only) + svg.di.di-angle-up,\n.expand span:not(.sr-only) + dso-icon[icon=chevron-left],\n.expand span:not(.sr-only) + dso-icon[icon=chevron-right],\n.overlay-close-button dso-icon[icon=chevron-left] + span:not(.sr-only),\n.overlay-close-button dso-icon[icon=chevron-right] + span:not(.sr-only),\n.overlay-close-button svg.di.di-angle-down + span:not(.sr-only),\n.overlay-close-button svg.di.di-angle-up + span:not(.sr-only),\n.overlay-close-button span:not(.sr-only) + svg.di.di-angle-down,\n.overlay-close-button span:not(.sr-only) + svg.di.di-angle-up,\n.overlay-close-button span:not(.sr-only) + dso-icon[icon=chevron-left],\n.overlay-close-button span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\n.shrink dso-icon,\n.shrink svg.di,\n.shrink span,\n.expand dso-icon,\n.expand svg.di,\n.expand span,\n.overlay-close-button dso-icon,\n.overlay-close-button svg.di,\n.overlay-close-button span {\n vertical-align: middle;\n}\n.shrink:hover,\n.expand:hover,\n.overlay-close-button:hover {\n cursor: pointer;\n}\n.shrink[disabled],\n.expand[disabled],\n.overlay-close-button[disabled] {\n display: none;\n}\n\n.overlay-close-button {\n position: absolute;\n top: 8px;\n right: 16px;\n}\n\n.dso-map-panel {\n background-color: #fff;\n box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.4);\n flex-shrink: 0;\n flex-grow: 0;\n padding-right: 8px;\n position: relative;\n transition: flex-basis 200ms ease-in, max-width 200ms ease-in, min-width 200ms ease-in;\n z-index: 100;\n}\n.dso-map-panel .dso-filterblok-address {\n font-weight: bold;\n margin: 8px 0;\n}\n.dso-map-panel .main {\n height: 100%;\n overflow-y: scroll;\n padding: 0 16px 8px;\n}\n\n.sizing-buttons {\n left: calc(100% + 1px);\n overflow-x: hidden;\n padding: 0 4px 4px 0;\n position: absolute;\n top: 16px;\n transition: left 200ms ease-in;\n width: 44px;\n z-index: -1;\n}\n.sizing-buttons button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n padding: 8px;\n border-radius: 0;\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.4);\n flex: 0 0 100%;\n height: 40px;\n min-width: auto;\n width: 40px;\n}\n.sizing-buttons button:focus, .sizing-buttons button:focus-visible {\n outline-offset: 2px;\n}\n.sizing-buttons button:active {\n outline: 0;\n}\n.sizing-buttons button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.sizing-buttons button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.sizing-buttons button[disabled], .sizing-buttons button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.sizing-buttons button.dso-small {\n line-height: 1rem;\n}\n.sizing-buttons button.dso-small dso-icon,\n.sizing-buttons button.dso-small svg.di, .sizing-buttons button.dso-small.extern::after, .sizing-buttons button.dso-small.download::after, .sizing-buttons button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.sizing-buttons button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.sizing-buttons button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.sizing-buttons button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sizing-buttons button.dso-spinner-left[disabled], .sizing-buttons button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.sizing-buttons button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.sizing-buttons button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.sizing-buttons button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\n.sizing-buttons button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.sizing-buttons button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.sizing-buttons button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\n.sizing-buttons button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n.sizing-buttons button:hover dso-icon {\n color: #fff;\n}\n\n.map {\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.filterpanel,\n.overlay {\n background-color: #fff;\n height: 100%;\n overflow-y: auto;\n position: absolute;\n z-index: 101;\n}\n\n.filterpanel {\n box-shadow: 2px 0 5px #666;\n padding: 8px 16px;\n left: 0;\n max-width: 896px;\n width: calc(100vw - 40px);\n}\n@media screen and (max-width: 768px) {\n .filterpanel {\n width: 100vw;\n }\n .filterpanel::before {\n display: none !important;\n }\n}\n.filterpanel h1 {\n color: #275937;\n margin-block-end: 16px;\n margin-block-start: 24px;\n font-size: 2rem;\n font-weight: 700;\n}\n.filterpanel::before {\n content: \"\";\n display: block;\n position: fixed;\n top: 0;\n bottom: 0;\n right: 0;\n left: 896px;\n background-color: rgba(0, 0, 0, 0.5);\n}\n@media screen and (max-width: 936px) {\n .filterpanel::before {\n left: auto;\n width: 40px;\n }\n}\n\n.overlay {\n box-shadow: -2px 0 5px #666;\n padding: 40px 16px 8px;\n right: 0;\n width: 624px;\n}\n@media screen and (max-width: 624px) {\n .overlay {\n width: 100vw;\n }\n}\n\n.dimscreen {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 624px;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 102;\n}\n\n.filterpanel-buttons {\n text-align: right;\n}\n.filterpanel-buttons .cancel-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n line-height: 1rem;\n}\n.filterpanel-buttons .cancel-button:focus, .filterpanel-buttons .cancel-button:focus-visible {\n outline-offset: 2px;\n}\n.filterpanel-buttons .cancel-button:active {\n outline: 0;\n}\n.filterpanel-buttons .cancel-button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.filterpanel-buttons .cancel-button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.filterpanel-buttons .cancel-button[disabled], .filterpanel-buttons .cancel-button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.filterpanel-buttons .cancel-button.dso-small {\n line-height: 1rem;\n}\n.filterpanel-buttons .cancel-button.dso-small dso-icon,\n.filterpanel-buttons .cancel-button.dso-small svg.di, .filterpanel-buttons .cancel-button.dso-small.extern::after, .filterpanel-buttons .cancel-button.dso-small.download::after, .filterpanel-buttons .cancel-button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.filterpanel-buttons .cancel-button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button dso-icon,\n.filterpanel-buttons .cancel-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.filterpanel-buttons .cancel-button span + dso-icon,\n.filterpanel-buttons .cancel-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left[disabled], .filterpanel-buttons .cancel-button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button dso-icon,\n.filterpanel-buttons .cancel-button svg.di, .filterpanel-buttons .cancel-button.extern::after, .filterpanel-buttons .cancel-button.download::after, .filterpanel-buttons .cancel-button.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .apply-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n line-height: 1rem;\n}\n.filterpanel-buttons .apply-button:focus, .filterpanel-buttons .apply-button:focus-visible {\n outline-offset: 2px;\n}\n.filterpanel-buttons .apply-button:active {\n outline: 0;\n}\n.filterpanel-buttons .apply-button:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.filterpanel-buttons .apply-button:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\n.filterpanel-buttons .apply-button[disabled], .filterpanel-buttons .apply-button[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\n.filterpanel-buttons .apply-button.dso-small {\n line-height: 1rem;\n}\n.filterpanel-buttons .apply-button.dso-small dso-icon,\n.filterpanel-buttons .apply-button.dso-small svg.di, .filterpanel-buttons .apply-button.dso-small.extern::after, .filterpanel-buttons .apply-button.dso-small.download::after, .filterpanel-buttons .apply-button.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.filterpanel-buttons .apply-button.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .apply-button.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .apply-button dso-icon,\n.filterpanel-buttons .apply-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.filterpanel-buttons .apply-button span + dso-icon,\n.filterpanel-buttons .apply-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-left[disabled], .filterpanel-buttons .apply-button.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.filterpanel-buttons .apply-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.filterpanel-buttons .apply-button dso-icon,\n.filterpanel-buttons .apply-button svg.di, .filterpanel-buttons .apply-button.extern::after, .filterpanel-buttons .apply-button.download::after, .filterpanel-buttons .apply-button.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .apply-button.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.filterpanel-buttons .cancel-button + .apply-button {\n margin-left: 16px;\n}";const l=class{constructor(n){t(this,n);this.dsoCloseOverlay=e(this,"dsoCloseOverlay",7);this.dsoFilterpanelCancel=e(this,"dsoFilterpanelCancel",7);this.dsoFilterpanelApply=e(this,"dsoFilterpanelApply",7);this.dsoMainSizeChange=e(this,"dsoMainSizeChange",7);this.sizeLabelMap={small:"smal",medium:"middel",large:"breed"};this.filterpanelSlot=null;this.overlaySlot=null;this.shrinkMain=()=>{this.mainSize=this.mainSize==="large"?"medium":"small"};this.expandMain=()=>{this.mainSize=this.mainSize==="small"?"medium":"large"};this.keyDownListener=n=>{if(n.key!=="Escape"){return}this.dsoCloseOverlay.emit(n)};this.filterpanelOpen=false;this.overlayOpen=false;this.initialMainSize=undefined;this.mainSize="large"}mainSizeWatcher(n,t){var e;this.dsoMainSizeChange.emit({stage:"start",previousSize:t,currentSize:n});(e=this.mapPanel)===null||e===void 0?void 0:e.addEventListener("transitionend",(e=>{if(e.propertyName==="flex-basis"){this.dsoMainSizeChange.emit({stage:"end",previousSize:t,currentSize:n})}}),{once:true})}updateFocusTrap(){var n,t;if(this.filterpanelOpen&&this.overlayOpen){return}if(this.filterpanelFocustrap){if(this.filterpanelOpen&&!((n=this.filterpanel)===null||n===void 0?void 0:n.hidden)){this.filterpanelFocustrap.activate();this.host.addEventListener("keydown",this.keyDownListener)}else{this.filterpanelFocustrap.deactivate();this.host.removeEventListener("keydown",this.keyDownListener)}}if(this.overlayFocustrap){if(this.overlayOpen&&!((t=this.overlay)===null||t===void 0?void 0:t.hidden)){this.overlayFocustrap.activate();this.host.addEventListener("keydown",this.keyDownListener)}else{this.overlayFocustrap.deactivate();this.host.removeEventListener("keydown",this.keyDownListener)}}}connectedCallback(){this.filterpanelSlot=this.host.querySelector("div[slot='filterpanel']");this.overlaySlot=this.host.querySelector("div[slot='overlay']")}componentDidLoad(){if(this.filterpanel&&this.filterpanelSlot){this.filterpanelFocustrap=i([this.filterpanel,this.filterpanelSlot],{escapeDeactivates:false,allowOutsideClick:true,tabbableOptions:{getShadowRoot:true}})}if(this.overlay&&this.overlaySlot){this.overlayFocustrap=i([this.overlay,this.overlaySlot],{escapeDeactivates:false,allowOutsideClick:true,tabbableOptions:{getShadowRoot:true}})}this.updateFocusTrap()}componentWillLoad(){if(this.initialMainSize){this.mainSize=this.initialMainSize}}componentDidUpdate(){this.updateFocusTrap()}disconnectedCallback(){var n,t;(n=this.overlayFocustrap)===null||n===void 0?void 0:n.deactivate();(t=this.filterpanelFocustrap)===null||t===void 0?void 0:t.deactivate();this.host.removeEventListener("keydown",this.keyDownListener)}handleFilterpanelApply(n){this.dsoFilterpanelApply.emit({originalEvent:n})}handleFilterpanelCancel(n){this.dsoFilterpanelCancel.emit({originalEvent:n})}render(){return n(o,Object.assign({},{[this.mainSize]:true}),n("div",{class:"dso-map-panel",ref:n=>this.mapPanel=n},n("div",{class:"sizing-buttons"},n("span",{class:"sr-only","aria-live":"polite","aria-atomic":"true"},"Breedte tekstpaneel: ",this.sizeLabelMap[this.mainSize]),n("button",{type:"button",class:"shrink",disabled:this.mainSize==="small",onClick:this.shrinkMain},n("span",{class:"sr-only"},"Tekstpaneel smaller maken"),n("dso-icon",{icon:"chevron-left"})),n("button",{type:"button",class:"expand",disabled:this.mainSize==="large",onClick:this.expandMain},n("span",{class:"sr-only"},"Tekstpaneel breder maken"),n("dso-icon",{icon:"chevron-right"}))),n("div",{class:"main"},n("slot",{name:"main"}))),n("div",{id:"filterpanel",class:"filterpanel",hidden:!this.filterpanelOpen||!this.filterpanelSlot,ref:n=>this.filterpanel=n},n("h1",null,"Uw keuzes"),n(r,{onApply:n=>this.handleFilterpanelApply(n),onCancel:n=>this.handleFilterpanelCancel(n)}),n("slot",{name:"filterpanel"}),n(r,{onApply:n=>this.handleFilterpanelApply(n),onCancel:n=>this.handleFilterpanelCancel(n)})),n("div",{class:"map"},n("slot",{name:"map"})),n("div",{hidden:!this.overlayOpen||!this.overlaySlot,class:"dimscreen"}),n("div",{class:"overlay",hidden:!this.overlayOpen||!this.overlaySlot,ref:n=>this.overlay=n},n("button",{type:"button",class:"overlay-close-button",onClick:n=>this.dsoCloseOverlay.emit(n)},n("dso-icon",{icon:"times"}),n("span",{class:"sr-only"},"sluiten")),n("slot",{name:"overlay"}),n("button",{"aria-hidden":"true",type:"button",class:"overlay-close-button",style:{zIndex:"-100"}},n("dso-icon",{icon:"times"}),n("span",{class:"sr-only"},"sluiten"))))}get host(){return s(this)}static get watchers(){return{mainSize:["mainSizeWatcher"]}}};l.style=a;export{l as dso_viewer_grid};
|
|
2
|
+
//# sourceMappingURL=p-e4553695.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ViewerGridFilterpanelButtons","onApply","onCancel","h","class","type","onClick","icon","viewerGridCss","ViewerGrid","this","sizeLabelMap","small","medium","large","filterpanelSlot","overlaySlot","shrinkMain","mainSize","expandMain","keyDownListener","event","key","dsoCloseOverlay","emit","mainSizeWatcher","currentSize","previousSize","dsoMainSizeChange","stage","_a","mapPanel","addEventListener","e","propertyName","once","updateFocusTrap","filterpanelOpen","overlayOpen","filterpanelFocustrap","filterpanel","hidden","activate","host","deactivate","removeEventListener","overlayFocustrap","_b","overlay","connectedCallback","querySelector","componentDidLoad","createFocusTrap","escapeDeactivates","allowOutsideClick","tabbableOptions","getShadowRoot","componentWillLoad","initialMainSize","componentDidUpdate","disconnectedCallback","handleFilterpanelApply","mouseEvent","dsoFilterpanelApply","originalEvent","handleFilterpanelCancel","dsoFilterpanelCancel","render","Host","Object","assign","ref","element","disabled","name","id","style","zIndex"],"sources":["./src/components/viewer-grid/viewer-grid-filterpanel-buttons.tsx","./src/components/viewer-grid/viewer-grid.scss?tag=dso-viewer-grid&encapsulation=shadow","./src/components/viewer-grid/viewer-grid.tsx"],"sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport interface ViewerGridFilterpanelProps {\r\n onApply: (mouseEvent: MouseEvent) => void;\r\n onCancel: (mouseEvent: MouseEvent) => void;\r\n}\r\n\r\nexport const ViewerGridFilterpanelButtons: FunctionalComponent<ViewerGridFilterpanelProps> = ({\r\n onApply,\r\n onCancel,\r\n}) => (\r\n <div class=\"filterpanel-buttons\">\r\n <button type=\"button\" class=\"cancel-button\" onClick={onCancel}>\r\n <span>Annuleren</span>\r\n </button>\r\n <button type=\"button\" class=\"apply-button\" onClick={onApply}>\r\n <span>Toepassen</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n </div>\r\n);\r\n","@use \"~dso-toolkit/src/components/grid\" as css-grid;\r\n\r\n@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/headings\";\r\n\r\n@use \"viewer-grid.variables\" as core-viewer-grid-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: flex;\r\n height: 100vh;\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n:host([small]) {\r\n .dso-map-panel {\r\n flex-basis: core-viewer-grid-variables.$small;\r\n min-width: 0;\r\n max-width: core-viewer-grid-variables.$small;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$small) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: 0;\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\n:host([medium]) {\r\n .dso-map-panel {\r\n flex-basis: core-viewer-grid-variables.$medium;\r\n min-width: core-viewer-grid-variables.$small;\r\n max-width: core-viewer-grid-variables.$medium;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$medium) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: core-viewer-grid-variables.$small;\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\n:host([large]) {\r\n .dso-map-panel {\r\n flex-basis: core-viewer-grid-variables.$large;\r\n min-width: core-viewer-grid-variables.$large-min;\r\n max-width: core-viewer-grid-variables.$large-max;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$large-min) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: core-viewer-grid-variables.$large-min;\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.shrink,\r\n.expand,\r\n.overlay-close-button {\r\n @include button.tertiary($modifiers: false);\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n &[disabled] {\r\n display: none;\r\n }\r\n}\r\n\r\n.overlay-close-button {\r\n position: absolute;\r\n top: units.$u1;\r\n right: css-grid.$grid-gutter-width * 0.5;\r\n}\r\n\r\n.dso-map-panel {\r\n background-color: colors.$wit;\r\n box-shadow: units.$u1 * 0.25 0 units.$u1 0 rgba(0, 0, 0, 0.4);\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n padding-right: units.$u1;\r\n position: relative;\r\n transition: flex-basis core-viewer-grid-variables.$transition-time ease-in,\r\n max-width core-viewer-grid-variables.$transition-time ease-in,\r\n min-width core-viewer-grid-variables.$transition-time ease-in;\r\n z-index: zindex.$viewer-grid-map-panel;\r\n\r\n .dso-filterblok-address {\r\n font-weight: bold;\r\n margin: units.$u1 0;\r\n }\r\n\r\n .main {\r\n height: 100%;\r\n overflow-y: scroll;\r\n padding: 0 css-grid.$grid-gutter-width * 0.5 units.$u1;\r\n }\r\n}\r\n\r\n.sizing-buttons {\r\n left: calc(100% + 1px);\r\n overflow-x: hidden;\r\n padding: 0 units.$u1 * 0.5 units.$u1 * 0.5 0;\r\n position: absolute;\r\n top: core-viewer-grid-variables.$sizing-buttons-top;\r\n transition: left core-viewer-grid-variables.$transition-time ease-in;\r\n width: core-viewer-grid-variables.$resize-button-size + units.$u1 * 0.5;\r\n z-index: zindex.$viewer-grid-sizing-buttons;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n @include button.map-focus();\r\n\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n border-bottom-right-radius: 4px;\r\n border-top-right-radius: 4px;\r\n box-shadow: 0 1px units.$u1 * 0.5 0 rgba(0, 0, 0, 0.4);\r\n flex: 0 0 100%;\r\n height: core-viewer-grid-variables.$resize-button-size;\r\n min-width: auto;\r\n width: core-viewer-grid-variables.$resize-button-size;\r\n\r\n &:hover {\r\n dso-icon {\r\n color: colors.$wit;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.map {\r\n height: 100%;\r\n width: 100%;\r\n overflow: hidden;\r\n}\r\n\r\n.filterpanel,\r\n.overlay {\r\n background-color: colors.$wit;\r\n height: 100%;\r\n overflow-y: auto;\r\n position: absolute;\r\n z-index: zindex.$viewer-grid-map-panel + 1;\r\n}\r\n\r\n.filterpanel {\r\n box-shadow: 2px 0 5px colors.$grijs-60;\r\n padding: units.$u1 css-grid.$grid-gutter-width * 0.5;\r\n left: 0;\r\n max-width: core-viewer-grid-variables.$filterpanel-max-width;\r\n width: calc(100vw - 40px);\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$filterpanel-width) {\r\n width: 100vw;\r\n\r\n &::before {\r\n display: none !important;\r\n }\r\n }\r\n\r\n h1 {\r\n @include headings.base();\r\n @include headings.margin-large();\r\n @include headings.h1();\r\n }\r\n\r\n &::before {\r\n content: \"\";\r\n display: block;\r\n position: fixed;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n left: core-viewer-grid-variables.$filterpanel-max-width;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n\r\n @media screen and (max-width: #{core-viewer-grid-variables.$filterpanel-max-width + 40px}) {\r\n left: auto;\r\n width: 40px;\r\n }\r\n }\r\n}\r\n\r\n.overlay {\r\n box-shadow: -2px 0 5px colors.$grijs-60;\r\n padding: units.$u5 css-grid.$grid-gutter-width * 0.5 units.$u1;\r\n right: 0;\r\n width: core-viewer-grid-variables.$overlay-width;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$overlay-width) {\r\n width: 100vw;\r\n }\r\n}\r\n\r\n.dimscreen {\r\n position: fixed;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: core-viewer-grid-variables.$overlay-width;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n z-index: zindex.$viewer-grid-map-panel + 2;\r\n}\r\n\r\n.filterpanel-buttons {\r\n text-align: right;\r\n\r\n .cancel-button {\r\n @include button.secondary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .apply-button {\r\n @include button.primary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .cancel-button + .apply-button {\r\n margin-left: units.$u2;\r\n }\r\n}\r\n","import { h, Component, Prop, State, Host, Element, Event, EventEmitter, Watch } from \"@stencil/core\";\r\nimport { FocusTrap, createFocusTrap } from \"focus-trap\";\r\nimport { ViewerGridFilterpanelButtons } from \"./viewer-grid-filterpanel-buttons\";\r\nimport { FilterpanelEvent, LabelSizeMap, MainSize, ViewerGridChangeSizeEvent } from \"./viewer-grid.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-viewer-grid\",\r\n styleUrl: \"viewer-grid.scss\",\r\n shadow: true,\r\n})\r\nexport class ViewerGrid {\r\n private sizeLabelMap: LabelSizeMap = {\r\n small: \"smal\",\r\n medium: \"middel\",\r\n large: \"breed\",\r\n };\r\n\r\n private mapPanel?: HTMLDivElement;\r\n\r\n /**\r\n * Set to true when filterpanel should show.\r\n */\r\n @Prop({ reflect: true })\r\n filterpanelOpen = false;\r\n\r\n /**\r\n * Set to true when overlay should show.\r\n */\r\n @Prop({ reflect: true })\r\n overlayOpen = false;\r\n\r\n /**\r\n * Size of the main content panel when component loads. Changing this attribute afterwards has no effect.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop()\r\n initialMainSize?: MainSize;\r\n\r\n @State()\r\n mainSize: MainSize = \"large\";\r\n\r\n /**\r\n * Emitted when user wants to close the overlay.\r\n */\r\n @Event()\r\n dsoCloseOverlay!: EventEmitter<MouseEvent | KeyboardEvent>;\r\n\r\n /**\r\n * Emitted when user cancels filterpanel.\r\n */\r\n @Event()\r\n dsoFilterpanelCancel!: EventEmitter<FilterpanelEvent>;\r\n\r\n /**\r\n * Emitted when user applies filterpanel options.\r\n */\r\n @Event()\r\n dsoFilterpanelApply!: EventEmitter<FilterpanelEvent>;\r\n\r\n /**\r\n * Emitted before and after main size animation. Inspect `detail` property for more information.\r\n */\r\n @Event()\r\n dsoMainSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoViewerGridElement;\r\n\r\n private filterpanel: HTMLElement | undefined;\r\n\r\n private filterpanelSlot: HTMLElement | null = null;\r\n\r\n private filterpanelFocustrap: FocusTrap | undefined;\r\n\r\n private overlay: HTMLDivElement | undefined;\r\n\r\n private overlaySlot: HTMLDivElement | null = null;\r\n\r\n private overlayFocustrap: FocusTrap | undefined;\r\n\r\n @Watch(\"mainSize\")\r\n mainSizeWatcher(currentSize: MainSize, previousSize: MainSize) {\r\n this.dsoMainSizeChange.emit({\r\n stage: \"start\",\r\n previousSize,\r\n currentSize,\r\n });\r\n\r\n this.mapPanel?.addEventListener(\r\n \"transitionend\",\r\n (e) => {\r\n if (e.propertyName === \"flex-basis\") {\r\n this.dsoMainSizeChange.emit({\r\n stage: \"end\",\r\n previousSize,\r\n currentSize,\r\n });\r\n }\r\n },\r\n { once: true }\r\n );\r\n }\r\n\r\n private shrinkMain = () => {\r\n this.mainSize = this.mainSize === \"large\" ? \"medium\" : \"small\";\r\n };\r\n\r\n private expandMain = () => {\r\n this.mainSize = this.mainSize === \"small\" ? \"medium\" : \"large\";\r\n };\r\n\r\n private updateFocusTrap() {\r\n if (this.filterpanelOpen && this.overlayOpen) {\r\n return;\r\n }\r\n\r\n if (this.filterpanelFocustrap) {\r\n if (this.filterpanelOpen && !this.filterpanel?.hidden) {\r\n this.filterpanelFocustrap.activate();\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n } else {\r\n this.filterpanelFocustrap.deactivate();\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n }\r\n }\r\n\r\n if (this.overlayFocustrap) {\r\n if (this.overlayOpen && !this.overlay?.hidden) {\r\n this.overlayFocustrap.activate();\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n } else {\r\n this.overlayFocustrap.deactivate();\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n }\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key !== \"Escape\") {\r\n return;\r\n }\r\n\r\n this.dsoCloseOverlay.emit(event);\r\n };\r\n\r\n connectedCallback() {\r\n this.filterpanelSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='filterpanel']\");\r\n\r\n this.overlaySlot = this.host.querySelector<HTMLDivElement>(\"div[slot='overlay']\");\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.filterpanel && this.filterpanelSlot) {\r\n this.filterpanelFocustrap = createFocusTrap([this.filterpanel, this.filterpanelSlot], {\r\n escapeDeactivates: false,\r\n allowOutsideClick: true,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n });\r\n }\r\n\r\n if (this.overlay && this.overlaySlot) {\r\n this.overlayFocustrap = createFocusTrap([this.overlay, this.overlaySlot], {\r\n escapeDeactivates: false,\r\n allowOutsideClick: true,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n });\r\n }\r\n\r\n this.updateFocusTrap();\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.initialMainSize) {\r\n this.mainSize = this.initialMainSize;\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n this.updateFocusTrap();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.overlayFocustrap?.deactivate();\r\n this.filterpanelFocustrap?.deactivate();\r\n\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n }\r\n\r\n private handleFilterpanelApply(mouseEvent: MouseEvent) {\r\n this.dsoFilterpanelApply.emit({ originalEvent: mouseEvent });\r\n }\r\n\r\n private handleFilterpanelCancel(mouseEvent: MouseEvent) {\r\n this.dsoFilterpanelCancel.emit({ originalEvent: mouseEvent });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host {...{ [this.mainSize]: true }}>\r\n <div class=\"dso-map-panel\" ref={(element) => (this.mapPanel = element)}>\r\n <div class=\"sizing-buttons\">\r\n <span class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n breedte tekstpaneel: {this.sizeLabelMap[this.mainSize]}\r\n </span>\r\n <button type=\"button\" class=\"shrink\" disabled={this.mainSize === \"small\"} onClick={this.shrinkMain}>\r\n <span class=\"sr-only\">Kaartpaneel smaller maken</span>\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n </button>\r\n <button type=\"button\" class=\"expand\" disabled={this.mainSize === \"large\"} onClick={this.expandMain}>\r\n <span class=\"sr-only\">Kaartpaneel breder maken</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n </div>\r\n <div class=\"main\">\r\n <slot name=\"main\" />\r\n </div>\r\n </div>\r\n <div\r\n id=\"filterpanel\"\r\n class=\"filterpanel\"\r\n hidden={!this.filterpanelOpen || !this.filterpanelSlot}\r\n ref={(element) => (this.filterpanel = element)}\r\n >\r\n <h1>Uw keuzes</h1>\r\n <ViewerGridFilterpanelButtons\r\n onApply={(e) => this.handleFilterpanelApply(e)}\r\n onCancel={(e) => this.handleFilterpanelCancel(e)}\r\n />\r\n <slot name=\"filterpanel\" />\r\n <ViewerGridFilterpanelButtons\r\n onApply={(e) => this.handleFilterpanelApply(e)}\r\n onCancel={(e) => this.handleFilterpanelCancel(e)}\r\n />\r\n </div>\r\n <div class=\"map\">\r\n <slot name=\"map\" />\r\n </div>\r\n <div hidden={!this.overlayOpen || !this.overlaySlot} class=\"dimscreen\"></div>\r\n <div\r\n class=\"overlay\"\r\n hidden={!this.overlayOpen || !this.overlaySlot}\r\n ref={(element) => (this.overlay = element)}\r\n >\r\n <button type=\"button\" class=\"overlay-close-button\" onClick={(e) => this.dsoCloseOverlay.emit(e)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">sluiten</span>\r\n </button>\r\n <slot name=\"overlay\" />\r\n {/* This button is needed for the `focus-trap` library to function correctly. It is never focused. */}\r\n <button aria-hidden=\"true\" type=\"button\" class=\"overlay-close-button\" style={{ zIndex: \"-100\" }}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">sluiten</span>\r\n </button>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["ViewerGridFilterpanelButtons","onApply","onCancel","h","class","type","onClick","icon","viewerGridCss","ViewerGrid","this","sizeLabelMap","small","medium","large","filterpanelSlot","overlaySlot","shrinkMain","mainSize","expandMain","keyDownListener","event","key","dsoCloseOverlay","emit","mainSizeWatcher","currentSize","previousSize","dsoMainSizeChange","stage","_a","mapPanel","addEventListener","e","propertyName","once","updateFocusTrap","filterpanelOpen","overlayOpen","filterpanelFocustrap","filterpanel","hidden","activate","host","deactivate","removeEventListener","overlayFocustrap","_b","overlay","connectedCallback","querySelector","componentDidLoad","createFocusTrap","escapeDeactivates","allowOutsideClick","tabbableOptions","getShadowRoot","componentWillLoad","initialMainSize","componentDidUpdate","disconnectedCallback","handleFilterpanelApply","mouseEvent","dsoFilterpanelApply","originalEvent","handleFilterpanelCancel","dsoFilterpanelCancel","render","Host","Object","assign","ref","element","disabled","name","id","style","zIndex"],"sources":["./src/components/viewer-grid/viewer-grid-filterpanel-buttons.tsx","./src/components/viewer-grid/viewer-grid.scss?tag=dso-viewer-grid&encapsulation=shadow","./src/components/viewer-grid/viewer-grid.tsx"],"sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport interface ViewerGridFilterpanelProps {\r\n onApply: (mouseEvent: MouseEvent) => void;\r\n onCancel: (mouseEvent: MouseEvent) => void;\r\n}\r\n\r\nexport const ViewerGridFilterpanelButtons: FunctionalComponent<ViewerGridFilterpanelProps> = ({\r\n onApply,\r\n onCancel,\r\n}) => (\r\n <div class=\"filterpanel-buttons\">\r\n <button type=\"button\" class=\"cancel-button\" onClick={onCancel}>\r\n <span>Annuleren</span>\r\n </button>\r\n <button type=\"button\" class=\"apply-button\" onClick={onApply}>\r\n <span>Toepassen</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n </div>\r\n);\r\n","@use \"~dso-toolkit/src/components/grid\" as css-grid;\r\n\r\n@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/headings\";\r\n\r\n@use \"viewer-grid.variables\" as core-viewer-grid-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: flex;\r\n height: 100vh;\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n:host([small]) {\r\n .dso-map-panel {\r\n flex-basis: core-viewer-grid-variables.$small;\r\n min-width: 0;\r\n max-width: core-viewer-grid-variables.$small;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$small) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: 0;\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\n:host([medium]) {\r\n .dso-map-panel {\r\n flex-basis: core-viewer-grid-variables.$medium;\r\n min-width: core-viewer-grid-variables.$small;\r\n max-width: core-viewer-grid-variables.$medium;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$medium) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: core-viewer-grid-variables.$small;\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\n:host([large]) {\r\n .dso-map-panel {\r\n flex-basis: core-viewer-grid-variables.$large;\r\n min-width: core-viewer-grid-variables.$large-min;\r\n max-width: core-viewer-grid-variables.$large-max;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$large-min) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: core-viewer-grid-variables.$large-min;\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.shrink,\r\n.expand,\r\n.overlay-close-button {\r\n @include button.tertiary($modifiers: false);\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n &[disabled] {\r\n display: none;\r\n }\r\n}\r\n\r\n.overlay-close-button {\r\n position: absolute;\r\n top: units.$u1;\r\n right: css-grid.$grid-gutter-width * 0.5;\r\n}\r\n\r\n.dso-map-panel {\r\n background-color: colors.$wit;\r\n box-shadow: units.$u1 * 0.25 0 units.$u1 0 rgba(0, 0, 0, 0.4);\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n padding-right: units.$u1;\r\n position: relative;\r\n transition: flex-basis core-viewer-grid-variables.$transition-time ease-in,\r\n max-width core-viewer-grid-variables.$transition-time ease-in,\r\n min-width core-viewer-grid-variables.$transition-time ease-in;\r\n z-index: zindex.$viewer-grid-map-panel;\r\n\r\n .dso-filterblok-address {\r\n font-weight: bold;\r\n margin: units.$u1 0;\r\n }\r\n\r\n .main {\r\n height: 100%;\r\n overflow-y: scroll;\r\n padding: 0 css-grid.$grid-gutter-width * 0.5 units.$u1;\r\n }\r\n}\r\n\r\n.sizing-buttons {\r\n left: calc(100% + 1px);\r\n overflow-x: hidden;\r\n padding: 0 units.$u1 * 0.5 units.$u1 * 0.5 0;\r\n position: absolute;\r\n top: core-viewer-grid-variables.$sizing-buttons-top;\r\n transition: left core-viewer-grid-variables.$transition-time ease-in;\r\n width: core-viewer-grid-variables.$resize-button-size + units.$u1 * 0.5;\r\n z-index: zindex.$viewer-grid-sizing-buttons;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n @include button.map-focus();\r\n\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n border-bottom-right-radius: 4px;\r\n border-top-right-radius: 4px;\r\n box-shadow: 0 1px units.$u1 * 0.5 0 rgba(0, 0, 0, 0.4);\r\n flex: 0 0 100%;\r\n height: core-viewer-grid-variables.$resize-button-size;\r\n min-width: auto;\r\n width: core-viewer-grid-variables.$resize-button-size;\r\n\r\n &:hover {\r\n dso-icon {\r\n color: colors.$wit;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.map {\r\n height: 100%;\r\n width: 100%;\r\n overflow: hidden;\r\n}\r\n\r\n.filterpanel,\r\n.overlay {\r\n background-color: colors.$wit;\r\n height: 100%;\r\n overflow-y: auto;\r\n position: absolute;\r\n z-index: zindex.$viewer-grid-map-panel + 1;\r\n}\r\n\r\n.filterpanel {\r\n box-shadow: 2px 0 5px colors.$grijs-60;\r\n padding: units.$u1 css-grid.$grid-gutter-width * 0.5;\r\n left: 0;\r\n max-width: core-viewer-grid-variables.$filterpanel-max-width;\r\n width: calc(100vw - 40px);\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$filterpanel-width) {\r\n width: 100vw;\r\n\r\n &::before {\r\n display: none !important;\r\n }\r\n }\r\n\r\n h1 {\r\n @include headings.base();\r\n @include headings.margin-large();\r\n @include headings.h1();\r\n }\r\n\r\n &::before {\r\n content: \"\";\r\n display: block;\r\n position: fixed;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n left: core-viewer-grid-variables.$filterpanel-max-width;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n\r\n @media screen and (max-width: #{core-viewer-grid-variables.$filterpanel-max-width + 40px}) {\r\n left: auto;\r\n width: 40px;\r\n }\r\n }\r\n}\r\n\r\n.overlay {\r\n box-shadow: -2px 0 5px colors.$grijs-60;\r\n padding: units.$u5 css-grid.$grid-gutter-width * 0.5 units.$u1;\r\n right: 0;\r\n width: core-viewer-grid-variables.$overlay-width;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$overlay-width) {\r\n width: 100vw;\r\n }\r\n}\r\n\r\n.dimscreen {\r\n position: fixed;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: core-viewer-grid-variables.$overlay-width;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n z-index: zindex.$viewer-grid-map-panel + 2;\r\n}\r\n\r\n.filterpanel-buttons {\r\n text-align: right;\r\n\r\n .cancel-button {\r\n @include button.secondary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .apply-button {\r\n @include button.primary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .cancel-button + .apply-button {\r\n margin-left: units.$u2;\r\n }\r\n}\r\n","import { h, Component, Prop, State, Host, Element, Event, EventEmitter, Watch } from \"@stencil/core\";\r\nimport { FocusTrap, createFocusTrap } from \"focus-trap\";\r\nimport { ViewerGridFilterpanelButtons } from \"./viewer-grid-filterpanel-buttons\";\r\nimport { FilterpanelEvent, LabelSizeMap, MainSize, ViewerGridChangeSizeEvent } from \"./viewer-grid.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-viewer-grid\",\r\n styleUrl: \"viewer-grid.scss\",\r\n shadow: true,\r\n})\r\nexport class ViewerGrid {\r\n private sizeLabelMap: LabelSizeMap = {\r\n small: \"smal\",\r\n medium: \"middel\",\r\n large: \"breed\",\r\n };\r\n\r\n private mapPanel?: HTMLDivElement;\r\n\r\n /**\r\n * Set to true when filterpanel should show.\r\n */\r\n @Prop({ reflect: true })\r\n filterpanelOpen = false;\r\n\r\n /**\r\n * Set to true when overlay should show.\r\n */\r\n @Prop({ reflect: true })\r\n overlayOpen = false;\r\n\r\n /**\r\n * Size of the main content panel when component loads. Changing this attribute afterwards has no effect.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop()\r\n initialMainSize?: MainSize;\r\n\r\n @State()\r\n mainSize: MainSize = \"large\";\r\n\r\n /**\r\n * Emitted when user wants to close the overlay.\r\n */\r\n @Event()\r\n dsoCloseOverlay!: EventEmitter<MouseEvent | KeyboardEvent>;\r\n\r\n /**\r\n * Emitted when user cancels filterpanel.\r\n */\r\n @Event()\r\n dsoFilterpanelCancel!: EventEmitter<FilterpanelEvent>;\r\n\r\n /**\r\n * Emitted when user applies filterpanel options.\r\n */\r\n @Event()\r\n dsoFilterpanelApply!: EventEmitter<FilterpanelEvent>;\r\n\r\n /**\r\n * Emitted before and after main size animation. Inspect `detail` property for more information.\r\n */\r\n @Event()\r\n dsoMainSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoViewerGridElement;\r\n\r\n private filterpanel: HTMLElement | undefined;\r\n\r\n private filterpanelSlot: HTMLElement | null = null;\r\n\r\n private filterpanelFocustrap: FocusTrap | undefined;\r\n\r\n private overlay: HTMLDivElement | undefined;\r\n\r\n private overlaySlot: HTMLDivElement | null = null;\r\n\r\n private overlayFocustrap: FocusTrap | undefined;\r\n\r\n @Watch(\"mainSize\")\r\n mainSizeWatcher(currentSize: MainSize, previousSize: MainSize) {\r\n this.dsoMainSizeChange.emit({\r\n stage: \"start\",\r\n previousSize,\r\n currentSize,\r\n });\r\n\r\n this.mapPanel?.addEventListener(\r\n \"transitionend\",\r\n (e) => {\r\n if (e.propertyName === \"flex-basis\") {\r\n this.dsoMainSizeChange.emit({\r\n stage: \"end\",\r\n previousSize,\r\n currentSize,\r\n });\r\n }\r\n },\r\n { once: true }\r\n );\r\n }\r\n\r\n private shrinkMain = () => {\r\n this.mainSize = this.mainSize === \"large\" ? \"medium\" : \"small\";\r\n };\r\n\r\n private expandMain = () => {\r\n this.mainSize = this.mainSize === \"small\" ? \"medium\" : \"large\";\r\n };\r\n\r\n private updateFocusTrap() {\r\n if (this.filterpanelOpen && this.overlayOpen) {\r\n return;\r\n }\r\n\r\n if (this.filterpanelFocustrap) {\r\n if (this.filterpanelOpen && !this.filterpanel?.hidden) {\r\n this.filterpanelFocustrap.activate();\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n } else {\r\n this.filterpanelFocustrap.deactivate();\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n }\r\n }\r\n\r\n if (this.overlayFocustrap) {\r\n if (this.overlayOpen && !this.overlay?.hidden) {\r\n this.overlayFocustrap.activate();\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n } else {\r\n this.overlayFocustrap.deactivate();\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n }\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key !== \"Escape\") {\r\n return;\r\n }\r\n\r\n this.dsoCloseOverlay.emit(event);\r\n };\r\n\r\n connectedCallback() {\r\n this.filterpanelSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='filterpanel']\");\r\n\r\n this.overlaySlot = this.host.querySelector<HTMLDivElement>(\"div[slot='overlay']\");\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.filterpanel && this.filterpanelSlot) {\r\n this.filterpanelFocustrap = createFocusTrap([this.filterpanel, this.filterpanelSlot], {\r\n escapeDeactivates: false,\r\n allowOutsideClick: true,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n });\r\n }\r\n\r\n if (this.overlay && this.overlaySlot) {\r\n this.overlayFocustrap = createFocusTrap([this.overlay, this.overlaySlot], {\r\n escapeDeactivates: false,\r\n allowOutsideClick: true,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n });\r\n }\r\n\r\n this.updateFocusTrap();\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.initialMainSize) {\r\n this.mainSize = this.initialMainSize;\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n this.updateFocusTrap();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.overlayFocustrap?.deactivate();\r\n this.filterpanelFocustrap?.deactivate();\r\n\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n }\r\n\r\n private handleFilterpanelApply(mouseEvent: MouseEvent) {\r\n this.dsoFilterpanelApply.emit({ originalEvent: mouseEvent });\r\n }\r\n\r\n private handleFilterpanelCancel(mouseEvent: MouseEvent) {\r\n this.dsoFilterpanelCancel.emit({ originalEvent: mouseEvent });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host {...{ [this.mainSize]: true }}>\r\n <div class=\"dso-map-panel\" ref={(element) => (this.mapPanel = element)}>\r\n <div class=\"sizing-buttons\">\r\n <span class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n Breedte tekstpaneel: {this.sizeLabelMap[this.mainSize]}\r\n </span>\r\n <button type=\"button\" class=\"shrink\" disabled={this.mainSize === \"small\"} onClick={this.shrinkMain}>\r\n <span class=\"sr-only\">Tekstpaneel smaller maken</span>\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n </button>\r\n <button type=\"button\" class=\"expand\" disabled={this.mainSize === \"large\"} onClick={this.expandMain}>\r\n <span class=\"sr-only\">Tekstpaneel breder maken</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n </div>\r\n <div class=\"main\">\r\n <slot name=\"main\" />\r\n </div>\r\n </div>\r\n <div\r\n id=\"filterpanel\"\r\n class=\"filterpanel\"\r\n hidden={!this.filterpanelOpen || !this.filterpanelSlot}\r\n ref={(element) => (this.filterpanel = element)}\r\n >\r\n <h1>Uw keuzes</h1>\r\n <ViewerGridFilterpanelButtons\r\n onApply={(e) => this.handleFilterpanelApply(e)}\r\n onCancel={(e) => this.handleFilterpanelCancel(e)}\r\n />\r\n <slot name=\"filterpanel\" />\r\n <ViewerGridFilterpanelButtons\r\n onApply={(e) => this.handleFilterpanelApply(e)}\r\n onCancel={(e) => this.handleFilterpanelCancel(e)}\r\n />\r\n </div>\r\n <div class=\"map\">\r\n <slot name=\"map\" />\r\n </div>\r\n <div hidden={!this.overlayOpen || !this.overlaySlot} class=\"dimscreen\"></div>\r\n <div\r\n class=\"overlay\"\r\n hidden={!this.overlayOpen || !this.overlaySlot}\r\n ref={(element) => (this.overlay = element)}\r\n >\r\n <button type=\"button\" class=\"overlay-close-button\" onClick={(e) => this.dsoCloseOverlay.emit(e)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">sluiten</span>\r\n </button>\r\n <slot name=\"overlay\" />\r\n {/* This button is needed for the `focus-trap` library to function correctly. It is never focused. */}\r\n <button aria-hidden=\"true\" type=\"button\" class=\"overlay-close-button\" style={{ zIndex: \"-100\" }}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">sluiten</span>\r\n </button>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as s,c as o,h as e,F as d,a as r}from"./p-ce928197.js";import{c as i}from"./p-6a1980b4.js";import{d as a}from"./p-1805f5b0.js";import{i as t}from"./p-33df9903.js";const n=".sc-dso-header-h{display:block}.dso-header.sc-dso-header{border-bottom:1px solid #ccc;display:flex;flex-wrap:wrap;position:relative}@media screen and (min-width: 768px){.dso-header.sc-dso-header{align-items:center}}@media screen and (max-width: 991px){.dso-header.use-drop-down.sc-dso-header{flex-wrap:nowrap}}.dso-header.sc-dso-header .dso-nav.sc-dso-header{border:0}.logo-container.sc-dso-header{display:flex;flex-wrap:wrap;gap:0 24px;padding-bottom:16px;padding-top:16px}.login.sc-dso-header .dso-tertiary.sc-dso-header,.logout.sc-dso-header .dso-tertiary.sc-dso-header{cursor:pointer;font-family:Asap, sans-serif;font-weight:600;vertical-align:text-bottom}.profile.sc-dso-header a.sc-dso-header,.logout.sc-dso-header a.sc-dso-header,.login.sc-dso-header a.sc-dso-header{text-decoration:none;color:#39870c;font-weight:600}.profile.sc-dso-header a.sc-dso-header:hover,.profile.sc-dso-header a.sc-dso-header:focus,.logout.sc-dso-header a.sc-dso-header:hover,.logout.sc-dso-header a.sc-dso-header:focus,.login.sc-dso-header a.sc-dso-header:hover,.login.sc-dso-header a.sc-dso-header:focus{text-decoration:none}.profile.sc-dso-header a.sc-dso-header:active,.logout.sc-dso-header a.sc-dso-header:active,.login.sc-dso-header a.sc-dso-header:active{text-decoration:underline}.profile.sc-dso-header a.sc-dso-header:focus,.logout.sc-dso-header a.sc-dso-header:focus,.login.sc-dso-header a.sc-dso-header:focus{color:#fff}.dso-header-session.sc-dso-header{display:flex;margin-left:auto}.dso-header-session.sc-dso-header .profile.sc-dso-header a.sc-dso-header{margin-left:8px}.dso-header-session.sc-dso-header .profile.sc-dso-header+.logout.sc-dso-header{border-left:3px solid #ccc;margin-left:16px;padding-left:16px}.dso-navbar.sc-dso-header{flex-basis:100%}.dso-navbar.sc-dso-header .dso-dropdown-options.sc-dso-header{border-top:1px solid #ccc}dso-dropdown-menu.sc-dso-header button.sc-dso-header{align-items:flex-end;background-color:transparent;border:0;display:flex;font-family:Asap, sans-serif;padding-right:32px}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{border:0;border-radius:0}@media screen and (min-width: 768px){dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{width:375px}}@media screen and (max-width: 767px){dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{width:100%}}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header a.sc-dso-header,dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header button.sc-dso-header{color:#275937;font-size:1.25rem;padding:16px;white-space:pre-wrap}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header a.sc-dso-header:focus,dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header button.sc-dso-header:focus{color:#fff}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header a.sc-dso-header:hover,dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header button.sc-dso-header:hover{background-color:#fff;color:#275937;text-decoration:underline}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.dso-active.sc-dso-header a.sc-dso-header{font-weight:600}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header+li.sc-dso-header{border-top:1px solid #ccc}.dropdown.sc-dso-header{margin-left:auto}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header{position:static}@media screen and (max-width: 767px){.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header{margin-top:28px}}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{right:0;top:100%}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header{color:#39870c;font-size:16px;font-weight:600;line-height:normal;position:relative}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header::after{margin-left:8px;position:absolute;right:0px;top:50%;transform:translateY(-50%)}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header:hover,.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header:active{cursor:pointer;text-decoration:underline}.dso-nav.sc-dso-header{align-items:end;column-gap:32px;display:flex;list-style:none;margin-bottom:0;margin-top:0;padding-left:0}.dso-nav.sc-dso-header>li.sc-dso-header{margin-bottom:4px}.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header{display:block}.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header,.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header:hover,.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header:focus,.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header:visited{color:#275937}.dso-nav.sc-dso-header>li.dso-active.sc-dso-header,.dso-nav.sc-dso-header>li.is-active.sc-dso-header{margin-bottom:0}.dso-nav.sc-dso-header>li.dso-active.sc-dso-header>a.sc-dso-header,.dso-nav.sc-dso-header>li.is-active.sc-dso-header>a.sc-dso-header{border-bottom:4px solid #8b4a6a;font-weight:bold}.dso-nav.dso-nav-main.sc-dso-header{display:flex !important}.dso-nav.dso-nav-main.sc-dso-header>li.sc-dso-header>a.sc-dso-header{text-decoration:none;font-size:1.25em;line-height:1;margin-top:8px;padding:16px 0;white-space:nowrap}.dso-nav.dso-nav-main.sc-dso-header>li.sc-dso-header>a.sc-dso-header:hover,.dso-nav.dso-nav-main.sc-dso-header>li.sc-dso-header>a.sc-dso-header:focus,.dso-nav.dso-nav-main.sc-dso-header>li.sc-dso-header>a.sc-dso-header:active{text-decoration:underline}.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{left:-1rem !important;top:3px !important}.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header{font-size:1.25em;line-height:1;margin-top:8px;padding:16px 0;align-items:center;color:#275937;padding-right:32px}.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header:hover,.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header:active{cursor:pointer;text-decoration:underline}.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header::after{margin-left:8px;position:absolute;right:0px;top:auto;transform:none}.dso-nav.sc-dso-header .menu-user-home.sc-dso-header{margin-left:auto}.dso-nav.sc-dso-header .menu-user-home.sc-dso-header dso-icon.sc-dso-header{height:1em;margin-right:8px;position:relative;top:-2px;width:1.2em}";const h=992;const c=class{constructor(d){s(this,d);this.dsoHeaderClick=o(this,"dsoHeaderClick",7);this.onWindowResize=a((()=>{var s,o;(s=this.dropdownElement)===null||s===void 0?void 0:s.removeAttribute("open");(o=this.dropdownElement)===null||o===void 0?void 0:o.removeAttribute("tabindex");this.setDropDownMenu();this.setOverflowMenu();if(this.showDropDown){this.dropdownOptionsOffset=this.calculateDropdownOptionsOffset()}}),100);this.MenuItem=s=>e("li",{class:s.active?"dso-active":undefined},e("a",{href:s.url,"aria-current":s.active?"page":undefined,onClick:o=>this.clickHandler(o,"menuItem",{menuItem:s})},s.label));this.mainMenu=[];this.useDropDownMenu="auto";this.authStatus="none";this.loginUrl=undefined;this.logoutUrl=undefined;this.userProfileName=undefined;this.userProfileUrl=undefined;this.userHomeUrl=undefined;this.userHomeActive=undefined;this.showDropDown=undefined;this.hasSubLogo=false;this.overflowMenuItems=0;this.dropdownOptionsOffset=0}clickHandler(s,o,e){var d,r;this.dsoHeaderClick.emit({originalEvent:s,isModifiedEvent:t(s),type:o,menuItem:e===null||e===void 0?void 0:e.menuItem,url:(d=e===null||e===void 0?void 0:e.url)!==null&&d!==void 0?d:(r=e===null||e===void 0?void 0:e.menuItem)===null||r===void 0?void 0:r.url})}setShowDropDown(s){if(s==="auto"){this.setDropDownMenu();return}this.showDropDown=s==="always"}componentWillLoad(){this.hasSubLogo=this.host.querySelector("*[slot = 'sub-logo']")!==null}shrinkMenuToFit(){if(!this.wrapper||!this.nav){return}if(this.wrapper.clientWidth>=this.nav.clientWidth){return}if(this.mainMenu&&this.overflowMenuItems>=this.mainMenu.length){return}this.overflowMenuItems++}componentDidRender(){if(this.showDropDown){this.dropdownOptionsOffset=this.calculateDropdownOptionsOffset();return}window.setTimeout((()=>this.shrinkMenuToFit()),0)}componentDidLoad(){this.setShowDropDown(this.useDropDownMenu);if(this.showDropDown){this.dropdownOptionsOffset=this.calculateDropdownOptionsOffset()}}setOverflowMenu(){if(this.showDropDown){return}if(this.overflowMenuItems!==0){this.overflowMenuItems=0;return}this.shrinkMenuToFit()}setDropDownMenu(){if(this.useDropDownMenu!=="auto"){return}this.showDropDown=window.innerWidth<h}calculateDropdownOptionsOffset(){var s;if(!this.dropdownElement){return 0}return this.host.clientHeight-(((s=this.dropdownElement)===null||s===void 0?void 0:s.getBoundingClientRect().bottom)-this.host.getBoundingClientRect().top)}connectedCallback(){window.addEventListener("resize",this.onWindowResize)}disconnectedCallback(){window.removeEventListener("resize",this.onWindowResize)}render(){if(this.showDropDown===undefined){return}return e(d,null,e("div",{class:i("dso-header",{["use-drop-down"]:this.showDropDown,["has-sub-logo"]:this.hasSubLogo}),ref:s=>this.wrapper=s},e("div",{class:"logo-container"},e("div",{class:"logo"},e("slot",{name:"logo"})),e("div",{class:"sub-logo"},e("slot",{name:"sub-logo"}))),this.showDropDown&&this.mainMenu&&(this.mainMenu.length>0||this.userHomeUrl||this.authStatus!=="none")&&e("div",{class:"dropdown"},e("dso-dropdown-menu",{"dropdown-align":"right",strategy:"absolute",dropdownOptionsOffset:this.dropdownOptionsOffset,ref:s=>this.dropdownElement=s},e("button",{type:"button",slot:"toggle"},e("span",null,"Menu")),e("div",{class:"dso-dropdown-options"},e("ul",null,this.mainMenu.map(this.MenuItem),this.userHomeUrl&&e("li",null,e("a",{href:this.userHomeUrl,onClick:s=>this.clickHandler(s,"userHome",{url:this.userHomeUrl})},"Mijn Omgevingsloket")),this.userProfileUrl&&this.userProfileName&&this.authStatus==="loggedIn"&&e("li",null,e("a",{href:this.userProfileUrl,onClick:s=>this.clickHandler(s,"profile",{url:this.userProfileUrl})},this.userProfileName,e("span",{class:"profile-label"}," - Mijn profiel"))),this.authStatus==="loggedOut"&&e("li",null,this.loginUrl?e("a",{href:this.loginUrl,onClick:s=>this.clickHandler(s,"login",{url:this.loginUrl})},"Inloggen"):e("button",{type:"button",onClick:s=>this.clickHandler(s,"login")},"Inloggen")),this.authStatus==="loggedIn"&&e("li",null,this.logoutUrl?e("a",{href:this.logoutUrl,onClick:s=>this.clickHandler(s,"logout",{url:this.logoutUrl})},"Uitloggen"):e("button",{type:"button",onClick:s=>this.clickHandler(s,"logout")},"Uitloggen")))))),!this.showDropDown&&e(d,null,e("div",{class:"dso-header-session"},this.userProfileUrl&&this.userProfileName&&this.authStatus==="loggedIn"&&e("div",{class:"profile"},e("span",{class:"profile-label"},"Welkom:"),e("a",{href:this.userProfileUrl,onClick:s=>this.clickHandler(s,"profile",{url:this.userProfileUrl})},this.userProfileName)),this.authStatus==="loggedOut"&&e("div",{class:"login"},this.loginUrl?e("a",{href:this.loginUrl,onClick:s=>this.clickHandler(s,"login",{url:this.loginUrl})},"Inloggen"):e("button",{class:"dso-tertiary",type:"button",onClick:s=>this.clickHandler(s,"login")},"Inloggen")),this.authStatus==="loggedIn"&&e("div",{class:"logout"},this.logoutUrl?e("a",{href:this.logoutUrl,onClick:s=>this.clickHandler(s,"logout",{url:this.logoutUrl})},"Uitloggen"):e("button",{class:"dso-tertiary",type:"button",onClick:s=>this.clickHandler(s,"logout")},"Uitloggen"))),(this.mainMenu&&this.mainMenu.length>0||this.userHomeUrl)&&e("nav",{class:"dso-navbar"},e("ul",{class:"dso-nav dso-nav-main",ref:s=>this.nav=s},this.mainMenu&&this.mainMenu.filter(((s,o)=>this.mainMenu&&o<this.mainMenu.length-this.overflowMenuItems)).map(this.MenuItem),this.overflowMenuItems>0&&e("li",null,e("dso-dropdown-menu",{"dropdown-align":"left"},e("button",{type:"button",slot:"toggle"},e("span",null,"Meer")),e("div",{class:"dso-dropdown-options"},e("ul",null,this.mainMenu&&this.mainMenu.filter(((s,o)=>this.mainMenu&&o>=this.mainMenu.length-this.overflowMenuItems)).map(this.MenuItem))))),this.userHomeUrl&&e("li",{class:i("menu-user-home",{"dso-active":this.userHomeActive})},e("a",{href:this.userHomeUrl,"aria-current":this.userHomeActive?"page":undefined,onClick:s=>this.clickHandler(s,"userHome",{url:this.userHomeUrl})},e("dso-icon",{icon:"user-line"}),"Mijn Omgevingsloket")))))))}get host(){return r(this)}static get watchers(){return{useDropDownMenu:["setShowDropDown"]}}};c.style=n;export{c as dso_header};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as s,c as o,h as e,F as d,a as r}from"./p-ce928197.js";import{c as i}from"./p-6a1980b4.js";import{d as a}from"./p-1805f5b0.js";import{i as t}from"./p-33df9903.js";const n=".sc-dso-header-h{display:block}.dso-header.sc-dso-header{border-bottom:1px solid #ccc;display:flex;flex-wrap:wrap;position:relative}@media screen and (min-width: 768px){.dso-header.sc-dso-header{align-items:center}}@media screen and (max-width: 991px){.dso-header.use-drop-down.sc-dso-header{flex-wrap:nowrap}}.dso-header.sc-dso-header .dso-nav.sc-dso-header{border:0}.logo-container.sc-dso-header{display:flex;flex-wrap:wrap;gap:0 24px;padding-bottom:16px;padding-top:16px}.login.sc-dso-header .dso-tertiary.sc-dso-header,.logout.sc-dso-header .dso-tertiary.sc-dso-header{cursor:pointer;font-family:Asap, sans-serif;font-weight:600;vertical-align:text-bottom}.profile.sc-dso-header a.sc-dso-header,.logout.sc-dso-header a.sc-dso-header,.login.sc-dso-header a.sc-dso-header{text-decoration:none;color:#39870c;font-weight:600}.profile.sc-dso-header a.sc-dso-header:hover,.profile.sc-dso-header a.sc-dso-header:focus,.logout.sc-dso-header a.sc-dso-header:hover,.logout.sc-dso-header a.sc-dso-header:focus,.login.sc-dso-header a.sc-dso-header:hover,.login.sc-dso-header a.sc-dso-header:focus{text-decoration:none}.profile.sc-dso-header a.sc-dso-header:active,.logout.sc-dso-header a.sc-dso-header:active,.login.sc-dso-header a.sc-dso-header:active{text-decoration:underline}.profile.sc-dso-header a.sc-dso-header:focus,.logout.sc-dso-header a.sc-dso-header:focus,.login.sc-dso-header a.sc-dso-header:focus{color:#fff}.dso-header-session.sc-dso-header{display:flex;margin-left:auto}.dso-header-session.sc-dso-header .profile.sc-dso-header a.sc-dso-header{margin-left:8px}.dso-header-session.sc-dso-header .profile.sc-dso-header+.logout.sc-dso-header{border-left:3px solid #ccc;margin-left:16px;padding-left:16px}.dso-navbar.sc-dso-header{flex-basis:100%}.dso-navbar.sc-dso-header .dso-dropdown-options.sc-dso-header{border-top:1px solid #ccc}dso-dropdown-menu.sc-dso-header button.sc-dso-header{align-items:flex-end;background-color:transparent;border:0;display:flex;font-family:Asap, sans-serif;padding-right:32px}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{border:0;border-radius:0}@media screen and (min-width: 768px){dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{width:375px}}@media screen and (max-width: 767px){dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{width:100%}}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header a.sc-dso-header,dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header button.sc-dso-header{color:#275937;font-size:1.25rem;padding:16px;white-space:pre-wrap}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header a.sc-dso-header:focus,dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header button.sc-dso-header:focus{color:#fff}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header a.sc-dso-header:hover,dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header button.sc-dso-header:hover{background-color:#fff;color:#275937;text-decoration:underline}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.dso-active.sc-dso-header a.sc-dso-header{font-weight:600}dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header ul.sc-dso-header li.sc-dso-header+li.sc-dso-header{border-top:1px solid #ccc}.dropdown.sc-dso-header{margin-left:auto}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header{position:static}@media screen and (max-width: 767px){.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header{margin-top:28px}}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{right:0;top:100%}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header>button.sc-dso-header{color:#39870c;font-size:16px;font-weight:600;line-height:normal;position:relative}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header>button.sc-dso-header::after{margin-left:8px;position:absolute;right:0px;top:50%;transform:translateY(-50%)}.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header>button.sc-dso-header:hover,.dropdown.sc-dso-header dso-dropdown-menu.sc-dso-header>button.sc-dso-header:active{cursor:pointer;text-decoration:underline}.dso-nav.sc-dso-header{align-items:end;column-gap:32px;display:flex;list-style:none;margin-bottom:0;margin-top:0;padding-left:0}.dso-nav.sc-dso-header>li.sc-dso-header{margin-bottom:4px}.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header{display:block}.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header,.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header:hover,.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header:focus,.dso-nav.sc-dso-header>li.sc-dso-header>a.sc-dso-header:visited{color:#275937}.dso-nav.sc-dso-header>li.dso-active.sc-dso-header,.dso-nav.sc-dso-header>li.is-active.sc-dso-header{margin-bottom:0}.dso-nav.sc-dso-header>li.dso-active.sc-dso-header>a.sc-dso-header,.dso-nav.sc-dso-header>li.is-active.sc-dso-header>a.sc-dso-header{border-bottom:4px solid #8b4a6a;font-weight:bold}.dso-nav.dso-nav-main.sc-dso-header{display:flex !important}.dso-nav.dso-nav-main.sc-dso-header>li.sc-dso-header>a.sc-dso-header{text-decoration:none;font-size:1.25em;line-height:1;margin-top:8px;padding:16px 0;white-space:nowrap}.dso-nav.dso-nav-main.sc-dso-header>li.sc-dso-header>a.sc-dso-header:hover,.dso-nav.dso-nav-main.sc-dso-header>li.sc-dso-header>a.sc-dso-header:focus,.dso-nav.dso-nav-main.sc-dso-header>li.sc-dso-header>a.sc-dso-header:active{text-decoration:underline}.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header .dso-dropdown-options.sc-dso-header{left:-1rem !important;top:3px !important}.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header{font-size:1.25em;line-height:1;margin-top:8px;padding:16px 0;align-items:center;color:#275937;padding-right:32px}.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header:hover,.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header:active{cursor:pointer;text-decoration:underline}.dso-nav.dso-nav-main.sc-dso-header dso-dropdown-menu.sc-dso-header button.sc-dso-header::after{margin-left:8px;position:absolute;right:0px;top:auto;transform:none}.dso-nav.sc-dso-header .menu-user-home.sc-dso-header{margin-left:auto}.dso-nav.sc-dso-header .menu-user-home.sc-dso-header dso-icon.sc-dso-header{height:1em;margin-right:8px;position:relative;top:-2px;width:1.2em}";const h=992;const c=class{constructor(d){s(this,d);this.dsoHeaderClick=o(this,"dsoHeaderClick",7);this.onWindowResize=a((()=>{var s,o;(s=this.dropdownElement)===null||s===void 0?void 0:s.removeAttribute("open");(o=this.dropdownElement)===null||o===void 0?void 0:o.removeAttribute("tabindex");this.setDropDownMenu();this.setOverflowMenu();if(this.showDropDown){this.dropdownOptionsOffset=this.calculateDropdownOptionsOffset()}}),100);this.MenuItem=s=>e("li",{class:s.active?"dso-active":undefined},e("a",{href:s.url,"aria-current":s.active?"page":undefined,onClick:o=>this.clickHandler(o,"menuItem",{menuItem:s})},s.label));this.mainMenu=[];this.useDropDownMenu="auto";this.authStatus="none";this.loginUrl=undefined;this.logoutUrl=undefined;this.userProfileName=undefined;this.userProfileUrl=undefined;this.userHomeUrl=undefined;this.userHomeActive=undefined;this.showDropDown=undefined;this.hasSubLogo=false;this.overflowMenuItems=0;this.dropdownOptionsOffset=0}clickHandler(s,o,e){var d,r;this.dsoHeaderClick.emit({originalEvent:s,isModifiedEvent:t(s),type:o,menuItem:e===null||e===void 0?void 0:e.menuItem,url:(d=e===null||e===void 0?void 0:e.url)!==null&&d!==void 0?d:(r=e===null||e===void 0?void 0:e.menuItem)===null||r===void 0?void 0:r.url})}setShowDropDown(s){if(s==="auto"){this.setDropDownMenu();return}this.showDropDown=s==="always"}componentWillLoad(){this.hasSubLogo=this.host.querySelector("*[slot = 'sub-logo']")!==null}shrinkMenuToFit(){if(!this.wrapper||!this.nav){return}if(this.wrapper.clientWidth>=this.nav.clientWidth){return}if(this.mainMenu&&this.overflowMenuItems>=this.mainMenu.length){return}this.overflowMenuItems++}componentDidRender(){if(this.showDropDown){this.dropdownOptionsOffset=this.calculateDropdownOptionsOffset();return}window.setTimeout((()=>this.shrinkMenuToFit()),0)}componentDidLoad(){this.setShowDropDown(this.useDropDownMenu);if(this.showDropDown){this.dropdownOptionsOffset=this.calculateDropdownOptionsOffset()}}setOverflowMenu(){if(this.showDropDown){return}if(this.overflowMenuItems!==0){this.overflowMenuItems=0;return}this.shrinkMenuToFit()}setDropDownMenu(){if(this.useDropDownMenu!=="auto"){return}this.showDropDown=window.innerWidth<h}calculateDropdownOptionsOffset(){var s;if(!this.dropdownElement){return 0}return this.host.clientHeight-(((s=this.dropdownElement)===null||s===void 0?void 0:s.getBoundingClientRect().bottom)-this.host.getBoundingClientRect().top)}connectedCallback(){window.addEventListener("resize",this.onWindowResize)}disconnectedCallback(){window.removeEventListener("resize",this.onWindowResize)}render(){if(this.showDropDown===undefined){return}return e(d,null,e("div",{class:i("dso-header",{["use-drop-down"]:this.showDropDown,["has-sub-logo"]:this.hasSubLogo}),ref:s=>this.wrapper=s},e("div",{class:"logo-container"},e("div",{class:"logo"},e("slot",{name:"logo"})),e("div",{class:"sub-logo"},e("slot",{name:"sub-logo"}))),this.showDropDown&&this.mainMenu&&(this.mainMenu.length>0||this.userHomeUrl||this.authStatus!=="none")&&e("div",{class:"dropdown"},e("dso-dropdown-menu",{"dropdown-align":"right",strategy:"absolute",dropdownOptionsOffset:this.dropdownOptionsOffset,ref:s=>this.dropdownElement=s},e("button",{type:"button",slot:"toggle"},e("span",null,"Menu")),e("div",{class:"dso-dropdown-options"},e("ul",null,this.mainMenu.map(this.MenuItem),this.userHomeUrl&&e("li",null,e("a",{href:this.userHomeUrl,onClick:s=>this.clickHandler(s,"userHome",{url:this.userHomeUrl})},"Mijn Omgevingsloket")),this.userProfileUrl&&this.userProfileName&&this.authStatus==="loggedIn"&&e("li",null,e("a",{href:this.userProfileUrl,onClick:s=>this.clickHandler(s,"profile",{url:this.userProfileUrl})},this.userProfileName,e("span",{class:"profile-label"}," - Mijn profiel"))),this.authStatus==="loggedOut"&&e("li",null,this.loginUrl?e("a",{href:this.loginUrl,onClick:s=>this.clickHandler(s,"login",{url:this.loginUrl})},"Inloggen"):e("button",{type:"button",onClick:s=>this.clickHandler(s,"login")},"Inloggen")),this.authStatus==="loggedIn"&&e("li",null,this.logoutUrl?e("a",{href:this.logoutUrl,onClick:s=>this.clickHandler(s,"logout",{url:this.logoutUrl})},"Uitloggen"):e("button",{type:"button",onClick:s=>this.clickHandler(s,"logout")},"Uitloggen")))))),!this.showDropDown&&e(d,null,e("div",{class:"dso-header-session"},this.userProfileUrl&&this.userProfileName&&this.authStatus==="loggedIn"&&e("div",{class:"profile"},e("span",{class:"profile-label"},"Welkom:"),e("a",{href:this.userProfileUrl,onClick:s=>this.clickHandler(s,"profile",{url:this.userProfileUrl})},this.userProfileName)),this.authStatus==="loggedOut"&&e("div",{class:"login"},this.loginUrl?e("a",{href:this.loginUrl,onClick:s=>this.clickHandler(s,"login",{url:this.loginUrl})},"Inloggen"):e("button",{class:"dso-tertiary",type:"button",onClick:s=>this.clickHandler(s,"login")},"Inloggen")),this.authStatus==="loggedIn"&&e("div",{class:"logout"},this.logoutUrl?e("a",{href:this.logoutUrl,onClick:s=>this.clickHandler(s,"logout",{url:this.logoutUrl})},"Uitloggen"):e("button",{class:"dso-tertiary",type:"button",onClick:s=>this.clickHandler(s,"logout")},"Uitloggen"))),(this.mainMenu&&this.mainMenu.length>0||this.userHomeUrl)&&e("nav",{class:"dso-navbar"},e("ul",{class:"dso-nav dso-nav-main",ref:s=>this.nav=s},this.mainMenu&&this.mainMenu.filter(((s,o)=>this.mainMenu&&o<this.mainMenu.length-this.overflowMenuItems)).map(this.MenuItem),this.overflowMenuItems>0&&e("li",null,e("dso-dropdown-menu",{"dropdown-align":"left"},e("button",{type:"button",slot:"toggle"},e("span",null,"Meer")),e("div",{class:"dso-dropdown-options"},e("ul",null,this.mainMenu&&this.mainMenu.filter(((s,o)=>this.mainMenu&&o>=this.mainMenu.length-this.overflowMenuItems)).map(this.MenuItem))))),this.userHomeUrl&&e("li",{class:i("menu-user-home",{"dso-active":this.userHomeActive})},e("a",{href:this.userHomeUrl,"aria-current":this.userHomeActive?"page":undefined,onClick:s=>this.clickHandler(s,"userHome",{url:this.userHomeUrl})},e("dso-icon",{icon:"user-line"}),"Mijn Omgevingsloket")))))))}get host(){return r(this)}static get watchers(){return{useDropDownMenu:["setShowDropDown"]}}};c.style=n;export{c as dso_header};
|
|
2
|
+
//# sourceMappingURL=p-e86e0fce.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["headerCss","minDesktopViewportWidth","Header","this","onWindowResize","debounce","_a","dropdownElement","removeAttribute","_b","setDropDownMenu","setOverflowMenu","showDropDown","dropdownOptionsOffset","calculateDropdownOptionsOffset","MenuItem","item","h","class","active","undefined","href","url","onClick","e","clickHandler","menuItem","label","type","options","dsoHeaderClick","emit","originalEvent","isModifiedEvent","setShowDropDown","value","componentWillLoad","hasSubLogo","host","querySelector","shrinkMenuToFit","wrapper","nav","clientWidth","mainMenu","overflowMenuItems","length","componentDidRender","window","setTimeout","componentDidLoad","useDropDownMenu","innerWidth","clientHeight","getBoundingClientRect","bottom","top","connectedCallback","addEventListener","disconnectedCallback","removeEventListener","render","Fragment","clsx","ref","element","name","userHomeUrl","authStatus","strategy","slot","map","userProfileUrl","userProfileName","loginUrl","logoutUrl","filter","_","index","userHomeActive","icon"],"sources":["./src/components/header/header.scss?tag=dso-header&encapsulation=scoped","./src/components/header/header.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/variables/units\";\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/typography\";\r\n\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n\r\n@use \"header.variables\" as core-header-variables;\r\n\r\n@mixin nav-item-border($color) {\r\n border-bottom: 4px solid $color;\r\n}\r\n\r\n@mixin nav-item-main {\r\n font-size: 1.25em;\r\n line-height: 1;\r\n margin-top: units.$u1;\r\n padding: units.$u2 0;\r\n}\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.dso-header {\r\n border-bottom: 1px solid colors.$grijs-20;\r\n display: flex;\r\n flex-wrap: wrap;\r\n position: relative;\r\n\r\n @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {\r\n align-items: center;\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-sm-max) {\r\n &.use-drop-down {\r\n flex-wrap: nowrap;\r\n }\r\n }\r\n\r\n .dso-nav {\r\n border: 0;\r\n }\r\n}\r\n\r\n.logo-container {\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: 0 units.$u3;\r\n padding-bottom: units.$u2;\r\n padding-top: units.$u2;\r\n}\r\n\r\n.login,\r\n.logout {\r\n .dso-tertiary {\r\n cursor: pointer;\r\n font-family: typography.$font-family-base;\r\n font-weight: 600;\r\n vertical-align: text-bottom;\r\n }\r\n}\r\n\r\n.profile,\r\n.logout,\r\n.login {\r\n a {\r\n @include anchor.clean();\r\n\r\n color: colors.$grasgroen;\r\n font-weight: 600;\r\n\r\n &:focus {\r\n color: colors.$wit;\r\n }\r\n }\r\n}\r\n\r\n.dso-header-session {\r\n display: flex;\r\n margin-left: auto;\r\n\r\n .profile {\r\n a {\r\n margin-left: units.$u1;\r\n }\r\n\r\n + .logout {\r\n border-left: 3px solid colors.$grijs-20;\r\n margin-left: units.$u2;\r\n padding-left: units.$u2;\r\n }\r\n }\r\n}\r\n\r\n.dso-navbar {\r\n flex-basis: 100%;\r\n\r\n .dso-dropdown-options {\r\n border-top: 1px solid colors.$grijs-20;\r\n }\r\n}\r\n\r\ndso-dropdown-menu {\r\n button {\r\n align-items: flex-end;\r\n background-color: transparent;\r\n border: 0;\r\n display: flex;\r\n font-family: typography.$font-family-base;\r\n padding-right: units.$u4;\r\n }\r\n\r\n .dso-dropdown-options {\r\n border: 0;\r\n border-radius: 0;\r\n\r\n @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {\r\n width: 375px;\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n width: 100%;\r\n }\r\n\r\n ul li {\r\n a,\r\n button {\r\n color: colors.$bosgroen;\r\n font-size: 1.25rem;\r\n padding: units.$u2;\r\n white-space: pre-wrap;\r\n\r\n &:focus {\r\n color: colors.$wit;\r\n }\r\n\r\n &:hover {\r\n background-color: colors.$wit;\r\n color: colors.$bosgroen;\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n &.dso-active {\r\n a {\r\n font-weight: 600;\r\n }\r\n }\r\n\r\n + li {\r\n border-top: 1px solid colors.$grijs-20;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dropdown {\r\n margin-left: auto;\r\n\r\n dso-dropdown-menu {\r\n position: static;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n margin-top: units.$u1 * 3.5;\r\n }\r\n\r\n .dso-dropdown-options {\r\n right: 0;\r\n top: 100%;\r\n }\r\n\r\n > button {\r\n color: colors.$grasgroen;\r\n font-size: typography.$font-size-base;\r\n font-weight: 600;\r\n line-height: normal;\r\n position: relative;\r\n\r\n &::after {\r\n margin-left: units.$u1;\r\n position: absolute;\r\n right: 0px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n }\r\n\r\n &:hover,\r\n &:active {\r\n cursor: pointer;\r\n text-decoration: underline;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dso-nav {\r\n align-items: end;\r\n column-gap: units.$u4;\r\n display: flex;\r\n list-style: none;\r\n margin-bottom: 0;\r\n margin-top: 0;\r\n padding-left: 0;\r\n\r\n > li {\r\n margin-bottom: 4px;\r\n\r\n > a {\r\n display: block;\r\n\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:visited {\r\n color: colors.$bosgroen;\r\n }\r\n }\r\n\r\n &.dso-active,\r\n &.is-active {\r\n margin-bottom: 0;\r\n\r\n > a {\r\n @include nav-item-border(core-header-variables.$navigation-selected-color);\r\n\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n\r\n &.dso-nav-main {\r\n display: flex !important;\r\n\r\n > li {\r\n > a {\r\n @include anchor.reverse();\r\n @include nav-item-main();\r\n\r\n // stylelint-disable-next-line declaration-property-value-disallowed-list -- no wrapping wanted because of icon\r\n white-space: nowrap;\r\n }\r\n }\r\n\r\n dso-dropdown-menu {\r\n .dso-dropdown-options {\r\n left: units.$ru2 * -1 !important;\r\n top: 3px !important;\r\n }\r\n\r\n button {\r\n @include nav-item-main();\r\n\r\n align-items: center;\r\n color: colors.$bosgroen;\r\n padding-right: units.$u4;\r\n\r\n &:hover,\r\n &:active {\r\n cursor: pointer;\r\n text-decoration: underline;\r\n }\r\n\r\n &::after {\r\n margin-left: units.$u1;\r\n position: absolute;\r\n right: 0px;\r\n top: auto;\r\n transform: none;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .menu-user-home {\r\n margin-left: auto;\r\n\r\n dso-icon {\r\n height: 1em;\r\n margin-right: units.$u1;\r\n position: relative;\r\n top: -2px;\r\n width: 1.2em;\r\n }\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Fragment, h, Prop, State, Watch } from \"@stencil/core\";\r\n\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport { HeaderMenuItem, HeaderNavigationType, HeaderEvent } 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 scoped: 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, the login button will 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 */\r\n @Prop()\r\n logoutUrl?: 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 hasSubLogo = false;\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 componentWillLoad() {\r\n this.hasSubLogo = this.host.querySelector(\"*[slot = 'sub-logo']\") !== null;\r\n }\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 componentDidRender() {\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 [\"has-sub-logo\"]: this.hasSubLogo,\r\n })}\r\n ref={(element) => (this.wrapper = element)}\r\n >\r\n <div class=\"logo-container\">\r\n <div class=\"logo\">\r\n <slot name=\"logo\" />\r\n </div>\r\n <div class=\"sub-logo\">\r\n <slot name=\"sub-logo\" />\r\n </div>\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 strategy=\"absolute\"\r\n dropdownOptionsOffset={this.dropdownOptionsOffset}\r\n ref={(element) => (this.dropdownElement = element)}\r\n >\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>Menu</span>\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 Mijn Omgevingsloket\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 Inloggen\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n Inloggen\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 Uitloggen\r\n </a>\r\n ) : (\r\n <button type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n Uitloggen\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 <span class=\"profile-label\">Welkom:</span>\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 </a>\r\n </div>\r\n )}\r\n {this.authStatus === \"loggedOut\" && (\r\n <div class=\"login\">\r\n {this.loginUrl ? (\r\n <a href={this.loginUrl} onClick={(e) => this.clickHandler(e, \"login\", { url: this.loginUrl })}>\r\n Inloggen\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"login\")}>\r\n Inloggen\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 href={this.logoutUrl} onClick={(e) => this.clickHandler(e, \"logout\", { url: this.logoutUrl })}>\r\n Uitloggen\r\n </a>\r\n ) : (\r\n <button class=\"dso-tertiary\" type=\"button\" onClick={(e) => this.clickHandler(e, \"logout\")}>\r\n Uitloggen\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 dropdown-align=\"left\">\r\n <button type=\"button\" slot=\"toggle\">\r\n <span>Meer</span>\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 Mijn Omgevingsloket\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"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as o,c as i,h as s,H as t}from"./p-ce928197.js";import{c as n}from"./p-6a1980b4.js";const e=":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}button{background-color:transparent;color:#39870c;border:0;margin-left:8px;padding:0;cursor:pointer;vertical-align:top}button.dso-info-secondary{color:#666}dso-icon{display:block}";const r=class{constructor(s){o(this,s);this.dsoToggle=i(this,"dsoToggle",7);this.active=undefined;this.hover=false;this.secondary=undefined;this.label="Toelichting bij optie"}async setFocus(){var o;(o=this.button)===null||o===void 0?void 0:o.focus()}handleToggle(o){this.active=!this.active;this.dsoToggle.emit({originalEvent:o,active:this.active})}render(){return s(t,{onMouseenter:()=>this.hover=true,onMouseleave:()=>this.hover=false},s("button",{type:"button",class:n(
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as o,c as i,h as s,H as t}from"./p-ce928197.js";import{c as n}from"./p-6a1980b4.js";const e=":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}button{background-color:transparent;color:#39870c;border:0;margin-left:8px;padding:0;cursor:pointer;vertical-align:top}button.dso-info-secondary{color:#666}dso-icon{display:block}";const r=class{constructor(s){o(this,s);this.dsoToggle=i(this,"dsoToggle",7);this.active=undefined;this.hover=false;this.secondary=undefined;this.label="Toelichting bij optie"}async setFocus(){var o;(o=this.button)===null||o===void 0?void 0:o.focus()}handleToggle(o){this.active=!this.active;this.dsoToggle.emit({originalEvent:o,active:this.active})}render(){return s(t,{onMouseenter:()=>this.hover=true,onMouseleave:()=>this.hover=false},s("button",{type:"button",class:n({"dso-open":!!this.active,"dso-info-secondary":!!this.secondary}),"aria-expanded":typeof this.active==="boolean"?this.active.toString():undefined,onClick:o=>this.handleToggle(o),ref:o=>this.button=o},s("dso-icon",{icon:this.active||this.hover?"info-active":"info"}),s("span",{class:"sr-only"},this.label)))}};r.style=e;export{r as dso_info_button};
|
|
2
|
+
//# sourceMappingURL=p-f3ed8688.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["infoButtonCss","InfoButton","async","_a","this","button","focus","handleToggle","e","active","dsoToggle","emit","originalEvent","render","h","Host","onMouseenter","hover","onMouseleave","type","class","clsx","secondary","toString","undefined","onClick","ref","element","icon","label"],"sources":["./src/components/info-button/info-button.scss?tag=dso-info-button&encapsulation=shadow","./src/components/info-button/info-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/info-button\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton {\r\n @include info-button.root();\r\n\r\n cursor: pointer;\r\n vertical-align: top;\r\n}\r\n\r\ndso-icon {\r\n display: block;\r\n}\r\n","import { h, Component, Event, Prop, EventEmitter, Method, Host, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { InfoButtonToggleEvent } from \"./info-button.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-info-button\",\r\n shadow: true,\r\n styleUrl: \"info-button.scss\",\r\n})\r\nexport class InfoButton {\r\n private button?: HTMLButtonElement;\r\n\r\n /**\r\n * Whether the InfoButton is active.\r\n */\r\n @Prop({ mutable: true, reflect: true })\r\n active?: boolean;\r\n\r\n @State()\r\n hover = false;\r\n\r\n /**\r\n * For secondary Info Button.\r\n */\r\n @Prop()\r\n secondary?: boolean;\r\n\r\n /**\r\n * The label.\r\n */\r\n @Prop()\r\n label = \"Toelichting bij optie\";\r\n\r\n /**\r\n * Emitted when the user activates the Info Button.\r\n */\r\n @Event()\r\n dsoToggle!: EventEmitter<InfoButtonToggleEvent>;\r\n\r\n /**\r\n * To set focus to the toggle button.\r\n */\r\n @Method()\r\n async setFocus() {\r\n this.button?.focus();\r\n }\r\n\r\n private handleToggle(e: MouseEvent) {\r\n this.active = !this.active;\r\n this.dsoToggle.emit({ originalEvent: e, active: this.active });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host onMouseenter={() => (this.hover = true)} onMouseleave={() => (this.hover = false)}>\r\n <button\r\n type=\"button\"\r\n class={clsx(
|
|
1
|
+
{"version":3,"names":["infoButtonCss","InfoButton","async","_a","this","button","focus","handleToggle","e","active","dsoToggle","emit","originalEvent","render","h","Host","onMouseenter","hover","onMouseleave","type","class","clsx","secondary","toString","undefined","onClick","ref","element","icon","label"],"sources":["./src/components/info-button/info-button.scss?tag=dso-info-button&encapsulation=shadow","./src/components/info-button/info-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/info-button\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton {\r\n @include info-button.root();\r\n\r\n cursor: pointer;\r\n vertical-align: top;\r\n}\r\n\r\ndso-icon {\r\n display: block;\r\n}\r\n","import { h, Component, Event, Prop, EventEmitter, Method, Host, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { InfoButtonToggleEvent } from \"./info-button.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-info-button\",\r\n shadow: true,\r\n styleUrl: \"info-button.scss\",\r\n})\r\nexport class InfoButton {\r\n private button?: HTMLButtonElement;\r\n\r\n /**\r\n * Whether the InfoButton is active.\r\n */\r\n @Prop({ mutable: true, reflect: true })\r\n active?: boolean;\r\n\r\n @State()\r\n hover = false;\r\n\r\n /**\r\n * For secondary Info Button.\r\n */\r\n @Prop()\r\n secondary?: boolean;\r\n\r\n /**\r\n * The label.\r\n */\r\n @Prop()\r\n label = \"Toelichting bij optie\";\r\n\r\n /**\r\n * Emitted when the user activates the Info Button.\r\n */\r\n @Event()\r\n dsoToggle!: EventEmitter<InfoButtonToggleEvent>;\r\n\r\n /**\r\n * To set focus to the toggle button.\r\n */\r\n @Method()\r\n async setFocus() {\r\n this.button?.focus();\r\n }\r\n\r\n private handleToggle(e: MouseEvent) {\r\n this.active = !this.active;\r\n this.dsoToggle.emit({ originalEvent: e, active: this.active });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host onMouseenter={() => (this.hover = true)} onMouseleave={() => (this.hover = false)}>\r\n <button\r\n type=\"button\"\r\n class={clsx({ \"dso-open\": !!this.active, \"dso-info-secondary\": !!this.secondary })}\r\n aria-expanded={typeof this.active === \"boolean\" ? this.active.toString() : undefined}\r\n onClick={(e) => this.handleToggle(e)}\r\n ref={(element) => (this.button = element)}\r\n >\r\n <dso-icon icon={this.active || this.hover ? \"info-active\" : \"info\"}></dso-icon>\r\n <span class=\"sr-only\">{this.label}</span>\r\n </button>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"6FAAA,MAAMA,EAAgB,iX,MCUTC,EAAU,M,+FAUb,M,oCAYA,uB,CAYRC,iB,OACEC,EAAAC,KAAKC,UAAM,MAAAF,SAAA,SAAAA,EAAEG,O,CAGPC,aAAaC,GACnBJ,KAAKK,QAAUL,KAAKK,OACpBL,KAAKM,UAAUC,KAAK,CAAEC,cAAeJ,EAAGC,OAAQL,KAAKK,Q,CAGvDI,SACE,OACEC,EAACC,EAAI,CAACC,aAAc,IAAOZ,KAAKa,MAAQ,KAAOC,aAAc,IAAOd,KAAKa,MAAQ,OAC/EH,EAAA,UACEK,KAAK,SACLC,MAAOC,EAAK,CAAE,aAAcjB,KAAKK,OAAQ,uBAAwBL,KAAKkB,YAAY,uBAC5DlB,KAAKK,SAAW,UAAYL,KAAKK,OAAOc,WAAaC,UAC3EC,QAAUjB,GAAMJ,KAAKG,aAAaC,GAClCkB,IAAMC,GAAavB,KAAKC,OAASsB,GAEjCb,EAAA,YAAUc,KAAMxB,KAAKK,QAAUL,KAAKa,MAAQ,cAAgB,SAC5DH,EAAA,QAAMM,MAAM,WAAWhB,KAAKyB,Q"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r,c as n,h as t,H as e,a as i}from"./p-ce928197.js";import{c as a}from"./p-6a1980b4.js";import{d as u}from"./p-1805f5b0.js";var f={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:true,timelineOffset:0};var o={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0};var v=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"];var c={CSS:{},springs:{}};function s(r,n,t){return Math.min(Math.max(r,n),t)}function l(r,n){return r.indexOf(n)>-1}function h(r,n){return r.apply(null,n)}var d={arr:function(r){return Array.isArray(r)},obj:function(r){return l(Object.prototype.toString.call(r),"Object")},pth:function(r){return d.obj(r)&&r.hasOwnProperty("totalLength")},svg:function(r){return r instanceof SVGElement},inp:function(r){return r instanceof HTMLInputElement},dom:function(r){return r.nodeType||d.svg(r)},str:function(r){return typeof r==="string"},fnc:function(r){return typeof r==="function"},und:function(r){return typeof r==="undefined"},nil:function(r){return d.und(r)||r===null},hex:function(r){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(r)},rgb:function(r){return/^rgb/.test(r)},hsl:function(r){return/^hsl/.test(r)},col:function(r){return d.hex(r)||d.rgb(r)||d.hsl(r)},key:function(r){return!f.hasOwnProperty(r)&&!o.hasOwnProperty(r)&&r!=="targets"&&r!=="keyframes"}};function p(r){var n=/\(([^)]+)\)/.exec(r);return n?n[1].split(",").map((function(r){return parseFloat(r)})):[]}function m(r,n){var t=p(r);var e=s(d.und(t[0])?1:t[0],.1,100);var i=s(d.und(t[1])?100:t[1],.1,100);var a=s(d.und(t[2])?10:t[2],.1,100);var u=s(d.und(t[3])?0:t[3],.1,100);var f=Math.sqrt(i/e);var o=a/(2*Math.sqrt(i*e));var v=o<1?f*Math.sqrt(1-o*o):0;var l=1;var h=o<1?(o*f+-u)/v:-u+f;function m(r){var t=n?n*r/1e3:r;if(o<1){t=Math.exp(-t*o*f)*(l*Math.cos(v*t)+h*Math.sin(v*t))}else{t=(l+h*t)*Math.exp(-t*f)}if(r===0||r===1){return r}return 1-t}function g(){var n=c.springs[r];if(n){return n}var t=1/6;var e=0;var i=0;while(true){e+=t;if(m(e)===1){i++;if(i>=16){break}}else{i=0}}var a=e*t*1e3;c.springs[r]=a;return a}return n?m:g}function g(r){if(r===void 0)r=10;return function(n){return Math.ceil(s(n,1e-6,1)*r)*(1/r)}}var b=function(){var r=11;var n=1/(r-1);function t(r,n){return 1-3*n+3*r}function e(r,n){return 3*n-6*r}function i(r){return 3*r}function a(r,n,a){return((t(n,a)*r+e(n,a))*r+i(n))*r}function u(r,n,a){return 3*t(n,a)*r*r+2*e(n,a)*r+i(n)}function f(r,n,t,e,i){var u,f,o=0;do{f=n+(t-n)/2;u=a(f,e,i)-r;if(u>0){t=f}else{n=f}}while(Math.abs(u)>1e-7&&++o<10);return f}function o(r,n,t,e){for(var i=0;i<4;++i){var f=u(n,t,e);if(f===0){return n}var o=a(n,t,e)-r;n-=o/f}return n}function v(t,e,i,v){if(!(0<=t&&t<=1&&0<=i&&i<=1)){return}var c=new Float32Array(r);if(t!==e||i!==v){for(var s=0;s<r;++s){c[s]=a(s*n,t,i)}}function l(e){var a=0;var v=1;var s=r-1;for(;v!==s&&c[v]<=e;++v){a+=n}--v;var l=(e-c[v])/(c[v+1]-c[v]);var h=a+l*n;var d=u(h,t,i);if(d>=.001){return o(e,h,t,i)}else if(d===0){return h}else{return f(e,a,a+n,t,i)}}return function(r){if(t===e&&i===v){return r}if(r===0||r===1){return r}return a(l(r),e,v)}}return v}();var M=function(){var r={linear:function(){return function(r){return r}}};var n={Sine:function(){return function(r){return 1-Math.cos(r*Math.PI/2)}},Circ:function(){return function(r){return 1-Math.sqrt(1-r*r)}},Back:function(){return function(r){return r*r*(3*r-2)}},Bounce:function(){return function(r){var n,t=4;while(r<((n=Math.pow(2,--t))-1)/11){}return 1/Math.pow(4,3-t)-7.5625*Math.pow((n*3-2)/22-r,2)}},Elastic:function(r,n){if(r===void 0)r=1;if(n===void 0)n=.5;var t=s(r,1,10);var e=s(n,.1,2);return function(r){return r===0||r===1?r:-t*Math.pow(2,10*(r-1))*Math.sin((r-1-e/(Math.PI*2)*Math.asin(1/t))*(Math.PI*2)/e)}}};var t=["Quad","Cubic","Quart","Quint","Expo"];t.forEach((function(r,t){n[r]=function(){return function(r){return Math.pow(r,t+2)}}}));Object.keys(n).forEach((function(t){var e=n[t];r["easeIn"+t]=e;r["easeOut"+t]=function(r,n){return function(t){return 1-e(r,n)(1-t)}};r["easeInOut"+t]=function(r,n){return function(t){return t<.5?e(r,n)(t*2)/2:1-e(r,n)(t*-2+2)/2}};r["easeOutIn"+t]=function(r,n){return function(t){return t<.5?(1-e(r,n)(1-t*2))/2:(e(r,n)(t*2-1)+1)/2}}}));return r}();function y(r,n){if(d.fnc(r)){return r}var t=r.split("(")[0];var e=M[t];var i=p(r);switch(t){case"spring":return m(r,n);case"cubicBezier":return h(b,i);case"steps":return h(g,i);default:return h(e,i)}}function w(r){try{var n=document.querySelectorAll(r);return n}catch(r){return}}function x(r,n){var t=r.length;var e=arguments.length>=2?arguments[1]:void 0;var i=[];for(var a=0;a<t;a++){if(a in r){var u=r[a];if(n.call(e,u,a,r)){i.push(u)}}}return i}function A(r){return r.reduce((function(r,n){return r.concat(d.arr(n)?A(n):n)}),[])}function F(r){if(d.arr(r)){return r}if(d.str(r)){r=w(r)||r}if(r instanceof NodeList||r instanceof HTMLCollection){return[].slice.call(r)}return[r]}function O(r,n){return r.some((function(r){return r===n}))}function k(r){var n={};for(var t in r){n[t]=r[t]}return n}function C(r,n){var t=k(r);for(var e in r){t[e]=n.hasOwnProperty(e)?n[e]:r[e]}return t}function E(r,n){var t=k(r);for(var e in n){t[e]=d.und(r[e])?n[e]:r[e]}return t}function j(r){var n=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(r);return n?"rgba("+n[1]+",1)":r}function B(r){var n=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;var t=r.replace(n,(function(r,n,t,e){return n+n+t+t+e+e}));var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);var i=parseInt(e[1],16);var a=parseInt(e[2],16);var u=parseInt(e[3],16);return"rgba("+i+","+a+","+u+",1)"}function I(r){var n=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(r)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(r);var t=parseInt(n[1],10)/360;var e=parseInt(n[2],10)/100;var i=parseInt(n[3],10)/100;var a=n[4]||1;function u(r,n,t){if(t<0){t+=1}if(t>1){t-=1}if(t<1/6){return r+(n-r)*6*t}if(t<1/2){return n}if(t<2/3){return r+(n-r)*(2/3-t)*6}return r}var f,o,v;if(e==0){f=o=v=i}else{var c=i<.5?i*(1+e):i+e-i*e;var s=2*i-c;f=u(s,c,t+1/3);o=u(s,c,t);v=u(s,c,t-1/3)}return"rgba("+f*255+","+o*255+","+v*255+","+a+")"}function N(r){if(d.rgb(r)){return j(r)}if(d.hex(r)){return B(r)}if(d.hsl(r)){return I(r)}}function $(r){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(r);if(n){return n[1]}}function z(r){if(l(r,"translate")||r==="perspective"){return"px"}if(l(r,"rotate")||l(r,"skew")){return"deg"}}function L(r,n){if(!d.fnc(r)){return r}return r(n.target,n.id,n.total)}function H(r,n){return r.getAttribute(n)}function S(r,n,t){var e=$(n);if(O([t,"deg","rad","turn"],e)){return n}var i=c.CSS[n+t];if(!d.und(i)){return i}var a=100;var u=document.createElement(r.tagName);var f=r.parentNode&&r.parentNode!==document?r.parentNode:document.body;f.appendChild(u);u.style.position="absolute";u.style.width=a+t;var o=a/u.offsetWidth;f.removeChild(u);var v=o*parseFloat(n);c.CSS[n+t]=v;return v}function D(r,n,t){if(n in r.style){var e=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();var i=r.style[n]||getComputedStyle(r).getPropertyValue(e)||"0";return t?S(r,i,t):i}}function X(r,n){if(d.dom(r)&&!d.inp(r)&&(!d.nil(H(r,n))||d.svg(r)&&r[n])){return"attribute"}if(d.dom(r)&&O(v,n)){return"transform"}if(d.dom(r)&&(n!=="transform"&&D(r,n))){return"css"}if(r[n]!=null){return"object"}}function Y(r){if(!d.dom(r)){return}var n=r.style.transform||"";var t=/(\w+)\(([^)]*)\)/g;var e=new Map;var i;while(i=t.exec(n)){e.set(i[1],i[2])}return e}function Z(r,n,t,e){var i=l(n,"scale")?1:0+z(n);var a=Y(r).get(n)||i;if(t){t.transforms.list.set(n,a);t.transforms["last"]=n}return e?S(r,a,e):a}function Q(r,n,t,e){switch(X(r,n)){case"transform":return Z(r,n,e,t);case"css":return D(r,n,t);case"attribute":return H(r,n);default:return r[n]||0}}function q(r,n){var t=/^(\*=|\+=|-=)/.exec(r);if(!t){return r}var e=$(r)||0;var i=parseFloat(n);var a=parseFloat(r.replace(t[0],""));switch(t[0][0]){case"+":return i+a+e;case"-":return i-a+e;case"*":return i*a+e}}function P(r,n){if(d.col(r)){return N(r)}if(/\s/g.test(r)){return r}var t=$(r);var e=t?r.substr(0,r.length-t.length):r;if(n){return e+n}return e}function R(r,n){return Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2))}function T(r){return Math.PI*2*H(r,"r")}function G(r){return H(r,"width")*2+H(r,"height")*2}function V(r){return R({x:H(r,"x1"),y:H(r,"y1")},{x:H(r,"x2"),y:H(r,"y2")})}function W(r){var n=r.points;var t=0;var e;for(var i=0;i<n.numberOfItems;i++){var a=n.getItem(i);if(i>0){t+=R(e,a)}e=a}return t}function _(r){var n=r.points;return W(r)+R(n.getItem(n.numberOfItems-1),n.getItem(0))}function J(r){if(r.getTotalLength){return r.getTotalLength()}switch(r.tagName.toLowerCase()){case"circle":return T(r);case"rect":return G(r);case"line":return V(r);case"polyline":return W(r);case"polygon":return _(r)}}function K(r){var n=J(r);r.setAttribute("stroke-dasharray",n);return n}function U(r){var n=r.parentNode;while(d.svg(n)){if(!d.svg(n.parentNode)){break}n=n.parentNode}return n}function rr(r,n){var t=n||{};var e=t.el||U(r);var i=e.getBoundingClientRect();var a=H(e,"viewBox");var u=i.width;var f=i.height;var o=t.viewBox||(a?a.split(" "):[0,0,u,f]);return{el:e,viewBox:o,x:o[0]/1,y:o[1]/1,w:u,h:f,vW:o[2],vH:o[3]}}function nr(r,n){var t=d.str(r)?w(r)[0]:r;var e=n||100;return function(r){return{property:r,el:t,svg:rr(t),totalLength:J(t)*(e/100)}}}function tr(r,n,t){function e(t){if(t===void 0)t=0;var e=n+t>=1?n+t:0;return r.el.getPointAtLength(e)}var i=rr(r.el,r.svg);var a=e();var u=e(-1);var f=e(+1);var o=t?1:i.w/i.vW;var v=t?1:i.h/i.vH;switch(r.property){case"x":return(a.x-i.x)*o;case"y":return(a.y-i.y)*v;case"angle":return Math.atan2(f.y-u.y,f.x-u.x)*180/Math.PI}}function er(r,n){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g;var e=P(d.pth(r)?r.totalLength:r,n)+"";return{original:e,numbers:e.match(t)?e.match(t).map(Number):[0],strings:d.str(r)||n?e.split(t):[]}}function ir(r){var n=r?A(d.arr(r)?r.map(F):F(r)):[];return x(n,(function(r,n,t){return t.indexOf(r)===n}))}function ar(r){var n=ir(r);return n.map((function(r,t){return{target:r,id:t,total:n.length,transforms:{list:Y(r)}}}))}function ur(r,n){var t=k(n);if(/^spring/.test(t.easing)){t.duration=m(t.easing)}if(d.arr(r)){var e=r.length;var i=e===2&&!d.obj(r[0]);if(!i){if(!d.fnc(n.duration)){t.duration=n.duration/e}}else{r={value:r}}}var a=d.arr(r)?r:[r];return a.map((function(r,t){var e=d.obj(r)&&!d.pth(r)?r:{value:r};if(d.und(e.delay)){e.delay=!t?n.delay:0}if(d.und(e.endDelay)){e.endDelay=t===a.length-1?n.endDelay:0}return e})).map((function(r){return E(r,t)}))}function fr(r){var n=x(A(r.map((function(r){return Object.keys(r)}))),(function(r){return d.key(r)})).reduce((function(r,n){if(r.indexOf(n)<0){r.push(n)}return r}),[]);var t={};var e=function(e){var i=n[e];t[i]=r.map((function(r){var n={};for(var t in r){if(d.key(t)){if(t==i){n.value=r[t]}}else{n[t]=r[t]}}return n}))};for(var i=0;i<n.length;i++)e(i);return t}function or(r,n){var t=[];var e=n.keyframes;if(e){n=E(fr(e),n)}for(var i in n){if(d.key(i)){t.push({name:i,tweens:ur(n[i],r)})}}return t}function vr(r,n){var t={};for(var e in r){var i=L(r[e],n);if(d.arr(i)){i=i.map((function(r){return L(r,n)}));if(i.length===1){i=i[0]}}t[e]=i}t.duration=parseFloat(t.duration);t.delay=parseFloat(t.delay);return t}function cr(r,n){var t;return r.tweens.map((function(e){var i=vr(e,n);var a=i.value;var u=d.arr(a)?a[1]:a;var f=$(u);var o=Q(n.target,r.name,f,n);var v=t?t.to.original:o;var c=d.arr(a)?a[0]:v;var s=$(c)||$(o);var l=f||s;if(d.und(u)){u=v}i.from=er(c,l);i.to=er(q(u,c),l);i.start=t?t.end:0;i.end=i.start+i.delay+i.duration+i.endDelay;i.easing=y(i.easing,i.duration);i.isPath=d.pth(a);i.isPathTargetInsideSVG=i.isPath&&d.svg(n.target);i.isColor=d.col(i.from.original);if(i.isColor){i.round=1}t=i;return i}))}var sr={css:function(r,n,t){return r.style[n]=t},attribute:function(r,n,t){return r.setAttribute(n,t)},object:function(r,n,t){return r[n]=t},transform:function(r,n,t,e,i){e.list.set(n,t);if(n===e.last||i){var a="";e.list.forEach((function(r,n){a+=n+"("+r+") "}));r.style.transform=a}}};function lr(r,n){var t=ar(r);t.forEach((function(r){for(var t in n){var e=L(n[t],r);var i=r.target;var a=$(e);var u=Q(i,t,a,r);var f=a||$(u);var o=q(P(e,f),u);var v=X(i,t);sr[v](i,t,o,r.transforms,true)}}))}function hr(r,n){var t=X(r.target,n.name);if(t){var e=cr(n,r);var i=e[e.length-1];return{type:t,property:n.name,animatable:r,tweens:e,duration:i.end,delay:e[0].delay,endDelay:i.endDelay}}}function dr(r,n){return x(A(r.map((function(r){return n.map((function(n){return hr(r,n)}))}))),(function(r){return!d.und(r)}))}function pr(r,n){var t=r.length;var e=function(r){return r.timelineOffset?r.timelineOffset:0};var i={};i.duration=t?Math.max.apply(Math,r.map((function(r){return e(r)+r.duration}))):n.duration;i.delay=t?Math.min.apply(Math,r.map((function(r){return e(r)+r.delay}))):n.delay;i.endDelay=t?i.duration-Math.max.apply(Math,r.map((function(r){return e(r)+r.duration-r.endDelay}))):n.endDelay;return i}var mr=0;function gr(r){var n=C(f,r);var t=C(o,r);var e=or(t,r);var i=ar(r.targets);var a=dr(i,e);var u=pr(a,t);var v=mr;mr++;return E(n,{id:v,children:[],animatables:i,animations:a,duration:u.duration,delay:u.delay,endDelay:u.endDelay})}var br=[];var Mr=function(){var r;function n(){if(!r&&(!yr()||!wr.suspendWhenDocumentHidden)&&br.length>0){r=requestAnimationFrame(t)}}function t(n){var e=br.length;var i=0;while(i<e){var a=br[i];if(!a.paused){a.tick(n);i++}else{br.splice(i,1);e--}}r=i>0?requestAnimationFrame(t):undefined}function e(){if(!wr.suspendWhenDocumentHidden){return}if(yr()){r=cancelAnimationFrame(r)}else{br.forEach((function(r){return r._onDocumentVisibility()}));Mr()}}if(typeof document!=="undefined"){document.addEventListener("visibilitychange",e)}return n}();function yr(){return!!document&&document.hidden}function wr(r){if(r===void 0)r={};var n=0,t=0,e=0;var i,a=0;var u=null;function f(r){var n=window.Promise&&new Promise((function(r){return u=r}));r.finished=n;return n}var o=gr(r);f(o);function v(){var r=o.direction;if(r!=="alternate"){o.direction=r!=="normal"?"normal":"reverse"}o.reversed=!o.reversed;i.forEach((function(r){return r.reversed=o.reversed}))}function c(r){return o.reversed?o.duration-r:r}function l(){n=0;t=c(o.currentTime)*(1/wr.speed)}function h(r,n){if(n){n.seek(r-n.timelineOffset)}}function d(r){if(!o.reversePlayback){for(var n=0;n<a;n++){h(r,i[n])}}else{for(var t=a;t--;){h(r,i[t])}}}function p(r){var n=0;var t=o.animations;var e=t.length;while(n<e){var i=t[n];var a=i.animatable;var u=i.tweens;var f=u.length-1;var v=u[f];if(f){v=x(u,(function(n){return r<n.end}))[0]||v}var c=s(r-v.start-v.delay,0,v.duration)/v.duration;var l=isNaN(c)?1:v.easing(c);var h=v.to.strings;var d=v.round;var p=[];var m=v.to.numbers.length;var g=void 0;for(var b=0;b<m;b++){var M=void 0;var y=v.to.numbers[b];var w=v.from.numbers[b]||0;if(!v.isPath){M=w+l*(y-w)}else{M=tr(v.value,l*y,v.isPathTargetInsideSVG)}if(d){if(!(v.isColor&&b>2)){M=Math.round(M*d)/d}}p.push(M)}var A=h.length;if(!A){g=p[0]}else{g=h[0];for(var F=0;F<A;F++){var O=h[F+1];var k=p[F];if(!isNaN(k)){if(!O){g+=k+" "}else{g+=k+O}}}}sr[i.type](a.target,i.property,g,a.transforms);i.currentValue=g;n++}}function m(r){if(o[r]&&!o.passThrough){o[r](o)}}function g(){if(o.remaining&&o.remaining!==true){o.remaining--}}function b(r){var a=o.duration;var l=o.delay;var h=a-o.endDelay;var b=c(r);o.progress=s(b/a*100,0,100);o.reversePlayback=b<o.currentTime;if(i){d(b)}if(!o.began&&o.currentTime>0){o.began=true;m("begin")}if(!o.loopBegan&&o.currentTime>0){o.loopBegan=true;m("loopBegin")}if(b<=l&&o.currentTime!==0){p(0)}if(b>=h&&o.currentTime!==a||!a){p(a)}if(b>l&&b<h){if(!o.changeBegan){o.changeBegan=true;o.changeCompleted=false;m("changeBegin")}m("change");p(b)}else{if(o.changeBegan){o.changeCompleted=true;o.changeBegan=false;m("changeComplete")}}o.currentTime=s(b,0,a);if(o.began){m("update")}if(r>=a){t=0;g();if(!o.remaining){o.paused=true;if(!o.completed){o.completed=true;m("loopComplete");m("complete");if(!o.passThrough&&"Promise"in window){u();f(o)}}}else{n=e;m("loopComplete");o.loopBegan=false;if(o.direction==="alternate"){v()}}}}o.reset=function(){var r=o.direction;o.passThrough=false;o.currentTime=0;o.progress=0;o.paused=true;o.began=false;o.loopBegan=false;o.changeBegan=false;o.completed=false;o.changeCompleted=false;o.reversePlayback=false;o.reversed=r==="reverse";o.remaining=o.loop;i=o.children;a=i.length;for(var n=a;n--;){o.children[n].reset()}if(o.reversed&&o.loop!==true||r==="alternate"&&o.loop===1){o.remaining++}p(o.reversed?o.duration:0)};o._onDocumentVisibility=l;o.set=function(r,n){lr(r,n);return o};o.tick=function(r){e=r;if(!n){n=e}b((e+(t-n))*wr.speed)};o.seek=function(r){b(c(r))};o.pause=function(){o.paused=true;l()};o.play=function(){if(!o.paused){return}if(o.completed){o.reset()}o.paused=false;br.push(o);l();Mr()};o.reverse=function(){v();o.completed=o.reversed?false:true;l()};o.restart=function(){o.reset();o.play()};o.remove=function(r){var n=ir(r);Ar(n,o)};o.reset();if(o.autoplay){o.play()}return o}function xr(r,n){for(var t=n.length;t--;){if(O(r,n[t].animatable.target)){n.splice(t,1)}}}function Ar(r,n){var t=n.animations;var e=n.children;xr(r,t);for(var i=e.length;i--;){var a=e[i];var u=a.animations;xr(r,u);if(!u.length&&!a.children.length){e.splice(i,1)}}if(!t.length&&!e.length){n.pause()}}function Fr(r){var n=ir(r);for(var t=br.length;t--;){var e=br[t];Ar(n,e)}}function Or(r,n){if(n===void 0)n={};var t=n.direction||"normal";var e=n.easing?y(n.easing):null;var i=n.grid;var a=n.axis;var u=n.from||0;var f=u==="first";var o=u==="center";var v=u==="last";var c=d.arr(r);var s=c?parseFloat(r[0]):parseFloat(r);var l=c?parseFloat(r[1]):0;var h=$(c?r[1]:r)||0;var p=n.start||0+(c?s:0);var m=[];var g=0;return function(r,n,d){if(f){u=0}if(o){u=(d-1)/2}if(v){u=d-1}if(!m.length){for(var b=0;b<d;b++){if(!i){m.push(Math.abs(u-b))}else{var M=!o?u%i[0]:(i[0]-1)/2;var y=!o?Math.floor(u/i[0]):(i[1]-1)/2;var w=b%i[0];var x=Math.floor(b/i[0]);var A=M-w;var F=y-x;var O=Math.sqrt(A*A+F*F);if(a==="x"){O=-A}if(a==="y"){O=-F}m.push(O)}g=Math.max.apply(Math,m)}if(e){m=m.map((function(r){return e(r/g)*g}))}if(t==="reverse"){m=m.map((function(r){return a?r<0?r*-1:-r:Math.abs(g-r)}))}}var k=c?(l-s)/g:s;return p+k*(Math.round(m[n]*100)/100)+h}}function kr(r){if(r===void 0)r={};var n=wr(r);n.duration=0;n.add=function(t,e){var i=br.indexOf(n);var a=n.children;if(i>-1){br.splice(i,1)}function u(r){r.passThrough=true}for(var f=0;f<a.length;f++){u(a[f])}var v=E(t,C(o,r));v.targets=v.targets||r.targets;var c=n.duration;v.autoplay=false;v.direction=n.direction;v.timelineOffset=d.und(e)?c:q(e,c);u(n);n.seek(v.timelineOffset);var s=wr(v);u(s);a.push(s);var l=pr(a,r);n.delay=l.delay;n.endDelay=l.endDelay;n.duration=l.duration;n.seek(0);n.reset();if(n.autoplay){n.play()}return n};return n}wr.version="3.2.1";wr.speed=1;wr.suspendWhenDocumentHidden=true;wr.running=br;wr.remove=Fr;wr.get=Q;wr.set=lr;wr.convertPx=S;wr.path=nr;wr.setDashoffset=K;wr.stagger=Or;wr.timeline=kr;wr.easing=y;wr.penner=M;wr.random=function(r,n){return Math.floor(Math.random()*(n-r+1))+r};const Cr=":host{display:block;overflow-y:hidden}:host(.dso-hide){display:none}:host(:not(.dso-animate-ready)){position:absolute;visibility:hidden}:host([open]){position:inherit;visibility:inherit}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";const Er=class{constructor(t){r(this,t);this.dsoExpandableAnimationEnd=n(this,"dsoExpandableAnimationEnd",3);this.open=undefined;this.enableAnimation=false;this.minimumHeight=undefined;this.animationReady=false}toggleOpen(){if(this.enableAnimation){this.activateAnimation()}}toggleEnableAnimation(r){var n;if(r){this.prepareAnimationResizeObserver();this.activateObserver()}else{(n=this.resizeObserver)===null||n===void 0?void 0:n.disconnect();delete this.animeInstance;this.host.removeAttribute("style")}}componentDidLoad(){if(this.enableAnimation){this.prepareAnimationResizeObserver()}this.activateObserver()}activateObserver(){var r;(r=this.resizeObserver)===null||r===void 0?void 0:r.observe(this.host)}disconnectedCallback(){var r;(r=this.resizeObserver)===null||r===void 0?void 0:r.disconnect()}render(){return t(e,{"aria-hidden":this.open?"false":"true",class:a({"dso-animate-ready":this.enableAnimation&&this.animationReady,"dso-hide":!this.enableAnimation&&!this.open})},t("slot",null))}prepareAnimationResizeObserver(){this.resizeObserver=new ResizeObserver(u((([r])=>{if(!r){throw new Error("No entry found")}const n=r.target.getBoundingClientRect().height;if(this.bodyHeight!==n){this.bodyHeight=n}}),150));this.instantiateAnimation()}instantiateAnimation(){var r;this.animeInstance=wr({targets:this.host,height:(r=this.minimumHeight)!==null&&r!==void 0?r:0,easing:"cubicBezier(0.4, 0, 0.2, 1)",duration:260,autoplay:false,direction:"normal",begin:()=>{if(this.open){this.host.style.visibility="";this.host.style.position="";this.host.style.bottom=""}},complete:()=>{this.host.style.height="";if(!this.open){this.host.style.visibility="hidden";this.host.style.position="absolute";this.host.style.bottom="100%"}},changeComplete:()=>{this.dsoExpandableAnimationEnd.emit({bodyHeight:this.bodyHeight})}});if(!this.open){this.animeInstance.reverse();this.animeInstance.play()}if(this.host){this.host.style.height=""}this.animationReady=!!this.animeInstance}activateAnimation(){if(this.animeInstance){if(this.animeInstance.progress>0&&this.animeInstance.progress<100){this.animeInstance.reverse()}else{if(this.open){this.animeInstance.direction="reverse";this.animeInstance.play()}else{this.animeInstance.direction="normal";this.animeInstance.play()}}}}get host(){return i(this)}static get watchers(){return{open:["toggleOpen"],enableAnimation:["toggleEnableAnimation"]}}};Er.style=Cr;export{Er as dso_expandable};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r,c as n,h as t,H as e,a as i}from"./p-ce928197.js";import{c as a}from"./p-6a1980b4.js";import{d as u}from"./p-1805f5b0.js";var f={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:true,timelineOffset:0};var o={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0};var v=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"];var c={CSS:{},springs:{}};function s(r,n,t){return Math.min(Math.max(r,n),t)}function l(r,n){return r.indexOf(n)>-1}function h(r,n){return r.apply(null,n)}var d={arr:function(r){return Array.isArray(r)},obj:function(r){return l(Object.prototype.toString.call(r),"Object")},pth:function(r){return d.obj(r)&&r.hasOwnProperty("totalLength")},svg:function(r){return r instanceof SVGElement},inp:function(r){return r instanceof HTMLInputElement},dom:function(r){return r.nodeType||d.svg(r)},str:function(r){return typeof r==="string"},fnc:function(r){return typeof r==="function"},und:function(r){return typeof r==="undefined"},nil:function(r){return d.und(r)||r===null},hex:function(r){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(r)},rgb:function(r){return/^rgb/.test(r)},hsl:function(r){return/^hsl/.test(r)},col:function(r){return d.hex(r)||d.rgb(r)||d.hsl(r)},key:function(r){return!f.hasOwnProperty(r)&&!o.hasOwnProperty(r)&&r!=="targets"&&r!=="keyframes"}};function p(r){var n=/\(([^)]+)\)/.exec(r);return n?n[1].split(",").map((function(r){return parseFloat(r)})):[]}function m(r,n){var t=p(r);var e=s(d.und(t[0])?1:t[0],.1,100);var i=s(d.und(t[1])?100:t[1],.1,100);var a=s(d.und(t[2])?10:t[2],.1,100);var u=s(d.und(t[3])?0:t[3],.1,100);var f=Math.sqrt(i/e);var o=a/(2*Math.sqrt(i*e));var v=o<1?f*Math.sqrt(1-o*o):0;var l=1;var h=o<1?(o*f+-u)/v:-u+f;function m(r){var t=n?n*r/1e3:r;if(o<1){t=Math.exp(-t*o*f)*(l*Math.cos(v*t)+h*Math.sin(v*t))}else{t=(l+h*t)*Math.exp(-t*f)}if(r===0||r===1){return r}return 1-t}function g(){var n=c.springs[r];if(n){return n}var t=1/6;var e=0;var i=0;while(true){e+=t;if(m(e)===1){i++;if(i>=16){break}}else{i=0}}var a=e*t*1e3;c.springs[r]=a;return a}return n?m:g}function g(r){if(r===void 0)r=10;return function(n){return Math.ceil(s(n,1e-6,1)*r)*(1/r)}}var b=function(){var r=11;var n=1/(r-1);function t(r,n){return 1-3*n+3*r}function e(r,n){return 3*n-6*r}function i(r){return 3*r}function a(r,n,a){return((t(n,a)*r+e(n,a))*r+i(n))*r}function u(r,n,a){return 3*t(n,a)*r*r+2*e(n,a)*r+i(n)}function f(r,n,t,e,i){var u,f,o=0;do{f=n+(t-n)/2;u=a(f,e,i)-r;if(u>0){t=f}else{n=f}}while(Math.abs(u)>1e-7&&++o<10);return f}function o(r,n,t,e){for(var i=0;i<4;++i){var f=u(n,t,e);if(f===0){return n}var o=a(n,t,e)-r;n-=o/f}return n}function v(t,e,i,v){if(!(0<=t&&t<=1&&0<=i&&i<=1)){return}var c=new Float32Array(r);if(t!==e||i!==v){for(var s=0;s<r;++s){c[s]=a(s*n,t,i)}}function l(e){var a=0;var v=1;var s=r-1;for(;v!==s&&c[v]<=e;++v){a+=n}--v;var l=(e-c[v])/(c[v+1]-c[v]);var h=a+l*n;var d=u(h,t,i);if(d>=.001){return o(e,h,t,i)}else if(d===0){return h}else{return f(e,a,a+n,t,i)}}return function(r){if(t===e&&i===v){return r}if(r===0||r===1){return r}return a(l(r),e,v)}}return v}();var M=function(){var r={linear:function(){return function(r){return r}}};var n={Sine:function(){return function(r){return 1-Math.cos(r*Math.PI/2)}},Circ:function(){return function(r){return 1-Math.sqrt(1-r*r)}},Back:function(){return function(r){return r*r*(3*r-2)}},Bounce:function(){return function(r){var n,t=4;while(r<((n=Math.pow(2,--t))-1)/11){}return 1/Math.pow(4,3-t)-7.5625*Math.pow((n*3-2)/22-r,2)}},Elastic:function(r,n){if(r===void 0)r=1;if(n===void 0)n=.5;var t=s(r,1,10);var e=s(n,.1,2);return function(r){return r===0||r===1?r:-t*Math.pow(2,10*(r-1))*Math.sin((r-1-e/(Math.PI*2)*Math.asin(1/t))*(Math.PI*2)/e)}}};var t=["Quad","Cubic","Quart","Quint","Expo"];t.forEach((function(r,t){n[r]=function(){return function(r){return Math.pow(r,t+2)}}}));Object.keys(n).forEach((function(t){var e=n[t];r["easeIn"+t]=e;r["easeOut"+t]=function(r,n){return function(t){return 1-e(r,n)(1-t)}};r["easeInOut"+t]=function(r,n){return function(t){return t<.5?e(r,n)(t*2)/2:1-e(r,n)(t*-2+2)/2}};r["easeOutIn"+t]=function(r,n){return function(t){return t<.5?(1-e(r,n)(1-t*2))/2:(e(r,n)(t*2-1)+1)/2}}}));return r}();function y(r,n){if(d.fnc(r)){return r}var t=r.split("(")[0];var e=M[t];var i=p(r);switch(t){case"spring":return m(r,n);case"cubicBezier":return h(b,i);case"steps":return h(g,i);default:return h(e,i)}}function w(r){try{var n=document.querySelectorAll(r);return n}catch(r){return}}function x(r,n){var t=r.length;var e=arguments.length>=2?arguments[1]:void 0;var i=[];for(var a=0;a<t;a++){if(a in r){var u=r[a];if(n.call(e,u,a,r)){i.push(u)}}}return i}function A(r){return r.reduce((function(r,n){return r.concat(d.arr(n)?A(n):n)}),[])}function F(r){if(d.arr(r)){return r}if(d.str(r)){r=w(r)||r}if(r instanceof NodeList||r instanceof HTMLCollection){return[].slice.call(r)}return[r]}function O(r,n){return r.some((function(r){return r===n}))}function k(r){var n={};for(var t in r){n[t]=r[t]}return n}function C(r,n){var t=k(r);for(var e in r){t[e]=n.hasOwnProperty(e)?n[e]:r[e]}return t}function E(r,n){var t=k(r);for(var e in n){t[e]=d.und(r[e])?n[e]:r[e]}return t}function j(r){var n=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(r);return n?"rgba("+n[1]+",1)":r}function B(r){var n=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;var t=r.replace(n,(function(r,n,t,e){return n+n+t+t+e+e}));var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);var i=parseInt(e[1],16);var a=parseInt(e[2],16);var u=parseInt(e[3],16);return"rgba("+i+","+a+","+u+",1)"}function I(r){var n=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(r)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(r);var t=parseInt(n[1],10)/360;var e=parseInt(n[2],10)/100;var i=parseInt(n[3],10)/100;var a=n[4]||1;function u(r,n,t){if(t<0){t+=1}if(t>1){t-=1}if(t<1/6){return r+(n-r)*6*t}if(t<1/2){return n}if(t<2/3){return r+(n-r)*(2/3-t)*6}return r}var f,o,v;if(e==0){f=o=v=i}else{var c=i<.5?i*(1+e):i+e-i*e;var s=2*i-c;f=u(s,c,t+1/3);o=u(s,c,t);v=u(s,c,t-1/3)}return"rgba("+f*255+","+o*255+","+v*255+","+a+")"}function N(r){if(d.rgb(r)){return j(r)}if(d.hex(r)){return B(r)}if(d.hsl(r)){return I(r)}}function $(r){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(r);if(n){return n[1]}}function z(r){if(l(r,"translate")||r==="perspective"){return"px"}if(l(r,"rotate")||l(r,"skew")){return"deg"}}function L(r,n){if(!d.fnc(r)){return r}return r(n.target,n.id,n.total)}function H(r,n){return r.getAttribute(n)}function S(r,n,t){var e=$(n);if(O([t,"deg","rad","turn"],e)){return n}var i=c.CSS[n+t];if(!d.und(i)){return i}var a=100;var u=document.createElement(r.tagName);var f=r.parentNode&&r.parentNode!==document?r.parentNode:document.body;f.appendChild(u);u.style.position="absolute";u.style.width=a+t;var o=a/u.offsetWidth;f.removeChild(u);var v=o*parseFloat(n);c.CSS[n+t]=v;return v}function D(r,n,t){if(n in r.style){var e=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();var i=r.style[n]||getComputedStyle(r).getPropertyValue(e)||"0";return t?S(r,i,t):i}}function X(r,n){if(d.dom(r)&&!d.inp(r)&&(!d.nil(H(r,n))||d.svg(r)&&r[n])){return"attribute"}if(d.dom(r)&&O(v,n)){return"transform"}if(d.dom(r)&&(n!=="transform"&&D(r,n))){return"css"}if(r[n]!=null){return"object"}}function Y(r){if(!d.dom(r)){return}var n=r.style.transform||"";var t=/(\w+)\(([^)]*)\)/g;var e=new Map;var i;while(i=t.exec(n)){e.set(i[1],i[2])}return e}function Z(r,n,t,e){var i=l(n,"scale")?1:0+z(n);var a=Y(r).get(n)||i;if(t){t.transforms.list.set(n,a);t.transforms["last"]=n}return e?S(r,a,e):a}function Q(r,n,t,e){switch(X(r,n)){case"transform":return Z(r,n,e,t);case"css":return D(r,n,t);case"attribute":return H(r,n);default:return r[n]||0}}function q(r,n){var t=/^(\*=|\+=|-=)/.exec(r);if(!t){return r}var e=$(r)||0;var i=parseFloat(n);var a=parseFloat(r.replace(t[0],""));switch(t[0][0]){case"+":return i+a+e;case"-":return i-a+e;case"*":return i*a+e}}function P(r,n){if(d.col(r)){return N(r)}if(/\s/g.test(r)){return r}var t=$(r);var e=t?r.substr(0,r.length-t.length):r;if(n){return e+n}return e}function R(r,n){return Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2))}function T(r){return Math.PI*2*H(r,"r")}function G(r){return H(r,"width")*2+H(r,"height")*2}function V(r){return R({x:H(r,"x1"),y:H(r,"y1")},{x:H(r,"x2"),y:H(r,"y2")})}function W(r){var n=r.points;var t=0;var e;for(var i=0;i<n.numberOfItems;i++){var a=n.getItem(i);if(i>0){t+=R(e,a)}e=a}return t}function _(r){var n=r.points;return W(r)+R(n.getItem(n.numberOfItems-1),n.getItem(0))}function J(r){if(r.getTotalLength){return r.getTotalLength()}switch(r.tagName.toLowerCase()){case"circle":return T(r);case"rect":return G(r);case"line":return V(r);case"polyline":return W(r);case"polygon":return _(r)}}function K(r){var n=J(r);r.setAttribute("stroke-dasharray",n);return n}function U(r){var n=r.parentNode;while(d.svg(n)){if(!d.svg(n.parentNode)){break}n=n.parentNode}return n}function rr(r,n){var t=n||{};var e=t.el||U(r);var i=e.getBoundingClientRect();var a=H(e,"viewBox");var u=i.width;var f=i.height;var o=t.viewBox||(a?a.split(" "):[0,0,u,f]);return{el:e,viewBox:o,x:o[0]/1,y:o[1]/1,w:u,h:f,vW:o[2],vH:o[3]}}function nr(r,n){var t=d.str(r)?w(r)[0]:r;var e=n||100;return function(r){return{property:r,el:t,svg:rr(t),totalLength:J(t)*(e/100)}}}function tr(r,n,t){function e(t){if(t===void 0)t=0;var e=n+t>=1?n+t:0;return r.el.getPointAtLength(e)}var i=rr(r.el,r.svg);var a=e();var u=e(-1);var f=e(+1);var o=t?1:i.w/i.vW;var v=t?1:i.h/i.vH;switch(r.property){case"x":return(a.x-i.x)*o;case"y":return(a.y-i.y)*v;case"angle":return Math.atan2(f.y-u.y,f.x-u.x)*180/Math.PI}}function er(r,n){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g;var e=P(d.pth(r)?r.totalLength:r,n)+"";return{original:e,numbers:e.match(t)?e.match(t).map(Number):[0],strings:d.str(r)||n?e.split(t):[]}}function ir(r){var n=r?A(d.arr(r)?r.map(F):F(r)):[];return x(n,(function(r,n,t){return t.indexOf(r)===n}))}function ar(r){var n=ir(r);return n.map((function(r,t){return{target:r,id:t,total:n.length,transforms:{list:Y(r)}}}))}function ur(r,n){var t=k(n);if(/^spring/.test(t.easing)){t.duration=m(t.easing)}if(d.arr(r)){var e=r.length;var i=e===2&&!d.obj(r[0]);if(!i){if(!d.fnc(n.duration)){t.duration=n.duration/e}}else{r={value:r}}}var a=d.arr(r)?r:[r];return a.map((function(r,t){var e=d.obj(r)&&!d.pth(r)?r:{value:r};if(d.und(e.delay)){e.delay=!t?n.delay:0}if(d.und(e.endDelay)){e.endDelay=t===a.length-1?n.endDelay:0}return e})).map((function(r){return E(r,t)}))}function fr(r){var n=x(A(r.map((function(r){return Object.keys(r)}))),(function(r){return d.key(r)})).reduce((function(r,n){if(r.indexOf(n)<0){r.push(n)}return r}),[]);var t={};var e=function(e){var i=n[e];t[i]=r.map((function(r){var n={};for(var t in r){if(d.key(t)){if(t==i){n.value=r[t]}}else{n[t]=r[t]}}return n}))};for(var i=0;i<n.length;i++)e(i);return t}function or(r,n){var t=[];var e=n.keyframes;if(e){n=E(fr(e),n)}for(var i in n){if(d.key(i)){t.push({name:i,tweens:ur(n[i],r)})}}return t}function vr(r,n){var t={};for(var e in r){var i=L(r[e],n);if(d.arr(i)){i=i.map((function(r){return L(r,n)}));if(i.length===1){i=i[0]}}t[e]=i}t.duration=parseFloat(t.duration);t.delay=parseFloat(t.delay);return t}function cr(r,n){var t;return r.tweens.map((function(e){var i=vr(e,n);var a=i.value;var u=d.arr(a)?a[1]:a;var f=$(u);var o=Q(n.target,r.name,f,n);var v=t?t.to.original:o;var c=d.arr(a)?a[0]:v;var s=$(c)||$(o);var l=f||s;if(d.und(u)){u=v}i.from=er(c,l);i.to=er(q(u,c),l);i.start=t?t.end:0;i.end=i.start+i.delay+i.duration+i.endDelay;i.easing=y(i.easing,i.duration);i.isPath=d.pth(a);i.isPathTargetInsideSVG=i.isPath&&d.svg(n.target);i.isColor=d.col(i.from.original);if(i.isColor){i.round=1}t=i;return i}))}var sr={css:function(r,n,t){return r.style[n]=t},attribute:function(r,n,t){return r.setAttribute(n,t)},object:function(r,n,t){return r[n]=t},transform:function(r,n,t,e,i){e.list.set(n,t);if(n===e.last||i){var a="";e.list.forEach((function(r,n){a+=n+"("+r+") "}));r.style.transform=a}}};function lr(r,n){var t=ar(r);t.forEach((function(r){for(var t in n){var e=L(n[t],r);var i=r.target;var a=$(e);var u=Q(i,t,a,r);var f=a||$(u);var o=q(P(e,f),u);var v=X(i,t);sr[v](i,t,o,r.transforms,true)}}))}function hr(r,n){var t=X(r.target,n.name);if(t){var e=cr(n,r);var i=e[e.length-1];return{type:t,property:n.name,animatable:r,tweens:e,duration:i.end,delay:e[0].delay,endDelay:i.endDelay}}}function dr(r,n){return x(A(r.map((function(r){return n.map((function(n){return hr(r,n)}))}))),(function(r){return!d.und(r)}))}function pr(r,n){var t=r.length;var e=function(r){return r.timelineOffset?r.timelineOffset:0};var i={};i.duration=t?Math.max.apply(Math,r.map((function(r){return e(r)+r.duration}))):n.duration;i.delay=t?Math.min.apply(Math,r.map((function(r){return e(r)+r.delay}))):n.delay;i.endDelay=t?i.duration-Math.max.apply(Math,r.map((function(r){return e(r)+r.duration-r.endDelay}))):n.endDelay;return i}var mr=0;function gr(r){var n=C(f,r);var t=C(o,r);var e=or(t,r);var i=ar(r.targets);var a=dr(i,e);var u=pr(a,t);var v=mr;mr++;return E(n,{id:v,children:[],animatables:i,animations:a,duration:u.duration,delay:u.delay,endDelay:u.endDelay})}var br=[];var Mr=function(){var r;function n(){if(!r&&(!yr()||!wr.suspendWhenDocumentHidden)&&br.length>0){r=requestAnimationFrame(t)}}function t(n){var e=br.length;var i=0;while(i<e){var a=br[i];if(!a.paused){a.tick(n);i++}else{br.splice(i,1);e--}}r=i>0?requestAnimationFrame(t):undefined}function e(){if(!wr.suspendWhenDocumentHidden){return}if(yr()){r=cancelAnimationFrame(r)}else{br.forEach((function(r){return r._onDocumentVisibility()}));Mr()}}if(typeof document!=="undefined"){document.addEventListener("visibilitychange",e)}return n}();function yr(){return!!document&&document.hidden}function wr(r){if(r===void 0)r={};var n=0,t=0,e=0;var i,a=0;var u=null;function f(r){var n=window.Promise&&new Promise((function(r){return u=r}));r.finished=n;return n}var o=gr(r);f(o);function v(){var r=o.direction;if(r!=="alternate"){o.direction=r!=="normal"?"normal":"reverse"}o.reversed=!o.reversed;i.forEach((function(r){return r.reversed=o.reversed}))}function c(r){return o.reversed?o.duration-r:r}function l(){n=0;t=c(o.currentTime)*(1/wr.speed)}function h(r,n){if(n){n.seek(r-n.timelineOffset)}}function d(r){if(!o.reversePlayback){for(var n=0;n<a;n++){h(r,i[n])}}else{for(var t=a;t--;){h(r,i[t])}}}function p(r){var n=0;var t=o.animations;var e=t.length;while(n<e){var i=t[n];var a=i.animatable;var u=i.tweens;var f=u.length-1;var v=u[f];if(f){v=x(u,(function(n){return r<n.end}))[0]||v}var c=s(r-v.start-v.delay,0,v.duration)/v.duration;var l=isNaN(c)?1:v.easing(c);var h=v.to.strings;var d=v.round;var p=[];var m=v.to.numbers.length;var g=void 0;for(var b=0;b<m;b++){var M=void 0;var y=v.to.numbers[b];var w=v.from.numbers[b]||0;if(!v.isPath){M=w+l*(y-w)}else{M=tr(v.value,l*y,v.isPathTargetInsideSVG)}if(d){if(!(v.isColor&&b>2)){M=Math.round(M*d)/d}}p.push(M)}var A=h.length;if(!A){g=p[0]}else{g=h[0];for(var F=0;F<A;F++){var O=h[F+1];var k=p[F];if(!isNaN(k)){if(!O){g+=k+" "}else{g+=k+O}}}}sr[i.type](a.target,i.property,g,a.transforms);i.currentValue=g;n++}}function m(r){if(o[r]&&!o.passThrough){o[r](o)}}function g(){if(o.remaining&&o.remaining!==true){o.remaining--}}function b(r){var a=o.duration;var l=o.delay;var h=a-o.endDelay;var b=c(r);o.progress=s(b/a*100,0,100);o.reversePlayback=b<o.currentTime;if(i){d(b)}if(!o.began&&o.currentTime>0){o.began=true;m("begin")}if(!o.loopBegan&&o.currentTime>0){o.loopBegan=true;m("loopBegin")}if(b<=l&&o.currentTime!==0){p(0)}if(b>=h&&o.currentTime!==a||!a){p(a)}if(b>l&&b<h){if(!o.changeBegan){o.changeBegan=true;o.changeCompleted=false;m("changeBegin")}m("change");p(b)}else{if(o.changeBegan){o.changeCompleted=true;o.changeBegan=false;m("changeComplete")}}o.currentTime=s(b,0,a);if(o.began){m("update")}if(r>=a){t=0;g();if(!o.remaining){o.paused=true;if(!o.completed){o.completed=true;m("loopComplete");m("complete");if(!o.passThrough&&"Promise"in window){u();f(o)}}}else{n=e;m("loopComplete");o.loopBegan=false;if(o.direction==="alternate"){v()}}}}o.reset=function(){var r=o.direction;o.passThrough=false;o.currentTime=0;o.progress=0;o.paused=true;o.began=false;o.loopBegan=false;o.changeBegan=false;o.completed=false;o.changeCompleted=false;o.reversePlayback=false;o.reversed=r==="reverse";o.remaining=o.loop;i=o.children;a=i.length;for(var n=a;n--;){o.children[n].reset()}if(o.reversed&&o.loop!==true||r==="alternate"&&o.loop===1){o.remaining++}p(o.reversed?o.duration:0)};o._onDocumentVisibility=l;o.set=function(r,n){lr(r,n);return o};o.tick=function(r){e=r;if(!n){n=e}b((e+(t-n))*wr.speed)};o.seek=function(r){b(c(r))};o.pause=function(){o.paused=true;l()};o.play=function(){if(!o.paused){return}if(o.completed){o.reset()}o.paused=false;br.push(o);l();Mr()};o.reverse=function(){v();o.completed=o.reversed?false:true;l()};o.restart=function(){o.reset();o.play()};o.remove=function(r){var n=ir(r);Ar(n,o)};o.reset();if(o.autoplay){o.play()}return o}function xr(r,n){for(var t=n.length;t--;){if(O(r,n[t].animatable.target)){n.splice(t,1)}}}function Ar(r,n){var t=n.animations;var e=n.children;xr(r,t);for(var i=e.length;i--;){var a=e[i];var u=a.animations;xr(r,u);if(!u.length&&!a.children.length){e.splice(i,1)}}if(!t.length&&!e.length){n.pause()}}function Fr(r){var n=ir(r);for(var t=br.length;t--;){var e=br[t];Ar(n,e)}}function Or(r,n){if(n===void 0)n={};var t=n.direction||"normal";var e=n.easing?y(n.easing):null;var i=n.grid;var a=n.axis;var u=n.from||0;var f=u==="first";var o=u==="center";var v=u==="last";var c=d.arr(r);var s=c?parseFloat(r[0]):parseFloat(r);var l=c?parseFloat(r[1]):0;var h=$(c?r[1]:r)||0;var p=n.start||0+(c?s:0);var m=[];var g=0;return function(r,n,d){if(f){u=0}if(o){u=(d-1)/2}if(v){u=d-1}if(!m.length){for(var b=0;b<d;b++){if(!i){m.push(Math.abs(u-b))}else{var M=!o?u%i[0]:(i[0]-1)/2;var y=!o?Math.floor(u/i[0]):(i[1]-1)/2;var w=b%i[0];var x=Math.floor(b/i[0]);var A=M-w;var F=y-x;var O=Math.sqrt(A*A+F*F);if(a==="x"){O=-A}if(a==="y"){O=-F}m.push(O)}g=Math.max.apply(Math,m)}if(e){m=m.map((function(r){return e(r/g)*g}))}if(t==="reverse"){m=m.map((function(r){return a?r<0?r*-1:-r:Math.abs(g-r)}))}}var k=c?(l-s)/g:s;return p+k*(Math.round(m[n]*100)/100)+h}}function kr(r){if(r===void 0)r={};var n=wr(r);n.duration=0;n.add=function(t,e){var i=br.indexOf(n);var a=n.children;if(i>-1){br.splice(i,1)}function u(r){r.passThrough=true}for(var f=0;f<a.length;f++){u(a[f])}var v=E(t,C(o,r));v.targets=v.targets||r.targets;var c=n.duration;v.autoplay=false;v.direction=n.direction;v.timelineOffset=d.und(e)?c:q(e,c);u(n);n.seek(v.timelineOffset);var s=wr(v);u(s);a.push(s);var l=pr(a,r);n.delay=l.delay;n.endDelay=l.endDelay;n.duration=l.duration;n.seek(0);n.reset();if(n.autoplay){n.play()}return n};return n}wr.version="3.2.1";wr.speed=1;wr.suspendWhenDocumentHidden=true;wr.running=br;wr.remove=Fr;wr.get=Q;wr.set=lr;wr.convertPx=S;wr.path=nr;wr.setDashoffset=K;wr.stagger=Or;wr.timeline=kr;wr.easing=y;wr.penner=M;wr.random=function(r,n){return Math.floor(Math.random()*(n-r+1))+r};const Cr=":host{display:block;overflow-y:hidden}:host(.dso-hide){display:none}:host(:not(.dso-animate-ready)){position:absolute;visibility:hidden}:host([open]){position:inherit;visibility:inherit}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";const Er=class{constructor(t){r(this,t);this.dsoExpandableAnimationEnd=n(this,"dsoExpandableAnimationEnd",3);this.open=undefined;this.enableAnimation=false;this.minimumHeight=undefined;this.animationReady=false}toggleOpen(){if(this.enableAnimation){this.activateAnimation()}}toggleEnableAnimation(r){var n;if(r){this.prepareAnimationResizeObserver();this.activateObserver()}else{(n=this.resizeObserver)===null||n===void 0?void 0:n.disconnect();delete this.animeInstance;this.host.removeAttribute("style")}}componentDidLoad(){if(this.enableAnimation){this.prepareAnimationResizeObserver()}this.activateObserver()}activateObserver(){var r;(r=this.resizeObserver)===null||r===void 0?void 0:r.observe(this.host)}disconnectedCallback(){var r;(r=this.resizeObserver)===null||r===void 0?void 0:r.disconnect()}render(){return t(e,{"aria-hidden":this.open?"false":"true",class:a({"dso-animate-ready":this.enableAnimation&&this.animationReady,"dso-hide":!this.enableAnimation&&!this.open})},t("slot",null))}prepareAnimationResizeObserver(){this.resizeObserver=new ResizeObserver(u((([r])=>{if(!r){throw new Error("No entry found")}const n=r.target.getBoundingClientRect().height;if(this.bodyHeight!==n){this.bodyHeight=n}this.instantiateAnimation()}),150))}instantiateAnimation(){var r;this.animeInstance=wr({targets:this.host,height:(r=this.minimumHeight)!==null&&r!==void 0?r:0,easing:"cubicBezier(0.4, 0, 0.2, 1)",duration:260,autoplay:false,direction:"normal",begin:()=>{if(this.open){this.host.style.visibility="";this.host.style.position="";this.host.style.bottom=""}},complete:()=>{this.host.style.height="";if(!this.open){this.host.style.visibility="hidden";this.host.style.position="absolute";this.host.style.bottom="100%"}},changeComplete:()=>{this.dsoExpandableAnimationEnd.emit({bodyHeight:this.bodyHeight})}});if(!this.open){this.animeInstance.reverse();this.animeInstance.play()}if(this.host){this.host.style.height=""}this.animationReady=!!this.animeInstance}activateAnimation(){if(this.animeInstance){if(this.animeInstance.progress>0&&this.animeInstance.progress<100){this.animeInstance.reverse()}else{if(this.open){this.animeInstance.direction="reverse";this.animeInstance.play()}else{this.animeInstance.direction="normal";this.animeInstance.play()}}}}get host(){return i(this)}static get watchers(){return{open:["toggleOpen"],enableAnimation:["toggleEnableAnimation"]}}};Er.style=Cr;export{Er as dso_expandable};
|
|
2
|
+
//# sourceMappingURL=p-f56c1b28.entry.js.map
|