@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,218 @@
1
+ import { h, Component, Prop, State, Host, Element, Event, } from "@stencil/core";
2
+ import { createFocusTrap } from "focus-trap";
3
+ import { ViewerGridFilterpanelButtons } from './viewer-grid-filterpanel-buttons';
4
+ export class ViewerGrid {
5
+ constructor() {
6
+ this.filterpanelOpen = false;
7
+ this.overlayOpen = false;
8
+ this.mainSize = "large";
9
+ this.filterpanelSlot = null;
10
+ this.overlaySlot = null;
11
+ this.shrinkMain = () => {
12
+ this.mainSize = this.mainSize == "large" ? "medium" : "small";
13
+ };
14
+ this.expandMain = () => {
15
+ this.mainSize = this.mainSize == "small" ? "medium" : "large";
16
+ };
17
+ this.keyDownListener = (event) => {
18
+ if (event.key != "Escape") {
19
+ return;
20
+ }
21
+ this.closeOverlay.emit(event);
22
+ };
23
+ }
24
+ updateFocusTrap() {
25
+ var _a, _b;
26
+ if (this.filterpanelOpen && this.overlayOpen) {
27
+ return;
28
+ }
29
+ if (this.filterpanelFocustrap) {
30
+ if (this.filterpanelOpen && !((_a = this.filterpanel) === null || _a === void 0 ? void 0 : _a.hidden)) {
31
+ this.filterpanelFocustrap.activate();
32
+ this.host.addEventListener("keydown", this.keyDownListener);
33
+ }
34
+ else {
35
+ this.filterpanelFocustrap.deactivate();
36
+ this.host.removeEventListener("keydown", this.keyDownListener);
37
+ }
38
+ }
39
+ if (this.overlayFocustrap) {
40
+ if (this.overlayOpen && !((_b = this.overlay) === null || _b === void 0 ? void 0 : _b.hidden)) {
41
+ this.overlayFocustrap.activate();
42
+ this.host.addEventListener("keydown", this.keyDownListener);
43
+ }
44
+ else {
45
+ this.overlayFocustrap.deactivate();
46
+ this.host.removeEventListener("keydown", this.keyDownListener);
47
+ }
48
+ }
49
+ }
50
+ connectedCallback() {
51
+ this.filterpanelSlot = this.host.querySelector("div[slot='filterpanel']");
52
+ this.overlaySlot = this.host.querySelector("div[slot='overlay']");
53
+ }
54
+ componentDidLoad() {
55
+ if (this.filterpanel && this.filterpanelSlot) {
56
+ this.filterpanelFocustrap = createFocusTrap([this.filterpanel, this.filterpanelSlot], {
57
+ escapeDeactivates: false,
58
+ allowOutsideClick: true,
59
+ });
60
+ }
61
+ if (this.overlay && this.overlaySlot) {
62
+ this.overlayFocustrap = createFocusTrap([this.overlay, this.overlaySlot], {
63
+ escapeDeactivates: false,
64
+ allowOutsideClick: true,
65
+ });
66
+ }
67
+ this.updateFocusTrap();
68
+ }
69
+ componentDidUpdate() {
70
+ this.updateFocusTrap();
71
+ }
72
+ disconnectedCallback() {
73
+ var _a, _b;
74
+ (_a = this.overlayFocustrap) === null || _a === void 0 ? void 0 : _a.deactivate();
75
+ (_b = this.filterpanelFocustrap) === null || _b === void 0 ? void 0 : _b.deactivate();
76
+ this.host.removeEventListener("keydown", this.keyDownListener);
77
+ }
78
+ handleFilterpanelApply(mouseEvent) {
79
+ this.filterpanelApply.emit({ originalEvent: mouseEvent });
80
+ }
81
+ handleFilterpanelCancel(mouseEvent) {
82
+ this.filterpanelCancel.emit({ originalEvent: mouseEvent });
83
+ }
84
+ render() {
85
+ return (h(Host, Object.assign({}, { [this.mainSize]: true }),
86
+ h("div", { class: "dso-map-panel" },
87
+ h("div", { class: "sizing-buttons" },
88
+ h("button", { type: "button", class: "shrink", disabled: this.mainSize == "small", onClick: this.shrinkMain },
89
+ h("dso-icon", { icon: "chevron-left" })),
90
+ h("button", { type: "button", class: "expand", disabled: this.mainSize == "large", onClick: this.expandMain },
91
+ h("dso-icon", { icon: "chevron-right" }))),
92
+ h("div", { class: "main" },
93
+ h("slot", { name: "main" }))),
94
+ h("div", { id: "filterpanel", hidden: !this.filterpanelOpen || !this.filterpanelSlot, ref: (element) => this.filterpanel = element },
95
+ h("h2", null, "Uw keuzes"),
96
+ h(ViewerGridFilterpanelButtons, { onApply: e => this.handleFilterpanelApply(e), onCancel: e => this.handleFilterpanelCancel(e) }),
97
+ h("slot", { name: "filterpanel" }),
98
+ h(ViewerGridFilterpanelButtons, { onApply: e => this.handleFilterpanelApply(e), onCancel: e => this.handleFilterpanelCancel(e) })),
99
+ h("div", { class: "map" },
100
+ h("slot", { name: "map" })),
101
+ h("div", { class: "overlay", hidden: !this.overlayOpen || !this.overlaySlot, ref: (element) => (this.overlay = element) },
102
+ h("button", { type: "button", class: "overlay-close-button", onClick: (e) => this.closeOverlay.emit(e) },
103
+ h("dso-icon", { icon: "times" }),
104
+ h("span", { class: "sr-only" }, "sluiten")),
105
+ h("slot", { name: "overlay" }))));
106
+ }
107
+ static get is() { return "dso-viewer-grid"; }
108
+ static get encapsulation() { return "shadow"; }
109
+ static get originalStyleUrls() { return {
110
+ "$": ["viewer-grid.scss"]
111
+ }; }
112
+ static get styleUrls() { return {
113
+ "$": ["viewer-grid.css"]
114
+ }; }
115
+ static get properties() { return {
116
+ "filterpanelOpen": {
117
+ "type": "boolean",
118
+ "mutable": false,
119
+ "complexType": {
120
+ "original": "boolean",
121
+ "resolved": "boolean",
122
+ "references": {}
123
+ },
124
+ "required": false,
125
+ "optional": false,
126
+ "docs": {
127
+ "tags": [],
128
+ "text": ""
129
+ },
130
+ "attribute": "filterpanel-open",
131
+ "reflect": true,
132
+ "defaultValue": "false"
133
+ },
134
+ "overlayOpen": {
135
+ "type": "boolean",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "boolean",
139
+ "resolved": "boolean",
140
+ "references": {}
141
+ },
142
+ "required": false,
143
+ "optional": false,
144
+ "docs": {
145
+ "tags": [],
146
+ "text": ""
147
+ },
148
+ "attribute": "overlay-open",
149
+ "reflect": true,
150
+ "defaultValue": "false"
151
+ }
152
+ }; }
153
+ static get states() { return {
154
+ "mainSize": {}
155
+ }; }
156
+ static get events() { return [{
157
+ "method": "closeOverlay",
158
+ "name": "closeOverlay",
159
+ "bubbles": true,
160
+ "cancelable": true,
161
+ "composed": true,
162
+ "docs": {
163
+ "tags": [],
164
+ "text": ""
165
+ },
166
+ "complexType": {
167
+ "original": "MouseEvent | KeyboardEvent",
168
+ "resolved": "KeyboardEvent | MouseEvent",
169
+ "references": {
170
+ "MouseEvent": {
171
+ "location": "global"
172
+ },
173
+ "KeyboardEvent": {
174
+ "location": "global"
175
+ }
176
+ }
177
+ }
178
+ }, {
179
+ "method": "filterpanelCancel",
180
+ "name": "filterpanelCancel",
181
+ "bubbles": true,
182
+ "cancelable": true,
183
+ "composed": true,
184
+ "docs": {
185
+ "tags": [],
186
+ "text": ""
187
+ },
188
+ "complexType": {
189
+ "original": "FilterpanelEvent",
190
+ "resolved": "FilterpanelEvent",
191
+ "references": {
192
+ "FilterpanelEvent": {
193
+ "location": "local"
194
+ }
195
+ }
196
+ }
197
+ }, {
198
+ "method": "filterpanelApply",
199
+ "name": "filterpanelApply",
200
+ "bubbles": true,
201
+ "cancelable": true,
202
+ "composed": true,
203
+ "docs": {
204
+ "tags": [],
205
+ "text": ""
206
+ },
207
+ "complexType": {
208
+ "original": "FilterpanelEvent",
209
+ "resolved": "FilterpanelEvent",
210
+ "references": {
211
+ "FilterpanelEvent": {
212
+ "location": "local"
213
+ }
214
+ }
215
+ }
216
+ }]; }
217
+ static get elementRef() { return "host"; }
218
+ }
@@ -0,0 +1,27 @@
1
+ import { html } from "lit-html";
2
+ export function viewerGridTemplate({ filterpanel, main, map, overlay, noOverlay, filterpanelOpen, overlayOpen, filterpanelApply, filterpanelCancel, closeOverlay, }) {
3
+ return noOverlay
4
+ ? html `
5
+ <dso-viewer-grid
6
+ ?overlay-open=${overlayOpen}
7
+ @closeOverlay=${closeOverlay}
8
+ >
9
+ <div slot="main">${main}</div>
10
+ <div slot="map">${map}</div>
11
+ </dso-viewer-grid>
12
+ `
13
+ : html `
14
+ <dso-viewer-grid
15
+ ?filterpanel-open=${filterpanelOpen}
16
+ ?overlay-open=${overlayOpen}
17
+ @closeOverlay=${closeOverlay}
18
+ @filterpanelApply=${filterpanelApply}
19
+ @filterpanelCancel=${filterpanelCancel}
20
+ >
21
+ <div slot="filterpanel">${filterpanel}</div>
22
+ <div slot="main">${main}</div>
23
+ <div slot="map">${map}</div>
24
+ <div slot="overlay">${overlay}</div>
25
+ </dso-viewer-grid>
26
+ `;
27
+ }
@@ -146,6 +146,12 @@ export const DsoTreeView: {
146
146
  new (): DsoTreeView;
147
147
  };
148
148
 
149
+ interface DsoViewerGrid extends Components.DsoViewerGrid, HTMLElement {}
150
+ export const DsoViewerGrid: {
151
+ prototype: DsoViewerGrid;
152
+ new (): DsoViewerGrid;
153
+ };
154
+
149
155
  /**
150
156
  * Utility to define all custom elements within this package using the tag name provided in the component's source.
151
157
  * When defining each custom element, it will also check it's safe to define by: