@dso-toolkit/core 55.0.0 → 56.1.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 (334) hide show
  1. package/dist/cjs/dso-accordion-section.cjs.entry.js +31 -88
  2. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dso-accordion.cjs.entry.js +197 -107
  4. package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dso-alert_5.cjs.entry.js +721 -0
  6. package/dist/cjs/dso-alert_5.cjs.entry.js.map +1 -0
  7. package/dist/cjs/dso-annotation-output_3.cjs.entry.js +143 -0
  8. package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -0
  9. package/dist/cjs/dso-expandable.cjs.entry.js +16 -35
  10. package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  12. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  14. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +110 -0
  15. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -0
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/collection/collection-manifest.json +5 -4
  18. package/dist/collection/components/accordion/accordion.interfaces.js.map +1 -1
  19. package/dist/collection/components/accordion/accordion.js +9 -254
  20. package/dist/collection/components/accordion/accordion.js.map +1 -1
  21. package/dist/collection/components/accordion/components/accordion-section.css +31 -31
  22. package/dist/collection/components/accordion/components/accordion-section.interfaces.js.map +1 -1
  23. package/dist/collection/components/accordion/components/accordion-section.js +69 -127
  24. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  25. package/dist/collection/components/annotation-button/annotation-button.css +1003 -0
  26. package/dist/collection/components/annotation-button/annotation-button.js +48 -7
  27. package/dist/collection/components/annotation-button/annotation-button.js.map +1 -1
  28. package/dist/collection/components/annotation-output/annotation-output.css +2 -2
  29. package/dist/collection/components/annotation-output/annotation-output.js +32 -64
  30. package/dist/collection/components/annotation-output/annotation-output.js.map +1 -1
  31. package/dist/collection/components/document-component/document-component-heading.js +30 -0
  32. package/dist/collection/components/document-component/document-component-heading.js.map +1 -0
  33. package/dist/collection/components/document-component/document-component.css +135 -0
  34. package/dist/collection/components/document-component/document-component.demo.js +112 -0
  35. package/dist/collection/components/document-component/document-component.demo.js.map +1 -0
  36. package/dist/collection/components/document-component/document-component.js +414 -0
  37. package/dist/collection/components/document-component/document-component.js.map +1 -0
  38. package/dist/collection/components/document-component/document-component.types.js +2 -0
  39. package/dist/collection/components/document-component/document-component.types.js.map +1 -0
  40. package/dist/collection/components/expandable/expandable.js +27 -93
  41. package/dist/collection/components/expandable/expandable.js.map +1 -1
  42. package/dist/collection/components/label/label.js +42 -33
  43. package/dist/collection/components/label/label.js.map +1 -1
  44. package/dist/collection/components/ozon-content/ozon-content-mapper.js +9 -1
  45. package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
  46. package/dist/collection/components/ozon-content/ozon-content.css +49 -1
  47. package/dist/collection/components/ozon-content/ozon-content.js +1 -1
  48. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  49. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  50. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  51. package/dist/{esm/dso-alert.entry.js → components/alert.js} +33 -9
  52. package/dist/components/alert.js.map +1 -0
  53. package/dist/components/annotation-button.js +46 -0
  54. package/dist/components/annotation-button.js.map +1 -0
  55. package/dist/components/annotation-output.js +60 -0
  56. package/dist/components/annotation-output.js.map +1 -0
  57. package/dist/{esm/dso-badge.entry.js → components/badge.js} +26 -9
  58. package/dist/components/badge.js.map +1 -0
  59. package/dist/components/document-component.js +163 -0
  60. package/dist/components/document-component.js.map +1 -0
  61. package/dist/components/dso-accordion-section.js +36 -95
  62. package/dist/components/dso-accordion-section.js.map +1 -1
  63. package/dist/components/dso-accordion.js +199 -113
  64. package/dist/components/dso-accordion.js.map +1 -1
  65. package/dist/components/dso-alert.js +1 -50
  66. package/dist/components/dso-alert.js.map +1 -1
  67. package/dist/components/dso-annotation-button.js +1 -40
  68. package/dist/components/dso-annotation-button.js.map +1 -1
  69. package/dist/components/dso-annotation-output.js +1 -71
  70. package/dist/components/dso-annotation-output.js.map +1 -1
  71. package/dist/components/dso-autosuggest.js +1 -1
  72. package/dist/components/dso-badge.js +1 -32
  73. package/dist/components/dso-badge.js.map +1 -1
  74. package/dist/components/dso-document-component.d.ts +11 -0
  75. package/dist/components/dso-document-component.js +8 -0
  76. package/dist/components/dso-document-component.js.map +1 -0
  77. package/dist/components/dso-header.js +1 -1
  78. package/dist/components/dso-image-overlay.js +1 -1
  79. package/dist/components/dso-label.js +1 -161
  80. package/dist/components/dso-label.js.map +1 -1
  81. package/dist/components/dso-ozon-content.js +1 -544
  82. package/dist/components/dso-ozon-content.js.map +1 -1
  83. package/dist/components/dso-slide-toggle.js +1 -52
  84. package/dist/components/dso-slide-toggle.js.map +1 -1
  85. package/dist/components/dso-table.js +1 -1
  86. package/dist/components/dso-viewer-grid.js +1 -1
  87. package/dist/components/dso-viewer-grid.js.map +1 -1
  88. package/dist/components/dsot-document-component-demo.d.ts +11 -0
  89. package/dist/components/dsot-document-component-demo.js +202 -0
  90. package/dist/components/dsot-document-component-demo.js.map +1 -0
  91. package/dist/components/expandable.js +18 -39
  92. package/dist/components/expandable.js.map +1 -1
  93. package/dist/components/index.d.ts +4 -2
  94. package/dist/components/index.js +2 -1
  95. package/dist/components/index.js.map +1 -1
  96. package/dist/components/index2.js +61 -185
  97. package/dist/components/index2.js.map +1 -1
  98. package/dist/{esm/dso-label.entry.js → components/label.js} +82 -41
  99. package/dist/components/label.js.map +1 -0
  100. package/dist/{esm/dso-ozon-content.entry.js → components/ozon-content.js} +43 -14
  101. package/dist/components/ozon-content.js.map +1 -0
  102. package/dist/components/scrollable.js +1 -1
  103. package/dist/{esm/dso-slide-toggle.entry.js → components/slide-toggle.js} +31 -10
  104. package/dist/{dso-toolkit/p-b1627d68.entry.js.map → components/slide-toggle.js.map} +1 -1
  105. package/dist/components/tooltip.js +1 -1
  106. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  107. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  108. package/dist/dso-toolkit/p-021589dc.entry.js +2 -0
  109. package/dist/dso-toolkit/p-021589dc.entry.js.map +1 -0
  110. package/dist/dso-toolkit/{p-12c3fc19.entry.js → p-05ea1fba.entry.js} +2 -2
  111. package/dist/dso-toolkit/{p-657c43f4.entry.js → p-0e5a93c3.entry.js} +2 -2
  112. package/dist/dso-toolkit/p-14453f73.entry.js +2 -0
  113. package/dist/dso-toolkit/p-14453f73.entry.js.map +1 -0
  114. package/dist/dso-toolkit/{p-63ce173c.entry.js → p-168750a2.entry.js} +2 -2
  115. package/dist/dso-toolkit/{p-904a2caf.entry.js → p-29752a45.entry.js} +2 -2
  116. package/dist/dso-toolkit/{p-9c2d4a91.entry.js → p-29b741cb.entry.js} +2 -2
  117. package/dist/dso-toolkit/{p-fdf8bd94.entry.js → p-3c554a18.entry.js} +2 -2
  118. package/dist/dso-toolkit/{p-d4f8e1e0.entry.js → p-3fa7489e.entry.js} +2 -2
  119. package/dist/dso-toolkit/{p-fa6d8d5a.entry.js → p-422bcf93.entry.js} +2 -2
  120. package/dist/dso-toolkit/p-42d3c595.entry.js +2 -0
  121. package/dist/dso-toolkit/{p-1d3ed808.entry.js.map → p-42d3c595.entry.js.map} +1 -1
  122. package/dist/dso-toolkit/p-5265e22b.entry.js +2 -0
  123. package/dist/dso-toolkit/p-56d87a53.entry.js +2 -0
  124. package/dist/dso-toolkit/p-56d87a53.entry.js.map +1 -0
  125. package/dist/dso-toolkit/{p-71143eef.entry.js → p-6050e8e6.entry.js} +2 -2
  126. package/dist/dso-toolkit/{p-5040a304.entry.js → p-674e2406.entry.js} +2 -2
  127. package/dist/dso-toolkit/{p-2bd5d2a2.entry.js → p-68e9f61b.entry.js} +2 -2
  128. package/dist/dso-toolkit/{p-f70d6a66.entry.js → p-818d032e.entry.js} +2 -2
  129. package/dist/dso-toolkit/{p-a4e3638a.entry.js → p-83cdfde8.entry.js} +2 -2
  130. package/dist/dso-toolkit/p-88f4366e.entry.js +2 -0
  131. package/dist/dso-toolkit/p-88f4366e.entry.js.map +1 -0
  132. package/dist/dso-toolkit/{p-8f166691.entry.js → p-909ccf98.entry.js} +2 -2
  133. package/dist/dso-toolkit/{p-58bed94b.entry.js → p-9b587a94.entry.js} +2 -2
  134. package/dist/dso-toolkit/p-9c0477fc.entry.js +2 -0
  135. package/dist/dso-toolkit/{p-56069350.entry.js.map → p-9c0477fc.entry.js.map} +1 -1
  136. package/dist/dso-toolkit/{p-79767cc1.entry.js → p-9f2bb98b.entry.js} +2 -2
  137. package/dist/dso-toolkit/{p-6e0b67c9.entry.js → p-9fee52e5.entry.js} +2 -2
  138. package/dist/dso-toolkit/{p-9b14a015.entry.js → p-a616ab8a.entry.js} +2 -2
  139. package/dist/dso-toolkit/{p-ef23bffb.entry.js → p-b627d9ac.entry.js} +2 -2
  140. package/dist/dso-toolkit/{p-9d64a2f4.entry.js → p-b67631ef.entry.js} +2 -2
  141. package/dist/dso-toolkit/{p-0653b5d2.entry.js → p-bcae3f55.entry.js} +2 -2
  142. package/dist/dso-toolkit/{p-b1b53cb3.entry.js → p-bf203ab8.entry.js} +2 -2
  143. package/dist/dso-toolkit/{p-ee2771d4.entry.js → p-c8165a50.entry.js} +2 -2
  144. package/dist/dso-toolkit/{p-26cdce1c.js → p-ce928197.js} +2 -2
  145. package/dist/dso-toolkit/{p-601b4ce0.entry.js → p-cfd6f4ef.entry.js} +2 -2
  146. package/dist/dso-toolkit/{p-b6f1ae13.entry.js → p-d3f69d06.entry.js} +2 -2
  147. package/dist/dso-toolkit/{p-554e7d6a.entry.js → p-d4320890.entry.js} +2 -2
  148. package/dist/dso-toolkit/{p-554e7d6a.entry.js.map → p-d4320890.entry.js.map} +1 -1
  149. package/dist/dso-toolkit/{p-3ab9390b.entry.js → p-d8c137b5.entry.js} +2 -2
  150. package/dist/dso-toolkit/p-debbe184.entry.js +2 -0
  151. package/dist/dso-toolkit/{p-c3178955.entry.js.map → p-debbe184.entry.js.map} +1 -1
  152. package/dist/dso-toolkit/{p-7098eb9d.entry.js → p-f56c1b28.entry.js} +2 -2
  153. package/dist/dso-toolkit/p-f56c1b28.entry.js.map +1 -0
  154. package/dist/dso-toolkit/p-fafa5ea1.entry.js +2 -0
  155. package/dist/dso-toolkit/p-fafa5ea1.entry.js.map +1 -0
  156. package/dist/esm/dso-accordion-section.entry.js +32 -89
  157. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  158. package/dist/esm/dso-accordion.entry.js +198 -108
  159. package/dist/esm/dso-accordion.entry.js.map +1 -1
  160. package/dist/esm/dso-action-list-item.entry.js +1 -1
  161. package/dist/esm/dso-action-list.entry.js +1 -1
  162. package/dist/esm/dso-alert_5.entry.js +713 -0
  163. package/dist/esm/dso-alert_5.entry.js.map +1 -0
  164. package/dist/esm/dso-annotation-output_3.entry.js +137 -0
  165. package/dist/esm/dso-annotation-output_3.entry.js.map +1 -0
  166. package/dist/esm/dso-attachments-counter.entry.js +1 -1
  167. package/dist/esm/dso-autosuggest.entry.js +1 -1
  168. package/dist/esm/dso-banner.entry.js +1 -1
  169. package/dist/esm/dso-card-container.entry.js +1 -1
  170. package/dist/esm/dso-card.entry.js +1 -1
  171. package/dist/esm/dso-date-picker.entry.js +1 -1
  172. package/dist/esm/dso-dropdown-menu.entry.js +1 -1
  173. package/dist/esm/dso-expandable.entry.js +17 -36
  174. package/dist/esm/dso-expandable.entry.js.map +1 -1
  175. package/dist/esm/dso-header.entry.js +1 -1
  176. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  177. package/dist/esm/dso-highlight-box.entry.js +1 -1
  178. package/dist/esm/dso-icon.entry.js +1 -1
  179. package/dist/esm/dso-image-overlay.entry.js +1 -1
  180. package/dist/esm/dso-info-button.entry.js +1 -1
  181. package/dist/esm/dso-info_2.entry.js +1 -1
  182. package/dist/esm/dso-list-button.entry.js +1 -1
  183. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  184. package/dist/esm/dso-map-controls.entry.js +1 -1
  185. package/dist/esm/dso-map-overlays.entry.js +1 -1
  186. package/dist/esm/dso-modal.entry.js +1 -1
  187. package/dist/esm/dso-pagination.entry.js +1 -1
  188. package/dist/esm/dso-progress-bar.entry.js +1 -1
  189. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  190. package/dist/esm/dso-responsive-element.entry.js +1 -1
  191. package/dist/esm/dso-scrollable.entry.js +1 -1
  192. package/dist/esm/dso-table.entry.js +1 -1
  193. package/dist/esm/dso-toggletip.entry.js +1 -1
  194. package/dist/esm/dso-toolkit.js +3 -3
  195. package/dist/esm/dso-tooltip.entry.js +1 -1
  196. package/dist/esm/dso-tree-view.entry.js +1 -1
  197. package/dist/esm/dso-viewer-grid.entry.js +2 -2
  198. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  199. package/dist/esm/dsot-document-component-demo.entry.js +106 -0
  200. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -0
  201. package/dist/esm/{index-898d8443.js → index-367cff36.js} +2 -2
  202. package/dist/esm/{index-898d8443.js.map → index-367cff36.js.map} +1 -1
  203. package/dist/esm/loader.js +3 -3
  204. package/dist/types/components/accordion/accordion.d.ts +6 -39
  205. package/dist/types/components/accordion/accordion.interfaces.d.ts +2 -18
  206. package/dist/types/components/accordion/components/accordion-section.d.ts +15 -19
  207. package/dist/types/components/accordion/components/accordion-section.interfaces.d.ts +22 -0
  208. package/dist/types/components/annotation-button/annotation-button.d.ts +15 -4
  209. package/dist/types/components/annotation-output/annotation-output.d.ts +7 -5
  210. package/dist/types/components/document-component/document-component-heading.d.ts +7 -0
  211. package/dist/types/components/document-component/document-component.d.ts +84 -0
  212. package/dist/types/components/document-component/document-component.demo.d.ts +40 -0
  213. package/dist/types/components/document-component/document-component.types.d.ts +8 -0
  214. package/dist/types/components/expandable/expandable.d.ts +5 -12
  215. package/dist/types/components/label/label.d.ts +9 -9
  216. package/dist/types/components.d.ts +235 -127
  217. package/package.json +2 -2
  218. package/dist/cjs/annotation.service-60e6b0f1.js +0 -23
  219. package/dist/cjs/annotation.service-60e6b0f1.js.map +0 -1
  220. package/dist/cjs/dso-alert.cjs.entry.js +0 -34
  221. package/dist/cjs/dso-alert.cjs.entry.js.map +0 -1
  222. package/dist/cjs/dso-annotation-button.cjs.entry.js +0 -27
  223. package/dist/cjs/dso-annotation-button.cjs.entry.js.map +0 -1
  224. package/dist/cjs/dso-annotation-output.cjs.entry.js +0 -44
  225. package/dist/cjs/dso-annotation-output.cjs.entry.js.map +0 -1
  226. package/dist/cjs/dso-badge.cjs.entry.js +0 -23
  227. package/dist/cjs/dso-badge.cjs.entry.js.map +0 -1
  228. package/dist/cjs/dso-expandable-heading.cjs.entry.js +0 -54
  229. package/dist/cjs/dso-expandable-heading.cjs.entry.js.map +0 -1
  230. package/dist/cjs/dso-label.cjs.entry.js +0 -130
  231. package/dist/cjs/dso-label.cjs.entry.js.map +0 -1
  232. package/dist/cjs/dso-ozon-content.cjs.entry.js +0 -532
  233. package/dist/cjs/dso-ozon-content.cjs.entry.js.map +0 -1
  234. package/dist/cjs/dso-slide-toggle.cjs.entry.js +0 -39
  235. package/dist/cjs/dso-slide-toggle.cjs.entry.js.map +0 -1
  236. package/dist/cjs/index-a189d603.js +0 -198
  237. package/dist/cjs/index-a189d603.js.map +0 -1
  238. package/dist/collection/components/annotation-output/annotation-output.interfaces.js +0 -2
  239. package/dist/collection/components/annotation-output/annotation-output.interfaces.js.map +0 -1
  240. package/dist/collection/components/expandable/expandable.functions.js +0 -4
  241. package/dist/collection/components/expandable/expandable.functions.js.map +0 -1
  242. package/dist/collection/components/expandable-heading/expandable-heading.css +0 -200
  243. package/dist/collection/components/expandable-heading/expandable-heading.interfaces.js +0 -2
  244. package/dist/collection/components/expandable-heading/expandable-heading.interfaces.js.map +0 -1
  245. package/dist/collection/components/expandable-heading/expandable-heading.js +0 -163
  246. package/dist/collection/components/expandable-heading/expandable-heading.js.map +0 -1
  247. package/dist/collection/components/expandable-heading/heading.js +0 -17
  248. package/dist/collection/components/expandable-heading/heading.js.map +0 -1
  249. package/dist/collection/services/annotation.service.js +0 -17
  250. package/dist/collection/services/annotation.service.js.map +0 -1
  251. package/dist/components/annotation.service.js +0 -21
  252. package/dist/components/annotation.service.js.map +0 -1
  253. package/dist/components/dso-expandable-heading.d.ts +0 -11
  254. package/dist/components/dso-expandable-heading.js +0 -86
  255. package/dist/components/dso-expandable-heading.js.map +0 -1
  256. package/dist/components/index3.js +0 -72
  257. package/dist/components/index3.js.map +0 -1
  258. package/dist/dso-toolkit/p-0c762ac9.entry.js +0 -2
  259. package/dist/dso-toolkit/p-0c762ac9.entry.js.map +0 -1
  260. package/dist/dso-toolkit/p-0ffae824.entry.js +0 -2
  261. package/dist/dso-toolkit/p-0ffae824.entry.js.map +0 -1
  262. package/dist/dso-toolkit/p-1d3ed808.entry.js +0 -2
  263. package/dist/dso-toolkit/p-26713aef.js +0 -2
  264. package/dist/dso-toolkit/p-26713aef.js.map +0 -1
  265. package/dist/dso-toolkit/p-52f2be73.entry.js +0 -2
  266. package/dist/dso-toolkit/p-52f2be73.entry.js.map +0 -1
  267. package/dist/dso-toolkit/p-56069350.entry.js +0 -2
  268. package/dist/dso-toolkit/p-59ff4e19.entry.js +0 -2
  269. package/dist/dso-toolkit/p-59ff4e19.entry.js.map +0 -1
  270. package/dist/dso-toolkit/p-7098eb9d.entry.js.map +0 -1
  271. package/dist/dso-toolkit/p-835a599b.entry.js +0 -2
  272. package/dist/dso-toolkit/p-91453b47.entry.js +0 -2
  273. package/dist/dso-toolkit/p-91453b47.entry.js.map +0 -1
  274. package/dist/dso-toolkit/p-9eccd618.js +0 -2
  275. package/dist/dso-toolkit/p-9eccd618.js.map +0 -1
  276. package/dist/dso-toolkit/p-b1627d68.entry.js +0 -2
  277. package/dist/dso-toolkit/p-c3178955.entry.js +0 -2
  278. package/dist/dso-toolkit/p-c464da66.entry.js +0 -2
  279. package/dist/dso-toolkit/p-c464da66.entry.js.map +0 -1
  280. package/dist/dso-toolkit/p-c4e1c7cb.entry.js +0 -2
  281. package/dist/dso-toolkit/p-c4e1c7cb.entry.js.map +0 -1
  282. package/dist/dso-toolkit/p-dd9e9c47.entry.js +0 -2
  283. package/dist/dso-toolkit/p-dd9e9c47.entry.js.map +0 -1
  284. package/dist/dso-toolkit/p-de310a49.entry.js +0 -2
  285. package/dist/dso-toolkit/p-de310a49.entry.js.map +0 -1
  286. package/dist/esm/annotation.service-cd25eba0.js +0 -21
  287. package/dist/esm/annotation.service-cd25eba0.js.map +0 -1
  288. package/dist/esm/dso-alert.entry.js.map +0 -1
  289. package/dist/esm/dso-annotation-button.entry.js +0 -23
  290. package/dist/esm/dso-annotation-button.entry.js.map +0 -1
  291. package/dist/esm/dso-annotation-output.entry.js +0 -40
  292. package/dist/esm/dso-annotation-output.entry.js.map +0 -1
  293. package/dist/esm/dso-badge.entry.js.map +0 -1
  294. package/dist/esm/dso-expandable-heading.entry.js +0 -50
  295. package/dist/esm/dso-expandable-heading.entry.js.map +0 -1
  296. package/dist/esm/dso-label.entry.js.map +0 -1
  297. package/dist/esm/dso-ozon-content.entry.js.map +0 -1
  298. package/dist/esm/dso-slide-toggle.entry.js.map +0 -1
  299. package/dist/esm/index-b57dbe04.js +0 -196
  300. package/dist/esm/index-b57dbe04.js.map +0 -1
  301. package/dist/types/components/annotation-output/annotation-output.interfaces.d.ts +0 -4
  302. package/dist/types/components/expandable/expandable.functions.d.ts +0 -1
  303. package/dist/types/components/expandable-heading/expandable-heading.d.ts +0 -33
  304. package/dist/types/components/expandable-heading/expandable-heading.interfaces.d.ts +0 -6
  305. package/dist/types/components/expandable-heading/heading.d.ts +0 -9
  306. package/dist/types/services/annotation.service.d.ts +0 -10
  307. /package/dist/dso-toolkit/{p-12c3fc19.entry.js.map → p-05ea1fba.entry.js.map} +0 -0
  308. /package/dist/dso-toolkit/{p-657c43f4.entry.js.map → p-0e5a93c3.entry.js.map} +0 -0
  309. /package/dist/dso-toolkit/{p-63ce173c.entry.js.map → p-168750a2.entry.js.map} +0 -0
  310. /package/dist/dso-toolkit/{p-904a2caf.entry.js.map → p-29752a45.entry.js.map} +0 -0
  311. /package/dist/dso-toolkit/{p-9c2d4a91.entry.js.map → p-29b741cb.entry.js.map} +0 -0
  312. /package/dist/dso-toolkit/{p-fdf8bd94.entry.js.map → p-3c554a18.entry.js.map} +0 -0
  313. /package/dist/dso-toolkit/{p-d4f8e1e0.entry.js.map → p-3fa7489e.entry.js.map} +0 -0
  314. /package/dist/dso-toolkit/{p-fa6d8d5a.entry.js.map → p-422bcf93.entry.js.map} +0 -0
  315. /package/dist/dso-toolkit/{p-835a599b.entry.js.map → p-5265e22b.entry.js.map} +0 -0
  316. /package/dist/dso-toolkit/{p-71143eef.entry.js.map → p-6050e8e6.entry.js.map} +0 -0
  317. /package/dist/dso-toolkit/{p-5040a304.entry.js.map → p-674e2406.entry.js.map} +0 -0
  318. /package/dist/dso-toolkit/{p-2bd5d2a2.entry.js.map → p-68e9f61b.entry.js.map} +0 -0
  319. /package/dist/dso-toolkit/{p-f70d6a66.entry.js.map → p-818d032e.entry.js.map} +0 -0
  320. /package/dist/dso-toolkit/{p-a4e3638a.entry.js.map → p-83cdfde8.entry.js.map} +0 -0
  321. /package/dist/dso-toolkit/{p-8f166691.entry.js.map → p-909ccf98.entry.js.map} +0 -0
  322. /package/dist/dso-toolkit/{p-58bed94b.entry.js.map → p-9b587a94.entry.js.map} +0 -0
  323. /package/dist/dso-toolkit/{p-79767cc1.entry.js.map → p-9f2bb98b.entry.js.map} +0 -0
  324. /package/dist/dso-toolkit/{p-6e0b67c9.entry.js.map → p-9fee52e5.entry.js.map} +0 -0
  325. /package/dist/dso-toolkit/{p-9b14a015.entry.js.map → p-a616ab8a.entry.js.map} +0 -0
  326. /package/dist/dso-toolkit/{p-ef23bffb.entry.js.map → p-b627d9ac.entry.js.map} +0 -0
  327. /package/dist/dso-toolkit/{p-9d64a2f4.entry.js.map → p-b67631ef.entry.js.map} +0 -0
  328. /package/dist/dso-toolkit/{p-0653b5d2.entry.js.map → p-bcae3f55.entry.js.map} +0 -0
  329. /package/dist/dso-toolkit/{p-b1b53cb3.entry.js.map → p-bf203ab8.entry.js.map} +0 -0
  330. /package/dist/dso-toolkit/{p-ee2771d4.entry.js.map → p-c8165a50.entry.js.map} +0 -0
  331. /package/dist/dso-toolkit/{p-26cdce1c.js.map → p-ce928197.js.map} +0 -0
  332. /package/dist/dso-toolkit/{p-601b4ce0.entry.js.map → p-cfd6f4ef.entry.js.map} +0 -0
  333. /package/dist/dso-toolkit/{p-b6f1ae13.entry.js.map → p-d3f69d06.entry.js.map} +0 -0
  334. /package/dist/dso-toolkit/{p-3ab9390b.entry.js.map → p-d8c137b5.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["getNodeName","node","Element","localName","nodeName","includes","substring","indexOf","OzonContentAlNode","constructor","this","name","render","mapNodeToJsx","path","nestedAl","some","n","content","childNodes","h","role","OzonContentBronNode","class","OzonContentDocumentNode","Fragment","OzonContentExtRefNode","href","tagName","getAttribute","target","rel","undefined","OzonContentFallbackNode","Bijschrift","bijschrift","bron","inhoud","OzonContentFiguurNode","setImageDimensions","imageElement","schaal","naturalHeight","naturalWidth","height","width","onImageLoad","event","HTMLImageElement","Array","from","titel","_a","find","textContent","illustratieNode","bijschriftNode","illustratie","naam","breedte","hoogte","uitlijning","alt","locatie","_b","slot","src","_c","_f","_e","_d","onLoad","Number","OzonContentInhoudNode","OzonContentInlineTekstAfbeeldingNode","OzonContentInlineNodes","Tag","OzonContentIntIoRefNode","emitAnchorClick","ref","intRefOnClick","preventDefault","currentTarget","HTMLAnchorElement","documentComponent","originalEvent","onClick","OzonContentIntRefNode","OzonContentLijstNode","aanhef","sluiting","listItems","filter","map","item","itemNodes","liNummer","OzonContentNieuweTekstNode","OzonContentNootNode","handles","identify","state","openNoteId","setState","noteId","console","error","noteControlsId","nootNummer","type","onBlur","active","id","stateless","descriptive","querySelectorAll","OzonContentOpschriftNode","mapColspecs","count","nodeList","elements","totalWidth","getTotalWidth","columns","element","index","colNumber","number","parseInt","getWidth","reduce","replace","colWidth","isNaN","match","Math","round","Colgroup","colspecs","length","colspec","style","getData","cell","moreRows","nameStart","nameEnd","getColspan","colspecStart","c","colspecEnd","colspan","Cell","context","td","rowSpan","colSpan","Object","assign","Rows","rows","row","children","mapData","tgroup","querySelector","colAttribute","columnCount","caption","headRows","bodyRows","editAction","OzonContentTableNode","uuidv4","clsx","OzonContentTextNode","OzonContentVerwijderdeTekstNode","Mapper","mappers","skip","t","m","push","fallbackNode","domParser","DOMParser","findMapper","isArray","NodeList","mapper","identity","call","s","transform","xml","cache","document","parseFromString","xmlDocument","getRootNode","ozonContentCss","OzonContent","handleHostOnClick","e","interactive","doIt","composedPath","eventTarget","host","HTMLElement","isTabbable","dsoClick","emit","dsoAnchorClick","transformed","deleted","Host"],"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=scoped","./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 (!this.cache || this.cache.xml !== xml) {\r\n this.cache = { xml, document: this.domParser.parseFromString(xml, \"text/xml\") };\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\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.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.fallback {\r\n display: block;\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","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 scoped: 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"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r,h as o}from"./p-26cdce1c.js";import{c as e}from"./p-6a1980b4.js";const t=":host{display:block}:host(:not(:first-child)){margin-top:24px}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.alert{border:1px solid transparent;line-height:1.5;margin-bottom:24px;min-height:64px;position:relative}@media screen and (min-width: 481px){.alert{padding:19px 16px 19px 63px}}@media screen and (max-width: 480px){.alert{padding:63px 16px 16px}}.alert:not(:first-child){margin-top:24px}.alert.alert-success{color:#000;background-color:#e4f1d4;border-color:#e4f1d4}.alert.alert-error{color:#000;background-color:#f5d8dc;border-color:#f5d8dc}.alert.alert-warning{color:#000;background-color:#f8f6cc;border-color:#f8f6cc}.alert.alert-info{color:#000;background-color:#e1ecf7;border-color:#e1ecf7}.alert dso-icon{left:15px;position:absolute;top:15px;height:32px;width:32px}";const i=class{constructor(o){r(this,o);this.status=undefined;this.roleAlert=undefined}render(){const r=i.statusMap.get(this.status);if(!r){throw new Error(`Invalid status ${this.status}`)}return o("div",{class:e("alert",`alert-${this.status}`),role:this.roleAlert?"alert":undefined},o("dso-icon",{icon:"status-"+this.status}),o("span",{class:"sr-only"},r,":"),o("slot",null))}};i.statusMap=new Map([["success","Gelukt"],["info","Opmerking"],["warning","Waarschuwing"],["error","Fout"]]);i.style=t;export{i as dso_alert};
