@dso-toolkit/core 57.0.0 → 58.0.1

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 (242) hide show
  1. package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-accordion.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-action-list-item.cjs.entry.js +1 -1
  4. package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
  5. package/dist/cjs/dso-alert_5.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-annotation-output_3.cjs.entry.js +1 -1
  7. package/dist/cjs/dso-attachments-counter.cjs.entry.js +1 -1
  8. package/dist/cjs/dso-autosuggest.cjs.entry.js +7 -4
  9. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  10. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  11. package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
  12. package/dist/cjs/dso-card.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
  14. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +1 -1
  15. package/dist/cjs/dso-expandable.cjs.entry.js +1 -1
  16. package/dist/cjs/dso-header.cjs.entry.js +1 -1
  17. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +1 -1
  18. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  19. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  20. package/dist/cjs/dso-image-overlay.cjs.entry.js +1 -1
  21. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  22. package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
  23. package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
  24. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  25. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  26. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  27. package/dist/cjs/dso-modal.cjs.entry.js +13 -45
  28. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  29. package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
  30. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  31. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  32. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  33. package/dist/cjs/dso-scrollable.cjs.entry.js +1 -1
  34. package/dist/cjs/dso-table.cjs.entry.js +2 -2
  35. package/dist/cjs/dso-table.cjs.entry.js.map +1 -1
  36. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  37. package/dist/cjs/dso-toolkit.cjs.js +2 -2
  38. package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
  39. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  40. package/dist/cjs/dso-viewer-grid.cjs.entry.js +83 -62
  41. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  42. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1 -1
  43. package/dist/cjs/{index-efc2222e.js → index-d4003ee3.js} +1 -4
  44. package/dist/cjs/index-d4003ee3.js.map +1 -0
  45. package/dist/cjs/index.cjs.js +0 -72
  46. package/dist/cjs/index.cjs.js.map +1 -1
  47. package/dist/cjs/loader.cjs.js +2 -2
  48. package/dist/collection/components/autosuggest/autosuggest.js +6 -3
  49. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  50. package/dist/collection/components/modal/modal.css +86 -57
  51. package/dist/collection/components/modal/modal.interfaces.js.map +1 -1
  52. package/dist/collection/components/modal/modal.js +33 -90
  53. package/dist/collection/components/modal/modal.js.map +1 -1
  54. package/dist/collection/components/table/table.css +47 -46
  55. package/dist/collection/components/viewer-grid/components/filterpanel.js +7 -0
  56. package/dist/collection/components/viewer-grid/components/filterpanel.js.map +1 -0
  57. package/dist/collection/components/viewer-grid/components/index.js +4 -0
  58. package/dist/collection/components/viewer-grid/components/index.js.map +1 -0
  59. package/dist/collection/components/viewer-grid/components/main-panel.js +10 -0
  60. package/dist/collection/components/viewer-grid/components/main-panel.js.map +1 -0
  61. package/dist/collection/components/viewer-grid/components/overlay.js +6 -0
  62. package/dist/collection/components/viewer-grid/components/overlay.js.map +1 -0
  63. package/dist/collection/components/viewer-grid/components/viewer-grid-filterpanel-buttons.js.map +1 -0
  64. package/dist/collection/components/viewer-grid/viewer-grid.css +301 -86
  65. package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js +1 -1
  66. package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js.map +1 -1
  67. package/dist/collection/components/viewer-grid/viewer-grid.js +59 -73
  68. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  69. package/dist/collection/index.js +0 -1
  70. package/dist/collection/index.js.map +1 -1
  71. package/dist/components/dso-autosuggest.js +6 -3
  72. package/dist/components/dso-autosuggest.js.map +1 -1
  73. package/dist/components/dso-modal.js +14 -46
  74. package/dist/components/dso-modal.js.map +1 -1
  75. package/dist/components/dso-table.js +1 -1
  76. package/dist/components/dso-table.js.map +1 -1
  77. package/dist/components/dso-viewer-grid.js +86 -68
  78. package/dist/components/dso-viewer-grid.js.map +1 -1
  79. package/dist/components/index.js +0 -71
  80. package/dist/components/index.js.map +1 -1
  81. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  82. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  83. package/dist/dso-toolkit/index.esm.js +1 -1
  84. package/dist/dso-toolkit/index.esm.js.map +1 -1
  85. package/dist/dso-toolkit/{p-b608283b.entry.js → p-0dffb117.entry.js} +2 -2
  86. package/dist/dso-toolkit/{p-14453f73.entry.js → p-14aa091d.entry.js} +2 -2
  87. package/dist/dso-toolkit/p-1a1a43fd.js +3 -0
  88. package/dist/dso-toolkit/p-1a1a43fd.js.map +1 -0
  89. package/dist/dso-toolkit/{p-d8c137b5.entry.js → p-1c721290.entry.js} +2 -2
  90. package/dist/dso-toolkit/{p-56d87a53.entry.js → p-22baee8e.entry.js} +2 -2
  91. package/dist/dso-toolkit/{p-a616ab8a.entry.js → p-2ccbf58d.entry.js} +2 -2
  92. package/dist/dso-toolkit/{p-9f2bb98b.entry.js → p-3cbf8b97.entry.js} +2 -2
  93. package/dist/dso-toolkit/{p-29b741cb.entry.js → p-3d4308ba.entry.js} +2 -2
  94. package/dist/dso-toolkit/{p-c8165a50.entry.js → p-420e0d23.entry.js} +2 -2
  95. package/dist/dso-toolkit/{p-bf203ab8.entry.js → p-423fa057.entry.js} +2 -2
  96. package/dist/dso-toolkit/{p-debbe184.entry.js → p-440fc4ae.entry.js} +2 -2
  97. package/dist/dso-toolkit/{p-d3f69d06.entry.js → p-49bce8b2.entry.js} +2 -2
  98. package/dist/dso-toolkit/{p-f56c1b28.entry.js → p-4bc67e5c.entry.js} +2 -2
  99. package/dist/dso-toolkit/{p-9b587a94.entry.js → p-4da2fa8b.entry.js} +2 -2
  100. package/dist/dso-toolkit/{p-0e5a93c3.entry.js → p-4e86089d.entry.js} +2 -2
  101. package/dist/dso-toolkit/{p-68e9f61b.entry.js → p-51f19c06.entry.js} +2 -2
  102. package/dist/dso-toolkit/{p-05ea1fba.entry.js → p-54c65314.entry.js} +2 -2
  103. package/dist/dso-toolkit/p-5e5302ef.entry.js +2 -0
  104. package/dist/dso-toolkit/p-5e5302ef.entry.js.map +1 -0
  105. package/dist/dso-toolkit/{p-818d032e.entry.js → p-5ee79846.entry.js} +2 -2
  106. package/dist/dso-toolkit/{p-e2cacb8b.entry.js → p-604eb60b.entry.js} +2 -2
  107. package/dist/dso-toolkit/{p-1c295ae2.entry.js → p-669c3743.entry.js} +2 -2
  108. package/dist/dso-toolkit/p-712fca2c.entry.js +2 -0
  109. package/dist/dso-toolkit/p-712fca2c.entry.js.map +1 -0
  110. package/dist/dso-toolkit/{p-b67631ef.entry.js → p-745b6678.entry.js} +2 -2
  111. package/dist/dso-toolkit/{p-cfd6f4ef.entry.js → p-7a6be9c1.entry.js} +2 -2
  112. package/dist/dso-toolkit/{p-27dfadbf.entry.js → p-8b77b083.entry.js} +2 -2
  113. package/dist/dso-toolkit/{p-3fa7489e.entry.js → p-8f8dd254.entry.js} +2 -2
  114. package/dist/dso-toolkit/p-918bcdbe.entry.js +2 -0
  115. package/dist/dso-toolkit/p-918bcdbe.entry.js.map +1 -0
  116. package/dist/dso-toolkit/{p-e26974ee.entry.js → p-98f7ede6.entry.js} +2 -2
  117. package/dist/dso-toolkit/{p-fafa5ea1.entry.js → p-a00c4003.entry.js} +2 -2
  118. package/dist/dso-toolkit/p-a0798096.entry.js +2 -0
  119. package/dist/dso-toolkit/{p-42d3c595.entry.js.map → p-a0798096.entry.js.map} +1 -1
  120. package/dist/dso-toolkit/{p-9fee52e5.entry.js → p-a1060560.entry.js} +2 -2
  121. package/dist/dso-toolkit/p-a4d423fd.entry.js +2 -0
  122. package/dist/dso-toolkit/p-a4d423fd.entry.js.map +1 -0
  123. package/dist/dso-toolkit/{p-6050e8e6.entry.js → p-b34f24b4.entry.js} +2 -2
  124. package/dist/dso-toolkit/{p-e86e0fce.entry.js → p-b9d441d5.entry.js} +2 -2
  125. package/dist/dso-toolkit/{p-1fe715e4.entry.js → p-bc9e3037.entry.js} +2 -2
  126. package/dist/dso-toolkit/{p-bcae3f55.entry.js → p-bcecc743.entry.js} +2 -2
  127. package/dist/dso-toolkit/p-e69d7e62.entry.js +2 -0
  128. package/dist/dso-toolkit/{p-5265e22b.entry.js.map → p-e69d7e62.entry.js.map} +1 -1
  129. package/dist/dso-toolkit/{p-f3ed8688.entry.js → p-f21e4ccc.entry.js} +2 -2
  130. package/dist/esm/dso-accordion-section.entry.js +1 -1
  131. package/dist/esm/dso-accordion.entry.js +1 -1
  132. package/dist/esm/dso-action-list-item.entry.js +1 -1
  133. package/dist/esm/dso-action-list.entry.js +1 -1
  134. package/dist/esm/dso-alert_5.entry.js +1 -1
  135. package/dist/esm/dso-annotation-output_3.entry.js +1 -1
  136. package/dist/esm/dso-attachments-counter.entry.js +1 -1
  137. package/dist/esm/dso-autosuggest.entry.js +7 -4
  138. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  139. package/dist/esm/dso-banner.entry.js +1 -1
  140. package/dist/esm/dso-card-container.entry.js +1 -1
  141. package/dist/esm/dso-card.entry.js +1 -1
  142. package/dist/esm/dso-date-picker.entry.js +1 -1
  143. package/dist/esm/dso-dropdown-menu.entry.js +1 -1
  144. package/dist/esm/dso-expandable.entry.js +1 -1
  145. package/dist/esm/dso-header.entry.js +1 -1
  146. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  147. package/dist/esm/dso-highlight-box.entry.js +1 -1
  148. package/dist/esm/dso-icon.entry.js +1 -1
  149. package/dist/esm/dso-image-overlay.entry.js +1 -1
  150. package/dist/esm/dso-info-button.entry.js +1 -1
  151. package/dist/esm/dso-info_2.entry.js +1 -1
  152. package/dist/esm/dso-list-button.entry.js +1 -1
  153. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  154. package/dist/esm/dso-map-controls.entry.js +1 -1
  155. package/dist/esm/dso-map-overlays.entry.js +1 -1
  156. package/dist/esm/dso-modal.entry.js +13 -45
  157. package/dist/esm/dso-modal.entry.js.map +1 -1
  158. package/dist/esm/dso-pagination.entry.js +1 -1
  159. package/dist/esm/dso-progress-bar.entry.js +1 -1
  160. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  161. package/dist/esm/dso-responsive-element.entry.js +1 -1
  162. package/dist/esm/dso-scrollable.entry.js +1 -1
  163. package/dist/esm/dso-table.entry.js +2 -2
  164. package/dist/esm/dso-table.entry.js.map +1 -1
  165. package/dist/esm/dso-toggletip.entry.js +1 -1
  166. package/dist/esm/dso-toolkit.js +3 -3
  167. package/dist/esm/dso-tooltip.entry.js +1 -1
  168. package/dist/esm/dso-tree-view.entry.js +1 -1
  169. package/dist/esm/dso-viewer-grid.entry.js +83 -62
  170. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  171. package/dist/esm/dsot-document-component-demo.entry.js +1 -1
  172. package/dist/esm/{index-367cff36.js → index-3e9ed0c5.js} +1 -4
  173. package/dist/esm/index-3e9ed0c5.js.map +1 -0
  174. package/dist/esm/index.js +0 -69
  175. package/dist/esm/index.js.map +1 -1
  176. package/dist/esm/loader.js +3 -3
  177. package/dist/types/components/modal/modal.d.ts +9 -15
  178. package/dist/types/components/modal/modal.interfaces.d.ts +2 -13
  179. package/dist/types/components/viewer-grid/components/filterpanel.d.ts +7 -0
  180. package/dist/types/components/viewer-grid/components/index.d.ts +3 -0
  181. package/dist/types/components/viewer-grid/components/main-panel.d.ts +10 -0
  182. package/dist/types/components/viewer-grid/components/overlay.d.ts +6 -0
  183. package/dist/types/components/viewer-grid/components/viewer-grid-filterpanel-buttons.d.ts +6 -0
  184. package/dist/types/components/viewer-grid/viewer-grid.d.ts +12 -11
  185. package/dist/types/components/viewer-grid/viewer-grid.interfaces.d.ts +13 -2
  186. package/dist/types/components.d.ts +14 -24
  187. package/dist/types/index.d.ts +0 -1
  188. package/package.json +2 -2
  189. package/dist/cjs/index-efc2222e.js.map +0 -1
  190. package/dist/collection/components/modal/modal-ref.js +0 -19
  191. package/dist/collection/components/modal/modal-ref.js.map +0 -1
  192. package/dist/collection/components/modal/modal.controller.js +0 -51
  193. package/dist/collection/components/modal/modal.controller.js.map +0 -1
  194. package/dist/collection/components/viewer-grid/viewer-grid-filterpanel-buttons.js.map +0 -1
  195. package/dist/dso-toolkit/p-04c97d7d.entry.js +0 -2
  196. package/dist/dso-toolkit/p-04c97d7d.entry.js.map +0 -1
  197. package/dist/dso-toolkit/p-168750a2.entry.js +0 -2
  198. package/dist/dso-toolkit/p-168750a2.entry.js.map +0 -1
  199. package/dist/dso-toolkit/p-42d3c595.entry.js +0 -2
  200. package/dist/dso-toolkit/p-5265e22b.entry.js +0 -2
  201. package/dist/dso-toolkit/p-70a28e3f.entry.js +0 -2
  202. package/dist/dso-toolkit/p-70a28e3f.entry.js.map +0 -1
  203. package/dist/dso-toolkit/p-ce928197.js +0 -3
  204. package/dist/dso-toolkit/p-ce928197.js.map +0 -1
  205. package/dist/dso-toolkit/p-e4553695.entry.js +0 -2
  206. package/dist/dso-toolkit/p-e4553695.entry.js.map +0 -1
  207. package/dist/esm/index-367cff36.js.map +0 -1
  208. package/dist/types/components/modal/modal-ref.d.ts +0 -8
  209. package/dist/types/components/modal/modal.controller.d.ts +0 -6
  210. package/dist/types/components/viewer-grid/viewer-grid-filterpanel-buttons.d.ts +0 -6
  211. /package/dist/collection/components/viewer-grid/{viewer-grid-filterpanel-buttons.js → components/viewer-grid-filterpanel-buttons.js} +0 -0
  212. /package/dist/dso-toolkit/{p-b608283b.entry.js.map → p-0dffb117.entry.js.map} +0 -0
  213. /package/dist/dso-toolkit/{p-14453f73.entry.js.map → p-14aa091d.entry.js.map} +0 -0
  214. /package/dist/dso-toolkit/{p-d8c137b5.entry.js.map → p-1c721290.entry.js.map} +0 -0
  215. /package/dist/dso-toolkit/{p-56d87a53.entry.js.map → p-22baee8e.entry.js.map} +0 -0
  216. /package/dist/dso-toolkit/{p-a616ab8a.entry.js.map → p-2ccbf58d.entry.js.map} +0 -0
  217. /package/dist/dso-toolkit/{p-9f2bb98b.entry.js.map → p-3cbf8b97.entry.js.map} +0 -0
  218. /package/dist/dso-toolkit/{p-29b741cb.entry.js.map → p-3d4308ba.entry.js.map} +0 -0
  219. /package/dist/dso-toolkit/{p-c8165a50.entry.js.map → p-420e0d23.entry.js.map} +0 -0
  220. /package/dist/dso-toolkit/{p-bf203ab8.entry.js.map → p-423fa057.entry.js.map} +0 -0
  221. /package/dist/dso-toolkit/{p-debbe184.entry.js.map → p-440fc4ae.entry.js.map} +0 -0
  222. /package/dist/dso-toolkit/{p-d3f69d06.entry.js.map → p-49bce8b2.entry.js.map} +0 -0
  223. /package/dist/dso-toolkit/{p-f56c1b28.entry.js.map → p-4bc67e5c.entry.js.map} +0 -0
  224. /package/dist/dso-toolkit/{p-9b587a94.entry.js.map → p-4da2fa8b.entry.js.map} +0 -0
  225. /package/dist/dso-toolkit/{p-0e5a93c3.entry.js.map → p-4e86089d.entry.js.map} +0 -0
  226. /package/dist/dso-toolkit/{p-68e9f61b.entry.js.map → p-51f19c06.entry.js.map} +0 -0
  227. /package/dist/dso-toolkit/{p-05ea1fba.entry.js.map → p-54c65314.entry.js.map} +0 -0
  228. /package/dist/dso-toolkit/{p-818d032e.entry.js.map → p-5ee79846.entry.js.map} +0 -0
  229. /package/dist/dso-toolkit/{p-e2cacb8b.entry.js.map → p-604eb60b.entry.js.map} +0 -0
  230. /package/dist/dso-toolkit/{p-1c295ae2.entry.js.map → p-669c3743.entry.js.map} +0 -0
  231. /package/dist/dso-toolkit/{p-b67631ef.entry.js.map → p-745b6678.entry.js.map} +0 -0
  232. /package/dist/dso-toolkit/{p-cfd6f4ef.entry.js.map → p-7a6be9c1.entry.js.map} +0 -0
  233. /package/dist/dso-toolkit/{p-27dfadbf.entry.js.map → p-8b77b083.entry.js.map} +0 -0
  234. /package/dist/dso-toolkit/{p-3fa7489e.entry.js.map → p-8f8dd254.entry.js.map} +0 -0
  235. /package/dist/dso-toolkit/{p-e26974ee.entry.js.map → p-98f7ede6.entry.js.map} +0 -0
  236. /package/dist/dso-toolkit/{p-fafa5ea1.entry.js.map → p-a00c4003.entry.js.map} +0 -0
  237. /package/dist/dso-toolkit/{p-9fee52e5.entry.js.map → p-a1060560.entry.js.map} +0 -0
  238. /package/dist/dso-toolkit/{p-6050e8e6.entry.js.map → p-b34f24b4.entry.js.map} +0 -0
  239. /package/dist/dso-toolkit/{p-e86e0fce.entry.js.map → p-b9d441d5.entry.js.map} +0 -0
  240. /package/dist/dso-toolkit/{p-1fe715e4.entry.js.map → p-bc9e3037.entry.js.map} +0 -0
  241. /package/dist/dso-toolkit/{p-bcae3f55.entry.js.map → p-bcecc743.entry.js.map} +0 -0
  242. /package/dist/dso-toolkit/{p-f3ed8688.entry.js.map → p-f21e4ccc.entry.js.map} +0 -0
