@dso-toolkit/core 55.0.0 → 56.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/dist/cjs/dso-accordion-section.cjs.entry.js +30 -87
  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 +719 -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 +17 -36
  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/dsot-document-component-demo.cjs.entry.js +110 -0
  13. package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -0
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/collection/collection-manifest.json +5 -4
  16. package/dist/collection/components/accordion/accordion.interfaces.js.map +1 -1
  17. package/dist/collection/components/accordion/accordion.js +9 -254
  18. package/dist/collection/components/accordion/accordion.js.map +1 -1
  19. package/dist/collection/components/accordion/components/accordion-section.js +68 -126
  20. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  21. package/dist/collection/components/annotation-button/annotation-button.css +1003 -0
  22. package/dist/collection/components/annotation-button/annotation-button.js +48 -7
  23. package/dist/collection/components/annotation-button/annotation-button.js.map +1 -1
  24. package/dist/collection/components/annotation-output/annotation-output.css +2 -2
  25. package/dist/collection/components/annotation-output/annotation-output.js +32 -64
  26. package/dist/collection/components/annotation-output/annotation-output.js.map +1 -1
  27. package/dist/collection/components/document-component/document-component-heading.js +30 -0
  28. package/dist/collection/components/document-component/document-component-heading.js.map +1 -0
  29. package/dist/collection/components/document-component/document-component.css +135 -0
  30. package/dist/collection/components/document-component/document-component.demo.js +112 -0
  31. package/dist/collection/components/document-component/document-component.demo.js.map +1 -0
  32. package/dist/collection/components/document-component/document-component.js +414 -0
  33. package/dist/collection/components/document-component/document-component.js.map +1 -0
  34. package/dist/collection/components/document-component/document-component.types.js +2 -0
  35. package/dist/collection/components/document-component/document-component.types.js.map +1 -0
  36. package/dist/collection/components/expandable/expandable.js +28 -94
  37. package/dist/collection/components/expandable/expandable.js.map +1 -1
  38. package/dist/collection/components/ozon-content/ozon-content-mapper.js +9 -1
  39. package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
  40. package/dist/collection/components/ozon-content/ozon-content.css +49 -1
  41. package/dist/collection/components/ozon-content/ozon-content.js +1 -1
  42. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  43. package/dist/{esm/dso-alert.entry.js → components/alert.js} +33 -9
  44. package/dist/components/alert.js.map +1 -0
  45. package/dist/components/annotation-button.js +46 -0
  46. package/dist/components/annotation-button.js.map +1 -0
  47. package/dist/components/annotation-output.js +60 -0
  48. package/dist/components/annotation-output.js.map +1 -0
  49. package/dist/{esm/dso-badge.entry.js → components/badge.js} +26 -9
  50. package/dist/components/badge.js.map +1 -0
  51. package/dist/components/document-component.js +163 -0
  52. package/dist/components/document-component.js.map +1 -0
  53. package/dist/components/dso-accordion-section.js +35 -94
  54. package/dist/components/dso-accordion-section.js.map +1 -1
  55. package/dist/components/dso-accordion.js +199 -113
  56. package/dist/components/dso-accordion.js.map +1 -1
  57. package/dist/components/dso-alert.js +1 -50
  58. package/dist/components/dso-alert.js.map +1 -1
  59. package/dist/components/dso-annotation-button.js +1 -40
  60. package/dist/components/dso-annotation-button.js.map +1 -1
  61. package/dist/components/dso-annotation-output.js +1 -71
  62. package/dist/components/dso-annotation-output.js.map +1 -1
  63. package/dist/components/dso-autosuggest.js +1 -1
  64. package/dist/components/dso-badge.js +1 -32
  65. package/dist/components/dso-badge.js.map +1 -1
  66. package/dist/components/dso-document-component.d.ts +11 -0
  67. package/dist/components/dso-document-component.js +8 -0
  68. package/dist/components/dso-document-component.js.map +1 -0
  69. package/dist/components/dso-header.js +1 -1
  70. package/dist/components/dso-image-overlay.js +1 -1
  71. package/dist/components/dso-label.js +1 -161
  72. package/dist/components/dso-label.js.map +1 -1
  73. package/dist/components/dso-ozon-content.js +1 -544
  74. package/dist/components/dso-ozon-content.js.map +1 -1
  75. package/dist/components/dso-slide-toggle.js +1 -52
  76. package/dist/components/dso-slide-toggle.js.map +1 -1
  77. package/dist/components/dso-table.js +1 -1
  78. package/dist/components/dsot-document-component-demo.d.ts +11 -0
  79. package/dist/components/dsot-document-component-demo.js +202 -0
  80. package/dist/components/dsot-document-component-demo.js.map +1 -0
  81. package/dist/components/expandable.js +19 -40
  82. package/dist/components/expandable.js.map +1 -1
  83. package/dist/components/index.d.ts +4 -2
  84. package/dist/components/index.js +2 -1
  85. package/dist/components/index.js.map +1 -1
  86. package/dist/components/index2.js +61 -185
  87. package/dist/components/index2.js.map +1 -1
  88. package/dist/{esm/dso-label.entry.js → components/label.js} +50 -11
  89. package/dist/components/label.js.map +1 -0
  90. package/dist/{esm/dso-ozon-content.entry.js → components/ozon-content.js} +43 -14
  91. package/dist/components/ozon-content.js.map +1 -0
  92. package/dist/components/scrollable.js +1 -1
  93. package/dist/{esm/dso-slide-toggle.entry.js → components/slide-toggle.js} +31 -10
  94. package/dist/{dso-toolkit/p-b1627d68.entry.js.map → components/slide-toggle.js.map} +1 -1
  95. package/dist/components/tooltip.js +1 -1
  96. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  97. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  98. package/dist/dso-toolkit/{p-12c3fc19.entry.js → p-05ea1fba.entry.js} +2 -2
  99. package/dist/dso-toolkit/{p-657c43f4.entry.js → p-0e5a93c3.entry.js} +2 -2
  100. package/dist/dso-toolkit/p-14453f73.entry.js +2 -0
  101. package/dist/dso-toolkit/p-14453f73.entry.js.map +1 -0
  102. package/dist/dso-toolkit/{p-63ce173c.entry.js → p-168750a2.entry.js} +2 -2
  103. package/dist/dso-toolkit/{p-554e7d6a.entry.js → p-1cc75e0b.entry.js} +2 -2
  104. package/dist/dso-toolkit/{p-904a2caf.entry.js → p-29752a45.entry.js} +2 -2
  105. package/dist/dso-toolkit/{p-9c2d4a91.entry.js → p-29b741cb.entry.js} +2 -2
  106. package/dist/dso-toolkit/p-39f6447d.entry.js +2 -0
  107. package/dist/dso-toolkit/p-39f6447d.entry.js.map +1 -0
  108. package/dist/dso-toolkit/{p-fdf8bd94.entry.js → p-3c554a18.entry.js} +2 -2
  109. package/dist/dso-toolkit/{p-d4f8e1e0.entry.js → p-3fa7489e.entry.js} +2 -2
  110. package/dist/dso-toolkit/{p-fa6d8d5a.entry.js → p-422bcf93.entry.js} +2 -2
  111. package/dist/dso-toolkit/p-42d3c595.entry.js +2 -0
  112. package/dist/dso-toolkit/{p-1d3ed808.entry.js.map → p-42d3c595.entry.js.map} +1 -1
  113. package/dist/dso-toolkit/p-484ea1d2.entry.js +2 -0
  114. package/dist/dso-toolkit/p-484ea1d2.entry.js.map +1 -0
  115. package/dist/dso-toolkit/p-5265e22b.entry.js +2 -0
  116. package/dist/dso-toolkit/p-56d87a53.entry.js +2 -0
  117. package/dist/dso-toolkit/p-56d87a53.entry.js.map +1 -0
  118. package/dist/dso-toolkit/{p-71143eef.entry.js → p-6050e8e6.entry.js} +2 -2
  119. package/dist/dso-toolkit/{p-5040a304.entry.js → p-674e2406.entry.js} +2 -2
  120. package/dist/dso-toolkit/{p-2bd5d2a2.entry.js → p-68e9f61b.entry.js} +2 -2
  121. package/dist/dso-toolkit/{p-f70d6a66.entry.js → p-818d032e.entry.js} +2 -2
  122. package/dist/dso-toolkit/{p-a4e3638a.entry.js → p-83cdfde8.entry.js} +2 -2
  123. package/dist/dso-toolkit/{p-8f166691.entry.js → p-909ccf98.entry.js} +2 -2
  124. package/dist/dso-toolkit/{p-58bed94b.entry.js → p-9b587a94.entry.js} +2 -2
  125. package/dist/dso-toolkit/p-9c0477fc.entry.js +2 -0
  126. package/dist/dso-toolkit/{p-56069350.entry.js.map → p-9c0477fc.entry.js.map} +1 -1
  127. package/dist/dso-toolkit/{p-79767cc1.entry.js → p-9f2bb98b.entry.js} +2 -2
  128. package/dist/dso-toolkit/{p-6e0b67c9.entry.js → p-9fee52e5.entry.js} +2 -2
  129. package/dist/dso-toolkit/{p-9b14a015.entry.js → p-a616ab8a.entry.js} +2 -2
  130. package/dist/dso-toolkit/{p-ef23bffb.entry.js → p-b627d9ac.entry.js} +2 -2
  131. package/dist/dso-toolkit/{p-9d64a2f4.entry.js → p-b67631ef.entry.js} +2 -2
  132. package/dist/dso-toolkit/{p-0653b5d2.entry.js → p-bcae3f55.entry.js} +2 -2
  133. package/dist/dso-toolkit/{p-b1b53cb3.entry.js → p-bf203ab8.entry.js} +2 -2
  134. package/dist/dso-toolkit/{p-ee2771d4.entry.js → p-c8165a50.entry.js} +2 -2
  135. package/dist/dso-toolkit/{p-26cdce1c.js → p-ce928197.js} +2 -2
  136. package/dist/dso-toolkit/{p-601b4ce0.entry.js → p-cfd6f4ef.entry.js} +2 -2
  137. package/dist/dso-toolkit/{p-b6f1ae13.entry.js → p-d3f69d06.entry.js} +2 -2
  138. package/dist/dso-toolkit/{p-3ab9390b.entry.js → p-d8c137b5.entry.js} +2 -2
  139. package/dist/dso-toolkit/p-debbe184.entry.js +2 -0
  140. package/dist/dso-toolkit/{p-c3178955.entry.js.map → p-debbe184.entry.js.map} +1 -1
  141. package/dist/dso-toolkit/{p-7098eb9d.entry.js → p-ec4b568d.entry.js} +2 -2
  142. package/dist/dso-toolkit/p-ec4b568d.entry.js.map +1 -0
  143. package/dist/dso-toolkit/p-fafa5ea1.entry.js +2 -0
  144. package/dist/dso-toolkit/p-fafa5ea1.entry.js.map +1 -0
  145. package/dist/esm/dso-accordion-section.entry.js +31 -88
  146. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  147. package/dist/esm/dso-accordion.entry.js +198 -108
  148. package/dist/esm/dso-accordion.entry.js.map +1 -1
  149. package/dist/esm/dso-action-list-item.entry.js +1 -1
  150. package/dist/esm/dso-action-list.entry.js +1 -1
  151. package/dist/esm/dso-alert_5.entry.js +711 -0
  152. package/dist/esm/dso-alert_5.entry.js.map +1 -0
  153. package/dist/esm/dso-annotation-output_3.entry.js +137 -0
  154. package/dist/esm/dso-annotation-output_3.entry.js.map +1 -0
  155. package/dist/esm/dso-attachments-counter.entry.js +1 -1
  156. package/dist/esm/dso-autosuggest.entry.js +1 -1
  157. package/dist/esm/dso-banner.entry.js +1 -1
  158. package/dist/esm/dso-card-container.entry.js +1 -1
  159. package/dist/esm/dso-card.entry.js +1 -1
  160. package/dist/esm/dso-date-picker.entry.js +1 -1
  161. package/dist/esm/dso-dropdown-menu.entry.js +1 -1
  162. package/dist/esm/dso-expandable.entry.js +18 -37
  163. package/dist/esm/dso-expandable.entry.js.map +1 -1
  164. package/dist/esm/dso-header.entry.js +1 -1
  165. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  166. package/dist/esm/dso-highlight-box.entry.js +1 -1
  167. package/dist/esm/dso-icon.entry.js +1 -1
  168. package/dist/esm/dso-image-overlay.entry.js +1 -1
  169. package/dist/esm/dso-info-button.entry.js +1 -1
  170. package/dist/esm/dso-info_2.entry.js +1 -1
  171. package/dist/esm/dso-list-button.entry.js +1 -1
  172. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  173. package/dist/esm/dso-map-controls.entry.js +1 -1
  174. package/dist/esm/dso-map-overlays.entry.js +1 -1
  175. package/dist/esm/dso-modal.entry.js +1 -1
  176. package/dist/esm/dso-pagination.entry.js +1 -1
  177. package/dist/esm/dso-progress-bar.entry.js +1 -1
  178. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  179. package/dist/esm/dso-responsive-element.entry.js +1 -1
  180. package/dist/esm/dso-scrollable.entry.js +1 -1
  181. package/dist/esm/dso-table.entry.js +1 -1
  182. package/dist/esm/dso-toggletip.entry.js +1 -1
  183. package/dist/esm/dso-toolkit.js +3 -3
  184. package/dist/esm/dso-tooltip.entry.js +1 -1
  185. package/dist/esm/dso-tree-view.entry.js +1 -1
  186. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  187. package/dist/esm/dsot-document-component-demo.entry.js +106 -0
  188. package/dist/esm/dsot-document-component-demo.entry.js.map +1 -0
  189. package/dist/esm/{index-898d8443.js → index-367cff36.js} +2 -2
  190. package/dist/esm/{index-898d8443.js.map → index-367cff36.js.map} +1 -1
  191. package/dist/esm/loader.js +3 -3
  192. package/dist/types/components/accordion/accordion.d.ts +6 -39
  193. package/dist/types/components/accordion/accordion.interfaces.d.ts +21 -15
  194. package/dist/types/components/accordion/components/accordion-section.d.ts +15 -18
  195. package/dist/types/components/annotation-button/annotation-button.d.ts +15 -4
  196. package/dist/types/components/annotation-output/annotation-output.d.ts +7 -5
  197. package/dist/types/components/document-component/document-component-heading.d.ts +7 -0
  198. package/dist/types/components/document-component/document-component.d.ts +84 -0
  199. package/dist/types/components/document-component/document-component.demo.d.ts +40 -0
  200. package/dist/types/components/document-component/document-component.types.d.ts +8 -0
  201. package/dist/types/components/expandable/expandable.d.ts +5 -12
  202. package/dist/types/components.d.ts +233 -125
  203. package/package.json +2 -2
  204. package/dist/cjs/annotation.service-60e6b0f1.js +0 -23
  205. package/dist/cjs/annotation.service-60e6b0f1.js.map +0 -1
  206. package/dist/cjs/dso-alert.cjs.entry.js +0 -34
  207. package/dist/cjs/dso-alert.cjs.entry.js.map +0 -1
  208. package/dist/cjs/dso-annotation-button.cjs.entry.js +0 -27
  209. package/dist/cjs/dso-annotation-button.cjs.entry.js.map +0 -1
  210. package/dist/cjs/dso-annotation-output.cjs.entry.js +0 -44
  211. package/dist/cjs/dso-annotation-output.cjs.entry.js.map +0 -1
  212. package/dist/cjs/dso-badge.cjs.entry.js +0 -23
  213. package/dist/cjs/dso-badge.cjs.entry.js.map +0 -1
  214. package/dist/cjs/dso-expandable-heading.cjs.entry.js +0 -54
  215. package/dist/cjs/dso-expandable-heading.cjs.entry.js.map +0 -1
  216. package/dist/cjs/dso-label.cjs.entry.js +0 -130
  217. package/dist/cjs/dso-label.cjs.entry.js.map +0 -1
  218. package/dist/cjs/dso-ozon-content.cjs.entry.js +0 -532
  219. package/dist/cjs/dso-ozon-content.cjs.entry.js.map +0 -1
  220. package/dist/cjs/dso-slide-toggle.cjs.entry.js +0 -39
  221. package/dist/cjs/dso-slide-toggle.cjs.entry.js.map +0 -1
  222. package/dist/cjs/index-a189d603.js +0 -198
  223. package/dist/cjs/index-a189d603.js.map +0 -1
  224. package/dist/collection/components/annotation-output/annotation-output.interfaces.js +0 -2
  225. package/dist/collection/components/annotation-output/annotation-output.interfaces.js.map +0 -1
  226. package/dist/collection/components/expandable/expandable.functions.js +0 -4
  227. package/dist/collection/components/expandable/expandable.functions.js.map +0 -1
  228. package/dist/collection/components/expandable-heading/expandable-heading.css +0 -200
  229. package/dist/collection/components/expandable-heading/expandable-heading.interfaces.js +0 -2
  230. package/dist/collection/components/expandable-heading/expandable-heading.interfaces.js.map +0 -1
  231. package/dist/collection/components/expandable-heading/expandable-heading.js +0 -163
  232. package/dist/collection/components/expandable-heading/expandable-heading.js.map +0 -1
  233. package/dist/collection/components/expandable-heading/heading.js +0 -17
  234. package/dist/collection/components/expandable-heading/heading.js.map +0 -1
  235. package/dist/collection/services/annotation.service.js +0 -17
  236. package/dist/collection/services/annotation.service.js.map +0 -1
  237. package/dist/components/annotation.service.js +0 -21
  238. package/dist/components/annotation.service.js.map +0 -1
  239. package/dist/components/dso-expandable-heading.d.ts +0 -11
  240. package/dist/components/dso-expandable-heading.js +0 -86
  241. package/dist/components/dso-expandable-heading.js.map +0 -1
  242. package/dist/components/index3.js +0 -72
  243. package/dist/components/index3.js.map +0 -1
  244. package/dist/dso-toolkit/p-0c762ac9.entry.js +0 -2
  245. package/dist/dso-toolkit/p-0c762ac9.entry.js.map +0 -1
  246. package/dist/dso-toolkit/p-0ffae824.entry.js +0 -2
  247. package/dist/dso-toolkit/p-0ffae824.entry.js.map +0 -1
  248. package/dist/dso-toolkit/p-1d3ed808.entry.js +0 -2
  249. package/dist/dso-toolkit/p-26713aef.js +0 -2
  250. package/dist/dso-toolkit/p-26713aef.js.map +0 -1
  251. package/dist/dso-toolkit/p-52f2be73.entry.js +0 -2
  252. package/dist/dso-toolkit/p-52f2be73.entry.js.map +0 -1
  253. package/dist/dso-toolkit/p-56069350.entry.js +0 -2
  254. package/dist/dso-toolkit/p-59ff4e19.entry.js +0 -2
  255. package/dist/dso-toolkit/p-59ff4e19.entry.js.map +0 -1
  256. package/dist/dso-toolkit/p-7098eb9d.entry.js.map +0 -1
  257. package/dist/dso-toolkit/p-835a599b.entry.js +0 -2
  258. package/dist/dso-toolkit/p-91453b47.entry.js +0 -2
  259. package/dist/dso-toolkit/p-91453b47.entry.js.map +0 -1
  260. package/dist/dso-toolkit/p-9eccd618.js +0 -2
  261. package/dist/dso-toolkit/p-9eccd618.js.map +0 -1
  262. package/dist/dso-toolkit/p-b1627d68.entry.js +0 -2
  263. package/dist/dso-toolkit/p-c3178955.entry.js +0 -2
  264. package/dist/dso-toolkit/p-c464da66.entry.js +0 -2
  265. package/dist/dso-toolkit/p-c464da66.entry.js.map +0 -1
  266. package/dist/dso-toolkit/p-c4e1c7cb.entry.js +0 -2
  267. package/dist/dso-toolkit/p-c4e1c7cb.entry.js.map +0 -1
  268. package/dist/dso-toolkit/p-dd9e9c47.entry.js +0 -2
  269. package/dist/dso-toolkit/p-dd9e9c47.entry.js.map +0 -1
  270. package/dist/dso-toolkit/p-de310a49.entry.js +0 -2
  271. package/dist/dso-toolkit/p-de310a49.entry.js.map +0 -1
  272. package/dist/esm/annotation.service-cd25eba0.js +0 -21
  273. package/dist/esm/annotation.service-cd25eba0.js.map +0 -1
  274. package/dist/esm/dso-alert.entry.js.map +0 -1
  275. package/dist/esm/dso-annotation-button.entry.js +0 -23
  276. package/dist/esm/dso-annotation-button.entry.js.map +0 -1
  277. package/dist/esm/dso-annotation-output.entry.js +0 -40
  278. package/dist/esm/dso-annotation-output.entry.js.map +0 -1
  279. package/dist/esm/dso-badge.entry.js.map +0 -1
  280. package/dist/esm/dso-expandable-heading.entry.js +0 -50
  281. package/dist/esm/dso-expandable-heading.entry.js.map +0 -1
  282. package/dist/esm/dso-label.entry.js.map +0 -1
  283. package/dist/esm/dso-ozon-content.entry.js.map +0 -1
  284. package/dist/esm/dso-slide-toggle.entry.js.map +0 -1
  285. package/dist/esm/index-b57dbe04.js +0 -196
  286. package/dist/esm/index-b57dbe04.js.map +0 -1
  287. package/dist/types/components/annotation-output/annotation-output.interfaces.d.ts +0 -4
  288. package/dist/types/components/expandable/expandable.functions.d.ts +0 -1
  289. package/dist/types/components/expandable-heading/expandable-heading.d.ts +0 -33
  290. package/dist/types/components/expandable-heading/expandable-heading.interfaces.d.ts +0 -6
  291. package/dist/types/components/expandable-heading/heading.d.ts +0 -9
  292. package/dist/types/services/annotation.service.d.ts +0 -10
  293. /package/dist/dso-toolkit/{p-12c3fc19.entry.js.map → p-05ea1fba.entry.js.map} +0 -0
  294. /package/dist/dso-toolkit/{p-657c43f4.entry.js.map → p-0e5a93c3.entry.js.map} +0 -0
  295. /package/dist/dso-toolkit/{p-63ce173c.entry.js.map → p-168750a2.entry.js.map} +0 -0
  296. /package/dist/dso-toolkit/{p-554e7d6a.entry.js.map → p-1cc75e0b.entry.js.map} +0 -0
  297. /package/dist/dso-toolkit/{p-904a2caf.entry.js.map → p-29752a45.entry.js.map} +0 -0
  298. /package/dist/dso-toolkit/{p-9c2d4a91.entry.js.map → p-29b741cb.entry.js.map} +0 -0
  299. /package/dist/dso-toolkit/{p-fdf8bd94.entry.js.map → p-3c554a18.entry.js.map} +0 -0
  300. /package/dist/dso-toolkit/{p-d4f8e1e0.entry.js.map → p-3fa7489e.entry.js.map} +0 -0
  301. /package/dist/dso-toolkit/{p-fa6d8d5a.entry.js.map → p-422bcf93.entry.js.map} +0 -0
  302. /package/dist/dso-toolkit/{p-835a599b.entry.js.map → p-5265e22b.entry.js.map} +0 -0
  303. /package/dist/dso-toolkit/{p-71143eef.entry.js.map → p-6050e8e6.entry.js.map} +0 -0
  304. /package/dist/dso-toolkit/{p-5040a304.entry.js.map → p-674e2406.entry.js.map} +0 -0
  305. /package/dist/dso-toolkit/{p-2bd5d2a2.entry.js.map → p-68e9f61b.entry.js.map} +0 -0
  306. /package/dist/dso-toolkit/{p-f70d6a66.entry.js.map → p-818d032e.entry.js.map} +0 -0
  307. /package/dist/dso-toolkit/{p-a4e3638a.entry.js.map → p-83cdfde8.entry.js.map} +0 -0
  308. /package/dist/dso-toolkit/{p-8f166691.entry.js.map → p-909ccf98.entry.js.map} +0 -0
  309. /package/dist/dso-toolkit/{p-58bed94b.entry.js.map → p-9b587a94.entry.js.map} +0 -0
  310. /package/dist/dso-toolkit/{p-79767cc1.entry.js.map → p-9f2bb98b.entry.js.map} +0 -0
  311. /package/dist/dso-toolkit/{p-6e0b67c9.entry.js.map → p-9fee52e5.entry.js.map} +0 -0
  312. /package/dist/dso-toolkit/{p-9b14a015.entry.js.map → p-a616ab8a.entry.js.map} +0 -0
  313. /package/dist/dso-toolkit/{p-ef23bffb.entry.js.map → p-b627d9ac.entry.js.map} +0 -0
  314. /package/dist/dso-toolkit/{p-9d64a2f4.entry.js.map → p-b67631ef.entry.js.map} +0 -0
  315. /package/dist/dso-toolkit/{p-0653b5d2.entry.js.map → p-bcae3f55.entry.js.map} +0 -0
  316. /package/dist/dso-toolkit/{p-b1b53cb3.entry.js.map → p-bf203ab8.entry.js.map} +0 -0
  317. /package/dist/dso-toolkit/{p-ee2771d4.entry.js.map → p-c8165a50.entry.js.map} +0 -0
  318. /package/dist/dso-toolkit/{p-26cdce1c.js.map → p-ce928197.js.map} +0 -0
  319. /package/dist/dso-toolkit/{p-601b4ce0.entry.js.map → p-cfd6f4ef.entry.js.map} +0 -0
  320. /package/dist/dso-toolkit/{p-b6f1ae13.entry.js.map → p-d3f69d06.entry.js.map} +0 -0
  321. /package/dist/dso-toolkit/{p-3ab9390b.entry.js.map → p-d8c137b5.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"expandable.js","sourceRoot":"","sources":["../../../src/components/expandable/expandable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,KAAwB,MAAM,SAAS,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAOhC,MAAM,OAAO,UAAU;;;2BAoBH,KAAK;;0BASN,KAAK;;EAStB,UAAU;IACR,IAAI,IAAI,CAAC,eAAe,EAAE;MACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;EACH,CAAC;EAGD,qBAAqB,CAAC,eAAwB;;IAC5C,IAAI,eAAe,EAAE;MACnB,IAAI,CAAC,8BAA8B,EAAE,CAAC;MACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;SAAM;MACL,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,EAAE,CAAC;MAClC,OAAO,IAAI,CAAC,aAAa,CAAC;MAC1B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;KACpC;EACH,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,iBAAiB;IACrB,OAAO,IAAI,CAAC,aAAa,CAAC;EAC5B,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,cAAc;IAClB,OAAO,IAAI,CAAC,UAAU,CAAC;EACzB,CAAC;EAED,iBAAiB;IACf,IAAI,IAAI,CAAC,eAAe,EAAE;MACxB,IAAI,CAAC,8BAA8B,EAAE,CAAC;KACvC;EACH,CAAC;EAED,gBAAgB;IACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;EAC1B,CAAC;EAEO,gBAAgB;;IACtB,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAElF,IAAI,kBAAkB,EAAE;MACtB,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;KAClD;EACH,CAAC;EAED,oBAAoB;;IAClB,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,EAAE,CAAC;EACpC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,mBACU,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EACzC,KAAK,EAAE,IAAI,CAAC;QACV,mBAAmB,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc;QAChE,UAAU,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI;OAChD,CAAC;MAEF,YAAM,IAAI,EAAC,oBAAoB,GAAG,CAC7B,CACR,CAAC;EACJ,CAAC;EAEO,8BAA8B;IACpC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACtC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;MACnB,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;OACnC;MAED,+EAA+E;MAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;MAE3D,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;OAC1B;MAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC,EAAE,GAAG,CAAC,CACR,CAAC;EACJ,CAAC;EAEO,oBAAoB;;IAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;MACzB,OAAO,EAAE,IAAI,CAAC,IAAI;MAClB,MAAM,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC;MAC/B,MAAM,EAAE,6BAA6B;MACrC,QAAQ,EAAE,GAAG;MACb,QAAQ,EAAE,KAAK;MACf,SAAS,EAAE,QAAQ;MACnB,KAAK,EAAE,GAAG,EAAE;QACV,IAAI,IAAI,CAAC,IAAI,EAAE;UACb,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;WAC7B;SACF;MACH,CAAC;MACD,QAAQ,EAAE,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,IAAI,EAAE;UACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;UAE5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;WACjC;SACF;MACH,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;MACd,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;MAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B;IAED,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;KAC7B;IAED,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;IAC3C,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;EACrC,CAAC;EAEO,iBAAiB;IACvB,IAAI,IAAI,CAAC,aAAa,EAAE;MACtB,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,GAAG,EAAE;QACxE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;OAC9B;WAAM;QACL,IAAI,IAAI,CAAC,IAAI,EAAE;UACb,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;UACzC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC3B;aAAM;UACL,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAC;UACxC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC3B;OACF;KACF;EACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
1
+ {"version":3,"file":"expandable.js","sourceRoot":"","sources":["../../../src/components/expandable/expandable.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Host,\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\nexport interface ExpandableAnimationEndEvent {\r\n bodyHeight: number | undefined;\r\n}\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 @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 * Fired when the animation ends. Only when `enableAnimation = true`.\r\n */\r\n @Event({ bubbles: false })\r\n dsoExpandableAnimationEnd!: EventEmitter<ExpandableAnimationEndEvent>;\r\n\r\n componentDidLoad(): void {\r\n if (this.enableAnimation) {\r\n this.prepareAnimationResizeObserver();\r\n }\r\n\r\n this.activateObserver();\r\n }\r\n\r\n private activateObserver() {\r\n this.resizeObserver?.observe(this.host);\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 />\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 }, 150)\r\n );\r\n\r\n this.instantiateAnimation();\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.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 complete: () => {\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 changeComplete: () => {\r\n this.dsoExpandableAnimationEnd.emit({ bodyHeight: this.bodyHeight });\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 }\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"]}
@@ -85,8 +85,16 @@ export class Mapper {
85
85
  });
86
86
  }
