@dso-toolkit/core 33.3.0 → 34.2.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 (158) hide show
  1. package/dist/cjs/dso-alert.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-attachments-counter.cjs.entry.js +2 -2
  3. package/dist/cjs/dso-autosuggest.cjs.entry.js +1 -1
  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 +48 -26
  7. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +4 -228
  8. package/dist/cjs/dso-header.cjs.entry.js +2 -2
  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-info-button.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-info_2.cjs.entry.js +5 -2
  14. package/dist/cjs/dso-label.cjs.entry.js +1 -1
  15. package/dist/cjs/dso-map-base-layers.cjs.entry.js +18 -3
  16. package/dist/cjs/dso-map-controls.cjs.entry.js +2 -2
  17. package/dist/cjs/dso-map-overlays.cjs.entry.js +18 -3
  18. package/dist/cjs/dso-ozon-content.cjs.entry.js +1 -1
  19. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  20. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  21. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  22. package/dist/cjs/dso-toolkit.cjs.js +2 -2
  23. package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
  24. package/dist/cjs/dso-tree-view.cjs.entry.js +2 -2
  25. package/dist/cjs/dso-viewer-grid.cjs.entry.js +815 -0
  26. package/dist/cjs/{index-fcdfdd38.js → index-5ea63531.js} +26 -2
  27. package/dist/cjs/index.esm-2ac7081c.js +267 -0
  28. package/dist/cjs/loader.cjs.js +2 -2
  29. package/dist/collection/collection-manifest.json +1 -0
  30. package/dist/collection/components/alert/alert.css +0 -3
  31. package/dist/collection/components/anchor/anchor.template.js +17 -0
  32. package/dist/collection/components/attachments-counter/attachments-counter.css +0 -4
  33. package/dist/collection/components/autosuggest/autosuggest.css +0 -3
  34. package/dist/collection/components/badge/badge.css +0 -3
  35. package/dist/collection/components/banner/banner.css +0 -3
  36. package/dist/collection/components/button/button.template.js +48 -0
  37. package/dist/collection/components/context/context.template.js +42 -0
  38. package/dist/collection/components/date-picker/date-picker.css +3 -5
  39. package/dist/collection/components/date-picker/date-picker.js +47 -25
  40. package/dist/collection/components/date-picker/date-picker.template.js +2 -1
  41. package/dist/collection/components/definition-list/definition-list.template.js +36 -0
  42. package/dist/collection/components/dropdown-menu/dropdown-menu.css +0 -3
  43. package/dist/collection/components/header/header.css +21 -19
  44. package/dist/collection/components/helpcenter-panel/helpcenter-panel.css +0 -3
  45. package/dist/collection/components/highlight-box/highlight-box.css +0 -3
  46. package/dist/collection/components/icon/icon.css +0 -4
  47. package/dist/collection/components/info/info.css +21 -4
  48. package/dist/collection/components/info-button/info-button.css +0 -3
  49. package/dist/collection/components/label/label.css +0 -3
  50. package/dist/collection/components/label-group/label-group.template.js +7 -0
  51. package/dist/collection/components/list/list.template.js +37 -0
  52. package/dist/collection/components/map-base-layers/map-base-layers.css +4 -3
  53. package/dist/collection/components/map-base-layers/map-base-layers.js +20 -1
  54. package/dist/collection/components/map-controls/map-controls.css +12 -3
  55. package/dist/collection/components/map-controls/map-controls.template.js +11 -16
  56. package/dist/collection/components/map-overlays/map-overlays.css +4 -3
  57. package/dist/collection/components/map-overlays/map-overlays.js +20 -1
  58. package/dist/collection/components/ozon-content/ozon-content.css +0 -3
  59. package/dist/collection/components/progress-bar/progress-bar.css +0 -3
  60. package/dist/collection/components/progress-indicator/progress-indicator.css +0 -3
  61. package/dist/collection/components/selectable/selectable.css +0 -3
  62. package/dist/collection/components/selectable/selectable.js +25 -1
  63. package/dist/collection/components/toggletip/toggletip.css +0 -3
  64. package/dist/collection/components/tooltip/tooltip.css +0 -3
  65. package/dist/collection/components/tree-view/tree-view.css +3 -3
  66. package/dist/collection/components/viewer-grid/viewer-grid-document-header.template.js +39 -0
  67. package/dist/collection/components/viewer-grid/viewer-grid-document-list-item.template.js +19 -0
  68. package/dist/collection/components/viewer-grid/viewer-grid-filterblok.template.js +28 -0
  69. package/dist/collection/components/viewer-grid/viewer-grid-filterpanel-buttons.js +7 -0
  70. package/dist/collection/components/viewer-grid/viewer-grid.css +706 -0
  71. package/dist/collection/components/viewer-grid/viewer-grid.js +218 -0
  72. package/dist/collection/components/viewer-grid/viewer-grid.template.js +27 -0
  73. package/dist/custom-elements/index.d.ts +6 -0
  74. package/dist/custom-elements/index.js +938 -36
  75. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  76. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  77. package/dist/dso-toolkit/{p-75233655.entry.js → p-1fefbf8c.entry.js} +1 -1
  78. package/dist/dso-toolkit/{p-a52d3623.entry.js → p-20856f91.entry.js} +1 -1
  79. package/dist/dso-toolkit/{p-262858dd.entry.js → p-2b6a3dfa.entry.js} +1 -1
  80. package/dist/dso-toolkit/{p-be5682cc.entry.js → p-348414bf.entry.js} +1 -1
  81. package/dist/dso-toolkit/{p-984551a8.entry.js → p-3b493a2c.entry.js} +1 -1
  82. package/dist/dso-toolkit/p-3c4dbd89.entry.js +1 -0
  83. package/dist/dso-toolkit/{p-0a08ac9f.entry.js → p-4e573fc5.entry.js} +1 -1
  84. package/dist/dso-toolkit/{p-c9c1bc8f.entry.js → p-5037944e.entry.js} +1 -1
  85. package/dist/dso-toolkit/p-50b63cf4.entry.js +1 -0
  86. package/dist/dso-toolkit/{p-ff767c21.entry.js → p-88bc5873.entry.js} +1 -1
  87. package/dist/dso-toolkit/p-8b6e3abc.entry.js +1 -0
  88. package/dist/dso-toolkit/p-8bf3a60e.js +5 -0
  89. package/dist/dso-toolkit/p-94b79e43.entry.js +1 -0
  90. package/dist/dso-toolkit/{p-83f166b3.entry.js → p-94dffa65.entry.js} +1 -1
  91. package/dist/dso-toolkit/{p-b07991b9.entry.js → p-951f5872.entry.js} +1 -1
  92. package/dist/dso-toolkit/{p-da3be034.entry.js → p-a7306b7b.entry.js} +1 -1
  93. package/dist/dso-toolkit/p-ad2210ad.entry.js +1 -0
  94. package/dist/dso-toolkit/p-ad540748.entry.js +1 -0
  95. package/dist/dso-toolkit/{p-b5b946de.entry.js → p-bc14cafd.entry.js} +1 -1
  96. package/dist/dso-toolkit/{p-4a78a31b.entry.js → p-c54ecae1.entry.js} +1 -1
  97. package/dist/dso-toolkit/{p-72e4484a.entry.js → p-c95108fe.entry.js} +1 -1
  98. package/dist/dso-toolkit/{p-e814d644.entry.js → p-daa1e29d.entry.js} +1 -1
  99. package/dist/dso-toolkit/p-dad72605.js +1 -0
  100. package/dist/dso-toolkit/{p-2e7d535c.entry.js → p-dc86d830.entry.js} +1 -1
  101. package/dist/dso-toolkit/p-de3ab027.entry.js +5 -0
  102. package/dist/dso-toolkit/{p-19de4cc7.entry.js → p-f0b67246.entry.js} +1 -1
  103. package/dist/esm/dso-alert.entry.js +1 -1
  104. package/dist/esm/dso-attachments-counter.entry.js +2 -2
  105. package/dist/esm/dso-autosuggest.entry.js +1 -1
  106. package/dist/esm/dso-badge.entry.js +1 -1
  107. package/dist/esm/dso-banner.entry.js +1 -1
  108. package/dist/esm/dso-date-picker.entry.js +48 -26
  109. package/dist/esm/dso-dropdown-menu.entry.js +2 -226
  110. package/dist/esm/dso-header.entry.js +2 -2
  111. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  112. package/dist/esm/dso-highlight-box.entry.js +1 -1
  113. package/dist/esm/dso-icon.entry.js +1 -1
  114. package/dist/esm/dso-info-button.entry.js +1 -1
  115. package/dist/esm/dso-info_2.entry.js +5 -2
  116. package/dist/esm/dso-label.entry.js +1 -1
  117. package/dist/esm/dso-map-base-layers.entry.js +18 -3
  118. package/dist/esm/dso-map-controls.entry.js +2 -2
  119. package/dist/esm/dso-map-overlays.entry.js +18 -3
  120. package/dist/esm/dso-ozon-content.entry.js +1 -1
  121. package/dist/esm/dso-progress-bar.entry.js +1 -1
  122. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  123. package/dist/esm/dso-toggletip.entry.js +1 -1
  124. package/dist/esm/dso-toolkit.js +2 -2
  125. package/dist/esm/dso-tooltip.entry.js +1 -1
  126. package/dist/esm/dso-tree-view.entry.js +2 -2
  127. package/dist/esm/dso-viewer-grid.entry.js +811 -0
  128. package/dist/esm/{index-61410be2.js → index-d54cae76.js} +26 -2
  129. package/dist/esm/index.esm-a1362957.js +262 -0
  130. package/dist/esm/loader.js +2 -2
  131. package/dist/types/components/anchor/anchor.template.d.ts +2 -0
  132. package/dist/types/components/button/button.template.d.ts +2 -0
  133. package/dist/types/components/context/context.template.d.ts +3 -0
  134. package/dist/types/components/date-picker/date-picker.d.ts +3 -1
  135. package/dist/types/components/date-picker/date-picker.template.d.ts +1 -1
  136. package/dist/types/components/definition-list/definition-list.template.d.ts +3 -0
  137. package/dist/types/components/label-group/label-group.template.d.ts +2 -0
  138. package/dist/types/components/list/list.template.d.ts +3 -0
  139. package/dist/types/components/map-base-layers/map-base-layers.d.ts +7 -2
  140. package/dist/types/components/map-base-layers/map-base-layers.interfaces.d.ts +1 -0
  141. package/dist/types/components/map-overlays/map-overlays.d.ts +7 -2
  142. package/dist/types/components/map-overlays/map-overlays.interfaces.d.ts +1 -0
  143. package/dist/types/components/selectable/selectable.d.ts +1 -0
  144. package/dist/types/components/viewer-grid/viewer-grid-document-header.template.d.ts +3 -0
  145. package/dist/types/components/viewer-grid/viewer-grid-document-list-item.template.d.ts +3 -0
  146. package/dist/types/components/viewer-grid/viewer-grid-filterblok.template.d.ts +3 -0
  147. package/dist/types/components/viewer-grid/viewer-grid-filterpanel-buttons.d.ts +6 -0
  148. package/dist/types/components/viewer-grid/viewer-grid.d.ts +33 -0
  149. package/dist/types/components/viewer-grid/viewer-grid.template.d.ts +3 -0
  150. package/dist/types/components.d.ts +22 -0
  151. package/package.json +2 -1
  152. package/dist/dso-toolkit/p-22bc904d.entry.js +0 -1
  153. package/dist/dso-toolkit/p-7a043467.entry.js +0 -1
  154. package/dist/dso-toolkit/p-99b93d2e.entry.js +0 -5
  155. package/dist/dso-toolkit/p-a40eeb32.js +0 -1
  156. package/dist/dso-toolkit/p-affe82e6.entry.js +0 -1
  157. package/dist/dso-toolkit/p-b3e6d377.entry.js +0 -1
  158. package/dist/dso-toolkit/p-ec8b74f7.entry.js +0 -1
