@dso-toolkit/core 34.2.1 → 36.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/dist/cjs/dso-alert.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-attachments-counter.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-autosuggest.cjs.entry.js +7 -3
  4. package/dist/cjs/dso-badge.cjs.entry.js +1 -1
  5. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-date-picker.cjs.entry.js +2 -2
  7. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +2 -2
  8. package/dist/cjs/dso-header.cjs.entry.js +16 -7
  9. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +1 -1
  10. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  11. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  12. package/dist/cjs/dso-image-overlay.cjs.entry.js +62 -0
  13. package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
  14. package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
  15. package/dist/cjs/dso-label.cjs.entry.js +1 -1
  16. package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
  17. package/dist/cjs/dso-map-controls.cjs.entry.js +22 -19
  18. package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
  19. package/dist/cjs/dso-ozon-content.cjs.entry.js +289 -419
  20. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  21. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  22. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  23. package/dist/cjs/dso-toolkit.cjs.js +3 -3
  24. package/dist/cjs/dso-tooltip.cjs.entry.js +8 -4
  25. package/dist/cjs/dso-tree-view.cjs.entry.js +9 -9
  26. package/dist/cjs/dso-viewer-grid.cjs.entry.js +6 -712
  27. package/dist/cjs/focus-trap.esm-a85643b0.js +746 -0
  28. package/dist/cjs/{index-5ea63531.js → index-dfb4ea62.js} +73 -64
  29. package/dist/cjs/index.esm-3520a2a6.js +427 -0
  30. package/dist/cjs/loader.cjs.js +3 -3
  31. package/dist/collection/collection-manifest.json +3 -2
  32. package/dist/collection/components/alert/alert.template.js +1 -1
  33. package/dist/collection/components/anchor/anchor.template.js +1 -1
  34. package/dist/collection/components/autosuggest/autosuggest.css +1 -1
  35. package/dist/collection/components/autosuggest/autosuggest.js +6 -2
  36. package/dist/collection/components/badge/badge.template.js +1 -1
  37. package/dist/collection/components/button/button.template.js +1 -1
  38. package/dist/collection/components/date-picker/date-picker.css +6 -6
  39. package/dist/collection/components/date-picker/date-picker.template.js +1 -1
  40. package/dist/collection/components/definition-list/definition-list.template.js +2 -2
  41. package/dist/collection/components/dropdown-menu/dropdown-menu.template.js +1 -1
  42. package/dist/collection/components/header/header.css +1 -1
  43. package/dist/collection/components/header/header.js +38 -9
  44. package/dist/collection/components/header/header.template.js +4 -2
  45. package/dist/collection/components/helpcenter-panel/helpcenter-panel.template.js +2 -2
  46. package/dist/collection/components/highlight-box/highlight-box.template.js +5 -2
  47. package/dist/collection/components/icon/icon.template.js +1 -1
  48. package/dist/collection/components/image-overlay/image-overlay.css +263 -0
  49. package/dist/collection/components/image-overlay/image-overlay.js +72 -0
  50. package/dist/collection/components/image-overlay/image-overlay.template.js +7 -0
  51. package/dist/collection/components/label/label.template.js +2 -2
  52. package/dist/collection/components/list/list.template.js +1 -1
  53. package/dist/collection/components/map-controls/map-controls.js +17 -19
  54. package/dist/collection/components/ozon-content/get-node-name.function.js +9 -0
  55. package/dist/collection/components/ozon-content/nodes/al.node.js +14 -0
  56. package/dist/collection/components/ozon-content/nodes/document.node.js +9 -0
  57. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +15 -0
  58. package/dist/collection/components/ozon-content/nodes/fallback.node.js +11 -0
  59. package/dist/collection/components/ozon-content/nodes/illustratie.node.js +13 -0
  60. package/dist/collection/components/ozon-content/nodes/inhoud.node.js +14 -0
  61. package/dist/collection/components/ozon-content/nodes/inline.nodes.js +21 -0
  62. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +26 -0
  63. package/dist/collection/components/ozon-content/nodes/noot.node.js +27 -0
  64. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js +39 -0
  65. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js +2 -0
  66. package/dist/collection/components/ozon-content/nodes/table.node/index.js +1 -0
  67. package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +25 -0
  68. package/dist/collection/components/ozon-content/nodes/table.node/table-colgroup.js +4 -0
  69. package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js +5 -0
  70. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +32 -0
  71. package/dist/collection/components/ozon-content/nodes/text.node.js +9 -0
  72. package/dist/collection/components/ozon-content/ozon-content-context.interface.js +1 -0
  73. package/dist/collection/components/ozon-content/ozon-content-mapper.js +80 -0
  74. package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js +1 -0
  75. package/dist/collection/components/ozon-content/ozon-content-node-state.interface.js +1 -0
  76. package/dist/collection/components/ozon-content/ozon-content-node.interface.js +1 -0
  77. package/dist/collection/components/ozon-content/ozon-content.css +84 -23
  78. package/dist/collection/components/ozon-content/ozon-content.js +21 -33
  79. package/dist/collection/components/progress-bar/progress-bar.template.js +1 -1
  80. package/dist/collection/components/progress-indicator/progress-indicator.template.js +1 -1
  81. package/dist/collection/components/selectable/selectable.css +7 -1
  82. package/dist/collection/components/selectable/selectable.template.js +1 -1
  83. package/dist/collection/components/toggletip/toggletip.template.js +2 -2
  84. package/dist/collection/components/tooltip/tooltip.css +1 -1
  85. package/dist/collection/components/tooltip/tooltip.template.js +1 -1
  86. package/dist/collection/components/tree-view/tree-item.js +7 -7
  87. package/dist/collection/components/tree-view/tree-view.css +86 -15
  88. package/dist/collection/components/viewer-grid/viewer-grid.css +32 -4
  89. package/dist/custom-elements/index.d.ts +6 -0
  90. package/dist/custom-elements/index.js +1541 -1400
  91. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  92. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  93. package/dist/dso-toolkit/p-016ed5a8.entry.js +1 -0
  94. package/dist/dso-toolkit/p-0216f283.entry.js +1 -0
  95. package/dist/dso-toolkit/{p-348414bf.entry.js → p-09bcacd0.entry.js} +1 -1
  96. package/dist/dso-toolkit/{p-2b6a3dfa.entry.js → p-117a31fe.entry.js} +1 -1
  97. package/dist/dso-toolkit/p-131d54e3.js +5 -0
  98. package/dist/dso-toolkit/{p-50b63cf4.entry.js → p-1eeadd3e.entry.js} +1 -1
  99. package/dist/dso-toolkit/{p-ad540748.entry.js → p-2279329b.entry.js} +1 -1
  100. package/dist/dso-toolkit/p-258e8371.entry.js +1 -0
  101. package/dist/dso-toolkit/{p-bc14cafd.entry.js → p-3ced438e.entry.js} +1 -1
  102. package/dist/dso-toolkit/{p-c54ecae1.entry.js → p-406b179d.entry.js} +1 -1
  103. package/dist/dso-toolkit/p-4b5f6b4c.entry.js +1 -0
  104. package/dist/dso-toolkit/{p-3b493a2c.entry.js → p-527a85b6.entry.js} +1 -1
  105. package/dist/dso-toolkit/{p-94dffa65.entry.js → p-52f159e7.entry.js} +1 -1
  106. package/dist/dso-toolkit/{p-dc86d830.entry.js → p-58f5e092.entry.js} +1 -1
  107. package/dist/dso-toolkit/p-5e5fbd41.js +5 -0
  108. package/dist/dso-toolkit/{p-f0b67246.entry.js → p-639228f6.entry.js} +1 -1
  109. package/dist/dso-toolkit/{p-951f5872.entry.js → p-6a8452bd.entry.js} +1 -1
  110. package/dist/dso-toolkit/{p-4e573fc5.entry.js → p-98ef5f8c.entry.js} +1 -1
  111. package/dist/dso-toolkit/{p-94b79e43.entry.js → p-a1c9bb35.entry.js} +1 -1
  112. package/dist/dso-toolkit/{p-3c4dbd89.entry.js → p-a5008a4e.entry.js} +1 -1
  113. package/dist/dso-toolkit/{p-c95108fe.entry.js → p-a59dcbb0.entry.js} +1 -1
  114. package/dist/dso-toolkit/p-b06c275a.entry.js +1 -0
  115. package/dist/dso-toolkit/p-b4222d6e.entry.js +1 -0
  116. package/dist/dso-toolkit/{p-dad72605.js → p-b9eb3491.js} +1 -1
  117. package/dist/dso-toolkit/p-bec38cf5.entry.js +1 -0
  118. package/dist/dso-toolkit/{p-ad2210ad.entry.js → p-d0d3ca99.entry.js} +1 -1
  119. package/dist/dso-toolkit/{p-5037944e.entry.js → p-d72edd80.entry.js} +1 -1
  120. package/dist/dso-toolkit/{p-1fefbf8c.entry.js → p-e1934ab6.entry.js} +1 -1
  121. package/dist/esm/dso-alert.entry.js +1 -1
  122. package/dist/esm/dso-attachments-counter.entry.js +1 -1
  123. package/dist/esm/dso-autosuggest.entry.js +7 -3
  124. package/dist/esm/dso-badge.entry.js +1 -1
  125. package/dist/esm/dso-banner.entry.js +1 -1
  126. package/dist/esm/dso-date-picker.entry.js +2 -2
  127. package/dist/esm/dso-dropdown-menu.entry.js +2 -2
  128. package/dist/esm/dso-header.entry.js +16 -7
  129. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  130. package/dist/esm/dso-highlight-box.entry.js +1 -1
  131. package/dist/esm/dso-icon.entry.js +1 -1
  132. package/dist/esm/dso-image-overlay.entry.js +58 -0
  133. package/dist/esm/dso-info-button.entry.js +1 -1
  134. package/dist/esm/dso-info_2.entry.js +2 -2
  135. package/dist/esm/dso-label.entry.js +1 -1
  136. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  137. package/dist/esm/dso-map-controls.entry.js +22 -19
  138. package/dist/esm/dso-map-overlays.entry.js +1 -1
  139. package/dist/esm/dso-ozon-content.entry.js +289 -419
  140. package/dist/esm/dso-progress-bar.entry.js +1 -1
  141. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  142. package/dist/esm/dso-toggletip.entry.js +1 -1
  143. package/dist/esm/dso-toolkit.js +3 -3
  144. package/dist/esm/dso-tooltip.entry.js +8 -4
  145. package/dist/esm/dso-tree-view.entry.js +9 -9
  146. package/dist/esm/dso-viewer-grid.entry.js +4 -710
  147. package/dist/esm/focus-trap.esm-a01ad6c9.js +744 -0
  148. package/dist/esm/{index-d54cae76.js → index-9ec8c07f.js} +73 -64
  149. package/dist/esm/index.esm-45465af7.js +422 -0
  150. package/dist/esm/loader.js +3 -3
  151. package/dist/types/components/autosuggest/autosuggest.d.ts +15 -1
  152. package/dist/types/components/header/header.d.ts +7 -1
  153. package/dist/types/components/header/header.template.d.ts +1 -1
  154. package/dist/types/components/image-overlay/image-overlay.d.ts +15 -0
  155. package/dist/types/components/image-overlay/image-overlay.template.d.ts +2 -0
  156. package/dist/types/components/ozon-content/get-node-name.function.d.ts +1 -0
  157. package/dist/types/components/ozon-content/nodes/al.node.d.ts +6 -0
  158. package/dist/types/components/ozon-content/nodes/document.node.d.ts +6 -0
  159. package/dist/types/components/ozon-content/nodes/ext-ref.node.d.ts +6 -0
  160. package/dist/types/components/ozon-content/nodes/fallback.node.d.ts +6 -0
  161. package/dist/types/components/ozon-content/nodes/illustratie.node.d.ts +5 -0
  162. package/dist/types/components/ozon-content/nodes/inhoud.node.d.ts +6 -0
  163. package/dist/types/components/ozon-content/nodes/inline.nodes.d.ts +6 -0
  164. package/dist/types/components/ozon-content/nodes/int-ref.node.d.ts +6 -0
  165. package/dist/types/components/ozon-content/nodes/noot.node.d.ts +8 -0
  166. package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec-mapper.d.ts +2 -0
  167. package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec.interface.d.ts +10 -0
  168. package/dist/types/components/ozon-content/nodes/table.node/index.d.ts +1 -0
  169. package/dist/types/components/ozon-content/nodes/table.node/table-cell.d.ts +8 -0
  170. package/dist/types/components/ozon-content/nodes/table.node/table-colgroup.d.ts +5 -0
  171. package/dist/types/components/ozon-content/nodes/table.node/table-rows.d.ts +8 -0
  172. package/dist/types/components/ozon-content/nodes/table.node/table.node.d.ts +7 -0
  173. package/dist/types/components/ozon-content/nodes/text.node.d.ts +5 -0
  174. package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +8 -0
  175. package/dist/types/components/ozon-content/ozon-content-mapper.d.ts +11 -0
  176. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +7 -0
  177. package/dist/types/components/ozon-content/ozon-content-node-state.interface.d.ts +3 -0
  178. package/dist/types/components/ozon-content/ozon-content-node.interface.d.ts +7 -0
  179. package/dist/types/components/ozon-content/ozon-content.d.ts +7 -10
  180. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +2 -2
  181. package/dist/types/components.d.ts +22 -8
  182. package/dist/types/icon/dso-icon-sass-function.d.ts +1 -1
  183. package/package.json +31 -27
  184. package/dist/cjs/index.esm-2ac7081c.js +0 -267
  185. package/dist/collection/components/ozon-content/ozon-content.transformer.js +0 -105
  186. package/dist/dso-toolkit/p-20856f91.entry.js +0 -1
  187. package/dist/dso-toolkit/p-88bc5873.entry.js +0 -1
  188. package/dist/dso-toolkit/p-8b6e3abc.entry.js +0 -1
  189. package/dist/dso-toolkit/p-8bf3a60e.js +0 -5
  190. package/dist/dso-toolkit/p-a7306b7b.entry.js +0 -1
  191. package/dist/dso-toolkit/p-daa1e29d.entry.js +0 -1
  192. package/dist/dso-toolkit/p-de3ab027.entry.js +0 -5
  193. package/dist/esm/index.esm-a1362957.js +0 -262
  194. package/dist/types/components/ozon-content/ozon-content.transformer.d.ts +0 -15
