@dso-toolkit/core 62.17.0 → 62.19.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 (874) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/clsx-fc789adc.js +7 -0
  4. package/dist/cjs/clsx-fc789adc.js.map +1 -0
  5. package/dist/cjs/{create-identifier-5900c27b.js → create-identifier-4a76663b.js} +3 -3
  6. package/dist/cjs/{create-identifier-5900c27b.js.map → create-identifier-4a76663b.js.map} +1 -1
  7. package/dist/cjs/dso-accordion-section.cjs.entry.js +159 -158
  8. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-accordion.cjs.entry.js +34 -33
  10. package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-action-list-item.cjs.entry.js +17 -16
  12. package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
  13. package/dist/cjs/dso-action-list.cjs.entry.js +10 -9
  14. package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
  15. package/dist/cjs/dso-advanced-select.cjs.entry.js +79 -78
  16. package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dso-alert_7.cjs.entry.js +834 -773
  18. package/dist/cjs/dso-alert_7.cjs.entry.js.map +1 -1
  19. package/dist/cjs/dso-annotation-output_3.cjs.entry.js +138 -135
  20. package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/dso-attachments-counter.cjs.entry.js +10 -9
  22. package/dist/cjs/dso-attachments-counter.cjs.entry.js.map +1 -1
  23. package/dist/cjs/dso-autosuggest.cjs.entry.js +258 -245
  24. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  25. package/dist/cjs/dso-banner.cjs.entry.js +15 -14
  26. package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
  27. package/dist/cjs/dso-card-container.cjs.entry.js +10 -9
  28. package/dist/cjs/dso-card-container.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-card.cjs.entry.js +61 -60
  30. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  31. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +598 -597
  32. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -1
  33. package/dist/cjs/dso-date-picker.cjs.entry.js +124 -123
  34. package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
  35. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +215 -214
  36. package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
  37. package/dist/cjs/dso-expandable.cjs.entry.js +49 -1444
  38. package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -1
  39. package/dist/cjs/dso-header.cjs.entry.js +119 -118
  40. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  41. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +80 -79
  42. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +1 -1
  43. package/dist/cjs/dso-highlight-box.cjs.entry.js +17 -16
  44. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  45. package/dist/cjs/dso-icon.cjs.entry.js +114 -113
  46. package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
  47. package/dist/cjs/dso-info-button.cjs.entry.js +26 -25
  48. package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
  49. package/dist/cjs/dso-info_2.cjs.entry.js +88 -86
  50. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  51. package/dist/cjs/dso-input-range.cjs.entry.js +27 -26
  52. package/dist/cjs/dso-input-range.cjs.entry.js.map +1 -1
  53. package/dist/cjs/dso-list-button.cjs.entry.js +117 -116
  54. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/dso-logo.cjs.entry.js +11 -10
  56. package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
  57. package/dist/cjs/dso-map-base-layers.cjs.entry.js +27 -26
  58. package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
  59. package/dist/cjs/dso-map-controls.cjs.entry.js +57 -56
  60. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  61. package/dist/cjs/dso-map-overlays.cjs.entry.js +28 -27
  62. package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
  63. package/dist/cjs/dso-mark-bar.cjs.entry.js +51 -50
  64. package/dist/cjs/dso-mark-bar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/dso-modal.cjs.entry.js +41 -42
  66. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  67. package/dist/cjs/dso-pagination.cjs.entry.js +118 -117
  68. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  69. package/dist/cjs/dso-progress-bar.cjs.entry.js +14 -13
  70. package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
  71. package/dist/cjs/dso-progress-indicator.cjs.entry.js +12 -11
  72. package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
  73. package/dist/cjs/dso-responsive-element.cjs.entry.js +46 -45
  74. package/dist/cjs/dso-responsive-element.cjs.entry.js.map +1 -1
  75. package/dist/cjs/dso-scrollable.cjs.entry.js +80 -79
  76. package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
  77. package/dist/cjs/dso-toggletip.cjs.entry.js +42 -41
  78. package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
  79. package/dist/cjs/dso-toolkit.cjs.js +6 -4
  80. package/dist/cjs/dso-toolkit.cjs.js.map +1 -1
  81. package/dist/cjs/dso-tooltip.cjs.entry.js +192 -191
  82. package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
  83. package/dist/cjs/dso-tree-view.cjs.entry.js +184 -183
  84. package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
  85. package/dist/cjs/dso-viewer-grid.cjs.entry.js +219 -217
  86. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  87. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +163 -162
  88. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  89. package/dist/cjs/get-active-element-05f06ef1.js +16 -0
  90. package/dist/cjs/{get-active-element-618f7b1f.js.map → get-active-element-05f06ef1.js.map} +1 -1
  91. package/dist/cjs/{has-overflow-27e20400.js → has-overflow-2fb1d618.js} +6 -6
  92. package/dist/cjs/{has-overflow-27e20400.js.map → has-overflow-2fb1d618.js.map} +1 -1
  93. package/dist/cjs/{index-2556c4c6.js → index-a58ba49d.js} +170 -67
  94. package/dist/cjs/index-a58ba49d.js.map +1 -0
  95. package/dist/{esm/index-aaea0a65.js → cjs/index-a5d31aab.js} +10 -5
  96. package/dist/cjs/index-a5d31aab.js.map +1 -0
  97. package/dist/cjs/{is-modified-event-97f83d0f.js → is-modified-event-f643edb2.js} +2 -2
  98. package/dist/cjs/{is-modified-event-97f83d0f.js.map → is-modified-event-f643edb2.js.map} +1 -1
  99. package/dist/cjs/loader.cjs.js +5 -3
  100. package/dist/cjs/loader.cjs.js.map +1 -1
  101. package/dist/collection/collection-manifest.json +2 -2
  102. package/dist/collection/components/accordion/accordion.js +120 -120
  103. package/dist/collection/components/accordion/accordion.js.map +1 -1
  104. package/dist/collection/components/accordion/components/accordion-section.css +11 -7
  105. package/dist/collection/components/accordion/components/accordion-section.interfaces.js +5 -5
  106. package/dist/collection/components/accordion/components/accordion-section.interfaces.js.map +1 -1
  107. package/dist/collection/components/accordion/components/accordion-section.js +415 -415
  108. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  109. package/dist/collection/components/action-list/action-list.js +39 -39
  110. package/dist/collection/components/action-list/action-list.js.map +1 -1
  111. package/dist/collection/components/action-list/components/action-list-item.js +117 -117
  112. package/dist/collection/components/action-list/components/action-list-item.js.map +1 -1
  113. package/dist/collection/components/advanced-select/advanced-select.js +204 -204
  114. package/dist/collection/components/advanced-select/advanced-select.js.map +1 -1
  115. package/dist/collection/components/alert/alert.css +84 -0
  116. package/dist/collection/components/alert/alert.js +64 -64
  117. package/dist/collection/components/alert/alert.js.map +1 -1
  118. package/dist/collection/components/annotation-button/annotation-button.css +0 -11
  119. package/dist/collection/components/annotation-button/annotation-button.js +83 -83
  120. package/dist/collection/components/annotation-button/annotation-button.js.map +1 -1
  121. package/dist/collection/components/annotation-output/annotation-output.css +0 -17
  122. package/dist/collection/components/annotation-output/annotation-output.js +101 -101
  123. package/dist/collection/components/annotation-output/annotation-output.js.map +1 -1
  124. package/dist/collection/components/attachments-counter/attachments-counter.js +39 -39
  125. package/dist/collection/components/attachments-counter/attachments-counter.js.map +1 -1
  126. package/dist/collection/components/autosuggest/autosuggest.css +12 -3
  127. package/dist/collection/components/autosuggest/autosuggest.interfaces.js.map +1 -1
  128. package/dist/collection/components/autosuggest/autosuggest.js +448 -436
  129. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  130. package/dist/collection/components/badge/badge.js +39 -39
  131. package/dist/collection/components/badge/badge.js.map +1 -1
  132. package/dist/collection/components/banner/banner.js +79 -79
  133. package/dist/collection/components/banner/banner.js.map +1 -1
  134. package/dist/collection/components/card/card.js +167 -167
  135. package/dist/collection/components/card/card.js.map +1 -1
  136. package/dist/collection/components/card-container/card-container.js +45 -45
  137. package/dist/collection/components/card-container/card-container.js.map +1 -1
  138. package/dist/collection/components/date-picker/date-picker.js +389 -389
  139. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  140. package/dist/collection/components/date-picker/date-utils.js +22 -22
  141. package/dist/collection/components/date-picker/date-utils.js.map +1 -1
  142. package/dist/collection/components/date-picker-legacy/date-localization.js +26 -26
  143. package/dist/collection/components/date-picker-legacy/date-localization.js.map +1 -1
  144. package/dist/collection/components/date-picker-legacy/date-picker-day.js +15 -15
  145. package/dist/collection/components/date-picker-legacy/date-picker-day.js.map +1 -1
  146. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +810 -809
  147. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js.map +1 -1
  148. package/dist/collection/components/date-picker-legacy/date-picker-month.js +16 -16
  149. package/dist/collection/components/date-picker-legacy/date-picker-month.js.map +1 -1
  150. package/dist/collection/components/date-picker-legacy/date-utils.js +89 -89
  151. package/dist/collection/components/date-picker-legacy/date-utils.js.map +1 -1
  152. package/dist/collection/components/date-picker-legacy/utils/month-range.js +25 -25
  153. package/dist/collection/components/date-picker-legacy/utils/month-range.js.map +1 -1
  154. package/dist/collection/components/date-picker-legacy/utils/range.js +5 -5
  155. package/dist/collection/components/date-picker-legacy/utils/range.js.map +1 -1
  156. package/dist/collection/components/document-component/document-component-heading.js +24 -24
  157. package/dist/collection/components/document-component/document-component-heading.js.map +1 -1
  158. package/dist/collection/components/document-component/document-component.css +4 -4
  159. package/dist/collection/components/document-component/document-component.js +558 -558
  160. package/dist/collection/components/document-component/document-component.js.map +1 -1
  161. package/dist/collection/components/document-component-demo/document-component.demo.js +266 -266
  162. package/dist/collection/components/document-component-demo/document-component.demo.js.map +1 -1
  163. package/dist/collection/components/dropdown-menu/dropdown-menu.js +358 -358
  164. package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
  165. package/dist/collection/components/expandable/expandable.css +12 -13
  166. package/dist/collection/components/expandable/expandable.js +169 -246
  167. package/dist/collection/components/expandable/expandable.js.map +1 -1
  168. package/dist/collection/components/header/header.js +355 -355
  169. package/dist/collection/components/header/header.js.map +1 -1
  170. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +149 -149
  171. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js.map +1 -1
  172. package/dist/collection/components/highlight-box/highlight-box.js +114 -114
  173. package/dist/collection/components/highlight-box/highlight-box.js.map +1 -1
  174. package/dist/collection/components/icon/icon.js +143 -143
  175. package/dist/collection/components/icon/icon.js.map +1 -1
  176. package/dist/collection/components/image-overlay/image-overlay.css +124 -1
  177. package/dist/collection/components/image-overlay/image-overlay.js +150 -110
  178. package/dist/collection/components/image-overlay/image-overlay.js.map +1 -1
  179. package/dist/collection/components/info/info.js +79 -79
  180. package/dist/collection/components/info/info.js.map +1 -1
  181. package/dist/collection/components/info-button/info-button.js +136 -136
  182. package/dist/collection/components/info-button/info-button.js.map +1 -1
  183. package/dist/collection/components/input-range/input-range.js +181 -181
  184. package/dist/collection/components/input-range/input-range.js.map +1 -1
  185. package/dist/collection/components/label/label.js +252 -252
  186. package/dist/collection/components/label/label.js.map +1 -1
  187. package/dist/collection/components/list-button/list-button.js +333 -333
  188. package/dist/collection/components/list-button/list-button.js.map +1 -1
  189. package/dist/collection/components/logo/logo.js +57 -57
  190. package/dist/collection/components/logo/logo.js.map +1 -1
  191. package/dist/collection/components/map-base-layers/map-base-layers.js +99 -99
  192. package/dist/collection/components/map-base-layers/map-base-layers.js.map +1 -1
  193. package/dist/collection/components/map-controls/map-controls.js +206 -208
  194. package/dist/collection/components/map-controls/map-controls.js.map +1 -1
  195. package/dist/collection/components/map-overlays/map-overlays.js +100 -100
  196. package/dist/collection/components/map-overlays/map-overlays.js.map +1 -1
  197. package/dist/collection/components/mark-bar/mark-bar.js +241 -240
  198. package/dist/collection/components/mark-bar/mark-bar.js.map +1 -1
  199. package/dist/collection/components/modal/modal.js +171 -173
  200. package/dist/collection/components/modal/modal.js.map +1 -1
  201. package/dist/collection/components/ozon-content/get-node-name.function.js +7 -7
  202. package/dist/collection/components/ozon-content/get-node-name.function.js.map +1 -1
  203. package/dist/collection/components/ozon-content/nodes/al.node.js +24 -23
  204. package/dist/collection/components/ozon-content/nodes/al.node.js.map +1 -1
  205. package/dist/collection/components/ozon-content/nodes/bron.node.js +6 -6
  206. package/dist/collection/components/ozon-content/nodes/bron.node.js.map +1 -1
  207. package/dist/collection/components/ozon-content/nodes/document.node.js +6 -6
  208. package/dist/collection/components/ozon-content/nodes/document.node.js.map +1 -1
  209. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +8 -8
  210. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js.map +1 -1
  211. package/dist/collection/components/ozon-content/nodes/fallback.node.js +7 -7
  212. package/dist/collection/components/ozon-content/nodes/fallback.node.js.map +1 -1
  213. package/dist/collection/components/ozon-content/nodes/figuur.node.js +37 -36
  214. package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -1
  215. package/dist/collection/components/ozon-content/nodes/inhoud.node.js +14 -6
  216. package/dist/collection/components/ozon-content/nodes/inhoud.node.js.map +1 -1
  217. package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js +7 -7
  218. package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js.map +1 -1
  219. package/dist/collection/components/ozon-content/nodes/inline.nodes.js +9 -9
  220. package/dist/collection/components/ozon-content/nodes/inline.nodes.js.map +1 -1
  221. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js +23 -23
  222. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js.map +1 -1
  223. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +23 -23
  224. package/dist/collection/components/ozon-content/nodes/int-ref.node.js.map +1 -1
  225. package/dist/collection/components/ozon-content/nodes/lijst.node.js +16 -16
  226. package/dist/collection/components/ozon-content/nodes/lijst.node.js.map +1 -1
  227. package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js +6 -6
  228. package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js.map +1 -1
  229. package/dist/collection/components/ozon-content/nodes/noot.node.js +18 -18
  230. package/dist/collection/components/ozon-content/nodes/noot.node.js.map +1 -1
  231. package/dist/collection/components/ozon-content/nodes/opschrift.node.js +12 -12
  232. package/dist/collection/components/ozon-content/nodes/opschrift.node.js.map +1 -1
  233. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js +35 -33
  234. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js.map +1 -1
  235. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js.map +1 -1
  236. package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +40 -19
  237. package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js.map +1 -1
  238. package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js +1 -1
  239. package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js.map +1 -1
  240. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +26 -23
  241. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js.map +1 -1
  242. package/dist/collection/components/ozon-content/nodes/text.node.js +14 -14
  243. package/dist/collection/components/ozon-content/nodes/text.node.js.map +1 -1
  244. package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js +6 -6
  245. package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js.map +1 -1
  246. package/dist/collection/components/ozon-content/ozon-content-mapper.js +89 -89
  247. package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
  248. package/dist/collection/components/ozon-content/ozon-content.css +181 -52
  249. package/dist/collection/components/ozon-content/ozon-content.js +159 -159
  250. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  251. package/dist/collection/components/pagination/pagination.js +223 -223
  252. package/dist/collection/components/pagination/pagination.js.map +1 -1
  253. package/dist/collection/components/progress-bar/progress-bar.js +79 -79
  254. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  255. package/dist/collection/components/progress-indicator/progress-indicator.js +76 -76
  256. package/dist/collection/components/progress-indicator/progress-indicator.js.map +1 -1
  257. package/dist/collection/components/responsive-element/responsive-element.js +107 -107
  258. package/dist/collection/components/responsive-element/responsive-element.js.map +1 -1
  259. package/dist/collection/components/scrollable/scrollable.js +135 -135
  260. package/dist/collection/components/scrollable/scrollable.js.map +1 -1
  261. package/dist/collection/components/selectable/selectable.css +4 -0
  262. package/dist/collection/components/selectable/selectable.js +348 -350
  263. package/dist/collection/components/selectable/selectable.js.map +1 -1
  264. package/dist/collection/components/slide-toggle/slide-toggle.js +152 -152
  265. package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -1
  266. package/dist/collection/components/table/table.js +126 -126
  267. package/dist/collection/components/table/table.js.map +1 -1
  268. package/dist/collection/components/toggletip/toggletip.js +134 -134
  269. package/dist/collection/components/toggletip/toggletip.js.map +1 -1
  270. package/dist/collection/components/tooltip/tooltip.js +379 -379
  271. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  272. package/dist/collection/components/tree-view/tree-item.js +3 -3
  273. package/dist/collection/components/tree-view/tree-item.js.map +1 -1
  274. package/dist/collection/components/tree-view/tree-view.js +305 -304
  275. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  276. package/dist/collection/components/viewer-grid/components/document-panel.js +4 -4
  277. package/dist/collection/components/viewer-grid/components/document-panel.js.map +1 -1
  278. package/dist/collection/components/viewer-grid/components/filterpanel.js +3 -3
  279. package/dist/collection/components/viewer-grid/components/filterpanel.js.map +1 -1
  280. package/dist/collection/components/viewer-grid/components/main-panel.js +11 -10
  281. package/dist/collection/components/viewer-grid/components/main-panel.js.map +1 -1
  282. package/dist/collection/components/viewer-grid/components/overlay.js +3 -3
  283. package/dist/collection/components/viewer-grid/components/overlay.js.map +1 -1
  284. package/dist/collection/components/viewer-grid/components/sizing-buttons.js +8 -8
  285. package/dist/collection/components/viewer-grid/components/sizing-buttons.js.map +1 -1
  286. package/dist/collection/components/viewer-grid/components/viewer-grid-filterpanel-buttons.js.map +1 -1
  287. package/dist/collection/components/viewer-grid/viewer-grid.css +3 -2
  288. package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js +7 -7
  289. package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js.map +1 -1
  290. package/dist/collection/components/viewer-grid/viewer-grid.js +584 -584
  291. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  292. package/dist/collection/utils/create-identifier.js +2 -2
  293. package/dist/collection/utils/create-identifier.js.map +1 -1
  294. package/dist/collection/utils/get-active-element.js +8 -8
  295. package/dist/collection/utils/get-active-element.js.map +1 -1
  296. package/dist/collection/utils/has-overflow.js +5 -5
  297. package/dist/collection/utils/has-overflow.js.map +1 -1
  298. package/dist/collection/utils/is-interactive-element.js +4 -4
  299. package/dist/collection/utils/is-interactive-element.js.map +1 -1
  300. package/dist/collection/utils/is-modified-event.js +1 -1
  301. package/dist/collection/utils/is-modified-event.js.map +1 -1
  302. package/dist/components/alert.js +39 -38
  303. package/dist/components/alert.js.map +1 -1
  304. package/dist/components/annotation-button.js +35 -34
  305. package/dist/components/annotation-button.js.map +1 -1
  306. package/dist/components/annotation-output.js +47 -46
  307. package/dist/components/annotation-output.js.map +1 -1
  308. package/dist/components/attachments-counter.js +29 -28
  309. package/dist/components/attachments-counter.js.map +1 -1
  310. package/dist/components/badge.js +24 -23
  311. package/dist/components/badge.js.map +1 -1
  312. package/dist/components/clsx.js +1 -1
  313. package/dist/components/clsx.js.map +1 -1
  314. package/dist/components/create-identifier.js +2 -2
  315. package/dist/components/create-identifier.js.map +1 -1
  316. package/dist/components/document-component.js +174 -173
  317. package/dist/components/document-component.js.map +1 -1
  318. package/dist/components/dropdown-menu.js +219 -218
  319. package/dist/components/dropdown-menu.js.map +1 -1
  320. package/dist/components/dso-accordion-section.d.ts +2 -2
  321. package/dist/components/dso-accordion-section.js +198 -197
  322. package/dist/components/dso-accordion-section.js.map +1 -1
  323. package/dist/components/dso-accordion.d.ts +2 -2
  324. package/dist/components/dso-accordion.js +53 -52
  325. package/dist/components/dso-accordion.js.map +1 -1
  326. package/dist/components/dso-action-list-item.d.ts +2 -2
  327. package/dist/components/dso-action-list-item.js +40 -39
  328. package/dist/components/dso-action-list-item.js.map +1 -1
  329. package/dist/components/dso-action-list.d.ts +2 -2
  330. package/dist/components/dso-action-list.js +24 -23
  331. package/dist/components/dso-action-list.js.map +1 -1
  332. package/dist/components/dso-advanced-select.d.ts +2 -2
  333. package/dist/components/dso-advanced-select.js +104 -103
  334. package/dist/components/dso-advanced-select.js.map +1 -1
  335. package/dist/components/dso-alert.d.ts +2 -2
  336. package/dist/components/dso-annotation-button.d.ts +2 -2
  337. package/dist/components/dso-annotation-output.d.ts +2 -2
  338. package/dist/components/dso-attachments-counter.d.ts +2 -2
  339. package/dist/components/dso-autosuggest.d.ts +2 -2
  340. package/dist/components/dso-autosuggest.js +292 -279
  341. package/dist/components/dso-autosuggest.js.map +1 -1
  342. package/dist/components/dso-badge.d.ts +2 -2
  343. package/dist/components/dso-banner.d.ts +2 -2
  344. package/dist/components/dso-banner.js +30 -29
  345. package/dist/components/dso-banner.js.map +1 -1
  346. package/dist/components/dso-card-container.d.ts +2 -2
  347. package/dist/components/dso-card-container.js +24 -23
  348. package/dist/components/dso-card-container.js.map +1 -1
  349. package/dist/components/dso-card.d.ts +2 -2
  350. package/dist/components/dso-card.js +82 -81
  351. package/dist/components/dso-card.js.map +1 -1
  352. package/dist/components/dso-date-picker-legacy.d.ts +2 -2
  353. package/dist/components/dso-date-picker-legacy.js +633 -632
  354. package/dist/components/dso-date-picker-legacy.js.map +1 -1
  355. package/dist/components/dso-date-picker.d.ts +2 -2
  356. package/dist/components/dso-date-picker.js +146 -145
  357. package/dist/components/dso-date-picker.js.map +1 -1
  358. package/dist/components/dso-document-component.d.ts +2 -2
  359. package/dist/components/dso-dropdown-menu.d.ts +2 -2
  360. package/dist/components/dso-expandable.d.ts +2 -2
  361. package/dist/components/dso-header.d.ts +2 -2
  362. package/dist/components/dso-header.js +155 -154
  363. package/dist/components/dso-header.js.map +1 -1
  364. package/dist/components/dso-helpcenter-panel.d.ts +2 -2
  365. package/dist/components/dso-helpcenter-panel.js +107 -106
  366. package/dist/components/dso-helpcenter-panel.js.map +1 -1
  367. package/dist/components/dso-highlight-box.d.ts +2 -2
  368. package/dist/components/dso-highlight-box.js +35 -34
  369. package/dist/components/dso-highlight-box.js.map +1 -1
  370. package/dist/components/dso-icon.d.ts +2 -2
  371. package/dist/components/dso-image-overlay.d.ts +2 -2
  372. package/dist/components/dso-info-button.d.ts +2 -2
  373. package/dist/components/dso-info.d.ts +2 -2
  374. package/dist/components/dso-input-range.d.ts +2 -2
  375. package/dist/components/dso-input-range.js +47 -46
  376. package/dist/components/dso-input-range.js.map +1 -1
  377. package/dist/components/dso-label.d.ts +2 -2
  378. package/dist/components/dso-list-button.d.ts +2 -2
  379. package/dist/components/dso-list-button.js +147 -146
  380. package/dist/components/dso-list-button.js.map +1 -1
  381. package/dist/components/dso-logo.d.ts +2 -2
  382. package/dist/components/dso-logo.js +26 -25
  383. package/dist/components/dso-logo.js.map +1 -1
  384. package/dist/components/dso-map-base-layers.d.ts +2 -2
  385. package/dist/components/dso-map-base-layers.js +62 -61
  386. package/dist/components/dso-map-base-layers.js.map +1 -1
  387. package/dist/components/dso-map-controls.d.ts +2 -2
  388. package/dist/components/dso-map-controls.js +86 -85
  389. package/dist/components/dso-map-controls.js.map +1 -1
  390. package/dist/components/dso-map-overlays.d.ts +2 -2
  391. package/dist/components/dso-map-overlays.js +63 -62
  392. package/dist/components/dso-map-overlays.js.map +1 -1
  393. package/dist/components/dso-mark-bar.d.ts +2 -2
  394. package/dist/components/dso-mark-bar.js +74 -73
  395. package/dist/components/dso-mark-bar.js.map +1 -1
  396. package/dist/components/dso-modal.d.ts +2 -2
  397. package/dist/components/dso-modal.js +69 -70
  398. package/dist/components/dso-modal.js.map +1 -1
  399. package/dist/components/dso-ozon-content.d.ts +2 -2
  400. package/dist/components/dso-pagination.d.ts +2 -2
  401. package/dist/components/dso-pagination.js +144 -143
  402. package/dist/components/dso-pagination.js.map +1 -1
  403. package/dist/components/dso-progress-bar.d.ts +2 -2
  404. package/dist/components/dso-progress-bar.js +30 -29
  405. package/dist/components/dso-progress-bar.js.map +1 -1
  406. package/dist/components/dso-progress-indicator.d.ts +2 -2
  407. package/dist/components/dso-responsive-element.d.ts +2 -2
  408. package/dist/components/dso-scrollable.d.ts +2 -2
  409. package/dist/components/dso-selectable.d.ts +2 -2
  410. package/dist/components/dso-slide-toggle.d.ts +2 -2
  411. package/dist/components/dso-table.d.ts +2 -2
  412. package/dist/components/dso-toggletip.d.ts +2 -2
  413. package/dist/components/dso-toggletip.js +75 -74
  414. package/dist/components/dso-toggletip.js.map +1 -1
  415. package/dist/components/dso-tooltip.d.ts +2 -2
  416. package/dist/components/dso-tree-view.d.ts +2 -2
  417. package/dist/components/dso-tree-view.js +208 -207
  418. package/dist/components/dso-tree-view.js.map +1 -1
  419. package/dist/components/dso-viewer-grid.d.ts +2 -2
  420. package/dist/components/dso-viewer-grid.js +246 -244
  421. package/dist/components/dso-viewer-grid.js.map +1 -1
  422. package/dist/components/dsot-document-component-demo.d.ts +2 -2
  423. package/dist/components/dsot-document-component-demo.js +258 -257
  424. package/dist/components/dsot-document-component-demo.js.map +1 -1
  425. package/dist/components/expandable.js +62 -1459
  426. package/dist/components/expandable.js.map +1 -1
  427. package/dist/components/focus-trap.esm.js +1 -1
  428. package/dist/components/get-active-element.js +8 -8
  429. package/dist/components/get-active-element.js.map +1 -1
  430. package/dist/components/has-overflow.js +5 -5
  431. package/dist/components/has-overflow.js.map +1 -1
  432. package/dist/components/icon.js +128 -127
  433. package/dist/components/icon.js.map +1 -1
  434. package/dist/components/image-overlay.js +128 -107
  435. package/dist/components/image-overlay.js.map +1 -1
  436. package/dist/components/index.esm.js +1 -1
  437. package/dist/components/index2.js +7 -4
  438. package/dist/components/index2.js.map +1 -1
  439. package/dist/components/info-button.js +48 -47
  440. package/dist/components/info-button.js.map +1 -1
  441. package/dist/components/info.js +32 -31
  442. package/dist/components/info.js.map +1 -1
  443. package/dist/components/is-modified-event.js +1 -1
  444. package/dist/components/is-modified-event.js.map +1 -1
  445. package/dist/components/label.js +143 -142
  446. package/dist/components/label.js.map +1 -1
  447. package/dist/components/ozon-content.js +542 -506
  448. package/dist/components/ozon-content.js.map +1 -1
  449. package/dist/components/progress-indicator.js +33 -32
  450. package/dist/components/progress-indicator.js.map +1 -1
  451. package/dist/components/responsive-element.js +62 -61
  452. package/dist/components/responsive-element.js.map +1 -1
  453. package/dist/components/scrollable.js +94 -93
  454. package/dist/components/scrollable.js.map +1 -1
  455. package/dist/components/selectable.js +119 -118
  456. package/dist/components/selectable.js.map +1 -1
  457. package/dist/components/slide-toggle.js +44 -43
  458. package/dist/components/slide-toggle.js.map +1 -1
  459. package/dist/components/table.js +95 -94
  460. package/dist/components/table.js.map +1 -1
  461. package/dist/components/tooltip.js +217 -216
  462. package/dist/components/tooltip.js.map +1 -1
  463. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  464. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  465. package/dist/dso-toolkit/p-00f36d82.entry.js +2 -0
  466. package/dist/dso-toolkit/p-00f36d82.entry.js.map +1 -0
  467. package/dist/dso-toolkit/p-05115f40.entry.js +2 -0
  468. package/dist/dso-toolkit/p-05115f40.entry.js.map +1 -0
  469. package/dist/dso-toolkit/p-0df15acb.entry.js +2 -0
  470. package/dist/dso-toolkit/p-0df15acb.entry.js.map +1 -0
  471. package/dist/dso-toolkit/p-0edf4492.entry.js +2 -0
  472. package/dist/dso-toolkit/p-0edf4492.entry.js.map +1 -0
  473. package/dist/dso-toolkit/p-0f1c1ad3.entry.js +2 -0
  474. package/dist/dso-toolkit/p-0f1c1ad3.entry.js.map +1 -0
  475. package/dist/dso-toolkit/p-130c00f5.entry.js +2 -0
  476. package/dist/dso-toolkit/p-130c00f5.entry.js.map +1 -0
  477. package/dist/dso-toolkit/{p-e1cb1603.entry.js → p-1543b25f.entry.js} +2 -2
  478. package/dist/dso-toolkit/p-1543b25f.entry.js.map +1 -0
  479. package/dist/dso-toolkit/p-171df922.entry.js +2 -0
  480. package/dist/dso-toolkit/p-171df922.entry.js.map +1 -0
  481. package/dist/dso-toolkit/{p-86133aa5.js → p-1dbcaeef.js} +2 -2
  482. package/dist/dso-toolkit/{p-fd7891ef.js → p-202d2cdf.js} +1 -1
  483. package/dist/dso-toolkit/p-23b5692c.js +2 -0
  484. package/dist/dso-toolkit/p-23b5692c.js.map +1 -0
  485. package/dist/dso-toolkit/{p-17e4b846.js → p-2d694112.js} +1 -1
  486. package/dist/dso-toolkit/p-30f09a47.entry.js +2 -0
  487. package/dist/dso-toolkit/p-30f09a47.entry.js.map +1 -0
  488. package/dist/dso-toolkit/{p-1b8d34a6.entry.js → p-32e3c872.entry.js} +2 -2
  489. package/dist/dso-toolkit/p-32e3c872.entry.js.map +1 -0
  490. package/dist/dso-toolkit/p-3603f65a.entry.js +2 -0
  491. package/dist/dso-toolkit/p-3603f65a.entry.js.map +1 -0
  492. package/dist/dso-toolkit/p-3b8f44b1.entry.js +2 -0
  493. package/dist/dso-toolkit/p-3b8f44b1.entry.js.map +1 -0
  494. package/dist/dso-toolkit/{p-c9fbf040.entry.js → p-3e0495a4.entry.js} +2 -2
  495. package/dist/dso-toolkit/p-3e0495a4.entry.js.map +1 -0
  496. package/dist/dso-toolkit/p-487a5da9.entry.js +2 -0
  497. package/dist/dso-toolkit/p-487a5da9.entry.js.map +1 -0
  498. package/dist/dso-toolkit/p-535f755f.entry.js +2 -0
  499. package/dist/dso-toolkit/p-535f755f.entry.js.map +1 -0
  500. package/dist/dso-toolkit/p-590c98cb.entry.js +2 -0
  501. package/dist/dso-toolkit/p-590c98cb.entry.js.map +1 -0
  502. package/dist/dso-toolkit/p-64ed1e16.entry.js +2 -0
  503. package/dist/dso-toolkit/p-64ed1e16.entry.js.map +1 -0
  504. package/dist/dso-toolkit/p-69e2f1a3.entry.js +2 -0
  505. package/dist/dso-toolkit/p-69e2f1a3.entry.js.map +1 -0
  506. package/dist/dso-toolkit/p-701648d3.js +3 -0
  507. package/dist/dso-toolkit/p-701648d3.js.map +1 -0
  508. package/dist/dso-toolkit/{p-fbb226aa.js → p-808a98bc.js} +3 -3
  509. package/dist/dso-toolkit/p-889aa72f.entry.js +2 -0
  510. package/dist/dso-toolkit/p-889aa72f.entry.js.map +1 -0
  511. package/dist/dso-toolkit/p-8a1a6e56.js +2 -0
  512. package/dist/dso-toolkit/p-8a1a6e56.js.map +1 -0
  513. package/dist/dso-toolkit/p-8a41761d.entry.js +2 -0
  514. package/dist/dso-toolkit/p-8a41761d.entry.js.map +1 -0
  515. package/dist/dso-toolkit/{p-ea6ca8b2.entry.js → p-9579c352.entry.js} +2 -2
  516. package/dist/dso-toolkit/p-9579c352.entry.js.map +1 -0
  517. package/dist/dso-toolkit/{p-c19cfe3f.js → p-97f788d4.js} +1 -1
  518. package/dist/dso-toolkit/p-9bf86dbf.entry.js +2 -0
  519. package/dist/dso-toolkit/p-9bf86dbf.entry.js.map +1 -0
  520. package/dist/dso-toolkit/p-9f465136.entry.js +2 -0
  521. package/dist/dso-toolkit/p-9f465136.entry.js.map +1 -0
  522. package/dist/dso-toolkit/p-9f9ed7fc.entry.js +2 -0
  523. package/dist/dso-toolkit/p-9f9ed7fc.entry.js.map +1 -0
  524. package/dist/dso-toolkit/p-a7ec3cce.entry.js +2 -0
  525. package/dist/dso-toolkit/p-a7ec3cce.entry.js.map +1 -0
  526. package/dist/dso-toolkit/p-ae783ec3.entry.js +2 -0
  527. package/dist/dso-toolkit/p-ae783ec3.entry.js.map +1 -0
  528. package/dist/dso-toolkit/p-b73a27bc.entry.js +2 -0
  529. package/dist/dso-toolkit/p-b73a27bc.entry.js.map +1 -0
  530. package/dist/dso-toolkit/{p-46955cda.entry.js → p-b8be68cd.entry.js} +2 -2
  531. package/dist/dso-toolkit/p-b8be68cd.entry.js.map +1 -0
  532. package/dist/dso-toolkit/{p-69231fe7.entry.js → p-ba1757f9.entry.js} +2 -2
  533. package/dist/dso-toolkit/p-ba1757f9.entry.js.map +1 -0
  534. package/dist/dso-toolkit/{p-dd21df39.entry.js → p-bb65ba35.entry.js} +2 -2
  535. package/dist/dso-toolkit/p-bb65ba35.entry.js.map +1 -0
  536. package/dist/dso-toolkit/p-bf2ef44a.entry.js +2 -0
  537. package/dist/dso-toolkit/p-bf2ef44a.entry.js.map +1 -0
  538. package/dist/dso-toolkit/{p-eb7275e9.entry.js → p-c3af1efc.entry.js} +2 -2
  539. package/dist/dso-toolkit/p-c3af1efc.entry.js.map +1 -0
  540. package/dist/dso-toolkit/p-c435f94d.entry.js +2 -0
  541. package/dist/dso-toolkit/p-c435f94d.entry.js.map +1 -0
  542. package/dist/dso-toolkit/{p-6e9b961b.js → p-c8f6f8d9.js} +1 -1
  543. package/dist/dso-toolkit/{p-67461818.entry.js → p-d6fa20f7.entry.js} +2 -2
  544. package/dist/dso-toolkit/p-d6fa20f7.entry.js.map +1 -0
  545. package/dist/dso-toolkit/p-d75e278f.entry.js +2 -0
  546. package/dist/dso-toolkit/p-d75e278f.entry.js.map +1 -0
  547. package/dist/dso-toolkit/p-db0796f2.entry.js +2 -0
  548. package/dist/dso-toolkit/p-db0796f2.entry.js.map +1 -0
  549. package/dist/dso-toolkit/p-e1255160.js +2 -0
  550. package/dist/dso-toolkit/p-e1255160.js.map +1 -0
  551. package/dist/dso-toolkit/p-e1f82103.entry.js +2 -0
  552. package/dist/dso-toolkit/p-e1f82103.entry.js.map +1 -0
  553. package/dist/dso-toolkit/p-e968c726.entry.js +2 -0
  554. package/dist/dso-toolkit/p-e968c726.entry.js.map +1 -0
  555. package/dist/dso-toolkit/p-f3f23018.entry.js +2 -0
  556. package/dist/dso-toolkit/p-f3f23018.entry.js.map +1 -0
  557. package/dist/dso-toolkit/p-ffdcb2e4.entry.js +2 -0
  558. package/dist/dso-toolkit/p-ffdcb2e4.entry.js.map +1 -0
  559. package/dist/esm/app-globals-0f993ce5.js +5 -0
  560. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  561. package/dist/esm/clsx-297c1ffe.js +5 -0
  562. package/dist/esm/clsx-297c1ffe.js.map +1 -0
  563. package/dist/esm/create-identifier-d61d46af.js +17 -0
  564. package/dist/esm/{create-identifier-479a4699.js.map → create-identifier-d61d46af.js.map} +1 -1
  565. package/dist/esm/dso-accordion-section.entry.js +159 -158
  566. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  567. package/dist/esm/dso-accordion.entry.js +34 -33
  568. package/dist/esm/dso-accordion.entry.js.map +1 -1
  569. package/dist/esm/dso-action-list-item.entry.js +17 -16
  570. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  571. package/dist/esm/dso-action-list.entry.js +10 -9
  572. package/dist/esm/dso-action-list.entry.js.map +1 -1
  573. package/dist/esm/dso-advanced-select.entry.js +81 -80
  574. package/dist/esm/dso-advanced-select.entry.js.map +1 -1
  575. package/dist/esm/dso-alert_7.entry.js +836 -775
  576. package/dist/esm/dso-alert_7.entry.js.map +1 -1
  577. package/dist/esm/dso-annotation-output_3.entry.js +138 -135
  578. package/dist/esm/dso-annotation-output_3.entry.js.map +1 -1
  579. package/dist/esm/dso-attachments-counter.entry.js +10 -9
  580. package/dist/esm/dso-attachments-counter.entry.js.map +1 -1
  581. package/dist/esm/dso-autosuggest.entry.js +258 -245
  582. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  583. package/dist/esm/dso-banner.entry.js +15 -14
  584. package/dist/esm/dso-banner.entry.js.map +1 -1
  585. package/dist/esm/dso-card-container.entry.js +10 -9
  586. package/dist/esm/dso-card-container.entry.js.map +1 -1
  587. package/dist/esm/dso-card.entry.js +61 -60
  588. package/dist/esm/dso-card.entry.js.map +1 -1
  589. package/dist/esm/dso-date-picker-legacy.entry.js +598 -597
  590. package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -1
  591. package/dist/esm/dso-date-picker.entry.js +124 -123
  592. package/dist/esm/dso-date-picker.entry.js.map +1 -1
  593. package/dist/esm/dso-dropdown-menu.entry.js +216 -215
  594. package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
  595. package/dist/esm/dso-expandable.entry.js +49 -1444
  596. package/dist/esm/dso-expandable.entry.js.map +1 -1
  597. package/dist/esm/dso-header.entry.js +119 -118
  598. package/dist/esm/dso-header.entry.js.map +1 -1
  599. package/dist/esm/dso-helpcenter-panel.entry.js +82 -81
  600. package/dist/esm/dso-helpcenter-panel.entry.js.map +1 -1
  601. package/dist/esm/dso-highlight-box.entry.js +17 -16
  602. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  603. package/dist/esm/dso-icon.entry.js +114 -113
  604. package/dist/esm/dso-icon.entry.js.map +1 -1
  605. package/dist/esm/dso-info-button.entry.js +26 -25
  606. package/dist/esm/dso-info-button.entry.js.map +1 -1
  607. package/dist/esm/dso-info_2.entry.js +88 -86
  608. package/dist/esm/dso-info_2.entry.js.map +1 -1
  609. package/dist/esm/dso-input-range.entry.js +27 -26
  610. package/dist/esm/dso-input-range.entry.js.map +1 -1
  611. package/dist/esm/dso-list-button.entry.js +119 -118
  612. package/dist/esm/dso-list-button.entry.js.map +1 -1
  613. package/dist/esm/dso-logo.entry.js +11 -10
  614. package/dist/esm/dso-logo.entry.js.map +1 -1
  615. package/dist/esm/dso-map-base-layers.entry.js +27 -26
  616. package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
  617. package/dist/esm/dso-map-controls.entry.js +57 -56
  618. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  619. package/dist/esm/dso-map-overlays.entry.js +28 -27
  620. package/dist/esm/dso-map-overlays.entry.js.map +1 -1
  621. package/dist/esm/dso-mark-bar.entry.js +51 -50
  622. package/dist/esm/dso-mark-bar.entry.js.map +1 -1
  623. package/dist/esm/dso-modal.entry.js +41 -42
  624. package/dist/esm/dso-modal.entry.js.map +1 -1
  625. package/dist/esm/dso-pagination.entry.js +118 -117
  626. package/dist/esm/dso-pagination.entry.js.map +1 -1
  627. package/dist/esm/dso-progress-bar.entry.js +14 -13
  628. package/dist/esm/dso-progress-bar.entry.js.map +1 -1
  629. package/dist/esm/dso-progress-indicator.entry.js +12 -11
  630. package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
  631. package/dist/esm/dso-responsive-element.entry.js +46 -45
  632. package/dist/esm/dso-responsive-element.entry.js.map +1 -1
  633. package/dist/esm/dso-scrollable.entry.js +80 -79
  634. package/dist/esm/dso-scrollable.entry.js.map +1 -1
  635. package/dist/esm/dso-toggletip.entry.js +42 -41
  636. package/dist/esm/dso-toggletip.entry.js.map +1 -1
  637. package/dist/esm/dso-toolkit.js +7 -5
  638. package/dist/esm/dso-toolkit.js.map +1 -1
  639. package/dist/esm/dso-tooltip.entry.js +192 -191
  640. package/dist/esm/dso-tooltip.entry.js.map +1 -1
  641. package/dist/esm/dso-tree-view.entry.js +184 -183
  642. package/dist/esm/dso-tree-view.entry.js.map +1 -1
  643. package/dist/esm/dso-viewer-grid.entry.js +219 -217
  644. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  645. package/dist/esm/dsot-document-component-demo.entry.js +163 -162
  646. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  647. package/dist/esm/{focus-trap.esm-d8deb1f0.js → focus-trap.esm-f16e876b.js} +2 -2
  648. package/dist/esm/{focus-trap.esm-d8deb1f0.js.map → focus-trap.esm-f16e876b.js.map} +1 -1
  649. package/dist/esm/get-active-element-37680994.js +14 -0
  650. package/dist/esm/{get-active-element-0e7dc01b.js.map → get-active-element-37680994.js.map} +1 -1
  651. package/dist/esm/{has-overflow-9f720f83.js → has-overflow-6d7f3a71.js} +6 -6
  652. package/dist/esm/{has-overflow-9f720f83.js.map → has-overflow-6d7f3a71.js.map} +1 -1
  653. package/dist/esm/{index-528d5213.js → index-2e1b7388.js} +170 -67
  654. package/dist/esm/index-2e1b7388.js.map +1 -0
  655. package/dist/{cjs/index-1b083a00.js → esm/index-baba34a8.js} +7 -6
  656. package/dist/esm/index-baba34a8.js.map +1 -0
  657. package/dist/esm/{index.esm-7e16e884.js → index.esm-7a561c35.js} +2 -2
  658. package/dist/esm/{index.esm-7e16e884.js.map → index.esm-7a561c35.js.map} +1 -1
  659. package/dist/esm/{is-modified-event-4fc531e3.js → is-modified-event-70db5fa8.js} +2 -2
  660. package/dist/esm/{is-modified-event-4fc531e3.js.map → is-modified-event-70db5fa8.js.map} +1 -1
  661. package/dist/esm/loader.js +6 -4
  662. package/dist/esm/loader.js.map +1 -1
  663. package/dist/scripts/readme.js +66 -66
  664. package/dist/scripts/readme.js.map +1 -1
  665. package/dist/types/components/accordion/accordion.d.ts +21 -21
  666. package/dist/types/components/accordion/accordion.interfaces.d.ts +2 -2
  667. package/dist/types/components/accordion/components/accordion-section.d.ts +67 -67
  668. package/dist/types/components/accordion/components/accordion-section.interfaces.d.ts +26 -26
  669. package/dist/types/components/action-list/action-list.d.ts +5 -5
  670. package/dist/types/components/action-list/components/action-list-item.d.ts +21 -21
  671. package/dist/types/components/advanced-select/advanced-select.d.ts +36 -36
  672. package/dist/types/components/advanced-select/advanced-select.models.d.ts +17 -17
  673. package/dist/types/components/alert/alert.d.ts +10 -10
  674. package/dist/types/components/annotation-button/annotation-button.d.ts +16 -16
  675. package/dist/types/components/annotation-output/annotation-output.d.ts +19 -19
  676. package/dist/types/components/attachments-counter/attachments-counter.d.ts +5 -5
  677. package/dist/types/components/autosuggest/autosuggest.d.ts +77 -76
  678. package/dist/types/components/autosuggest/autosuggest.interfaces.d.ts +16 -12
  679. package/dist/types/components/badge/badge.d.ts +5 -5
  680. package/dist/types/components/banner/banner.d.ts +15 -15
  681. package/dist/types/components/card/card.d.ts +36 -36
  682. package/dist/types/components/card/card.interfaces.d.ts +3 -3
  683. package/dist/types/components/card-container/card-container.d.ts +5 -5
  684. package/dist/types/components/date-picker/date-picker.d.ts +78 -78
  685. package/dist/types/components/date-picker/date-picker.interfaces.d.ts +37 -37
  686. package/dist/types/components/date-picker-legacy/date-localization.d.ts +13 -13
  687. package/dist/types/components/date-picker-legacy/date-picker-day.d.ts +7 -7
  688. package/dist/types/components/date-picker-legacy/date-picker-legacy.d.ts +168 -168
  689. package/dist/types/components/date-picker-legacy/date-picker-legacy.interfaces.d.ts +7 -7
  690. package/dist/types/components/date-picker-legacy/date-picker-month.d.ts +12 -12
  691. package/dist/types/components/date-picker-legacy/date-utils.d.ts +7 -7
  692. package/dist/types/components/document-component/document-component-heading.d.ts +1 -1
  693. package/dist/types/components/document-component/document-component.d.ts +102 -102
  694. package/dist/types/components/document-component/document-component.models.d.ts +11 -11
  695. package/dist/types/components/document-component-demo/document-component.demo.d.ts +63 -63
  696. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +50 -50
  697. package/dist/types/components/expandable/expandable.d.ts +37 -39
  698. package/dist/types/components/header/header.d.ts +73 -73
  699. package/dist/types/components/header/header.interfaces.d.ts +10 -10
  700. package/dist/types/components/helpcenter-panel/helpcenter-panel.d.ts +26 -26
  701. package/dist/types/components/highlight-box/highlight-box.d.ts +22 -22
  702. package/dist/types/components/icon/icon.d.ts +5 -5
  703. package/dist/types/components/image-overlay/image-overlay.d.ts +23 -18
  704. package/dist/types/components/info/info.d.ts +13 -13
  705. package/dist/types/components/info-button/info-button.d.ts +24 -24
  706. package/dist/types/components/info-button/info-button.interfaces.d.ts +2 -2
  707. package/dist/types/components/input-range/input-range.d.ts +34 -34
  708. package/dist/types/components/input-range/input-range.interfaces.d.ts +5 -5
  709. package/dist/types/components/label/label.d.ts +45 -45
  710. package/dist/types/components/list-button/list-button.d.ts +67 -67
  711. package/dist/types/components/list-button/list-button.interfaces.d.ts +6 -6
  712. package/dist/types/components/logo/logo.d.ts +12 -12
  713. package/dist/types/components/map-base-layers/map-base-layers.d.ts +17 -17
  714. package/dist/types/components/map-base-layers/map-base-layers.interfaces.d.ts +6 -6
  715. package/dist/types/components/map-controls/map-controls.d.ts +39 -39
  716. package/dist/types/components/map-controls/map-controls.interfaces.d.ts +2 -2
  717. package/dist/types/components/map-overlays/map-overlays.d.ts +17 -17
  718. package/dist/types/components/map-overlays/map-overlays.interfaces.d.ts +7 -7
  719. package/dist/types/components/mark-bar/mark-bar.d.ts +43 -43
  720. package/dist/types/components/mark-bar/mark-bar.interfaces.d.ts +8 -8
  721. package/dist/types/components/modal/modal.d.ts +38 -38
  722. package/dist/types/components/modal/modal.interfaces.d.ts +1 -1
  723. package/dist/types/components/ozon-content/nodes/al.node.d.ts +2 -2
  724. package/dist/types/components/ozon-content/nodes/bron.node.d.ts +2 -2
  725. package/dist/types/components/ozon-content/nodes/document.node.d.ts +2 -2
  726. package/dist/types/components/ozon-content/nodes/ext-ref.node.d.ts +2 -2
  727. package/dist/types/components/ozon-content/nodes/fallback.node.d.ts +2 -2
  728. package/dist/types/components/ozon-content/nodes/figuur.node.d.ts +4 -4
  729. package/dist/types/components/ozon-content/nodes/inhoud.node.d.ts +2 -2
  730. package/dist/types/components/ozon-content/nodes/inline-tekst-afbeelding.node.d.ts +2 -2
  731. package/dist/types/components/ozon-content/nodes/inline.nodes.d.ts +2 -2
  732. package/dist/types/components/ozon-content/nodes/int-io-ref.node.d.ts +2 -2
  733. package/dist/types/components/ozon-content/nodes/int-ref.node.d.ts +2 -2
  734. package/dist/types/components/ozon-content/nodes/lijst.node.d.ts +2 -2
  735. package/dist/types/components/ozon-content/nodes/nieuwe-tekst.node.d.ts +2 -2
  736. package/dist/types/components/ozon-content/nodes/noot.node.d.ts +4 -4
  737. package/dist/types/components/ozon-content/nodes/opschrift.node.d.ts +2 -2
  738. package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec.interface.d.ts +8 -6
  739. package/dist/types/components/ozon-content/nodes/table.node/table-cell.d.ts +3 -3
  740. package/dist/types/components/ozon-content/nodes/table.node/table-colgroup.d.ts +1 -1
  741. package/dist/types/components/ozon-content/nodes/table.node/table-rows.d.ts +3 -3
  742. package/dist/types/components/ozon-content/nodes/table.node/table.node.d.ts +4 -4
  743. package/dist/types/components/ozon-content/nodes/text.node.d.ts +2 -2
  744. package/dist/types/components/ozon-content/nodes/verwijderde-tekst.node.d.ts +2 -2
  745. package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +6 -6
  746. package/dist/types/components/ozon-content/ozon-content-mapper.d.ts +8 -8
  747. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +8 -8
  748. package/dist/types/components/ozon-content/ozon-content-node-state.interface.d.ts +1 -1
  749. package/dist/types/components/ozon-content/ozon-content-node.interface.d.ts +4 -4
  750. package/dist/types/components/ozon-content/ozon-content.d.ts +24 -24
  751. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +9 -9
  752. package/dist/types/components/pagination/pagination.d.ts +32 -32
  753. package/dist/types/components/pagination/pagination.interfaces.d.ts +6 -6
  754. package/dist/types/components/progress-bar/progress-bar.d.ts +13 -13
  755. package/dist/types/components/progress-indicator/progress-indicator.d.ts +15 -15
  756. package/dist/types/components/responsive-element/responsive-element.d.ts +15 -15
  757. package/dist/types/components/responsive-element/responsive-element.interfaces.d.ts +2 -2
  758. package/dist/types/components/scrollable/scrollable.d.ts +18 -18
  759. package/dist/types/components/scrollable/scrollable.interfaces.d.ts +1 -1
  760. package/dist/types/components/selectable/selectable.d.ts +77 -77
  761. package/dist/types/components/selectable/selectable.interfaces.d.ts +2 -2
  762. package/dist/types/components/slide-toggle/slide-toggle.d.ts +29 -29
  763. package/dist/types/components/slide-toggle/slide-toggle.interfaces.d.ts +3 -3
  764. package/dist/types/components/table/table.d.ts +26 -26
  765. package/dist/types/components/toggletip/toggletip.d.ts +25 -25
  766. package/dist/types/components/tooltip/tooltip.d.ts +57 -57
  767. package/dist/types/components/tree-view/tree-item.d.ts +6 -6
  768. package/dist/types/components/tree-view/tree-view.d.ts +43 -43
  769. package/dist/types/components/tree-view/tree-view.interfaces.d.ts +28 -28
  770. package/dist/types/components/viewer-grid/components/document-panel.d.ts +5 -5
  771. package/dist/types/components/viewer-grid/components/filterpanel.d.ts +3 -3
  772. package/dist/types/components/viewer-grid/components/main-panel.d.ts +10 -10
  773. package/dist/types/components/viewer-grid/components/overlay.d.ts +2 -2
  774. package/dist/types/components/viewer-grid/components/sizing-buttons.d.ts +5 -5
  775. package/dist/types/components/viewer-grid/components/viewer-grid-filterpanel-buttons.d.ts +2 -2
  776. package/dist/types/components/viewer-grid/viewer-grid.d.ts +110 -110
  777. package/dist/types/components/viewer-grid/viewer-grid.interfaces.d.ts +11 -11
  778. package/dist/types/components.d.ts +8 -0
  779. package/dist/types/stencil-public-runtime.d.ts +8 -0
  780. package/package.json +9 -11
  781. package/dist/cjs/clsx-fd0bee58.js +0 -7
  782. package/dist/cjs/clsx-fd0bee58.js.map +0 -1
  783. package/dist/cjs/get-active-element-618f7b1f.js +0 -16
  784. package/dist/cjs/index-1b083a00.js.map +0 -1
  785. package/dist/cjs/index-2556c4c6.js.map +0 -1
  786. package/dist/dso-toolkit/p-09552584.entry.js +0 -2
  787. package/dist/dso-toolkit/p-09552584.entry.js.map +0 -1
  788. package/dist/dso-toolkit/p-11eb95a2.entry.js +0 -2
  789. package/dist/dso-toolkit/p-11eb95a2.entry.js.map +0 -1
  790. package/dist/dso-toolkit/p-159c0a88.entry.js +0 -2
  791. package/dist/dso-toolkit/p-159c0a88.entry.js.map +0 -1
  792. package/dist/dso-toolkit/p-15c3da8e.entry.js +0 -2
  793. package/dist/dso-toolkit/p-15c3da8e.entry.js.map +0 -1
  794. package/dist/dso-toolkit/p-1981592d.entry.js +0 -2
  795. package/dist/dso-toolkit/p-1981592d.entry.js.map +0 -1
  796. package/dist/dso-toolkit/p-1a85e2f8.entry.js +0 -2
  797. package/dist/dso-toolkit/p-1a85e2f8.entry.js.map +0 -1
  798. package/dist/dso-toolkit/p-1b8d34a6.entry.js.map +0 -1
  799. package/dist/dso-toolkit/p-21de21d6.entry.js +0 -2
  800. package/dist/dso-toolkit/p-21de21d6.entry.js.map +0 -1
  801. package/dist/dso-toolkit/p-302764ae.entry.js +0 -2
  802. package/dist/dso-toolkit/p-302764ae.entry.js.map +0 -1
  803. package/dist/dso-toolkit/p-31825ec2.entry.js +0 -2
  804. package/dist/dso-toolkit/p-31825ec2.entry.js.map +0 -1
  805. package/dist/dso-toolkit/p-36ddddf4.entry.js +0 -2
  806. package/dist/dso-toolkit/p-36ddddf4.entry.js.map +0 -1
  807. package/dist/dso-toolkit/p-4592810d.js +0 -3
  808. package/dist/dso-toolkit/p-4592810d.js.map +0 -1
  809. package/dist/dso-toolkit/p-46955cda.entry.js.map +0 -1
  810. package/dist/dso-toolkit/p-4e5a6107.entry.js +0 -2
  811. package/dist/dso-toolkit/p-4e5a6107.entry.js.map +0 -1
  812. package/dist/dso-toolkit/p-51f9702b.entry.js +0 -2
  813. package/dist/dso-toolkit/p-51f9702b.entry.js.map +0 -1
  814. package/dist/dso-toolkit/p-5def1d28.entry.js +0 -2
  815. package/dist/dso-toolkit/p-5def1d28.entry.js.map +0 -1
  816. package/dist/dso-toolkit/p-67461818.entry.js.map +0 -1
  817. package/dist/dso-toolkit/p-69231fe7.entry.js.map +0 -1
  818. package/dist/dso-toolkit/p-7a71cd3f.entry.js +0 -2
  819. package/dist/dso-toolkit/p-7a71cd3f.entry.js.map +0 -1
  820. package/dist/dso-toolkit/p-7bcce109.entry.js +0 -2
  821. package/dist/dso-toolkit/p-7bcce109.entry.js.map +0 -1
  822. package/dist/dso-toolkit/p-7cac2dd2.entry.js +0 -2
  823. package/dist/dso-toolkit/p-7cac2dd2.entry.js.map +0 -1
  824. package/dist/dso-toolkit/p-84be819d.entry.js +0 -2
  825. package/dist/dso-toolkit/p-84be819d.entry.js.map +0 -1
  826. package/dist/dso-toolkit/p-94f26620.js +0 -2
  827. package/dist/dso-toolkit/p-94f26620.js.map +0 -1
  828. package/dist/dso-toolkit/p-9bf33855.entry.js +0 -2
  829. package/dist/dso-toolkit/p-9bf33855.entry.js.map +0 -1
  830. package/dist/dso-toolkit/p-a435b9fd.entry.js +0 -2
  831. package/dist/dso-toolkit/p-a435b9fd.entry.js.map +0 -1
  832. package/dist/dso-toolkit/p-aa6d1e42.entry.js +0 -2
  833. package/dist/dso-toolkit/p-aa6d1e42.entry.js.map +0 -1
  834. package/dist/dso-toolkit/p-b6af439e.entry.js +0 -2
  835. package/dist/dso-toolkit/p-b6af439e.entry.js.map +0 -1
  836. package/dist/dso-toolkit/p-c1bab0f1.entry.js +0 -2
  837. package/dist/dso-toolkit/p-c1bab0f1.entry.js.map +0 -1
  838. package/dist/dso-toolkit/p-c87b4d11.js +0 -2
  839. package/dist/dso-toolkit/p-c87b4d11.js.map +0 -1
  840. package/dist/dso-toolkit/p-c9fbf040.entry.js.map +0 -1
  841. package/dist/dso-toolkit/p-cc771810.entry.js +0 -2
  842. package/dist/dso-toolkit/p-cc771810.entry.js.map +0 -1
  843. package/dist/dso-toolkit/p-d24073fe.entry.js +0 -2
  844. package/dist/dso-toolkit/p-d24073fe.entry.js.map +0 -1
  845. package/dist/dso-toolkit/p-d714aea4.entry.js +0 -2
  846. package/dist/dso-toolkit/p-d714aea4.entry.js.map +0 -1
  847. package/dist/dso-toolkit/p-dd21df39.entry.js.map +0 -1
  848. package/dist/dso-toolkit/p-df63a085.entry.js +0 -2
  849. package/dist/dso-toolkit/p-df63a085.entry.js.map +0 -1
  850. package/dist/dso-toolkit/p-e0f9a16f.entry.js +0 -2
  851. package/dist/dso-toolkit/p-e0f9a16f.entry.js.map +0 -1
  852. package/dist/dso-toolkit/p-e1cb1603.entry.js.map +0 -1
  853. package/dist/dso-toolkit/p-ea6ca8b2.entry.js.map +0 -1
  854. package/dist/dso-toolkit/p-eb7275e9.entry.js.map +0 -1
  855. package/dist/dso-toolkit/p-f15b9304.entry.js +0 -2
  856. package/dist/dso-toolkit/p-f15b9304.entry.js.map +0 -1
  857. package/dist/dso-toolkit/p-f3facab4.entry.js +0 -2
  858. package/dist/dso-toolkit/p-f3facab4.entry.js.map +0 -1
  859. package/dist/dso-toolkit/p-f6d1d215.entry.js +0 -2
  860. package/dist/dso-toolkit/p-f6d1d215.entry.js.map +0 -1
  861. package/dist/dso-toolkit/p-fd4b0b0b.entry.js +0 -2
  862. package/dist/dso-toolkit/p-fd4b0b0b.entry.js.map +0 -1
  863. package/dist/esm/clsx-93f1b68e.js +0 -5
  864. package/dist/esm/clsx-93f1b68e.js.map +0 -1
  865. package/dist/esm/create-identifier-479a4699.js +0 -17
  866. package/dist/esm/get-active-element-0e7dc01b.js +0 -14
  867. package/dist/esm/index-528d5213.js.map +0 -1
  868. package/dist/esm/index-aaea0a65.js.map +0 -1
  869. /package/dist/dso-toolkit/{p-86133aa5.js.map → p-1dbcaeef.js.map} +0 -0
  870. /package/dist/dso-toolkit/{p-fd7891ef.js.map → p-202d2cdf.js.map} +0 -0
  871. /package/dist/dso-toolkit/{p-17e4b846.js.map → p-2d694112.js.map} +0 -0
  872. /package/dist/dso-toolkit/{p-fbb226aa.js.map → p-808a98bc.js.map} +0 -0
  873. /package/dist/dso-toolkit/{p-c19cfe3f.js.map → p-97f788d4.js.map} +0 -0
  874. /package/dist/dso-toolkit/{p-6e9b961b.js.map → p-c8f6f8d9.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["alertCss","DsoAlertStyle0","Alert","render","status","statusMap","get","this","Error","h","key","class","clsx","role","roleAlert","undefined","icon","Map","annotationButtonCss","DsoAnnotationButtonStyle0","AnnotationButton","handleClick","e","dsoClick","emit","originalEvent","open","type","identifier","toString","onClick","badgeCss","DsoBadgeStyle0","Badge","imageOverlayCss","DsoImageOverlayStyle0","wijzigactieLabels","verwijder","voegtoe","Dimmer","active","src","alt","ref","click","children","ImageOverlay","titelSlot","bijschriftSlot","loadListener","event","target","HTMLImageElement","setZoomable","connectedCallback","host","querySelector","componentDidLoad","resizeObserver","ResizeObserver","debounce","imgElement","mutationObserver","MutationObserver","forceUpdate","_a","_b","disconnect","initZoomableImage","observe","attributes","subtree","attributeFilter","childList","disconnectedCallback","trap","deactivate","_c","complete","imageElement","width","naturalWidth","height","naturalHeight","zoomable","isWijzigactie","wijzigActie","editActionLabel","wijzigactie","button","element","buttonElement","Host","focus","wrapperElement","name","hidden","componentDidRender","createFocusTrap","escapeDeactivates","clickOutsideDeactivates","MouseEvent","composedPath","setReturnFocus","onDeactivate","activate","labelCss","DsoLabelStyle0","entries","forEach","isDsoLabelComponent","_truncateLabel","tagName","hasEllipses","el","scrollWidth","clientWidth","Label","watchRemovable","removable","startMutationObserver","stopMutationObserver","watchTruncate","truncate","startTruncate","stopTruncate","keyDownListener","textHover","textFocus","setTimeout","isTruncated","labelContent","syncLabelText","labelText","textContent","trim","characterData","force","unobserve","Fragment","compact","removeHover","removeFocus","tabindex","onMouseEnter","onMouseLeave","onFocus","onBlur","dsoRemoveClick","stateless","id","position","strategy","getNodeName","node","Element","localName","nodeName","includes","substring","indexOf","isNestedAl","path","some","n","OzonContentAlNode","constructor","mapNodeToJsx","inline","content","childNodes","getAttribute","className","OzonContentBronNode","OzonContentDocumentNode","INFINITY","symbolTag","reAsciiWord","reLatin","rsAstralRange","rsComboMarksRange","rsComboSymbolsRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsLowerMisc","rsUpperMisc","rsOptLowerContr","rsOptUpperContr","reOptMod","rsOptVar","rsOptJoin","join","rsSeq","rsEmoji","reApos","RegExp","reComboMark","reUnicodeWord","reHasUnicodeWord","deburredLetters","freeGlobal","global","Object","freeSelf","self","root","Function","arrayReduce","array","iteratee","accumulator","initAccum","index","length","asciiWords","string","match","basePropertyOf","object","deburrLetter","hasUnicodeWord","test","unicodeWords","objectProto","prototype","objectToString","Symbol","symbolProto","symbolToString","baseToString","value","isSymbol","call","result","createCompounder","callback","words","deburr","replace","isObjectLike","kebabCase","word","toLowerCase","pattern","guard","lodash_kebabcase","OzonContentExtRefNode","href","rel","OzonContentFallbackNode","Bijschrift","bijschrift","bron","inhoud","OzonContentFiguurNode","setImageDimensions","schaal","onImageLoad","Array","from","titel","find","illustratieNode","bijschriftNode","illustratie","naam","breedte","hoogte","uitlijning","locatie","slot","_f","_e","_d","onLoad","Number","OzonContentInhoudNode","richContent","OzonContentInlineTekstAfbeeldingNode","OzonContentInlineNodes","Tag","OzonContentIntIoRefNode","emitAnchorClick","intRefOnClick","preventDefault","currentTarget","HTMLAnchorElement","documentComponent","OzonContentIntRefNode","OzonContentLijstNode","aanhef","sluiting","listItems","filter","map","item","itemNodes","liNummer","OzonContentNieuweTekstNode","OzonContentNootNode","handles","identify","state","openNoteId","setState","noteId","console","error","noteControlsId","nootNummer","descriptive","querySelectorAll","OzonContentOpschriftNode","mapColspecs","count","nodeList","elements","totalWidth","getTotalWidth","columns","colNumber","colsep","number","parseInt","rowsep","getWidth","reduce","colWidth","isNaN","Math","round","Colgroup","colspecs","colspec","style","getColspecStartColsep","nameStart","colspecStart","c","getColspecStartRowsep","getData","cell","row","parentElement","tgroup","table","moreRows","nameEnd","getColspan","colspecEnd","colspan","Cell","context","rowSpan","colSpan","Rows","rows","mapData","colAttribute","columnCount","caption","headRows","bodyRows","frame","OzonContentTableNode","uuidv4","assign","OzonContentTextNode","mark","emitMarkItemHighlight","highlight","text","OzonContentVerwijderdeTekstNode","Mapper","mappers","skip","t","m","push","fallbackNode","findMapper","isArray","NodeList","mapper","identity","s","transform","input","document","inputToXmlDocument","message","getRootNode","XMLDocument","domParser","DOMParser","parseFromString","implementation","createDocument","ozonContentCss","DsoOzonContentStyle0","OzonContent","handleMarkItemHighlight","elementRef","dsoOzonContentMarkItemHighlight","contentWatcher","dsoAnchorClick","transformed","tableCss","DsoTableStyle0","Table","labelledbyId","v4","startResponsiveBehavior","componentWillLoad","setResponsiveTable","setFocusTrap","modalActive","placeholderHeight","focusTrapElement","isResponsive","noModal","display","openModal","closeModal","clientHeight","tabbableOptions","getShadowRoot","dsoTable","tableElement","HTMLTableElement","floor","getBoundingClientRect","contentRect"],"sources":["src/components/alert/alert.scss?tag=dso-alert&encapsulation=shadow","src/components/alert/alert.tsx","src/components/annotation-button/annotation-button.scss?tag=dso-annotation-button","src/components/annotation-button/annotation-button.tsx","src/components/badge/badge.scss?tag=dso-badge&encapsulation=shadow","src/components/badge/badge.tsx","src/components/image-overlay/image-overlay.scss?tag=dso-image-overlay&encapsulation=shadow","src/components/image-overlay/image-overlay.tsx","src/components/label/label.scss?tag=dso-label&encapsulation=shadow","src/components/label/label.tsx","src/components/ozon-content/get-node-name.function.ts","src/components/ozon-content/nodes/al.node.tsx","src/components/ozon-content/nodes/bron.node.tsx","src/components/ozon-content/nodes/document.node.tsx","../../node_modules/lodash.kebabcase/index.js","src/components/ozon-content/nodes/ext-ref.node.tsx","src/components/ozon-content/nodes/fallback.node.tsx","src/components/ozon-content/nodes/figuur.node.tsx","src/components/ozon-content/nodes/inhoud.node.tsx","src/components/ozon-content/nodes/inline-tekst-afbeelding.node.tsx","src/components/ozon-content/nodes/inline.nodes.tsx","src/components/ozon-content/nodes/int-io-ref.node.tsx","src/components/ozon-content/nodes/int-ref.node.tsx","src/components/ozon-content/nodes/lijst.node.tsx","src/components/ozon-content/nodes/nieuwe-tekst.node.tsx","src/components/ozon-content/nodes/noot.node.tsx","src/components/ozon-content/nodes/opschrift.node.tsx","src/components/ozon-content/nodes/table.node/colspec/colspec-mapper.ts","src/components/ozon-content/nodes/table.node/table-colgroup.tsx","src/components/ozon-content/nodes/table.node/table-cell.tsx","src/components/ozon-content/nodes/table.node/table-rows.tsx","src/components/ozon-content/nodes/table.node/table.node.tsx","src/components/ozon-content/nodes/text.node.tsx","src/components/ozon-content/nodes/verwijderde-tekst.node.tsx","src/components/ozon-content/ozon-content-mapper.tsx","src/components/ozon-content/ozon-content.scss?tag=dso-ozon-content&encapsulation=shadow","src/components/ozon-content/ozon-content.tsx","src/components/table/table.scss?tag=dso-table&encapsulation=shadow","src/components/table/table.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/alert\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host(:not(:first-child)) {\r\n margin-top: units.$u3;\r\n}\r\n\r\n:host([status=\"success\"]) {\r\n @include alert.status-success();\r\n}\r\n\r\n:host([status=\"error\"]) {\r\n @include alert.status-error();\r\n}\r\n\r\n:host([status=\"warning\"]) {\r\n @include alert.status-warning();\r\n}\r\n\r\n:host([status=\"info\"]) {\r\n @include alert.status-info();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.alert {\r\n @include alert.root();\r\n\r\n dso-icon {\r\n @include alert.icon-position();\r\n\r\n height: units.$u4;\r\n width: units.$u4;\r\n }\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-alert\",\r\n styleUrl: \"alert.scss\",\r\n shadow: true,\r\n})\r\nexport class Alert {\r\n /**\r\n * Set status of alert\r\n */\r\n @Prop({ reflect: true })\r\n status!: \"success\" | \"info\" | \"warning\" | \"error\";\r\n\r\n /**\r\n * Whether or not to show the role attribute with value \"alert\". To control the tooltip add the `role-alert` attribute.\r\n */\r\n @Prop()\r\n roleAlert?: boolean;\r\n\r\n private static statusMap = new Map<string, string>([\r\n [\"success\", \"Gelukt\"],\r\n [\"info\", \"Opmerking\"],\r\n [\"warning\", \"Waarschuwing\"],\r\n [\"error\", \"Fout\"],\r\n ]);\r\n\r\n render() {\r\n const status = Alert.statusMap.get(this.status);\r\n if (!status) {\r\n throw new Error(`Invalid status ${this.status}`);\r\n }\r\n\r\n return (\r\n <div class={clsx(\"alert\", `alert-${this.status}`)} role={this.roleAlert ? \"alert\" : undefined}>\r\n <dso-icon icon={\"status-\" + this.status}></dso-icon>\r\n <span class=\"sr-only\">{status}:</span>\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/components/button/button\";\r\n\r\ndso-annotation-button {\r\n display: block;\r\n}\r\n","import { h, Component, ComponentInterface, Event, Prop, EventEmitter } from \"@stencil/core\";\r\n\r\nexport interface AnnotationButtonClickEvent {\r\n originalEvent: Event;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-annotation-button\",\r\n styleUrl: \"annotation-button.scss\",\r\n // No shadowdom for a11y reasons (aria-controls pointing to element inside another component)\r\n})\r\nexport class AnnotationButton implements ComponentInterface {\r\n /**\r\n * To link the Annotation Button with `aria-controls` to a different element, most likely an Annotation Output.\r\n */\r\n @Prop()\r\n identifier!: string | undefined;\r\n\r\n /**\r\n * Set to true when the annotation is open.\r\n */\r\n @Prop()\r\n open = false;\r\n\r\n /**\r\n * Emitted when user activates the button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoClick!: EventEmitter<AnnotationButtonClickEvent>;\r\n\r\n private handleClick = (e: MouseEvent) => {\r\n this.dsoClick.emit({ originalEvent: e, open: !this.open });\r\n };\r\n\r\n render() {\r\n return (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n aria-controls={this.identifier}\r\n aria-expanded={this.open.toString()}\r\n onClick={this.handleClick}\r\n >\r\n <dso-icon icon=\"label\"></dso-icon>\r\n <span class=\"sr-only\">Toelichting bekijken</span>\r\n </button>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/badge\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-badge {\r\n @include badge.root();\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-badge\",\r\n styleUrl: \"badge.scss\",\r\n shadow: true,\r\n})\r\nexport class Badge {\r\n /**\r\n * The status of the Badge.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\" | \"outline\" | \"attention\";\r\n\r\n render() {\r\n return (\r\n <span class={clsx(\"dso-badge\", { [`badge-${this.status}`]: this.status })}>\r\n <slot></slot>\r\n </span>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/insert\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n\r\n:host {\r\n display: inline-block;\r\n position: relative;\r\n}\r\n\r\n:host(:hover) .open,\r\n.open:focus {\r\n opacity: 1;\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.open {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n\r\n border: 0;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n min-width: auto;\r\n padding: units.$u1;\r\n opacity: 0;\r\n position: absolute;\r\n right: units.$u2;\r\n top: units.$u2;\r\n}\r\n\r\n.dimmer {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: zindex.$image-overlay - 1;\r\n display: flex;\r\n padding: units.$u4;\r\n background-color: fade-out(colors.$wit, 0.2);\r\n justify-content: center;\r\n}\r\n\r\n.wrapper {\r\n align-self: center;\r\n box-shadow: 0 units.$u1 units.$u3 0 rgba(25, 25, 25, 0.4);\r\n line-height: 0;\r\n outline: 4px solid colors.$wit;\r\n position: relative;\r\n z-index: zindex.$image-overlay;\r\n\r\n .title {\r\n background-color: colors.$wit;\r\n font-weight: 700;\r\n line-height: initial;\r\n padding: units.$u1;\r\n position: absolute;\r\n }\r\n\r\n img {\r\n width: auto;\r\n height: auto;\r\n max-width: 100%;\r\n max-height: calc(100vh - units.$u8);\r\n }\r\n\r\n .figuur-bijschrift:not([hidden]) {\r\n display: block;\r\n font-size: 0.75rem;\r\n font-style: italic;\r\n padding-bottom: units.$u1 * 1.5;\r\n padding-top: units.$u2;\r\n }\r\n}\r\n\r\n.close {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n\r\n border: 0;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n min-width: auto;\r\n padding: units.$u1;\r\n position: absolute;\r\n top: units.$u2;\r\n right: units.$u2;\r\n}\r\n\r\nins.editaction-add {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include insert.element();\r\n @include insert.root();\r\n\r\n .wrapper {\r\n outline: none;\r\n padding: units.$u1;\r\n @include insert.root();\r\n\r\n .editaction-label {\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\r\n inset-block-start: units.$u6;\r\n }\r\n }\r\n\r\n .open {\r\n inset-block-start: units.$u6;\r\n }\r\n}\r\n\r\ndel.editaction-remove {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n .wrapper {\r\n outline: none;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n .title {\r\n text-decoration: line-through;\r\n }\r\n\r\n .editaction-label {\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\r\n inset-block-start: units.$u6;\r\n }\r\n }\r\n\r\n .open {\r\n inset-block-start: units.$u6;\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n margin-block-end: units.$u1;\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n forceUpdate,\r\n FunctionalComponent,\r\n h,\r\n Host,\r\n Listen,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\n\r\ntype ImageOverlayWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nconst wijzigactieLabels: { [wijzigactie in ImageOverlayWijzigactie]: string } = {\r\n verwijder: \"Verwijderd\",\r\n voegtoe: \"Toegevoegd\",\r\n};\r\n\r\nconst Dimmer: FunctionalComponent<{\r\n active: boolean;\r\n src: string | undefined;\r\n alt: string | undefined;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n click: () => void;\r\n}> = ({ active, src, alt, ref, click }, children) =>\r\n active &&\r\n src &&\r\n alt && (\r\n <div class=\"dimmer\">\r\n <div class=\"wrapper\" ref={ref}>\r\n {children[2]}\r\n {children[0]}\r\n <img src={src} alt={alt} />\r\n <button type=\"button\" class=\"close\" onClick={click}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span>Sluiten</span>\r\n </button>\r\n {children[1]}\r\n </div>\r\n </div>\r\n );\r\n\r\n@Component({\r\n tag: \"dso-image-overlay\",\r\n styleUrl: \"./image-overlay.scss\",\r\n shadow: true,\r\n})\r\nexport class ImageOverlay implements ComponentInterface {\r\n @Element()\r\n host!: HTMLDsoImageOverlayElement;\r\n\r\n /**\r\n * The wijzigactie.\r\n */\r\n @Prop()\r\n wijzigactie?: string;\r\n\r\n @State()\r\n active = false;\r\n\r\n @State()\r\n zoomable = false;\r\n\r\n private buttonElement: HTMLButtonElement | undefined;\r\n\r\n private wrapperElement: HTMLDivElement | undefined;\r\n\r\n private trap: FocusTrap | undefined;\r\n\r\n private titelSlot: HTMLElement | null = null;\r\n\r\n private bijschriftSlot: HTMLElement | null = null;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private resizeObserver?: ResizeObserver;\r\n\r\n @Listen(\"load\", { capture: true })\r\n loadListener(event: Event) {\r\n if (event.target instanceof HTMLImageElement) {\r\n this.setZoomable(event.target);\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n this.titelSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='titel']\");\r\n\r\n this.bijschriftSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='bijschrift']\");\r\n }\r\n\r\n componentDidLoad() {\r\n this.resizeObserver = new ResizeObserver(\r\n debounce(() => {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (imgElement instanceof HTMLImageElement) {\r\n this.setZoomable(imgElement);\r\n }\r\n }, 200),\r\n );\r\n\r\n this.mutationObserver = new MutationObserver((e) => {\r\n forceUpdate(this.host);\r\n\r\n if (e[0]?.type === \"childList\") {\r\n this.resizeObserver?.disconnect();\r\n // <img> is gone or a new element.\r\n this.initZoomableImage();\r\n }\r\n });\r\n\r\n this.mutationObserver.observe(this.host, {\r\n attributes: true,\r\n subtree: true,\r\n attributeFilter: [\"src\", \"alt\"],\r\n childList: true,\r\n });\r\n\r\n this.initZoomableImage();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.trap?.deactivate();\r\n this.mutationObserver?.disconnect();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n private initZoomableImage(): void {\r\n const imgElement = this.host.querySelector(\"img\");\r\n\r\n if (!(imgElement instanceof HTMLImageElement)) {\r\n return;\r\n }\r\n\r\n // Due to timing issues where the image is loaded before we listen to load events we double check if the image is already complete.\r\n if (imgElement.complete) {\r\n this.setZoomable(imgElement);\r\n }\r\n\r\n this.resizeObserver?.observe(imgElement);\r\n }\r\n\r\n private setZoomable(imageElement: HTMLImageElement): void {\r\n const { width, naturalWidth, height, naturalHeight } = imageElement;\r\n\r\n this.zoomable = width < naturalWidth || height < naturalHeight;\r\n }\r\n\r\n private isWijzigactie(wijzigActie: string): wijzigActie is ImageOverlayWijzigactie {\r\n return wijzigActie === \"voegtoe\" || wijzigActie === \"verwijder\";\r\n }\r\n\r\n render() {\r\n const { src, alt } = this.host.querySelector(\"img\") ?? {};\r\n\r\n const editActionLabel: string | undefined =\r\n (this.wijzigactie && this.isWijzigactie(this.wijzigactie) && wijzigactieLabels[this.wijzigactie]) || undefined;\r\n\r\n const button = this.zoomable && (\r\n <button\r\n type=\"button\"\r\n class=\"open\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => (this.active = true)}\r\n >\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n <span>Afbeelding vergroot weergeven</span>\r\n </button>\r\n );\r\n\r\n if (this.wijzigactie === \"verwijder\") {\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <del class=\"editaction-remove\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </del>\r\n </Host>\r\n );\r\n }\r\n\r\n if (this.wijzigactie === \"voegtoe\") {\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <ins class=\"editaction-add\">\r\n <div class=\"editaction-label\">{editActionLabel}:</div>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n {<div class=\"editaction-label\">{editActionLabel}:</div>}\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </ins>\r\n </Host>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={() => this.buttonElement?.focus()}>\r\n <Dimmer\r\n active={this.active}\r\n src={src}\r\n alt={alt}\r\n ref={(element) => (this.wrapperElement = element)}\r\n click={() => (this.active = false)}\r\n >\r\n {this.titelSlot && (\r\n <div class=\"title\">\r\n <slot name=\"titel\" />\r\n </div>\r\n )}\r\n <div class=\"figuur-bijschrift\" hidden={!this.bijschriftSlot}>\r\n <slot name=\"bijschrift\" />\r\n </div>\r\n </Dimmer>\r\n <slot />\r\n {button}\r\n </Host>\r\n );\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active && this.wrapperElement && !this.trap) {\r\n this.trap = createFocusTrap(this.wrapperElement, {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.wrapperElement) {\r\n this.active = false;\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.buttonElement ?? false,\r\n onDeactivate: () => (this.active = false),\r\n }).activate();\r\n } else if (!this.active && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/label\";\r\n\r\n:host {\r\n display: inline-block;\r\n max-width: 100%;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-label {\r\n @include label.root();\r\n\r\n &.dso-hover {\r\n .dso-label-content {\r\n text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n.dso-truncate.dso-label-content {\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n vertical-align: bottom;\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n}\r\n\r\n:host([removable]) {\r\n .dso-truncate.dso-label-content {\r\n max-width: calc(100% - (units.$u3 + 4px));\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce((entries: ResizeObserverEntry[]) => {\r\n entries.forEach(({ target }) => {\r\n if (isDsoLabelComponent(target)) {\r\n target._truncateLabel();\r\n }\r\n });\r\n }, 150),\r\n);\r\n\r\nfunction isDsoLabelComponent(element: Element): element is HTMLDsoLabelElement {\r\n return element.tagName === \"DSO-LABEL\";\r\n}\r\n\r\nfunction hasEllipses(el: HTMLElement): boolean {\r\n return el.scrollWidth > el.clientWidth;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-label\",\r\n styleUrl: \"label.scss\",\r\n shadow: true,\r\n})\r\nexport class Label implements ComponentInterface {\r\n private labelContent: HTMLSpanElement | undefined;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n private host!: HTMLDsoLabelElement;\r\n\r\n /**\r\n * For compact Label\r\n */\r\n @Prop()\r\n compact?: boolean;\r\n\r\n /**\r\n * Shows a button that can be used to remove the Label.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * The status of this Label.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"error\" | \"bright\" | \"attention\";\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<MouseEvent>;\r\n\r\n @State()\r\n removeHover?: boolean;\r\n\r\n @State()\r\n removeFocus?: boolean;\r\n\r\n /**\r\n * Whether the Label is allowed to truncate the contents if it does not fit the container element.\r\n */\r\n @Prop()\r\n truncate?: boolean;\r\n\r\n @State()\r\n textHover?: boolean;\r\n\r\n @State()\r\n textFocus?: boolean;\r\n\r\n @State()\r\n isTruncated = false;\r\n\r\n @State()\r\n labelText = \"\";\r\n\r\n @Watch(\"removable\")\r\n watchRemovable(removable: boolean) {\r\n if (removable) {\r\n this.startMutationObserver();\r\n } else {\r\n this.stopMutationObserver();\r\n }\r\n }\r\n\r\n @Watch(\"truncate\")\r\n watchTruncate(truncate: boolean) {\r\n if (truncate) {\r\n this.startTruncate();\r\n } else {\r\n this.stopTruncate();\r\n }\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.key === \"Escape\") {\r\n this.textHover = false;\r\n this.textFocus = false;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _truncateLabel() {\r\n setTimeout(() => {\r\n this.isTruncated = !!this.labelContent && hasEllipses(this.labelContent);\r\n });\r\n }\r\n\r\n private syncLabelText() {\r\n this.labelText = this.host.textContent?.trim() ?? \"\";\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.truncate) {\r\n this.startTruncate();\r\n }\r\n\r\n if (this.removable) {\r\n this.startMutationObserver();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopTruncate();\r\n\r\n this.stopMutationObserver(true);\r\n }\r\n\r\n /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */\r\n private startMutationObserver(): void {\r\n this.mutationObserver = new MutationObserver(() => this.syncLabelText());\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n this.syncLabelText();\r\n }\r\n\r\n private stopMutationObserver(force = false): void {\r\n if (force || !(this.truncate && this.removable)) {\r\n this.mutationObserver?.disconnect();\r\n\r\n delete this.mutationObserver;\r\n }\r\n }\r\n\r\n private startTruncate(): void {\r\n resizeObserver.observe(this.host);\r\n this.startMutationObserver();\r\n this._truncateLabel();\r\n }\r\n\r\n private stopTruncate(): void {\r\n resizeObserver.unobserve(this.host);\r\n this.stopMutationObserver();\r\n this.isTruncated = false;\r\n }\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <span\r\n aria-describedby=\"toggle-anchor\"\r\n class={clsx(\"dso-label\", {\r\n [`dso-label-${this.status}`]: this.status,\r\n \"dso-compact\": this.compact && !this.removable,\r\n \"dso-hover\": this.removeHover || this.removeFocus,\r\n })}\r\n >\r\n <slot name=\"symbol\"></slot>\r\n <span\r\n class={clsx(\"dso-label-content\", {\r\n \"dso-truncate\": !!this.truncate,\r\n })}\r\n ref={(element) => (this.labelContent = element)}\r\n tabindex={this.truncate && this.isTruncated ? 0 : undefined}\r\n onMouseEnter={() => (this.textHover = true)}\r\n onMouseLeave={() => (this.textHover = false)}\r\n onFocus={() => (this.textFocus = true)}\r\n onBlur={() => (this.textFocus = false)}\r\n >\r\n <slot></slot>\r\n </span>\r\n {this.removable && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoRemoveClick.emit(e)}\r\n onMouseEnter={() => (this.removeHover = true)}\r\n onMouseLeave={() => (this.removeHover = false)}\r\n onFocus={() => (this.removeFocus = true)}\r\n onBlur={() => (this.removeFocus = false)}\r\n >\r\n <span class=\"sr-only\">Verwijder: {this.labelText}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n )}\r\n </span>\r\n {this.isTruncated && (\r\n <dso-tooltip\r\n stateless\r\n id=\"toggle-anchor\"\r\n active={this.textHover || this.textFocus}\r\n position=\"top\"\r\n strategy=\"absolute\"\r\n >\r\n {this.labelText}\r\n </dso-tooltip>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","export function getNodeName(node: Node): string {\r\n if (node instanceof Element) {\r\n return node.localName;\r\n }\r\n\r\n if (node.nodeName.includes(\":\")) {\r\n return node.nodeName.substring(node.nodeName.indexOf(\":\") + 1);\r\n }\r\n\r\n return node.nodeName;\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\nimport clsx from \"clsx\";\r\n\r\nfunction isNestedAl(path: Node[]) {\r\n return path.some((n) => {\r\n const nodeName = getNodeName(n);\r\n\r\n return nodeName === \"Al\" || nodeName === \"Opschrift\";\r\n });\r\n}\r\n\r\nexport class OzonContentAlNode implements OzonContentNode {\r\n name = \"Al\";\r\n\r\n render(node: Element, { mapNodeToJsx, path, inline }: OzonContentNodeContext) {\r\n let content = mapNodeToJsx(node.childNodes);\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n const className =\r\n clsx({ \"editaction-add\": wijzigactie === \"voegtoe\", \"editaction-remove\": wijzigactie === \"verwijder\" }) ||\r\n undefined;\r\n\r\n if (inline || isNestedAl(path)) {\r\n content = (\r\n <span role=\"paragraph\" class={className}>\r\n {content}\r\n </span>\r\n );\r\n } else {\r\n content = <p class={className}>{content}</p>;\r\n }\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n content = <ins>{content}</ins>;\r\n } else if (wijzigactie === \"verwijder\") {\r\n content = <del>{content}</del>;\r\n }\r\n\r\n return content;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentBronNode implements OzonContentNode {\r\n name = \"Bron\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class=\"dso-ozon-bron\">{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentDocumentNode implements OzonContentNode {\r\n name = \"#document\";\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <Fragment>{mapNodeToJsx(node.childNodes)}</Fragment>;\r\n }\r\n}\r\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20f0',\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n 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',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsLowerMisc = '(?:' + rsLower + '|' + rsMisc + ')',\n rsUpperMisc = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptLowerContr = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptUpperContr = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptLowerContr + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsUpperMisc + '+' + rsOptUpperContr + '(?=' + [rsBreak, rsUpper + rsLowerMisc, '$'].join('|') + ')',\n rsUpper + '?' + rsLowerMisc + '+' + rsOptLowerContr,\n rsUpper + '+' + rsOptUpperContr,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 'ss'\n};\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = kebabCase;\n","import { h } from \"@stencil/core\";\r\nimport kebabCase from \"lodash.kebabcase\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentExtRefNode implements OzonContentNode {\r\n name = [\"ExtRef\", \"ExtIoRef\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const href = node.tagName === \"ExtIoRef\" ? node.getAttribute(\"href\") : node.getAttribute(\"ref\");\r\n const className = kebabCase(node.tagName);\r\n\r\n return (\r\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={href ?? undefined} class={className}>\r\n {mapNodeToJsx(node.childNodes)} <span class=\"sr-only\">(Opent andere website in nieuw tabblad)</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentFallbackNode implements OzonContentNode {\r\n // This name does not match any elements\r\n name = [\"<fallback>\"];\r\n\r\n render(node: Node, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <span class={`fallback od-${getNodeName(node)}`}>{mapNodeToJsx(node.childNodes)}</span>;\r\n }\r\n}\r\n","import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\ntype BijschriftProps = {\r\n bijschrift?: IBijschrift;\r\n bron?: ChildNode;\r\n mapNodeToJsx: (node: Node | NodeList | Node[]) => JSX.Element;\r\n};\r\n\r\ninterface IBijschrift {\r\n inhoud: NodeListOf<ChildNode>;\r\n locatie: string;\r\n}\r\n\r\nconst Bijschrift = ({ bijschrift, bron, mapNodeToJsx }: BijschriftProps): HTMLSpanElement => {\r\n return (\r\n <span class=\"figuur-bijschrift\">\r\n {bijschrift && bijschrift.inhoud && mapNodeToJsx(bijschrift.inhoud)}\r\n {bron && (\r\n <Fragment>\r\n {`${bijschrift ? \" \" : \"\"}(bron: `}\r\n {mapNodeToJsx(bron)})\r\n </Fragment>\r\n )}\r\n </span>\r\n );\r\n};\r\n\r\nexport class OzonContentFiguurNode implements OzonContentNode {\r\n name = [\"Figuur\"];\r\n\r\n setImageDimensions(imageElement: HTMLImageElement, schaal: number) {\r\n const { naturalHeight, naturalWidth } = imageElement;\r\n\r\n imageElement.height = naturalHeight * (schaal / 100);\r\n imageElement.width = naturalWidth * (schaal / 100);\r\n }\r\n\r\n onImageLoad(event: Event, schaal?: number) {\r\n if (event.target instanceof HTMLImageElement && schaal) {\r\n this.setImageDimensions(event.target, schaal);\r\n }\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const titel = childNodes.find((n) => getNodeName(n) === \"Titel\")?.textContent;\r\n const bron = childNodes.find((n) => getNodeName(n) === \"Bron\");\r\n\r\n const illustratieNode = childNodes.find((n) => getNodeName(n) === \"Illustratie\");\r\n const bijschriftNode = childNodes.find((n) => getNodeName(n) === \"Bijschrift\");\r\n\r\n const wijzigactie = node.getAttribute(\"wijzigactie\") || undefined;\r\n\r\n if (illustratieNode instanceof Element) {\r\n const illustratie = {\r\n naam: illustratieNode.getAttribute(\"naam\"),\r\n breedte: illustratieNode.getAttribute(\"breedte\"),\r\n hoogte: illustratieNode.getAttribute(\"hoogte\"),\r\n uitlijning: illustratieNode.getAttribute(\"uitlijning\"),\r\n alt: illustratieNode.getAttribute(\"alt\"),\r\n schaal: illustratieNode.getAttribute(\"schaal\"),\r\n };\r\n\r\n const bijschrift =\r\n bijschriftNode instanceof Element\r\n ? {\r\n inhoud: bijschriftNode.childNodes,\r\n locatie: bijschriftNode.getAttribute(\"locatie\") ?? \"onder\",\r\n }\r\n : undefined;\r\n\r\n return (\r\n <div class={`dso-ozon-figuur ${bijschrift ? `bijschrift-${bijschrift.locatie}` : \"onder\"}`}>\r\n {titel && <span class=\"figuur-titel\">{titel}</span>}\r\n {bijschrift?.locatie === \"boven\" && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n <dso-image-overlay wijzigactie={wijzigactie}>\r\n {titel && (\r\n <div slot=\"titel\">\r\n <span>{titel}</span>\r\n </div>\r\n )}\r\n <img\r\n src={illustratie.naam ?? undefined}\r\n alt={illustratie.alt ?? titel ?? illustratie.naam ?? undefined}\r\n onLoad={(event: Event) => this.onImageLoad(event, Number(illustratie.schaal))}\r\n />\r\n {(bijschrift || bron) && (\r\n <div slot=\"bijschrift\">\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n </div>\r\n )}\r\n </dso-image-overlay>\r\n {(bijschrift?.locatie === \"onder\" || (!bijschrift && bron)) && (\r\n <Bijschrift bijschrift={bijschrift} bron={bron} mapNodeToJsx={mapNodeToJsx} />\r\n )}\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInhoudNode implements OzonContentNode {\r\n name = [\"Inhoud\", \"ContainerBlocksType\", \"BlockMixedcontentMetMaximaleInlinesMarkersPopupsType\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n const richContent = <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\r\n\r\n if (wijzigactie === \"verwijder\") {\r\n return <del class=\"editaction-remove\">{richContent}</del>;\r\n }\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n return <ins class=\"editaction-add\">{richContent}</ins>;\r\n }\r\n\r\n return richContent;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineTekstAfbeeldingNode implements OzonContentNode {\r\n name = [\"InlineTekstAfbeelding\", \"Illustratie\"];\r\n\r\n render(node: Element) {\r\n return (\r\n <img\r\n src={node.getAttribute(\"naam\") ?? undefined}\r\n alt={node.getAttribute(\"naam\") ?? undefined}\r\n height={node.getAttribute(\"hoogte\") ?? undefined}\r\n width={node.getAttribute(\"breedte\") ?? undefined}\r\n />\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentInlineNodes implements OzonContentNode {\r\n name = [\"sub\", \"sup\", \"strong\", \"b\", \"u\", \"i\", \"br\"];\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n if (node.localName === \"br\") {\r\n return <br />;\r\n }\r\n\r\n const Tag = node.localName;\r\n\r\n return <Tag>{mapNodeToJsx(node.childNodes)}</Tag>;\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntIoRefNode implements OzonContentNode {\r\n name = \"IntIoRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentIntRefNode implements OzonContentNode {\r\n name = \"IntRef\";\r\n\r\n render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext) {\r\n const ref = node.getAttribute(\"ref\");\r\n if (!ref) {\r\n return mapNodeToJsx(node.childNodes);\r\n }\r\n\r\n const intRefOnClick = (event: MouseEvent) => {\r\n event.preventDefault();\r\n\r\n const target = event.currentTarget;\r\n if (!(target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n const { href } = target;\r\n\r\n emitAnchorClick({\r\n node: this.name,\r\n href,\r\n documentComponent: ref,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n return (\r\n <a href={`#${ref}`} onClick={intRefOnClick}>\r\n {mapNodeToJsx(node.childNodes)}\r\n </a>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentLijstNode implements OzonContentNode {\r\n name = \"Lijst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n const childNodes = Array.from(node.childNodes);\r\n const aanhef = childNodes.find((n) => getNodeName(n) === \"Lijstaanhef\");\r\n const sluiting = childNodes.find((n) => getNodeName(n) === \"Lijstsluiting\");\r\n const listItems = childNodes.filter((n) => getNodeName(n) === \"Li\");\r\n\r\n return (\r\n <div class=\"dso-ozon-lijst od-Lijst\">\r\n {aanhef && mapNodeToJsx(aanhef)}\r\n <ul class={node.getAttribute(\"type\") ?? \"\"}>\r\n {listItems.map((item) => {\r\n const itemNodes = Array.from(item.childNodes);\r\n const liNummer = itemNodes.find((n) => getNodeName(n) === \"LiNummer\")?.childNodes;\r\n\r\n return (\r\n <li class=\"od-Li\">\r\n {liNummer && <span class=\"od-LiNummer\">{mapNodeToJsx(liNummer)}</span>}\r\n {mapNodeToJsx(itemNodes.filter((n) => getNodeName(n) !== \"LiNummer\"))}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n {sluiting && mapNodeToJsx(sluiting)}\r\n </div>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNieuweTekstNode implements OzonContentNode {\r\n name = \"NieuweTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <ins class=\"new-text\">{mapNodeToJsx(node.childNodes)}</ins>;\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentNootNode implements OzonContentNode {\r\n name = \"Noot\";\r\n\r\n handles = [\"NootNummer\"];\r\n\r\n identify(): string | undefined {\r\n return \"Noot\";\r\n }\r\n\r\n render(node: Element, { mapNodeToJsx, state: openNoteId, setState }: OzonContentNodeContext<string | undefined>) {\r\n const noteId = node.getAttribute(\"id\");\r\n if (!noteId) {\r\n console.error(\"Noot node without id\", node);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n const noteControlsId = `dso-ozon-note-${noteId}`;\r\n\r\n const childNodes = Array.from(node.childNodes);\r\n const nootNummer = childNodes.find((n) => getNodeName(n) === \"NootNummer\")?.textContent ?? noteId;\r\n\r\n return (\r\n <>\r\n <sup>\r\n <button\r\n type=\"button\"\r\n class=\"toggle-note\"\r\n aria-describedby={noteControlsId}\r\n onClick={() => setState?.(openNoteId === noteId ? undefined : noteId)}\r\n onBlur={() => setState?.(undefined)}\r\n aria-expanded={openNoteId === noteId ? \"true\" : \"false\"}\r\n >\r\n {nootNummer}\r\n </button>\r\n </sup>\r\n <dso-tooltip active={openNoteId === noteId} id={noteControlsId} stateless descriptive>\r\n <span role=\"section\">{mapNodeToJsx(Array.from(node.querySelectorAll(\":scope > Al\")))}</span>\r\n </dso-tooltip>\r\n </>\r\n );\r\n }\r\n}\r\n","import { h, Fragment } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentOpschriftNode implements OzonContentNode {\r\n name = \"Opschrift\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n let content = mapNodeToJsx(node.childNodes);\r\n const wijzigactie = node.getAttribute(\"wijzigactie\");\r\n\r\n if (wijzigactie === \"voegtoe\") {\r\n content = <ins class=\"new-text\">{content}</ins>;\r\n } else if (wijzigactie === \"verwijder\") {\r\n content = <del class=\"removed-text\">{content}</del>;\r\n }\r\n\r\n return <>{content}</>;\r\n }\r\n}\r\n","import { Colspec, Colspecs } from \"./colspec.interface\";\r\n\r\nexport function mapColspecs(count: number, nodeList: NodeListOf<Element>): Colspecs {\r\n const elements = Array.from(nodeList);\r\n const totalWidth = getTotalWidth(elements);\r\n\r\n return {\r\n totalWidth,\r\n count,\r\n columns: elements.map((element, index): Colspec => {\r\n const colNumber = element.getAttribute(\"colnum\");\r\n\r\n return {\r\n colsep: element.getAttribute(\"colsep\"),\r\n name: element.getAttribute(\"colname\") ?? \"\",\r\n number: colNumber ? parseInt(colNumber, 10) : index + 1,\r\n rowsep: element.getAttribute(\"rowsep\"),\r\n width: getWidth(totalWidth, element),\r\n };\r\n }),\r\n };\r\n}\r\n\r\nfunction getTotalWidth(elements: Element[]): number {\r\n return elements.reduce((totalWidth, element) => {\r\n const width = element.getAttribute(\"colwidth\")?.replace(/[^0-9]/, \"\") ?? \"\";\r\n const colWidth = parseInt(width, 10);\r\n\r\n return totalWidth + (isNaN(colWidth) ? 0 : colWidth);\r\n }, 0);\r\n}\r\n\r\nfunction getWidth(totalWidth: number, element: Element): string | undefined {\r\n const width = element.getAttribute(\"colwidth\");\r\n\r\n if (!width) {\r\n return undefined;\r\n }\r\n\r\n if (width === \"*\") {\r\n return \"100%\";\r\n }\r\n\r\n if (width.includes(\"*\") || width.match(/^[\\d+]$/)) {\r\n const colWidth = parseInt(width.replace(/[^0-9]/, \"\"), 10);\r\n\r\n return `${Math.round((colWidth / totalWidth) * 100)}%`;\r\n }\r\n\r\n return width;\r\n}\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nexport const Colgroup: FunctionalComponent<{ colspecs: Colspecs }> = ({ colspecs }) =>\r\n colspecs.columns.length > 0 ? (\r\n <colgroup>\r\n {colspecs.columns.map((colspec) => (\r\n <col style={{ width: colspec.width }} />\r\n ))}\r\n </colgroup>\r\n ) : (\r\n <Fragment />\r\n );\r\n","import { FunctionalComponent } from \"@stencil/core\";\r\nimport { h } from \"@stencil/core/internal\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nfunction getColspecStartColsep({ columns }: Colspecs, nameStart: string): string | null {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n\r\n return colspecStart ? colspecStart.colsep : null;\r\n}\r\n\r\nfunction getColspecStartRowsep({ columns }: Colspecs, nameStart: string): string | null {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n\r\n return colspecStart ? colspecStart.rowsep : null;\r\n}\r\n\r\nfunction getData(cell: Element, colspecs?: Colspecs) {\r\n const nameStart = cell.getAttribute(\"namest\");\r\n const row = cell.parentElement;\r\n const tgroup = row?.parentElement?.parentElement;\r\n const table = tgroup?.parentElement;\r\n const colsep =\r\n cell.getAttribute(\"colsep\") ||\r\n (colspecs && nameStart ? getColspecStartColsep(colspecs, nameStart) : null) ||\r\n (tgroup && tgroup.getAttribute(\"colsep\")) ||\r\n (table && table.getAttribute(\"colsep\"));\r\n const rowsep =\r\n cell.getAttribute(\"rowsep\") ||\r\n (row && row.getAttribute(\"rowsep\")) ||\r\n (colspecs && nameStart ? getColspecStartRowsep(colspecs, nameStart) : null) ||\r\n (tgroup && tgroup.getAttribute(\"rowsep\")) ||\r\n (table && table.getAttribute(\"rowsep\"));\r\n\r\n return {\r\n moreRows: cell.getAttribute(\"morerows\"),\r\n nameStart,\r\n nameEnd: cell.getAttribute(\"nameend\"),\r\n colsep,\r\n rowsep,\r\n };\r\n}\r\n\r\nfunction getColspan({ columns }: Colspecs, nameStart: string, nameEnd: string): number | undefined {\r\n const colspecStart = columns.find((c) => c.name === nameStart);\r\n const colspecEnd = columns.find((c) => c.name === nameEnd);\r\n if (!colspecStart || !colspecEnd) {\r\n return undefined;\r\n }\r\n\r\n const colspan = colspecEnd.number - colspecStart.number + 1;\r\n\r\n return colspan === 1 ? undefined : colspan;\r\n}\r\n\r\nexport const Cell: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n cell: Element;\r\n}> = ({ context: { mapNodeToJsx }, colspecs, cell }) => {\r\n const { moreRows, nameStart, nameEnd, colsep, rowsep } = getData(cell, colspecs);\r\n\r\n return (\r\n <td\r\n class={clsx({ \"dso-horizontal-line\": rowsep !== \"0\" }, { \"dso-vertical-line\": colsep !== \"0\" })}\r\n rowSpan={moreRows ? parseInt(moreRows, 10) + 1 : undefined}\r\n colSpan={colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined}\r\n >\r\n {mapNodeToJsx(cell.childNodes)}\r\n </td>\r\n );\r\n};\r\n","import { Fragment, FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\n\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\nimport { Cell } from \"./table-cell\";\r\n\r\nexport const Rows: FunctionalComponent<{\r\n context: OzonContentNodeContext;\r\n colspecs: Colspecs | undefined;\r\n rows: Element[];\r\n}> = ({ context, colspecs, rows }) => {\r\n return (\r\n <>\r\n {rows.map((row) => (\r\n <tr>\r\n {Array.from(row.children).map((cell) => (\r\n <Cell cell={cell} colspecs={colspecs} context={context} />\r\n ))}\r\n </tr>\r\n ))}\r\n </>\r\n );\r\n};\r\n","import { h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { getNodeName } from \"../../get-node-name.function\";\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../../ozon-content-node.interface\";\r\n\r\nimport { mapColspecs } from \"./colspec/colspec-mapper\";\r\nimport { Colgroup } from \"./table-colgroup\";\r\nimport { Rows } from \"./table-rows\";\r\n\r\nfunction mapData(node: Element) {\r\n const tgroup = node.querySelector(\":scope > tgroup\");\r\n const colAttribute = tgroup?.getAttribute(\"cols\") ?? undefined;\r\n const columnCount = colAttribute ? parseInt(colAttribute, 10) : undefined;\r\n\r\n return {\r\n caption: node.querySelector(\":scope > title\")?.textContent ?? undefined,\r\n colspecs: tgroup && columnCount ? mapColspecs(columnCount, tgroup.querySelectorAll(\":scope > colspec\")) : undefined,\r\n headRows: Array.from(node.querySelectorAll(\":scope > tgroup > thead > row\")),\r\n bodyRows: Array.from(node.querySelectorAll(\":scope > tgroup > tbody > row\")),\r\n wijzigactie: node.getAttribute(\"wijzigactie\"),\r\n frame: node.getAttribute(\"frame\") ? node.getAttribute(\"frame\") : \"all\",\r\n };\r\n}\r\n\r\nexport class OzonContentTableNode implements OzonContentNode {\r\n name = \"table\";\r\n\r\n handles = [\"title\", \"tgroup\", \"colspec\", \"thead\", \"tbody\", \"row\", \"cell\"];\r\n\r\n id = uuidv4();\r\n\r\n render(node: Element, context: OzonContentNodeContext) {\r\n const { caption, colspecs, headRows, bodyRows, wijzigactie, frame } = mapData(node);\r\n\r\n const bron = Array.from(node.childNodes).find((n) => getNodeName(n) === \"Bron\");\r\n\r\n return (\r\n <dso-table>\r\n <table\r\n class={clsx(\"table\", {\r\n \"editaction-add\": wijzigactie === \"voegtoe\",\r\n \"editaction-remove\": wijzigactie === \"verwijder\",\r\n [`dso-table-outside-lines-${frame}`]: frame,\r\n })}\r\n {...(bron ? { \"aria-describedby\": this.id } : {})}\r\n >\r\n {caption && <caption>{caption}</caption>}\r\n {colspecs && <Colgroup colspecs={colspecs} />}\r\n {headRows.length > 0 && (\r\n <thead>\r\n <Rows rows={headRows} colspecs={colspecs} context={context}></Rows>\r\n </thead>\r\n )}\r\n {bodyRows.length > 0 && (\r\n <tbody>\r\n <Rows rows={bodyRows} colspecs={colspecs} context={context}></Rows>\r\n </tbody>\r\n )}\r\n </table>\r\n {bron && <div id={this.id}>{context.mapNodeToJsx(bron)}</div>}\r\n </dso-table>\r\n );\r\n }\r\n}\r\n","import { Fragment, h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\n\r\nexport class OzonContentTextNode implements OzonContentNode {\r\n name = \"#text\";\r\n\r\n render({ textContent }: Node, { mark, emitMarkItemHighlight }: OzonContentNodeContext) {\r\n if (!mark || !textContent) {\r\n return <>{textContent}</>;\r\n }\r\n\r\n const result = mark(textContent);\r\n\r\n return !result || result.length === 0 ? (\r\n <>{textContent}</>\r\n ) : (\r\n <>\r\n {result.map((value) => {\r\n if (typeof value === \"string\") {\r\n return <>{value}</>;\r\n }\r\n\r\n return (\r\n <mark\r\n class={value.highlight ? \"dso-highlight\" : undefined}\r\n ref={(ref) => value.highlight && ref && emitMarkItemHighlight(value.text, ref)}\r\n >\r\n {value.text}\r\n </mark>\r\n );\r\n })}\r\n </>\r\n );\r\n }\r\n}\r\n","import { h } from \"@stencil/core\";\r\n\r\nimport { OzonContentNodeContext } from \"../ozon-content-node-context.interface\";\r\nimport { OzonContentNode } from \"../ozon-content-node.interface\";\r\n\r\nexport class OzonContentVerwijderdeTekstNode implements OzonContentNode {\r\n name = \"VerwijderdeTekst\";\r\n\r\n render(node: Element, { mapNodeToJsx }: OzonContentNodeContext) {\r\n return <del class=\"removed-text\">{mapNodeToJsx(node.childNodes)}</del>;\r\n }\r\n}\r\n","import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"./get-node-name.function\";\r\nimport { OzonContentAlNode } from \"./nodes/al.node\";\r\nimport { OzonContentBronNode } from \"./nodes/bron.node\";\r\nimport { OzonContentDocumentNode } from \"./nodes/document.node\";\r\nimport { OzonContentExtRefNode } from \"./nodes/ext-ref.node\";\r\nimport { OzonContentFallbackNode } from \"./nodes/fallback.node\";\r\nimport { OzonContentFiguurNode } from \"./nodes/figuur.node\";\r\nimport { OzonContentInhoudNode } from \"./nodes/inhoud.node\";\r\nimport { OzonContentInlineTekstAfbeeldingNode } from \"./nodes/inline-tekst-afbeelding.node\";\r\nimport { OzonContentInlineNodes } from \"./nodes/inline.nodes\";\r\nimport { OzonContentIntIoRefNode } from \"./nodes/int-io-ref.node\";\r\nimport { OzonContentIntRefNode } from \"./nodes/int-ref.node\";\r\nimport { OzonContentLijstNode } from \"./nodes/lijst.node\";\r\nimport { OzonContentNieuweTekstNode } from \"./nodes/nieuwe-tekst.node\";\r\nimport { OzonContentNootNode } from \"./nodes/noot.node\";\r\nimport { OzonContentOpschriftNode } from \"./nodes/opschrift.node\";\r\nimport { OzonContentTableNode } from \"./nodes/table.node\";\r\nimport { OzonContentTextNode } from \"./nodes/text.node\";\r\nimport { OzonContentVerwijderdeTekstNode } from \"./nodes/verwijderde-tekst.node\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentNode } from \"./ozon-content-node.interface\";\r\nimport { OzonContentInputType } from \"./ozon-content.interfaces\";\r\n\r\nexport class Mapper {\r\n private mappers: OzonContentNode[] = [\r\n new OzonContentTextNode(),\r\n new OzonContentDocumentNode(),\r\n new OzonContentInhoudNode(),\r\n new OzonContentOpschriftNode(),\r\n new OzonContentIntRefNode(),\r\n new OzonContentExtRefNode(),\r\n new OzonContentAlNode(),\r\n new OzonContentInlineNodes(),\r\n new OzonContentInlineTekstAfbeeldingNode(),\r\n new OzonContentNootNode(),\r\n new OzonContentTableNode(),\r\n new OzonContentIntIoRefNode(),\r\n new OzonContentFiguurNode(),\r\n new OzonContentLijstNode(),\r\n new OzonContentBronNode(),\r\n new OzonContentNieuweTekstNode(),\r\n new OzonContentVerwijderdeTekstNode(),\r\n ];\r\n\r\n private skip = this.mappers.reduce<string[]>((t, m) => {\r\n if (m.handles) {\r\n t.push(...m.handles);\r\n }\r\n\r\n return t;\r\n }, []);\r\n\r\n private fallbackNode = new OzonContentFallbackNode();\r\n\r\n private domParser?: DOMParser;\r\n\r\n private findMapper(name: string): OzonContentNode | undefined {\r\n if (this.skip.includes(name)) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n this.mappers.find((m) => {\r\n if (Array.isArray(m.name)) {\r\n return m.name.includes(name);\r\n }\r\n\r\n return m.name === name;\r\n }) ?? this.fallbackNode\r\n );\r\n }\r\n\r\n mapNodeToJsx(node: Node | Node[] | NodeList, context: OzonContentContext, path: Node[]): JSX.Element {\r\n if (node instanceof NodeList) {\r\n return <Fragment>{Array.from(node).map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n if (Array.isArray(node)) {\r\n return <Fragment>{node.map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n const nodeName = getNodeName(node);\r\n const mapper = this.findMapper(nodeName);\r\n if (!mapper) {\r\n return <Fragment />;\r\n }\r\n\r\n const identity = mapper.identify?.(node);\r\n\r\n const state = identity ? context.state[identity] : undefined;\r\n const setState = identity ? (s: unknown) => context.setState({ ...context.state, [identity]: s }) : undefined;\r\n\r\n return mapper.render(node, {\r\n inline: context.inline,\r\n mark: context.mark,\r\n mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),\r\n emitAnchorClick: context.emitAnchorClick,\r\n setState,\r\n emitMarkItemHighlight: context.emitMarkItemHighlight,\r\n state,\r\n path,\r\n });\r\n }\r\n\r\n transform(input: OzonContentInputType | undefined, context: OzonContentContext): JSX.Element {\r\n if (!input) {\r\n return <Fragment />;\r\n }\r\n\r\n const document = this.inputToXmlDocument(input);\r\n if (document.querySelector(\"parsererror\")) {\r\n console.error({\r\n message: \"[DSO Toolkit: Ozon Content Mapper] Unable to parse XML\",\r\n context,\r\n input,\r\n document,\r\n });\r\n\r\n return <Fragment />;\r\n }\r\n\r\n return this.mapNodeToJsx(document.getRootNode(), context, []);\r\n }\r\n\r\n private inputToXmlDocument(input: OzonContentInputType): XMLDocument {\r\n if (input instanceof XMLDocument) {\r\n return input;\r\n }\r\n\r\n if (typeof input === \"string\") {\r\n this.domParser ??= new DOMParser();\r\n\r\n return this.domParser.parseFromString(input, \"text/xml\");\r\n }\r\n\r\n return document.implementation.createDocument(null, null);\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n@use \"~dso-toolkit/src/components/button/button.mixins\" as button-mixins;\r\n@use \"~dso-toolkit/src/components/insert\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/mark/mark\";\r\n@use \"~dso-toolkit/src/components/superscript/superscript\";\r\n@use \"~dso-toolkit/src/components/subscript/subscript\";\r\n@use \"~dso-toolkit/src/components/table/table\";\r\n\r\n:host(:not([inline])) {\r\n display: block;\r\n}\r\n\r\n:host([inline]) {\r\n display: inline;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton.toggle-note {\r\n @include button-mixins.tertiary($modifiers: false);\r\n}\r\n\r\nspan[role=\"section\"],\r\nspan[role=\"paragraph\"] {\r\n display: block;\r\n}\r\n\r\n:host(:not([inline])) .fallback {\r\n display: block;\r\n}\r\n\r\na {\r\n @include anchor.root();\r\n}\r\n\r\n// Styling below copied from DSO Viewer 20211011\r\n\r\n.od-Term {\r\n font-weight: 700;\r\n}\r\n\r\n.od-Definitie,\r\n.od-Tussenkop {\r\n font-style: italic;\r\n}\r\n\r\n.od-Inhoud,\r\n.od-Inhoud > .od-Lijst,\r\n.od-IntIoRef,\r\n.od-Lidnr,\r\n.od-LiNr,\r\n.od-Opschrift,\r\n.od-Tussenkop {\r\n display: inline;\r\n}\r\n\r\n.od-Al {\r\n margin-bottom: 0.75em;\r\n}\r\n\r\n.od-IntIoRef {\r\n border-bottom: 1px dotted;\r\n}\r\n\r\n.dso-ozon-bron {\r\n font-style: italic;\r\n font-size: 0.75rem;\r\n}\r\n\r\n.dso-ozon-figuur {\r\n margin-bottom: units.$u1;\r\n\r\n .figuur-bijschrift {\r\n display: block;\r\n font-size: 0.75rem;\r\n font-style: italic;\r\n }\r\n\r\n &.bijschrift-boven {\r\n .figuur-bijschrift {\r\n padding-bottom: 0.25rem;\r\n }\r\n }\r\n\r\n &.bijschrift-onder {\r\n .figuur-bijschrift {\r\n padding-top: 0.25rem;\r\n }\r\n }\r\n\r\n .figuur-titel {\r\n color: colors.$mauve;\r\n display: block;\r\n font-weight: 500;\r\n padding-bottom: 0.5rem;\r\n }\r\n}\r\n\r\n.dso-ozon-lijst {\r\n span.od-Lijstaanhef,\r\n span.od-Lijstsluiting {\r\n margin-bottom: units.$u1;\r\n }\r\n\r\n ul {\r\n margin-bottom: units.$u1 !important;\r\n margin-top: units.$u1;\r\n\r\n p {\r\n margin-bottom: units.$u1;\r\n }\r\n\r\n &.expliciet {\r\n list-style: none;\r\n\r\n > .od-Li {\r\n position: relative;\r\n\r\n > span.od-LiNummer {\r\n position: absolute;\r\n left: units.$u6 * -1 + 4;\r\n text-align: right;\r\n width: units.$u5;\r\n }\r\n }\r\n }\r\n }\r\n\r\n p {\r\n margin: 0;\r\n }\r\n}\r\n\r\n.od-Tabel thead {\r\n font-weight: 600;\r\n}\r\n\r\n.od-Kadertekst {\r\n border: 1px solid #e5e5e5;\r\n margin-bottom: units.$u1;\r\n padding: units.$u1;\r\n}\r\n\r\np,\r\nspan[role=\"paragraph\"],\r\ntable {\r\n &.editaction-add {\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-remove {\r\n @include delete.root();\r\n }\r\n}\r\n\r\nins {\r\n &.new-text {\r\n @include insert.element();\r\n @include insert.root();\r\n }\r\n\r\n &.editaction-add {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include insert.element();\r\n @include insert.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\ndel {\r\n &.removed-text {\r\n @include delete.root();\r\n }\r\n\r\n &.editaction-remove {\r\n display: inline-block;\r\n margin-block-end: units.$u1;\r\n padding: units.$u1;\r\n @include delete.root();\r\n\r\n p:last-child {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n}\r\n\r\n.dso-rich-content {\r\n @include rich-content.children();\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Event,\r\n EventEmitter,\r\n Prop,\r\n State,\r\n Fragment,\r\n JSX,\r\n Watch,\r\n} from \"@stencil/core\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport {\r\n OzonContentAnchorClickEvent,\r\n OzonContentInputType,\r\n OzonContentMarkFunction,\r\n OzonContentMarkItemHighlightEvent,\r\n} from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\n\r\nconst mapper = new Mapper();\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n shadow: true,\r\n})\r\nexport class OzonContent implements ComponentInterface {\r\n /**\r\n * The XML to be rendered.\r\n */\r\n @Prop()\r\n content?: OzonContentInputType;\r\n\r\n /**\r\n * Setting this property creates dso-ozon-content as inline element instead of a block element.\r\n */\r\n @Prop({ reflect: true })\r\n inline = false;\r\n\r\n /**\r\n * To mark text.\r\n */\r\n @Prop()\r\n mark?: OzonContentMarkFunction;\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClickEvent>;\r\n\r\n /**\r\n * Emitted when a marked item is highlighted.\r\n */\r\n @Event({ bubbles: false })\r\n dsoOzonContentMarkItemHighlight!: EventEmitter<OzonContentMarkItemHighlightEvent>;\r\n\r\n @Watch(\"content\")\r\n contentWatcher() {\r\n this.state = {};\r\n }\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n private handleMarkItemHighlight = (text: string, elementRef: HTMLElement) => {\r\n this.dsoOzonContentMarkItemHighlight.emit({ text, elementRef });\r\n };\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n inline: this.inline,\r\n mark: this.mark,\r\n setState: (state) => (this.state = state),\r\n emitMarkItemHighlight: this.handleMarkItemHighlight,\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = mapper.transform(this.content, context);\r\n\r\n return <Fragment>{transformed}</Fragment>;\r\n }\r\n}\r\n\r\nconst dependencies = () => {\r\n dependencies();\r\n\r\n return (\r\n <>\r\n <dso-icon />\r\n <dso-image-overlay />\r\n <dso-tooltip />\r\n <dso-table />\r\n </>\r\n );\r\n};\r\n","@use \"~dso-toolkit/src/components/grid/grid.variables\" as grid-variables;\r\n@use \"~dso-toolkit/src/components/modal/modal.variables\" as modal-variables;\r\n\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/modal\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\r\n@use \"~dso-toolkit/src/components/table\";\r\n\r\n:host {\r\n display: block;\r\n margin-bottom: units.$u3;\r\n}\r\n\r\n.dso-header {\r\n min-height: units.$u4;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-size: units.$font-size-h2;\r\n font-weight: 700;\r\n }\r\n\r\n .dso-close {\r\n color: colors.$bosgroen;\r\n }\r\n}\r\n\r\n:host .dso-modal {\r\n @include modal.root();\r\n\r\n inset: 0px;\r\n height: 100%;\r\n position: fixed;\r\n z-index: zindex.$modal;\r\n}\r\n\r\n.dso-modal .dso-dialog.dso-table-dialog {\r\n margin-top: 1rem;\r\n max-width: calc(100% - 2rem);\r\n margin-left: auto;\r\n margin-right: auto;\r\n inline-size: auto;\r\n\r\n .dso-body {\r\n $dso-body-unavailable-height: (2 * modal.$header-padding) + (modal.$footer-button-height + modal.$footer-padding);\r\n max-height: calc(100vh - #{$dso-body-unavailable-height} - 1.5em - 2rem); // margin\r\n }\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n max-width: 100%;\r\n }\r\n}\r\n\r\n:host([is-responsive]) {\r\n .dso-table-body {\r\n border: 1px solid table.$border-color;\r\n margin-bottom: 0;\r\n overflow-y: auto;\r\n width: 100%;\r\n\r\n &.dso-body {\r\n width: calc(100% - modal.$body-padding * 2);\r\n }\r\n }\r\n}\r\n\r\n.dso-table-utilities {\r\n align-items: center;\r\n display: flex;\r\n justify-content: space-between;\r\n margin-bottom: units.$u1;\r\n\r\n .dso-responsive-message {\r\n margin-bottom: 0;\r\n\r\n &:only-child {\r\n width: 100%;\r\n }\r\n }\r\n\r\n .open-modal-button {\r\n &:only-child {\r\n margin-left: auto;\r\n }\r\n }\r\n}\r\n\r\n.dso-responsive-message {\r\n font-size: 0.8em;\r\n margin-bottom: units.$u1;\r\n position: relative;\r\n text-align: center;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-modal-overlay {\r\n background-color: fade-out(modal-variables.$backdrop-bg, modal-variables.$backdrop-opacity);\r\n bottom: 0;\r\n display: block;\r\n left: 0;\r\n position: fixed;\r\n right: 0;\r\n top: 0;\r\n z-index: zindex.$modal-background-overlay;\r\n}\r\n\r\n.dso-table-placeholder {\r\n box-shadow: inset 0 0 0 1px table.$border-color;\r\n display: grid;\r\n place-content: center;\r\n}\r\n","import { h, Component, ComponentInterface, Element, Host, Prop, State } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\nimport { v4 } from \"uuid\";\r\n\r\n@Component({\r\n tag: \"dso-table\",\r\n styleUrl: \"table.scss\",\r\n shadow: true,\r\n})\r\nexport class Table implements ComponentInterface {\r\n private resizeObserver?: ResizeObserver;\r\n\r\n private focusTrapElement?: HTMLDivElement;\r\n\r\n private buttonElement?: HTMLButtonElement;\r\n\r\n private trap?: FocusTrap;\r\n\r\n private labelledbyId = v4();\r\n\r\n @Element()\r\n host!: HTMLDsoTableElement;\r\n\r\n /**\r\n * Prevents the table being opened in a modal.\r\n */\r\n @Prop({ reflect: true })\r\n noModal = false;\r\n\r\n /**\r\n * Indicates whether the table is currently horizontally scrollable.\r\n */\r\n @Prop({ reflect: true })\r\n isResponsive = false;\r\n\r\n @State()\r\n modalActive = false;\r\n\r\n @State()\r\n placeholderHeight?: number;\r\n\r\n private startResponsiveBehavior(): void {\r\n this.resizeObserver?.observe(this.host);\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.resizeObserver = new ResizeObserver(debounce((entries) => this.setResponsiveTable(entries), 200));\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.startResponsiveBehavior();\r\n }\r\n\r\n componentDidRender() {\r\n this.setFocusTrap();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n const caption = this.host.querySelector(\":scope > table > caption\")?.textContent?.trim();\r\n\r\n return (\r\n <Host>\r\n {this.modalActive && this.placeholderHeight && (\r\n <div class=\"dso-table-placeholder\" style={{ height: `${this.placeholderHeight}px` }} />\r\n )}\r\n\r\n {this.modalActive && <div class=\"dso-modal-overlay\"></div>}\r\n\r\n <div class={{ \"dso-modal\": this.modalActive }}>\r\n <div\r\n class={{ \"dso-dialog\": this.modalActive, \"dso-table-dialog\": true }}\r\n ref={(element) => (this.focusTrapElement = element)}\r\n {...(this.modalActive ? { [\"aria-labelledby\"]: this.labelledbyId, role: \"dialog\" } : {})}\r\n >\r\n {(this.isResponsive || !this.noModal) && (\r\n <div class=\"dso-table-utilities\" style={this.modalActive ? { display: \"none\" } : undefined}>\r\n {this.isResponsive && (\r\n <div class=\"dso-responsive-message\">\r\n <span>beweeg de tabel van links naar rechts</span>\r\n </div>\r\n )}\r\n\r\n {!this.noModal && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary open-modal-button\"\r\n ref={(element) => (this.buttonElement = element)}\r\n onClick={() => this.openModal()}\r\n >\r\n <span class=\"sr-only\">tabel {caption ?? \"\"} </span>\r\n <span>vergroten</span>\r\n <dso-icon icon=\"external-link\"></dso-icon>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n\r\n {this.modalActive && (\r\n <div class=\"dso-header\">\r\n <h2 id={this.labelledbyId} class={{ \"sr-only\": !caption }}>\r\n {caption || \"Uitvergrote tabel dialoog\"}\r\n </h2>\r\n <button type=\"button\" class=\"dso-close\" onClick={() => this.closeModal()}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div class={{ \"dso-body\": this.modalActive, \"dso-table-body\": true }}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private openModal() {\r\n this.placeholderHeight = this.host.clientHeight;\r\n this.modalActive = true;\r\n }\r\n\r\n private closeModal() {\r\n this.placeholderHeight = undefined;\r\n this.modalActive = false;\r\n }\r\n\r\n private setFocusTrap() {\r\n if (this.modalActive && this.focusTrapElement && !this.trap) {\r\n this.trap = createFocusTrap([this.host, this.focusTrapElement], {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.focusTrapElement) {\r\n this.closeModal();\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n setReturnFocus: this.buttonElement ?? false,\r\n onDeactivate: () => this.closeModal(),\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n }).activate();\r\n } else if (!this.modalActive && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n\r\n private setResponsiveTable([dsoTable]: ResizeObserverEntry[]): void {\r\n if (!dsoTable) {\r\n throw new Error(\"No dsoTable found\");\r\n }\r\n\r\n const tableElement = dsoTable.target.querySelector(\"table\");\r\n\r\n if (dsoTable && tableElement instanceof HTMLTableElement) {\r\n this.isResponsive =\r\n Math.floor(tableElement.getBoundingClientRect().width) > Math.floor(dsoTable.contentRect.width);\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as o,c as i,h as e,F as t,a as r}from"./p-701648d3.js";import{c as n}from"./p-8a1a6e56.js";import{c as a}from"./p-808a98bc.js";import{t as s}from"./p-1dbcaeef.js";import{i as l}from"./p-2d694112.js";const c=':host{display:block}*,*::after,*::before{box-sizing:border-box}.active-option{display:flex;inline-size:100%;justify-content:space-between;align-items:center;padding:0;border:1px solid #275937;border-radius:4px;cursor:pointer;background-color:#fff;line-height:inherit;font-family:inherit;font-size:inherit}.active-option.open{border-radius:4px 4px 0 0}.active-option dso-icon{color:#275937}.active-option-label{padding:4px 16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.active-option-aside{display:flex;align-items:center;gap:8px;padding:0 8px}.badges{display:flex;justify-content:space-between;align-items:center;gap:4px}.groups-container{position:relative}.groups{position:absolute;inset-block-start:-1px;inset-inline-start:0;inline-size:100%;max-block-size:500px;margin:0;padding:0;overflow-y:auto;background-color:#fff;border:1px solid #275937;border-radius:0 0 4px 4px}.groups li::marker{display:none}.group{border-bottom:1px solid #ccc}.group:last-child{border-bottom:none}.group .option{padding-left:37px}.group .option-label::before{content:"";position:absolute;display:block;block-size:10px;inline-size:10px;inset:4px auto auto -20px;border-radius:50%;background-color:#ccc;border-color:#ccc;color:#191919}.group-label{margin:0;padding:4px 16px;color:#666;font-size:14px;font-weight:500;border-bottom:1px solid #ccc}.group-link{display:block;padding:8px 4px;text-align:end;color:#000;text-decoration:none}.group-link:hover{text-decoration:underline}.group-link dso-icon{color:#39870c}.group-info .option-label::before{background-color:#6ca4d9;border-color:#6ca4d9;color:#191919}.group-primary .option-label::before{background-color:#275937;border-color:#275937;color:#fff}.group-success .option-label::before{background-color:#39870c;border-color:#39870c;color:#fff}.group-warning .option-label::before{background-color:#dcd400;border-color:#dcd400;color:#191919}.group-danger .option-label::before{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.group-error .option-label::before{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.group-attention .option-label::before{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}.options{margin:0;padding:0}.option{display:block;inline-size:100%;padding:8px 16px;cursor:pointer;line-height:inherit;font-family:inherit;font-size:inherit;border:none;text-align:left;background-color:#fff}.option:hover{background-color:#ebf3e6}.option:hover .option-label{color:#39870c;font-weight:bold}.option.option-active .option-label{color:#39870c;font-weight:bold;text-decoration:underline}.option-label{position:relative;color:#000;font-size:Asap, sans-serif;font-weight:400}.option-hint{padding-left:5px;color:#39870c;font-size:Asap, sans-serif;font-weight:bold}.placeholder{margin:0;padding:8px 16px;color:#666}';const p=c;const d=class{constructor(e){o(this,e);this.dsoChange=i(this,"dsoChange",3);this.dsoRedirect=i(this,"dsoRedirect",3);this.toggleOpen=()=>{this.open=!this.open};this.handleOptionClick=(o,i)=>{this.dsoChange.emit({originalEvent:o,option:i});this.open=false};this.handleRedirectClick=(o,i)=>{this.dsoRedirect.emit({originalEvent:o,isModifiedEvent:l(o),redirect:i});this.open=false};this.options=[];this.active=undefined;this.activeHint=undefined;this.open=false}keyDownListener(o){if(this.open&&o.key==="ArrowUp"){o.preventDefault();this.handleTab(-1)}else if(this.open&&o.key==="ArrowDown"){o.preventDefault();this.handleTab(1)}}componentDidRender(){if(this.open&&!this.trap){this.createTrap()}else if(!this.open&&this.trap){this.removeTrap()}}createTrap(){this.trap=a(this.host,{clickOutsideDeactivates:true,escapeDeactivates:true,setReturnFocus:this.toggleButtonElementRef,tabbableOptions:{getShadowRoot:true},onDeactivate:()=>{this.open=false}}).activate()}removeTrap(){var o;(o=this.trap)===null||o===void 0?void 0:o.deactivate();delete this.trap}handleTab(o){var i;const e=s(this.host,{getShadowRoot:true});const t=e.findIndex((o=>{var i;return o===((i=this.host.shadowRoot)===null||i===void 0?void 0:i.activeElement)}));let r=t+o;if(r>=e.length){r=0}else if(r<0){r=e.length-1}(i=e[r])===null||i===void 0?void 0:i.focus()}render(){var o,i;return e(t,null,e("button",{key:"072b5a2364ecc6c09f0acfe6b6d02693b02a647d","aria-expanded":this.open.toString(),class:n(["active-option",{open:this.open}]),type:"button",onClick:this.toggleOpen,ref:o=>this.toggleButtonElementRef=o},e("span",{key:"c71ed7e63e245a074220af6942665c416f99e8aa",class:"active-option-label"},(i=(o=this.active)===null||o===void 0?void 0:o.label)!==null&&i!==void 0?i:"Selecteer een optie"),e("span",{key:"f1bf83fd32e79863dda67160d3045277d500658c",class:"active-option-aside"},this.options.some((o=>"summaryCounter"in o&&(o===null||o===void 0?void 0:o.summaryCounter)))&&e("span",{class:"badges"},this.options.filter((o=>"options"in o&&"summaryCounter"in o&&!!(o===null||o===void 0?void 0:o.summaryCounter))).map((o=>{var i;return e("dso-badge",{status:(i=o.variant)!==null&&i!==void 0?i:"outline"},o.options.length)}))),e("dso-icon",{key:"2e99c6bb67badeb7f7e6620c6d9aa35f0e591931",icon:"caret-down"}))),this.open&&e("div",{class:"groups-container"},e("ul",{class:"groups"},this.options.map((o=>"options"in o&&e("li",{class:n(["group",{[`group-${o.variant}`]:!!o.variant}])},e("p",{class:"group-label"},o.label),e("ul",{class:"options"},o.options.map((o=>e("li",null,e(f,{option:o,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick}))))),o.redirect&&e(h,{redirect:o.redirect,callback:this.handleRedirectClick}))||"placeholder"in o&&e("li",{class:"group"},e("p",{class:"group-label"},o.label),e(b,{placeholder:o.placeholder}),o.redirect&&e(h,{redirect:o.redirect,callback:this.handleRedirectClick}))||e("li",null,e(f,{option:o,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick})))))))}get host(){return r(this)}};const b=({placeholder:o})=>e("p",{class:"placeholder"},o);const f=({option:o,active:i,activeHint:t,callback:r})=>e("button",{class:n(["option",{"option-active":i===o}]),type:"button",onClick:i=>r(i,o)},e("span",{class:"option-label"},o.label),!!t&&i===o&&e("span",{class:"option-hint"},"(",t,")"));const h=({redirect:o,callback:i})=>e("a",{class:"group-link",href:o.href,onClick:e=>i(e,o)},o.label,e("dso-icon",{icon:"chevron-right"}));d.style=p;export{d as dso_advanced_select};
2
+ //# sourceMappingURL=p-590c98cb.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["advancedSelectCss","DsoAdvancedSelectStyle0","AdvancedSelect","this","toggleOpen","open","handleOptionClick","event","option","dsoChange","emit","originalEvent","handleRedirectClick","redirect","dsoRedirect","isModifiedEvent","keyDownListener","key","preventDefault","handleTab","componentDidRender","trap","createTrap","removeTrap","createFocusTrap","host","clickOutsideDeactivates","escapeDeactivates","setReturnFocus","toggleButtonElementRef","tabbableOptions","getShadowRoot","onDeactivate","activate","_a","deactivate","direction","elements","tabbable","currentIndex","findIndex","e","shadowRoot","activeElement","nextIndex","length","focus","render","h","Fragment","toString","class","clsx","type","onClick","ref","element","_b","active","label","options","some","optionOrGroup","summaryCounter","filter","map","group","status","variant","icon","OptionElement","activeHint","callback","RedirectElement","PlaceholderElement","placeholder","href"],"sources":["src/components/advanced-select/advanced-select.scss?tag=dso-advanced-select&encapsulation=shadow","src/components/advanced-select/advanced-select.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/global/mixins/set-colors.mixin\" as set-colors;\r\n@use \"~dso-toolkit/src/components/advanced-select\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.active-option {\r\n display: flex;\r\n inline-size: 100%;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 0;\r\n border: 1px solid advanced-select.$border-color;\r\n border-radius: advanced-select.$border-radius;\r\n cursor: pointer;\r\n background-color: advanced-select.$bg-color;\r\n line-height: inherit;\r\n font-family: inherit;\r\n font-size: inherit;\r\n\r\n &.open {\r\n border-radius: advanced-select.$border-radius advanced-select.$border-radius 0 0;\r\n }\r\n\r\n dso-icon {\r\n color: advanced-select.$icon-color;\r\n }\r\n}\r\n\r\n.active-option-label {\r\n padding: advanced-select.$vertical-padding advanced-select.$horizontal-padding;\r\n overflow: hidden;\r\n /* stylelint-disable-next-line declaration-property-value-disallowed-list -- Nodig om lange titels op de zelfde regel te houden */\r\n white-space: nowrap;\r\n /* stylelint-disable-next-line declaration-property-value-disallowed-list -- Nodig om lange titels op de zelfde regel te houden */\r\n text-overflow: ellipsis;\r\n}\r\n\r\n.active-option-aside {\r\n display: flex;\r\n align-items: center;\r\n gap: advanced-select.$horizontal-padding * 0.5;\r\n padding: 0 advanced-select.$horizontal-padding * 0.5;\r\n}\r\n\r\n.badges {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: advanced-select.$vertical-padding;\r\n}\r\n\r\n.groups-container {\r\n position: relative;\r\n}\r\n\r\n.groups {\r\n position: absolute;\r\n inset-block-start: -1px;\r\n inset-inline-start: 0;\r\n inline-size: 100%;\r\n max-block-size: 500px;\r\n margin: 0;\r\n padding: 0;\r\n overflow-y: auto;\r\n background-color: advanced-select.$bg-color;\r\n border: 1px solid advanced-select.$border-color;\r\n border-radius: 0 0 advanced-select.$border-radius advanced-select.$border-radius;\r\n\r\n li {\r\n &::marker {\r\n display: none;\r\n }\r\n }\r\n}\r\n\r\n.group {\r\n border-bottom: 1px solid advanced-select.$hr-color;\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n\r\n .option {\r\n padding-left: advanced-select.$horizontal-padding * 2 + advanced-select.$option-dot-size * 0.5;\r\n }\r\n\r\n .option-label::before {\r\n content: \"\";\r\n position: absolute;\r\n display: block;\r\n block-size: advanced-select.$option-dot-size;\r\n inline-size: advanced-select.$option-dot-size;\r\n inset: advanced-select.$vertical-padding auto auto -#{advanced-select.$option-dot-size * 2};\r\n border-radius: 50%;\r\n @include set-colors.apply(advanced-select.$default-variant-color, $icons: false, $links: false);\r\n }\r\n}\r\n\r\n.group-label {\r\n margin: 0;\r\n padding: advanced-select.$vertical-padding advanced-select.$horizontal-padding;\r\n color: advanced-select.$group-label-color;\r\n font-size: advanced-select.$group-label-font-size;\r\n font-weight: advanced-select.$group-label-font-weight;\r\n border-bottom: 1px solid advanced-select.$hr-color;\r\n}\r\n\r\n.group-link {\r\n display: block;\r\n padding: advanced-select.$group-link-horizontal-padding advanced-select.$group-link-vertical-padding;\r\n text-align: end;\r\n color: advanced-select.$group-link-color;\r\n text-decoration: none;\r\n\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n dso-icon {\r\n color: advanced-select.$redirect-icon-color;\r\n }\r\n}\r\n\r\n.group-info .option-label::before {\r\n @include set-colors.apply(advanced-select.$info-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-primary .option-label::before {\r\n @include set-colors.apply(advanced-select.$primary-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-success .option-label::before {\r\n @include set-colors.apply(advanced-select.$success-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-warning .option-label::before {\r\n @include set-colors.apply(advanced-select.$warning-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-danger .option-label::before {\r\n @include set-colors.apply(advanced-select.$danger-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-error .option-label::before {\r\n @include set-colors.apply(advanced-select.$error-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.group-attention .option-label::before {\r\n @include set-colors.apply(advanced-select.$attention-variant-color, $icons: false, $links: false);\r\n}\r\n\r\n.options {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n.option {\r\n display: block;\r\n inline-size: 100%;\r\n padding: advanced-select.$vertical-padding * 2 advanced-select.$horizontal-padding;\r\n cursor: pointer;\r\n line-height: inherit;\r\n font-family: inherit;\r\n font-size: inherit;\r\n border: none;\r\n text-align: left;\r\n background-color: advanced-select.$bg-color;\r\n\r\n &:hover {\r\n background-color: advanced-select.$option-hover-bg-color;\r\n\r\n .option-label {\r\n color: advanced-select.$option-hover-color;\r\n font-weight: advanced-select.$option-hover-font-weight;\r\n }\r\n }\r\n}\r\n\r\n.option.option-active .option-label {\r\n color: advanced-select.$option-active-color;\r\n font-weight: advanced-select.$option-active-font-weight;\r\n text-decoration: underline;\r\n}\r\n\r\n.option-label {\r\n position: relative;\r\n color: advanced-select.$option-color;\r\n font-size: advanced-select.$option-font-size;\r\n font-weight: advanced-select.$option-font-weight;\r\n}\r\n\r\n.option-hint {\r\n padding-left: 5px;\r\n color: advanced-select.$option-active-color;\r\n font-size: advanced-select.$option-font-size;\r\n font-weight: advanced-select.$option-active-font-weight;\r\n}\r\n\r\n.placeholder {\r\n margin: 0;\r\n padding: advanced-select.$vertical-padding * 2 advanced-select.$horizontal-padding;\r\n color: advanced-select.$option-placeholder-color;\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Prop,\r\n h,\r\n FunctionalComponent,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n State,\r\n Fragment,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport {\r\n AdvancedSelectGroup,\r\n AdvancedSelectGroupRedirect,\r\n AdvancedSelectOption,\r\n AdvancedSelectChangeEvent,\r\n AdvancedSelectOptionOrGroup,\r\n AdvancedSelectRedirectEvent,\r\n} from \"./advanced-select.models\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\nimport { tabbable } from \"tabbable\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\n@Component({\r\n tag: \"dso-advanced-select\",\r\n styleUrl: \"advanced-select.scss\",\r\n shadow: true,\r\n})\r\nexport class AdvancedSelect implements ComponentInterface {\r\n private trap?: FocusTrap;\r\n\r\n @Element()\r\n host!: HTMLDsoAdvancedSelectElement;\r\n\r\n /**\r\n * The options to display in the select.\r\n */\r\n @Prop()\r\n options: AdvancedSelectOptionOrGroup<never>[] = [];\r\n\r\n /**\r\n * The active option. By object reference.\r\n */\r\n @Prop()\r\n active?: AdvancedSelectOption<never>;\r\n\r\n /**\r\n * An extra text for the active option. Only visible in the list of options.\r\n */\r\n @Prop()\r\n activeHint?: string;\r\n\r\n /**\r\n * The open state of the options list.\r\n */\r\n @State()\r\n open: boolean = false;\r\n\r\n /**\r\n * Emitted when user selects an option\r\n */\r\n @Event({ bubbles: false })\r\n dsoChange!: EventEmitter<AdvancedSelectChangeEvent<never>>;\r\n\r\n /**\r\n * Emitted when user activates a group redirect link.\r\n */\r\n @Event({ bubbles: false })\r\n dsoRedirect!: EventEmitter<AdvancedSelectRedirectEvent>;\r\n\r\n private toggleButtonElementRef: HTMLButtonElement | undefined;\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (this.open && event.key === \"ArrowUp\") {\r\n event.preventDefault();\r\n this.handleTab(-1);\r\n } else if (this.open && event.key === \"ArrowDown\") {\r\n event.preventDefault();\r\n this.handleTab(1);\r\n }\r\n }\r\n\r\n componentDidRender() {\r\n if (this.open && !this.trap) {\r\n this.createTrap();\r\n } else if (!this.open && this.trap) {\r\n this.removeTrap();\r\n }\r\n }\r\n\r\n private toggleOpen = () => {\r\n this.open = !this.open;\r\n };\r\n\r\n private createTrap() {\r\n this.trap = createFocusTrap(this.host, {\r\n clickOutsideDeactivates: true,\r\n escapeDeactivates: true,\r\n setReturnFocus: this.toggleButtonElementRef,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n onDeactivate: () => {\r\n this.open = false;\r\n },\r\n }).activate();\r\n }\r\n\r\n private removeTrap() {\r\n this.trap?.deactivate();\r\n delete this.trap;\r\n }\r\n\r\n private handleTab(direction: number) {\r\n const elements = tabbable(this.host, { getShadowRoot: true });\r\n const currentIndex = elements.findIndex((e) => e === this.host.shadowRoot?.activeElement);\r\n\r\n let nextIndex = currentIndex + direction;\r\n if (nextIndex >= elements.length) {\r\n nextIndex = 0;\r\n } else if (nextIndex < 0) {\r\n nextIndex = elements.length - 1;\r\n }\r\n\r\n elements[nextIndex]?.focus();\r\n }\r\n\r\n private handleOptionClick = (event: MouseEvent, option: AdvancedSelectOption<never>) => {\r\n this.dsoChange.emit({ originalEvent: event, option });\r\n this.open = false;\r\n };\r\n\r\n private handleRedirectClick = (event: MouseEvent, redirect: AdvancedSelectGroupRedirect) => {\r\n this.dsoRedirect.emit({ originalEvent: event, isModifiedEvent: isModifiedEvent(event), redirect });\r\n this.open = false;\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n aria-expanded={this.open.toString()}\r\n class={clsx([\"active-option\", { open: this.open }])}\r\n type=\"button\"\r\n onClick={this.toggleOpen}\r\n ref={(element) => (this.toggleButtonElementRef = element)}\r\n >\r\n <span class=\"active-option-label\">{this.active?.label ?? \"Selecteer een optie\"}</span>\r\n <span class=\"active-option-aside\">\r\n {this.options.some(\r\n (optionOrGroup) => \"summaryCounter\" in optionOrGroup && optionOrGroup?.summaryCounter,\r\n ) && (\r\n <span class=\"badges\">\r\n {this.options\r\n .filter(\r\n (option): option is AdvancedSelectGroup<never> =>\r\n \"options\" in option && \"summaryCounter\" in option && !!option?.summaryCounter,\r\n )\r\n .map((group) => (\r\n <dso-badge status={group.variant ?? \"outline\"}>{group.options.length}</dso-badge>\r\n ))}\r\n </span>\r\n )}\r\n <dso-icon icon=\"caret-down\"></dso-icon>\r\n </span>\r\n </button>\r\n {this.open && (\r\n <div class=\"groups-container\">\r\n <ul class=\"groups\">\r\n {this.options.map(\r\n (optionOrGroup) =>\r\n (\"options\" in optionOrGroup && (\r\n <li class={clsx([\"group\", { [`group-${optionOrGroup.variant}`]: !!optionOrGroup.variant }])}>\r\n <p class=\"group-label\">{optionOrGroup.label}</p>\r\n <ul class=\"options\">\r\n {optionOrGroup.options.map((option) => (\r\n <li>\r\n <OptionElement\r\n option={option}\r\n active={this.active}\r\n activeHint={this.activeHint}\r\n callback={this.handleOptionClick}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {optionOrGroup.redirect && (\r\n <RedirectElement\r\n redirect={optionOrGroup.redirect}\r\n callback={this.handleRedirectClick}\r\n ></RedirectElement>\r\n )}\r\n </li>\r\n )) ||\r\n (\"placeholder\" in optionOrGroup && (\r\n <li class=\"group\">\r\n <p class=\"group-label\">{optionOrGroup.label}</p>\r\n <PlaceholderElement placeholder={optionOrGroup.placeholder}></PlaceholderElement>\r\n {optionOrGroup.redirect && (\r\n <RedirectElement\r\n redirect={optionOrGroup.redirect}\r\n callback={this.handleRedirectClick}\r\n ></RedirectElement>\r\n )}\r\n </li>\r\n )) || (\r\n <li>\r\n <OptionElement\r\n option={optionOrGroup}\r\n active={this.active}\r\n activeHint={this.activeHint}\r\n callback={this.handleOptionClick}\r\n />\r\n </li>\r\n ),\r\n )}\r\n </ul>\r\n </div>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n\r\nconst PlaceholderElement: FunctionalComponent<{\r\n placeholder: string;\r\n}> = ({ placeholder }) => <p class=\"placeholder\">{placeholder}</p>;\r\n\r\nconst OptionElement: FunctionalComponent<{\r\n option: AdvancedSelectOption<never>;\r\n active: AdvancedSelectOption<never> | undefined;\r\n activeHint: string | undefined;\r\n callback: (event: MouseEvent, value: AdvancedSelectOption<never>) => void;\r\n}> = ({ option, active, activeHint, callback }) => (\r\n <button\r\n class={clsx([\"option\", { \"option-active\": active === option }])}\r\n type=\"button\"\r\n onClick={(e) => callback(e, option)}\r\n >\r\n <span class=\"option-label\">{option.label}</span>\r\n {!!activeHint && active === option && <span class=\"option-hint\">({activeHint})</span>}\r\n </button>\r\n);\r\n\r\nconst RedirectElement: FunctionalComponent<{\r\n redirect: AdvancedSelectGroupRedirect;\r\n callback: (event: MouseEvent, value: AdvancedSelectGroupRedirect) => void;\r\n}> = ({ redirect, callback }) => (\r\n <a class=\"group-link\" href={redirect.href} onClick={(e) => callback(e, redirect)}>\r\n {redirect.label}\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n);\r\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as s,h as t,F as l,f as o,a as c}from"./p-701648d3.js";import{c as a}from"./p-8a1a6e56.js";import{c as i}from"./p-97f788d4.js";const d=":host{display:block;padding:16px 32px 16px 16px;position:relative}:host>button{background-color:transparent;border-style:none;padding:0;position:absolute;right:8px;top:8px}:host(:not([active]):not([fixed])){display:none}button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";const b=d;const n=class{constructor(t){e(this,t);this.dsoClose=s(this,"dsoClose",7);this.fixed=undefined;this.active=undefined}render(){return t(l,{key:"50435ba6a2bb5850001f7b0f7d3637c8668cc3b3"},t("slot",{key:"a33c2bd6ce1c5b83ec908eed99147274fe4ea434"}),!this.fixed&&t("button",{type:"button",onClick:e=>this.dsoClose.emit(e)},t("dso-icon",{icon:"times"}),t("span",{class:"sr-only"},"Sluiten")))}};n.style=b;const r='.sc-dso-selectable-h{position:relative;display:var(--dso-selectable-display, block);padding-inline-start:32px}.sc-dso-selectable-h label.sc-dso-selectable{font-weight:400;line-height:24px;margin:0}.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before{background-color:#fff;box-shadow:0 0 0 2px #e5e5e5}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{height:24px;left:0;margin:0;opacity:0;position:absolute;top:0;width:24px;z-index:100;zoom:1}@media (prefers-contrast: more){.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{opacity:1}}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:not([disabled]),.sc-dso-selectable-h input[type=radio].sc-dso-selectable:not([disabled]){cursor:pointer}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable{display:inline;font-style:normal;padding-left:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{background:#fff;border:0;box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);content:"";height:20px;left:2px;position:absolute;top:2px;width:20px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus{outline:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 3px var(--dso-selectable-color, #275937);height:18px;left:3px;top:3px;width:18px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox].active.sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].active.sc-dso-selectable+label.sc-dso-selectable::before{background-color:#ebf3e6;box-shadow:0 0 0 1px #275937;height:22px;left:1px;top:1px;width:22px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:4px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::after{background:transparent;content:"";left:6px;opacity:0;position:absolute;top:6px;zoom:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after,.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{opacity:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after{border:solid;border-color:var(--dso-selectable-color, #39870c);border-top-color:transparent;border-width:0 0 3px 3px;height:8px;transform:rotate(-45deg);width:13px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);height:12px;width:12px}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:50%}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::after{background-color:transparent;border-radius:50%;content:"";height:12px;left:6px;opacity:0;position:absolute;top:6px;width:12px;zoom:1}.sc-dso-selectable-h input[type=radio].sc-dso-selectable:checked+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);opacity:1}[invalid].sc-dso-selectable-h:not([invalid=false]){--dso-selectable-color:#ce3f51}.sc-dso-selectable-h:not(:last-child){margin-bottom:8px}*.sc-dso-selectable,*.sc-dso-selectable::after,*.sc-dso-selectable::before{box-sizing:border-box}.dso-selectable-container.sc-dso-selectable{display:inline-block}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline-block;min-height:24px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{position:relative;inset-inline-start:-32px;padding-inline-start:32px;margin-inline-end:-32px;border-radius:2px;outline-offset:3px;outline:3px solid #008ccc}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before,.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);height:20px;left:2px;top:2px;width:20px}';const p=r;const h=class{constructor(t){e(this,t);this.dsoChange=s(this,"dsoChange",7);this.fallbackIdentifier=i("DsoSelectable");this.handleOnChange=e=>{const{target:s}=e;this.dsoChange.emit({originalEvent:e,checked:s instanceof HTMLInputElement&&s.checked});o(this.host)};this.type=undefined;this.identifier=undefined;this.name=undefined;this.value=undefined;this.invalid=undefined;this.describedById=undefined;this.labelledById=undefined;this.disabled=undefined;this.required=undefined;this.checked=undefined;this.indeterminate=undefined;this.infoFixed=undefined;this.infoActive=false;this.keyboardFocus=false}async toggleInfo(e){this.infoActive=e!==null&&e!==void 0?e:!this.infoActive}componentDidLoad(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect();this.mutationObserver=new MutationObserver((()=>o(this.host)));this.mutationObserver.observe(this.host,{childList:true});this.setIndeterminate()}disconnectedCallback(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}setIndeterminate(){if(!(this.input instanceof HTMLInputElement)||this.type!=="checkbox"){return}this.input.indeterminate=!!this.indeterminate}render(){var e;const s=!!this.host.querySelector('[slot="info"]');return t(l,{key:"464fc6c5ae2facd6f1bcb4445d555d2079544ec6"},t("div",{key:"3769e5d36ddccd9c026c8d26617400fdcb03c583",class:"dso-selectable-container"},t("div",{key:"27b398eaa28f243631fb578c2785a81757eedfa6",class:a("dso-selectable-input-wrapper",{"dso-keyboard-focus":this.keyboardFocus})},t("input",{key:"3aa55937f3f0024900a4da1f6f43f381772dbd1a",type:this.type,id:this.getIdentifier(),value:this.value,name:this.name,"aria-invalid":(e=this.invalid)===null||e===void 0?void 0:e.toString(),"aria-describedby":s&&this.infoFixed?this.describedById:undefined,"aria-labelledBy":this.labelledById,disabled:this.disabled,required:this.required,checked:this.checked,onChange:this.handleOnChange,onBlur:()=>this.keyboardFocus=false,onKeyUp:()=>this.keyboardFocus=true,ref:e=>this.input=e}),!this.labelledById?t("label",{htmlFor:this.getIdentifier()},t("slot",null)):t("label",null,t("slot",null))),s&&!this.infoFixed&&t("dso-info-button",{active:this.infoActive,onDsoToggle:e=>this.infoActive=e.detail.active})),s&&t("dso-info",{id:s&&this.infoFixed?this.describedById:undefined,fixed:this.infoFixed,active:this.infoActive,onDsoClose:()=>this.infoActive=false},t("div",null,t("slot",{name:"info"}))),t("slot",{key:"6530043dfeb9be8ff9e98dff3c3b7bd34d47a4e6",name:"options"}))}componentDidRender(){if(this.input&&typeof this.checked==="boolean"&&this.input.checked!==this.checked){this.input.checked=this.checked}}getIdentifier(){var e;return(e=this.identifier)!==null&&e!==void 0?e:this.fallbackIdentifier}get host(){return c(this)}static get watchers(){return{indeterminate:["setIndeterminate"]}}};h.style=p;export{n as dso_info,h as dso_selectable};
2
+ //# sourceMappingURL=p-64ed1e16.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["infoCss","DsoInfoStyle0","Info","render","h","Fragment","key","this","fixed","type","onClick","e","dsoClose","emit","icon","class","selectableCss","DsoSelectableStyle0","Selectable","fallbackIdentifier","createIdentifier","handleOnChange","target","dsoChange","originalEvent","checked","HTMLInputElement","forceUpdate","host","toggleInfo","active","infoActive","componentDidLoad","_a","mutationObserver","disconnect","MutationObserver","observe","childList","setIndeterminate","disconnectedCallback","input","indeterminate","hasInfo","querySelector","clsx","keyboardFocus","id","getIdentifier","value","name","invalid","toString","infoFixed","describedById","undefined","labelledById","disabled","required","onChange","onBlur","onKeyUp","ref","el","htmlFor","onDsoToggle","detail","onDsoClose","componentDidRender","identifier"],"sources":["src/components/info/info.scss?tag=dso-info&encapsulation=shadow","src/components/info/info.tsx","src/components/selectable/selectable.scss?tag=dso-selectable&encapsulation=scoped","src/components/selectable/selectable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/info\";\r\n\r\n:host {\r\n display: block;\r\n\r\n @include info.root();\r\n}\r\n\r\n:host(:not([active]):not([fixed])) {\r\n display: none;\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { h, Component, Event, Prop, EventEmitter, Fragment } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-info\",\r\n styleUrl: \"./info.scss\",\r\n shadow: true,\r\n})\r\nexport class Info {\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop({ reflect: true })\r\n fixed?: boolean;\r\n\r\n /**\r\n * Whether the Info is active.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Emitted when the user activates the close button.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<MouseEvent>;\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <slot></slot>\r\n {!this.fixed && (\r\n <button type=\"button\" onClick={(e) => this.dsoClose.emit(e)}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n @include selectable.root(false);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n &[invalid]:not([invalid=\"false\"]) {\r\n @include selectable.invalid();\r\n }\r\n}\r\n\r\n:host(:not(:last-child)) {\r\n @include selectable.notLastChild();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-selectable-container {\r\n display: inline-block;\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n min-height: units.$u3;\r\n\r\n &:focus-within.dso-keyboard-focus {\r\n position: relative;\r\n inset-inline-start: -(selectable.$symbol-indent);\r\n\r\n padding-inline-start: selectable.$symbol-indent;\r\n\r\n margin-inline-end: -(selectable.$symbol-indent);\r\n\r\n @include utilities.focus-outline();\r\n }\r\n\r\n input[type=\"radio\"],\r\n input[type=\"checkbox\"] {\r\n &:focus + label::before {\r\n @include selectable.selectableBoxShadow(\r\n selectable.$border-width,\r\n var(--dso-selectable-color, selectable.$valid-color)\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n Prop,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Element,\r\n State,\r\n forceUpdate,\r\n Watch,\r\n Method,\r\n ComponentInterface,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n/**\r\n * @slot - The label for this control\r\n * @slot info - Rich Content to be slotted in Info.\r\n * @slot options - for further nested selectable options: `<ul class=\"dso-selectable-options\" slot=\"options\">` and wrap each Selectable in a `<li>`.\r\n */\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable implements ComponentInterface {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop({ reflect: true })\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n private handleOnChange = (e: Event) => {\r\n const { target } = e;\r\n\r\n this.dsoChange.emit({\r\n originalEvent: e,\r\n checked: target instanceof HTMLInputElement && target.checked,\r\n });\r\n\r\n forceUpdate(this.host);\r\n };\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class=\"dso-selectable-container\">\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={this.handleOnChange}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot />\r\n </label>\r\n ) : (\r\n <label>\r\n <slot />\r\n </label>\r\n )}\r\n </div>\r\n {hasInfo && !this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n <slot name=\"options\" />\r\n </Fragment>\r\n );\r\n }\r\n\r\n componentDidRender(): void {\r\n if (this.input && typeof this.checked === \"boolean\" && this.input.checked !== this.checked) {\r\n this.input.checked = this.checked;\r\n }\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as i,H as e,a as o}from"./p-701648d3.js";import{d as r,h as a,c as n,b as s}from"./p-202d2cdf.js";import{c as l}from"./p-8a1a6e56.js";import{d}from"./p-23b5692c.js";var p={name:"maxSize",enabled:true,phase:"main",requiresIfExists:["offset","preventOverflow","flip"],fn:function t(i){var e=i.state,o=i.name,a=i.options;var n=r(e,a);var s=e.modifiersData.preventOverflow||{x:0,y:0},l=s.x,d=s.y;var p=e.rects.popper,h=p.width,c=p.height;var f=e.placement.split("-"),m=f[0];var b=m==="left"?"left":"right";var u=m==="top"?"top":"bottom";e.modifiersData[o]={width:h-n[b]-l,height:c-n[u]-d}}};const h=":host(.hidden){visibility:hidden}*,*::after,*::before{box-sizing:border-box}.tooltip{font-family:Asap, sans-serif;font-style:normal;font-weight:400;line-height:1.5;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;--link-color:#39870c;display:block;filter:drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));font-size:14px;opacity:0;position:absolute;transition:opacity 0.15s linear;z-index:410}.tooltip.in{opacity:1}.tooltip .tooltip-inner{background-color:#fff;border-radius:4px;color:#191919;display:inline-block;font-size:1rem;max-width:640px;padding-block:8px;padding-inline:16px;position:relative}.tooltip .tooltip-inner.dso-small{max-width:320px}.tooltip .tooltip-arrow{border-color:transparent;border-style:solid;height:0;width:0}.tooltip[data-popper-placement=top]{margin-block-start:-3px;padding-block:6px;padding-inline:0}.tooltip[data-popper-placement=top] .tooltip-arrow{bottom:0;border-block-start-color:#fff;border-width:6px;border-block-end-width:0;margin-inline-start:var(--tooltip-margin-inline-start, -3px)}.tooltip[data-popper-placement=right]{margin-inline-start:3px;padding-block:0;padding-inline:6px}.tooltip[data-popper-placement=right] .tooltip-arrow{left:0;border-inline-end-color:#fff;border-width:6px;border-inline-start-width:0;margin-block-start:var(--tooltip-margin-block-start, -3px)}.tooltip[data-popper-placement=bottom]{margin-block-start:3px;padding-block:6px;padding-inline:0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{top:0;border-block-end-color:#fff;border-width:6px;border-block-start-width:0;margin-inline-start:var(--tooltip-margin-inline-start, -3px)}.tooltip[data-popper-placement=left]{margin-inline-start:-3px;margin-inline-end:var(--tooltip-margin-inline-end, unset);padding-block:0;padding-inline:6px}.tooltip[data-popper-placement=left] .tooltip-arrow{right:0;border-inline-start-color:#fff;border-width:6px;border-inline-end-width:0;margin-block-start:var(--tooltip-margin-block-start, -3px)}";const c=h;var f=undefined&&undefined.__classPrivateFieldGet||function(t,i,e,o){if(e==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?t!==i||!o:!i.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?o:e==="a"?o.call(t):o?o.value:i.get(t)};var m=undefined&&undefined.__classPrivateFieldSet||function(t,i,e,o,r){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?t!==i||!r:!i.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?r.call(t,e):r?r.value=e:i.set(t,e),e};var b;const u=150;const v={name:"applyMaxSize",enabled:true,phase:s,requires:["maxSize"],fn({state:t}){let{width:i}=t.modifiersData.maxSize;if(i<160){i=160}t.styles.popper=Object.assign(Object.assign({},t.styles.popper),{maxWidth:`${i}px`})}};const w=class{constructor(i){t(this,i);this.callbacks={activate:()=>this.active=true,deactivate:()=>this.active=false};this.onMouseLeave=()=>{var t;if(!this.element.matches(":hover")&&!((t=this.target)===null||t===void 0?void 0:t.matches(":hover"))){this.callbacks.deactivate()}};this.keyDownListener=t=>{if(t.key==="Escape"){this.deactivate()}};this.deactivatePopper=d((()=>{var t;this.hidden=true;(t=this.popper)===null||t===void 0?void 0:t.destroy();this.popper=undefined}),u);b.set(this,void 0);this.descriptive=false;this.position="top";this.strategy="auto";this.noArrow=false;this.stateless=undefined;this.small=undefined;this.active=false;this.hidden=true}async activate(){this.active=true}async deactivate(){this.active=false}watchPosition(){if(!this.popper){return}this.popper.setOptions({placement:this.position})}watchStrategy(){this.setStrategy()}setStrategy(){if(!this.popper){return}if(this.strategy==="absolute"||this.strategy==="fixed"){this.popper.setOptions({strategy:this.strategy});return}let t=this.element;while(t&&t.parentNode!==document){t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentElement;if(t!==null&&a(t)){this.popper.setOptions({strategy:"fixed"});return}}this.popper.setOptions({strategy:"absolute"})}watchActive(){if(this.active){this.activatePopper();if(!this.stateless){setTimeout((()=>{var t;(t=this.popper)===null||t===void 0?void 0:t.setOptions({modifiers:[{name:"eventListeners",enabled:true}]});document.addEventListener("keydown",this.keyDownListener)}))}}else{document.removeEventListener("keydown",this.keyDownListener);this.deactivatePopper()}}listenClick(t){t.stopPropagation()}componentDidLoad(){var t;const i=(t=this.element.shadowRoot)===null||t===void 0?void 0:t.querySelector(".tooltip");if(!(i instanceof HTMLElement)){throw new Error("tooltip element is not instanceof HTMLElement")}if(!this.stateless&&this.target){this.target.addEventListener("mouseenter",this.callbacks.activate);[this.element,this.target].forEach((t=>t.addEventListener("mouseleave",this.onMouseLeave)));this.target.addEventListener("focus",this.callbacks.activate);this.target.addEventListener("blur",this.callbacks.deactivate)}}disconnectedCallback(){var t;(t=this.popper)===null||t===void 0?void 0:t.destroy();if(!this.stateless&&this.target){this.target.removeEventListener("mouseenter",this.callbacks.activate);[this.element,this.target].forEach((t=>t.removeEventListener("mouseleave",this.onMouseLeave)));this.target.removeEventListener("focus",this.callbacks.activate);this.target.removeEventListener("blur",this.callbacks.deactivate)}this.target=undefined}componentDidRender(){var t;if(this.active){(t=this.popper)===null||t===void 0?void 0:t.update()}}render(){return i(e,{key:"688efa3d6938dbf31108bab08714f84b33b9dcff",class:{hidden:this.hidden},role:"tooltip",onClick:this.listenClick},i("div",{key:"5187591f84f6216287bd7a895b5b88b69539d136",class:l("tooltip",{in:this.active})},!this.noArrow&&i("div",{"data-popper-arrow":true,class:"tooltip-arrow"}),i("div",{key:"f3b69c2583c4489cc382418fec96b9c13ad65965","aria-hidden":!this.descriptive||undefined,class:l("tooltip-inner",{"dso-small":this.small})},i("slot",{key:"0350aa45ad545ed54d66dae2cd6ca7ff108a06e7"}))))}activatePopper(){var t;this.hidden=false;if(this.popper){return}const i=(t=this.element.shadowRoot)===null||t===void 0?void 0:t.querySelector(".tooltip");if(this.target&&i instanceof HTMLElement){this.popper=n(this.target,i,{placement:this.position,modifiers:[p,v,{name:"eventListeners",enabled:false}]});this.setStrategy()}}get target(){var t;return(t=f(this,b,"f"))!==null&&t!==void 0?t:this.initializeTarget()}set target(t){m(this,b,t,"f")}initializeTarget(){const t=this.element.id;if(!t){console.warn("Unable to find reference tooltip has no [id] attribute.");return}const i=this.element.getRootNode();if(!(i instanceof Document||i instanceof ShadowRoot)){console.warn(`rootNode is not instance of Document or ShadowRoot`);return}const e=i.querySelector(`[aria-describedBy="${t}`);if(!e){console.warn(`Unable to find reference with aria-describedby ${t}`);return}m(this,b,e,"f");return e}get element(){return o(this)}static get watchers(){return{position:["watchPosition"],strategy:["watchStrategy"],active:["watchActive"]}}};b=new WeakMap;w.style=c;export{w as dso_tooltip};
2
+ //# sourceMappingURL=p-69e2f1a3.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["maxSize","name","enabled","phase","requiresIfExists","fn","_ref","state","options","overflow","detectOverflow","_ref2","modifiersData","preventOverflow","x","y","_state$rects$popper","rects","popper","width","height","_state$placement$spli","placement","split","basePlacement","widthProp","heightProp","tooltipCss","DsoTooltipStyle0","transitionDuration","applyMaxSize","beforeWrite","requires","styles","Object","assign","maxWidth","Tooltip","this","callbacks","activate","active","deactivate","onMouseLeave","element","matches","_a","target","keyDownListener","event","key","deactivatePopper","debounce","hidden","destroy","undefined","_Tooltip_target","set","watchPosition","setOptions","position","watchStrategy","setStrategy","strategy","parentNode","document","ShadowRoot","host","parentElement","hasOverflow","watchActive","activatePopper","stateless","setTimeout","modifiers","addEventListener","removeEventListener","listenClick","e","stopPropagation","componentDidLoad","tooltip","shadowRoot","querySelector","HTMLElement","Error","forEach","disconnectedCallback","componentDidRender","update","render","h","Host","class","role","onClick","clsx","in","noArrow","descriptive","small","createPopper","__classPrivateFieldGet","initializeTarget","__classPrivateFieldSet","id","console","warn","rootNode","getRootNode","Document","reference"],"sources":["../../node_modules/popper-max-size-modifier/dist/popper-max-size-modifier.esm.js","src/components/tooltip/tooltip.scss?tag=dso-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { detectOverflow } from '@popperjs/core';\n\nvar maxSize = {\n name: 'maxSize',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n fn: function fn(_ref) {\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var overflow = detectOverflow(state, options);\n\n var _ref2 = state.modifiersData.preventOverflow || {\n x: 0,\n y: 0\n },\n x = _ref2.x,\n y = _ref2.y;\n\n var _state$rects$popper = state.rects.popper,\n width = _state$rects$popper.width,\n height = _state$rects$popper.height;\n\n var _state$placement$spli = state.placement.split('-'),\n basePlacement = _state$placement$spli[0];\n\n var widthProp = basePlacement === 'left' ? 'left' : 'right';\n var heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n state.modifiersData[name] = {\n width: width - overflow[widthProp] - x,\n height: height - overflow[heightProp] - y\n };\n }\n};\n\nexport default maxSize;\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"tooltip.variables\" as tooltip-variables;\r\n\r\n:host(.hidden) {\r\n visibility: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.tooltip {\r\n font-family: typography.$font-family-base;\r\n // We deliberately do NOT reset font-size.\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: typography.$line-height-base;\r\n line-break: auto;\r\n text-align: left; // Fallback for where `start` is not supported\r\n text-align: start;\r\n text-decoration: none;\r\n text-shadow: none;\r\n text-transform: none;\r\n letter-spacing: normal;\r\n word-break: normal;\r\n word-spacing: normal;\r\n word-wrap: normal;\r\n white-space: normal;\r\n\r\n --link-color: #{colors.$grasgroen};\r\n\r\n display: block;\r\n filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));\r\n font-size: typography.$font-size-small;\r\n opacity: 0;\r\n position: absolute;\r\n transition: opacity tooltip-variables.$transition-duration linear;\r\n z-index: zindex.$tooltip;\r\n\r\n &.in {\r\n opacity: tooltip-variables.$opacity;\r\n }\r\n\r\n .tooltip-inner {\r\n background-color: colors.$wit;\r\n border-radius: tooltip-variables.$border-radius;\r\n color: colors.$grijs-90;\r\n display: inline-block;\r\n font-size: typography.$root-font-size-base;\r\n max-width: tooltip-variables.$max-width;\r\n padding-block: tooltip-variables.$padding-vertical;\r\n padding-inline: tooltip-variables.$padding-horizontal;\r\n position: relative;\r\n\r\n &.dso-small {\r\n max-width: tooltip-variables.$max-width-small;\r\n }\r\n }\r\n\r\n .tooltip-arrow {\r\n border-color: transparent;\r\n border-style: solid;\r\n height: 0;\r\n width: 0;\r\n }\r\n\r\n &[data-popper-placement=\"top\"] {\r\n margin-block-start: -3px;\r\n padding-block: tooltip-variables.$arrow-width;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n bottom: 0;\r\n border-block-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-width;\r\n border-block-end-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"right\"] {\r\n margin-inline-start: 3px;\r\n padding-block: 0;\r\n padding-inline: tooltip-variables.$arrow-width;\r\n\r\n .tooltip-arrow {\r\n left: 0;\r\n border-inline-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-width;\r\n border-inline-start-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"bottom\"] {\r\n margin-block-start: 3px;\r\n padding-block: tooltip-variables.$arrow-width;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n top: 0;\r\n border-block-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-width;\r\n border-block-start-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"left\"] {\r\n margin-inline-start: -3px;\r\n margin-inline-end: var(--tooltip-margin-inline-end, unset);\r\n padding-block: 0;\r\n padding-inline: tooltip-variables.$arrow-width;\r\n\r\n .tooltip-arrow {\r\n right: 0;\r\n border-inline-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-width;\r\n border-inline-end-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n}\r\n","import { beforeWrite, createPopper, Instance as PopperInstance, Placement, State as PopperState } from \"@popperjs/core\";\r\nimport maxSize from \"popper-max-size-modifier\";\r\nimport { h, Component, Element, Host, Method, Prop, State, Watch } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\nimport debounce from \"debounce\";\r\n\r\n// Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin\r\nconst transitionDuration = 150;\r\n\r\nconst applyMaxSize = {\r\n name: \"applyMaxSize\",\r\n enabled: true,\r\n phase: beforeWrite,\r\n requires: [\"maxSize\"],\r\n fn({ state }: { state: PopperState }) {\r\n let { width } = state.modifiersData.maxSize;\r\n if (width < 160) {\r\n width = 160;\r\n }\r\n\r\n state.styles.popper = {\r\n ...state.styles.popper,\r\n maxWidth: `${width}px`,\r\n };\r\n },\r\n};\r\n\r\n@Component({\r\n tag: \"dso-tooltip\",\r\n styleUrl: \"tooltip.scss\",\r\n shadow: true,\r\n})\r\nexport class Tooltip {\r\n /**\r\n * Defines if the tooltip is descriptive. A descriptive tooltip contains a meaningful message. Tooltips that are not descriptive are hidden from screenreaders using `aria-hidden`.\r\n */\r\n @Prop({\r\n reflect: true,\r\n })\r\n descriptive = false;\r\n\r\n /**\r\n * Set position of tooltip relative to target\r\n */\r\n @Prop()\r\n position: Placement = \"top\";\r\n\r\n /**\r\n * Set position strategy of tooltip\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n /**\r\n * Set attribute `no-arrow` to hide the arrow\r\n */\r\n @Prop()\r\n noArrow = false;\r\n\r\n /**\r\n * Deactivates mouseover behaviour\r\n */\r\n @Prop()\r\n stateless?: boolean;\r\n\r\n /**\r\n * Defines if the tooltip has a smaller max-width\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Whether or not to show the tooltip. To control the tooltip add the `active` attribute or use the `activate()` and `deactivate()` instance methods.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n active = false;\r\n\r\n /**\r\n * Activate the tooltip (Sets the `active` attribute)\r\n */\r\n @Method()\r\n async activate(): Promise<void> {\r\n this.active = true;\r\n }\r\n\r\n /**\r\n * Deactivate the tooltip (Removes the `active` attribute)\r\n */\r\n @Method()\r\n async deactivate(): Promise<void> {\r\n this.active = false;\r\n }\r\n\r\n @Watch(\"position\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.position,\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.element;\r\n while (element && element.parentNode !== document) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Watch(\"active\")\r\n watchActive() {\r\n if (this.active) {\r\n this.activatePopper();\r\n\r\n if (!this.stateless) {\r\n setTimeout(() => {\r\n this.popper?.setOptions({\r\n modifiers: [{ name: \"eventListeners\", enabled: true }],\r\n });\r\n document.addEventListener(\"keydown\", this.keyDownListener);\r\n });\r\n }\r\n } else {\r\n document.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.deactivatePopper();\r\n }\r\n }\r\n\r\n @Element()\r\n private element!: HTMLDsoTooltipElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n private callbacks: TooltipCallbacks = {\r\n activate: () => (this.active = true),\r\n deactivate: () => (this.active = false),\r\n };\r\n\r\n private onMouseLeave = () => {\r\n if (!this.element.matches(\":hover\") && !this.target?.matches(\":hover\")) {\r\n this.callbacks.deactivate();\r\n }\r\n };\r\n\r\n @State()\r\n private hidden = true;\r\n\r\n private listenClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n }\r\n\r\n componentDidLoad(): void {\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n if (!(tooltip instanceof HTMLElement)) {\r\n throw new Error(\"tooltip element is not instanceof HTMLElement\");\r\n }\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.addEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.addEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.addEventListener(\"focus\", this.callbacks.activate);\r\n this.target.addEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.popper?.destroy();\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.removeEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.removeEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.removeEventListener(\"focus\", this.callbacks.activate);\r\n this.target.removeEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n\r\n this.target = undefined;\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active) {\r\n this.popper?.update();\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key === \"Escape\") {\r\n this.deactivate();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host class={{ hidden: this.hidden }} role=\"tooltip\" onClick={this.listenClick}>\r\n <div class={clsx(\"tooltip\", { in: this.active })}>\r\n {!this.noArrow && <div data-popper-arrow class=\"tooltip-arrow\"></div>}\r\n <div aria-hidden={!this.descriptive || undefined} class={clsx(\"tooltip-inner\", { \"dso-small\": this.small })}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private deactivatePopper = debounce(() => {\r\n this.hidden = true;\r\n this.popper?.destroy();\r\n this.popper = undefined;\r\n }, transitionDuration);\r\n\r\n private activatePopper(): void {\r\n this.hidden = false;\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n\r\n if (this.target && tooltip instanceof HTMLElement) {\r\n this.popper = createPopper(this.target, tooltip, {\r\n placement: this.position,\r\n modifiers: [maxSize, applyMaxSize, { name: \"eventListeners\", enabled: false }],\r\n });\r\n\r\n this.setStrategy();\r\n }\r\n }\r\n\r\n private get target(): HTMLElement | undefined {\r\n return this.#target ?? this.initializeTarget();\r\n }\r\n\r\n private set target(element: HTMLElement | undefined) {\r\n this.#target = element;\r\n }\r\n\r\n #target?: HTMLElement;\r\n\r\n private initializeTarget(): HTMLElement | undefined {\r\n const id = this.element.id;\r\n\r\n if (!id) {\r\n console.warn(\"Unable to find reference tooltip has no [id] attribute.\");\r\n\r\n return;\r\n }\r\n\r\n const rootNode = this.element.getRootNode();\r\n if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {\r\n console.warn(`rootNode is not instance of Document or ShadowRoot`);\r\n\r\n return;\r\n }\r\n\r\n const reference = rootNode.querySelector<HTMLElement>(`[aria-describedBy=\"${id}`);\r\n if (!reference) {\r\n console.warn(`Unable to find reference with aria-describedby ${id}`);\r\n\r\n return;\r\n }\r\n\r\n this.#target = reference;\r\n return reference;\r\n }\r\n}\r\n\r\ninterface TooltipCallbacks {\r\n activate: () => void;\r\n deactivate: () => void;\r\n}\r\n"],"mappings":"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"}