@dso-toolkit/core 81.0.0 → 82.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/dso-accordion-section.js +3 -3
- package/dist/bundle/dso-accordion-section.js.map +1 -1
- package/dist/bundle/dso-accordion.js +2 -2
- package/dist/bundle/dso-accordion.js.map +1 -1
- package/dist/bundle/dso-document-component.js +1 -1
- package/dist/bundle/dso-history-item.js +3 -2
- package/dist/bundle/dso-history-item.js.map +1 -1
- package/dist/bundle/dso-list-button.js +1 -1
- package/dist/bundle/dso-list-button.js.map +1 -1
- package/dist/bundle/dso-map-base-layers.js +1 -1
- package/dist/bundle/dso-map-overlays.js +1 -1
- package/dist/bundle/dso-ozon-content.js +1 -1
- package/dist/bundle/dso-selectable.js +1 -1
- package/dist/bundle/dsot-document-component-demo.js +2 -2
- package/dist/bundle/{p-ZFqVNkha.js → p-COQMcyrp.js} +3 -3
- package/dist/bundle/p-COQMcyrp.js.map +1 -0
- package/dist/bundle/{p-CN3aN7RU.js → p-DbaZzGS_.js} +73 -22
- package/dist/bundle/p-DbaZzGS_.js.map +1 -0
- package/dist/bundle/{p-CFAsG6Ok.js → p-ZIaudZgD.js} +6 -5
- package/dist/bundle/p-ZIaudZgD.js.map +1 -0
- package/dist/cjs/dso-accordion-section.cjs.entry.js +3 -3
- package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-accordion-section.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-accordion.cjs.entry.js +2 -2
- package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-ozon-content-toggletip.dso-panel.dso-table.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert_7.cjs.entry.js +61 -20
- package/dist/cjs/dso-alert_7.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-locatie.dso-document-component.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +4 -3
- package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-history-item.cjs.entry.js +3 -2
- package/dist/cjs/dso-history-item.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-history-item.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-info.dso-selectable.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-list-button.entry.cjs.js.map +1 -1
- package/dist/cjs/parse-wijzigactie-from-node.function-DQ6mi_34.js +42 -0
- package/dist/cjs/parse-wijzigactie-from-node.function-DQ6mi_34.js.map +1 -0
- package/dist/collection/components/accordion/accordion.css +10 -0
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/accordion/components/accordion-section.css +1 -0
- package/dist/collection/components/accordion/components/accordion-section.js +2 -2
- package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
- package/dist/collection/components/document-component/document-component.css +19 -12
- package/dist/collection/components/document-component/document-component.interfaces.js.map +1 -1
- package/dist/collection/components/document-component/document-component.js +4 -2
- package/dist/collection/components/document-component/document-component.js.map +1 -1
- package/dist/collection/components/history-item/history-item.css +4 -0
- package/dist/collection/components/history-item/history-item.interfaces.js.map +1 -1
- package/dist/collection/components/history-item/history-item.js +3 -2
- package/dist/collection/components/history-item/history-item.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/begrip.node.js +31 -0
- package/dist/collection/components/ozon-content/nodes/begrip.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/begrippenlijst.node.js +16 -0
- package/dist/collection/components/ozon-content/nodes/begrippenlijst.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/figuur.node.js +4 -4
- package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/kop.node.js +1 -1
- package/dist/collection/components/ozon-content/nodes/kop.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +4 -2
- package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js +2 -1
- package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/text.node.js +2 -7
- package/dist/collection/components/ozon-content/nodes/text.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 +4 -0
- 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 +224 -0
- package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content.js +6 -6
- package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
- package/dist/collection/components/selectable/selectable.css +22 -6
- package/dist/collection/functional-components/mark-text/mark-text.functional-component.js +11 -0
- package/dist/collection/functional-components/mark-text/mark-text.functional-component.js.map +1 -0
- package/dist/collection/functional-components/mark-text/mark-text.interfaces.js +2 -0
- package/dist/collection/functional-components/mark-text/mark-text.interfaces.js.map +1 -0
- package/dist/components/document-component.js +4 -3
- package/dist/components/document-component.js.map +1 -1
- package/dist/components/dso-accordion-section.js +3 -3
- package/dist/components/dso-accordion-section.js.map +1 -1
- package/dist/components/dso-accordion.js +2 -2
- package/dist/components/dso-accordion.js.map +1 -1
- package/dist/components/dso-history-item.js +3 -2
- package/dist/components/dso-history-item.js.map +1 -1
- package/dist/components/dso-list-button.js.map +1 -1
- package/dist/components/ozon-content.js +71 -20
- package/dist/components/ozon-content.js.map +1 -1
- package/dist/components/selectable.js +1 -1
- package/dist/components/selectable.js.map +1 -1
- package/dist/dso-toolkit/dso-accordion-section.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-accordion.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-ozon-content-toggletip.dso-panel.dso-table.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-annotation-locatie.dso-document-component.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-history-item.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-info.dso-selectable.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-list-button.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/p-004b02b7.entry.js +2 -0
- package/dist/dso-toolkit/p-004b02b7.entry.js.map +1 -0
- package/dist/dso-toolkit/p-05275c43.entry.js +2 -0
- package/dist/dso-toolkit/p-05275c43.entry.js.map +1 -0
- package/dist/dso-toolkit/p-32b64025.entry.js.map +1 -1
- package/dist/dso-toolkit/p-4bd397cb.entry.js +2 -0
- package/dist/dso-toolkit/p-4bd397cb.entry.js.map +1 -0
- package/dist/dso-toolkit/p-4f87903d.entry.js +2 -0
- package/dist/dso-toolkit/p-4f87903d.entry.js.map +1 -0
- package/dist/dso-toolkit/p-5a7ce367.entry.js +2 -0
- package/dist/dso-toolkit/p-5a7ce367.entry.js.map +1 -0
- package/dist/dso-toolkit/p-DrItCTMr.js +2 -0
- package/dist/dso-toolkit/p-DrItCTMr.js.map +1 -0
- package/dist/dso-toolkit/p-c0bb872c.entry.js +2 -0
- package/dist/dso-toolkit/p-c0bb872c.entry.js.map +1 -0
- package/dist/esm/dso-accordion-section.entry.js +3 -3
- package/dist/esm/dso-accordion-section.entry.js.map +1 -1
- package/dist/esm/dso-accordion.entry.js +2 -2
- package/dist/esm/dso-accordion.entry.js.map +1 -1
- package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-ozon-content-toggletip.dso-panel.dso-table.entry.js.map +1 -1
- package/dist/esm/dso-alert_7.entry.js +61 -20
- package/dist/esm/dso-alert_7.entry.js.map +1 -1
- package/dist/esm/dso-annotation-locatie.dso-document-component.entry.js.map +1 -1
- package/dist/esm/dso-annotation-locatie_2.entry.js +4 -3
- package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
- package/dist/esm/dso-history-item.entry.js +3 -2
- package/dist/esm/dso-history-item.entry.js.map +1 -1
- package/dist/esm/dso-info.dso-selectable.entry.js.map +1 -1
- package/dist/esm/dso-info_2.entry.js +1 -1
- package/dist/esm/dso-info_2.entry.js.map +1 -1
- package/dist/esm/dso-list-button.entry.js.map +1 -1
- package/dist/esm/parse-wijzigactie-from-node.function-lzoUYmkU.js +38 -0
- package/dist/esm/parse-wijzigactie-from-node.function-lzoUYmkU.js.map +1 -0
- package/dist/types/components/document-component/document-component.interfaces.d.ts +4 -4
- package/dist/types/components/history-item/history-item.interfaces.d.ts +1 -1
- package/dist/types/components/ozon-content/nodes/begrip.node.d.ts +6 -0
- package/dist/types/components/ozon-content/nodes/begrippenlijst.node.d.ts +6 -0
- package/dist/types/components/ozon-content/nodes/table.node/table-cell.d.ts +2 -0
- package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +3 -2
- 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 +3 -2
- package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +0 -6
- package/dist/types/components.d.ts +6 -4
- package/dist/types/functional-components/mark-text/mark-text.functional-component.d.ts +8 -0
- package/dist/types/functional-components/mark-text/mark-text.interfaces.d.ts +6 -0
- package/package.json +3 -3
- package/dist/bundle/p-CFAsG6Ok.js.map +0 -1
- package/dist/bundle/p-CN3aN7RU.js.map +0 -1
- package/dist/bundle/p-ZFqVNkha.js.map +0 -1
- package/dist/cjs/parse-wijzigactie-from-node.function-DVYsomcI.js +0 -29
- package/dist/cjs/parse-wijzigactie-from-node.function-DVYsomcI.js.map +0 -1
- package/dist/dso-toolkit/p-622e11c0.entry.js +0 -2
- package/dist/dso-toolkit/p-622e11c0.entry.js.map +0 -1
- package/dist/dso-toolkit/p-70ea6c42.entry.js +0 -2
- package/dist/dso-toolkit/p-70ea6c42.entry.js.map +0 -1
- package/dist/dso-toolkit/p-932b7006.entry.js +0 -2
- package/dist/dso-toolkit/p-932b7006.entry.js.map +0 -1
- package/dist/dso-toolkit/p-DD1v6_X_.js +0 -2
- package/dist/dso-toolkit/p-DD1v6_X_.js.map +0 -1
- package/dist/dso-toolkit/p-c123217b.entry.js +0 -2
- package/dist/dso-toolkit/p-c123217b.entry.js.map +0 -1
- package/dist/dso-toolkit/p-d14bcff7.entry.js +0 -2
- package/dist/dso-toolkit/p-d14bcff7.entry.js.map +0 -1
- package/dist/dso-toolkit/p-ebef2eef.entry.js +0 -2
- package/dist/dso-toolkit/p-ebef2eef.entry.js.map +0 -1
- package/dist/esm/parse-wijzigactie-from-node.function-DD1v6_X_.js +0 -26
- package/dist/esm/parse-wijzigactie-from-node.function-DD1v6_X_.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dso-list-button.entry.js","sources":["src/components/list-button/list-button.scss?tag=dso-list-button&encapsulation=shadow","src/components/list-button/list-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"list-button.variables\" as list-button-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n@mixin _state-styling($background-color: inherit, $border-color: inherit, $color: inherit) {\r\n & {\r\n background-color: $background-color;\r\n border-color: $border-color;\r\n color: $color;\r\n }\r\n}\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-tertiary {\r\n @include button.tertiary($modifiers: false);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.dso-input-number {\r\n align-items: center;\r\n display: flex;\r\n\r\n .dso-input-step-counter {\r\n text-align: center;\r\n inline-size: units.$ru3;\r\n font-size: list-button-variables.$font-size-count;\r\n }\r\n}\r\n\r\n.dso-button-group {\r\n display: flex;\r\n flex-direction: row;\r\n\r\n &.dso-disabled {\r\n > * {\r\n @include _state-styling(colors.$wit, colors.$grijs-10, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n pointer-events: none;\r\n }\r\n }\r\n }\r\n\r\n > * {\r\n border-radius: 0;\r\n\r\n &:first-child {\r\n border-radius: list-button-variables.$border-radius 0 0 list-button-variables.$border-radius;\r\n }\r\n\r\n &:not(:first-child) {\r\n border-inline-start-style: none !important;\r\n }\r\n\r\n &:last-child {\r\n border-radius: 0 list-button-variables.$border-radius list-button-variables.$border-radius 0;\r\n }\r\n\r\n &:only-child {\r\n border-radius: list-button-variables.$border-radius;\r\n }\r\n }\r\n\r\n > .dso-input-number {\r\n border-style: solid;\r\n border-width: 1px;\r\n flex-wrap: nowrap;\r\n padding-block: 0;\r\n padding-inline: units.$u2;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n justify-content: center;\r\n }\r\n }\r\n\r\n > *:hover + .dso-input-number,\r\n > *:focus + .dso-input-number {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n\r\n > *.dso-selected + .dso-input-number {\r\n box-shadow:\r\n inset 0 -1px 0 0 button.$secondary-border-color,\r\n inset 0 1px 0 0 button.$secondary-border-color,\r\n inset -1px 0 0 0 button.$secondary-border-color;\r\n\r\n @include _state-styling(colors.$wit, button.$secondary-border-color, colors.$grijs-90);\r\n }\r\n\r\n > *:active + .dso-input-number,\r\n > *.active + .dso-input-number {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n > *.disabled + .dso-input-number,\r\n > *[disabled] + .dso-input-number {\r\n &,\r\n &:hover {\r\n opacity: 1;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n }\r\n }\r\n\r\n .dso-list-button {\r\n padding-inline-end: #{units.$u2 - 1};\r\n }\r\n}\r\n\r\n.dso-list-button {\r\n @include button.base($modifiers: false);\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2977\r\n & {\r\n border-radius: button.$border-radius;\r\n border-width: 1px;\r\n border-style: solid;\r\n font-weight: 600;\r\n padding-block: #{units.$u2 - 1};\r\n padding-inline: #{units.$u2 - 1} #{units.$u6 - 1};\r\n position: relative;\r\n text-align: start;\r\n white-space: normal;\r\n inline-size: 100%;\r\n cursor: pointer;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n @include _state-styling(colors.$wit, button.$secondary-border-color, colors.$grijs-90);\r\n }\r\n\r\n &:active,\r\n &.active {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n &.disabled,\r\n &[disabled] {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n\r\n dso-selectable:not(:last-child) {\r\n margin-block-end: 0;\r\n }\r\n\r\n .dso-selectable-container label {\r\n font-weight: 700;\r\n }\r\n\r\n &.dso-selected {\r\n border-color: colors.$grasgroen;\r\n border-width: 1px;\r\n box-shadow:\r\n inset 0px 0px 0px 1px colors.$grasgroen,\r\n inset -1px 0px 0px 0px colors.$grasgroen;\r\n\r\n &.dso-single-count {\r\n @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {\r\n border-inline-end: 0;\r\n box-shadow:\r\n colors.$grasgroen 0px 1px 0px 0px inset,\r\n colors.$grasgroen 1px 0px 0px 0px inset,\r\n colors.$grasgroen 0px -1px 0px 0px inset;\r\n }\r\n }\r\n }\r\n\r\n label {\r\n cursor: inherit;\r\n }\r\n\r\n > span {\r\n display: block;\r\n }\r\n\r\n .dso-sublabel,\r\n .subcontent {\r\n font-weight: 400;\r\n inline-size: 100%;\r\n padding-inline-start: selectable.$size + units.$u1;\r\n }\r\n\r\n dso-icon {\r\n block-size: units.$u3;\r\n color: colors.$grasgroen;\r\n inset-block-start: #{units.$u2 - 1};\r\n inset-inline-end: #{units.$u2 - 1};\r\n inline-size: units.$u3;\r\n page-break-before: always;\r\n position: absolute;\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n &.dso-selected.dso-single-count {\r\n &::after {\r\n inline-size: 0;\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Prop,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { ListButtonChangeEvent, ListButtonSelectedEvent } from \"./list-button.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-list-button\",\r\n shadow: true,\r\n styleUrl: \"list-button.scss\",\r\n})\r\nexport class ListButton implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoListButtonElement;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private get subcontentSlot() {\r\n return this.host.querySelector<HTMLElement>(\"[slot='subcontent']\");\r\n }\r\n\r\n /**\r\n * The label of the List Button.\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The sublabel of the List Button.\r\n */\r\n @Prop()\r\n sublabel?: string;\r\n\r\n /**\r\n * When defined the count can show on the List Button.\r\n */\r\n @Prop()\r\n count?: number;\r\n\r\n /**\r\n * The minimum value.\r\n */\r\n @Prop()\r\n min?: string | number;\r\n\r\n /**\r\n * The maximum value.\r\n */\r\n @Prop()\r\n max?: string | number;\r\n\r\n /**\r\n * Whether the List Button is checked.\r\n */\r\n @Prop({ reflect: true })\r\n checked = false;\r\n\r\n /**\r\n * Whether the List Button is disabled.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Prefix to subcontent for the purpose of screenreading.\r\n */\r\n @Prop()\r\n subcontentPrefix?: string;\r\n\r\n /**\r\n * Emitted when the user changes the count.\r\n */\r\n @Event()\r\n dsoCountChange!: EventEmitter<ListButtonChangeEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the List Button itself.\r\n *\r\n * Does not fire when the user activates the count controls.\r\n */\r\n @Event()\r\n dsoSelectedChange!: EventEmitter<ListButtonSelectedEvent>;\r\n\r\n connectedCallback() {\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\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\r\n componentDidRender(): void {\r\n if (!this.subcontentSlot?.hasAttribute(\"aria-hidden\")) {\r\n this.subcontentSlot?.setAttribute(\"aria-hidden\", \"true\");\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n delete this.mutationObserver;\r\n }\r\n\r\n private stepValue(e: Event, direction: \"increment\" | \"decrement\"): void {\r\n if (typeof this.count === \"number\") {\r\n const newValue = direction === \"increment\" ? this.count + 1 : this.count - 1;\r\n\r\n if (!this.isNewCountValid(newValue)) {\r\n return;\r\n }\r\n\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: newValue,\r\n });\r\n }\r\n }\r\n\r\n private handleSelectClick(e: Event): void {\r\n e.preventDefault();\r\n\r\n if (this.count !== undefined) {\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: this.count > 0 ? 0 : 1,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.dsoSelectedChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n private isNewCountValid(newValue: number): boolean {\r\n return !(\r\n this.min !== undefined &&\r\n this.max !== undefined &&\r\n (newValue < Number(this.min) || newValue > Number(this.max))\r\n );\r\n }\r\n\r\n render() {\r\n const selected = this.checked || (this.count !== undefined && this.count > 0);\r\n\r\n return (\r\n <div class={clsx([\"dso-button-group\", { \"dso-disabled\": this.disabled }])}>\r\n <div\r\n class={clsx([\"dso-list-button\", { \"dso-selected\": selected, \"dso-single-count\": this.count === 1 }])}\r\n onClick={(e) => this.handleSelectClick(e)}\r\n >\r\n <dso-selectable type=\"checkbox\" value=\"list-button\" name=\"naam\" checked={selected} disabled={this.disabled}>\r\n {this.label}\r\n {this.sublabel && <span class=\"sr-only\"> {this.sublabel}</span>}\r\n {this.subcontentSlot && (\r\n <span class=\"sr-only\">\r\n {this.subcontentPrefix && this.subcontentPrefix + \":\"}{\" \"}\r\n <span innerHTML={this.subcontentSlot.innerHTML}></span>\r\n </span>\r\n )}\r\n </dso-selectable>\r\n {this.sublabel && <span class=\"dso-sublabel\">{this.sublabel}</span>}\r\n {this.subcontentSlot && (\r\n <div class=\"subcontent\">\r\n <slot name=\"subcontent\" />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {this.count !== undefined && this.count > 0 && (\r\n <div class=\"dso-input-number\">\r\n {this.count > 1 && (\r\n <Fragment>\r\n <dso-icon-button\r\n label=\"Aantal verlagen\"\r\n variant=\"tertiary\"\r\n icon=\"minus-circle\"\r\n disabled={this.count === Number(this.min) || this.disabled}\r\n onDsoClick={(e) => this.stepValue(e, \"decrement\")}\r\n />\r\n <span class=\"dso-input-step-counter\" aria-label=\"Aantal\" aria-live=\"polite\">\r\n {this.count}\r\n </span>\r\n </Fragment>\r\n )}\r\n\r\n <dso-icon-button\r\n label=\"Aantal verhogen\"\r\n variant=\"tertiary\"\r\n icon=\"plus-circle\"\r\n disabled={this.count === Number(this.max) || this.disabled}\r\n onDsoClick={(e) => this.stepValue(e, \"increment\")}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"names":[],"mappings":";;;AAAA,MAAM,aAAa,GAAG,ixRAAixR;;MCoB1xR,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AA6CE;;AAEG;AAEH,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAEf;;AAEG;AAEH,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AA6IjB;AAzLC,IAAA,IAAY,cAAc,GAAA;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAc,qBAAqB,CAAC;;IAiEpE,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1E,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;AACvC,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,UAAU,EAAE,IAAI;AACjB,SAAA,CAAC;;IAGJ,kBAAkB,GAAA;;AAChB,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,YAAY,CAAC,aAAa,CAAC,CAAA,EAAE;AACrD,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;;;IAI5D,oBAAoB,GAAA;;QAClB,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,EAAE;QACnC,OAAO,IAAI,CAAC,gBAAgB;;IAGtB,SAAS,CAAC,CAAQ,EAAE,SAAoC,EAAA;AAC9D,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAClC,MAAM,QAAQ,GAAG,SAAS,KAAK,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YAE5E,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;gBACnC;;AAGF,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AACvB,gBAAA,aAAa,EAAE,CAAC;AAChB,gBAAA,KAAK,EAAE,QAAQ;AAChB,aAAA,CAAC;;;AAIE,IAAA,iBAAiB,CAAC,CAAQ,EAAA;QAChC,CAAC,CAAC,cAAc,EAAE;AAElB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC5B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AACvB,gBAAA,aAAa,EAAE,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAC9B,aAAA,CAAC;YAEF;;AAGF,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO;AACvB,SAAA,CAAC;;AAGI,IAAA,eAAe,CAAC,QAAgB,EAAA;AACtC,QAAA,OAAO,EACL,IAAI,CAAC,GAAG,KAAK,SAAS;YACtB,IAAI,CAAC,GAAG,KAAK,SAAS;AACtB,aAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAC7D;;IAGH,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAE7E,QACE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,CAAC,kBAAkB,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAA,EACvE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,EACpG,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAA,EAEzC,CAAgB,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,EACvG,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,IAAI,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,OAAG,IAAI,CAAC,QAAQ,CAAQ,EAC9D,IAAI,CAAC,cAAc,KAClB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EAClB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,GAAG,GAAG,EAAE,GAAG,EAC1D,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAA,CAAS,CAClD,CACR,CACc,EAChB,IAAI,CAAC,QAAQ,IAAI,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAE,EAAA,IAAI,CAAC,QAAQ,CAAQ,EAClE,IAAI,CAAC,cAAc,KAClB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,YAAY,EAAG,CAAA,CACtB,CACP,CACG,EAEL,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,KACzC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC1B,IAAI,CAAC,KAAK,GAAG,CAAC,KACb,EAAC,QAAQ,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACP,CACE,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,cAAc,EACnB,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAC1D,UAAU,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,EACjD,CAAA,EACF,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,wBAAwB,EAAA,YAAA,EAAY,QAAQ,EAAA,WAAA,EAAW,QAAQ,EAAA,EACxE,IAAI,CAAC,KAAK,CACN,CACE,CACZ,EAED,CACE,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,aAAa,EAClB,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAC1D,UAAU,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,GACjD,CACE,CACP,CACG;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"dso-list-button.entry.js","sources":["src/components/list-button/list-button.scss?tag=dso-list-button&encapsulation=shadow","src/components/list-button/list-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"list-button.variables\" as list-button-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n@mixin _state-styling($background-color: inherit, $border-color: inherit, $color: inherit) {\r\n & {\r\n background-color: $background-color;\r\n border-color: $border-color;\r\n color: $color;\r\n }\r\n}\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-tertiary {\r\n @include button.tertiary($modifiers: false);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.dso-input-number {\r\n align-items: center;\r\n display: flex;\r\n\r\n .dso-input-step-counter {\r\n text-align: center;\r\n inline-size: units.$ru3;\r\n font-size: list-button-variables.$font-size-count;\r\n }\r\n}\r\n\r\n.dso-button-group {\r\n display: flex;\r\n flex-direction: row;\r\n\r\n &.dso-disabled {\r\n > * {\r\n @include _state-styling(colors.$wit, colors.$grijs-10, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n pointer-events: none;\r\n }\r\n }\r\n }\r\n\r\n > * {\r\n border-radius: 0;\r\n\r\n &:first-child {\r\n border-radius: list-button-variables.$border-radius 0 0 list-button-variables.$border-radius;\r\n }\r\n\r\n &:not(:first-child) {\r\n border-inline-start-style: none !important;\r\n }\r\n\r\n &:last-child {\r\n border-radius: 0 list-button-variables.$border-radius list-button-variables.$border-radius 0;\r\n }\r\n\r\n &:only-child {\r\n border-radius: list-button-variables.$border-radius;\r\n }\r\n }\r\n\r\n > .dso-input-number {\r\n border-style: solid;\r\n border-width: 1px;\r\n flex-wrap: nowrap;\r\n padding-block: 0;\r\n padding-inline: units.$u2;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n justify-content: center;\r\n }\r\n }\r\n\r\n > *:hover + .dso-input-number,\r\n > *:focus + .dso-input-number {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n\r\n > *.dso-selected + .dso-input-number {\r\n box-shadow:\r\n inset 0 -1px 0 0 button.$secondary-border-color,\r\n inset 0 1px 0 0 button.$secondary-border-color,\r\n inset -1px 0 0 0 button.$secondary-border-color;\r\n\r\n @include _state-styling(colors.$wit, button.$secondary-border-color, colors.$grijs-90);\r\n }\r\n\r\n > *:active + .dso-input-number,\r\n > *.active + .dso-input-number {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n > *.disabled + .dso-input-number,\r\n > *[disabled] + .dso-input-number {\r\n &,\r\n &:hover {\r\n opacity: 1;\r\n\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n }\r\n }\r\n\r\n .dso-list-button {\r\n padding-inline-end: #{units.$u2 - 1};\r\n }\r\n}\r\n\r\n.dso-list-button {\r\n @include button.base($modifiers: false);\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-90);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2977\r\n & {\r\n border-radius: button.$border-radius;\r\n border-width: 1px;\r\n border-style: solid;\r\n font-weight: 600;\r\n padding-block: #{units.$u2 - 1};\r\n padding-inline: #{units.$u2 - 1} #{units.$u6 - 1};\r\n position: relative;\r\n text-align: start;\r\n white-space: normal;\r\n inline-size: 100%;\r\n cursor: pointer;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n @include _state-styling(colors.$wit, button.$secondary-border-color, colors.$grijs-90);\r\n }\r\n\r\n &:active,\r\n &.active {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, button.$secondary-hover-background-color, colors.$grijs-90);\r\n }\r\n }\r\n\r\n &.disabled,\r\n &[disabled] {\r\n &,\r\n &:hover {\r\n @include _state-styling(colors.$wit, colors.$grijs-20, colors.$grijs-60);\r\n\r\n // stylelint-disable-next-line no-duplicate-selectors -- needed to fix sass deprecation warnings: #2724\r\n & {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n\r\n dso-selectable:not(:last-child) {\r\n margin-block-end: 0;\r\n }\r\n\r\n .dso-selectable-container label {\r\n font-weight: 700;\r\n }\r\n\r\n &.dso-selected {\r\n border-color: colors.$grasgroen;\r\n border-width: 1px;\r\n box-shadow:\r\n inset 0px 0px 0px 1px colors.$grasgroen,\r\n inset -1px 0px 0px 0px colors.$grasgroen;\r\n\r\n &.dso-single-count {\r\n @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {\r\n border-inline-end: 0;\r\n box-shadow:\r\n colors.$grasgroen 0px 1px 0px 0px inset,\r\n colors.$grasgroen 1px 0px 0px 0px inset,\r\n colors.$grasgroen 0px -1px 0px 0px inset;\r\n }\r\n }\r\n }\r\n\r\n label {\r\n cursor: inherit;\r\n }\r\n\r\n > span {\r\n display: block;\r\n }\r\n\r\n .dso-sublabel,\r\n .subcontent {\r\n font-weight: 400;\r\n inline-size: 100%;\r\n padding-inline-start: units.$u4;\r\n }\r\n\r\n dso-icon {\r\n block-size: units.$u3;\r\n color: colors.$grasgroen;\r\n inset-block-start: #{units.$u2 - 1};\r\n inset-inline-end: #{units.$u2 - 1};\r\n inline-size: units.$u3;\r\n page-break-before: always;\r\n position: absolute;\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n &.dso-selected.dso-single-count {\r\n &::after {\r\n inline-size: 0;\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Prop,\r\n forceUpdate,\r\n h,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { ListButtonChangeEvent, ListButtonSelectedEvent } from \"./list-button.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-list-button\",\r\n shadow: true,\r\n styleUrl: \"list-button.scss\",\r\n})\r\nexport class ListButton implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoListButtonElement;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private get subcontentSlot() {\r\n return this.host.querySelector<HTMLElement>(\"[slot='subcontent']\");\r\n }\r\n\r\n /**\r\n * The label of the List Button.\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The sublabel of the List Button.\r\n */\r\n @Prop()\r\n sublabel?: string;\r\n\r\n /**\r\n * When defined the count can show on the List Button.\r\n */\r\n @Prop()\r\n count?: number;\r\n\r\n /**\r\n * The minimum value.\r\n */\r\n @Prop()\r\n min?: string | number;\r\n\r\n /**\r\n * The maximum value.\r\n */\r\n @Prop()\r\n max?: string | number;\r\n\r\n /**\r\n * Whether the List Button is checked.\r\n */\r\n @Prop({ reflect: true })\r\n checked = false;\r\n\r\n /**\r\n * Whether the List Button is disabled.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Prefix to subcontent for the purpose of screenreading.\r\n */\r\n @Prop()\r\n subcontentPrefix?: string;\r\n\r\n /**\r\n * Emitted when the user changes the count.\r\n */\r\n @Event()\r\n dsoCountChange!: EventEmitter<ListButtonChangeEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the List Button itself.\r\n *\r\n * Does not fire when the user activates the count controls.\r\n */\r\n @Event()\r\n dsoSelectedChange!: EventEmitter<ListButtonSelectedEvent>;\r\n\r\n connectedCallback() {\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\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\r\n componentDidRender(): void {\r\n if (!this.subcontentSlot?.hasAttribute(\"aria-hidden\")) {\r\n this.subcontentSlot?.setAttribute(\"aria-hidden\", \"true\");\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.mutationObserver?.disconnect();\r\n delete this.mutationObserver;\r\n }\r\n\r\n private stepValue(e: Event, direction: \"increment\" | \"decrement\"): void {\r\n if (typeof this.count === \"number\") {\r\n const newValue = direction === \"increment\" ? this.count + 1 : this.count - 1;\r\n\r\n if (!this.isNewCountValid(newValue)) {\r\n return;\r\n }\r\n\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: newValue,\r\n });\r\n }\r\n }\r\n\r\n private handleSelectClick(e: Event): void {\r\n e.preventDefault();\r\n\r\n if (this.count !== undefined) {\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: this.count > 0 ? 0 : 1,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.dsoSelectedChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n private isNewCountValid(newValue: number): boolean {\r\n return !(\r\n this.min !== undefined &&\r\n this.max !== undefined &&\r\n (newValue < Number(this.min) || newValue > Number(this.max))\r\n );\r\n }\r\n\r\n render() {\r\n const selected = this.checked || (this.count !== undefined && this.count > 0);\r\n\r\n return (\r\n <div class={clsx([\"dso-button-group\", { \"dso-disabled\": this.disabled }])}>\r\n <div\r\n class={clsx([\"dso-list-button\", { \"dso-selected\": selected, \"dso-single-count\": this.count === 1 }])}\r\n onClick={(e) => this.handleSelectClick(e)}\r\n >\r\n <dso-selectable type=\"checkbox\" value=\"list-button\" name=\"naam\" checked={selected} disabled={this.disabled}>\r\n {this.label}\r\n {this.sublabel && <span class=\"sr-only\"> {this.sublabel}</span>}\r\n {this.subcontentSlot && (\r\n <span class=\"sr-only\">\r\n {this.subcontentPrefix && this.subcontentPrefix + \":\"}{\" \"}\r\n <span innerHTML={this.subcontentSlot.innerHTML}></span>\r\n </span>\r\n )}\r\n </dso-selectable>\r\n {this.sublabel && <span class=\"dso-sublabel\">{this.sublabel}</span>}\r\n {this.subcontentSlot && (\r\n <div class=\"subcontent\">\r\n <slot name=\"subcontent\" />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {this.count !== undefined && this.count > 0 && (\r\n <div class=\"dso-input-number\">\r\n {this.count > 1 && (\r\n <Fragment>\r\n <dso-icon-button\r\n label=\"Aantal verlagen\"\r\n variant=\"tertiary\"\r\n icon=\"minus-circle\"\r\n disabled={this.count === Number(this.min) || this.disabled}\r\n onDsoClick={(e) => this.stepValue(e, \"decrement\")}\r\n />\r\n <span class=\"dso-input-step-counter\" aria-label=\"Aantal\" aria-live=\"polite\">\r\n {this.count}\r\n </span>\r\n </Fragment>\r\n )}\r\n\r\n <dso-icon-button\r\n label=\"Aantal verhogen\"\r\n variant=\"tertiary\"\r\n icon=\"plus-circle\"\r\n disabled={this.count === Number(this.max) || this.disabled}\r\n onDsoClick={(e) => this.stepValue(e, \"increment\")}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { h, F as Fragment } from './index-DxWmN7gh.js';
|
|
2
|
+
|
|
3
|
+
const MarkText = ({ mark, text, emitMarkItemHighlight }) => {
|
|
4
|
+
const result = mark(text);
|
|
5
|
+
return !result || result.length === 0 ? (h(Fragment, null, text)) : (h(Fragment, null, result.map((value) => {
|
|
6
|
+
if (typeof value === "string") {
|
|
7
|
+
return h(Fragment, null, value);
|
|
8
|
+
}
|
|
9
|
+
return (h("mark", { class: value.highlight ? "dso-highlight" : undefined, ref: (ref) => value.highlight && ref && emitMarkItemHighlight(value.text, ref) }, value.text));
|
|
10
|
+
})));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const parser = new DOMParser();
|
|
14
|
+
function parseXml(input) {
|
|
15
|
+
if (!input) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const doc = parser.parseFromString(input, "application/xml");
|
|
19
|
+
if (doc.querySelector("parsererror")) {
|
|
20
|
+
console.error({
|
|
21
|
+
message: "Unable to parse XML",
|
|
22
|
+
input,
|
|
23
|
+
document: doc,
|
|
24
|
+
}, null, 2);
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
return doc;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function parseWijzigactieFromNode(node) {
|
|
31
|
+
const wijzigactie = node instanceof Element ? node.getAttribute("wijzigactie") : undefined;
|
|
32
|
+
return wijzigactie === "voegtoe" || wijzigactie === "verwijder" ? wijzigactie : undefined;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { MarkText as M, parseWijzigactieFromNode as a, parseXml as p };
|
|
36
|
+
//# sourceMappingURL=parse-wijzigactie-from-node.function-lzoUYmkU.js.map
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=parse-wijzigactie-from-node.function-lzoUYmkU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-wijzigactie-from-node.function-lzoUYmkU.js","sources":["src/functional-components/mark-text/mark-text.functional-component.tsx","src/utils/parse-xml.ts","src/components/ozon-content/functions/parse-wijzigactie-from-node.function.ts"],"sourcesContent":["import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { MarkTextMarkFunction } from \"./mark-text.interfaces\";\r\n\r\nexport interface MarkTextProps {\r\n mark: MarkTextMarkFunction;\r\n text: string;\r\n emitMarkItemHighlight(text: string, elementRef: HTMLElement): void;\r\n}\r\n\r\nexport const MarkText: FunctionalComponent<MarkTextProps> = ({ mark, text, emitMarkItemHighlight }) => {\r\n const result = mark(text);\r\n\r\n return !result || result.length === 0 ? (\r\n <Fragment>{text}</Fragment>\r\n ) : (\r\n <Fragment>\r\n {result.map((value) => {\r\n if (typeof value === \"string\") {\r\n return <Fragment>{value}</Fragment>;\r\n }\r\n\r\n return (\r\n <mark\r\n class={value.highlight ? \"dso-highlight\" : undefined}\r\n ref={(ref) => value.highlight && ref && emitMarkItemHighlight(value.text, ref)}\r\n >\r\n {value.text}\r\n </mark>\r\n );\r\n })}\r\n </Fragment>\r\n );\r\n};\r\n","const parser = new DOMParser();\r\n\r\nexport function parseXml(input: string): XMLDocument | undefined {\r\n if (!input) {\r\n return undefined;\r\n }\r\n\r\n const doc = parser.parseFromString(input, \"application/xml\");\r\n\r\n if (doc.querySelector(\"parsererror\")) {\r\n console.error(\r\n {\r\n message: \"Unable to parse XML\",\r\n input,\r\n document: doc,\r\n },\r\n null,\r\n 2,\r\n );\r\n\r\n return undefined;\r\n }\r\n\r\n return doc;\r\n}\r\n","import { OzonContentWijzigActie } from \"../ozon-content.interfaces\";\r\n\r\nexport function parseWijzigactieFromNode(node: Node): OzonContentWijzigActie | undefined {\r\n const wijzigactie = node instanceof Element ? node.getAttribute(\"wijzigactie\") : undefined;\r\n\r\n return wijzigactie === \"voegtoe\" || wijzigactie === \"verwijder\" ? wijzigactie : undefined;\r\n}\r\n"],"names":[],"mappings":";;AAUO,MAAM,QAAQ,GAAuC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAI;AACpG,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;AAEzB,IAAA,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IACnC,CAAA,CAAC,QAAQ,EAAE,IAAA,EAAA,IAAI,CAAY,KAE3B,EAAC,QAAQ,EAAA,IAAA,EACN,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AACpB,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,OAAO,CAAC,CAAA,QAAQ,EAAE,IAAA,EAAA,KAAK,CAAY;;AAGrC,QAAA,QACE,CACE,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,eAAe,GAAG,SAAS,EACpD,GAAG,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,SAAS,IAAI,GAAG,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAE7E,EAAA,KAAK,CAAC,IAAI,CACN;KAEV,CAAC,CACO,CACZ;AACH;;ACjCA,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE;AAExB,SAAU,QAAQ,CAAC,KAAa,EAAA;IACpC,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,SAAS;;IAGlB,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC;AAE5D,IAAA,IAAI,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;QACpC,OAAO,CAAC,KAAK,CACX;AACE,YAAA,OAAO,EAAE,qBAAqB;YAC9B,KAAK;AACL,YAAA,QAAQ,EAAE,GAAG;AACd,SAAA,EACD,IAAI,EACJ,CAAC,CACF;AAED,QAAA,OAAO,SAAS;;AAGlB,IAAA,OAAO,GAAG;AACZ;;ACtBM,SAAU,wBAAwB,CAAC,IAAU,EAAA;AACjD,IAAA,MAAM,WAAW,GAAG,IAAI,YAAY,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,SAAS;AAE1F,IAAA,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,WAAW,GAAG,WAAW,GAAG,SAAS;AAC3F;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DsoOzonContentCustomEvent } from "../../components";
|
|
2
|
-
import {
|
|
2
|
+
import { MarkTextText } from "../../functional-components/mark-text/mark-text.interfaces";
|
|
3
|
+
import { OzonContentClickEvent } from "../ozon-content/ozon-content.interfaces";
|
|
3
4
|
export interface DocumentComponentOpenToggleEvent {
|
|
4
5
|
originalEvent: Event;
|
|
5
6
|
open: boolean;
|
|
@@ -14,8 +15,8 @@ export interface DocumentComponentOzonContentClickEvent {
|
|
|
14
15
|
ozonContentClick: OzonContentClickEvent;
|
|
15
16
|
}
|
|
16
17
|
export type DocumentComponentInputType = XMLDocument | string;
|
|
17
|
-
type DocumentComponentSource = "kop" | "inhoud";
|
|
18
|
-
export type DocumentComponentMarkFunction = (text: string, source: DocumentComponentSource) =>
|
|
18
|
+
export type DocumentComponentSource = "kop" | "inhoud" | "alternativeTitle";
|
|
19
|
+
export type DocumentComponentMarkFunction = (text: string, source: DocumentComponentSource) => MarkTextText[];
|
|
19
20
|
export interface DocumentComponentMarkItemHighlightEvent {
|
|
20
21
|
source: DocumentComponentSource;
|
|
21
22
|
text: string;
|
|
@@ -37,4 +38,3 @@ export interface DocumentComponentAantekenElement {
|
|
|
37
38
|
type: "Vervallen" | "Gereserveerd";
|
|
38
39
|
wijzigactie?: DocumentComponentWijzigactie;
|
|
39
40
|
}
|
|
40
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type HistoryItemType = "in-werking" | "besluit" | "tijdelijk-regelingdeel" | "waarschuwing" | "ontwerp";
|
|
1
|
+
export type HistoryItemType = "in-werking" | "besluit" | "tijdelijk-regelingdeel" | "tijdelijk-regelingdeel-besluit" | "waarschuwing" | "ontwerp";
|
|
2
2
|
export interface HistoryItemClickEvent {
|
|
3
3
|
originalEvent: MouseEvent;
|
|
4
4
|
/** True when user clicked the card while holding Ctrl, Alt or other modifiers, or when the card is right-clicked. Can be used to determine navigation. */
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { OzonContentNodeContext } from "../ozon-content-node-context.interface";
|
|
2
|
+
import { OzonContentNode } from "../ozon-content-node.interface";
|
|
3
|
+
export declare class OzonContentBegripNode implements OzonContentNode {
|
|
4
|
+
name: string;
|
|
5
|
+
render(node: Element, { mapNodeToJsx }: OzonContentNodeContext): any;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { OzonContentNodeContext } from "../ozon-content-node-context.interface";
|
|
2
|
+
import { OzonContentNode } from "../ozon-content-node.interface";
|
|
3
|
+
export declare class OzonContentBegrippenlijstNode implements OzonContentNode {
|
|
4
|
+
name: string;
|
|
5
|
+
render(node: Element, { mapNodeToJsx }: OzonContentNodeContext): any;
|
|
6
|
+
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { FunctionalComponent } from "../../../../stencil-public-runtime";
|
|
2
2
|
import { OzonContentNodeContext } from "../../ozon-content-node-context.interface";
|
|
3
|
+
import { OzonContentWijzigActie } from "../../ozon-content.interfaces";
|
|
3
4
|
import { Colspecs } from "./colspec/colspec.interface";
|
|
4
5
|
export declare const Cell: FunctionalComponent<{
|
|
5
6
|
context: OzonContentNodeContext;
|
|
6
7
|
colspecs: Colspecs | undefined;
|
|
7
8
|
cell: Element;
|
|
9
|
+
wijzigactie: OzonContentWijzigActie | undefined;
|
|
8
10
|
}>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { EventEmitter } from "../../stencil-public-runtime";
|
|
2
|
+
import { MarkTextMarkFunction } from "../../functional-components/mark-text/mark-text.interfaces";
|
|
2
3
|
import { OzonContentNodeState } from "./ozon-content-node-state.interface";
|
|
3
|
-
import { OzonContentBegripResolver, OzonContentClickEvent,
|
|
4
|
+
import { OzonContentBegripResolver, OzonContentClickEvent, OzonContentUrlResolver } from "./ozon-content.interfaces";
|
|
4
5
|
export interface OzonContentContext {
|
|
5
6
|
state: OzonContentNodeState;
|
|
6
7
|
inline: boolean;
|
|
7
|
-
mark:
|
|
8
|
+
mark: MarkTextMarkFunction | undefined;
|
|
8
9
|
setState(state: OzonContentNodeState): void;
|
|
9
10
|
emitClick: EventEmitter<OzonContentClickEvent>["emit"];
|
|
10
11
|
emitMarkItemHighlight(text: string, ref: HTMLElement): void;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { JSX } from "../../stencil-public-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { MarkTextMarkFunction } from "../../functional-components/mark-text/mark-text.interfaces";
|
|
3
|
+
import { OzonContentBegripResolver, OzonContentClickEvent, OzonContentUrlResolver } from "./ozon-content.interfaces";
|
|
3
4
|
export interface OzonContentNodeContext<T = unknown> {
|
|
4
5
|
inline: boolean;
|
|
5
6
|
path: Node[];
|
|
6
|
-
mark:
|
|
7
|
+
mark: MarkTextMarkFunction | undefined;
|
|
7
8
|
mapNodeToJsx(node: Node | Node[] | NodeList): JSX.Element;
|
|
8
9
|
emitClick(event: OzonContentClickEvent): void;
|
|
9
10
|
state?: T;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ComponentInterface, EventEmitter, JSX } from "../../stencil-public-runtime";
|
|
2
|
+
import { MarkTextMarkFunction } from "../../functional-components/mark-text/mark-text.interfaces";
|
|
2
3
|
import { OzonContentNodeState } from "./ozon-content-node-state.interface";
|
|
3
|
-
import { OzonContentBegripResolver, OzonContentClickEvent, OzonContentInputType,
|
|
4
|
+
import { OzonContentBegripResolver, OzonContentClickEvent, OzonContentInputType, OzonContentMarkItemHighlightEvent, OzonContentUrlResolver } from "./ozon-content.interfaces";
|
|
4
5
|
export declare class OzonContent implements ComponentInterface {
|
|
5
6
|
/**
|
|
6
7
|
* The XML to be rendered.
|
|
@@ -13,7 +14,7 @@ export declare class OzonContent implements ComponentInterface {
|
|
|
13
14
|
/**
|
|
14
15
|
* To mark text.
|
|
15
16
|
*/
|
|
16
|
-
mark?:
|
|
17
|
+
mark?: MarkTextMarkFunction;
|
|
17
18
|
/**
|
|
18
19
|
* A UrlResolver that will be called for all STOP elements that render to HTML5 elements with external references.
|
|
19
20
|
*/
|
|
@@ -10,12 +10,6 @@ export type OzonContentClickIntRefEvent = OzonContentClickBaseEvent<"IntRef"> &
|
|
|
10
10
|
};
|
|
11
11
|
export type OzonContentClickEvent = OzonContentClickKopEvent | OzonContentClickIntRefEvent | OzonContentClickIntIoRefEvent;
|
|
12
12
|
export type OzonContentInputType = XMLDocument | string;
|
|
13
|
-
export type OzonContentMarkFunction = (text: string) => OzonContentText[] | undefined;
|
|
14
|
-
export type OzonContentText = OzonContentMarkItem | string;
|
|
15
|
-
export interface OzonContentMarkItem {
|
|
16
|
-
text: string;
|
|
17
|
-
highlight?: boolean;
|
|
18
|
-
}
|
|
19
13
|
export interface OzonContentMarkItemHighlightEvent {
|
|
20
14
|
text: string;
|
|
21
15
|
elementRef: HTMLElement;
|
|
@@ -21,7 +21,7 @@ import { CardContainerMode } from "./components/card-container/card-container.in
|
|
|
21
21
|
import { DatePickerBlurEvent, DatePickerChangeEvent, DatePickerFocusEvent, DatePickerKeyboardEvent } from "./components/date-picker/date-picker.interfaces";
|
|
22
22
|
import { DocumentCardClickEvent } from "./components/document-card/document-card.interfaces";
|
|
23
23
|
import { DocumentComponentAnnotationsWijzigactie, DocumentComponentInputType, DocumentComponentMarkFunction, DocumentComponentMarkItemHighlightEvent, DocumentComponentMode, DocumentComponentOpenToggleEvent, DocumentComponentOzonContentClickEvent, DocumentComponentRecursiveToggleEvent, DocumentComponentRecursiveToggleState, DocumentComponentTableOfContentsClickEvent, DocumentComponentToggleAnnotationEvent, DocumentComponentWijzigactie } from "./components/document-component/document-component.interfaces";
|
|
24
|
-
import { OzonContentBegripResolver, OzonContentClickEvent, OzonContentInputType,
|
|
24
|
+
import { OzonContentBegripResolver, OzonContentClickEvent, OzonContentInputType, OzonContentMarkItemHighlightEvent, OzonContentUrlResolver } from "./components/ozon-content/ozon-content.interfaces";
|
|
25
25
|
import { ExpandableAnimationEndEvent, ExpandableAnimationStartEvent } from "./components/expandable/expandable";
|
|
26
26
|
import { HeaderAuthStatus, HeaderCompactMode, HeaderEvent, HeaderMenuItem } from "./components/header/header.interfaces";
|
|
27
27
|
import { HistoryItemClickEvent, HistoryItemType } from "./components/history-item/history-item.interfaces";
|
|
@@ -38,6 +38,7 @@ import { Overlay, OverlayChangeEvent } from "./components/map-overlays/map-overl
|
|
|
38
38
|
import { MarkBarClearEvent, MarkBarFocusOptions, MarkBarInputEvent, MarkBarPaginationEvent } from "./components/mark-bar/mark-bar.interfaces";
|
|
39
39
|
import { ModalCloseEvent } from "./components/modal/modal.interfaces";
|
|
40
40
|
import { OnboardingTipCloseEvent } from "./components/onboarding-tip/onboarding-tip.interfaces";
|
|
41
|
+
import { MarkTextMarkFunction } from "./functional-components/mark-text/mark-text.interfaces";
|
|
41
42
|
import { PaginationSelectPageEvent } from "./components/pagination/pagination.interfaces";
|
|
42
43
|
import { PanelCloseEvent } from "./components/panel/panel";
|
|
43
44
|
import { PlekinfoCardClickEvent, PlekinfoWijzigactie } from "./components/plekinfo-card/plekinfo-card.interfaces";
|
|
@@ -68,7 +69,7 @@ export { CardContainerMode } from "./components/card-container/card-container.in
|
|
|
68
69
|
export { DatePickerBlurEvent, DatePickerChangeEvent, DatePickerFocusEvent, DatePickerKeyboardEvent } from "./components/date-picker/date-picker.interfaces";
|
|
69
70
|
export { DocumentCardClickEvent } from "./components/document-card/document-card.interfaces";
|
|
70
71
|
export { DocumentComponentAnnotationsWijzigactie, DocumentComponentInputType, DocumentComponentMarkFunction, DocumentComponentMarkItemHighlightEvent, DocumentComponentMode, DocumentComponentOpenToggleEvent, DocumentComponentOzonContentClickEvent, DocumentComponentRecursiveToggleEvent, DocumentComponentRecursiveToggleState, DocumentComponentTableOfContentsClickEvent, DocumentComponentToggleAnnotationEvent, DocumentComponentWijzigactie } from "./components/document-component/document-component.interfaces";
|
|
71
|
-
export { OzonContentBegripResolver, OzonContentClickEvent, OzonContentInputType,
|
|
72
|
+
export { OzonContentBegripResolver, OzonContentClickEvent, OzonContentInputType, OzonContentMarkItemHighlightEvent, OzonContentUrlResolver } from "./components/ozon-content/ozon-content.interfaces";
|
|
72
73
|
export { ExpandableAnimationEndEvent, ExpandableAnimationStartEvent } from "./components/expandable/expandable";
|
|
73
74
|
export { HeaderAuthStatus, HeaderCompactMode, HeaderEvent, HeaderMenuItem } from "./components/header/header.interfaces";
|
|
74
75
|
export { HistoryItemClickEvent, HistoryItemType } from "./components/history-item/history-item.interfaces";
|
|
@@ -85,6 +86,7 @@ export { Overlay, OverlayChangeEvent } from "./components/map-overlays/map-overl
|
|
|
85
86
|
export { MarkBarClearEvent, MarkBarFocusOptions, MarkBarInputEvent, MarkBarPaginationEvent } from "./components/mark-bar/mark-bar.interfaces";
|
|
86
87
|
export { ModalCloseEvent } from "./components/modal/modal.interfaces";
|
|
87
88
|
export { OnboardingTipCloseEvent } from "./components/onboarding-tip/onboarding-tip.interfaces";
|
|
89
|
+
export { MarkTextMarkFunction } from "./functional-components/mark-text/mark-text.interfaces";
|
|
88
90
|
export { PaginationSelectPageEvent } from "./components/pagination/pagination.interfaces";
|
|
89
91
|
export { PanelCloseEvent } from "./components/panel/panel";
|
|
90
92
|
export { PlekinfoCardClickEvent, PlekinfoWijzigactie } from "./components/plekinfo-card/plekinfo-card.interfaces";
|
|
@@ -1033,7 +1035,7 @@ export namespace Components {
|
|
|
1033
1035
|
/**
|
|
1034
1036
|
* To mark text.
|
|
1035
1037
|
*/
|
|
1036
|
-
"mark"?:
|
|
1038
|
+
"mark"?: MarkTextMarkFunction;
|
|
1037
1039
|
/**
|
|
1038
1040
|
* A UrlResolver that will be called for all STOP elements that render to HTML5 elements with external references.
|
|
1039
1041
|
*/
|
|
@@ -3739,7 +3741,7 @@ declare namespace LocalJSX {
|
|
|
3739
3741
|
/**
|
|
3740
3742
|
* To mark text.
|
|
3741
3743
|
*/
|
|
3742
|
-
"mark"?:
|
|
3744
|
+
"mark"?: MarkTextMarkFunction;
|
|
3743
3745
|
/**
|
|
3744
3746
|
* Emitted when an interactive element is clicked.
|
|
3745
3747
|
*/
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FunctionalComponent } from "../../stencil-public-runtime";
|
|
2
|
+
import { MarkTextMarkFunction } from "./mark-text.interfaces";
|
|
3
|
+
export interface MarkTextProps {
|
|
4
|
+
mark: MarkTextMarkFunction;
|
|
5
|
+
text: string;
|
|
6
|
+
emitMarkItemHighlight(text: string, elementRef: HTMLElement): void;
|
|
7
|
+
}
|
|
8
|
+
export declare const MarkText: FunctionalComponent<MarkTextProps>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dso-toolkit/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "82.0.0",
|
|
4
4
|
"description": "DSO Toolkit Web Components",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/components/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@stencil/core": "4.36.1",
|
|
25
25
|
"@stencil/store": "^2.2.0",
|
|
26
26
|
"clsx": "^2.1.1",
|
|
27
|
-
"dso-toolkit": "^
|
|
27
|
+
"dso-toolkit": "^82.0.0",
|
|
28
28
|
"escape-string-regexp": "^5.0.0",
|
|
29
29
|
"focus-trap": "^7.6.4",
|
|
30
30
|
"i18next": "^25.2.0",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"typescript": "~5.8.3"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
|
-
"dso-toolkit": "
|
|
60
|
+
"dso-toolkit": "82.0.0"
|
|
61
61
|
},
|
|
62
62
|
"nx": {
|
|
63
63
|
"includedScripts": []
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-CFAsG6Ok.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/document-component/document-component-heading.tsx","src/components/document-component/document-component.scss?tag=dso-document-component&encapsulation=shadow","src/components/document-component/document-component.tsx"],"sourcesContent":["import { FunctionalComponent, VNode, h } from \"@stencil/core\";\r\nimport { JSXBase } from \"@stencil/core/internal\";\r\n\r\nimport { DocumentComponentMode } from \"./document-component.interfaces\";\r\n\r\ninterface DocumentComponentHeadingProps {\r\n heading: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\r\n mode: DocumentComponentMode;\r\n href?: string;\r\n}\r\n\r\nexport const Heading: FunctionalComponent<\r\n DocumentComponentHeadingProps & JSXBase.HTMLAttributes<HTMLHeadingElement>\r\n> = ({ heading, mode, href, onClick, ...props }, children) => {\r\n let headingElement: VNode;\r\n\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n headingElement = (\r\n <h2 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h2>\r\n );\r\n break;\r\n case \"h3\":\r\n headingElement = (\r\n <h3 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h3>\r\n );\r\n break;\r\n case \"h4\":\r\n headingElement = (\r\n <h4 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h4>\r\n );\r\n break;\r\n case \"h5\":\r\n headingElement = (\r\n <h5 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h5>\r\n );\r\n break;\r\n case \"h6\":\r\n headingElement = (\r\n <h6 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h6>\r\n );\r\n }\r\n\r\n if (mode === \"table-of-contents\" && href) {\r\n return (\r\n <a href={href} onClick={onClick} class=\"heading-anchor\">\r\n {headingElement}\r\n </a>\r\n );\r\n }\r\n\r\n return headingElement;\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n@use \"~dso-toolkit/src/components/link\";\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/document-component\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n@use \"~dso-toolkit/src/components/insert\";\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n:host {\r\n display: block;\r\n\r\n --depth: var(--a, 0);\r\n}\r\n\r\n:host([not-collapsible]:where([wijzigactie=\"verwijder\"], [wijzigactie=\"voegtoe\"])) {\r\n padding-inline-start: units.$u1;\r\n margin-inline-end: units.$u1;\r\n}\r\n\r\n:host(:where([wijzigactie=\"verwijder\"], [wijzigactie=\"voegtoe\"])),\r\n:host(:where([wijzigactie=\"nieuweContainer\"], [wijzigactie=\"verwijderContainer\"])) .heading-container {\r\n padding-block-start: units.$u1 * 0.5;\r\n padding-block-end: units.$u1 * 0.5;\r\n}\r\n\r\n:host([wijzigactie=\"verwijderContainer\"]) .heading-container,\r\n:host(:where([wijzigactie=\"verwijder\"])) {\r\n --_dso-document-component-text-decoration: line-through;\r\n\r\n @include delete.root($strikethrough: false);\r\n}\r\n\r\n.heading-element,\r\n.content {\r\n @include delete.strikethrough($_value: var(--_dso-document-component-text-decoration));\r\n}\r\n\r\n:host([wijzigactie=\"nieuweContainer\"]) .heading-container,\r\n:host([wijzigactie=\"voegtoe\"]) {\r\n @include insert.root();\r\n}\r\n\r\n:host([filtered]) {\r\n position: relative;\r\n\r\n &::before {\r\n content: \"\";\r\n inset-inline-start: -3px;\r\n position: absolute;\r\n display: block;\r\n inline-size: 3px;\r\n inset-block-start: 0;\r\n inset-block-end: 0;\r\n background-color: colors.$lichtblauw;\r\n }\r\n}\r\n\r\n:host([open]),\r\n:host([open-annotation]) {\r\n .annotation-container,\r\n .heading-container {\r\n margin-block-end: units.$u1;\r\n }\r\n}\r\n\r\n:host(:not([open])),\r\n:host([mode=\"table-of-contents\"]) {\r\n dso-ozon-content::part(_subtitels) {\r\n display: none;\r\n }\r\n}\r\n\r\n.recursive-toggle,\r\n.toggle-button {\r\n --_dso-icon-button-tertiary-color: #{colors.$bosgroen};\r\n border: 0;\r\n padding: 0;\r\n background: 0;\r\n color: colors.$bosgroen;\r\n}\r\n\r\n.heading-anchor {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n\r\n @include link.root();\r\n\r\n text-decoration: none;\r\n}\r\n\r\n.heading-element {\r\n align-items: start;\r\n display: flex;\r\n font-size: 1rem;\r\n color: colors.$bosgroen;\r\n margin: 0;\r\n\r\n > * {\r\n vertical-align: middle;\r\n }\r\n}\r\n\r\n#heading-title {\r\n display: block;\r\n}\r\n\r\n:host([not-collapsible]) {\r\n .heading-container {\r\n margin-block-end: 0;\r\n }\r\n\r\n .editaction-label {\r\n margin-inline-start: 0;\r\n }\r\n\r\n dso-ozon-content.kop::part(_kop) {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n:host([mode=\"document\"]:not([not-collapsible])) {\r\n --link-color: #{document-component.$heading-anchor-color};\r\n --link-hover-color: #{document-component.$heading-anchor-hover-color};\r\n\r\n .heading-title > dso-ozon-content {\r\n cursor: pointer;\r\n @include link.pseudo();\r\n }\r\n\r\n dso-ozon-content {\r\n &.kop::part(_kop) {\r\n cursor: pointer;\r\n\r\n &:hover {\r\n color: var(--link-hover-color);\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n &[inline].kop::part(_kop) {\r\n display: inline;\r\n }\r\n }\r\n\r\n .editaction-label {\r\n margin-inline-start: document-component.$indent;\r\n }\r\n}\r\n\r\n:host([mode=\"document\"]:not([not-collapsible]):active) {\r\n dso-ozon-content.kop::part(_kop) {\r\n text-decoration: none;\r\n }\r\n}\r\n\r\n:host([mode=\"table-of-contents\"]) {\r\n .heading-container {\r\n padding-inline-start: document-component.$indent-table-of-contents;\r\n }\r\n\r\n .heading-element {\r\n color: inherit;\r\n }\r\n\r\n .editaction-label {\r\n margin-inline-start: 0;\r\n }\r\n}\r\n\r\n:host([mode=\"table-of-contents\"][type=\"ARTIKEL\"]) {\r\n dso-ozon-content.kop::part(_kop) {\r\n --_dso-icon-button-tertiary-color: inherit;\r\n color: inherit;\r\n }\r\n}\r\n\r\n:host([mode=\"table-of-contents\"]:not([type=\"HOOFDSTUK\"])) {\r\n dso-ozon-content.kop::part(_kop) {\r\n font-weight: normal;\r\n }\r\n}\r\n\r\n.addons {\r\n margin-inline-start: auto;\r\n display: flex;\r\n gap: units.$u1;\r\n}\r\n\r\n.heading {\r\n display: flex;\r\n align-items: start;\r\n gap: units.$u1;\r\n}\r\n\r\n:host([type=\"ARTIKEL\"]:not([alternative-title])) {\r\n dso-ozon-content.kop::part(_kop),\r\n .toggle-button {\r\n --_dso-icon-button-tertiary-color: #{colors.$zwart};\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n:host([type=\"LID\"][open-annotation]) {\r\n .annotation-container {\r\n margin-block-start: units.$u1;\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n margin-inline-start: units.$u1;\r\n}\r\n\r\n.content,\r\n.heading-container {\r\n padding-inline-end: units.$u1;\r\n}\r\n\r\n.content {\r\n --_dso-alert-margin-block-end: #{units.$u1};\r\n}\r\n\r\n.annotation-container {\r\n padding-inline-end: units.$u1;\r\n\r\n dso-panel {\r\n --_dso-panel-body-background-color: #{colors.$wit};\r\n }\r\n}\r\n\r\n:host(:where([annotations-wijzigactie=\"verwijder\"])) {\r\n .annotation-container {\r\n dso-panel {\r\n --_dso-panel-body-background-color: #{colors.$rood-10};\r\n --_dso-renvooi-text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n:host([annotations-wijzigactie=\"voegtoe\"]) {\r\n .annotation-container {\r\n dso-panel {\r\n --_dso-panel-body-background-color: #{colors.$lime-10};\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n FunctionalComponent,\r\n Host,\r\n Prop,\r\n h,\r\n} from \"@stencil/core\";\r\n\r\nimport { DsoOzonContentCustomEvent } from \"../../components\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\nimport { parseXml } from \"../../utils/parse-xml\";\r\nimport { parseWijzigactieFromNode } from \"../ozon-content/functions/parse-wijzigactie-from-node.function\";\r\nimport {\r\n OzonContentBegripResolver,\r\n OzonContentClickEvent,\r\n OzonContentUrlResolver,\r\n} from \"../ozon-content/ozon-content.interfaces\";\r\n\r\nimport { Heading } from \"./document-component-heading\";\r\nimport {\r\n DocumentComponentAantekenElement,\r\n DocumentComponentAnnotationsWijzigactie,\r\n DocumentComponentInputType,\r\n DocumentComponentMarkFunction,\r\n DocumentComponentMarkItemHighlightEvent,\r\n DocumentComponentMode,\r\n DocumentComponentOpenToggleEvent,\r\n DocumentComponentOzonContentClickEvent,\r\n DocumentComponentRecursiveToggleEvent,\r\n DocumentComponentRecursiveToggleState,\r\n DocumentComponentTableOfContentsClickEvent,\r\n DocumentComponentToggleAnnotationEvent,\r\n DocumentComponentWijzigactie,\r\n} from \"./document-component.interfaces\";\r\n\r\nconst wijzigactieLabels: { [wijzigactie in DocumentComponentWijzigactie]: string } = {\r\n nieuweContainer: \"Toegevoegd\",\r\n verwijder: \"Verwijderd\",\r\n verwijderContainer: \"Verwijderd\",\r\n voegtoe: \"Toegevoegd\",\r\n};\r\n\r\nconst AantekenStatus: FunctionalComponent<{\r\n gereserveerd?: DocumentComponentAantekenElement;\r\n vervallen?: DocumentComponentAantekenElement;\r\n}> = ({ gereserveerd, vervallen }) => {\r\n return (\r\n <Fragment>\r\n {\" \"}\r\n {gereserveerd && (\r\n <dso-label\r\n compact\r\n {...(gereserveerd.wijzigactie\r\n ? { status: gereserveerd.wijzigactie === \"voegtoe\" ? \"toegevoegd\" : \"verwijderd\" }\r\n : {})}\r\n >\r\n {gereserveerd.type}\r\n </dso-label>\r\n )}{\" \"}\r\n {vervallen && (\r\n <dso-label\r\n compact\r\n {...(vervallen.wijzigactie\r\n ? { status: vervallen.wijzigactie === \"voegtoe\" ? \"toegevoegd\" : \"verwijderd\" }\r\n : {})}\r\n >\r\n {vervallen.type}\r\n </dso-label>\r\n )}\r\n </Fragment>\r\n );\r\n};\r\n\r\nconst AantekenAlert: FunctionalComponent<{\r\n gereserveerd?: DocumentComponentAantekenElement;\r\n vervallen?: DocumentComponentAantekenElement;\r\n}> = ({ gereserveerd, vervallen }) => {\r\n if (gereserveerd && gereserveerd.wijzigactie !== \"verwijder\" && !vervallen) {\r\n return <dso-alert status=\"info\">Dit onderdeel is gereserveerd voor toekomstige toevoeging.</dso-alert>;\r\n }\r\n\r\n if (vervallen && vervallen.wijzigactie !== \"voegtoe\" && !gereserveerd) {\r\n return <dso-alert status=\"info\">Dit onderdeel is vervallen.</dso-alert>;\r\n }\r\n\r\n return null;\r\n};\r\n\r\n/**\r\n * @part _annotation-container - private part, do not touch.\r\n * @part _children-container - private part, do not touch.\r\n * @part _content - private part, do not touch.\r\n * @part _heading-container - private part, do not touch.\r\n */\r\n@Component({\r\n tag: \"dso-document-component\",\r\n styleUrl: \"document-component.scss\",\r\n shadow: true,\r\n})\r\nexport class DocumentComponent implements ComponentInterface {\r\n /**\r\n * The heading element to use.\r\n */\r\n @Prop()\r\n heading: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" = \"h2\";\r\n\r\n private _kopInput?: DocumentComponentInputType;\r\n private _kop?: XMLDocument;\r\n /**\r\n * The Kop XML.\r\n */\r\n @Prop()\r\n get kop(): DocumentComponentInputType | undefined {\r\n return this._kopInput;\r\n }\r\n set kop(value: DocumentComponentInputType | undefined) {\r\n this._kopInput = value;\r\n this._kop = typeof value === \"string\" ? parseXml(value) : value;\r\n }\r\n\r\n private _inhoudInput?: DocumentComponentInputType;\r\n private _inhoud?: XMLDocument;\r\n /**\r\n * The Inhoud XML.\r\n */\r\n @Prop()\r\n get inhoud(): DocumentComponentInputType | undefined {\r\n return this._inhoudInput;\r\n }\r\n set inhoud(value: DocumentComponentInputType | undefined) {\r\n this._inhoudInput = value;\r\n this._inhoud = typeof value === \"string\" ? parseXml(value) : value;\r\n }\r\n\r\n /**\r\n * This boolean attribute indicates whether the children are visible.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n /**\r\n * Marks this Document Component as belonging to an active filter.\r\n */\r\n @Prop({ reflect: true })\r\n filtered = false;\r\n\r\n /**\r\n * Marks this Document Component as not-applicable.\r\n */\r\n @Prop({ reflect: true })\r\n notApplicable = false;\r\n\r\n /**\r\n * When a child Document Component has a status \"Draft\".\r\n */\r\n @Prop({ reflect: true })\r\n genesteOntwerpInformatie = false;\r\n\r\n /**\r\n * Marks as draft.\r\n */\r\n @Prop({ reflect: true })\r\n bevatOntwerpInformatie = false;\r\n\r\n /**\r\n * Enables annotations.\r\n */\r\n @Prop({ reflect: true })\r\n annotated = false;\r\n\r\n private _gereserveerdInput?: DocumentComponentInputType;\r\n private _gereserveerd?: DocumentComponentAantekenElement;\r\n /**\r\n * Marks Document Component as reserved.\r\n */\r\n @Prop()\r\n get gereserveerd(): DocumentComponentInputType | undefined {\r\n return this._gereserveerdInput;\r\n }\r\n set gereserveerd(value: DocumentComponentInputType | undefined) {\r\n this._gereserveerdInput = value;\r\n this._gereserveerd = this.parseAantekenElement(value);\r\n }\r\n\r\n private _vervallenInput?: DocumentComponentInputType;\r\n private _vervallen?: DocumentComponentAantekenElement;\r\n /**\r\n * Marks the Document Component as expired.\r\n */\r\n @Prop()\r\n get vervallen(): DocumentComponentInputType | undefined {\r\n return this._vervallenInput;\r\n }\r\n set vervallen(value: DocumentComponentInputType | undefined) {\r\n this._vervallenInput = value;\r\n this._vervallen = this.parseAantekenElement(value);\r\n }\r\n\r\n /**\r\n * When the Annotation is opened, set this to true.\r\n */\r\n @Prop({ reflect: true })\r\n openAnnotation = false;\r\n\r\n /**\r\n * An alternative title to show when there is nothing to create a title.\r\n */\r\n @Prop({ reflect: true })\r\n alternativeTitle?: string;\r\n\r\n /**\r\n * Type of Document Component.\r\n */\r\n @Prop({ reflect: true })\r\n type?: string;\r\n\r\n /**\r\n * The wijzigactie as in STOP.\r\n */\r\n @Prop({ reflect: true })\r\n wijzigactie?: DocumentComponentWijzigactie;\r\n\r\n /**\r\n * The wijzigactie for all annotations.\r\n */\r\n @Prop({ reflect: true })\r\n annotationsWijzigactie?: DocumentComponentAnnotationsWijzigactie;\r\n\r\n /**\r\n * To mark text.\r\n */\r\n @Prop()\r\n mark?: DocumentComponentMarkFunction;\r\n\r\n /**\r\n * Shows the recursive toggle button. When the user activates this button the event `dsoRecursiveToggle` is emitted.\r\n */\r\n @Prop()\r\n recursiveToggle: DocumentComponentRecursiveToggleState;\r\n\r\n /**\r\n * A UrlResolver that will be called for all STOP elements that render to HTML5 elements with external references.\r\n */\r\n @Prop()\r\n ozonContentUrlResolver?: OzonContentUrlResolver;\r\n\r\n /**\r\n * A BegripResolver that will be called for STOP element \"IntRef\" with @scope=\"Begrip\".\r\n */\r\n @Prop()\r\n ozonContentBegripResolver?: OzonContentBegripResolver;\r\n\r\n /**\r\n * The mode of the Document Component. One of \"document\" or \"table-of-contents\". Defaults to \"document\"\r\n */\r\n @Prop({ reflect: true })\r\n mode: DocumentComponentMode = \"document\";\r\n\r\n /**\r\n * The URL to which the Heading links (only in mode=\"table-of-contents\").\r\n */\r\n @Prop({ reflect: true })\r\n href?: string;\r\n\r\n /**\r\n * Emitted when the user activates the recursive toggle.\r\n */\r\n @Event({ bubbles: false })\r\n dsoRecursiveToggle!: EventEmitter<DocumentComponentRecursiveToggleEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the toggle.\r\n */\r\n @Event({ bubbles: false })\r\n dsoOpenToggle!: EventEmitter<DocumentComponentOpenToggleEvent>;\r\n\r\n /**\r\n * Emitted when the user clicks the heading in mode=\"table-of-contents\".\r\n */\r\n @Event({ bubbles: false })\r\n dsoTableOfContentsClick!: EventEmitter<DocumentComponentTableOfContentsClickEvent>;\r\n\r\n /**\r\n * Emitted when the user interacts with Kop, IntRef or the Kenmerken en kaart button of IntIoRef in Ozon Content\r\n */\r\n @Event({ bubbles: false })\r\n dsoOzonContentClick!: EventEmitter<DocumentComponentOzonContentClickEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the annotation button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnnotationToggle!: EventEmitter<DocumentComponentToggleAnnotationEvent>;\r\n\r\n /**\r\n * Emitted each time a marked item gets highlighted.\r\n */\r\n @Event({ bubbles: false })\r\n dsoMarkItemHighlight!: EventEmitter<DocumentComponentMarkItemHighlightEvent>;\r\n\r\n private get wijzigactieLabel(): string | undefined {\r\n return this.wijzigactie && wijzigactieLabels[this.wijzigactie];\r\n }\r\n\r\n private handleHeadingClick = (e: MouseEvent) => {\r\n if (this.mode === \"table-of-contents\") {\r\n this.dsoTableOfContentsClick.emit({ originalEvent: e, isModifiedEvent: isModifiedEvent(e) });\r\n } else if (this.type !== \"LID\") {\r\n this.dsoOpenToggle.emit({ originalEvent: e, open: !this.open });\r\n }\r\n };\r\n\r\n private handleOzonContentClick = (event: DsoOzonContentCustomEvent<OzonContentClickEvent>) => {\r\n const { detail } = event;\r\n\r\n if (detail.type === \"Kop\") {\r\n this.handleHeadingClick(detail.originalEvent);\r\n } else {\r\n this.dsoOzonContentClick.emit({ originalEvent: event, ozonContentClick: event.detail });\r\n }\r\n };\r\n\r\n private handleRecursiveToggleClick = (e: MouseEvent) => {\r\n this.dsoRecursiveToggle.emit({\r\n originalEvent: e,\r\n current: this.recursiveToggle,\r\n next: this.recursiveToggle !== true,\r\n });\r\n };\r\n\r\n private showOntwerpBadge(): boolean {\r\n return (\r\n this.genesteOntwerpInformatie &&\r\n !this.bevatOntwerpInformatie &&\r\n ((!this.open && this.mode === \"document\") || this.mode === \"table-of-contents\")\r\n );\r\n }\r\n\r\n private parseAantekenElement(input?: DocumentComponentInputType): DocumentComponentAantekenElement | undefined {\r\n if (!input) {\r\n return undefined;\r\n }\r\n\r\n let element: Element | undefined;\r\n\r\n if (typeof input === \"string\") {\r\n const doc = parseXml(input);\r\n element = doc?.documentElement;\r\n } else if (input instanceof XMLDocument) {\r\n element = input.documentElement;\r\n }\r\n\r\n if (!element) {\r\n return undefined;\r\n }\r\n\r\n const wijzigactie = parseWijzigactieFromNode(element);\r\n const tag = element.tagName.toLowerCase();\r\n\r\n let type: DocumentComponentAantekenElement[\"type\"] | undefined;\r\n if (tag === \"vervallen\") {\r\n type = \"Vervallen\";\r\n } else if (tag === \"gereserveerd\") {\r\n type = \"Gereserveerd\";\r\n }\r\n\r\n if (!type) {\r\n return undefined;\r\n }\r\n\r\n return { type, wijzigactie };\r\n }\r\n\r\n render() {\r\n const collapsible = !!((this._kop || this.alternativeTitle) && this.type !== \"LID\");\r\n\r\n const showHeading = !!(\r\n this.wijzigactie ||\r\n collapsible ||\r\n this._kop ||\r\n this.alternativeTitle ||\r\n this.bevatOntwerpInformatie ||\r\n this.annotated\r\n );\r\n\r\n return (\r\n <Host not-collapsible={!collapsible}>\r\n {showHeading && (\r\n <div class=\"heading-container\" part=\"_heading-container\">\r\n {this.wijzigactie && <span class=\"editaction-label\">{this.wijzigactieLabel}:</span>}\r\n <div class=\"heading\">\r\n <Heading\r\n heading={this.heading}\r\n class=\"heading-element\"\r\n onClick={this.alternativeTitle ? this.handleHeadingClick : undefined}\r\n mode={this.mode}\r\n href={this.href}\r\n >\r\n {collapsible && this.mode === \"document\" && (\r\n <dso-icon-button\r\n label={this.open ? \"Invouwen\" : \"Uitvouwen\"}\r\n class=\"toggle-button\"\r\n icon={this.open ? \"chevron-down\" : \"chevron-right\"}\r\n variant=\"tertiary\"\r\n onDsoClick={(e) => this.handleHeadingClick(e.detail.originalEvent)}\r\n />\r\n )}\r\n <span id=\"heading-title\">\r\n {this.notApplicable && <span class=\"sr-only\">Niet van toepassing:</span>}\r\n\r\n {this._kop ? (\r\n <dso-ozon-content\r\n class=\"kop\"\r\n content={this._kop}\r\n onDsoClick={this.handleOzonContentClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"kop\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"kop\" })\r\n }\r\n inline\r\n urlResolver={this.ozonContentUrlResolver}\r\n begripResolver={this.ozonContentBegripResolver}\r\n />\r\n ) : (\r\n this.alternativeTitle\r\n )}\r\n\r\n <AantekenStatus gereserveerd={this._gereserveerd} vervallen={this._vervallen} />\r\n </span>\r\n </Heading>\r\n\r\n {this.recursiveToggle !== undefined && this.open && this.mode === \"document\" && (\r\n <dso-icon-button\r\n label={this.recursiveToggle === true ? \"Verberg alles\" : \"Toon alles\"}\r\n class=\"recursive-toggle\"\r\n icon={this.recursiveToggle === true ? \"eye\" : \"eye-slash\"}\r\n variant=\"tertiary\"\r\n onDsoClick={(e) => this.handleRecursiveToggleClick(e.detail.originalEvent)}\r\n />\r\n )}\r\n\r\n {this.showOntwerpBadge() && (\r\n <Fragment>\r\n <dso-badge status=\"warning\" aria-describedby=\"nested-draft-description\">\r\n !\r\n </dso-badge>\r\n <dso-tooltip id=\"nested-draft-description\">\r\n Er zijn onderliggende onderdelen die veranderen binnen dit ontwerp.\r\n </dso-tooltip>\r\n </Fragment>\r\n )}\r\n\r\n {(this.bevatOntwerpInformatie || this.annotated) && (\r\n <div class=\"addons\">\r\n {this.bevatOntwerpInformatie && (\r\n <dso-label status=\"warning\" compact>\r\n Ontwerp\r\n </dso-label>\r\n )}\r\n {this.annotated && this.mode === \"document\" && (\r\n <dso-icon-button\r\n label={`Kenmerken en kaartgegevens ${this.openAnnotation ? \"verbergen\" : \"tonen\"}`}\r\n icon=\"label\"\r\n variant=\"tertiary\"\r\n onDsoClick={(e) => this.dsoAnnotationToggle.emit({ originalEvent: e.detail.originalEvent })}\r\n />\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {this.openAnnotation && (\r\n <div class=\"annotation-container\" part=\"_annotation-container\">\r\n <dso-panel\r\n id=\"annotations\"\r\n onDsoCloseClick={(e) => this.dsoAnnotationToggle.emit({ originalEvent: e })}\r\n closeButtonLabel=\"Kenmerken en kaartgegevens verbergen\"\r\n >\r\n <h2 slot=\"heading\">Kenmerken en kaart</h2>\r\n <slot name=\"annotations\" />\r\n </dso-panel>\r\n </div>\r\n )}\r\n\r\n {this.open && (this._inhoud || this._gereserveerd || this._vervallen) && this.mode === \"document\" && (\r\n <div class=\"content\" part=\"_content\">\r\n <AantekenAlert gereserveerd={this._gereserveerd} vervallen={this._vervallen} />\r\n\r\n {this._inhoud && (\r\n <dso-ozon-content\r\n content={this._inhoud}\r\n onDsoClick={this.handleOzonContentClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"inhoud\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"inhoud\" })\r\n }\r\n urlResolver={this.ozonContentUrlResolver}\r\n begripResolver={this.ozonContentBegripResolver}\r\n />\r\n )}\r\n </div>\r\n )}\r\n\r\n <div class=\"children-container\" part=\"_children-container\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|