@@ -0,0 +1,36 @@
1
+ import { html } from 'lit-html';
2
+ import { ifDefined } from 'lit-html/directives/if-defined';
3
+ import { unsafeHTML } from 'lit-html/directives/unsafe-html';
4
+ import { listTemplate } from '../list/list.template';
5
+ function definitionTemplate({ term, descriptions }, useSrOnlyColon) {
6
+ return html `
7
+ <dt>
8
+ ${term}${useSrOnlyColon
9
+ ? html `<span class="sr-only">:</span>`
10
+ : ':'}
11
+ </dt>
12
+ ${descriptions.map(description => html `
13
+ <dd>${definitionContentTemplate(description)}</dd>
14
+ `)}
15
+ `;
16
+ }
17
+ function definitionContentTemplate(description) {
18
+ if ('content' in description) {
19
+ if (typeof description.content === 'string') {
20
+ return unsafeHTML(description.content);
21
+ }
22
+ return description.content;
23
+ }
24
+ return listTemplate(description.list);
25
+ }
26
+ export function definitionListTemplate({ modifier, definitions, useSrOnlyColon }) {
27
+ return html `
28
+ <dl class=${ifDefined(modifier)}>
29
+ ${definitions.map(definition => (modifier === null || modifier === void 0 ? void 0 : modifier.split(' ').includes('dso-columns'))
30
+ ? html `
31
+ <div>${definitionTemplate(definition, useSrOnlyColon)}</div>
32
+ `
33
+ : definitionTemplate(definition, useSrOnlyColon))}
34
+ </dl>
35
+ `;
36
+ }
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host(:focus) {
5
2
  outline: none;
6
3
  }
