@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,64 +1,33 @@
1
- import { h, Fragment } from "@stencil/core";
2
- import { createFocusTrap } from "focus-trap";
1
+ import { h } from "@stencil/core";
3
2
  import { v4 } from "uuid";
4
3
  export class Modal {
5
4
  constructor() {
6
5
  this.ariaId = v4();
7
6
  this.hasFooter = undefined;
7
+ this.fullscreen = undefined;
8
8
  this.modalTitle = undefined;
9
9
  this.role = "dialog";
10
10
  this.showCloseButton = true;
11
- this.initialFocus = undefined;
12
- this.returnFocus = undefined;
13
11
  }
14
12
  componentWillLoad() {
15
- this.hasFooter = this.host.querySelector("*[slot = 'footer']") !== null;
13
+ this.hasFooter = this.host.querySelector("[slot='footer']") !== null;
16
14
  }
17
15
  componentDidLoad() {
18
- this.setFocusTrap();
16
+ var _a;
17
+ (_a = this.htmlDialogElement) === null || _a === void 0 ? void 0 : _a.showModal();
18
+ document.body.classList.add("dso-modal-open");
19
19
  }
20
20
  disconnectedCallback() {
21
21
  var _a;
22
- (_a = this.trap) === null || _a === void 0 ? void 0 : _a.deactivate({ onDeactivate: () => undefined }); // override FocusTrap onDeactivate callback to avoid double event emits
22
+ document.body.classList.remove("dso-modal-open");
23
+ (_a = this.htmlDialogElement) === null || _a === void 0 ? void 0 : _a.close();
23
24
  }
24
25
  render() {
25
26
  var _a;
26
- return (h(Fragment, null, h("div", { class: "dso-modal-overlay" }), h("div", { class: "dso-modal", role: (_a = this.role) !== null && _a !== void 0 ? _a : undefined, "aria-modal": "true", "aria-labelledby": this.ariaId, ref: (element) => (this.modalElement = element) }, h("div", { class: "dso-dialog", role: "document", ref: (element) => (this.dialogElement = element) }, this.modalTitle ? (h("div", { class: "dso-header" }, h("h2", { id: this.ariaId }, this.modalTitle), this.showCloseButton && (h("button", { type: "button", class: "dso-close", onClick: (e) => this.dsoClose.emit({ originalEvent: e }) }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "Sluiten"))))) : (h("span", { class: "sr-only", id: this.ariaId }, "Dialoog")), h("dso-scrollable", null, h("div", { class: "dso-body", tabIndex: 0 }, h("slot", { name: "body" }))), this.hasFooter && (h("div", { class: "dso-footer" }, h("slot", { name: "footer" })))))));
27
- }
28
- setFocusTrap() {
29
- if (this.dialogElement && !this.trap) {
30
- this.trap = createFocusTrap(this.dialogElement, {
31
- initialFocus: () => {
32
- var _a, _b, _c;
33
- if (this.initialFocus) {
34
- const initialFocusElement = this.host.querySelector(this.initialFocus);
35
- if (!initialFocusElement) {
36
- console.warn(`element '${this.initialFocus}' could not be found`);
37
- }
38
- else {
39
- return initialFocusElement;
40
- }
41
- }
42
- return ((_c = (_a = this.host.querySelector("div[slot='footer'] .dso-primary")) !== null && _a !== void 0 ? _a : (_b = this.modalElement) === null || _b === void 0 ? void 0 : _b.querySelector(".dso-close")) !== null && _c !== void 0 ? _c : false);
43
- },
44
- allowOutsideClick: true,
45
- setReturnFocus: (e) => { var _a, _b; return (_b = (_a = this.returnFocus) === null || _a === void 0 ? void 0 : _a.call(this, e)) !== null && _b !== void 0 ? _b : e; },
46
- escapeDeactivates: true,
47
- tabbableOptions: {
48
- getShadowRoot: true,
49
- },
50
- clickOutsideDeactivates: (e) => {
51
- if (e instanceof MouseEvent && e.composedPath()[0] === this.modalElement) {
52
- return true;
53
- }
54
- return false;
55
- },
56
- onDeactivate: () => {
57
- delete this.trap;
58
- this.dsoClose.emit({ originalEvent: undefined });
59
- },
60
- }).activate();
61
- }
27
+ return (h("dialog", { class: "dso-modal", role: (_a = this.role) !== null && _a !== void 0 ? _a : undefined, "aria-modal": "true", "aria-labelledby": this.ariaId, ref: (element) => (this.htmlDialogElement = element), onCancel: (e) => {
28
+ e.preventDefault();
29
+ this.dsoClose.emit({ originalEvent: e });
30
+ } }, h("div", { class: "dso-dialog", role: "document" }, this.modalTitle ? (h("div", { class: "dso-header" }, h("h2", { id: this.ariaId }, this.modalTitle), this.showCloseButton && (h("button", { type: "button", class: "dso-close", onClick: (e) => this.dsoClose.emit({ originalEvent: e }) }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "Sluiten"))))) : (h("span", { class: "sr-only", id: this.ariaId }, "Dialoog")), h("dso-scrollable", null, h("div", { class: "dso-body", tabIndex: 0 }, h("slot", { name: "body" }))), this.hasFooter && (h("div", { class: "dso-footer" }, h("slot", { name: "footer" }))))));
62
31
  }