@@ -1,76 +1,4 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- class DsoModalRef {
6
- constructor(modalElement) {
7
- this.modalElement = modalElement;
8
- if (!modalElement) {
9
- throw new Error("unable to add event listener. try opening the modal first");
10
- }
11
- }
12
- /** Removes the modal from the DOM. */
13
- close() {
14
- document.body.removeChild(this.modalElement);
15
- }
16
- addEventListener(eventName, fn) {
17
- this.modalElement.addEventListener(eventName, fn);
18
- }
19
- removeEventListener(eventName, fn) {
20
- this.modalElement.removeEventListener(eventName, fn);
21
- }
22
- }
23
-
24
- class DsoModalController {
25
- open(modal, options) {
26
- const dsoModalElement = this.createModal(modal, options);
27
- document.body.appendChild(dsoModalElement);
28
- return new DsoModalRef(dsoModalElement);
29
- }
30
- createModal({ title, body, footer }, options) {
31
- const element = document.createElement(`dso-modal`);
32
- if (title) {
33
- element.setAttribute("modal-title", title);
34
- }
35
- if (options) {
36
- const { role, showCloseButton, initialFocus, returnFocus } = options;
37
- if (role) {
38
- element.role = role;
39
- }
40
- if (showCloseButton) {
41
- element.setAttribute("show-close-button", showCloseButton ? "true" : "false");
42
- }
43
- if (initialFocus) {
44
- element.setAttribute("initial-focus", initialFocus);
45
- }
46
- if (returnFocus) {
47
- element.returnFocus = returnFocus;
48
- }
49
- }
50
- const bodyDiv = document.createElement("div");
51
- bodyDiv.setAttribute("slot", "body");
52
- if (typeof body === "string") {
53
- bodyDiv.innerHTML = body;
54
- }
55
- else {
56
- bodyDiv.appendChild(body);
57
- }
58
- element.appendChild(bodyDiv);
59
- if (footer) {
60
- const footerDiv = document.createElement("div");
61
- footerDiv.setAttribute("slot", "footer");
62
- if (typeof footer === "string") {
63
- footerDiv.innerHTML = footer;
64
- }
65
- else {
66
- footerDiv.appendChild(footer);
67
- }
68
- element.appendChild(footerDiv);
69
- }
70
- return element;
71
- }
72
- }
73
-
74
- exports.DsoModalController = DsoModalController;
75
3
 