@@ -14,6 +14,7 @@
14
14
  "./components/helpcenter-panel/helpcenter-panel.js",
15
15
  "./components/highlight-box/highlight-box.js",
16
16
  "./components/icon/icon.js",
17
+ "./components/image-overlay/image-overlay.js",
17
18
  "./components/info/info.js",
18
19
  "./components/label/label.js",
19
20
  "./components/map-base-layers/map-base-layers.js",
@@ -28,8 +29,8 @@
28
29
  ],
29
30
  "compiler": {
30
31
  "name": "@stencil/core",
31
- "version": "2.9.0",
32
- "typescriptVersion": "4.2.3"
32
+ "version": "2.10.0",
33
+ "typescriptVersion": "4.3.5"
33
34
  },
34
35
  "collections": [],
35
36
  "bundles": []
@@ -1,5 +1,5 @@
1
1
  import { html, nothing } from 'lit-html';
2
- import { unsafeHTML } from 'lit-html/directives/unsafe-html';
2
+ import { unsafeHTML } from 'lit-html/directives/unsafe-html.js';
3
3
  export function alertTemplate({ status, message, onClick, withRoleAlert }) {
4
4
  return html `
5
5
  <dso-alert status=${status} ?role-alert=${withRoleAlert}>
@@ -1,5 +1,5 @@
1
1
  import { html, nothing } from 'lit-html';
2
- import { ifDefined } from 'lit-html/directives/if-defined';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  import { iconTemplate } from '../icon/icon.template';
4
4
  export function anchorTemplate({ icon, iconMode, label, modifier, url }) {
5
5
  return html `<a
@@ -16,7 +16,7 @@ ul {
16
16
  left: 0;
17
17
  right: 0;
18
18
  top: 100%;
19
- z-index: 10;
19
+ z-index: 200;
20
20
  }
21
21
  ul li {
22
22
  display: flex;
@@ -5,7 +5,11 @@ import escapeStringRegexp from "escape-string-regexp";
5
5
  export class Autosuggest {
6
6
  constructor() {
7
7
  /**
8
- * The suggestions for the value of the slotted input element
8
+ * The suggestions for the value of the slotted input element. Optionally a
9
+ * Suggestion can have a `type` and `item`.
10
+ *
11
+ * The `type` is used to style the suggestion. `item` can be use to reference
12
+ * the original object that was used to create the suggestion.
9
13
  */
10
14
  this.suggestions = [];
11
15
  /**
@@ -238,7 +242,7 @@ export class Autosuggest {
238
242
  "optional": false,
239
243
  "docs": {
240
244
  "tags": [],
241
- "text": "The suggestions for the value of the slotted input element"
245
+ "text": "The suggestions for the value of the slotted input element. Optionally a\nSuggestion can have a `type` and `item`.\n\nThe `type` is used to style the suggestion. `item` can be use to reference\nthe original object that was used to create the suggestion."
242
246
  },
243
247
  "defaultValue": "[]"
244
248
  },
@@ -1,5 +1,5 @@
1
1
  import { html } from 'lit-html';
2
- import { ifDefined } from 'lit-html/directives/if-defined';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  export function badgeTemplate({ status, message }) {
4
4
  return html `
5
5
  <dso-badge status=${ifDefined(status)}>${message}</dso-badge>
@@ -1,5 +1,5 @@
1
1
  import { html, nothing } from 'lit-html';
2
- import { ifDefined } from 'lit-html/directives/if-defined';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  import { iconTemplate } from '../icon/icon.template';
4
4
  export function buttonTemplate(button) {
5
5
  return 'url' in button
@@ -96,7 +96,7 @@
96
96
  top: 50%;
97
97
  user-select: none;
98
98
  width: 38px;
99
- z-index: 2;
99
+ z-index: 101;
100
100
  }
101
101
  .dso-date__toggle:disabled {
102
102
  color: #afcf9d;
@@ -116,7 +116,7 @@
116
116
  transition: transform 300ms ease, opacity 300ms ease, visibility 300ms ease;
117
117
  visibility: hidden;
118
118
  will-change: transform, opacity, visibility;
119
- z-index: 600;
119
+ z-index: 210;
120
120
  }
121
121
  @media (max-width: 35.9375em) {
122
122
  .dso-date__dialog {
@@ -155,7 +155,7 @@
155
155
  position: relative;
156
156
  transform: none;
157
157
  width: 100%;
158
- z-index: 600;
158
+ z-index: 210;
159
159
  }
160
160
  @media (max-width: 35.9375em) {
161
161
  .dso-date__dialog-content {
@@ -233,7 +233,7 @@
233
233
  text-align: center;
234
234
  vertical-align: middle;
235
235
  width: 38px;
236
- z-index: 1;
236
+ z-index: 100;
237
237
  }
238
238
  .dso-date__day.is-today {
239
239
  background: transparent;
@@ -372,7 +372,7 @@
372
372
  position: absolute;
373
373
  top: 0;
374
374
  width: 100%;
375
- z-index: 2;
375
+ z-index: 101;
376
376
  }
377
377
  .dso-date__select select:focus + .dso-date__select-label {
378
378
  box-shadow: 0 0 0 2px #275937;
@@ -390,7 +390,7 @@
390
390
  pointer-events: none;
391
391
  position: relative;
392
392
  width: 100%;
393
- z-index: 1;
393
+ z-index: 100;
394
394
  }
395
395
  .dso-date__select-label span {
396
396
  font-size: 1.25rem;
@@ -1,5 +1,5 @@
1
1
  import { html } from 'lit-html';
2
- import { ifDefined } from 'lit-html/directives/if-defined';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  export function datePickerTemplate({ id, onDateChange, value, min, max, disabled, autofocus, direction }) {
4
4
  return html `
5
5
  <dso-date-picker
@@ -1,6 +1,6 @@
1
1
  import { html } from 'lit-html';
2
- import { ifDefined } from 'lit-html/directives/if-defined';
3
- import { unsafeHTML } from 'lit-html/directives/unsafe-html';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ import { unsafeHTML } from 'lit-html/directives/unsafe-html.js';
4
4
  import { listTemplate } from '../list/list.template';
5
5
  function definitionTemplate({ term, descriptions }, useSrOnlyColon) {
6
6
  return html `
@@ -1,5 +1,5 @@
1
1
  import { html } from "lit-html";
2
- import { ifDefined } from 'lit-html/directives/if-defined';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  export function dropdownMenuTemplate({ id, button, dropdownAlign, isCheckable, children }) {
4
4
  return html `
5
5
  <dso-dropdown-menu
@@ -165,7 +165,7 @@ dso-dropdown-menu .dso-dropdown-options {
165
165
  position: absolute;
166
166
  text-align: left;
167
167
  top: 100%;
168
- z-index: 1000;
168
+ z-index: 220;
169
169
  }
170
170
  dso-dropdown-menu .dso-dropdown-options li {
171
171
  list-style: none;
@@ -1,9 +1,10 @@
1
- import { Component, Element, Fragment, h, Prop, State, Watch, } from "@stencil/core";
1
+ import { Component, Element, Event, Fragment, h, Prop, State, Watch, } from "@stencil/core";
2
2
  import clsx from "clsx";
3
3
  import debounce from "debounce";
4
4
  const minDesktopViewportWidth = 992;
5
5
  export class Header {
6
6
  constructor() {
7
+ this.mainMenu = [];
7
8
  this.useDropDownMenu = "auto";
8
9
  this.showDropDown = false;
9
10
  this.isLoggedIn = false;
@@ -13,6 +14,17 @@ export class Header {
13
14
  this.setDropDownMenu();
14
15
  this.setOverflowMenu();
15
16
  }, 100);
17
+ this.MenuItem = (item) => {
18
+ const click = (event) => {
19
+ event.preventDefault();
20
+ this.menuItemClick.emit({
21
+ originalEvent: event,
22
+ menuItem: item,
23
+ });
24
+ };
25
+ return (h("li", { class: item.active ? "dso-active" : undefined },
26
+ h("a", { href: item.url, "aria-current": item.active ? "page" : undefined, onClick: click }, item.label)));
27
+ };
16
28
  }
17
29
  watchUseDropDownMenu(value) {
18
30
  if (value === "auto") {
@@ -64,10 +76,6 @@ export class Header {
64
76
  disconnectedCallback() {
65
77
  window.removeEventListener("resize", this.onWindowResize);
66
78
  }
67
- MenuItem(item) {
68
- return (h("li", { class: item.active ? "dso-active" : undefined },
69
- h("a", { href: item.url, "aria-current": item.active ? "page" : undefined }, item.label)));
70
- }
71
79
  render() {
72
80
  return (h(Fragment, null,
73
81
  h("div", { class: clsx("dso-header", {
@@ -79,7 +87,7 @@ export class Header {
79
87
  h("slot", { name: "logo" })),
80
88
  h("div", { class: "sub-logo" },
81
89
  h("slot", { name: "sub-logo" }))),
82
- this.showDropDown && (h("div", { class: "dropdown" },
90
+ this.showDropDown && this.mainMenu.length > 0 && (h("div", { class: "dropdown" },
83
91
  h("dso-dropdown-menu", { "dropdown-align": "right" },
84
92
  h("button", { type: "button", class: "tertiary", slot: "toggle" },
85
93
  h("span", null, "Menu")),
@@ -99,7 +107,7 @@ export class Header {
99
107
  h("span", { class: "profile-label" }, "- Mijn profiel")))),
100
108
  this.logoutUrl && this.isLoggedIn && (h("li", null,
101
109
  h("a", { href: this.logoutUrl }, "Uitloggen"))))))))),
102
- !this.showDropDown && (h(Fragment, null,
110
+ !this.showDropDown && this.mainMenu.length > 0 && (h(Fragment, null,
103
111
  h("div", { class: "dso-header-session" },
104
112
  this.userProfileUrl &&
105
113
  this.userProfileName &&
@@ -186,12 +194,13 @@ export class Header {
186
194
  }
187
195
  }
188
196
  },
189
- "required": true,
197
+ "required": false,
190
198
  "optional": false,
191
199
  "docs": {
192
200
  "tags": [],
193
201
  "text": ""
194
- }
202
+ },
203
+ "defaultValue": "[]"
195
204
  },
196
205
  "useDropDownMenu": {
197
206
  "type": "string",
@@ -286,6 +295,26 @@ export class Header {
286
295
  "hasSubLogo": {},
287
296
  "overflowMenuItems": {}
288
297
  }; }
298
+ static get events() { return [{
299
+ "method": "menuItemClick",
300
+ "name": "menuItemClick",
301
+ "bubbles": true,
302
+ "cancelable": true,
303
+ "composed": true,
304
+ "docs": {
305
+ "tags": [],
306
+ "text": ""
307
+ },
308
+ "complexType": {
309
+ "original": "HeaderMenuItemClickEvent",
310
+ "resolved": "HeaderMenuItemClickEvent",
311
+ "references": {
312
+ "HeaderMenuItemClickEvent": {
313
+ "location": "local"
314
+ }
315
+ }
316
+ }
317
+ }]; }
289
318
  static get elementRef() { return "host"; }
290
319
  static get watchers() { return [{
291
320
  "propName": "useDropDownMenu",
@@ -1,6 +1,6 @@
1
1
  import { html } from "lit-html";
2
- import { ifDefined } from "lit-html/directives/if-defined";
3
- export function headerTemplate({ logo, subLogo, mainMenu, useDropDownMenu, showSubLogo, loginUrl, logoutUrl, isLoggedIn, showLoggedIn, userProfileUrl, userProfileName, userHomeUrl, }) {
2
+ import { ifDefined } from "lit-html/directives/if-defined.js";
3
+ export function headerTemplate({ logo, subLogo, mainMenu, useDropDownMenu, showSubLogo, loginUrl, logoutUrl, isLoggedIn, showLoggedIn, userProfileUrl, userProfileName, userHomeUrl, menuItemClick, }) {
4
4
  const bindLoginUrl = showLoggedIn && loginUrl ? loginUrl : undefined;
5
5
  const bindLogoutUrl = showLoggedIn && logoutUrl ? logoutUrl : undefined;
6
6
  return showSubLogo
@@ -13,6 +13,7 @@ export function headerTemplate({ logo, subLogo, mainMenu, useDropDownMenu, showS
13
13
  user-profile-url=${ifDefined(userProfileUrl)}
14
14
  user-profile-name=${ifDefined(userProfileName)}
15
15
  user-home-url=${ifDefined(userHomeUrl)}
16
+ @menuItemClick=${menuItemClick}
16
17
  >
17
18
  <div slot="logo"><img height="40" alt="Omgevingsloket" src="${logo}" /></div>
18
19
  <div slot="sub-logo"><img alt="Regels op de kaart" src="${subLogo}" /></div></div>
@@ -26,6 +27,7 @@ export function headerTemplate({ logo, subLogo, mainMenu, useDropDownMenu, showS
26
27
  user-profile-url=${ifDefined(userProfileUrl)}
27
28
  user-profile-name=${ifDefined(userProfileName)}
28
29
  user-home-url=${ifDefined(userHomeUrl)}
30
+ @menuItemClick=${menuItemClick}
29
31
  >
30
32
  <div slot="logo"><img alt="Omgevingsloket" src="${logo}" /></div>
31
33
  </dso-header>`;
@@ -1,6 +1,6 @@
1
1
  import { html } from "lit-html";
2
- import { ifDefined } from "lit-html/directives/if-defined";
3
- import { unsafeHTML } from "lit-html/directives/unsafe-html";
2
+ import { ifDefined } from "lit-html/directives/if-defined.js";
3
+ import { unsafeHTML } from "lit-html/directives/unsafe-html.js";
4
4
  export function helpcenterPanelTemplate({ label, url, content, }) {
5
5
  return html `
6
6
  ${unsafeHTML(content)}
@@ -1,5 +1,6 @@
1
1
  import { html } from 'lit-html';
2
- import { ifDefined } from 'lit-html/directives/if-defined';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ import { unsafeHTML } from 'lit-html/directives/unsafe-html.js';
3
4
  import { iconTemplate } from '../icon/icon.template';
4
5
  export function highlightBoxTemplate({ yellow, white, dropShadow, border, step, icon, richContent }) {
5
6
  return html `
@@ -11,7 +12,9 @@ export function highlightBoxTemplate({ yellow, white, dropShadow, border, step,
11
12
  ?border=${border}
12
13
  >
13
14
  ${icon && iconTemplate({ icon }, 'icon')}
14
- ${richContent}
15
+ <div class="dso-rich-content">
16
+ ${typeof richContent === 'string' ? unsafeHTML(richContent) : richContent}
17
+ </div>
15
18
  </dso-highlight-box>
16
19
  `;
17
20
  }
@@ -1,5 +1,5 @@
1
1
  import { html } from 'lit-html';
2
- import { ifDefined } from 'lit-html/directives/if-defined';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  export function iconTemplate({ icon }, slot) {
4
4
  return html `
5
5
  <dso-icon
@@ -0,0 +1,263 @@
1
+ button {
2
+ -webkit-appearance: button;
3
+ color: inherit;
4
+ cursor: pointer;
5
+ font: inherit;
6
+ font-family: inherit;
7
+ font-size: inherit;
8
+ line-height: inherit;
9
+ margin: 0;
10
+ overflow: visible;
11
+ text-transform: none;
12
+ }
13
+ button[disabled] {
14
+ cursor: default;
15
+ }
16
+ button::-moz-focus-inner {
17
+ border: 0;
18
+ padding: 0;
19
+ }
20
+
21
+ :host {
22
+ display: inline-block;
23
+ position: relative;
24
+ }
25
+
26
+ :host(:hover) .open,
27
+ .open:focus {
28
+ opacity: 1;
29
+ }
30
+
31
+ .open {
32
+ display: inline-block;
33
+ font-size: 1em;
34
+ font-weight: 500;
35
+ margin-bottom: 0;
36
+ text-decoration: none;
37
+ touch-action: manipulation;
38
+ text-align: left;
39
+ user-select: none;
40
+ vertical-align: middle;
41
+ background-color: #fff;
42
+ border-color: #39870c;
43
+ color: #39870c;
44
+ border-width: 1px;
45
+ border-style: solid;
46
+ border-radius: 4px;
47
+ line-height: 1.5;
48
+ min-width: 56px;
49
+ padding: 11px 15px;
50
+ border: 0;
51
+ box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);
52
+ min-width: auto;
53
+ padding: 8px;
54
+ opacity: 0;
55
+ position: absolute;
56
+ right: 16px;
57
+ top: 16px;
58
+ }
59
+ .open:focus, .open:focus-visible {
60
+ outline-offset: 2px;
61
+ }
62
+ .open:active {
63
+ outline: 0;
64
+ }
65
+ .open.extern::after, .open.download::after {
66
+ content: "";
67
+ display: inline-block;
68
+ height: 1.5em;
69
+ margin-left: 8px;
70
+ vertical-align: top;
71
+ width: 1.5em;
72
+ }
73
+ .open:hover {
74
+ background-color: #39870c;
75
+ border-color: #39870c;
76
+ color: #fff;
77
+ }
78
+ .open:active {
79
+ background-color: #275937;
80
+ border-color: #275937;
81
+ color: #fff;
82
+ }
83
+ .open[disabled], .open[disabled]:hover {
84
+ background-color: #fff;
85
+ border-color: #afcf9d;
86
+ color: #afcf9d;
87
+ }
88
+ .open.btn-sm {
89
+ line-height: 16px;
90
+ }
91
+ .open.btn-sm dso-icon,
92
+ .open.btn-sm svg.di, .open.btn-sm.extern::after, .open.btn-sm.download::after {
93
+ margin-bottom: -4px;
94
+ margin-top: -4px;
95
+ }
96
+ .open.download::after {
97
+ background: var(--dso-icon, var(--di-download)) no-repeat;
98
+ background-position: center;
99
+ background-size: cover;
100
+ height: 1.5em;
101
+ vertical-align: top;
102
+ width: 1.5em;
103
+ }
104
+ .open.download:hover::after {
105
+ --dso-icon: var(--di-download-wit);
106
+ }
107
+ .open.download[disabled]::after {
108
+ --dso-icon: var(--di-download-grasgroen-40);
109
+ }
110
+ .open.extern::after {
111
+ background: var(--dso-icon, var(--di-external-link)) no-repeat;
112
+ background-position: center;
113
+ background-size: cover;
114
+ height: 1.5em;
115
+ vertical-align: top;
116
+ width: 1.5em;
117
+ }
118
+ .open.extern:hover::after {
119
+ --dso-icon: var(--di-external-link-wit);
120
+ }
121
+ .open.extern[disabled]::after {
122
+ --dso-icon: var(--di-external-link-grasgroen-40);
123
+ }
124
+ .open > span {
125
+ position: absolute;
126
+ width: 1px;
127
+ height: 1px;
128
+ padding: 0;
129
+ margin: -1px;
130
+ overflow: hidden;
131
+ clip: rect(0, 0, 0, 0);
132
+ border: 0;
133
+ }
134
+
135
+ .dimmer {
136
+ position: fixed;
137
+ top: 0;
138
+ left: 0;
139
+ right: 0;
140
+ bottom: 0;
141
+ z-index: 19;
142
+ display: flex;
143
+ padding: 32px;
144
+ background-color: rgba(255, 255, 255, 0.8);
145
+ justify-content: center;
146
+ }
147
+
148
+ .wrapper {
149
+ box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);
150
+ position: relative;
151
+ z-index: 20;
152
+ align-self: center;
153
+ line-height: 0;
154
+ }
155
+ .wrapper img {
156
+ width: auto;
157
+ height: auto;
158
+ max-width: 100%;
159
+ max-height: calc(100vh - 64px);
160
+ }
161
+
162
+ .close {
163
+ display: inline-block;
164
+ font-size: 1em;
165
+ font-weight: 500;
166
+ margin-bottom: 0;
167
+ text-decoration: none;
168
+ touch-action: manipulation;
169
+ text-align: left;
170
+ user-select: none;
171
+ vertical-align: middle;
172
+ background-color: #fff;
173
+ border-color: #39870c;
174
+ color: #39870c;
175
+ border-width: 1px;
176
+ border-style: solid;
177
+ border-radius: 4px;
178
+ line-height: 1.5;
179
+ min-width: 56px;
180
+ padding: 11px 15px;
181
+ border: 0;
182
+ box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);
183
+ min-width: auto;
184
+ padding: 8px;
185
+ position: absolute;
186
+ top: 16px;
187
+ right: 16px;
188
+ }
189
+ .close:focus, .close:focus-visible {
190
+ outline-offset: 2px;
191
+ }
192
+ .close:active {
193
+ outline: 0;
194
+ }
195
+ .close.extern::after, .close.download::after {
196
+ content: "";
197
+ display: inline-block;
198
+ height: 1.5em;
199
+ margin-left: 8px;
200
+ vertical-align: top;
201
+ width: 1.5em;
202
+ }
203
+ .close:hover {
204
+ background-color: #39870c;
205
+ border-color: #39870c;
206
+ color: #fff;
207
+ }
208
+ .close:active {
209
+ background-color: #275937;
210
+ border-color: #275937;
211
+ color: #fff;
212
+ }
213
+ .close[disabled], .close[disabled]:hover {
214
+ background-color: #fff;
215
+ border-color: #afcf9d;
216
+ color: #afcf9d;
217
+ }
218
+ .close.btn-sm {
219
+ line-height: 16px;
220
+ }
221
+ .close.btn-sm dso-icon,
222
+ .close.btn-sm svg.di, .close.btn-sm.extern::after, .close.btn-sm.download::after {
223
+ margin-bottom: -4px;
224
+ margin-top: -4px;
225
+ }
226
+ .close.download::after {
227
+ background: var(--dso-icon, var(--di-download)) no-repeat;
228
+ background-position: center;
229
+ background-size: cover;
230
+ height: 1.5em;
231
+ vertical-align: top;
232
+ width: 1.5em;
233
+ }
234
+ .close.download:hover::after {
235
+ --dso-icon: var(--di-download-wit);
236
+ }
237
+ .close.download[disabled]::after {
238
+ --dso-icon: var(--di-download-grasgroen-40);
239
+ }
240
+ .close.extern::after {
241
+ background: var(--dso-icon, var(--di-external-link)) no-repeat;
242
+ background-position: center;
243
+ background-size: cover;
244
+ height: 1.5em;
245
+ vertical-align: top;
246
+ width: 1.5em;
247
+ }
248
+ .close.extern:hover::after {
249
+ --dso-icon: var(--di-external-link-wit);
250
+ }
251
+ .close.extern[disabled]::after {
252
+ --dso-icon: var(--di-external-link-grasgroen-40);
253
+ }
254
+ .close > span {
255
+ position: absolute;
256
+ width: 1px;
257
+ height: 1px;
258
+ padding: 0;
259
+ margin: -1px;
260
+ overflow: hidden;
261
+ clip: rect(0, 0, 0, 0);
262
+ border: 0;
263
+ }
@@ -0,0 +1,72 @@
1
+ import { Component, Element, forceUpdate, h, Host, State } from "@stencil/core";
2
+ import { createFocusTrap } from 'focus-trap';
3
+ export class ImageOverlay {
4
+ constructor() {
5
+ this.active = false;
6
+ this.focused = false;
7
+ }
8
+ componentDidLoad() {
9
+ this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));
10
+ this.mutationObserver.observe(this.host, {
11
+ attributes: true,
12
+ subtree: true
13
+ });
14
+ }
15
+ disconnectedCallback() {
16
+ var _a, _b;
17
+ (_a = this.trap) === null || _a === void 0 ? void 0 : _a.deactivate();
18
+ (_b = this.mutationObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
19
+ }
20
+ render() {
21
+ var _a;
22
+ const { src, alt } = (_a = this.host.querySelector('img')) !== null && _a !== void 0 ? _a : {};
23
+ return (h(Host, { tabindex: this.focused ? -1 : 0, onFocus: () => {
24
+ var _a;
25
+ (_a = this.buttonElement) === null || _a === void 0 ? void 0 : _a.focus();
26
+ } },
27
+ this.active && src && alt && (h("div", { class: "dimmer", ref: element => this.wrapperElement = element },
28
+ h("div", { class: "wrapper" },
29
+ h("img", { src: src, alt: alt }),
30
+ h("button", { type: "button", class: "close", onClick: () => this.active = false },
31
+ h("dso-icon", { icon: "times" }),
32
+ h("span", null, "Sluiten"))))),
33
+ h("slot", null),
34
+ h("button", { type: "button", class: "open", ref: element => this.buttonElement = element, onClick: () => this.active = true, onFocus: () => this.focused = true, onBlur: () => this.focused = false },
35
+ h("dso-icon", { icon: "external-link" }),
36
+ h("span", null, "Afbeelding vergroot weergeven"))));
37
+ }
38
+ componentDidRender() {
39
+ var _a, _b;
40
+ if (this.active && this.wrapperElement && !this.trap) {
41
+ this.trap = createFocusTrap(this.wrapperElement, {
42
+ escapeDeactivates: true,
43
+ clickOutsideDeactivates: (e) => {
44
+ if (e instanceof MouseEvent && e.composedPath()[0] === this.wrapperElement) {
45
+ this.active = false;
46
+ return false;
47
+ }
48
+ return true;
49
+ },
50
+ setReturnFocus: (_a = this.buttonElement) !== null && _a !== void 0 ? _a : false,
51
+ onDeactivate: () => this.active = false
52
+ }).activate();
53
+ }
54
+ else if (!this.active && this.trap) {
55
+ (_b = this.trap) === null || _b === void 0 ? void 0 : _b.deactivate();
56
+ delete this.trap;
57
+ }
58
+ }
59
+ static get is() { return "dso-image-overlay"; }
60
+ static get encapsulation() { return "shadow"; }
61
+ static get originalStyleUrls() { return {
62
+ "$": ["./image-overlay.scss"]
63
+ }; }
64
+ static get styleUrls() { return {
65
+ "$": ["image-overlay.css"]
66
+ }; }
67
+ static get states() { return {
68
+ "active": {},
69
+ "focused": {}
70
+ }; }
71
+ static get elementRef() { return "host"; }
72
+ }
@@ -0,0 +1,7 @@
1
+ import { html } from "lit-html";
2
+ import { imageTemplate } from '@dso-toolkit/css/src/components/image/image.template';
3
+ export function imageOverlayTemplate({ image }) {
4
+ return html `
5
+ <dso-image-overlay>${imageTemplate(image)}</dso-image-overlay>
6
+ `;
7
+ }