63
32
  static get is() { return "dso-modal"; }
64
33
  static get encapsulation() { return "shadow"; }
@@ -74,6 +43,23 @@ export class Modal {
74
43
  }
75
44
  static get properties() {
76
45
  return {
46
+ "fullscreen": {
47
+ "type": "boolean",
48
+ "mutable": false,
49
+ "complexType": {
50
+ "original": "boolean",
51
+ "resolved": "boolean | undefined",
52
+ "references": {}
53
+ },
54
+ "required": false,
55
+ "optional": true,
56
+ "docs": {
57
+ "tags": [],
58
+ "text": "when set the modal will be shown in fullscreen."
59
+ },
60
+ "attribute": "fullscreen",
61
+ "reflect": true
62
+ },
77
63
  "modalTitle": {
78
64
  "type": "string",
79
65
  "mutable": false,
@@ -121,54 +107,11 @@ export class Modal {
121
107
  "optional": false,
122
108
  "docs": {
123
109
  "tags": [],
124
- "text": "when `false` the close button in the header will not be rendered. Defaults to `true`."
110
+ "text": "when `false` the close button in the header will not be rendered. Defaults to `true`.\r\n\r\nNeeds `modalTitle` to be set."
125
111
  },
126
112
  "attribute": "show-close-button",
127
113
  "reflect": false,
128
114
  "defaultValue": "true"
129
- },
130
- "initialFocus": {
131
- "type": "string",
132
- "mutable": false,
133
- "complexType": {
134
- "original": "string",
135
- "resolved": "string | undefined",
136
- "references": {}
137
- },
138
- "required": false,
139
- "optional": true,
140
- "docs": {
141
- "tags": [],
142
- "text": "Selector used to query the element which will be focused when the component instantiated. When undefined the modal focuses the first button.dso-primary in the modal footer. If no button can be found the close button is focused."
143
- },
144
- "attribute": "initial-focus",
145
- "reflect": false
146
- },
147
- "returnFocus": {
148
- "type": "unknown",
149
- "mutable": false,
150
- "complexType": {
151
- "original": "(nodeFocusedBeforeActivation: HTMLElement | SVGElement) => FocusTargetValueOrFalse",
152
- "resolved": "((nodeFocusedBeforeActivation: HTMLElement | SVGElement) => FocusTargetValueOrFalse) | undefined",
153
- "references": {
154
- "HTMLElement": {
155
- "location": "global"
156
- },
157
- "SVGElement": {
158
- "location": "global"
159
- },
160
- "FocusTargetValueOrFalse": {
161
- "location": "import",
162
- "path": "focus-trap"
163
- }
164
- }
165
- },
166
- "required": false,
167
- "optional": true,
168
- "docs": {
169
- "tags": [],
170
- "text": "Function that returns the element to focus on Modal close. Return `false` for no focus restore."
171
- }
172
115
  }
173
116
  };
174
117
  }
@@ -190,10 +133,10 @@ export class Modal {
190
133
  "text": "Emitted when the user wants to close the Modal."
191
134
  },
192
135
  "complexType": {
193
- "original": "DsoModalCloseEvent",
194
- "resolved": "DsoModalCloseEvent",
136
+ "original": "ModalCloseEvent",
137
+ "resolved": "ModalCloseEvent",
195
138
  "references": {
196
- "DsoModalCloseEvent": {
139
+ "ModalCloseEvent": {
197
140
  "location": "import",
198
141
  "path": "./modal.interfaces"
199
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/components/modal/modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, ComponentInterface, Element, Event, EventEmitter, Fragment, Prop, State } from \"@stencil/core\";\r\nimport { createFocusTrap, FocusTargetValueOrFalse, FocusTrap } from \"focus-trap\";\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { DsoModalCloseEvent } from \"./modal.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-modal\",\r\n styleUrl: \"modal.scss\",\r\n shadow: true,\r\n})\r\nexport class Modal implements ComponentInterface {\r\n private trap?: FocusTrap;\r\n\r\n private dialogElement?: HTMLDivElement;\r\n\r\n private modalElement?: HTMLDivElement;\r\n\r\n @Element()\r\n host!: HTMLDsoModalElement;\r\n\r\n @State()\r\n ariaId = v4();\r\n\r\n @State()\r\n hasFooter?: boolean;\r\n\r\n /**\r\n * The title of the Modal.\r\n */\r\n @Prop()\r\n modalTitle?: string;\r\n\r\n /**\r\n * the role for the modal `dialog` | `alert` | `alertdialog`.\r\n */\r\n @Prop()\r\n role: string | null = \"dialog\";\r\n\r\n /**\r\n * when `false` the close button in the header will not be rendered. Defaults to `true`.\r\n */\r\n @Prop()\r\n showCloseButton = true;\r\n\r\n /**\r\n * Selector used to query the element which will be focused when the component instantiated. When undefined the modal focuses the first button.dso-primary in the modal footer. If no button can be found the close button is focused.\r\n */\r\n @Prop()\r\n initialFocus?: string;\r\n\r\n /**\r\n * Function that returns the element to focus on Modal close. Return `false` for no focus restore.\r\n */\r\n @Prop()\r\n returnFocus?: (nodeFocusedBeforeActivation: HTMLElement | SVGElement) => FocusTargetValueOrFalse;\r\n\r\n /**\r\n * Emitted when the user wants to close the Modal.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<DsoModalCloseEvent>;\r\n\r\n componentWillLoad(): void {\r\n this.hasFooter = this.host.querySelector(\"*[slot = 'footer']\") !== null;\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.setFocusTrap();\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.trap?.deactivate({ onDeactivate: () => undefined }); // override FocusTrap onDeactivate callback to avoid double event emits\r\n }\r\n\r\n render() {\r\n return (\r\n <Fragment>\r\n <div class=\"dso-modal-overlay\"></div>\r\n <div\r\n class=\"dso-modal\"\r\n role={this.role ?? undefined}\r\n aria-modal=\"true\"\r\n aria-labelledby={this.ariaId}\r\n ref={(element) => (this.modalElement = element)}\r\n >\r\n <div class=\"dso-dialog\" role=\"document\" ref={(element) => (this.dialogElement = element)}>\r\n {this.modalTitle ? (\r\n <div class=\"dso-header\">\r\n <h2 id={this.ariaId}>{this.modalTitle}</h2>\r\n {this.showCloseButton && (\r\n <button type=\"button\" class=\"dso-close\" onClick={(e) => this.dsoClose.emit({ originalEvent: e })}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n )}\r\n </div>\r\n ) : (\r\n <span class=\"sr-only\" id={this.ariaId}>\r\n Dialoog\r\n </span>\r\n )}\r\n\r\n <dso-scrollable>\r\n <div class=\"dso-body\" tabIndex={0}>\r\n <slot name=\"body\" />\r\n </div>\r\n </dso-scrollable>\r\n\r\n {this.hasFooter && (\r\n <div class=\"dso-footer\">\r\n <slot name=\"footer\" />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </Fragment>\r\n );\r\n }\r\n\r\n private setFocusTrap() {\r\n if (this.dialogElement && !this.trap) {\r\n this.trap = createFocusTrap(this.dialogElement, {\r\n initialFocus: () => {\r\n if (this.initialFocus) {\r\n const initialFocusElement = this.host.querySelector<HTMLElement>(this.initialFocus);\r\n if (!initialFocusElement) {\r\n console.warn(`element '${this.initialFocus}' could not be found`);\r\n } else {\r\n return initialFocusElement;\r\n }\r\n }\r\n\r\n return (\r\n this.host.querySelector<HTMLButtonElement>(\"div[slot='footer'] .dso-primary\") ??\r\n this.modalElement?.querySelector<HTMLButtonElement>(\".dso-close\") ??\r\n false\r\n );\r\n },\r\n allowOutsideClick: true,\r\n setReturnFocus: (e) => this.returnFocus?.(e) ?? e,\r\n escapeDeactivates: true,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n clickOutsideDeactivates: (e) => {\r\n if (e instanceof MouseEvent && e.composedPath()[0] === this.modalElement) {\r\n return true;\r\n }\r\n\r\n return false;\r\n },\r\n onDeactivate: () => {\r\n delete this.trap;\r\n\r\n this.dsoClose.emit({ originalEvent: undefined });\r\n },\r\n }).activate();\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/components/modal/modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAsB,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAS1B,MAAM,OAAO,KAAK;;kBAOP,EAAE,EAAE;;;;gBAqBS,QAAQ;2BAQZ,IAAI;;EAQtB,iBAAiB;IACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;EACvE,CAAC;EAED,gBAAgB;;IACd,MAAA,IAAI,CAAC,iBAAiB,0CAAE,SAAS,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;EAChD,CAAC;EAED,oBAAoB;;IAClB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAA,IAAI,CAAC,iBAAiB,0CAAE,KAAK,EAAE,CAAC;EAClC,CAAC;EAED,MAAM;;IACJ,OAAO,CACL,cACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,SAAS,gBACjB,MAAM,qBACA,IAAI,CAAC,MAAM,EAC5B,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,EACpD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACd,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;MAC3C,CAAC;MAED,WAAK,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,UAAU;QACpC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACjB,WAAK,KAAK,EAAC,YAAY;UACrB,UAAI,EAAE,EAAE,IAAI,CAAC,MAAM,IAAG,IAAI,CAAC,UAAU,CAAM;UAC1C,IAAI,CAAC,eAAe,IAAI,CACvB,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;YAC9F,gBAAU,IAAI,EAAC,OAAO,GAAY;YAClC,YAAM,KAAK,EAAC,SAAS,cAAe,CAC7B,CACV,CACG,CACP,CAAC,CAAC,CAAC,CACF,YAAM,KAAK,EAAC,SAAS,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,cAE9B,CACR;QAED;UACE,WAAK,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAE,CAAC;YAC/B,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB,CACS;QAEhB,IAAI,CAAC,SAAS,IAAI,CACjB,WAAK,KAAK,EAAC,YAAY;UACrB,YAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACP,CACG,CACC,CACV,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, ComponentInterface, Element, Event, EventEmitter, Prop, State } from \"@stencil/core\";\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { ModalCloseEvent } from \"./modal.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-modal\",\r\n styleUrl: \"modal.scss\",\r\n shadow: true,\r\n})\r\nexport class Modal implements ComponentInterface {\r\n private htmlDialogElement?: HTMLDialogElement;\r\n\r\n @Element()\r\n host!: HTMLDsoModalElement;\r\n\r\n @State()\r\n ariaId = v4();\r\n\r\n @State()\r\n hasFooter?: boolean;\r\n\r\n /**\r\n * when set the modal will be shown in fullscreen.\r\n */\r\n @Prop({ reflect: true })\r\n fullscreen?: boolean;\r\n\r\n /**\r\n * The title of the Modal.\r\n */\r\n @Prop()\r\n modalTitle?: string;\r\n\r\n /**\r\n * the role for the modal `dialog` | `alert` | `alertdialog`.\r\n */\r\n @Prop()\r\n role: string | null = \"dialog\";\r\n\r\n /**\r\n * when `false` the close button in the header will not be rendered. Defaults to `true`.\r\n *\r\n * Needs `modalTitle` to be set.\r\n */\r\n @Prop()\r\n showCloseButton = true;\r\n\r\n /**\r\n * Emitted when the user wants to close the Modal.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<ModalCloseEvent>;\r\n\r\n componentWillLoad(): void {\r\n this.hasFooter = this.host.querySelector(\"[slot='footer']\") !== null;\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.htmlDialogElement?.showModal();\r\n document.body.classList.add(\"dso-modal-open\");\r\n }\r\n\r\n disconnectedCallback(): void {\r\n document.body.classList.remove(\"dso-modal-open\");\r\n this.htmlDialogElement?.close();\r\n }\r\n\r\n render() {\r\n return (\r\n <dialog\r\n class=\"dso-modal\"\r\n role={this.role ?? undefined}\r\n aria-modal=\"true\"\r\n aria-labelledby={this.ariaId}\r\n ref={(element) => (this.htmlDialogElement = element)}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n this.dsoClose.emit({ originalEvent: e });\r\n }}\r\n >\r\n <div class=\"dso-dialog\" role=\"document\">\r\n {this.modalTitle ? (\r\n <div class=\"dso-header\">\r\n <h2 id={this.ariaId}>{this.modalTitle}</h2>\r\n {this.showCloseButton && (\r\n <button type=\"button\" class=\"dso-close\" onClick={(e) => this.dsoClose.emit({ originalEvent: e })}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">Sluiten</span>\r\n </button>\r\n )}\r\n </div>\r\n ) : (\r\n <span class=\"sr-only\" id={this.ariaId}>\r\n Dialoog\r\n </span>\r\n )}\r\n\r\n <dso-scrollable>\r\n <div class=\"dso-body\" tabIndex={0}>\r\n <slot name=\"body\" />\r\n </div>\r\n </dso-scrollable>\r\n\r\n {this.hasFooter && (\r\n <div class=\"dso-footer\">\r\n <slot name=\"footer\" />\r\n </div>\r\n )}\r\n </div>\r\n </dialog>\r\n );\r\n }\r\n}\r\n"]}
@@ -24,53 +24,49 @@
24
24
  }
