@dso-toolkit/core 58.3.0 → 59.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 (121) hide show
  1. package/dist/cjs/_commonjsHelpers-68cdf74f.js +7 -0
  2. package/dist/cjs/_commonjsHelpers-68cdf74f.js.map +1 -0
  3. package/dist/cjs/dso-alert_5.cjs.entry.js +497 -46
  4. package/dist/cjs/dso-alert_5.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dso-annotation-output_3.cjs.entry.js +6 -2
  6. package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dso-modal.cjs.entry.js +1 -1
  8. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-table.cjs.entry.js +1 -1
  10. package/dist/cjs/dso-table.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  12. package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
  14. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1688 -41
  15. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/collection/collection-manifest.json +1 -1
  18. package/dist/collection/components/document-component/document-component.css +687 -13
  19. package/dist/collection/components/document-component/document-component.js +31 -7
  20. package/dist/collection/components/document-component/document-component.js.map +1 -1
  21. package/dist/collection/components/document-component/document-component.models.js +2 -0
  22. package/dist/collection/components/document-component/document-component.models.js.map +1 -0
  23. package/dist/collection/components/document-component-demo/document-component.demo.css +11 -0
  24. package/dist/collection/components/document-component-demo/document-component.demo.js +235 -0
  25. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -0
  26. package/dist/collection/components/modal/modal.css +3 -3
  27. package/dist/collection/components/ozon-content/nodes/al.node.js +24 -7
  28. package/dist/collection/components/ozon-content/nodes/al.node.js.map +1 -1
  29. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +3 -1
  30. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js.map +1 -1
  31. package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js +1 -1
  32. package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js.map +1 -1
  33. package/dist/collection/components/ozon-content/nodes/opschrift.node.js +9 -1
  34. package/dist/collection/components/ozon-content/nodes/opschrift.node.js.map +1 -1
  35. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +1 -2
  36. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js.map +1 -1
  37. package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js +1 -1
  38. package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js.map +1 -1
  39. package/dist/collection/components/ozon-content/ozon-content-context.interface.js.map +1 -1
  40. package/dist/collection/components/ozon-content/ozon-content-mapper.js +11 -9
  41. package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
  42. package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js.map +1 -1
  43. package/dist/collection/components/ozon-content/ozon-content.css +1100 -35
  44. package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -1
  45. package/dist/collection/components/ozon-content/ozon-content.js +17 -83
  46. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  47. package/dist/collection/components/table/table.css +669 -97
  48. package/dist/collection/components/tooltip/tooltip.css +0 -8
  49. package/dist/components/document-component.js +6 -2
  50. package/dist/components/document-component.js.map +1 -1
  51. package/dist/components/dso-modal.js +1 -1
  52. package/dist/components/dso-modal.js.map +1 -1
  53. package/dist/components/dso-table.js +1 -1
  54. package/dist/components/dso-table.js.map +1 -1
  55. package/dist/components/dsot-document-component-demo.js +1694 -45
  56. package/dist/components/dsot-document-component-demo.js.map +1 -1
  57. package/dist/components/index.d.ts +1 -1
  58. package/dist/components/ozon-content.js +500 -50
  59. package/dist/components/ozon-content.js.map +1 -1
  60. package/dist/components/tooltip.js +1 -1
  61. package/dist/components/tooltip.js.map +1 -1
  62. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  63. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  64. package/dist/dso-toolkit/p-2401e7f9.entry.js +2 -0
  65. package/dist/dso-toolkit/p-2401e7f9.entry.js.map +1 -0
  66. package/dist/dso-toolkit/p-2ab99812.entry.js +2 -0
  67. package/dist/dso-toolkit/{p-a63c82a4.entry.js.map → p-2ab99812.entry.js.map} +1 -1
  68. package/dist/dso-toolkit/p-432df09a.entry.js +2 -0
  69. package/dist/dso-toolkit/p-432df09a.entry.js.map +1 -0
  70. package/dist/dso-toolkit/p-4573c419.js +2 -0
  71. package/dist/dso-toolkit/p-4573c419.js.map +1 -0
  72. package/dist/dso-toolkit/p-47e77e24.entry.js +2 -0
  73. package/dist/dso-toolkit/p-47e77e24.entry.js.map +1 -0
  74. package/dist/dso-toolkit/p-ab1f0511.entry.js +2 -0
  75. package/dist/dso-toolkit/p-ab1f0511.entry.js.map +1 -0
  76. package/dist/dso-toolkit/p-ad44136d.entry.js +2 -0
  77. package/dist/dso-toolkit/p-ad44136d.entry.js.map +1 -0
  78. package/dist/esm/_commonjsHelpers-1c8beb5f.js +5 -0
  79. package/dist/esm/_commonjsHelpers-1c8beb5f.js.map +1 -0
  80. package/dist/esm/dso-alert_5.entry.js +498 -47
  81. package/dist/esm/dso-alert_5.entry.js.map +1 -1
  82. package/dist/esm/dso-annotation-output_3.entry.js +6 -2
  83. package/dist/esm/dso-annotation-output_3.entry.js.map +1 -1
  84. package/dist/esm/dso-modal.entry.js +1 -1
  85. package/dist/esm/dso-modal.entry.js.map +1 -1
  86. package/dist/esm/dso-table.entry.js +1 -1
  87. package/dist/esm/dso-table.entry.js.map +1 -1
  88. package/dist/esm/dso-toolkit.js +1 -1
  89. package/dist/esm/dso-tooltip.entry.js +1 -1
  90. package/dist/esm/dso-tooltip.entry.js.map +1 -1
  91. package/dist/esm/dsot-document-component-demo.entry.js +1689 -42
  92. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  93. package/dist/esm/loader.js +1 -1
  94. package/dist/types/components/document-component/document-component.d.ts +6 -1
  95. package/dist/types/components/document-component/document-component.models.d.ts +14 -0
  96. package/dist/types/components/document-component-demo/document-component.demo.d.ts +64 -0
  97. package/dist/types/components/ozon-content/nodes/al.node.d.ts +1 -1
  98. package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +3 -2
  99. package/dist/types/components/ozon-content/ozon-content-mapper.d.ts +0 -1
  100. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +3 -2
  101. package/dist/types/components/ozon-content/ozon-content.d.ts +4 -25
  102. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +1 -4
  103. package/dist/types/components.d.ts +41 -25
  104. package/package.json +8 -2
  105. package/dist/collection/components/document-component/document-component.demo.js +0 -112
  106. package/dist/collection/components/document-component/document-component.demo.js.map +0 -1
  107. package/dist/collection/components/document-component/document-component.types.js +0 -2
  108. package/dist/collection/components/document-component/document-component.types.js.map +0 -1
  109. package/dist/dso-toolkit/p-42ba2c81.entry.js +0 -2
  110. package/dist/dso-toolkit/p-42ba2c81.entry.js.map +0 -1
  111. package/dist/dso-toolkit/p-48d76094.entry.js +0 -2
  112. package/dist/dso-toolkit/p-48d76094.entry.js.map +0 -1
  113. package/dist/dso-toolkit/p-5c5e43d3.entry.js +0 -2
  114. package/dist/dso-toolkit/p-5c5e43d3.entry.js.map +0 -1
  115. package/dist/dso-toolkit/p-8af61320.entry.js +0 -2
  116. package/dist/dso-toolkit/p-8af61320.entry.js.map +0 -1
  117. package/dist/dso-toolkit/p-9a3f154b.entry.js +0 -2
  118. package/dist/dso-toolkit/p-9a3f154b.entry.js.map +0 -1
  119. package/dist/dso-toolkit/p-a63c82a4.entry.js +0 -2
  120. package/dist/types/components/document-component/document-component.demo.d.ts +0 -40
  121. package/dist/types/components/document-component/document-component.types.d.ts +0 -8
@@ -1,5 +1,4 @@
1
- import { h, Fragment, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
2
- import { i as isTabbable } from './index.esm.js';
1
+ import { h, Fragment, proxyCustomElement, HTMLElement, createEvent } from '@stencil/core/internal/client';
3
2
  import { c as clsx } from './clsx.js';
4
3
  import { v as v4 } from './v4.js';
5
4
 
@@ -13,17 +12,33 @@ function getNodeName(node) {
13
12
  return node.nodeName;
14
13
  }
15
14
 
15
+ function isNestedAl(path) {
16
+ return path.some((n) => {
17
+ const nodeName = getNodeName(n);
18
+ return nodeName === "Al" || nodeName === "Opschrift";
19
+ });
20
+ }
16
21
  class OzonContentAlNode {
17
22
  constructor() {
18
23
  this.name = "Al";
19
24
  }
20
- render(node, { mapNodeToJsx, path }) {
21
- const nestedAl = path.some((n) => {
22
- const nodeName = getNodeName(n);
23
- return nodeName === "Al" || nodeName === "Opschrift";
24
- });
25
- const content = mapNodeToJsx(node.childNodes);
26
- return nestedAl ? h("span", { role: "paragraph" }, content) : h("p", null, content);
25
+ render(node, { mapNodeToJsx, path, inline }) {
26
+ let content = mapNodeToJsx(node.childNodes);
27
+ const wijzigactie = node.getAttribute("wijzigactie");
28
+ const className = clsx({ [`wijzigactie-${wijzigactie}`]: !!wijzigactie }) || undefined;
29
+ if (inline || isNestedAl(path)) {
30
+ content = (h("span", { role: "paragraph", class: className }, content));
31
+ }
32
+ else {
33
+ content = h("p", { class: className }, content);
34
+ }
35
+ if (wijzigactie === "voegtoe") {
36
+ content = h("ins", null, content);
37
+ }
38
+ else if (wijzigactie === "verwijder") {
39
+ content = h("del", null, content);
40
+ }
41
+ return content;
27
42
  }
28
43
  }
29
44
 
@@ -45,15 +60,455 @@ class OzonContentDocumentNode {
45
60
  }
46
61
  }
47
62
 
63
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
64
+
65
+ /**
66
+ * lodash (Custom Build) <https://lodash.com/>
67
+ * Build: `lodash modularize exports="npm" -o ./`
68
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
69
+ * Released under MIT license <https://lodash.com/license>
70
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
71
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
72
+ */
73
+
74
+ /** Used as references for various `Number` constants. */
75
+ var INFINITY = 1 / 0;
76
+
77
+ /** `Object#toString` result references. */
78
+ var symbolTag = '[object Symbol]';
79
+
80
+ /** Used to match words composed of alphanumeric characters. */
81
+ var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
82
+
83
+ /** Used to match Latin Unicode letters (excluding mathematical operators). */
84
+ var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
85
+
86
+ /** Used to compose unicode character classes. */
87
+ var rsAstralRange = '\\ud800-\\udfff',
88
+ rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
89
+ rsComboSymbolsRange = '\\u20d0-\\u20f0',
90
+ rsDingbatRange = '\\u2700-\\u27bf',
91
+ rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff',
92
+ rsMathOpRange = '\\xac\\xb1\\xd7\\xf7',
93
+ rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf',
94
+ rsPunctuationRange = '\\u2000-\\u206f',
95
+ rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000',
96
+ rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde',
97
+ rsVarRange = '\\ufe0e\\ufe0f',
98
+ rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
99
+
100
+ /** Used to compose unicode capture groups. */
101
+ var rsApos = "['\u2019]",
102
+ rsBreak = '[' + rsBreakRange + ']',
103
+ rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',
104
+ rsDigits = '\\d+',
105
+ rsDingbat = '[' + rsDingbatRange + ']',
106
+ rsLower = '[' + rsLowerRange + ']',
107
+ rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',
108
+ rsFitz = '\\ud83c[\\udffb-\\udfff]',
109
+ rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
110
+ rsNonAstral = '[^' + rsAstralRange + ']',
111
+ rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
112
+ rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
113
+ rsUpper = '[' + rsUpperRange + ']',
114
+ rsZWJ = '\\u200d';
115
+
116
+ /** Used to compose unicode regexes. */
117
+ var rsLowerMisc = '(?:' + rsLower + '|' + rsMisc + ')',
118
+ rsUpperMisc = '(?:' + rsUpper + '|' + rsMisc + ')',
119
+ rsOptLowerContr = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',
120
+ rsOptUpperContr = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',
121
+ reOptMod = rsModifier + '?',
122
+ rsOptVar = '[' + rsVarRange + ']?',
123
+ rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
124
+ rsSeq = rsOptVar + reOptMod + rsOptJoin,
125
+ rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;
126
+
127
+ /** Used to match apostrophes. */
128
+ var reApos = RegExp(rsApos, 'g');
129
+
130
+ /**
131
+ * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and
132
+ * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).
133
+ */
134
+ var reComboMark = RegExp(rsCombo, 'g');
135
+
136
+ /** Used to match complex or compound words. */
137
+ var reUnicodeWord = RegExp([
138
+ rsUpper + '?' + rsLower + '+' + rsOptLowerContr + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',
139
+ rsUpperMisc + '+' + rsOptUpperContr + '(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',
140
+ rsUpper + '?' + rsLowerMisc + '+' + rsOptLowerContr,
141
+ rsUpper + '+' + rsOptUpperContr,
142
+ rsDigits,
143
+ rsEmoji
144
+ ].join('|'), 'g');
145
+
146
+ /** Used to detect strings that need a more robust regexp to match words. */
147
+ var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
148
+
149
+ /** Used to map Latin Unicode letters to basic Latin letters. */
150
+ var deburredLetters = {
151
+ // Latin-1 Supplement block.
152
+ '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A',
153
+ '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a',
154
+ '\xc7': 'C', '\xe7': 'c',
155
+ '\xd0': 'D', '\xf0': 'd',
156
+ '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E',
157
+ '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e',
158
+ '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I',
159
+ '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i',
160
+ '\xd1': 'N', '\xf1': 'n',
161
+ '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O',
162
+ '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o',
163
+ '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U',
164
+ '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u',
165
+ '\xdd': 'Y', '\xfd': 'y', '\xff': 'y',
166
+ '\xc6': 'Ae', '\xe6': 'ae',
167
+ '\xde': 'Th', '\xfe': 'th',
168
+ '\xdf': 'ss',
169
+ // Latin Extended-A block.
170
+ '\u0100': 'A', '\u0102': 'A', '\u0104': 'A',
171
+ '\u0101': 'a', '\u0103': 'a', '\u0105': 'a',
172
+ '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C',
173
+ '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c',
174
+ '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd',
175
+ '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E',
176
+ '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e',
177
+ '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G',
178
+ '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g',
179
+ '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h',
180
+ '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I',
181
+ '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i',
182
+ '\u0134': 'J', '\u0135': 'j',
183
+ '\u0136': 'K', '\u0137': 'k', '\u0138': 'k',
184
+ '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L',
185
+ '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l',
186
+ '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N',
187
+ '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n',
188
+ '\u014c': 'O', '\u014e': 'O', '\u0150': 'O',
189
+ '\u014d': 'o', '\u014f': 'o', '\u0151': 'o',
190
+ '\u0154': 'R', '\u0156': 'R', '\u0158': 'R',
191
+ '\u0155': 'r', '\u0157': 'r', '\u0159': 'r',
192
+ '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S',
193
+ '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's',
194
+ '\u0162': 'T', '\u0164': 'T', '\u0166': 'T',
195
+ '\u0163': 't', '\u0165': 't', '\u0167': 't',
196
+ '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U',
197
+ '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u',
198
+ '\u0174': 'W', '\u0175': 'w',
199
+ '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y',
200
+ '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z',
201
+ '\u017a': 'z', '\u017c': 'z', '\u017e': 'z',
202
+ '\u0132': 'IJ', '\u0133': 'ij',
203
+ '\u0152': 'Oe', '\u0153': 'oe',
204
+ '\u0149': "'n", '\u017f': 'ss'
205
+ };
206
+
207
+ /** Detect free variable `global` from Node.js. */
208
+ var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
209
+
210
+ /** Detect free variable `self`. */
211
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
212
+
213
+ /** Used as a reference to the global object. */
214
+ var root = freeGlobal || freeSelf || Function('return this')();
215
+
216
+ /**
217
+ * A specialized version of `_.reduce` for arrays without support for
218
+ * iteratee shorthands.
219
+ *
220
+ * @private
221
+ * @param {Array} [array] The array to iterate over.
222
+ * @param {Function} iteratee The function invoked per iteration.
223
+ * @param {*} [accumulator] The initial value.
224
+ * @param {boolean} [initAccum] Specify using the first element of `array` as
225
+ * the initial value.
226
+ * @returns {*} Returns the accumulated value.
227
+ */
228
+ function arrayReduce(array, iteratee, accumulator, initAccum) {
229
+ var index = -1,
230
+ length = array ? array.length : 0;
231
+
232
+ if (initAccum && length) {
233
+ accumulator = array[++index];
234
+ }
235
+ while (++index < length) {
236
+ accumulator = iteratee(accumulator, array[index], index, array);
237
+ }
238
+ return accumulator;
239
+ }
240
+
241
+ /**
242
+ * Splits an ASCII `string` into an array of its words.
243
+ *
244
+ * @private
245
+ * @param {string} The string to inspect.
246
+ * @returns {Array} Returns the words of `string`.
247
+ */
248
+ function asciiWords(string) {
249
+ return string.match(reAsciiWord) || [];
250
+ }
251
+
252
+ /**
253
+ * The base implementation of `_.propertyOf` without support for deep paths.
254
+ *
255
+ * @private
256
+ * @param {Object} object The object to query.
257
+ * @returns {Function} Returns the new accessor function.
258
+ */
259
+ function basePropertyOf(object) {
260
+ return function(key) {
261
+ return object == null ? undefined : object[key];
262
+ };
263
+ }
264
+
265
+ /**
266
+ * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A
267
+ * letters to basic Latin letters.
268
+ *
269
+ * @private
270
+ * @param {string} letter The matched letter to deburr.
271
+ * @returns {string} Returns the deburred letter.
272
+ */
273
+ var deburrLetter = basePropertyOf(deburredLetters);
274
+
275
+ /**
276
+ * Checks if `string` contains a word composed of Unicode symbols.
277
+ *
278
+ * @private
279
+ * @param {string} string The string to inspect.
280
+ * @returns {boolean} Returns `true` if a word is found, else `false`.
281
+ */
282
+ function hasUnicodeWord(string) {
283
+ return reHasUnicodeWord.test(string);
284
+ }
285
+
286
+ /**
287
+ * Splits a Unicode `string` into an array of its words.
288
+ *
289
+ * @private
290
+ * @param {string} The string to inspect.
291
+ * @returns {Array} Returns the words of `string`.
292
+ */
293
+ function unicodeWords(string) {
294
+ return string.match(reUnicodeWord) || [];
295
+ }
296
+
297
+ /** Used for built-in method references. */
298
+ var objectProto = Object.prototype;
299
+
300
+ /**
301
+ * Used to resolve the
302
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
303
+ * of values.
304
+ */
305
+ var objectToString = objectProto.toString;
306
+
307
+ /** Built-in value references. */
308
+ var Symbol = root.Symbol;
309
+
310
+ /** Used to convert symbols to primitives and strings. */
311
+ var symbolProto = Symbol ? Symbol.prototype : undefined,
312
+ symbolToString = symbolProto ? symbolProto.toString : undefined;
313
+
314
+ /**
315
+ * The base implementation of `_.toString` which doesn't convert nullish
316
+ * values to empty strings.
317
+ *
318
+ * @private
319
+ * @param {*} value The value to process.
320
+ * @returns {string} Returns the string.
321
+ */
322
+ function baseToString(value) {
323
+ // Exit early for strings to avoid a performance hit in some environments.
324
+ if (typeof value == 'string') {
325
+ return value;
326
+ }
327
+ if (isSymbol(value)) {
328
+ return symbolToString ? symbolToString.call(value) : '';
329
+ }
330
+ var result = (value + '');
331
+ return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
332
+ }
333
+
334
+ /**
335
+ * Creates a function like `_.camelCase`.
336
+ *
337
+ * @private
338
+ * @param {Function} callback The function to combine each word.
339
+ * @returns {Function} Returns the new compounder function.
340
+ */
341
+ function createCompounder(callback) {
342
+ return function(string) {
343
+ return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
344
+ };
345
+ }
346
+
347
+ /**
348
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
349
+ * and has a `typeof` result of "object".
350
+ *
351
+ * @static
352
+ * @memberOf _
353
+ * @since 4.0.0
354
+ * @category Lang
355
+ * @param {*} value The value to check.
356
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
357
+ * @example
358
+ *
359
+ * _.isObjectLike({});
360
+ * // => true
361
+ *
362
+ * _.isObjectLike([1, 2, 3]);
363
+ * // => true
364
+ *
365
+ * _.isObjectLike(_.noop);
366
+ * // => false
367
+ *
368
+ * _.isObjectLike(null);
369
+ * // => false
370
+ */
371
+ function isObjectLike(value) {
372
+ return !!value && typeof value == 'object';
373
+ }
374
+
375
+ /**
376
+ * Checks if `value` is classified as a `Symbol` primitive or object.
377
+ *
378
+ * @static
379
+ * @memberOf _
380
+ * @since 4.0.0
381
+ * @category Lang
382
+ * @param {*} value The value to check.
383
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
384
+ * @example
385
+ *
386
+ * _.isSymbol(Symbol.iterator);
387
+ * // => true
388
+ *
389
+ * _.isSymbol('abc');
390
+ * // => false
391
+ */
392
+ function isSymbol(value) {
393
+ return typeof value == 'symbol' ||
394
+ (isObjectLike(value) && objectToString.call(value) == symbolTag);
395
+ }
396
+
397
+ /**
398
+ * Converts `value` to a string. An empty string is returned for `null`
399
+ * and `undefined` values. The sign of `-0` is preserved.
400
+ *
401
+ * @static
402
+ * @memberOf _
403
+ * @since 4.0.0
404
+ * @category Lang
405
+ * @param {*} value The value to process.
406
+ * @returns {string} Returns the string.
407
+ * @example
408
+ *
409
+ * _.toString(null);
410
+ * // => ''
411
+ *
412
+ * _.toString(-0);
413
+ * // => '-0'
414
+ *
415
+ * _.toString([1, 2, 3]);
416
+ * // => '1,2,3'
417
+ */
418
+ function toString(value) {
419
+ return value == null ? '' : baseToString(value);
420
+ }
421
+
422
+ /**
423
+ * Deburrs `string` by converting
424
+ * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
425
+ * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)
426
+ * letters to basic Latin letters and removing
427
+ * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
428
+ *
429
+ * @static
430
+ * @memberOf _
431
+ * @since 3.0.0
432
+ * @category String
433
+ * @param {string} [string=''] The string to deburr.
434
+ * @returns {string} Returns the deburred string.
435
+ * @example
436
+ *
437
+ * _.deburr('déjà vu');
438
+ * // => 'deja vu'
439
+ */
440
+ function deburr(string) {
441
+ string = toString(string);
442
+ return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');
443
+ }
444
+
445
+ /**
446
+ * Converts `string` to
447
+ * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
448
+ *
449
+ * @static
450
+ * @memberOf _
451
+ * @since 3.0.0
452
+ * @category String
453
+ * @param {string} [string=''] The string to convert.
454
+ * @returns {string} Returns the kebab cased string.
455
+ * @example
456
+ *
457
+ * _.kebabCase('Foo Bar');
458
+ * // => 'foo-bar'
459
+ *
460
+ * _.kebabCase('fooBar');
461
+ * // => 'foo-bar'
462
+ *
463
+ * _.kebabCase('__FOO_BAR__');
464
+ * // => 'foo-bar'
465
+ */
466
+ var kebabCase = createCompounder(function(result, word, index) {
467
+ return result + (index ? '-' : '') + word.toLowerCase();
468
+ });
469
+
470
+ /**
471
+ * Splits `string` into an array of its words.
472
+ *
473
+ * @static
474
+ * @memberOf _
475
+ * @since 3.0.0
476
+ * @category String
477
+ * @param {string} [string=''] The string to inspect.
478
+ * @param {RegExp|string} [pattern] The pattern to match words.
479
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
480
+ * @returns {Array} Returns the words of `string`.
481
+ * @example
482
+ *
483
+ * _.words('fred, barney, & pebbles');
484
+ * // => ['fred', 'barney', 'pebbles']
485
+ *
486
+ * _.words('fred, barney, & pebbles', /[^, ]+/g);
487
+ * // => ['fred', 'barney', '&', 'pebbles']
488
+ */
489
+ function words(string, pattern, guard) {
490
+ string = toString(string);
491
+ pattern = guard ? undefined : pattern;
492
+
493
+ if (pattern === undefined) {
494
+ return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
495
+ }
496
+ return string.match(pattern) || [];
497
+ }
498
+
499
+ var lodash_kebabcase = kebabCase;
500
+
48
501
  class OzonContentExtRefNode {
49
502
  constructor() {
50
503
  this.name = ["ExtRef", "ExtIoRef"];
51
504
  }
52
505
  render(node, { mapNodeToJsx }) {
53
506
  const href = node.tagName === "ExtIoRef" ? node.getAttribute("href") : node.getAttribute("ref");
54
- return (h("a", { target: "_blank", rel: "noopener noreferrer", href: href !== null && href !== void 0 ? href : undefined },
507
+ const className = lodash_kebabcase(node.tagName);
508
+ return (h("a", { target: "_blank", rel: "noopener noreferrer", href: href !== null && href !== void 0 ? href : undefined, class: className },
55
509
  h("span", { class: "sr-only" }, "opent in nieuw venster "),
56
- mapNodeToJsx(node.childNodes)));
510
+ mapNodeToJsx(node.childNodes),
511
+ h("dso-icon", { icon: "external-link" })));
57
512
  }
58
513
  }
59
514
 
@@ -240,7 +695,7 @@ class OzonContentNieuweTekstNode {
240
695
  this.name = "NieuweTekst";
241
696
  }
242
697
  render(node, { mapNodeToJsx }) {
243
- return h("ins", null, mapNodeToJsx(node.childNodes));
698
+ return h("ins", { class: "nieuwe-tekst" }, mapNodeToJsx(node.childNodes));
244
699
  }
245
700
  }