@@ -1,7 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
- /* stylelint-disable-next-line no-invalid-position-at-import-rule */
5
1
  :host {
6
2
  --di-chevron-down-bosgroen: url("data:image/svg+xml,%3csvg id='chevron-down' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M12%2c16%2c5.29%2c9.63a.93.93%2c0%2c0%2c1%2c0-1.35%2c1%2c1%2c0%2c0%2c1%2c1.42%2c0l5.29%2c5%2c5.29-5a1%2c1%2c0%2c0%2c1%2c1.42%2c0%2c.91.91%2c0%2c0%2c1%2c0%2c1.34Z'/%3e %3c/svg%3e");
7
3
  --di-chevron-up-bosgroen: url("data:image/svg+xml,%3csvg id='chevron-up' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M18%2c16a1%2c1%2c0%2c0%2c1-.71-.28l-5.29-5-5.29%2c5a1%2c1%2c0%2c0%2c1-1.42%2c0%2c.93.93%2c0%2c0%2c1%2c0-1.35L12%2c8l6.71%2c6.38a.91.91%2c0%2c0%2c1%2c0%2c1.34A1%2c1%2c0%2c0%2c1%2c18%2c16Z'/%3e %3c/svg%3e");
@@ -12,6 +8,8 @@
12
8
  border-bottom: 1px solid #ccc;
13
9
  display: flex;
14
10
  flex-wrap: wrap;
11
+ padding: 0 16px;
12
+ position: relative;
15
13
  }