25
25
 
26
26
  :host .dso-modal {
27
- bottom: 0;
28
- height: 100%;
29
- left: 0;
30
- position: fixed;
31
- right: 0;
32
- top: 0;
33
- z-index: 530;
27
+ overflow: visible;
28
+ padding: 0;
29
+ border: 0;
34
30
  inset: 0px;
35
31
  height: 100%;
36
32
  position: fixed;
37
33
  z-index: 530;
38
34
  }
35
+ :host .dso-modal::backdrop {
36
+ background-color: rgba(255, 255, 255, 0.8);
37
+ }
39
38
  :host .dso-modal .dso-dialog {
40
- animation: 1s ease-out 0s 1 slideInFromTop;
39
+ max-inline-size: 640px;
41
40
  background-color: #fff;
42
- box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);
43
- margin-left: auto;
44
- margin-right: auto;
45
- margin-top: clamp(40px, 15vh, 15vh);
46
- max-width: 640px;
47
41
  opacity: 1;
42
+ box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);
43
+ animation: 1s ease-out 0s 1 slideInFromTop;
48
44
  }
49
45
  :host .dso-modal .dso-header {
50
- border-bottom: 1px solid #ccc;
51
- padding: 16px;
52
46
  position: relative;
47
+ padding: 16px;
48
+ border-block-end: 1px solid #ccc;
53
49
  }
