@dso-toolkit/core 97.0.0 → 97.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 (59) hide show
  1. package/dist/bundle/dso-action-list-item.js +1 -1
  2. package/dist/bundle/dso-action-list.js +1 -1
  3. package/dist/bundle/dso-banner.js +1 -1
  4. package/dist/bundle/dso-document-component.js +1 -1
  5. package/dist/bundle/dso-legend.js +1 -1
  6. package/dist/bundle/dso-map-controls.js +59 -20
  7. package/dist/bundle/dso-viewer-grid.js +14 -4
  8. package/dist/bundle/dsot-document-component-demo.js +1 -1
  9. package/dist/bundle/{p-B41mHKWC.js → p-C2l5d-V9.js} +3 -3
  10. package/dist/cjs/dso-action-list-item.cjs.entry.js +1 -1
  11. package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
  12. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +3 -3
  13. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  14. package/dist/cjs/dso-legend.cjs.entry.js +1 -1
  15. package/dist/cjs/dso-map-controls.cjs.entry.js +58 -19
  16. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  17. package/dist/cjs/dso-viewer-grid.cjs.entry.js +13 -4
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/components/action-list/action-list.css +1 -1
  20. package/dist/collection/components/action-list/components/action-list-item.css +1 -1
  21. package/dist/collection/components/banner/banner.css +2 -2
  22. package/dist/collection/components/document-component/document-component.js +3 -3
  23. package/dist/collection/components/legend/legend.css +1 -1
  24. package/dist/collection/components/map-controls/map-controls.js +67 -19
  25. package/dist/collection/components/viewer-grid/components/main-panel.js +2 -2
  26. package/dist/collection/components/viewer-grid/viewer-grid.css +125 -33
  27. package/dist/collection/components/viewer-grid/viewer-grid.js +31 -1
  28. package/dist/components/document-component.js +1 -1
  29. package/dist/components/dso-action-list-item.js +1 -1
  30. package/dist/components/dso-action-list.js +1 -1
  31. package/dist/components/dso-banner.js +1 -1
  32. package/dist/components/dso-legend.js +1 -1
  33. package/dist/components/dso-map-controls.js +1 -1
  34. package/dist/components/dso-viewer-grid.js +1 -1
  35. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  36. package/dist/dso-toolkit/p-6c41b0a9.entry.js +1 -0
  37. package/dist/dso-toolkit/{p-a6a4c4a8.entry.js → p-75e5057e.entry.js} +1 -1
  38. package/dist/dso-toolkit/p-7f3898d7.entry.js +1 -0
  39. package/dist/dso-toolkit/p-869027bc.entry.js +1 -0
  40. package/dist/dso-toolkit/{p-65c7a604.entry.js → p-d87dd7c8.entry.js} +1 -1
  41. package/dist/dso-toolkit/{p-bb1f4780.entry.js → p-dabed551.entry.js} +1 -1
  42. package/dist/dso-toolkit/{p-b257edd9.entry.js → p-f066244e.entry.js} +1 -1
  43. package/dist/esm/dso-action-list-item.entry.js +1 -1
  44. package/dist/esm/dso-action-list.entry.js +1 -1
  45. package/dist/esm/dso-annotation-locatie_2.entry.js +3 -3
  46. package/dist/esm/dso-banner.entry.js +1 -1
  47. package/dist/esm/dso-legend.entry.js +1 -1
  48. package/dist/esm/dso-map-controls.entry.js +58 -19
  49. package/dist/esm/dso-toolkit.js +1 -1
  50. package/dist/esm/dso-viewer-grid.entry.js +13 -4
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/types/components/map-controls/map-controls.d.ts +6 -0
  53. package/dist/types/components/viewer-grid/components/main-panel.d.ts +2 -1
  54. package/dist/types/components/viewer-grid/viewer-grid.d.ts +6 -0
  55. package/dist/types/components.d.ts +11 -0
  56. package/package.json +3 -3
  57. package/dist/dso-toolkit/p-483af9df.entry.js +0 -1
  58. package/dist/dso-toolkit/p-49b2bbb1.entry.js +0 -1
  59. package/dist/dso-toolkit/p-9f1f2fa7.entry.js +0 -1
