@dso-toolkit/core 34.1.0 → 35.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.
Files changed (116) hide show
  1. package/dist/cjs/dso-autosuggest.cjs.entry.js +5 -1
  2. package/dist/cjs/dso-header.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-image-overlay.cjs.entry.js +62 -0
  4. package/dist/cjs/dso-info_2.cjs.entry.js +4 -1
  5. package/dist/cjs/dso-map-base-layers.cjs.entry.js +14 -1
  6. package/dist/cjs/dso-map-overlays.cjs.entry.js +14 -1
  7. package/dist/cjs/dso-ozon-content.cjs.entry.js +281 -423
  8. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  9. package/dist/cjs/dso-viewer-grid.cjs.entry.js +57 -726
  10. package/dist/cjs/focus-trap.esm-8d3e3fb6.js +712 -0
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/collection/collection-manifest.json +3 -2
  13. package/dist/collection/components/autosuggest/autosuggest.js +6 -2
  14. package/dist/collection/components/header/header.css +21 -13
  15. package/dist/collection/components/highlight-box/highlight-box.template.js +4 -1
  16. package/dist/collection/components/image-overlay/image-overlay.css +263 -0
  17. package/dist/collection/components/image-overlay/image-overlay.js +72 -0
  18. package/dist/collection/components/image-overlay/image-overlay.template.js +7 -0
  19. package/dist/collection/components/info/info.css +20 -0
  20. package/dist/collection/components/map-base-layers/map-base-layers.js +16 -1
  21. package/dist/collection/components/map-overlays/map-overlays.js +16 -1
  22. package/dist/collection/components/ozon-content/nodes/al.node.js +13 -0
  23. package/dist/collection/components/ozon-content/nodes/document.node.js +9 -0
  24. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +15 -0
  25. package/dist/collection/components/ozon-content/nodes/fallback.node.js +10 -0
  26. package/dist/collection/components/ozon-content/nodes/illustratie.node.js +13 -0
  27. package/dist/collection/components/ozon-content/nodes/inhoud.node.js +14 -0
  28. package/dist/collection/components/ozon-content/nodes/inline.nodes.js +21 -0
  29. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +26 -0
  30. package/dist/collection/components/ozon-content/nodes/noot.node.js +27 -0
  31. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js +39 -0
  32. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js +2 -0
  33. package/dist/collection/components/ozon-content/nodes/table.node/index.js +1 -0
  34. package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +25 -0
  35. package/dist/collection/components/ozon-content/nodes/table.node/table-colgroup.js +4 -0
  36. package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js +5 -0
  37. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +32 -0
  38. package/dist/collection/components/ozon-content/nodes/text.node.js +9 -0
  39. package/dist/collection/components/ozon-content/ozon-content-context.interface.js +1 -0
  40. package/dist/collection/components/ozon-content/ozon-content-mapper.js +76 -0
  41. package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js +1 -0
  42. package/dist/collection/components/ozon-content/ozon-content-node-state.interface.js +1 -0
  43. package/dist/collection/components/ozon-content/ozon-content-node.interface.js +1 -0
  44. package/dist/collection/components/ozon-content/ozon-content.css +15 -7
  45. package/dist/collection/components/ozon-content/ozon-content.js +21 -33
  46. package/dist/collection/components/selectable/selectable.js +25 -1
  47. package/dist/collection/components/viewer-grid/viewer-grid-filterpanel-buttons.js +7 -0
  48. package/dist/collection/components/viewer-grid/viewer-grid.css +351 -3
  49. package/dist/collection/components/viewer-grid/viewer-grid.js +109 -19
  50. package/dist/collection/components/viewer-grid/viewer-grid.template.js +7 -3
  51. package/dist/custom-elements/index.d.ts +6 -0
  52. package/dist/custom-elements/index.js +3088 -3103
  53. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  54. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  55. package/dist/dso-toolkit/p-225bbb28.entry.js +1 -0
  56. package/dist/dso-toolkit/p-3c4dbd89.entry.js +1 -0
  57. package/dist/dso-toolkit/p-44905fb1.js +5 -0
  58. package/dist/dso-toolkit/p-50b63cf4.entry.js +1 -0
  59. package/dist/dso-toolkit/p-8b6e3abc.entry.js +1 -0
  60. package/dist/dso-toolkit/p-ad540748.entry.js +1 -0
  61. package/dist/dso-toolkit/p-c6f467b3.entry.js +1 -0
  62. package/dist/dso-toolkit/p-f193c258.entry.js +1 -0
  63. package/dist/esm/dso-autosuggest.entry.js +5 -1
  64. package/dist/esm/dso-header.entry.js +1 -1
  65. package/dist/esm/dso-image-overlay.entry.js +58 -0
  66. package/dist/esm/dso-info_2.entry.js +4 -1
  67. package/dist/esm/dso-map-base-layers.entry.js +14 -1
  68. package/dist/esm/dso-map-overlays.entry.js +14 -1
  69. package/dist/esm/dso-ozon-content.entry.js +282 -424
  70. package/dist/esm/dso-toolkit.js +1 -1
  71. package/dist/esm/dso-viewer-grid.entry.js +58 -727
  72. package/dist/esm/focus-trap.esm-299989f2.js +710 -0
  73. package/dist/esm/loader.js +1 -1
  74. package/dist/types/components/autosuggest/autosuggest.d.ts +15 -1
  75. package/dist/types/components/image-overlay/image-overlay.d.ts +15 -0
  76. package/dist/types/components/image-overlay/image-overlay.template.d.ts +2 -0
  77. package/dist/types/components/map-base-layers/map-base-layers.d.ts +7 -2
  78. package/dist/types/components/map-overlays/map-overlays.d.ts +7 -2
  79. package/dist/types/components/ozon-content/nodes/al.node.d.ts +6 -0
  80. package/dist/types/components/ozon-content/nodes/document.node.d.ts +6 -0
  81. package/dist/types/components/ozon-content/nodes/ext-ref.node.d.ts +6 -0
  82. package/dist/types/components/ozon-content/nodes/fallback.node.d.ts +6 -0
  83. package/dist/types/components/ozon-content/nodes/illustratie.node.d.ts +5 -0
  84. package/dist/types/components/ozon-content/nodes/inhoud.node.d.ts +6 -0
  85. package/dist/types/components/ozon-content/nodes/inline.nodes.d.ts +6 -0
  86. package/dist/types/components/ozon-content/nodes/int-ref.node.d.ts +6 -0
  87. package/dist/types/components/ozon-content/nodes/noot.node.d.ts +8 -0
  88. package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec-mapper.d.ts +2 -0
  89. package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec.interface.d.ts +10 -0
  90. package/dist/types/components/ozon-content/nodes/table.node/index.d.ts +1 -0
  91. package/dist/types/components/ozon-content/nodes/table.node/table-cell.d.ts +8 -0
  92. package/dist/types/components/ozon-content/nodes/table.node/table-colgroup.d.ts +5 -0
  93. package/dist/types/components/ozon-content/nodes/table.node/table-rows.d.ts +8 -0
  94. package/dist/types/components/ozon-content/nodes/table.node/table.node.d.ts +7 -0
  95. package/dist/types/components/ozon-content/nodes/text.node.d.ts +5 -0
  96. package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +8 -0
  97. package/dist/types/components/ozon-content/ozon-content-mapper.d.ts +12 -0
  98. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +8 -0
  99. package/dist/types/components/ozon-content/ozon-content-node-state.interface.d.ts +3 -0
  100. package/dist/types/components/ozon-content/ozon-content-node.interface.d.ts +8 -0
  101. package/dist/types/components/ozon-content/ozon-content.d.ts +8 -10
  102. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +2 -2
  103. package/dist/types/components/selectable/selectable.d.ts +1 -0
  104. package/dist/types/components/viewer-grid/viewer-grid-filterpanel-buttons.d.ts +6 -0
  105. package/dist/types/components/viewer-grid/viewer-grid.d.ts +14 -3
  106. package/dist/types/components/viewer-grid/viewer-grid.template.d.ts +1 -1
  107. package/dist/types/components.d.ts +25 -6
  108. package/package.json +2 -2
  109. package/dist/collection/components/ozon-content/ozon-content.transformer.js +0 -105
  110. package/dist/dso-toolkit/p-06de0fa1.entry.js +0 -1
  111. package/dist/dso-toolkit/p-17f073d1.entry.js +0 -1
  112. package/dist/dso-toolkit/p-20856f91.entry.js +0 -1
  113. package/dist/dso-toolkit/p-7b006b11.entry.js +0 -1
  114. package/dist/dso-toolkit/p-aadc4f8e.entry.js +0 -1
  115. package/dist/dso-toolkit/p-b69134ed.entry.js +0 -5
  116. package/dist/types/components/ozon-content/ozon-content.transformer.d.ts +0 -15