87
87
  transform(xml, context) {
88
+ if (!xml) {
89
+ return h(Fragment, null);
90
+ }
88
91
  if (!this.cache || this.cache.xml !== xml) {
89
- this.cache = { xml, document: this.domParser.parseFromString(xml, "text/xml") };
92
+ const document = this.domParser.parseFromString(xml, "text/xml");
93
+ if (document.querySelector("html > body > parsererror")) {
94
+ console.error(document);
95
+ return h(Fragment, null);
96
+ }
97
+ this.cache = { xml, document };
90
98
  }
91
99
  const xmlDocument = this.cache.document;
92
100
  return this.mapNodeToJsx(xmlDocument.getRootNode(), context, []);
@@ -1 +1 @@
1
- {"version":3,"file":"ozon-content-mapper.js","sourceRoot":"","sources":["../../../src/components/ozon-content/ozon-content-mapper.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"ozon-content-mapper.js","sourceRoot":"","sources":["../../../src/components/ozon-content/ozon-content-mapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Fragment, h, JSX } from \"@stencil/core\";\r\n\r\nimport { getNodeName } from \"./get-node-name.function\";\r\nimport { OzonContentAlNode } from \"./nodes/al.node\";\r\nimport { OzonContentBronNode } from \"./nodes/bron.node\";\r\nimport { OzonContentDocumentNode } from \"./nodes/document.node\";\r\nimport { OzonContentExtRefNode } from \"./nodes/ext-ref.node\";\r\nimport { OzonContentFallbackNode } from \"./nodes/fallback.node\";\r\nimport { OzonContentFiguurNode } from \"./nodes/figuur.node\";\r\nimport { OzonContentInhoudNode } from \"./nodes/inhoud.node\";\r\nimport { OzonContentInlineTekstAfbeeldingNode } from \"./nodes/inline-tekst-afbeelding.node\";\r\nimport { OzonContentInlineNodes } from \"./nodes/inline.nodes\";\r\nimport { OzonContentIntIoRefNode } from \"./nodes/int-io-ref.node\";\r\nimport { OzonContentIntRefNode } from \"./nodes/int-ref.node\";\r\nimport { OzonContentLijstNode } from \"./nodes/lijst.node\";\r\nimport { OzonContentNieuweTekstNode } from \"./nodes/nieuwe-tekst.node\";\r\nimport { OzonContentNootNode } from \"./nodes/noot.node\";\r\nimport { OzonContentOpschriftNode } from \"./nodes/opschrift.node\";\r\nimport { OzonContentTableNode } from \"./nodes/table.node\";\r\nimport { OzonContentTextNode } from \"./nodes/text.node\";\r\nimport { OzonContentVerwijderdeTekstNode } from \"./nodes/verwijderde-tekst.node\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentNode } from \"./ozon-content-node.interface\";\r\n\r\nexport class Mapper {\r\n private cache: { xml: string; document: Document } | undefined;\r\n\r\n private mappers: OzonContentNode[] = [\r\n new OzonContentTextNode(),\r\n new OzonContentDocumentNode(),\r\n new OzonContentInhoudNode(),\r\n new OzonContentOpschriftNode(),\r\n new OzonContentIntRefNode(),\r\n new OzonContentExtRefNode(),\r\n new OzonContentAlNode(),\r\n new OzonContentInlineNodes(),\r\n new OzonContentInlineTekstAfbeeldingNode(),\r\n new OzonContentNootNode(),\r\n new OzonContentTableNode(),\r\n new OzonContentIntIoRefNode(),\r\n new OzonContentFiguurNode(),\r\n new OzonContentLijstNode(),\r\n new OzonContentBronNode(),\r\n new OzonContentNieuweTekstNode(),\r\n new OzonContentVerwijderdeTekstNode(),\r\n ];\r\n\r\n private skip = this.mappers.reduce<string[]>((t, m) => {\r\n if (m.handles) {\r\n t.push(...m.handles);\r\n }\r\n\r\n return t;\r\n }, []);\r\n\r\n private fallbackNode = new OzonContentFallbackNode();\r\n\r\n private domParser = new DOMParser();\r\n\r\n private findMapper(name: string): OzonContentNode | undefined {\r\n if (this.skip.includes(name)) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n this.mappers.find((m) => {\r\n if (Array.isArray(m.name)) {\r\n return m.name.includes(name);\r\n }\r\n\r\n return m.name === name;\r\n }) ?? this.fallbackNode\r\n );\r\n }\r\n\r\n mapNodeToJsx(node: Node | Node[] | NodeList, context: OzonContentContext, path: Node[]): JSX.Element {\r\n if (node instanceof NodeList) {\r\n return <Fragment>{Array.from(node).map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n if (Array.isArray(node)) {\r\n return <Fragment>{node.map((n) => this.mapNodeToJsx(n, context, path))}</Fragment>;\r\n }\r\n\r\n const nodeName = getNodeName(node);\r\n const mapper = this.findMapper(nodeName);\r\n if (!mapper) {\r\n return <Fragment />;\r\n }\r\n\r\n const identity = mapper.identify?.(node);\r\n\r\n const state = identity ? context.state[identity] : undefined;\r\n const setState = identity ? (s: unknown) => context.setState({ ...context.state, [identity]: s }) : undefined;\r\n\r\n return mapper.render(node, {\r\n mapNodeToJsx: (n) => this.mapNodeToJsx(n, context, [...path, node]),\r\n emitAnchorClick: context.emitAnchorClick,\r\n setState,\r\n state,\r\n path,\r\n });\r\n }\r\n\r\n transform(xml: string, context: OzonContentContext): JSX.Element {\r\n if (!xml) {\r\n return <Fragment />;\r\n }\r\n\r\n if (!this.cache || this.cache.xml !== xml) {\r\n const document = this.domParser.parseFromString(xml, \"text/xml\");\r\n if (document.querySelector(\"html > body > parsererror\")) {\r\n console.error(document);\r\n\r\n return <Fragment />;\r\n }\r\n\r\n this.cache = { xml, document };\r\n }\r\n\r\n const xmlDocument = this.cache.document;\r\n\r\n return this.mapNodeToJsx(xmlDocument.getRootNode(), context, []);\r\n }\r\n}\r\n"]}
@@ -5,6 +5,11 @@ ins {
5
5
  text-decoration: none;
6
6
  }