76
4
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"file":"index.cjs.js","mappings":";;;;MAAa,WAAW;EACtB,YAAoB,YAAyB;IAAzB,iBAAY,GAAZ,YAAY,CAAa;IAC3C,IAAI,CAAC,YAAY,EAAE;MACjB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;KAC9E;GACF;;EAGD,KAAK;IACH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;GAC9C;EAED,gBAAgB,CAAC,SAAqB,EAAE,EAAsC;IAC5E,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;GACnD;EAED,mBAAmB,CAAC,SAAqB,EAAE,EAAsC;IAC/E,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;GACtD;;;MCdU,kBAAkB;EAC7B,IAAI,CAAC,KAAmB,EAAE,OAAsB;IAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEzD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAE3C,OAAO,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;GACzC;EAEO,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAgB,EAAE,OAAsB;IAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAEpD,IAAI,KAAK,EAAE;MACT,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;KAC5C;IAED,IAAI,OAAO,EAAE;MACX,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;MAErE,IAAI,IAAI,EAAE;QACR,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;OACrB;MAED,IAAI,eAAe,EAAE;QACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;OAC/E;MAED,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;OACrD;MAED,IAAI,WAAW,EAAE;QACf,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;OACnC;KACF;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;MAC5B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;KAC1B;SAAM;MACL,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC3B;IAED,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE7B,IAAI,MAAM,EAAE;MACV,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;MAChD,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;MAEzC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC;OAC9B;WAAM;QACL,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;OAC/B;MAED,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAChC;IAED,OAAO,OAAO,CAAC;GAChB;;;;;","names":[],"sources":["./src/components/modal/modal-ref.ts","./src/components/modal/modal.controller.ts"],"sourcesContent":["export class DsoModalRef {\r\n constructor(private modalElement: HTMLElement) {\r\n if (!modalElement) {\r\n throw new Error(\"unable to add event listener. try opening the modal first\");\r\n }\r\n }\r\n\r\n /** Removes the modal from the DOM. */\r\n close() {\r\n document.body.removeChild(this.modalElement);\r\n }\r\n\r\n addEventListener(eventName: \"dsoClose\", fn: EventListenerOrEventListenerObject) {\r\n this.modalElement.addEventListener(eventName, fn);\r\n }\r\n\r\n removeEventListener(eventName: \"dsoClose\", fn: EventListenerOrEventListenerObject) {\r\n this.modalElement.removeEventListener(eventName, fn);\r\n }\r\n}\r\n","import { ModalContent, ModalOptions } from \"./modal.interfaces\";\r\n\r\nimport { DsoModalRef } from \"./modal-ref\";\r\n\r\nexport class DsoModalController {\r\n open(modal: ModalContent, options?: ModalOptions): DsoModalRef {\r\n const dsoModalElement = this.createModal(modal, options);\r\n\r\n document.body.appendChild(dsoModalElement);\r\n\r\n return new DsoModalRef(dsoModalElement);\r\n }\r\n\r\n private createModal({ title, body, footer }: ModalContent, options?: ModalOptions): HTMLElement {\r\n const element = document.createElement(`dso-modal`);\r\n\r\n if (title) {\r\n element.setAttribute(\"modal-title\", title);\r\n }\r\n\r\n if (options) {\r\n const { role, showCloseButton, initialFocus, returnFocus } = options;\r\n\r\n if (role) {\r\n element.role = role;\r\n }\r\n\r\n if (showCloseButton) {\r\n element.setAttribute(\"show-close-button\", showCloseButton ? \"true\" : \"false\");\r\n }\r\n\r\n if (initialFocus) {\r\n element.setAttribute(\"initial-focus\", initialFocus);\r\n }\r\n\r\n if (returnFocus) {\r\n element.returnFocus = returnFocus;\r\n }\r\n }\r\n\r\n const bodyDiv = document.createElement(\"div\");\r\n bodyDiv.setAttribute(\"slot\", \"body\");\r\n\r\n if (typeof body === \"string\") {\r\n bodyDiv.innerHTML = body;\r\n } else {\r\n bodyDiv.appendChild(body);\r\n }\r\n\r\n element.appendChild(bodyDiv);\r\n\r\n if (footer) {\r\n const footerDiv = document.createElement(\"div\");\r\n footerDiv.setAttribute(\"slot\", \"footer\");\r\n\r\n if (typeof footer === \"string\") {\r\n footerDiv.innerHTML = footer;\r\n } else {\r\n footerDiv.appendChild(footer);\r\n }\r\n\r\n element.appendChild(footerDiv);\r\n }\r\n\r\n return element;\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"index.cjs.js","mappings":";;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-efc2222e.js');
5
+ const index = require('./index-d4003ee3.js');
6
6
 
7
7
  /*
8
8
  Stencil Client Patch Esm v3.4.0 | MIT Licensed | https://stenciljs.com
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["dso-icon.cjs",[[1,"dso-icon",{"icon":[1]}]]],["dsot-document-component-demo.cjs",[[0,"dsot-document-component-demo",{"response":[32],"open":[32],"openedAnnotation":[32],"filtered":[32],"notApplicable":[32],"activeAnnotationSelectables":[32]}]]],["dso-map-base-layers.cjs",[[1,"dso-map-base-layers",{"group":[1],"baseLayers":[16]}]]],["dso-map-overlays.cjs",[[1,"dso-map-overlays",{"group":[1],"overlays":[16]}]]],["dso-toggletip.cjs",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-accordion-section.cjs",[[1,"dso-accordion-section",{"handleTitle":[1,"handle-title"],"heading":[1],"handleUrl":[1,"handle-url"],"status":[1],"attachmentCount":[2,"attachment-count"],"icon":[1],"statusDescription":[1,"status-description"],"open":[516],"hasNestedAccordion":[32],"hover":[32]}]]],["dso-header.cjs",[[6,"dso-header",{"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"authStatus":[1,"auth-status"],"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"userHomeActive":[4,"user-home-active"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32],"dropdownOptionsOffset":[32]}]]],["dso-map-controls.cjs",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32],"toggleVisibility":[64]}]]],["dso-modal.cjs",[[1,"dso-modal",{"modalTitle":[1,"modal-title"],"role":[1],"showCloseButton":[4,"show-close-button"],"initialFocus":[1,"initial-focus"],"returnFocus":[16],"ariaId":[32],"hasFooter":[32]}]]],["dso-pagination.cjs",[[1,"dso-pagination",{"totalPages":[2,"total-pages"],"currentPage":[2,"current-page"],"formatHref":[16],"availablePositions":[32]},[[0,"dsoSizeChange","sizeChangeHandler"]]]]],["dso-tree-view.cjs",[[1,"dso-tree-view",{"collection":[16],"focusItem":[64]}]]],["dso-action-list-item.cjs",[[1,"dso-action-list-item",{"step":[2],"itemTitle":[1,"item-title"],"flowLine":[4,"flow-line"],"warning":[4],"divider":[4]}]]],["dso-attachments-counter.cjs",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest.cjs",[[6,"dso-autosuggest",{"suggestions":[16],"loading":[4],"loadingLabel":[1,"loading-label"],"loadingDelayed":[2,"loading-delayed"],"notFoundLabel":[1,"not-found-label"],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32],"notFound":[32],"showLoading":[32]},[[4,"click","onDocumentClick"]]]]],["dso-date-picker.cjs",[[2,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"invalid":[516],"describedBy":[1,"described-by"],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"visible":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel.cjs",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]},[[8,"keydown","keyDownListener"]]]]],["dso-image-overlay.cjs",[[1,"dso-image-overlay",{"active":[32],"zoomable":[32]},[[2,"load","loadListener"]]]]],["dso-list-button.cjs",[[1,"dso-list-button",{"label":[1],"sublabel":[1],"count":[2],"min":[8],"max":[8],"checked":[516],"disabled":[516],"manual":[4],"manualInputWrapperElement":[32],"manualCount":[32]}]]],["dso-table.cjs",[[1,"dso-table",{"noModal":[516,"no-modal"],"isResponsive":[516,"is-responsive"],"modalActive":[32],"placeholderHeight":[32]}]]],["dso-viewer-grid.cjs",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32]}]]],["dso-accordion.cjs",[[1,"dso-accordion",{"variant":[513],"reverseAlign":[516,"reverse-align"],"_getState":[64]}]]],["dso-action-list.cjs",[[1,"dso-action-list",{"listTitle":[1,"list-title"]}]]],["dso-banner.cjs",[[1,"dso-banner",{"status":[513]}]]],["dso-card.cjs",[[1,"dso-card",{"isSelectable":[516,"is-selectable"],"hasImage":[516,"has-image"],"clickable":[4],"imageShape":[513,"image-shape"]}]]],["dso-card-container.cjs",[[1,"dso-card-container",{"mode":[513]}]]],["dso-highlight-box.cjs",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-progress-bar.cjs",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-dropdown-menu.cjs",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"dropdownOptionsOffset":[2,"dropdown-options-offset"],"checkable":[4],"boundary":[1],"strategy":[1]}]]],["dso-progress-indicator.cjs",[[1,"dso-progress-indicator",{"label":[1],"size":[513],"block":[4]}]]],["dso-scrollable.cjs",[[1,"dso-scrollable",{"scrollPosition":[32],"_setScrollState":[64]}]]],["dso-expandable.cjs",[[1,"dso-expandable",{"open":[516],"enableAnimation":[4,"enable-animation"],"minimumHeight":[2,"minimum-height"],"animationReady":[32]}]]],["dso-responsive-element.cjs",[[1,"dso-responsive-element",{"sizeAlias":[32],"sizeWidth":[32],"getSize":[64]}]]],["dso-info-button.cjs",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1],"hover":[32],"setFocus":[64]}]]],["dso-tooltip.cjs",[[1,"dso-tooltip",{"descriptive":[516],"position":[1],"strategy":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]}]]],["dso-info_2.cjs",[[6,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"labelledById":[1,"labelled-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32],"keyboardFocus":[32],"toggleInfo":[64]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-alert_5.cjs",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"truncate":[4],"removeHover":[32],"removeFocus":[32],"textHover":[32],"textFocus":[32],"isTruncated":[32],"labelText":[32],"_truncateLabel":[64]},[[4,"keydown","keyDownListener"]]],[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}],[0,"dso-annotation-button",{"identifier":[1],"open":[4]}],[1,"dso-badge",{"status":[1]}],[1,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[520],"state":[32]}]]],["dso-annotation-output_3.cjs",[[1,"dso-document-component",{"heading":[1],"label":[1],"nummer":[1],"opschrift":[1],"inhoud":[1],"open":[516],"filtered":[516],"notApplicable":[516,"not-applicable"],"genesteOntwerpInformatie":[516,"geneste-ontwerp-informatie"],"bevatOntwerpInformatie":[516,"bevat-ontwerp-informatie"],"annotated":[516],"gereserveerd":[4],"vervallen":[4],"openAnnotation":[4,"open-annotation"],"alternativeTitle":[1,"alternative-title"],"type":[513],"wijzigactie":[513]}],[4,"dso-annotation-output",{"identifier":[513],"annotationPrefix":[513,"annotation-prefix"],"open":[516]}],[4,"dso-slide-toggle",{"checked":[4],"disabled":[4],"accessibleLabel":[1,"accessible-label"],"labelledbyId":[1,"labelledby-id"],"identifier":[1],"hasVisibleLabel":[32]}]]]], options);
17
+ return index.bootstrapLazy([["dsot-document-component-demo.cjs",[[0,"dsot-document-component-demo",{"response":[32],"open":[32],"openedAnnotation":[32],"filtered":[32],"notApplicable":[32],"activeAnnotationSelectables":[32]}]]],["dso-map-base-layers.cjs",[[1,"dso-map-base-layers",{"group":[1],"baseLayers":[16]}]]],["dso-map-overlays.cjs",[[1,"dso-map-overlays",{"group":[1],"overlays":[16]}]]],["dso-toggletip.cjs",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-accordion-section.cjs",[[1,"dso-accordion-section",{"handleTitle":[1,"handle-title"],"heading":[1],"handleUrl":[1,"handle-url"],"status":[1],"attachmentCount":[2,"attachment-count"],"icon":[1],"statusDescription":[1,"status-description"],"open":[516],"hasNestedAccordion":[32],"hover":[32]}]]],["dso-header.cjs",[[6,"dso-header",{"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"authStatus":[1,"auth-status"],"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"userHomeActive":[4,"user-home-active"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32],"dropdownOptionsOffset":[32]}]]],["dso-map-controls.cjs",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32],"toggleVisibility":[64]}]]],["dso-modal.cjs",[[1,"dso-modal",{"fullscreen":[516],"modalTitle":[1,"modal-title"],"role":[1],"showCloseButton":[4,"show-close-button"],"ariaId":[32],"hasFooter":[32]}]]],["dso-pagination.cjs",[[1,"dso-pagination",{"totalPages":[2,"total-pages"],"currentPage":[2,"current-page"],"formatHref":[16],"availablePositions":[32]},[[0,"dsoSizeChange","sizeChangeHandler"]]]]],["dso-tree-view.cjs",[[1,"dso-tree-view",{"collection":[16],"focusItem":[64]}]]],["dso-action-list-item.cjs",[[1,"dso-action-list-item",{"step":[2],"itemTitle":[1,"item-title"],"flowLine":[4,"flow-line"],"warning":[4],"divider":[4]}]]],["dso-attachments-counter.cjs",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest.cjs",[[6,"dso-autosuggest",{"suggestions":[16],"loading":[4],"loadingLabel":[1,"loading-label"],"loadingDelayed":[2,"loading-delayed"],"notFoundLabel":[1,"not-found-label"],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32],"notFound":[32],"showLoading":[32]},[[4,"click","onDocumentClick"]]]]],["dso-date-picker.cjs",[[2,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"invalid":[516],"describedBy":[1,"described-by"],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"visible":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel.cjs",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]},[[8,"keydown","keyDownListener"]]]]],["dso-image-overlay.cjs",[[1,"dso-image-overlay",{"active":[32],"zoomable":[32]},[[2,"load","loadListener"]]]]],["dso-list-button.cjs",[[1,"dso-list-button",{"label":[1],"sublabel":[1],"count":[2],"min":[8],"max":[8],"checked":[516],"disabled":[516],"manual":[4],"manualInputWrapperElement":[32],"manualCount":[32]}]]],["dso-table.cjs",[[1,"dso-table",{"noModal":[516,"no-modal"],"isResponsive":[516,"is-responsive"],"modalActive":[32],"placeholderHeight":[32]}]]],["dso-accordion.cjs",[[1,"dso-accordion",{"variant":[513],"reverseAlign":[516,"reverse-align"],"_getState":[64]}]]],["dso-action-list.cjs",[[1,"dso-action-list",{"listTitle":[1,"list-title"]}]]],["dso-banner.cjs",[[1,"dso-banner",{"status":[513]}]]],["dso-card.cjs",[[1,"dso-card",{"isSelectable":[516,"is-selectable"],"hasImage":[516,"has-image"],"clickable":[4],"imageShape":[513,"image-shape"]}]]],["dso-card-container.cjs",[[1,"dso-card-container",{"mode":[513]}]]],["dso-highlight-box.cjs",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-progress-bar.cjs",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-viewer-grid.cjs",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32],"tabView":[32],"activeTab":[32]}]]],["dso-dropdown-menu.cjs",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"dropdownOptionsOffset":[2,"dropdown-options-offset"],"checkable":[4],"boundary":[1],"strategy":[1]}]]],["dso-progress-indicator.cjs",[[1,"dso-progress-indicator",{"label":[1],"size":[513],"block":[4]}]]],["dso-scrollable.cjs",[[1,"dso-scrollable",{"scrollPosition":[32],"_setScrollState":[64]}]]],["dso-expandable.cjs",[[1,"dso-expandable",{"open":[516],"enableAnimation":[4,"enable-animation"],"minimumHeight":[2,"minimum-height"],"animationReady":[32]}]]],["dso-responsive-element.cjs",[[1,"dso-responsive-element",{"sizeAlias":[32],"sizeWidth":[32],"getSize":[64]}]]],["dso-info-button.cjs",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1],"hover":[32],"setFocus":[64]}]]],["dso-tooltip.cjs",[[1,"dso-tooltip",{"descriptive":[516],"position":[1],"strategy":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]}]]],["dso-icon.cjs",[[1,"dso-icon",{"icon":[1]}]]],["dso-info_2.cjs",[[6,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"labelledById":[1,"labelled-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32],"keyboardFocus":[32],"toggleInfo":[64]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-alert_5.cjs",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"truncate":[4],"removeHover":[32],"removeFocus":[32],"textHover":[32],"textFocus":[32],"isTruncated":[32],"labelText":[32],"_truncateLabel":[64]},[[4,"keydown","keyDownListener"]]],[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}],[0,"dso-annotation-button",{"identifier":[1],"open":[4]}],[1,"dso-badge",{"status":[1]}],[1,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[520],"state":[32]}]]],["dso-annotation-output_3.cjs",[[1,"dso-document-component",{"heading":[1],"label":[1],"nummer":[1],"opschrift":[1],"inhoud":[1],"open":[516],"filtered":[516],"notApplicable":[516,"not-applicable"],"genesteOntwerpInformatie":[516,"geneste-ontwerp-informatie"],"bevatOntwerpInformatie":[516,"bevat-ontwerp-informatie"],"annotated":[516],"gereserveerd":[4],"vervallen":[4],"openAnnotation":[4,"open-annotation"],"alternativeTitle":[1,"alternative-title"],"type":[513],"wijzigactie":[513]}],[4,"dso-annotation-output",{"identifier":[513],"annotationPrefix":[513,"annotation-prefix"],"open":[516]}],[4,"dso-slide-toggle",{"checked":[4],"disabled":[4],"accessibleLabel":[1,"accessible-label"],"labelledbyId":[1,"labelledby-id"],"identifier":[1],"hasVisibleLabel":[32]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -19,7 +19,8 @@ export class Autosuggest {
19
19
  this.inputValue = "";
20
20
  this.onInput = (event) => {
21
21
  if (!(event.target instanceof HTMLInputElement)) {
22
- throw new Error("event.target is not instanceof HTMLInputElement");
22
+ return;
23
+ // throw new Error("event.target is not instanceof HTMLInputElement"); #2293
23
24
  }
24
25
  this.showLoading = !this.loadingDelayed;
25
26
  this.inputValue = event.target.value;
@@ -98,7 +99,8 @@ export class Autosuggest {
98
99
  setTimeout(() => {
99
100
  const input = this.host.querySelector('input[type="text"]');
100
101
  if (!(input instanceof HTMLInputElement)) {
101
- throw new ReferenceError("Mandatory text input not found");
102
+ return;
103
+ // throw new ReferenceError("Mandatory text input not found"); #2293
102
104
  }
103
105
  this.input = input;
104
106
  if (input.id) {
@@ -108,7 +110,8 @@ export class Autosuggest {
108
110
  input.id = this.inputId;
109
111
  }
110
112
  if (!this.input.labels || this.input.labels.length < 1) {
111
- throw new ReferenceError("Mandatory label for text input not found");
113
+ return;
114
+ // throw new ReferenceError("Mandatory label for text input not found"); #2293
112
115
  }
113
116
  const label = this.input.labels[0];
114
117
  if (label === null || label === void 0 ? void 0 : label.id) {
@@ -1 +1 @@
1
- {"version":3,"file":"autosuggest.js","sourceRoot":"","sources":["../../../src/components/autosuggest/autosuggest.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Listen, Prop, State, Fragment, Event, EventEmitter, VNode, Watch } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { v4 } from \"uuid\";\r\nimport escapeStringRegexp from \"escape-string-regexp\";\r\n\r\nimport { Suggestion } from \"./autosuggest.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-autosuggest\",\r\n styleUrl: \"autosuggest.scss\",\r\n scoped: true,\r\n})\r\nexport class Autosuggest {\r\n /**\r\n * The suggestions for the value of the slotted input element. Optionally a\r\n * Suggestion can have a `type` and `item`.\r\n *\r\n * The `type` is used to style the suggestion. `item` can be use to reference\r\n * the original object that was used to create the suggestion.\r\n *\r\n * The value should be null when no suggestions have been fetched.\r\n */\r\n @Prop()\r\n readonly suggestions: Suggestion[] | null = null;\r\n\r\n /**\r\n * Shows progress indicator when fetching results.\r\n */\r\n @Prop()\r\n loading = false;\r\n\r\n /**\r\n * To override progress indicator's default loading label.\r\n */\r\n @Prop()\r\n loadingLabel?: string = \"Een moment geduld.\";\r\n\r\n /**\r\n * To delay progress indicator showing (in ms).\r\n */\r\n @Prop()\r\n loadingDelayed?: number;\r\n\r\n /**\r\n * To show text when no results are found.\r\n */\r\n @Prop()\r\n notFoundLabel?: string;\r\n\r\n /**\r\n * Whether the previous suggestions will be presented when the input gets focus again.\r\n */\r\n @Prop()\r\n suggestOnFocus = false;\r\n\r\n /**\r\n * Emitted when a suggestion is selected.\r\n * The `detail` property of the `CustomEvent` will contain the selected suggestion.\r\n */\r\n @Event()\r\n dsoSelect!: EventEmitter<Suggestion>;\r\n\r\n /**\r\n * This is emitted debounced for every change for the slotted input type=text element.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when enter is pressed.\r\n * The `detail` property of the `CustomEvent` will contain the input text.\r\n */\r\n @Event()\r\n dsoSearch!: EventEmitter<string>;\r\n\r\n @Element()\r\n host!: HTMLDsoAutosuggestElement;\r\n\r\n @State()\r\n showSuggestions = false;\r\n\r\n @State()\r\n selectedSuggestion: Suggestion | undefined;\r\n\r\n @State()\r\n notFound = false;\r\n\r\n @State()\r\n showLoading = false;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listbox: HTMLUListElement | undefined;\r\n\r\n private listboxId: string = v4();\r\n\r\n private inputId: string = v4();\r\n\r\n private labelId: string = v4();\r\n\r\n private debouncedEmitValue = debounce((value: string) => {\r\n this.dsoChange.emit(value);\r\n this.debouncedShowLoading();\r\n }, 200);\r\n\r\n private debouncedShowLoading = debounce(() => {\r\n if (this.inputValue) {\r\n this.showLoading = true;\r\n }\r\n }, this.loadingDelayed);\r\n\r\n private inputValue = \"\";\r\n\r\n private onInput = (event: Event) => {\r\n if (!(event.target instanceof HTMLInputElement)) {\r\n throw new Error(\"event.target is not instanceof HTMLInputElement\");\r\n }\r\n\r\n this.showLoading = !this.loadingDelayed;\r\n this.inputValue = event.target.value;\r\n this.debouncedEmitValue(event.target.value.match(/(\\S+)/g) ? event.target.value : \"\");\r\n };\r\n\r\n private onFocusIn = () => {\r\n if (this.suggestOnFocus) {\r\n this.openSuggestions();\r\n }\r\n };\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n (this.showSuggestions || this.notFound) &&\r\n this.listbox &&\r\n event.target instanceof Node &&\r\n !this.listbox.contains(event.target) &&\r\n this.input !== event.target\r\n ) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n setTimeout(() => {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n throw new ReferenceError(\"Mandatory text input not found\");\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n throw new ReferenceError(\"Mandatory label for text input not found\");\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-controls\", this.listboxId);\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n }\r\n\r\n private markTerms(suggestionValue: string, terms: string[]): (VNode | string)[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).map((valuePart: string) => {\r\n if (!valuePart) {\r\n return \"\";\r\n }\r\n\r\n if (termRegex.test(valuePart)) {\r\n return <mark>{valuePart}</mark>;\r\n }\r\n\r\n if (terms.length === 1) {\r\n return <span>{valuePart}</span>;\r\n }\r\n\r\n return this.markTerms(valuePart, terms.slice(1));\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion) {\r\n this.selectedSuggestion = suggestion;\r\n\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(suggestion));\r\n }\r\n\r\n private selectFirstSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[0];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private selectLastSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private selectNextSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;\r\n\r\n this.selectedSuggestion = this.suggestions[index + 1] ?? this.suggestions[0];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private selectPreviousSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;\r\n\r\n this.selectedSuggestion = this.suggestions[index - 1] ?? this.suggestions[this.suggestions.length - 1];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private resetSelectedSuggestion() {\r\n this.showLoading = !this.loadingDelayed;\r\n this.notFound = false;\r\n this.selectedSuggestion = undefined;\r\n this.input?.setAttribute(\"aria-activedescendant\", \"\");\r\n }\r\n\r\n private openSuggestions(selectSuggestion?: \"first\" | \"last\") {\r\n this.showSuggestions = (this.suggestions && this.suggestions.length > 0) ?? false;\r\n this.notFound = this.suggestions?.length === 0 ?? false;\r\n this.input?.setAttribute(\"aria-expanded\", (this.showSuggestions || this.notFound).toString());\r\n\r\n if (this.showSuggestions && selectSuggestion === \"first\") {\r\n this.selectFirstSuggestion();\r\n } else if (this.showSuggestions && selectSuggestion === \"last\") {\r\n this.selectLastSuggestion();\r\n }\r\n }\r\n\r\n private closeSuggestions() {\r\n this.showSuggestions = false;\r\n this.notFound = false;\r\n this.input?.setAttribute(\"aria-expanded\", \"false\");\r\n this.selectFirstSuggestion();\r\n }\r\n\r\n private pickSelectedValue() {\r\n if (this.selectedSuggestion && this.showSuggestions) {\r\n this.dsoSelect.emit(this.selectedSuggestion);\r\n } else {\r\n this.dsoSearch.emit(this.input?.value);\r\n }\r\n\r\n this.closeSuggestions();\r\n }\r\n\r\n private onKeyDown = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented || this.loading) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"first\");\r\n } else {\r\n this.selectNextSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"ArrowUp\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"last\");\r\n } else {\r\n this.selectPreviousSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.closeSuggestions();\r\n return;\r\n\r\n case \"Escape\":\r\n this.closeSuggestions();\r\n break;\r\n\r\n case \"Enter\":\r\n this.pickSelectedValue();\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n private listboxItemId(suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n return `${this.inputId}-${this.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n render() {\r\n const terms = this.input?.value.split(\" \").filter((t) => t) ?? [];\r\n\r\n return (\r\n <>\r\n <slot />\r\n {this.loading && this.showLoading ? (\r\n <div class=\"autosuggest-progress-box\">\r\n <dso-progress-indicator label={this.loadingLabel}></dso-progress-indicator>\r\n </div>\r\n ) : (\r\n <ul\r\n role=\"listbox\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n hidden={!this.showSuggestions && !this.notFound}\r\n >\r\n {(this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestion) => (\r\n <li\r\n role=\"option\"\r\n id={this.listboxItemId(suggestion)}\r\n key={suggestion.value}\r\n onMouseEnter={() => this.selectSuggestion(suggestion)}\r\n onMouseLeave={() => this.resetSelectedSuggestion()}\r\n onClick={() => this.pickSelectedValue()}\r\n aria-selected={(suggestion === this.selectedSuggestion).toString()}\r\n aria-label={suggestion.value}\r\n >\r\n <span class=\"value\">{this.markTerms(suggestion.value, terms)}</span>\r\n {suggestion.type ? <span class=\"type\">{suggestion.type}</span> : undefined}\r\n </li>\r\n ))) ||\r\n (this.notFound && (\r\n <li>\r\n <span class=\"value\">\r\n {!this.notFoundLabel ? (\r\n this.markTerms(`${this.inputValue} is niet gevonden.`, terms)\r\n ) : (\r\n <span>{this.notFoundLabel}</span>\r\n )}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"autosuggest.js","sourceRoot":"","sources":["../../../src/components/autosuggest/autosuggest.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Listen, Prop, State, Fragment, Event, EventEmitter, VNode, Watch } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { v4 } from \"uuid\";\r\nimport escapeStringRegexp from \"escape-string-regexp\";\r\n\r\nimport { Suggestion } from \"./autosuggest.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-autosuggest\",\r\n styleUrl: \"autosuggest.scss\",\r\n scoped: true,\r\n})\r\nexport class Autosuggest {\r\n /**\r\n * The suggestions for the value of the slotted input element. Optionally a\r\n * Suggestion can have a `type` and `item`.\r\n *\r\n * The `type` is used to style the suggestion. `item` can be use to reference\r\n * the original object that was used to create the suggestion.\r\n *\r\n * The value should be null when no suggestions have been fetched.\r\n */\r\n @Prop()\r\n readonly suggestions: Suggestion[] | null = null;\r\n\r\n /**\r\n * Shows progress indicator when fetching results.\r\n */\r\n @Prop()\r\n loading = false;\r\n\r\n /**\r\n * To override progress indicator's default loading label.\r\n */\r\n @Prop()\r\n loadingLabel?: string = \"Een moment geduld.\";\r\n\r\n /**\r\n * To delay progress indicator showing (in ms).\r\n */\r\n @Prop()\r\n loadingDelayed?: number;\r\n\r\n /**\r\n * To show text when no results are found.\r\n */\r\n @Prop()\r\n notFoundLabel?: string;\r\n\r\n /**\r\n * Whether the previous suggestions will be presented when the input gets focus again.\r\n */\r\n @Prop()\r\n suggestOnFocus = false;\r\n\r\n /**\r\n * Emitted when a suggestion is selected.\r\n * The `detail` property of the `CustomEvent` will contain the selected suggestion.\r\n */\r\n @Event()\r\n dsoSelect!: EventEmitter<Suggestion>;\r\n\r\n /**\r\n * This is emitted debounced for every change for the slotted input type=text element.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when enter is pressed.\r\n * The `detail` property of the `CustomEvent` will contain the input text.\r\n */\r\n @Event()\r\n dsoSearch!: EventEmitter<string>;\r\n\r\n @Element()\r\n host!: HTMLDsoAutosuggestElement;\r\n\r\n @State()\r\n showSuggestions = false;\r\n\r\n @State()\r\n selectedSuggestion: Suggestion | undefined;\r\n\r\n @State()\r\n notFound = false;\r\n\r\n @State()\r\n showLoading = false;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listbox: HTMLUListElement | undefined;\r\n\r\n private listboxId: string = v4();\r\n\r\n private inputId: string = v4();\r\n\r\n private labelId: string = v4();\r\n\r\n private debouncedEmitValue = debounce((value: string) => {\r\n this.dsoChange.emit(value);\r\n this.debouncedShowLoading();\r\n }, 200);\r\n\r\n private debouncedShowLoading = debounce(() => {\r\n if (this.inputValue) {\r\n this.showLoading = true;\r\n }\r\n }, this.loadingDelayed);\r\n\r\n private inputValue = \"\";\r\n\r\n private onInput = (event: Event) => {\r\n if (!(event.target instanceof HTMLInputElement)) {\r\n return;\r\n // throw new Error(\"event.target is not instanceof HTMLInputElement\"); #2293\r\n }\r\n\r\n this.showLoading = !this.loadingDelayed;\r\n this.inputValue = event.target.value;\r\n this.debouncedEmitValue(event.target.value.match(/(\\S+)/g) ? event.target.value : \"\");\r\n };\r\n\r\n private onFocusIn = () => {\r\n if (this.suggestOnFocus) {\r\n this.openSuggestions();\r\n }\r\n };\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n (this.showSuggestions || this.notFound) &&\r\n this.listbox &&\r\n event.target instanceof Node &&\r\n !this.listbox.contains(event.target) &&\r\n this.input !== event.target\r\n ) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n setTimeout(() => {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory text input not found\"); #2293\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory label for text input not found\"); #2293\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-controls\", this.listboxId);\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n }\r\n\r\n private markTerms(suggestionValue: string, terms: string[]): (VNode | string)[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).map((valuePart: string) => {\r\n if (!valuePart) {\r\n return \"\";\r\n }\r\n\r\n if (termRegex.test(valuePart)) {\r\n return <mark>{valuePart}</mark>;\r\n }\r\n\r\n if (terms.length === 1) {\r\n return <span>{valuePart}</span>;\r\n }\r\n\r\n return this.markTerms(valuePart, terms.slice(1));\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion) {\r\n this.selectedSuggestion = suggestion;\r\n\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(suggestion));\r\n }\r\n\r\n private selectFirstSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[0];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private selectLastSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private selectNextSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;\r\n\r\n this.selectedSuggestion = this.suggestions[index + 1] ?? this.suggestions[0];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private selectPreviousSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;\r\n\r\n this.selectedSuggestion = this.suggestions[index - 1] ?? this.suggestions[this.suggestions.length - 1];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private resetSelectedSuggestion() {\r\n this.showLoading = !this.loadingDelayed;\r\n this.notFound = false;\r\n this.selectedSuggestion = undefined;\r\n this.input?.setAttribute(\"aria-activedescendant\", \"\");\r\n }\r\n\r\n private openSuggestions(selectSuggestion?: \"first\" | \"last\") {\r\n this.showSuggestions = (this.suggestions && this.suggestions.length > 0) ?? false;\r\n this.notFound = this.suggestions?.length === 0 ?? false;\r\n this.input?.setAttribute(\"aria-expanded\", (this.showSuggestions || this.notFound).toString());\r\n\r\n if (this.showSuggestions && selectSuggestion === \"first\") {\r\n this.selectFirstSuggestion();\r\n } else if (this.showSuggestions && selectSuggestion === \"last\") {\r\n this.selectLastSuggestion();\r\n }\r\n }\r\n\r\n private closeSuggestions() {\r\n this.showSuggestions = false;\r\n this.notFound = false;\r\n this.input?.setAttribute(\"aria-expanded\", \"false\");\r\n this.selectFirstSuggestion();\r\n }\r\n\r\n private pickSelectedValue() {\r\n if (this.selectedSuggestion && this.showSuggestions) {\r\n this.dsoSelect.emit(this.selectedSuggestion);\r\n } else {\r\n this.dsoSearch.emit(this.input?.value);\r\n }\r\n\r\n this.closeSuggestions();\r\n }\r\n\r\n private onKeyDown = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented || this.loading) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"first\");\r\n } else {\r\n this.selectNextSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"ArrowUp\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"last\");\r\n } else {\r\n this.selectPreviousSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.closeSuggestions();\r\n return;\r\n\r\n case \"Escape\":\r\n this.closeSuggestions();\r\n break;\r\n\r\n case \"Enter\":\r\n this.pickSelectedValue();\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n private listboxItemId(suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n return `${this.inputId}-${this.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n render() {\r\n const terms = this.input?.value.split(\" \").filter((t) => t) ?? [];\r\n\r\n return (\r\n <>\r\n <slot />\r\n {this.loading && this.showLoading ? (\r\n <div class=\"autosuggest-progress-box\">\r\n <dso-progress-indicator label={this.loadingLabel}></dso-progress-indicator>\r\n </div>\r\n ) : (\r\n <ul\r\n role=\"listbox\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n hidden={!this.showSuggestions && !this.notFound}\r\n >\r\n {(this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestion) => (\r\n <li\r\n role=\"option\"\r\n id={this.listboxItemId(suggestion)}\r\n key={suggestion.value}\r\n onMouseEnter={() => this.selectSuggestion(suggestion)}\r\n onMouseLeave={() => this.resetSelectedSuggestion()}\r\n onClick={() => this.pickSelectedValue()}\r\n aria-selected={(suggestion === this.selectedSuggestion).toString()}\r\n aria-label={suggestion.value}\r\n >\r\n <span class=\"value\">{this.markTerms(suggestion.value, terms)}</span>\r\n {suggestion.type ? <span class=\"type\">{suggestion.type}</span> : undefined}\r\n </li>\r\n ))) ||\r\n (this.notFound && (\r\n <li>\r\n <span class=\"value\">\r\n {!this.notFoundLabel ? (\r\n this.markTerms(`${this.inputValue} is niet gevonden.`, terms)\r\n ) : (\r\n <span>{this.notFoundLabel}</span>\r\n )}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"]}
@@ -12,6 +12,47 @@
12
12
  box-sizing: border-box;
13
13
  }
14
14
 
15
+ :host {
16
+ display: block;
17
+ }
18
+
19
+ :host([fullscreen]) dialog {
20
+ inline-size: 100dvi;
21
+ block-size: 100dvb;
22
+ }
23
+ :host([fullscreen]) dialog .dso-dialog {
24
+ display: flex;
25
+ flex-direction: column;
26
+ max-inline-size: 100%;
27
+ block-size: 100%;
28
+ }
29
+ :host([fullscreen]) dialog .dso-dialog > dso-scrollable {
30
+ flex-grow: 1;
31
+ max-block-size: unset;
32
+ }
33
+ :host([fullscreen]) dialog .dso-footer {
34
+ flex-shrink: 0;
35
+ }
36
+
37
+ @media screen and (max-width: 480px) {
38
+ :host dialog {
39
+ inline-size: 100dvi;
40
+ block-size: 100dvb;
41
+ }
42
+ :host dialog .dso-dialog {
43
+ display: flex;
44
+ flex-direction: column;
45
+ max-inline-size: 100%;
46
+ block-size: 100%;
47
+ }
48
+ :host dialog .dso-dialog > dso-scrollable {
49
+ flex-grow: 1;
50
+ max-block-size: unset;
51
+ }
52
+ :host dialog .dso-footer {
53
+ flex-shrink: 0;
54
+ }
55
+ }
15
56
  .sr-only {
16
57
  position: absolute;
17
58
  width: 1px;
@@ -44,49 +85,45 @@ button::-moz-focus-inner {
44
85
  }
45
86
 
46
87
  .dso-modal {
47
- bottom: 0;
48
- height: 100%;
49
- left: 0;
50
- position: fixed;
51
- right: 0;
52
- top: 0;
53
- z-index: 530;
88
+ overflow: visible;
89
+ padding: 0;
90
+ border: 0;
91
+ }
92
+ .dso-modal::backdrop {
93
+ background-color: rgba(255, 255, 255, 0.8);
54
94
  }
55
95
  .dso-modal .dso-dialog {
56
- animation: 1s ease-out 0s 1 slideInFromTop;
96
+ max-inline-size: 640px;
57
97
  background-color: #fff;
58
- box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);
59
- margin-left: auto;
60
- margin-right: auto;
61
- margin-top: clamp(40px, 15vh, 15vh);
62
- max-width: 640px;
63
98
  opacity: 1;
99
+ box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);
100
+ animation: 1s ease-out 0s 1 slideInFromTop;
64
101
  }
