@dso-toolkit/core 73.3.0 → 74.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/dso-accordion-section.js +1 -1
- package/dist/bundle/dso-advanced-select.js +4 -4
- package/dist/bundle/dso-advanced-select.js.map +1 -1
- package/dist/bundle/dso-alert.js +1 -1
- package/dist/bundle/dso-annotation-activiteit.js +1 -1
- package/dist/bundle/dso-annotation-gebiedsaanwijzing.js +1 -1
- package/dist/bundle/dso-annotation-locatie.js +1 -1
- package/dist/bundle/dso-annotation-omgevingsnormwaarde.js +1 -1
- package/dist/bundle/dso-badge.js +1 -1
- package/dist/bundle/dso-banner.js +2 -2
- package/dist/bundle/dso-banner.js.map +1 -1
- package/dist/bundle/dso-document-component.js +1 -1
- package/dist/bundle/dso-label.js +1 -1
- package/dist/bundle/dso-modal.js +20 -7
- package/dist/bundle/dso-modal.js.map +1 -1
- package/dist/bundle/dso-project-item.js +2 -2
- package/dist/bundle/dso-project-item.js.map +1 -1
- package/dist/bundle/dso-viewer-grid.js +41 -105
- package/dist/bundle/dso-viewer-grid.js.map +1 -1
- package/dist/bundle/dsot-document-component-demo.js +5 -5
- package/dist/bundle/{p-DWTXTDbr.js → p-BJv2m9ZZ.js} +5 -5
- package/dist/bundle/{p-DWTXTDbr.js.map → p-BJv2m9ZZ.js.map} +1 -1
- package/dist/bundle/{p-BPLPqKUj.js → p-C_CoF0aB.js} +3 -3
- package/dist/bundle/{p-BPLPqKUj.js.map → p-C_CoF0aB.js.map} +1 -1
- package/dist/bundle/{p-ChrHXjXh.js → p-CkBk3gL8.js} +3 -3
- package/dist/bundle/{p-ChrHXjXh.js.map → p-CkBk3gL8.js.map} +1 -1
- package/dist/bundle/{p-Cbba2ZRN.js → p-CwXjPr2h.js} +3 -3
- package/dist/bundle/{p-Cbba2ZRN.js.map → p-CwXjPr2h.js.map} +1 -1
- package/dist/bundle/p-PMqbDJmA.js +78 -0
- package/dist/bundle/p-PMqbDJmA.js.map +1 -0
- package/dist/cjs/dso-advanced-select.cjs.entry.js +2 -2
- package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-advanced-select.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-alert_6.cjs.entry.js +2 -2
- package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-banner.cjs.entry.js +2 -2
- package/dist/cjs/dso-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-banner.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-label.dso-renvooi.dso-slide-toggle.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-label_3.cjs.entry.js +1 -1
- package/dist/cjs/dso-label_3.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js +19 -6
- package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-project-item.cjs.entry.js +1 -1
- package/dist/cjs/dso-project-item.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-project-item.entry.cjs.js.map +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +37 -100
- package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-viewer-grid.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/accordion/components/accordion-section.js +1 -1
- package/dist/collection/components/advanced-select/advanced-select.css +0 -6
- package/dist/collection/components/advanced-select/advanced-select.interfaces.js.map +1 -1
- package/dist/collection/components/advanced-select/advanced-select.js +1 -1
- package/dist/collection/components/advanced-select/advanced-select.js.map +1 -1
- package/dist/collection/components/alert/alert.css +0 -117
- package/dist/collection/components/badge/badge.css +3 -8
- package/dist/collection/components/badge/badge.interfaces.js.map +1 -1
- package/dist/collection/components/badge/badge.js +1 -1
- package/dist/collection/components/banner/banner.js +4 -4
- package/dist/collection/components/banner/banner.js.map +1 -1
- package/dist/collection/components/label/label.css +8 -5
- package/dist/collection/components/label/label.interfaces.js.map +1 -1
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/modal/modal.js +24 -11
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/project-item/project-item.js +1 -1
- package/dist/collection/components/project-item/project-item.js.map +1 -1
- package/dist/collection/components/viewer-grid/components/filter-panel.js +3 -0
- package/dist/collection/components/viewer-grid/components/filter-panel.js.map +1 -0
- package/dist/collection/components/viewer-grid/components/index.js +1 -1
- package/dist/collection/components/viewer-grid/components/index.js.map +1 -1
- package/dist/collection/components/viewer-grid/components/main-panel.js +3 -6
- package/dist/collection/components/viewer-grid/components/main-panel.js.map +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.css +28 -343
- package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js +1 -3
- package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js.map +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.js +54 -185
- package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/dso-advanced-select.js +2 -2
- package/dist/components/dso-advanced-select.js.map +1 -1
- package/dist/components/dso-banner.js +2 -2
- package/dist/components/dso-banner.js.map +1 -1
- package/dist/components/dso-modal.js +20 -7
- package/dist/components/dso-modal.js.map +1 -1
- package/dist/components/dso-project-item.js +1 -1
- package/dist/components/dso-project-item.js.map +1 -1
- package/dist/components/dso-viewer-grid.js +41 -105
- package/dist/components/dso-viewer-grid.js.map +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/label.js.map +1 -1
- package/dist/dso-toolkit/dso-advanced-select.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-banner.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-label.dso-renvooi.dso-slide-toggle.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-modal.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-project-item.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/dso-viewer-grid.entry.esm.js.map +1 -1
- package/dist/dso-toolkit/p-159be9e6.entry.js +2 -0
- package/dist/dso-toolkit/{p-e9053e12.entry.js.map → p-159be9e6.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-8897189c.entry.js +2 -0
- package/dist/dso-toolkit/p-8897189c.entry.js.map +1 -0
- package/dist/dso-toolkit/p-8f4a2401.entry.js +2 -0
- package/dist/dso-toolkit/p-8f4a2401.entry.js.map +1 -0
- package/dist/dso-toolkit/p-9abdf5aa.entry.js +2 -0
- package/dist/dso-toolkit/p-9abdf5aa.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-7020a1ec.entry.js → p-b6f5ca5e.entry.js} +2 -2
- package/dist/dso-toolkit/{p-7020a1ec.entry.js.map → p-b6f5ca5e.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-d926863a.entry.js +2 -0
- package/dist/dso-toolkit/p-d926863a.entry.js.map +1 -0
- package/dist/dso-toolkit/p-e85e3e06.entry.js +2 -0
- package/dist/dso-toolkit/p-e85e3e06.entry.js.map +1 -0
- package/dist/esm/dso-advanced-select.entry.js +2 -2
- package/dist/esm/dso-advanced-select.entry.js.map +1 -1
- package/dist/esm/dso-alert.dso-badge.dso-image-overlay.dso-ozon-content.dso-panel.dso-table.entry.js.map +1 -1
- package/dist/esm/dso-alert_6.entry.js +2 -2
- package/dist/esm/dso-alert_6.entry.js.map +1 -1
- package/dist/esm/dso-banner.entry.js +2 -2
- package/dist/esm/dso-banner.entry.js.map +1 -1
- package/dist/esm/dso-label.dso-renvooi.dso-slide-toggle.entry.js.map +1 -1
- package/dist/esm/dso-label_3.entry.js +1 -1
- package/dist/esm/dso-label_3.entry.js.map +1 -1
- package/dist/esm/dso-modal.entry.js +19 -6
- package/dist/esm/dso-modal.entry.js.map +1 -1
- package/dist/esm/dso-project-item.entry.js +1 -1
- package/dist/esm/dso-project-item.entry.js.map +1 -1
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +38 -101
- package/dist/esm/dso-viewer-grid.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/advanced-select/advanced-select.interfaces.d.ts +1 -1
- package/dist/types/components/badge/badge.interfaces.d.ts +1 -1
- package/dist/types/components/banner/banner.d.ts +1 -1
- package/dist/types/components/label/label.interfaces.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +8 -3
- package/dist/types/components/viewer-grid/components/filter-panel.d.ts +7 -0
- package/dist/types/components/viewer-grid/components/index.d.ts +1 -1
- package/dist/types/components/viewer-grid/components/main-panel.d.ts +1 -4
- package/dist/types/components/viewer-grid/viewer-grid.d.ts +22 -43
- package/dist/types/components/viewer-grid/viewer-grid.interfaces.d.ts +3 -13
- package/dist/types/components.d.ts +39 -62
- package/package.json +3 -3
- package/dist/bundle/p-DacnxEpv.js +0 -78
- package/dist/bundle/p-DacnxEpv.js.map +0 -1
- package/dist/collection/components/viewer-grid/components/filterpanel.js +0 -13
- package/dist/collection/components/viewer-grid/components/filterpanel.js.map +0 -1
- package/dist/collection/components/viewer-grid/components/viewer-grid-filterpanel-buttons.js +0 -3
- package/dist/collection/components/viewer-grid/components/viewer-grid-filterpanel-buttons.js.map +0 -1
- package/dist/dso-toolkit/p-0c742a6a.entry.js +0 -2
- package/dist/dso-toolkit/p-0c742a6a.entry.js.map +0 -1
- package/dist/dso-toolkit/p-1107be6c.entry.js +0 -2
- package/dist/dso-toolkit/p-1107be6c.entry.js.map +0 -1
- package/dist/dso-toolkit/p-2b5f70a0.entry.js +0 -2
- package/dist/dso-toolkit/p-2b5f70a0.entry.js.map +0 -1
- package/dist/dso-toolkit/p-5fa008c6.entry.js +0 -2
- package/dist/dso-toolkit/p-5fa008c6.entry.js.map +0 -1
- package/dist/dso-toolkit/p-7d142b40.entry.js +0 -2
- package/dist/dso-toolkit/p-7d142b40.entry.js.map +0 -1
- package/dist/dso-toolkit/p-e9053e12.entry.js +0 -2
- package/dist/types/components/viewer-grid/components/filterpanel.d.ts +0 -11
- package/dist/types/components/viewer-grid/components/viewer-grid-filterpanel-buttons.d.ts +0 -6
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Fragment, h } from "@stencil/core";
|
|
2
2
|
import clsx from "clsx";
|
|
3
3
|
import debounce from "debounce";
|
|
4
|
-
import { DocumentPanel,
|
|
5
|
-
import { viewerGridTabLabelMap,
|
|
4
|
+
import { DocumentPanel, FilterPanel, MainPanel, Overlay } from "./components";
|
|
5
|
+
import { viewerGridTabLabelMap, viewerGridTabs, } from "./viewer-grid.interfaces";
|
|
6
6
|
const resizeObserver = new ResizeObserver(debounce(([entry]) => {
|
|
7
7
|
const shadowRoot = entry === null || entry === void 0 ? void 0 : entry.target.getRootNode();
|
|
8
8
|
if (shadowRoot instanceof ShadowRoot && isDsoViewerGridComponent(shadowRoot.host)) {
|
|
@@ -19,27 +19,23 @@ 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
|
|
22
|
+
* @slot filter-panel
|
|
23
23
|
* @slot overlay
|
|
24
|
-
* @slot document-panel
|
|
24
|
+
* @slot document-panel
|
|
25
25
|
*/
|
|
26
26
|
export class ViewerGrid {
|
|
27
27
|
constructor() {
|
|
28
28
|
this.mediaCondition = `(min-width: ${tabViewBreakpoint}px)`;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Set to true when filter panel should show.
|
|
31
31
|
*/
|
|
32
|
-
this.
|
|
33
|
-
/**
|
|
34
|
-
* Set to true when filterpanel should show.
|
|
35
|
-
*/
|
|
36
|
-
this.filterpanelOpen = false;
|
|
32
|
+
this.filterPanelOpen = false;
|
|
37
33
|
/**
|
|
38
34
|
* Set to true when overlay should show.
|
|
39
35
|
*/
|
|
40
36
|
this.overlayOpen = false;
|
|
41
37
|
/**
|
|
42
|
-
*
|
|
38
|
+
* Set to true when document panel should show.
|
|
43
39
|
*/
|
|
44
40
|
this.documentPanelOpen = false;
|
|
45
41
|
/**
|
|
@@ -49,17 +45,17 @@ export class ViewerGrid {
|
|
|
49
45
|
*/
|
|
50
46
|
this.mainSize = "large";
|
|
51
47
|
/**
|
|
52
|
-
*
|
|
48
|
+
* Size of the panel when component loads.
|
|
53
49
|
*
|
|
54
50
|
* Default size is `large`.
|
|
55
51
|
*/
|
|
56
52
|
this.documentPanelSize = "large";
|
|
57
53
|
/**
|
|
58
|
-
*
|
|
54
|
+
* Set to show main panel expanded.
|
|
59
55
|
*/
|
|
60
56
|
this.mainPanelExpanded = false;
|
|
61
57
|
/**
|
|
62
|
-
*
|
|
58
|
+
* Set to hide the main panel.
|
|
63
59
|
*/
|
|
64
60
|
this.mainPanelHidden = false;
|
|
65
61
|
this.tabView = window.innerWidth < tabViewBreakpoint;
|
|
@@ -68,18 +64,6 @@ export class ViewerGrid {
|
|
|
68
64
|
tab,
|
|
69
65
|
});
|
|
70
66
|
};
|
|
71
|
-
this.emitShrinkMain = () => {
|
|
72
|
-
this.dsoMainSizeChange.emit({
|
|
73
|
-
currentSize: this.mainSize,
|
|
74
|
-
nextSize: this.mainSize === "large" ? "medium" : "small",
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
this.emitExpandMain = () => {
|
|
78
|
-
this.dsoMainSizeChange.emit({
|
|
79
|
-
currentSize: this.mainSize,
|
|
80
|
-
nextSize: this.mainSize === "small" ? "medium" : "large",
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
67
|
this.shrinkDocumentPanel = () => {
|
|
84
68
|
this.dsoDocumentPanelSizeChange.emit({
|
|
85
69
|
currentSize: this.documentPanelSize,
|
|
@@ -102,27 +86,9 @@ export class ViewerGrid {
|
|
|
102
86
|
});
|
|
103
87
|
};
|
|
104
88
|
this.changeListener = (largeScreen) => (this.tabView = !largeScreen.matches);
|
|
105
|
-
this.handleFilterpanelApply = (mouseEvent) => {
|
|
106
|
-
this.dsoFilterpanelApply.emit({ originalEvent: mouseEvent });
|
|
107
|
-
};
|
|
108
|
-
this.handleFilterpanelCancel = (mouseEvent) => {
|
|
109
|
-
this.dsoFilterpanelCancel.emit({ originalEvent: mouseEvent });
|
|
110
|
-
};
|
|
111
|
-
this.showFilterpanel = (mode) => {
|
|
112
|
-
var _a, _b;
|
|
113
|
-
if (mode === "vdk") {
|
|
114
|
-
// 'vdk' mode displays the filterpanel modelessly, i.e. still allowing interaction with content outside it.
|
|
115
|
-
(_a = this.filterpanel) === null || _a === void 0 ? void 0 : _a.show();
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
// 'vrk' mode displays the filterpanel as a modal; interaction outside the dialog is blocked and the content
|
|
119
|
-
// outside it is rendered inert
|
|
120
|
-
(_b = this.filterpanel) === null || _b === void 0 ? void 0 : _b.showModal();
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
89
|
}
|
|
124
|
-
get
|
|
125
|
-
return this.host.querySelector("[slot='
|
|
90
|
+
get filterPanelSlot() {
|
|
91
|
+
return this.host.querySelector("[slot='filter-panel']");
|
|
126
92
|
}
|
|
127
93
|
get overlaySlot() {
|
|
128
94
|
return this.host.querySelector("[slot='overlay']");
|
|
@@ -132,16 +98,16 @@ export class ViewerGrid {
|
|
|
132
98
|
this._checkMainPanelVisibility();
|
|
133
99
|
}
|
|
134
100
|
}
|
|
135
|
-
|
|
136
|
-
var _a;
|
|
137
|
-
if (!this.
|
|
138
|
-
console.warn("slot '
|
|
101
|
+
filterPanelOpenWatcher(open) {
|
|
102
|
+
var _a, _b;
|
|
103
|
+
if (!this.filterPanelSlot) {
|
|
104
|
+
console.warn("slot 'filter-panel' has not been set");
|
|
139
105
|
}
|
|
140
106
|
if (open) {
|
|
141
|
-
|
|
107
|
+
(_a = this.filterPanel) === null || _a === void 0 ? void 0 : _a.show();
|
|
142
108
|
}
|
|
143
109
|
else {
|
|
144
|
-
(
|
|
110
|
+
(_b = this.filterPanel) === null || _b === void 0 ? void 0 : _b.close();
|
|
145
111
|
}
|
|
146
112
|
}
|
|
147
113
|
overlayOpenWatcher(open) {
|
|
@@ -160,8 +126,7 @@ export class ViewerGrid {
|
|
|
160
126
|
* @internal
|
|
161
127
|
*/
|
|
162
128
|
async _checkMainPanelVisibility() {
|
|
163
|
-
if (this.
|
|
164
|
-
this.documentPanelOpen &&
|
|
129
|
+
if (this.documentPanelOpen &&
|
|
165
130
|
!this.mainPanelHidden &&
|
|
166
131
|
this.mapElement instanceof HTMLDivElement &&
|
|
167
132
|
((this.mapElement.clientWidth <= minMapElementWidth + buttonWidth + buttonWidth && !this.mainPanelExpanded) ||
|
|
@@ -175,27 +140,25 @@ export class ViewerGrid {
|
|
|
175
140
|
window.matchMedia(this.mediaCondition).addEventListener("change", this.changeListener);
|
|
176
141
|
}
|
|
177
142
|
componentDidLoad() {
|
|
178
|
-
var _a;
|
|
179
|
-
if (this.
|
|
180
|
-
|
|
143
|
+
var _a, _b;
|
|
144
|
+
if (this.filterPanelOpen && this.filterPanelSlot) {
|
|
145
|
+
(_a = this.filterPanel) === null || _a === void 0 ? void 0 : _a.show();
|
|
181
146
|
}
|
|
182
147
|
if (this.overlayOpen && this.overlaySlot) {
|
|
183
|
-
(
|
|
148
|
+
(_b = this.overlay) === null || _b === void 0 ? void 0 : _b.showModal();
|
|
184
149
|
}
|
|
185
|
-
if (this.
|
|
150
|
+
if (this.mapElement instanceof HTMLDivElement) {
|
|
186
151
|
resizeObserver.observe(this.mapElement);
|
|
187
152
|
}
|
|
188
153
|
}
|
|
189
154
|
disconnectedCallback() {
|
|
190
155
|
window.matchMedia(this.mediaCondition).removeEventListener("change", this.changeListener);
|
|
191
|
-
if (this.
|
|
156
|
+
if (this.mapElement) {
|
|
192
157
|
resizeObserver.unobserve(this.mapElement);
|
|
193
158
|
}
|
|
194
159
|
}
|
|
195
160
|
render() {
|
|
196
|
-
|
|
197
|
-
return (h(Fragment, null, h("slot", { key: '88186582d34fe078c1a3f9e6b1f2756233ee160f', name: "top-bar" }), h("div", { key: 'cf6a562a02b4be92160b75739aab6cd7f45cbc01', class: "viewer-grid-columns" }, this.tabView && (h("nav", { key: '232851458371ce4e3c9c46032ee466a8f2e8e972', class: "dso-navbar" }, h("ul", { key: '817ee5644ee6468ef278f89abc24be44b3c0557b', class: "dso-nav dso-nav-sub" }, tabLabels.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 === "main" || this.activeTab === "search"))) && (h(MainPanel, { key: '87daa6f19d94ff7f98116058e6b55d63486567fd', mode: this.mode, tabView: this.tabView, mainSize: this.mainSize, documentPanelOpen: this.documentPanelOpen, mainPanelExpanded: this.mainPanelExpanded, mainPanelHidden: this.mainPanelHidden, shrinkMain: this.emitShrinkMain, expandMain: this.emitExpandMain, toggleMainPanel: this.toggleMainPanel, dsoMainSizeChangeAnimationEnd: this.dsoMainSizeChangeAnimationEnd })), (!this.tabView ||
|
|
198
|
-
(this.tabView && ((this.activeTab === "main" && this.mode === "vrk") || this.activeTab === "search"))) && (h(Filterpanel, { key: 'ed91c813291d798cc9d3bebf3d1fd949bdda8767', title: this.filterpanelTitle, mode: this.mode, ref: (element) => (this.filterpanel = element), onApply: this.handleFilterpanelApply, onCancel: this.handleFilterpanelCancel, dsoCloseFilterpanel: (e) => this.dsoCloseFilterpanel.emit({ originalEvent: e }) })), (!this.tabView || (this.tabView && this.activeTab === "map")) && (h("div", { key: '395ced716241766984915bf7dbab495ad35a118d', class: "map", ref: (element) => (this.mapElement = element) }, h("slot", { key: '7bc03d5977db9614f9bfc95fdd5d6d92f2b78352', name: "map" }))), ((!this.tabView && this.documentPanelOpen) || (this.tabView && this.activeTab === "document")) && (h(DocumentPanel, { key: '0acd3e672e4f8a4bc5b598f40a1d929a092fe6e3', tabView: this.tabView, panelSize: this.documentPanelSize, shrinkDocumentPanel: this.shrinkDocumentPanel, expandDocumentPanel: this.expandDocumentPanel, dsoDocumentPanelSizeChangeAnimationEnd: this.dsoDocumentPanelSizeChangeAnimationEnd })), h(Overlay, { key: 'e7cfa2bb711f36d4d8821f16fea0ba0898c1af9d', ref: (element) => (this.overlay = element), dsoCloseOverlay: (e) => this.dsoCloseOverlay.emit({ originalEvent: e }) }))));
|
|
161
|
+
return (h(Fragment, null, h("slot", { key: '30a27a066b6c66a817bce9082fef6a4447f459d6', name: "top-bar" }), h("div", { key: 'faeae17f2aea5520eb1903c01eef387a494b42a9', class: "viewer-grid-columns" }, this.tabView && (h("nav", { key: '3559fb25907ec6d589db8d0592096da6e4747f90', class: "dso-navbar" }, h("ul", { key: '9304fc7c899d39ac08fb750a6b61f14e4352cb08', 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: '0c6bd15b16e07efc768efffbbbd6379bf8079d26', 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: '07b2df2f64137d5d9608fb53676672b8430a8f4a', 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: '68f605647afdc868991702c238902d286b400d50', class: "map", ref: (element) => (this.mapElement = element) }, h("slot", { key: 'e87559e3d6c9063a21d2ad410aa9ba000a60a643', name: "map" }))), ((!this.tabView && this.documentPanelOpen) || (this.tabView && this.activeTab === "document")) && (h(DocumentPanel, { key: '30d4dcd5f16d7fd65644bcbefa13d36fa6cfbb2e', tabView: this.tabView, panelSize: this.documentPanelSize, shrinkDocumentPanel: this.shrinkDocumentPanel, expandDocumentPanel: this.expandDocumentPanel, dsoDocumentPanelSizeChangeAnimationEnd: this.dsoDocumentPanelSizeChangeAnimationEnd })), h(Overlay, { key: 'b0ef14b03c22dcacde5a246b5e9b9ebca637d83e', ref: (element) => (this.overlay = element), dsoCloseOverlay: (e) => this.dsoCloseOverlay.emit({ originalEvent: e }) }))));
|
|
199
162
|
}
|
|
200
163
|
static get is() { return "dso-viewer-grid"; }
|
|
201
164
|
static get encapsulation() { return "shadow"; }
|
|
@@ -211,35 +174,9 @@ export class ViewerGrid {
|
|
|
211
174
|
}
|
|
212
175
|
static get properties() {
|
|
213
176
|
return {
|
|
214
|
-
"
|
|
177
|
+
"filterPanelTitle": {
|
|
215
178
|
"type": "string",
|
|
216
|
-
"attribute": "
|
|
217
|
-
"mutable": false,
|
|
218
|
-
"complexType": {
|
|
219
|
-
"original": "ViewerGridMode",
|
|
220
|
-
"resolved": "\"vdk\" | \"vrk\"",
|
|
221
|
-
"references": {
|
|
222
|
-
"ViewerGridMode": {
|
|
223
|
-
"location": "import",
|
|
224
|
-
"path": "./viewer-grid.interfaces",
|
|
225
|
-
"id": "src/components/viewer-grid/viewer-grid.interfaces.ts::ViewerGridMode"
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
},
|
|
229
|
-
"required": false,
|
|
230
|
-
"optional": false,
|
|
231
|
-
"docs": {
|
|
232
|
-
"tags": [],
|
|
233
|
-
"text": "VRK or VDK implementation."
|
|
234
|
-
},
|
|
235
|
-
"getter": false,
|
|
236
|
-
"setter": false,
|
|
237
|
-
"reflect": true,
|
|
238
|
-
"defaultValue": "\"vrk\""
|
|
239
|
-
},
|
|
240
|
-
"filterpanelTitle": {
|
|
241
|
-
"type": "string",
|
|
242
|
-
"attribute": "filterpanel-title",
|
|
179
|
+
"attribute": "filter-panel-title",
|
|
243
180
|
"mutable": false,
|
|
244
181
|
"complexType": {
|
|
245
182
|
"original": "string",
|
|
@@ -250,15 +187,15 @@ export class ViewerGrid {
|
|
|
250
187
|
"optional": true,
|
|
251
188
|
"docs": {
|
|
252
189
|
"tags": [],
|
|
253
|
-
"text": "
|
|
190
|
+
"text": "The title of the filter panel"
|
|
254
191
|
},
|
|
255
192
|
"getter": false,
|
|
256
193
|
"setter": false,
|
|
257
194
|
"reflect": true
|
|
258
195
|
},
|
|
259
|
-
"
|
|
196
|
+
"filterPanelOpen": {
|
|
260
197
|
"type": "boolean",
|
|
261
|
-
"attribute": "
|
|
198
|
+
"attribute": "filter-panel-open",
|
|
262
199
|
"mutable": false,
|
|
263
200
|
"complexType": {
|
|
264
201
|
"original": "boolean",
|
|
@@ -269,7 +206,7 @@ export class ViewerGrid {
|
|
|
269
206
|
"optional": false,
|
|
270
207
|
"docs": {
|
|
271
208
|
"tags": [],
|
|
272
|
-
"text": "Set to true when
|
|
209
|
+
"text": "Set to true when filter panel should show."
|
|
273
210
|
},
|
|
274
211
|
"getter": false,
|
|
275
212
|
"setter": false,
|
|
@@ -309,7 +246,7 @@ export class ViewerGrid {
|
|
|
309
246
|
"optional": false,
|
|
310
247
|
"docs": {
|
|
311
248
|
"tags": [],
|
|
312
|
-
"text": "
|
|
249
|
+
"text": "Set to true when document panel should show."
|
|
313
250
|
},
|
|
314
251
|
"getter": false,
|
|
315
252
|
"setter": false,
|
|
@@ -347,18 +284,13 @@ export class ViewerGrid {
|
|
|
347
284
|
"attribute": "active-tab",
|
|
348
285
|
"mutable": false,
|
|
349
286
|
"complexType": {
|
|
350
|
-
"original": "
|
|
351
|
-
"resolved": "\"document\" | \"
|
|
287
|
+
"original": "ViewerGridTab",
|
|
288
|
+
"resolved": "\"document\" | \"map\" | \"search\" | undefined",
|
|
352
289
|
"references": {
|
|
353
|
-
"
|
|
290
|
+
"ViewerGridTab": {
|
|
354
291
|
"location": "import",
|
|
355
292
|
"path": "./viewer-grid.interfaces",
|
|
356
|
-
"id": "src/components/viewer-grid/viewer-grid.interfaces.ts::
|
|
357
|
-
},
|
|
358
|
-
"ViewerGridVrkTab": {
|
|
359
|
-
"location": "import",
|
|
360
|
-
"path": "./viewer-grid.interfaces",
|
|
361
|
-
"id": "src/components/viewer-grid/viewer-grid.interfaces.ts::ViewerGridVrkTab"
|
|
293
|
+
"id": "src/components/viewer-grid/viewer-grid.interfaces.ts::ViewerGridTab"
|
|
362
294
|
}
|
|
363
295
|
}
|
|
364
296
|
},
|
|
@@ -391,7 +323,7 @@ export class ViewerGrid {
|
|
|
391
323
|
"optional": false,
|
|
392
324
|
"docs": {
|
|
393
325
|
"tags": [],
|
|
394
|
-
"text": "
|
|
326
|
+
"text": "Size of the panel when component loads.\r\n\r\nDefault size is `large`."
|
|
395
327
|
},
|
|
396
328
|
"getter": false,
|
|
397
329
|
"setter": false,
|
|
@@ -411,7 +343,7 @@ export class ViewerGrid {
|
|
|
411
343
|
"optional": false,
|
|
412
344
|
"docs": {
|
|
413
345
|
"tags": [],
|
|
414
|
-
"text": "
|
|
346
|
+
"text": "Set to show main panel expanded."
|
|
415
347
|
},
|
|
416
348
|
"getter": false,
|
|
417
349
|
"setter": false,
|
|
@@ -431,7 +363,7 @@ export class ViewerGrid {
|
|
|
431
363
|
"optional": false,
|
|
432
364
|
"docs": {
|
|
433
365
|
"tags": [],
|
|
434
|
-
"text": "
|
|
366
|
+
"text": "Set to hide the main panel."
|
|
435
367
|
},
|
|
436
368
|
"getter": false,
|
|
437
369
|
"setter": false,
|
|
@@ -468,65 +400,23 @@ export class ViewerGrid {
|
|
|
468
400
|
}
|
|
469
401
|
}
|
|
470
402
|
}, {
|
|
471
|
-
"method": "
|
|
472
|
-
"name": "
|
|
403
|
+
"method": "dsoCloseFilterPanel",
|
|
404
|
+
"name": "dsoCloseFilterPanel",
|
|
473
405
|
"bubbles": true,
|
|
474
406
|
"cancelable": true,
|
|
475
407
|
"composed": true,
|
|
476
408
|
"docs": {
|
|
477
409
|
"tags": [],
|
|
478
|
-
"text": "
|
|
410
|
+
"text": "Emitted when user wants to close the filter panel."
|
|
479
411
|
},
|
|
480
412
|
"complexType": {
|
|
481
|
-
"original": "
|
|
482
|
-
"resolved": "
|
|
413
|
+
"original": "ViewerGridCloseFilterPanelEvent",
|
|
414
|
+
"resolved": "ViewerGridCloseFilterPanelEvent",
|
|
483
415
|
"references": {
|
|
484
|
-
"
|
|
416
|
+
"ViewerGridCloseFilterPanelEvent": {
|
|
485
417
|
"location": "import",
|
|
486
418
|
"path": "./viewer-grid.interfaces",
|
|
487
|
-
"id": "src/components/viewer-grid/viewer-grid.interfaces.ts::
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
|
-
}, {
|
|
492
|
-
"method": "dsoFilterpanelCancel",
|
|
493
|
-
"name": "dsoFilterpanelCancel",
|
|
494
|
-
"bubbles": true,
|
|
495
|
-
"cancelable": true,
|
|
496
|
-
"composed": true,
|
|
497
|
-
"docs": {
|
|
498
|
-
"tags": [],
|
|
499
|
-
"text": "Emitted when user cancels filterpanel."
|
|
500
|
-
},
|
|
501
|
-
"complexType": {
|
|
502
|
-
"original": "ViewerGridFilterpanelCancelEvent",
|
|
503
|
-
"resolved": "ViewerGridFilterpanelCancelEvent",
|
|
504
|
-
"references": {
|
|
505
|
-
"ViewerGridFilterpanelCancelEvent": {
|
|
506
|
-
"location": "import",
|
|
507
|
-
"path": "./viewer-grid.interfaces",
|
|
508
|
-
"id": "src/components/viewer-grid/viewer-grid.interfaces.ts::ViewerGridFilterpanelCancelEvent"
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
}, {
|
|
513
|
-
"method": "dsoFilterpanelApply",
|
|
514
|
-
"name": "dsoFilterpanelApply",
|
|
515
|
-
"bubbles": true,
|
|
516
|
-
"cancelable": true,
|
|
517
|
-
"composed": true,
|
|
518
|
-
"docs": {
|
|
519
|
-
"tags": [],
|
|
520
|
-
"text": "Emitted when user applies filterpanel options."
|
|
521
|
-
},
|
|
522
|
-
"complexType": {
|
|
523
|
-
"original": "ViewerGridFilterpanelApplyEvent",
|
|
524
|
-
"resolved": "ViewerGridFilterpanelApplyEvent",
|
|
525
|
-
"references": {
|
|
526
|
-
"ViewerGridFilterpanelApplyEvent": {
|
|
527
|
-
"location": "import",
|
|
528
|
-
"path": "./viewer-grid.interfaces",
|
|
529
|
-
"id": "src/components/viewer-grid/viewer-grid.interfaces.ts::ViewerGridFilterpanelApplyEvent"
|
|
419
|
+
"id": "src/components/viewer-grid/viewer-grid.interfaces.ts::ViewerGridCloseFilterPanelEvent"
|
|
530
420
|
}
|
|
531
421
|
}
|
|
532
422
|
}
|
|
@@ -538,7 +428,7 @@ export class ViewerGrid {
|
|
|
538
428
|
"composed": true,
|
|
539
429
|
"docs": {
|
|
540
430
|
"tags": [],
|
|
541
|
-
"text": "Emitted when user applies
|
|
431
|
+
"text": "Emitted when user applies filter panel options."
|
|
542
432
|
},
|
|
543
433
|
"complexType": {
|
|
544
434
|
"original": "ViewerGridActiveTabSwitchEvent",
|
|
@@ -551,27 +441,6 @@ export class ViewerGrid {
|
|
|
551
441
|
}
|
|
552
442
|
}
|
|
553
443
|
}
|
|
554
|
-
}, {
|
|
555
|
-
"method": "dsoMainSizeChange",
|
|
556
|
-
"name": "dsoMainSizeChange",
|
|
557
|
-
"bubbles": true,
|
|
558
|
-
"cancelable": true,
|
|
559
|
-
"composed": true,
|
|
560
|
-
"docs": {
|
|
561
|
-
"tags": [],
|
|
562
|
-
"text": "Emitted on interaction with sizing buttons."
|
|
563
|
-
},
|
|
564
|
-
"complexType": {
|
|
565
|
-
"original": "ViewerGridChangeSizeEvent",
|
|
566
|
-
"resolved": "ViewerGridChangeSizeEvent",
|
|
567
|
-
"references": {
|
|
568
|
-
"ViewerGridChangeSizeEvent": {
|
|
569
|
-
"location": "import",
|
|
570
|
-
"path": "./viewer-grid.interfaces",
|
|
571
|
-
"id": "src/components/viewer-grid/viewer-grid.interfaces.ts::ViewerGridChangeSizeEvent"
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
444
|
}, {
|
|
576
445
|
"method": "dsoMainSizeChangeAnimationEnd",
|
|
577
446
|
"name": "dsoMainSizeChangeAnimationEnd",
|
|
@@ -601,7 +470,7 @@ export class ViewerGrid {
|
|
|
601
470
|
"composed": true,
|
|
602
471
|
"docs": {
|
|
603
472
|
"tags": [],
|
|
604
|
-
"text": "
|
|
473
|
+
"text": "Emitted on interaction with sizing buttons."
|
|
605
474
|
},
|
|
606
475
|
"complexType": {
|
|
607
476
|
"original": "ViewerGridChangeSizeEvent",
|
|
@@ -622,7 +491,7 @@ export class ViewerGrid {
|
|
|
622
491
|
"composed": true,
|
|
623
492
|
"docs": {
|
|
624
493
|
"tags": [],
|
|
625
|
-
"text": "
|
|
494
|
+
"text": "Emitted after main size animation."
|
|
626
495
|
},
|
|
627
496
|
"complexType": {
|
|
628
497
|
"original": "ViewerGridChangeSizeAnimationEndEvent",
|
|
@@ -643,7 +512,7 @@ export class ViewerGrid {
|
|
|
643
512
|
"composed": true,
|
|
644
513
|
"docs": {
|
|
645
514
|
"tags": [],
|
|
646
|
-
"text": "
|
|
515
|
+
"text": "Emitted when the user wants to expand the main panel."
|
|
647
516
|
},
|
|
648
517
|
"complexType": {
|
|
649
518
|
"original": "ViewerGridMainExpandEvent",
|
|
@@ -664,7 +533,7 @@ export class ViewerGrid {
|
|
|
664
533
|
"composed": true,
|
|
665
534
|
"docs": {
|
|
666
535
|
"tags": [],
|
|
667
|
-
"text": "
|
|
536
|
+
"text": "Emitted when the user toggles the visibility of the main panel.\r\n\r\nAlso emitted by scripting when the panels do not fit anymore."
|
|
668
537
|
},
|
|
669
538
|
"complexType": {
|
|
670
539
|
"original": "ViewerGridMainToggleEvent",
|
|
@@ -709,8 +578,8 @@ export class ViewerGrid {
|
|
|
709
578
|
"propName": "documentPanelOpen",
|
|
710
579
|
"methodName": "documentPanelOpenWatcher"
|
|
711
580
|
}, {
|
|
712
|
-
"propName": "
|
|
713
|
-
"methodName": "
|
|
581
|
+
"propName": "filterPanelOpen",
|
|
582
|
+
"methodName": "filterPanelOpenWatcher"
|
|
714
583
|
}, {
|
|
715
584
|
"propName": "overlayOpen",
|
|
716
585
|
"methodName": "overlayOpenWatcher"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewer-grid.js","sourceRoot":"","sources":["../../../../src/components/viewer-grid/viewer-grid.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, Method, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DocumentPanel, Filterpanel, MainPanel, Overlay } from \"./components\";\r\nimport {\r\n ViewerGridActiveTabSwitchEvent,\r\n ViewerGridChangeSizeAnimationEndEvent,\r\n ViewerGridChangeSizeEvent,\r\n ViewerGridCloseFilterpanelEvent,\r\n ViewerGridCloseOverlayEvent,\r\n ViewerGridFilterpanelApplyEvent,\r\n ViewerGridFilterpanelCancelEvent,\r\n ViewerGridMainExpandEvent,\r\n ViewerGridMainToggleEvent,\r\n ViewerGridMode,\r\n ViewerGridPanelSize,\r\n ViewerGridTab,\r\n ViewerGridVdkTab,\r\n ViewerGridVrkTab,\r\n viewerGridTabLabelMap,\r\n viewerGridVdkTabs,\r\n viewerGridVrkTabs,\r\n} from \"./viewer-grid.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(([entry]) => {\r\n const shadowRoot = entry?.target.getRootNode();\r\n if (shadowRoot instanceof ShadowRoot && isDsoViewerGridComponent(shadowRoot.host)) {\r\n shadowRoot.host._checkMainPanelVisibility();\r\n }\r\n }, 50),\r\n);\r\n\r\nfunction isDsoViewerGridComponent(element: Element): element is HTMLDsoViewerGridElement {\r\n return element.tagName === \"DSO-VIEWER-GRID\";\r\n}\r\n\r\nconst buttonWidth = 40;\r\n\r\nconst tabViewBreakpoint = 768 + buttonWidth;\r\n\r\nconst minMapElementWidth = 440;\r\n\r\n/**\r\n * @slot top-bar - Een slot die bovenaan de viewer over de hele breedte kan worden gevuld met bijv een banner.\r\n * @slot main\r\n * @slot map\r\n * @slot filterpanel\r\n * @slot overlay\r\n * @slot document-panel - VDK only\r\n */\r\n@Component({\r\n tag: \"dso-viewer-grid\",\r\n styleUrl: \"viewer-grid.scss\",\r\n shadow: true,\r\n})\r\nexport class ViewerGrid {\r\n private mediaCondition = `(min-width: ${tabViewBreakpoint}px)`;\r\n\r\n private mapElement?: HTMLDivElement;\r\n\r\n /**\r\n * VRK or VDK implementation.\r\n */\r\n @Prop({ reflect: true })\r\n mode: ViewerGridMode = \"vrk\";\r\n\r\n /**\r\n * **VDK only.** The title of the Filterpanel\r\n */\r\n @Prop({ reflect: true })\r\n filterpanelTitle?: string;\r\n\r\n /**\r\n * Set to true when filterpanel should show.\r\n */\r\n @Prop({ reflect: true })\r\n filterpanelOpen = false;\r\n\r\n /**\r\n * Set to true when overlay should show.\r\n */\r\n @Prop({ reflect: true })\r\n overlayOpen = false;\r\n\r\n /**\r\n * **VDK only.** Set to true when document panel should show.\r\n */\r\n @Prop({ reflect: true })\r\n documentPanelOpen = false;\r\n\r\n /**\r\n * Size of the panel when component loads.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop({ reflect: true })\r\n mainSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * Set active tab in tab view.\r\n */\r\n @Prop()\r\n activeTab?: ViewerGridVdkTab | ViewerGridVrkTab;\r\n\r\n /**\r\n * **VDK only.** Size of the panel when component loads.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop({ reflect: true })\r\n documentPanelSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * **VDK only.** Set to show main panel expanded.\r\n */\r\n @Prop()\r\n mainPanelExpanded = false;\r\n\r\n /**\r\n * **VDK only.** Set to hide the main panel.\r\n */\r\n @Prop()\r\n mainPanelHidden = false;\r\n\r\n /**\r\n * Emitted when user wants to close the overlay.\r\n */\r\n @Event()\r\n dsoCloseOverlay!: EventEmitter<ViewerGridCloseOverlayEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted when user wants to close the filterpanel.\r\n */\r\n @Event()\r\n dsoCloseFilterpanel!: EventEmitter<ViewerGridCloseFilterpanelEvent>;\r\n /**\r\n * Emitted when user cancels filterpanel.\r\n */\r\n @Event()\r\n dsoFilterpanelCancel!: EventEmitter<ViewerGridFilterpanelCancelEvent>;\r\n\r\n /**\r\n * Emitted when user applies filterpanel options.\r\n */\r\n @Event()\r\n dsoFilterpanelApply!: EventEmitter<ViewerGridFilterpanelApplyEvent>;\r\n\r\n /**\r\n * Emitted when user applies filterpanel options.\r\n */\r\n @Event()\r\n dsoActiveTabSwitch!: EventEmitter<ViewerGridActiveTabSwitchEvent>;\r\n\r\n /**\r\n * Emitted on interaction with sizing buttons.\r\n */\r\n @Event()\r\n dsoMainSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n /**\r\n * Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoMainSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted on interaction with sizing buttons.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted when the user wants to expand the main panel.\r\n */\r\n @Event()\r\n dsoMainPanelExpand!: EventEmitter<ViewerGridMainExpandEvent>;\r\n\r\n /**\r\n * **VDK only.** Emitted when the user toggles the visibility of the main panel.\r\n *\r\n * Also emitted by scripting when the panels do not fit anymore.\r\n */\r\n @Event()\r\n dsoMainPanelToggle!: EventEmitter<ViewerGridMainToggleEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoViewerGridElement;\r\n\r\n @State()\r\n tabView = window.innerWidth < tabViewBreakpoint;\r\n\r\n private filterpanel: HTMLDialogElement | undefined;\r\n\r\n private get filterpanelSlot() {\r\n return this.host.querySelector(\"[slot='filterpanel']\");\r\n }\r\n\r\n private get overlaySlot() {\r\n return this.host.querySelector(\"[slot='overlay']\");\r\n }\r\n\r\n private overlay: HTMLDialogElement | undefined;\r\n\r\n @Watch(\"documentPanelOpen\")\r\n documentPanelOpenWatcher(open: boolean) {\r\n if (open) {\r\n this._checkMainPanelVisibility();\r\n }\r\n }\r\n\r\n @Watch(\"filterpanelOpen\")\r\n filterpanelOpenWatcher(open: boolean) {\r\n if (!this.filterpanelSlot) {\r\n console.warn(\"slot 'filterpanel' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.showFilterpanel(this.mode);\r\n } else {\r\n this.filterpanel?.close();\r\n }\r\n }\r\n\r\n @Watch(\"overlayOpen\")\r\n overlayOpenWatcher(open: boolean) {\r\n if (!this.overlaySlot) {\r\n console.warn(\"slot 'overlay' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.overlay?.showModal();\r\n } else {\r\n this.overlay?.close();\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _checkMainPanelVisibility() {\r\n if (\r\n this.mode === \"vdk\" &&\r\n this.documentPanelOpen &&\r\n !this.mainPanelHidden &&\r\n this.mapElement instanceof HTMLDivElement &&\r\n ((this.mapElement.clientWidth <= minMapElementWidth + buttonWidth + buttonWidth && !this.mainPanelExpanded) ||\r\n (this.mapElement.clientWidth <= buttonWidth + buttonWidth && this.mainPanelExpanded))\r\n ) {\r\n this.dsoMainPanelToggle.emit({\r\n hide: true,\r\n });\r\n }\r\n }\r\n\r\n private switchActiveTab = (tab: ViewerGridTab) => {\r\n this.dsoActiveTabSwitch.emit({\r\n tab,\r\n });\r\n };\r\n\r\n private emitShrinkMain = () => {\r\n this.dsoMainSizeChange.emit({\r\n currentSize: this.mainSize,\r\n nextSize: this.mainSize === \"large\" ? \"medium\" : \"small\",\r\n });\r\n };\r\n\r\n private emitExpandMain = () => {\r\n this.dsoMainSizeChange.emit({\r\n currentSize: this.mainSize,\r\n nextSize: this.mainSize === \"small\" ? \"medium\" : \"large\",\r\n });\r\n };\r\n\r\n private shrinkDocumentPanel = () => {\r\n this.dsoDocumentPanelSizeChange.emit({\r\n currentSize: this.documentPanelSize,\r\n nextSize: this.documentPanelSize === \"large\" ? \"medium\" : \"small\",\r\n });\r\n };\r\n\r\n private expandDocumentPanel = () => {\r\n this.dsoDocumentPanelSizeChange.emit({\r\n currentSize: this.documentPanelSize,\r\n nextSize: this.documentPanelSize === \"small\" ? \"medium\" : \"large\",\r\n });\r\n };\r\n\r\n private toggleMainPanel = () => {\r\n if (\r\n this.mapElement instanceof HTMLDivElement &&\r\n this.mapElement.clientWidth <= minMapElementWidth + buttonWidth + buttonWidth\r\n ) {\r\n this.mainSize = \"small\";\r\n }\r\n\r\n this.dsoMainPanelToggle.emit({\r\n hide: !this.mainPanelHidden,\r\n });\r\n };\r\n\r\n private changeListener = (largeScreen: MediaQueryListEvent) => (this.tabView = !largeScreen.matches);\r\n\r\n private handleFilterpanelApply = (mouseEvent: MouseEvent | Event) => {\r\n this.dsoFilterpanelApply.emit({ originalEvent: mouseEvent });\r\n };\r\n\r\n private handleFilterpanelCancel = (mouseEvent: MouseEvent | Event) => {\r\n this.dsoFilterpanelCancel.emit({ originalEvent: mouseEvent });\r\n };\r\n\r\n private showFilterpanel = (mode: ViewerGridMode) => {\r\n if (mode === \"vdk\") {\r\n // 'vdk' mode displays the filterpanel modelessly, i.e. still allowing interaction with content outside it.\r\n this.filterpanel?.show();\r\n } else {\r\n // 'vrk' mode displays the filterpanel as a modal; interaction outside the dialog is blocked and the content\r\n // outside it is rendered inert\r\n this.filterpanel?.showModal();\r\n }\r\n };\r\n\r\n connectedCallback() {\r\n window.matchMedia(this.mediaCondition).addEventListener(\"change\", this.changeListener);\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.filterpanelOpen && this.filterpanelSlot) {\r\n this.showFilterpanel(this.mode);\r\n }\r\n\r\n if (this.overlayOpen && this.overlaySlot) {\r\n this.overlay?.showModal();\r\n }\r\n\r\n if (this.mode === \"vdk\" && this.mapElement instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.mapElement);\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n window.matchMedia(this.mediaCondition).removeEventListener(\"change\", this.changeListener);\r\n\r\n if (this.mode === \"vdk\" && this.mapElement) {\r\n resizeObserver.unobserve(this.mapElement);\r\n }\r\n }\r\n\r\n render() {\r\n const tabLabels = this.mode === \"vdk\" ? viewerGridVdkTabs : viewerGridVrkTabs;\r\n\r\n return (\r\n <>\r\n <slot name=\"top-bar\" />\r\n <div class=\"viewer-grid-columns\">\r\n {this.tabView && (\r\n <nav class=\"dso-navbar\">\r\n <ul class=\"dso-nav dso-nav-sub\">\r\n {tabLabels.map((tab) => (\r\n <li key={tab} class={clsx({ \"dso-active\": this.activeTab === tab })}>\r\n <button type=\"button\" class=\"dso-tertiary\" onClick={() => this.switchActiveTab(tab)}>\r\n {viewerGridTabLabelMap[tab]}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n )}\r\n {(!this.tabView || (this.tabView && (this.activeTab === \"main\" || this.activeTab === \"search\"))) && (\r\n <MainPanel\r\n mode={this.mode}\r\n tabView={this.tabView}\r\n mainSize={this.mainSize}\r\n documentPanelOpen={this.documentPanelOpen}\r\n mainPanelExpanded={this.mainPanelExpanded}\r\n mainPanelHidden={this.mainPanelHidden}\r\n shrinkMain={this.emitShrinkMain}\r\n expandMain={this.emitExpandMain}\r\n toggleMainPanel={this.toggleMainPanel}\r\n dsoMainSizeChangeAnimationEnd={this.dsoMainSizeChangeAnimationEnd}\r\n ></MainPanel>\r\n )}\r\n {(!this.tabView ||\r\n (this.tabView && ((this.activeTab === \"main\" && this.mode === \"vrk\") || this.activeTab === \"search\"))) && (\r\n <Filterpanel\r\n title={this.filterpanelTitle}\r\n mode={this.mode}\r\n ref={(element) => (this.filterpanel = element)}\r\n onApply={this.handleFilterpanelApply}\r\n onCancel={this.handleFilterpanelCancel}\r\n dsoCloseFilterpanel={(e) => this.dsoCloseFilterpanel.emit({ originalEvent: e })}\r\n ></Filterpanel>\r\n )}\r\n {(!this.tabView || (this.tabView && this.activeTab === \"map\")) && (\r\n <div class=\"map\" ref={(element) => (this.mapElement = element)}>\r\n <slot name=\"map\" />\r\n </div>\r\n )}\r\n {((!this.tabView && this.documentPanelOpen) || (this.tabView && this.activeTab === \"document\")) && (\r\n <DocumentPanel\r\n tabView={this.tabView}\r\n panelSize={this.documentPanelSize}\r\n shrinkDocumentPanel={this.shrinkDocumentPanel}\r\n expandDocumentPanel={this.expandDocumentPanel}\r\n dsoDocumentPanelSizeChangeAnimationEnd={this.dsoDocumentPanelSizeChangeAnimationEnd}\r\n ></DocumentPanel>\r\n )}\r\n <Overlay\r\n ref={(element) => (this.overlay = element)}\r\n dsoCloseOverlay={(e) => this.dsoCloseOverlay.emit({ originalEvent: e })}\r\n ></Overlay>\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"viewer-grid.js","sourceRoot":"","sources":["../../../../src/components/viewer-grid/viewer-grid.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, Method, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DocumentPanel, FilterPanel, MainPanel, Overlay } from \"./components\";\r\nimport {\r\n ViewerGridActiveTabSwitchEvent,\r\n ViewerGridChangeSizeAnimationEndEvent,\r\n ViewerGridChangeSizeEvent,\r\n ViewerGridCloseFilterPanelEvent,\r\n ViewerGridCloseOverlayEvent,\r\n ViewerGridMainExpandEvent,\r\n ViewerGridMainToggleEvent,\r\n ViewerGridPanelSize,\r\n ViewerGridTab,\r\n viewerGridTabLabelMap,\r\n viewerGridTabs,\r\n} from \"./viewer-grid.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(([entry]) => {\r\n const shadowRoot = entry?.target.getRootNode();\r\n if (shadowRoot instanceof ShadowRoot && isDsoViewerGridComponent(shadowRoot.host)) {\r\n shadowRoot.host._checkMainPanelVisibility();\r\n }\r\n }, 50),\r\n);\r\n\r\nfunction isDsoViewerGridComponent(element: Element): element is HTMLDsoViewerGridElement {\r\n return element.tagName === \"DSO-VIEWER-GRID\";\r\n}\r\n\r\nconst buttonWidth = 40;\r\n\r\nconst tabViewBreakpoint = 768 + buttonWidth;\r\n\r\nconst minMapElementWidth = 440;\r\n\r\n/**\r\n * @slot top-bar - Een slot die bovenaan de viewer over de hele breedte kan worden gevuld met bijv een banner.\r\n * @slot main\r\n * @slot map\r\n * @slot filter-panel\r\n * @slot overlay\r\n * @slot document-panel\r\n */\r\n@Component({\r\n tag: \"dso-viewer-grid\",\r\n styleUrl: \"viewer-grid.scss\",\r\n shadow: true,\r\n})\r\nexport class ViewerGrid {\r\n private mediaCondition = `(min-width: ${tabViewBreakpoint}px)`;\r\n\r\n private mapElement?: HTMLDivElement;\r\n\r\n /**\r\n * The title of the filter panel\r\n */\r\n @Prop({ reflect: true })\r\n filterPanelTitle?: string;\r\n\r\n /**\r\n * Set to true when filter panel should show.\r\n */\r\n @Prop({ reflect: true })\r\n filterPanelOpen = false;\r\n\r\n /**\r\n * Set to true when overlay should show.\r\n */\r\n @Prop({ reflect: true })\r\n overlayOpen = false;\r\n\r\n /**\r\n * Set to true when document panel should show.\r\n */\r\n @Prop({ reflect: true })\r\n documentPanelOpen = false;\r\n\r\n /**\r\n * Size of the panel when component loads.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop({ reflect: true })\r\n mainSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * Set active tab in tab view.\r\n */\r\n @Prop()\r\n activeTab?: ViewerGridTab;\r\n\r\n /**\r\n * Size of the panel when component loads.\r\n *\r\n * Default size is `large`.\r\n */\r\n @Prop({ reflect: true })\r\n documentPanelSize: ViewerGridPanelSize = \"large\";\r\n\r\n /**\r\n * Set to show main panel expanded.\r\n */\r\n @Prop()\r\n mainPanelExpanded = false;\r\n\r\n /**\r\n * Set to hide the main panel.\r\n */\r\n @Prop()\r\n mainPanelHidden = false;\r\n\r\n /**\r\n * Emitted when user wants to close the overlay.\r\n */\r\n @Event()\r\n dsoCloseOverlay!: EventEmitter<ViewerGridCloseOverlayEvent>;\r\n\r\n /**\r\n * Emitted when user wants to close the filter panel.\r\n */\r\n @Event()\r\n dsoCloseFilterPanel!: EventEmitter<ViewerGridCloseFilterPanelEvent>;\r\n\r\n /**\r\n * Emitted when user applies filter panel options.\r\n */\r\n @Event()\r\n dsoActiveTabSwitch!: EventEmitter<ViewerGridActiveTabSwitchEvent>;\r\n\r\n /**\r\n * Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoMainSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * Emitted on interaction with sizing buttons.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChange!: EventEmitter<ViewerGridChangeSizeEvent>;\r\n\r\n /**\r\n * Emitted after main size animation.\r\n */\r\n @Event()\r\n dsoDocumentPanelSizeChangeAnimationEnd!: EventEmitter<ViewerGridChangeSizeAnimationEndEvent>;\r\n\r\n /**\r\n * Emitted when the user wants to expand the main panel.\r\n */\r\n @Event()\r\n dsoMainPanelExpand!: EventEmitter<ViewerGridMainExpandEvent>;\r\n\r\n /**\r\n * Emitted when the user toggles the visibility of the main panel.\r\n *\r\n * Also emitted by scripting when the panels do not fit anymore.\r\n */\r\n @Event()\r\n dsoMainPanelToggle!: EventEmitter<ViewerGridMainToggleEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoViewerGridElement;\r\n\r\n @State()\r\n tabView = window.innerWidth < tabViewBreakpoint;\r\n\r\n private filterPanel: HTMLDialogElement | undefined;\r\n\r\n private get filterPanelSlot() {\r\n return this.host.querySelector(\"[slot='filter-panel']\");\r\n }\r\n\r\n private get overlaySlot() {\r\n return this.host.querySelector(\"[slot='overlay']\");\r\n }\r\n\r\n private overlay: HTMLDialogElement | undefined;\r\n\r\n @Watch(\"documentPanelOpen\")\r\n documentPanelOpenWatcher(open: boolean) {\r\n if (open) {\r\n this._checkMainPanelVisibility();\r\n }\r\n }\r\n\r\n @Watch(\"filterPanelOpen\")\r\n filterPanelOpenWatcher(open: boolean) {\r\n if (!this.filterPanelSlot) {\r\n console.warn(\"slot 'filter-panel' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.filterPanel?.show();\r\n } else {\r\n this.filterPanel?.close();\r\n }\r\n }\r\n\r\n @Watch(\"overlayOpen\")\r\n overlayOpenWatcher(open: boolean) {\r\n if (!this.overlaySlot) {\r\n console.warn(\"slot 'overlay' has not been set\");\r\n }\r\n\r\n if (open) {\r\n this.overlay?.showModal();\r\n } else {\r\n this.overlay?.close();\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _checkMainPanelVisibility() {\r\n if (\r\n this.documentPanelOpen &&\r\n !this.mainPanelHidden &&\r\n this.mapElement instanceof HTMLDivElement &&\r\n ((this.mapElement.clientWidth <= minMapElementWidth + buttonWidth + buttonWidth && !this.mainPanelExpanded) ||\r\n (this.mapElement.clientWidth <= buttonWidth + buttonWidth && this.mainPanelExpanded))\r\n ) {\r\n this.dsoMainPanelToggle.emit({\r\n hide: true,\r\n });\r\n }\r\n }\r\n\r\n private switchActiveTab = (tab: ViewerGridTab) => {\r\n this.dsoActiveTabSwitch.emit({\r\n tab,\r\n });\r\n };\r\n\r\n private shrinkDocumentPanel = () => {\r\n this.dsoDocumentPanelSizeChange.emit({\r\n currentSize: this.documentPanelSize,\r\n nextSize: this.documentPanelSize === \"large\" ? \"medium\" : \"small\",\r\n });\r\n };\r\n\r\n private expandDocumentPanel = () => {\r\n this.dsoDocumentPanelSizeChange.emit({\r\n currentSize: this.documentPanelSize,\r\n nextSize: this.documentPanelSize === \"small\" ? \"medium\" : \"large\",\r\n });\r\n };\r\n\r\n private toggleMainPanel = () => {\r\n if (\r\n this.mapElement instanceof HTMLDivElement &&\r\n this.mapElement.clientWidth <= minMapElementWidth + buttonWidth + buttonWidth\r\n ) {\r\n this.mainSize = \"small\";\r\n }\r\n\r\n this.dsoMainPanelToggle.emit({\r\n hide: !this.mainPanelHidden,\r\n });\r\n };\r\n\r\n private changeListener = (largeScreen: MediaQueryListEvent) => (this.tabView = !largeScreen.matches);\r\n\r\n connectedCallback() {\r\n window.matchMedia(this.mediaCondition).addEventListener(\"change\", this.changeListener);\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.filterPanelOpen && this.filterPanelSlot) {\r\n this.filterPanel?.show();\r\n }\r\n\r\n if (this.overlayOpen && this.overlaySlot) {\r\n this.overlay?.showModal();\r\n }\r\n\r\n if (this.mapElement instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.mapElement);\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n window.matchMedia(this.mediaCondition).removeEventListener(\"change\", this.changeListener);\r\n\r\n if (this.mapElement) {\r\n resizeObserver.unobserve(this.mapElement);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <slot name=\"top-bar\" />\r\n <div class=\"viewer-grid-columns\">\r\n {this.tabView && (\r\n <nav class=\"dso-navbar\">\r\n <ul class=\"dso-nav dso-nav-sub\">\r\n {viewerGridTabs.map((tab) => (\r\n <li key={tab} class={clsx({ \"dso-active\": this.activeTab === tab })}>\r\n <button type=\"button\" class=\"dso-tertiary\" onClick={() => this.switchActiveTab(tab)}>\r\n {viewerGridTabLabelMap[tab]}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n )}\r\n {(!this.tabView || (this.tabView && this.activeTab === \"search\")) && (\r\n <MainPanel\r\n tabView={this.tabView}\r\n mainSize={this.mainSize}\r\n documentPanelOpen={this.documentPanelOpen}\r\n mainPanelExpanded={this.mainPanelExpanded}\r\n mainPanelHidden={this.mainPanelHidden}\r\n toggleMainPanel={this.toggleMainPanel}\r\n dsoMainSizeChangeAnimationEnd={this.dsoMainSizeChangeAnimationEnd}\r\n ></MainPanel>\r\n )}\r\n {(!this.tabView || (this.tabView && this.activeTab === \"search\")) && (\r\n <FilterPanel\r\n title={this.filterPanelTitle}\r\n ref={(element) => (this.filterPanel = element)}\r\n dsoCloseFilterPanel={(e) => this.dsoCloseFilterPanel.emit({ originalEvent: e })}\r\n ></FilterPanel>\r\n )}\r\n {(!this.tabView || (this.tabView && this.activeTab === \"map\")) && (\r\n <div class=\"map\" ref={(element) => (this.mapElement = element)}>\r\n <slot name=\"map\" />\r\n </div>\r\n )}\r\n {((!this.tabView && this.documentPanelOpen) || (this.tabView && this.activeTab === \"document\")) && (\r\n <DocumentPanel\r\n tabView={this.tabView}\r\n panelSize={this.documentPanelSize}\r\n shrinkDocumentPanel={this.shrinkDocumentPanel}\r\n expandDocumentPanel={this.expandDocumentPanel}\r\n dsoDocumentPanelSizeChangeAnimationEnd={this.dsoDocumentPanelSizeChangeAnimationEnd}\r\n ></DocumentPanel>\r\n )}\r\n <Overlay\r\n ref={(element) => (this.overlay = element)}\r\n dsoCloseOverlay={(e) => this.dsoCloseOverlay.emit({ originalEvent: e })}\r\n ></Overlay>\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n"]}
|
package/dist/components/alert.js
CHANGED
|
@@ -24,7 +24,7 @@ const translations = {
|
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
-
const alertCss = ":host{display:block}:host(:not(:first-child)){margin-block-start:24px}
|
|
27
|
+
const alertCss = ":host{display:block}:host(:not(:first-child)){margin-block-start:24px}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.alert{line-height:1.5;margin-block-end:24px;min-block-size:64px;position:relative}@media screen and (min-width: 481px){.alert{padding-block:19px;padding-inline:63px 40px}.alert.dso-compact{padding-block:9.5px;padding-inline:16px 40px}}@media screen and (max-width: 480px){.alert{padding-block:63px 16px;padding-inline:16px}.alert.dso-compact{padding-block:9.5px;padding-inline:16px}}.alert:not(:first-child){margin-block-start:24px}.alert .icon-status{inset-block-start:16px;inset-inline-start:16px;position:absolute;block-size:32px;inline-size:32px}.alert .dso-close{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none;position:absolute;inset-block-start:4px;inset-inline-end:4px;block-size:32px;inline-size:32px;padding:0;background-color:transparent;border:0;text-align:center}.alert .dso-close[disabled]{cursor:default}.alert .dso-close::-moz-focus-inner{border:0;padding:0}.alert.dso-compact{min-block-size:16px}";
|
|
28
28
|
|
|
29
29
|
const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
|
|
30
30
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"alert.js","mappings":";;;;;AAEO,MAAM,YAAY,GAAa;AACpC,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE;AACX,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,OAAO;AACf,SAAA;AACF,KAAA;AACD,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE;AACX,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,KAAK,EAAE,MAAM;AACd,SAAA;AACF,KAAA;CACF;;ACrBD,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"file":"alert.js","mappings":";;;;;AAEO,MAAM,YAAY,GAAa;AACpC,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE;AACX,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,OAAO;AACf,SAAA;AACF,KAAA;AACD,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE;AACX,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,KAAK,EAAE,MAAM;AACd,SAAA;AACF,KAAA;CACF;;ACrBD,MAAM,QAAQ,GAAG,gwCAAgwC;;MCapwC,KAAK,iBAAAA,kBAAA,CAAA,MAAA,KAAA,SAAA,WAAA,CAAA;AALlB,IAAA,WAAA,GAAA;;;;;AA2BE;;AAEG;AAEH,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAQR,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;AA0BnD;IAxBC,MAAM,GAAA;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,MAAM,CAAE,CAAA,CAAC;;AAGlD,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAS,MAAA,EAAA,IAAI,CAAC,MAAM,CAAA,CAAE,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAC7E,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,EAAA,EAEzC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,KAAK,EAAC,aAAa,EAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAI,CAAA,EACjF,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EAAE,MAAM,EAAS,GAAA,CAAA,EACtC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EAEZ,IAAI,CAAC,QAAQ,KACZ,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,EAAA,EAC9F,CAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAY,CAAA,EAClC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,SAAS,EAAA,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAQ,CAC1C,CACV,CACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement"],"sources":["src/components/alert/alert.i18n.ts","src/components/alert/alert.scss?tag=dso-alert&encapsulation=shadow","src/components/alert/alert.tsx"],"sourcesContent":["import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-alert\": {\r\n close: \"Close\",\r\n success: \"Success\",\r\n info: \"Notice\",\r\n warning: \"Warning\",\r\n error: \"Error\",\r\n },\r\n },\r\n nl: {\r\n \"dso-alert\": {\r\n close: \"Sluiten\",\r\n success: \"Gelukt\",\r\n info: \"Opmerking\",\r\n warning: \"Waarschuwing\",\r\n error: \"Fout\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/alert\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host(:not(:first-child)) {\r\n margin-block-start: units.$u3;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.alert {\r\n @include alert.root();\r\n\r\n &.dso-compact {\r\n min-block-size: alert.$inline-padding;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { translations } from \"./alert.i18n\";\r\nimport { AlertCloseEvent } from \"./alert.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-alert\",\r\n styleUrl: \"alert.scss\",\r\n shadow: true,\r\n})\r\nexport class Alert {\r\n @Element()\r\n host!: HTMLDsoAlertElement;\r\n\r\n /**\r\n * Set status of alert\r\n */\r\n @Prop({ reflect: true })\r\n status!: \"success\" | \"info\" | \"warning\" | \"error\";\r\n\r\n /**\r\n * Whether or not to show the role attribute with value \"alert\". To control the tooltip add the `role-alert` attribute.\r\n */\r\n @Prop()\r\n roleAlert?: boolean;\r\n\r\n /**\r\n * Show alert as compact variant (without icon)\r\n */\r\n @Prop({ reflect: true })\r\n compact?: boolean;\r\n\r\n /**\r\n * When `false` the close button in the alert will not be rendered.\r\n */\r\n @Prop()\r\n closable = false;\r\n\r\n /**\r\n * Emitted when the user closes the Alert.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<AlertCloseEvent>;\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n render() {\r\n const status = this.text(this.status);\r\n if (!status) {\r\n throw new Error(`Invalid status ${this.status}`);\r\n }\r\n\r\n return (\r\n <div\r\n class={clsx(\"alert\", `alert-${this.status}`, { \"dso-compact\": this.compact })}\r\n role={this.roleAlert ? \"alert\" : undefined}\r\n >\r\n {!this.compact && <dso-icon class=\"icon-status\" icon={\"status-\" + this.status} />}\r\n <span class=\"sr-only\">{status}:</span>\r\n <slot></slot>\r\n\r\n {this.closable && (\r\n <button type=\"button\" class=\"dso-close\" onClick={(e) => this.dsoClose.emit({ originalEvent: e })}>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">{this.text(\"close\")}</span>\r\n </button>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
package/dist/components/badge.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
2
|
import { c as clsx } from './clsx.js';
|
|
3
3
|
|
|
4
|
-
const badgeCss = ":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-badge{border:1px solid;border-radius:1em;display:inline-block;font-size:0.875em;line-height:1;min-inline-size:1.5rem;padding-block:4px;padding-inline:8px;text-align:center}.dso-badge{background-color:#666;border-color:#666;color:#fff}.dso-badge.badge-info{background-color:#
|
|
4
|
+
const badgeCss = ":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-badge{border:1px solid;border-radius:1em;display:inline-block;font-size:0.875em;line-height:1;min-inline-size:1.5rem;padding-block:4px;padding-inline:8px;text-align:center}.dso-badge{background-color:#666;border-color:#666;color:#fff}.dso-badge.badge-info{background-color:#2b5780;border-color:#2b5780;color:#fff}.dso-badge.badge-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;border-color:#dcd400;color:#191919}.dso-badge.badge-error{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;border-color:#191919;color:#191919}.dso-badge.badge-attention{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}";
|
|
5
5
|
|
|
6
6
|
const Badge = /*@__PURE__*/ proxyCustomElement(class Badge extends HTMLElement {
|
|
7
7
|
constructor() {
|