@dso-toolkit/core 62.16.0 → 62.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
- package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-advanced-select.cjs.entry.js +7 -4
- package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-alert_7.cjs.entry.js +76 -22
- package/dist/cjs/dso-alert_7.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-annotation-output_3.cjs.entry.js +2 -2
- package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-expandable.cjs.entry.js +26 -1422
- package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
- package/dist/cjs/dso-toggletip.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/dso-viewer-grid.cjs.entry.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/accordion/components/accordion-section.css +11 -7
- package/dist/collection/components/advanced-select/advanced-select.css +6 -0
- package/dist/collection/components/advanced-select/advanced-select.js +6 -3
- package/dist/collection/components/advanced-select/advanced-select.js.map +1 -1
- package/dist/collection/components/advanced-select/advanced-select.models.js.map +1 -1
- package/dist/collection/components/document-component/document-component.css +3 -3
- package/dist/collection/components/document-component/document-component.js +1 -1
- package/dist/collection/components/document-component/document-component.js.map +1 -1
- package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
- package/dist/collection/components/expandable/expandable.css +12 -13
- package/dist/collection/components/expandable/expandable.js +37 -114
- package/dist/collection/components/expandable/expandable.js.map +1 -1
- package/dist/collection/components/highlight-box/highlight-box.css +6 -9
- package/dist/collection/components/image-overlay/image-overlay.css +124 -1
- package/dist/collection/components/image-overlay/image-overlay.js +42 -2
- package/dist/collection/components/image-overlay/image-overlay.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/al.node.js +2 -1
- package/dist/collection/components/ozon-content/nodes/al.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/figuur.node.js +2 -1
- package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/inhoud.node.js +9 -1
- package/dist/collection/components/ozon-content/nodes/inhoud.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 +2 -2
- package/dist/collection/components/ozon-content/nodes/opschrift.node.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js +2 -0
- package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js.map +1 -1
- package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +29 -8
- 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.node.js +7 -4
- 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.css +181 -52
- package/dist/collection/components/selectable/selectable.css +4 -0
- package/dist/collection/components/toggletip/toggletip.css +3 -0
- package/dist/collection/components/tooltip/tooltip.css +5 -20
- package/dist/collection/components/viewer-grid/viewer-grid.css +2 -1
- package/dist/components/document-component.js +2 -2
- package/dist/components/document-component.js.map +1 -1
- package/dist/components/dso-accordion-section.js +1 -1
- package/dist/components/dso-accordion-section.js.map +1 -1
- package/dist/components/dso-advanced-select.js +7 -4
- package/dist/components/dso-advanced-select.js.map +1 -1
- package/dist/components/dso-highlight-box.js +1 -1
- package/dist/components/dso-highlight-box.js.map +1 -1
- package/dist/components/dso-toggletip.js +1 -1
- package/dist/components/dso-toggletip.js.map +1 -1
- package/dist/components/dso-viewer-grid.js +1 -1
- package/dist/components/dso-viewer-grid.js.map +1 -1
- package/dist/components/dsot-document-component-demo.js.map +1 -1
- package/dist/components/expandable.js +29 -1427
- package/dist/components/expandable.js.map +1 -1
- package/dist/components/image-overlay.js +22 -2
- package/dist/components/image-overlay.js.map +1 -1
- package/dist/components/ozon-content.js +55 -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/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-5def1d28.entry.js → p-21cc1e58.entry.js} +2 -2
- package/dist/dso-toolkit/p-21cc1e58.entry.js.map +1 -0
- package/dist/dso-toolkit/p-7a71cd3f.entry.js +2 -0
- package/dist/dso-toolkit/p-7a71cd3f.entry.js.map +1 -0
- package/dist/dso-toolkit/p-89501dcc.entry.js +2 -0
- package/dist/dso-toolkit/p-89501dcc.entry.js.map +1 -0
- package/dist/dso-toolkit/p-8a7b800f.entry.js +2 -0
- package/dist/dso-toolkit/p-8a7b800f.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-31825ec2.entry.js → p-c7100f84.entry.js} +2 -2
- package/dist/dso-toolkit/p-c7100f84.entry.js.map +1 -0
- package/dist/dso-toolkit/p-cc771810.entry.js +2 -0
- package/dist/dso-toolkit/p-cc771810.entry.js.map +1 -0
- package/dist/dso-toolkit/p-d24073fe.entry.js.map +1 -1
- package/dist/dso-toolkit/p-d714aea4.entry.js +2 -0
- package/dist/dso-toolkit/p-d714aea4.entry.js.map +1 -0
- package/dist/dso-toolkit/p-e63f8c72.entry.js +2 -0
- package/dist/dso-toolkit/p-e63f8c72.entry.js.map +1 -0
- package/dist/dso-toolkit/p-eb90ba5c.entry.js +2 -0
- package/dist/dso-toolkit/p-eb90ba5c.entry.js.map +1 -0
- package/dist/dso-toolkit/p-f15b9304.entry.js +2 -0
- package/dist/dso-toolkit/p-f15b9304.entry.js.map +1 -0
- package/dist/esm/dso-accordion-section.entry.js +1 -1
- package/dist/esm/dso-accordion-section.entry.js.map +1 -1
- package/dist/esm/dso-advanced-select.entry.js +7 -4
- package/dist/esm/dso-advanced-select.entry.js.map +1 -1
- package/dist/esm/dso-alert_7.entry.js +76 -22
- package/dist/esm/dso-alert_7.entry.js.map +1 -1
- package/dist/esm/dso-annotation-output_3.entry.js +2 -2
- package/dist/esm/dso-annotation-output_3.entry.js.map +1 -1
- package/dist/esm/dso-expandable.entry.js +26 -1422
- package/dist/esm/dso-expandable.entry.js.map +1 -1
- package/dist/esm/dso-highlight-box.entry.js +1 -1
- package/dist/esm/dso-highlight-box.entry.js.map +1 -1
- package/dist/esm/dso-info_2.entry.js +1 -1
- package/dist/esm/dso-info_2.entry.js.map +1 -1
- package/dist/esm/dso-toggletip.entry.js +1 -1
- package/dist/esm/dso-toggletip.entry.js.map +1 -1
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-tooltip.entry.js +1 -1
- package/dist/esm/dso-tooltip.entry.js.map +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
- package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/advanced-select/advanced-select.models.d.ts +6 -1
- package/dist/types/components/document-component-demo/document-component.demo.d.ts +2 -2
- package/dist/types/components/expandable/expandable.d.ts +9 -11
- package/dist/types/components/image-overlay/image-overlay.d.ts +5 -0
- package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec.interface.d.ts +2 -0
- package/dist/types/components.d.ts +8 -0
- package/package.json +2 -4
- package/dist/dso-toolkit/p-1981592d.entry.js +0 -2
- package/dist/dso-toolkit/p-1981592d.entry.js.map +0 -1
- package/dist/dso-toolkit/p-31825ec2.entry.js.map +0 -1
- package/dist/dso-toolkit/p-36ddddf4.entry.js +0 -2
- package/dist/dso-toolkit/p-36ddddf4.entry.js.map +0 -1
- package/dist/dso-toolkit/p-43511221.entry.js +0 -2
- package/dist/dso-toolkit/p-43511221.entry.js.map +0 -1
- package/dist/dso-toolkit/p-5def1d28.entry.js.map +0 -1
- package/dist/dso-toolkit/p-9bf33855.entry.js +0 -2
- package/dist/dso-toolkit/p-9bf33855.entry.js.map +0 -1
- package/dist/dso-toolkit/p-aa6d1e42.entry.js +0 -2
- package/dist/dso-toolkit/p-aa6d1e42.entry.js.map +0 -1
- package/dist/dso-toolkit/p-b0116121.entry.js +0 -2
- package/dist/dso-toolkit/p-b0116121.entry.js.map +0 -1
- package/dist/dso-toolkit/p-e3655ae6.entry.js +0 -2
- package/dist/dso-toolkit/p-e3655ae6.entry.js.map +0 -1
- package/dist/dso-toolkit/p-e5ecc82f.entry.js +0 -2
- package/dist/dso-toolkit/p-e5ecc82f.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandable.js","sourceRoot":"","sources":["../../../../src/components/expandable/expandable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"expandable.js","sourceRoot":"","sources":["../../../../src/components/expandable/expandable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,MAAM,CAAC;AAiBxB,MAAM,OAAO,UAAU;;;2BAgBH,KAAK;;oBAgBZ,IAAI;;EAPf,UAAU;IACR,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;MACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KAC5B;EACH,CAAC;EAiBD;;KAEG;EAEH,sBAAsB,CAAC,CAAkB;IACvC,IAAI,CAAC,CAAC,YAAY,KAAK,oBAAoB,EAAE;MAC3C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;QACpC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;QACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI;OACrB,CAAC,CAAC;KACJ;EACH,CAAC;EAED;;KAEG;EAEH,oBAAoB,CAAC,CAAkB;IACrC,IAAI,CAAC,CAAC,YAAY,KAAK,oBAAoB,EAAE;MAC3C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;MAC3B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KACzF;EACH,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,mBACU,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EACzC,KAAK,EAAE,IAAI,CAAC;QACV,mBAAmB,EAAE,IAAI,CAAC,eAAe;QACzC,UAAU,EAAE,IAAI,CAAC,QAAQ;OAC1B,CAAC;MAEF,WAAK,KAAK,EAAC,gBAAgB;QACzB,eAAQ,CACJ,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n Watch,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nexport interface ExpandableAnimationStartEvent {\r\n currentOpen: boolean;\r\n nextOpen: boolean;\r\n}\r\n\r\nexport interface ExpandableAnimationEndEvent {\r\n bodyHeight: number | undefined;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-expandable\",\r\n styleUrl: \"expandable.scss\",\r\n shadow: true,\r\n})\r\nexport class Expandable implements ComponentInterface {\r\n private bodyHeight?: number;\r\n\r\n @Element()\r\n host!: HTMLDsoExpandableElement;\r\n\r\n /**\r\n * Set to `true` to expand the content.\r\n */\r\n @Prop({ reflect: true })\r\n open?: boolean;\r\n\r\n /**\r\n * Set to `true` to show the content animated.\r\n */\r\n @Prop({ reflect: true })\r\n enableAnimation = false;\r\n\r\n /**\r\n * When enableAnimation is set to `true`, this property specifies the height of this element at which the animation will expand from / collapse to\r\n */\r\n @Prop()\r\n minimumHeight?: number;\r\n\r\n @Watch(\"open\")\r\n toggleOpen() {\r\n if (!this.enableAnimation) {\r\n this.isClosed = !this.open;\r\n }\r\n }\r\n\r\n @State()\r\n isClosed = true;\r\n\r\n /**\r\n * Fired before expanding.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationStart!: EventEmitter<ExpandableAnimationStartEvent>;\r\n\r\n /**\r\n * Fired after expanding.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationEnd!: EventEmitter<ExpandableAnimationEndEvent>;\r\n\r\n /**\r\n * Listens to the transitionstart event\r\n */\r\n @Listen(\"transitionstart\")\r\n transitionstartHandler(e: TransitionEvent) {\r\n if (e.propertyName === \"grid-template-rows\") {\r\n this.dsoExpandableAnimationStart.emit({\r\n currentOpen: !!this.open,\r\n nextOpen: !this.open,\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Listens to the transitionend event\r\n */\r\n @Listen(\"transitionend\")\r\n transitionendHandler(e: TransitionEvent) {\r\n if (e.propertyName === \"grid-template-rows\") {\r\n this.isClosed = !this.open;\r\n this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight, open: !!this.open });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host\r\n aria-hidden={this.open ? \"false\" : \"true\"}\r\n class={clsx({\r\n \"dso-animate-ready\": this.enableAnimation,\r\n \"dso-hide\": this.isClosed,\r\n })}\r\n >\r\n <div class=\"slot-container\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -25,19 +25,16 @@
|
|
|
25
25
|
margin-top: 16px;
|
|
26
26
|
padding: 16px;
|
|
27
27
|
margin-bottom: 24px;
|
|
28
|
+
block-size: var(--highlight-box-block-size, unset);
|
|
29
|
+
min-block-size: var(--highlight-box-min-block-size, unset);
|
|
28
30
|
display: block;
|
|
29
31
|
container-type: inline-size;
|
|
30
32
|
position: relative;
|
|
31
33
|
z-index: 1;
|
|
32
34
|
}
|
|
33
|
-
|
|
34
|
-
:
|
|
35
|
-
height: 100%;
|
|
36
|
-
min-height: auto;
|
|
37
|
-
}
|
|
38
|
-
:host-context(.row.dso-equal-heights)[has-counter] {
|
|
39
|
-
height: calc(100% - 48px);
|
|
35
|
+
:host[has-counter] {
|
|
36
|
+
block-size: var(--highlight-box-counter-block-size, unset);
|
|
40
37
|
}
|
|
41
|
-
:host
|
|
42
|
-
|
|
38
|
+
:host:not([has-counter]) {
|
|
39
|
+
block-size: var(--highlight-box-nocounter-block-size, unset);
|
|
43
40
|
}
|
|
@@ -178,7 +178,7 @@ button::-moz-focus-inner {
|
|
|
178
178
|
position: relative;
|
|
179
179
|
z-index: 20;
|
|
180
180
|
}
|
|
181
|
-
.wrapper .
|
|
181
|
+
.wrapper .title {
|
|
182
182
|
background-color: #fff;
|
|
183
183
|
font-weight: 700;
|
|
184
184
|
line-height: initial;
|
|
@@ -325,4 +325,127 @@ button::-moz-focus-inner {
|
|
|
325
325
|
.close.dso-spinner-right:not([disabled]).dso-small:hover::after {
|
|
326
326
|
height: 16px;
|
|
327
327
|
width: 16px;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
ins.editaction-add {
|
|
331
|
+
display: inline-block;
|
|
332
|
+
margin-block-end: 8px;
|
|
333
|
+
padding: 8px;
|
|
334
|
+
text-decoration: none;
|
|
335
|
+
--link-color: currentColor;
|
|
336
|
+
--link-hover-color: currentColor;
|
|
337
|
+
--link-visited-color: currentColor;
|
|
338
|
+
background-color: #e4f1d4;
|
|
339
|
+
border-color: #e4f1d4;
|
|
340
|
+
color: #191919;
|
|
341
|
+
box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);
|
|
342
|
+
}
|
|
343
|
+
ins.editaction-add a:is(.download, .download:hover, .download:focus-visible) {
|
|
344
|
+
background-image: url("./dso-icons.svg#img-download-zwart");
|
|
345
|
+
}
|
|
346
|
+
ins.editaction-add a:is(.extern, .extern:hover, .extern:focus-visible) {
|
|
347
|
+
background-image: url("./dso-icons.svg#img-external-link-zwart");
|
|
348
|
+
}
|
|
349
|
+
ins.editaction-add a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {
|
|
350
|
+
background-image: url("./dso-icons.svg#img-call-zwart");
|
|
351
|
+
}
|
|
352
|
+
ins.editaction-add a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {
|
|
353
|
+
background-image: url("./dso-icons.svg#img-email-zwart");
|
|
354
|
+
}
|
|
355
|
+
ins.editaction-add .wrapper {
|
|
356
|
+
outline: none;
|
|
357
|
+
padding: 8px;
|
|
358
|
+
--link-color: currentColor;
|
|
359
|
+
--link-hover-color: currentColor;
|
|
360
|
+
--link-visited-color: currentColor;
|
|
361
|
+
background-color: #e4f1d4;
|
|
362
|
+
border-color: #e4f1d4;
|
|
363
|
+
color: #191919;
|
|
364
|
+
box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);
|
|
365
|
+
}
|
|
366
|
+
ins.editaction-add .wrapper a:is(.download, .download:hover, .download:focus-visible) {
|
|
367
|
+
background-image: url("./dso-icons.svg#img-download-zwart");
|
|
368
|
+
}
|
|
369
|
+
ins.editaction-add .wrapper a:is(.extern, .extern:hover, .extern:focus-visible) {
|
|
370
|
+
background-image: url("./dso-icons.svg#img-external-link-zwart");
|
|
371
|
+
}
|
|
372
|
+
ins.editaction-add .wrapper a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {
|
|
373
|
+
background-image: url("./dso-icons.svg#img-call-zwart");
|
|
374
|
+
}
|
|
375
|
+
ins.editaction-add .wrapper a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {
|
|
376
|
+
background-image: url("./dso-icons.svg#img-email-zwart");
|
|
377
|
+
}
|
|
378
|
+
ins.editaction-add .wrapper .editaction-label {
|
|
379
|
+
line-height: 1.5;
|
|
380
|
+
}
|
|
381
|
+
ins.editaction-add .wrapper .close {
|
|
382
|
+
inset-block-start: 48px;
|
|
383
|
+
}
|
|
384
|
+
ins.editaction-add .open {
|
|
385
|
+
inset-block-start: 48px;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
del.editaction-remove {
|
|
389
|
+
display: inline-block;
|
|
390
|
+
margin-block-end: 8px;
|
|
391
|
+
padding: 8px;
|
|
392
|
+
--link-color: currentColor;
|
|
393
|
+
--link-hover-color: currentColor;
|
|
394
|
+
--link-visited-color: currentColor;
|
|
395
|
+
background-color: #f5d8dc;
|
|
396
|
+
border-color: #f5d8dc;
|
|
397
|
+
color: #191919;
|
|
398
|
+
text-decoration: line-through;
|
|
399
|
+
}
|
|
400
|
+
del.editaction-remove a:is(.download, .download:hover, .download:focus-visible) {
|
|
401
|
+
background-image: url("./dso-icons.svg#img-download-zwart");
|
|
402
|
+
}
|
|
403
|
+
del.editaction-remove a:is(.extern, .extern:hover, .extern:focus-visible) {
|
|
404
|
+
background-image: url("./dso-icons.svg#img-external-link-zwart");
|
|
405
|
+
}
|
|
406
|
+
del.editaction-remove a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {
|
|
407
|
+
background-image: url("./dso-icons.svg#img-call-zwart");
|
|
408
|
+
}
|
|
409
|
+
del.editaction-remove a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {
|
|
410
|
+
background-image: url("./dso-icons.svg#img-email-zwart");
|
|
411
|
+
}
|
|
412
|
+
del.editaction-remove .wrapper {
|
|
413
|
+
outline: none;
|
|
414
|
+
padding: 8px;
|
|
415
|
+
--link-color: currentColor;
|
|
416
|
+
--link-hover-color: currentColor;
|
|
417
|
+
--link-visited-color: currentColor;
|
|
418
|
+
background-color: #f5d8dc;
|
|
419
|
+
border-color: #f5d8dc;
|
|
420
|
+
color: #191919;
|
|
421
|
+
text-decoration: line-through;
|
|
422
|
+
}
|
|
423
|
+
del.editaction-remove .wrapper a:is(.download, .download:hover, .download:focus-visible) {
|
|
424
|
+
background-image: url("./dso-icons.svg#img-download-zwart");
|
|
425
|
+
}
|
|
426
|
+
del.editaction-remove .wrapper a:is(.extern, .extern:hover, .extern:focus-visible) {
|
|
427
|
+
background-image: url("./dso-icons.svg#img-external-link-zwart");
|
|
428
|
+
}
|
|
429
|
+
del.editaction-remove .wrapper a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {
|
|
430
|
+
background-image: url("./dso-icons.svg#img-call-zwart");
|
|
431
|
+
}
|
|
432
|
+
del.editaction-remove .wrapper a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {
|
|
433
|
+
background-image: url("./dso-icons.svg#img-email-zwart");
|
|
434
|
+
}
|
|
435
|
+
del.editaction-remove .wrapper .title {
|
|
436
|
+
text-decoration: line-through;
|
|
437
|
+
}
|
|
438
|
+
del.editaction-remove .wrapper .editaction-label {
|
|
439
|
+
line-height: 1.5;
|
|
440
|
+
}
|
|
441
|
+
del.editaction-remove .wrapper .close {
|
|
442
|
+
inset-block-start: 48px;
|
|
443
|
+
}
|
|
444
|
+
del.editaction-remove .open {
|
|
445
|
+
inset-block-start: 48px;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.editaction-label {
|
|
449
|
+
font-style: italic;
|
|
450
|
+
margin-block-end: 8px;
|
|
328
451
|
}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { forceUpdate, h, Host } from "@stencil/core";
|
|
1
|
+
import { forceUpdate, h, Host, } from "@stencil/core";
|
|
2
2
|
import debounce from "debounce";
|
|
3
3
|
import { createFocusTrap } from "focus-trap";
|
|
4
|
+
const wijzigactieLabels = {
|
|
5
|
+
verwijder: "Verwijderd",
|
|
6
|
+
voegtoe: "Toegevoegd",
|
|
7
|
+
};
|
|
8
|
+
const Dimmer = ({ active, src, alt, ref, click }, children) => active &&
|
|
9
|
+
src &&
|
|
10
|
+
alt && (h("div", { class: "dimmer" }, h("div", { class: "wrapper", ref: ref }, children[2], children[0], h("img", { src: src, alt: alt }), h("button", { type: "button", class: "close", onClick: click }, h("dso-icon", { icon: "times" }), h("span", null, "Sluiten")), children[1])));
|
|
4
11
|
export class ImageOverlay {
|
|
5
12
|
constructor() {
|
|
6
13
|
this.titelSlot = null;
|
|
7
14
|
this.bijschriftSlot = null;
|
|
15
|
+
this.wijzigactie = undefined;
|
|
8
16
|
this.active = false;
|
|
9
17
|
this.zoomable = false;
|
|
10
18
|
}
|
|
@@ -63,10 +71,21 @@ export class ImageOverlay {
|
|
|
63
71
|
const { width, naturalWidth, height, naturalHeight } = imageElement;
|
|
64
72
|
this.zoomable = width < naturalWidth || height < naturalHeight;
|
|
65
73
|
}
|
|
74
|
+
isWijzigactie(wijzigActie) {
|
|
75
|
+
return wijzigActie === "voegtoe" || wijzigActie === "verwijder";
|
|
76
|
+
}
|
|
66
77
|
render() {
|
|
67
78
|
var _a;
|
|
68
79
|
const { src, alt } = (_a = this.host.querySelector("img")) !== null && _a !== void 0 ? _a : {};
|
|
69
|
-
|
|
80
|
+
const editActionLabel = (this.wijzigactie && this.isWijzigactie(this.wijzigactie) && wijzigactieLabels[this.wijzigactie]) || undefined;
|
|
81
|
+
const button = this.zoomable && (h("button", { type: "button", class: "open", ref: (element) => (this.buttonElement = element), onClick: () => (this.active = true) }, h("dso-icon", { icon: "external-link" }), h("span", null, "Afbeelding vergroot weergeven")));
|
|
82
|
+
if (this.wijzigactie === "verwijder") {
|
|
83
|
+
return (h(Host, { onClick: () => { var _a; return (_a = this.buttonElement) === null || _a === void 0 ? void 0 : _a.focus(); } }, h("del", { class: "editaction-remove" }, h("div", { class: "editaction-label" }, editActionLabel, ":"), h(Dimmer, { active: this.active, src: src, alt: alt, ref: (element) => (this.wrapperElement = element), click: () => (this.active = false) }, this.titelSlot && (h("div", { class: "title" }, h("slot", { name: "titel" }))), h("div", { class: "figuur-bijschrift", hidden: !this.bijschriftSlot }, h("slot", { name: "bijschrift" })), h("div", { class: "editaction-label" }, editActionLabel, ":")), h("slot", null), button)));
|
|
84
|
+
}
|
|
85
|
+
if (this.wijzigactie === "voegtoe") {
|
|
86
|
+
return (h(Host, { onClick: () => { var _a; return (_a = this.buttonElement) === null || _a === void 0 ? void 0 : _a.focus(); } }, h("ins", { class: "editaction-add" }, h("div", { class: "editaction-label" }, editActionLabel, ":"), h(Dimmer, { active: this.active, src: src, alt: alt, ref: (element) => (this.wrapperElement = element), click: () => (this.active = false) }, this.titelSlot && (h("div", { class: "title" }, h("slot", { name: "titel" }))), h("div", { class: "figuur-bijschrift", hidden: !this.bijschriftSlot }, h("slot", { name: "bijschrift" })), h("div", { class: "editaction-label" }, editActionLabel, ":")), h("slot", null), button)));
|
|
87
|
+
}
|
|
88
|
+
return (h(Host, { onClick: () => { var _a; return (_a = this.buttonElement) === null || _a === void 0 ? void 0 : _a.focus(); } }, h(Dimmer, { active: this.active, src: src, alt: alt, ref: (element) => (this.wrapperElement = element), click: () => (this.active = false) }, this.titelSlot && (h("div", { class: "title" }, h("slot", { name: "titel" }))), h("div", { class: "figuur-bijschrift", hidden: !this.bijschriftSlot }, h("slot", { name: "bijschrift" }))), h("slot", null), button));
|
|
70
89
|
}
|
|
71
90
|
componentDidRender() {
|
|
72
91
|
var _a, _b;
|
|
@@ -101,6 +120,27 @@ export class ImageOverlay {
|
|
|
101
120
|
"$": ["image-overlay.css"]
|
|
102
121
|
};
|
|
103
122
|
}
|
|
123
|
+
static get properties() {
|
|
124
|
+
return {
|
|
125
|
+
"wijzigactie": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"mutable": false,
|
|
128
|
+
"complexType": {
|
|
129
|
+
"original": "string",
|
|
130
|
+
"resolved": "string | undefined",
|
|
131
|
+
"references": {}
|
|
132
|
+
},
|
|
133
|
+
"required": false,
|
|
134
|
+
"optional": true,
|
|
135
|
+
"docs": {
|
|
136
|
+
"tags": [],
|
|
137
|
+
"text": "The wijzigactie."
|
|
138
|
+
},
|
|
139
|
+
"attribute": "wijzigactie",
|
|
140
|
+
"reflect": false
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
}
|
|
104
144
|
static get states() {
|
|
105
145
|
return {
|
|
106
146
|
"active": {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-overlay.js","sourceRoot":"","sources":["../../../../src/components/image-overlay/image-overlay.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Element, forceUpdate, h, Host, Listen, State } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\n\r\n@Component({\r\n tag: \"dso-image-overlay\",\r\n styleUrl: \"./image-overlay.scss\",\r\n shadow: true,\r\n})\r\nexport class ImageOverlay implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoImageOverlayElement;\r\n\r\n @State()\r\n active = false;\r\n\r\n @State()\r\n zoomable = false;\r\n\r\n private buttonElement: HTMLButtonElement | undefined;\r\n\r\n private wrapperElement: HTMLDivElement | undefined;\r\n\r\n private trap: FocusTrap | undefined;\r\n\r\n private titelSlot: HTMLElement | null = null;\r\n\r\n private bijschriftSlot: HTMLElement | null = null;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private resizeObserver?: ResizeObserver;\r\n\r\n @Listen(\"load\", { capture: true })\r\n loadListener(event: Event) {\r\n if (event.target instanceof HTMLImageElement) {\r\n this.setZoomable(event.target);\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n this.titelSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='titel']\");\r\n\r\n this.bijschriftSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='bijschrift']\");\r\n }\r\n\r\n componentDidLoad() {\r\n this.resizeObserver = new ResizeObserver(\r\n debounce(() => {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (imgElement instanceof HTMLImageElement) {\r\n this.setZoomable(imgElement);\r\n }\r\n }, 200),\r\n );\r\n\r\n this.mutationObserver = new MutationObserver((e) => {\r\n forceUpdate(this.host);\r\n\r\n if (e[0]?.type === \"childList\") {\r\n this.resizeObserver?.disconnect();\r\n // <img> is gone or a new element.\r\n this.initZoomableImage();\r\n }\r\n });\r\n\r\n this.mutationObserver.observe(this.host, {\r\n attributes: true,\r\n subtree: true,\r\n attributeFilter: [\"src\", \"alt\"],\r\n childList: true,\r\n });\r\n\r\n this.initZoomableImage();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.trap?.deactivate();\r\n this.mutationObserver?.disconnect();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n private initZoomableImage(): void {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (!(imgElement instanceof HTMLImageElement)) {\r\n return;\r\n }\r\n\r\n // Due to timing issues where the image is loaded before we listen to load events we double check if the image is already complete.\r\n if (imgElement.complete) {\r\n this.setZoomable(imgElement);\r\n }\r\n\r\n this.resizeObserver?.observe(imgElement);\r\n }\r\n\r\n private setZoomable(imageElement: HTMLImageElement): void {\r\n const { width, naturalWidth, height, naturalHeight } = imageElement;\r\n\r\n this.zoomable = width < naturalWidth || height < naturalHeight;\r\n }\r\n\r\n render() {\r\n const { src, alt } = this.host.querySelector(\"img\") ?? {};\r\n\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n {this.active && src && alt && (\r\n <div class=\"dimmer\">\r\n <div class=\"wrapper\" ref={(element) => (this.wrapperElement = element)}>\r\n <div class=\"titel\" hidden={!this.titelSlot}>\r\n <slot name=\"titel\" />\r\n </div>\r\n <img src={src} alt={alt} />\r\n <button type=\"button\" class=\"close\" onClick={() => (this.active = false)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span>Sluiten</span>\r\n </button>\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n <slot />\r\n {this.zoomable && (\r\n <button\r\n type=\"button\"\r\n class=\"open\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => (this.active = true)}\r\n >\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n <span>Afbeelding vergroot weergeven</span>\r\n </button>\r\n )}\r\n </Host>\r\n );\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active && this.wrapperElement && !this.trap) {\r\n this.trap = createFocusTrap(this.wrapperElement, {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.wrapperElement) {\r\n this.active = false;\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.active = false),\r\n }).activate();\r\n } else if (!this.active && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"image-overlay.js","sourceRoot":"","sources":["../../../../src/components/image-overlay/image-overlay.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n forceUpdate,\r\n FunctionalComponent,\r\n h,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\n\r\ntype ImageOverlayWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nconst wijzigactieLabels: { [wijzigactie in ImageOverlayWijzigactie]: string } = {\r\n verwijder: \"Verwijderd\",\r\n voegtoe: \"Toegevoegd\",\r\n};\r\n\r\nconst Dimmer: FunctionalComponent<{\r\n active: boolean;\r\n src: string | undefined;\r\n alt: string | undefined;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n click: () => void;\r\n}> = ({ active, src, alt, ref, click }, children) =>\r\n active &&\r\n src &&\r\n alt && (\r\n <div class=\"dimmer\">\r\n <div class=\"wrapper\" ref={ref}>\r\n {children[2]}\r\n {children[0]}\r\n <img src={src} alt={alt} />\r\n <button type=\"button\" class=\"close\" onClick={click}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span>Sluiten</span>\r\n </button>\r\n {children[1]}\r\n </div>\r\n </div>\r\n );\r\n\r\n@Component({\r\n tag: \"dso-image-overlay\",\r\n styleUrl: \"./image-overlay.scss\",\r\n shadow: true,\r\n})\r\nexport class ImageOverlay implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoImageOverlayElement;\r\n\r\n /**\r\n * The wijzigactie.\r\n */\r\n @Prop()\r\n wijzigactie?: string;\r\n\r\n @State()\r\n active = false;\r\n\r\n @State()\r\n zoomable = false;\r\n\r\n private buttonElement: HTMLButtonElement | undefined;\r\n\r\n private wrapperElement: HTMLDivElement | undefined;\r\n\r\n private trap: FocusTrap | undefined;\r\n\r\n private titelSlot: HTMLElement | null = null;\r\n\r\n private bijschriftSlot: HTMLElement | null = null;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private resizeObserver?: ResizeObserver;\r\n\r\n @Listen(\"load\", { capture: true })\r\n loadListener(event: Event) {\r\n if (event.target instanceof HTMLImageElement) {\r\n this.setZoomable(event.target);\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n this.titelSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='titel']\");\r\n\r\n this.bijschriftSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='bijschrift']\");\r\n }\r\n\r\n componentDidLoad() {\r\n this.resizeObserver = new ResizeObserver(\r\n debounce(() => {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (imgElement instanceof HTMLImageElement) {\r\n this.setZoomable(imgElement);\r\n }\r\n }, 200),\r\n );\r\n\r\n this.mutationObserver = new MutationObserver((e) => {\r\n forceUpdate(this.host);\r\n\r\n if (e[0]?.type === \"childList\") {\r\n this.resizeObserver?.disconnect();\r\n // <img> is gone or a new element.\r\n this.initZoomableImage();\r\n }\r\n });\r\n\r\n this.mutationObserver.observe(this.host, {\r\n attributes: true,\r\n subtree: true,\r\n attributeFilter: [\"src\", \"alt\"],\r\n childList: true,\r\n });\r\n\r\n this.initZoomableImage();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.trap?.deactivate();\r\n this.mutationObserver?.disconnect();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n private initZoomableImage(): void {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (!(imgElement instanceof HTMLImageElement)) {\r\n return;\r\n }\r\n\r\n // Due to timing issues where the image is loaded before we listen to load events we double check if the image is already complete.\r\n if (imgElement.complete) {\r\n this.setZoomable(imgElement);\r\n }\r\n\r\n this.resizeObserver?.observe(imgElement);\r\n }\r\n\r\n private setZoomable(imageElement: HTMLImageElement): void {\r\n const { width, naturalWidth, height, naturalHeight } = imageElement;\r\n\r\n this.zoomable = width < naturalWidth || height < naturalHeight;\r\n }\r\n\r\n private isWijzigactie(wijzigActie: string): wijzigActie is ImageOverlayWijzigactie {\r\n return wijzigActie === \"voegtoe\" || wijzigActie === \"verwijder\";\r\n }\r\n\r\n render() {\r\n const { src, alt } = this.host.querySelector(\"img\") ?? {};\r\n\r\n const editActionLabel: string | undefined =\r\n (this.wijzigactie && this.isWijzigactie(this.wijzigactie) && wijzigactieLabels[this.wijzigactie]) || undefined;\r\n\r\n const button = this.zoomable && (\r\n <button\r\n type=\"button\"\r\n class=\"open\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => (this.active = true)}\r\n >\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n <span>Afbeelding vergroot weergeven</span>\r\n </button>\r\n );\r\n\r\n if (this.wijzigactie === \"verwijder\") {\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <del class=\"editaction-remove\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </del>\r\n </Host>\r\n );\r\n }\r\n\r\n if (this.wijzigactie === \"voegtoe\") {\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <ins class=\"editaction-add\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </ins>\r\n </Host>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </Host>\r\n );\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active && this.wrapperElement && !this.trap) {\r\n this.trap = createFocusTrap(this.wrapperElement, {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.wrapperElement) {\r\n this.active = false;\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.active = false),\r\n }).activate();\r\n } else if (!this.active && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -14,7 +14,8 @@ export class OzonContentAlNode {
|
|
|
14
14
|
render(node, { mapNodeToJsx, path, inline }) {
|
|
15
15
|
let content = mapNodeToJsx(node.childNodes);
|
|
16
16
|
const wijzigactie = node.getAttribute("wijzigactie");
|
|
17
|
-
const className = clsx({
|
|
17
|
+
const className = clsx({ "editaction-add": wijzigactie === "voegtoe", "editaction-remove": wijzigactie === "verwijder" }) ||
|
|
18
|
+
undefined;
|
|
18
19
|
if (inline || isNestedAl(path)) {
|
|
19
20
|
content = (h("span", { role: "paragraph", class: className }, content));
|
|
20
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"al.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/al.node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,SAAS,UAAU,CAAC,IAAY;EAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;IACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhC,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,WAAW,CAAC;EACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,iBAAiB;EAA9B;IACE,SAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"al.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/al.node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,SAAS,UAAU,CAAC,IAAY;EAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;IACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhC,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,WAAW,CAAC;EACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,iBAAiB;EAA9B;IACE,SAAI,GAAG,IAAI,CAAC;EA4Bd,CAAC;EA1BC,MAAM,CAAC,IAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAA0B;IAC1E,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAErD,MAAM,SAAS,GACb,IAAI,CAAC,EAAE,gBAAgB,EAAE,WAAW,KAAK,SAAS,EAAE,mBAAmB,EAAE,WAAW,KAAK,WAAW,EAAE,CAAC;MACvG,SAAS,CAAC;IAEZ,IAAI,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;MAC9B,OAAO,GAAG,CACR,YAAM,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,SAAS,IACpC,OAAO,CACH,CACR,CAAC;KACH;SAAM;MACL,OAAO,GAAG,SAAG,KAAK,EAAE,SAAS,IAAG,OAAO,CAAK,CAAC;KAC9C;IAED,IAAI,WAAW,KAAK,SAAS,EAAE;MAC7B,OAAO,GAAG,eAAM,OAAO,CAAO,CAAC;KAChC;SAAM,IAAI,WAAW,KAAK,WAAW,EAAE;MACtC,OAAO,GAAG,eAAM,OAAO,CAAO,CAAC;KAChC;IAED,OAAO,OAAO,CAAC;EACjB,CAAC;CACF","sourcesContent":["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\nimport clsx from \"clsx\";\r\n\r\nfunction isNestedAl(path: Node[]) {\r\n return path.some((n) => {\r\n const nodeName = getNodeName(n);\r\n\r\n return nodeName === \"Al\" || nodeName === \"Opschrift\";\r\n });\r\n}\r\n\r\nexport class OzonContentAlNode implements OzonContentNode {\r\n name = \"Al\";\r\n\r\n render(node: Element, { mapNodeToJsx, path, inline }: OzonContentNodeContext) {\r\n let content = mapNodeToJsx(node.childNodes);\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n const className =\r\n clsx({ \"editaction-add\": wijzigactie === \"voegtoe\", \"editaction-remove\": wijzigactie === \"verwijder\" }) ||\r\n undefined;\r\n\r\n if (inline || isNestedAl(path)) {\r\n content = (\r\n <span role=\"paragraph\" class={className}>\r\n {content}\r\n </span>\r\n );\r\n } else {\r\n content = <p class={className}>{content}</p>;\r\n }\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n content = <ins>{content}</ins>;\r\n } else if (wijzigactie === \"verwijder\") {\r\n content = <del>{content}</del>;\r\n }\r\n\r\n return content;\r\n }\r\n}\r\n"]}
|
|
@@ -24,6 +24,7 @@ export class OzonContentFiguurNode {
|
|
|
24
24
|
const bron = childNodes.find((n) => getNodeName(n) === "Bron");
|
|
25
25
|
const illustratieNode = childNodes.find((n) => getNodeName(n) === "Illustratie");
|
|
26
26
|
const bijschriftNode = childNodes.find((n) => getNodeName(n) === "Bijschrift");
|
|
27
|
+
const wijzigactie = node.getAttribute("wijzigactie") || undefined;
|
|
27
28
|
if (illustratieNode instanceof Element) {
|
|
28
29
|
const illustratie = {
|
|
29
30
|
naam: illustratieNode.getAttribute("naam"),
|
|
@@ -39,7 +40,7 @@ export class OzonContentFiguurNode {
|
|
|
39
40
|
locatie: (_b = bijschriftNode.getAttribute("locatie")) !== null && _b !== void 0 ? _b : "onder",
|
|
40
41
|
}
|
|
41
42
|
: undefined;
|
|
42
|
-
return (h("div", { class: `dso-ozon-figuur ${bijschrift ? `bijschrift-${bijschrift.locatie}` : "onder"}` }, titel && h("span", { class: "figuur-titel" }, titel), (bijschrift === null || bijschrift === void 0 ? void 0 : bijschrift.locatie) === "boven" && (h(Bijschrift, { bijschrift: bijschrift, bron: bron, mapNodeToJsx: mapNodeToJsx })), h("dso-image-overlay",
|
|
43
|
+
return (h("div", { class: `dso-ozon-figuur ${bijschrift ? `bijschrift-${bijschrift.locatie}` : "onder"}` }, titel && h("span", { class: "figuur-titel" }, titel), (bijschrift === null || bijschrift === void 0 ? void 0 : bijschrift.locatie) === "boven" && (h(Bijschrift, { bijschrift: bijschrift, bron: bron, mapNodeToJsx: mapNodeToJsx })), h("dso-image-overlay", { wijzigactie: wijzigactie }, titel && (h("div", { slot: "titel" }, h("span", null, titel))), h("img", { src: (_c = illustratie.naam) !== null && _c !== void 0 ? _c : undefined, alt: (_f = (_e = (_d = illustratie.alt) !== null && _d !== void 0 ? _d : titel) !== null && _e !== void 0 ? _e : illustratie.naam) !== null && _f !== void 0 ? _f : undefined, onLoad: (event) => this.onImageLoad(event, Number(illustratie.schaal)) }), (bijschrift || bron) && (h("div", { slot: "bijschrift" }, h(Bijschrift, { bijschrift: bijschrift, bron: bron, mapNodeToJsx: mapNodeToJsx })))), ((bijschrift === null || bijschrift === void 0 ? void 0 : bijschrift.locatie) === "onder" || (!bijschrift && bron)) && (h(Bijschrift, { bijschrift: bijschrift, bron: bron, mapNodeToJsx: mapNodeToJsx }))));
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figuur.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/figuur.node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAO,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAexD,MAAM,UAAU,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAmB,EAAmB,EAAE;EAC1F,OAAO,CACL,YAAM,KAAK,EAAC,mBAAmB;IAC5B,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;IAClE,IAAI,IAAI,CACP,EAAC,QAAQ;MACN,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS;MACjC,YAAY,CAAC,IAAI,CAAC;UACV,CACZ,CACI,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,qBAAqB;EAAlC;IACE,SAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"figuur.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/figuur.node.tsx"],"names":[],"mappings":"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","sourcesContent":["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 const wijzigactie = node.getAttribute(\"wijzigactie\") || undefined;\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 wijzigactie={wijzigactie}>\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"]}
|
|
@@ -4,7 +4,15 @@ export class OzonContentInhoudNode {
|
|
|
4
4
|
this.name = ["Inhoud", "ContainerBlocksType", "BlockMixedcontentMetMaximaleInlinesMarkersPopupsType"];
|
|
5
5
|
}
|
|
6
6
|
render(node, { mapNodeToJsx }) {
|
|
7
|
-
|
|
7
|
+
const wijzigactie = node.getAttribute("wijzigactie");
|
|
8
|
+
const richContent = h("div", { class: "dso-rich-content" }, mapNodeToJsx(node.childNodes));
|
|
9
|
+
if (wijzigactie === "verwijder") {
|
|
10
|
+
return h("del", { class: "editaction-remove" }, richContent);
|
|
11
|
+
}
|
|
12
|
+
if (wijzigactie === "voegtoe") {
|
|
13
|
+
return h("ins", { class: "editaction-add" }, richContent);
|
|
14
|
+
}
|
|
15
|
+
return richContent;
|
|
8
16
|
}
|
|
9
17
|
}
|
|
10
18
|
//# sourceMappingURL=inhoud.node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inhoud.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/inhoud.node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAKlC,MAAM,OAAO,qBAAqB;EAAlC;IACE,SAAI,GAAG,CAAC,QAAQ,EAAE,qBAAqB,EAAE,sDAAsD,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"inhoud.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/inhoud.node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAKlC,MAAM,OAAO,qBAAqB;EAAlC;IACE,SAAI,GAAG,CAAC,QAAQ,EAAE,qBAAqB,EAAE,sDAAsD,CAAC,CAAC;EAiBnG,CAAC;EAfC,MAAM,CAAC,IAAa,EAAE,EAAE,YAAY,EAA0B;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,WAAK,KAAK,EAAC,kBAAkB,IAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAO,CAAC;IAExF,IAAI,WAAW,KAAK,WAAW,EAAE;MAC/B,OAAO,WAAK,KAAK,EAAC,mBAAmB,IAAE,WAAW,CAAO,CAAC;KAC3D;IAED,IAAI,WAAW,KAAK,SAAS,EAAE;MAC7B,OAAO,WAAK,KAAK,EAAC,gBAAgB,IAAE,WAAW,CAAO,CAAC;KACxD;IAED,OAAO,WAAW,CAAC;EACrB,CAAC;CACF","sourcesContent":["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 const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n const richContent = <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del class=\"editaction-remove\">{richContent}</del>;\r\n }\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins class=\"editaction-add\">{richContent}</ins>;\r\n }\r\n\r\n return richContent;\r\n }\r\n}\r\n"]}
|
|
@@ -4,7 +4,7 @@ export class OzonContentNieuweTekstNode {
|
|
|
4
4
|
this.name = "NieuweTekst";
|
|
5
5
|
}
|
|
6
6
|
render(node, { mapNodeToJsx }) {
|
|
7
|
-
return h("ins", { class: "
|
|
7
|
+
return h("ins", { class: "new-text" }, mapNodeToJsx(node.childNodes));
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=nieuwe-tekst.node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nieuwe-tekst.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/nieuwe-tekst.node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAKlC,MAAM,OAAO,0BAA0B;EAAvC;IACE,SAAI,GAAG,aAAa,CAAC;EAKvB,CAAC;EAHC,MAAM,CAAC,IAAa,EAAE,EAAE,YAAY,EAA0B;IAC5D,OAAO,WAAK,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"nieuwe-tekst.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/nieuwe-tekst.node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAKlC,MAAM,OAAO,0BAA0B;EAAvC;IACE,SAAI,GAAG,aAAa,CAAC;EAKvB,CAAC;EAHC,MAAM,CAAC,IAAa,EAAE,EAAE,YAAY,EAA0B;IAC5D,OAAO,WAAK,KAAK,EAAC,UAAU,IAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAO,CAAC;EACrE,CAAC;CACF","sourcesContent":["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 class=\"new-text\">{mapNodeToJsx(node.childNodes)}</ins>;\r\n }\r\n}\r\n"]}
|
|
@@ -7,10 +7,10 @@ export class OzonContentOpschriftNode {
|
|
|
7
7
|
let content = mapNodeToJsx(node.childNodes);
|
|
8
8
|
const wijzigactie = node.getAttribute("wijzigactie");
|
|
9
9
|
if (wijzigactie === "voegtoe") {
|
|
10
|
-
content = h("ins", { class: "
|
|
10
|
+
content = h("ins", { class: "new-text" }, content);
|
|
11
11
|
}
|
|
12
12
|
else if (wijzigactie === "verwijder") {
|
|
13
|
-
content = h("del", { class: "
|
|
13
|
+
content = h("del", { class: "removed-text" }, content);
|
|
14
14
|
}
|
|
15
15
|
return h(Fragment, null, content);
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opschrift.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/opschrift.node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK5C,MAAM,OAAO,wBAAwB;EAArC;IACE,SAAI,GAAG,WAAW,CAAC;EAcrB,CAAC;EAZC,MAAM,CAAC,IAAa,EAAE,EAAE,YAAY,EAA0B;IAC5D,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,WAAW,KAAK,SAAS,EAAE;MAC7B,OAAO,GAAG,WAAK,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"opschrift.node.js","sourceRoot":"","sources":["../../../../../src/components/ozon-content/nodes/opschrift.node.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK5C,MAAM,OAAO,wBAAwB;EAArC;IACE,SAAI,GAAG,WAAW,CAAC;EAcrB,CAAC;EAZC,MAAM,CAAC,IAAa,EAAE,EAAE,YAAY,EAA0B;IAC5D,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,WAAW,KAAK,SAAS,EAAE;MAC7B,OAAO,GAAG,WAAK,KAAK,EAAC,UAAU,IAAE,OAAO,CAAO,CAAC;KACjD;SAAM,IAAI,WAAW,KAAK,WAAW,EAAE;MACtC,OAAO,GAAG,WAAK,KAAK,EAAC,cAAc,IAAE,OAAO,CAAO,CAAC;KACrD;IAED,OAAO,kBAAG,OAAO,CAAI,CAAC;EACxB,CAAC;CACF","sourcesContent":["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 let content = mapNodeToJsx(node.childNodes);\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n content = <ins class=\"new-text\">{content}</ins>;\r\n } else if (wijzigactie === \"verwijder\") {\r\n content = <del class=\"removed-text\">{content}</del>;\r\n }\r\n\r\n return <>{content}</>;\r\n }\r\n}\r\n"]}
|
|
@@ -8,8 +8,10 @@ export function mapColspecs(count, nodeList) {
|
|
|
8
8
|
var _a;
|
|
9
9
|
const colNumber = element.getAttribute("colnum");
|
|
10
10
|
return {
|
|
11
|
+
colsep: element.getAttribute("colsep"),
|
|
11
12
|
name: (_a = element.getAttribute("colname")) !== null && _a !== void 0 ? _a : "",
|
|
12
13
|
number: colNumber ? parseInt(colNumber, 10) : index + 1,
|
|
14
|
+
rowsep: element.getAttribute("rowsep"),
|
|
13
15
|
width: getWidth(totalWidth, element),
|
|
14
16
|
};
|
|
15
17
|
}),
|
package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colspec-mapper.js","sourceRoot":"","sources":["../../../../../../../src/components/ozon-content/nodes/table.node/colspec/colspec-mapper.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,QAA6B;EACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;EAE3C,OAAO;IACL,UAAU;IACV,KAAK;IACL,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"colspec-mapper.js","sourceRoot":"","sources":["../../../../../../../src/components/ozon-content/nodes/table.node/colspec/colspec-mapper.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,QAA6B;EACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;EAE3C,OAAO;IACL,UAAU;IACV,KAAK;IACL,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAW,EAAE;;MAChD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;MAEjD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;QACtC,IAAI,EAAE,MAAA,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,mCAAI,EAAE;QAC3C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QACvD,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;QACtC,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;OACrC,CAAC;IACJ,CAAC,CAAC;GACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAmB;EACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE;;IAC7C,MAAM,KAAK,GAAG,MAAA,MAAA,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,0CAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC;IAC5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAErC,OAAO,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;EACvD,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,QAAQ,CAAC,UAAkB,EAAE,OAAgB;EACpD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;EAE/C,IAAI,CAAC,KAAK,EAAE;IACV,OAAO,SAAS,CAAC;GAClB;EAED,IAAI,KAAK,KAAK,GAAG,EAAE;IACjB,OAAO,MAAM,CAAC;GACf;EAED,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;GACxD;EAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { Colspec, 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): Colspec => {\r\n const colNumber = element.getAttribute(\"colnum\");\r\n\r\n return {\r\n colsep: element.getAttribute(\"colsep\"),\r\n name: element.getAttribute(\"colname\") ?? \"\",\r\n number: colNumber ? parseInt(colNumber, 10) : index + 1,\r\n rowsep: element.getAttribute(\"rowsep\"),\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"]}
|
package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colspec.interface.js","sourceRoot":"","sources":["../../../../../../../src/components/ozon-content/nodes/table.node/colspec/colspec.interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface Colspecs {\r\n totalWidth: number;\r\n count: number;\r\n columns: Colspec[];\r\n}\r\n\r\nexport interface Colspec {\r\n name: string;\r\n number: number;\r\n width: string | undefined;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"colspec.interface.js","sourceRoot":"","sources":["../../../../../../../src/components/ozon-content/nodes/table.node/colspec/colspec.interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface Colspecs {\r\n totalWidth: number;\r\n count: number;\r\n columns: Colspec[];\r\n}\r\n\r\nexport interface Colspec {\r\n colsep: string | null;\r\n name: string;\r\n number: number;\r\n rowsep: string | null;\r\n width: string | undefined;\r\n}\r\n"]}
|
|
@@ -1,9 +1,34 @@
|
|
|
1
1
|
import { h } from "@stencil/core/internal";
|
|
2
|
-
|
|
2
|
+
import clsx from "clsx";
|
|
3
|
+
function getColspecStartColsep({ columns }, nameStart) {
|
|
4
|
+
const colspecStart = columns.find((c) => c.name === nameStart);
|
|
5
|
+
return colspecStart ? colspecStart.colsep : null;
|
|
6
|
+
}
|
|
7
|
+
function getColspecStartRowsep({ columns }, nameStart) {
|
|
8
|
+
const colspecStart = columns.find((c) => c.name === nameStart);
|
|
9
|
+
return colspecStart ? colspecStart.rowsep : null;
|
|
10
|
+
}
|
|
11
|
+
function getData(cell, colspecs) {
|
|
12
|
+
var _a;
|
|
13
|
+
const nameStart = cell.getAttribute("namest");
|
|
14
|
+
const row = cell.parentElement;
|
|
15
|
+
const tgroup = (_a = row === null || row === void 0 ? void 0 : row.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement;
|
|
16
|
+
const table = tgroup === null || tgroup === void 0 ? void 0 : tgroup.parentElement;
|
|
17
|
+
const colsep = cell.getAttribute("colsep") ||
|
|
18
|
+
(colspecs && nameStart ? getColspecStartColsep(colspecs, nameStart) : null) ||
|
|
19
|
+
(tgroup && tgroup.getAttribute("colsep")) ||
|
|
20
|
+
(table && table.getAttribute("colsep"));
|
|
21
|
+
const rowsep = cell.getAttribute("rowsep") ||
|
|
22
|
+
(row && row.getAttribute("rowsep")) ||
|
|
23
|
+
(colspecs && nameStart ? getColspecStartRowsep(colspecs, nameStart) : null) ||
|
|
24
|
+
(tgroup && tgroup.getAttribute("rowsep")) ||
|
|
25
|
+
(table && table.getAttribute("rowsep"));
|
|
3
26
|
return {
|
|
4
27
|
moreRows: cell.getAttribute("morerows"),
|
|
5
|
-
nameStart
|
|
28
|
+
nameStart,
|
|
6
29
|
nameEnd: cell.getAttribute("nameend"),
|
|
30
|
+
colsep,
|
|
31
|
+
rowsep,
|
|
7
32
|
};
|
|
8
33
|
}
|
|
9
34
|
function getColspan({ columns }, nameStart, nameEnd) {
|
|
@@ -16,11 +41,7 @@ function getColspan({ columns }, nameStart, nameEnd) {
|
|
|
16
41
|
return colspan === 1 ? undefined : colspan;
|
|
17
42
|
}
|
|
18
43
|
export const Cell = ({ context: { mapNodeToJsx }, colspecs, cell }) => {
|
|
19
|
-
const { moreRows, nameStart, nameEnd } = getData(cell);
|
|
20
|
-
|
|
21
|
-
rowSpan: moreRows ? parseInt(moreRows, 10) + 1 : undefined,
|
|
22
|
-
colSpan: colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined,
|
|
23
|
-
};
|
|
24
|
-
return h("td", Object.assign({}, td), mapNodeToJsx(cell.childNodes));
|
|
44
|
+
const { moreRows, nameStart, nameEnd, colsep, rowsep } = getData(cell, colspecs);
|
|
45
|
+
return (h("td", { class: clsx({ "dso-horizontal-line": rowsep !== "0" }, { "dso-vertical-line": colsep !== "0" }), rowSpan: moreRows ? parseInt(moreRows, 10) + 1 : undefined, colSpan: colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined }, mapNodeToJsx(cell.childNodes)));
|
|
25
46
|
};
|
|
26
47
|
//# sourceMappingURL=table-cell.js.map
|