54
50
  :host .dso-modal .dso-header h2 {
55
- color: #275937;
51
+ max-inline-size: calc(100% - 24px);
56
52
  margin: 0;
57
- max-width: calc(100% - 24px);
53
+ color: #275937;
58
54
  }
59
55
  :host .dso-modal .dso-header .dso-close {
56
+ position: absolute;
57
+ inset-block-start: 16px;
58
+ inset-inline-end: 13px;
59
+ block-size: 32px;
60
+ inline-size: 32px;
61
+ padding: 0;
60
62
  background-color: transparent;
61
63
  border: 0;
62
- height: 32px;
63
- padding: 0;
64
- position: absolute;
65
- right: 13px;
66
64
  text-align: center;
67
- top: 16px;
68
- width: 32px;
69
65
  }
70
66
  :host .dso-modal > .dso-dialog > .dso-body {
71
- height: calc(100% - 96px - 1.5rem);
72
- max-height: calc(70vh - 144px - 1.5em);
73
- min-height: 1.5rem;
67
+ block-size: calc(100% - 96px - 1.5rem);
68
+ max-block-size: calc(70vh - 144px - 1.5em);
69
+ min-block-size: 1.5rem;
74
70
  overflow-x: auto;
75
71
  padding: 32px;
76
72
  }