65
102
  .dso-modal .dso-header {
66
- border-bottom: 1px solid #ccc;
67
- padding: 16px;
68
103
  position: relative;
104
+ padding: 16px;
105
+ border-block-end: 1px solid #ccc;
69
106
  }
70
107
  .dso-modal .dso-header h2 {
71
- color: #275937;
108
+ max-inline-size: calc(100% - 24px);
72
109
  margin: 0;
73
- max-width: calc(100% - 24px);
110
+ color: #275937;
74
111
  }
75
112
  .dso-modal .dso-header .dso-close {
113
+ position: absolute;
114
+ inset-block-start: 16px;
115
+ inset-inline-end: 13px;
116
+ block-size: 32px;
117
+ inline-size: 32px;
118
+ padding: 0;
76
119
  background-color: transparent;
77
120
  border: 0;
78
- height: 32px;
79
- padding: 0;
80
- position: absolute;
81
- right: 13px;
82
121
  text-align: center;
83
- top: 16px;
84
- width: 32px;
85
122
  }
86
123
  .dso-modal > .dso-dialog > .dso-body {
87
- height: calc(100% - 96px - 1.5rem);
88
- max-height: calc(70vh - 144px - 1.5em);
89
- min-height: 1.5rem;
124
+ block-size: calc(100% - 96px - 1.5rem);
125
+ max-block-size: calc(70vh - 144px - 1.5em);
126
+ min-block-size: 1.5rem;
90
127
  overflow-x: auto;
91
128
  padding: 32px;
92
129
  }