7
7
 
8
+ del {
9
+ background-color: #f5d8dc;
10
+ color: #000;
11
+ }
12
+
8
13
  :host(:not([inline])) {
9
14
  display: block;
10
15
  }
@@ -38,6 +43,7 @@ ins {
38
43
  color: #191919;
39
44
  }
40
45
 
46
+ .sr-only,
41
47
  .deleted-start,
42
48
  .deleted-end {
43
49
  position: absolute;
@@ -144,10 +150,26 @@ span[role=paragraph] {
144
150
  display: block;
145
151
  }
146
152
 
147
- .fallback {
153
+ :host(:not([inline])) .fallback {
148
154
  display: block;
149
155
  }
150
156
 
157
+ a {
158
+ background-color: transparent;
159
+ color: #39870c;
160
+ text-decoration: underline;
161
+ }
162
+ a:hover, a:focus {
163
+ color: #676cb0;
164
+ text-decoration: underline;
165
+ }
166
+ a:active {
167
+ text-decoration: none;
168
+ }
169
+ a:visited {
170
+ color: #8b4a6a;
171
+ }
172
+
151
173
  .od-Term {
152
174
  font-weight: 700;
153
175
  }
@@ -244,4 +266,30 @@ span[role=paragraph] {
244
266
  }
245
267
  .dso-ins a {
246
268
  color: #000;
269
+ }
270
+
271
+ .dso-rich-content p {
272
+ margin: 0 0 16px;
273
+ }
274
+ .dso-rich-content ul,
275
+ .dso-rich-content ol {
276
+ margin-bottom: 16px;
277
+ }
278
+ .dso-rich-content ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),
279
+ .dso-rich-content ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {
280
+ padding-inline-start: 24px;
281
+ }
282
+ .dso-rich-content pre {
283
+ margin: 0 0 16px;
284
+ }
285
+ .dso-rich-content blockquote {
286
+ padding: 16px 24px;
287
+ }
288
+ .dso-rich-content dso-highlight-box,
289
+ .dso-rich-content .dso-highlight-box {
290
+ margin-bottom: 24px;
291
+ }
292
+ .dso-rich-content img {
293
+ height: auto;
294
+ max-width: 100%;
247
295
  }
@@ -36,7 +36,7 @@ export class OzonContent {
36
36
  return (h(Host, { onClick: (e) => this.handleHostOnClick(e) }, h("slot", { name: "prefix" }), transformed, h("slot", { name: "suffix" })));
37
37
  }
38
38
  static get is() { return "dso-ozon-content"; }
39
- static get encapsulation() { return "scoped"; }
39
+ static get encapsulation() { return "shadow"; }
40
40
  static get originalStyleUrls() {
41
41
  return {
42
42
  "$": ["ozon-content.scss"]
@@ -1 +1 @@
1
- {"version":3,"file":"ozon-content.js","sourceRoot":"","sources":["../../../src/components/ozon-content/ozon-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAsB,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AACvH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAU/C,MAAM,OAAO,WAAW;;IAkDd,WAAM,GAAG,IAAI,MAAM,EAAE,CAAC;;kBAvCrB,KAAK;mBAMJ,KAAK;uBAaqB,KAAK;iBAGX,EAAE;;EAmBxB,iBAAiB,CAAC,CAAU;IAClC,+CAA+C;IAC/C,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MAChD,OAAO;KACR;IAED,MAAM,IAAI,GACR,CAAC;OACE,YAAY,EAAE;OACd,IAAI,CACH,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,YAAY,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAC9G,KAAK,IAAI,CAAC,IAAI,CAAC;IAEpB,IAAI,IAAI,EAAE;MACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;KAC1C;EACH,CAAC;EAED,MAAM;;IACJ,MAAM,OAAO,GAAuB;MAClC,KAAK,EAAE,IAAI,CAAC,KAAK;MACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACzC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;KAC1C,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,OAAO,EAAE;MAChB,OAAO,CACL;QACE,YAAM,IAAI,EAAC,QAAQ,GAAG;QACtB,YAAM,KAAK,EAAC,eAAe,+BAAgC;QAC1D,WAAW;QACZ,YAAM,KAAK,EAAC,aAAa,+BAAgC;QACzD,YAAM,IAAI,EAAC,QAAQ,GAAG,CACd,CACX,CAAC;KACH;IAED,OAAO,CACL,EAAC,IAAI,IAAC,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;MACtD,YAAM,IAAI,EAAC,QAAQ,GAAG;MACrB,WAAW;MACZ,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
1
+ {"version":3,"file":"ozon-content.js","sourceRoot":"","sources":["../../../src/components/ozon-content/ozon-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAsB,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AACvH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAU/C,MAAM,OAAO,WAAW;;IAkDd,WAAM,GAAG,IAAI,MAAM,EAAE,CAAC;;kBAvCrB,KAAK;mBAMJ,KAAK;uBAaqB,KAAK;iBAGX,EAAE;;EAmBxB,iBAAiB,CAAC,CAAU;IAClC,+CAA+C;IAC/C,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MAChD,OAAO;KACR;IAED,MAAM,IAAI,GACR,CAAC;OACE,YAAY,EAAE;OACd,IAAI,CACH,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,YAAY,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAC9G,KAAK,IAAI,CAAC,IAAI,CAAC;IAEpB,IAAI,IAAI,EAAE;MACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;KAC1C;EACH,CAAC;EAED,MAAM;;IACJ,MAAM,OAAO,GAAuB;MAClC,KAAK,EAAE,IAAI,CAAC,KAAK;MACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACzC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;KAC1C,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,OAAO,EAAE;MAChB,OAAO,CACL;QACE,YAAM,IAAI,EAAC,QAAQ,GAAG;QACtB,YAAM,KAAK,EAAC,eAAe,+BAAgC;QAC1D,WAAW;QACZ,YAAM,KAAK,EAAC,aAAa,+BAAgC;QACzD,YAAM,IAAI,EAAC,QAAQ,GAAG,CACd,CACX,CAAC;KACH;IAED,OAAO,CACL,EAAC,IAAI,IAAC,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;MACtD,YAAM,IAAI,EAAC,QAAQ,GAAG;MACrB,WAAW;MACZ,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, ComponentInterface, Element, Event, EventEmitter, Prop, State, Host, JSX } from \"@stencil/core\";\r\nimport { isTabbable } from \"tabbable\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentAnchorClick, OzonContentClick } from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n shadow: true,\r\n})\r\nexport class OzonContent implements ComponentInterface {\r\n /**\r\n * The XML to be rendered.\r\n */\r\n @Prop()\r\n content: string | undefined;\r\n\r\n /**\r\n * Setting this property creates dso-ozon-content as inline element instead of a block element.\r\n */\r\n @Prop({ reflect: true })\r\n inline = false;\r\n\r\n /**\r\n * Marks content as deleted using visual and accessible clues.\r\n */\r\n @Prop({ reflect: true })\r\n deleted = false;\r\n\r\n /**\r\n * Visualize the component as interactive. This means that the component will emit `dsoClick` events when the user clicks non-interactive elements.\r\n *\r\n * **Do not** use this without an accessible companion element! `interactive` is only\r\n * meant to ease the use of the companion element for mouse/touch users.\r\n *\r\n * * `true`: Interactive anchor-look-alike\r\n * * `\"sub\"`: Interactive anchor-look-alike for sub navigation\r\n * * `false | undefined`: Disabled\r\n */\r\n @Prop({ reflect: true })\r\n interactive: \"sub\" | \"\" | boolean = false;\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event()\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClick>;\r\n\r\n /**\r\n * These events are only emitted when the component is `interactive`.\r\n */\r\n @Event()\r\n dsoClick!: EventEmitter<OzonContentClick>;\r\n\r\n @Element()\r\n host!: HTMLDsoOzonContentElement;\r\n\r\n private mapper = new Mapper();\r\n\r\n private handleHostOnClick(e: UIEvent) {\r\n // '' is `true`: <dso-ozon-content interactive>\r\n if (this.interactive !== \"\" && !this.interactive) {\r\n return;\r\n }\r\n\r\n const doIt =\r\n e\r\n .composedPath()\r\n .find(\r\n (eventTarget) => eventTarget === this.host || (eventTarget instanceof HTMLElement && isTabbable(eventTarget))\r\n ) === this.host;\r\n\r\n if (doIt) {\r\n this.dsoClick.emit({ originalEvent: e });\r\n }\r\n }\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n setState: (state) => (this.state = state),\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = this.mapper.transform(this.content ?? \"\", context);\r\n\r\n if (this.deleted) {\r\n return (\r\n <section>\r\n <slot name=\"prefix\" />\r\n <span class=\"deleted-start\">Begin verwijderd element</span>\r\n {transformed}\r\n <span class=\"deleted-end\">Einde verwijderd element</span>\r\n <slot name=\"suffix\" />\r\n </section>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={(e: UIEvent) => this.handleHostOnClick(e)}>\r\n <slot name=\"prefix\" />\r\n {transformed}\r\n <slot name=\"suffix\" />\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -1,11 +1,14 @@
1
- import { r as registerInstance, h } from './index-898d8443.js';
2
- import { c as clsx } from './clsx.m-25174a58.js';
1
+ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+ import { c as clsx } from './clsx.m.js';
3
+ import { d as defineCustomElement$1 } from './icon.js';
3
4
 
4
5
  const alertCss = ":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}";
5
6
 
6
- const Alert = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
7
+ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ this.__attachShadow();
9
12
  this.status = undefined;
10
13
  this.roleAlert = undefined;
11
14
  }
@@ -16,15 +19,36 @@ const Alert = class {
16
19
  }
17
20
  return (h("div", { class: clsx("alert", `alert-${this.status}`), role: this.roleAlert ? "alert" : undefined }, h("dso-icon", { icon: "status-" + this.status }), h("span", { class: "sr-only" }, status, ":"), h("slot", null)));
18
21
  }
19
- };
22
+ static get style() { return alertCss; }
23
+ }, [1, "dso-alert", {
24
+ "status": [1],
25
+ "roleAlert": [4, "role-alert"]
26
+ }]);
20
27
  Alert.statusMap = new Map([
21
28
  ["success", "Gelukt"],
22
29
  ["info", "Opmerking"],
23
30
  ["warning", "Waarschuwing"],
24
31
  ["error", "Fout"],
25
32
  ]);
26
- Alert.style = alertCss;
33
+ function defineCustomElement() {
34
+ if (typeof customElements === "undefined") {
35
+ return;
36
+ }
37
+ const components = ["dso-alert", "dso-icon"];
38
+ components.forEach(tagName => { switch (tagName) {
39
+ case "dso-alert":
40
+ if (!customElements.get(tagName)) {
41
+ customElements.define(tagName, Alert);
42
+ }
43
+ break;
44
+ case "dso-icon":
45
+ if (!customElements.get(tagName)) {
46
+ defineCustomElement$1();
47
+ }
48
+ break;
49
+ } });
50
+ }
27
51
 
28
- export { Alert as dso_alert };
52
+ export { Alert as A, defineCustomElement as d };
29
53
 
30
- //# sourceMappingURL=dso-alert.entry.js.map
54
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"file":"alert.js","mappings":";;;;AAAA,MAAM,QAAQ,GAAG,83BAA83B;;MCQl4B,KAAK;;;;;;;;EAoBhB,MAAM;IACJ,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE;MACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KAClD;IAED,QACE,WAAK,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,IAC3F,gBAAU,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,GAAa,EACpD,YAAM,KAAK,EAAC,SAAS,IAAE,MAAM,MAAS,EACtC,eAAa,CACT,EACN;GACH;;;;;;AApBc,eAAS,GAAG,IAAI,GAAG,CAAiB;EACjD,CAAC,SAAS,EAAE,QAAQ,CAAC;EACrB,CAAC,MAAM,EAAE,WAAW,CAAC;EACrB,CAAC,SAAS,EAAE,cAAc,CAAC;EAC3B,CAAC,OAAO,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;","names":[],"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"],"version":3}
@@ -0,0 +1,46 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$1 } from './icon.js';
3
+
4
+ const annotationButtonCss = "button {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.btn {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n}\n.btn:focus, .btn:focus-visible {\n outline-offset: 2px;\n}\n.btn:active {\n outline: 0;\n}\n.btn.extern::after, .btn.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\n\n.btn-primary {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n background-color: #b62f41;\n}\n.btn-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.btn-primary:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\n.btn-primary[disabled], .btn-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\n.btn-primary.btn-sm {\n line-height: 1rem;\n}\n.btn-primary.btn-sm dso-icon,\n.btn-primary.btn-sm svg.di, .btn-primary.btn-sm.extern::after, .btn-primary.btn-sm.download::after, .btn-primary.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.btn-primary.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.btn-primary.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.btn-primary dso-icon,\n.btn-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.btn-primary span + dso-icon,\n.btn-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.btn-primary.dso-spinner-left[disabled], .btn-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.btn-primary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.btn-primary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n\na.btn-primary {\n text-decoration: none;\n background-color: #b62f41;\n}\na.btn-primary, a.btn-primary:visited {\n color: #fff;\n}\n\n.btn-default {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n background-color: #b62f41;\n}\n.btn-default:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.btn-default:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.btn-default[disabled], .btn-default[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.btn-default.btn-sm {\n line-height: 1rem;\n}\n.btn-default.btn-sm dso-icon,\n.btn-default.btn-sm svg.di, .btn-default.btn-sm.extern::after, .btn-default.btn-sm.download::after, .btn-default.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.btn-default.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.btn-default.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.btn-default dso-icon,\n.btn-default svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.btn-default span + dso-icon,\n.btn-default span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.btn-default.dso-spinner-left[disabled], .btn-default.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.btn-default.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.btn-default.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.btn-default.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.btn-default.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.btn-default.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.btn-default.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n\na.btn-default {\n text-decoration: none;\n background-color: #b62f41;\n}\na.btn-default, a.btn-default:visited {\n color: #39870c;\n}\na.btn-default:hover, a.btn-default:visited:hover {\n color: #fff;\n}\n\n.btn-link {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n background-color: #b62f41;\n}\n.btn-link[disabled] {\n color: #afcf9d;\n}\n.btn-link[disabled].dso-spinner-left, .btn-link[disabled].dso-spinner-right {\n color: #39870c;\n}\n.btn-link:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.btn-link:not([disabled]):active {\n color: #173521;\n}\n.btn-link.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.btn-link.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.btn-link.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.btn-link dso-icon + span:not(.sr-only),\n.btn-link svg.di + span:not(.sr-only),\n.btn-link span:not(.sr-only) + dso-icon,\n.btn-link span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.btn-link svg.di.di-chevron-down + span:not(.sr-only),\n.btn-link svg.di.di-chevron-up + span:not(.sr-only),\n.btn-link span:not(.sr-only) + svg.di.di-chevron-down,\n.btn-link span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\n.btn-link dso-icon[icon=chevron-left] + span:not(.sr-only),\n.btn-link dso-icon[icon=chevron-right] + span:not(.sr-only),\n.btn-link svg.di.di-angle-down + span:not(.sr-only),\n.btn-link svg.di.di-angle-up + span:not(.sr-only),\n.btn-link span:not(.sr-only) + svg.di.di-angle-down,\n.btn-link span:not(.sr-only) + svg.di.di-angle-up,\n.btn-link span:not(.sr-only) + dso-icon[icon=chevron-left],\n.btn-link span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\n.btn-link dso-icon,\n.btn-link svg.di,\n.btn-link span {\n vertical-align: middle;\n}\n\na.btn-link {\n text-decoration: none;\n background-color: #b62f41;\n}\na.btn-link, a.btn-link:visited {\n color: #39870c;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\ninput[type=submit].btn-block,\ninput[type=reset].btn-block,\ninput[type=button].btn-block {\n width: 100%;\n}\n\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-primary:focus, a.dso-primary:focus-visible,\nbutton.dso-primary:focus,\nbutton.dso-primary:focus-visible,\nlabel.dso-primary:focus,\nlabel.dso-primary:focus-visible {\n outline-offset: 2px;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n outline: 0;\n}\na.dso-primary.extern::after, a.dso-primary.download::after,\nbutton.dso-primary.extern::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.extern::after,\nlabel.dso-primary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-primary:hover,\nbutton.dso-primary:hover,\nlabel.dso-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\na.dso-primary[disabled], a.dso-primary[disabled]:hover,\nbutton.dso-primary[disabled],\nbutton.dso-primary[disabled]:hover,\nlabel.dso-primary[disabled],\nlabel.dso-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\na.dso-primary.btn-sm,\nbutton.dso-primary.btn-sm,\nlabel.dso-primary.btn-sm {\n line-height: 1rem;\n}\na.dso-primary.btn-sm dso-icon,\na.dso-primary.btn-sm svg.di, a.dso-primary.btn-sm.extern::after, a.dso-primary.btn-sm.download::after, a.dso-primary.btn-sm.dso-spinner::before,\nbutton.dso-primary.btn-sm dso-icon,\nbutton.dso-primary.btn-sm svg.di,\nbutton.dso-primary.btn-sm.extern::after,\nbutton.dso-primary.btn-sm.download::after,\nbutton.dso-primary.btn-sm.dso-spinner::before,\nlabel.dso-primary.btn-sm dso-icon,\nlabel.dso-primary.btn-sm svg.di,\nlabel.dso-primary.btn-sm.extern::after,\nlabel.dso-primary.btn-sm.download::after,\nlabel.dso-primary.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-primary.btn-sm.dso-spinner-left::before,\nbutton.dso-primary.btn-sm.dso-spinner-left::before,\nlabel.dso-primary.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-primary.btn-sm.dso-spinner-right::after,\nbutton.dso-primary.btn-sm.dso-spinner-right::after,\nlabel.dso-primary.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-primary dso-icon,\na.dso-primary svg.di,\nbutton.dso-primary dso-icon,\nbutton.dso-primary svg.di,\nlabel.dso-primary dso-icon,\nlabel.dso-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-primary span + dso-icon,\na.dso-primary span + svg.di,\nbutton.dso-primary span + dso-icon,\nbutton.dso-primary span + svg.di,\nlabel.dso-primary span + dso-icon,\nlabel.dso-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-primary.dso-spinner-left[disabled], a.dso-primary.dso-spinner-right[disabled],\nbutton.dso-primary.dso-spinner-left[disabled],\nbutton.dso-primary.dso-spinner-right[disabled],\nlabel.dso-primary.dso-spinner-left[disabled],\nlabel.dso-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-primary.dso-spinner-left::before,\nbutton.dso-primary.dso-spinner-left::before,\nlabel.dso-primary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-primary.dso-spinner-right::after,\nbutton.dso-primary.dso-spinner-right::after,\nlabel.dso-primary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-primary.download::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.download::after {\n background: url(\"./dso-icons.svg#img-download-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-primary.extern::after,\nbutton.dso-primary.extern::after,\nlabel.dso-primary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n}\na.dso-secondary:focus, a.dso-secondary:focus-visible,\nbutton.dso-secondary:focus,\nbutton.dso-secondary:focus-visible,\nlabel.dso-secondary:focus,\nlabel.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n outline: 0;\n}\na.dso-secondary.extern::after, a.dso-secondary.download::after,\nbutton.dso-secondary.extern::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.extern::after,\nlabel.dso-secondary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-secondary:hover,\nbutton.dso-secondary:hover,\nlabel.dso-secondary:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-secondary[disabled], a.dso-secondary[disabled]:hover,\nbutton.dso-secondary[disabled],\nbutton.dso-secondary[disabled]:hover,\nlabel.dso-secondary[disabled],\nlabel.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\na.dso-secondary.btn-sm,\nbutton.dso-secondary.btn-sm,\nlabel.dso-secondary.btn-sm {\n line-height: 1rem;\n}\na.dso-secondary.btn-sm dso-icon,\na.dso-secondary.btn-sm svg.di, a.dso-secondary.btn-sm.extern::after, a.dso-secondary.btn-sm.download::after, a.dso-secondary.btn-sm.dso-spinner::before,\nbutton.dso-secondary.btn-sm dso-icon,\nbutton.dso-secondary.btn-sm svg.di,\nbutton.dso-secondary.btn-sm.extern::after,\nbutton.dso-secondary.btn-sm.download::after,\nbutton.dso-secondary.btn-sm.dso-spinner::before,\nlabel.dso-secondary.btn-sm dso-icon,\nlabel.dso-secondary.btn-sm svg.di,\nlabel.dso-secondary.btn-sm.extern::after,\nlabel.dso-secondary.btn-sm.download::after,\nlabel.dso-secondary.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-secondary.btn-sm.dso-spinner-left::before,\nbutton.dso-secondary.btn-sm.dso-spinner-left::before,\nlabel.dso-secondary.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.btn-sm.dso-spinner-right::after,\nbutton.dso-secondary.btn-sm.dso-spinner-right::after,\nlabel.dso-secondary.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary dso-icon,\na.dso-secondary svg.di,\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di,\nlabel.dso-secondary dso-icon,\nlabel.dso-secondary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-secondary span + dso-icon,\na.dso-secondary span + svg.di,\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di,\nlabel.dso-secondary span + dso-icon,\nlabel.dso-secondary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-secondary.dso-spinner-left[disabled], a.dso-secondary.dso-spinner-right[disabled],\nbutton.dso-secondary.dso-spinner-left[disabled],\nbutton.dso-secondary.dso-spinner-right[disabled],\nlabel.dso-secondary.dso-spinner-left[disabled],\nlabel.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary.dso-spinner-left::before,\nbutton.dso-secondary.dso-spinner-left::before,\nlabel.dso-secondary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\na.dso-secondary.dso-spinner-left:not([disabled]).btn-sm:hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]).btn-sm:hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-spinner-right::after,\nbutton.dso-secondary.dso-spinner-right::after,\nlabel.dso-secondary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\na.dso-secondary.dso-spinner-right:not([disabled]).btn-sm:hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]).btn-sm:hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.download::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.download:hover::after,\nbutton.dso-secondary.download:hover::after,\nlabel.dso-secondary.download:hover::after {\n background-image: url(\"./dso-icons.svg#img-download-wit\");\n}\na.dso-secondary.download[disabled]::after,\nbutton.dso-secondary.download[disabled]::after,\nlabel.dso-secondary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-secondary.extern::after,\nbutton.dso-secondary.extern::after,\nlabel.dso-secondary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.extern:hover::after,\nbutton.dso-secondary.extern:hover::after,\nlabel.dso-secondary.extern:hover::after {\n background-image: url(\"./dso-icons.svg#img-external-link-wit\");\n}\na.dso-secondary.extern[disabled]::after,\nbutton.dso-secondary.extern[disabled]::after,\nlabel.dso-secondary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary,\nbutton.dso-tertiary,\nlabel.dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n}\na.dso-tertiary:focus, a.dso-tertiary:focus-visible,\nbutton.dso-tertiary:focus,\nbutton.dso-tertiary:focus-visible,\nlabel.dso-tertiary:focus,\nlabel.dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\na.dso-tertiary:active,\nbutton.dso-tertiary:active,\nlabel.dso-tertiary:active {\n outline: 0;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-tertiary[disabled],\nbutton.dso-tertiary[disabled],\nlabel.dso-tertiary[disabled] {\n color: #afcf9d;\n}\na.dso-tertiary[disabled].dso-spinner-left, a.dso-tertiary[disabled].dso-spinner-right,\nbutton.dso-tertiary[disabled].dso-spinner-left,\nbutton.dso-tertiary[disabled].dso-spinner-right,\nlabel.dso-tertiary[disabled].dso-spinner-left,\nlabel.dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\na.dso-tertiary:not([disabled]):hover,\nbutton.dso-tertiary:not([disabled]):hover,\nlabel.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\na.dso-tertiary:not([disabled]):active,\nbutton.dso-tertiary:not([disabled]):active,\nlabel.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\na.dso-tertiary.btn-align,\nbutton.dso-tertiary.btn-align,\nlabel.dso-tertiary.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\na.dso-tertiary.dso-spinner-left::before,\nbutton.dso-tertiary.dso-spinner-left::before,\nlabel.dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\na.dso-tertiary.dso-spinner-right::after,\nbutton.dso-tertiary.dso-spinner-right::after,\nlabel.dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\na.dso-tertiary dso-icon + span:not(.sr-only),\na.dso-tertiary svg.di + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + dso-icon,\na.dso-tertiary span:not(.sr-only) + svg.di,\nbutton.dso-tertiary dso-icon + span:not(.sr-only),\nbutton.dso-tertiary svg.di + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + dso-icon,\nbutton.dso-tertiary span:not(.sr-only) + svg.di,\nlabel.dso-tertiary dso-icon + span:not(.sr-only),\nlabel.dso-tertiary svg.di + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + dso-icon,\nlabel.dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\na.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nbutton.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nlabel.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\na.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\na.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nbutton.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nlabel.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nlabel.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\na.dso-tertiary dso-icon,\na.dso-tertiary svg.di,\na.dso-tertiary span,\nbutton.dso-tertiary dso-icon,\nbutton.dso-tertiary svg.di,\nbutton.dso-tertiary span,\nlabel.dso-tertiary dso-icon,\nlabel.dso-tertiary svg.di,\nlabel.dso-tertiary span {\n vertical-align: middle;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n position: relative;\n top: -2px;\n}\na.dso-tertiary.download::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.download[disabled]::after,\nbutton.dso-tertiary.download[disabled]::after,\nlabel.dso-tertiary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-tertiary.download:not([disabled]):hover::after, a.dso-tertiary.download:not([disabled]):active::after,\nbutton.dso-tertiary.download:not([disabled]):hover::after,\nbutton.dso-tertiary.download:not([disabled]):active::after,\nlabel.dso-tertiary.download:not([disabled]):hover::after,\nlabel.dso-tertiary.download:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-download-scampi\");\n}\na.dso-tertiary.extern::after,\nbutton.dso-tertiary.extern::after,\nlabel.dso-tertiary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.extern[disabled]::after,\nbutton.dso-tertiary.extern[disabled]::after,\nlabel.dso-tertiary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary.extern:not([disabled]):hover::after, a.dso-tertiary.extern:not([disabled]):active::after,\nbutton.dso-tertiary.extern:not([disabled]):hover::after,\nbutton.dso-tertiary.extern:not([disabled]):active::after,\nlabel.dso-tertiary.extern:not([disabled]):hover::after,\nlabel.dso-tertiary.extern:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-external-link-scampi\");\n}\n\na.dso-primary {\n text-decoration: none;\n}\na.dso-primary, a.dso-primary:visited {\n color: #fff;\n}\na.dso-secondary {\n text-decoration: none;\n}\na.dso-secondary, a.dso-secondary:visited {\n color: #39870c;\n}\na.dso-secondary:hover, a.dso-secondary:visited:hover {\n color: #fff;\n}\na.dso-tertiary {\n text-decoration: none;\n}\na.dso-tertiary, a.dso-tertiary:visited {\n color: #39870c;\n}\n\n.btn:not(.dso-list-button) + .btn:not(.dso-list-button),\n.btn:not(.dso-list-button) + .dso-primary,\n.btn:not(.dso-list-button) + .dso-secondary,\n.btn:not(.dso-list-button) + .dso-tertiary,\n.dso-primary + .btn:not(.dso-list-button),\n.dso-primary + .dso-primary,\n.dso-primary + .dso-secondary,\n.dso-primary + .dso-tertiary,\n.dso-secondary + .btn:not(.dso-list-button),\n.dso-secondary + .dso-primary,\n.dso-secondary + .dso-secondary,\n.dso-secondary + .dso-tertiary,\n.dso-tertiary + .btn:not(.dso-list-button),\n.dso-tertiary + .dso-primary,\n.dso-tertiary + .dso-secondary,\n.dso-tertiary + .dso-tertiary {\n margin-left: 16px;\n}\n\ndso-annotation-button {\n display: block;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}";
5
+
6
+ const AnnotationButton = /*@__PURE__*/ proxyCustomElement(class AnnotationButton extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.dsoClick = createEvent(this, "dsoClick", 3);
11
+ this.handleClick = (e) => {
12
+ this.dsoClick.emit({ originalEvent: e, open: !this.open });
13
+ };
14
+ this.identifier = undefined;
15
+ this.open = false;
16
+ }
17
+ render() {
18
+ return (h("button", { type: "button", class: "dso-tertiary", "aria-controls": this.identifier, "aria-expanded": this.open.toString(), onClick: this.handleClick }, h("dso-icon", { icon: "label" }), h("span", { class: "sr-only" }, "Toelichting bekijken")));
19
+ }
20
+ static get style() { return annotationButtonCss; }
21
+ }, [0, "dso-annotation-button", {
22
+ "identifier": [1],
23
+ "open": [4]
24
+ }]);
25
+ function defineCustomElement() {
26
+ if (typeof customElements === "undefined") {
27
+ return;
28
+ }
29
+ const components = ["dso-annotation-button", "dso-icon"];
30
+ components.forEach(tagName => { switch (tagName) {
31
+ case "dso-annotation-button":
32
+ if (!customElements.get(tagName)) {
33
+ customElements.define(tagName, AnnotationButton);
34
+ }
35
+ break;
36
+ case "dso-icon":
37
+ if (!customElements.get(tagName)) {
38
+ defineCustomElement$1();
39
+ }
40
+ break;
41
+ } });
42
+ }
43
+
44
+ export { AnnotationButton as A, defineCustomElement as d };
45
+
46
+ //# sourceMappingURL=annotation-button.js.map
@@ -0,0 +1 @@
1
+ {"file":"annotation-button.js","mappings":";;;AAAA,MAAM,mBAAmB,GAAG,qywCAAqywC;;MCYpzwC,gBAAgB;;;;;IAmBnB,gBAAW,GAAG,CAAC,CAAa;MAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KAC5D,CAAC;;gBAVK,KAAK;;EAYZ,MAAM;IACJ,QACE,cACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,cAAc,mBACL,IAAI,CAAC,UAAU,mBACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACnC,OAAO,EAAE,IAAI,CAAC,WAAW,IAEzB,gBAAU,IAAI,EAAC,OAAO,GAAY,EAClC,YAAM,KAAK,EAAC,SAAS,2BAA4B,CAC1C,EACT;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/annotation-button/annotation-button.scss?tag=dso-annotation-button","./src/components/annotation-button/annotation-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n\r\ndso-annotation-button {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { h, Component, ComponentInterface, Event, Prop, EventEmitter } from \"@stencil/core\";\r\n\r\nexport interface AnnotationButtonClickEvent {\r\n originalEvent: Event;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-annotation-button\",\r\n styleUrl: \"annotation-button.scss\",\r\n // No shadowdom for a11y reasons (aria-controls pointing to element inside another component)\r\n})\r\nexport class AnnotationButton implements ComponentInterface {\r\n /**\r\n * To link the Annotation Button with `aria-controls` to a different element, most likely an Annotation Output.\r\n */\r\n @Prop()\r\n identifier!: string | undefined;\r\n\r\n /**\r\n * Set to true when the annotation is open.\r\n */\r\n @Prop()\r\n open = false;\r\n\r\n /**\r\n * Emitted when user activates the button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoClick!: EventEmitter<AnnotationButtonClickEvent>;\r\n\r\n private handleClick = (e: MouseEvent) => {\r\n this.dsoClick.emit({ originalEvent: e, open: !this.open });\r\n };\r\n\r\n render() {\r\n return (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n aria-controls={this.identifier}\r\n aria-expanded={this.open.toString()}\r\n onClick={this.handleClick}\r\n >\r\n <dso-icon icon=\"label\"></dso-icon>\r\n <span class=\"sr-only\">Toelichting bekijken</span>\r\n </button>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -0,0 +1,60 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$3 } from './expandable.js';
3
+ import { d as defineCustomElement$2 } from './icon.js';
4
+ import { d as defineCustomElement$1 } from './responsive-element.js';
5
+
6
+ const annotationOutputCss = "*,*::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}";
7
+
8
+ const AnnotationOutput = /*@__PURE__*/ proxyCustomElement(class AnnotationOutput extends HTMLElement {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.dsoClose = createEvent(this, "dsoClose", 3);
13
+ this.toggleHandler = (e) => {
14
+ this.dsoClose.emit({ originalEvent: e });
15
+ };
16
+ this.identifier = undefined;
17
+ this.annotationPrefix = undefined;
18
+ this.open = false;
19
+ }
20
+ render() {
21
+ return (h("dso-responsive-element", null, h("dso-expandable", { id: this.identifier, open: this.open }, this.annotationPrefix && h("span", { class: "dso-annotation-prefix" }, this.annotationPrefix), h("div", { class: "dso-annotation-header" }, h("slot", { name: "title" }), h("slot", { name: "addons" }), h("button", { type: "button", class: "dso-tertiary dso-annotation-close-button", onClick: this.toggleHandler }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "Toelichting sluiten"))), h("div", { class: "dso-annotation-content" }, h("slot", null)))));
22
+ }
23
+ static get style() { return annotationOutputCss; }
24
+ }, [4, "dso-annotation-output", {
25
+ "identifier": [513],
26
+ "annotationPrefix": [513, "annotation-prefix"],
27
+ "open": [516]
28
+ }]);
29
+ function defineCustomElement() {
30
+ if (typeof customElements === "undefined") {
31
+ return;
32
+ }
33
+ const components = ["dso-annotation-output", "dso-expandable", "dso-icon", "dso-responsive-element"];
34
+ components.forEach(tagName => { switch (tagName) {
35
+ case "dso-annotation-output":
36
+ if (!customElements.get(tagName)) {
37
+ customElements.define(tagName, AnnotationOutput);
38
+ }
39
+ break;
40
+ case "dso-expandable":
41
+ if (!customElements.get(tagName)) {
42
+ defineCustomElement$3();
43
+ }
44
+ break;
45
+ case "dso-icon":
46
+ if (!customElements.get(tagName)) {
47
+ defineCustomElement$2();
48
+ }
49
+ break;
50
+ case "dso-responsive-element":
51
+ if (!customElements.get(tagName)) {
52
+ defineCustomElement$1();
53
+ }
54
+ break;
55
+ } });
56
+ }
57
+
58
+ export { AnnotationOutput as A, defineCustomElement as d };
59
+
60
+ //# sourceMappingURL=annotation-output.js.map
@@ -0,0 +1 @@
1
+ {"file":"annotation-output.js","mappings":";;;;;AAAA,MAAM,mBAAmB,GAAG,m6CAAm6C;;MCWl7C,gBAAgB;;;;;IAyBnB,kBAAa,GAAG,CAAC,CAAa;MACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;KAC1C,CAAC;;;gBAVK,KAAK;;EAYZ,MAAM;IACJ,QACE,kCACE,sBAAgB,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IACjD,IAAI,CAAC,gBAAgB,IAAI,YAAM,KAAK,EAAC,uBAAuB,IAAE,IAAI,CAAC,gBAAgB,CAAQ,EAC5F,WAAK,KAAK,EAAC,uBAAuB,IAChC,YAAM,IAAI,EAAC,OAAO,GAAG,EACrB,YAAM,IAAI,EAAC,QAAQ,GAAG,EACtB,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,0CAA0C,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,IAChG,gBAAU,IAAI,EAAC,OAAO,GAAY,EAClC,YAAM,KAAK,EAAC,SAAS,0BAA2B,CACzC,CACL,EACN,WAAK,KAAK,EAAC,wBAAwB,IACjC,eAAQ,CACJ,CACS,CACM,EACzB;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"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 { h, Component, ComponentInterface, Event, EventEmitter, Prop } from \"@stencil/core\";\r\n\r\nexport interface AnnotationOutputCloseEvent {\r\n originalEvent: Event;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-annotation-output\",\r\n styleUrl: \"annotation-output.scss\",\r\n // No shadowdom for a11y reasons (aria-controls being set inside another component)\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({ reflect: true })\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({ reflect: true })\r\n annotationPrefix?: string;\r\n\r\n /**\r\n * Set to `true` to show content.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\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 dsoClose!: EventEmitter<AnnotationOutputCloseEvent>;\r\n\r\n private toggleHandler = (e: MouseEvent) => {\r\n this.dsoClose.emit({ originalEvent: e });\r\n };\r\n\r\n render() {\r\n return (\r\n <dso-responsive-element>\r\n <dso-expandable id={this.identifier} open={this.open}>\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 type=\"button\" class=\"dso-tertiary dso-annotation-close-button\" onClick={this.toggleHandler}>\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 </dso-expandable>\r\n </dso-responsive-element>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,19 +1,36 @@
1
- import { r as registerInstance, h } from './index-898d8443.js';
2
- import { c as clsx } from './clsx.m-25174a58.js';
1
+ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+ import { c as clsx } from './clsx.m.js';
3
3
 
4
4
  const badgeCss = ":host{display:inline-block}*,*::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-badge{background-color:#666;border:1px solid #666;border-radius:1em;color:#fff;display:inline-block;font-size:0.875em;line-height:1;min-width:1.5rem;padding:4px 8px;text-align:center}.dso-badge.badge-info{background-color:#6ca4d9;border-color:#6ca4d9;color:#000}.dso-badge.badge-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;border-color:#dcd400;color:#000}.dso-badge.badge-danger{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-error{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;border-color:#191919;color:#191919}.dso-badge.badge-attention{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}";
5
5
 
6
- const Badge = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
6
+ const Badge = /*@__PURE__*/ proxyCustomElement(class Badge extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
9
11
  this.status = undefined;
10
12
  }
11
13
  render() {
12
14
  return (h("span", { class: clsx("dso-badge", { [`badge-${this.status}`]: this.status }) }, h("slot", null)));
13
15
  }
14
- };
15
- Badge.style = badgeCss;
16
+ static get style() { return badgeCss; }
17
+ }, [1, "dso-badge", {
18
+ "status": [1]
19
+ }]);
20
+ function defineCustomElement() {
21
+ if (typeof customElements === "undefined") {
22
+ return;
23
+ }
24
+ const components = ["dso-badge"];
25
+ components.forEach(tagName => { switch (tagName) {
26
+ case "dso-badge":
27
+ if (!customElements.get(tagName)) {
28
+ customElements.define(tagName, Badge);
29
+ }
30
+ break;
31
+ } });
32
+ }
16
33
 
17
- export { Badge as dso_badge };
34
+ export { Badge as B, defineCustomElement as d };
18
35
 
19
- //# sourceMappingURL=dso-badge.entry.js.map
36
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"file":"badge.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,qgCAAqgC;;MCQzgC,KAAK;;;;;;;EAOhB,MAAM;IACJ,QACE,YAAM,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IACvE,eAAa,CACR,EACP;GACH;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/badge/badge.scss?tag=dso-badge&encapsulation=shadow","./src/components/badge/badge.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/badge\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-badge {\r\n @include badge.root();\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-badge\",\r\n styleUrl: \"badge.scss\",\r\n shadow: true,\r\n})\r\nexport class Badge {\r\n /**\r\n * The status of the Badge.\r\n */\r\n @Prop()\r\n status?: \"primary\" | \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\" | \"outline\" | \"attention\";\r\n\r\n render() {\r\n return (\r\n <span class={clsx(\"dso-badge\", { [`badge-${this.status}`]: this.status })}>\r\n <slot></slot>\r\n </span>\r\n );\r\n }\r\n}\r\n"],"version":3}