@dso-toolkit/core 58.1.0 → 58.3.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 (482) hide show
  1. package/dist/cjs/{clsx.m-b81c6b86.js → clsx-fd0bee58.js} +1 -1
  2. package/dist/{esm/clsx.m-25174a58.js.map → cjs/clsx-fd0bee58.js.map} +1 -1
  3. package/dist/cjs/{create-identifier-6ee2a08b.js → create-identifier-5900c27b.js} +1 -1
  4. package/dist/cjs/create-identifier-5900c27b.js.map +1 -0
  5. package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dso-accordion.cjs.entry.js +1 -1
  8. package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-action-list-item.cjs.entry.js +1 -1
  10. package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
  12. package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -1
  13. package/dist/cjs/dso-alert_5.cjs.entry.js +9 -9
  14. package/dist/cjs/dso-alert_5.cjs.entry.js.map +1 -1
  15. package/dist/cjs/dso-annotation-output_3.cjs.entry.js +2 -2
  16. package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dso-attachments-counter.cjs.entry.js +1 -1
  18. package/dist/cjs/dso-attachments-counter.cjs.entry.js.map +1 -1
  19. package/dist/cjs/dso-autosuggest.cjs.entry.js +2 -2
  20. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  21. package/dist/cjs/dso-banner.cjs.entry.js +3 -3
  22. package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
  23. package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
  24. package/dist/cjs/dso-card-container.cjs.entry.js.map +1 -1
  25. package/dist/cjs/dso-card.cjs.entry.js +4 -4
  26. package/dist/cjs/dso-card.cjs.entry.js.map +1 -1
  27. package/dist/cjs/dso-date-picker.cjs.entry.js +3 -2
  28. package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +3 -3
  30. package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
  31. package/dist/cjs/dso-expandable.cjs.entry.js +3 -3
  32. package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -1
  33. package/dist/cjs/dso-header.cjs.entry.js +5 -5
  34. package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
  35. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +3 -3
  36. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +1 -1
  37. package/dist/cjs/dso-highlight-box.cjs.entry.js +3 -3
  38. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  39. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  40. package/dist/cjs/dso-icon.cjs.entry.js.map +1 -1
  41. package/dist/cjs/dso-image-overlay.cjs.entry.js +3 -3
  42. package/dist/cjs/dso-image-overlay.cjs.entry.js.map +1 -1
  43. package/dist/cjs/dso-info-button.cjs.entry.js +3 -3
  44. package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -1
  45. package/dist/cjs/dso-info_2.cjs.entry.js +5 -5
  46. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  47. package/dist/cjs/dso-list-button.cjs.entry.js +5 -5
  48. package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
  49. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  50. package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -1
  51. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  52. package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
  53. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  54. package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -1
  55. package/dist/cjs/dso-modal.cjs.entry.js +1 -1
  56. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  57. package/dist/cjs/dso-pagination.cjs.entry.js +2 -2
  58. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  59. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  60. package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -1
  61. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  62. package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -1
  63. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  64. package/dist/cjs/dso-responsive-element.cjs.entry.js.map +1 -1
  65. package/dist/cjs/dso-scrollable.cjs.entry.js +3 -3
  66. package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
  67. package/dist/cjs/dso-table.cjs.entry.js +3 -3
  68. package/dist/cjs/dso-table.cjs.entry.js.map +1 -1
  69. package/dist/cjs/dso-toggletip.cjs.entry.js +2 -2
  70. package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -1
  71. package/dist/cjs/dso-toolkit.cjs.js +2 -5
  72. package/dist/cjs/dso-toolkit.cjs.js.map +1 -1
  73. package/dist/cjs/dso-tooltip.cjs.entry.js +5 -5
  74. package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
  75. package/dist/cjs/dso-tree-view.cjs.entry.js +4 -4
  76. package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -1
  77. package/dist/cjs/dso-viewer-grid.cjs.entry.js +3 -3
  78. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  79. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1 -1
  80. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -1
  81. package/dist/cjs/{focus-trap.esm-a5b7273f.js → focus-trap.esm-b6bba312.js} +245 -97
  82. package/dist/cjs/focus-trap.esm-b6bba312.js.map +1 -0
  83. package/dist/cjs/{has-overflow-d7baff1e.js → has-overflow-27e20400.js} +1 -1
  84. package/dist/cjs/has-overflow-27e20400.js.map +1 -0
  85. package/dist/cjs/{index-d4003ee3.js → index-d46ec033.js} +91 -19
  86. package/dist/cjs/index-d46ec033.js.map +1 -0
  87. package/dist/cjs/{index.esm-0e935715.js → index.esm-970bc106.js} +49 -16
  88. package/dist/cjs/index.esm-970bc106.js.map +1 -0
  89. package/dist/cjs/{is-modified-event-dcab03a0.js → is-modified-event-ccd748ea.js} +1 -1
  90. package/dist/cjs/is-modified-event-ccd748ea.js.map +1 -0
  91. package/dist/cjs/loader.cjs.js +2 -11
  92. package/dist/cjs/loader.cjs.js.map +1 -1
  93. package/dist/collection/collection-manifest.json +45 -45
  94. package/dist/collection/components/accordion/accordion.js +6 -3
  95. package/dist/collection/components/accordion/accordion.js.map +1 -1
  96. package/dist/collection/components/accordion/components/accordion-section.js +8 -4
  97. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  98. package/dist/collection/components/annotation-button/annotation-button.js +2 -1
  99. package/dist/collection/components/annotation-button/annotation-button.js.map +1 -1
  100. package/dist/collection/components/annotation-output/annotation-output.js +2 -1
  101. package/dist/collection/components/annotation-output/annotation-output.js.map +1 -1
  102. package/dist/collection/components/autosuggest/autosuggest.js +5 -3
  103. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  104. package/dist/collection/components/card/card.js +4 -2
  105. package/dist/collection/components/card/card.js.map +1 -1
  106. package/dist/collection/components/card-container/card-container.js +2 -1
  107. package/dist/collection/components/card-container/card-container.js.map +1 -1
  108. package/dist/collection/components/date-picker/date-picker.js +18 -9
  109. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  110. package/dist/collection/components/date-picker/date-utils.js +1 -0
  111. package/dist/collection/components/date-picker/date-utils.js.map +1 -1
  112. package/dist/collection/components/document-component/document-component.css +1 -1
  113. package/dist/collection/components/document-component/document-component.js +6 -3
  114. package/dist/collection/components/document-component/document-component.js.map +1 -1
  115. package/dist/collection/components/expandable/expandable.js +2 -1
  116. package/dist/collection/components/expandable/expandable.js.map +1 -1
  117. package/dist/collection/components/header/header.js +4 -2
  118. package/dist/collection/components/header/header.js.map +1 -1
  119. package/dist/collection/components/info/info.js +2 -1
  120. package/dist/collection/components/info/info.js.map +1 -1
  121. package/dist/collection/components/info-button/info-button.js +4 -2
  122. package/dist/collection/components/info-button/info-button.js.map +1 -1
  123. package/dist/collection/components/label/label.js +4 -2
  124. package/dist/collection/components/label/label.js.map +1 -1
  125. package/dist/collection/components/list-button/list-button.js +4 -2
  126. package/dist/collection/components/list-button/list-button.js.map +1 -1
  127. package/dist/collection/components/map-base-layers/map-base-layers.js +4 -2
  128. package/dist/collection/components/map-base-layers/map-base-layers.js.map +1 -1
  129. package/dist/collection/components/map-controls/map-controls.js +12 -6
  130. package/dist/collection/components/map-controls/map-controls.js.map +1 -1
  131. package/dist/collection/components/map-overlays/map-overlays.js +4 -2
  132. package/dist/collection/components/map-overlays/map-overlays.js.map +1 -1
  133. package/dist/collection/components/modal/modal.js +2 -1
  134. package/dist/collection/components/modal/modal.js.map +1 -1
  135. package/dist/collection/components/ozon-content/ozon-content.css +5 -5
  136. package/dist/collection/components/ozon-content/ozon-content.js +4 -2
  137. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  138. package/dist/collection/components/pagination/pagination.js +2 -1
  139. package/dist/collection/components/pagination/pagination.js.map +1 -1
  140. package/dist/collection/components/responsive-element/responsive-element.js +6 -3
  141. package/dist/collection/components/responsive-element/responsive-element.js.map +1 -1
  142. package/dist/collection/components/scrollable/scrollable.js +4 -2
  143. package/dist/collection/components/scrollable/scrollable.js.map +1 -1
  144. package/dist/collection/components/selectable/selectable.css +1 -1
  145. package/dist/collection/components/selectable/selectable.js +4 -2
  146. package/dist/collection/components/selectable/selectable.js.map +1 -1
  147. package/dist/collection/components/slide-toggle/slide-toggle.js +2 -1
  148. package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -1
  149. package/dist/collection/components/toggletip/toggletip.js +1 -1
  150. package/dist/collection/components/toggletip/toggletip.js.map +1 -1
  151. package/dist/collection/components/tooltip/tooltip.css +1 -3
  152. package/dist/collection/components/tooltip/tooltip.js +4 -2
  153. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  154. package/dist/collection/components/tree-view/tree-view.js +14 -7
  155. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  156. package/dist/collection/components/viewer-grid/viewer-grid.js +10 -5
  157. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  158. package/dist/components/alert.js +1 -1
  159. package/dist/components/alert.js.map +1 -1
  160. package/dist/components/annotation-button.js.map +1 -1
  161. package/dist/components/annotation-output.js.map +1 -1
  162. package/dist/components/badge.js +1 -1
  163. package/dist/components/badge.js.map +1 -1
  164. package/dist/components/{clsx.m.js → clsx.js} +1 -1
  165. package/dist/components/clsx.js.map +1 -0
  166. package/dist/components/create-identifier.js.map +1 -1
  167. package/dist/components/document-component.js +1 -1
  168. package/dist/components/document-component.js.map +1 -1
  169. package/dist/components/dropdown-menu.js.map +1 -1
  170. package/dist/components/dso-accordion-section.js.map +1 -1
  171. package/dist/components/dso-accordion.js.map +1 -1
  172. package/dist/components/dso-action-list-item.js.map +1 -1
  173. package/dist/components/dso-action-list.js.map +1 -1
  174. package/dist/components/dso-attachments-counter.js.map +1 -1
  175. package/dist/components/dso-autosuggest.js +1 -1
  176. package/dist/components/dso-autosuggest.js.map +1 -1
  177. package/dist/components/dso-banner.js +1 -1
  178. package/dist/components/dso-banner.js.map +1 -1
  179. package/dist/components/dso-card-container.js.map +1 -1
  180. package/dist/components/dso-card.js +1 -1
  181. package/dist/components/dso-card.js.map +1 -1
  182. package/dist/components/dso-date-picker.js +1 -0
  183. package/dist/components/dso-date-picker.js.map +1 -1
  184. package/dist/components/dso-header.js +1 -1
  185. package/dist/components/dso-header.js.map +1 -1
  186. package/dist/components/dso-helpcenter-panel.js.map +1 -1
  187. package/dist/components/dso-highlight-box.js +1 -1
  188. package/dist/components/dso-highlight-box.js.map +1 -1
  189. package/dist/components/dso-image-overlay.js.map +1 -1
  190. package/dist/components/dso-list-button.js +1 -1
  191. package/dist/components/dso-list-button.js.map +1 -1
  192. package/dist/components/dso-map-base-layers.js.map +1 -1
  193. package/dist/components/dso-map-controls.js.map +1 -1
  194. package/dist/components/dso-map-overlays.js.map +1 -1
  195. package/dist/components/dso-modal.js.map +1 -1
  196. package/dist/components/dso-pagination.js.map +1 -1
  197. package/dist/components/dso-progress-bar.js.map +1 -1
  198. package/dist/components/dso-table.js.map +1 -1
  199. package/dist/components/dso-toggletip.js +1 -1
  200. package/dist/components/dso-toggletip.js.map +1 -1
  201. package/dist/components/dso-tree-view.js +1 -1
  202. package/dist/components/dso-tree-view.js.map +1 -1
  203. package/dist/components/dso-viewer-grid.js +1 -1
  204. package/dist/components/dso-viewer-grid.js.map +1 -1
  205. package/dist/components/dsot-document-component-demo.js.map +1 -1
  206. package/dist/components/expandable.js +1 -1
  207. package/dist/components/expandable.js.map +1 -1
  208. package/dist/components/focus-trap.esm.js +244 -96
  209. package/dist/components/focus-trap.esm.js.map +1 -1
  210. package/dist/components/has-overflow.js.map +1 -1
  211. package/dist/components/icon.js.map +1 -1
  212. package/dist/components/index.d.ts +6 -0
  213. package/dist/components/index.esm.js +48 -16
  214. package/dist/components/index.esm.js.map +1 -1
  215. package/dist/components/index.js +1 -1
  216. package/dist/components/info-button.js +1 -1
  217. package/dist/components/info-button.js.map +1 -1
  218. package/dist/components/info.js.map +1 -1
  219. package/dist/components/is-modified-event.js.map +1 -1
  220. package/dist/components/label.js +1 -1
  221. package/dist/components/label.js.map +1 -1
  222. package/dist/components/ozon-content.js +2 -2
  223. package/dist/components/ozon-content.js.map +1 -1
  224. package/dist/components/progress-indicator.js.map +1 -1
  225. package/dist/components/responsive-element.js.map +1 -1
  226. package/dist/components/scrollable.js +1 -1
  227. package/dist/components/scrollable.js.map +1 -1
  228. package/dist/components/selectable.js +2 -2
  229. package/dist/components/selectable.js.map +1 -1
  230. package/dist/components/slide-toggle.js.map +1 -1
  231. package/dist/components/tooltip.js +2 -2
  232. package/dist/components/tooltip.js.map +1 -1
  233. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  234. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  235. package/dist/dso-toolkit/p-0bac5eea.entry.js +2 -0
  236. package/dist/dso-toolkit/p-0bac5eea.entry.js.map +1 -0
  237. package/dist/dso-toolkit/{p-bc9e3037.entry.js → p-0e095af8.entry.js} +2 -2
  238. package/dist/dso-toolkit/p-0e095af8.entry.js.map +1 -0
  239. package/dist/dso-toolkit/p-1521d319.js +6 -0
  240. package/dist/dso-toolkit/p-1521d319.js.map +1 -0
  241. package/dist/dso-toolkit/{p-1c721290.entry.js → p-169e3931.entry.js} +2 -2
  242. package/dist/dso-toolkit/p-169e3931.entry.js.map +1 -0
  243. package/dist/dso-toolkit/{p-4bc67e5c.entry.js → p-298453a9.entry.js} +2 -2
  244. package/dist/dso-toolkit/p-298453a9.entry.js.map +1 -0
  245. package/dist/dso-toolkit/{p-2ccbf58d.entry.js → p-3631ce14.entry.js} +2 -2
  246. package/dist/dso-toolkit/p-3631ce14.entry.js.map +1 -0
  247. package/dist/dso-toolkit/p-3ca5b6f4.js +3 -0
  248. package/dist/dso-toolkit/p-3ca5b6f4.js.map +1 -0
  249. package/dist/dso-toolkit/{p-3cbf8b97.entry.js → p-41066f6f.entry.js} +2 -2
  250. package/dist/dso-toolkit/p-41066f6f.entry.js.map +1 -0
  251. package/dist/dso-toolkit/{p-22baee8e.entry.js → p-42ba2c81.entry.js} +2 -2
  252. package/dist/dso-toolkit/p-42ba2c81.entry.js.map +1 -0
  253. package/dist/dso-toolkit/p-48d76094.entry.js +2 -0
  254. package/dist/dso-toolkit/p-48d76094.entry.js.map +1 -0
  255. package/dist/dso-toolkit/{p-4e86089d.entry.js → p-4ace5655.entry.js} +2 -2
  256. package/dist/dso-toolkit/p-4ace5655.entry.js.map +1 -0
  257. package/dist/dso-toolkit/{p-745b6678.entry.js → p-59fe2479.entry.js} +2 -2
  258. package/dist/dso-toolkit/p-59fe2479.entry.js.map +1 -0
  259. package/dist/dso-toolkit/p-5c5e43d3.entry.js +2 -0
  260. package/dist/dso-toolkit/p-5c5e43d3.entry.js.map +1 -0
  261. package/dist/dso-toolkit/{p-e69d7e62.entry.js → p-5c976ac9.entry.js} +2 -2
  262. package/dist/dso-toolkit/p-5c976ac9.entry.js.map +1 -0
  263. package/dist/dso-toolkit/{p-a00c4003.entry.js → p-60301d53.entry.js} +2 -2
  264. package/dist/dso-toolkit/{p-a00c4003.entry.js.map → p-60301d53.entry.js.map} +1 -1
  265. package/dist/dso-toolkit/{p-7a6be9c1.entry.js → p-6af09f64.entry.js} +2 -2
  266. package/dist/dso-toolkit/p-6af09f64.entry.js.map +1 -0
  267. package/dist/dso-toolkit/{p-5ee79846.entry.js → p-6f533d1a.entry.js} +2 -2
  268. package/dist/dso-toolkit/p-6f533d1a.entry.js.map +1 -0
  269. package/dist/dso-toolkit/{p-f21e4ccc.entry.js → p-755e55cf.entry.js} +2 -2
  270. package/dist/dso-toolkit/p-755e55cf.entry.js.map +1 -0
  271. package/dist/dso-toolkit/{p-420e0d23.entry.js → p-7ef42606.entry.js} +2 -2
  272. package/dist/dso-toolkit/p-7ef42606.entry.js.map +1 -0
  273. package/dist/dso-toolkit/p-86133aa5.js +6 -0
  274. package/dist/dso-toolkit/p-86133aa5.js.map +1 -0
  275. package/dist/dso-toolkit/{p-669c3743.entry.js → p-8af61320.entry.js} +2 -2
  276. package/dist/dso-toolkit/p-8af61320.entry.js.map +1 -0
  277. package/dist/dso-toolkit/{p-a4d423fd.entry.js → p-8bee65a1.entry.js} +2 -2
  278. package/dist/dso-toolkit/p-8bee65a1.entry.js.map +1 -0
  279. package/dist/dso-toolkit/{p-3d4308ba.entry.js → p-95b70498.entry.js} +2 -2
  280. package/dist/dso-toolkit/p-95b70498.entry.js.map +1 -0
  281. package/dist/dso-toolkit/{p-33df9903.js → p-9747c291.js} +1 -1
  282. package/dist/dso-toolkit/p-9747c291.js.map +1 -0
  283. package/dist/dso-toolkit/{p-5e5302ef.entry.js → p-9a3f154b.entry.js} +2 -2
  284. package/dist/dso-toolkit/p-9a3f154b.entry.js.map +1 -0
  285. package/dist/dso-toolkit/{p-4da2fa8b.entry.js → p-9dbe2931.entry.js} +2 -2
  286. package/dist/dso-toolkit/p-9dbe2931.entry.js.map +1 -0
  287. package/dist/dso-toolkit/{p-423fa057.entry.js → p-a2a82d7c.entry.js} +2 -2
  288. package/dist/dso-toolkit/p-a2a82d7c.entry.js.map +1 -0
  289. package/dist/dso-toolkit/{p-604eb60b.entry.js → p-a3dc08f4.entry.js} +2 -2
  290. package/dist/dso-toolkit/p-a3dc08f4.entry.js.map +1 -0
  291. package/dist/dso-toolkit/{p-712fca2c.entry.js → p-a63c82a4.entry.js} +2 -2
  292. package/dist/dso-toolkit/p-a63c82a4.entry.js.map +1 -0
  293. package/dist/dso-toolkit/{p-b34f24b4.entry.js → p-a7186c03.entry.js} +2 -2
  294. package/dist/dso-toolkit/p-a7186c03.entry.js.map +1 -0
  295. package/dist/dso-toolkit/{p-51f19c06.entry.js → p-aadd6311.entry.js} +2 -2
  296. package/dist/dso-toolkit/p-aadd6311.entry.js.map +1 -0
  297. package/dist/dso-toolkit/{p-440fc4ae.entry.js → p-b68ac725.entry.js} +2 -2
  298. package/dist/dso-toolkit/p-b68ac725.entry.js.map +1 -0
  299. package/dist/dso-toolkit/{p-6c543986.js → p-c19cfe3f.js} +1 -1
  300. package/dist/dso-toolkit/p-c19cfe3f.js.map +1 -0
  301. package/dist/dso-toolkit/{p-6a1980b4.js → p-c87b4d11.js} +1 -1
  302. package/dist/dso-toolkit/p-c87b4d11.js.map +1 -0
  303. package/dist/dso-toolkit/{p-0dffb117.entry.js → p-cbeb00cc.entry.js} +2 -2
  304. package/dist/dso-toolkit/p-cbeb00cc.entry.js.map +1 -0
  305. package/dist/dso-toolkit/{p-8b77b083.entry.js → p-cce85c45.entry.js} +2 -2
  306. package/dist/dso-toolkit/p-cce85c45.entry.js.map +1 -0
  307. package/dist/dso-toolkit/{p-98f7ede6.entry.js → p-d37a6c95.entry.js} +2 -2
  308. package/dist/dso-toolkit/p-d37a6c95.entry.js.map +1 -0
  309. package/dist/dso-toolkit/{p-54c65314.entry.js → p-d728a136.entry.js} +2 -2
  310. package/dist/dso-toolkit/p-d728a136.entry.js.map +1 -0
  311. package/dist/dso-toolkit/{p-bcecc743.entry.js → p-dae7d6f2.entry.js} +2 -2
  312. package/dist/dso-toolkit/p-dae7d6f2.entry.js.map +1 -0
  313. package/dist/dso-toolkit/{p-b9d441d5.entry.js → p-dc6e37dd.entry.js} +2 -2
  314. package/dist/dso-toolkit/p-dc6e37dd.entry.js.map +1 -0
  315. package/dist/dso-toolkit/{p-918bcdbe.entry.js → p-f08a5a06.entry.js} +2 -2
  316. package/dist/dso-toolkit/p-f08a5a06.entry.js.map +1 -0
  317. package/dist/dso-toolkit/{p-a1060560.entry.js → p-f0bc4a9d.entry.js} +2 -2
  318. package/dist/dso-toolkit/p-f0bc4a9d.entry.js.map +1 -0
  319. package/dist/dso-toolkit/p-fbb63820.entry.js +2 -0
  320. package/dist/dso-toolkit/p-fbb63820.entry.js.map +1 -0
  321. package/dist/dso-toolkit/{p-871bfdf9.js → p-fd7891ef.js} +1 -1
  322. package/dist/dso-toolkit/p-fd7891ef.js.map +1 -0
  323. package/dist/esm/{clsx.m-25174a58.js → clsx-93f1b68e.js} +1 -1
  324. package/dist/esm/clsx-93f1b68e.js.map +1 -0
  325. package/dist/esm/{create-identifier-51ee50c4.js → create-identifier-479a4699.js} +1 -1
  326. package/dist/esm/create-identifier-479a4699.js.map +1 -0
  327. package/dist/esm/dso-accordion-section.entry.js +1 -1
  328. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  329. package/dist/esm/dso-accordion.entry.js +1 -1
  330. package/dist/esm/dso-accordion.entry.js.map +1 -1
  331. package/dist/esm/dso-action-list-item.entry.js +1 -1
  332. package/dist/esm/dso-action-list-item.entry.js.map +1 -1
  333. package/dist/esm/dso-action-list.entry.js +1 -1
  334. package/dist/esm/dso-action-list.entry.js.map +1 -1
  335. package/dist/esm/dso-alert_5.entry.js +4 -4
  336. package/dist/esm/dso-alert_5.entry.js.map +1 -1
  337. package/dist/esm/dso-annotation-output_3.entry.js +2 -2
  338. package/dist/esm/dso-annotation-output_3.entry.js.map +1 -1
  339. package/dist/esm/dso-attachments-counter.entry.js +1 -1
  340. package/dist/esm/dso-attachments-counter.entry.js.map +1 -1
  341. package/dist/esm/dso-autosuggest.entry.js +2 -2
  342. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  343. package/dist/esm/dso-banner.entry.js +2 -2
  344. package/dist/esm/dso-banner.entry.js.map +1 -1
  345. package/dist/esm/dso-card-container.entry.js +1 -1
  346. package/dist/esm/dso-card-container.entry.js.map +1 -1
  347. package/dist/esm/dso-card.entry.js +3 -3
  348. package/dist/esm/dso-card.entry.js.map +1 -1
  349. package/dist/esm/dso-date-picker.entry.js +3 -2
  350. package/dist/esm/dso-date-picker.entry.js.map +1 -1
  351. package/dist/esm/dso-dropdown-menu.entry.js +3 -3
  352. package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
  353. package/dist/esm/dso-expandable.entry.js +2 -2
  354. package/dist/esm/dso-expandable.entry.js.map +1 -1
  355. package/dist/esm/dso-header.entry.js +3 -3
  356. package/dist/esm/dso-header.entry.js.map +1 -1
  357. package/dist/esm/dso-helpcenter-panel.entry.js +3 -3
  358. package/dist/esm/dso-helpcenter-panel.entry.js.map +1 -1
  359. package/dist/esm/dso-highlight-box.entry.js +2 -2
  360. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  361. package/dist/esm/dso-icon.entry.js +1 -1
  362. package/dist/esm/dso-icon.entry.js.map +1 -1
  363. package/dist/esm/dso-image-overlay.entry.js +3 -3
  364. package/dist/esm/dso-image-overlay.entry.js.map +1 -1
  365. package/dist/esm/dso-info-button.entry.js +2 -2
  366. package/dist/esm/dso-info-button.entry.js.map +1 -1
  367. package/dist/esm/dso-info_2.entry.js +4 -4
  368. package/dist/esm/dso-info_2.entry.js.map +1 -1
  369. package/dist/esm/dso-list-button.entry.js +4 -4
  370. package/dist/esm/dso-list-button.entry.js.map +1 -1
  371. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  372. package/dist/esm/dso-map-base-layers.entry.js.map +1 -1
  373. package/dist/esm/dso-map-controls.entry.js +1 -1
  374. package/dist/esm/dso-map-controls.entry.js.map +1 -1
  375. package/dist/esm/dso-map-overlays.entry.js +1 -1
  376. package/dist/esm/dso-map-overlays.entry.js.map +1 -1
  377. package/dist/esm/dso-modal.entry.js +1 -1
  378. package/dist/esm/dso-modal.entry.js.map +1 -1
  379. package/dist/esm/dso-pagination.entry.js +2 -2
  380. package/dist/esm/dso-pagination.entry.js.map +1 -1
  381. package/dist/esm/dso-progress-bar.entry.js +1 -1
  382. package/dist/esm/dso-progress-bar.entry.js.map +1 -1
  383. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  384. package/dist/esm/dso-progress-indicator.entry.js.map +1 -1
  385. package/dist/esm/dso-responsive-element.entry.js +1 -1
  386. package/dist/esm/dso-responsive-element.entry.js.map +1 -1
  387. package/dist/esm/dso-scrollable.entry.js +2 -2
  388. package/dist/esm/dso-scrollable.entry.js.map +1 -1
  389. package/dist/esm/dso-table.entry.js +3 -3
  390. package/dist/esm/dso-table.entry.js.map +1 -1
  391. package/dist/esm/dso-toggletip.entry.js +2 -2
  392. package/dist/esm/dso-toggletip.entry.js.map +1 -1
  393. package/dist/esm/dso-toolkit.js +3 -6
  394. package/dist/esm/dso-toolkit.js.map +1 -1
  395. package/dist/esm/dso-tooltip.entry.js +4 -4
  396. package/dist/esm/dso-tooltip.entry.js.map +1 -1
  397. package/dist/esm/dso-tree-view.entry.js +2 -2
  398. package/dist/esm/dso-tree-view.entry.js.map +1 -1
  399. package/dist/esm/dso-viewer-grid.entry.js +2 -2
  400. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  401. package/dist/esm/dsot-document-component-demo.entry.js +1 -1
  402. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -1
  403. package/dist/esm/{focus-trap.esm-2a49a38f.js → focus-trap.esm-ad846bd4.js} +245 -97
  404. package/dist/esm/focus-trap.esm-ad846bd4.js.map +1 -0
  405. package/dist/esm/{has-overflow-814a0f4e.js → has-overflow-9f720f83.js} +1 -1
  406. package/dist/esm/has-overflow-9f720f83.js.map +1 -0
  407. package/dist/esm/{index-3e9ed0c5.js → index-f82ed648.js} +91 -19
  408. package/dist/esm/index-f82ed648.js.map +1 -0
  409. package/dist/esm/{index.esm-3d6c8190.js → index.esm-7e16e884.js} +49 -17
  410. package/dist/esm/index.esm-7e16e884.js.map +1 -0
  411. package/dist/esm/{is-modified-event-34370220.js → is-modified-event-587a0b0a.js} +1 -1
  412. package/dist/esm/is-modified-event-587a0b0a.js.map +1 -0
  413. package/dist/esm/loader.js +3 -12
  414. package/dist/esm/loader.js.map +1 -1
  415. package/dist/types/stencil-public-runtime.d.ts +14 -2
  416. package/loader/index.d.ts +1 -1
  417. package/package.json +13 -13
  418. package/dist/cjs/clsx.m-b81c6b86.js.map +0 -1
  419. package/dist/cjs/create-identifier-6ee2a08b.js.map +0 -1
  420. package/dist/cjs/focus-trap.esm-a5b7273f.js.map +0 -1
  421. package/dist/cjs/has-overflow-d7baff1e.js.map +0 -1
  422. package/dist/cjs/index-d4003ee3.js.map +0 -1
  423. package/dist/cjs/index.esm-0e935715.js.map +0 -1
  424. package/dist/cjs/is-modified-event-dcab03a0.js.map +0 -1
  425. package/dist/components/clsx.m.js.map +0 -1
  426. package/dist/dso-toolkit/p-0dffb117.entry.js.map +0 -1
  427. package/dist/dso-toolkit/p-14aa091d.entry.js +0 -2
  428. package/dist/dso-toolkit/p-14aa091d.entry.js.map +0 -1
  429. package/dist/dso-toolkit/p-1a1a43fd.js +0 -3
  430. package/dist/dso-toolkit/p-1a1a43fd.js.map +0 -1
  431. package/dist/dso-toolkit/p-1c721290.entry.js.map +0 -1
  432. package/dist/dso-toolkit/p-22baee8e.entry.js.map +0 -1
  433. package/dist/dso-toolkit/p-2ccbf58d.entry.js.map +0 -1
  434. package/dist/dso-toolkit/p-33df9903.js.map +0 -1
  435. package/dist/dso-toolkit/p-3cbf8b97.entry.js.map +0 -1
  436. package/dist/dso-toolkit/p-3d4308ba.entry.js.map +0 -1
  437. package/dist/dso-toolkit/p-420e0d23.entry.js.map +0 -1
  438. package/dist/dso-toolkit/p-423fa057.entry.js.map +0 -1
  439. package/dist/dso-toolkit/p-440fc4ae.entry.js.map +0 -1
  440. package/dist/dso-toolkit/p-4bc67e5c.entry.js.map +0 -1
  441. package/dist/dso-toolkit/p-4da2fa8b.entry.js.map +0 -1
  442. package/dist/dso-toolkit/p-4e86089d.entry.js.map +0 -1
  443. package/dist/dso-toolkit/p-51f19c06.entry.js.map +0 -1
  444. package/dist/dso-toolkit/p-54c65314.entry.js.map +0 -1
  445. package/dist/dso-toolkit/p-5950644a.js +0 -6
  446. package/dist/dso-toolkit/p-5950644a.js.map +0 -1
  447. package/dist/dso-toolkit/p-5e5302ef.entry.js.map +0 -1
  448. package/dist/dso-toolkit/p-5ee79846.entry.js.map +0 -1
  449. package/dist/dso-toolkit/p-604eb60b.entry.js.map +0 -1
  450. package/dist/dso-toolkit/p-669c3743.entry.js.map +0 -1
  451. package/dist/dso-toolkit/p-6a1980b4.js.map +0 -1
  452. package/dist/dso-toolkit/p-6c543986.js.map +0 -1
  453. package/dist/dso-toolkit/p-712fca2c.entry.js.map +0 -1
  454. package/dist/dso-toolkit/p-745b6678.entry.js.map +0 -1
  455. package/dist/dso-toolkit/p-7a6be9c1.entry.js.map +0 -1
  456. package/dist/dso-toolkit/p-871bfdf9.js.map +0 -1
  457. package/dist/dso-toolkit/p-8b77b083.entry.js.map +0 -1
  458. package/dist/dso-toolkit/p-8f8dd254.entry.js +0 -2
  459. package/dist/dso-toolkit/p-8f8dd254.entry.js.map +0 -1
  460. package/dist/dso-toolkit/p-918bcdbe.entry.js.map +0 -1
  461. package/dist/dso-toolkit/p-91963e3d.js +0 -6
  462. package/dist/dso-toolkit/p-91963e3d.js.map +0 -1
  463. package/dist/dso-toolkit/p-98f7ede6.entry.js.map +0 -1
  464. package/dist/dso-toolkit/p-a0798096.entry.js +0 -2
  465. package/dist/dso-toolkit/p-a0798096.entry.js.map +0 -1
  466. package/dist/dso-toolkit/p-a1060560.entry.js.map +0 -1
  467. package/dist/dso-toolkit/p-a4d423fd.entry.js.map +0 -1
  468. package/dist/dso-toolkit/p-b34f24b4.entry.js.map +0 -1
  469. package/dist/dso-toolkit/p-b911f052.entry.js +0 -2
  470. package/dist/dso-toolkit/p-b911f052.entry.js.map +0 -1
  471. package/dist/dso-toolkit/p-b9d441d5.entry.js.map +0 -1
  472. package/dist/dso-toolkit/p-bc9e3037.entry.js.map +0 -1
  473. package/dist/dso-toolkit/p-bcecc743.entry.js.map +0 -1
  474. package/dist/dso-toolkit/p-e69d7e62.entry.js.map +0 -1
  475. package/dist/dso-toolkit/p-f21e4ccc.entry.js.map +0 -1
  476. package/dist/esm/create-identifier-51ee50c4.js.map +0 -1
  477. package/dist/esm/focus-trap.esm-2a49a38f.js.map +0 -1
  478. package/dist/esm/has-overflow-814a0f4e.js.map +0 -1
  479. package/dist/esm/index-3e9ed0c5.js.map +0 -1
  480. package/dist/esm/index.esm-3d6c8190.js.map +0 -1
  481. package/dist/esm/is-modified-event-34370220.js.map +0 -1
  482. package/dist/esm/polyfills/css-shim.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { h, Fragment, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
2
2
  import { i as isTabbable } from './index.esm.js';
3
- import { c as clsx } from './clsx.m.js';
3
+ import { c as clsx } from './clsx.js';
4
4
  import { v as v4 } from './v4.js';
5
5
 
6
6
  function getNodeName(node) {
@@ -488,7 +488,7 @@ class Mapper {
488
488
  }
489
489
  }
490
490
 
491
- const ozonContentCss = "ins {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n text-decoration: none;\n}\n\ndel {\n background-color: #f5d8dc;\n color: #000;\n}\n\n:host(:not([inline])) {\n display: block;\n}\n\n:host([inline]) {\n display: inline;\n}\n\n:host([deleted]) * {\n text-decoration: line-through !important;\n}\n\n:host([interactive]) {\n background-color: transparent;\n color: #39870c;\n text-decoration: underline;\n cursor: pointer;\n color: #275937;\n font-weight: 600;\n text-decoration: none;\n}\n:host([interactive]):hover, :host([interactive]):focus {\n color: #676cb0;\n text-decoration: underline;\n}\n:host([interactive]):active {\n text-decoration: none;\n}\n\n:host([interactive=sub]) {\n color: #191919;\n}\n\n.sr-only,\n.deleted-start,\n.deleted-end {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nbutton.toggle-note {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\nbutton.toggle-note:focus, button.toggle-note:focus-visible {\n outline-offset: 2px;\n}\nbutton.toggle-note:active {\n outline: 0;\n}\nbutton.toggle-note[disabled] {\n color: #afcf9d;\n}\nbutton.toggle-note[disabled].dso-spinner-left, button.toggle-note[disabled].dso-spinner-right {\n color: #39870c;\n}\nbutton.toggle-note:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\nbutton.toggle-note:not([disabled]):active {\n color: #173521;\n}\nbutton.toggle-note.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\nbutton.toggle-note.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\nbutton.toggle-note.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\nbutton.toggle-note.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\nbutton.toggle-note dso-icon + span:not(.sr-only),\nbutton.toggle-note svg.di + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + dso-icon,\nbutton.toggle-note span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\nbutton.toggle-note svg.di.di-chevron-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-chevron-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\nbutton.toggle-note dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.toggle-note dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-up,\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\nbutton.toggle-note dso-icon,\nbutton.toggle-note svg.di,\nbutton.toggle-note span {\n vertical-align: middle;\n}\n\nspan[role=section],\nspan[role=paragraph] {\n display: block;\n}\n\n:host(:not([inline])) .fallback {\n display: block;\n}\n\na {\n background-color: transparent;\n color: #39870c;\n text-decoration: underline;\n}\na:hover, a:focus {\n color: #676cb0;\n text-decoration: underline;\n}\na:active {\n text-decoration: none;\n}\na:visited {\n color: #8b4a6a;\n}\n\n.od-Term {\n font-weight: 700;\n}\n\n.od-Definitie,\n.od-Tussenkop {\n font-style: italic;\n}\n\n.od-Inhoud,\n.od-Inhoud > .od-Lijst,\n.od-IntIoRef,\n.od-Lidnr,\n.od-LiNr,\n.od-Opschrift,\n.od-Tussenkop {\n display: inline;\n}\n\n.od-Al {\n margin-bottom: 0.75em;\n}\n\n.od-IntIoRef {\n border-bottom: 1px dotted;\n}\n\n.dso-ozon-bron {\n font-style: italic;\n font-size: 0.75rem;\n}\n\n.dso-ozon-figuur {\n margin-bottom: 16px;\n}\n.dso-ozon-figuur .figuur-bijschrift {\n display: block;\n font-size: 0.75rem;\n font-style: italic;\n}\n.dso-ozon-figuur.bijschrift-boven .figuur-bijschrift {\n padding-bottom: 0.25rem;\n}\n.dso-ozon-figuur.bijschrift-onder .figuur-bijschrift {\n padding-top: 0.25rem;\n}\n.dso-ozon-figuur .figuur-titel {\n color: #8b4a6a;\n display: block;\n font-weight: 500;\n padding-bottom: 0.5rem;\n}\n\n.dso-ozon-lijst span.od-Lijstaanhef,\n.dso-ozon-lijst span.od-Lijstsluiting {\n margin-bottom: 1rem;\n}\n.dso-ozon-lijst ul.expliciet {\n list-style: none;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li {\n position: relative;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li > span.od-LiNummer {\n position: absolute;\n left: -44px;\n text-align: right;\n width: 40px;\n}\n\n.od-Tabel thead {\n font-weight: 600;\n}\n\n.od-Kadertekst {\n border: 1px solid #e5e5e5;\n margin-bottom: 1rem;\n padding: 1rem;\n}\n\n.dso-del {\n background-color: #f5d8dc;\n color: #000;\n text-decoration: line-through;\n}\n.dso-del a {\n color: #000;\n}\n\n.dso-ins {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n}\n.dso-ins a {\n color: #000;\n}\n\n.dso-rich-content p {\n margin: 0 0 16px;\n}\n.dso-rich-content ul,\n.dso-rich-content ol {\n margin-bottom: 16px;\n}\n.dso-rich-content ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\n.dso-rich-content ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\n.dso-rich-content pre {\n margin: 0 0 16px;\n}\n.dso-rich-content blockquote {\n padding: 16px 24px;\n}\n.dso-rich-content dso-highlight-box,\n.dso-rich-content .dso-highlight-box {\n margin-bottom: 24px;\n}\n.dso-rich-content img {\n height: auto;\n max-width: 100%;\n}";
491
+ const ozonContentCss = "ins {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n text-decoration: none;\n}\n\ndel {\n background-color: #f5d8dc;\n color: #000;\n}\n\n:host(:not([inline])) {\n display: block;\n}\n\n:host([inline]) {\n display: inline;\n}\n\n:host([deleted]) * {\n text-decoration: line-through !important;\n}\n\n:host([interactive]) {\n background-color: transparent;\n color: var(--link-color);\n text-decoration: underline;\n cursor: pointer;\n color: #275937;\n font-weight: 600;\n text-decoration: none;\n}\n:host([interactive]):hover, :host([interactive]):focus {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\n:host([interactive]):active {\n text-decoration: none;\n}\n\n:host([interactive=sub]) {\n color: #191919;\n}\n\n.sr-only,\n.deleted-start,\n.deleted-end {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nbutton.toggle-note {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\nbutton.toggle-note:focus, button.toggle-note:focus-visible {\n outline-offset: 2px;\n}\nbutton.toggle-note:active {\n outline: 0;\n}\nbutton.toggle-note[disabled] {\n color: #afcf9d;\n}\nbutton.toggle-note[disabled].dso-spinner-left, button.toggle-note[disabled].dso-spinner-right {\n color: #39870c;\n}\nbutton.toggle-note:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\nbutton.toggle-note:not([disabled]):active {\n color: #173521;\n}\nbutton.toggle-note.dso-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\nbutton.toggle-note.dso-truncate {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\nbutton.toggle-note.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\nbutton.toggle-note.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\nbutton.toggle-note dso-icon + span:not(.sr-only),\nbutton.toggle-note svg.di + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + dso-icon,\nbutton.toggle-note span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\nbutton.toggle-note svg.di.di-chevron-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-chevron-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\nbutton.toggle-note dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.toggle-note dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-down + span:not(.sr-only),\nbutton.toggle-note svg.di.di-angle-up + span:not(.sr-only),\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-down,\nbutton.toggle-note span:not(.sr-only) + svg.di.di-angle-up,\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.toggle-note span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\nbutton.toggle-note dso-icon,\nbutton.toggle-note svg.di,\nbutton.toggle-note span {\n vertical-align: middle;\n}\n\nspan[role=section],\nspan[role=paragraph] {\n display: block;\n}\n\n:host(:not([inline])) .fallback {\n display: block;\n}\n\na {\n background-color: transparent;\n color: var(--link-color);\n text-decoration: underline;\n}\na:hover, a:focus {\n color: var(--link-hover-color);\n text-decoration: underline;\n}\na:active {\n text-decoration: none;\n}\na:visited {\n color: var(--link-visited-color);\n}\n\n.od-Term {\n font-weight: 700;\n}\n\n.od-Definitie,\n.od-Tussenkop {\n font-style: italic;\n}\n\n.od-Inhoud,\n.od-Inhoud > .od-Lijst,\n.od-IntIoRef,\n.od-Lidnr,\n.od-LiNr,\n.od-Opschrift,\n.od-Tussenkop {\n display: inline;\n}\n\n.od-Al {\n margin-bottom: 0.75em;\n}\n\n.od-IntIoRef {\n border-bottom: 1px dotted;\n}\n\n.dso-ozon-bron {\n font-style: italic;\n font-size: 0.75rem;\n}\n\n.dso-ozon-figuur {\n margin-bottom: 16px;\n}\n.dso-ozon-figuur .figuur-bijschrift {\n display: block;\n font-size: 0.75rem;\n font-style: italic;\n}\n.dso-ozon-figuur.bijschrift-boven .figuur-bijschrift {\n padding-bottom: 0.25rem;\n}\n.dso-ozon-figuur.bijschrift-onder .figuur-bijschrift {\n padding-top: 0.25rem;\n}\n.dso-ozon-figuur .figuur-titel {\n color: #8b4a6a;\n display: block;\n font-weight: 500;\n padding-bottom: 0.5rem;\n}\n\n.dso-ozon-lijst span.od-Lijstaanhef,\n.dso-ozon-lijst span.od-Lijstsluiting {\n margin-bottom: 1rem;\n}\n.dso-ozon-lijst ul.expliciet {\n list-style: none;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li {\n position: relative;\n}\n.dso-ozon-lijst ul.expliciet > .od-Li > span.od-LiNummer {\n position: absolute;\n left: -44px;\n text-align: right;\n width: 40px;\n}\n\n.od-Tabel thead {\n font-weight: 600;\n}\n\n.od-Kadertekst {\n border: 1px solid #e5e5e5;\n margin-bottom: 1rem;\n padding: 1rem;\n}\n\n.dso-del {\n background-color: #f5d8dc;\n color: #000;\n text-decoration: line-through;\n}\n.dso-del a {\n color: #000;\n}\n\n.dso-ins {\n background-color: #e4f1d4;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);\n color: #000;\n}\n.dso-ins a {\n color: #000;\n}\n\n.dso-rich-content p {\n margin: 0 0 16px;\n}\n.dso-rich-content ul,\n.dso-rich-content ol {\n margin-bottom: 16px;\n}\n.dso-rich-content ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),\n.dso-rich-content ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {\n padding-inline-start: 24px;\n}\n.dso-rich-content pre {\n margin: 0 0 16px;\n}\n.dso-rich-content blockquote {\n padding: 16px 24px;\n}\n.dso-rich-content dso-highlight-box,\n.dso-rich-content .dso-highlight-box {\n margin-bottom: 24px;\n}\n.dso-rich-content img {\n height: auto;\n max-width: 100%;\n}";
492
492
 
493
493
  const OzonContent = /*@__PURE__*/ proxyCustomElement(class OzonContent extends HTMLElement {
494
494
  constructor() {
@@ -1 +1 @@
1
- {"file":"ozon-content.js","mappings":"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","names":["uuidv4"],"sources":["./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","./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"],"sourcesContent":["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\n\r\nexport class OzonContentAlNode implements OzonContentNode {\r\n name = \"Al\";\r\n\r\n render(node: Element, { mapNodeToJsx, path }: OzonContentNodeContext) {\r\n const nestedAl = path.some((n) => {\r\n const nodeName = getNodeName(n);\r\n\r\n return nodeName === \"Al\" || nodeName === \"Opschrift\";\r\n });\r\n\r\n const content = mapNodeToJsx(node.childNodes);\r\n\r\n return nestedAl ? <span role=\"paragraph\">{content}</span> : <p>{content}</p>;\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","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 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\r\n return (\r\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={href ?? undefined}>\r\n <span class=\"sr-only\">opent in nieuw venster </span>\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 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 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>\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 return <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\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>{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 return <Fragment>{mapNodeToJsx(node.childNodes)}</Fragment>;\r\n }\r\n}\r\n","import { 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) => {\r\n const colNumber = element.getAttribute(\"colnum\");\r\n\r\n return {\r\n name: element.getAttribute(\"colname\") ?? \"\",\r\n number: colNumber ? parseInt(colNumber, 10) : index + 1,\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, JSXBase } from \"@stencil/core/internal\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nfunction getData(cell: Element) {\r\n return {\r\n moreRows: cell.getAttribute(\"morerows\"),\r\n nameStart: cell.getAttribute(\"namest\"),\r\n nameEnd: cell.getAttribute(\"nameend\"),\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 } = getData(cell);\r\n\r\n const td: JSXBase.TdHTMLAttributes<HTMLTableCellElement> = {\r\n rowSpan: moreRows ? parseInt(moreRows, 10) + 1 : undefined,\r\n colSpan: colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined,\r\n };\r\n\r\n return <td {...td}>{mapNodeToJsx(cell.childNodes)}</td>;\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 editAction: node.getAttribute(\"wijzigactie\"),\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, editAction } = 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 dso-table-vertical-lines\", {\r\n \"dso-del\": editAction === \"verwijder\",\r\n \"dso-ins\": editAction === \"voegtoe\",\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\n\r\nexport class OzonContentTextNode implements OzonContentNode {\r\n name = \"#text\";\r\n\r\n render(node: Node) {\r\n return <Fragment>{node.textContent}</Fragment>;\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>{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\n\r\nexport class Mapper {\r\n private cache: { xml: string; document: Document } | undefined;\r\n\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 = new 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 mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),\r\n emitAnchorClick: context.emitAnchorClick,\r\n setState,\r\n state,\r\n path,\r\n });\r\n }\r\n\r\n transform(xml: string, context: OzonContentContext): JSX.Element {\r\n if (!xml) {\r\n return <Fragment />;\r\n }\r\n\r\n if (!this.cache || this.cache.xml !== xml) {\r\n const document = this.domParser.parseFromString(xml, \"text/xml\");\r\n if (document.querySelector(\"html > body > parsererror\")) {\r\n console.error(document);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n this.cache = { xml, document };\r\n }\r\n\r\n const xmlDocument = this.cache.document;\r\n\r\n return this.mapNodeToJsx(xmlDocument.getRootNode(), context, []);\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/variables/colors\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/insert/insert\";\r\n@use \"~dso-toolkit/src/components/delete/delete\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\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:host([deleted]) {\r\n * {\r\n text-decoration: line-through !important;\r\n }\r\n}\r\n\r\n:host([interactive]) {\r\n @include anchor.root($is-html-a-element: false);\r\n\r\n color: colors.$bosgroen;\r\n font-weight: 600;\r\n text-decoration: none;\r\n}\r\n\r\n:host([interactive=\"sub\"]) {\r\n color: colors.$grijs-90;\r\n}\r\n\r\n.sr-only,\r\n.deleted-start,\r\n.deleted-end {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton.toggle-note {\r\n @include button.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.$u2;\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.$ru2;\r\n }\r\n\r\n ul {\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\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: 1rem;\r\n padding: 1rem;\r\n}\r\n\r\n.dso-del {\r\n background-color: colors.$danger-bg-color;\r\n color: colors.$zwart;\r\n text-decoration: line-through;\r\n\r\n a {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n.dso-ins {\r\n background-color: colors.$success-bg-color;\r\n box-shadow: insert.$insert-box-shadow;\r\n color: colors.$zwart;\r\n\r\n a {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n.dso-rich-content {\r\n @include rich-content.children();\r\n}\r\n","import { h, Component, ComponentInterface, Element, Event, EventEmitter, Prop, State, Host, JSX } from \"@stencil/core\";\r\nimport { isTabbable } from \"tabbable\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentAnchorClick, OzonContentClick } from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\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: string | undefined;\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 * Marks content as deleted using visual and accessible clues.\r\n */\r\n @Prop({ reflect: true })\r\n deleted = false;\r\n\r\n /**\r\n * Visualize the component as interactive. This means that the component will emit `dsoClick` events when the user clicks non-interactive elements.\r\n *\r\n * **Do not** use this without an accessible companion element! `interactive` is only\r\n * meant to ease the use of the companion element for mouse/touch users.\r\n *\r\n * * `true`: Interactive anchor-look-alike\r\n * * `\"sub\"`: Interactive anchor-look-alike for sub navigation\r\n * * `false | undefined`: Disabled\r\n */\r\n @Prop({ reflect: true })\r\n interactive: \"sub\" | \"\" | boolean = false;\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event()\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClick>;\r\n\r\n /**\r\n * These events are only emitted when the component is `interactive`.\r\n */\r\n @Event()\r\n dsoClick!: EventEmitter<OzonContentClick>;\r\n\r\n @Element()\r\n host!: HTMLDsoOzonContentElement;\r\n\r\n private mapper = new Mapper();\r\n\r\n private handleHostOnClick(e: UIEvent) {\r\n // '' is `true`: <dso-ozon-content interactive>\r\n if (this.interactive !== \"\" && !this.interactive) {\r\n return;\r\n }\r\n\r\n const doIt =\r\n e\r\n .composedPath()\r\n .find(\r\n (eventTarget) => eventTarget === this.host || (eventTarget instanceof HTMLElement && isTabbable(eventTarget))\r\n ) === this.host;\r\n\r\n if (doIt) {\r\n this.dsoClick.emit({ originalEvent: e });\r\n }\r\n }\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n setState: (state) => (this.state = state),\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = this.mapper.transform(this.content ?? \"\", context);\r\n\r\n if (this.deleted) {\r\n return (\r\n <section>\r\n <slot name=\"prefix\" />\r\n <span class=\"deleted-start\">Begin verwijderd element</span>\r\n {transformed}\r\n <span class=\"deleted-end\">Einde verwijderd element</span>\r\n <slot name=\"suffix\" />\r\n </section>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={(e: UIEvent) => this.handleHostOnClick(e)}>\r\n <slot name=\"prefix\" />\r\n {transformed}\r\n <slot name=\"suffix\" />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"ozon-content.js","mappings":"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","names":["uuidv4"],"sources":["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","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"],"sourcesContent":["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\n\r\nexport class OzonContentAlNode implements OzonContentNode {\r\n name = \"Al\";\r\n\r\n render(node: Element, { mapNodeToJsx, path }: OzonContentNodeContext) {\r\n const nestedAl = path.some((n) => {\r\n const nodeName = getNodeName(n);\r\n\r\n return nodeName === \"Al\" || nodeName === \"Opschrift\";\r\n });\r\n\r\n const content = mapNodeToJsx(node.childNodes);\r\n\r\n return nestedAl ? <span role=\"paragraph\">{content}</span> : <p>{content}</p>;\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","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 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\r\n return (\r\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={href ?? undefined}>\r\n <span class=\"sr-only\">opent in nieuw venster </span>\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 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 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>\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 return <div class=\"dso-rich-content\">{mapNodeToJsx(node.childNodes)}</div>;\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>{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 return <Fragment>{mapNodeToJsx(node.childNodes)}</Fragment>;\r\n }\r\n}\r\n","import { 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) => {\r\n const colNumber = element.getAttribute(\"colnum\");\r\n\r\n return {\r\n name: element.getAttribute(\"colname\") ?? \"\",\r\n number: colNumber ? parseInt(colNumber, 10) : index + 1,\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, JSXBase } from \"@stencil/core/internal\";\r\n\r\nimport { OzonContentNodeContext } from \"../../ozon-content-node-context.interface\";\r\nimport { Colspecs } from \"./colspec/colspec.interface\";\r\n\r\nfunction getData(cell: Element) {\r\n return {\r\n moreRows: cell.getAttribute(\"morerows\"),\r\n nameStart: cell.getAttribute(\"namest\"),\r\n nameEnd: cell.getAttribute(\"nameend\"),\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 } = getData(cell);\r\n\r\n const td: JSXBase.TdHTMLAttributes<HTMLTableCellElement> = {\r\n rowSpan: moreRows ? parseInt(moreRows, 10) + 1 : undefined,\r\n colSpan: colspecs && nameStart && nameEnd ? getColspan(colspecs, nameStart, nameEnd) : undefined,\r\n };\r\n\r\n return <td {...td}>{mapNodeToJsx(cell.childNodes)}</td>;\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 editAction: node.getAttribute(\"wijzigactie\"),\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, editAction } = 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 dso-table-vertical-lines\", {\r\n \"dso-del\": editAction === \"verwijder\",\r\n \"dso-ins\": editAction === \"voegtoe\",\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\n\r\nexport class OzonContentTextNode implements OzonContentNode {\r\n name = \"#text\";\r\n\r\n render(node: Node) {\r\n return <Fragment>{node.textContent}</Fragment>;\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>{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\n\r\nexport class Mapper {\r\n private cache: { xml: string; document: Document } | undefined;\r\n\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 = new 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 mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),\r\n emitAnchorClick: context.emitAnchorClick,\r\n setState,\r\n state,\r\n path,\r\n });\r\n }\r\n\r\n transform(xml: string, context: OzonContentContext): JSX.Element {\r\n if (!xml) {\r\n return <Fragment />;\r\n }\r\n\r\n if (!this.cache || this.cache.xml !== xml) {\r\n const document = this.domParser.parseFromString(xml, \"text/xml\");\r\n if (document.querySelector(\"html > body > parsererror\")) {\r\n console.error(document);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n this.cache = { xml, document };\r\n }\r\n\r\n const xmlDocument = this.cache.document;\r\n\r\n return this.mapNodeToJsx(xmlDocument.getRootNode(), context, []);\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/variables/colors\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/insert/insert\";\r\n@use \"~dso-toolkit/src/components/delete/delete\";\r\n@use \"~dso-toolkit/src/components/rich-content\";\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:host([deleted]) {\r\n * {\r\n text-decoration: line-through !important;\r\n }\r\n}\r\n\r\n:host([interactive]) {\r\n @include anchor.root($is-html-a-element: false);\r\n\r\n color: colors.$bosgroen;\r\n font-weight: 600;\r\n text-decoration: none;\r\n}\r\n\r\n:host([interactive=\"sub\"]) {\r\n color: colors.$grijs-90;\r\n}\r\n\r\n.sr-only,\r\n.deleted-start,\r\n.deleted-end {\r\n @include utilities.sr-only();\r\n}\r\n\r\nbutton.toggle-note {\r\n @include button.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.$u2;\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.$ru2;\r\n }\r\n\r\n ul {\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\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: 1rem;\r\n padding: 1rem;\r\n}\r\n\r\n.dso-del {\r\n background-color: colors.$danger-bg-color;\r\n color: colors.$zwart;\r\n text-decoration: line-through;\r\n\r\n a {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n.dso-ins {\r\n background-color: colors.$success-bg-color;\r\n box-shadow: insert.$insert-box-shadow;\r\n color: colors.$zwart;\r\n\r\n a {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n.dso-rich-content {\r\n @include rich-content.children();\r\n}\r\n","import { h, Component, ComponentInterface, Element, Event, EventEmitter, Prop, State, Host, JSX } from \"@stencil/core\";\r\nimport { isTabbable } from \"tabbable\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentAnchorClick, OzonContentClick } from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\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: string | undefined;\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 * Marks content as deleted using visual and accessible clues.\r\n */\r\n @Prop({ reflect: true })\r\n deleted = false;\r\n\r\n /**\r\n * Visualize the component as interactive. This means that the component will emit `dsoClick` events when the user clicks non-interactive elements.\r\n *\r\n * **Do not** use this without an accessible companion element! `interactive` is only\r\n * meant to ease the use of the companion element for mouse/touch users.\r\n *\r\n * * `true`: Interactive anchor-look-alike\r\n * * `\"sub\"`: Interactive anchor-look-alike for sub navigation\r\n * * `false | undefined`: Disabled\r\n */\r\n @Prop({ reflect: true })\r\n interactive: \"sub\" | \"\" | boolean = false;\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event()\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClick>;\r\n\r\n /**\r\n * These events are only emitted when the component is `interactive`.\r\n */\r\n @Event()\r\n dsoClick!: EventEmitter<OzonContentClick>;\r\n\r\n @Element()\r\n host!: HTMLDsoOzonContentElement;\r\n\r\n private mapper = new Mapper();\r\n\r\n private handleHostOnClick(e: UIEvent) {\r\n // '' is `true`: <dso-ozon-content interactive>\r\n if (this.interactive !== \"\" && !this.interactive) {\r\n return;\r\n }\r\n\r\n const doIt =\r\n e\r\n .composedPath()\r\n .find(\r\n (eventTarget) => eventTarget === this.host || (eventTarget instanceof HTMLElement && isTabbable(eventTarget))\r\n ) === this.host;\r\n\r\n if (doIt) {\r\n this.dsoClick.emit({ originalEvent: e });\r\n }\r\n }\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n setState: (state) => (this.state = state),\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = this.mapper.transform(this.content ?? \"\", context);\r\n\r\n if (this.deleted) {\r\n return (\r\n <section>\r\n <slot name=\"prefix\" />\r\n <span class=\"deleted-start\">Begin verwijderd element</span>\r\n {transformed}\r\n <span class=\"deleted-end\">Einde verwijderd element</span>\r\n <slot name=\"suffix\" />\r\n </section>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={(e: UIEvent) => this.handleHostOnClick(e)}>\r\n <slot name=\"prefix\" />\r\n {transformed}\r\n <slot name=\"suffix\" />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"progress-indicator.js","mappings":";;AAAA,MAAM,oBAAoB,GAAG,oyBAAoyB;;MCOpzB,iBAAiB;;;;;iBAKpB,kDAAkD;;;;EAgB1D,MAAM;IACJ,QACE,EAAC,IAAI,QACH,YAAM,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,aAAa,qBAAiB,0BAA0B,IAExG,WAAK,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,4BAA4B,IAC3E,iBACG;;;;;eAKA,CACK,EACR,cAAQ,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,kBAAc,IAAI,oBAAgB,MAAM,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAU,CACrG,CACD,EACP,YAAM,EAAE,EAAC,0BAA0B,EAAC,KAAK,EAAC,8BAA8B,IACrE,IAAI,CAAC,KAAK,CACN,CACF,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/progress-indicator/progress-indicator.scss?tag=dso-progress-indicator&encapsulation=shadow","./src/components/progress-indicator/progress-indicator.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/progress-indicator\";\r\n\r\n@include utilities.box-sizing();\r\n@include progress-indicator.root();\r\n\r\n:host([block]) {\r\n @include progress-indicator.block();\r\n}\r\n\r\n:host([size=\"small\"]),\r\n:host(:not([size=\"medium\"]):not([size=\"large\"])) {\r\n @include progress-indicator.small();\r\n\r\n &:host([block]) {\r\n @include progress-indicator.small-block();\r\n }\r\n}\r\n\r\n:host([size=\"medium\"]) {\r\n @include progress-indicator.medium();\r\n\r\n &:host([block]) {\r\n @include progress-indicator.medium-block();\r\n }\r\n}\r\n\r\n:host([size=\"large\"]) {\r\n @include progress-indicator.large();\r\n\r\n &:host([block]) {\r\n @include progress-indicator.large-block();\r\n }\r\n}\r\n","import { Component, h, Host, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-progress-indicator\",\r\n styleUrl: \"progress-indicator.scss\",\r\n shadow: true,\r\n})\r\nexport class Progressindicator {\r\n /**\r\n * The label of the Progress Indicator.\r\n */\r\n @Prop()\r\n label = \"Resultaten laden: een moment geduld alstublieft.\";\r\n\r\n /**\r\n * The size (width) of the Progress Indicator.\r\n *\r\n * If no size is set, falls back to `small`.\r\n */\r\n @Prop({ reflect: true })\r\n size?: \"small\" | \"medium\" | \"large\";\r\n\r\n /**\r\n * Set for bloatier Progress Indicator.\r\n */\r\n @Prop()\r\n block?: boolean;\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <span class=\"dso-progress-indicator-spinner\" role=\"progressbar\" aria-labelledby=\"progress-indicator-label\">\r\n {/* Keep in sync with /packages/css/src/components/progress-indicator/progress-indicator.scss */}\r\n <svg class=\"spinner\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <style>\r\n {`\r\n .spinner { animation: rotator 8s linear infinite; transform-origin: center; }\r\n @keyframes rotator { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\r\n .path { stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: #39870c; animation: dash 2s ease-in-out infinite; }\r\n @keyframes dash { 0% { stroke-dashoffset: 265; } 50% { stroke-dashoffset: 65; transform:rotate(90deg); } 100% { stroke-dashoffset: 265; transform:rotate(360deg); }\r\n `}\r\n </style>\r\n <circle class=\"path\" fill=\"none\" stroke-width=\"10\" stroke-linecap=\"butt\" cx=\"50\" cy=\"50\" r=\"45\"></circle>\r\n </svg>\r\n </span>\r\n <span id=\"progress-indicator-label\" class=\"dso-progress-indicator-label\">\r\n {this.label}\r\n </span>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"progress-indicator.js","mappings":";;AAAA,MAAM,oBAAoB,GAAG,oyBAAoyB;;MCOpzB,iBAAiB;;;;;iBAKpB,kDAAkD;;;;EAgB1D,MAAM;IACJ,QACE,EAAC,IAAI,QACH,YAAM,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,aAAa,qBAAiB,0BAA0B,IAExG,WAAK,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,4BAA4B,IAC3E,iBACG;;;;;eAKA,CACK,EACR,cAAQ,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,kBAAc,IAAI,oBAAgB,MAAM,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAU,CACrG,CACD,EACP,YAAM,EAAE,EAAC,0BAA0B,EAAC,KAAK,EAAC,8BAA8B,IACrE,IAAI,CAAC,KAAK,CACN,CACF,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/progress-indicator/progress-indicator.scss?tag=dso-progress-indicator&encapsulation=shadow","src/components/progress-indicator/progress-indicator.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/progress-indicator\";\r\n\r\n@include utilities.box-sizing();\r\n@include progress-indicator.root();\r\n\r\n:host([block]) {\r\n @include progress-indicator.block();\r\n}\r\n\r\n:host([size=\"small\"]),\r\n:host(:not([size=\"medium\"]):not([size=\"large\"])) {\r\n @include progress-indicator.small();\r\n\r\n &:host([block]) {\r\n @include progress-indicator.small-block();\r\n }\r\n}\r\n\r\n:host([size=\"medium\"]) {\r\n @include progress-indicator.medium();\r\n\r\n &:host([block]) {\r\n @include progress-indicator.medium-block();\r\n }\r\n}\r\n\r\n:host([size=\"large\"]) {\r\n @include progress-indicator.large();\r\n\r\n &:host([block]) {\r\n @include progress-indicator.large-block();\r\n }\r\n}\r\n","import { Component, h, Host, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-progress-indicator\",\r\n styleUrl: \"progress-indicator.scss\",\r\n shadow: true,\r\n})\r\nexport class Progressindicator {\r\n /**\r\n * The label of the Progress Indicator.\r\n */\r\n @Prop()\r\n label = \"Resultaten laden: een moment geduld alstublieft.\";\r\n\r\n /**\r\n * The size (width) of the Progress Indicator.\r\n *\r\n * If no size is set, falls back to `small`.\r\n */\r\n @Prop({ reflect: true })\r\n size?: \"small\" | \"medium\" | \"large\";\r\n\r\n /**\r\n * Set for bloatier Progress Indicator.\r\n */\r\n @Prop()\r\n block?: boolean;\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <span class=\"dso-progress-indicator-spinner\" role=\"progressbar\" aria-labelledby=\"progress-indicator-label\">\r\n {/* Keep in sync with /packages/css/src/components/progress-indicator/progress-indicator.scss */}\r\n <svg class=\"spinner\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <style>\r\n {`\r\n .spinner { animation: rotator 8s linear infinite; transform-origin: center; }\r\n @keyframes rotator { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\r\n .path { stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: #39870c; animation: dash 2s ease-in-out infinite; }\r\n @keyframes dash { 0% { stroke-dashoffset: 265; } 50% { stroke-dashoffset: 65; transform:rotate(90deg); } 100% { stroke-dashoffset: 265; transform:rotate(360deg); }\r\n `}\r\n </style>\r\n <circle class=\"path\" fill=\"none\" stroke-width=\"10\" stroke-linecap=\"butt\" cx=\"50\" cy=\"50\" r=\"45\"></circle>\r\n </svg>\r\n </span>\r\n <span id=\"progress-indicator-label\" class=\"dso-progress-indicator-label\">\r\n {this.label}\r\n </span>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"responsive-element.js","mappings":";;AAAA,MAAM,oBAAoB,GAAG,sBAAsB;;ACInD,MAAM,YAAY,GAA4C;EAC5D;IACE,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,OAAO;GACf;EACD;IACE,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,QAAQ;GAChB;EACD;IACE,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,OAAO;GACf;CACF,CAAC;MAOW,iBAAiB;;;;;;IAqBpB,aAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;;MAC5C,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;OACnC;MAED,MAAM,IAAI,GAAG,MAAA,MAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;MAE1G,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;MACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B,CAAC,CAAC;qBA5BgC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK;qBAG5C,CAAC;;;;;EAYb,MAAM,OAAO;IACX,OAAO,IAAI,CAAC,SAAS,CAAC;GACvB;EAgBD,iBAAiB;IACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAClC;EAED,oBAAoB;IAClB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GACpC;EAED,MAAM;IACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,IAC7G,eAAQ,CACH,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/responsive-element/responsive-element.scss?tag=dso-responsive-element&encapsulation=shadow","./src/components/responsive-element/responsive-element.tsx"],"sourcesContent":[":host {\r\n display: block;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Method, State } from \"@stencil/core\";\r\n\r\nimport { ElementSize, ResponsiveElementSize } from \"./responsive-element.interfaces\";\r\n\r\nconst elementSizes: [ElementSize, ElementSize, ElementSize] = [\r\n {\r\n width: 624,\r\n alias: \"large\",\r\n },\r\n {\r\n width: 375,\r\n alias: \"medium\",\r\n },\r\n {\r\n width: 0,\r\n alias: \"small\",\r\n },\r\n];\r\n\r\n@Component({\r\n tag: \"dso-responsive-element\",\r\n styleUrl: \"./responsive-element.scss\",\r\n shadow: true,\r\n})\r\nexport class ResponsiveElement implements ComponentInterface {\r\n @State()\r\n sizeAlias: ResponsiveElementSize = elementSizes[0].alias;\r\n\r\n @State()\r\n sizeWidth = 0;\r\n\r\n /**\r\n * Emitted when size has changed\r\n */\r\n @Event()\r\n dsoSizeChange!: EventEmitter<ResponsiveElementSize>;\r\n\r\n /**\r\n * The current size\r\n */\r\n @Method()\r\n async getSize(): Promise<ResponsiveElementSize> {\r\n return this.sizeAlias;\r\n }\r\n\r\n private observer = new ResizeObserver(([entry]) => {\r\n if (!entry) {\r\n throw new Error(\"No entry found\");\r\n }\r\n\r\n const size = elementSizes.find((s) => entry.contentRect.width >= s.width)?.alias ?? elementSizes[0].alias;\r\n\r\n this.sizeAlias = size;\r\n this.dsoSizeChange.emit(size);\r\n });\r\n\r\n @Element()\r\n host!: HTMLDsoResponsiveElementElement;\r\n\r\n componentWillLoad() {\r\n this.observer.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.observer.unobserve(this.host);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host small={this.sizeAlias === \"small\"} medium={this.sizeAlias === \"medium\"} large={this.sizeAlias === \"large\"}>\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"responsive-element.js","mappings":";;AAAA,MAAM,oBAAoB,GAAG,sBAAsB;;ACInD,MAAM,YAAY,GAA4C;EAC5D;IACE,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,OAAO;GACf;EACD;IACE,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,QAAQ;GAChB;EACD;IACE,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,OAAO;GACf;CACF,CAAC;MAOW,iBAAiB;;;;;;IAqBpB,aAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;;MAC5C,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;OACnC;MAED,MAAM,IAAI,GAAG,MAAA,MAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;MAE1G,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;MACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B,CAAC,CAAC;qBA5BgC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK;qBAG5C,CAAC;;;;;EAYb,MAAM,OAAO;IACX,OAAO,IAAI,CAAC,SAAS,CAAC;GACvB;EAgBD,iBAAiB;IACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAClC;EAED,oBAAoB;IAClB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GACpC;EAED,MAAM;IACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,IAC7G,eAAQ,CACH,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/responsive-element/responsive-element.scss?tag=dso-responsive-element&encapsulation=shadow","src/components/responsive-element/responsive-element.tsx"],"sourcesContent":[":host {\r\n display: block;\r\n}\r\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Method, State } from \"@stencil/core\";\r\n\r\nimport { ElementSize, ResponsiveElementSize } from \"./responsive-element.interfaces\";\r\n\r\nconst elementSizes: [ElementSize, ElementSize, ElementSize] = [\r\n {\r\n width: 624,\r\n alias: \"large\",\r\n },\r\n {\r\n width: 375,\r\n alias: \"medium\",\r\n },\r\n {\r\n width: 0,\r\n alias: \"small\",\r\n },\r\n];\r\n\r\n@Component({\r\n tag: \"dso-responsive-element\",\r\n styleUrl: \"./responsive-element.scss\",\r\n shadow: true,\r\n})\r\nexport class ResponsiveElement implements ComponentInterface {\r\n @State()\r\n sizeAlias: ResponsiveElementSize = elementSizes[0].alias;\r\n\r\n @State()\r\n sizeWidth = 0;\r\n\r\n /**\r\n * Emitted when size has changed\r\n */\r\n @Event()\r\n dsoSizeChange!: EventEmitter<ResponsiveElementSize>;\r\n\r\n /**\r\n * The current size\r\n */\r\n @Method()\r\n async getSize(): Promise<ResponsiveElementSize> {\r\n return this.sizeAlias;\r\n }\r\n\r\n private observer = new ResizeObserver(([entry]) => {\r\n if (!entry) {\r\n throw new Error(\"No entry found\");\r\n }\r\n\r\n const size = elementSizes.find((s) => entry.contentRect.width >= s.width)?.alias ?? elementSizes[0].alias;\r\n\r\n this.sizeAlias = size;\r\n this.dsoSizeChange.emit(size);\r\n });\r\n\r\n @Element()\r\n host!: HTMLDsoResponsiveElementElement;\r\n\r\n componentWillLoad() {\r\n this.observer.observe(this.host);\r\n }\r\n\r\n disconnectedCallback() {\r\n this.observer.unobserve(this.host);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host small={this.sizeAlias === \"small\"} medium={this.sizeAlias === \"medium\"} large={this.sizeAlias === \"large\"}>\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { c as clsx } from './clsx.m.js';
2
+ import { c as clsx } from './clsx.js';
3
3
  import { d as debounce_1 } from './index2.js';
4
4
 
5
5
  const scrollableCss = ":host{display:block;height:100%;overflow-y:hidden}*,*::after,*::before{box-sizing:border-box}.dso-shadow-container{height:100%;max-height:inherit;min-height:inherit;position:relative}.dso-shadow-container .dso-scroll-container{height:100%;max-height:inherit;min-height:inherit;overflow-y:auto}.dso-shadow-container .dso-scroll-container::before,.dso-shadow-container .dso-scroll-container::after{background-repeat:no-repeat;background-size:100% 24px;content:\"\";display:block;height:24px;left:0;opacity:0;overflow:visible;position:absolute;transition:opacity 150ms ease-in-out;width:100%;pointer-events:none}.dso-shadow-container .dso-scroll-container::before{background-image:linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));top:0}.dso-shadow-container .dso-scroll-container::after{background-image:linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));bottom:0}.dso-shadow-container .dso-scroll-container.dso-scroll-bottom::before{opacity:1}.dso-shadow-container .dso-scroll-container.dso-scroll-top::after{opacity:1}.dso-shadow-container .dso-scroll-container.dso-scroll-middle::before,.dso-shadow-container .dso-scroll-container.dso-scroll-middle::after{opacity:1}";
@@ -1 +1 @@
1
- {"file":"scrollable.js","mappings":"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","names":["debounce"],"sources":["./src/components/scrollable/scrollable.scss?tag=dso-scrollable&encapsulation=shadow","./src/components/scrollable/scrollable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n height: 100%;\r\n overflow-y: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-shadow-container {\r\n height: 100%;\r\n max-height: inherit;\r\n min-height: inherit;\r\n position: relative;\r\n\r\n .dso-scroll-container {\r\n height: 100%;\r\n max-height: inherit;\r\n min-height: inherit;\r\n overflow-y: auto;\r\n\r\n &::before,\r\n &::after {\r\n background-repeat: no-repeat;\r\n background-size: 100% units.$u3;\r\n content: \"\";\r\n display: block;\r\n height: units.$u3;\r\n left: 0;\r\n opacity: 0;\r\n overflow: visible;\r\n position: absolute;\r\n transition: opacity 150ms ease-in-out;\r\n width: 100%;\r\n pointer-events: none;\r\n }\r\n\r\n &::before {\r\n background-image: linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n top: 0;\r\n }\r\n\r\n &::after {\r\n background-image: linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n bottom: 0;\r\n }\r\n\r\n &.dso-scroll-bottom {\r\n &::before {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-top {\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-middle {\r\n &::before,\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, h, Method, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DsoScrollEndEvent, ScrollPosition } from \"./scrollable.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(\r\n (entries) => entries.forEach((entry) => getScrollableComponentFromResizeObserverEntry(entry)?._setScrollState()),\r\n 50\r\n )\r\n);\r\n\r\nfunction getScrollableComponentFromResizeObserverEntry({\r\n target,\r\n}: ResizeObserverEntry): HTMLDsoScrollableElement | undefined {\r\n if (target.parentNode instanceof ShadowRoot && isDsoScrollableComponent(target.parentNode.host)) {\r\n return target.parentNode.host;\r\n }\r\n\r\n if (target.parentElement && isDsoScrollableComponent(target.parentElement)) {\r\n return target.parentElement;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction isDsoScrollableComponent(element: Element): element is HTMLDsoScrollableElement {\r\n return element.tagName === \"DSO-SCROLLABLE\";\r\n}\r\n\r\n@Component({\r\n tag: \"dso-scrollable\",\r\n styleUrl: \"scrollable.scss\",\r\n shadow: true,\r\n})\r\nexport class Scrollable {\r\n // One MutationObserver per instance because of https://github.com/whatwg/dom/issues/126\r\n private mutationObserver = new MutationObserver((entries) =>\r\n entries.forEach(({ target }) => {\r\n const element = target.parentElement?.closest(\"dso-scrollable\");\r\n if (element !== this.host) {\r\n return;\r\n }\r\n\r\n this._setScrollState();\r\n })\r\n );\r\n\r\n private scrollContainerDiv?: HTMLDivElement;\r\n\r\n private shadowContainerDiv?: HTMLDivElement;\r\n\r\n @Element()\r\n host!: HTMLDsoScrollableElement;\r\n\r\n /**\r\n * Event emitted when the scrollbar has reached top or bottom.\r\n */\r\n @Event()\r\n dsoScrollEnd!: EventEmitter<DsoScrollEndEvent>;\r\n\r\n @State()\r\n scrollPosition: ScrollPosition = \"noScroll\";\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _setScrollState() {\r\n const scrollPosition = this.getScrollPosition();\r\n if (this.scrollPosition !== scrollPosition) {\r\n this.scrollPosition = scrollPosition;\r\n\r\n if (this.scrollPosition === \"top\" || this.scrollPosition === \"bottom\") {\r\n this.dsoScrollEnd.emit({ scrollEnd: this.scrollPosition });\r\n }\r\n }\r\n }\r\n\r\n private get slottedElements() {\r\n return Array.from(this.host.children);\r\n }\r\n\r\n private getScrollPosition(): ScrollPosition {\r\n if (!this.scrollContainerDiv) {\r\n return \"noScroll\";\r\n }\r\n\r\n const { scrollHeight, clientHeight, scrollTop } = this.scrollContainerDiv;\r\n\r\n if (scrollHeight <= clientHeight) {\r\n return \"noScroll\";\r\n }\r\n\r\n if (scrollTop === 0) {\r\n return \"top\";\r\n }\r\n\r\n if (scrollHeight - scrollTop - clientHeight < 1) {\r\n return \"bottom\";\r\n }\r\n\r\n if (scrollTop > 0) {\r\n return \"middle\";\r\n }\r\n\r\n return \"noScroll\";\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n attributes: false,\r\n childList: false,\r\n subtree: true,\r\n });\r\n\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.shadowContainerDiv);\r\n }\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.observe(element));\r\n }\r\n\r\n disconnectedCallback(): void {\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.unobserve(this.shadowContainerDiv);\r\n }\r\n\r\n this.mutationObserver.disconnect();\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.unobserve(element));\r\n }\r\n\r\n render() {\r\n return (\r\n <div ref={(el) => (this.shadowContainerDiv = el)} class=\"dso-shadow-container\">\r\n <div\r\n ref={(el) => (this.scrollContainerDiv = el)}\r\n class={clsx(\"dso-scroll-container\", {\r\n [`dso-scroll-${this.scrollPosition}`]: this.scrollPosition !== \"noScroll\",\r\n })}\r\n onScroll={() => this._setScrollState()}\r\n >\r\n <slot></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"scrollable.js","mappings":"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","names":["debounce"],"sources":["src/components/scrollable/scrollable.scss?tag=dso-scrollable&encapsulation=shadow","src/components/scrollable/scrollable.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n height: 100%;\r\n overflow-y: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.dso-shadow-container {\r\n height: 100%;\r\n max-height: inherit;\r\n min-height: inherit;\r\n position: relative;\r\n\r\n .dso-scroll-container {\r\n height: 100%;\r\n max-height: inherit;\r\n min-height: inherit;\r\n overflow-y: auto;\r\n\r\n &::before,\r\n &::after {\r\n background-repeat: no-repeat;\r\n background-size: 100% units.$u3;\r\n content: \"\";\r\n display: block;\r\n height: units.$u3;\r\n left: 0;\r\n opacity: 0;\r\n overflow: visible;\r\n position: absolute;\r\n transition: opacity 150ms ease-in-out;\r\n width: 100%;\r\n pointer-events: none;\r\n }\r\n\r\n &::before {\r\n background-image: linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n top: 0;\r\n }\r\n\r\n &::after {\r\n background-image: linear-gradient(to bottom, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));\r\n bottom: 0;\r\n }\r\n\r\n &.dso-scroll-bottom {\r\n &::before {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-top {\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n &.dso-scroll-middle {\r\n &::before,\r\n &::after {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, h, Method, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DsoScrollEndEvent, ScrollPosition } from \"./scrollable.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(\r\n (entries) => entries.forEach((entry) => getScrollableComponentFromResizeObserverEntry(entry)?._setScrollState()),\r\n 50\r\n )\r\n);\r\n\r\nfunction getScrollableComponentFromResizeObserverEntry({\r\n target,\r\n}: ResizeObserverEntry): HTMLDsoScrollableElement | undefined {\r\n if (target.parentNode instanceof ShadowRoot && isDsoScrollableComponent(target.parentNode.host)) {\r\n return target.parentNode.host;\r\n }\r\n\r\n if (target.parentElement && isDsoScrollableComponent(target.parentElement)) {\r\n return target.parentElement;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction isDsoScrollableComponent(element: Element): element is HTMLDsoScrollableElement {\r\n return element.tagName === \"DSO-SCROLLABLE\";\r\n}\r\n\r\n@Component({\r\n tag: \"dso-scrollable\",\r\n styleUrl: \"scrollable.scss\",\r\n shadow: true,\r\n})\r\nexport class Scrollable {\r\n // One MutationObserver per instance because of https://github.com/whatwg/dom/issues/126\r\n private mutationObserver = new MutationObserver((entries) =>\r\n entries.forEach(({ target }) => {\r\n const element = target.parentElement?.closest(\"dso-scrollable\");\r\n if (element !== this.host) {\r\n return;\r\n }\r\n\r\n this._setScrollState();\r\n })\r\n );\r\n\r\n private scrollContainerDiv?: HTMLDivElement;\r\n\r\n private shadowContainerDiv?: HTMLDivElement;\r\n\r\n @Element()\r\n host!: HTMLDsoScrollableElement;\r\n\r\n /**\r\n * Event emitted when the scrollbar has reached top or bottom.\r\n */\r\n @Event()\r\n dsoScrollEnd!: EventEmitter<DsoScrollEndEvent>;\r\n\r\n @State()\r\n scrollPosition: ScrollPosition = \"noScroll\";\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _setScrollState() {\r\n const scrollPosition = this.getScrollPosition();\r\n if (this.scrollPosition !== scrollPosition) {\r\n this.scrollPosition = scrollPosition;\r\n\r\n if (this.scrollPosition === \"top\" || this.scrollPosition === \"bottom\") {\r\n this.dsoScrollEnd.emit({ scrollEnd: this.scrollPosition });\r\n }\r\n }\r\n }\r\n\r\n private get slottedElements() {\r\n return Array.from(this.host.children);\r\n }\r\n\r\n private getScrollPosition(): ScrollPosition {\r\n if (!this.scrollContainerDiv) {\r\n return \"noScroll\";\r\n }\r\n\r\n const { scrollHeight, clientHeight, scrollTop } = this.scrollContainerDiv;\r\n\r\n if (scrollHeight <= clientHeight) {\r\n return \"noScroll\";\r\n }\r\n\r\n if (scrollTop === 0) {\r\n return \"top\";\r\n }\r\n\r\n if (scrollHeight - scrollTop - clientHeight < 1) {\r\n return \"bottom\";\r\n }\r\n\r\n if (scrollTop > 0) {\r\n return \"middle\";\r\n }\r\n\r\n return \"noScroll\";\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n attributes: false,\r\n childList: false,\r\n subtree: true,\r\n });\r\n\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.shadowContainerDiv);\r\n }\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.observe(element));\r\n }\r\n\r\n disconnectedCallback(): void {\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.unobserve(this.shadowContainerDiv);\r\n }\r\n\r\n this.mutationObserver.disconnect();\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.unobserve(element));\r\n }\r\n\r\n render() {\r\n return (\r\n <div ref={(el) => (this.shadowContainerDiv = el)} class=\"dso-shadow-container\">\r\n <div\r\n ref={(el) => (this.scrollContainerDiv = el)}\r\n class={clsx(\"dso-scroll-container\", {\r\n [`dso-scroll-${this.scrollPosition}`]: this.scrollPosition !== \"noScroll\",\r\n })}\r\n onScroll={() => this._setScrollState()}\r\n >\r\n <slot></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,11 +1,11 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Fragment } from '@stencil/core/internal/client';
2
- import { c as clsx } from './clsx.m.js';
2
+ import { c as clsx } from './clsx.js';
3
3
  import { c as createIdentifier } from './create-identifier.js';
4
4
  import { d as defineCustomElement$3 } from './icon.js';
5
5
  import { d as defineCustomElement$2 } from './info.js';
6
6
  import { d as defineCustomElement$1 } from './info-button.js';
7
7
 
8
- const selectableCss = ".sc-dso-selectable-h{display:block;position:relative}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable{list-style:none;margin-top:8px;padding-left:0}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable li.sc-dso-selectable+li.sc-dso-selectable{margin-top:8px}.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}.sc-dso-selectable-h>dso-info.sc-dso-selectable{float:none;margin:8px 16px 0 0;width:100%}[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;position:relative;padding-inline-start:32px}.dso-selectable-container.has-info-button.sc-dso-selectable{padding-inline-end:32px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline;margin-inline:-32px;min-height:24px;padding-inline:32px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{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}dso-info-button.sc-dso-selectable{position:absolute;right:0;top:0}";
8
+ const selectableCss = ".sc-dso-selectable-h{display:block;position:relative}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable{list-style:none;margin-top:8px;padding-left:0}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable li.sc-dso-selectable+li.sc-dso-selectable{margin-top:8px}.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}.sc-dso-selectable-h>dso-info.sc-dso-selectable{float:none;margin:8px 16px 0 0;width:100%}[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;position:relative;padding-inline-start:32px}.dso-selectable-container.has-info-button.sc-dso-selectable{padding-inline-end:32px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable{display:inline-block;margin-inline:-32px;min-height:24px;padding-inline:32px}.dso-selectable-container.sc-dso-selectable .dso-selectable-input-wrapper.sc-dso-selectable:focus-within.dso-keyboard-focus{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}dso-info-button.sc-dso-selectable{position:absolute;right:0;top:0}";
9
9
 
10
10
  const Selectable = /*@__PURE__*/ proxyCustomElement(class Selectable extends HTMLElement {
11
11
  constructor() {
@@ -1 +1 @@
1
- {"file":"selectable.js","mappings":"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","names":[],"sources":["./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/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n\r\n @include selectable.root(\"dso-info\", false);\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 position: relative;\r\n padding-inline-start: units.$u4;\r\n\r\n &.has-info-button {\r\n padding-inline-end: units.$u4;\r\n }\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline;\r\n margin-inline: -#{units.$u4};\r\n min-height: units.$u3;\r\n padding-inline: units.$u4;\r\n\r\n &:focus-within.dso-keyboard-focus {\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\r\ndso-info-button {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\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} 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@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable {\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()\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 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={clsx(\"dso-selectable-container\", { \"has-info-button\": hasInfo })}>\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={(e) => this.dsoChange.emit(e)}\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></slot>\r\n </label>\r\n ) : (\r\n <label></label>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <Fragment>\r\n {!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 </Fragment>\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 </Fragment>\r\n );\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"selectable.js","mappings":"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","names":[],"sources":["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/selectable\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n:host {\r\n display: block;\r\n\r\n @include selectable.root(\"dso-info\", false);\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 position: relative;\r\n padding-inline-start: units.$u4;\r\n\r\n &.has-info-button {\r\n padding-inline-end: units.$u4;\r\n }\r\n\r\n .dso-selectable-input-wrapper {\r\n display: inline-block;\r\n margin-inline: -#{units.$u4};\r\n min-height: units.$u3;\r\n padding-inline: units.$u4;\r\n\r\n &:focus-within.dso-keyboard-focus {\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\r\ndso-info-button {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\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} 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@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable {\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()\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 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={clsx(\"dso-selectable-container\", { \"has-info-button\": hasInfo })}>\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={(e) => this.dsoChange.emit(e)}\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></slot>\r\n </label>\r\n ) : (\r\n <label></label>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <Fragment>\r\n {!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 </Fragment>\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 </Fragment>\r\n );\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"slide-toggle.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,4vBAA4vB;;MCStwB,WAAW;;;;;mBAQZ,KAAK;oBAMJ,KAAK;;;;sBAqBH,EAAE,EAAE;;EAQT,YAAY,CAAC,CAAQ;IAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;MACxB,aAAa,EAAE,CAAC;MAChB,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO;KACvB,CAAC,CAAC;GACJ;EAED,iBAAiB;IACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;GAC9D;EAED,MAAM;IACJ,QACE,kBACE,4BACE,EAAE,EAAE,IAAI,CAAC,UAAU,EACnB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,YAAY,kBACJ,EAAE,GAAG,IAAI,CAAC,OAAO,EAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAC/B,IAAI,CAAC,eAAe,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAClE,IAAI,CAAC,YAAY,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,IAEtE,WAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,IAChF,SAAG,IAAI,EAAC,MAAM,eAAW,SAAS,IAChC,YAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,EAAC,EAAE,EAAC,IAAI,GAAG,EAC3D,cAAQ,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,GAAG,CAC1C,CACA,CACC,EACR,IAAI,CAAC,eAAe,KACnB,aAAO,OAAO,EAAE,IAAI,CAAC,UAAU,IAC7B,eAAQ,CACF,CACT,CACA,EACH;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/slide-toggle/slide-toggle.scss?tag=dso-slide-toggle","./src/components/slide-toggle/slide-toggle.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\nbutton.dso-slider {\r\n border: 0;\r\n padding: 0;\r\n\r\n &:focus-visible {\r\n outline: 2px solid colors.$grijs-80;\r\n outline-offset: 1px;\r\n }\r\n\r\n svg {\r\n rect {\r\n fill: colors.$grijs-40;\r\n transition: fill 0.25s;\r\n }\r\n\r\n circle {\r\n @include utilities.transition(transform);\r\n\r\n transform: translateX(10px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen;\r\n }\r\n\r\n circle {\r\n transform: translateX(30px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[disabled] svg {\r\n rect {\r\n fill: colors.$grijs-20;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n\r\n &[disabled][aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen-40;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n}\r\n\r\n.dso-slider {\r\n border-radius: units.$u3;\r\n display: inline-flex;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Event, Fragment, Prop, EventEmitter, Element, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\nimport { SlideToggleActiveEvent } from \"./slide-toggle.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-slide-toggle\",\r\n styleUrl: \"slide-toggle.scss\",\r\n shadow: false,\r\n})\r\nexport class SlideToggle implements ComponentInterface {\r\n @Element()\r\n private host!: HTMLDsoSlideToggleElement;\r\n\r\n /**\r\n * Set to true if Slide Toggle is checked.\r\n */\r\n @Prop()\r\n checked = false;\r\n\r\n /**\r\n * Disables the Slide Toggle, preventing it from checking/unchecking and therefor not emitting any events.\r\n */\r\n @Prop()\r\n disabled = false;\r\n\r\n /**\r\n * When provided the `<button>` will be labelled with `aria-label`. For a visible label provide a `<span>` inside the component.\r\n */\r\n @Prop()\r\n accessibleLabel?: string;\r\n\r\n /**\r\n * Provide the `id` of the element that labels this element. this property sets the `aria-labelledby` on the switch button.\r\n */\r\n @Prop()\r\n labelledbyId?: string;\r\n\r\n @State()\r\n hasVisibleLabel?: boolean;\r\n\r\n /**\r\n * Provide an `id` for the `<button>`. Useful for placing your to place your own `<label for=\"id\">`.\r\n */\r\n @Prop()\r\n identifier = v4();\r\n\r\n /**\r\n * Emitted when user checks or unchecks the Slide Toggle.\r\n */\r\n @Event()\r\n dsoActiveChange!: EventEmitter<SlideToggleActiveEvent>;\r\n\r\n private handleSwitch(e: Event): void {\r\n this.dsoActiveChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.hasVisibleLabel = this.host.querySelector(\"*\") !== null;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n id={this.identifier}\r\n role=\"switch\"\r\n class=\"dso-slider\"\r\n aria-checked={\"\" + this.checked}\r\n disabled={this.disabled}\r\n onClick={(e) => this.handleSwitch(e)}\r\n {...(this.accessibleLabel ? { \"aria-label\": this.accessibleLabel } : {})}\r\n {...(this.labelledbyId ? { \"aria-labelledby\": this.labelledbyId } : {})}\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"20\" viewBox=\"0 0 40 20\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <rect width=\"40\" height=\"20\" fill=\"currentColor\" rx=\"10\" />\r\n <circle cy=\"10\" r=\"8\" fill=\"currentColor\" />\r\n </g>\r\n </svg>\r\n </button>\r\n {this.hasVisibleLabel && (\r\n <label htmlFor={this.identifier}>\r\n <slot />\r\n </label>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"slide-toggle.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,4vBAA4vB;;MCStwB,WAAW;;;;;mBAQZ,KAAK;oBAMJ,KAAK;;;;sBAqBH,EAAE,EAAE;;EAQT,YAAY,CAAC,CAAQ;IAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;MACxB,aAAa,EAAE,CAAC;MAChB,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO;KACvB,CAAC,CAAC;GACJ;EAED,iBAAiB;IACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;GAC9D;EAED,MAAM;IACJ,QACE,kBACE,4BACE,EAAE,EAAE,IAAI,CAAC,UAAU,EACnB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,YAAY,kBACJ,EAAE,GAAG,IAAI,CAAC,OAAO,EAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAC/B,IAAI,CAAC,eAAe,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAClE,IAAI,CAAC,YAAY,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,IAEtE,WAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,IAChF,SAAG,IAAI,EAAC,MAAM,eAAW,SAAS,IAChC,YAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,EAAC,EAAE,EAAC,IAAI,GAAG,EAC3D,cAAQ,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,GAAG,CAC1C,CACA,CACC,EACR,IAAI,CAAC,eAAe,KACnB,aAAO,OAAO,EAAE,IAAI,CAAC,UAAU,IAC7B,eAAQ,CACF,CACT,CACA,EACH;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/slide-toggle/slide-toggle.scss?tag=dso-slide-toggle","src/components/slide-toggle/slide-toggle.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\nbutton.dso-slider {\r\n border: 0;\r\n padding: 0;\r\n\r\n &:focus-visible {\r\n outline: 2px solid colors.$grijs-80;\r\n outline-offset: 1px;\r\n }\r\n\r\n svg {\r\n rect {\r\n fill: colors.$grijs-40;\r\n transition: fill 0.25s;\r\n }\r\n\r\n circle {\r\n @include utilities.transition(transform);\r\n\r\n transform: translateX(10px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen;\r\n }\r\n\r\n circle {\r\n transform: translateX(30px);\r\n fill: colors.$wit;\r\n }\r\n }\r\n\r\n &[disabled] svg {\r\n rect {\r\n fill: colors.$grijs-20;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n\r\n &[disabled][aria-checked=\"true\"] svg {\r\n rect {\r\n fill: colors.$bosgroen-40;\r\n }\r\n\r\n circle {\r\n fill: colors.$grijs-10;\r\n }\r\n }\r\n}\r\n\r\n.dso-slider {\r\n border-radius: units.$u3;\r\n display: inline-flex;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Event, Fragment, Prop, EventEmitter, Element, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\nimport { SlideToggleActiveEvent } from \"./slide-toggle.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-slide-toggle\",\r\n styleUrl: \"slide-toggle.scss\",\r\n shadow: false,\r\n})\r\nexport class SlideToggle implements ComponentInterface {\r\n @Element()\r\n private host!: HTMLDsoSlideToggleElement;\r\n\r\n /**\r\n * Set to true if Slide Toggle is checked.\r\n */\r\n @Prop()\r\n checked = false;\r\n\r\n /**\r\n * Disables the Slide Toggle, preventing it from checking/unchecking and therefor not emitting any events.\r\n */\r\n @Prop()\r\n disabled = false;\r\n\r\n /**\r\n * When provided the `<button>` will be labelled with `aria-label`. For a visible label provide a `<span>` inside the component.\r\n */\r\n @Prop()\r\n accessibleLabel?: string;\r\n\r\n /**\r\n * Provide the `id` of the element that labels this element. this property sets the `aria-labelledby` on the switch button.\r\n */\r\n @Prop()\r\n labelledbyId?: string;\r\n\r\n @State()\r\n hasVisibleLabel?: boolean;\r\n\r\n /**\r\n * Provide an `id` for the `<button>`. Useful for placing your to place your own `<label for=\"id\">`.\r\n */\r\n @Prop()\r\n identifier = v4();\r\n\r\n /**\r\n * Emitted when user checks or unchecks the Slide Toggle.\r\n */\r\n @Event()\r\n dsoActiveChange!: EventEmitter<SlideToggleActiveEvent>;\r\n\r\n private handleSwitch(e: Event): void {\r\n this.dsoActiveChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n componentWillLoad(): void {\r\n this.hasVisibleLabel = this.host.querySelector(\"*\") !== null;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n id={this.identifier}\r\n role=\"switch\"\r\n class=\"dso-slider\"\r\n aria-checked={\"\" + this.checked}\r\n disabled={this.disabled}\r\n onClick={(e) => this.handleSwitch(e)}\r\n {...(this.accessibleLabel ? { \"aria-label\": this.accessibleLabel } : {})}\r\n {...(this.labelledbyId ? { \"aria-labelledby\": this.labelledbyId } : {})}\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"20\" viewBox=\"0 0 40 20\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <rect width=\"40\" height=\"20\" fill=\"currentColor\" rx=\"10\" />\r\n <circle cy=\"10\" r=\"8\" fill=\"currentColor\" />\r\n </g>\r\n </svg>\r\n </button>\r\n {this.hasVisibleLabel && (\r\n <label htmlFor={this.identifier}>\r\n <slot />\r\n </label>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { d as detectOverflow, h as hasOverflow, c as createPopper, b as beforeWrite } from './has-overflow.js';
3
- import { c as clsx } from './clsx.m.js';
3
+ import { c as clsx } from './clsx.js';
4
4
  import { d as debounce_1 } from './index2.js';
5
5
 
6
6
  var maxSize = {
@@ -37,7 +37,7 @@ var maxSize = {
37
37
  }
38
38
  };
39
39
 
40
- const tooltipCss = ":host(.hidden){visibility:hidden}:host-context(dso-toggletip){color:red !important}:host-context(dso-toggletip) *[data-popper-placement=top] .tooltip-arrow{margin-left:3px}:host-context(dso-toggletip) *[data-popper-placement=right] .tooltip-arrow{margin-top:0}:host-context(dso-toggletip) *[data-popper-placement=bottom] .tooltip-arrow{margin-left:3px}:host-context(dso-toggletip) *[data-popper-placement=left]{margin-right:-8px !important}:host-context(dso-toggletip) *[data-popper-placement=left] .tooltip-arrow{margin-top:0}*,*::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;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:8px 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-top:-3px;padding:6px 0}.tooltip[data-popper-placement=top] .tooltip-arrow{border-top-color:#fff;border-width:6px 6px 0;bottom:0}.tooltip[data-popper-placement=top] .tooltip-arrow{margin-left:-3px}.tooltip[data-popper-placement=right]{margin-left:3px;padding:0 6px}.tooltip[data-popper-placement=right] .tooltip-arrow{border-right-color:#fff;border-width:6px 6px 6px 0;left:0}.tooltip[data-popper-placement=right] .tooltip-arrow{margin-top:-3px}.tooltip[data-popper-placement=bottom]{margin-top:3px;padding:6px 0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{border-bottom-color:#fff;border-width:0 6px 6px;top:0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{margin-left:-3px}.tooltip[data-popper-placement=left]{margin-left:-3px;padding:0 6px}.tooltip[data-popper-placement=left] .tooltip-arrow{border-left-color:#fff;border-width:6px 0 6px 6px;right:0}.tooltip[data-popper-placement=left] .tooltip-arrow{margin-top:-3px}";
40
+ const tooltipCss = ":host(.hidden){visibility:hidden}:host-context(dso-toggletip) *[data-popper-placement=top] .tooltip-arrow{margin-left:3px}:host-context(dso-toggletip) *[data-popper-placement=right] .tooltip-arrow{margin-top:0}:host-context(dso-toggletip) *[data-popper-placement=bottom] .tooltip-arrow{margin-left:3px}:host-context(dso-toggletip) *[data-popper-placement=left]{margin-right:-8px !important}:host-context(dso-toggletip) *[data-popper-placement=left] .tooltip-arrow{margin-top:0}*,*::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:8px 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-top:-3px;padding:6px 0}.tooltip[data-popper-placement=top] .tooltip-arrow{border-top-color:#fff;border-width:6px 6px 0;bottom:0}.tooltip[data-popper-placement=top] .tooltip-arrow{margin-left:-3px}.tooltip[data-popper-placement=right]{margin-left:3px;padding:0 6px}.tooltip[data-popper-placement=right] .tooltip-arrow{border-right-color:#fff;border-width:6px 6px 6px 0;left:0}.tooltip[data-popper-placement=right] .tooltip-arrow{margin-top:-3px}.tooltip[data-popper-placement=bottom]{margin-top:3px;padding:6px 0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{border-bottom-color:#fff;border-width:0 6px 6px;top:0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{margin-left:-3px}.tooltip[data-popper-placement=left]{margin-left:-3px;padding:0 6px}.tooltip[data-popper-placement=left] .tooltip-arrow{border-left-color:#fff;border-width:6px 0 6px 6px;right:0}.tooltip[data-popper-placement=left] .tooltip-arrow{margin-top:-3px}";
41
41
 
42
42
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
43
43
  if (kind === "a" && !f)