@@ -0,0 +1,14 @@
1
+ import { h } from '@stencil/core';
2
+ export class OzonContentInhoudNode {
3
+ constructor() {
4
+ this.name = [
5
+ 'Inhoud',
6
+ 'Opschrift',
7
+ 'ContainerBlocksType',
8
+ 'BlockMixedcontentMetMaximaleInlinesMarkersPopupsType'
9
+ ];
10
+ }
11
+ render(node, { mapNodeToJsx }) {
12
+ return h("div", { class: "dso-rich-content" }, mapNodeToJsx(node.childNodes));
13
+ }
14
+ }
@@ -0,0 +1,21 @@
1
+ import { h } from '@stencil/core';
2
+ export class OzonContentInlineNodes {
3
+ constructor() {
4
+ this.name = [
5
+ 'sub',
6
+ 'sup',
7
+ 'strong',
8
+ 'b',
9
+ 'u',
10
+ 'i',
11
+ 'br'
12
+ ];
13
+ }
14
+ render(node, { mapNodeToJsx }) {
15
+ if (node.localName === 'br') {
16
+ return h("br", null);
17
+ }
18
+ const Tag = node.localName;
19
+ return h(Tag, null, mapNodeToJsx(node.childNodes));
20
+ }
21
+ }
@@ -0,0 +1,26 @@
1
+ import { h } from '@stencil/core';
2
+ export class OzonContentIntRefNode {
3
+ constructor() {
4
+ this.name = 'IntRef';
5
+ }
6
+ render(node, { mapNodeToJsx, emitAnchorClick }) {
7
+ const ref = node.getAttribute('ref');
8
+ if (!ref) {
9
+ return mapNodeToJsx(node.childNodes);
10
+ }
11
+ const intRefOnClick = (event) => {
12
+ event.preventDefault();
13
+ const target = event.currentTarget;
14
+ if (!(target instanceof HTMLAnchorElement)) {
15
+ return;
16
+ }
17
+ const { href } = target;
18
+ emitAnchorClick({
19
+ href,
20
+ documentComponent: ref,
21
+ originalEvent: event
22
+ });
23
+ };
24
+ return (h("a", { href: `#${ref}`, onClick: intRefOnClick }, mapNodeToJsx(node.childNodes)));
25
+ }
26
+ }
@@ -0,0 +1,27 @@
1
+ import { h, Fragment } from '@stencil/core';
2
+ export class OzonContentNootNode {
3
+ constructor() {
4
+ this.name = 'Noot';
5
+ this.handles = ['NootNummer'];
6
+ }
7
+ identify(node) {
8
+ var _a;
9
+ return (_a = node.getAttribute("id")) !== null && _a !== void 0 ? _a : undefined;
10
+ }
11
+ render(node, { mapNodeToJsx, state: noteIsOpen, setState }) {
12
+ var _a, _b;
13
+ const noteId = (_a = node.getAttribute('id')) !== null && _a !== void 0 ? _a : undefined;
14
+ const noteControlsId = noteId && `dso-ozon-note-${noteId}`;
15
+ const noteHref = noteId && `#${noteControlsId}`;
16
+ const childNodes = Array.from(node.childNodes);
17
+ const nootNummer = (_b = childNodes.find(n => n.nodeName === 'NootNummer')) === null || _b === void 0 ? void 0 : _b.textContent;
18
+ const onClickNote = (event) => {
19
+ event.preventDefault();
20
+ setState === null || setState === void 0 ? void 0 : setState(!noteIsOpen);
21
+ };
22
+ return (h(Fragment, null,
23
+ h("a", { class: { noot: true, "dso-open": !!noteIsOpen }, href: noteHref, "aria-controls": noteControlsId, "aria-expanded": noteIsOpen ? "true" : "false", onClick: onClickNote },
24
+ h("sup", null, nootNummer)),
25
+ h("span", { id: noteControlsId, role: "section" }, mapNodeToJsx(Array.from(node.querySelectorAll(':scope > Al'))))));
26
+ }
27
+ }
@@ -0,0 +1,39 @@
1
+ export function mapColspecs(count, nodeList) {
2
+ const elements = Array.from(nodeList);
3
+ const totalWidth = getTotalWidth(elements);
4
+ return {
5
+ totalWidth,
6
+ count,
7
+ columns: elements.map((element, index) => {
8
+ var _a;
9
+ const colNumber = element.getAttribute('colnum');
10
+ return {
11
+ name: (_a = element.getAttribute('colname')) !== null && _a !== void 0 ? _a : '',
12
+ number: colNumber ? parseInt(colNumber, 10) : index + 1,
13
+ width: getWidth(totalWidth, element)
14
+ };
15
+ })
16
+ };
17
+ }
18
+ function getTotalWidth(elements) {
19
+ return elements.reduce((totalWidth, element) => {
20
+ var _a, _b;
21
+ const width = (_b = (_a = element.getAttribute('colwidth')) === null || _a === void 0 ? void 0 : _a.replace(/[^0-9]/, '')) !== null && _b !== void 0 ? _b : '';
22
+ const colWidth = parseInt(width, 10);
23
+ return totalWidth + (isNaN(colWidth) ? 0 : colWidth);
24
+ }, 0);
25
+ }
26
+ function getWidth(totalWidth, element) {
27
+ const width = element.getAttribute('colwidth');
28
+ if (!width) {
29
+ return undefined;
30
+ }
31
+ if (width === '*') {
32
+ return '100%';
33
+ }
34
+ if (width.includes('*') || width.match(/^[\d+]$/)) {
35
+ const colWidth = parseInt(width.replace(/[^0-9]/, ''), 10);
36
+ return `${Math.round(colWidth / totalWidth * 100)}%`;
37
+ }
38
+ return width;
39
+ }
@@ -0,0 +1 @@
1
+ export { OzonContentTableNode } from './table.node';
@@ -0,0 +1,25 @@
1
+ import { h } from '@stencil/core/internal';
2
+ function getData(cell) {
3
+ return {
4
+ moreRows: cell.getAttribute('morerows'),
5
+ nameStart: cell.getAttribute('namest'),
6
+ nameEnd: cell.getAttribute('nameend')
7
+ };
8
+ }
9
+ function getColspan({ columns }, nameStart, nameEnd) {
10
+ const colspecStart = columns.find(c => c.name === nameStart);
11
+ const colspecEnd = columns.find(c => c.name === nameEnd);
12
+ if (!colspecStart || !colspecEnd) {
13
+ return undefined;
14
+ }
15
+ const colspan = colspecEnd.number - colspecStart.number + 1;
16
+ return colspan === 1 ? undefined : colspan;
17
+ }
18
+ export const Cell = ({ context: { mapNodeToJsx }, colspecs, cell }) => {
19
+ const { moreRows, nameStart, nameEnd } = getData(cell);
20
+ const td = {
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)));
25
+ };
@@ -0,0 +1,4 @@
1
+ import { Fragment, h } from '@stencil/core';
2
+ export const Colgroup = ({ colspecs }) => (colspecs.columns.length > 0
3
+ ? (h("colgroup", null, colspecs.columns.map(colspec => (h("col", { style: { width: colspec.width } })))))
4
+ : h(Fragment, null));
@@ -0,0 +1,5 @@
1
+ import { Fragment, h } from '@stencil/core';
2
+ import { Cell } from './table-cell';
3
+ export const Rows = ({ context, colspecs, rows }) => {
4
+ return (h(Fragment, null, rows.map(row => (h("tr", null, Array.from(row.children).map(cell => (h(Cell, { cell: cell, colspecs: colspecs, context: context }))))))));
5
+ };
@@ -0,0 +1,32 @@
1
+ import { h } from '@stencil/core';
2
+ import { mapColspecs } from './colspec/colspec-mapper';
3
+ import { Colgroup } from './table-colgroup';
4
+ import { Rows } from './table-rows';
5
+ function mapData(node) {
6
+ var _a, _b, _c;
7
+ const tgroup = node.querySelector(':scope > tgroup');
8
+ const colAttribute = (_a = tgroup === null || tgroup === void 0 ? void 0 : tgroup.getAttribute('cols')) !== null && _a !== void 0 ? _a : undefined;
9
+ const columnCount = colAttribute ? parseInt(colAttribute, 10) : undefined;
10
+ return {
11
+ caption: (_c = (_b = node.querySelector(':scope > title')) === null || _b === void 0 ? void 0 : _b.textContent) !== null && _c !== void 0 ? _c : undefined,
12
+ colspecs: tgroup && columnCount ? mapColspecs(columnCount, tgroup.querySelectorAll(':scope > colspec')) : undefined,
13
+ headRows: Array.from(node.querySelectorAll(':scope > tgroup > thead > row')),
14
+ bodyRows: Array.from(node.querySelectorAll(':scope > tgroup > tbody > row'))
15
+ };
16
+ }
17
+ export class OzonContentTableNode {
18
+ constructor() {
19
+ this.name = 'table';
20
+ this.handles = ['title', 'tgroup', 'colspec', 'thead', 'tbody', 'row', 'cell'];
21
+ }
22
+ render(node, context) {
23
+ const { caption, colspecs, headRows, bodyRows } = mapData(node);
24
+ return (h("table", { class: "table" },
25
+ caption && (h("caption", null, caption)),
26
+ colspecs && (h(Colgroup, { colspecs: colspecs })),
27
+ headRows.length > 0 && (h("thead", null,
28
+ h(Rows, { rows: headRows, colspecs: colspecs, context: context }))),
29
+ bodyRows.length > 0 && (h("tbody", null,
30
+ h(Rows, { rows: bodyRows, colspecs: colspecs, context: context })))));
31
+ }
32
+ }
@@ -0,0 +1,9 @@
1
+ import { Fragment, h } from '@stencil/core';
2
+ export class OzonContentTextNode {
3
+ constructor() {
4
+ this.name = '#text';
5
+ }
6
+ render(node) {
7
+ return h(Fragment, null, node.textContent);
8
+ }
9
+ }
@@ -0,0 +1,76 @@
1
+ import { Fragment, h } from '@stencil/core';
2
+ import { OzonContentAlNode } from './nodes/al.node';
3
+ import { OzonContentDocumentNode } from './nodes/document.node';
4
+ import { OzonContentExtRefNode } from './nodes/ext-ref.node';
5
+ import { OzonContentIllustratieNode } from './nodes/illustratie.node';
6
+ import { OzonContentInhoudNode } from './nodes/inhoud.node';
7
+ import { OzonContentInlineNodes } from './nodes/inline.nodes';
8
+ import { OzonContentIntRefNode } from './nodes/int-ref.node';
9
+ import { OzonContentNootNode } from './nodes/noot.node';
10
+ import { OzonContentTableNode } from './nodes/table.node';
11
+ import { OzonContentTextNode } from './nodes/text.node';
12
+ import { OzonContentFallbackNode } from './nodes/fallback.node';
13
+ export class Mapper {
14
+ constructor() {
15
+ this.mappers = [
16
+ new OzonContentTextNode(),
17
+ new OzonContentDocumentNode(),
18
+ new OzonContentInhoudNode(),
19
+ new OzonContentIntRefNode(),
20
+ new OzonContentExtRefNode(),
21
+ new OzonContentAlNode(),
22
+ new OzonContentInlineNodes(),
23
+ new OzonContentIllustratieNode(),
24
+ new OzonContentNootNode(),
25
+ new OzonContentTableNode()
26
+ ];
27
+ this.skip = this.mappers.reduce((t, m) => {
28
+ if (m.handles) {
29
+ t.push(...m.handles);
30
+ }
31
+ return t;
32
+ }, []);
33
+ this.fallbackNode = new OzonContentFallbackNode();
34
+ this.domParser = new DOMParser();
35
+ }
36
+ findMapper(name) {
37
+ var _a;
38
+ if (this.skip.includes(name)) {
39
+ return undefined;
40
+ }
41
+ return (_a = this.mappers.find(m => {
42
+ if (Array.isArray(m.name)) {
43
+ return m.name.includes(name);
44
+ }
45
+ return m.name === name;
46
+ })) !== null && _a !== void 0 ? _a : this.fallbackNode;
47
+ }
48
+ mapNodeToJsx(node, context, path) {
49
+ var _a, _b;
50
+ if (node instanceof NodeList) {
51
+ return h(Fragment, null, Array.from(node).map(n => this.mapNodeToJsx(n, context, path)));
52
+ }
53
+ if (Array.isArray(node)) {
54
+ return h(Fragment, null, node.map(n => this.mapNodeToJsx(n, context, path)));
55
+ }
56
+ const nodeName = node instanceof Element ? node.localName : node.nodeName;
57
+ const mapper = this.findMapper(nodeName);
58
+ const identity = (_a = mapper === null || mapper === void 0 ? void 0 : mapper.identify) === null || _a === void 0 ? void 0 : _a.call(mapper, node);
59
+ const state = identity ? context.state[identity] : undefined;
60
+ const setState = identity ? (state) => context.setState(Object.assign(Object.assign({}, context.state), { [identity]: state })) : undefined;
61
+ return (_b = mapper === null || mapper === void 0 ? void 0 : mapper.render(node, {
62
+ mapNodeToJsx: n => this.mapNodeToJsx(n, context, [...path, node]),
63
+ emitAnchorClick: context.emitAnchorClick,
64
+ setState,
65
+ state,
66
+ path
67
+ })) !== null && _b !== void 0 ? _b : h(Fragment, null);
68
+ }
69
+ transform(xml, context) {
70
+ if (!this.cache || this.cache.xml !== xml) {
71
+ this.cache = { xml, document: this.domParser.parseFromString(xml, 'text/xml') };
72
+ }
73
+ const xmlDocument = this.cache.document;
74
+ return this.mapNodeToJsx(xmlDocument.getRootNode(), context, []);
75
+ }
76
+ }
@@ -1,22 +1,22 @@
1
- dso-ozon-content {
1
+ :host {
2
2
  display: block;
3
3
  }
4
4
 
5
5
  .noot {
6
6
  text-decoration: none;
7
7
  }
8
- .noot:not(.dso-open) + .od-Al {
8
+ .noot:not(.dso-open) + * {
9
9
  display: none;
10
10
  }
11
- .noot.dso-open + .od-Al {
11
+ .noot.dso-open + * {
12
12
  display: block;
13
13
  }
14
- .noot + .od-Al {
14
+ .noot + * {
15
15
  margin: 4px 0;
16
16
  padding: 8px 32px 8px 8px;
17
17
  position: relative;
18
18
  }
19
- .noot + .od-Al > a {
19
+ .noot + * > a {
20
20
  display: block;
21
21
  height: 24px;
22
22
  position: absolute;
@@ -25,7 +25,7 @@ dso-ozon-content {
25
25
  top: 0;
26
26
  width: 24px;
27
27
  }
28
- .noot + .od-Al > a::before {
28
+ .noot + * > a::before {
29
29
  background: var(--dso-icon, var(--di-times-zwart)) no-repeat;
30
30
  background-position: center;
31
31
  background-size: cover;
@@ -35,10 +35,18 @@ dso-ozon-content {
35
35
  content: "";
36
36
  display: block;
37
37
  }
38
- .noot + .od-Al {
38
+ .noot + * {
39
39
  background-color: #ebf3e6;
40
40
  }
41
41
 
42
+ span[role=paragraph] {
43
+ display: block;
44
+ }
45
+
46
+ .fallback {
47
+ display: block;
48
+ }
49
+
42
50
  .od-Term {
43
51
  font-weight: 700;
44
52
  }
@@ -1,29 +1,21 @@
1
- import { h, Event, Component, Prop, Listen } from '@stencil/core';
2
- import { OzonContentTransformer } from './ozon-content.transformer';
1
+ import { Component, Event, Prop, State, } from '@stencil/core';
2
+ import { Mapper } from './ozon-content-mapper';
3
3
  export class OzonContent {
4
- handleClick(event) {
5
- this.transformer.handleClickEvent(event);
6
- }
7
- componentWillLoad() {
8
- this.transformer = new OzonContentTransformer(this.anchorClick);
9
- }
10
- componentWillRender() {
11
- this.transformer.setContent(this.content);
4
+ constructor() {
5
+ this.state = {};
6
+ this.mapper = new Mapper();
12
7
  }
13
8
  render() {
14
- return h("div", { class: "dso-rich-content", ref: el => this.container = el });
15
- }
16
- componentDidRender() {
17
9
  var _a;
18
- const content = this.transformer.content;
19
- if (this.container && content) {
20
- this.container.replaceChildren(...Array.from(content));
21
- }
22
- else {
23
- (_a = this.container) === null || _a === void 0 ? void 0 : _a.replaceChildren();
24
- }
10
+ const context = {
11
+ state: this.state,
12
+ setState: state => this.state = state,
13
+ emitAnchorClick: this.anchorClick.emit
14
+ };
15
+ return this.mapper.transform((_a = this.content) !== null && _a !== void 0 ? _a : '', context);
25
16
  }
26
17
  static get is() { return "dso-ozon-content"; }
18
+ static get encapsulation() { return "scoped"; }
27
19
  static get originalStyleUrls() { return {
28
20
  "$": ["ozon-content.scss"]
29
21
  }; }
@@ -35,11 +27,11 @@ export class OzonContent {
35
27
  "type": "string",
36
28
  "mutable": false,
37
29
  "complexType": {
38
- "original": "string",
39
- "resolved": "string",
30
+ "original": "string | undefined",
31
+ "resolved": "string | undefined",
40
32
  "references": {}
41
33
  },
42
- "required": true,
34
+ "required": false,
43
35
  "optional": false,
44
36
  "docs": {
45
37
  "tags": [],
@@ -49,6 +41,9 @@ export class OzonContent {
49
41
  "reflect": false
50
42
  }
51
43
  }; }
44
+ static get states() { return {
45
+ "state": {}
46
+ }; }
52
47
  static get events() { return [{
53
48
  "method": "anchorClick",
54
49
  "name": "anchorClick",
@@ -60,21 +55,14 @@ export class OzonContent {
60
55
  "text": ""
61
56
  },
62
57
  "complexType": {
63
- "original": "ContentAnchor",
64
- "resolved": "ContentAnchor",
58
+ "original": "OzonContentAnchorClick",
59
+ "resolved": "OzonContentAnchorClick",
65
60
  "references": {
66
- "ContentAnchor": {
61
+ "OzonContentAnchorClick": {
67
62
  "location": "import",
68
63
  "path": "./ozon-content.interfaces"
69
64
  }
70
65
  }
71
66
  }
72
67
  }]; }
73
- static get listeners() { return [{
74
- "name": "click",
75
- "method": "handleClick",
76
- "target": undefined,
77
- "capture": false,
78
- "passive": false
79
- }]; }
80
68
  }
@@ -1,10 +1,13 @@
1
- import { h, Component, Prop, Event, Fragment, Element, State, forceUpdate, Watch } from '@stencil/core';
1
+ import { h, Component, Prop, Event, Fragment, Element, State, forceUpdate, Watch, Method } from '@stencil/core';
2
2
  import { createIdentifier } from '../../utils/create-identifier';
3
3
  export class Selectable {
4
4
  constructor() {
5
5
  this.infoActive = false;
6
6
  this.fallbackIdentifier = createIdentifier('DsoSelectable');
7
7
  }
8
+ async toggleInfo(active) {
9
+ this.infoActive = active !== null && active !== void 0 ? active : !this.infoActive;
10
+ }
8
11
  componentDidLoad() {
9
12
  var _a;
10
13
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
@@ -260,6 +263,27 @@ export class Selectable {
260
263
  }
261
264
  }
262
265
  }]; }
266
+ static get methods() { return {
267
+ "toggleInfo": {
268
+ "complexType": {
269
+ "signature": "(active?: boolean | undefined) => Promise<void>",
270
+ "parameters": [{
271
+ "tags": [],
272
+ "text": ""
273
+ }],
274
+ "references": {
275
+ "Promise": {
276
+ "location": "global"
277
+ }
278
+ },
279
+ "return": "Promise<void>"
280
+ },
281
+ "docs": {
282
+ "text": "",
283
+ "tags": []
284
+ }
285
+ }
286
+ }; }
263
287
  static get elementRef() { return "host"; }
264
288
  static get watchers() { return [{
265
289
  "propName": "indeterminate",
@@ -0,0 +1,7 @@
1
+ import { h } from '@stencil/core';
2
+ export const ViewerGridFilterpanelButtons = ({ onApply, onCancel }) => (h("div", { class: "filterpanel-buttons" },
3
+ h("button", { type: "button", class: "cancel-button", onClick: onCancel },
4
+ h("span", null, "Annuleren")),
5
+ h("button", { type: "button", class: "apply-button", onClick: onApply },
6
+ h("span", null, "Toepassen"),
7
+ h("dso-icon", { icon: "chevron-right" }))));