@@ -116,9 +153,9 @@ button::-moz-focus-inner {
116
153
  max-width: 100%;
117
154
  }
118
155
  .dso-modal > .dso-dialog > dso-scrollable {
119
- height: calc(100% - 96px - 1.5rem);
120
- max-height: calc(70vh - 144px - 1.5em);
121
- min-height: 6.5rem;
156
+ block-size: calc(100% - 96px - 1.5rem);
157
+ max-block-size: calc(70vh - 144px - 1.5em);
158
+ min-block-size: 6.5rem;
122
159
  }
123
160
  .dso-modal > .dso-dialog > dso-scrollable .dso-body {
124
161
  padding: 32px;
@@ -148,21 +185,24 @@ button::-moz-focus-inner {
148
185
  height: auto;
149
186
  max-width: 100%;
150
187
  }
188
+ .dso-modal .dso-body:focus-visible {
189
+ outline: none;
190
+ }
151
191
  .dso-modal .dso-footer {
152
- min-height: 80px;
192
+ min-block-size: 80px;
153
193
  padding: 16px 32px;
154
- text-align: right;
194
+ text-align: end;
155
195
  }
156
196
  @media screen and (max-width: 767px) {
157
197
  .dso-modal .dso-footer .dso-primary + .dso-primary, .dso-modal .dso-footer .dso-primary + .dso-secondary, .dso-modal .dso-footer .dso-primary + .dso-tertiary, .dso-modal .dso-footer .dso-secondary + .dso-primary, .dso-modal .dso-footer .dso-secondary + .dso-secondary, .dso-modal .dso-footer .dso-secondary + .dso-tertiary, .dso-modal .dso-footer .dso-tertiary + .dso-primary, .dso-modal .dso-footer .dso-tertiary + .dso-secondary, .dso-modal .dso-footer .dso-tertiary + .dso-tertiary {
158
- margin-left: 0;
198
+ margin-inline-start: 0;
159
199
  }
160
200
  .dso-modal .dso-footer button {
201
+ inline-size: 100%;
161
202
  text-align: center;
162
- width: 100%;
163
203
  }
164
204
  .dso-modal .dso-footer button + button {
165
- margin-top: 8px;
205
+ margin-block-start: 8px;
166
206
  }
167
207
  .dso-modal .dso-footer button.dso-tertiary,
168
208
  .dso-modal .dso-footer button.dso-tertiary span {
@@ -171,26 +211,26 @@ button::-moz-focus-inner {
171
211
  }
172
212
  @media screen and (min-width: 768px) {
173
213
  .dso-modal .dso-footer .dso-primary + .dso-secondary, .dso-modal .dso-footer .dso-secondary + .dso-secondary, .dso-modal .dso-footer .dso-tertiary + .dso-secondary {
174
- margin-left: 16px;
214
+ margin-inline-start: 16px;
175
215
  }
176
216
  .dso-modal .dso-footer .dso-primary + .dso-tertiary, .dso-modal .dso-footer .dso-secondary + .dso-tertiary, .dso-modal .dso-footer .dso-tertiary + .dso-tertiary {
177
- margin-left: 0;
217
+ margin-inline-start: 0;
178
218
  }
179
219
  }
180
220
  @media screen and (max-width: 767px) {
181
221
  .dso-modal .dso-dialog {
182
- max-width: 100%;
183
- margin-top: 0;
222
+ max-inline-size: 100%;
223
+ margin-block-start: 0;
184
224
  }
185
225
  .dso-modal .dso-footer .dso-primary + .dso-primary, .dso-modal .dso-footer .dso-primary + .dso-secondary, .dso-modal .dso-footer .dso-primary + .dso-tertiary, .dso-modal .dso-footer .dso-secondary + .dso-primary, .dso-modal .dso-footer .dso-secondary + .dso-secondary, .dso-modal .dso-footer .dso-secondary + .dso-tertiary, .dso-modal .dso-footer .dso-tertiary + .dso-primary, .dso-modal .dso-footer .dso-tertiary + .dso-secondary, .dso-modal .dso-footer .dso-tertiary + .dso-tertiary {
186
- margin-left: 0;
226
+ margin-inline-start: 0;
187
227
  }
188
228
  .dso-modal .dso-footer button {
229
+ inline-size: 100%;
189
230
  text-align: center;
190
- width: 100%;
191
231
  }
192
232
  .dso-modal .dso-footer button + button {
193
- margin-top: 8px;
233
+ margin-block-start: 8px;
194
234
  }
195
235
  .dso-modal .dso-footer button.dso-tertiary,
196
236
  .dso-modal .dso-footer button.dso-tertiary span {
@@ -199,37 +239,26 @@ button::-moz-focus-inner {
199
239
  }
200
240
  @media screen and (max-height: 380px) {
201
241
  .dso-modal .dso-dialog {
202
- margin-bottom: 8px;
203
- margin-top: 8px;
204
- min-height: 216px;
242
+ min-block-size: 216px;
243
+ margin-block-start: 8px;
244
+ margin-block-end: 8px;
205
245
  }
206
246
  .dso-modal .dso-header {
207
247
  padding: 8px 16px;
208
248
  }
209
249
  .dso-modal .dso-header .dso-close {
210
- top: 8px;
250
+ inset-block-start: 8px;
211
251
  }
212
252
  .dso-modal .dso-body {
213
253
  padding: 16px 24px;
214
254
  }
215
255
  .dso-modal .dso-footer {
216
- min-height: auto;
256
+ min-block-size: auto;
217
257
  overflow: auto;
218
258
  padding: 8px 32px;
219
259
  }
220
260
  }
221
261
 
222
- .dso-modal-overlay {
223
- background-color: rgba(255, 255, 255, 0.8);
224
- bottom: 0;
225
- display: block;
226
- left: 0;
227
- position: fixed;
228
- right: 0;
229
- top: 0;
230
- z-index: 529;
231
- }
232
-
233
262
  .dso-close dso-icon {
234
263
  color: #39870c;
235
264
  }
@@ -1 +1 @@
1
- {"version":3,"file":"modal.interfaces.js","sourceRoot":"","sources":["../../../src/components/modal/modal.interfaces.ts"],"names":[],"mappings":"","sourcesContent":["export interface DsoModalCloseEvent {\r\n originalEvent?: MouseEvent;\r\n}\r\n\r\nexport type ModalRole = \"dialog\" | \"alert\" | \"alertdialog\";\r\n\r\nexport type AllowedModalContentTypes = HTMLElement | DocumentFragment | string;\r\n\r\nexport interface ModalContent {\r\n title?: string;\r\n body: AllowedModalContentTypes;\r\n footer?: AllowedModalContentTypes;\r\n}\r\n\r\nexport interface ModalOptions {\r\n role?: ModalRole;\r\n showCloseButton?: boolean;\r\n initialFocus?: string;\r\n returnFocus?: (nodeFocusedBeforeActivation: HTMLElement | SVGElement) => HTMLElement | SVGElement | string | false;\r\n}\r\n"]}
1
+ {"version":3,"file":"modal.interfaces.js","sourceRoot":"","sources":["../../../src/components/modal/modal.interfaces.ts"],"names":[],"mappings":"","sourcesContent":["export interface ModalCloseEvent {\r\n originalEvent?: MouseEvent | Event;\r\n}\r\n\r\nexport type ModalRole = \"dialog\" | \"alert\" | \"alertdialog\";\r\n\r\nexport type AllowedModalContentTypes = HTMLElement | DocumentFragment | string;\r\n"]}