@dso-toolkit/core 58.3.1 → 59.0.1
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/_commonjsHelpers-68cdf74f.js +7 -0
- package/dist/cjs/_commonjsHelpers-68cdf74f.js.map +1 -0
- package/dist/cjs/dso-alert_5.cjs.entry.js +497 -46
- package/dist/cjs/dso-alert_5.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-output_3.cjs.entry.js +6 -2
- package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-dropdown-menu.cjs.entry.js +4 -2
- package/dist/cjs/dso-dropdown-menu.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-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-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1688 -41
- package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/document-component/document-component.css +687 -13
- package/dist/collection/components/document-component/document-component.js +31 -7
- package/dist/collection/components/document-component/document-component.js.map +1 -1
- package/dist/collection/components/document-component/document-component.models.js +2 -0
- package/dist/collection/components/document-component/document-component.models.js.map +1 -0
- package/dist/collection/components/document-component-demo/document-component.demo.css +11 -0
- package/dist/collection/components/document-component-demo/document-component.demo.js +235 -0
- package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -0
- package/dist/collection/components/dropdown-menu/dropdown-menu.js +29 -2
- package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/collection/components/header/header.js +1 -1
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/modal/modal.css +3 -3
- package/dist/collection/components/ozon-content/nodes/al.node.js +24 -7
- package/dist/collection/components/ozon-content/nodes/al.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +3 -1
- package/dist/collection/components/ozon-content/nodes/ext-ref.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js +1 -1
- package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/opschrift.node.js +9 -1
- package/dist/collection/components/ozon-content/nodes/opschrift.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +1 -2
- package/dist/collection/components/ozon-content/nodes/table.node/table.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js +1 -1
- package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content-context.interface.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content-mapper.js +11 -9
- package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content.css +1100 -35
- package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content.js +17 -83
- package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
- package/dist/collection/components/table/table.css +669 -97
- package/dist/collection/components/tooltip/tooltip.css +0 -8
- package/dist/components/document-component.js +6 -2
- package/dist/components/document-component.js.map +1 -1
- package/dist/components/dropdown-menu.js +5 -2
- package/dist/components/dropdown-menu.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-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/dsot-document-component-demo.js +1694 -45
- package/dist/components/dsot-document-component-demo.js.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/ozon-content.js +500 -50
- package/dist/components/ozon-content.js.map +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/tooltip.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-2401e7f9.entry.js +2 -0
- package/dist/dso-toolkit/p-2401e7f9.entry.js.map +1 -0
- package/dist/dso-toolkit/p-2ab99812.entry.js +2 -0
- package/dist/dso-toolkit/{p-a63c82a4.entry.js.map → p-2ab99812.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-432df09a.entry.js +2 -0
- package/dist/dso-toolkit/p-432df09a.entry.js.map +1 -0
- package/dist/dso-toolkit/p-4573c419.js +2 -0
- package/dist/dso-toolkit/p-4573c419.js.map +1 -0
- package/dist/dso-toolkit/p-47e77e24.entry.js +2 -0
- package/dist/dso-toolkit/p-47e77e24.entry.js.map +1 -0
- package/dist/dso-toolkit/p-4e2407bf.entry.js +2 -0
- package/dist/dso-toolkit/p-4e2407bf.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-dc6e37dd.entry.js → p-51cfeed4.entry.js} +2 -2
- package/dist/dso-toolkit/p-51cfeed4.entry.js.map +1 -0
- package/dist/dso-toolkit/p-ab1f0511.entry.js +2 -0
- package/dist/dso-toolkit/p-ab1f0511.entry.js.map +1 -0
- package/dist/dso-toolkit/p-ad44136d.entry.js +2 -0
- package/dist/dso-toolkit/p-ad44136d.entry.js.map +1 -0
- package/dist/esm/_commonjsHelpers-1c8beb5f.js +5 -0
- package/dist/esm/_commonjsHelpers-1c8beb5f.js.map +1 -0
- package/dist/esm/dso-alert_5.entry.js +498 -47
- package/dist/esm/dso-alert_5.entry.js.map +1 -1
- package/dist/esm/dso-annotation-output_3.entry.js +6 -2
- package/dist/esm/dso-annotation-output_3.entry.js.map +1 -1
- package/dist/esm/dso-dropdown-menu.entry.js +4 -2
- package/dist/esm/dso-dropdown-menu.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-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-tooltip.entry.js +1 -1
- package/dist/esm/dso-tooltip.entry.js.map +1 -1
- package/dist/esm/dsot-document-component-demo.entry.js +1689 -42
- package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/document-component/document-component.d.ts +6 -1
- package/dist/types/components/document-component/document-component.models.d.ts +14 -0
- package/dist/types/components/document-component-demo/document-component.demo.d.ts +64 -0
- package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +7 -0
- package/dist/types/components/ozon-content/nodes/al.node.d.ts +1 -1
- package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +3 -2
- package/dist/types/components/ozon-content/ozon-content-mapper.d.ts +0 -1
- package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +3 -2
- package/dist/types/components/ozon-content/ozon-content.d.ts +4 -25
- package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +1 -4
- package/dist/types/components.d.ts +51 -25
- package/package.json +8 -2
- package/dist/collection/components/document-component/document-component.demo.js +0 -112
- package/dist/collection/components/document-component/document-component.demo.js.map +0 -1
- package/dist/collection/components/document-component/document-component.types.js +0 -2
- package/dist/collection/components/document-component/document-component.types.js.map +0 -1
- package/dist/dso-toolkit/p-41066f6f.entry.js +0 -2
- package/dist/dso-toolkit/p-41066f6f.entry.js.map +0 -1
- package/dist/dso-toolkit/p-42ba2c81.entry.js +0 -2
- package/dist/dso-toolkit/p-42ba2c81.entry.js.map +0 -1
- package/dist/dso-toolkit/p-48d76094.entry.js +0 -2
- package/dist/dso-toolkit/p-48d76094.entry.js.map +0 -1
- package/dist/dso-toolkit/p-5c5e43d3.entry.js +0 -2
- package/dist/dso-toolkit/p-5c5e43d3.entry.js.map +0 -1
- package/dist/dso-toolkit/p-8af61320.entry.js +0 -2
- package/dist/dso-toolkit/p-8af61320.entry.js.map +0 -1
- package/dist/dso-toolkit/p-9a3f154b.entry.js +0 -2
- package/dist/dso-toolkit/p-9a3f154b.entry.js.map +0 -1
- package/dist/dso-toolkit/p-a63c82a4.entry.js +0 -2
- package/dist/dso-toolkit/p-dc6e37dd.entry.js.map +0 -1
- package/dist/types/components/document-component/document-component.demo.d.ts +0 -40
- package/dist/types/components/document-component/document-component.types.d.ts +0 -8
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["maxSize","name","enabled","phase","requiresIfExists","fn","_ref","state","options","overflow","detectOverflow","_ref2","modifiersData","preventOverflow","x","y","_state$rects$popper","rects","popper","width","height","_state$placement$spli","placement","split","basePlacement","widthProp","heightProp","tooltipCss","transitionDuration","applyMaxSize","beforeWrite","requires","styles","Object","assign","maxWidth","Tooltip","this","callbacks","activate","active","deactivate","onMouseLeave","element","matches","_a","target","keyDownListener","event","key","deactivatePopper","debounce","hidden","destroy","undefined","_Tooltip_target","set","watchPosition","setOptions","position","watchStrategy","setStrategy","strategy","parentNode","document","ShadowRoot","host","parentElement","hasOverflow","watchActive","activatePopper","stateless","setTimeout","modifiers","addEventListener","removeEventListener","listenClick","e","stopPropagation","componentDidLoad","tooltip","shadowRoot","querySelector","HTMLElement","Error","forEach","disconnectedCallback","componentDidRender","update","render","h","Host","class","role","onClick","clsx","in","noArrow","descriptive","small","createPopper","__classPrivateFieldGet","initializeTarget","__classPrivateFieldSet","id","console","warn","rootNode","getRootNode","Document","reference"],"sources":["../../node_modules/popper-max-size-modifier/dist/popper-max-size-modifier.esm.js","src/components/tooltip/tooltip.scss?tag=dso-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { detectOverflow } from '@popperjs/core';\n\nvar maxSize = {\n name: 'maxSize',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n fn: function fn(_ref) {\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var overflow = detectOverflow(state, options);\n\n var _ref2 = state.modifiersData.preventOverflow || {\n x: 0,\n y: 0\n },\n x = _ref2.x,\n y = _ref2.y;\n\n var _state$rects$popper = state.rects.popper,\n width = _state$rects$popper.width,\n height = _state$rects$popper.height;\n\n var _state$placement$spli = state.placement.split('-'),\n basePlacement = _state$placement$spli[0];\n\n var widthProp = basePlacement === 'left' ? 'left' : 'right';\n var heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n state.modifiersData[name] = {\n width: width - overflow[widthProp] - x,\n height: height - overflow[heightProp] - y\n };\n }\n};\n\nexport default maxSize;\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/tooltip\";\r\n\r\n:host(.hidden) {\r\n visibility: hidden;\r\n}\r\n\r\n:host-context(dso-toggletip) {\r\n *[data-popper-placement=\"top\"] {\r\n .tooltip-arrow {\r\n margin-left: 3px;\r\n }\r\n }\r\n\r\n *[data-popper-placement=\"right\"] {\r\n .tooltip-arrow {\r\n margin-top: 0;\r\n }\r\n }\r\n\r\n *[data-popper-placement=\"bottom\"] {\r\n .tooltip-arrow {\r\n margin-left: 3px;\r\n }\r\n }\r\n\r\n *[data-popper-placement=\"left\"] {\r\n margin-right: units.$u1 * -1 !important;\r\n\r\n .tooltip-arrow {\r\n margin-top: 0;\r\n }\r\n }\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.tooltip {\r\n @include tooltip.root();\r\n\r\n &[data-popper-placement=\"top\"] {\r\n @include tooltip.arrowTop();\r\n\r\n .tooltip-arrow {\r\n margin-left: tooltip.$arrow-margin * -1;\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"right\"] {\r\n @include tooltip.arrowRight();\r\n\r\n .tooltip-arrow {\r\n margin-top: tooltip.$arrow-margin * -1;\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"bottom\"] {\r\n @include tooltip.arrowBottom();\r\n\r\n .tooltip-arrow {\r\n margin-left: tooltip.$arrow-margin * -1;\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"left\"] {\r\n @include tooltip.arrowLeft();\r\n\r\n .tooltip-arrow {\r\n margin-top: tooltip.$arrow-margin * -1;\r\n }\r\n }\r\n}\r\n","import { beforeWrite, createPopper, Instance as PopperInstance, State as PopperState } from \"@popperjs/core\";\r\nimport maxSize from \"popper-max-size-modifier\";\r\nimport { h, Component, Element, Host, Method, Prop, State, Watch } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\nimport debounce from \"debounce\";\r\n\r\n// Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin\r\nconst transitionDuration = 150;\r\n\r\nconst applyMaxSize = {\r\n name: \"applyMaxSize\",\r\n enabled: true,\r\n phase: beforeWrite,\r\n requires: [\"maxSize\"],\r\n fn({ state }: { state: PopperState }) {\r\n let { width } = state.modifiersData.maxSize;\r\n if (width < 160) {\r\n width = 160;\r\n }\r\n\r\n state.styles.popper = {\r\n ...state.styles.popper,\r\n maxWidth: `${width}px`,\r\n };\r\n },\r\n};\r\n\r\n@Component({\r\n tag: \"dso-tooltip\",\r\n styleUrl: \"tooltip.scss\",\r\n shadow: true,\r\n})\r\nexport class Tooltip {\r\n /**\r\n * Defines if the tooltip is descriptive. A descriptive tooltip contains a meaningful message. Tooltips that are not descriptive are hidden from screenreaders using `aria-hidden`.\r\n */\r\n @Prop({\r\n reflect: true,\r\n })\r\n descriptive = false;\r\n\r\n /**\r\n * Set position of tooltip relative to target\r\n */\r\n @Prop()\r\n position: \"top\" | \"right\" | \"bottom\" | \"left\" = \"top\";\r\n\r\n /**\r\n * Set position strategy of tooltip\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n /**\r\n * Set attribute `no-arrow` to hide the arrow\r\n */\r\n @Prop()\r\n noArrow = false;\r\n\r\n /**\r\n * Deactivates mouseover behaviour\r\n */\r\n @Prop()\r\n stateless?: boolean;\r\n\r\n /**\r\n * Defines if the tooltip has a smaller max-width\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Whether or not to show the tooltip. To control the tooltip add the `active` attribute or use the `activate()` and `deactivate()` instance methods.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n active = false;\r\n\r\n /**\r\n * Activate the tooltip (Sets the `active` attribute)\r\n */\r\n @Method()\r\n async activate(): Promise<void> {\r\n this.active = true;\r\n }\r\n\r\n /**\r\n * Deactivate the tooltip (Removes the `active` attribute)\r\n */\r\n @Method()\r\n async deactivate(): Promise<void> {\r\n this.active = false;\r\n }\r\n\r\n @Watch(\"position\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.position,\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.element;\r\n while (element && element.parentNode !== document) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Watch(\"active\")\r\n watchActive() {\r\n if (this.active) {\r\n this.activatePopper();\r\n\r\n if (!this.stateless) {\r\n setTimeout(() => {\r\n this.popper?.setOptions({\r\n modifiers: [{ name: \"eventListeners\", enabled: true }],\r\n });\r\n document.addEventListener(\"keydown\", this.keyDownListener);\r\n });\r\n }\r\n } else {\r\n document.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.deactivatePopper();\r\n }\r\n }\r\n\r\n @Element()\r\n private element!: HTMLDsoTooltipElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n private callbacks: TooltipCallbacks = {\r\n activate: () => (this.active = true),\r\n deactivate: () => (this.active = false),\r\n };\r\n\r\n private onMouseLeave = () => {\r\n if (!this.element.matches(\":hover\") && !this.target?.matches(\":hover\")) {\r\n this.callbacks.deactivate();\r\n }\r\n };\r\n\r\n @State()\r\n private hidden = true;\r\n\r\n private listenClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n }\r\n\r\n componentDidLoad(): void {\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n if (!(tooltip instanceof HTMLElement)) {\r\n throw new Error(\"tooltip element is not instanceof HTMLElement\");\r\n }\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.addEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.addEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.addEventListener(\"focus\", this.callbacks.activate);\r\n this.target.addEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.popper?.destroy();\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.removeEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.removeEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.removeEventListener(\"focus\", this.callbacks.activate);\r\n this.target.removeEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n\r\n this.target = undefined;\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active) {\r\n this.popper?.update();\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key === \"Escape\") {\r\n this.deactivate();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host class={{ hidden: this.hidden }} role=\"tooltip\" onClick={this.listenClick}>\r\n <div class={clsx(\"tooltip\", { in: this.active })}>\r\n {!this.noArrow && <div data-popper-arrow class=\"tooltip-arrow\"></div>}\r\n <div aria-hidden={!this.descriptive || undefined} class={clsx(\"tooltip-inner\", { \"dso-small\": this.small })}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private deactivatePopper = debounce(() => {\r\n this.hidden = true;\r\n this.popper?.destroy();\r\n this.popper = undefined;\r\n }, transitionDuration);\r\n\r\n private activatePopper(): void {\r\n this.hidden = false;\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n\r\n if (this.target && tooltip instanceof HTMLElement) {\r\n this.popper = createPopper(this.target, tooltip, {\r\n placement: this.position,\r\n modifiers: [maxSize, applyMaxSize, { name: \"eventListeners\", enabled: false }],\r\n });\r\n\r\n this.setStrategy();\r\n }\r\n }\r\n\r\n private get target(): HTMLElement | undefined {\r\n return this.#target ?? this.initializeTarget();\r\n }\r\n\r\n private set target(element: HTMLElement | undefined) {\r\n this.#target = element;\r\n }\r\n\r\n #target?: HTMLElement;\r\n\r\n private initializeTarget(): HTMLElement | undefined {\r\n const id = this.element.id;\r\n\r\n if (!id) {\r\n console.warn(\"Unable to find reference tooltip has no [id] attribute.\");\r\n\r\n return;\r\n }\r\n\r\n const rootNode = this.element.getRootNode();\r\n if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {\r\n console.warn(`rootNode is not instance of Document or ShadowRoot`);\r\n\r\n return;\r\n }\r\n\r\n const reference = rootNode.querySelector<HTMLElement>(`[aria-describedBy=\"${id}`);\r\n if (!reference) {\r\n console.warn(`Unable to find reference with aria-describedby ${id}`);\r\n\r\n return;\r\n }\r\n\r\n this.#target = reference;\r\n return reference;\r\n }\r\n}\r\n\r\ninterface TooltipCallbacks {\r\n activate: () => void;\r\n deactivate: () => void;\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,h as o,c as t,F as e,a as r,H as s}from"./p-3ca5b6f4.js";import{c as a}from"./p-c87b4d11.js";import{d as i}from"./p-1805f5b0.js";import{i as d}from"./p-86133aa5.js";import{v as l}from"./p-5d7f4ff2.js";const c=":host{display:block}:host(:not(:first-child)){margin-top:24px}*,*::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}.alert{border:1px solid transparent;line-height:1.5;margin-bottom:24px;min-height:64px;position:relative}@media screen and (min-width: 481px){.alert{padding:19px 16px 19px 63px}}@media screen and (max-width: 480px){.alert{padding:63px 16px 16px}}.alert:not(:first-child){margin-top:24px}.alert.alert-success{color:#000;background-color:#e4f1d4;border-color:#e4f1d4}.alert.alert-error{color:#000;background-color:#f5d8dc;border-color:#f5d8dc}.alert.alert-warning{color:#000;background-color:#f8f6cc;border-color:#f8f6cc}.alert.alert-info{color:#000;background-color:#e1ecf7;border-color:#e1ecf7}.alert dso-icon{left:15px;position:absolute;top:15px;height:32px;width:32px}";const p=class{constructor(o){n(this,o);this.status=undefined;this.roleAlert=undefined}render(){const n=p.statusMap.get(this.status);if(!n){throw new Error(`Invalid status ${this.status}`)}return o("div",{class:a("alert",`alert-${this.status}`),role:this.roleAlert?"alert":undefined},o("dso-icon",{icon:"status-"+this.status}),o("span",{class:"sr-only"},n,":"),o("slot",null))}};p.statusMap=new Map([["success","Gelukt"],["info","Opmerking"],["warning","Waarschuwing"],["error","Fout"]]);p.style=c;const f="button {\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\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\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}\na.dso-primary:focus, a.dso-primary:focus-visible,\nbutton.dso-primary:focus,\nbutton.dso-primary:focus-visible,\nlabel.dso-primary:focus,\nlabel.dso-primary:focus-visible {\n outline-offset: 2px;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n outline: 0;\n}\na.dso-primary.extern::after, a.dso-primary.download::after,\nbutton.dso-primary.extern::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.extern::after,\nlabel.dso-primary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-primary:hover,\nbutton.dso-primary:hover,\nlabel.dso-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\na.dso-primary[disabled], a.dso-primary[disabled]:hover,\nbutton.dso-primary[disabled],\nbutton.dso-primary[disabled]:hover,\nlabel.dso-primary[disabled],\nlabel.dso-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\na.dso-primary.dso-small,\nbutton.dso-primary.dso-small,\nlabel.dso-primary.dso-small {\n line-height: 1rem;\n}\na.dso-primary.dso-small dso-icon,\na.dso-primary.dso-small svg.di, a.dso-primary.dso-small.extern::after, a.dso-primary.dso-small.download::after, a.dso-primary.dso-small.dso-spinner::before,\nbutton.dso-primary.dso-small dso-icon,\nbutton.dso-primary.dso-small svg.di,\nbutton.dso-primary.dso-small.extern::after,\nbutton.dso-primary.dso-small.download::after,\nbutton.dso-primary.dso-small.dso-spinner::before,\nlabel.dso-primary.dso-small dso-icon,\nlabel.dso-primary.dso-small svg.di,\nlabel.dso-primary.dso-small.extern::after,\nlabel.dso-primary.dso-small.download::after,\nlabel.dso-primary.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-primary.dso-small.dso-spinner-left::before,\nbutton.dso-primary.dso-small.dso-spinner-left::before,\nlabel.dso-primary.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-primary.dso-small.dso-spinner-right::after,\nbutton.dso-primary.dso-small.dso-spinner-right::after,\nlabel.dso-primary.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-primary dso-icon,\na.dso-primary svg.di,\nbutton.dso-primary dso-icon,\nbutton.dso-primary svg.di,\nlabel.dso-primary dso-icon,\nlabel.dso-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-primary span + dso-icon,\na.dso-primary span + svg.di,\nbutton.dso-primary span + dso-icon,\nbutton.dso-primary span + svg.di,\nlabel.dso-primary span + dso-icon,\nlabel.dso-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-primary.dso-spinner-left[disabled], a.dso-primary.dso-spinner-right[disabled],\nbutton.dso-primary.dso-spinner-left[disabled],\nbutton.dso-primary.dso-spinner-right[disabled],\nlabel.dso-primary.dso-spinner-left[disabled],\nlabel.dso-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-primary.dso-spinner-left::before,\nbutton.dso-primary.dso-spinner-left::before,\nlabel.dso-primary.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}\na.dso-primary.dso-spinner-right::after,\nbutton.dso-primary.dso-spinner-right::after,\nlabel.dso-primary.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}\na.dso-primary.download::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.download::after {\n background: url(\"./dso-icons.svg#img-download-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-primary.extern::after,\nbutton.dso-primary.extern::after,\nlabel.dso-primary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\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}\na.dso-secondary:focus, a.dso-secondary:focus-visible,\nbutton.dso-secondary:focus,\nbutton.dso-secondary:focus-visible,\nlabel.dso-secondary:focus,\nlabel.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n outline: 0;\n}\na.dso-secondary.extern::after, a.dso-secondary.download::after,\nbutton.dso-secondary.extern::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.extern::after,\nlabel.dso-secondary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-secondary:hover,\nbutton.dso-secondary:hover,\nlabel.dso-secondary:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-secondary[disabled], a.dso-secondary[disabled]:hover,\nbutton.dso-secondary[disabled],\nbutton.dso-secondary[disabled]:hover,\nlabel.dso-secondary[disabled],\nlabel.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\na.dso-secondary.dso-small,\nbutton.dso-secondary.dso-small,\nlabel.dso-secondary.dso-small {\n line-height: 1rem;\n}\na.dso-secondary.dso-small dso-icon,\na.dso-secondary.dso-small svg.di, a.dso-secondary.dso-small.extern::after, a.dso-secondary.dso-small.download::after, a.dso-secondary.dso-small.dso-spinner::before,\nbutton.dso-secondary.dso-small dso-icon,\nbutton.dso-secondary.dso-small svg.di,\nbutton.dso-secondary.dso-small.extern::after,\nbutton.dso-secondary.dso-small.download::after,\nbutton.dso-secondary.dso-small.dso-spinner::before,\nlabel.dso-secondary.dso-small dso-icon,\nlabel.dso-secondary.dso-small svg.di,\nlabel.dso-secondary.dso-small.extern::after,\nlabel.dso-secondary.dso-small.download::after,\nlabel.dso-secondary.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-secondary.dso-small.dso-spinner-left::before,\nbutton.dso-secondary.dso-small.dso-spinner-left::before,\nlabel.dso-secondary.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-small.dso-spinner-right::after,\nbutton.dso-secondary.dso-small.dso-spinner-right::after,\nlabel.dso-secondary.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary dso-icon,\na.dso-secondary svg.di,\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di,\nlabel.dso-secondary dso-icon,\nlabel.dso-secondary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-secondary span + dso-icon,\na.dso-secondary span + svg.di,\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di,\nlabel.dso-secondary span + dso-icon,\nlabel.dso-secondary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-secondary.dso-spinner-left[disabled], a.dso-secondary.dso-spinner-right[disabled],\nbutton.dso-secondary.dso-spinner-left[disabled],\nbutton.dso-secondary.dso-spinner-right[disabled],\nlabel.dso-secondary.dso-spinner-left[disabled],\nlabel.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary.dso-spinner-left::before,\nbutton.dso-secondary.dso-spinner-left::before,\nlabel.dso-secondary.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}\na.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nlabel.dso-secondary.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}\na.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-spinner-right::after,\nbutton.dso-secondary.dso-spinner-right::after,\nlabel.dso-secondary.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}\na.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nlabel.dso-secondary.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}\na.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.download::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.download:hover::after,\nbutton.dso-secondary.download:hover::after,\nlabel.dso-secondary.download:hover::after {\n background-image: url(\"./dso-icons.svg#img-download-wit\");\n}\na.dso-secondary.download[disabled]::after,\nbutton.dso-secondary.download[disabled]::after,\nlabel.dso-secondary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-secondary.extern::after,\nbutton.dso-secondary.extern::after,\nlabel.dso-secondary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.extern:hover::after,\nbutton.dso-secondary.extern:hover::after,\nlabel.dso-secondary.extern:hover::after {\n background-image: url(\"./dso-icons.svg#img-external-link-wit\");\n}\na.dso-secondary.extern[disabled]::after,\nbutton.dso-secondary.extern[disabled]::after,\nlabel.dso-secondary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary,\nbutton.dso-tertiary,\nlabel.dso-tertiary {\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}\na.dso-tertiary:focus, a.dso-tertiary:focus-visible,\nbutton.dso-tertiary:focus,\nbutton.dso-tertiary:focus-visible,\nlabel.dso-tertiary:focus,\nlabel.dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\na.dso-tertiary:active,\nbutton.dso-tertiary:active,\nlabel.dso-tertiary:active {\n outline: 0;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-tertiary[disabled],\nbutton.dso-tertiary[disabled],\nlabel.dso-tertiary[disabled] {\n color: #afcf9d;\n}\na.dso-tertiary[disabled].dso-spinner-left, a.dso-tertiary[disabled].dso-spinner-right,\nbutton.dso-tertiary[disabled].dso-spinner-left,\nbutton.dso-tertiary[disabled].dso-spinner-right,\nlabel.dso-tertiary[disabled].dso-spinner-left,\nlabel.dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\na.dso-tertiary:not([disabled]):hover,\nbutton.dso-tertiary:not([disabled]):hover,\nlabel.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\na.dso-tertiary:not([disabled]):active,\nbutton.dso-tertiary:not([disabled]):active,\nlabel.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\na.dso-tertiary.dso-align,\nbutton.dso-tertiary.dso-align,\nlabel.dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\na.dso-tertiary.dso-truncate,\nbutton.dso-tertiary.dso-truncate,\nlabel.dso-tertiary.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\na.dso-tertiary.dso-spinner-left::before,\nbutton.dso-tertiary.dso-spinner-left::before,\nlabel.dso-tertiary.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}\na.dso-tertiary.dso-spinner-right::after,\nbutton.dso-tertiary.dso-spinner-right::after,\nlabel.dso-tertiary.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}\na.dso-tertiary dso-icon + span:not(.sr-only),\na.dso-tertiary svg.di + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + dso-icon,\na.dso-tertiary span:not(.sr-only) + svg.di,\nbutton.dso-tertiary dso-icon + span:not(.sr-only),\nbutton.dso-tertiary svg.di + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + dso-icon,\nbutton.dso-tertiary span:not(.sr-only) + svg.di,\nlabel.dso-tertiary dso-icon + span:not(.sr-only),\nlabel.dso-tertiary svg.di + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + dso-icon,\nlabel.dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\na.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nbutton.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nlabel.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\na.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\na.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nbutton.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nlabel.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nlabel.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\na.dso-tertiary dso-icon,\na.dso-tertiary svg.di,\na.dso-tertiary span,\nbutton.dso-tertiary dso-icon,\nbutton.dso-tertiary svg.di,\nbutton.dso-tertiary span,\nlabel.dso-tertiary dso-icon,\nlabel.dso-tertiary svg.di,\nlabel.dso-tertiary span {\n vertical-align: middle;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n position: relative;\n top: -2px;\n}\na.dso-tertiary.download::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.download[disabled]::after,\nbutton.dso-tertiary.download[disabled]::after,\nlabel.dso-tertiary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-tertiary.download:not([disabled]):hover::after, a.dso-tertiary.download:not([disabled]):active::after,\nbutton.dso-tertiary.download:not([disabled]):hover::after,\nbutton.dso-tertiary.download:not([disabled]):active::after,\nlabel.dso-tertiary.download:not([disabled]):hover::after,\nlabel.dso-tertiary.download:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-download-scampi\");\n}\na.dso-tertiary.extern::after,\nbutton.dso-tertiary.extern::after,\nlabel.dso-tertiary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.extern[disabled]::after,\nbutton.dso-tertiary.extern[disabled]::after,\nlabel.dso-tertiary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary.extern:not([disabled]):hover::after, a.dso-tertiary.extern:not([disabled]):active::after,\nbutton.dso-tertiary.extern:not([disabled]):hover::after,\nbutton.dso-tertiary.extern:not([disabled]):active::after,\nlabel.dso-tertiary.extern:not([disabled]):hover::after,\nlabel.dso-tertiary.extern:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-external-link-scampi\");\n}\n\na.dso-primary {\n text-decoration: none;\n}\na.dso-primary, a.dso-primary:visited {\n color: #fff;\n}\na.dso-secondary {\n text-decoration: none;\n}\na.dso-secondary, a.dso-secondary:visited {\n color: #39870c;\n}\na.dso-secondary:hover, a.dso-secondary:visited:hover {\n color: #fff;\n}\na.dso-tertiary {\n text-decoration: none;\n}\na.dso-tertiary, a.dso-tertiary:visited {\n color: #39870c;\n}\n\n.dso-primary + .dso-primary,\n.dso-primary + .dso-secondary,\n.dso-primary + .dso-tertiary,\n.dso-secondary + .dso-primary,\n.dso-secondary + .dso-secondary,\n.dso-secondary + .dso-tertiary,\n.dso-tertiary + .dso-primary,\n.dso-tertiary + .dso-secondary,\n.dso-tertiary + .dso-tertiary {\n margin-left: 16px;\n}\n\ndso-annotation-button {\n display: block;\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}";const b=class{constructor(o){n(this,o);this.dsoClick=t(this,"dsoClick",3);this.handleClick=n=>{this.dsoClick.emit({originalEvent:n,open:!this.open})};this.identifier=undefined;this.open=false}render(){return o("button",{type:"button",class:"dso-tertiary","aria-controls":this.identifier,"aria-expanded":this.open.toString(),onClick:this.handleClick},o("dso-icon",{icon:"label"}),o("span",{class:"sr-only"},"Toelichting bekijken"))}};b.style=f;const g=":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}.dso-badge{background-color:#666;border:1px solid #666;border-radius:1em;color:#fff;display:inline-block;font-size:0.875em;line-height:1;min-width:1.5rem;padding:4px 8px;text-align:center}.dso-badge.badge-info{background-color:#6ca4d9;border-color:#6ca4d9;color:#000}.dso-badge.badge-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;border-color:#dcd400;color:#000}.dso-badge.badge-danger{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-error{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;border-color:#191919;color:#191919}.dso-badge.badge-attention{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}";const u=class{constructor(o){n(this,o);this.status=undefined}render(){return o("span",{class:a("dso-badge",{[`badge-${this.status}`]:this.status})},o("slot",null))}};u.style=g;const h=":host{display:inline-block;max-width:100%}*,*::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}.dso-label{background-color:#f2f2f2;border-radius:4px;color:#191919;display:inline-block;line-height:1.5;max-width:100%;padding:4px 8px}.dso-label:focus-within,.dso-label.dso-hover{text-decoration:line-through}.dso-label button{background:none;border:0;border-radius:0 4px 4px 0;color:inherit;float:right;font-size:1rem;margin-bottom:-4px;margin-left:8px;margin-right:-4px;margin-top:0;padding:0}.dso-label button:hover{cursor:pointer}.dso-label button>dso-icon,.dso-label button>svg.di{display:block}.dso-label.dso-label-info{background-color:#6ca4d9;color:#000}.dso-label.dso-label-primary{background-color:#275937;color:#fff}.dso-label.dso-label-success{background-color:#39870c;color:#fff}.dso-label.dso-label-warning{background-color:#dcd400;color:#000}.dso-label.dso-label-danger{background-color:#ce3f51;color:#fff}.dso-label.dso-label-error{background-color:#ce3f51;color:#fff}.dso-label.dso-label-bright{background-color:#fff;color:#191919;outline:1px solid #ccc;outline-offset:-1px}.dso-label.dso-label-attention{background-color:#8b4a6a;color:#fff}.dso-label.dso-compact{padding:0 8px}.dso-label.dso-hover .dso-label-content{text-decoration:line-through}.dso-truncate.dso-label-content{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}:host([removable]) .dso-truncate.dso-label-content{max-width:calc(100% - 28px)}";const y=new ResizeObserver(i.debounce((n=>{n.forEach((({target:n})=>{if(m(n)){n._truncateLabel()}}))}),150));function m(n){return n.tagName==="DSO-LABEL"}function v(n){return n.scrollWidth>n.clientWidth}const x=class{constructor(o){n(this,o);this.dsoRemoveClick=t(this,"dsoRemoveClick",7);this.compact=undefined;this.removable=undefined;this.status=undefined;this.removeHover=undefined;this.removeFocus=undefined;this.truncate=undefined;this.textHover=undefined;this.textFocus=undefined;this.isTruncated=false;this.labelText=""}watchRemovable(n){if(n){this.startMutationObserver()}else{this.stopMutationObserver()}}watchTruncate(n){if(n){this.startTruncate()}else{this.stopTruncate()}}keyDownListener(n){if(n.key==="Escape"){this.textHover=false;this.textFocus=false}}async _truncateLabel(){setTimeout((()=>{this.isTruncated=!!this.labelContent&&v(this.labelContent)}))}syncLabelText(){var n,o;this.labelText=(o=(n=this.host.textContent)===null||n===void 0?void 0:n.trim())!==null&&o!==void 0?o:""}componentDidLoad(){if(this.truncate){this.startTruncate()}if(this.removable){this.startMutationObserver()}}disconnectedCallback(){this.stopTruncate();this.stopMutationObserver(true)}startMutationObserver(){this.mutationObserver=new MutationObserver((()=>this.syncLabelText()));this.mutationObserver.observe(this.host,{characterData:true,childList:true,subtree:true,attributes:true});this.syncLabelText()}stopMutationObserver(n=false){var o;if(n||!(this.truncate&&this.removable)){(o=this.mutationObserver)===null||o===void 0?void 0:o.disconnect();delete this.mutationObserver}}startTruncate(){y.observe(this.host);this.startMutationObserver();this._truncateLabel()}stopTruncate(){y.unobserve(this.host);this.stopMutationObserver();this.isTruncated=false}render(){return o(e,null,o("span",{"aria-describedby":"toggle-anchor",class:a("dso-label",{[`dso-label-${this.status}`]:this.status,"dso-compact":this.compact&&!this.removable,"dso-hover":this.removeHover||this.removeFocus})},o("slot",{name:"symbol"}),o("span",{class:a("dso-label-content",{"dso-truncate":!!this.truncate}),ref:n=>this.labelContent=n,tabindex:this.truncate&&this.isTruncated?0:undefined,onMouseEnter:()=>this.textHover=true,onMouseLeave:()=>this.textHover=false,onFocus:()=>this.textFocus=true,onBlur:()=>this.textFocus=false},o("slot",null)),this.removable&&o("button",{type:"button",onClick:n=>this.dsoRemoveClick.emit(n),onMouseEnter:()=>this.removeHover=true,onMouseLeave:()=>this.removeHover=false,onFocus:()=>this.removeFocus=true,onBlur:()=>this.removeFocus=false},o("span",{class:"sr-only"},"Verwijder: ",this.labelText),o("dso-icon",{icon:"times"}))),this.isTruncated&&o("dso-tooltip",{stateless:true,id:"toggle-anchor",active:this.textHover||this.textFocus,position:"top",strategy:"absolute"},this.labelText))}get host(){return r(this)}static get watchers(){return{removable:["watchRemovable"],truncate:["watchTruncate"]}}};x.style=h;function k(n){if(n instanceof Element){return n.localName}if(n.nodeName.includes(":")){return n.nodeName.substring(n.nodeName.indexOf(":")+1)}return n.nodeName}class w{constructor(){this.name="Al"}render(n,{mapNodeToJsx:t,path:e}){const r=e.some((n=>{const o=k(n);return o==="Al"||o==="Opschrift"}));const s=t(n.childNodes);return r?o("span",{role:"paragraph"},s):o("p",null,s)}}class B{constructor(){this.name="Bron"}render(n,{mapNodeToJsx:t}){return o("span",{class:"dso-ozon-bron"},t(n.childNodes))}}class D{constructor(){this.name="#document"}render(n,{mapNodeToJsx:t}){return o(e,null,t(n.childNodes))}}class E{constructor(){this.name=["ExtRef","ExtIoRef"]}render(n,{mapNodeToJsx:t}){const e=n.tagName==="ExtIoRef"?n.getAttribute("href"):n.getAttribute("ref");return o("a",{target:"_blank",rel:"noopener noreferrer",href:e!==null&&e!==void 0?e:undefined},o("span",{class:"sr-only"},"opent in nieuw venster "),t(n.childNodes))}}class C{constructor(){this.name=["<fallback>"]}render(n,{mapNodeToJsx:t}){return o("span",{class:`fallback od-${k(n)}`},t(n.childNodes))}}const j=({bijschrift:n,bron:t,mapNodeToJsx:r})=>o("span",{class:"figuur-bijschrift"},n&&n.inhoud&&r(n.inhoud),t&&o(e,null,`${n?" ":""}(bron: `,r(t),")"));class T{constructor(){this.name=["Figuur"]}setImageDimensions(n,o){const{naturalHeight:t,naturalWidth:e}=n;n.height=t*(o/100);n.width=e*(o/100)}onImageLoad(n,o){if(n.target instanceof HTMLImageElement&&o){this.setImageDimensions(n.target,o)}}render(n,{mapNodeToJsx:t}){var e,r,s,a,i,d;const l=Array.from(n.childNodes);const c=(e=l.find((n=>k(n)==="Titel")))===null||e===void 0?void 0:e.textContent;const p=l.find((n=>k(n)==="Bron"));const f=l.find((n=>k(n)==="Illustratie"));const b=l.find((n=>k(n)==="Bijschrift"));if(f instanceof Element){const n={naam:f.getAttribute("naam"),breedte:f.getAttribute("breedte"),hoogte:f.getAttribute("hoogte"),uitlijning:f.getAttribute("uitlijning"),alt:f.getAttribute("alt"),schaal:f.getAttribute("schaal")};const e=b instanceof Element?{inhoud:b.childNodes,locatie:(r=b.getAttribute("locatie"))!==null&&r!==void 0?r:"onder"}:undefined;return o("div",{class:`dso-ozon-figuur ${e?`bijschrift-${e.locatie}`:"onder"}`},c&&o("span",{class:"figuur-titel"},c),(e===null||e===void 0?void 0:e.locatie)==="boven"&&o(j,{bijschrift:e,bron:p,mapNodeToJsx:t}),o("dso-image-overlay",null,c&&o("div",{slot:"titel"},o("span",null,c)),o("img",{src:(s=n.naam)!==null&&s!==void 0?s:undefined,alt:(d=(i=(a=n.alt)!==null&&a!==void 0?a:c)!==null&&i!==void 0?i:n.naam)!==null&&d!==void 0?d:undefined,onLoad:o=>this.onImageLoad(o,Number(n.schaal))}),(e||p)&&o("div",{slot:"bijschrift"},o(j,{bijschrift:e,bron:p,mapNodeToJsx:t}))),((e===null||e===void 0?void 0:e.locatie)==="onder"||!e&&p)&&o(j,{bijschrift:e,bron:p,mapNodeToJsx:t}))}}}class N{constructor(){this.name=["Inhoud","ContainerBlocksType","BlockMixedcontentMetMaximaleInlinesMarkersPopupsType"]}render(n,{mapNodeToJsx:t}){return o("div",{class:"dso-rich-content"},t(n.childNodes))}}class z{constructor(){this.name=["InlineTekstAfbeelding","Illustratie"]}render(n){var t,e,r,s;return o("img",{src:(t=n.getAttribute("naam"))!==null&&t!==void 0?t:undefined,alt:(e=n.getAttribute("naam"))!==null&&e!==void 0?e:undefined,height:(r=n.getAttribute("hoogte"))!==null&&r!==void 0?r:undefined,width:(s=n.getAttribute("breedte"))!==null&&s!==void 0?s:undefined})}}class L{constructor(){this.name=["sub","sup","strong","b","u","i","br"]}render(n,{mapNodeToJsx:t}){if(n.localName==="br"){return o("br",null)}const e=n.localName;return o(e,null,t(n.childNodes))}}class A{constructor(){this.name="IntIoRef"}render(n,{mapNodeToJsx:t,emitAnchorClick:e}){const r=n.getAttribute("ref");if(!r){return t(n.childNodes)}const s=n=>{n.preventDefault();const o=n.currentTarget;if(!(o instanceof HTMLAnchorElement)){return}const{href:t}=o;e({node:this.name,href:t,documentComponent:r,originalEvent:n})};return o("a",{href:`#${r}`,onClick:s},t(n.childNodes))}}class I{constructor(){this.name="IntRef"}render(n,{mapNodeToJsx:t,emitAnchorClick:e}){const r=n.getAttribute("ref");if(!r){return t(n.childNodes)}const s=n=>{n.preventDefault();const o=n.currentTarget;if(!(o instanceof HTMLAnchorElement)){return}const{href:t}=o;e({node:this.name,href:t,documentComponent:r,originalEvent:n})};return o("a",{href:`#${r}`,onClick:s},t(n.childNodes))}}class J{constructor(){this.name="Lijst"}render(n,{mapNodeToJsx:t}){var e;const r=Array.from(n.childNodes);const s=r.find((n=>k(n)==="Lijstaanhef"));const a=r.find((n=>k(n)==="Lijstsluiting"));const i=r.filter((n=>k(n)==="Li"));return o("div",{class:"dso-ozon-lijst od-Lijst"},s&&t(s),o("ul",{class:(e=n.getAttribute("type"))!==null&&e!==void 0?e:""},i.map((n=>{var e;const r=Array.from(n.childNodes);const s=(e=r.find((n=>k(n)==="LiNummer")))===null||e===void 0?void 0:e.childNodes;return o("li",{class:"od-Li"},s&&o("span",{class:"od-LiNummer"},t(s)),t(r.filter((n=>k(n)!=="LiNummer"))))}))),a&&t(a))}}class M{constructor(){this.name="NieuweTekst"}render(n,{mapNodeToJsx:t}){return o("ins",null,t(n.childNodes))}}class R{constructor(){this.name="Noot";this.handles=["NootNummer"]}identify(){return"Noot"}render(n,{mapNodeToJsx:t,state:r,setState:s}){var a,i;const d=n.getAttribute("id");if(!d){console.error("Noot node without id",n);return o(e,null)}const l=`dso-ozon-note-${d}`;const c=Array.from(n.childNodes);const p=(i=(a=c.find((n=>k(n)==="NootNummer")))===null||a===void 0?void 0:a.textContent)!==null&&i!==void 0?i:d;return o(e,null,o("sup",null,o("button",{type:"button",class:"toggle-note","aria-describedby":l,onClick:()=>s===null||s===void 0?void 0:s(r===d?undefined:d),onBlur:()=>s===null||s===void 0?void 0:s(undefined),"aria-expanded":r===d?"true":"false"},p)),o("dso-tooltip",{active:r===d,id:l,stateless:true,descriptive:true},o("span",{role:"section"},t(Array.from(n.querySelectorAll(":scope > Al"))))))}}class O{constructor(){this.name="Opschrift"}render(n,{mapNodeToJsx:t}){return o(e,null,t(n.childNodes))}}function $(n,o){const t=Array.from(o);const e=_(t);return{totalWidth:e,count:n,columns:t.map(((n,o)=>{var t;const r=n.getAttribute("colnum");return{name:(t=n.getAttribute("colname"))!==null&&t!==void 0?t:"",number:r?parseInt(r,10):o+1,width:S(e,n)}}))}}function _(n){return n.reduce(((n,o)=>{var t,e;const r=(e=(t=o.getAttribute("colwidth"))===null||t===void 0?void 0:t.replace(/[^0-9]/,""))!==null&&e!==void 0?e:"";const s=parseInt(r,10);return n+(isNaN(s)?0:s)}),0)}function S(n,o){const t=o.getAttribute("colwidth");if(!t){return undefined}if(t==="*"){return"100%"}if(t.includes("*")||t.match(/^[\d+]$/)){const o=parseInt(t.replace(/[^0-9]/,""),10);return`${Math.round(o/n*100)}%`}return t}const H=({colspecs:n})=>n.columns.length>0?o("colgroup",null,n.columns.map((n=>o("col",{style:{width:n.width}})))):o(e,null);function F(n){return{moreRows:n.getAttribute("morerows"),nameStart:n.getAttribute("namest"),nameEnd:n.getAttribute("nameend")}}function W({columns:n},o,t){const e=n.find((n=>n.name===o));const r=n.find((n=>n.name===t));if(!e||!r){return undefined}const s=r.number-e.number+1;return s===1?undefined:s}const P=({context:{mapNodeToJsx:n},colspecs:t,cell:e})=>{const{moreRows:r,nameStart:s,nameEnd:a}=F(e);const i={rowSpan:r?parseInt(r,10)+1:undefined,colSpan:t&&s&&a?W(t,s,a):undefined};return o("td",Object.assign({},i),n(e.childNodes))};const V=({context:n,colspecs:t,rows:r})=>o(e,null,r.map((e=>o("tr",null,Array.from(e.children).map((e=>o(P,{cell:e,colspecs:t,context:n})))))));function q(n){var o,t,e;const r=n.querySelector(":scope > tgroup");const s=(o=r===null||r===void 0?void 0:r.getAttribute("cols"))!==null&&o!==void 0?o:undefined;const a=s?parseInt(s,10):undefined;return{caption:(e=(t=n.querySelector(":scope > title"))===null||t===void 0?void 0:t.textContent)!==null&&e!==void 0?e:undefined,colspecs:r&&a?$(a,r.querySelectorAll(":scope > colspec")):undefined,headRows:Array.from(n.querySelectorAll(":scope > tgroup > thead > row")),bodyRows:Array.from(n.querySelectorAll(":scope > tgroup > tbody > row")),editAction:n.getAttribute("wijzigactie")}}class G{constructor(){this.name="table";this.handles=["title","tgroup","colspec","thead","tbody","row","cell"];this.id=l()}render(n,t){const{caption:e,colspecs:r,headRows:s,bodyRows:i,editAction:d}=q(n);const l=Array.from(n.childNodes).find((n=>k(n)==="Bron"));return o("dso-table",null,o("table",Object.assign({class:a("table dso-table-vertical-lines",{"dso-del":d==="verwijder","dso-ins":d==="voegtoe"})},l?{"aria-describedby":this.id}:{}),e&&o("caption",null,e),r&&o(H,{colspecs:r}),s.length>0&&o("thead",null,o(V,{rows:s,colspecs:r,context:t})),i.length>0&&o("tbody",null,o(V,{rows:i,colspecs:r,context:t}))),l&&o("div",{id:this.id},t.mapNodeToJsx(l)))}}class K{constructor(){this.name="#text"}render(n){return o(e,null,n.textContent)}}class Q{constructor(){this.name="VerwijderdeTekst"}render(n,{mapNodeToJsx:t}){return o("del",null,t(n.childNodes))}}class U{constructor(){this.mappers=[new K,new D,new N,new O,new I,new E,new w,new L,new z,new R,new G,new A,new T,new J,new B,new M,new Q];this.skip=this.mappers.reduce(((n,o)=>{if(o.handles){n.push(...o.handles)}return n}),[]);this.fallbackNode=new C;this.domParser=new DOMParser}findMapper(n){var o;if(this.skip.includes(n)){return undefined}return(o=this.mappers.find((o=>{if(Array.isArray(o.name)){return o.name.includes(n)}return o.name===n})))!==null&&o!==void 0?o:this.fallbackNode}mapNodeToJsx(n,t,r){var s;if(n instanceof NodeList){return o(e,null,Array.from(n).map((n=>this.mapNodeToJsx(n,t,r))))}if(Array.isArray(n)){return o(e,null,n.map((n=>this.mapNodeToJsx(n,t,r))))}const a=k(n);const i=this.findMapper(a);if(!i){return o(e,null)}const d=(s=i.identify)===null||s===void 0?void 0:s.call(i,n);const l=d?t.state[d]:undefined;const c=d?n=>t.setState(Object.assign(Object.assign({},t.state),{[d]:n})):undefined;return i.render(n,{mapNodeToJsx:o=>this.mapNodeToJsx(o,t,[...r,n]),emitAnchorClick:t.emitAnchorClick,setState:c,state:l,path:r})}transform(n,t){if(!n){return o(e,null)}if(!this.cache||this.cache.xml!==n){const t=this.domParser.parseFromString(n,"text/xml");if(t.querySelector("html > body > parsererror")){console.error(t);return o(e,null)}this.cache={xml:n,document:t}}const r=this.cache.document;return this.mapNodeToJsx(r.getRootNode(),t,[])}}const X="ins {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n text-decoration: none;\n}\n\ndel {\n background-color: #f5d8dc;\n color: #000;\n}\n\n:host(:not([inline])) {\n display: block;\n}\n\n:host([inline]) {\n display: inline;\n}\n\n:host([deleted]) * {\n text-decoration: line-through !important;\n}\n\n:host([interactive]) {\n background-color: transparent;\n color: var(--link-color);\n text-decoration: underline;\n cursor: pointer;\n color: #275937;\n font-weight: 600;\n text-decoration: none;\n}\n:host([interactive]):hover, :host([interactive]):focus {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\n:host([interactive]):active {\n text-decoration: none;\n}\n\n:host([interactive=sub]) {\n color: #191919;\n}\n\n.sr-only,\n.deleted-start,\n.deleted-end {\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\nbutton.toggle-note {\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}\nbutton.toggle-note:focus, button.toggle-note:focus-visible {\n outline-offset: 2px;\n}\nbutton.toggle-note:active {\n outline: 0;\n}\nbutton.toggle-note[disabled] {\n color: #afcf9d;\n}\nbutton.toggle-note[disabled].dso-spinner-left, button.toggle-note[disabled].dso-spinner-right {\n color: #39870c;\n}\nbutton.toggle-note:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\nbutton.toggle-note:not([disabled]):active {\n color: #173521;\n}\nbutton.toggle-note.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\nbutton.toggle-note.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\nbutton.toggle-note.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}\nbutton.toggle-note.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}\nbutton.toggle-note dso-icon + span:not(.sr-only),\nbutton.toggle-note svg.di + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + dso-icon,\nbutton.toggle-note span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\nbutton.toggle-note svg.di.di-chevron-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-chevron-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\nbutton.toggle-note dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.toggle-note dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-up,\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\nbutton.toggle-note dso-icon,\nbutton.toggle-note svg.di,\nbutton.toggle-note span {\n vertical-align: middle;\n}\n\nspan[role=section],\nspan[role=paragraph] {\n display: block;\n}\n\n:host(:not([inline])) .fallback {\n display: block;\n}\n\na {\n background-color: transparent;\n color: var(--link-color);\n text-decoration: underline;\n}\na:hover, a:focus {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\na:active {\n text-decoration: none;\n}\na:visited {\n color: var(--link-visited-color);\n}\n\n.od-Term {\n font-weight: 700;\n}\n\n.od-Definitie,\n.od-Tussenkop {\n font-style: italic;\n}\n\n.od-Inhoud,\n.od-Inhoud > .od-Lijst,\n.od-IntIoRef,\n.od-Lidnr,\n.od-LiNr,\n.od-Opschrift,\n.od-Tussenkop {\n display: inline;\n}\n\n.od-Al {\n margin-bottom: 0.75em;\n}\n\n.od-IntIoRef {\n border-bottom: 1px dotted;\n}\n\n.dso-ozon-bron {\n font-style: italic;\n font-size: 0.75rem;\n}\n\n.dso-ozon-figuur {\n margin-bottom: 16px;\n}\n.dso-ozon-figuur .figuur-bijschrift {\n display: block;\n font-size: 0.75rem;\n font-style: italic;\n}\n.dso-ozon-figuur.bijschrift-boven .figuur-bijschrift {\n padding-bottom: 0.25rem;\n}\n.dso-ozon-figuur.bijschrift-onder .figuur-bijschrift {\n padding-top: 0.25rem;\n}\n.dso-ozon-figuur .figuur-titel {\n color: #8b4a6a;\n display: block;\n font-weight: 500;\n padding-bottom: 0.5rem;\n}\n\n.dso-ozon-lijst span.od-Lijstaanhef,\n.dso-ozon-lijst span.od-Lijstsluiting {\n margin-bottom: 1rem;\n}\n.dso-ozon-lijst ul.expliciet {\n list-style: none;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li {\n position: relative;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li > span.od-LiNummer {\n position: absolute;\n left: -44px;\n text-align: right;\n width: 40px;\n}\n\n.od-Tabel thead {\n font-weight: 600;\n}\n\n.od-Kadertekst {\n border: 1px solid #e5e5e5;\n margin-bottom: 1rem;\n padding: 1rem;\n}\n\n.dso-del {\n background-color: #f5d8dc;\n color: #000;\n text-decoration: line-through;\n}\n.dso-del a {\n color: #000;\n}\n\n.dso-ins {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n}\n.dso-ins a {\n color: #000;\n}\n\n.dso-rich-content p {\n margin: 0 0 16px;\n}\n.dso-rich-content ul,\n.dso-rich-content ol {\n margin-bottom: 16px;\n}\n.dso-rich-content ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\n.dso-rich-content ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\n.dso-rich-content pre {\n margin: 0 0 16px;\n}\n.dso-rich-content blockquote {\n padding: 16px 24px;\n}\n.dso-rich-content dso-highlight-box,\n.dso-rich-content .dso-highlight-box {\n margin-bottom: 24px;\n}\n.dso-rich-content img {\n height: auto;\n max-width: 100%;\n}";const Y=class{constructor(o){n(this,o);this.dsoAnchorClick=t(this,"dsoAnchorClick",7);this.dsoClick=t(this,"dsoClick",7);this.mapper=new U;this.content=undefined;this.inline=false;this.deleted=false;this.interactive=false;this.state={}}handleHostOnClick(n){if(this.interactive!==""&&!this.interactive){return}const o=n.composedPath().find((n=>n===this.host||n instanceof HTMLElement&&d(n)))===this.host;if(o){this.dsoClick.emit({originalEvent:n})}}render(){var n;const t={state:this.state,setState:n=>this.state=n,emitAnchorClick:this.dsoAnchorClick.emit};const e=this.mapper.transform((n=this.content)!==null&&n!==void 0?n:"",t);if(this.deleted){return o("section",null,o("slot",{name:"prefix"}),o("span",{class:"deleted-start"},"Begin verwijderd element"),e,o("span",{class:"deleted-end"},"Einde verwijderd element"),o("slot",{name:"suffix"}))}return o(s,{onClick:n=>this.handleHostOnClick(n)},o("slot",{name:"prefix"}),e,o("slot",{name:"suffix"}))}get host(){return r(this)}};Y.style=X;export{p as dso_alert,b as dso_annotation_button,u as dso_badge,x as dso_label,Y as dso_ozon_content};
|
|
2
|
-
//# sourceMappingURL=p-8af61320.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["alertCss","Alert","render","status","statusMap","get","this","Error","h","class","clsx","role","roleAlert","undefined","icon","Map","annotationButtonCss","AnnotationButton","handleClick","e","dsoClick","emit","originalEvent","open","type","identifier","toString","onClick","badgeCss","Badge","labelCss","resizeObserver","ResizeObserver","debounce","entries","forEach","target","isDsoLabelComponent","_truncateLabel","element","tagName","hasEllipses","el","scrollWidth","clientWidth","Label","watchRemovable","removable","startMutationObserver","stopMutationObserver","watchTruncate","truncate","startTruncate","stopTruncate","keyDownListener","event","key","textHover","textFocus","setTimeout","isTruncated","labelContent","syncLabelText","labelText","_b","_a","host","textContent","trim","componentDidLoad","disconnectedCallback","mutationObserver","MutationObserver","observe","characterData","childList","subtree","attributes","force","disconnect","unobserve","Fragment","compact","removeHover","removeFocus","name","ref","tabindex","onMouseEnter","onMouseLeave","onFocus","onBlur","dsoRemoveClick","stateless","id","active","position","strategy","getNodeName","node","Element","localName","nodeName","includes","substring","indexOf","OzonContentAlNode","constructor","mapNodeToJsx","path","nestedAl","some","n","content","childNodes","OzonContentBronNode","OzonContentDocumentNode","OzonContentExtRefNode","href","getAttribute","rel","OzonContentFallbackNode","Bijschrift","bijschrift","bron","inhoud","OzonContentFiguurNode","setImageDimensions","imageElement","schaal","naturalHeight","naturalWidth","height","width","onImageLoad","HTMLImageElement","Array","from","titel","find","illustratieNode","bijschriftNode","illustratie","naam","breedte","hoogte","uitlijning","alt","locatie","slot","src","_c","_f","_e","_d","onLoad","Number","OzonContentInhoudNode","OzonContentInlineTekstAfbeeldingNode","OzonContentInlineNodes","Tag","OzonContentIntIoRefNode","emitAnchorClick","intRefOnClick","preventDefault","currentTarget","HTMLAnchorElement","documentComponent","OzonContentIntRefNode","OzonContentLijstNode","aanhef","sluiting","listItems","filter","map","item","itemNodes","liNummer","OzonContentNieuweTekstNode","OzonContentNootNode","handles","identify","state","openNoteId","setState","noteId","console","error","noteControlsId","nootNummer","descriptive","querySelectorAll","OzonContentOpschriftNode","mapColspecs","count","nodeList","elements","totalWidth","getTotalWidth","columns","index","colNumber","number","parseInt","getWidth","reduce","replace","colWidth","isNaN","match","Math","round","Colgroup","colspecs","length","colspec","style","getData","cell","moreRows","nameStart","nameEnd","getColspan","colspecStart","c","colspecEnd","colspan","Cell","context","td","rowSpan","colSpan","Object","assign","Rows","rows","row","children","mapData","tgroup","querySelector","colAttribute","columnCount","caption","headRows","bodyRows","editAction","OzonContentTableNode","uuidv4","OzonContentTextNode","OzonContentVerwijderdeTekstNode","Mapper","mappers","skip","t","m","push","fallbackNode","domParser","DOMParser","findMapper","isArray","NodeList","mapper","identity","call","s","transform","xml","cache","document","parseFromString","xmlDocument","getRootNode","ozonContentCss","OzonContent","handleHostOnClick","interactive","doIt","composedPath","eventTarget","HTMLElement","isTabbable","dsoAnchorClick","transformed","deleted","Host"],"sources":["src/components/alert/alert.scss?tag=dso-alert&encapsulation=shadow","src/components/alert/alert.tsx","src/components/annotation-button/annotation-button.scss?tag=dso-annotation-button","src/components/annotation-button/annotation-button.tsx","src/components/badge/badge.scss?tag=dso-badge&encapsulation=shadow","src/components/badge/badge.tsx","src/components/label/label.scss?tag=dso-label&encapsulation=shadow","src/components/label/label.tsx","src/components/ozon-content/get-node-name.function.ts","src/components/ozon-content/nodes/al.node.tsx","src/components/ozon-content/nodes/bron.node.tsx","src/components/ozon-content/nodes/document.node.tsx","src/components/ozon-content/nodes/ext-ref.node.tsx","src/components/ozon-content/nodes/fallback.node.tsx","src/components/ozon-content/nodes/figuur.node.tsx","src/components/ozon-content/nodes/inhoud.node.tsx","src/components/ozon-content/nodes/inline-tekst-afbeelding.node.tsx","src/components/ozon-content/nodes/inline.nodes.tsx","src/components/ozon-content/nodes/int-io-ref.node.tsx","src/components/ozon-content/nodes/int-ref.node.tsx","src/components/ozon-content/nodes/lijst.node.tsx","src/components/ozon-content/nodes/nieuwe-tekst.node.tsx","src/components/ozon-content/nodes/noot.node.tsx","src/components/ozon-content/nodes/opschrift.node.tsx","src/components/ozon-content/nodes/table.node/colspec/colspec-mapper.ts","src/components/ozon-content/nodes/table.node/table-colgroup.tsx","src/components/ozon-content/nodes/table.node/table-cell.tsx","src/components/ozon-content/nodes/table.node/table-rows.tsx","src/components/ozon-content/nodes/table.node/table.node.tsx","src/components/ozon-content/nodes/text.node.tsx","src/components/ozon-content/nodes/verwijderde-tekst.node.tsx","src/components/ozon-content/ozon-content-mapper.tsx","src/components/ozon-content/ozon-content.scss?tag=dso-ozon-content&encapsulation=shadow","src/components/ozon-content/ozon-content.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/alert\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host(:not(:first-child)) {\r\n margin-top: units.$u3;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.alert {\r\n @include alert.root();\r\n\r\n dso-icon {\r\n @include alert.icon-position();\r\n\r\n height: units.$u4;\r\n width: units.$u4;\r\n }\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-alert\",\r\n styleUrl: \"alert.scss\",\r\n shadow: true,\r\n})\r\nexport class Alert {\r\n /**\r\n * Set status of alert\r\n */\r\n @Prop()\r\n status!: \"success\" | \"info\" | \"warning\" | \"error\";\r\n\r\n /**\r\n * Whether or not to show the role attribute with value \"alert\". To control the tooltip add the `role-alert` attribute.\r\n */\r\n @Prop()\r\n roleAlert?: boolean;\r\n\r\n private static statusMap = new Map<string, string>([\r\n [\"success\", \"Gelukt\"],\r\n [\"info\", \"Opmerking\"],\r\n [\"warning\", \"Waarschuwing\"],\r\n [\"error\", \"Fout\"],\r\n ]);\r\n\r\n render() {\r\n const status = Alert.statusMap.get(this.status);\r\n if (!status) {\r\n throw new Error(`Invalid status ${this.status}`);\r\n }\r\n\r\n return (\r\n <div class={clsx(\"alert\", `alert-${this.status}`)} role={this.roleAlert ? \"alert\" : undefined}>\r\n <dso-icon icon={\"status-\" + this.status}></dso-icon>\r\n <span class=\"sr-only\">{status}:</span>\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n\r\ndso-annotation-button {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { h, Component, ComponentInterface, Event, Prop, EventEmitter } from \"@stencil/core\";\r\n\r\nexport interface AnnotationButtonClickEvent {\r\n originalEvent: Event;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-annotation-button\",\r\n styleUrl: \"annotation-button.scss\",\r\n // No shadowdom for a11y reasons (aria-controls pointing to element inside another component)\r\n})\r\nexport class AnnotationButton implements ComponentInterface {\r\n /**\r\n * To link the Annotation Button with `aria-controls` to a different element, most likely an Annotation Output.\r\n */\r\n @Prop()\r\n identifier!: string | undefined;\r\n\r\n /**\r\n * Set to true when the annotation is open.\r\n */\r\n @Prop()\r\n open = false;\r\n\r\n /**\r\n * Emitted when user activates the button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoClick!: EventEmitter<AnnotationButtonClickEvent>;\r\n\r\n private handleClick = (e: MouseEvent) => {\r\n this.dsoClick.emit({ originalEvent: e, open: !this.open });\r\n };\r\n\r\n render() {\r\n return (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n aria-controls={this.identifier}\r\n aria-expanded={this.open.toString()}\r\n onClick={this.handleClick}\r\n >\r\n <dso-icon icon=\"label\"></dso-icon>\r\n <span class=\"sr-only\">Toelichting bekijken</span>\r\n </button>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/badge\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-badge {\r\n @include badge.root();\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-badge\",\r\n styleUrl: \"badge.scss\",\r\n shadow: true,\r\n})\r\nexport class Badge {\r\n /**\r\n * The status of the Badge.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\" | \"outline\" | \"attention\";\r\n\r\n render() {\r\n return (\r\n <span class={clsx(\"dso-badge\", { [`badge-${this.status}`]: this.status })}>\r\n <slot></slot>\r\n </span>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/label\";\r\n\r\n:host {\r\n display: inline-block;\r\n max-width: 100%;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-label {\r\n @include label.root();\r\n\r\n &.dso-hover {\r\n .dso-label-content {\r\n text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n.dso-truncate.dso-label-content {\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n vertical-align: bottom;\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n}\r\n\r\n:host([removable]) {\r\n .dso-truncate.dso-label-content {\r\n max-width: calc(100% - (units.$u3 + 4px));\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { debounce } from \"debounce\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce((entries) => {\r\n entries.forEach(({ target }) => {\r\n if (isDsoLabelComponent(target)) {\r\n target._truncateLabel();\r\n }\r\n });\r\n }, 150)\r\n);\r\n\r\nfunction isDsoLabelComponent(element: Element): element is HTMLDsoLabelElement {\r\n return element.tagName === \"DSO-LABEL\";\r\n}\r\n\r\nfunction hasEllipses(el: HTMLElement): boolean {\r\n return el.scrollWidth > el.clientWidth;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-label\",\r\n styleUrl: \"label.scss\",\r\n shadow: true,\r\n})\r\nexport class Label implements ComponentInterface {\r\n private labelContent: HTMLSpanElement | undefined;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n private host!: HTMLDsoLabelElement;\r\n\r\n /**\r\n * For compact Label\r\n */\r\n @Prop()\r\n compact?: boolean;\r\n\r\n /**\r\n * Shows a button that can be used to remove the Label.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * The status of this Label.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"error\" | \"bright\" | \"attention\";\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<MouseEvent>;\r\n\r\n @State()\r\n removeHover?: boolean;\r\n\r\n @State()\r\n removeFocus?: boolean;\r\n\r\n /**\r\n * Whether the Label is allowed to truncate the contents if it does not fit the container element.\r\n */\r\n @Prop()\r\n truncate?: boolean;\r\n\r\n @State()\r\n textHover?: boolean;\r\n\r\n @State()\r\n textFocus?: boolean;\r\n\r\n @State()\r\n isTruncated = false;\r\n\r\n @State()\r\n labelText = \"\";\r\n\r\n @Watch(\"removable\")\r\n watchRemovable(removable: boolean) {\r\n if (removable) {\r\n this.startMutationObserver();\r\n } else {\r\n this.stopMutationObserver();\r\n }\r\n }\r\n\r\n @Watch(\"truncate\")\r\n watchTruncate(truncate: boolean) {\r\n if (truncate) {\r\n this.startTruncate();\r\n } else {\r\n this.stopTruncate();\r\n }\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.key === \"Escape\") {\r\n this.textHover = false;\r\n this.textFocus = false;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _truncateLabel() {\r\n setTimeout(() => {\r\n this.isTruncated = !!this.labelContent && hasEllipses(this.labelContent);\r\n });\r\n }\r\n\r\n private syncLabelText() {\r\n this.labelText = this.host.textContent?.trim() ?? \"\";\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.truncate) {\r\n this.startTruncate();\r\n }\r\n\r\n if (this.removable) {\r\n this.startMutationObserver();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopTruncate();\r\n\r\n this.stopMutationObserver(true);\r\n }\r\n\r\n /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */\r\n private startMutationObserver(): void {\r\n this.mutationObserver = new MutationObserver(() => this.syncLabelText());\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n this.syncLabelText();\r\n }\r\n\r\n private stopMutationObserver(force = false): void {\r\n if (force || !(this.truncate && this.removable)) {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n }\r\n\r\n private startTruncate(): void {\r\n resizeObserver.observe(this.host);\r\n this.startMutationObserver();\r\n this._truncateLabel();\r\n }\r\n\r\n private stopTruncate(): void {\r\n resizeObserver.unobserve(this.host);\r\n this.stopMutationObserver();\r\n this.isTruncated = false;\r\n }\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <span\r\n aria-describedby=\"toggle-anchor\"\r\n class={clsx(\"dso-label\", {\r\n [`dso-label-${this.status}`]: this.status,\r\n \"dso-compact\": this.compact && !this.removable,\r\n \"dso-hover\": this.removeHover || this.removeFocus,\r\n })}\r\n >\r\n <slot name=\"symbol\"></slot>\r\n <span\r\n class={clsx(\"dso-label-content\", {\r\n \"dso-truncate\": !!this.truncate,\r\n })}\r\n ref={(element) => (this.labelContent = element)}\r\n tabindex={this.truncate && this.isTruncated ? 0 : undefined}\r\n onMouseEnter={() => (this.textHover = true)}\r\n onMouseLeave={() => (this.textHover = false)}\r\n onFocus={() => (this.textFocus = true)}\r\n onBlur={() => (this.textFocus = false)}\r\n >\r\n <slot></slot>\r\n </span>\r\n {this.removable && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoRemoveClick.emit(e)}\r\n onMouseEnter={() => (this.removeHover = true)}\r\n onMouseLeave={() => (this.removeHover = false)}\r\n onFocus={() => (this.removeFocus = true)}\r\n onBlur={() => (this.removeFocus = false)}\r\n >\r\n <span class=\"sr-only\">Verwijder: {this.labelText}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n )}\r\n </span>\r\n {this.isTruncated && (\r\n <dso-tooltip\r\n stateless\r\n id=\"toggle-anchor\"\r\n active={this.textHover || this.textFocus}\r\n position=\"top\"\r\n strategy=\"absolute\"\r\n >\r\n {this.labelText}\r\n </dso-tooltip>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","export function getNodeName(node: Node): string {\r\n if (node instanceof Element) {\r\n return node.localName;\r\n }\r\n\r\n if (node.nodeName.includes(\":\")) {\r\n return node.nodeName.substring(node.nodeName.indexOf(\":\") + 1);\r\n }\r\n\r\n return node.nodeName;\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentAlNode implements OzonContentNode {\r\n name = \"Al\";\r\n\r\n render(node: Element, { mapNodeToJsx, path }: OzonContentNodeContext) {\r\n const nestedAl = path.some((n) => {\r\n const nodeName = getNodeName(n);\r\n\r\n return nodeName === \"Al\" || nodeName === \"Opschrift\";\r\n });\r\n\r\n const content = mapNodeToJsx(node.childNodes);\r\n\r\n return nestedAl ? <span role=\"paragraph\">{content}</span> : <p>{content}</p>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentBronNode implements OzonContentNode {\r\n name = \"Bron\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class=\"dso-ozon-bron\">{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentDocumentNode implements OzonContentNode {\r\n name = \"#document\";\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <Fragment>{mapNodeToJsx(node.childNodes)}</Fragment>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentExtRefNode implements OzonContentNode {\r\n name = [\"ExtRef\", \"ExtIoRef\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const href = node.tagName === \"ExtIoRef\" ? node.getAttribute(\"href\") : node.getAttribute(\"ref\");\r\n\r\n return (\r\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={href ?? undefined}>\r\n <span class=\"sr-only\">opent in nieuw venster </span>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentFallbackNode implements OzonContentNode {\r\n // This name does not match any elements\r\n name = [\"<fallback>\"];\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class={`fallback od-${getNodeName(node)}`}>{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\ntype BijschriftProps = {\r\n bijschrift?: IBijschrift;\r\n bron?: ChildNode;\r\n mapNodeToJsx: (node: Node | NodeList | Node[]) => JSX.Element;\r\n};\r\n\r\ninterface IBijschrift {\r\n inhoud: NodeListOf<ChildNode>;\r\n locatie: string;\r\n}\r\n\r\nconst Bijschrift = ({ bijschrift, bron, mapNodeToJsx }: BijschriftProps): HTMLSpanElement => {\r\n return (\r\n <span class=\"figuur-bijschrift\">\r\n {bijschrift && bijschrift.inhoud && mapNodeToJsx(bijschrift.inhoud)}\r\n {bron && (\r\n <Fragment>\r\n {`${bijschrift ? \" \" : \"\"}(bron: `}\r\n {mapNodeToJsx(bron)})\r\n </Fragment>\r\n )}\r\n </span>\r\n );\r\n};\r\n\r\nexport class OzonContentFiguurNode implements OzonContentNode {\r\n name = [\"Figuur\"];\r\n\r\n setImageDimensions(imageElement: HTMLImageElement, schaal: number) {\r\n const { naturalHeight, naturalWidth } = imageElement;\r\n\r\n imageElement.height = naturalHeight * (schaal / 100);\r\n imageElement.width = naturalWidth * (schaal / 100);\r\n }\r\n\r\n onImageLoad(event: Event, schaal?: number) {\r\n if (event.target instanceof HTMLImageElement && schaal) {\r\n this.setImageDimensions(event.target, schaal);\r\n }\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const titel = childNodes.find((n) => getNodeName(n) === \"Titel\")?.textContent;\r\n const bron = childNodes.find((n) => getNodeName(n) === \"Bron\");\r\n\r\n const illustratieNode = childNodes.find((n) => getNodeName(n) === \"Illustratie\");\r\n const bijschriftNode = childNodes.find((n) => getNodeName(n) === \"Bijschrift\");\r\n\r\n if (illustratieNode instanceof Element) {\r\n const illustratie = {\r\n naam: illustratieNode.getAttribute(\"naam\"),\r\n breedte: illustratieNode.getAttribute(\"breedte\"),\r\n hoogte: illustratieNode.getAttribute(\"hoogte\"),\r\n uitlijning: illustratieNode.getAttribute(\"uitlijning\"),\r\n alt: illustratieNode.getAttribute(\"alt\"),\r\n schaal: illustratieNode.getAttribute(\"schaal\"),\r\n };\r\n\r\n const bijschrift =\r\n bijschriftNode instanceof Element\r\n ? {\r\n inhoud: bijschriftNode.childNodes,\r\n locatie: bijschriftNode.getAttribute(\"locatie\") ?? \"onder\",\r\n }\r\n : undefined;\r\n\r\n return (\r\n <div class={`dso-ozon-figuur ${bijschrift ? `bijschrift-${bijschrift.locatie}` : \"onder\"}`}>\r\n {titel && <span class=\"figuur-titel\">{titel}</span>}\r\n {bijschrift?.locatie === \"boven\" && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n <dso-image-overlay>\r\n {titel && (\r\n <div slot=\"titel\">\r\n <span>{titel}</span>\r\n </div>\r\n )}\r\n <img\r\n src={illustratie.naam ?? undefined}\r\n alt={illustratie.alt ?? titel ?? illustratie.naam ?? undefined}\r\n onLoad={(event: Event) => this.onImageLoad(event, Number(illustratie.schaal))}\r\n />\r\n {(bijschrift || bron) && (\r\n <div slot=\"bijschrift\">\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n </div>\r\n )}\r\n </dso-image-overlay>\r\n {(bijschrift?.locatie === \"onder\" || (!bijschrift && bron)) && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInhoudNode implements OzonContentNode {\r\n name = [\"Inhoud\", \"ContainerBlocksType\", \"BlockMixedcontentMetMaximaleInlinesMarkersPopupsType\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineTekstAfbeeldingNode implements OzonContentNode {\r\n name = [\"InlineTekstAfbeelding\", \"Illustratie\"];\r\n\r\n render(node: Element) {\r\n return (\r\n <img\r\n src={node.getAttribute(\"naam\") ?? undefined}\r\n alt={node.getAttribute(\"naam\") ?? undefined}\r\n height={node.getAttribute(\"hoogte\") ?? undefined}\r\n width={node.getAttribute(\"breedte\") ?? undefined}\r\n />\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineNodes implements OzonContentNode {\r\n name = [\"sub\", \"sup\", \"strong\", \"b\", \"u\", \"i\", \"br\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n if (node.localName === \"br\") {\r\n return <br />;\r\n }\r\n\r\n const Tag = node.localName;\r\n\r\n return <Tag>{mapNodeToJsx(node.childNodes)}</Tag>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntIoRefNode implements OzonContentNode {\r\n name = \"IntIoRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntRefNode implements OzonContentNode {\r\n name = \"IntRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentLijstNode implements OzonContentNode {\r\n name = \"Lijst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const aanhef = childNodes.find((n) => getNodeName(n) === \"Lijstaanhef\");\r\n const sluiting = childNodes.find((n) => getNodeName(n) === \"Lijstsluiting\");\r\n const listItems = childNodes.filter((n) => getNodeName(n) === \"Li\");\r\n\r\n return (\r\n <div class=\"dso-ozon-lijst od-Lijst\">\r\n {aanhef && mapNodeToJsx(aanhef)}\r\n <ul class={node.getAttribute(\"type\") ?? \"\"}>\r\n {listItems.map((item) => {\r\n const itemNodes = Array.from(item.childNodes);\r\n const liNummer = itemNodes.find((n) => getNodeName(n) === \"LiNummer\")?.childNodes;\r\n\r\n return (\r\n <li class=\"od-Li\">\r\n {liNummer && <span class=\"od-LiNummer\">{mapNodeToJsx(liNummer)}</span>}\r\n {mapNodeToJsx(itemNodes.filter((n) => getNodeName(n) !== \"LiNummer\"))}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n {sluiting && mapNodeToJsx(sluiting)}\r\n </div>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNieuweTekstNode implements OzonContentNode {\r\n name = \"NieuweTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <ins>{mapNodeToJsx(node.childNodes)}</ins>;\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNootNode implements OzonContentNode {\r\n name = \"Noot\";\r\n\r\n handles = [\"NootNummer\"];\r\n\r\n identify(): string | undefined {\r\n return \"Noot\";\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx, state: openNoteId, setState }: OzonContentNodeContext<string | undefined>) {\r\n const noteId = node.getAttribute(\"id\");\r\n if (!noteId) {\r\n console.error(\"Noot node without id\", node);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n const noteControlsId = `dso-ozon-note-${noteId}`;\r\n\r\n const childNodes = Array.from(node.childNodes);\r\n const nootNummer = childNodes.find((n) => getNodeName(n) === \"NootNummer\")?.textContent ?? noteId;\r\n\r\n return (\r\n <>\r\n <sup>\r\n <button\r\n type=\"button\"\r\n class=\"toggle-note\"\r\n aria-describedby={noteControlsId}\r\n onClick={() => setState?.(openNoteId === noteId ? undefined : noteId)}\r\n onBlur={() => setState?.(undefined)}\r\n aria-expanded={openNoteId === noteId ? \"true\" : \"false\"}\r\n >\r\n {nootNummer}\r\n </button>\r\n </sup>\r\n <dso-tooltip active={openNoteId === noteId} id={noteControlsId} stateless descriptive>\r\n <span role=\"section\">{mapNodeToJsx(Array.from(node.querySelectorAll(\":scope > Al\")))}</span>\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentOpschriftNode implements OzonContentNode {\r\n name = \"Opschrift\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <Fragment>{mapNodeToJsx(node.childNodes)}</Fragment>;\r\n }\r\n}\r\n","import { Colspecs } from \"./colspec.interface\";\r\n\r\nexport function mapColspecs(count: number, nodeList: NodeListOf<Element>): Colspecs {\r\n const elements = Array.from(nodeList);\r\n const totalWidth = getTotalWidth(elements);\r\n\r\n return {\r\n totalWidth,\r\n count,\r\n columns: elements.map((element, index) => {\r\n const colNumber = element.getAttribute(\"colnum\");\r\n\r\n return {\r\n name: element.getAttribute(\"colname\") ?? \"\",\r\n number: colNumber ? parseInt(colNumber, 10) : index + 1,\r\n width: getWidth(totalWidth, element),\r\n };\r\n }),\r\n };\r\n}\r\n\r\nfunction getTotalWidth(elements: Element[]): number {\r\n return elements.reduce((totalWidth, element) => {\r\n const width = element.getAttribute(\"colwidth\")?.replace(/[^0-9]/, \"\") ?? \"\";\r\n const colWidth = parseInt(width, 10);\r\n\r\n return totalWidth + (isNaN(colWidth) ? 0 : colWidth);\r\n }, 0);\r\n}\r\n\r\nfunction getWidth(totalWidth: number, element: Element): string | undefined {\r\n const width = element.getAttribute(\"colwidth\");\r\n\r\n if (!width) {\r\n return undefined;\r\n }\r\n\r\n if (width === \"*\") {\r\n return \"100%\";\r\n }\r\n\r\n if (width.includes(\"*\") || width.match(/^[\\d+]$/)) {\r\n const colWidth = parseInt(width.replace(/[^0-9]/, \"\"), 10);\r\n\r\n return `${Math.round((colWidth / totalWidth) * 100)}%`;\r\n }\r\n\r\n return width;\r\n}\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nexport const Colgroup: FunctionalComponent<{ colspecs: Colspecs }> = ({ colspecs }) =>\r\n colspecs.columns.length > 0 ? (\r\n <colgroup>\r\n {colspecs.columns.map((colspec) => (\r\n <col style={{ width: colspec.width }} />\r\n ))}\r\n </colgroup>\r\n ) : (\r\n <Fragment />\r\n );\r\n","import { FunctionalComponent } from \"@stencil/core\";\r\nimport { h, JSXBase } from \"@stencil/core/internal\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nfunction getData(cell: Element) {\r\n return {\r\n moreRows: cell.getAttribute(\"morerows\"),\r\n nameStart: cell.getAttribute(\"namest\"),\r\n nameEnd: cell.getAttribute(\"nameend\"),\r\n };\r\n}\r\n\r\nfunction getColspan({ columns }: Colspecs, nameStart: string, nameEnd: string): number | undefined {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n const colspecEnd = columns.find((c) => c.name === nameEnd);\r\n if (!colspecStart || !colspecEnd) {\r\n return undefined;\r\n }\r\n\r\n const colspan = colspecEnd.number - colspecStart.number + 1;\r\n\r\n return colspan === 1 ? undefined : colspan;\r\n}\r\n\r\nexport const Cell: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n cell: Element;\r\n}> = ({ context: { mapNodeToJsx }, colspecs, cell }) => {\r\n const { moreRows, nameStart, nameEnd } = getData(cell);\r\n\r\n const td: JSXBase.TdHTMLAttributes<HTMLTableCellElement> = {\r\n rowSpan: moreRows ? parseInt(moreRows, 10) + 1 : undefined,\r\n colSpan: colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined,\r\n };\r\n\r\n return <td {...td}>{mapNodeToJsx(cell.childNodes)}</td>;\r\n};\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\nimport { Cell } from \"./table-cell\";\r\n\r\nexport const Rows: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n rows: Element[];\r\n}> = ({ context, colspecs, rows }) => {\r\n return (\r\n <>\r\n {rows.map((row) => (\r\n <tr>\r\n {Array.from(row.children).map((cell) => (\r\n <Cell cell={cell} colspecs={colspecs} context={context} />\r\n ))}\r\n </tr>\r\n ))}\r\n </>\r\n );\r\n};\r\n","import { h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { getNodeName } from \"../../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../../ozon-content-node.interface\";\r\n\r\nimport { mapColspecs } from \"./colspec/colspec-mapper\";\r\nimport { Colgroup } from \"./table-colgroup\";\r\nimport { Rows } from \"./table-rows\";\r\n\r\nfunction mapData(node: Element) {\r\n const tgroup = node.querySelector(\":scope > tgroup\");\r\n const colAttribute = tgroup?.getAttribute(\"cols\") ?? undefined;\r\n const columnCount = colAttribute ? parseInt(colAttribute, 10) : undefined;\r\n\r\n return {\r\n caption: node.querySelector(\":scope > title\")?.textContent ?? undefined,\r\n colspecs: tgroup && columnCount ? mapColspecs(columnCount, tgroup.querySelectorAll(\":scope > colspec\")) : undefined,\r\n headRows: Array.from(node.querySelectorAll(\":scope > tgroup > thead > row\")),\r\n bodyRows: Array.from(node.querySelectorAll(\":scope > tgroup > tbody > row\")),\r\n editAction: node.getAttribute(\"wijzigactie\"),\r\n };\r\n}\r\n\r\nexport class OzonContentTableNode implements OzonContentNode {\r\n name = \"table\";\r\n\r\n handles = [\"title\", \"tgroup\", \"colspec\", \"thead\", \"tbody\", \"row\", \"cell\"];\r\n\r\n id = uuidv4();\r\n\r\n render(node: Element, context: OzonContentNodeContext) {\r\n const { caption, colspecs, headRows, bodyRows, editAction } = mapData(node);\r\n\r\n const bron = Array.from(node.childNodes).find((n) => getNodeName(n) === \"Bron\");\r\n\r\n return (\r\n <dso-table>\r\n <table\r\n class={clsx(\"table dso-table-vertical-lines\", {\r\n \"dso-del\": editAction === \"verwijder\",\r\n \"dso-ins\": editAction === \"voegtoe\",\r\n })}\r\n {...(bron ? { \"aria-describedby\": this.id } : {})}\r\n >\r\n {caption && <caption>{caption}</caption>}\r\n {colspecs && <Colgroup colspecs={colspecs} />}\r\n {headRows.length > 0 && (\r\n <thead>\r\n <Rows rows={headRows} colspecs={colspecs} context={context}></Rows>\r\n </thead>\r\n )}\r\n {bodyRows.length > 0 && (\r\n <tbody>\r\n <Rows rows={bodyRows} colspecs={colspecs} context={context}></Rows>\r\n </tbody>\r\n )}\r\n </table>\r\n {bron && <div id={this.id}>{context.mapNodeToJsx(bron)}</div>}\r\n </dso-table>\r\n );\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentTextNode implements OzonContentNode {\r\n name = \"#text\";\r\n\r\n render(node: Node) {\r\n return <Fragment>{node.textContent}</Fragment>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentVerwijderdeTekstNode implements OzonContentNode {\r\n name = \"VerwijderdeTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <del>{mapNodeToJsx(node.childNodes)}</del>;\r\n }\r\n}\r\n","import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"./get-node-name.function\";\r\nimport { OzonContentAlNode } from \"./nodes/al.node\";\r\nimport { OzonContentBronNode } from \"./nodes/bron.node\";\r\nimport { OzonContentDocumentNode } from \"./nodes/document.node\";\r\nimport { OzonContentExtRefNode } from \"./nodes/ext-ref.node\";\r\nimport { OzonContentFallbackNode } from \"./nodes/fallback.node\";\r\nimport { OzonContentFiguurNode } from \"./nodes/figuur.node\";\r\nimport { OzonContentInhoudNode } from \"./nodes/inhoud.node\";\r\nimport { OzonContentInlineTekstAfbeeldingNode } from \"./nodes/inline-tekst-afbeelding.node\";\r\nimport { OzonContentInlineNodes } from \"./nodes/inline.nodes\";\r\nimport { OzonContentIntIoRefNode } from \"./nodes/int-io-ref.node\";\r\nimport { OzonContentIntRefNode } from \"./nodes/int-ref.node\";\r\nimport { OzonContentLijstNode } from \"./nodes/lijst.node\";\r\nimport { OzonContentNieuweTekstNode } from \"./nodes/nieuwe-tekst.node\";\r\nimport { OzonContentNootNode } from \"./nodes/noot.node\";\r\nimport { OzonContentOpschriftNode } from \"./nodes/opschrift.node\";\r\nimport { OzonContentTableNode } from \"./nodes/table.node\";\r\nimport { OzonContentTextNode } from \"./nodes/text.node\";\r\nimport { OzonContentVerwijderdeTekstNode } from \"./nodes/verwijderde-tekst.node\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentNode } from \"./ozon-content-node.interface\";\r\n\r\nexport class Mapper {\r\n private cache: { xml: string; document: Document } | undefined;\r\n\r\n private mappers: OzonContentNode[] = [\r\n new OzonContentTextNode(),\r\n new OzonContentDocumentNode(),\r\n new OzonContentInhoudNode(),\r\n new OzonContentOpschriftNode(),\r\n new OzonContentIntRefNode(),\r\n new OzonContentExtRefNode(),\r\n new OzonContentAlNode(),\r\n new OzonContentInlineNodes(),\r\n new OzonContentInlineTekstAfbeeldingNode(),\r\n new OzonContentNootNode(),\r\n new OzonContentTableNode(),\r\n new OzonContentIntIoRefNode(),\r\n new OzonContentFiguurNode(),\r\n new OzonContentLijstNode(),\r\n new OzonContentBronNode(),\r\n new OzonContentNieuweTekstNode(),\r\n new OzonContentVerwijderdeTekstNode(),\r\n ];\r\n\r\n private skip = this.mappers.reduce<string[]>((t, m) => {\r\n if (m.handles) {\r\n t.push(...m.handles);\r\n }\r\n\r\n return t;\r\n }, []);\r\n\r\n private fallbackNode = new OzonContentFallbackNode();\r\n\r\n private domParser = new DOMParser();\r\n\r\n private findMapper(name: string): OzonContentNode | undefined {\r\n if (this.skip.includes(name)) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n this.mappers.find((m) => {\r\n if (Array.isArray(m.name)) {\r\n return m.name.includes(name);\r\n }\r\n\r\n return m.name === name;\r\n }) ?? this.fallbackNode\r\n );\r\n }\r\n\r\n mapNodeToJsx(node: Node | Node[] | NodeList, context: OzonContentContext, path: Node[]): JSX.Element {\r\n if (node instanceof NodeList) {\r\n return <Fragment>{Array.from(node).map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n if (Array.isArray(node)) {\r\n return <Fragment>{node.map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n const nodeName = getNodeName(node);\r\n const mapper = this.findMapper(nodeName);\r\n if (!mapper) {\r\n return <Fragment />;\r\n }\r\n\r\n const identity = mapper.identify?.(node);\r\n\r\n const state = identity ? context.state[identity] : undefined;\r\n const setState = identity ? (s: unknown) => context.setState({ ...context.state, [identity]: s }) : undefined;\r\n\r\n return mapper.render(node, {\r\n mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),\r\n emitAnchorClick: context.emitAnchorClick,\r\n setState,\r\n state,\r\n path,\r\n });\r\n }\r\n\r\n transform(xml: string, context: OzonContentContext): JSX.Element {\r\n if (!xml) {\r\n return <Fragment />;\r\n }\r\n\r\n if (!this.cache || this.cache.xml !== xml) {\r\n const document = this.domParser.parseFromString(xml, \"text/xml\");\r\n if (document.querySelector(\"html > body > parsererror\")) {\r\n console.error(document);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n this.cache = { xml, document };\r\n }\r\n\r\n const xmlDocument = this.cache.document;\r\n\r\n return this.mapNodeToJsx(xmlDocument.getRootNode(), context, []);\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/insert/insert\";\r\n@use \"~dso-toolkit/src/components/delete/delete\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n\r\n:host(:not([inline])) {\r\n display: block;\r\n}\r\n\r\n:host([inline]) {\r\n display: inline;\r\n}\r\n\r\n:host([deleted]) {\r\n * {\r\n text-decoration: line-through !important;\r\n }\r\n}\r\n\r\n:host([interactive]) {\r\n @include anchor.root($is-html-a-element: false);\r\n\r\n color: colors.$bosgroen;\r\n font-weight: 600;\r\n text-decoration: none;\r\n}\r\n\r\n:host([interactive=\"sub\"]) {\r\n color: colors.$grijs-90;\r\n}\r\n\r\n.sr-only,\r\n.deleted-start,\r\n.deleted-end {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton.toggle-note {\r\n @include button.tertiary($modifiers: false);\r\n}\r\n\r\nspan[role=\"section\"],\r\nspan[role=\"paragraph\"] {\r\n display: block;\r\n}\r\n\r\n:host(:not([inline])) .fallback {\r\n display: block;\r\n}\r\n\r\na {\r\n @include anchor.root();\r\n}\r\n\r\n// Styling below copied from DSO Viewer 20211011\r\n\r\n.od-Term {\r\n font-weight: 700;\r\n}\r\n\r\n.od-Definitie,\r\n.od-Tussenkop {\r\n font-style: italic;\r\n}\r\n\r\n.od-Inhoud,\r\n.od-Inhoud > .od-Lijst,\r\n.od-IntIoRef,\r\n.od-Lidnr,\r\n.od-LiNr,\r\n.od-Opschrift,\r\n.od-Tussenkop {\r\n display: inline;\r\n}\r\n\r\n.od-Al {\r\n margin-bottom: 0.75em;\r\n}\r\n\r\n.od-IntIoRef {\r\n border-bottom: 1px dotted;\r\n}\r\n\r\n.dso-ozon-bron {\r\n font-style: italic;\r\n font-size: 0.75rem;\r\n}\r\n\r\n.dso-ozon-figuur {\r\n margin-bottom: units.$u2;\r\n\r\n .figuur-bijschrift {\r\n display: block;\r\n font-size: 0.75rem;\r\n font-style: italic;\r\n }\r\n\r\n &.bijschrift-boven {\r\n .figuur-bijschrift {\r\n padding-bottom: 0.25rem;\r\n }\r\n }\r\n\r\n &.bijschrift-onder {\r\n .figuur-bijschrift {\r\n padding-top: 0.25rem;\r\n }\r\n }\r\n\r\n .figuur-titel {\r\n color: colors.$mauve;\r\n display: block;\r\n font-weight: 500;\r\n padding-bottom: 0.5rem;\r\n }\r\n}\r\n\r\n.dso-ozon-lijst {\r\n span.od-Lijstaanhef,\r\n span.od-Lijstsluiting {\r\n margin-bottom: units.$ru2;\r\n }\r\n\r\n ul {\r\n &.expliciet {\r\n list-style: none;\r\n\r\n > .od-Li {\r\n position: relative;\r\n\r\n > span.od-LiNummer {\r\n position: absolute;\r\n left: units.$u6 * -1 + 4;\r\n text-align: right;\r\n width: units.$u5;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.od-Tabel thead {\r\n font-weight: 600;\r\n}\r\n\r\n.od-Kadertekst {\r\n border: 1px solid #e5e5e5;\r\n margin-bottom: 1rem;\r\n padding: 1rem;\r\n}\r\n\r\n.dso-del {\r\n background-color: colors.$danger-bg-color;\r\n color: colors.$zwart;\r\n text-decoration: line-through;\r\n\r\n a {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n.dso-ins {\r\n background-color: colors.$success-bg-color;\r\n box-shadow: insert.$insert-box-shadow;\r\n color: colors.$zwart;\r\n\r\n a {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n.dso-rich-content {\r\n @include rich-content.children();\r\n}\r\n","import { h, Component, ComponentInterface, Element, Event, EventEmitter, Prop, State, Host, JSX } from \"@stencil/core\";\r\nimport { isTabbable } from \"tabbable\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentAnchorClick, OzonContentClick } from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n shadow: true,\r\n})\r\nexport class OzonContent implements ComponentInterface {\r\n /**\r\n * The XML to be rendered.\r\n */\r\n @Prop()\r\n content: string | undefined;\r\n\r\n /**\r\n * Setting this property creates dso-ozon-content as inline element instead of a block element.\r\n */\r\n @Prop({ reflect: true })\r\n inline = false;\r\n\r\n /**\r\n * Marks content as deleted using visual and accessible clues.\r\n */\r\n @Prop({ reflect: true })\r\n deleted = false;\r\n\r\n /**\r\n * Visualize the component as interactive. This means that the component will emit `dsoClick` events when the user clicks non-interactive elements.\r\n *\r\n * **Do not** use this without an accessible companion element! `interactive` is only\r\n * meant to ease the use of the companion element for mouse/touch users.\r\n *\r\n * * `true`: Interactive anchor-look-alike\r\n * * `\"sub\"`: Interactive anchor-look-alike for sub navigation\r\n * * `false | undefined`: Disabled\r\n */\r\n @Prop({ reflect: true })\r\n interactive: \"sub\" | \"\" | boolean = false;\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event()\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClick>;\r\n\r\n /**\r\n * These events are only emitted when the component is `interactive`.\r\n */\r\n @Event()\r\n dsoClick!: EventEmitter<OzonContentClick>;\r\n\r\n @Element()\r\n host!: HTMLDsoOzonContentElement;\r\n\r\n private mapper = new Mapper();\r\n\r\n private handleHostOnClick(e: UIEvent) {\r\n // '' is `true`: <dso-ozon-content interactive>\r\n if (this.interactive !== \"\" && !this.interactive) {\r\n return;\r\n }\r\n\r\n const doIt =\r\n e\r\n .composedPath()\r\n .find(\r\n (eventTarget) => eventTarget === this.host || (eventTarget instanceof HTMLElement && isTabbable(eventTarget))\r\n ) === this.host;\r\n\r\n if (doIt) {\r\n this.dsoClick.emit({ originalEvent: e });\r\n }\r\n }\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n setState: (state) => (this.state = state),\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = this.mapper.transform(this.content ?? \"\", context);\r\n\r\n if (this.deleted) {\r\n return (\r\n <section>\r\n <slot name=\"prefix\" />\r\n <span class=\"deleted-start\">Begin verwijderd element</span>\r\n {transformed}\r\n <span class=\"deleted-end\">Einde verwijderd element</span>\r\n <slot name=\"suffix\" />\r\n </section>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={(e: UIEvent) => this.handleHostOnClick(e)}>\r\n <slot name=\"prefix\" />\r\n {transformed}\r\n <slot name=\"suffix\" />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as o,h as n,H as s,a as t}from"./p-3ca5b6f4.js";import{d}from"./p-1805f5b0.js";import{c as e}from"./p-1521d319.js";import{v as i}from"./p-5d7f4ff2.js";import"./p-86133aa5.js";const a="@keyframes slideInFromTop {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n:host {\n display: block;\n margin-bottom: 24px;\n}\n\n.dso-header {\n min-height: 32px;\n}\n.dso-header h2 {\n color: #275937;\n font-size: 1.5rem;\n font-weight: 700;\n}\n.dso-header .dso-close {\n color: #275937;\n}\n\n:host .dso-modal {\n overflow: visible;\n padding: 0;\n border: 0;\n inset: 0px;\n height: 100%;\n position: fixed;\n z-index: 530;\n}\n:host .dso-modal::backdrop {\n background-color: rgba(255, 255, 255, 0.8);\n}\n:host .dso-modal .dso-dialog {\n max-inline-size: 640px;\n background-color: #fff;\n opacity: 1;\n box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);\n animation: 1s ease-out 0s 1 slideInFromTop;\n}\n:host .dso-modal .dso-header {\n position: relative;\n padding: 16px;\n border-block-end: 1px solid #ccc;\n}\n:host .dso-modal .dso-header h2 {\n max-inline-size: calc(100% - 24px);\n margin: 0;\n color: #275937;\n}\n:host .dso-modal .dso-header .dso-close {\n position: absolute;\n inset-block-start: 16px;\n inset-inline-end: 13px;\n block-size: 32px;\n inline-size: 32px;\n padding: 0;\n background-color: transparent;\n border: 0;\n text-align: center;\n}\n:host .dso-modal > .dso-dialog > .dso-body {\n block-size: calc(100% - 96px - 1.5rem);\n max-block-size: calc(70vh - 144px - 1.5em);\n min-block-size: 1.5rem;\n overflow-x: auto;\n padding: 32px;\n}\n:host .dso-modal > .dso-dialog > .dso-body p {\n margin: 0 0 16px;\n}\n:host .dso-modal > .dso-dialog > .dso-body ul,\n:host .dso-modal > .dso-dialog > .dso-body ol {\n margin-bottom: 16px;\n}\n:host .dso-modal > .dso-dialog > .dso-body ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\n:host .dso-modal > .dso-dialog > .dso-body ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\n:host .dso-modal > .dso-dialog > .dso-body pre {\n margin: 0 0 16px;\n}\n:host .dso-modal > .dso-dialog > .dso-body blockquote {\n padding: 16px 24px;\n}\n:host .dso-modal > .dso-dialog > .dso-body dso-highlight-box,\n:host .dso-modal > .dso-dialog > .dso-body .dso-highlight-box {\n margin-bottom: 24px;\n}\n:host .dso-modal > .dso-dialog > .dso-body img {\n height: auto;\n max-width: 100%;\n}\n:host .dso-modal > .dso-dialog > dso-scrollable {\n block-size: calc(100% - 96px - 1.5rem);\n max-block-size: calc(70vh - 144px - 1.5em);\n min-block-size: 6.5rem;\n}\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body {\n padding: 32px;\n}\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body p {\n margin: 0 0 16px;\n}\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body ul,\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body ol {\n margin-bottom: 16px;\n}\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body pre {\n margin: 0 0 16px;\n}\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body blockquote {\n padding: 16px 24px;\n}\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body dso-highlight-box,\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body .dso-highlight-box {\n margin-bottom: 24px;\n}\n:host .dso-modal > .dso-dialog > dso-scrollable .dso-body img {\n height: auto;\n max-width: 100%;\n}\n:host .dso-modal .dso-body:focus-visible {\n outline: none;\n}\n:host .dso-modal .dso-footer {\n min-block-size: 80px;\n padding: 16px 32px;\n text-align: end;\n}\n@media screen and (max-width: 767px) {\n :host .dso-modal .dso-footer .dso-primary + .dso-primary, :host .dso-modal .dso-footer .dso-primary + .dso-secondary, :host .dso-modal .dso-footer .dso-primary + .dso-tertiary, :host .dso-modal .dso-footer .dso-secondary + .dso-primary, :host .dso-modal .dso-footer .dso-secondary + .dso-secondary, :host .dso-modal .dso-footer .dso-secondary + .dso-tertiary, :host .dso-modal .dso-footer .dso-tertiary + .dso-primary, :host .dso-modal .dso-footer .dso-tertiary + .dso-secondary, :host .dso-modal .dso-footer .dso-tertiary + .dso-tertiary {\n margin-inline-start: 0;\n }\n :host .dso-modal .dso-footer button {\n inline-size: 100%;\n text-align: center;\n }\n :host .dso-modal .dso-footer button + button {\n margin-block-start: 8px;\n }\n :host .dso-modal .dso-footer button.dso-tertiary,\n :host .dso-modal .dso-footer button.dso-tertiary span {\n float: none;\n }\n}\n@media screen and (min-width: 768px) {\n :host .dso-modal .dso-footer .dso-primary + .dso-secondary, :host .dso-modal .dso-footer .dso-secondary + .dso-secondary, :host .dso-modal .dso-footer .dso-tertiary + .dso-secondary {\n margin-inline-start: 16px;\n }\n :host .dso-modal .dso-footer .dso-primary + .dso-tertiary, :host .dso-modal .dso-footer .dso-secondary + .dso-tertiary, :host .dso-modal .dso-footer .dso-tertiary + .dso-tertiary {\n margin-inline-start: 0;\n }\n}\n@media screen and (max-width: 767px) {\n :host .dso-modal .dso-dialog {\n max-inline-size: 100%;\n margin-block-start: 0;\n }\n :host .dso-modal .dso-footer .dso-primary + .dso-primary, :host .dso-modal .dso-footer .dso-primary + .dso-secondary, :host .dso-modal .dso-footer .dso-primary + .dso-tertiary, :host .dso-modal .dso-footer .dso-secondary + .dso-primary, :host .dso-modal .dso-footer .dso-secondary + .dso-secondary, :host .dso-modal .dso-footer .dso-secondary + .dso-tertiary, :host .dso-modal .dso-footer .dso-tertiary + .dso-primary, :host .dso-modal .dso-footer .dso-tertiary + .dso-secondary, :host .dso-modal .dso-footer .dso-tertiary + .dso-tertiary {\n margin-inline-start: 0;\n }\n :host .dso-modal .dso-footer button {\n inline-size: 100%;\n text-align: center;\n }\n :host .dso-modal .dso-footer button + button {\n margin-block-start: 8px;\n }\n :host .dso-modal .dso-footer button.dso-tertiary,\n :host .dso-modal .dso-footer button.dso-tertiary span {\n float: none;\n }\n}\n@media screen and (max-height: 380px) {\n :host .dso-modal .dso-dialog {\n min-block-size: 216px;\n margin-block-start: 8px;\n margin-block-end: 8px;\n }\n :host .dso-modal .dso-header {\n padding: 8px 16px;\n }\n :host .dso-modal .dso-header .dso-close {\n inset-block-start: 8px;\n }\n :host .dso-modal .dso-body {\n padding: 16px 24px;\n }\n :host .dso-modal .dso-footer {\n min-block-size: auto;\n overflow: auto;\n padding: 8px 32px;\n }\n}\n\n.dso-modal .dso-dialog.dso-table-dialog {\n margin-top: 1rem;\n max-width: calc(100% - 2rem);\n margin-left: auto;\n margin-right: auto;\n}\n.dso-modal .dso-dialog.dso-table-dialog .dso-body {\n max-height: calc(100vh - 112px - 1.5em - 2rem);\n}\n@media screen and (max-width: 767px) {\n .dso-modal .dso-dialog.dso-table-dialog {\n max-width: 100%;\n }\n}\n\n:host([is-responsive]) .dso-table-body {\n border: 1px solid #ccc;\n margin-bottom: 0;\n overflow-y: hidden;\n width: 100%;\n}\n:host([is-responsive]) .dso-table-body.dso-body {\n width: calc(100% - 64px);\n}\n\n.dso-table-utilities {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-bottom: 8px;\n}\n.dso-table-utilities .dso-responsive-message {\n margin-bottom: 0;\n}\n.dso-table-utilities .dso-responsive-message:only-child {\n width: 100%;\n}\n.dso-table-utilities .open-modal-button:only-child {\n margin-left: auto;\n}\n\n.dso-responsive-message {\n font-size: 0.8em;\n margin-bottom: 8px;\n position: relative;\n text-align: center;\n}\n\n.dso-tertiary {\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 cursor: pointer;\n}\n.dso-tertiary:focus, .dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\n.dso-tertiary:active {\n outline: 0;\n}\n.dso-tertiary[disabled] {\n color: #afcf9d;\n}\n.dso-tertiary[disabled].dso-spinner-left, .dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\n.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\n.dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.dso-tertiary.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.dso-tertiary.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.dso-tertiary.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.dso-tertiary dso-icon + span:not(.sr-only),\n.dso-tertiary svg.di + span:not(.sr-only),\n.dso-tertiary span:not(.sr-only) + dso-icon,\n.dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\n.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\n.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\n.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\n.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\n.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\n.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\n.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\n.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\n.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\n.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\n.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\n.dso-tertiary dso-icon,\n.dso-tertiary svg.di,\n.dso-tertiary span {\n vertical-align: middle;\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.dso-modal-overlay {\n background-color: rgba(255, 255, 255, 0.8);\n bottom: 0;\n display: block;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n z-index: 529;\n}\n\n.dso-table-placeholder {\n box-shadow: inset 0 0 0 1px #ccc;\n display: grid;\n place-content: center;\n}";const r=class{constructor(n){o(this,n);this.labelledbyId=i();this.noModal=false;this.isResponsive=false;this.modalActive=false;this.placeholderHeight=undefined}startResponsiveBehavior(){var o;(o=this.resizeObserver)===null||o===void 0?void 0:o.observe(this.host)}componentWillLoad(){this.resizeObserver=new ResizeObserver(d((o=>this.setResponsiveTable(o)),200))}componentDidLoad(){this.startResponsiveBehavior()}componentDidRender(){this.setFocusTrap()}disconnectedCallback(){var o;(o=this.resizeObserver)===null||o===void 0?void 0:o.disconnect()}render(){var o,t;const d=(t=(o=this.host.querySelector(":scope > table > caption"))===null||o===void 0?void 0:o.textContent)===null||t===void 0?void 0:t.trim();return n(s,null,this.modalActive&&this.placeholderHeight&&n("div",{class:"dso-table-placeholder",style:{height:`${this.placeholderHeight}px`}}),this.modalActive&&n("div",{class:"dso-modal-overlay"}),n("div",{class:{"dso-modal":this.modalActive}},n("div",Object.assign({class:{"dso-dialog":this.modalActive,"dso-table-dialog":true},ref:o=>this.focusTrapElement=o},this.modalActive?{["aria-labelledby"]:this.labelledbyId,role:"dialog"}:{}),(this.isResponsive||!this.noModal)&&n("div",{class:"dso-table-utilities",style:this.modalActive?{display:"none"}:undefined},this.isResponsive&&n("div",{class:"dso-responsive-message"},n("span",null,"beweeg de tabel van links naar rechts")),!this.noModal&&n("button",{type:"button",class:"dso-tertiary open-modal-button",ref:o=>this.buttonElement=o,onClick:()=>this.openModal()},n("span",{class:"sr-only"},"tabel ",d!==null&&d!==void 0?d:""," "),n("span",null,"vergroten"),n("dso-icon",{icon:"external-link"}))),this.modalActive&&n("div",{class:"dso-header"},n("h2",{id:this.labelledbyId,class:{"sr-only":!d}},d||"Uitvergrote tabel dialoog"),n("button",{type:"button",class:"dso-close",onClick:()=>this.closeModal()},n("dso-icon",{icon:"times"}),n("span",{class:"sr-only"},"Sluiten"))),n("div",{class:{"dso-body":this.modalActive,"dso-table-body":true}},n("slot",null)))))}openModal(){this.placeholderHeight=this.host.clientHeight;this.modalActive=true}closeModal(){this.placeholderHeight=undefined;this.modalActive=false}setFocusTrap(){var o,n;if(this.modalActive&&this.focusTrapElement&&!this.trap){this.trap=e([this.host,this.focusTrapElement],{escapeDeactivates:true,clickOutsideDeactivates:o=>{if(o instanceof MouseEvent&&o.composedPath()[0]===this.focusTrapElement){this.closeModal();return false}return true},setReturnFocus:(o=this.buttonElement)!==null&&o!==void 0?o:false,onDeactivate:()=>this.closeModal(),tabbableOptions:{getShadowRoot:true}}).activate()}else if(!this.modalActive&&this.trap){(n=this.trap)===null||n===void 0?void 0:n.deactivate();delete this.trap}}setResponsiveTable([o]){if(!o){throw new Error("No dsoTable found")}const n=o.target.querySelector("table");if(o&&n instanceof HTMLTableElement){this.isResponsive=Math.floor(n.getBoundingClientRect().width)>Math.floor(o.contentRect.width)}}get host(){return t(this)}};r.style=a;export{r as dso_table};
|
|
2
|
-
//# sourceMappingURL=p-9a3f154b.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["tableCss","Table","this","labelledbyId","v4","startResponsiveBehavior","_a","resizeObserver","observe","host","componentWillLoad","ResizeObserver","debounce","entries","setResponsiveTable","componentDidLoad","componentDidRender","setFocusTrap","disconnectedCallback","disconnect","render","caption","_b","querySelector","textContent","trim","h","Host","modalActive","placeholderHeight","class","style","height","Object","assign","ref","element","focusTrapElement","role","isResponsive","noModal","display","undefined","type","buttonElement","onClick","openModal","icon","id","closeModal","clientHeight","trap","createFocusTrap","escapeDeactivates","clickOutsideDeactivates","e","MouseEvent","composedPath","setReturnFocus","onDeactivate","tabbableOptions","getShadowRoot","activate","deactivate","dsoTable","Error","tableElement","target","HTMLTableElement","Math","floor","getBoundingClientRect","width","contentRect"],"sources":["src/components/table/table.scss?tag=dso-table&encapsulation=shadow","src/components/table/table.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/components/grid/grid.variables\" as grid-variables;\r\n@use \"~dso-toolkit/src/components/modal/modal.variables\" as modal-variables;\r\n\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/modal\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n@use \"~dso-toolkit/src/components/table\";\r\n\r\n:host {\r\n display: block;\r\n margin-bottom: units.$u3;\r\n}\r\n\r\n.dso-header {\r\n min-height: units.$u4;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-size: units.$font-size-h2;\r\n font-weight: 700;\r\n }\r\n\r\n .dso-close {\r\n color: colors.$bosgroen;\r\n }\r\n}\r\n\r\n:host .dso-modal {\r\n @include modal.root();\r\n\r\n inset: 0px;\r\n height: 100%;\r\n position: fixed;\r\n z-index: zindex.$modal;\r\n}\r\n\r\n.dso-modal .dso-dialog.dso-table-dialog {\r\n margin-top: 1rem;\r\n max-width: calc(100% - 2rem);\r\n margin-left: auto;\r\n margin-right: auto;\r\n\r\n .dso-body {\r\n $dso-body-unavailable-height: (2 * modal.$header-padding) + (modal.$footer-button-height + modal.$footer-padding);\r\n max-height: calc(100vh - #{$dso-body-unavailable-height} - 1.5em - 2rem); // margin\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n max-width: 100%;\r\n }\r\n}\r\n\r\n:host([is-responsive]) {\r\n .dso-table-body {\r\n border: 1px solid table.$border-color;\r\n margin-bottom: 0;\r\n overflow-y: hidden;\r\n width: 100%;\r\n\r\n &.dso-body {\r\n width: calc(100% - modal.$body-padding * 2);\r\n }\r\n }\r\n}\r\n\r\n.dso-table-utilities {\r\n align-items: center;\r\n display: flex;\r\n justify-content: space-between;\r\n margin-bottom: units.$u1;\r\n\r\n .dso-responsive-message {\r\n margin-bottom: 0;\r\n\r\n &:only-child {\r\n width: 100%;\r\n }\r\n }\r\n\r\n .open-modal-button {\r\n &:only-child {\r\n margin-left: auto;\r\n }\r\n }\r\n}\r\n\r\n.dso-responsive-message {\r\n font-size: 0.8em;\r\n margin-bottom: units.$u1;\r\n position: relative;\r\n text-align: center;\r\n}\r\n\r\n.dso-tertiary {\r\n @include button.tertiary($modifiers: false);\r\n\r\n cursor: pointer;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-modal-overlay {\r\n background-color: fade-out(modal-variables.$backdrop-bg, modal-variables.$backdrop-opacity);\r\n bottom: 0;\r\n display: block;\r\n left: 0;\r\n position: fixed;\r\n right: 0;\r\n top: 0;\r\n z-index: zindex.$modal-background-overlay;\r\n}\r\n\r\n.dso-table-placeholder {\r\n box-shadow: inset 0 0 0 1px table.$border-color;\r\n display: grid;\r\n place-content: center;\r\n}\r\n","import { h, Component, ComponentInterface, Element, Host, Prop, State } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\nimport { v4 } from \"uuid\";\r\n\r\n@Component({\r\n tag: \"dso-table\",\r\n styleUrl: \"table.scss\",\r\n shadow: true,\r\n})\r\nexport class Table implements ComponentInterface {\r\n private resizeObserver?: ResizeObserver;\r\n\r\n private focusTrapElement?: HTMLDivElement;\r\n\r\n private buttonElement?: HTMLButtonElement;\r\n\r\n private trap?: FocusTrap;\r\n\r\n private labelledbyId = v4();\r\n\r\n @Element()\r\n host!: HTMLDsoTableElement;\r\n\r\n /**\r\n * Prevents the table being opened in a modal.\r\n */\r\n @Prop({ reflect: true })\r\n noModal = false;\r\n\r\n /**\r\n * Indicates whether the table is currently horizontally scrollable.\r\n */\r\n @Prop({ reflect: true })\r\n isResponsive = false;\r\n\r\n @State()\r\n modalActive = false;\r\n\r\n @State()\r\n placeholderHeight?: number;\r\n\r\n private startResponsiveBehavior(): void {\r\n this.resizeObserver?.observe(this.host);\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.resizeObserver = new ResizeObserver(debounce((entries) => this.setResponsiveTable(entries), 200));\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.startResponsiveBehavior();\r\n }\r\n\r\n componentDidRender() {\r\n this.setFocusTrap();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n const caption = this.host.querySelector(\":scope > table > caption\")?.textContent?.trim();\r\n\r\n return (\r\n <Host>\r\n {this.modalActive && this.placeholderHeight && (\r\n <div class=\"dso-table-placeholder\" style={{ height: `${this.placeholderHeight}px` }} />\r\n )}\r\n\r\n {this.modalActive && <div class=\"dso-modal-overlay\"></div>}\r\n\r\n <div class={{ \"dso-modal\": this.modalActive }}>\r\n <div\r\n class={{ \"dso-dialog\": this.modalActive, \"dso-table-dialog\": true }}\r\n ref={(element) => (this.focusTrapElement = element)}\r\n {...(this.modalActive ? { [\"aria-labelledby\"]: this.labelledbyId, role: \"dialog\" } : {})}\r\n >\r\n {(this.isResponsive || !this.noModal) && (\r\n <div class=\"dso-table-utilities\" style={this.modalActive ? { display: \"none\" } : undefined}>\r\n {this.isResponsive && (\r\n <div class=\"dso-responsive-message\">\r\n <span>beweeg de tabel van links naar rechts</span>\r\n </div>\r\n )}\r\n\r\n {!this.noModal && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary open-modal-button\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => this.openModal()}\r\n >\r\n <span class=\"sr-only\">tabel {caption ?? \"\"} </span>\r\n <span>vergroten</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n\r\n {this.modalActive && (\r\n <div class=\"dso-header\">\r\n <h2 id={this.labelledbyId} class={{ \"sr-only\": !caption }}>\r\n {caption || \"Uitvergrote tabel dialoog\"}\r\n </h2>\r\n <button type=\"button\" class=\"dso-close\" onClick={() => this.closeModal()}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div class={{ \"dso-body\": this.modalActive, \"dso-table-body\": true }}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private openModal() {\r\n this.placeholderHeight = this.host.clientHeight;\r\n this.modalActive = true;\r\n }\r\n\r\n private closeModal() {\r\n this.placeholderHeight = undefined;\r\n this.modalActive = false;\r\n }\r\n\r\n private setFocusTrap() {\r\n if (this.modalActive && this.focusTrapElement && !this.trap) {\r\n this.trap = createFocusTrap([this.host, this.focusTrapElement], {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.focusTrapElement) {\r\n this.closeModal();\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.buttonElement ?? false,\r\n onDeactivate: () => this.closeModal(),\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n }).activate();\r\n } else if (!this.modalActive && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n\r\n private setResponsiveTable([dsoTable]: ResizeObserverEntry[]): void {\r\n if (!dsoTable) {\r\n throw new Error(\"No dsoTable found\");\r\n }\r\n\r\n const tableElement = dsoTable.target.querySelector(\"table\");\r\n\r\n if (dsoTable && tableElement instanceof HTMLTableElement) {\r\n this.isResponsive =\r\n Math.floor(tableElement.getBoundingClientRect().width) > Math.floor(dsoTable.contentRect.width);\r\n }\r\n }\r\n}\r\n"],"mappings":"wLAAA,MAAMA,EAAW,6gY,MCUJC,EAAK,M,yBASRC,KAAAC,aAAeC,I,aASb,M,kBAMK,M,iBAGD,M,iCAKN,uBAAAC,G,OACNC,EAAAJ,KAAKK,kBAAc,MAAAD,SAAA,SAAAA,EAAEE,QAAQN,KAAKO,K,CAGpC,iBAAAC,GACER,KAAKK,eAAiB,IAAII,eAAeC,GAAUC,GAAYX,KAAKY,mBAAmBD,IAAU,K,CAGnG,gBAAAE,GACEb,KAAKG,yB,CAGP,kBAAAW,GACEd,KAAKe,c,CAGP,oBAAAC,G,OACEZ,EAAAJ,KAAKK,kBAAc,MAAAD,SAAA,SAAAA,EAAEa,Y,CAGvB,MAAAC,G,QACE,MAAMC,GAAUC,GAAAhB,EAAAJ,KAAKO,KAAKc,cAAc,+BAA2B,MAAAjB,SAAA,SAAAA,EAAEkB,eAAW,MAAAF,SAAA,SAAAA,EAAEG,OAElF,OACEC,EAACC,EAAI,KACFzB,KAAK0B,aAAe1B,KAAK2B,mBACxBH,EAAA,OAAKI,MAAM,wBAAwBC,MAAO,CAAEC,OAAQ,GAAG9B,KAAK2B,yBAG7D3B,KAAK0B,aAAeF,EAAA,OAAKI,MAAM,sBAEhCJ,EAAA,OAAKI,MAAO,CAAE,YAAa5B,KAAK0B,cAC9BF,EAAA,MAAAO,OAAAC,OAAA,CACEJ,MAAO,CAAE,aAAc5B,KAAK0B,YAAa,mBAAoB,MAC7DO,IAAMC,GAAalC,KAAKmC,iBAAmBD,GACtClC,KAAK0B,YAAc,CAAE,CAAC,mBAAoB1B,KAAKC,aAAcmC,KAAM,UAAa,KAEnFpC,KAAKqC,eAAiBrC,KAAKsC,UAC3Bd,EAAA,OAAKI,MAAM,sBAAsBC,MAAO7B,KAAK0B,YAAc,CAAEa,QAAS,QAAWC,WAC9ExC,KAAKqC,cACJb,EAAA,OAAKI,MAAM,0BACTJ,EAAA,uDAIFxB,KAAKsC,SACLd,EAAA,UACEiB,KAAK,SACLb,MAAM,iCACNK,IAAMC,GAAalC,KAAK0C,cAAgBR,EACxCS,QAAS,IAAM3C,KAAK4C,aAEpBpB,EAAA,QAAMI,MAAM,WAAS,SAAQT,IAAO,MAAPA,SAAO,EAAPA,EAAW,GAAE,KAC1CK,EAAA,yBACAA,EAAA,YAAUqB,KAAK,oBAMtB7C,KAAK0B,aACJF,EAAA,OAAKI,MAAM,cACTJ,EAAA,MAAIsB,GAAI9C,KAAKC,aAAc2B,MAAO,CAAE,WAAYT,IAC7CA,GAAW,6BAEdK,EAAA,UAAQiB,KAAK,SAASb,MAAM,YAAYe,QAAS,IAAM3C,KAAK+C,cAC1DvB,EAAA,YAAUqB,KAAK,UACfrB,EAAA,QAAMI,MAAM,WAAS,aAK3BJ,EAAA,OAAKI,MAAO,CAAE,WAAY5B,KAAK0B,YAAa,iBAAkB,OAC5DF,EAAA,gB,CAQJ,SAAAoB,GACN5C,KAAK2B,kBAAoB3B,KAAKO,KAAKyC,aACnChD,KAAK0B,YAAc,I,CAGb,UAAAqB,GACN/C,KAAK2B,kBAAoBa,UACzBxC,KAAK0B,YAAc,K,CAGb,YAAAX,G,QACN,GAAIf,KAAK0B,aAAe1B,KAAKmC,mBAAqBnC,KAAKiD,KAAM,CAC3DjD,KAAKiD,KAAOC,EAAgB,CAAClD,KAAKO,KAAMP,KAAKmC,kBAAmB,CAC9DgB,kBAAmB,KACnBC,wBAA0BC,IACxB,GAAIA,aAAaC,YAAcD,EAAEE,eAAe,KAAOvD,KAAKmC,iBAAkB,CAC5EnC,KAAK+C,aAEL,OAAO,K,CAGT,OAAO,IAAI,EAEbS,gBAAgBpD,EAAAJ,KAAK0C,iBAAa,MAAAtC,SAAA,EAAAA,EAAI,MACtCqD,aAAc,IAAMzD,KAAK+C,aACzBW,gBAAiB,CACfC,cAAe,QAEhBC,U,MACE,IAAK5D,KAAK0B,aAAe1B,KAAKiD,KAAM,EACzC7B,EAAApB,KAAKiD,QAAI,MAAA7B,SAAA,SAAAA,EAAEyC,oBAEJ7D,KAAKiD,I,EAIR,kBAAArC,EAAoBkD,IAC1B,IAAKA,EAAU,CACb,MAAM,IAAIC,MAAM,oB,CAGlB,MAAMC,EAAeF,EAASG,OAAO5C,cAAc,SAEnD,GAAIyC,GAAYE,aAAwBE,iBAAkB,CACxDlE,KAAKqC,aACH8B,KAAKC,MAAMJ,EAAaK,wBAAwBC,OAASH,KAAKC,MAAMN,EAASS,YAAYD,M"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as o,c as d,h as s,a}from"./p-3ca5b6f4.js";import{v as i}from"./p-5d7f4ff2.js";const l="@keyframes slideInFromTop{0%{opacity:0}100%{opacity:1}}*,*::after,*::before{box-sizing:border-box}:host{display:block}:host([fullscreen]) dialog{inline-size:100dvi;block-size:100dvb}:host([fullscreen]) dialog .dso-dialog{display:flex;flex-direction:column;max-inline-size:100%;block-size:100%}:host([fullscreen]) dialog .dso-dialog>dso-scrollable{flex-grow:1;max-block-size:unset}:host([fullscreen]) dialog .dso-footer{flex-shrink:0}@media screen and (max-width: 480px){:host dialog{inline-size:100dvi;block-size:100dvb}:host dialog .dso-dialog{display:flex;flex-direction:column;max-inline-size:100%;block-size:100%}:host dialog .dso-dialog>dso-scrollable{flex-grow:1;max-block-size:unset}:host dialog .dso-footer{flex-shrink:0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}.dso-modal{overflow:visible;padding:0;border:0}.dso-modal::backdrop{background-color:rgba(255, 255, 255, 0.8)}.dso-modal .dso-dialog{max-inline-size:640px;background-color:#fff;opacity:1;box-shadow:0 8px 24px 0 rgba(25, 25, 25, 0.4);animation:1s ease-out 0s 1 slideInFromTop}.dso-modal .dso-header{position:relative;padding:16px;border-block-end:1px solid #ccc}.dso-modal .dso-header h2{max-inline-size:calc(100% - 24px);margin:0;color:#275937}.dso-modal .dso-header .dso-close{position:absolute;inset-block-start:16px;inset-inline-end:13px;block-size:32px;inline-size:32px;padding:0;background-color:transparent;border:0;text-align:center}.dso-modal>.dso-dialog>.dso-body{block-size:calc(100% - 96px - 1.5rem);max-block-size:calc(70vh - 144px - 1.5em);min-block-size:1.5rem;overflow-x:auto;padding:32px}.dso-modal>.dso-dialog>.dso-body p{margin:0 0 16px}.dso-modal>.dso-dialog>.dso-body ul,.dso-modal>.dso-dialog>.dso-body ol{margin-bottom:16px}.dso-modal>.dso-dialog>.dso-body ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),.dso-modal>.dso-dialog>.dso-body ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list){padding-inline-start:24px}.dso-modal>.dso-dialog>.dso-body pre{margin:0 0 16px}.dso-modal>.dso-dialog>.dso-body blockquote{padding:16px 24px}.dso-modal>.dso-dialog>.dso-body dso-highlight-box,.dso-modal>.dso-dialog>.dso-body .dso-highlight-box{margin-bottom:24px}.dso-modal>.dso-dialog>.dso-body img{height:auto;max-width:100%}.dso-modal>.dso-dialog>dso-scrollable{block-size:calc(100% - 96px - 1.5rem);max-block-size:calc(70vh - 144px - 1.5em);min-block-size:6.5rem}.dso-modal>.dso-dialog>dso-scrollable .dso-body{padding:32px}.dso-modal>.dso-dialog>dso-scrollable .dso-body p{margin:0 0 16px}.dso-modal>.dso-dialog>dso-scrollable .dso-body ul,.dso-modal>.dso-dialog>dso-scrollable .dso-body ol{margin-bottom:16px}.dso-modal>.dso-dialog>dso-scrollable .dso-body ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),.dso-modal>.dso-dialog>dso-scrollable .dso-body ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list){padding-inline-start:24px}.dso-modal>.dso-dialog>dso-scrollable .dso-body pre{margin:0 0 16px}.dso-modal>.dso-dialog>dso-scrollable .dso-body blockquote{padding:16px 24px}.dso-modal>.dso-dialog>dso-scrollable .dso-body dso-highlight-box,.dso-modal>.dso-dialog>dso-scrollable .dso-body .dso-highlight-box{margin-bottom:24px}.dso-modal>.dso-dialog>dso-scrollable .dso-body img{height:auto;max-width:100%}.dso-modal .dso-body:focus-visible{outline:none}.dso-modal .dso-footer{min-block-size:80px;padding:16px 32px;text-align:end}@media screen and (max-width: 767px){.dso-modal .dso-footer .dso-primary+.dso-primary,.dso-modal .dso-footer .dso-primary+.dso-secondary,.dso-modal .dso-footer .dso-primary+.dso-tertiary,.dso-modal .dso-footer .dso-secondary+.dso-primary,.dso-modal .dso-footer .dso-secondary+.dso-secondary,.dso-modal .dso-footer .dso-secondary+.dso-tertiary,.dso-modal .dso-footer .dso-tertiary+.dso-primary,.dso-modal .dso-footer .dso-tertiary+.dso-secondary,.dso-modal .dso-footer .dso-tertiary+.dso-tertiary{margin-inline-start:0}.dso-modal .dso-footer button{inline-size:100%;text-align:center}.dso-modal .dso-footer button+button{margin-block-start:8px}.dso-modal .dso-footer button.dso-tertiary,.dso-modal .dso-footer button.dso-tertiary span{float:none}}@media screen and (min-width: 768px){.dso-modal .dso-footer .dso-primary+.dso-secondary,.dso-modal .dso-footer .dso-secondary+.dso-secondary,.dso-modal .dso-footer .dso-tertiary+.dso-secondary{margin-inline-start:16px}.dso-modal .dso-footer .dso-primary+.dso-tertiary,.dso-modal .dso-footer .dso-secondary+.dso-tertiary,.dso-modal .dso-footer .dso-tertiary+.dso-tertiary{margin-inline-start:0}}@media screen and (max-width: 767px){.dso-modal .dso-dialog{max-inline-size:100%;margin-block-start:0}.dso-modal .dso-footer .dso-primary+.dso-primary,.dso-modal .dso-footer .dso-primary+.dso-secondary,.dso-modal .dso-footer .dso-primary+.dso-tertiary,.dso-modal .dso-footer .dso-secondary+.dso-primary,.dso-modal .dso-footer .dso-secondary+.dso-secondary,.dso-modal .dso-footer .dso-secondary+.dso-tertiary,.dso-modal .dso-footer .dso-tertiary+.dso-primary,.dso-modal .dso-footer .dso-tertiary+.dso-secondary,.dso-modal .dso-footer .dso-tertiary+.dso-tertiary{margin-inline-start:0}.dso-modal .dso-footer button{inline-size:100%;text-align:center}.dso-modal .dso-footer button+button{margin-block-start:8px}.dso-modal .dso-footer button.dso-tertiary,.dso-modal .dso-footer button.dso-tertiary span{float:none}}@media screen and (max-height: 380px){.dso-modal .dso-dialog{min-block-size:216px;margin-block-start:8px;margin-block-end:8px}.dso-modal .dso-header{padding:8px 16px}.dso-modal .dso-header .dso-close{inset-block-start:8px}.dso-modal .dso-body{padding:16px 24px}.dso-modal .dso-footer{min-block-size:auto;overflow:auto;padding:8px 32px}}.dso-close dso-icon{color:#39870c}";const e=class{constructor(s){o(this,s);this.dsoClose=d(this,"dsoClose",7);this.ariaId=i();this.hasFooter=undefined;this.fullscreen=undefined;this.modalTitle=undefined;this.role="dialog";this.showCloseButton=true}componentWillLoad(){this.hasFooter=this.host.querySelector("[slot='footer']")!==null}componentDidLoad(){var o;(o=this.htmlDialogElement)===null||o===void 0?void 0:o.showModal();document.body.classList.add("dso-modal-open")}disconnectedCallback(){var o;document.body.classList.remove("dso-modal-open");(o=this.htmlDialogElement)===null||o===void 0?void 0:o.close()}render(){var o;return s("dialog",{class:"dso-modal",role:(o=this.role)!==null&&o!==void 0?o:undefined,"aria-modal":"true","aria-labelledby":this.ariaId,ref:o=>this.htmlDialogElement=o,onCancel:o=>{o.preventDefault();this.dsoClose.emit({originalEvent:o})}},s("div",{class:"dso-dialog",role:"document"},this.modalTitle?s("div",{class:"dso-header"},s("h2",{id:this.ariaId},this.modalTitle),this.showCloseButton&&s("button",{type:"button",class:"dso-close",onClick:o=>this.dsoClose.emit({originalEvent:o})},s("dso-icon",{icon:"times"}),s("span",{class:"sr-only"},"Sluiten"))):s("span",{class:"sr-only",id:this.ariaId},"Dialoog"),s("dso-scrollable",null,s("div",{class:"dso-body",tabIndex:0},s("slot",{name:"body"}))),this.hasFooter&&s("div",{class:"dso-footer"},s("slot",{name:"footer"}))))}get host(){return a(this)}};e.style=l;export{e as dso_modal};
|
|
2
|
-
//# sourceMappingURL=p-a63c82a4.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,40 +0,0 @@
|
|
|
1
|
-
import { ComponentInterface } from "../../stencil-public-runtime";
|
|
2
|
-
interface DocumentComponent {
|
|
3
|
-
documentTechnischId: string;
|
|
4
|
-
type?: string;
|
|
5
|
-
labelXml?: string;
|
|
6
|
-
nummerXml?: string;
|
|
7
|
-
opschrift?: string;
|
|
8
|
-
inhoud?: string;
|
|
9
|
-
gereserveerd?: boolean;
|
|
10
|
-
vervallen?: boolean;
|
|
11
|
-
bevatOntwerpInformatie?: boolean;
|
|
12
|
-
wijzigactie?: "voegtoe" | "verwijder" | "nieuweContainer" | "verwijderContainer";
|
|
13
|
-
_embedded?: {
|
|
14
|
-
ontwerpTekststructuurDocumentComponenten: DocumentComponent[];
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
export declare class DocumentComponentDemo implements ComponentInterface {
|
|
18
|
-
response?: DocumentComponent;
|
|
19
|
-
open: DocumentComponent[];
|
|
20
|
-
openedAnnotation: DocumentComponent[];
|
|
21
|
-
filtered: DocumentComponent[];
|
|
22
|
-
notApplicable: DocumentComponent[];
|
|
23
|
-
activeAnnotationSelectables: DocumentComponent[];
|
|
24
|
-
private fixData;
|
|
25
|
-
componentDidLoad(): void;
|
|
26
|
-
private handleOpenToggle;
|
|
27
|
-
private handleAnnotationToggle;
|
|
28
|
-
private handleSelectableChange;
|
|
29
|
-
private isCheckedSlideToggle;
|
|
30
|
-
private hasFilteredChildren;
|
|
31
|
-
private isOpen;
|
|
32
|
-
private isOpenedAnnotation;
|
|
33
|
-
private isFiltered;
|
|
34
|
-
private isNotApplicable;
|
|
35
|
-
private hasNestedDraft;
|
|
36
|
-
private showContent;
|
|
37
|
-
private DocumentComponent;
|
|
38
|
-
render(): any;
|
|
39
|
-
}
|
|
40
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export interface DocumentComponentOpenToggleEvent {
|
|
2
|
-
originalEvent: Event;
|
|
3
|
-
open: boolean;
|
|
4
|
-
}
|
|
5
|
-
export interface DocumentComponentToggleAnnotationEvent {
|
|
6
|
-
originalEvent: Event;
|
|
7
|
-
}
|
|
8
|
-
export type DocumentComponentWijzigactie = "voegtoe" | "verwijder" | "nieuweContainer" | "verwijderContainer";
|