@dso-toolkit/core 57.0.0 → 58.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) 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 +1 -1
  9. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  10. package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
  11. package/dist/cjs/dso-card.cjs.entry.js +1 -1
  12. package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +1 -1
  14. package/dist/cjs/dso-expandable.cjs.entry.js +1 -1
  15. package/dist/cjs/dso-header.cjs.entry.js +1 -1
  16. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +1 -1
  17. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  18. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  19. package/dist/cjs/dso-image-overlay.cjs.entry.js +1 -1
  20. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  21. package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
  22. package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
  23. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  24. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  25. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  26. package/dist/cjs/dso-modal.cjs.entry.js +13 -45
  27. package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
  28. package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
  29. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  30. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  31. package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
  32. package/dist/cjs/dso-scrollable.cjs.entry.js +1 -1
  33. package/dist/cjs/dso-table.cjs.entry.js +2 -2
  34. package/dist/cjs/dso-table.cjs.entry.js.map +1 -1
  35. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  36. package/dist/cjs/dso-toolkit.cjs.js +2 -2
  37. package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
  38. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  39. package/dist/cjs/dso-viewer-grid.cjs.entry.js +83 -62
  40. package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
  41. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1 -1
  42. package/dist/cjs/{index-efc2222e.js → index-d4003ee3.js} +1 -4
  43. package/dist/cjs/index-d4003ee3.js.map +1 -0
  44. package/dist/cjs/index.cjs.js +0 -72
  45. package/dist/cjs/index.cjs.js.map +1 -1
  46. package/dist/cjs/loader.cjs.js +2 -2
  47. package/dist/collection/components/modal/modal.css +86 -57
  48. package/dist/collection/components/modal/modal.interfaces.js.map +1 -1
  49. package/dist/collection/components/modal/modal.js +33 -90
  50. package/dist/collection/components/modal/modal.js.map +1 -1
  51. package/dist/collection/components/table/table.css +47 -46
  52. package/dist/collection/components/viewer-grid/components/filterpanel.js +7 -0
  53. package/dist/collection/components/viewer-grid/components/filterpanel.js.map +1 -0
  54. package/dist/collection/components/viewer-grid/components/index.js +4 -0
  55. package/dist/collection/components/viewer-grid/components/index.js.map +1 -0
  56. package/dist/collection/components/viewer-grid/components/main-panel.js +10 -0
  57. package/dist/collection/components/viewer-grid/components/main-panel.js.map +1 -0
  58. package/dist/collection/components/viewer-grid/components/overlay.js +6 -0
  59. package/dist/collection/components/viewer-grid/components/overlay.js.map +1 -0
  60. package/dist/collection/components/viewer-grid/components/viewer-grid-filterpanel-buttons.js.map +1 -0
  61. package/dist/collection/components/viewer-grid/viewer-grid.css +301 -86
  62. package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js +1 -1
  63. package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js.map +1 -1
  64. package/dist/collection/components/viewer-grid/viewer-grid.js +59 -73
  65. package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
  66. package/dist/collection/index.js +0 -1
  67. package/dist/collection/index.js.map +1 -1
  68. package/dist/components/dso-modal.js +14 -46
  69. package/dist/components/dso-modal.js.map +1 -1
  70. package/dist/components/dso-table.js +1 -1
  71. package/dist/components/dso-table.js.map +1 -1
  72. package/dist/components/dso-viewer-grid.js +86 -68
  73. package/dist/components/dso-viewer-grid.js.map +1 -1
  74. package/dist/components/index.js +0 -71
  75. package/dist/components/index.js.map +1 -1
  76. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  77. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  78. package/dist/dso-toolkit/index.esm.js +1 -1
  79. package/dist/dso-toolkit/index.esm.js.map +1 -1
  80. package/dist/dso-toolkit/{p-b608283b.entry.js → p-0dffb117.entry.js} +2 -2
  81. package/dist/dso-toolkit/{p-14453f73.entry.js → p-14aa091d.entry.js} +2 -2
  82. package/dist/dso-toolkit/p-1a1a43fd.js +3 -0
  83. package/dist/dso-toolkit/p-1a1a43fd.js.map +1 -0
  84. package/dist/dso-toolkit/{p-d8c137b5.entry.js → p-1c721290.entry.js} +2 -2
  85. package/dist/dso-toolkit/{p-56d87a53.entry.js → p-22baee8e.entry.js} +2 -2
  86. package/dist/dso-toolkit/{p-a616ab8a.entry.js → p-2ccbf58d.entry.js} +2 -2
  87. package/dist/dso-toolkit/{p-9f2bb98b.entry.js → p-3cbf8b97.entry.js} +2 -2
  88. package/dist/dso-toolkit/{p-29b741cb.entry.js → p-3d4308ba.entry.js} +2 -2
  89. package/dist/dso-toolkit/{p-c8165a50.entry.js → p-420e0d23.entry.js} +2 -2
  90. package/dist/dso-toolkit/{p-bf203ab8.entry.js → p-423fa057.entry.js} +2 -2
  91. package/dist/dso-toolkit/{p-debbe184.entry.js → p-440fc4ae.entry.js} +2 -2
  92. package/dist/dso-toolkit/{p-d3f69d06.entry.js → p-49bce8b2.entry.js} +2 -2
  93. package/dist/dso-toolkit/{p-f56c1b28.entry.js → p-4bc67e5c.entry.js} +2 -2
  94. package/dist/dso-toolkit/{p-9b587a94.entry.js → p-4da2fa8b.entry.js} +2 -2
  95. package/dist/dso-toolkit/{p-0e5a93c3.entry.js → p-4e86089d.entry.js} +2 -2
  96. package/dist/dso-toolkit/{p-68e9f61b.entry.js → p-51f19c06.entry.js} +2 -2
  97. package/dist/dso-toolkit/{p-05ea1fba.entry.js → p-54c65314.entry.js} +2 -2
  98. package/dist/dso-toolkit/p-5e5302ef.entry.js +2 -0
  99. package/dist/dso-toolkit/p-5e5302ef.entry.js.map +1 -0
  100. package/dist/dso-toolkit/{p-818d032e.entry.js → p-5ee79846.entry.js} +2 -2
  101. package/dist/dso-toolkit/{p-e2cacb8b.entry.js → p-604eb60b.entry.js} +2 -2
  102. package/dist/dso-toolkit/{p-1c295ae2.entry.js → p-669c3743.entry.js} +2 -2
  103. package/dist/dso-toolkit/p-712fca2c.entry.js +2 -0
  104. package/dist/dso-toolkit/p-712fca2c.entry.js.map +1 -0
  105. package/dist/dso-toolkit/{p-b67631ef.entry.js → p-745b6678.entry.js} +2 -2
  106. package/dist/dso-toolkit/{p-cfd6f4ef.entry.js → p-7a6be9c1.entry.js} +2 -2
  107. package/dist/dso-toolkit/{p-27dfadbf.entry.js → p-8b77b083.entry.js} +2 -2
  108. package/dist/dso-toolkit/{p-3fa7489e.entry.js → p-8f8dd254.entry.js} +2 -2
  109. package/dist/dso-toolkit/p-918bcdbe.entry.js +2 -0
  110. package/dist/dso-toolkit/p-918bcdbe.entry.js.map +1 -0
  111. package/dist/dso-toolkit/{p-e26974ee.entry.js → p-98f7ede6.entry.js} +2 -2
  112. package/dist/dso-toolkit/{p-fafa5ea1.entry.js → p-a00c4003.entry.js} +2 -2
  113. package/dist/dso-toolkit/p-a0798096.entry.js +2 -0
  114. package/dist/dso-toolkit/{p-42d3c595.entry.js.map → p-a0798096.entry.js.map} +1 -1
  115. package/dist/dso-toolkit/{p-9fee52e5.entry.js → p-a1060560.entry.js} +2 -2
  116. package/dist/dso-toolkit/{p-6050e8e6.entry.js → p-b34f24b4.entry.js} +2 -2
  117. package/dist/dso-toolkit/{p-168750a2.entry.js → p-b76768a5.entry.js} +2 -2
  118. package/dist/dso-toolkit/{p-e86e0fce.entry.js → p-b9d441d5.entry.js} +2 -2
  119. package/dist/dso-toolkit/{p-1fe715e4.entry.js → p-bc9e3037.entry.js} +2 -2
  120. package/dist/dso-toolkit/{p-bcae3f55.entry.js → p-bcecc743.entry.js} +2 -2
  121. package/dist/dso-toolkit/p-e69d7e62.entry.js +2 -0
  122. package/dist/dso-toolkit/{p-5265e22b.entry.js.map → p-e69d7e62.entry.js.map} +1 -1
  123. package/dist/dso-toolkit/{p-f3ed8688.entry.js → p-f21e4ccc.entry.js} +2 -2
  124. package/dist/esm/dso-accordion-section.entry.js +1 -1
  125. package/dist/esm/dso-accordion.entry.js +1 -1
  126. package/dist/esm/dso-action-list-item.entry.js +1 -1
  127. package/dist/esm/dso-action-list.entry.js +1 -1
  128. package/dist/esm/dso-alert_5.entry.js +1 -1
  129. package/dist/esm/dso-annotation-output_3.entry.js +1 -1
  130. package/dist/esm/dso-attachments-counter.entry.js +1 -1
  131. package/dist/esm/dso-autosuggest.entry.js +1 -1
  132. package/dist/esm/dso-banner.entry.js +1 -1
  133. package/dist/esm/dso-card-container.entry.js +1 -1
  134. package/dist/esm/dso-card.entry.js +1 -1
  135. package/dist/esm/dso-date-picker.entry.js +1 -1
  136. package/dist/esm/dso-dropdown-menu.entry.js +1 -1
  137. package/dist/esm/dso-expandable.entry.js +1 -1
  138. package/dist/esm/dso-header.entry.js +1 -1
  139. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  140. package/dist/esm/dso-highlight-box.entry.js +1 -1
  141. package/dist/esm/dso-icon.entry.js +1 -1
  142. package/dist/esm/dso-image-overlay.entry.js +1 -1
  143. package/dist/esm/dso-info-button.entry.js +1 -1
  144. package/dist/esm/dso-info_2.entry.js +1 -1
  145. package/dist/esm/dso-list-button.entry.js +1 -1
  146. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  147. package/dist/esm/dso-map-controls.entry.js +1 -1
  148. package/dist/esm/dso-map-overlays.entry.js +1 -1
  149. package/dist/esm/dso-modal.entry.js +13 -45
  150. package/dist/esm/dso-modal.entry.js.map +1 -1
  151. package/dist/esm/dso-pagination.entry.js +1 -1
  152. package/dist/esm/dso-progress-bar.entry.js +1 -1
  153. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  154. package/dist/esm/dso-responsive-element.entry.js +1 -1
  155. package/dist/esm/dso-scrollable.entry.js +1 -1
  156. package/dist/esm/dso-table.entry.js +2 -2
  157. package/dist/esm/dso-table.entry.js.map +1 -1
  158. package/dist/esm/dso-toggletip.entry.js +1 -1
  159. package/dist/esm/dso-toolkit.js +3 -3
  160. package/dist/esm/dso-tooltip.entry.js +1 -1
  161. package/dist/esm/dso-tree-view.entry.js +1 -1
  162. package/dist/esm/dso-viewer-grid.entry.js +83 -62
  163. package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
  164. package/dist/esm/dsot-document-component-demo.entry.js +1 -1
  165. package/dist/esm/{index-367cff36.js → index-3e9ed0c5.js} +1 -4
  166. package/dist/esm/index-3e9ed0c5.js.map +1 -0
  167. package/dist/esm/index.js +0 -69
  168. package/dist/esm/index.js.map +1 -1
  169. package/dist/esm/loader.js +3 -3
  170. package/dist/types/components/modal/modal.d.ts +9 -15
  171. package/dist/types/components/modal/modal.interfaces.d.ts +2 -13
  172. package/dist/types/components/viewer-grid/components/filterpanel.d.ts +7 -0
  173. package/dist/types/components/viewer-grid/components/index.d.ts +3 -0
  174. package/dist/types/components/viewer-grid/components/main-panel.d.ts +10 -0
  175. package/dist/types/components/viewer-grid/components/overlay.d.ts +6 -0
  176. package/dist/types/components/viewer-grid/components/viewer-grid-filterpanel-buttons.d.ts +6 -0
  177. package/dist/types/components/viewer-grid/viewer-grid.d.ts +12 -11
  178. package/dist/types/components/viewer-grid/viewer-grid.interfaces.d.ts +13 -2
  179. package/dist/types/components.d.ts +14 -24
  180. package/dist/types/index.d.ts +0 -1
  181. package/package.json +2 -2
  182. package/dist/cjs/index-efc2222e.js.map +0 -1
  183. package/dist/collection/components/modal/modal-ref.js +0 -19
  184. package/dist/collection/components/modal/modal-ref.js.map +0 -1
  185. package/dist/collection/components/modal/modal.controller.js +0 -51
  186. package/dist/collection/components/modal/modal.controller.js.map +0 -1
  187. package/dist/collection/components/viewer-grid/viewer-grid-filterpanel-buttons.js.map +0 -1
  188. package/dist/dso-toolkit/p-04c97d7d.entry.js +0 -2
  189. package/dist/dso-toolkit/p-04c97d7d.entry.js.map +0 -1
  190. package/dist/dso-toolkit/p-42d3c595.entry.js +0 -2
  191. package/dist/dso-toolkit/p-5265e22b.entry.js +0 -2
  192. package/dist/dso-toolkit/p-70a28e3f.entry.js +0 -2
  193. package/dist/dso-toolkit/p-70a28e3f.entry.js.map +0 -1
  194. package/dist/dso-toolkit/p-ce928197.js +0 -3
  195. package/dist/dso-toolkit/p-ce928197.js.map +0 -1
  196. package/dist/dso-toolkit/p-e4553695.entry.js +0 -2
  197. package/dist/dso-toolkit/p-e4553695.entry.js.map +0 -1
  198. package/dist/esm/index-367cff36.js.map +0 -1
  199. package/dist/types/components/modal/modal-ref.d.ts +0 -8
  200. package/dist/types/components/modal/modal.controller.d.ts +0 -6
  201. package/dist/types/components/viewer-grid/viewer-grid-filterpanel-buttons.d.ts +0 -6
  202. /package/dist/collection/components/viewer-grid/{viewer-grid-filterpanel-buttons.js → components/viewer-grid-filterpanel-buttons.js} +0 -0
  203. /package/dist/dso-toolkit/{p-b608283b.entry.js.map → p-0dffb117.entry.js.map} +0 -0
  204. /package/dist/dso-toolkit/{p-14453f73.entry.js.map → p-14aa091d.entry.js.map} +0 -0
  205. /package/dist/dso-toolkit/{p-d8c137b5.entry.js.map → p-1c721290.entry.js.map} +0 -0
  206. /package/dist/dso-toolkit/{p-56d87a53.entry.js.map → p-22baee8e.entry.js.map} +0 -0
  207. /package/dist/dso-toolkit/{p-a616ab8a.entry.js.map → p-2ccbf58d.entry.js.map} +0 -0
  208. /package/dist/dso-toolkit/{p-9f2bb98b.entry.js.map → p-3cbf8b97.entry.js.map} +0 -0
  209. /package/dist/dso-toolkit/{p-29b741cb.entry.js.map → p-3d4308ba.entry.js.map} +0 -0
  210. /package/dist/dso-toolkit/{p-c8165a50.entry.js.map → p-420e0d23.entry.js.map} +0 -0
  211. /package/dist/dso-toolkit/{p-bf203ab8.entry.js.map → p-423fa057.entry.js.map} +0 -0
  212. /package/dist/dso-toolkit/{p-debbe184.entry.js.map → p-440fc4ae.entry.js.map} +0 -0
  213. /package/dist/dso-toolkit/{p-d3f69d06.entry.js.map → p-49bce8b2.entry.js.map} +0 -0
  214. /package/dist/dso-toolkit/{p-f56c1b28.entry.js.map → p-4bc67e5c.entry.js.map} +0 -0
  215. /package/dist/dso-toolkit/{p-9b587a94.entry.js.map → p-4da2fa8b.entry.js.map} +0 -0
  216. /package/dist/dso-toolkit/{p-0e5a93c3.entry.js.map → p-4e86089d.entry.js.map} +0 -0
  217. /package/dist/dso-toolkit/{p-68e9f61b.entry.js.map → p-51f19c06.entry.js.map} +0 -0
  218. /package/dist/dso-toolkit/{p-05ea1fba.entry.js.map → p-54c65314.entry.js.map} +0 -0
  219. /package/dist/dso-toolkit/{p-818d032e.entry.js.map → p-5ee79846.entry.js.map} +0 -0
  220. /package/dist/dso-toolkit/{p-e2cacb8b.entry.js.map → p-604eb60b.entry.js.map} +0 -0
  221. /package/dist/dso-toolkit/{p-1c295ae2.entry.js.map → p-669c3743.entry.js.map} +0 -0
  222. /package/dist/dso-toolkit/{p-b67631ef.entry.js.map → p-745b6678.entry.js.map} +0 -0
  223. /package/dist/dso-toolkit/{p-cfd6f4ef.entry.js.map → p-7a6be9c1.entry.js.map} +0 -0
  224. /package/dist/dso-toolkit/{p-27dfadbf.entry.js.map → p-8b77b083.entry.js.map} +0 -0
  225. /package/dist/dso-toolkit/{p-3fa7489e.entry.js.map → p-8f8dd254.entry.js.map} +0 -0
  226. /package/dist/dso-toolkit/{p-e26974ee.entry.js.map → p-98f7ede6.entry.js.map} +0 -0
  227. /package/dist/dso-toolkit/{p-fafa5ea1.entry.js.map → p-a00c4003.entry.js.map} +0 -0
  228. /package/dist/dso-toolkit/{p-9fee52e5.entry.js.map → p-a1060560.entry.js.map} +0 -0
  229. /package/dist/dso-toolkit/{p-6050e8e6.entry.js.map → p-b34f24b4.entry.js.map} +0 -0
  230. /package/dist/dso-toolkit/{p-168750a2.entry.js.map → p-b76768a5.entry.js.map} +0 -0
  231. /package/dist/dso-toolkit/{p-e86e0fce.entry.js.map → p-b9d441d5.entry.js.map} +0 -0
  232. /package/dist/dso-toolkit/{p-1fe715e4.entry.js.map → p-bc9e3037.entry.js.map} +0 -0
  233. /package/dist/dso-toolkit/{p-bcae3f55.entry.js.map → p-bcecc743.entry.js.map} +0 -0
  234. /package/dist/dso-toolkit/{p-f3ed8688.entry.js.map → p-f21e4ccc.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["ViewerGridFilterpanelButtons","onApply","onCancel","h","class","type","onClick","icon","viewerGridCss","ViewerGrid","this","sizeLabelMap","small","medium","large","filterpanelSlot","overlaySlot","shrinkMain","mainSize","expandMain","keyDownListener","event","key","dsoCloseOverlay","emit","mainSizeWatcher","currentSize","previousSize","dsoMainSizeChange","stage","_a","mapPanel","addEventListener","e","propertyName","once","updateFocusTrap","filterpanelOpen","overlayOpen","filterpanelFocustrap","filterpanel","hidden","activate","host","deactivate","removeEventListener","overlayFocustrap","_b","overlay","connectedCallback","querySelector","componentDidLoad","createFocusTrap","escapeDeactivates","allowOutsideClick","tabbableOptions","getShadowRoot","componentWillLoad","initialMainSize","componentDidUpdate","disconnectedCallback","handleFilterpanelApply","mouseEvent","dsoFilterpanelApply","originalEvent","handleFilterpanelCancel","dsoFilterpanelCancel","render","Host","Object","assign","ref","element","disabled","name","id","style","zIndex"],"sources":["./src/components/viewer-grid/viewer-grid-filterpanel-buttons.tsx","./src/components/viewer-grid/viewer-grid.scss?tag=dso-viewer-grid&encapsulation=shadow","./src/components/viewer-grid/viewer-grid.tsx"],"sourcesContent":["import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport interface ViewerGridFilterpanelProps {\r\n onApply: (mouseEvent: MouseEvent) => void;\r\n onCancel: (mouseEvent: MouseEvent) => void;\r\n}\r\n\r\nexport const ViewerGridFilterpanelButtons: FunctionalComponent<ViewerGridFilterpanelProps> = ({\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","@use \"~dso-toolkit/src/components/grid\" as css-grid;\r\n\r\n@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/headings\";\r\n\r\n@use \"viewer-grid.variables\" as core-viewer-grid-variables;\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: flex;\r\n height: 100vh;\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n:host([small]) {\r\n .dso-map-panel {\r\n flex-basis: core-viewer-grid-variables.$small;\r\n min-width: 0;\r\n max-width: core-viewer-grid-variables.$small;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$small) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: 0;\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\n:host([medium]) {\r\n .dso-map-panel {\r\n flex-basis: core-viewer-grid-variables.$medium;\r\n min-width: core-viewer-grid-variables.$small;\r\n max-width: core-viewer-grid-variables.$medium;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$medium) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: core-viewer-grid-variables.$small;\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\n:host([large]) {\r\n .dso-map-panel {\r\n flex-basis: core-viewer-grid-variables.$large;\r\n min-width: core-viewer-grid-variables.$large-min;\r\n max-width: core-viewer-grid-variables.$large-max;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$large-min) {\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n min-width: core-viewer-grid-variables.$large-min;\r\n transition: none;\r\n }\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.shrink,\r\n.expand,\r\n.overlay-close-button {\r\n @include button.tertiary($modifiers: false);\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n &[disabled] {\r\n display: none;\r\n }\r\n}\r\n\r\n.overlay-close-button {\r\n position: absolute;\r\n top: units.$u1;\r\n right: css-grid.$grid-gutter-width * 0.5;\r\n}\r\n\r\n.dso-map-panel {\r\n background-color: colors.$wit;\r\n box-shadow: units.$u1 * 0.25 0 units.$u1 0 rgba(0, 0, 0, 0.4);\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n padding-right: units.$u1;\r\n position: relative;\r\n transition: flex-basis core-viewer-grid-variables.$transition-time ease-in,\r\n max-width core-viewer-grid-variables.$transition-time ease-in,\r\n min-width core-viewer-grid-variables.$transition-time ease-in;\r\n z-index: zindex.$viewer-grid-map-panel;\r\n\r\n .dso-filterblok-address {\r\n font-weight: bold;\r\n margin: units.$u1 0;\r\n }\r\n\r\n .main {\r\n height: 100%;\r\n overflow-y: scroll;\r\n padding: 0 css-grid.$grid-gutter-width * 0.5 units.$u1;\r\n }\r\n}\r\n\r\n.sizing-buttons {\r\n left: calc(100% + 1px);\r\n overflow-x: hidden;\r\n padding: 0 units.$u1 * 0.5 units.$u1 * 0.5 0;\r\n position: absolute;\r\n top: core-viewer-grid-variables.$sizing-buttons-top;\r\n transition: left core-viewer-grid-variables.$transition-time ease-in;\r\n width: core-viewer-grid-variables.$resize-button-size + units.$u1 * 0.5;\r\n z-index: zindex.$viewer-grid-sizing-buttons;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n @include button.map-focus();\r\n\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n border-bottom-right-radius: 4px;\r\n border-top-right-radius: 4px;\r\n box-shadow: 0 1px units.$u1 * 0.5 0 rgba(0, 0, 0, 0.4);\r\n flex: 0 0 100%;\r\n height: core-viewer-grid-variables.$resize-button-size;\r\n min-width: auto;\r\n width: core-viewer-grid-variables.$resize-button-size;\r\n\r\n &:hover {\r\n dso-icon {\r\n color: colors.$wit;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.map {\r\n height: 100%;\r\n width: 100%;\r\n overflow: hidden;\r\n}\r\n\r\n.filterpanel,\r\n.overlay {\r\n background-color: colors.$wit;\r\n height: 100%;\r\n overflow-y: auto;\r\n position: absolute;\r\n z-index: zindex.$viewer-grid-map-panel + 1;\r\n}\r\n\r\n.filterpanel {\r\n box-shadow: 2px 0 5px colors.$grijs-60;\r\n padding: units.$u1 css-grid.$grid-gutter-width * 0.5;\r\n left: 0;\r\n max-width: core-viewer-grid-variables.$filterpanel-max-width;\r\n width: calc(100vw - 40px);\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$filterpanel-width) {\r\n width: 100vw;\r\n\r\n &::before {\r\n display: none !important;\r\n }\r\n }\r\n\r\n h1 {\r\n @include headings.base();\r\n @include headings.margin-large();\r\n @include headings.h1();\r\n }\r\n\r\n &::before {\r\n content: \"\";\r\n display: block;\r\n position: fixed;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n left: core-viewer-grid-variables.$filterpanel-max-width;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n\r\n @media screen and (max-width: #{core-viewer-grid-variables.$filterpanel-max-width + 40px}) {\r\n left: auto;\r\n width: 40px;\r\n }\r\n }\r\n}\r\n\r\n.overlay {\r\n box-shadow: -2px 0 5px colors.$grijs-60;\r\n padding: units.$u5 css-grid.$grid-gutter-width * 0.5 units.$u1;\r\n right: 0;\r\n width: core-viewer-grid-variables.$overlay-width;\r\n\r\n @media screen and (max-width: core-viewer-grid-variables.$overlay-width) {\r\n width: 100vw;\r\n }\r\n}\r\n\r\n.dimscreen {\r\n position: fixed;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: core-viewer-grid-variables.$overlay-width;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n z-index: zindex.$viewer-grid-map-panel + 2;\r\n}\r\n\r\n.filterpanel-buttons {\r\n text-align: right;\r\n\r\n .cancel-button {\r\n @include button.secondary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .apply-button {\r\n @include button.primary($modifiers: false);\r\n @include button.small();\r\n }\r\n\r\n .cancel-button + .apply-button {\r\n margin-left: units.$u2;\r\n }\r\n}\r\n","import { h, Component, Prop, State, Host, Element, Event, EventEmitter, Watch } from \"@stencil/core\";\r\nimport { FocusTrap, createFocusTrap } from \"focus-trap\";\r\nimport { ViewerGridFilterpanelButtons } from \"./viewer-grid-filterpanel-buttons\";\r\nimport { FilterpanelEvent, LabelSizeMap, MainSize, ViewerGridChangeSizeEvent } from \"./viewer-grid.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-viewer-grid\",\r\n styleUrl: \"viewer-grid.scss\",\r\n shadow: true,\r\n})\r\nexport class ViewerGrid {\r\n private sizeLabelMap: LabelSizeMap = {\r\n small: \"smal\",\r\n medium: \"middel\",\r\n large: \"breed\",\r\n };\r\n\r\n private mapPanel?: HTMLDivElement;\r\n\r\n /**\r\n * Set to true when filterpanel should show.\r\n */\r\n @Prop({ reflect: true })\r\n filterpanelOpen = false;\r\n\r\n /**\r\n * Set to true when overlay should show.\r\n */\r\n @Prop({ reflect: true })\r\n overlayOpen = false;\r\n\r\n /**\r\n * Size of the main content panel when component loads. Changing this attribute afterwards has no effect.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop()\r\n initialMainSize?: MainSize;\r\n\r\n @State()\r\n mainSize: MainSize = \"large\";\r\n\r\n /**\r\n * Emitted when user wants to close the overlay.\r\n */\r\n @Event()\r\n dsoCloseOverlay!: EventEmitter<MouseEvent | KeyboardEvent>;\r\n\r\n /**\r\n * Emitted when user cancels filterpanel.\r\n */\r\n @Event()\r\n dsoFilterpanelCancel!: EventEmitter<FilterpanelEvent>;\r\n\r\n /**\r\n * Emitted when user applies filterpanel options.\r\n */\r\n @Event()\r\n dsoFilterpanelApply!: EventEmitter<FilterpanelEvent>;\r\n\r\n /**\r\n * Emitted before and after main size animation. Inspect `detail` property for more information.\r\n */\r\n @Event()\r\n dsoMainSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoViewerGridElement;\r\n\r\n private filterpanel: HTMLElement | undefined;\r\n\r\n private filterpanelSlot: HTMLElement | null = null;\r\n\r\n private filterpanelFocustrap: FocusTrap | undefined;\r\n\r\n private overlay: HTMLDivElement | undefined;\r\n\r\n private overlaySlot: HTMLDivElement | null = null;\r\n\r\n private overlayFocustrap: FocusTrap | undefined;\r\n\r\n @Watch(\"mainSize\")\r\n mainSizeWatcher(currentSize: MainSize, previousSize: MainSize) {\r\n this.dsoMainSizeChange.emit({\r\n stage: \"start\",\r\n previousSize,\r\n currentSize,\r\n });\r\n\r\n this.mapPanel?.addEventListener(\r\n \"transitionend\",\r\n (e) => {\r\n if (e.propertyName === \"flex-basis\") {\r\n this.dsoMainSizeChange.emit({\r\n stage: \"end\",\r\n previousSize,\r\n currentSize,\r\n });\r\n }\r\n },\r\n { once: true }\r\n );\r\n }\r\n\r\n private shrinkMain = () => {\r\n this.mainSize = this.mainSize === \"large\" ? \"medium\" : \"small\";\r\n };\r\n\r\n private expandMain = () => {\r\n this.mainSize = this.mainSize === \"small\" ? \"medium\" : \"large\";\r\n };\r\n\r\n private updateFocusTrap() {\r\n if (this.filterpanelOpen && this.overlayOpen) {\r\n return;\r\n }\r\n\r\n if (this.filterpanelFocustrap) {\r\n if (this.filterpanelOpen && !this.filterpanel?.hidden) {\r\n this.filterpanelFocustrap.activate();\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n } else {\r\n this.filterpanelFocustrap.deactivate();\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n }\r\n }\r\n\r\n if (this.overlayFocustrap) {\r\n if (this.overlayOpen && !this.overlay?.hidden) {\r\n this.overlayFocustrap.activate();\r\n this.host.addEventListener(\"keydown\", this.keyDownListener);\r\n } else {\r\n this.overlayFocustrap.deactivate();\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n }\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key !== \"Escape\") {\r\n return;\r\n }\r\n\r\n this.dsoCloseOverlay.emit(event);\r\n };\r\n\r\n connectedCallback() {\r\n this.filterpanelSlot = this.host.querySelector<HTMLDivElement>(\"div[slot='filterpanel']\");\r\n\r\n this.overlaySlot = this.host.querySelector<HTMLDivElement>(\"div[slot='overlay']\");\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.filterpanel && this.filterpanelSlot) {\r\n this.filterpanelFocustrap = createFocusTrap([this.filterpanel, this.filterpanelSlot], {\r\n escapeDeactivates: false,\r\n allowOutsideClick: true,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n });\r\n }\r\n\r\n if (this.overlay && this.overlaySlot) {\r\n this.overlayFocustrap = createFocusTrap([this.overlay, this.overlaySlot], {\r\n escapeDeactivates: false,\r\n allowOutsideClick: true,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n });\r\n }\r\n\r\n this.updateFocusTrap();\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.initialMainSize) {\r\n this.mainSize = this.initialMainSize;\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n this.updateFocusTrap();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.overlayFocustrap?.deactivate();\r\n this.filterpanelFocustrap?.deactivate();\r\n\r\n this.host.removeEventListener(\"keydown\", this.keyDownListener);\r\n }\r\n\r\n private handleFilterpanelApply(mouseEvent: MouseEvent) {\r\n this.dsoFilterpanelApply.emit({ originalEvent: mouseEvent });\r\n }\r\n\r\n private handleFilterpanelCancel(mouseEvent: MouseEvent) {\r\n this.dsoFilterpanelCancel.emit({ originalEvent: mouseEvent });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host {...{ [this.mainSize]: true }}>\r\n <div class=\"dso-map-panel\" ref={(element) => (this.mapPanel = element)}>\r\n <div class=\"sizing-buttons\">\r\n <span class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\r\n Breedte tekstpaneel: {this.sizeLabelMap[this.mainSize]}\r\n </span>\r\n <button type=\"button\" class=\"shrink\" disabled={this.mainSize === \"small\"} onClick={this.shrinkMain}>\r\n <span class=\"sr-only\">Tekstpaneel smaller maken</span>\r\n <dso-icon icon=\"chevron-left\"></dso-icon>\r\n </button>\r\n <button type=\"button\" class=\"expand\" disabled={this.mainSize === \"large\"} onClick={this.expandMain}>\r\n <span class=\"sr-only\">Tekstpaneel breder maken</span>\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </button>\r\n </div>\r\n <div class=\"main\">\r\n <slot name=\"main\" />\r\n </div>\r\n </div>\r\n <div\r\n id=\"filterpanel\"\r\n class=\"filterpanel\"\r\n hidden={!this.filterpanelOpen || !this.filterpanelSlot}\r\n ref={(element) => (this.filterpanel = element)}\r\n >\r\n <h1>Uw keuzes</h1>\r\n <ViewerGridFilterpanelButtons\r\n onApply={(e) => this.handleFilterpanelApply(e)}\r\n onCancel={(e) => this.handleFilterpanelCancel(e)}\r\n />\r\n <slot name=\"filterpanel\" />\r\n <ViewerGridFilterpanelButtons\r\n onApply={(e) => this.handleFilterpanelApply(e)}\r\n onCancel={(e) => this.handleFilterpanelCancel(e)}\r\n />\r\n </div>\r\n <div class=\"map\">\r\n <slot name=\"map\" />\r\n </div>\r\n <div hidden={!this.overlayOpen || !this.overlaySlot} class=\"dimscreen\"></div>\r\n <div\r\n class=\"overlay\"\r\n hidden={!this.overlayOpen || !this.overlaySlot}\r\n ref={(element) => (this.overlay = element)}\r\n >\r\n <button type=\"button\" class=\"overlay-close-button\" onClick={(e) => this.dsoCloseOverlay.emit(e)}>\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 {/* This button is needed for the `focus-trap` library to function correctly. It is never focused. */}\r\n <button aria-hidden=\"true\" type=\"button\" class=\"overlay-close-button\" style={{ zIndex: \"-100\" }}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">sluiten</span>\r\n </button>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}