@@ -131,13 +131,27 @@ button::-moz-focus-inner {
131
131
  z-index: -1;
132
132
  }
133
133
 
134
- .map {
134
+ .map-area {
135
135
  block-size: 100%;
136
136
  inline-size: 100%;
137
137
  overflow: hidden;
138
138
  position: relative;
139
139
  }
140
140
 
141
+ .map {
142
+ position: absolute;
143
+ inset: 0;
144
+ overflow: hidden;
145
+ }
146
+
147
+ slot[name=legend] {
148
+ display: block;
149
+ position: absolute;
150
+ inset-block-end: 16px;
151
+ inset-inline-start: 16px;
152
+ z-index: 1;
153
+ }
154
+
141
155
  .filter-panel,
142
156
  .overlay {
143
157
  background-color: #fff;
@@ -204,16 +218,16 @@ button::-moz-focus-inner {
204
218
  }
205
219
 
206
220
  @media screen and (min-width: 1032px) {
207
- :host([main-size=small]) .dso-main-panel,
208
- :host([document-panel-size=small]) .dso-document-panel {
221
+ :host(:not([print])[main-size=small]) .dso-main-panel,
222
+ :host(:not([print])[document-panel-size=small]) .dso-document-panel {
209
223
  flex-basis: 375px;
210
224
  min-inline-size: 0;
211
225
  max-inline-size: 375px;
212
226
  }
213
227
  }
214
228
  @media screen and (min-width: 1032px) and (max-width: 375px) {
215
- :host([main-size=small]) .dso-main-panel,
216
- :host([document-panel-size=small]) .dso-document-panel {
229
+ :host(:not([print])[main-size=small]) .dso-main-panel,
230
+ :host(:not([print])[document-panel-size=small]) .dso-document-panel {
217
231
  flex-basis: 100vw;
218
232
  max-inline-size: 100vw;
219
233
  min-inline-size: 0;
@@ -221,16 +235,16 @@ button::-moz-focus-inner {
221
235
  }
222
236
  }
223
237
  @media screen and (min-width: 1032px) {
224
- :host([main-size=medium]) .dso-main-panel,
225
- :host([document-panel-size=medium]) .dso-document-panel {
238
+ :host(:not([print])[main-size=medium]) .dso-main-panel,
239
+ :host(:not([print])[document-panel-size=medium]) .dso-document-panel {
226
240
  flex-basis: 624px;
227
241
  min-inline-size: 375px;
228
242
  max-inline-size: 624px;
229
243
  }
230
244
  }
231
245
  @media screen and (min-width: 1032px) and (max-width: 624px) {
232
- :host([main-size=medium]) .dso-main-panel,
233
- :host([document-panel-size=medium]) .dso-document-panel {
246
+ :host(:not([print])[main-size=medium]) .dso-main-panel,
247
+ :host(:not([print])[document-panel-size=medium]) .dso-document-panel {
234
248
  flex-basis: 100vw;
235
249
  max-inline-size: 100vw;
236
250
  min-inline-size: 375px;
@@ -238,16 +252,16 @@ button::-moz-focus-inner {
238
252
  }
239
253
  }
240
254
  @media screen and (min-width: 1032px) {
241
- :host([main-size=large]) .dso-main-panel,
242
- :host([document-panel-size=large]) .dso-document-panel {
255
+ :host(:not([print])[main-size=large]) .dso-main-panel,
256
+ :host(:not([print])[document-panel-size=large]) .dso-document-panel {
243
257
  flex-basis: 60%;
244
258
  min-inline-size: 768px;
245
259
  max-inline-size: 1024px;
246
260
  }
247
261
  }
248
262
  @media screen and (min-width: 1032px) and (max-width: 768px) {
249
- :host([main-size=large]) .dso-main-panel,
250
- :host([document-panel-size=large]) .dso-document-panel {
263
+ :host(:not([print])[main-size=large]) .dso-main-panel,
264
+ :host(:not([print])[document-panel-size=large]) .dso-document-panel {
251
265
  flex-basis: 100vw;
252
266
  max-inline-size: 100vw;
253
267
  min-inline-size: 768px;
@@ -255,51 +269,50 @@ button::-moz-focus-inner {
255
269
  }
256
270
  }
257
271
  @media screen and (min-width: 1032px) {
258
- :host {
272
+ :host(:not([print])) {
259
273
  display: flex;
260
274
  flex-direction: column;
261
275
  block-size: 100vh;
262
276
  overflow: clip;
263
277
  position: relative;
264
278
  }
265
- :host .dso-main-panel.compact,
266
- :host .dso-main-panel.expanded {
279
+ :host(:not([print])) .dso-main-panel.compact,
280
+ :host(:not([print])) .dso-main-panel.expanded {
267
281
  flex-basis: unset;
268
282
  min-inline-size: unset;
269
283
  max-inline-size: unset;
270
284
  inline-size: 440px;
271
285
  }
272
- :host .viewer-grid-columns {
286
+ :host(:not([print])) .viewer-grid-columns {
273
287
  display: flex;
274
288
  overflow: hidden;
275
289
  flex-grow: 1;
276
290
  }
277
- .dso-main-panel,
278
- .dso-document-panel {
291
+ :host(:not([print])) .dso-main-panel,
292
+ :host(:not([print])) .dso-document-panel {
279
293
  box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.4);
280
294
  }
281
- .dso-main-panel .content,
282
- .dso-document-panel .content {
295
+ :host(:not([print])) .dso-main-panel .content,
296
+ :host(:not([print])) .dso-document-panel .content {
283
297
  overflow-y: auto;
284
298
  }
285
- .filter-panel {
299
+ :host(:not([print])) .filter-panel {
286
300
  margin-inline: 0 auto;
287
301
  inline-size: calc(100vw - 40px);
288
302
  }
289
- .filter-panel[open] {
303
+ :host(:not([print])) .filter-panel[open] {
290
304
  border-inline-end: 1px solid #e5e5e5;
291
305
  }
292
- .overlay {
306
+ :host(:not([print])) .overlay {
293
307
  box-shadow: -2px 0 5px #666;
294
- margin-inline: auto 0;
295
308
  }
296
309
  }
297
310
  @media screen and (min-width: 1032px) and (max-width: 1031.99px) {
298
- :host([filter-panel-open]) .dso-main-panel {
311
+ :host(:not([print])[filter-panel-open]) .dso-main-panel {
299
312
  margin-inline-start: 380px;
300
313
  max-inline-size: calc(100vw - 380px);
301
314
  }
302
- .filter-panel {
315
+ :host(:not([print])) .filter-panel {
303
316
  inline-size: 380px;
304
317
  inset-inline-start: -380px;
305
318
  }
@@ -572,22 +585,101 @@ button::-moz-focus-inner {
572
585
  .dso-tertiary {
573
586
  font-weight: 300;
574
587
  }
575
- .overlay {
588
+ :host(:not([print])) .overlay {
576
589
  inline-size: calc(100vw - 32px);
577
590
  }
578
- .filter-panel,
579
- .overlay {
580
- margin-inline: 0;
591
+ :host(:not([print])) .filter-panel,
592
+ :host(:not([print])) .overlay {
581
593
  max-inline-size: 100vw;
582
594
  inset-block-start: 0;
583
595
  }
584
- .filter-panel {
596
+ :host(:not([print])) .filter-panel {
597
+ margin-inline: 0;
585
598
  inset-inline-start: -100vw;
586
599
  inline-size: 100vw;
587
600
  }
588
601
  }
589
602
  @media screen and (min-width: 992px) {
590
- :host([filter-panel-open]) .dso-main-panel {
603
+ :host(:not([print])[filter-panel-open]) .dso-main-panel {
591
604
  margin-inline-start: 380px;
592
605
  }
606
+ }
607
+ :host([print]) {
608
+ display: flex;
609
+ flex-direction: column;
610
+ block-size: auto;
611
+ overflow: visible;
612
+ }
613
+ :host([print]) .viewer-grid-columns {
614
+ display: flex;
615
+ flex-direction: column;
616
+ overflow: visible;
617
+ }
618
+ :host([print]) .map-area {
619
+ display: flex;
620
+ flex-direction: row;
621
+ align-items: flex-start;
622
+ block-size: auto;
623
+ overflow: visible;
624
+ flex-shrink: 0;
625
+ order: -1;
626
+ }
627
+ :host([print]) .map {
628
+ flex: 1;
629
+ min-inline-size: 0;
630
+ align-self: stretch;
631
+ min-block-size: 400px;
632
+ position: relative;
633
+ inset: auto;
634
+ }
635
+ :host([print]) slot[name=legend] {
636
+ position: relative;
637
+ inset: auto;
638
+ flex-shrink: 0;
639
+ --_dso-legend-content-max-block-size: none;
640
+ }
641
+ :host([print]) .dso-main-panel {
642
+ block-size: auto;
643
+ box-shadow: none;
644
+ inline-size: 100%;
645
+ max-inline-size: none;
646
+ min-inline-size: 0;
647
+ position: relative;
648
+ margin-inline-start: 0px;
649
+ }
650
+ :host([print]) .dso-main-panel .content {
651
+ align-items: flex-start;
652
+ block-size: auto;
653
+ display: flex;
654
+ flex-direction: row;
655
+ gap: 32px;
656
+ overflow-y: visible;
657
+ }
658
+ :host([print]) .dso-main-panel .content slot[name=main] {
659
+ display: block;
660
+ flex: 1;
661
+ min-inline-size: 0;
662
+ }
663
+ :host([print]) .filter-panel {
664
+ block-size: auto;
665
+ box-shadow: none;
666
+ flex-shrink: 0;
667
+ inline-size: 380px;
668
+ margin-inline: 0;
669
+ max-inline-size: none;
670
+ min-inline-size: 0;
671
+ position: relative;
672
+ transition: none;
673
+ }
674
+ :host([print]) .dso-document-panel {
675
+ block-size: auto;
676
+ box-shadow: none;
677
+ inline-size: 100%;
678
+ max-inline-size: none;
679
+ min-inline-size: 0;
680
+ position: static;
681
+ }
682
+ :host([print]) .dso-document-panel .content {
683
+ block-size: auto;
684
+ overflow-y: visible;
593
685
  }
@@ -19,6 +19,7 @@ const minMapElementWidth = 440;
19
19
  * @slot top-bar - Een slot die bovenaan de viewer over de hele breedte kan worden gevuld met bijv een banner.
20
20
  * @slot main
21
21
  * @slot map
22
+ * @slot legend - Een slot die kan worden gevuld met een legend component.
22
23
  * @slot filter-panel
23
24
  * @slot overlay
24
25
  * @slot document-panel
@@ -38,6 +39,10 @@ export class ViewerGrid {
38
39
  * Set to true when document panel should show.
39
40
  */
40
41
  this.documentPanelOpen = false;
42
+ /**
43
+ * Set to true to apply print layout programmatically, e.g. for print preview.
44
+ */
45
+ this.print = false;
41
46
  /**
42
47
  * Size of the panel when component loads.
43
48
  *
@@ -134,6 +139,9 @@ export class ViewerGrid {
134
139
  });
135
140
  }
136
141
  }
142
+ renderFilterPanel() {
143
+ return (h(FilterPanel, { open: this.filterPanelOpen, title: this.filterPanelTitle, ref: (element) => (this.filterPanel = element), dsoCloseFilterPanel: (e) => this.dsoCloseFilterPanel.emit({ originalEvent: e }) }));
144
+ }
137
145
  connectedCallback() {
138
146
  window.matchMedia(this.mediaCondition).addEventListener("change", this.changeListener);
139
147
  }
@@ -155,7 +163,9 @@ export class ViewerGrid {
155
163
  }
156
164
  }
157
165
  render() {
158
- return (h(Fragment, { key: 'c8163259cf270ae725e6d2b22a5dc01d51b0854e' }, h("slot", { key: '5d86a61c909831bf802c141790c8a868659dafd6', name: "top-bar" }), h("div", { key: 'b6abfe50bb21765df784b402682a5073d7100786', class: "viewer-grid-columns" }, this.tabView && (h("nav", { key: '20ef38287a6a2d11cdada6cf3410dfe433542334', class: "dso-navbar" }, h("ul", { key: '3adb88046f1b4d10c38358bbbbe8ce3a53b9637c', class: "dso-nav dso-nav-sub" }, viewerGridTabs.map((tab) => (h("li", { key: tab, class: clsx({ "dso-active": this.activeTab === tab }) }, h("button", { type: "button", class: "dso-tertiary", onClick: () => this.switchActiveTab(tab) }, viewerGridTabLabelMap[tab]))))))), (!this.tabView || (this.tabView && this.activeTab === "search")) && (h(MainPanel, { key: 'e4679845397b45fed3eac3838f87cc87b0e82198', tabView: this.tabView, mainSize: this.mainSize, documentPanelOpen: this.documentPanelOpen, mainPanelExpanded: this.mainPanelExpanded, mainPanelHidden: this.mainPanelHidden, toggleMainPanel: this.toggleMainPanel, dsoMainSizeChangeAnimationEnd: this.dsoMainSizeChangeAnimationEnd })), (!this.tabView || (this.tabView && this.activeTab === "search")) && (h(FilterPanel, { key: '3d3c8a80b76e0e5e86a336ecbdc31717b38f199c', open: this.filterPanelOpen, title: this.filterPanelTitle, ref: (element) => (this.filterPanel = element), dsoCloseFilterPanel: (e) => this.dsoCloseFilterPanel.emit({ originalEvent: e }) })), (!this.tabView || (this.tabView && this.activeTab === "map")) && (h("div", { key: '10693e3cea48121e69805a61a6474017c0aa7cd3', class: "map", ref: (element) => (this.mapElement = element) }, h("slot", { key: '37f734161cff35cd68490b36aebb05266e48f268', name: "map" }))), ((!this.tabView && this.documentPanelOpen) || (this.tabView && this.activeTab === "document")) && (h(DocumentPanel, { key: '672ea01b4072bcbf97c572f7bd1edf1d2c9a7a5e', tabView: this.tabView, panelSize: this.documentPanelSize, shrinkDocumentPanel: this.shrinkDocumentPanel, expandDocumentPanel: this.expandDocumentPanel, dsoDocumentPanelSizeChangeAnimationEnd: this.dsoDocumentPanelSizeChangeAnimationEnd })), h(Overlay, { key: '984a1885bb942e05443ef43a5c5fab54c32bc4b3', ref: (element) => (this.overlay = element), dsoCloseOverlay: (e) => this.dsoCloseOverlay.emit({ originalEvent: e }) }))));
166
+ return (h(Fragment, { key: '26216b09a538c9527b0fb3c58d23924823664819' }, h("slot", { key: 'afe7a843a065fc8ac415cf94da9e11ca92820f3a', name: "top-bar" }), h("div", { key: 'c9f2ac9868069fa3a90c5b4c9fa25959085d94b4', class: "viewer-grid-columns" }, this.tabView && (h("nav", { key: 'ac1389f48e0618fcc213ccb14371cc31ab53f8ab', class: "dso-navbar" }, h("ul", { key: '30af55082ca83de47cf5ffeec1bd4670594d8773', class: "dso-nav dso-nav-sub" }, viewerGridTabs.map((tab) => (h("li", { key: tab, class: clsx({ "dso-active": this.activeTab === tab }) }, h("button", { type: "button", class: "dso-tertiary", onClick: () => this.switchActiveTab(tab) }, viewerGridTabLabelMap[tab]))))))), (!this.tabView || (this.tabView && this.activeTab === "search") || this.print) && (h(MainPanel, { key: 'cba32eb46e34c894e303dd4fdf85c1079249d562', tabView: this.tabView, mainSize: this.mainSize, documentPanelOpen: this.documentPanelOpen, mainPanelExpanded: this.mainPanelExpanded, mainPanelHidden: this.mainPanelHidden, toggleMainPanel: this.toggleMainPanel, dsoMainSizeChangeAnimationEnd: this.dsoMainSizeChangeAnimationEnd, printFilterPanel: !this.tabView && this.filterPanelOpen && this.print ? this.renderFilterPanel() : undefined })), (!this.tabView || (this.tabView && this.activeTab === "search")) && !this.print && this.renderFilterPanel(), (!this.tabView || (this.tabView && this.activeTab === "map") || this.print) && (h("div", { key: '44c4697c437a2ccf61a570c40f349f99bbd9baf5', class: "map-area" }, h("div", { key: 'e10b51a4a8e96b8b0417f2351134ec3de7a1641d', class: "map", ref: (element) => (this.mapElement = element) }, h("slot", { key: 'd240e2e04ccd05dbd1314ee4c04a8af1bc4076a3', name: "map" })), h("slot", { key: '6ae2b90c8d7fe7f68d4a4eb9bd01c6054659f8de', name: "legend" }))), ((!this.tabView && this.documentPanelOpen) ||
167
+ (this.tabView && this.activeTab === "document") ||
168
+ this.print) && (h(DocumentPanel, { key: 'fb9680a12c8a9d29627af0583bfc7f5157448619', tabView: this.tabView, panelSize: this.documentPanelSize, shrinkDocumentPanel: this.shrinkDocumentPanel, expandDocumentPanel: this.expandDocumentPanel, dsoDocumentPanelSizeChangeAnimationEnd: this.dsoDocumentPanelSizeChangeAnimationEnd })), h(Overlay, { key: 'e92e5a979b4529ae948c4c3d47af3fa40a0460f4', ref: (element) => (this.overlay = element), dsoCloseOverlay: (e) => this.dsoCloseOverlay.emit({ originalEvent: e }) }))));
159
169
  }
160
170
  static get is() { return "dso-viewer-grid"; }
161
171
  static get encapsulation() { return "shadow"; }
@@ -250,6 +260,26 @@ export class ViewerGrid {
250
260
  "attribute": "document-panel-open",
251
261
  "defaultValue": "false"
252
262
  },
263
+ "print": {
264
+ "type": "boolean",
265
+ "mutable": false,
266
+ "complexType": {
267
+ "original": "boolean",
268
+ "resolved": "boolean",
269
+ "references": {}
270
+ },
271
+ "required": false,
272
+ "optional": false,
273
+ "docs": {
274
+ "tags": [],
275
+ "text": "Set to true to apply print layout programmatically, e.g. for print preview."
276
+ },
277
+ "getter": false,
278
+ "setter": false,
279
+ "reflect": true,
280
+ "attribute": "print",
281
+ "defaultValue": "false"
282
+ },
253
283
  "mainSize": {
254
284
  "type": "string",
255
285
  "mutable": false,