2
- //# sourceMappingURL=p-0ffae824.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["alertCss","Alert","render","status","statusMap","get","this","Error","h","class","clsx","role","roleAlert","undefined","icon","Map"],"sources":["./src/components/alert/alert.scss?tag=dso-alert&encapsulation=shadow","./src/components/alert/alert.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/alert\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host(:not(:first-child)) {\r\n margin-top: units.$u3;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.alert {\r\n @include alert.root();\r\n\r\n dso-icon {\r\n @include alert.icon-position();\r\n\r\n height: units.$u4;\r\n width: units.$u4;\r\n }\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-alert\",\r\n styleUrl: \"alert.scss\",\r\n shadow: true,\r\n})\r\nexport class Alert {\r\n /**\r\n * Set status of alert\r\n */\r\n @Prop()\r\n status!: \"success\" | \"info\" | \"warning\" | \"error\";\r\n\r\n /**\r\n * Whether or not to show the role attribute with value \"alert\". To control the tooltip add the `role-alert` attribute.\r\n */\r\n @Prop()\r\n roleAlert?: boolean;\r\n\r\n private static statusMap = new Map<string, string>([\r\n [\"success\", \"Gelukt\"],\r\n [\"info\", \"Opmerking\"],\r\n [\"warning\", \"Waarschuwing\"],\r\n [\"error\", \"Fout\"],\r\n ]);\r\n\r\n render() {\r\n const status = Alert.statusMap.get(this.status);\r\n if (!status) {\r\n throw new Error(`Invalid status ${this.status}`);\r\n }\r\n\r\n return (\r\n <div class={clsx(\"alert\", `alert-${this.status}`)} role={this.roleAlert ? \"alert\" : undefined}>\r\n <dso-icon icon={\"status-\" + this.status}></dso-icon>\r\n <span class=\"sr-only\">{status}:</span>\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"0EAAA,MAAMA,EAAW,+3B,MCQJC,EAAK,M,wEAoBhBC,SACE,MAAMC,EAASF,EAAMG,UAAUC,IAAIC,KAAKH,QACxC,IAAKA,EAAQ,CACX,MAAM,IAAII,MAAM,kBAAkBD,KAAKH,S,CAGzC,OACEK,EAAA,OAAKC,MAAOC,EAAK,QAAS,SAASJ,KAAKH,UAAWQ,KAAML,KAAKM,UAAY,QAAUC,WAClFL,EAAA,YAAUM,KAAM,UAAYR,KAAKH,SACjCK,EAAA,QAAMC,MAAM,WAAWN,EAAM,KAC7BK,EAAA,a,GAjBSP,EAAAG,UAAY,IAAIW,IAAoB,CACjD,CAAC,UAAW,UACZ,CAAC,OAAQ,aACT,CAAC,UAAW,gBACZ,CAAC,QAAS,U"}
@@ -1,2 +0,0 @@
1
- import{r as s,c as t,h as e,H as i,g as a}from"./p-26cdce1c.js";import{c as n}from"./p-6a1980b4.js";import{i as o}from"./p-33df9903.js";const l=s=>s instanceof HTMLButtonElement||s instanceof HTMLAnchorElement||s instanceof HTMLInputElement||s.tagName.startsWith("DSO-TOGGLETIP");const r=":host .dso-card-selectable,:host .dso-card-image{grid-row:span 2}*,*::after,*::before{box-sizing:border-box}:host{display:block}:host .dso-card-heading{align-items:center;display:flex;margin-bottom:8px}@media screen and (max-width: 480px){:host .dso-card-heading{flex-wrap:wrap}}:host .dso-card-image{margin-right:8px}";const d=class{constructor(e){s(this,e);this.dsoCardClicked=t(this,"dsoCardClicked",7);this.isSelectable=false;this.hasImage=false;this.clickable=true;this.imageShape="normal"}clickEventHandler(s){if(!(s.target instanceof HTMLElement)||!this.clickable){return}let t=s.target;while(t!==this.host&&t!==null){if(l(t)||t===null){return}if(t.parentNode instanceof ShadowRoot&&t.parentNode.host instanceof HTMLElement){t=t.parentNode.host}else{t=t.parentElement}}return this.dsoCardClicked.emit({originalEvent:s,isModifiedEvent:o(s)})}componentWillLoad(){this.isSelectable=this.host.querySelector("*[slot = 'selectable']")!==null;this.hasImage=this.host.querySelector("*[slot = 'image']")!==null}render(){return e(i,{class:n({"dso-not-clickable":!this.clickable}),onClick:s=>this.clickEventHandler(s)},e("div",{class:"dso-card-selectable",hidden:!this.isSelectable},e("slot",{name:"selectable"})),e("div",{class:"dso-card-image",hidden:!this.hasImage},e("slot",{name:"image"})),e("div",{class:"dso-card-heading"},e("slot",{name:"heading"}),e("slot",{name:"interactions"})),e("div",{class:"dso-card-content"},e("slot",{name:"content"})))}get host(){return a(this)}};d.style=r;export{d as dso_card};
2
- //# sourceMappingURL=p-1d3ed808.entry.js.map
@@ -1,2 +0,0 @@
1
- import{a as t,f as e}from"./p-26cdce1c.js";const n=(t,e,n)=>{const s=t.get(e);if(!s){t.set(e,[n])}else if(!s.includes(n)){s.push(n)}};const s=(t,e)=>{let n;return(...s)=>{if(n){clearTimeout(n)}n=setTimeout((()=>{n=0;t(...s)}),e)}};const o=t=>!("isConnected"in t)||t.isConnected;const r=s((t=>{for(let e of t.keys()){t.set(e,t.get(e).filter(o))}}),2e3);const c=()=>{if(typeof t!=="function"){return{}}const s=new Map;return{dispose:()=>s.clear(),get:e=>{const o=t();if(o){n(s,e,o)}},set:t=>{const n=s.get(t);if(n){s.set(t,n.filter(e))}r(s)},reset:()=>{s.forEach((t=>t.forEach(e)));r(s)}}};const i=t=>typeof t==="function"?t():t;const u=(t,e=((t,e)=>t!==e))=>{const n=i(t);let s=new Map(Object.entries(n!==null&&n!==void 0?n:{}));const o={dispose:[],get:[],set:[],reset:[]};const r=()=>{var e;s=new Map(Object.entries((e=i(t))!==null&&e!==void 0?e:{}));o.reset.forEach((t=>t()))};const c=()=>{o.dispose.forEach((t=>t()));r()};const u=t=>{o.get.forEach((e=>e(t)));return s.get(t)};const a=(t,n)=>{const r=s.get(t);if(e(n,r,t)){s.set(t,n);o.set.forEach((e=>e(t,n,r)))}};const p=typeof Proxy==="undefined"?{}:new Proxy(n,{get(t,e){return u(e)},ownKeys(t){return Array.from(s.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,e){return s.has(e)},set(t,e,n){a(e,n);return true}});const d=(t,e)=>{o[t].push(e);return()=>{f(o[t],e)}};const l=(e,n)=>{const s=d("set",((t,s)=>{if(t===e){n(s)}}));const o=d("reset",(()=>n(i(t)[e])));return()=>{s();o()}};const g=(...t)=>{const e=t.reduce(((t,e)=>{if(e.set){t.push(d("set",e.set))}if(e.get){t.push(d("get",e.get))}if(e.reset){t.push(d("reset",e.reset))}if(e.dispose){t.push(d("dispose",e.dispose))}return t}),[]);return()=>e.forEach((t=>t()))};const y=t=>{const e=s.get(t);o.set.forEach((n=>n(t,e,e)))};return{state:p,get:u,set:a,on:d,onChange:l,use:g,dispose:c,reset:r,forceUpdate:y}};const f=(t,e)=>{const n=t.indexOf(e);if(n>=0){t[n]=t[t.length-1];t.length--}};const a=(t,e)=>{const n=u(t,e);n.use(c());return n};export{a as c};
2
- //# sourceMappingURL=p-26713aef.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["appendToMap","map","propName","value","items","get","set","includes","push","debounce","fn","ms","timeoutId","args","clearTimeout","setTimeout","isConnected","maybeElement","cleanupElements","key","keys","filter","stencilSubscription","getRenderingRef","elmsToUpdate","Map","dispose","clear","elm","elements","forceUpdate","reset","forEach","elms","unwrap","val","createObservableMap","defaultState","shouldUpdate","a","b","unwrappedState","states","Object","entries","handlers","_a","cb","oldValue","state","Proxy","_","ownKeys","Array","from","getOwnPropertyDescriptor","enumerable","configurable","has","on","eventName","callback","removeFromArray","onChange","unSet","newValue","unReset","use","subscriptions","unsubs","reduce","subscription","unsub","array","item","index","indexOf","length","createStore"],"sources":["../../node_modules/@stencil/store/dist/index.mjs"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as o,h as e,F as s,g as i}from"./p-26cdce1c.js";import{c as l}from"./p-6a1980b4.js";import{d as n}from"./p-1805f5b0.js";const a=":host{display:inline-block;max-width:100%}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-label{background-color:#f2f2f2;border-radius:4px;color:#191919;display:inline-block;line-height:1.5;max-width:100%;padding:4px 8px}.dso-label:focus-within,.dso-label.dso-hover{text-decoration:line-through}.dso-label button{background:none;border:0;border-radius:0 4px 4px 0;color:inherit;float:right;font-size:1rem;margin-bottom:-4px;margin-left:8px;margin-right:-4px;margin-top:0;padding:0}.dso-label button:hover{cursor:pointer}.dso-label button>dso-icon,.dso-label button>svg.di{display:block}.dso-label.dso-label-info{background-color:#6ca4d9;color:#000}.dso-label.dso-label-primary{background-color:#275937;color:#fff}.dso-label.dso-label-success{background-color:#39870c;color:#fff}.dso-label.dso-label-warning{background-color:#dcd400;color:#000}.dso-label.dso-label-danger{background-color:#ce3f51;color:#fff}.dso-label.dso-label-error{background-color:#ce3f51;color:#fff}.dso-label.dso-label-bright{background-color:#fff;color:#191919;outline:1px solid #ccc;outline-offset:-1px}.dso-label.dso-label-attention{background-color:#8b4a6a;color:#fff}.dso-label.dso-compact{padding:0 8px}.dso-label.dso-hover .dso-label-content{text-decoration:line-through}.dso-truncate.dso-label-content{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}:host([removable]) .dso-truncate.dso-label-content{max-width:calc(100% - 28px)}";const r=new ResizeObserver(n.debounce((t=>{t.forEach((({target:t})=>{if(d(t)){t._truncateLabel()}}))}),150));function d(t){return t.tagName==="DSO-LABEL"}function c(t){return t.scrollWidth>t.clientWidth}const h=class{constructor(e){t(this,e);this.dsoRemoveClick=o(this,"dsoRemoveClick",7);this.keydownListenerActive=false;this.keyDownListener=t=>{if(t.key==="Escape"){this.textHover=false;this.textFocus=false}};this.compact=undefined;this.removable=undefined;this.status=undefined;this.removeHover=undefined;this.removeFocus=undefined;this.truncate=undefined;this.textHover=undefined;this.textFocus=undefined;this.isTruncated=undefined;this.labelText=null}watchTruncate(t){if(t){this.startTruncate()}else{this.stopTruncate()}}watchTooltipActive(){if(!this.keydownListenerActive&&(this.textHover||this.textFocus)){document.addEventListener("keydown",this.keyDownListener);this.keydownListenerActive=true}if(!this.textHover&&!this.textFocus){document.removeEventListener("keydown",this.keyDownListener);this.keydownListenerActive=false}}async _truncateLabel(){setTimeout((()=>{this.isTruncated=this.labelContent&&c(this.labelContent)}))}syncLabelText(){this.labelText=this.host.textContent}componentDidLoad(){if(this.truncate){this.startTruncate()}if(this.removable){this.startMutationObserver()}}disconnectedCallback(){this.stopTruncate()}startMutationObserver(){if(this.mutationObserver){return}this.mutationObserver=new MutationObserver((t=>t.forEach((()=>this.syncLabelText()))));this.mutationObserver.observe(this.host,{characterData:true,subtree:true,attributes:true});this.labelText=this.host.textContent}startTruncate(){r.observe(this.host);this.startMutationObserver();this._truncateLabel()}stopTruncate(){document.removeEventListener("keydown",this.keyDownListener);r.unobserve(this.host);this.isTruncated=undefined;this.keydownListenerActive=false}render(){return e(s,null,e("span",{"aria-describedby":"toggle-anchor",class:l("dso-label",{[`dso-label-${this.status}`]:this.status,"dso-compact":this.compact&&!this.removable,"dso-hover":this.removeHover||this.removeFocus})},e("slot",{name:"symbol"}),e("span",{class:l("dso-label-content",{"dso-truncate":!!this.truncate}),ref:t=>this.labelContent=t,tabindex:this.truncate&&this.isTruncated?0:undefined,onMouseEnter:()=>this.textHover=true,onMouseLeave:()=>this.textHover=false,onFocus:()=>this.textFocus=true,onBlur:()=>this.textFocus=false},e("slot",null)),this.removable&&e("button",{type:"button",onClick:t=>this.dsoRemoveClick.emit(t),onMouseEnter:()=>this.removeHover=true,onMouseLeave:()=>this.removeHover=false,onFocus:()=>this.removeFocus=true,onBlur:()=>this.removeFocus=false},e("span",{class:"sr-only"},"Verwijder: ",this.labelText),e("dso-icon",{icon:"times"}))),this.isTruncated&&e("dso-tooltip",{stateless:true,id:"toggle-anchor",active:this.textHover||this.textFocus,position:"top",strategy:"absolute"},this.labelText))}get host(){return i(this)}static get watchers(){return{truncate:["watchTruncate"],textHover:["watchTooltipActive"],textFocus:["watchTooltipActive"]}}};h.style=a;export{h as dso_label};
2
- //# sourceMappingURL=p-52f2be73.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["labelCss","resizeObserver","ResizeObserver","debounce","entries","forEach","target","isDsoLabelComponent","_truncateLabel","element","tagName","hasEllipses","el","scrollWidth","clientWidth","Label","this","keydownListenerActive","keyDownListener","event","key","textHover","textFocus","watchTruncate","truncate","startTruncate","stopTruncate","watchTooltipActive","document","addEventListener","removeEventListener","async","setTimeout","isTruncated","labelContent","syncLabelText","labelText","host","textContent","componentDidLoad","removable","startMutationObserver","disconnectedCallback","mutationObserver","MutationObserver","observe","characterData","subtree","attributes","unobserve","undefined","render","h","Fragment","class","clsx","status","compact","removeHover","removeFocus","name","ref","tabindex","onMouseEnter","onMouseLeave","onFocus","onBlur","type","onClick","e","dsoRemoveClick","emit","icon","stateless","id","active","position","strategy"],"sources":["./src/components/label/label.scss?tag=dso-label&encapsulation=shadow","./src/components/label/label.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/label\";\r\n\r\n:host {\r\n display: inline-block;\r\n max-width: 100%;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n// Todo: Replace .sr-only selector with web component specific selector, no need for .sr-only if we can generate the SCSS\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-label {\r\n @include label.root();\r\n\r\n &.dso-hover {\r\n .dso-label-content {\r\n text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n.dso-truncate.dso-label-content {\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n vertical-align: bottom;\r\n white-space: nowrap; // stylelint-disable-line declaration-property-value-disallowed-list -- full text can be viewed via tooltip.\r\n}\r\n\r\n:host([removable]) {\r\n .dso-truncate.dso-label-content {\r\n max-width: calc(100% - (units.$u3 + 4px));\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { debounce } from \"debounce\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce((entries) => {\r\n entries.forEach(({ target }) => {\r\n if (isDsoLabelComponent(target)) {\r\n target._truncateLabel();\r\n }\r\n });\r\n }, 150)\r\n);\r\n\r\nfunction isDsoLabelComponent(element: Element): element is HTMLDsoLabelElement {\r\n return element.tagName === \"DSO-LABEL\";\r\n}\r\n\r\nfunction hasEllipses(el: HTMLElement): boolean {\r\n return el.scrollWidth > el.clientWidth;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-label\",\r\n styleUrl: \"label.scss\",\r\n shadow: true,\r\n})\r\nexport class Label implements ComponentInterface {\r\n private labelContent: HTMLSpanElement | undefined;\r\n\r\n private keydownListenerActive = false;\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n @Element()\r\n private host!: HTMLDsoLabelElement;\r\n\r\n /**\r\n * For compact Label\r\n */\r\n @Prop()\r\n compact?: boolean;\r\n\r\n /**\r\n * Shows a button that can be used to remove the Label.\r\n */\r\n @Prop()\r\n removable?: boolean;\r\n\r\n /**\r\n * The status of this Label.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"error\" | \"bright\" | \"attention\";\r\n\r\n @State()\r\n removeHover?: boolean;\r\n\r\n @State()\r\n removeFocus?: boolean;\r\n\r\n /**\r\n * Whether the Label is allowed to truncate the contents if it does not fit the container element.\r\n */\r\n @Prop()\r\n truncate?: boolean;\r\n\r\n @State()\r\n textHover?: boolean;\r\n\r\n @State()\r\n textFocus?: boolean;\r\n\r\n @State()\r\n isTruncated?: boolean;\r\n\r\n @State()\r\n labelText: string | null = null;\r\n\r\n /**\r\n * Emitted when the user activates the remove button.\r\n */\r\n @Event()\r\n dsoRemoveClick!: EventEmitter<MouseEvent>;\r\n\r\n @Watch(\"truncate\")\r\n watchTruncate(truncate: boolean) {\r\n if (truncate) {\r\n this.startTruncate();\r\n } else {\r\n this.stopTruncate();\r\n }\r\n }\r\n\r\n @Watch(\"textHover\")\r\n @Watch(\"textFocus\")\r\n watchTooltipActive() {\r\n if (!this.keydownListenerActive && (this.textHover || this.textFocus)) {\r\n document.addEventListener(\"keydown\", this.keyDownListener);\r\n this.keydownListenerActive = true;\r\n }\r\n\r\n if (!this.textHover && !this.textFocus) {\r\n document.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.keydownListenerActive = false;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _truncateLabel() {\r\n setTimeout(() => {\r\n this.isTruncated = this.labelContent && hasEllipses(this.labelContent);\r\n });\r\n }\r\n\r\n private syncLabelText() {\r\n this.labelText = this.host.textContent;\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.truncate) {\r\n this.startTruncate();\r\n }\r\n\r\n if (this.removable) {\r\n this.startMutationObserver();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.stopTruncate();\r\n }\r\n\r\n /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */\r\n private startMutationObserver(): void {\r\n if (this.mutationObserver) {\r\n return;\r\n }\r\n\r\n this.mutationObserver = new MutationObserver((entries) => entries.forEach(() => this.syncLabelText()));\r\n\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n this.labelText = this.host.textContent;\r\n }\r\n\r\n private startTruncate(): void {\r\n resizeObserver.observe(this.host);\r\n this.startMutationObserver();\r\n this._truncateLabel();\r\n }\r\n\r\n private stopTruncate(): void {\r\n document.removeEventListener(\"keydown\", this.keyDownListener);\r\n\r\n resizeObserver.unobserve(this.host);\r\n this.isTruncated = undefined;\r\n this.keydownListenerActive = false;\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key === \"Escape\") {\r\n this.textHover = false;\r\n this.textFocus = false;\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <span\r\n aria-describedby=\"toggle-anchor\"\r\n class={clsx(\"dso-label\", {\r\n [`dso-label-${this.status}`]: this.status,\r\n \"dso-compact\": this.compact && !this.removable,\r\n \"dso-hover\": this.removeHover || this.removeFocus,\r\n })}\r\n >\r\n <slot name=\"symbol\"></slot>\r\n <span\r\n class={clsx(\"dso-label-content\", {\r\n \"dso-truncate\": !!this.truncate,\r\n })}\r\n ref={(element) => (this.labelContent = element)}\r\n tabindex={this.truncate && this.isTruncated ? 0 : undefined}\r\n onMouseEnter={() => (this.textHover = true)}\r\n onMouseLeave={() => (this.textHover = false)}\r\n onFocus={() => (this.textFocus = true)}\r\n onBlur={() => (this.textFocus = false)}\r\n >\r\n <slot></slot>\r\n </span>\r\n {this.removable && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoRemoveClick.emit(e)}\r\n onMouseEnter={() => (this.removeHover = true)}\r\n onMouseLeave={() => (this.removeHover = false)}\r\n onFocus={() => (this.removeFocus = true)}\r\n onBlur={() => (this.removeFocus = false)}\r\n >\r\n <span class=\"sr-only\">Verwijder: {this.labelText}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n )}\r\n </span>\r\n {this.isTruncated && (\r\n <dso-tooltip\r\n stateless\r\n id=\"toggle-anchor\"\r\n active={this.textHover || this.textFocus}\r\n position=\"top\"\r\n strategy=\"absolute\"\r\n >\r\n {this.labelText}\r\n </dso-tooltip>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as o,c as d,h as s,F as t,g as a}from"./p-26cdce1c.js";import{c as r}from"./p-91963e3d.js";import{v as i}from"./p-5d7f4ff2.js";import"./p-5950644a.js";const e="@keyframes slideInFromTop{0%{opacity:0}100%{opacity:1}}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}.dso-modal{bottom:0;height:100%;left:0;position:fixed;right:0;top:0;z-index:530}.dso-modal .dso-dialog{animation:1s ease-out 0s 1 slideInFromTop;background-color:#fff;box-shadow:0 8px 24px 0 rgba(25, 25, 25, 0.4);margin-left:auto;margin-right:auto;margin-top:clamp(40px, 15vh, 15vh);max-width:640px;opacity:1}.dso-modal .dso-header{border-bottom:1px solid #ccc;padding:16px;position:relative}.dso-modal .dso-header h2{color:#275937;margin:0;max-width:calc(100% - 24px)}.dso-modal .dso-header .dso-close{background-color:transparent;border:0;height:32px;padding:0;position:absolute;right:13px;text-align:center;top:16px;width:32px}.dso-modal>.dso-dialog>.dso-body{height:calc(100% - 96px - 1.5rem);max-height:calc(70vh - 144px - 1.5em);min-height:1.5rem;overflow-x:auto;padding:32px}.dso-modal>.dso-dialog>.dso-body p{margin:0 0 16px}.dso-modal>.dso-dialog>.dso-body ul,.dso-modal>.dso-dialog>.dso-body ol{margin-bottom:16px}.dso-modal>.dso-dialog>.dso-body ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),.dso-modal>.dso-dialog>.dso-body ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list){padding-inline-start:24px}.dso-modal>.dso-dialog>.dso-body pre{margin:0 0 16px}.dso-modal>.dso-dialog>.dso-body blockquote{padding:16px 24px}.dso-modal>.dso-dialog>.dso-body dso-highlight-box,.dso-modal>.dso-dialog>.dso-body .dso-highlight-box{margin-bottom:24px}.dso-modal>.dso-dialog>.dso-body img{height:auto;max-width:100%}.dso-modal>.dso-dialog>dso-scrollable{height:calc(100% - 96px - 1.5rem);max-height:calc(70vh - 144px - 1.5em);min-height:6.5rem}.dso-modal>.dso-dialog>dso-scrollable .dso-body{padding:32px}.dso-modal>.dso-dialog>dso-scrollable .dso-body p{margin:0 0 16px}.dso-modal>.dso-dialog>dso-scrollable .dso-body ul,.dso-modal>.dso-dialog>dso-scrollable .dso-body ol{margin-bottom:16px}.dso-modal>.dso-dialog>dso-scrollable .dso-body ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),.dso-modal>.dso-dialog>dso-scrollable .dso-body ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list){padding-inline-start:24px}.dso-modal>.dso-dialog>dso-scrollable .dso-body pre{margin:0 0 16px}.dso-modal>.dso-dialog>dso-scrollable .dso-body blockquote{padding:16px 24px}.dso-modal>.dso-dialog>dso-scrollable .dso-body dso-highlight-box,.dso-modal>.dso-dialog>dso-scrollable .dso-body .dso-highlight-box{margin-bottom:24px}.dso-modal>.dso-dialog>dso-scrollable .dso-body img{height:auto;max-width:100%}.dso-modal .dso-footer{min-height:80px;padding:16px 32px;text-align:right}@media screen and (max-width: 767px){.dso-modal .dso-footer .btn+.btn,.dso-modal .dso-footer .btn+.dso-primary,.dso-modal .dso-footer .btn+.dso-secondary,.dso-modal .dso-footer .btn+.dso-tertiary,.dso-modal .dso-footer .dso-primary+.btn,.dso-modal .dso-footer .dso-primary+.dso-primary,.dso-modal .dso-footer .dso-primary+.dso-secondary,.dso-modal .dso-footer .dso-primary+.dso-tertiary,.dso-modal .dso-footer .dso-secondary+.btn,.dso-modal .dso-footer .dso-secondary+.dso-primary,.dso-modal .dso-footer .dso-secondary+.dso-secondary,.dso-modal .dso-footer .dso-secondary+.dso-tertiary,.dso-modal .dso-footer .dso-tertiary+.btn,.dso-modal .dso-footer .dso-tertiary+.dso-primary,.dso-modal .dso-footer .dso-tertiary+.dso-secondary,.dso-modal .dso-footer .dso-tertiary+.dso-tertiary{margin-left:0}.dso-modal .dso-footer button{text-align:center;width:100%}.dso-modal .dso-footer button+button{margin-top:8px}.dso-modal .dso-footer button.dso-tertiary,.dso-modal .dso-footer button.dso-tertiary span,.dso-modal .dso-footer button.btn-link,.dso-modal .dso-footer button.btn-link span{float:none}}@media screen and (min-width: 768px){.dso-modal .dso-footer .btn+.dso-secondary,.dso-modal .dso-footer .btn+.btn-default,.dso-modal .dso-footer .dso-primary+.dso-secondary,.dso-modal .dso-footer .dso-primary+.btn-default,.dso-modal .dso-footer .dso-secondary+.dso-secondary,.dso-modal .dso-footer .dso-secondary+.btn-default,.dso-modal .dso-footer .dso-tertiary+.dso-secondary,.dso-modal .dso-footer .dso-tertiary+.btn-default{margin-left:16px}.dso-modal .dso-footer .btn+.dso-tertiary,.dso-modal .dso-footer .btn+.btn-link,.dso-modal .dso-footer .dso-primary+.dso-tertiary,.dso-modal .dso-footer .dso-primary+.btn-link,.dso-modal .dso-footer .dso-secondary+.dso-tertiary,.dso-modal .dso-footer .dso-secondary+.btn-link,.dso-modal .dso-footer .dso-tertiary+.dso-tertiary,.dso-modal .dso-footer .dso-tertiary+.btn-link{margin-left:0}}@media screen and (max-width: 767px){.dso-modal .dso-dialog{max-width:100%;margin-top:0}.dso-modal .dso-footer .btn+.btn,.dso-modal .dso-footer .btn+.dso-primary,.dso-modal .dso-footer .btn+.dso-secondary,.dso-modal .dso-footer .btn+.dso-tertiary,.dso-modal .dso-footer .dso-primary+.btn,.dso-modal .dso-footer .dso-primary+.dso-primary,.dso-modal .dso-footer .dso-primary+.dso-secondary,.dso-modal .dso-footer .dso-primary+.dso-tertiary,.dso-modal .dso-footer .dso-secondary+.btn,.dso-modal .dso-footer .dso-secondary+.dso-primary,.dso-modal .dso-footer .dso-secondary+.dso-secondary,.dso-modal .dso-footer .dso-secondary+.dso-tertiary,.dso-modal .dso-footer .dso-tertiary+.btn,.dso-modal .dso-footer .dso-tertiary+.dso-primary,.dso-modal .dso-footer .dso-tertiary+.dso-secondary,.dso-modal .dso-footer .dso-tertiary+.dso-tertiary{margin-left:0}.dso-modal .dso-footer button{text-align:center;width:100%}.dso-modal .dso-footer button+button{margin-top:8px}.dso-modal .dso-footer button.dso-tertiary,.dso-modal .dso-footer button.dso-tertiary span,.dso-modal .dso-footer button.btn-link,.dso-modal .dso-footer button.btn-link span{float:none}}@media screen and (max-height: 380px){.dso-modal .dso-dialog{margin-bottom:8px;margin-top:8px;min-height:216px}.dso-modal .dso-header{padding:8px 16px}.dso-modal .dso-header .dso-close{top:8px}.dso-modal .dso-body{padding:16px 24px}.dso-modal .dso-footer{min-height:auto;overflow:auto;padding:8px 32px}}.dso-modal-overlay{background-color:rgba(255, 255, 255, 0.8);bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:529}.dso-close dso-icon{color:#39870c}";const l=class{constructor(s){o(this,s);this.dsoClose=d(this,"dsoClose",7);this.ariaId=i();this.hasFooter=undefined;this.modalTitle=undefined;this.role="dialog";this.showCloseButton=true;this.initialFocus=undefined;this.returnFocus=undefined}componentWillLoad(){this.hasFooter=this.host.querySelector("*[slot = 'footer']")!==null}componentDidLoad(){this.setFocusTrap()}disconnectedCallback(){var o;(o=this.trap)===null||o===void 0?void 0:o.deactivate({onDeactivate:()=>undefined})}render(){var o;return s(t,null,s("div",{class:"dso-modal-overlay"}),s("div",{class:"dso-modal",role:(o=this.role)!==null&&o!==void 0?o:undefined,"aria-modal":"true","aria-labelledby":this.ariaId,ref:o=>this.modalElement=o},s("div",{class:"dso-dialog",role:"document",ref:o=>this.dialogElement=o},this.modalTitle?s("div",{class:"dso-header"},s("h2",{id:this.ariaId},this.modalTitle),this.showCloseButton&&s("button",{type:"button",class:"dso-close",onClick:o=>this.dsoClose.emit({originalEvent:o})},s("dso-icon",{icon:"times"}),s("span",{class:"sr-only"},"Sluiten"))):s("span",{class:"sr-only",id:this.ariaId},"Dialoog"),s("dso-scrollable",null,s("div",{class:"dso-body",tabIndex:0},s("slot",{name:"body"}))),this.hasFooter&&s("div",{class:"dso-footer"},s("slot",{name:"footer"})))))}setFocusTrap(){if(this.dialogElement&&!this.trap){this.trap=r(this.dialogElement,{initialFocus:()=>{var o,d,s;if(this.initialFocus){const o=this.host.querySelector(this.initialFocus);if(!o){console.warn(`element '${this.initialFocus}' could not be found`)}else{return o}}return(s=(o=this.host.querySelector("div[slot='footer'] .dso-primary"))!==null&&o!==void 0?o:(d=this.modalElement)===null||d===void 0?void 0:d.querySelector(".dso-close"))!==null&&s!==void 0?s:false},allowOutsideClick:true,setReturnFocus:o=>{var d,s;return(s=(d=this.returnFocus)===null||d===void 0?void 0:d.call(this,o))!==null&&s!==void 0?s:o},escapeDeactivates:true,tabbableOptions:{getShadowRoot:true},clickOutsideDeactivates:o=>{if(o instanceof MouseEvent&&o.composedPath()[0]===this.modalElement){return true}return false},onDeactivate:()=>{delete this.trap;this.dsoClose.emit({originalEvent:undefined})}}).activate()}}get host(){return a(this)}};l.style=e;export{l as dso_modal};
2
- //# sourceMappingURL=p-56069350.entry.js.map
@@ -1,2 +0,0 @@
1
- import{h as e,r as t,c as n,H as i}from"./p-26cdce1c.js";import{c as o}from"./p-6a1980b4.js";import{v as a}from"./p-5d7f4ff2.js";const s=({heading:t,ref:n,className:i},o)=>{switch(t){default:case"h2":return e("h2",{ref:n,class:i},o);case"h3":return e("h3",{ref:n,class:i},o);case"h4":return e("h4",{ref:n,class:i},o);case"h5":return e("h5",{ref:n,class:i},o);case"h6":return e("h6",{ref:n,class:i},o)}};const h="h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{color:#275937}h1,.h1,h2,.h2,h3,.h3{margin-block-end:16px;margin-block-start:24px}h1,.h1{line-height:1.25}h1{font-size:2rem;font-weight:700}h2,.h2{line-height:1.33}h2{color:#275937;font-size:1.5rem;font-weight:700}h3,.h3{line-height:1.2}h3{color:#275937;font-size:1.25rem;font-weight:600}h4,.h4,h5,.h5,h6,.h6{margin-block-end:16px;margin-block-start:12px}h4,.h4{line-height:1.5}h4{color:#275937;font-size:1rem;font-weight:600}h5,.h5{line-height:1.5}h5{color:#191919;font-size:1rem;font-weight:600}h6,.h6{line-height:1.5}ins{background-color:#e4f1d4;box-shadow:0 1px 3px 1px rgba(0, 0, 0, 0.25);color:#000;text-decoration:none}:host{display:block;margin-inline:-8px;padding-inline:8px}:host(.dso-del){background-color:#f5d8dc;color:#000;text-decoration:line-through}:host(.dso-ins){background-color:#e4f1d4;box-shadow:0 1px 3px 1px rgba(0, 0, 0, 0.25);color:#000}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-edit-action-text{margin-bottom:8px;margin-top:-8px}.dso-edit-action-text span{display:inline-block;font-style:italic}.dso-edit-action-text+.expandable-heading{margin-top:0;padding-top:0}.expandable-heading{align-items:center;display:flex;margin-bottom:8px;margin-top:8px}.expandable-heading h2,.expandable-heading h3,.expandable-heading h4,.expandable-heading h5,.expandable-heading h6{font-size:1rem;margin-bottom:0;margin-right:8px;margin-top:0}.expandable-heading button{align-items:flex-start;cursor:pointer;background-color:transparent;border:0;color:inherit;display:flex;line-height:24px;font-size:inherit;font-weight:inherit;padding:0;text-align:left}.expandable-heading button>dso-icon{flex-shrink:0}.expandable-heading.dso-expandable-heading-black button{color:#000}:host([suppressed]){opacity:0.6}:host([suppressed]) .expandable-heading button{color:#666}dso-expandable{padding-left:24px}.addons-end{display:inline-block;margin-left:auto}";const d=class{constructor(e){t(this,e);this.dsoToggle=n(this,"dsoToggle",3);this.identifier=a();this.open=undefined;this.heading="h2";this.color="default";this.suppressed=false;this.editAction=undefined}toggle(e){this.open=!this.open;this.dsoToggle.emit({originalEvent:e,open:this.open})}render(){const t=this.open?{open:true}:{};return e(i,{class:o({"dso-del":this.editAction==="delete","dso-ins":this.editAction==="insert"})},this.editAction==="delete"&&e("p",{class:"dso-edit-action-text"},e("span",null,"verwijderd:")),this.editAction==="insert"&&e("p",{class:"dso-edit-action-text"},e("span",null,"toegevoegd:")),e("div",{class:o("expandable-heading",this.color==="black"?"dso-expandable-heading-black":"")},e(s,{heading:this.heading},e("button",{type:"button","aria-expanded":this.open?"true":"false","aria-controls":this.identifier,onClick:e=>this.toggle(e)},e("dso-icon",{icon:this.open?"chevron-down":"chevron-right"}),e("slot",{name:"title"}))),e("slot",{name:"addons-start"}),e("div",{class:"addons-end"},e("slot",{name:"addons-end"}))),e("dso-expandable",Object.assign({id:this.identifier},t),e("slot",{slot:"expandable-content"})))}};d.style=h;export{d as dso_expandable_heading};
2
- //# sourceMappingURL=p-59ff4e19.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Heading","heading","ref","className","children","h","class","expandableHeadingCss","ExpandableHeading","this","identifier","uuidv4","toggle","e","open","dsoToggle","emit","originalEvent","render","expandableProperties","Host","clsx","editAction","color","type","onClick","icon","name","Object","assign","id","slot"],"sources":["./src/components/expandable-heading/heading.tsx","./src/components/expandable-heading/expandable-heading.scss?tag=dso-expandable-heading&encapsulation=shadow","./src/components/expandable-heading/expandable-heading.tsx"],"sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { HeadingTags } from \"./expandable-heading.interfaces\";\r\n\r\nexport const Heading: FunctionalComponent<{\r\n heading: HeadingTags;\r\n className?:\r\n | string\r\n | {\r\n [className: string]: boolean;\r\n };\r\n ref?: (element: HTMLHeadingElement | undefined) => void;\r\n}> = ({ heading, ref, className }, children) => {\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n return (\r\n <h2 ref={ref} class={className}>\r\n {children}\r\n </h2>\r\n );\r\n case \"h3\":\r\n return (\r\n <h3 ref={ref} class={className}>\r\n {children}\r\n </h3>\r\n );\r\n case \"h4\":\r\n return (\r\n <h4 ref={ref} class={className}>\r\n {children}\r\n </h4>\r\n );\r\n case \"h5\":\r\n return (\r\n <h5 ref={ref} class={className}>\r\n {children}\r\n </h5>\r\n );\r\n case \"h6\":\r\n return (\r\n <h6 ref={ref} class={className}>\r\n {children}\r\n </h6>\r\n );\r\n }\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n@use \"~dso-toolkit/src/components/headings/headings\";\r\n@use \"~dso-toolkit/src/components/insert/insert\";\r\n\r\n:host {\r\n display: block;\r\n margin-inline: -(units.$u1);\r\n padding-inline: units.$u1;\r\n}\r\n\r\n:host(.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\r\n:host(.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\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-edit-action-text {\r\n margin-bottom: units.$u1;\r\n margin-top: -(units.$u1);\r\n\r\n span {\r\n display: inline-block;\r\n font-style: italic;\r\n }\r\n\r\n + .expandable-heading {\r\n margin-top: 0;\r\n padding-top: 0;\r\n }\r\n}\r\n\r\n.expandable-heading {\r\n align-items: center;\r\n display: flex;\r\n margin-bottom: units.$u1;\r\n margin-top: units.$u1;\r\n\r\n h2,\r\n h3,\r\n h4,\r\n h5,\r\n h6 {\r\n font-size: 1rem;\r\n margin-bottom: 0;\r\n margin-right: units.$u1;\r\n margin-top: 0;\r\n }\r\n\r\n button {\r\n align-items: flex-start;\r\n cursor: pointer;\r\n background-color: transparent;\r\n border: 0;\r\n color: inherit;\r\n display: flex;\r\n line-height: 24px;\r\n font-size: inherit;\r\n font-weight: inherit;\r\n padding: 0;\r\n text-align: left;\r\n\r\n > dso-icon {\r\n flex-shrink: 0;\r\n }\r\n }\r\n\r\n &.dso-expandable-heading-black button {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n:host([suppressed]) {\r\n opacity: 0.6;\r\n\r\n .expandable-heading button {\r\n color: colors.$grijs-60;\r\n }\r\n}\r\n\r\ndso-expandable {\r\n padding-left: units.$u3;\r\n}\r\n\r\n.addons-end {\r\n display: inline-block;\r\n margin-left: auto;\r\n}\r\n","import { Component, Event, EventEmitter, Host, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { EditAction, ExpandableHeadingToggleEvent, HeadingTags } from \"./expandable-heading.interfaces\";\r\nimport { Heading } from \"./heading\";\r\n\r\n@Component({\r\n tag: \"dso-expandable-heading\",\r\n styleUrl: \"expandable-heading.scss\",\r\n shadow: true,\r\n})\r\nexport class ExpandableHeading {\r\n /**\r\n * To open the Expandable Heading.\r\n */\r\n @Prop()\r\n open?: boolean;\r\n\r\n /**\r\n * Which heading element to use.\r\n */\r\n @Prop()\r\n heading: HeadingTags = \"h2\";\r\n\r\n /**\r\n * The color.\r\n */\r\n @Prop()\r\n color: \"default\" | \"black\" = \"default\";\r\n\r\n /**\r\n * Marks this element as unavailable.\r\n */\r\n @Prop()\r\n suppressed = false;\r\n\r\n /**\r\n * Whether this Expandable Heading has an edit action.\r\n *\r\n * Also known as \"wijzigactie\" in STOP.\r\n */\r\n @Prop()\r\n editAction?: EditAction;\r\n\r\n /**\r\n * Emitted when the user activates the toggle button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoToggle!: EventEmitter<ExpandableHeadingToggleEvent>;\r\n\r\n private identifier = uuidv4();\r\n\r\n private toggle(e: MouseEvent | KeyboardEvent) {\r\n this.open = !this.open;\r\n\r\n this.dsoToggle.emit({ originalEvent: e, open: this.open });\r\n }\r\n\r\n render() {\r\n const expandableProperties = this.open ? { open: true } : {};\r\n\r\n return (\r\n <Host\r\n class={clsx({\r\n \"dso-del\": this.editAction === \"delete\",\r\n \"dso-ins\": this.editAction === \"insert\",\r\n })}\r\n >\r\n {this.editAction === \"delete\" && (\r\n <p class=\"dso-edit-action-text\">\r\n <span>verwijderd:</span>\r\n </p>\r\n )}\r\n {this.editAction === \"insert\" && (\r\n <p class=\"dso-edit-action-text\">\r\n <span>toegevoegd:</span>\r\n </p>\r\n )}\r\n <div class={clsx(\"expandable-heading\", this.color === \"black\" ? \"dso-expandable-heading-black\" : \"\")}>\r\n <Heading heading={this.heading}>\r\n <button\r\n type=\"button\"\r\n aria-expanded={this.open ? \"true\" : \"false\"}\r\n aria-controls={this.identifier}\r\n onClick={(e) => this.toggle(e)}\r\n >\r\n <dso-icon icon={this.open ? \"chevron-down\" : \"chevron-right\"}></dso-icon>\r\n <slot name=\"title\" />\r\n </button>\r\n </Heading>\r\n <slot name=\"addons-start\" />\r\n <div class=\"addons-end\">\r\n <slot name=\"addons-end\" />\r\n </div>\r\n </div>\r\n <dso-expandable id={this.identifier} {...expandableProperties}>\r\n <slot slot=\"expandable-content\"></slot>\r\n </dso-expandable>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"iIAIO,MAAMA,EAQR,EAAGC,UAASC,MAAKC,aAAaC,KACjC,OAAQH,GACN,QACA,IAAK,KACH,OACEI,EAAA,MAAIH,IAAKA,EAAKI,MAAOH,GAClBC,GAGP,IAAK,KACH,OACEC,EAAA,MAAIH,IAAKA,EAAKI,MAAOH,GAClBC,GAGP,IAAK,KACH,OACEC,EAAA,MAAIH,IAAKA,EAAKI,MAAOH,GAClBC,GAGP,IAAK,KACH,OACEC,EAAA,MAAIH,IAAKA,EAAKI,MAAOH,GAClBC,GAGP,IAAK,KACH,OACEC,EAAA,MAAIH,IAAKA,EAAKI,MAAOH,GAClBC,G,EC1CX,MAAMG,EAAuB,m+D,MCYhBC,EAAiB,M,8DAuCpBC,KAAAC,WAAaC,I,iCA5BE,K,WAMM,U,gBAMhB,M,0BAkBLC,OAAOC,GACbJ,KAAKK,MAAQL,KAAKK,KAElBL,KAAKM,UAAUC,KAAK,CAAEC,cAAeJ,EAAGC,KAAML,KAAKK,M,CAGrDI,SACE,MAAMC,EAAuBV,KAAKK,KAAO,CAAEA,KAAM,MAAS,GAE1D,OACET,EAACe,EAAI,CACHd,MAAOe,EAAK,CACV,UAAWZ,KAAKa,aAAe,SAC/B,UAAWb,KAAKa,aAAe,YAGhCb,KAAKa,aAAe,UACnBjB,EAAA,KAAGC,MAAM,wBACPD,EAAA,4BAGHI,KAAKa,aAAe,UACnBjB,EAAA,KAAGC,MAAM,wBACPD,EAAA,4BAGJA,EAAA,OAAKC,MAAOe,EAAK,qBAAsBZ,KAAKc,QAAU,QAAU,+BAAiC,KAC/FlB,EAACL,EAAO,CAACC,QAASQ,KAAKR,SACrBI,EAAA,UACEmB,KAAK,SAAQ,gBACEf,KAAKK,KAAO,OAAS,QAAO,gBAC5BL,KAAKC,WACpBe,QAAUZ,GAAMJ,KAAKG,OAAOC,IAE5BR,EAAA,YAAUqB,KAAMjB,KAAKK,KAAO,eAAiB,kBAC7CT,EAAA,QAAMsB,KAAK,YAGftB,EAAA,QAAMsB,KAAK,iBACXtB,EAAA,OAAKC,MAAM,cACTD,EAAA,QAAMsB,KAAK,iBAGftB,EAAA,iBAAAuB,OAAAC,OAAA,CAAgBC,GAAIrB,KAAKC,YAAgBS,GACvCd,EAAA,QAAM0B,KAAK,wB"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","defaultTweenSettings","duration","delay","endDelay","easing","round","validTransforms","cache","CSS","springs","minMax","val","min","max","Math","stringContains","str","text","indexOf","applyArguments","func","args","apply","is","arr","a","Array","isArray","obj","Object","prototype","toString","call","pth","hasOwnProperty","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","fnc","und","nil","hex","test","rgb","hsl","col","key","parseEasingParameters","string","match","exec","split","map","p","parseFloat","spring","params","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","b","solver","t","progress","exp","cos","sin","getDuration","cached","frame","elapsed","rest","steps","ceil","bezier","kSplineTableSize","kSampleStepSize","A","aA1","aA2","B","C","calcBezier","aT","getSlope","binarySubdivide","aX","aA","aB","mX1","mX2","currentX","currentT","i","abs","newtonRaphsonIterate","aGuessT","currentSlope","mY1","mY2","sampleValues","Float32Array","getTForX","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","x","penner","eases","linear","functionEasings","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","baseEasings","forEach","name","keys","easeIn","parseEasings","ease","selectString","nodes","document","querySelectorAll","e","filterArray","callback","len","length","thisArg","arguments","result","push","flattenArray","reduce","concat","toArray","o","NodeList","HTMLCollection","slice","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","rgbToRgba","rgbValue","hexToRgba","hexValue","rgx","replace","m","r","g","parseInt","hslToRgba","hslValue","h","s","l","hue2rgb","q","colorToRgb","getUnit","getTransformUnit","propName","getFunctionValue","animatable","target","id","total","getAttribute","el","prop","convertPxToUnit","value","unit","valueUnit","baseline","tempEl","createElement","tagName","parentEl","parentNode","body","appendChild","style","position","width","factor","offsetWidth","removeChild","convertedUnit","getCSSValue","uppercasePropName","toLowerCase","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","set","getTransformValue","defaultVal","get","list","getOriginalTargetValue","getRelativeValue","to","from","operator","u","y","validateValue","originalUnit","unitLess","substr","getDistance","p1","p2","getCircleLength","getRectLength","getLineLength","getPolylineLength","points","totalLength","previousPos","numberOfItems","currentPos","getItem","getPolygonLength","getTotalLength","setDashoffset","pathLength","setAttribute","getParentSvgEl","getParentSvg","pathEl","svgData","parentSvgEl","rect","getBoundingClientRect","viewBoxAttr","height","viewBox","w","vW","vH","getPath","path","percent","property","getPathProgress","isPathTargetInsideSVG","point","offset","getPointAtLength","p0","scaleX","scaleY","atan2","decomposeValue","original","numbers","Number","strings","parseTargets","targets","targetsArray","item","pos","self","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","isFromTo","propArray","v","k","flattenKeyframes","keyframes","propertyNames","properties","newKey","getProperties","tweens","normalizeTweenValues","tween","normalizeTweens","previousTween","tweenValue","toUnit","originalValue","previousValue","fromUnit","start","end","isPath","isColor","setProgressValue","css","attribute","object","manual","last","setTargetsValue","animatables","animType","createAnimation","lastTween","type","getAnimations","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","createNewInstance","instanceSettings","children","activeInstances","engine","raf","play","isDocumentHidden","anime","suspendWhenDocumentHidden","requestAnimationFrame","step","activeInstancesLength","activeInstance","paused","tick","splice","undefined","handleVisibilityChange","cancelAnimationFrame","instance","_onDocumentVisibility","addEventListener","hidden","startTime","lastTime","now","childrenLength","resolve","makePromise","promise","window","Promise","_resolve","finished","toggleInstanceDirection","reversed","child","adjustTime","time","resetTime","currentTime","speed","seekChild","seek","syncInstanceChildren","reversePlayback","i$1","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","n","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","countIteration","remaining","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","began","loopBegan","changeBegan","changeCompleted","completed","reset","pause","reverse","restart","remove","removeTargetsFromInstance","removeTargetsFromAnimations","c","childAnimations","removeTargetsFromActiveInstances","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","values","maxValue","index","fromX","fromY","floor","toX","toY","distanceX","distanceY","spacing","timeline","tl","add","instanceParams","tlIndex","ins","insParams","tlDuration","version","running","convertPx","random","expandableCss","Expandable","toggleOpen","this","enableAnimation","activateAnimation","toggleEnableAnimation","prepareAnimationResizeObserver","activateObserver","_a","resizeObserver","disconnect","animeInstance","host","removeAttribute","async","bodyHeight","componentWillLoad","componentDidLoad","bodyContentElement","querySelector","observe","disconnectedCallback","render","Host","open","class","clsx","animationReady","ResizeObserver","debounce","entry","Error","instantiateAnimation","minimumHeight","visibility","bottom","_animationInstantiated","emit"],"sources":["../../node_modules/animejs/lib/anime.es.js","./src/components/expandable/expandable.scss?tag=dso-expandable&encapsulation=shadow","./src/components/expandable/expandable.tsx"],"sourcesContent":["/*\n * anime.js v3.2.1\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n nil: function (a) { return is.und(a) || a === null; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; },\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n eases['easeOutIn' + name] = function (a, b) { return function (t) { return t < 0.5 ? (1 - easeIn(a, b)(1 - t * 2)) / 2 : \n (easeIn(a, b)(t * 2 - 1) + 1) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (!is.nil(getAttribute(el, prop)) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width,\n h: height,\n vW: viewBox[2],\n vH: viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress, isPathTargetInsideSVG) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n var scaleX = isPathTargetInsideSVG ? 1 : svg.w / svg.vW;\n var scaleY = isPathTargetInsideSVG ? 1 : svg.h / svg.vH;\n switch (path.property) {\n case 'x': return (p.x - svg.x) * scaleX;\n case 'y': return (p.y - svg.y) * scaleY;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isPathTargetInsideSVG = tween.isPath && is.svg(animatable.target);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\n\nvar engine = (function () {\n var raf;\n\n function play() {\n if (!raf && (!isDocumentHidden() || !anime.suspendWhenDocumentHidden) && activeInstances.length > 0) {\n raf = requestAnimationFrame(step);\n }\n }\n function step(t) {\n // memo on algorithm issue:\n // dangerous iteration over mutable `activeInstances`\n // (that collection may be updated from within callbacks of `tick`-ed animation instances)\n var activeInstancesLength = activeInstances.length;\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n i++;\n } else {\n activeInstances.splice(i, 1);\n activeInstancesLength--;\n }\n }\n raf = i > 0 ? requestAnimationFrame(step) : undefined;\n }\n\n function handleVisibilityChange() {\n if (!anime.suspendWhenDocumentHidden) { return; }\n\n if (isDocumentHidden()) {\n // suspend ticks\n raf = cancelAnimationFrame(raf);\n } else { // is back to active tab\n // first adjust animations to consider the time that ticks were suspended\n activeInstances.forEach(\n function (instance) { return instance ._onDocumentVisibility(); }\n );\n engine();\n }\n }\n if (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n }\n\n return play;\n})();\n\nfunction isDocumentHidden() {\n return !!document && document.hidden;\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber, tween.isPathTargetInsideSVG);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // internal method (for engine) to adjust animation timings before restoring engine ticks (rAF)\n instance._onDocumentVisibility = resetTime;\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n engine();\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.remove = function(targets) {\n var targetsArray = parseTargets(targets);\n removeTargetsFromInstance(targetsArray, instance);\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargetsFromInstance(targetsArray, instance) {\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n}\n\nfunction removeTargetsFromActiveInstances(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n removeTargetsFromInstance(targetsArray, instance);\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.1';\nanime.speed = 1;\n// TODO:#review: naming, documentation\nanime.suspendWhenDocumentHidden = true;\nanime.running = activeInstances;\nanime.remove = removeTargetsFromActiveInstances;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nexport default anime;\n","@use \"~dso-toolkit/src/utilities\";\r\n\r\n:host {\r\n display: block;\r\n overflow-y: hidden;\r\n}\r\n\r\n:host(.dso-hide) {\r\n display: none;\r\n}\r\n\r\n:host(:not(.dso-animate-ready)) {\r\n position: absolute;\r\n visibility: hidden;\r\n}\r\n\r\n:host([open]) {\r\n position: inherit;\r\n visibility: inherit;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Host,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n} from \"@stencil/core\";\r\nimport anime, { AnimeInstance } from \"animejs\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\n@Component({\r\n tag: \"dso-expandable\",\r\n styleUrl: \"expandable.scss\",\r\n shadow: true,\r\n})\r\nexport class Expandable implements ComponentInterface {\r\n private resizeObserver?: ResizeObserver;\r\n\r\n private bodyHeight?: number;\r\n\r\n private animeInstance?: AnimeInstance;\r\n\r\n @Element()\r\n host!: HTMLDsoExpandableElement;\r\n\r\n /**\r\n * Set to `true` to expand the content.\r\n */\r\n @Prop({ reflect: true })\r\n open?: boolean;\r\n\r\n /**\r\n * Set to `true` to show the content animated.\r\n */\r\n @Prop()\r\n enableAnimation = false;\r\n\r\n /**\r\n * When enableAnimation is set to `true`, this property specifies the height of this element at which the animation will expand from / collapse to\r\n */\r\n @Prop()\r\n minimumHeight?: number;\r\n\r\n @State()\r\n animationReady = false;\r\n\r\n /**\r\n * @internal\r\n */\r\n @Event()\r\n _animationInstantiated!: EventEmitter<void>;\r\n\r\n @Watch(\"open\")\r\n toggleOpen() {\r\n if (this.enableAnimation) {\r\n this.activateAnimation();\r\n }\r\n }\r\n\r\n @Watch(\"enableAnimation\")\r\n toggleEnableAnimation(enableAnimation: boolean) {\r\n if (enableAnimation) {\r\n this.prepareAnimationResizeObserver();\r\n this.activateObserver();\r\n } else {\r\n this.resizeObserver?.disconnect();\r\n delete this.animeInstance;\r\n this.host.removeAttribute(\"style\");\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _getAnimeInstance(): Promise<AnimeInstance | undefined> {\r\n return this.animeInstance;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _getBodyHeight(): Promise<number | undefined> {\r\n return this.bodyHeight;\r\n }\r\n\r\n componentWillLoad(): void {\r\n if (this.enableAnimation) {\r\n this.prepareAnimationResizeObserver();\r\n }\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.activateObserver();\r\n }\r\n\r\n private activateObserver() {\r\n const bodyContentElement = this.host.querySelector(`[slot=\"expandable-content\"]`);\r\n\r\n if (bodyContentElement) {\r\n this.resizeObserver?.observe(bodyContentElement);\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n render() {\r\n return (\r\n <Host\r\n aria-hidden={this.open ? \"false\" : \"true\"}\r\n class={clsx({\r\n \"dso-animate-ready\": this.enableAnimation && this.animationReady,\r\n \"dso-hide\": !this.enableAnimation && !this.open,\r\n })}\r\n >\r\n <slot name=\"expandable-content\" />\r\n </Host>\r\n );\r\n }\r\n\r\n private prepareAnimationResizeObserver(): void {\r\n this.resizeObserver = new ResizeObserver(\r\n debounce(([entry]) => {\r\n if (!entry) {\r\n throw new Error(\"No entry found\");\r\n }\r\n\r\n // entry.contentRect does not include padding, so we use getBoundingClientRect.\r\n const height = entry.target.getBoundingClientRect().height;\r\n\r\n if (this.bodyHeight !== height) {\r\n this.bodyHeight = height;\r\n }\r\n\r\n this.instantiateAnimation();\r\n }, 150)\r\n );\r\n }\r\n\r\n private instantiateAnimation(): void {\r\n this.animeInstance = anime({\r\n targets: this.host,\r\n height: this.minimumHeight ?? 0,\r\n easing: \"cubicBezier(0.4, 0, 0.2, 1)\",\r\n duration: 260,\r\n autoplay: false,\r\n direction: \"normal\",\r\n begin: () => {\r\n if (this.host) {\r\n if (this.open) {\r\n this.host.style.visibility = \"\";\r\n this.host.style.position = \"\";\r\n this.host.style.bottom = \"\";\r\n }\r\n }\r\n },\r\n complete: () => {\r\n if (this.host) {\r\n this.host.style.height = \"\";\r\n\r\n if (!this.open) {\r\n this.host.style.visibility = \"hidden\";\r\n this.host.style.position = \"absolute\";\r\n this.host.style.bottom = \"100%\";\r\n }\r\n }\r\n },\r\n });\r\n\r\n if (!this.open) {\r\n this.animeInstance.reverse();\r\n this.animeInstance.play();\r\n }\r\n\r\n if (this.host) {\r\n this.host.style.height = \"\";\r\n }\r\n\r\n this.animationReady = !!this.animeInstance;\r\n this._animationInstantiated.emit();\r\n }\r\n\r\n private activateAnimation(): void {\r\n if (this.animeInstance) {\r\n if (this.animeInstance.progress > 0 && this.animeInstance.progress < 100) {\r\n this.animeInstance.reverse();\r\n } else {\r\n if (this.open) {\r\n this.animeInstance.direction = \"reverse\";\r\n this.animeInstance.play();\r\n } else {\r\n this.animeInstance.direction = \"normal\";\r\n this.animeInstance.play();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"],"mappings":"mIASA,IAAIA,EAA0B,CAC5BC,OAAQ,KACRC,MAAO,KACPC,UAAW,KACXC,YAAa,KACbC,OAAQ,KACRC,eAAgB,KAChBC,aAAc,KACdC,SAAU,KACVC,KAAM,EACNC,UAAW,SACXC,SAAU,KACVC,eAAgB,GAGlB,IAAIC,EAAuB,CACzBC,SAAU,IACVC,MAAO,EACPC,SAAU,EACVC,OAAQ,wBACRC,MAAO,GAGT,IAAIC,EAAkB,CAAC,aAAc,aAAc,aAAc,SAAU,UAAW,UAAW,UAAW,QAAS,SAAU,SAAU,SAAU,OAAQ,QAAS,QAAS,cAAe,SAAU,YAItM,IAAIC,EAAQ,CACVC,IAAK,GACLC,QAAS,IAKX,SAASC,EAAOC,EAAKC,EAAKC,GACxB,OAAOC,KAAKF,IAAIE,KAAKD,IAAIF,EAAKC,GAAMC,EACtC,CAEA,SAASE,EAAeC,EAAKC,GAC3B,OAAOD,EAAIE,QAAQD,IAAS,CAC9B,CAEA,SAASE,EAAeC,EAAMC,GAC5B,OAAOD,EAAKE,MAAM,KAAMD,EAC1B,CAEA,IAAIE,EAAK,CACPC,IAAK,SAAUC,GAAK,OAAOC,MAAMC,QAAQF,EAAG,EAC5CG,IAAK,SAAUH,GAAK,OAAOV,EAAec,OAAOC,UAAUC,SAASC,KAAKP,GAAI,SAAU,EACvFQ,IAAK,SAAUR,GAAK,OAAOF,EAAGK,IAAIH,IAAMA,EAAES,eAAe,cAAe,EACxEC,IAAK,SAAUV,GAAK,OAAOA,aAAaW,UAAW,EACnDC,IAAK,SAAUZ,GAAK,OAAOA,aAAaa,gBAAiB,EACzDC,IAAK,SAAUd,GAAK,OAAOA,EAAEe,UAAYjB,EAAGY,IAAIV,EAAG,EACnDT,IAAK,SAAUS,GAAK,cAAcA,IAAM,QAAS,EACjDgB,IAAK,SAAUhB,GAAK,cAAcA,IAAM,UAAW,EACnDiB,IAAK,SAAUjB,GAAK,cAAcA,IAAM,WAAY,EACpDkB,IAAK,SAAUlB,GAAK,OAAOF,EAAGmB,IAAIjB,IAAMA,IAAM,IAAK,EACnDmB,IAAK,SAAUnB,GAAK,MAAO,qCAAqCoB,KAAKpB,EAAG,EACxEqB,IAAK,SAAUrB,GAAK,MAAO,OAAOoB,KAAKpB,EAAG,EAC1CsB,IAAK,SAAUtB,GAAK,MAAO,OAAOoB,KAAKpB,EAAG,EAC1CuB,IAAK,SAAUvB,GAAK,OAAQF,EAAGqB,IAAInB,IAAMF,EAAGuB,IAAIrB,IAAMF,EAAGwB,IAAItB,EAAI,EACjEwB,IAAK,SAAUxB,GAAK,OAAQtC,EAAwB+C,eAAeT,KAAOzB,EAAqBkC,eAAeT,IAAMA,IAAM,WAAaA,IAAM,WAAY,GAK3J,SAASyB,EAAsBC,GAC7B,IAAIC,EAAQ,cAAcC,KAAKF,GAC/B,OAAOC,EAAQA,EAAM,GAAGE,MAAM,KAAKC,KAAI,SAAUC,GAAK,OAAOC,WAAWD,EAAG,IAAM,EACnF,CAIA,SAASE,EAAOP,EAAQlD,GAEtB,IAAI0D,EAAST,EAAsBC,GACnC,IAAIS,EAAOlD,EAAOa,EAAGmB,IAAIiB,EAAO,IAAM,EAAIA,EAAO,GAAI,GAAI,KACzD,IAAIE,EAAYnD,EAAOa,EAAGmB,IAAIiB,EAAO,IAAM,IAAMA,EAAO,GAAI,GAAI,KAChE,IAAIG,EAAUpD,EAAOa,EAAGmB,IAAIiB,EAAO,IAAM,GAAKA,EAAO,GAAI,GAAI,KAC7D,IAAII,EAAYrD,EAAOa,EAAGmB,IAAIiB,EAAO,IAAM,EAAIA,EAAO,GAAI,GAAI,KAC9D,IAAIK,EAAKlD,KAAKmD,KAAKJ,EAAYD,GAC/B,IAAIM,EAAOJ,GAAW,EAAIhD,KAAKmD,KAAKJ,EAAYD,IAChD,IAAIO,EAAKD,EAAO,EAAIF,EAAKlD,KAAKmD,KAAK,EAAIC,EAAOA,GAAQ,EACtD,IAAIzC,EAAI,EACR,IAAI2C,EAAIF,EAAO,GAAKA,EAAOF,GAAMD,GAAYI,GAAMJ,EAAWC,EAE9D,SAASK,EAAOC,GACd,IAAIC,EAAWtE,EAAYA,EAAWqE,EAAK,IAAOA,EAClD,GAAIJ,EAAO,EAAG,CACZK,EAAWzD,KAAK0D,KAAKD,EAAWL,EAAOF,IAAOvC,EAAIX,KAAK2D,IAAIN,EAAKI,GAAYH,EAAItD,KAAK4D,IAAIP,EAAKI,GACpG,KAAW,CACLA,GAAY9C,EAAI2C,EAAIG,GAAYzD,KAAK0D,KAAKD,EAAWP,EAC3D,CACI,GAAIM,IAAM,GAAKA,IAAM,EAAG,CAAE,OAAOA,CAAE,CACnC,OAAO,EAAIC,CACf,CAEE,SAASI,IACP,IAAIC,EAASrE,EAAME,QAAQ0C,GAC3B,GAAIyB,EAAQ,CAAE,OAAOA,CAAO,CAC5B,IAAIC,EAAQ,EAAE,EACd,IAAIC,EAAU,EACd,IAAIC,EAAO,EACX,MAAM,KAAM,CACVD,GAAWD,EACX,GAAIR,EAAOS,KAAa,EAAG,CACzBC,IACA,GAAIA,GAAQ,GAAI,CAAE,KAAM,CAChC,KAAa,CACLA,EAAO,CACf,CACA,CACI,IAAI9E,EAAW6E,EAAUD,EAAQ,IACjCtE,EAAME,QAAQ0C,GAAUlD,EACxB,OAAOA,CACX,CAEE,OAAOA,EAAWoE,EAASM,CAE7B,CAIA,SAASK,EAAMA,GACb,GAAKA,SAAe,EAAIA,EAAQ,GAEhC,OAAO,SAAUV,GAAK,OAAOxD,KAAKmE,KAAMvE,EAAO4D,EAAG,KAAU,GAAMU,IAAU,EAAIA,EAAO,CACzF,CAIA,IAAIE,EAAS,WAEX,IAAIC,EAAmB,GACvB,IAAIC,EAAkB,GAAOD,EAAmB,GAEhD,SAASE,EAAEC,EAAKC,GAAO,OAAO,EAAM,EAAMA,EAAM,EAAMD,CAAG,CACzD,SAASE,EAAEF,EAAKC,GAAO,OAAO,EAAMA,EAAM,EAAMD,CAAG,CACnD,SAASG,EAAEH,GAAY,OAAO,EAAMA,CAAG,CAEvC,SAASI,EAAWC,EAAIL,EAAKC,GAAO,QAASF,EAAEC,EAAKC,GAAOI,EAAKH,EAAEF,EAAKC,IAAQI,EAAKF,EAAEH,IAAQK,CAAE,CAChG,SAASC,EAASD,EAAIL,EAAKC,GAAO,OAAO,EAAMF,EAAEC,EAAKC,GAAOI,EAAKA,EAAK,EAAMH,EAAEF,EAAKC,GAAOI,EAAKF,EAAEH,EAAI,CAEtG,SAASO,EAAgBC,EAAIC,EAAIC,EAAIC,EAAKC,GACxC,IAAIC,EAAUC,EAAUC,EAAI,EAC5B,EAAG,CACDD,EAAWL,GAAMC,EAAKD,GAAM,EAC5BI,EAAWT,EAAWU,EAAUH,EAAKC,GAAOJ,EAC5C,GAAIK,EAAW,EAAK,CAAEH,EAAKI,CAAS,KAAQ,CAAEL,EAAKK,CAAS,CAClE,OAAatF,KAAKwF,IAAIH,GAAY,QAAeE,EAAI,IACjD,OAAOD,CACX,CAEE,SAASG,EAAqBT,EAAIU,EAASP,EAAKC,GAC9C,IAAK,IAAIG,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAC1B,IAAII,EAAeb,EAASY,EAASP,EAAKC,GAC1C,GAAIO,IAAiB,EAAK,CAAE,OAAOD,CAAQ,CAC3C,IAAIL,EAAWT,EAAWc,EAASP,EAAKC,GAAOJ,EAC/CU,GAAWL,EAAWM,CAC5B,CACI,OAAOD,CACX,CAEE,SAAStB,EAAOe,EAAKS,EAAKR,EAAKS,GAE7B,KAAM,GAAKV,GAAOA,GAAO,GAAK,GAAKC,GAAOA,GAAO,GAAI,CAAE,MAAO,CAC9D,IAAIU,EAAe,IAAIC,aAAa1B,GAEpC,GAAIc,IAAQS,GAAOR,IAAQS,EAAK,CAC9B,IAAK,IAAIN,EAAI,EAAGA,EAAIlB,IAAoBkB,EAAG,CACzCO,EAAaP,GAAKX,EAAWW,EAAIjB,EAAiBa,EAAKC,EAC/D,CACA,CAEI,SAASY,EAAShB,GAEhB,IAAIiB,EAAgB,EACpB,IAAIC,EAAgB,EACpB,IAAIC,EAAa9B,EAAmB,EAEpC,KAAO6B,IAAkBC,GAAcL,EAAaI,IAAkBlB,IAAMkB,EAAe,CACzFD,GAAiB3B,CACzB,GAEQ4B,EAEF,IAAIE,GAAQpB,EAAKc,EAAaI,KAAmBJ,EAAaI,EAAgB,GAAKJ,EAAaI,IAChG,IAAIG,EAAYJ,EAAgBG,EAAO9B,EACvC,IAAIgC,EAAexB,EAASuB,EAAWlB,EAAKC,GAE5C,GAAIkB,GAAgB,KAAO,CACzB,OAAOb,EAAqBT,EAAIqB,EAAWlB,EAAKC,EACxD,MAAa,GAAIkB,IAAiB,EAAK,CAC/B,OAAOD,CACf,KAAa,CACL,OAAOtB,EAAgBC,EAAIiB,EAAeA,EAAgB3B,EAAiBa,EAAKC,EACxF,CAEA,CAEI,OAAO,SAAUmB,GACf,GAAIpB,IAAQS,GAAOR,IAAQS,EAAK,CAAE,OAAOU,CAAE,CAC3C,GAAIA,IAAM,GAAKA,IAAM,EAAG,CAAE,OAAOA,CAAE,CACnC,OAAO3B,EAAWoB,EAASO,GAAIX,EAAKC,EAC1C,CAEA,CAEE,OAAOzB,CAER,CA/EY,GAiFb,IAAIoC,EAAS,WAIX,IAAIC,EAAQ,CAAEC,OAAQ,WAAc,OAAO,SAAUlD,GAAK,OAAOA,CAAE,CAAG,GAEtE,IAAImD,EAAkB,CACpBC,KAAM,WAAc,OAAO,SAAUpD,GAAK,OAAO,EAAIxD,KAAK2D,IAAIH,EAAIxD,KAAK6G,GAAK,EAAG,CAAG,EAClFC,KAAM,WAAc,OAAO,SAAUtD,GAAK,OAAO,EAAIxD,KAAKmD,KAAK,EAAIK,EAAIA,EAAG,CAAG,EAC7EuD,KAAM,WAAc,OAAO,SAAUvD,GAAK,OAAOA,EAAIA,GAAK,EAAIA,EAAI,EAAG,CAAG,EACxEwD,OAAQ,WAAc,OAAO,SAAUxD,GACrC,IAAIyD,EAAM3D,EAAI,EACd,MAAOE,IAAOyD,EAAOjH,KAAKkH,IAAI,IAAK5D,IAAM,GAAK,GAAI,EAClD,OAAO,EAAItD,KAAKkH,IAAI,EAAG,EAAI5D,GAAK,OAAStD,KAAKkH,KAAMD,EAAO,EAAI,GAAM,GAAKzD,EAAG,EACnF,CAAM,EACF2D,QAAS,SAAUC,EAAWC,GAC5B,GAAKD,SAAmB,EAAIA,EAAY,EACxC,GAAKC,SAAgB,EAAIA,EAAS,GAElC,IAAI1G,EAAIf,EAAOwH,EAAW,EAAG,IAC7B,IAAI1E,EAAI9C,EAAOyH,EAAQ,GAAI,GAC3B,OAAO,SAAU7D,GACf,OAAQA,IAAM,GAAKA,IAAM,EAAKA,GAC3B7C,EAAIX,KAAKkH,IAAI,EAAG,IAAM1D,EAAI,IAAMxD,KAAK4D,KAAOJ,EAAI,EAAMd,GAAK1C,KAAK6G,GAAK,GAAK7G,KAAKsH,KAAK,EAAI3G,KAAQX,KAAK6G,GAAK,GAAMnE,EAC3H,CACA,GAGE,IAAI6E,EAAc,CAAC,OAAQ,QAAS,QAAS,QAAS,QAEtDA,EAAYC,SAAQ,SAAUC,EAAMlC,GAClCoB,EAAgBc,GAAQ,WAAc,OAAO,SAAUjE,GAAK,OAAOxD,KAAKkH,IAAI1D,EAAG+B,EAAI,EAAG,CAAG,CAC7F,IAEExE,OAAO2G,KAAKf,GAAiBa,SAAQ,SAAUC,GAC7C,IAAIE,EAAShB,EAAgBc,GAC7BhB,EAAM,SAAWgB,GAAQE,EACzBlB,EAAM,UAAYgB,GAAQ,SAAU9G,EAAG2C,GAAK,OAAO,SAAUE,GAAK,OAAO,EAAImE,EAAOhH,EAAG2C,EAAVqE,CAAa,EAAInE,EAAG,CAAG,EACpGiD,EAAM,YAAcgB,GAAQ,SAAU9G,EAAG2C,GAAK,OAAO,SAAUE,GAAK,OAAOA,EAAI,GAAMmE,EAAOhH,EAAG2C,EAAVqE,CAAanE,EAAI,GAAK,EACzG,EAAImE,EAAOhH,EAAG2C,EAAVqE,CAAanE,GAAK,EAAI,GAAK,CAAE,CAAG,EACtCiD,EAAM,YAAcgB,GAAQ,SAAU9G,EAAG2C,GAAK,OAAO,SAAUE,GAAK,OAAOA,EAAI,IAAO,EAAImE,EAAOhH,EAAG2C,EAAVqE,CAAa,EAAInE,EAAI,IAAM,GAClHmE,EAAOhH,EAAG2C,EAAVqE,CAAanE,EAAI,EAAI,GAAK,GAAK,CAAE,CAAG,CAC3C,IAEE,OAAOiD,CAER,CA9CY,GAgDb,SAASmB,EAAatI,EAAQH,GAC5B,GAAIsB,EAAGkB,IAAIrC,GAAS,CAAE,OAAOA,CAAO,CACpC,IAAImI,EAAOnI,EAAOkD,MAAM,KAAK,GAC7B,IAAIqF,EAAOrB,EAAOiB,GAClB,IAAIlH,EAAO6B,EAAsB9C,GACjC,OAAQmI,GACN,IAAK,SAAW,OAAO7E,EAAOtD,EAAQH,GACtC,IAAK,cAAgB,OAAOkB,EAAe+D,EAAQ7D,GACnD,IAAK,QAAU,OAAOF,EAAe6D,EAAO3D,GAC5C,QAAU,OAAOF,EAAewH,EAAMtH,GAE1C,CAIA,SAASuH,EAAa5H,GACpB,IACE,IAAI6H,EAAQC,SAASC,iBAAiB/H,GACtC,OAAO6H,CACX,CAAI,MAAMG,GACN,MACJ,CACA,CAIA,SAASC,EAAYzH,EAAK0H,GACxB,IAAIC,EAAM3H,EAAI4H,OACd,IAAIC,EAAUC,UAAUF,QAAU,EAAIE,UAAU,QAAU,EAC1D,IAAIC,EAAS,GACb,IAAK,IAAIlD,EAAI,EAAGA,EAAI8C,EAAK9C,IAAK,CAC5B,GAAIA,KAAK7E,EAAK,CACZ,IAAIb,EAAMa,EAAI6E,GACd,GAAI6C,EAASlH,KAAKqH,EAAS1I,EAAK0F,EAAG7E,GAAM,CACvC+H,EAAOC,KAAK7I,EACpB,CACA,CACA,CACE,OAAO4I,CACT,CAEA,SAASE,EAAajI,GACpB,OAAOA,EAAIkI,QAAO,SAAUjI,EAAG2C,GAAK,OAAO3C,EAAEkI,OAAOpI,EAAGC,IAAI4C,GAAKqF,EAAarF,GAAKA,EAAG,GAAI,GAC3F,CAEA,SAASwF,EAAQC,GACf,GAAItI,EAAGC,IAAIqI,GAAI,CAAE,OAAOA,CAAE,CAC1B,GAAItI,EAAGP,IAAI6I,GAAI,CAAEA,EAAIjB,EAAaiB,IAAMA,CAAE,CAC1C,GAAIA,aAAaC,UAAYD,aAAaE,eAAgB,CAAE,MAAO,GAAGC,MAAMhI,KAAK6H,EAAG,CACpF,MAAO,CAACA,EACV,CAEA,SAASI,EAAczI,EAAKb,GAC1B,OAAOa,EAAI0I,MAAK,SAAUzI,GAAK,OAAOA,IAAMd,CAAI,GAClD,CAIA,SAASwJ,EAAYN,GACnB,IAAIO,EAAQ,GACZ,IAAK,IAAI5G,KAAKqG,EAAG,CAAEO,EAAM5G,GAAKqG,EAAErG,EAAG,CACnC,OAAO4G,CACT,CAEA,SAASC,EAAmBC,EAAIC,GAC9B,IAAIV,EAAIM,EAAYG,GACpB,IAAK,IAAI9G,KAAK8G,EAAI,CAAET,EAAErG,GAAK+G,EAAGrI,eAAesB,GAAK+G,EAAG/G,GAAK8G,EAAG9G,EAAG,CAChE,OAAOqG,CACT,CAEA,SAASW,EAAaF,EAAIC,GACxB,IAAIV,EAAIM,EAAYG,GACpB,IAAK,IAAI9G,KAAK+G,EAAI,CAAEV,EAAErG,GAAKjC,EAAGmB,IAAI4H,EAAG9G,IAAM+G,EAAG/G,GAAK8G,EAAG9G,EAAG,CACzD,OAAOqG,CACT,CAIA,SAASY,EAAUC,GACjB,IAAI5H,EAAM,kCAAkCO,KAAKqH,GACjD,OAAO5H,EAAO,QAAWA,EAAI,GAAM,MAAS4H,CAC9C,CAEA,SAASC,EAAUC,GACjB,IAAIC,EAAM,mCACV,IAAIjI,EAAMgI,EAASE,QAAQD,GAAK,SAAUE,EAAGC,EAAGC,EAAG7G,GAAK,OAAO4G,EAAIA,EAAIC,EAAIA,EAAI7G,EAAIA,CAAE,IACrF,IAAItB,EAAM,4CAA4CO,KAAKT,GAC3D,IAAIoI,EAAIE,SAASpI,EAAI,GAAI,IACzB,IAAImI,EAAIC,SAASpI,EAAI,GAAI,IACzB,IAAIsB,EAAI8G,SAASpI,EAAI,GAAI,IACzB,MAAQ,QAAUkI,EAAI,IAAMC,EAAI,IAAM7G,EAAI,KAC5C,CAEA,SAAS+G,EAAUC,GACjB,IAAIrI,EAAM,0CAA0CM,KAAK+H,IAAa,uDAAuD/H,KAAK+H,GAClI,IAAIC,EAAIH,SAASnI,EAAI,GAAI,IAAM,IAC/B,IAAIuI,EAAIJ,SAASnI,EAAI,GAAI,IAAM,IAC/B,IAAIwI,EAAIL,SAASnI,EAAI,GAAI,IAAM,IAC/B,IAAItB,EAAIsB,EAAI,IAAM,EAClB,SAASyI,EAAQhI,EAAGiI,EAAGnH,GACrB,GAAIA,EAAI,EAAG,CAAEA,GAAK,CAAE,CACpB,GAAIA,EAAI,EAAG,CAAEA,GAAK,CAAE,CACpB,GAAIA,EAAI,EAAE,EAAG,CAAE,OAAOd,GAAKiI,EAAIjI,GAAK,EAAIc,CAAE,CAC1C,GAAIA,EAAI,EAAE,EAAG,CAAE,OAAOmH,CAAE,CACxB,GAAInH,EAAI,EAAE,EAAG,CAAE,OAAOd,GAAKiI,EAAIjI,IAAM,EAAE,EAAIc,GAAK,CAAE,CAClD,OAAOd,CACX,CACE,IAAIwH,EAAGC,EAAG7G,EACV,GAAIkH,GAAK,EAAG,CACVN,EAAIC,EAAI7G,EAAImH,CAChB,KAAS,CACL,IAAIE,EAAIF,EAAI,GAAMA,GAAK,EAAID,GAAKC,EAAID,EAAIC,EAAID,EAC5C,IAAI9H,EAAI,EAAI+H,EAAIE,EAChBT,EAAIQ,EAAQhI,EAAGiI,EAAGJ,EAAI,EAAE,GACxBJ,EAAIO,EAAQhI,EAAGiI,EAAGJ,GAClBjH,EAAIoH,EAAQhI,EAAGiI,EAAGJ,EAAI,EAAE,EAC5B,CACE,MAAQ,QAAWL,EAAI,IAAO,IAAOC,EAAI,IAAO,IAAO7G,EAAI,IAAO,IAAM3C,EAAI,GAC9E,CAEA,SAASiK,EAAW/K,GAClB,GAAIY,EAAGuB,IAAInC,GAAM,CAAE,OAAO8J,EAAU9J,EAAK,CACzC,GAAIY,EAAGqB,IAAIjC,GAAM,CAAE,OAAOgK,EAAUhK,EAAK,CACzC,GAAIY,EAAGwB,IAAIpC,GAAM,CAAE,OAAOwK,EAAUxK,EAAK,CAC3C,CAIA,SAASgL,EAAQhL,GACf,IAAI2C,EAAQ,6GAA6GD,KAAK1C,GAC9H,GAAI2C,EAAO,CAAE,OAAOA,EAAM,EAAG,CAC/B,CAEA,SAASsI,EAAiBC,GACxB,GAAI9K,EAAe8K,EAAU,cAAgBA,IAAa,cAAe,CAAE,MAAO,IAAK,CACvF,GAAI9K,EAAe8K,EAAU,WAAa9K,EAAe8K,EAAU,QAAS,CAAE,MAAO,KAAM,CAC7F,CAIA,SAASC,EAAiBnL,EAAKoL,GAC7B,IAAKxK,EAAGkB,IAAI9B,GAAM,CAAE,OAAOA,CAAI,CAC/B,OAAOA,EAAIoL,EAAWC,OAAQD,EAAWE,GAAIF,EAAWG,MAC1D,CAEA,SAASC,EAAaC,EAAIC,GACxB,OAAOD,EAAGD,aAAaE,EACzB,CAEA,SAASC,EAAgBF,EAAIG,EAAOC,GAClC,IAAIC,EAAYd,EAAQY,GACxB,GAAItC,EAAc,CAACuC,EAAM,MAAO,MAAO,QAASC,GAAY,CAAE,OAAOF,CAAM,CAC3E,IAAI3H,EAASrE,EAAMC,IAAI+L,EAAQC,GAC/B,IAAKjL,EAAGmB,IAAIkC,GAAS,CAAE,OAAOA,CAAO,CACrC,IAAI8H,EAAW,IACf,IAAIC,EAAS7D,SAAS8D,cAAcR,EAAGS,SACvC,IAAIC,EAAYV,EAAGW,YAAeX,EAAGW,aAAejE,SAAasD,EAAGW,WAAajE,SAASkE,KAC1FF,EAASG,YAAYN,GACrBA,EAAOO,MAAMC,SAAW,WACxBR,EAAOO,MAAME,MAAQV,EAAWF,EAChC,IAAIa,EAASX,EAAWC,EAAOW,YAC/BR,EAASS,YAAYZ,GACrB,IAAIa,EAAgBH,EAAS5J,WAAW8I,GACxChM,EAAMC,IAAI+L,EAAQC,GAAQgB,EAC1B,OAAOA,CACT,CAEA,SAASC,EAAYrB,EAAIC,EAAMG,GAC7B,GAAIH,KAAQD,EAAGc,MAAO,CACpB,IAAIQ,EAAoBrB,EAAKvB,QAAQ,kBAAmB,SAAS6C,cACjE,IAAIpB,EAAQH,EAAGc,MAAMb,IAASuB,iBAAiBxB,GAAIyB,iBAAiBH,IAAsB,IAC1F,OAAOlB,EAAOF,EAAgBF,EAAIG,EAAOC,GAAQD,CACrD,CACA,CAEA,SAASuB,EAAiB1B,EAAIC,GAC5B,GAAI9K,EAAGgB,IAAI6J,KAAQ7K,EAAGc,IAAI+J,MAAS7K,EAAGoB,IAAIwJ,EAAaC,EAAIC,KAAW9K,EAAGY,IAAIiK,IAAOA,EAAGC,IAAS,CAAE,MAAO,WAAY,CACrH,GAAI9K,EAAGgB,IAAI6J,IAAOnC,EAAc3J,EAAiB+L,GAAO,CAAE,MAAO,WAAY,CAC7E,GAAI9K,EAAGgB,IAAI6J,KAAQC,IAAS,aAAeoB,EAAYrB,EAAIC,IAAQ,CAAE,MAAO,KAAM,CAClF,GAAID,EAAGC,IAAS,KAAM,CAAE,MAAO,QAAS,CAC1C,CAEA,SAAS0B,EAAqB3B,GAC5B,IAAK7K,EAAGgB,IAAI6J,GAAK,CAAE,MAAO,CAC1B,IAAIpL,EAAMoL,EAAGc,MAAMc,WAAa,GAChC,IAAIC,EAAO,oBACX,IAAIC,EAAa,IAAIC,IACrB,IAAIpD,EAAG,MAAOA,EAAIkD,EAAI5K,KAAKrC,GAAM,CAAEkN,EAAWE,IAAIrD,EAAE,GAAIA,EAAE,GAAI,CAC9D,OAAOmD,CACT,CAEA,SAASG,EAAkBjC,EAAIP,EAAUE,EAAYS,GACnD,IAAI8B,EAAavN,EAAe8K,EAAU,SAAW,EAAI,EAAID,EAAiBC,GAC9E,IAAIU,EAAQwB,EAAqB3B,GAAImC,IAAI1C,IAAayC,EACtD,GAAIvC,EAAY,CACdA,EAAWmC,WAAWM,KAAKJ,IAAIvC,EAAUU,GACzCR,EAAWmC,WAAW,QAAUrC,CACpC,CACE,OAAOW,EAAOF,EAAgBF,EAAIG,EAAOC,GAAQD,CACnD,CAEA,SAASkC,EAAuBzC,EAAQH,EAAUW,EAAMT,GACtD,OAAQ+B,EAAiB9B,EAAQH,IAC/B,IAAK,YAAa,OAAOwC,EAAkBrC,EAAQH,EAAUE,EAAYS,GACzE,IAAK,MAAO,OAAOiB,EAAYzB,EAAQH,EAAUW,GACjD,IAAK,YAAa,OAAOL,EAAaH,EAAQH,GAC9C,QAAS,OAAOG,EAAOH,IAAa,EAExC,CAEA,SAAS6C,EAAiBC,EAAIC,GAC5B,IAAIC,EAAW,gBAAgBxL,KAAKsL,GACpC,IAAKE,EAAU,CAAE,OAAOF,CAAG,CAC3B,IAAIG,EAAInD,EAAQgD,IAAO,EACvB,IAAItH,EAAI5D,WAAWmL,GACnB,IAAIG,EAAItL,WAAWkL,EAAG7D,QAAQ+D,EAAS,GAAI,KAC3C,OAAQA,EAAS,GAAG,IAClB,IAAK,IAAK,OAAOxH,EAAI0H,EAAID,EACzB,IAAK,IAAK,OAAOzH,EAAI0H,EAAID,EACzB,IAAK,IAAK,OAAOzH,EAAI0H,EAAID,EAE7B,CAEA,SAASE,EAAcrO,EAAK6L,GAC1B,GAAIjL,EAAGyB,IAAIrC,GAAM,CAAE,OAAO+K,EAAW/K,EAAK,CAC1C,GAAI,MAAMkC,KAAKlC,GAAM,CAAE,OAAOA,CAAI,CAClC,IAAIsO,EAAetD,EAAQhL,GAC3B,IAAIuO,EAAWD,EAAetO,EAAIwO,OAAO,EAAGxO,EAAIyI,OAAS6F,EAAa7F,QAAUzI,EAChF,GAAI6L,EAAM,CAAE,OAAO0C,EAAW1C,CAAK,CACnC,OAAO0C,CACT,CAKA,SAASE,EAAYC,EAAIC,GACvB,OAAOxO,KAAKmD,KAAKnD,KAAKkH,IAAIsH,EAAGjI,EAAIgI,EAAGhI,EAAG,GAAKvG,KAAKkH,IAAIsH,EAAGP,EAAIM,EAAGN,EAAG,GACpE,CAEA,SAASQ,EAAgBnD,GACvB,OAAOtL,KAAK6G,GAAK,EAAIwE,EAAaC,EAAI,IACxC,CAEA,SAASoD,EAAcpD,GACrB,OAAQD,EAAaC,EAAI,SAAW,EAAMD,EAAaC,EAAI,UAAY,CACzE,CAEA,SAASqD,EAAcrD,GACrB,OAAOgD,EACL,CAAC/H,EAAG8E,EAAaC,EAAI,MAAO2C,EAAG5C,EAAaC,EAAI,OAChD,CAAC/E,EAAG8E,EAAaC,EAAI,MAAO2C,EAAG5C,EAAaC,EAAI,OAEpD,CAEA,SAASsD,EAAkBtD,GACzB,IAAIuD,EAASvD,EAAGuD,OAChB,IAAIC,EAAc,EAClB,IAAIC,EACJ,IAAK,IAAIxJ,EAAI,EAAIA,EAAIsJ,EAAOG,cAAezJ,IAAK,CAC9C,IAAI0J,EAAaJ,EAAOK,QAAQ3J,GAChC,GAAIA,EAAI,EAAG,CAAEuJ,GAAeR,EAAYS,EAAaE,EAAY,CACjEF,EAAcE,CAClB,CACE,OAAOH,CACT,CAEA,SAASK,EAAiB7D,GACxB,IAAIuD,EAASvD,EAAGuD,OAChB,OAAOD,EAAkBtD,GAAMgD,EAAYO,EAAOK,QAAQL,EAAOG,cAAgB,GAAIH,EAAOK,QAAQ,GACtG,CAIA,SAASE,EAAe9D,GACtB,GAAIA,EAAG8D,eAAgB,CAAE,OAAO9D,EAAG8D,gBAAiB,CACpD,OAAO9D,EAAGS,QAAQc,eAChB,IAAK,SAAU,OAAO4B,EAAgBnD,GACtC,IAAK,OAAQ,OAAOoD,EAAcpD,GAClC,IAAK,OAAQ,OAAOqD,EAAcrD,GAClC,IAAK,WAAY,OAAOsD,EAAkBtD,GAC1C,IAAK,UAAW,OAAO6D,EAAiB7D,GAE5C,CAEA,SAAS+D,EAAc/D,GACrB,IAAIgE,EAAaF,EAAe9D,GAChCA,EAAGiE,aAAa,mBAAoBD,GACpC,OAAOA,CACT,CAIA,SAASE,EAAelE,GACtB,IAAIU,EAAWV,EAAGW,WAClB,MAAOxL,EAAGY,IAAI2K,GAAW,CACvB,IAAKvL,EAAGY,IAAI2K,EAASC,YAAa,CAAE,KAAM,CAC1CD,EAAWA,EAASC,UACxB,CACE,OAAOD,CACT,CAEA,SAASyD,GAAaC,EAAQC,GAC5B,IAAItO,EAAMsO,GAAW,GACrB,IAAIC,EAAcvO,EAAIiK,IAAMkE,EAAeE,GAC3C,IAAIG,EAAOD,EAAYE,wBACvB,IAAIC,EAAc1E,EAAauE,EAAa,WAC5C,IAAItD,EAAQuD,EAAKvD,MACjB,IAAI0D,EAASH,EAAKG,OAClB,IAAIC,EAAU5O,EAAI4O,UAAYF,EAAcA,EAAYvN,MAAM,KAAO,CAAC,EAAG,EAAG8J,EAAO0D,IACnF,MAAO,CACL1E,GAAIsE,EACJK,QAASA,EACT1J,EAAG0J,EAAQ,GAAK,EAChBhC,EAAGgC,EAAQ,GAAK,EAChBC,EAAG5D,EACH/B,EAAGyF,EACHG,GAAIF,EAAQ,GACZG,GAAIH,EAAQ,GAEhB,CAEA,SAASI,GAAQC,EAAMC,GACrB,IAAIb,EAASjP,EAAGP,IAAIoQ,GAAQxI,EAAawI,GAAM,GAAKA,EACpD,IAAI5N,EAAI6N,GAAW,IACnB,OAAO,SAASC,GACd,MAAO,CACLA,SAAUA,EACVlF,GAAIoE,EACJrO,IAAKoO,GAAaC,GAClBZ,YAAaM,EAAeM,IAAWhN,EAAI,KAEjD,CACA,CAEA,SAAS+N,GAAgBH,EAAM7M,EAAUiN,GACvC,SAASC,EAAMC,GACb,GAAKA,SAAgB,EAAIA,EAAS,EAElC,IAAInG,EAAIhH,EAAWmN,GAAU,EAAInN,EAAWmN,EAAS,EACrD,OAAON,EAAKhF,GAAGuF,iBAAiBpG,EACpC,CACE,IAAIpJ,EAAMoO,GAAaa,EAAKhF,GAAIgF,EAAKjP,KACrC,IAAIqB,EAAIiO,IACR,IAAIG,EAAKH,GAAO,GAChB,IAAIpC,EAAKoC,GAAO,GAChB,IAAII,EAASL,EAAwB,EAAIrP,EAAI6O,EAAI7O,EAAI8O,GACrD,IAAIa,EAASN,EAAwB,EAAIrP,EAAIkJ,EAAIlJ,EAAI+O,GACrD,OAAQE,EAAKE,UACX,IAAK,IAAK,OAAQ9N,EAAE6D,EAAIlF,EAAIkF,GAAKwK,EACjC,IAAK,IAAK,OAAQrO,EAAEuL,EAAI5M,EAAI4M,GAAK+C,EACjC,IAAK,QAAS,OAAOhR,KAAKiR,MAAM1C,EAAGN,EAAI6C,EAAG7C,EAAGM,EAAGhI,EAAIuK,EAAGvK,GAAK,IAAMvG,KAAK6G,GAE3E,CAIA,SAASqK,GAAerR,EAAK6L,GAG3B,IAAI3B,EAAM,6CACV,IAAI0B,EAAQyC,EAAezN,EAAGU,IAAItB,GAAOA,EAAIiP,YAAcjP,EAAM6L,GAAQ,GACzE,MAAO,CACLyF,SAAU1F,EACV2F,QAAS3F,EAAMnJ,MAAMyH,GAAO0B,EAAMnJ,MAAMyH,GAAKtH,IAAI4O,QAAU,CAAC,GAC5DC,QAAU7Q,EAAGP,IAAIL,IAAQ6L,EAAQD,EAAMjJ,MAAMuH,GAAO,GAExD,CAIA,SAASwH,GAAaC,GACpB,IAAIC,EAAeD,EAAW7I,EAAalI,EAAGC,IAAI8Q,GAAWA,EAAQ/O,IAAIqG,GAAWA,EAAQ0I,IAAa,GACzG,OAAOrJ,EAAYsJ,GAAc,SAAUC,EAAMC,EAAKC,GAAQ,OAAOA,EAAKxR,QAAQsR,KAAUC,CAAI,GAClG,CAEA,SAASE,GAAeL,GACtB,IAAIM,EAASP,GAAaC,GAC1B,OAAOM,EAAOrP,KAAI,SAAUe,EAAG+B,GAC7B,MAAO,CAAC2F,OAAQ1H,EAAG2H,GAAI5F,EAAG6F,MAAO0G,EAAOxJ,OAAQ8E,WAAY,CAAEM,KAAMT,EAAqBzJ,IAC7F,GACA,CAIA,SAASuO,GAAwBxG,EAAMyG,GACrC,IAAIC,EAAW5I,EAAY2I,GAE3B,GAAI,UAAUjQ,KAAKkQ,EAAS3S,QAAS,CAAE2S,EAAS9S,SAAWyD,EAAOqP,EAAS3S,OAAQ,CACnF,GAAImB,EAAGC,IAAI6K,GAAO,CAChB,IAAId,EAAIc,EAAKjD,OACb,IAAI4J,EAAYzH,IAAM,IAAMhK,EAAGK,IAAIyK,EAAK,IACxC,IAAK2G,EAAU,CAEb,IAAKzR,EAAGkB,IAAIqQ,EAAc7S,UAAW,CAAE8S,EAAS9S,SAAW6S,EAAc7S,SAAWsL,CAAE,CAC5F,KAAW,CAELc,EAAO,CAACE,MAAOF,EACrB,CACA,CACE,IAAI4G,EAAY1R,EAAGC,IAAI6K,GAAQA,EAAO,CAACA,GACvC,OAAO4G,EAAU1P,KAAI,SAAU2P,EAAG7M,GAChC,IAAIzE,EAAOL,EAAGK,IAAIsR,KAAO3R,EAAGU,IAAIiR,GAAMA,EAAI,CAAC3G,MAAO2G,GAElD,GAAI3R,EAAGmB,IAAId,EAAI1B,OAAQ,CAAE0B,EAAI1B,OAASmG,EAAIyM,EAAc5S,MAAQ,CAAE,CAElE,GAAIqB,EAAGmB,IAAId,EAAIzB,UAAW,CAAEyB,EAAIzB,SAAWkG,IAAM4M,EAAU7J,OAAS,EAAI0J,EAAc3S,SAAW,CAAE,CACnG,OAAOyB,CACX,IAAK2B,KAAI,SAAU4P,GAAK,OAAO3I,EAAa2I,EAAGJ,EAAU,GACzD,CAGA,SAASK,GAAiBC,GACxB,IAAIC,EAAgBrK,EAAYQ,EAAa4J,EAAU9P,KAAI,SAAUN,GAAO,OAAOpB,OAAO2G,KAAKvF,EAAK,MAAM,SAAUO,GAAK,OAAOjC,EAAG0B,IAAIO,EAAG,IACzIkG,QAAO,SAAUjI,EAAE2C,GAAK,GAAI3C,EAAEP,QAAQkD,GAAK,EAAG,CAAE3C,EAAE+H,KAAKpF,EAAG,CAAG,OAAO3C,CAAE,GAAI,IAC3E,IAAI8R,EAAa,GACjB,IAAI3T,EAAO,SAAWyG,GACpB,IAAIwF,EAAWyH,EAAcjN,GAC7BkN,EAAW1H,GAAYwH,EAAU9P,KAAI,SAAUN,GAC7C,IAAIuQ,EAAS,GACb,IAAK,IAAIhQ,KAAKP,EAAK,CACjB,GAAI1B,EAAG0B,IAAIO,GAAI,CACb,GAAIA,GAAKqI,EAAU,CAAE2H,EAAOjH,MAAQtJ,EAAIO,EAAG,CACrD,KAAe,CACLgQ,EAAOhQ,GAAKP,EAAIO,EAC1B,CACA,CACM,OAAOgQ,CACb,GACA,EAEE,IAAK,IAAInN,EAAI,EAAGA,EAAIiN,EAAclK,OAAQ/C,IAAKzG,EAAMyG,GACrD,OAAOkN,CACT,CAEA,SAASE,GAAcX,EAAenP,GACpC,IAAI4P,EAAa,GACjB,IAAIF,EAAY1P,EAAO0P,UACvB,GAAIA,EAAW,CAAE1P,EAAS6G,EAAa4I,GAAiBC,GAAY1P,EAAQ,CAC5E,IAAK,IAAIH,KAAKG,EAAQ,CACpB,GAAIpC,EAAG0B,IAAIO,GAAI,CACb+P,EAAW/J,KAAK,CACdjB,KAAM/E,EACNkQ,OAAQb,GAAwBlP,EAAOH,GAAIsP,IAEnD,CACA,CACE,OAAOS,CACT,CAIA,SAASI,GAAqBC,EAAO7H,GACnC,IAAIzH,EAAI,GACR,IAAK,IAAId,KAAKoQ,EAAO,CACnB,IAAIrH,EAAQT,EAAiB8H,EAAMpQ,GAAIuI,GACvC,GAAIxK,EAAGC,IAAI+K,GAAQ,CACjBA,EAAQA,EAAMhJ,KAAI,SAAU2P,GAAK,OAAOpH,EAAiBoH,EAAGnH,EAAY,IACxE,GAAIQ,EAAMnD,SAAW,EAAG,CAAEmD,EAAQA,EAAM,EAAG,CACjD,CACIjI,EAAEd,GAAK+I,CACX,CACEjI,EAAErE,SAAWwD,WAAWa,EAAErE,UAC1BqE,EAAEpE,MAAQuD,WAAWa,EAAEpE,OACvB,OAAOoE,CACT,CAEA,SAASuP,GAAgBxH,EAAMN,GAC7B,IAAI+H,EACJ,OAAOzH,EAAKqH,OAAOnQ,KAAI,SAAUe,GAC/B,IAAIsP,EAAQD,GAAqBrP,EAAGyH,GACpC,IAAIgI,EAAaH,EAAMrH,MACvB,IAAIoC,EAAKpN,EAAGC,IAAIuS,GAAcA,EAAW,GAAKA,EAC9C,IAAIC,EAASrI,EAAQgD,GACrB,IAAIsF,EAAgBxF,EAAuB1C,EAAWC,OAAQK,EAAK9D,KAAMyL,EAAQjI,GACjF,IAAImI,EAAgBJ,EAAgBA,EAAcnF,GAAGsD,SAAWgC,EAChE,IAAIrF,EAAOrN,EAAGC,IAAIuS,GAAcA,EAAW,GAAKG,EAChD,IAAIC,EAAWxI,EAAQiD,IAASjD,EAAQsI,GACxC,IAAIzH,EAAOwH,GAAUG,EACrB,GAAI5S,EAAGmB,IAAIiM,GAAK,CAAEA,EAAKuF,CAAc,CACrCN,EAAMhF,KAAOoD,GAAepD,EAAMpC,GAClCoH,EAAMjF,GAAKqD,GAAetD,EAAiBC,EAAIC,GAAOpC,GACtDoH,EAAMQ,MAAQN,EAAgBA,EAAcO,IAAM,EAClDT,EAAMS,IAAMT,EAAMQ,MAAQR,EAAM1T,MAAQ0T,EAAM3T,SAAW2T,EAAMzT,SAC/DyT,EAAMxT,OAASsI,EAAakL,EAAMxT,OAAQwT,EAAM3T,UAChD2T,EAAMU,OAAS/S,EAAGU,IAAI8R,GACtBH,EAAMpC,sBAAwBoC,EAAMU,QAAU/S,EAAGY,IAAI4J,EAAWC,QAChE4H,EAAMW,QAAUhT,EAAGyB,IAAI4Q,EAAMhF,KAAKqD,UAClC,GAAI2B,EAAMW,QAAS,CAAEX,EAAMvT,MAAQ,CAAE,CACrCyT,EAAgBF,EAChB,OAAOA,CACX,GACA,CAIA,IAAIY,GAAmB,CACrBC,IAAK,SAAUnQ,EAAGd,EAAG0P,GAAK,OAAO5O,EAAE4I,MAAM1J,GAAK0P,CAAE,EAChDwB,UAAW,SAAUpQ,EAAGd,EAAG0P,GAAK,OAAO5O,EAAE+L,aAAa7M,EAAG0P,EAAG,EAC5DyB,OAAQ,SAAUrQ,EAAGd,EAAG0P,GAAK,OAAO5O,EAAEd,GAAK0P,CAAE,EAC7ClF,UAAW,SAAU1J,EAAGd,EAAG0P,EAAGhF,EAAY0G,GACxC1G,EAAWM,KAAKJ,IAAI5K,EAAG0P,GACvB,GAAI1P,IAAM0K,EAAW2G,MAAQD,EAAQ,CACnC,IAAI5T,EAAM,GACVkN,EAAWM,KAAKlG,SAAQ,SAAUiE,EAAOF,GAAQrL,GAAOqL,EAAO,IAAME,EAAQ,IAAK,IAClFjI,EAAE4I,MAAMc,UAAYhN,CAC1B,CACA,GAKA,SAAS8T,GAAgBxC,EAASiB,GAChC,IAAIwB,EAAcpC,GAAeL,GACjCyC,EAAYzM,SAAQ,SAAUyD,GAC5B,IAAK,IAAIuF,KAAYiC,EAAY,CAC/B,IAAIhH,EAAQT,EAAiByH,EAAWjC,GAAWvF,GACnD,IAAIC,EAASD,EAAWC,OACxB,IAAIS,EAAYd,EAAQY,GACxB,IAAI0H,EAAgBxF,EAAuBzC,EAAQsF,EAAU7E,EAAWV,GACxE,IAAIS,EAAOC,GAAad,EAAQsI,GAChC,IAAItF,EAAKD,EAAiBM,EAAczC,EAAOC,GAAOyH,GACtD,IAAIe,EAAWlH,EAAiB9B,EAAQsF,GACxCkD,GAAiBQ,GAAUhJ,EAAQsF,EAAU3C,EAAI5C,EAAWmC,WAAY,KAC9E,CACA,GACA,CAIA,SAAS+G,GAAgBlJ,EAAYM,GACnC,IAAI2I,EAAWlH,EAAiB/B,EAAWC,OAAQK,EAAK9D,MACxD,GAAIyM,EAAU,CACZ,IAAItB,EAASG,GAAgBxH,EAAMN,GACnC,IAAImJ,EAAYxB,EAAOA,EAAOtK,OAAS,GACvC,MAAO,CACL+L,KAAMH,EACN1D,SAAUjF,EAAK9D,KACfwD,WAAYA,EACZ2H,OAAQA,EACRzT,SAAUiV,EAAUb,IACpBnU,MAAOwT,EAAO,GAAGxT,MACjBC,SAAU+U,EAAU/U,SAE1B,CACA,CAEA,SAASiV,GAAcL,EAAaxB,GAClC,OAAOtK,EAAYQ,EAAasL,EAAYxR,KAAI,SAAUwI,GACxD,OAAOwH,EAAWhQ,KAAI,SAAU8I,GAC9B,OAAO4I,GAAgBlJ,EAAYM,EACzC,GACA,MAAO,SAAU5K,GAAK,OAAQF,EAAGmB,IAAIjB,EAAG,GACxC,CAIA,SAAS4T,GAAmBC,EAAYxC,GACtC,IAAIyC,EAAaD,EAAWlM,OAC5B,IAAIoM,EAAc,SAAUC,GAAQ,OAAOA,EAAK1V,eAAiB0V,EAAK1V,eAAiB,CAAE,EACzF,IAAI2V,EAAU,GACdA,EAAQzV,SAAWsV,EAAazU,KAAKD,IAAIS,MAAMR,KAAMwU,EAAW/R,KAAI,SAAUkS,GAAQ,OAAOD,EAAYC,GAAQA,EAAKxV,QAAS,KAAO6S,EAAc7S,SACpJyV,EAAQxV,MAAQqV,EAAazU,KAAKF,IAAIU,MAAMR,KAAMwU,EAAW/R,KAAI,SAAUkS,GAAQ,OAAOD,EAAYC,GAAQA,EAAKvV,KAAM,KAAO4S,EAAc5S,MAC9IwV,EAAQvV,SAAWoV,EAAaG,EAAQzV,SAAWa,KAAKD,IAAIS,MAAMR,KAAMwU,EAAW/R,KAAI,SAAUkS,GAAQ,OAAOD,EAAYC,GAAQA,EAAKxV,SAAWwV,EAAKtV,QAAS,KAAO2S,EAAc3S,SACvL,OAAOuV,CACT,CAEA,IAAIC,GAAa,EAEjB,SAASC,GAAkBjS,GACzB,IAAIkS,EAAmBxL,EAAmBlL,EAAyBwE,GACnE,IAAImP,EAAgBzI,EAAmBrK,EAAsB2D,GAC7D,IAAI4P,EAAaE,GAAcX,EAAenP,GAC9C,IAAIoR,EAAcpC,GAAehP,EAAO2O,SACxC,IAAIgD,EAAaF,GAAcL,EAAaxB,GAC5C,IAAImC,EAAUL,GAAmBC,EAAYxC,GAC7C,IAAI7G,EAAK0J,GACTA,KACA,OAAOnL,EAAaqL,EAAkB,CACpC5J,GAAIA,EACJ6J,SAAU,GACVf,YAAaA,EACbO,WAAYA,EACZrV,SAAUyV,EAAQzV,SAClBC,MAAOwV,EAAQxV,MACfC,SAAUuV,EAAQvV,UAEtB,CAIA,IAAI4V,GAAkB,GAEtB,IAAIC,GAAS,WACX,IAAIC,EAEJ,SAASC,IACP,IAAKD,KAASE,OAAuBC,GAAMC,4BAA8BN,GAAgB3M,OAAS,EAAG,CACnG6M,EAAMK,sBAAsBC,EAClC,CACA,CACE,SAASA,EAAKjS,GAIZ,IAAIkS,EAAwBT,GAAgB3M,OAC5C,IAAI/C,EAAI,EACR,MAAOA,EAAImQ,EAAuB,CAChC,IAAIC,EAAiBV,GAAgB1P,GACrC,IAAKoQ,EAAeC,OAAQ,CAC1BD,EAAeE,KAAKrS,GACpB+B,GACR,KAAa,CACL0P,GAAgBa,OAAOvQ,EAAG,GAC1BmQ,GACR,CACA,CACIP,EAAM5P,EAAI,EAAIiQ,sBAAsBC,GAAQM,SAChD,CAEE,SAASC,IACP,IAAKV,GAAMC,0BAA2B,CAAE,MAAO,CAE/C,GAAIF,KAAoB,CAEtBF,EAAMc,qBAAqBd,EACjC,KAAW,CAELF,GAAgBzN,SACd,SAAU0O,GAAY,OAAOA,EAAUC,uBAAwB,IAEjEjB,IACN,CACA,CACE,UAAWlN,WAAa,YAAa,CACnCA,SAASoO,iBAAiB,mBAAoBJ,EAClD,CAEE,OAAOZ,CACR,CA9CY,GAgDb,SAASC,KACP,QAASrN,UAAYA,SAASqO,MAChC,CAIA,SAASf,GAAMzS,GACb,GAAKA,SAAgB,EAAIA,EAAS,GAGlC,IAAIyT,EAAY,EAAGC,EAAW,EAAGC,EAAM,EACvC,IAAIxB,EAAUyB,EAAiB,EAC/B,IAAIC,EAAU,KAEd,SAASC,EAAYT,GACnB,IAAIU,EAAUC,OAAOC,SAAW,IAAIA,SAAQ,SAAUC,GAAY,OAAOL,EAAUK,CAAS,IAC5Fb,EAASc,SAAWJ,EACpB,OAAOA,CACX,CAEE,IAAIV,EAAWpB,GAAkBjS,GACnB8T,EAAYT,GAE1B,SAASe,IACP,IAAIlY,EAAYmX,EAASnX,UACzB,GAAIA,IAAc,YAAa,CAC7BmX,EAASnX,UAAYA,IAAc,SAAW,SAAW,SAC/D,CACImX,EAASgB,UAAYhB,EAASgB,SAC9BlC,EAASxN,SAAQ,SAAU2P,GAAS,OAAOA,EAAMD,SAAWhB,EAASgB,QAAS,GAClF,CAEE,SAASE,EAAWC,GAClB,OAAOnB,EAASgB,SAAWhB,EAAS/W,SAAWkY,EAAOA,CAC1D,CAEE,SAASC,IACPhB,EAAY,EACZC,EAAWa,EAAWlB,EAASqB,cAAgB,EAAIjC,GAAMkC,MAC7D,CAEE,SAASC,EAAUJ,EAAMF,GACvB,GAAIA,EAAO,CAAEA,EAAMO,KAAKL,EAAOF,EAAMlY,eAAgB,CACzD,CAEE,SAAS0Y,EAAqBN,GAC5B,IAAKnB,EAAS0B,gBAAiB,CAC7B,IAAK,IAAIrS,EAAI,EAAGA,EAAIkR,EAAgBlR,IAAK,CAAEkS,EAAUJ,EAAMrC,EAASzP,GAAI,CAC9E,KAAW,CACL,IAAK,IAAIsS,EAAMpB,EAAgBoB,KAAQ,CAAEJ,EAAUJ,EAAMrC,EAAS6C,GAAM,CAC9E,CACA,CAEE,SAASC,EAAsBC,GAC7B,IAAIxS,EAAI,EACR,IAAIiP,EAAa0B,EAAS1B,WAC1B,IAAIwD,EAAmBxD,EAAWlM,OAClC,MAAO/C,EAAIyS,EAAkB,CAC3B,IAAIrD,EAAOH,EAAWjP,GACtB,IAAI0F,EAAa0J,EAAK1J,WACtB,IAAI2H,EAAS+B,EAAK/B,OAClB,IAAIqF,EAAcrF,EAAOtK,OAAS,EAClC,IAAIwK,EAAQF,EAAOqF,GAEnB,GAAIA,EAAa,CAAEnF,EAAQ3K,EAAYyK,GAAQ,SAAUpP,GAAK,OAAQuU,EAAUvU,EAAE+P,GAAK,IAAI,IAAMT,CAAM,CACvG,IAAI9O,EAAUpE,EAAOmY,EAAUjF,EAAMQ,MAAQR,EAAM1T,MAAO,EAAG0T,EAAM3T,UAAY2T,EAAM3T,SACrF,IAAI+Y,EAAQC,MAAMnU,GAAW,EAAI8O,EAAMxT,OAAO0E,GAC9C,IAAIsN,EAAUwB,EAAMjF,GAAGyD,QACvB,IAAI/R,EAAQuT,EAAMvT,MAClB,IAAI6R,EAAU,GACd,IAAIgH,EAAkBtF,EAAMjF,GAAGuD,QAAQ9I,OACvC,IAAI7E,OAAiB,EACrB,IAAK,IAAI4U,EAAI,EAAGA,EAAID,EAAiBC,IAAK,CACxC,IAAI5M,OAAc,EAClB,IAAI6M,EAAWxF,EAAMjF,GAAGuD,QAAQiH,GAChC,IAAIE,EAAazF,EAAMhF,KAAKsD,QAAQiH,IAAM,EAC1C,IAAKvF,EAAMU,OAAQ,CACjB/H,EAAQ8M,EAAcL,GAASI,EAAWC,EACpD,KAAe,CACL9M,EAAQgF,GAAgBqC,EAAMrH,MAAOyM,EAAQI,EAAUxF,EAAMpC,sBACvE,CACQ,GAAInR,EAAO,CACT,KAAMuT,EAAMW,SAAW4E,EAAI,GAAI,CAC7B5M,EAAQzL,KAAKT,MAAMkM,EAAQlM,GAASA,CAChD,CACA,CACQ6R,EAAQ1I,KAAK+C,EACrB,CAEM,IAAI+M,EAAgBlH,EAAQhJ,OAC5B,IAAKkQ,EAAe,CAClB/U,EAAW2N,EAAQ,EAC3B,KAAa,CACL3N,EAAW6N,EAAQ,GACnB,IAAK,IAAI9G,EAAI,EAAGA,EAAIgO,EAAehO,IAAK,CAEtC,IAAIlH,EAAIgO,EAAQ9G,EAAI,GACpB,IAAIiO,EAAMrH,EAAQ5G,GAClB,IAAK2N,MAAMM,GAAM,CACf,IAAKnV,EAAG,CACNG,GAAYgV,EAAM,GAChC,KAAmB,CACLhV,GAAYgV,EAAMnV,CAChC,CACA,CACA,CACA,CACMoQ,GAAiBiB,EAAKN,MAAMpJ,EAAWC,OAAQyJ,EAAKnE,SAAU/M,EAAUwH,EAAWmC,YACnFuH,EAAK+D,aAAejV,EACpB8B,GACN,CACA,CAEE,SAASoT,EAAYC,GACnB,GAAI1C,EAAS0C,KAAQ1C,EAAS2C,YAAa,CAAE3C,EAAS0C,GAAI1C,EAAU,CACxE,CAEE,SAAS4C,IACP,GAAI5C,EAAS6C,WAAa7C,EAAS6C,YAAc,KAAM,CACrD7C,EAAS6C,WACf,CACA,CAEE,SAASC,EAAoBC,GAC3B,IAAIC,EAAchD,EAAS/W,SAC3B,IAAIga,EAAWjD,EAAS9W,MACxB,IAAIga,EAAcF,EAAchD,EAAS7W,SACzC,IAAI0Y,EAAUX,EAAW6B,GACzB/C,EAASzS,SAAW7D,EAAQmY,EAAUmB,EAAe,IAAK,EAAG,KAC7DhD,EAAS0B,gBAAkBG,EAAU7B,EAASqB,YAC9C,GAAIvC,EAAU,CAAE2C,EAAqBI,EAAS,CAC9C,IAAK7B,EAASmD,OAASnD,EAASqB,YAAc,EAAG,CAC/CrB,EAASmD,MAAQ,KACjBV,EAAY,QAClB,CACI,IAAKzC,EAASoD,WAAapD,EAASqB,YAAc,EAAG,CACnDrB,EAASoD,UAAY,KACrBX,EAAY,YAClB,CACI,GAAIZ,GAAWoB,GAAYjD,EAASqB,cAAgB,EAAG,CACrDO,EAAsB,EAC5B,CACI,GAAKC,GAAWqB,GAAelD,EAASqB,cAAgB2B,IAAiBA,EAAa,CACpFpB,EAAsBoB,EAC5B,CACI,GAAInB,EAAUoB,GAAYpB,EAAUqB,EAAa,CAC/C,IAAKlD,EAASqD,YAAa,CACzBrD,EAASqD,YAAc,KACvBrD,EAASsD,gBAAkB,MAC3Bb,EAAY,cACpB,CACMA,EAAY,UACZb,EAAsBC,EAC5B,KAAW,CACL,GAAI7B,EAASqD,YAAa,CACxBrD,EAASsD,gBAAkB,KAC3BtD,EAASqD,YAAc,MACvBZ,EAAY,iBACpB,CACA,CACIzC,EAASqB,YAAc3X,EAAOmY,EAAS,EAAGmB,GAC1C,GAAIhD,EAASmD,MAAO,CAAEV,EAAY,SAAU,CAC5C,GAAIM,GAAcC,EAAa,CAC7B3C,EAAW,EACXuC,IACA,IAAK5C,EAAS6C,UAAW,CACvB7C,EAASN,OAAS,KAClB,IAAKM,EAASuD,UAAW,CACvBvD,EAASuD,UAAY,KACrBd,EAAY,gBACZA,EAAY,YACZ,IAAKzC,EAAS2C,aAAe,YAAahC,OAAQ,CAChDH,IACUC,EAAYT,EAClC,CACA,CACA,KAAa,CACLI,EAAYE,EACZmC,EAAY,gBACZzC,EAASoD,UAAY,MACrB,GAAIpD,EAASnX,YAAc,YAAa,CACtCkY,GACV,CACA,CACA,CACA,CAEEf,EAASwD,MAAQ,WACf,IAAI3a,EAAYmX,EAASnX,UACzBmX,EAAS2C,YAAc,MACvB3C,EAASqB,YAAc,EACvBrB,EAASzS,SAAW,EACpByS,EAASN,OAAS,KAClBM,EAASmD,MAAQ,MACjBnD,EAASoD,UAAY,MACrBpD,EAASqD,YAAc,MACvBrD,EAASuD,UAAY,MACrBvD,EAASsD,gBAAkB,MAC3BtD,EAAS0B,gBAAkB,MAC3B1B,EAASgB,SAAWnY,IAAc,UAClCmX,EAAS6C,UAAY7C,EAASpX,KAC9BkW,EAAWkB,EAASlB,SACpByB,EAAiBzB,EAAS1M,OAC1B,IAAK,IAAI/C,EAAIkR,EAAgBlR,KAAM,CAAE2Q,EAASlB,SAASzP,GAAGmU,OAAQ,CAClE,GAAIxD,EAASgB,UAAYhB,EAASpX,OAAS,MAASC,IAAc,aAAemX,EAASpX,OAAS,EAAI,CAAEoX,EAAS6C,WAAY,CAC9HjB,EAAsB5B,EAASgB,SAAWhB,EAAS/W,SAAW,EAClE,EAGE+W,EAASC,sBAAwBmB,EAIjCpB,EAAS5I,IAAM,SAASkE,EAASiB,GAC/BuB,GAAgBxC,EAASiB,GACzB,OAAOyD,CACX,EAEEA,EAASL,KAAO,SAASrS,GACvBgT,EAAMhT,EACN,IAAK8S,EAAW,CAAEA,EAAYE,CAAI,CAClCwC,GAAqBxC,GAAOD,EAAWD,IAAchB,GAAMkC,MAC/D,EAEEtB,EAASwB,KAAO,SAASL,GACvB2B,EAAoB5B,EAAWC,GACnC,EAEEnB,EAASyD,MAAQ,WACfzD,EAASN,OAAS,KAClB0B,GACJ,EAEEpB,EAASd,KAAO,WACd,IAAKc,EAASN,OAAQ,CAAE,MAAO,CAC/B,GAAIM,EAASuD,UAAW,CAAEvD,EAASwD,OAAQ,CAC3CxD,EAASN,OAAS,MAClBX,GAAgBvM,KAAKwN,GACrBoB,IACApC,IACJ,EAEEgB,EAAS0D,QAAU,WACjB3C,IACAf,EAASuD,UAAYvD,EAASgB,SAAW,MAAQ,KACjDI,GACJ,EAEEpB,EAAS2D,QAAU,WACjB3D,EAASwD,QACTxD,EAASd,MACb,EAEEc,EAAS4D,OAAS,SAAStI,GACzB,IAAIC,EAAeF,GAAaC,GAChCuI,GAA0BtI,EAAcyE,EAC5C,EAEEA,EAASwD,QAET,GAAIxD,EAASlX,SAAU,CAAEkX,EAASd,MAAO,CAEzC,OAAOc,CAET,CAIA,SAAS8D,GAA4BvI,EAAc+C,GACjD,IAAK,IAAI7T,EAAI6T,EAAWlM,OAAQ3H,KAAM,CACpC,GAAIwI,EAAcsI,EAAc+C,EAAW7T,GAAGsK,WAAWC,QAAS,CAChEsJ,EAAWsB,OAAOnV,EAAG,EAC3B,CACA,CACA,CAEA,SAASoZ,GAA0BtI,EAAcyE,GAC/C,IAAI1B,EAAa0B,EAAS1B,WAC1B,IAAIQ,EAAWkB,EAASlB,SACxBgF,GAA4BvI,EAAc+C,GAC1C,IAAK,IAAIyF,EAAIjF,EAAS1M,OAAQ2R,KAAM,CAClC,IAAI9C,EAAQnC,EAASiF,GACrB,IAAIC,EAAkB/C,EAAM3C,WAC5BwF,GAA4BvI,EAAcyI,GAC1C,IAAKA,EAAgB5R,SAAW6O,EAAMnC,SAAS1M,OAAQ,CAAE0M,EAASc,OAAOmE,EAAG,EAAG,CACnF,CACE,IAAKzF,EAAWlM,SAAW0M,EAAS1M,OAAQ,CAAE4N,EAASyD,OAAQ,CACjE,CAEA,SAASQ,GAAiC3I,GACxC,IAAIC,EAAeF,GAAaC,GAChC,IAAK,IAAIjM,EAAI0P,GAAgB3M,OAAQ/C,KAAM,CACzC,IAAI2Q,EAAWjB,GAAgB1P,GAC/BwU,GAA0BtI,EAAcyE,EAC5C,CACA,CAIA,SAASkE,GAAQva,EAAKgD,GACpB,GAAKA,SAAgB,EAAIA,EAAS,GAElC,IAAI9D,EAAY8D,EAAO9D,WAAa,SACpC,IAAIO,EAASuD,EAAOvD,OAASsI,EAAa/E,EAAOvD,QAAU,KAC3D,IAAI+a,EAAOxX,EAAOwX,KAClB,IAAIC,EAAOzX,EAAOyX,KAClB,IAAIC,EAAY1X,EAAOiL,MAAQ,EAC/B,IAAI0M,EAAYD,IAAc,QAC9B,IAAIE,EAAaF,IAAc,SAC/B,IAAIG,EAAWH,IAAc,OAC7B,IAAII,EAAUla,EAAGC,IAAIb,GACrB,IAAI+a,EAAOD,EAAUhY,WAAW9C,EAAI,IAAM8C,WAAW9C,GACrD,IAAIgb,EAAOF,EAAUhY,WAAW9C,EAAI,IAAM,EAC1C,IAAI6L,EAAOb,EAAQ8P,EAAU9a,EAAI,GAAKA,IAAQ,EAC9C,IAAIyT,EAAQzQ,EAAOyQ,OAAS,GAAKqH,EAAUC,EAAO,GAClD,IAAIE,EAAS,GACb,IAAIC,EAAW,EACf,OAAO,SAAUzP,EAAI/F,EAAG/B,GACtB,GAAIgX,EAAW,CAAED,EAAY,CAAE,CAC/B,GAAIE,EAAY,CAAEF,GAAa/W,EAAI,GAAK,CAAE,CAC1C,GAAIkX,EAAU,CAAEH,EAAY/W,EAAI,CAAE,CAClC,IAAKsX,EAAOxS,OAAQ,CAClB,IAAK,IAAI0S,EAAQ,EAAGA,EAAQxX,EAAGwX,IAAS,CACtC,IAAKX,EAAM,CACTS,EAAOpS,KAAK1I,KAAKwF,IAAI+U,EAAYS,GAC3C,KAAe,CACL,IAAIC,GAASR,EAAaF,EAAUF,EAAK,IAAMA,EAAK,GAAG,GAAG,EAC1D,IAAIa,GAAST,EAAaza,KAAKmb,MAAMZ,EAAUF,EAAK,KAAOA,EAAK,GAAG,GAAG,EACtE,IAAIe,EAAMJ,EAAMX,EAAK,GACrB,IAAIgB,EAAMrb,KAAKmb,MAAMH,EAAMX,EAAK,IAChC,IAAIiB,EAAYL,EAAQG,EACxB,IAAIG,EAAYL,EAAQG,EACxB,IAAI5P,EAAQzL,KAAKmD,KAAKmY,EAAYA,EAAYC,EAAYA,GAC1D,GAAIjB,IAAS,IAAK,CAAE7O,GAAS6P,CAAU,CACvC,GAAIhB,IAAS,IAAK,CAAE7O,GAAS8P,CAAU,CACvCT,EAAOpS,KAAK+C,EACtB,CACQsP,EAAW/a,KAAKD,IAAIS,MAAMR,KAAM8a,EACxC,CACM,GAAIxb,EAAQ,CAAEwb,EAASA,EAAOrY,KAAI,SAAU5C,GAAO,OAAOP,EAAOO,EAAMkb,GAAYA,CAAS,GAAI,CAChG,GAAIhc,IAAc,UAAW,CAAE+b,EAASA,EAAOrY,KAAI,SAAU5C,GAAO,OAAOya,EAAQza,EAAM,EAAKA,GAAO,GAAKA,EAAMG,KAAKwF,IAAIuV,EAAWlb,EAAK,GAAI,CACnJ,CACI,IAAI2b,EAAUb,GAAWE,EAAOD,GAAQG,EAAWH,EACnD,OAAOtH,EAASkI,GAAWxb,KAAKT,MAAMub,EAAOvV,GAAK,KAAO,KAAQmG,CACrE,CACA,CAIA,SAAS+P,GAAS5Y,GAChB,GAAKA,SAAgB,EAAIA,EAAS,GAElC,IAAI6Y,EAAKpG,GAAMzS,GACf6Y,EAAGvc,SAAW,EACduc,EAAGC,IAAM,SAASC,EAAgB3c,GAChC,IAAI4c,EAAU5G,GAAgB7U,QAAQsb,GACtC,IAAI1G,EAAW0G,EAAG1G,SAClB,GAAI6G,GAAW,EAAG,CAAE5G,GAAgBa,OAAO+F,EAAS,EAAG,CACvD,SAAShD,EAAYiD,GAAOA,EAAIjD,YAAc,IAAK,CACnD,IAAK,IAAItT,EAAI,EAAGA,EAAIyP,EAAS1M,OAAQ/C,IAAK,CAAEsT,EAAY7D,EAASzP,GAAI,CACrE,IAAIwW,EAAYrS,EAAakS,EAAgBrS,EAAmBrK,EAAsB2D,IACtFkZ,EAAUvK,QAAUuK,EAAUvK,SAAW3O,EAAO2O,QAChD,IAAIwK,EAAaN,EAAGvc,SACpB4c,EAAU/c,SAAW,MACrB+c,EAAUhd,UAAY2c,EAAG3c,UACzBgd,EAAU9c,eAAiBwB,EAAGmB,IAAI3C,GAAkB+c,EAAapO,EAAiB3O,EAAgB+c,GAClGnD,EAAY6C,GACZA,EAAGhE,KAAKqE,EAAU9c,gBAClB,IAAI6c,EAAMxG,GAAMyG,GAChBlD,EAAYiD,GACZ9G,EAAStM,KAAKoT,GACd,IAAIlH,EAAUL,GAAmBS,EAAUnS,GAC3C6Y,EAAGtc,MAAQwV,EAAQxV,MACnBsc,EAAGrc,SAAWuV,EAAQvV,SACtBqc,EAAGvc,SAAWyV,EAAQzV,SACtBuc,EAAGhE,KAAK,GACRgE,EAAGhC,QACH,GAAIgC,EAAG1c,SAAU,CAAE0c,EAAGtG,MAAO,CAC7B,OAAOsG,CACX,EACE,OAAOA,CACT,CAEApG,GAAM2G,QAAU,QAChB3G,GAAMkC,MAAQ,EAEdlC,GAAMC,0BAA4B,KAClCD,GAAM4G,QAAUjH,GAChBK,GAAMwE,OAASK,GACf7E,GAAM7H,IAAME,EACZ2H,GAAMhI,IAAM0G,GACZsB,GAAM6G,UAAY3Q,EAClB8J,GAAMhF,KAAOD,GACbiF,GAAMjG,cAAgBA,EACtBiG,GAAM8E,QAAUA,GAChB9E,GAAMmG,SAAWA,GACjBnG,GAAMhW,OAASsI,EACf0N,GAAM9O,OAASA,EACf8O,GAAM8G,OAAS,SAAUtc,EAAKC,GAAO,OAAOC,KAAKmb,MAAMnb,KAAKoc,UAAYrc,EAAMD,EAAM,IAAMA,CAAI,EC3xC9F,MAAMuc,GAAgB,6V,MCsBTC,GAAU,M,iIAoBH,M,iDASD,K,CASjBC,aACE,GAAIC,KAAKC,gBAAiB,CACxBD,KAAKE,mB,EAKTC,sBAAsBF,G,MACpB,GAAIA,EAAiB,CACnBD,KAAKI,iCACLJ,KAAKK,kB,KACA,EACLC,EAAAN,KAAKO,kBAAc,MAAAD,SAAA,SAAAA,EAAEE,oBACdR,KAAKS,cACZT,KAAKU,KAAKC,gBAAgB,Q,EAQ9BC,0BACE,OAAOZ,KAAKS,a,CAOdG,uBACE,OAAOZ,KAAKa,U,CAGdC,oBACE,GAAId,KAAKC,gBAAiB,CACxBD,KAAKI,gC,EAITW,mBACEf,KAAKK,kB,CAGCA,mB,MACN,MAAMW,EAAqBhB,KAAKU,KAAKO,cAAc,+BAEnD,GAAID,EAAoB,EACtBV,EAAAN,KAAKO,kBAAc,MAAAD,SAAA,SAAAA,EAAEY,QAAQF,E,EAIjCG,uB,OACEb,EAAAN,KAAKO,kBAAc,MAAAD,SAAA,SAAAA,EAAEE,Y,CAGvBY,SACE,OACErT,EAACsT,EAAI,eACUrB,KAAKsB,KAAO,QAAU,OACnCC,MAAOC,EAAK,CACV,oBAAqBxB,KAAKC,iBAAmBD,KAAKyB,eAClD,YAAazB,KAAKC,kBAAoBD,KAAKsB,QAG7CvT,EAAA,QAAM9C,KAAK,uB,CAKTmV,iCACNJ,KAAKO,eAAiB,IAAImB,eACxBC,GAAS,EAAEC,MACT,IAAKA,EAAO,CACV,MAAM,IAAIC,MAAM,iB,CAIlB,MAAMrO,EAASoO,EAAMlT,OAAO4E,wBAAwBE,OAEpD,GAAIwM,KAAKa,aAAerN,EAAQ,CAC9BwM,KAAKa,WAAarN,C,CAGpBwM,KAAK8B,sBAAsB,GAC1B,K,CAICA,uB,MACN9B,KAAKS,cAAgB3H,GAAM,CACzB9D,QAASgL,KAAKU,KACdlN,QAAQ8M,EAAAN,KAAK+B,iBAAa,MAAAzB,SAAA,EAAAA,EAAI,EAC9Bxd,OAAQ,8BACRH,SAAU,IACVH,SAAU,MACVD,UAAW,SACXR,MAAO,KACL,GAAIie,KAAKU,KAAM,CACb,GAAIV,KAAKsB,KAAM,CACbtB,KAAKU,KAAK9Q,MAAMoS,WAAa,GAC7BhC,KAAKU,KAAK9Q,MAAMC,SAAW,GAC3BmQ,KAAKU,KAAK9Q,MAAMqS,OAAS,E,IAI/B5f,SAAU,KACR,GAAI2d,KAAKU,KAAM,CACbV,KAAKU,KAAK9Q,MAAM4D,OAAS,GAEzB,IAAKwM,KAAKsB,KAAM,CACdtB,KAAKU,KAAK9Q,MAAMoS,WAAa,SAC7BhC,KAAKU,KAAK9Q,MAAMC,SAAW,WAC3BmQ,KAAKU,KAAK9Q,MAAMqS,OAAS,M,MAMjC,IAAKjC,KAAKsB,KAAM,CACdtB,KAAKS,cAAcrD,UACnB4C,KAAKS,cAAc7H,M,CAGrB,GAAIoH,KAAKU,KAAM,CACbV,KAAKU,KAAK9Q,MAAM4D,OAAS,E,CAG3BwM,KAAKyB,iBAAmBzB,KAAKS,cAC7BT,KAAKkC,uBAAuBC,M,CAGtBjC,oBACN,GAAIF,KAAKS,cAAe,CACtB,GAAIT,KAAKS,cAAcxZ,SAAW,GAAK+Y,KAAKS,cAAcxZ,SAAW,IAAK,CACxE+Y,KAAKS,cAAcrD,S,KACd,CACL,GAAI4C,KAAKsB,KAAM,CACbtB,KAAKS,cAAcle,UAAY,UAC/Byd,KAAKS,cAAc7H,M,KACd,CACLoH,KAAKS,cAAcle,UAAY,SAC/Byd,KAAKS,cAAc7H,M"}
@@ -1,2 +0,0 @@
1
- import{r as s,c as t,h as i,H as e,g as l}from"./p-26cdce1c.js";const o=":host{display:block}";const r=[{width:624,alias:"large"},{width:375,alias:"medium"},{width:0,alias:"small"}];const a=class{constructor(i){s(this,i);this.dsoSizeChange=t(this,"dsoSizeChange",7);this.observer=new ResizeObserver((([s])=>{var t,i;if(!s){throw new Error("No entry found")}const e=(i=(t=r.find((t=>s.contentRect.width>=t.width)))===null||t===void 0?void 0:t.alias)!==null&&i!==void 0?i:r[0].alias;this.sizeAlias=e;this.dsoSizeChange.emit(e)}));this.sizeAlias=r[0].alias;this.sizeWidth=0}async getSize(){return this.sizeAlias}componentWillLoad(){this.observer.observe(this.host)}disconnectedCallback(){this.observer.unobserve(this.host)}render(){return i(e,{small:this.sizeAlias==="small",medium:this.sizeAlias==="medium",large:this.sizeAlias==="large"},i("slot",null))}get host(){return l(this)}};a.style=o;export{a as dso_responsive_element};
2
- //# sourceMappingURL=p-835a599b.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as o,c as n,h as t}from"./p-26cdce1c.js";import{A as e}from"./p-9eccd618.js";import"./p-26713aef.js";const s="*,*::after,*::before{box-sizing:border-box}dso-annotation-output{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-annotation-header{align-items:center;background-color:#f2f2f2;clear:both;display:flex;margin-bottom:2px;margin-top:8px;padding-left:16px;padding-right:8px;padding-top:8px;padding-bottom:8px}.dso-annotation-header>*[slot=title]{color:#000;font-size:1.25rem;margin-bottom:0;margin-top:0}.dso-annotation-header>*:nth-child(2){margin-left:auto}dso-responsive-element[small] .dso-annotation-header,dso-responsive-element[medium] .dso-annotation-header{display:grid;row-gap:8px}dso-responsive-element[small] .dso-annotation-header *[slot=title],dso-responsive-element[medium] .dso-annotation-header *[slot=title]{grid-row:1;grid-column:1}dso-responsive-element[small] .dso-annotation-header *[slot=addons],dso-responsive-element[medium] .dso-annotation-header *[slot=addons]{grid-row:2;grid-column:1;margin-left:initial}dso-responsive-element[small] .dso-annotation-header .dso-annotation-close-button,dso-responsive-element[medium] .dso-annotation-header .dso-annotation-close-button{grid-row:1;grid-column:2;margin-left:8px;text-align:end}.dso-annotation-content{background-color:#f2f2f2;padding-left:16px;padding-right:8px;padding-top:8px;padding-bottom:8px}.dso-annotation-close-button{margin-left:32px}.dso-annotation-prefix{font-style:italic}";const i=class{constructor(t){o(this,t);this.dsoToggle=n(this,"dsoToggle",3);this.identifier=undefined;this.annotationPrefix=undefined}async _toggleAnnotation(o,n){e.toggle(n);const t=e.state[this.identifier];if(t===undefined){throw new Error(`No state found for ${this.identifier}`)}this.dsoToggle.emit({originalEvent:o,open:t})}toggleHandler(o){this._toggleAnnotation(o,this.identifier)}render(){const o=e.state[this.identifier]?{open:true}:{};return t("dso-responsive-element",null,t("dso-expandable",Object.assign({id:this.identifier},o),t("div",{slot:"expandable-content"},this.annotationPrefix&&t("span",{class:"dso-annotation-prefix"},this.annotationPrefix),t("div",{class:"dso-annotation-header"},t("slot",{name:"title"}),t("slot",{name:"addons"}),t("button",{type:"button",class:"dso-tertiary dso-annotation-close-button",onClick:o=>this.toggleHandler(o)},t("dso-icon",{icon:"times"}),t("span",{class:"sr-only"},"Toelichting sluiten"))),t("div",{class:"dso-annotation-content"},t("slot",null)))))}};i.style=s;export{i as dso_annotation_output};
2
- //# sourceMappingURL=p-91453b47.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["annotationOutputCss","AnnotationOutput","async","e","identifier","AnnotationService","toggle","open","state","this","undefined","Error","dsoToggle","emit","originalEvent","toggleHandler","_toggleAnnotation","render","expandableProperties","h","Object","assign","id","slot","annotationPrefix","class","name","type","onClick","icon"],"sources":["./src/components/annotation-output/annotation-output.scss?tag=dso-annotation-output","./src/components/annotation-output/annotation-output.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n\r\n@include utilities.box-sizing();\r\n\r\ndso-annotation-output {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-annotation-header {\r\n align-items: center;\r\n background-color: colors.$grijs-5;\r\n clear: both;\r\n display: flex;\r\n margin-bottom: 2px;\r\n margin-top: units.$u1;\r\n padding-left: units.$u2;\r\n padding-right: units.$u1;\r\n padding-top: units.$u1;\r\n padding-bottom: units.$u1;\r\n\r\n > *[slot=\"title\"] {\r\n color: colors.$zwart;\r\n font-size: 1.25rem;\r\n margin-bottom: 0;\r\n margin-top: 0;\r\n }\r\n\r\n > *:nth-child(2) {\r\n margin-left: auto;\r\n }\r\n}\r\n\r\ndso-responsive-element[small],\r\ndso-responsive-element[medium] {\r\n .dso-annotation-header {\r\n display: grid;\r\n row-gap: units.$u1;\r\n\r\n *[slot=\"title\"] {\r\n grid-row: 1;\r\n grid-column: 1;\r\n }\r\n\r\n *[slot=\"addons\"] {\r\n grid-row: 2;\r\n grid-column: 1;\r\n margin-left: initial;\r\n }\r\n\r\n .dso-annotation-close-button {\r\n grid-row: 1;\r\n grid-column: 2;\r\n margin-left: units.$u1;\r\n text-align: end;\r\n }\r\n }\r\n}\r\n\r\n.dso-annotation-content {\r\n background-color: colors.$grijs-5;\r\n padding-left: units.$u2;\r\n padding-right: units.$u1;\r\n padding-top: units.$u1;\r\n padding-bottom: units.$u1;\r\n}\r\n\r\n.dso-annotation-close-button {\r\n margin-left: units.$u4;\r\n}\r\n\r\n.dso-annotation-prefix {\r\n font-style: italic;\r\n}\r\n","import { Component, ComponentInterface, Event, EventEmitter, h, Method, Prop } from \"@stencil/core\";\r\n\r\nimport { AnnotationService } from \"../../services/annotation.service\";\r\nimport { AnnotationToggleEvent } from \"./annotation-output.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-annotation-output\",\r\n styleUrl: \"annotation-output.scss\",\r\n // We disable shadowdom for a11y reasons (aria-controls being set inside another component)\r\n shadow: false,\r\n})\r\nexport class AnnotationOutput implements ComponentInterface {\r\n /**\r\n * The annotation-button that toggles this component should have the same identifier.\r\n */\r\n @Prop()\r\n identifier!: string;\r\n\r\n /**\r\n * This text will be displayed above the annotation-output when opened\r\n */\r\n @Prop()\r\n annotationPrefix?: string;\r\n\r\n /**\r\n * This event is emitted when the user activates the Annotation Button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoToggle!: EventEmitter<AnnotationToggleEvent>;\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _toggleAnnotation(e: MouseEvent | KeyboardEvent, identifier: string) {\r\n AnnotationService.toggle(identifier);\r\n\r\n const open = AnnotationService.state[this.identifier];\r\n if (open === undefined) {\r\n throw new Error(`No state found for ${this.identifier}`);\r\n }\r\n\r\n this.dsoToggle.emit({\r\n originalEvent: e,\r\n open,\r\n });\r\n }\r\n\r\n private toggleHandler(e: MouseEvent | KeyboardEvent) {\r\n this._toggleAnnotation(e, this.identifier);\r\n }\r\n\r\n render() {\r\n const expandableProperties = AnnotationService.state[this.identifier] ? { open: true } : {};\r\n\r\n return (\r\n <dso-responsive-element>\r\n <dso-expandable id={this.identifier} {...expandableProperties}>\r\n <div slot=\"expandable-content\">\r\n {this.annotationPrefix && <span class=\"dso-annotation-prefix\">{this.annotationPrefix}</span>}\r\n <div class=\"dso-annotation-header\">\r\n <slot name=\"title\" />\r\n <slot name=\"addons\" />\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary dso-annotation-close-button\"\r\n onClick={(e) => this.toggleHandler(e)}\r\n >\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Toelichting sluiten</span>\r\n </button>\r\n </div>\r\n <div class=\"dso-annotation-content\">\r\n <slot />\r\n </div>\r\n </div>\r\n </dso-expandable>\r\n </dso-responsive-element>\r\n );\r\n }\r\n}\r\n"],"mappings":"8GAAA,MAAMA,EAAsB,s6C,MCWfC,EAAgB,M,wHAuB3BC,wBAAwBC,EAA+BC,GACrDC,EAAkBC,OAAOF,GAEzB,MAAMG,EAAOF,EAAkBG,MAAMC,KAAKL,YAC1C,GAAIG,IAASG,UAAW,CACtB,MAAM,IAAIC,MAAM,sBAAsBF,KAAKL,a,CAG7CK,KAAKG,UAAUC,KAAK,CAClBC,cAAeX,EACfI,Q,CAIIQ,cAAcZ,GACpBM,KAAKO,kBAAkBb,EAAGM,KAAKL,W,CAGjCa,SACE,MAAMC,EAAuBb,EAAkBG,MAAMC,KAAKL,YAAc,CAAEG,KAAM,MAAS,GAEzF,OACEY,EAAA,8BACEA,EAAA,iBAAAC,OAAAC,OAAA,CAAgBC,GAAIb,KAAKL,YAAgBc,GACvCC,EAAA,OAAKI,KAAK,sBACPd,KAAKe,kBAAoBL,EAAA,QAAMM,MAAM,yBAAyBhB,KAAKe,kBACpEL,EAAA,OAAKM,MAAM,yBACTN,EAAA,QAAMO,KAAK,UACXP,EAAA,QAAMO,KAAK,WACXP,EAAA,UACEQ,KAAK,SACLF,MAAM,2CACNG,QAAUzB,GAAMM,KAAKM,cAAcZ,IAEnCgB,EAAA,YAAUU,KAAK,UACfV,EAAA,QAAMM,MAAM,WAAS,yBAGzBN,EAAA,OAAKM,MAAM,0BACTN,EAAA,gB"}
@@ -1,2 +0,0 @@
1
- import{c as t}from"./p-26713aef.js";class s{static get state(){if(!this._state){s.initializeStore()}return this._state}static toggle(t){this._state[t]=!this._state[t]}static initializeStore(){const{state:i}=t({});s._state=i}}export{s as A};
2
- //# sourceMappingURL=p-9eccd618.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["AnnotationService","state","this","_state","initializeStore","static","id","createStore"],"sources":["./src/services/annotation.service.ts"],"sourcesContent":["import { createStore } from \"@stencil/store\";\r\n\r\ninterface AnnotationState {\r\n [key: string]: boolean;\r\n}\r\n\r\nexport abstract class AnnotationService {\r\n private static _state: AnnotationState;\r\n\r\n static get state(): AnnotationState {\r\n if (!this._state) {\r\n AnnotationService.initializeStore();\r\n }\r\n\r\n return this._state;\r\n }\r\n\r\n static toggle(id: string): void {\r\n this._state[id] = !this._state[id];\r\n }\r\n\r\n private static initializeStore(): void {\r\n const { state } = createStore<AnnotationState>({});\r\n\r\n AnnotationService._state = state;\r\n }\r\n}\r\n"],"mappings":"0CAMsBA,EAGTC,mBACT,IAAKC,KAAKC,OAAQ,CAChBH,EAAkBI,iB,CAGpB,OAAOF,KAAKC,M,CAGdE,cAAcC,GACZJ,KAAKC,OAAOG,IAAOJ,KAAKC,OAAOG,E,CAGzBD,yBACN,MAAMJ,MAAEA,GAAUM,EAA6B,IAE/CP,EAAkBG,OAASF,C"}