246
701
 
@@ -275,7 +730,15 @@ class OzonContentOpschriftNode {
275
730
  this.name = "Opschrift";
276
731
  }
277
732
  render(node, { mapNodeToJsx }) {
278
- return h(Fragment, null, mapNodeToJsx(node.childNodes));
733
+ let content = mapNodeToJsx(node.childNodes);
734
+ const wijzigactie = node.getAttribute("wijzigactie");
735
+ if (wijzigactie === "voegtoe") {
736
+ content = h("ins", { class: "nieuwe-tekst" }, content);
737
+ }
738
+ else if (wijzigactie === "verwijder") {
739
+ content = h("del", { class: "verwijderde-tekst" }, content);
740
+ }
741
+ return h(Fragment, null, content);
279
742
  }
280
743
  }
281
744
 
@@ -374,8 +837,7 @@ class OzonContentTableNode {
374
837
  const bron = Array.from(node.childNodes).find((n) => getNodeName(n) === "Bron");
375
838
  return (h("dso-table", null,
376
839
  h("table", Object.assign({ class: clsx("table dso-table-vertical-lines", {
377
- "dso-del": editAction === "verwijder",
378
- "dso-ins": editAction === "voegtoe",
840
+ [`wijzigactie-${editAction}`]: editAction,
379
841
  }) }, (bron ? { "aria-describedby": this.id } : {})),
380
842
  caption && h("caption", null, caption),
381
843
  colspecs && h(Colgroup, { colspecs: colspecs }),
@@ -401,7 +863,7 @@ class OzonContentVerwijderdeTekstNode {
401
863
  this.name = "VerwijderdeTekst";
402
864
  }
403
865
  render(node, { mapNodeToJsx }) {
404
- return h("del", null, mapNodeToJsx(node.childNodes));
866
+ return h("del", { class: "verwijderde-tekst" }, mapNodeToJsx(node.childNodes));
405
867
  }
406
868
  }
407
869
 
@@ -464,6 +926,7 @@ class Mapper {
464
926
  const state = identity ? context.state[identity] : undefined;
465
927
  const setState = identity ? (s) => context.setState(Object.assign(Object.assign({}, context.state), { [identity]: s })) : undefined;
466
928
  return mapper.render(node, {
929
+ inline: context.inline,
467
930
  mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),
468
931
  emitAnchorClick: context.emitAnchorClick,
469
932
  setState,
@@ -475,67 +938,54 @@ class Mapper {
475
938
  if (!xml) {
476
939
  return h(Fragment, null);
477
940
  }
478
- if (!this.cache || this.cache.xml !== xml) {
479
- const document = this.domParser.parseFromString(xml, "text/xml");
480
- if (document.querySelector("html > body > parsererror")) {
481
- console.error(document);
482
- return h(Fragment, null);
483
- }
484
- this.cache = { xml, document };
941
+ const document = this.domParser.parseFromString(xml, "text/xml");
942
+ if (document.querySelector("parsererror")) {
943
+ console.error({
944
+ message: "[DSO Toolkit: Ozon Content Mapper] Unable to parse XML",
945
+ context,
946
+ xml,
947
+ document,
948
+ });
949
+ return h(Fragment, null);
485
950
  }
486
- const xmlDocument = this.cache.document;
487
- return this.mapNodeToJsx(xmlDocument.getRootNode(), context, []);
951
+ return this.mapNodeToJsx(document.getRootNode(), context, []);
488
952
  }
489
953
  }
490
954
 
491
- const ozonContentCss = "ins {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n text-decoration: none;\n}\n\ndel {\n background-color: #f5d8dc;\n color: #000;\n}\n\n:host(:not([inline])) {\n display: block;\n}\n\n:host([inline]) {\n display: inline;\n}\n\n:host([deleted]) * {\n text-decoration: line-through !important;\n}\n\n:host([interactive]) {\n background-color: transparent;\n color: var(--link-color);\n text-decoration: underline;\n cursor: pointer;\n color: #275937;\n font-weight: 600;\n text-decoration: none;\n}\n:host([interactive]):hover, :host([interactive]):focus {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\n:host([interactive]):active {\n text-decoration: none;\n}\n\n:host([interactive=sub]) {\n color: #191919;\n}\n\n.sr-only,\n.deleted-start,\n.deleted-end {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nbutton.toggle-note {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\nbutton.toggle-note:focus, button.toggle-note:focus-visible {\n outline-offset: 2px;\n}\nbutton.toggle-note:active {\n outline: 0;\n}\nbutton.toggle-note[disabled] {\n color: #afcf9d;\n}\nbutton.toggle-note[disabled].dso-spinner-left, button.toggle-note[disabled].dso-spinner-right {\n color: #39870c;\n}\nbutton.toggle-note:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\nbutton.toggle-note:not([disabled]):active {\n color: #173521;\n}\nbutton.toggle-note.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\nbutton.toggle-note.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\nbutton.toggle-note.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\nbutton.toggle-note.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\nbutton.toggle-note dso-icon + span:not(.sr-only),\nbutton.toggle-note svg.di + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + dso-icon,\nbutton.toggle-note span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\nbutton.toggle-note svg.di.di-chevron-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-chevron-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\nbutton.toggle-note dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.toggle-note dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-up,\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\nbutton.toggle-note dso-icon,\nbutton.toggle-note svg.di,\nbutton.toggle-note span {\n vertical-align: middle;\n}\n\nspan[role=section],\nspan[role=paragraph] {\n display: block;\n}\n\n:host(:not([inline])) .fallback {\n display: block;\n}\n\na {\n background-color: transparent;\n color: var(--link-color);\n text-decoration: underline;\n}\na:hover, a:focus {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\na:active {\n text-decoration: none;\n}\na:visited {\n color: var(--link-visited-color);\n}\n\n.od-Term {\n font-weight: 700;\n}\n\n.od-Definitie,\n.od-Tussenkop {\n font-style: italic;\n}\n\n.od-Inhoud,\n.od-Inhoud > .od-Lijst,\n.od-IntIoRef,\n.od-Lidnr,\n.od-LiNr,\n.od-Opschrift,\n.od-Tussenkop {\n display: inline;\n}\n\n.od-Al {\n margin-bottom: 0.75em;\n}\n\n.od-IntIoRef {\n border-bottom: 1px dotted;\n}\n\n.dso-ozon-bron {\n font-style: italic;\n font-size: 0.75rem;\n}\n\n.dso-ozon-figuur {\n margin-bottom: 16px;\n}\n.dso-ozon-figuur .figuur-bijschrift {\n display: block;\n font-size: 0.75rem;\n font-style: italic;\n}\n.dso-ozon-figuur.bijschrift-boven .figuur-bijschrift {\n padding-bottom: 0.25rem;\n}\n.dso-ozon-figuur.bijschrift-onder .figuur-bijschrift {\n padding-top: 0.25rem;\n}\n.dso-ozon-figuur .figuur-titel {\n color: #8b4a6a;\n display: block;\n font-weight: 500;\n padding-bottom: 0.5rem;\n}\n\n.dso-ozon-lijst span.od-Lijstaanhef,\n.dso-ozon-lijst span.od-Lijstsluiting {\n margin-bottom: 1rem;\n}\n.dso-ozon-lijst ul.expliciet {\n list-style: none;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li {\n position: relative;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li > span.od-LiNummer {\n position: absolute;\n left: -44px;\n text-align: right;\n width: 40px;\n}\n\n.od-Tabel thead {\n font-weight: 600;\n}\n\n.od-Kadertekst {\n border: 1px solid #e5e5e5;\n margin-bottom: 1rem;\n padding: 1rem;\n}\n\n.dso-del {\n background-color: #f5d8dc;\n color: #000;\n text-decoration: line-through;\n}\n.dso-del a {\n color: #000;\n}\n\n.dso-ins {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n}\n.dso-ins a {\n color: #000;\n}\n\n.dso-rich-content p {\n margin: 0 0 16px;\n}\n.dso-rich-content ul,\n.dso-rich-content ol {\n margin-bottom: 16px;\n}\n.dso-rich-content ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\n.dso-rich-content ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\n.dso-rich-content pre {\n margin: 0 0 16px;\n}\n.dso-rich-content blockquote {\n padding: 16px 24px;\n}\n.dso-rich-content dso-highlight-box,\n.dso-rich-content .dso-highlight-box {\n margin-bottom: 24px;\n}\n.dso-rich-content img {\n height: auto;\n max-width: 100%;\n}";
955
+ const ozonContentCss = "button {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-primary:focus, a.dso-primary:focus-visible,\nbutton.dso-primary:focus,\nbutton.dso-primary:focus-visible,\nlabel.dso-primary:focus,\nlabel.dso-primary:focus-visible {\n outline-offset: 2px;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n outline: 0;\n}\na.dso-primary.extern::after, a.dso-primary.download::after,\nbutton.dso-primary.extern::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.extern::after,\nlabel.dso-primary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-primary:hover,\nbutton.dso-primary:hover,\nlabel.dso-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\na.dso-primary[disabled], a.dso-primary[disabled]:hover,\nbutton.dso-primary[disabled],\nbutton.dso-primary[disabled]:hover,\nlabel.dso-primary[disabled],\nlabel.dso-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\na.dso-primary.dso-small,\nbutton.dso-primary.dso-small,\nlabel.dso-primary.dso-small {\n line-height: 1rem;\n}\na.dso-primary.dso-small dso-icon,\na.dso-primary.dso-small svg.di, a.dso-primary.dso-small.extern::after, a.dso-primary.dso-small.download::after, a.dso-primary.dso-small.dso-spinner::before,\nbutton.dso-primary.dso-small dso-icon,\nbutton.dso-primary.dso-small svg.di,\nbutton.dso-primary.dso-small.extern::after,\nbutton.dso-primary.dso-small.download::after,\nbutton.dso-primary.dso-small.dso-spinner::before,\nlabel.dso-primary.dso-small dso-icon,\nlabel.dso-primary.dso-small svg.di,\nlabel.dso-primary.dso-small.extern::after,\nlabel.dso-primary.dso-small.download::after,\nlabel.dso-primary.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-primary.dso-small.dso-spinner-left::before,\nbutton.dso-primary.dso-small.dso-spinner-left::before,\nlabel.dso-primary.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-primary.dso-small.dso-spinner-right::after,\nbutton.dso-primary.dso-small.dso-spinner-right::after,\nlabel.dso-primary.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-primary dso-icon,\na.dso-primary svg.di,\nbutton.dso-primary dso-icon,\nbutton.dso-primary svg.di,\nlabel.dso-primary dso-icon,\nlabel.dso-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-primary span + dso-icon,\na.dso-primary span + svg.di,\nbutton.dso-primary span + dso-icon,\nbutton.dso-primary span + svg.di,\nlabel.dso-primary span + dso-icon,\nlabel.dso-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-primary.dso-spinner-left[disabled], a.dso-primary.dso-spinner-right[disabled],\nbutton.dso-primary.dso-spinner-left[disabled],\nbutton.dso-primary.dso-spinner-right[disabled],\nlabel.dso-primary.dso-spinner-left[disabled],\nlabel.dso-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-primary.dso-spinner-left::before,\nbutton.dso-primary.dso-spinner-left::before,\nlabel.dso-primary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-primary.dso-spinner-right::after,\nbutton.dso-primary.dso-spinner-right::after,\nlabel.dso-primary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-primary.download::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.download::after {\n background: url(\"./dso-icons.svg#img-download-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-primary.extern::after,\nbutton.dso-primary.extern::after,\nlabel.dso-primary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-secondary:focus, a.dso-secondary:focus-visible,\nbutton.dso-secondary:focus,\nbutton.dso-secondary:focus-visible,\nlabel.dso-secondary:focus,\nlabel.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n outline: 0;\n}\na.dso-secondary.extern::after, a.dso-secondary.download::after,\nbutton.dso-secondary.extern::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.extern::after,\nlabel.dso-secondary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-secondary:hover,\nbutton.dso-secondary:hover,\nlabel.dso-secondary:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-secondary[disabled], a.dso-secondary[disabled]:hover,\nbutton.dso-secondary[disabled],\nbutton.dso-secondary[disabled]:hover,\nlabel.dso-secondary[disabled],\nlabel.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\na.dso-secondary.dso-small,\nbutton.dso-secondary.dso-small,\nlabel.dso-secondary.dso-small {\n line-height: 1rem;\n}\na.dso-secondary.dso-small dso-icon,\na.dso-secondary.dso-small svg.di, a.dso-secondary.dso-small.extern::after, a.dso-secondary.dso-small.download::after, a.dso-secondary.dso-small.dso-spinner::before,\nbutton.dso-secondary.dso-small dso-icon,\nbutton.dso-secondary.dso-small svg.di,\nbutton.dso-secondary.dso-small.extern::after,\nbutton.dso-secondary.dso-small.download::after,\nbutton.dso-secondary.dso-small.dso-spinner::before,\nlabel.dso-secondary.dso-small dso-icon,\nlabel.dso-secondary.dso-small svg.di,\nlabel.dso-secondary.dso-small.extern::after,\nlabel.dso-secondary.dso-small.download::after,\nlabel.dso-secondary.dso-small.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-secondary.dso-small.dso-spinner-left::before,\nbutton.dso-secondary.dso-small.dso-spinner-left::before,\nlabel.dso-secondary.dso-small.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-small.dso-spinner-right::after,\nbutton.dso-secondary.dso-small.dso-spinner-right::after,\nlabel.dso-secondary.dso-small.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary dso-icon,\na.dso-secondary svg.di,\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di,\nlabel.dso-secondary dso-icon,\nlabel.dso-secondary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-secondary span + dso-icon,\na.dso-secondary span + svg.di,\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di,\nlabel.dso-secondary span + dso-icon,\nlabel.dso-secondary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-secondary.dso-spinner-left[disabled], a.dso-secondary.dso-spinner-right[disabled],\nbutton.dso-secondary.dso-spinner-left[disabled],\nbutton.dso-secondary.dso-spinner-right[disabled],\nlabel.dso-secondary.dso-spinner-left[disabled],\nlabel.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary.dso-spinner-left::before,\nbutton.dso-secondary.dso-spinner-left::before,\nlabel.dso-secondary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-spinner-right::after,\nbutton.dso-secondary.dso-spinner-right::after,\nlabel.dso-secondary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.download::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.download:hover::after,\nbutton.dso-secondary.download:hover::after,\nlabel.dso-secondary.download:hover::after {\n background-image: url(\"./dso-icons.svg#img-download-wit\");\n}\na.dso-secondary.download[disabled]::after,\nbutton.dso-secondary.download[disabled]::after,\nlabel.dso-secondary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-secondary.extern::after,\nbutton.dso-secondary.extern::after,\nlabel.dso-secondary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.extern:hover::after,\nbutton.dso-secondary.extern:hover::after,\nlabel.dso-secondary.extern:hover::after {\n background-image: url(\"./dso-icons.svg#img-external-link-wit\");\n}\na.dso-secondary.extern[disabled]::after,\nbutton.dso-secondary.extern[disabled]::after,\nlabel.dso-secondary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary,\nbutton.dso-tertiary,\nlabel.dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\na.dso-tertiary:focus, a.dso-tertiary:focus-visible,\nbutton.dso-tertiary:focus,\nbutton.dso-tertiary:focus-visible,\nlabel.dso-tertiary:focus,\nlabel.dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\na.dso-tertiary:active,\nbutton.dso-tertiary:active,\nlabel.dso-tertiary:active {\n outline: 0;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-tertiary[disabled],\nbutton.dso-tertiary[disabled],\nlabel.dso-tertiary[disabled] {\n color: #afcf9d;\n}\na.dso-tertiary[disabled].dso-spinner-left, a.dso-tertiary[disabled].dso-spinner-right,\nbutton.dso-tertiary[disabled].dso-spinner-left,\nbutton.dso-tertiary[disabled].dso-spinner-right,\nlabel.dso-tertiary[disabled].dso-spinner-left,\nlabel.dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\na.dso-tertiary:not([disabled]):hover,\nbutton.dso-tertiary:not([disabled]):hover,\nlabel.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\na.dso-tertiary:not([disabled]):active,\nbutton.dso-tertiary:not([disabled]):active,\nlabel.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\na.dso-tertiary.dso-align,\nbutton.dso-tertiary.dso-align,\nlabel.dso-tertiary.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\na.dso-tertiary.dso-truncate,\nbutton.dso-tertiary.dso-truncate,\nlabel.dso-tertiary.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\na.dso-tertiary.dso-spinner-left::before,\nbutton.dso-tertiary.dso-spinner-left::before,\nlabel.dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\na.dso-tertiary.dso-spinner-right::after,\nbutton.dso-tertiary.dso-spinner-right::after,\nlabel.dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\na.dso-tertiary dso-icon + span:not(.sr-only),\na.dso-tertiary svg.di + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + dso-icon,\na.dso-tertiary span:not(.sr-only) + svg.di,\nbutton.dso-tertiary dso-icon + span:not(.sr-only),\nbutton.dso-tertiary svg.di + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + dso-icon,\nbutton.dso-tertiary span:not(.sr-only) + svg.di,\nlabel.dso-tertiary dso-icon + span:not(.sr-only),\nlabel.dso-tertiary svg.di + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + dso-icon,\nlabel.dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\na.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nbutton.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nlabel.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\na.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\na.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nbutton.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nlabel.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nlabel.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\na.dso-tertiary dso-icon,\na.dso-tertiary svg.di,\na.dso-tertiary span,\nbutton.dso-tertiary dso-icon,\nbutton.dso-tertiary svg.di,\nbutton.dso-tertiary span,\nlabel.dso-tertiary dso-icon,\nlabel.dso-tertiary svg.di,\nlabel.dso-tertiary span {\n vertical-align: middle;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n position: relative;\n top: -2px;\n}\na.dso-tertiary.download::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.download[disabled]::after,\nbutton.dso-tertiary.download[disabled]::after,\nlabel.dso-tertiary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-tertiary.download:not([disabled]):hover::after, a.dso-tertiary.download:not([disabled]):active::after,\nbutton.dso-tertiary.download:not([disabled]):hover::after,\nbutton.dso-tertiary.download:not([disabled]):active::after,\nlabel.dso-tertiary.download:not([disabled]):hover::after,\nlabel.dso-tertiary.download:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-download-scampi\");\n}\na.dso-tertiary.extern::after,\nbutton.dso-tertiary.extern::after,\nlabel.dso-tertiary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.extern[disabled]::after,\nbutton.dso-tertiary.extern[disabled]::after,\nlabel.dso-tertiary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary.extern:not([disabled]):hover::after, a.dso-tertiary.extern:not([disabled]):active::after,\nbutton.dso-tertiary.extern:not([disabled]):hover::after,\nbutton.dso-tertiary.extern:not([disabled]):active::after,\nlabel.dso-tertiary.extern:not([disabled]):hover::after,\nlabel.dso-tertiary.extern:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-external-link-scampi\");\n}\n\na.dso-primary {\n text-decoration: none;\n}\na.dso-primary, a.dso-primary:visited {\n color: #fff;\n}\na.dso-secondary {\n text-decoration: none;\n}\na.dso-secondary, a.dso-secondary:visited {\n color: #39870c;\n}\na.dso-secondary:hover, a.dso-secondary:visited:hover {\n color: #fff;\n}\na.dso-tertiary {\n text-decoration: none;\n}\na.dso-tertiary, a.dso-tertiary:visited {\n color: #39870c;\n}\n\n.dso-primary + .dso-primary,\n.dso-primary + .dso-secondary,\n.dso-primary + .dso-tertiary,\n.dso-secondary + .dso-primary,\n.dso-secondary + .dso-secondary,\n.dso-secondary + .dso-tertiary,\n.dso-tertiary + .dso-primary,\n.dso-tertiary + .dso-secondary,\n.dso-tertiary + .dso-tertiary {\n margin-left: 16px;\n}\n\nsup {\n font-size: 0.65em;\n line-height: 0;\n position: relative;\n top: -0.5em;\n vertical-align: baseline;\n}\nsup a {\n text-decoration: none;\n}\nsup a:hover, sup a:focus, sup a:active {\n text-decoration: underline;\n}\n\nsub {\n bottom: -0.25em;\n font-size: 0.65em;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsub a {\n text-decoration: none;\n}\nsub a:hover, sub a:focus, sub a:active {\n text-decoration: underline;\n}\n\ncaption {\n color: #666;\n padding-bottom: 8px;\n padding-top: 8px;\n text-align: left;\n}\n\ntd,\nth {\n padding: 0;\n}\n\nth {\n font-weight: 600;\n text-align: left;\n}\n\ntable.table td:not(.plain-content) p,\ntable.table th p {\n margin: 0 0 16px;\n}\ntable.table td:not(.plain-content) ul,\ntable.table td:not(.plain-content) ol,\ntable.table th ul,\ntable.table th ol {\n margin-bottom: 16px;\n}\ntable.table td:not(.plain-content) ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\ntable.table td:not(.plain-content) ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\ntable.table th ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\ntable.table th ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\ntable.table td:not(.plain-content) pre,\ntable.table th pre {\n margin: 0 0 16px;\n}\ntable.table td:not(.plain-content) blockquote,\ntable.table th blockquote {\n padding: 16px 24px;\n}\ntable.table td:not(.plain-content) dso-highlight-box,\ntable.table td:not(.plain-content) .dso-highlight-box,\ntable.table th dso-highlight-box,\ntable.table th .dso-highlight-box {\n margin-bottom: 24px;\n}\ntable.table td:not(.plain-content) img,\ntable.table th img {\n height: auto;\n max-width: 100%;\n}\n\ntable.table,\n.dso-rich-content table {\n margin-bottom: 24px;\n max-width: 100%;\n width: 100%;\n}\ntable.table .dso-tertiary,\n.dso-rich-content table .dso-tertiary {\n position: relative;\n top: -2px;\n white-space: nowrap;\n}\ntable.table.dso-text-left th,\ntable.table.dso-text-left td,\n.dso-rich-content table.dso-text-left th,\n.dso-rich-content table.dso-text-left td {\n text-align: left;\n}\ntable.table.dso-text-center th,\ntable.table.dso-text-center td,\n.dso-rich-content table.dso-text-center th,\n.dso-rich-content table.dso-text-center td {\n text-align: center;\n}\ntable.table.dso-text-right th,\ntable.table.dso-text-right td,\n.dso-rich-content table.dso-text-right th,\n.dso-rich-content table.dso-text-right td {\n text-align: right;\n}\ntable.table.dso-table-vertical-lines > thead > tr > td,\ntable.table.dso-table-vertical-lines > thead > tr > th,\n.dso-rich-content table.dso-table-vertical-lines > thead > tr > td,\n.dso-rich-content table.dso-table-vertical-lines > thead > tr > th {\n border: 1px solid #666;\n}\ntable.table.dso-table-vertical-lines > tbody > tr > td,\ntable.table.dso-table-vertical-lines > tbody > tr > th,\ntable.table.dso-table-vertical-lines > tfoot > tr > td,\ntable.table.dso-table-vertical-lines > tfoot > tr > th,\n.dso-rich-content table.dso-table-vertical-lines > tbody > tr > td,\n.dso-rich-content table.dso-table-vertical-lines > tbody > tr > th,\n.dso-rich-content table.dso-table-vertical-lines > tfoot > tr > td,\n.dso-rich-content table.dso-table-vertical-lines > tfoot > tr > th {\n border: 1px solid #ccc;\n}\ntable.table.dso-table-vertical-lines > thead + tbody > tr:first-child > td,\ntable.table.dso-table-vertical-lines > thead + tbody > tr:first-child > th,\n.dso-rich-content table.dso-table-vertical-lines > thead + tbody > tr:first-child > td,\n.dso-rich-content table.dso-table-vertical-lines > thead + tbody > tr:first-child > th {\n border-top: 0;\n}\ntable.table th.dso-text-left,\ntable.table td.dso-text-left,\n.dso-rich-content table th.dso-text-left,\n.dso-rich-content table td.dso-text-left {\n text-align: left;\n}\ntable.table th.dso-text-center,\ntable.table td.dso-text-center,\n.dso-rich-content table th.dso-text-center,\n.dso-rich-content table td.dso-text-center {\n text-align: center;\n}\ntable.table th.dso-text-right,\ntable.table td.dso-text-right,\n.dso-rich-content table th.dso-text-right,\n.dso-rich-content table td.dso-text-right {\n text-align: right;\n}\ntable.table > thead > tr > th,\ntable.table > thead > tr > td,\ntable.table > tbody > tr > th,\ntable.table > tbody > tr > td,\ntable.table > tfoot > tr > th,\ntable.table > tfoot > tr > td,\n.dso-rich-content table > thead > tr > th,\n.dso-rich-content table > thead > tr > td,\n.dso-rich-content table > tbody > tr > th,\n.dso-rich-content table > tbody > tr > td,\n.dso-rich-content table > tfoot > tr > th,\n.dso-rich-content table > tfoot > tr > td {\n line-height: 1.5;\n padding: 12px 8px;\n vertical-align: top;\n}\ntable.table > thead > tr > th a,\ntable.table > thead > tr > td a,\ntable.table > tbody > tr > th a,\ntable.table > tbody > tr > td a,\ntable.table > tfoot > tr > th a,\ntable.table > tfoot > tr > td a,\n.dso-rich-content table > thead > tr > th a,\n.dso-rich-content table > thead > tr > td a,\n.dso-rich-content table > tbody > tr > th a,\n.dso-rich-content table > tbody > tr > td a,\n.dso-rich-content table > tfoot > tr > th a,\n.dso-rich-content table > tfoot > tr > td a {\n text-decoration: underline;\n}\ntable.table > thead > tr > td,\ntable.table > thead > tr > th,\n.dso-rich-content table > thead > tr > td,\n.dso-rich-content table > thead > tr > th {\n border-bottom: 1px solid #666;\n}\ntable.table > tbody > tr > td,\ntable.table > tbody > tr > th,\ntable.table > tfoot > tr > td,\ntable.table > tfoot > tr > th,\n.dso-rich-content table > tbody > tr > td,\n.dso-rich-content table > tbody > tr > th,\n.dso-rich-content table > tfoot > tr > td,\n.dso-rich-content table > tfoot > tr > th {\n border-bottom: 1px solid #ccc;\n}\ntable.table > tbody + tbody,\n.dso-rich-content table > tbody + tbody {\n border-top: 2px solid #ccc;\n}\ntable.table .table,\n.dso-rich-content table .table {\n background-color: #fff;\n}\ntable.table > tbody > tr.result-error td,\n.dso-rich-content table > tbody > tr.result-error td {\n font-style: italic;\n}\ntable.table > thead > tr > th,\n.dso-rich-content table > thead > tr > th {\n vertical-align: bottom;\n}\ntable.table > thead > tr > th .dso-primary.dso-sort, table.table > thead > tr > th .dso-secondary.dso-sort, table.table > thead > tr > th .dso-tertiary.dso-sort,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort {\n color: #191919;\n font-weight: 600;\n}\ntable.table > thead > tr > th .dso-primary.dso-sort dso-icon,\ntable.table > thead > tr > th .dso-primary.dso-sort svg.di, table.table > thead > tr > th .dso-secondary.dso-sort dso-icon,\ntable.table > thead > tr > th .dso-secondary.dso-sort svg.di, table.table > thead > tr > th .dso-tertiary.dso-sort dso-icon,\ntable.table > thead > tr > th .dso-tertiary.dso-sort svg.di,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort dso-icon,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort svg.di,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort dso-icon,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort svg.di,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort dso-icon,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort svg.di {\n color: #666;\n}\ntable.table > thead > tr > th .dso-primary.dso-sort dso-icon.dso-sort-active,\ntable.table > thead > tr > th .dso-primary.dso-sort svg.di.dso-sort-active, table.table > thead > tr > th .dso-secondary.dso-sort dso-icon.dso-sort-active,\ntable.table > thead > tr > th .dso-secondary.dso-sort svg.di.dso-sort-active, table.table > thead > tr > th .dso-tertiary.dso-sort dso-icon.dso-sort-active,\ntable.table > thead > tr > th .dso-tertiary.dso-sort svg.di.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort dso-icon.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-primary.dso-sort svg.di.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort dso-icon.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-secondary.dso-sort svg.di.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort dso-icon.dso-sort-active,\n.dso-rich-content table > thead > tr > th .dso-tertiary.dso-sort svg.di.dso-sort-active {\n color: #191919;\n}\n\n.table-hover > tbody > tr:hover {\n background-color: #f2f2f2;\n}\n\ntable col[class*=col-] {\n display: table-column;\n float: none;\n position: static;\n}\n\ntable {\n background-color: transparent;\n border-collapse: collapse;\n border-spacing: 0;\n}\ntable td[class*=col-],\ntable th[class*=col-] {\n display: table-cell;\n float: none;\n position: static;\n}\n\n.dso-rich-content table > thead > tr > td.active,\n.dso-rich-content table > thead > tr > th.active, .dso-rich-content table > thead > tr.active > td, .dso-rich-content table > thead > tr.active > th,\n.dso-rich-content table > tbody > tr > td.active,\n.dso-rich-content table > tbody > tr > th.active,\n.dso-rich-content table > tbody > tr.active > td,\n.dso-rich-content table > tbody > tr.active > th,\n.dso-rich-content table > tfoot > tr > td.active,\n.dso-rich-content table > tfoot > tr > th.active,\n.dso-rich-content table > tfoot > tr.active > td,\n.dso-rich-content table > tfoot > tr.active > th,\n.table > thead > tr > td.active,\n.table > thead > tr > th.active,\n.table > thead > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr > td.active,\n.table > tbody > tr > th.active,\n.table > tbody > tr.active > td,\n.table > tbody > tr.active > th,\n.table > tfoot > tr > td.active,\n.table > tfoot > tr > th.active,\n.table > tfoot > tr.active > td,\n.table > tfoot > tr.active > th {\n background-color: #f2f2f2;\n}\n\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th {\n background-color: #f2f2f2;\n}\n.table-hover > tbody > tr:hover > th, .table-hover > tbody > tr:hover > td {\n background-color: #f2f2f2;\n}\n.table-hover > tbody > tr:hover > th a, .table-hover > tbody > tr:hover > td a {\n color: #191919;\n}\n.table-hover > tbody > tr:hover > th a:hover, .table-hover > tbody > tr:hover > td a:hover {\n text-decoration: none;\n}\n\n.table > tbody > tr.active > th, .table > tbody > tr.active > td {\n background-color: #f2f2f2;\n}\n.table > tbody > tr.active > th a, .table > tbody > tr.active > td a {\n color: #191919;\n}\n.table > tbody > tr.active > th a:hover, .table > tbody > tr.active > td a:hover {\n text-decoration: none;\n}\n\n.dso-table-responsive,\n.dso-table-scroll-container {\n min-height: 0.01%;\n overflow-x: auto;\n position: relative;\n}\n\n.dso-table-scroll-container {\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ccc;\n margin-bottom: 0;\n overflow-y: hidden;\n width: 100%;\n}\n.dso-table-scroll-container::before {\n content: \"beweeg de tabel van links naar rechts\";\n display: block;\n font-size: 0.8em;\n margin-bottom: 8px;\n position: relative;\n text-align: center;\n}\n.dso-table-scroll-container > .table {\n margin-bottom: 0;\n}\n.dso-table-scroll-container > .table > thead > tr > th,\n.dso-table-scroll-container > .table > thead > tr > td,\n.dso-table-scroll-container > .table > tbody > tr > th,\n.dso-table-scroll-container > .table > tbody > tr > td,\n.dso-table-scroll-container > .table > tfoot > tr > th,\n.dso-table-scroll-container > .table > tfoot > tr > td {\n white-space: nowrap;\n}\n\n@media screen and (max-width: 767px) {\n .dso-table-responsive {\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ccc;\n margin-bottom: 0;\n overflow-y: hidden;\n width: 100%;\n }\n .dso-table-responsive::before {\n content: \"beweeg de tabel van links naar rechts\";\n display: block;\n font-size: 0.8em;\n margin-bottom: 8px;\n position: relative;\n text-align: center;\n }\n .dso-table-responsive > .table {\n margin-bottom: 0;\n }\n .dso-table-responsive > .table > thead > tr > th,\n .dso-table-responsive > .table > thead > tr > td,\n .dso-table-responsive > .table > tbody > tr > th,\n .dso-table-responsive > .table > tbody > tr > td,\n .dso-table-responsive > .table > tfoot > tr > th,\n .dso-table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n}\n\n.dso-table-filter-wrapper .dso-search-bar {\n margin-bottom: 16px;\n width: 288px;\n}\n\ndso-table table.table {\n margin-bottom: 0;\n}\n\ndso-table.dso-is-responsive {\n margin-bottom: 0;\n}\ndso-table.dso-is-responsive > .table > thead > tr > th,\ndso-table.dso-is-responsive > .table > thead > tr > td,\ndso-table.dso-is-responsive > .table > tbody > tr > th,\ndso-table.dso-is-responsive > .table > tbody > tr > td,\ndso-table.dso-is-responsive > .table > tfoot > tr > th,\ndso-table.dso-is-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n}\n\n:host(:not([inline])) {\n display: block;\n}\n\n:host([inline]) {\n display: inline;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nbutton.toggle-note {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\nbutton.toggle-note:focus, button.toggle-note:focus-visible {\n outline-offset: 2px;\n}\nbutton.toggle-note:active {\n outline: 0;\n}\nbutton.toggle-note[disabled] {\n color: #afcf9d;\n}\nbutton.toggle-note[disabled].dso-spinner-left, button.toggle-note[disabled].dso-spinner-right {\n color: #39870c;\n}\nbutton.toggle-note:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\nbutton.toggle-note:not([disabled]):active {\n color: #173521;\n}\nbutton.toggle-note.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\nbutton.toggle-note.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\nbutton.toggle-note.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\nbutton.toggle-note.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\nbutton.toggle-note dso-icon + span:not(.sr-only),\nbutton.toggle-note svg.di + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + dso-icon,\nbutton.toggle-note span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\nbutton.toggle-note svg.di.di-chevron-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-chevron-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\nbutton.toggle-note dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.toggle-note dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-up,\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\nbutton.toggle-note dso-icon,\nbutton.toggle-note svg.di,\nbutton.toggle-note span {\n vertical-align: middle;\n}\n\nspan[role=section],\nspan[role=paragraph] {\n display: block;\n}\n\n:host(:not([inline])) .fallback {\n display: block;\n}\n\na {\n background-color: transparent;\n color: var(--link-color);\n text-decoration: underline;\n}\na:hover, a:focus {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\na:active {\n text-decoration: none;\n}\na:visited {\n color: var(--link-visited-color);\n}\n\n.od-Term {\n font-weight: 700;\n}\n\n.od-Definitie,\n.od-Tussenkop {\n font-style: italic;\n}\n\n.od-Inhoud,\n.od-Inhoud > .od-Lijst,\n.od-IntIoRef,\n.od-Lidnr,\n.od-LiNr,\n.od-Opschrift,\n.od-Tussenkop {\n display: inline;\n}\n\n.od-Al {\n margin-bottom: 0.75em;\n}\n\n.od-IntIoRef {\n border-bottom: 1px dotted;\n}\n\n.dso-ozon-bron {\n font-style: italic;\n font-size: 0.75rem;\n}\n\n.dso-ozon-figuur {\n margin-bottom: 8px;\n}\n.dso-ozon-figuur .figuur-bijschrift {\n display: block;\n font-size: 0.75rem;\n font-style: italic;\n}\n.dso-ozon-figuur.bijschrift-boven .figuur-bijschrift {\n padding-bottom: 0.25rem;\n}\n.dso-ozon-figuur.bijschrift-onder .figuur-bijschrift {\n padding-top: 0.25rem;\n}\n.dso-ozon-figuur .figuur-titel {\n color: #8b4a6a;\n display: block;\n font-weight: 500;\n padding-bottom: 0.5rem;\n}\n\n.dso-ozon-lijst span.od-Lijstaanhef,\n.dso-ozon-lijst span.od-Lijstsluiting {\n margin-bottom: 8px;\n}\n.dso-ozon-lijst ul {\n margin-bottom: 8px !important;\n margin-top: 8px;\n}\n.dso-ozon-lijst ul p {\n margin-bottom: 8px;\n}\n.dso-ozon-lijst ul.expliciet {\n list-style: none;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li {\n position: relative;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li > span.od-LiNummer {\n position: absolute;\n left: -44px;\n text-align: right;\n width: 40px;\n}\n.dso-ozon-lijst p {\n margin: 0;\n}\n\n.od-Tabel thead {\n font-weight: 600;\n}\n\n.od-Kadertekst {\n border: 1px solid #e5e5e5;\n margin-bottom: 8px;\n padding: 8px;\n}\n\np.wijzigactie-voegtoe,\nspan[role=paragraph].wijzigactie-voegtoe,\ntable.wijzigactie-voegtoe {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n}\np.wijzigactie-voegtoe a,\nspan[role=paragraph].wijzigactie-voegtoe a,\ntable.wijzigactie-voegtoe a {\n color: #000;\n}\np.wijzigactie-verwijder,\nspan[role=paragraph].wijzigactie-verwijder,\ntable.wijzigactie-verwijder {\n background-color: #f5d8dc;\n color: #000;\n text-decoration: line-through;\n}\np.wijzigactie-verwijder a,\nspan[role=paragraph].wijzigactie-verwijder a,\ntable.wijzigactie-verwijder a {\n color: #000;\n}\n\nins.nieuwe-tekst {\n text-decoration: none;\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n}\nins.nieuwe-tekst a {\n color: #000;\n}\n\ndel.verwijderde-tekst {\n background-color: #f5d8dc;\n color: #000;\n text-decoration: line-through;\n}\ndel.verwijderde-tekst a {\n color: #000;\n}\n\n.dso-rich-content p {\n margin: 0 0 16px;\n}\n.dso-rich-content ul,\n.dso-rich-content ol {\n margin-bottom: 16px;\n}\n.dso-rich-content ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\n.dso-rich-content ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\n.dso-rich-content pre {\n margin: 0 0 16px;\n}\n.dso-rich-content blockquote {\n padding: 16px 24px;\n}\n.dso-rich-content dso-highlight-box,\n.dso-rich-content .dso-highlight-box {\n margin-bottom: 24px;\n}\n.dso-rich-content img {\n height: auto;\n max-width: 100%;\n}";
492
956
 
957
+ const mapper = new Mapper();
493
958
  const OzonContent = /*@__PURE__*/ proxyCustomElement(class OzonContent extends HTMLElement {
494
959
  constructor() {
495
960
  super();
496
961
  this.__registerHost();
497
962
  this.__attachShadow();
498
963
  this.dsoAnchorClick = createEvent(this, "dsoAnchorClick", 7);
499
- this.dsoClick = createEvent(this, "dsoClick", 7);
500
- this.mapper = new Mapper();
501
964
  this.content = undefined;
502
965
  this.inline = false;
503
- this.deleted = false;
504
- this.interactive = false;
505
966
  this.state = {};
506
967
  }
507
- handleHostOnClick(e) {
508
- // '' is `true`: <dso-ozon-content interactive>
509
- if (this.interactive !== "" && !this.interactive) {
510
- return;
511
- }
512
- const doIt = e
513
- .composedPath()
514
- .find((eventTarget) => eventTarget === this.host || (eventTarget instanceof HTMLElement && isTabbable(eventTarget))) === this.host;
515
- if (doIt) {
516
- this.dsoClick.emit({ originalEvent: e });
517
- }
968
+ contentWatcher() {
969
+ this.state = {};
518
970
  }
519
971
  render() {
520
972
  var _a;
521
973
  const context = {
522
974
  state: this.state,
975
+ inline: this.inline,
523
976
  setState: (state) => (this.state = state),
524
977
  emitAnchorClick: this.dsoAnchorClick.emit,
525
978
  };
526
- const transformed = this.mapper.transform((_a = this.content) !== null && _a !== void 0 ? _a : "", context);
527
- if (this.deleted) {
528
- return (h("section", null, h("slot", { name: "prefix" }), h("span", { class: "deleted-start" }, "Begin verwijderd element"), transformed, h("span", { class: "deleted-end" }, "Einde verwijderd element"), h("slot", { name: "suffix" })));
529
- }
530
- return (h(Host, { onClick: (e) => this.handleHostOnClick(e) }, h("slot", { name: "prefix" }), transformed, h("slot", { name: "suffix" })));
979
+ const transformed = mapper.transform((_a = this.content) !== null && _a !== void 0 ? _a : "", context);
980
+ return h(Fragment, null, transformed);
531
981
  }
532
- get host() { return this; }
982
+ static get watchers() { return {
983
+ "content": ["contentWatcher"]
984
+ }; }
533
985
  static get style() { return ozonContentCss; }
534
986
  }, [1, "dso-ozon-content", {
535
987
  "content": [1],
536
988
  "inline": [516],
537
- "deleted": [516],
538
- "interactive": [520],
539
989
  "state": [32]
540
990
  }]);
541
991
  function defineCustomElement() {
@@ -552,6 +1002,6 @@ function defineCustomElement() {
552
1002
  } });
553
1003
  }
554
1004
 
555
- export { OzonContent as O, defineCustomElement as d };
1005
+ export { OzonContent as O, commonjsGlobal as c, defineCustomElement as d };
556
1006
 
557
1007
  //# sourceMappingURL=ozon-content.js.map