16
14
  @media screen and (min-width: 768px) {
17
15
  .dso-header {
@@ -30,6 +28,14 @@
30
28
  padding-bottom: 16px;
31
29
  padding-top: 16px;
32
30
  }
31
+ @media screen and (max-width: 767px) {
32
+ .logo-container {
33
+ max-width: 200px;
34
+ }
35
+ }
36
+ .logo-container + .dropdown dso-dropdown-menu {
37
+ position: static;
38
+ }
33
39
 
34
40
  @media screen and (min-width: 768px) {
35
41
  .sub-logo {
@@ -178,7 +184,6 @@ dso-dropdown-menu .dso-dropdown-options li button {
178
184
  padding: 3px 20px;
179
185
  text-decoration: none;
180
186
  white-space: nowrap;
181
- /* stylelint-disable-line declaration-property-value-disallowed-list */
182
187
  }
183
188
  dso-dropdown-menu .dso-dropdown-options li a:hover, dso-dropdown-menu .dso-dropdown-options li a:focus, dso-dropdown-menu .dso-dropdown-options li a:active,
184
189
  dso-dropdown-menu .dso-dropdown-options li button:hover,
@@ -282,11 +287,6 @@ dso-dropdown-menu button::after {
282
287
  top: 50%;
283
288
  transform: translateY(-50%);
284
289
  }
285
- @media screen and (max-width: 991px) {
286
- dso-dropdown-menu[dropdown-align=right] .dso-dropdown-options {
287
- right: -16px;
288
- }
289
- }
290
290
  @media screen and (max-width: 767px) {
291
291
  dso-dropdown-menu {
292
292
  top: 12px;
@@ -301,7 +301,7 @@ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options ul {
301
301
  }
302
302
  @media screen and (max-width: 991px) {
303
303
  dso-dropdown-menu .dso-dropdown-options dso-dropdown-options ul {
304
- width: 100vw;
304
+ width: 100%;
305
305
  }
306
306
  }
307
307
  dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li a {
@@ -309,6 +309,11 @@ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li a {
309
309
  font-size: 1.25rem;
310
310
  padding: 16px;
311
311
  }
312
+ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li a:hover {
313
+ background-color: #fff;
314
+ color: #275937;
315
+ text-decoration: underline;
316
+ }
312
317
  dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li.dso-active a {
313
318
  font-weight: 600;
314
319
  }
@@ -321,16 +326,13 @@ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li + li {
321
326
  }
322
327
  @media screen and (max-width: 767px) {
323
328
  .dropdown dso-dropdown-menu {
324
- top: 28px;
329
+ margin-top: 28px;
325
330
  }
326
331
  }
327
332
  .dropdown dso-dropdown-menu .dso-dropdown-options {
328
- top: calc(100% + 29px);
329
- }
330
- @media screen and (max-width: 767px) {
331
- .dropdown dso-dropdown-menu .dso-dropdown-options {
332
- top: 72px;
333
- }
333
+ left: 0;
334
+ right: 0;
335
+ top: 100%;
334
336
  }
335
337
  .dropdown dso-dropdown-menu[open] button::after {
336
338
  background: var(--dso-icon, var(--di-chevron-up)) no-repeat;
@@ -344,6 +346,7 @@ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li + li {
344
346
  color: #39870c;
345
347
  font-size: 16px;
346
348
  font-weight: 600;
349
+ position: relative;
347
350
  }
348
351
  .dropdown dso-dropdown-menu button:hover, .dropdown dso-dropdown-menu button:active {
349
352
  cursor: pointer;
@@ -389,7 +392,6 @@ dso-dropdown-menu .dso-dropdown-options dso-dropdown-options li + li {
389
392
  line-height: 1;
390
393
  margin-top: 8px;
391
394
  padding: 16px 0;
392
- /* stylelint-disable-next-line declaration-property-value-disallowed-list */
393
395
  white-space: nowrap;
394
396
  }
395
397
  .dso-nav.dso-nav-main > li > a:hover, .dso-nav.dso-nav-main > li > a:focus, .dso-nav.dso-nav-main > li > a:active {
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host {
5
2
  display: block;
6
3
  --di-times: url("data:image/svg+xml,%3csvg id='times' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %2339870c%3b'%3e %3cpath fill='currentColor' d='M13.36%2c12l3.3-3.3A1%2c1%2c0%2c1%2c0%2c15.3%2c7.34L12%2c10.64%2c8.7%2c7.34A1%2c1%2c0%2c1%2c0%2c7.34%2c8.7l3.3%2c3.3-3.3%2c3.3A1%2c1%2c0%2c1%2c0%2c8.7%2c16.66l3.3-3.3%2c3.3%2c3.3a1%2c1%2c0%2c1%2c0%2c1.36-1.36Z'/%3e %3c/svg%3e");
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host {
5
2
  --di-external-link-grijs90: url("data:image/svg+xml,%3csvg id='external-link' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23191919%3b'%3e %3cpath fill='currentColor' d='M19%2c6V9.69c0%2c.33-.2.41-.43.17L17.06%2c8.35l-3.35%2c3.36a1%2c1%2c0%2c0%2c1-1.42%2c0%2c1%2c1%2c0%2c0%2c1%2c0-1.42l3.36-3.35L14.14%2c5.43C13.9%2c5.19%2c14%2c5%2c14.31%2c5H19V6ZM18%2c17V13a1%2c1%2c0%2c0%2c0-2%2c0v4a1%2c1%2c0%2c0%2c1-1%2c1H7a1%2c1%2c0%2c0%2c1-1-1V9A1%2c1%2c0%2c0%2c1%2c7%2c8h4a1%2c1%2c0%2c0%2c0%2c0-2H7A3%2c3%2c0%2c0%2c0%2c4%2c9v8a3%2c3%2c0%2c0%2c0%2c3%2c3h8A3%2c3%2c0%2c0%2c0%2c18%2c17Z'/%3e %3c/svg%3e");
6
3
  --di-download-grijs90: url("data:image/svg+xml,%3csvg id='download' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23191919%3b'%3e %3cpath fill='currentColor' d='M18.72%2c10.44%2c12%2c17l-6.7-6.52C4.8%2c10%2c5%2c9.63%2c5.63%2c9.63H8.5V1.82A.8.8%2c0%2c0%2c1%2c9.28%2c1h5.44a.8.8%2c0%2c0%2c1%2c.78.82V9.61h2.87C19%2c9.6%2c19.2%2c10%2c18.72%2c10.44ZM1%2c17v6H23V17Zm16%2c3a2%2c2%2c0%2c1%2c1-2-2A2%2c2%2c0%2c0%2c1%2c17%2c20Zm5%2c0a2%2c2%2c0%2c1%2c1-2-2A2%2c2%2c0%2c0%2c1%2c22%2c20Z'/%3e %3c/svg%3e");
@@ -1,8 +1,4 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host {
5
- /* stylelint-disable-next-line no-invalid-position-at-import-rule */
6
2
  display: inline-block;
7
3
  height: 1.5em;
8
4
  vertical-align: top;
@@ -1,8 +1,25 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
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
+
4
21
  :host {
5
- --di-times-bosgroen: url("data:image/svg+xml,%3csvg id='times' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M13.36%2c12l3.3-3.3A1%2c1%2c0%2c1%2c0%2c15.3%2c7.34L12%2c10.64%2c8.7%2c7.34A1%2c1%2c0%2c1%2c0%2c7.34%2c8.7l3.3%2c3.3-3.3%2c3.3A1%2c1%2c0%2c1%2c0%2c8.7%2c16.66l3.3-3.3%2c3.3%2c3.3a1%2c1%2c0%2c1%2c0%2c1.36-1.36Z'/%3e %3c/svg%3e");
22
+ --di-times-grijs90: url("data:image/svg+xml,%3csvg id='times' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23191919%3b'%3e %3cpath fill='currentColor' d='M13.36%2c12l3.3-3.3A1%2c1%2c0%2c1%2c0%2c15.3%2c7.34L12%2c10.64%2c8.7%2c7.34A1%2c1%2c0%2c1%2c0%2c7.34%2c8.7l3.3%2c3.3-3.3%2c3.3A1%2c1%2c0%2c1%2c0%2c8.7%2c16.66l3.3-3.3%2c3.3%2c3.3a1%2c1%2c0%2c1%2c0%2c1.36-1.36Z'/%3e %3c/svg%3e");
6
23
  display: block;
7
24
  background-color: #f2f2f2;
8
25
  padding: 16px 32px 16px 16px;
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host {
5
2
  display: inline-block;
6
3
  --di-info: url("data:image/svg+xml,%3csvg id='info' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %2339870c%3b'%3e %3cpath fill='currentColor' d='M12%2c3a9%2c9%2c0%2c1%2c1-9%2c9%2c9%2c9%2c0%2c0%2c1%2c9-9m0-2A11%2c11%2c0%2c1%2c0%2c23%2c12%2c11%2c11%2c0%2c0%2c0%2c12%2c1Zm0%2c8a1%2c1%2c0%2c1%2c0-1-1A1%2c1%2c0%2c0%2c0%2c12%2c9Zm1%2c7.79V11.21A1.12%2c1.12%2c0%2c0%2c0%2c12%2c10a1.12%2c1.12%2c0%2c0%2c0-1%2c1.21v5.58A1.12%2c1.12%2c0%2c0%2c0%2c12%2c18%2c1.12%2c1.12%2c0%2c0%2c0%2c13%2c16.79Z'/%3e %3c/svg%3e");
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host {
5
2
  display: inline-block;
6
3
  }
@@ -0,0 +1,7 @@
1
+ import { html } from 'lit-html';
2
+ import { labelTemplate } from '../label/label.template';
3
+ export function labelGroupTemplate({ labels }) {
4
+ return html `<div class="dso-label-group">
5
+ ${labels.map(labels => labelTemplate(labels))}
6
+ </div>`;
7
+ }
@@ -0,0 +1,37 @@
1
+ // Keep in sync with packages\css\src\components\list\list.template.ts (https://github.com/dso-toolkit/dso-toolkit/issues/1438)
2
+ import { Type } from '@dso-toolkit/sources';
3
+ import { html } from 'lit-html';
4
+ import { classMap } from 'lit-html/directives/class-map';
5
+ function ul(children, modifier) {
6
+ return html `
7
+ <ul class="${classMap({
8
+ 'list-group': modifier === 'group',
9
+ 'dso-columns-list': modifier === 'columns'
10
+ })}">
11
+ ${children}
12
+ </ul>
13
+ `;
14
+ }
15
+ function ol(children, modifier) {
16
+ return html `
17
+ <ol class="${classMap({
18
+ 'list-group': modifier === 'group',
19
+ 'dso-columns-list': modifier === 'columns'
20
+ })}">
21
+ ${children}
22
+ </ol>
23
+ `;
24
+ }
25
+ export function listTemplate({ type, items, modifier }) {
26
+ const children = html `
27
+ ${items.map(item => html `
28
+ <li class="${classMap({ 'list-group-item': modifier === 'group' })}">
29
+ ${item}
30
+ </li>
31
+ `)}
32
+ `;
33
+ if (type === Type.Ol) {
34
+ return ol(children, modifier);
35
+ }
36
+ return ul(children, modifier);
37
+ }
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host {
5
2
  display: block;
6
3
  }
@@ -34,4 +31,8 @@ fieldset .control-label {
34
31
  margin-bottom: 8px;
35
32
  max-width: 100%;
36
33
  text-align: left;
34
+ }
35
+
36
+ p[slot=info] {
37
+ margin: 0;
37
38
  }
@@ -1,14 +1,33 @@
1
1
  import { Component, h, Prop, Event } from '@stencil/core';
2
2
  export class MapBaseLayers {
3
+ constructor() {
4
+ this.selectableRefs = {};
5
+ }
3
6
  baseLayerChangeHandler(baseLayer) {
4
7
  this.baseLayerChange.emit({ activeBaseLayer: baseLayer });
5
8
  }
9
+ componentDidRender() {
10
+ this.baseLayers
11
+ .filter(l => { var _a, _b; return !l.disabled && ((_b = (_a = this.previousBaselayers) === null || _a === void 0 ? void 0 : _a.find(p => p.id === l.id)) === null || _b === void 0 ? void 0 : _b.disabled) === true; })
12
+ .forEach(o => {
13
+ var _a;
14
+ (_a = this.selectableRefs[o.id]) === null || _a === void 0 ? void 0 : _a.toggleInfo(false);
15
+ });
16
+ this.previousBaselayers = this.baseLayers;
17
+ }
6
18
  render() {
19
+ for (const ref in this.selectableRefs) {
20
+ delete this.selectableRefs[ref];
21
+ }
7
22
  return (h("fieldset", { class: "form-group dso-radios" },
8
23
  h("legend", { class: "sr-only" }, "Achtergrond"),
9
24
  h("div", { class: "dso-label-container" },
10
25
  h("span", { class: "control-label", "aria-hidden": "true" }, "Achtergrond")),
11
- h("div", { class: "dso-field-container" }, this.baseLayers.map(baseLayer => (h("dso-selectable", { key: baseLayer.id, type: "radio", value: baseLayer.name, checked: baseLayer.checked, onDsoChange: () => this.baseLayerChangeHandler(baseLayer) }, baseLayer.name))))));
26
+ h("div", { class: "dso-field-container" }, this.baseLayers.map(baseLayer => (h("dso-selectable", { key: baseLayer.id, type: "radio", value: baseLayer.name, checked: baseLayer.checked, disabled: baseLayer.disabled, ref: ref => this.selectableRefs[baseLayer.id] = ref, onDsoChange: () => this.baseLayerChangeHandler(baseLayer) },
27
+ baseLayer.name,
28
+ baseLayer.info
29
+ ? h("p", { slot: "info" }, baseLayer.info)
30
+ : null))))));
12
31
  }
13
32
  static get is() { return "dso-map-base-layers"; }
14
33
  static get encapsulation() { return "shadow"; }
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  button {
5
2
  -webkit-appearance: button;
6
3
  color: inherit;
@@ -378,6 +375,12 @@ button::-moz-focus-inner {
378
375
  border: 0;
379
376
  }
380
377
 
378
+ section {
379
+ display: flex;
380
+ flex-direction: column;
381
+ height: 100%;
382
+ }
383
+
381
384
  header,
382
385
  .content {
383
386
  padding: 16px;
@@ -385,6 +388,7 @@ header,
385
388
 
386
389
  header {
387
390
  border-bottom: 1px solid #ccc;
391
+ flex-grow: 0;
388
392
  position: relative;
389
393
  }
390
394
  header h2 {
@@ -392,4 +396,9 @@ header h2 {
392
396
  font-family: "Asap", sans-serif;
393
397
  line-height: 1;
394
398
  margin: 0;
399
+ }
400
+
401
+ .content {
402
+ flex-grow: 1;
403
+ overflow-y: auto;
395
404
  }
@@ -7,22 +7,17 @@ export function mapControlsTemplate({ zoomIn, zoomOut, open, baseLayers, baseLay
7
7
  .disableZoom=${disableZoom}
8
8
  ?open=${open}
9
9
  >
10
- <form>
11
- <div class="dso-rich-content">
12
- <p>Inhoud</p>
13
- </div>
14
- <dso-map-base-layers
15
- .baseLayers=${baseLayers}
16
- @baseLayerChange=${(e) => baseLayerChange(e)}
17
- ></dso-map-base-layers>
18
- <dso-map-overlays
19
- .overlays=${overlays}
20
- @toggleOverlay=${(e) => toggleOverlay(e)}
21
- ></dso-map-overlays>
22
- <div class="dso-rich-content">
23
- <p>Ook nog meer inhoud</p>
24
- </div>
25
- </form>
10
+ <dso-map-base-layers
11
+ .baseLayers=${baseLayers}
12
+ @baseLayerChange=${(e) => baseLayerChange(e)}
13
+ ></dso-map-base-layers>
14
+ <dso-map-overlays
15
+ .overlays=${overlays}
16
+ @toggleOverlay=${(e) => toggleOverlay(e)}
17
+ ></dso-map-overlays>
18
+ <div class="dso-rich-content">
19
+ <p>Dit is een Web Component wat aangesloten kan worden op Leaflet.js of OpenLayers.</p>
20
+ </div>
26
21
  </dso-map-controls>
27
22
  `;
28
23
  }
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host {
5
2
  display: block;
6
3
  }
@@ -34,4 +31,8 @@ fieldset .control-label {
34
31
  margin-bottom: 8px;
35
32
  max-width: 100%;
36
33
  text-align: left;
34
+ }
35
+
36
+ p[slot=info] {
37
+ margin: 0;
37
38
  }
@@ -1,15 +1,34 @@
1
1
  import { Component, Event, Prop, h } from '@stencil/core';
2
2
  export class MapOverlays {
3
+ constructor() {
4
+ this.selectableRefs = {};
5
+ }
3
6
  overlayChangeHandler(overlay, e) {
4
7
  const checked = e.detail.target instanceof HTMLInputElement ? !!e.detail.target.checked : false;
5
8
  this.toggleOverlay.emit({ overlay, checked });
6
9
  }
10
+ componentDidRender() {
11
+ this.overlays
12
+ .filter(o => { var _a, _b; return !o.disabled && ((_b = (_a = this.previousOverlays) === null || _a === void 0 ? void 0 : _a.find(p => p.id === o.id)) === null || _b === void 0 ? void 0 : _b.disabled) === true; })
13
+ .forEach(o => {
14
+ var _a;
15
+ (_a = this.selectableRefs[o.id]) === null || _a === void 0 ? void 0 : _a.toggleInfo(false);
16
+ });
17
+ this.previousOverlays = this.overlays;
18
+ }
7
19
  render() {
20
+ for (const ref in this.selectableRefs) {
21
+ delete this.selectableRefs[ref];
22
+ }
8
23
  return (h("fieldset", { class: "form-group dso-checkboxes" },
9
24
  h("legend", { class: "sr-only" }, "Kaartlagen"),
10
25
  h("div", { class: "dso-label-container" },
11
26
  h("span", { class: "control-label", "aria-hidden": "true" }, "Kaartlagen")),
12
- h("div", { class: "dso-field-container" }, this.overlays.map(overlay => (h("dso-selectable", { type: "checkbox", value: overlay.name, checked: overlay.checked, disabled: overlay.disabled, onDsoChange: e => this.overlayChangeHandler(overlay, e) }, overlay.name))))));
27
+ h("div", { class: "dso-field-container" }, this.overlays.map(overlay => (h("dso-selectable", { key: overlay.id, type: "checkbox", value: overlay.name, checked: overlay.checked, disabled: overlay.disabled, ref: ref => this.selectableRefs[overlay.id] = ref, onDsoChange: e => this.overlayChangeHandler(overlay, e) },
28
+ overlay.name,
29
+ overlay.info
30
+ ? h("p", { slot: "info" }, overlay.info)
31
+ : null))))));
13
32
  }
14
33
  static get is() { return "dso-map-overlays"; }
15
34
  static get encapsulation() { return "shadow"; }
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  dso-ozon-content {
5
2
  display: block;
6
3
  }
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host {
5
2
  display: block;
6
3
  }
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  *,
5
2
  *::after,
6
3
  *::before {
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host {
5
2
  display: block;
6
3
  padding: 0 0 0 32px;
@@ -1,10 +1,13 @@
1
- import { h, Component, Prop, Event, Fragment, Element, State, forceUpdate, Watch } from '@stencil/core';
1
+ import { h, Component, Prop, Event, Fragment, Element, State, forceUpdate, Watch, Method } from '@stencil/core';
2
2
  import { createIdentifier } from '../../utils/create-identifier';
3
3
  export class Selectable {
4
4
  constructor() {
5
5
  this.infoActive = false;
6
6
  this.fallbackIdentifier = createIdentifier('DsoSelectable');
7
7
  }
8
+ async toggleInfo(active) {
9
+ this.infoActive = active !== null && active !== void 0 ? active : !this.infoActive;
10
+ }
8
11
  componentDidLoad() {
9
12
  var _a;
10
13
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
@@ -260,6 +263,27 @@ export class Selectable {
260
263
  }
261
264
  }
262
265
  }]; }
266
+ static get methods() { return {
267
+ "toggleInfo": {
268
+ "complexType": {
269
+ "signature": "(active?: boolean | undefined) => Promise<void>",
270
+ "parameters": [{
271
+ "tags": [],
272
+ "text": ""
273
+ }],
274
+ "references": {
275
+ "Promise": {
276
+ "location": "global"
277
+ }
278
+ },
279
+ "return": "Promise<void>"
280
+ },
281
+ "docs": {
282
+ "text": "",
283
+ "tags": []
284
+ }
285
+ }
286
+ }; }
263
287
  static get elementRef() { return "host"; }
264
288
  static get watchers() { return [{
265
289
  "propName": "indeterminate",
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  *,
5
2
  *::after,
6
3
  *::before {
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host(.hidden) {
5
2
  visibility: hidden;
6
3
  }
@@ -1,6 +1,3 @@
1
- /* stylelint-disable value-keyword-case */
2
- /* stylelint-disable string-no-newline */
3
- /* stylelint-enable */
4
1
  :host ul {
5
2
  list-style-type: none;
6
3
  }
@@ -13,11 +10,14 @@
13
10
  :host .tree-branch-control {
14
11
  cursor: pointer;
15
12
  display: inline-block;
13
+ margin: 8px 0;
14
+ vertical-align: top;
16
15
  }
17
16
  :host .tree-content {
18
17
  cursor: pointer;
19
18
  display: inline-block;
20
19
  margin: 8px 0;
20
+ width: calc(100% - 24px);
21
21
  }
22
22
  :host .tree-content.active {
23
23
  font-weight: 700;
@@ -0,0 +1,39 @@
1
+ import { html, nothing } from "lit-html";
2
+ import { buttonTemplate } from "../button/button.template";
3
+ import { definitionListTemplate } from "../definition-list/definition-list.template";
4
+ export function viewerGridDocumentHeaderTemplate({ title, type, features, featuresAction, mapAction, featuresOpen, owner, status, }) {
5
+ return html `
6
+ <div class="dso-document-header">
7
+ ${title}
8
+
9
+ <div class="dso-document-header-container">
10
+ <p class="dso-document-header-type">${type}</p>
11
+ <p class="dso-document-header-owner">${owner}</p>
12
+ <p class="dso-document-header-status">${status}</p>
13
+
14
+ ${buttonTemplate({
15
+ onClick: mapAction,
16
+ label: "Actie",
17
+ variant: null,
18
+ modifier: "dso-document-header-map-action",
19
+ icon: {
20
+ icon: "map-location",
21
+ },
22
+ iconMode: "only",
23
+ })}
24
+ ${buttonTemplate({
25
+ ariaExpanded: featuresOpen,
26
+ onClick: featuresAction,
27
+ label: featuresOpen ? "Minder kenmerken" : "Meer kenmerken",
28
+ variant: null,
29
+ modifier: "dso-document-header-toggle-features",
30
+ icon: {
31
+ icon: featuresOpen ? "angle-up" : "angle-down",
32
+ },
33
+ iconMode: "after",
34
+ })}
35
+ </div>
36
+ ${featuresOpen ? definitionListTemplate(features) : nothing}
37
+ </div>
38
+ `;
39
+ }
@@ -0,0 +1,19 @@
1
+ import { html } from "lit-html";
2
+ import { anchorTemplate } from "../anchor/anchor.template";
3
+ export function viewerGridDocumentListItem({ title, type, owner, status, }) {
4
+ return html `
5
+ <div class="dso-document-list-item">
6
+ ${title}
7
+ <div class="dso-document-list-item-container">
8
+ <p class="dso-document-list-item-type">${type}</p>
9
+ <p class="dso-document-list-item-owner">${owner}</p>
10
+ <p class="dso-document-list-item-status">${status}</p>
11
+ ${anchorTemplate({
12
+ url: "#",
13
+ label: "Hele document bekijken",
14
+ modifier: "dso-document-list-item-open-document",
15
+ })}
16
+ </div>
17
+ </div>
18
+ `;
19
+ }
@@ -0,0 +1,28 @@
1
+ import { html } from "lit-html";
2
+ import { buttonTemplate } from "../button/button.template";
3
+ import { contextTemplate } from "../context/context.template";
4
+ import { labelGroupTemplate } from "../label-group/label-group.template";
5
+ export function viewerGridFilterblok({ title, address, activeFilters, onAllOptions, }) {
6
+ return html `
7
+ <section class="dso-filterblok">
8
+ <div class="dso-highlight-box">
9
+ ${contextTemplate({
10
+ type: "label",
11
+ label: title,
12
+ content: buttonTemplate({
13
+ onClick: onAllOptions,
14
+ variant: "tertiary",
15
+ label: "Alle opties",
16
+ icon: {
17
+ icon: "pencil",
18
+ },
19
+ }),
20
+ children: html `
21
+ <p class="dso-filterblok-address">${address}</p>
22
+ ${labelGroupTemplate({ labels: activeFilters })}
23
+ `,
24
+ })}
25
+ </div>
26
+ </section>
27
+ `;
28
+ }