@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.
- package/dist/cjs/dso-autosuggest.cjs.entry.js +5 -1
- package/dist/cjs/dso-header.cjs.entry.js +1 -1
- package/dist/cjs/dso-image-overlay.cjs.entry.js +62 -0
- package/dist/cjs/dso-info_2.cjs.entry.js +4 -1
- package/dist/cjs/dso-map-base-layers.cjs.entry.js +14 -1
- package/dist/cjs/dso-map-overlays.cjs.entry.js +14 -1
- package/dist/cjs/dso-ozon-content.cjs.entry.js +281 -423
- package/dist/cjs/dso-toolkit.cjs.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +57 -726
- package/dist/cjs/focus-trap.esm-8d3e3fb6.js +712 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/autosuggest/autosuggest.js +6 -2
- package/dist/collection/components/header/header.css +21 -13
- package/dist/collection/components/highlight-box/highlight-box.template.js +4 -1
- package/dist/collection/components/image-overlay/image-overlay.css +263 -0
- package/dist/collection/components/image-overlay/image-overlay.js +72 -0
- package/dist/collection/components/image-overlay/image-overlay.template.js +7 -0
- package/dist/collection/components/info/info.css +20 -0
- package/dist/collection/components/map-base-layers/map-base-layers.js +16 -1
- package/dist/collection/components/map-overlays/map-overlays.js +16 -1
- package/dist/collection/components/ozon-content/nodes/al.node.js +13 -0
- package/dist/collection/components/ozon-content/nodes/document.node.js +9 -0
- package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +15 -0
- package/dist/collection/components/ozon-content/nodes/fallback.node.js +10 -0
- package/dist/collection/components/ozon-content/nodes/illustratie.node.js +13 -0
- package/dist/collection/components/ozon-content/nodes/inhoud.node.js +14 -0
- package/dist/collection/components/ozon-content/nodes/inline.nodes.js +21 -0
- package/dist/collection/components/ozon-content/nodes/int-ref.node.js +26 -0
- package/dist/collection/components/ozon-content/nodes/noot.node.js +27 -0
- package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js +39 -0
- package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js +2 -0
- package/dist/collection/components/ozon-content/nodes/table.node/index.js +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +25 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table-colgroup.js +4 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js +5 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +32 -0
- package/dist/collection/components/ozon-content/nodes/text.node.js +9 -0
- package/dist/collection/components/ozon-content/ozon-content-context.interface.js +1 -0
- package/dist/collection/components/ozon-content/ozon-content-mapper.js +76 -0
- package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js +1 -0
- package/dist/collection/components/ozon-content/ozon-content-node-state.interface.js +1 -0
- package/dist/collection/components/ozon-content/ozon-content-node.interface.js +1 -0
- package/dist/collection/components/ozon-content/ozon-content.css +15 -7
- package/dist/collection/components/ozon-content/ozon-content.js +21 -33
- package/dist/collection/components/selectable/selectable.js +25 -1
- package/dist/collection/components/viewer-grid/viewer-grid-filterpanel-buttons.js +7 -0
- package/dist/collection/components/viewer-grid/viewer-grid.css +351 -3
- package/dist/collection/components/viewer-grid/viewer-grid.js +109 -19
- package/dist/collection/components/viewer-grid/viewer-grid.template.js +7 -3
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +3088 -3103
- package/dist/dso-toolkit/dso-toolkit.css +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/p-225bbb28.entry.js +1 -0
- package/dist/dso-toolkit/p-3c4dbd89.entry.js +1 -0
- package/dist/dso-toolkit/p-44905fb1.js +5 -0
- package/dist/dso-toolkit/p-50b63cf4.entry.js +1 -0
- package/dist/dso-toolkit/p-8b6e3abc.entry.js +1 -0
- package/dist/dso-toolkit/p-ad540748.entry.js +1 -0
- package/dist/dso-toolkit/p-c6f467b3.entry.js +1 -0
- package/dist/dso-toolkit/p-f193c258.entry.js +1 -0
- package/dist/esm/dso-autosuggest.entry.js +5 -1
- package/dist/esm/dso-header.entry.js +1 -1
- package/dist/esm/dso-image-overlay.entry.js +58 -0
- package/dist/esm/dso-info_2.entry.js +4 -1
- package/dist/esm/dso-map-base-layers.entry.js +14 -1
- package/dist/esm/dso-map-overlays.entry.js +14 -1
- package/dist/esm/dso-ozon-content.entry.js +282 -424
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +58 -727
- package/dist/esm/focus-trap.esm-299989f2.js +710 -0
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/autosuggest/autosuggest.d.ts +15 -1
- package/dist/types/components/image-overlay/image-overlay.d.ts +15 -0
- package/dist/types/components/image-overlay/image-overlay.template.d.ts +2 -0
- package/dist/types/components/map-base-layers/map-base-layers.d.ts +7 -2
- package/dist/types/components/map-overlays/map-overlays.d.ts +7 -2
- package/dist/types/components/ozon-content/nodes/al.node.d.ts +6 -0
- package/dist/types/components/ozon-content/nodes/document.node.d.ts +6 -0
- package/dist/types/components/ozon-content/nodes/ext-ref.node.d.ts +6 -0
- package/dist/types/components/ozon-content/nodes/fallback.node.d.ts +6 -0
- package/dist/types/components/ozon-content/nodes/illustratie.node.d.ts +5 -0
- package/dist/types/components/ozon-content/nodes/inhoud.node.d.ts +6 -0
- package/dist/types/components/ozon-content/nodes/inline.nodes.d.ts +6 -0
- package/dist/types/components/ozon-content/nodes/int-ref.node.d.ts +6 -0
- package/dist/types/components/ozon-content/nodes/noot.node.d.ts +8 -0
- package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec-mapper.d.ts +2 -0
- package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec.interface.d.ts +10 -0
- package/dist/types/components/ozon-content/nodes/table.node/index.d.ts +1 -0
- package/dist/types/components/ozon-content/nodes/table.node/table-cell.d.ts +8 -0
- package/dist/types/components/ozon-content/nodes/table.node/table-colgroup.d.ts +5 -0
- package/dist/types/components/ozon-content/nodes/table.node/table-rows.d.ts +8 -0
- package/dist/types/components/ozon-content/nodes/table.node/table.node.d.ts +7 -0
- package/dist/types/components/ozon-content/nodes/text.node.d.ts +5 -0
- package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +8 -0
- package/dist/types/components/ozon-content/ozon-content-mapper.d.ts +12 -0
- package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +8 -0
- package/dist/types/components/ozon-content/ozon-content-node-state.interface.d.ts +3 -0
- package/dist/types/components/ozon-content/ozon-content-node.interface.d.ts +8 -0
- package/dist/types/components/ozon-content/ozon-content.d.ts +8 -10
- package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +2 -2
- package/dist/types/components/selectable/selectable.d.ts +1 -0
- package/dist/types/components/viewer-grid/viewer-grid-filterpanel-buttons.d.ts +6 -0
- package/dist/types/components/viewer-grid/viewer-grid.d.ts +14 -3
- package/dist/types/components/viewer-grid/viewer-grid.template.d.ts +1 -1
- package/dist/types/components.d.ts +25 -6
- package/package.json +2 -2
- package/dist/collection/components/ozon-content/ozon-content.transformer.js +0 -105
- package/dist/dso-toolkit/p-06de0fa1.entry.js +0 -1
- package/dist/dso-toolkit/p-17f073d1.entry.js +0 -1
- package/dist/dso-toolkit/p-20856f91.entry.js +0 -1
- package/dist/dso-toolkit/p-7b006b11.entry.js +0 -1
- package/dist/dso-toolkit/p-aadc4f8e.entry.js +0 -1
- package/dist/dso-toolkit/p-b69134ed.entry.js +0 -5
- package/dist/types/components/ozon-content/ozon-content.transformer.d.ts +0 -15
|
@@ -4,489 +4,347 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-5ea63531.js');
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var isString = typeof input === 'string' || input instanceof String;
|
|
11
|
-
|
|
12
|
-
if (!isString) {
|
|
13
|
-
var invalidType = _typeof(input);
|
|
14
|
-
|
|
15
|
-
if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
|
|
16
|
-
throw new TypeError("Expected a string but received a ".concat(invalidType));
|
|
7
|
+
class OzonContentAlNode {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.name = 'Al';
|
|
17
10
|
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
for (var key in defaults) {
|
|
25
|
-
if (typeof obj[key] === 'undefined') {
|
|
26
|
-
obj[key] = defaults[key];
|
|
27
|
-
}
|
|
11
|
+
render(node, { mapNodeToJsx, path }) {
|
|
12
|
+
const nestedAl = path.some(node => node.nodeName === 'Al');
|
|
13
|
+
const content = mapNodeToJsx(node.childNodes);
|
|
14
|
+
return nestedAl
|
|
15
|
+
? index.h("span", { role: "paragraph" }, content)
|
|
16
|
+
: index.h("p", null, content);
|
|
28
17
|
}
|
|
29
|
-
|
|
30
|
-
return obj;
|
|
31
18
|
}
|
|
32
19
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
allow_trailing_dot: false,
|
|
37
|
-
allow_numeric_tld: false,
|
|
38
|
-
allow_wildcard: false
|
|
39
|
-
};
|
|
40
|
-
function isFQDN(str, options) {
|
|
41
|
-
assertString(str);
|
|
42
|
-
options = merge(options, default_fqdn_options);
|
|
43
|
-
/* Remove the optional trailing dot before checking validity */
|
|
44
|
-
|
|
45
|
-
if (options.allow_trailing_dot && str[str.length - 1] === '.') {
|
|
46
|
-
str = str.substring(0, str.length - 1);
|
|
20
|
+
class OzonContentDocumentNode {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.name = '#document';
|
|
47
23
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
|
|
52
|
-
str = str.substring(2);
|
|
24
|
+
render(node, { mapNodeToJsx }) {
|
|
25
|
+
return index.h(index.Fragment, null, mapNodeToJsx(node.childNodes));
|
|
53
26
|
}
|
|
54
|
-
|
|
55
|
-
var parts = str.split('.');
|
|
56
|
-
var tld = parts[parts.length - 1];
|
|
57
|
-
|
|
58
|
-
if (options.require_tld) {
|
|
59
|
-
// disallow fqdns without tld
|
|
60
|
-
if (parts.length < 2) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (!/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
|
|
65
|
-
return false;
|
|
66
|
-
} // disallow spaces
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (/\s/.test(tld)) {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
} // reject numeric TLDs
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return parts.every(function (part) {
|
|
80
|
-
if (part.length > 63) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
|
|
85
|
-
return false;
|
|
86
|
-
} // disallow full-width chars
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (/[\uff01-\uff5e]/.test(part)) {
|
|
90
|
-
return false;
|
|
91
|
-
} // disallow parts starting or ending with hyphen
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (/^-|-$/.test(part)) {
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (!options.allow_underscores && /_/.test(part)) {
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return true;
|
|
103
|
-
});
|
|
104
27
|
}
|
|
105
28
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
ff02::5678 (on the 5th link of the node)
|
|
113
|
-
ff08::9abc (on the 10th organization of the node)
|
|
114
|
-
|
|
115
|
-
would be represented as follows:
|
|
116
|
-
|
|
117
|
-
fe80::1234%1
|
|
118
|
-
ff02::5678%5
|
|
119
|
-
ff08::9abc%10
|
|
120
|
-
|
|
121
|
-
(Here we assume a natural translation from a zone index to the
|
|
122
|
-
<zone_id> part, where the Nth zone of any scope is translated into
|
|
123
|
-
"N".)
|
|
124
|
-
|
|
125
|
-
If we use interface names as <zone_id>, those addresses could also be
|
|
126
|
-
represented as follows:
|
|
127
|
-
|
|
128
|
-
fe80::1234%ne0
|
|
129
|
-
ff02::5678%pvc1.3
|
|
130
|
-
ff08::9abc%interface10
|
|
131
|
-
|
|
132
|
-
where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
|
|
133
|
-
to the 5th link, and "interface10" belongs to the 10th organization.
|
|
134
|
-
* * */
|
|
135
|
-
|
|
136
|
-
var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
|
|
137
|
-
var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
|
|
138
|
-
var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
|
|
139
|
-
var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
|
|
140
|
-
var IPv6AddressRegExp = new RegExp('^(' + "(?:".concat(IPv6SegmentFormat, ":){7}(?:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){6}(?:").concat(IPv4AddressFormat, "|:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){5}(?::").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,2}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){4}(?:(:").concat(IPv6SegmentFormat, "){0,1}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,3}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){3}(?:(:").concat(IPv6SegmentFormat, "){0,2}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,4}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){2}(?:(:").concat(IPv6SegmentFormat, "){0,3}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,5}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){1}(?:(:").concat(IPv6SegmentFormat, "){0,4}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,6}|:)|") + "(?::((?::".concat(IPv6SegmentFormat, "){0,5}:").concat(IPv4AddressFormat, "|(?::").concat(IPv6SegmentFormat, "){1,7}|:))") + ')(%[0-9a-zA-Z-.:]{1,})?$');
|
|
141
|
-
function isIP(str) {
|
|
142
|
-
var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
143
|
-
assertString(str);
|
|
144
|
-
version = String(version);
|
|
145
|
-
|
|
146
|
-
if (!version) {
|
|
147
|
-
return isIP(str, 4) || isIP(str, 6);
|
|
29
|
+
class OzonContentExtRefNode {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.name = [
|
|
32
|
+
'ExtRef',
|
|
33
|
+
'ExtIoRef'
|
|
34
|
+
];
|
|
148
35
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
var parts = str.split('.').sort(function (a, b) {
|
|
156
|
-
return a - b;
|
|
157
|
-
});
|
|
158
|
-
return parts[3] <= 255;
|
|
36
|
+
render(node, { mapNodeToJsx }) {
|
|
37
|
+
var _a;
|
|
38
|
+
return (index.h("a", { target: "_blank", rel: "noopener noreferrer", href: (_a = node.getAttribute('ref')) !== null && _a !== void 0 ? _a : undefined },
|
|
39
|
+
index.h("span", { class: "sr-only" }, "opent in nieuw venster"),
|
|
40
|
+
mapNodeToJsx(node.childNodes)));
|
|
159
41
|
}
|
|
42
|
+
}
|
|
160
43
|
|
|
161
|
-
|
|
162
|
-
|
|
44
|
+
class OzonContentIllustratieNode {
|
|
45
|
+
constructor() {
|
|
46
|
+
this.name = [
|
|
47
|
+
'Illustratie',
|
|
48
|
+
'InlineTekstAfbeelding'
|
|
49
|
+
];
|
|
50
|
+
}
|
|
51
|
+
render(node) {
|
|
52
|
+
var _a, _b, _c, _d;
|
|
53
|
+
return (index.h("img", { src: (_a = node.getAttribute('naam')) !== null && _a !== void 0 ? _a : undefined, alt: (_b = node.getAttribute('naam')) !== null && _b !== void 0 ? _b : undefined, height: (_c = node.getAttribute('hoogte')) !== null && _c !== void 0 ? _c : undefined, width: (_d = node.getAttribute('breedte')) !== null && _d !== void 0 ? _d : undefined }));
|
|
163
54
|
}
|
|
164
|
-
|
|
165
|
-
return false;
|
|
166
55
|
}
|
|
167
56
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
options for isURL method
|
|
181
|
-
|
|
182
|
-
require_protocol - if set as true isURL will return false if protocol is not present in the URL
|
|
183
|
-
require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
|
|
184
|
-
protocols - valid protocols can be modified with this option
|
|
185
|
-
require_host - if set as false isURL will not check if host is present in the URL
|
|
186
|
-
require_port - if set as true isURL will check if port is present in the URL
|
|
187
|
-
allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
|
|
188
|
-
validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
|
|
189
|
-
|
|
190
|
-
*/
|
|
191
|
-
|
|
192
|
-
var default_url_options = {
|
|
193
|
-
protocols: ['http', 'https', 'ftp'],
|
|
194
|
-
require_tld: true,
|
|
195
|
-
require_protocol: false,
|
|
196
|
-
require_host: true,
|
|
197
|
-
require_port: false,
|
|
198
|
-
require_valid_protocol: true,
|
|
199
|
-
allow_underscores: false,
|
|
200
|
-
allow_trailing_dot: false,
|
|
201
|
-
allow_protocol_relative_urls: false,
|
|
202
|
-
allow_fragments: true,
|
|
203
|
-
allow_query_components: true,
|
|
204
|
-
validate_length: true
|
|
205
|
-
};
|
|
206
|
-
var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
|
|
207
|
-
|
|
208
|
-
function isRegExp(obj) {
|
|
209
|
-
return Object.prototype.toString.call(obj) === '[object RegExp]';
|
|
57
|
+
class OzonContentInhoudNode {
|
|
58
|
+
constructor() {
|
|
59
|
+
this.name = [
|
|
60
|
+
'Inhoud',
|
|
61
|
+
'Opschrift',
|
|
62
|
+
'ContainerBlocksType',
|
|
63
|
+
'BlockMixedcontentMetMaximaleInlinesMarkersPopupsType'
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
render(node, { mapNodeToJsx }) {
|
|
67
|
+
return index.h("div", { class: "dso-rich-content" }, mapNodeToJsx(node.childNodes));
|
|
68
|
+
}
|
|
210
69
|
}
|
|
211
70
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
71
|
+
class OzonContentInlineNodes {
|
|
72
|
+
constructor() {
|
|
73
|
+
this.name = [
|
|
74
|
+
'sub',
|
|
75
|
+
'sup',
|
|
76
|
+
'strong',
|
|
77
|
+
'b',
|
|
78
|
+
'u',
|
|
79
|
+
'i',
|
|
80
|
+
'br'
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
render(node, { mapNodeToJsx }) {
|
|
84
|
+
if (node.localName === 'br') {
|
|
85
|
+
return index.h("br", null);
|
|
218
86
|
}
|
|
87
|
+
const Tag = node.localName;
|
|
88
|
+
return index.h(Tag, null, mapNodeToJsx(node.childNodes));
|
|
219
89
|
}
|
|
220
|
-
|
|
221
|
-
return false;
|
|
222
90
|
}
|
|
223
91
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
if (!url || /[\s<>]/.test(url)) {
|
|
228
|
-
return false;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
if (url.indexOf('mailto:') === 0) {
|
|
232
|
-
return false;
|
|
92
|
+
class OzonContentIntRefNode {
|
|
93
|
+
constructor() {
|
|
94
|
+
this.name = 'IntRef';
|
|
233
95
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
96
|
+
render(node, { mapNodeToJsx, emitAnchorClick }) {
|
|
97
|
+
const ref = node.getAttribute('ref');
|
|
98
|
+
if (!ref) {
|
|
99
|
+
return mapNodeToJsx(node.childNodes);
|
|
100
|
+
}
|
|
101
|
+
const intRefOnClick = (event) => {
|
|
102
|
+
event.preventDefault();
|
|
103
|
+
const target = event.currentTarget;
|
|
104
|
+
if (!(target instanceof HTMLAnchorElement)) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const { href } = target;
|
|
108
|
+
emitAnchorClick({
|
|
109
|
+
href,
|
|
110
|
+
documentComponent: ref,
|
|
111
|
+
originalEvent: event
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
return (index.h("a", { href: `#${ref}`, onClick: intRefOnClick }, mapNodeToJsx(node.childNodes)));
|
|
239
115
|
}
|
|
116
|
+
}
|
|
240
117
|
|
|
241
|
-
|
|
242
|
-
|
|
118
|
+
class OzonContentNootNode {
|
|
119
|
+
constructor() {
|
|
120
|
+
this.name = 'Noot';
|
|
121
|
+
this.handles = ['NootNummer'];
|
|
243
122
|
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
return
|
|
123
|
+
identify(node) {
|
|
124
|
+
var _a;
|
|
125
|
+
return (_a = node.getAttribute("id")) !== null && _a !== void 0 ? _a : undefined;
|
|
126
|
+
}
|
|
127
|
+
render(node, { mapNodeToJsx, state: noteIsOpen, setState }) {
|
|
128
|
+
var _a, _b;
|
|
129
|
+
const noteId = (_a = node.getAttribute('id')) !== null && _a !== void 0 ? _a : undefined;
|
|
130
|
+
const noteControlsId = noteId && `dso-ozon-note-${noteId}`;
|
|
131
|
+
const noteHref = noteId && `#${noteControlsId}`;
|
|
132
|
+
const childNodes = Array.from(node.childNodes);
|
|
133
|
+
const nootNummer = (_b = childNodes.find(n => n.nodeName === 'NootNummer')) === null || _b === void 0 ? void 0 : _b.textContent;
|
|
134
|
+
const onClickNote = (event) => {
|
|
135
|
+
event.preventDefault();
|
|
136
|
+
setState === null || setState === void 0 ? void 0 : setState(!noteIsOpen);
|
|
137
|
+
};
|
|
138
|
+
return (index.h(index.Fragment, null,
|
|
139
|
+
index.h("a", { class: { noot: true, "dso-open": !!noteIsOpen }, href: noteHref, "aria-controls": noteControlsId, "aria-expanded": noteIsOpen ? "true" : "false", onClick: onClickNote },
|
|
140
|
+
index.h("sup", null, nootNummer)),
|
|
141
|
+
index.h("span", { id: noteControlsId, role: "section" }, mapNodeToJsx(Array.from(node.querySelectorAll(':scope > Al'))))));
|
|
247
142
|
}
|
|
143
|
+
}
|
|
248
144
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
145
|
+
function mapColspecs(count, nodeList) {
|
|
146
|
+
const elements = Array.from(nodeList);
|
|
147
|
+
const totalWidth = getTotalWidth(elements);
|
|
148
|
+
return {
|
|
149
|
+
totalWidth,
|
|
150
|
+
count,
|
|
151
|
+
columns: elements.map((element, index) => {
|
|
152
|
+
var _a;
|
|
153
|
+
const colNumber = element.getAttribute('colnum');
|
|
154
|
+
return {
|
|
155
|
+
name: (_a = element.getAttribute('colname')) !== null && _a !== void 0 ? _a : '',
|
|
156
|
+
number: colNumber ? parseInt(colNumber, 10) : index + 1,
|
|
157
|
+
width: getWidth(totalWidth, element)
|
|
158
|
+
};
|
|
159
|
+
})
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function getTotalWidth(elements) {
|
|
163
|
+
return elements.reduce((totalWidth, element) => {
|
|
164
|
+
var _a, _b;
|
|
165
|
+
const width = (_b = (_a = element.getAttribute('colwidth')) === null || _a === void 0 ? void 0 : _a.replace(/[^0-9]/, '')) !== null && _b !== void 0 ? _b : '';
|
|
166
|
+
const colWidth = parseInt(width, 10);
|
|
167
|
+
return totalWidth + (isNaN(colWidth) ? 0 : colWidth);
|
|
168
|
+
}, 0);
|
|
169
|
+
}
|
|
170
|
+
function getWidth(totalWidth, element) {
|
|
171
|
+
const width = element.getAttribute('colwidth');
|
|
172
|
+
if (!width) {
|
|
173
|
+
return undefined;
|
|
270
174
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
if (url === '') {
|
|
275
|
-
return false;
|
|
175
|
+
if (width === '*') {
|
|
176
|
+
return '100%';
|
|
276
177
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
if (url === '' && !options.require_host) {
|
|
282
|
-
return true;
|
|
178
|
+
if (width.includes('*') || width.match(/^[\d+]$/)) {
|
|
179
|
+
const colWidth = parseInt(width.replace(/[^0-9]/, ''), 10);
|
|
180
|
+
return `${Math.round(colWidth / totalWidth * 100)}%`;
|
|
283
181
|
}
|
|
182
|
+
return width;
|
|
183
|
+
}
|
|
284
184
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
if (options.disallow_auth) {
|
|
289
|
-
return false;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
if (split[0] === '') {
|
|
293
|
-
return false;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
auth = split.shift();
|
|
297
|
-
|
|
298
|
-
if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
|
|
299
|
-
return false;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
var _auth$split = auth.split(':'),
|
|
303
|
-
_auth$split2 = _slicedToArray(_auth$split, 2),
|
|
304
|
-
user = _auth$split2[0],
|
|
305
|
-
password = _auth$split2[1];
|
|
306
|
-
|
|
307
|
-
if (user === '' && password === '') {
|
|
308
|
-
return false;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
185
|
+
const Colgroup = ({ colspecs }) => (colspecs.columns.length > 0
|
|
186
|
+
? (index.h("colgroup", null, colspecs.columns.map(colspec => (index.h("col", { style: { width: colspec.width } })))))
|
|
187
|
+
: index.h(index.Fragment, null));
|
|
311
188
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
189
|
+
function getData(cell) {
|
|
190
|
+
return {
|
|
191
|
+
moreRows: cell.getAttribute('morerows'),
|
|
192
|
+
nameStart: cell.getAttribute('namest'),
|
|
193
|
+
nameEnd: cell.getAttribute('nameend')
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
function getColspan({ columns }, nameStart, nameEnd) {
|
|
197
|
+
const colspecStart = columns.find(c => c.name === nameStart);
|
|
198
|
+
const colspecEnd = columns.find(c => c.name === nameEnd);
|
|
199
|
+
if (!colspecStart || !colspecEnd) {
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
const colspan = colspecEnd.number - colspecStart.number + 1;
|
|
203
|
+
return colspan === 1 ? undefined : colspan;
|
|
204
|
+
}
|
|
205
|
+
const Cell = ({ context: { mapNodeToJsx }, colspecs, cell }) => {
|
|
206
|
+
const { moreRows, nameStart, nameEnd } = getData(cell);
|
|
207
|
+
const td = {
|
|
208
|
+
rowSpan: moreRows ? parseInt(moreRows, 10) + 1 : undefined,
|
|
209
|
+
colSpan: colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined
|
|
210
|
+
};
|
|
211
|
+
return (index.h("td", Object.assign({}, td), mapNodeToJsx(cell.childNodes)));
|
|
212
|
+
};
|
|
316
213
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
port_str = ipv6_match[2] || null;
|
|
321
|
-
} else {
|
|
322
|
-
split = hostname.split(':');
|
|
323
|
-
host = split.shift();
|
|
214
|
+
const Rows = ({ context, colspecs, rows }) => {
|
|
215
|
+
return (index.h(index.Fragment, null, rows.map(row => (index.h("tr", null, Array.from(row.children).map(cell => (index.h(Cell, { cell: cell, colspecs: colspecs, context: context }))))))));
|
|
216
|
+
};
|
|
324
217
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
218
|
+
function mapData(node) {
|
|
219
|
+
var _a, _b, _c;
|
|
220
|
+
const tgroup = node.querySelector(':scope > tgroup');
|
|
221
|
+
const colAttribute = (_a = tgroup === null || tgroup === void 0 ? void 0 : tgroup.getAttribute('cols')) !== null && _a !== void 0 ? _a : undefined;
|
|
222
|
+
const columnCount = colAttribute ? parseInt(colAttribute, 10) : undefined;
|
|
223
|
+
return {
|
|
224
|
+
caption: (_c = (_b = node.querySelector(':scope > title')) === null || _b === void 0 ? void 0 : _b.textContent) !== null && _c !== void 0 ? _c : undefined,
|
|
225
|
+
colspecs: tgroup && columnCount ? mapColspecs(columnCount, tgroup.querySelectorAll(':scope > colspec')) : undefined,
|
|
226
|
+
headRows: Array.from(node.querySelectorAll(':scope > tgroup > thead > row')),
|
|
227
|
+
bodyRows: Array.from(node.querySelectorAll(':scope > tgroup > tbody > row'))
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
class OzonContentTableNode {
|
|
231
|
+
constructor() {
|
|
232
|
+
this.name = 'table';
|
|
233
|
+
this.handles = ['title', 'tgroup', 'colspec', 'thead', 'tbody', 'row', 'cell'];
|
|
234
|
+
}
|
|
235
|
+
render(node, context) {
|
|
236
|
+
const { caption, colspecs, headRows, bodyRows } = mapData(node);
|
|
237
|
+
return (index.h("table", { class: "table" },
|
|
238
|
+
caption && (index.h("caption", null, caption)),
|
|
239
|
+
colspecs && (index.h(Colgroup, { colspecs: colspecs })),
|
|
240
|
+
headRows.length > 0 && (index.h("thead", null,
|
|
241
|
+
index.h(Rows, { rows: headRows, colspecs: colspecs, context: context }))),
|
|
242
|
+
bodyRows.length > 0 && (index.h("tbody", null,
|
|
243
|
+
index.h(Rows, { rows: bodyRows, colspecs: colspecs, context: context })))));
|
|
328
244
|
}
|
|
245
|
+
}
|
|
329
246
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
|
|
334
|
-
return false;
|
|
335
|
-
}
|
|
336
|
-
} else if (options.require_port) {
|
|
337
|
-
return false;
|
|
247
|
+
class OzonContentTextNode {
|
|
248
|
+
constructor() {
|
|
249
|
+
this.name = '#text';
|
|
338
250
|
}
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
return checkHost(host, options.host_whitelist);
|
|
251
|
+
render(node) {
|
|
252
|
+
return index.h(index.Fragment, null, node.textContent);
|
|
342
253
|
}
|
|
254
|
+
}
|
|
343
255
|
|
|
344
|
-
|
|
345
|
-
|
|
256
|
+
class OzonContentFallbackNode {
|
|
257
|
+
constructor() {
|
|
258
|
+
// This name does not match any elements
|
|
259
|
+
this.name = ['<fallback>'];
|
|
346
260
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
|
|
351
|
-
return false;
|
|
261
|
+
render(node, { mapNodeToJsx }) {
|
|
262
|
+
return (index.h("span", { class: `fallback od-${node instanceof Element ? node.localName : node.nodeName}` }, mapNodeToJsx(node.childNodes)));
|
|
352
263
|
}
|
|
353
|
-
|
|
354
|
-
return true;
|
|
355
264
|
}
|
|
356
265
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
nootAnchorElement.replaceChildren(supElement);
|
|
379
|
-
const id = (index + 1).toString(10);
|
|
380
|
-
const [termId, contentId] = [`dso-ozon-term-${id}`, `dso-ozon-content-${id}`];
|
|
381
|
-
nootAnchorElement.setAttribute('href', `#${termId}`);
|
|
382
|
-
nootAnchorElement.setAttribute('id', termId);
|
|
383
|
-
nootAnchorElement.setAttribute('aria-controls', contentId);
|
|
384
|
-
nootAnchorElement.setAttribute('aria-expanded', 'false');
|
|
385
|
-
contentAlElement === null || contentAlElement === void 0 ? void 0 : contentAlElement.setAttribute('id', contentId);
|
|
386
|
-
});
|
|
387
|
-
return body;
|
|
388
|
-
}
|
|
389
|
-
function transformDocumentComponent(body) {
|
|
390
|
-
body.querySelectorAll('span[data-verwijst-naar-documentcomponent]').forEach(e => {
|
|
391
|
-
const a = document.createElement('a');
|
|
392
|
-
a.href = `#${e.getAttribute('data-verwijst-naar-documentcomponent')}`;
|
|
393
|
-
a.replaceChildren(...Array.from(e.childNodes));
|
|
394
|
-
e.replaceWith(a);
|
|
395
|
-
});
|
|
396
|
-
return body;
|
|
397
|
-
}
|
|
398
|
-
const transformers = [transformDescriptionNote, transformDocumentComponent];
|
|
399
|
-
class OzonContentTransformer {
|
|
400
|
-
constructor(anchorClick) {
|
|
401
|
-
this.anchorClick = anchorClick;
|
|
266
|
+
class Mapper {
|
|
267
|
+
constructor() {
|
|
268
|
+
this.mappers = [
|
|
269
|
+
new OzonContentTextNode(),
|
|
270
|
+
new OzonContentDocumentNode(),
|
|
271
|
+
new OzonContentInhoudNode(),
|
|
272
|
+
new OzonContentIntRefNode(),
|
|
273
|
+
new OzonContentExtRefNode(),
|
|
274
|
+
new OzonContentAlNode(),
|
|
275
|
+
new OzonContentInlineNodes(),
|
|
276
|
+
new OzonContentIllustratieNode(),
|
|
277
|
+
new OzonContentNootNode(),
|
|
278
|
+
new OzonContentTableNode()
|
|
279
|
+
];
|
|
280
|
+
this.skip = this.mappers.reduce((t, m) => {
|
|
281
|
+
if (m.handles) {
|
|
282
|
+
t.push(...m.handles);
|
|
283
|
+
}
|
|
284
|
+
return t;
|
|
285
|
+
}, []);
|
|
286
|
+
this.fallbackNode = new OzonContentFallbackNode();
|
|
402
287
|
this.domParser = new DOMParser();
|
|
403
|
-
this.eventHandlers = [this.handleValidUrls, this.handleDescriptionNoteClick, this.handleContentAnchor];
|
|
404
|
-
}
|
|
405
|
-
setContent(content) {
|
|
406
|
-
this.content = transformers.reduce((c, t) => t(c), this.domParser.parseFromString(content, 'text/html').body).children;
|
|
407
288
|
}
|
|
408
|
-
|
|
409
|
-
this.eventHandlers.some(h => h.bind(this)(event.composedPath(), event));
|
|
410
|
-
}
|
|
411
|
-
handleDescriptionNoteClick(composedPath, event) {
|
|
289
|
+
findMapper(name) {
|
|
412
290
|
var _a;
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
return false;
|
|
291
|
+
if (this.skip.includes(name)) {
|
|
292
|
+
return undefined;
|
|
416
293
|
}
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
294
|
+
return (_a = this.mappers.find(m => {
|
|
295
|
+
if (Array.isArray(m.name)) {
|
|
296
|
+
return m.name.includes(name);
|
|
297
|
+
}
|
|
298
|
+
return m.name === name;
|
|
299
|
+
})) !== null && _a !== void 0 ? _a : this.fallbackNode;
|
|
300
|
+
}
|
|
301
|
+
mapNodeToJsx(node, context, path) {
|
|
302
|
+
var _a, _b;
|
|
303
|
+
if (node instanceof NodeList) {
|
|
304
|
+
return index.h(index.Fragment, null, Array.from(node).map(n => this.mapNodeToJsx(n, context, path)));
|
|
421
305
|
}
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
if (open) {
|
|
425
|
-
anchorElement.classList.remove('dso-open');
|
|
426
|
-
anchorElement.setAttribute('aria-expanded', 'false');
|
|
306
|
+
if (Array.isArray(node)) {
|
|
307
|
+
return index.h(index.Fragment, null, node.map(n => this.mapNodeToJsx(n, context, path)));
|
|
427
308
|
}
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
309
|
+
const nodeName = node instanceof Element ? node.localName : node.nodeName;
|
|
310
|
+
const mapper = this.findMapper(nodeName);
|
|
311
|
+
const identity = (_a = mapper === null || mapper === void 0 ? void 0 : mapper.identify) === null || _a === void 0 ? void 0 : _a.call(mapper, node);
|
|
312
|
+
const state = identity ? context.state[identity] : undefined;
|
|
313
|
+
const setState = identity ? (state) => context.setState(Object.assign(Object.assign({}, context.state), { [identity]: state })) : undefined;
|
|
314
|
+
return (_b = mapper === null || mapper === void 0 ? void 0 : mapper.render(node, {
|
|
315
|
+
mapNodeToJsx: n => this.mapNodeToJsx(n, context, [...path, node]),
|
|
316
|
+
emitAnchorClick: context.emitAnchorClick,
|
|
317
|
+
setState,
|
|
318
|
+
state,
|
|
319
|
+
path
|
|
320
|
+
})) !== null && _b !== void 0 ? _b : index.h(index.Fragment, null);
|
|
321
|
+
}
|
|
322
|
+
transform(xml, context) {
|
|
323
|
+
if (!this.cache || this.cache.xml !== xml) {
|
|
324
|
+
this.cache = { xml, document: this.domParser.parseFromString(xml, 'text/xml') };
|
|
431
325
|
}
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
handleContentAnchor(composedPath, event) {
|
|
435
|
-
if (composedPath.some(e => e instanceof HTMLAnchorElement)) {
|
|
436
|
-
event.preventDefault();
|
|
437
|
-
const anchor = composedPath.find((e) => e instanceof HTMLAnchorElement);
|
|
438
|
-
const href = anchor.href;
|
|
439
|
-
this.anchorClick.emit({
|
|
440
|
-
href,
|
|
441
|
-
documentComponent: href.substr(href.indexOf('#') + 1),
|
|
442
|
-
originalEvent: event
|
|
443
|
-
});
|
|
444
|
-
return true;
|
|
445
|
-
}
|
|
446
|
-
return false;
|
|
447
|
-
}
|
|
448
|
-
handleValidUrls(composedPath) {
|
|
449
|
-
var _a;
|
|
450
|
-
const containerIndex = composedPath.findIndex(this.isHostElement);
|
|
451
|
-
if (containerIndex === -1) {
|
|
452
|
-
return false;
|
|
453
|
-
}
|
|
454
|
-
// require_tld: false is needed to allow http://localhost
|
|
455
|
-
return (_a = composedPath.slice(0, containerIndex)) === null || _a === void 0 ? void 0 : _a.some(e => { var _a; return e instanceof HTMLAnchorElement && isURL((_a = e.getAttribute('href')) !== null && _a !== void 0 ? _a : '', { require_tld: false, require_protocol: true }); });
|
|
456
|
-
}
|
|
457
|
-
isHostElement(value) {
|
|
458
|
-
return value instanceof HTMLElement && value.tagName === 'DSO-OZON-CONTENT';
|
|
326
|
+
const xmlDocument = this.cache.document;
|
|
327
|
+
return this.mapNodeToJsx(xmlDocument.getRootNode(), context, []);
|
|
459
328
|
}
|
|
460
329
|
}
|
|
461
330
|
|
|
462
|
-
const ozonContentCss = "dso-ozon-content{display:block}.noot{text-decoration:none}.noot:not(.dso-open)
|
|
331
|
+
const ozonContentCss = ".sc-dso-ozon-content-h{display:block}.noot.sc-dso-ozon-content{text-decoration:none}.noot.sc-dso-ozon-content:not(.dso-open)+*.sc-dso-ozon-content{display:none}.noot.dso-open.sc-dso-ozon-content+*.sc-dso-ozon-content{display:block}.noot.sc-dso-ozon-content+*.sc-dso-ozon-content{margin:4px 0;padding:8px 32px 8px 8px;position:relative}.noot.sc-dso-ozon-content+*.sc-dso-ozon-content>a.sc-dso-ozon-content{display:block;height:24px;position:absolute;right:0;text-align:center;top:0;width:24px}.noot.sc-dso-ozon-content+*.sc-dso-ozon-content>a.sc-dso-ozon-content::before{background:var(--dso-icon, var(--di-times-zwart)) no-repeat;background-position:center;background-size:cover;height:1.5em;vertical-align:top;width:1.5em;content:\"\";display:block}.noot.sc-dso-ozon-content+*.sc-dso-ozon-content{background-color:#ebf3e6}span[role=paragraph].sc-dso-ozon-content{display:block}.fallback.sc-dso-ozon-content{display:block}.od-Term.sc-dso-ozon-content{font-weight:700}.od-Definitie.sc-dso-ozon-content,.od-Tussenkop.sc-dso-ozon-content{font-style:italic}.od-Inhoud.sc-dso-ozon-content,.od-Inhoud.sc-dso-ozon-content>.od-Lijst.sc-dso-ozon-content,.od-IntIoRef.sc-dso-ozon-content,.od-Lidnr.sc-dso-ozon-content,.od-LiNr.sc-dso-ozon-content,.od-Opschrift.sc-dso-ozon-content,.od-Tussenkop.sc-dso-ozon-content{display:inline}.od-Al.sc-dso-ozon-content,.od-Lijstaanhef.sc-dso-ozon-content{margin-bottom:0.75em}.od-IntIoRef.sc-dso-ozon-content{border-bottom:1px dotted}.od-LiNummer.sc-dso-ozon-content{float:left;min-width:0.7em;padding-right:0.3em;text-align:right}.od-Figuur.sc-dso-ozon-content img.sc-dso-ozon-content{margin-left:25px;max-width:100%;height:auto}.od-Figuur.sc-dso-ozon-content .od-Bijschrift.sc-dso-ozon-content{font-size:0.75rem;margin-left:25px;padding-bottom:2.5rem}.od-Tabel.sc-dso-ozon-content thead.sc-dso-ozon-content{font-weight:600}.od-Kadertekst.sc-dso-ozon-content{border:1px solid #e5e5e5;margin-bottom:1rem;padding:1rem}";
|
|
463
332
|
|
|
464
333
|
let OzonContent = class {
|
|
465
334
|
constructor(hostRef) {
|
|
466
335
|
index.registerInstance(this, hostRef);
|
|
467
336
|
this.anchorClick = index.createEvent(this, "anchorClick", 7);
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
this.transformer.handleClickEvent(event);
|
|
471
|
-
}
|
|
472
|
-
componentWillLoad() {
|
|
473
|
-
this.transformer = new OzonContentTransformer(this.anchorClick);
|
|
474
|
-
}
|
|
475
|
-
componentWillRender() {
|
|
476
|
-
this.transformer.setContent(this.content);
|
|
337
|
+
this.state = {};
|
|
338
|
+
this.mapper = new Mapper();
|
|
477
339
|
}
|
|
478
340
|
render() {
|
|
479
|
-
return index.h("div", { class: "dso-rich-content", ref: el => this.container = el });
|
|
480
|
-
}
|
|
481
|
-
componentDidRender() {
|
|
482
341
|
var _a;
|
|
483
|
-
const
|
|
484
|
-
|
|
485
|
-
this.
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
}
|
|
342
|
+
const context = {
|
|
343
|
+
state: this.state,
|
|
344
|
+
setState: state => this.state = state,
|
|
345
|
+
emitAnchorClick: this.anchorClick.emit
|
|
346
|
+
};
|
|
347
|
+
return this.mapper.transform((_a = this.content) !== null && _a !== void 0 ? _a : '', context);
|
|
490
348
|
}
|
|
491
349
|
};
|
|
492
350
|
OzonContent.style = ozonContentCss;
|