@@ -100,9 +96,9 @@
100
96
  max-width: 100%;
101
97
  }
102
98
  :host .dso-modal > .dso-dialog > dso-scrollable {
103
- height: calc(100% - 96px - 1.5rem);
104
- max-height: calc(70vh - 144px - 1.5em);
105
- min-height: 6.5rem;
99
+ block-size: calc(100% - 96px - 1.5rem);
100
+ max-block-size: calc(70vh - 144px - 1.5em);
101
+ min-block-size: 6.5rem;
106
102
  }
107
103
  :host .dso-modal > .dso-dialog > dso-scrollable .dso-body {
108
104
  padding: 32px;
@@ -132,21 +128,24 @@
132
128
  height: auto;
133
129
  max-width: 100%;
134
130
  }
131
+ :host .dso-modal .dso-body:focus-visible {
132
+ outline: none;
133
+ }
135
134
  :host .dso-modal .dso-footer {
136
- min-height: 80px;
135
+ min-block-size: 80px;
137
136
  padding: 16px 32px;
138
- text-align: right;
137
+ text-align: end;
139
138
  }
140
139
  @media screen and (max-width: 767px) {
141
140
  :host .dso-modal .dso-footer .dso-primary + .dso-primary, :host .dso-modal .dso-footer .dso-primary + .dso-secondary, :host .dso-modal .dso-footer .dso-primary + .dso-tertiary, :host .dso-modal .dso-footer .dso-secondary + .dso-primary, :host .dso-modal .dso-footer .dso-secondary + .dso-secondary, :host .dso-modal .dso-footer .dso-secondary + .dso-tertiary, :host .dso-modal .dso-footer .dso-tertiary + .dso-primary, :host .dso-modal .dso-footer .dso-tertiary + .dso-secondary, :host .dso-modal .dso-footer .dso-tertiary + .dso-tertiary {
142
- margin-left: 0;
141
+ margin-inline-start: 0;
143
142
  }
144
143
  :host .dso-modal .dso-footer button {
144
+ inline-size: 100%;
145
145
  text-align: center;
146
- width: 100%;
147
146
  }
148
147
  :host .dso-modal .dso-footer button + button {
149
- margin-top: 8px;
148
+ margin-block-start: 8px;
150
149
  }
151
150
  :host .dso-modal .dso-footer button.dso-tertiary,
152
151
  :host .dso-modal .dso-footer button.dso-tertiary span {
@@ -155,26 +154,26 @@
155
154
  }
156
155
  @media screen and (min-width: 768px) {
157
156
  :host .dso-modal .dso-footer .dso-primary + .dso-secondary, :host .dso-modal .dso-footer .dso-secondary + .dso-secondary, :host .dso-modal .dso-footer .dso-tertiary + .dso-secondary {
158
- margin-left: 16px;
157
+ margin-inline-start: 16px;
159
158
  }
160
159
  :host .dso-modal .dso-footer .dso-primary + .dso-tertiary, :host .dso-modal .dso-footer .dso-secondary + .dso-tertiary, :host .dso-modal .dso-footer .dso-tertiary + .dso-tertiary {
161
- margin-left: 0;
160
+ margin-inline-start: 0;
162
161
  }
163
162
  }
164
163
  @media screen and (max-width: 767px) {
165
164
  :host .dso-modal .dso-dialog {
166
- max-width: 100%;
167
- margin-top: 0;
165
+ max-inline-size: 100%;
166
+ margin-block-start: 0;
168
167
  }
169
168
  :host .dso-modal .dso-footer .dso-primary + .dso-primary, :host .dso-modal .dso-footer .dso-primary + .dso-secondary, :host .dso-modal .dso-footer .dso-primary + .dso-tertiary, :host .dso-modal .dso-footer .dso-secondary + .dso-primary, :host .dso-modal .dso-footer .dso-secondary + .dso-secondary, :host .dso-modal .dso-footer .dso-secondary + .dso-tertiary, :host .dso-modal .dso-footer .dso-tertiary + .dso-primary, :host .dso-modal .dso-footer .dso-tertiary + .dso-secondary, :host .dso-modal .dso-footer .dso-tertiary + .dso-tertiary {
170
- margin-left: 0;
169
+ margin-inline-start: 0;
171
170
  }
172
171
  :host .dso-modal .dso-footer button {
172
+ inline-size: 100%;
173
173
  text-align: center;
174
- width: 100%;
175
174
  }
176
175
  :host .dso-modal .dso-footer button + button {
177
- margin-top: 8px;
176
+ margin-block-start: 8px;
178
177
  }
179
178
  :host .dso-modal .dso-footer button.dso-tertiary,
180
179
  :host .dso-modal .dso-footer button.dso-tertiary span {
@@ -183,21 +182,21 @@
183
182
  }
184
183
  @media screen and (max-height: 380px) {
185
184
  :host .dso-modal .dso-dialog {
186
- margin-bottom: 8px;
187
- margin-top: 8px;
188
- min-height: 216px;
185
+ min-block-size: 216px;
186
+ margin-block-start: 8px;
187
+ margin-block-end: 8px;
189
188
  }
190
189
  :host .dso-modal .dso-header {
191
190
  padding: 8px 16px;
192
191
  }
193
192
  :host .dso-modal .dso-header .dso-close {
194
- top: 8px;
193
+ inset-block-start: 8px;
195
194
  }
196
195
  :host .dso-modal .dso-body {
197
196
  padding: 16px 24px;
198
197
  }
199
198
  :host .dso-modal .dso-footer {
200
- min-height: auto;
199
+ min-block-size: auto;
201
200
  overflow: auto;
202
201
  padding: 8px 32px;
203
202
  }
@@ -206,6 +205,8 @@
206
205
  .dso-modal .dso-dialog.dso-table-dialog {
207
206
  margin-top: 1rem;
208
207
  max-width: calc(100% - 2rem);
208
+ margin-left: auto;
209
+ margin-right: auto;
209
210
  }
210
211
  .dso-modal .dso-dialog.dso-table-dialog .dso-body {
211
212
  max-height: calc(100vh - 112px - 1.5em - 2rem);
@@ -0,0 +1,7 @@
1
+ import { h } from "@stencil/core";
2
+ import { ViewerGridFilterpanelButtons } from "./viewer-grid-filterpanel-buttons";
3
+ export const Filterpanel = ({ ref, onApply, onCancel }) => (h("dialog", { id: "filterpanel", class: "filterpanel", ref: ref, onCancel: (e) => {
4
+ e.preventDefault();
5
+ onCancel(e);
6
+ } }, h("h1", null, "Uw keuzes"), h(ViewerGridFilterpanelButtons, { onApply: onApply, onCancel: onCancel }), h("slot", { name: "filterpanel" }), h(ViewerGridFilterpanelButtons, { onApply: onApply, onCancel: onCancel })));
7
+ //# sourceMappingURL=filterpanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterpanel.js","sourceRoot":"","sources":["../../../../src/components/viewer-grid/components/filterpanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAQjF,MAAM,CAAC,MAAM,WAAW,GAAoD,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC1G,cACE,EAAE,EAAC,aAAa,EAChB,KAAK,EAAC,aAAa,EACnB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;IACd,CAAC,CAAC,cAAc,EAAE,CAAC;IAEnB,QAAQ,CAAC,CAAC,CAAC,CAAC;EACd,CAAC;EAED,0BAAkB;EAClB,EAAC,4BAA4B,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI;EACtE,YAAM,IAAI,EAAC,aAAa,GAAG;EAC3B,EAAC,4BAA4B,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC/D,CACV,CAAC","sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { ViewerGridFilterpanelButtons } from \"./viewer-grid-filterpanel-buttons\";\r\n\r\nexport interface ViewerGridFilterpanelProps {\r\n ref: ((element: HTMLDialogElement | undefined) => void) | undefined;\r\n onApply: (mouseEvent: MouseEvent) => void;\r\n onCancel: (event: MouseEvent | Event) => void;\r\n}\r\n\r\nexport const Filterpanel: FunctionalComponent<ViewerGridFilterpanelProps> = ({ ref, onApply, onCancel }) => (\r\n <dialog\r\n id=\"filterpanel\"\r\n class=\"filterpanel\"\r\n ref={ref}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n onCancel(e);\r\n }}\r\n >\r\n <h1>Uw keuzes</h1>\r\n <ViewerGridFilterpanelButtons onApply={onApply} onCancel={onCancel} />\r\n <slot name=\"filterpanel\" />\r\n <ViewerGridFilterpanelButtons onApply={onApply} onCancel={onCancel} />\r\n </dialog>\r\n);\r\n"]}
@@ -0,0 +1,4 @@
1
+ export { Filterpanel } from "./filterpanel";
2
+ export { MainPanel } from "./main-panel";
3
+ export { Overlay } from "./overlay";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/viewer-grid/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { Filterpanel } from \"./filterpanel\";\r\nexport { MainPanel } from \"./main-panel\";\r\nexport { Overlay } from \"./overlay\";\r\n"]}
@@ -0,0 +1,10 @@
1
+ import { h } from "@stencil/core";
2
+ export const MainPanel = ({ ref, tabView, mainSize, shrinkMain, expandMain, }) => {
3
+ const sizeLabelMap = {
4
+ small: "smal",
5
+ medium: "middel",
6
+ large: "breed",
7
+ };
8
+ return (h("div", { class: "dso-main-panel", ref: ref }, !tabView && (h("div", { class: "sizing-buttons" }, h("span", { class: "sr-only", "aria-live": "polite", "aria-atomic": "true" }, "Breedte hoofdpaneel: ", sizeLabelMap[mainSize]), h("button", { type: "button", class: "shrink", disabled: mainSize === "small", onClick: shrinkMain }, h("span", { class: "sr-only" }, "Hoofdpaneel smaller maken"), h("dso-icon", { icon: "chevron-left" })), h("button", { type: "button", class: "expand", disabled: mainSize === "large", onClick: expandMain }, h("span", { class: "sr-only" }, "Hoofdpaneel breder maken"), h("dso-icon", { icon: "chevron-right" })))), h("div", { class: "main" }, h("slot", { name: "main" }))));
9
+ };
10
+ //# sourceMappingURL=main-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-panel.js","sourceRoot":"","sources":["../../../../src/components/viewer-grid/components/main-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAWvD,MAAM,CAAC,MAAM,SAAS,GAAkD,CAAC,EACvE,GAAG,EACH,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE,EAAE;EACH,MAAM,YAAY,GAAiB;IACjC,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;GACf,CAAC;EAEF,OAAO,CACL,WAAK,KAAK,EAAC,gBAAgB,EAAC,GAAG,EAAE,GAAG;IACjC,CAAC,OAAO,IAAI,CACX,WAAK,KAAK,EAAC,gBAAgB;MACzB,YAAM,KAAK,EAAC,SAAS,eAAW,QAAQ,iBAAa,MAAM;;QACnC,YAAY,CAAC,QAAQ,CAAC,CACvC;MACP,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,EAAE,OAAO,EAAE,UAAU;QACtF,YAAM,KAAK,EAAC,SAAS,gCAAiC;QACtD,gBAAU,IAAI,EAAC,cAAc,GAAY,CAClC;MACT,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,EAAE,OAAO,EAAE,UAAU;QACtF,YAAM,KAAK,EAAC,SAAS,+BAAgC;QACrD,gBAAU,IAAI,EAAC,eAAe,GAAY,CACnC,CACL,CACP;IACD,WAAK,KAAK,EAAC,MAAM;MACf,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB,CACF,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\nimport { LabelSizeMap, MainSize } from \"../viewer-grid.interfaces\";\r\n\r\nexport interface ViewerGridMainPanelProps {\r\n ref: ((element: HTMLDivElement | undefined) => void) | undefined;\r\n tabView: boolean;\r\n mainSize: MainSize;\r\n shrinkMain: () => void;\r\n expandMain: () => void;\r\n}\r\n\r\nexport const MainPanel: FunctionalComponent<ViewerGridMainPanelProps> = ({\r\n ref,\r\n tabView,\r\n mainSize,\r\n shrinkMain,\r\n expandMain,\r\n}) => {\r\n const sizeLabelMap: LabelSizeMap = {\r\n small: \"smal\",\r\n medium: \"middel\",\r\n large: \"breed\",\r\n };\r\n\r\n return (\r\n <div class=\"dso-main-panel\" ref={ref}>\r\n {!tabView && (\r\n <div class=\"sizing-buttons\">\r\n <span class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n Breedte hoofdpaneel: {sizeLabelMap[mainSize]}\r\n </span>\r\n <button type=\"button\" class=\"shrink\" disabled={mainSize === \"small\"} onClick={shrinkMain}>\r\n <span class=\"sr-only\">Hoofdpaneel smaller maken</span>\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n </button>\r\n <button type=\"button\" class=\"expand\" disabled={mainSize === \"large\"} onClick={expandMain}>\r\n <span class=\"sr-only\">Hoofdpaneel breder maken</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n </div>\r\n )}\r\n <div class=\"main\">\r\n <slot name=\"main\" />\r\n </div>\r\n </div>\r\n );\r\n};\r\n"]}
@@ -0,0 +1,6 @@
1
+ import { h } from "@stencil/core";
2
+ export const Overlay = ({ ref, dsoCloseOverlay }) => (h("dialog", { class: "overlay", ref: ref, onCancel: (e) => {
3
+ e.preventDefault();
4
+ dsoCloseOverlay(e);
5
+ } }, h("button", { type: "button", class: "overlay-close-button", onClick: dsoCloseOverlay }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "sluiten")), h("slot", { name: "overlay" })));
6
+ //# sourceMappingURL=overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../../src/components/viewer-grid/components/overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAOvD,MAAM,CAAC,MAAM,OAAO,GAAgD,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAChG,cACE,KAAK,EAAC,SAAS,EACf,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;IACd,CAAC,CAAC,cAAc,EAAE,CAAC;IAEnB,eAAe,CAAC,CAAC,CAAC,CAAC;EACrB,CAAC;EAED,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,sBAAsB,EAAC,OAAO,EAAE,eAAe;IACzE,gBAAU,IAAI,EAAC,OAAO,GAAY;IAClC,YAAM,KAAK,EAAC,SAAS,cAAe,CAC7B;EACT,YAAM,IAAI,EAAC,SAAS,GAAG,CAChB,CACV,CAAC","sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport interface ViewerGridOverlayProps {\r\n ref: ((element: HTMLDialogElement | undefined) => void) | undefined;\r\n dsoCloseOverlay: (event: MouseEvent | Event) => void;\r\n}\r\n\r\nexport const Overlay: FunctionalComponent<ViewerGridOverlayProps> = ({ ref, dsoCloseOverlay }) => (\r\n <dialog\r\n class=\"overlay\"\r\n ref={ref}\r\n onCancel={(e) => {\r\n e.preventDefault();\r\n\r\n dsoCloseOverlay(e);\r\n }}\r\n >\r\n <button type=\"button\" class=\"overlay-close-button\" onClick={dsoCloseOverlay}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">sluiten</span>\r\n </button>\r\n <slot name=\"overlay\" />\r\n </dialog>\r\n);\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewer-grid-filterpanel-buttons.js","sourceRoot":"","sources":["../../../../src/components/viewer-grid/components/viewer-grid-filterpanel-buttons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAOvD,MAAM,CAAC,MAAM,4BAA4B,GAA2D,CAAC,EACnG,OAAO,EACP,QAAQ,GACT,EAAE,EAAE,CAAC,CACJ,WAAK,KAAK,EAAC,qBAAqB;EAC9B,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAE,QAAQ;IAC3D,4BAAsB,CACf;EACT,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAE,OAAO;IACzD,4BAAsB;IACtB,gBAAU,IAAI,EAAC,eAAe,GAAY,CACnC,CACL,CACP,CAAC","sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport interface ViewerGridFilterpanelButtonsProps {\r\n onApply: (mouseEvent: MouseEvent) => void;\r\n onCancel: (mouseEvent: MouseEvent) => void;\r\n}\r\n\r\nexport const ViewerGridFilterpanelButtons: FunctionalComponent<ViewerGridFilterpanelButtonsProps> = ({\r\n onApply,\r\n onCancel,\r\n}) => (\r\n <div class=\"filterpanel-buttons\">\r\n <button type=\"button\" class=\"cancel-button\" onClick={onCancel}>\r\n <span>Annuleren</span>\r\n </button>\r\n <button type=\"button\" class=\"apply-button\" onClick={onApply}>\r\n <span>Toepassen</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n </div>\r\n);\r\n"]}