@dso-toolkit/core 52.0.1 → 52.0.2

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 (29) hide show
  1. package/dist/cjs/dso-label.cjs.entry.js +38 -43
  2. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  3. package/dist/cjs/dso-tooltip.cjs.entry.js +75 -40
  4. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/collection/components/label/label.js +29 -23
  7. package/dist/collection/components/label/resize-observer.js +6 -6
  8. package/dist/collection/components/tooltip/tooltip.js +75 -40
  9. package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
  10. package/dist/components/dso-label.js +34 -39
  11. package/dist/components/dso-viewer-grid.js +1 -1
  12. package/dist/components/tooltip.js +76 -41
  13. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  14. package/dist/dso-toolkit/{p-4d70d9c0.entry.js → p-1ab86eed.entry.js} +1 -1
  15. package/dist/dso-toolkit/p-3b83e9c6.entry.js +1 -0
  16. package/dist/dso-toolkit/p-8a0a97de.entry.js +1 -0
  17. package/dist/esm/dso-label.entry.js +32 -37
  18. package/dist/esm/dso-toolkit.js +1 -1
  19. package/dist/esm/dso-tooltip.entry.js +76 -41
  20. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  21. package/dist/esm/loader.js +1 -1
  22. package/dist/types/components/label/label.d.ts +7 -3
  23. package/dist/types/components/tooltip/tooltip.d.ts +6 -3
  24. package/dist/types/components.d.ts +4 -1
  25. package/package.json +2 -2
  26. package/dist/collection/components/label/mutation-observer.js +0 -11
  27. package/dist/dso-toolkit/p-0f37693a.entry.js +0 -1
  28. package/dist/dso-toolkit/p-bdc3b14b.entry.js +0 -1
  29. package/dist/types/components/label/mutation-observer.d.ts +0 -1
@@ -1,30 +1,59 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f)
3
+ throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
5
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
6
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
7
+ };
8
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
9
+ if (kind === "m")
10
+ throw new TypeError("Private method is not writable");
11
+ if (kind === "a" && !f)
12
+ throw new TypeError("Private accessor was defined without a setter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
14
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
+ };
17
+ var _Tooltip_target;
1
18
  import { beforeWrite, createPopper } from "@popperjs/core";
2
19
  import maxSize from "popper-max-size-modifier";
3
20
  import { h, Host } from "@stencil/core";
4
21
  import clsx from "clsx";
5
22
  import { hasOverflow } from "../../utils/has-overflow";
23
+ import debounce from "debounce";
6
24
  // Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin
7
25
  const transitionDuration = 150;
26
+ const applyMaxSize = {
27
+ name: "applyMaxSize",
28
+ enabled: true,
29
+ phase: beforeWrite,
30
+ requires: ["maxSize"],
31
+ fn({ state }) {
32
+ let { width } = state.modifiersData.maxSize;
33
+ if (width < 160) {
34
+ width = 160;
35
+ }
36
+ state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), { maxWidth: `${width}px` });
37
+ },
38
+ };
8
39
  export class Tooltip {
9
40
  constructor() {
10
- this.applyMaxSize = {
11
- name: "applyMaxSize",
12
- enabled: true,
13
- phase: beforeWrite,
14
- requires: ["maxSize"],
15
- fn({ state }) {
16
- let { width } = state.modifiersData.maxSize;
17
- if (width < 160) {
18
- width = 160;
19
- }
20
- state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), { maxWidth: `${width}px` });
21
- },
41
+ this.callbacks = {
42
+ activate: () => (this.active = true),
43
+ deactivate: () => (this.active = false),
22
44
  };
23
45
  this.keyDownListener = (event) => {
24
46
  if (event.key === "Escape") {
25
47
  this.deactivate();
26
48
  }
27
49
  };
50
+ this.deactivatePopper = debounce(() => {
51
+ var _a;
52
+ this.hidden = true;
53
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.destroy();
54
+ this.popper = undefined;
55
+ }, transitionDuration);
56
+ _Tooltip_target.set(this, void 0);
28
57
  this.descriptive = false;
29
58
  this.position = "top";
30
59
  this.strategy = "auto";
@@ -82,9 +111,8 @@ export class Tooltip {
82
111
  });
83
112
  }
84
113
  watchActive() {
85
- var _a;
86
114
  if (this.active) {
87
- this.hidden = false;
115
+ this.activatePopper();
88
116
  if (!this.stateless) {
89
117
  setTimeout(() => {
90
118
  var _a;
@@ -96,13 +124,8 @@ export class Tooltip {
96
124
  }
97
125
  }
98
126
  else {
99
- if (!this.stateless) {
100
- (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions({
101
- modifiers: [{ name: "eventListeners", enabled: false }],
102
- });
103
- document.removeEventListener("keydown", this.keyDownListener);
104
- }
105
- setTimeout(() => (this.hidden = true), transitionDuration);
127
+ document.removeEventListener("keydown", this.keyDownListener);
128
+ this.deactivatePopper();
106
129
  }
107
130
  }
108
131
  listenClick(e) {
@@ -110,25 +133,10 @@ export class Tooltip {
110
133
  }
111
134
  componentDidLoad() {
112
135
  var _a;
113
- if (this.popper) {
114
- return;
115
- }
116
136
  const tooltip = (_a = this.element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".tooltip");
117
137
  if (!(tooltip instanceof HTMLElement)) {
118
138
  throw new Error("tooltip element is not instanceof HTMLElement");
119
139
  }
120
- if (!this.element.id) {
121
- throw new Error("Unable to find reference tooltip has no [id] attribute.");
122
- }
123
- this.target = this.getTarget(this.element.id);
124
- this.popper = createPopper(this.target, tooltip, {
125
- placement: this.position,
126
- modifiers: [maxSize, this.applyMaxSize],
127
- });
128
- this.callbacks = {
129
- activate: () => (this.active = true),
130
- deactivate: () => (this.active = false),
131
- };
132
140
  if (!this.stateless) {
133
141
  this.target.addEventListener("mouseenter", this.callbacks.activate);
134
142
  this.target.addEventListener("mouseleave", this.callbacks.deactivate);
@@ -139,18 +147,16 @@ export class Tooltip {
139
147
  disconnectedCallback() {
140
148
  var _a;
141
149
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.destroy();
142
- if (!this.stateless && this.target && this.callbacks) {
150
+ if (!this.stateless && this.target) {
143
151
  this.target.removeEventListener("mouseenter", this.callbacks.activate);
144
152
  this.target.removeEventListener("mouseleave", this.callbacks.deactivate);
145
153
  this.target.removeEventListener("focus", this.callbacks.activate);
146
154
  this.target.removeEventListener("blur", this.callbacks.deactivate);
147
155
  }
148
- this.callbacks = undefined;
149
156
  this.target = undefined;
150
157
  }
151
158
  componentDidRender() {
152
159
  var _a;
153
- this.setStrategy();
154
160
  if (this.active) {
155
161
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
156
162
  }
@@ -158,7 +164,34 @@ export class Tooltip {
158
164
  render() {
159
165
  return (h(Host, { class: { hidden: this.hidden }, role: "tooltip" }, h("div", { class: clsx("tooltip", { in: this.active }) }, !this.noArrow && h("div", { "data-popper-arrow": true, class: "tooltip-arrow" }), h("div", { "aria-hidden": !this.descriptive || undefined, class: clsx("tooltip-inner", { "dso-small": this.small }) }, h("slot", null)))));
160
166
  }
161
- getTarget(id) {
167
+ activatePopper() {
168
+ var _a;
169
+ this.hidden = false;
170
+ if (this.popper) {
171
+ return;
172
+ }
173
+ const tooltip = (_a = this.element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".tooltip");
174
+ if (!(tooltip instanceof HTMLElement)) {
175
+ throw new Error("tooltip element is not instanceof HTMLElement");
176
+ }
177
+ this.popper = createPopper(this.target, tooltip, {
178
+ placement: this.position,
179
+ modifiers: [maxSize, applyMaxSize, { name: "eventListeners", enabled: false }],
180
+ });
181
+ this.setStrategy();
182
+ }
183
+ get target() {
184
+ var _a;
185
+ return (_a = __classPrivateFieldGet(this, _Tooltip_target, "f")) !== null && _a !== void 0 ? _a : this.initializeTarget();
186
+ }
187
+ set target(element) {
188
+ __classPrivateFieldSet(this, _Tooltip_target, element, "f");
189
+ }
190
+ initializeTarget() {
191
+ const id = this.element.id;
192
+ if (!id) {
193
+ throw new Error("Unable to find reference tooltip has no [id] attribute.");
194
+ }
162
195
  const rootNode = this.element.getRootNode();
163
196
  if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {
164
197
  throw new Error(`rootNode is not instance of Document or ShadowRoot`);
@@ -167,6 +200,7 @@ export class Tooltip {
167
200
  if (!reference) {
168
201
  throw new Error(`Unable to find reference with aria-describedby ${id}`);
169
202
  }
203
+ __classPrivateFieldSet(this, _Tooltip_target, reference, "f");
170
204
  return reference;
171
205
  }
172
206
  static get is() { return "dso-tooltip"; }
@@ -373,3 +407,4 @@ export class Tooltip {
373
407
  }];
374
408
  }
375
409
  }
410
+ _Tooltip_target = new WeakMap();
@@ -116,7 +116,7 @@ export class ViewerGrid {
116
116
  this.dsoFilterpanelCancel.emit({ originalEvent: mouseEvent });
117
117
  }
118
118
  render() {
119
- return (h(Host, Object.assign({}, { [this.mainSize]: true }), h("div", { class: "dso-map-panel", ref: (element) => (this.mapPanel = element) }, h("div", { class: "sizing-buttons" }, h("span", { class: "sr-only", "aria-live": "polite", "aria-atomic": "true" }, "breedte tekstpaneel: ", this.sizeLabelMap[this.mainSize]), h("button", { type: "button", class: "shrink", disabled: this.mainSize === "small", onClick: this.shrinkMain }, h("span", { class: "sr-only" }, "Kaartpaneel smaller maken"), h("dso-icon", { icon: "chevron-left" })), h("button", { type: "button", class: "expand", disabled: this.mainSize === "large", onClick: this.expandMain }, h("span", { class: "sr-only" }, "Kaartpaneel breder maken"), h("dso-icon", { icon: "chevron-right" }))), h("div", { class: "main" }, h("slot", { name: "main" }))), h("div", { id: "filterpanel", class: "filterpanel", hidden: !this.filterpanelOpen || !this.filterpanelSlot, ref: (element) => (this.filterpanel = element) }, h("h2", null, "Uw keuzes"), h(ViewerGridFilterpanelButtons, { onApply: (e) => this.handleFilterpanelApply(e), onCancel: (e) => this.handleFilterpanelCancel(e) }), h("slot", { name: "filterpanel" }), h(ViewerGridFilterpanelButtons, { onApply: (e) => this.handleFilterpanelApply(e), onCancel: (e) => this.handleFilterpanelCancel(e) })), h("div", { class: "map" }, h("slot", { name: "map" })), h("div", { hidden: !this.overlayOpen || !this.overlaySlot, class: "dimscreen" }), h("div", { class: "overlay", hidden: !this.overlayOpen || !this.overlaySlot, ref: (element) => (this.overlay = element) }, h("button", { type: "button", class: "overlay-close-button", onClick: (e) => this.dsoCloseOverlay.emit(e) }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "sluiten")), h("slot", { name: "overlay" }), h("button", { "aria-hidden": "true", type: "button", class: "overlay-close-button", style: { zIndex: "-100" } }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "sluiten")))));
119
+ return (h(Host, Object.assign({}, { [this.mainSize]: true }), h("div", { class: "dso-map-panel", ref: (element) => (this.mapPanel = element) }, h("div", { class: "sizing-buttons" }, h("span", { class: "sr-only", "aria-live": "polite", "aria-atomic": "true" }, "breedte tekstpaneel: ", this.sizeLabelMap[this.mainSize]), h("button", { type: "button", class: "shrink", disabled: this.mainSize === "small", onClick: this.shrinkMain }, h("span", { class: "sr-only" }, "Kaartpaneel smaller maken"), h("dso-icon", { icon: "chevron-left" })), h("button", { type: "button", class: "expand", disabled: this.mainSize === "large", onClick: this.expandMain }, h("span", { class: "sr-only" }, "Kaartpaneel breder maken"), h("dso-icon", { icon: "chevron-right" }))), h("div", { class: "main" }, h("slot", { name: "main" }))), h("div", { id: "filterpanel", class: "filterpanel", hidden: !this.filterpanelOpen || !this.filterpanelSlot, ref: (element) => (this.filterpanel = element) }, h("h1", null, "Uw keuzes"), h(ViewerGridFilterpanelButtons, { onApply: (e) => this.handleFilterpanelApply(e), onCancel: (e) => this.handleFilterpanelCancel(e) }), h("slot", { name: "filterpanel" }), h(ViewerGridFilterpanelButtons, { onApply: (e) => this.handleFilterpanelApply(e), onCancel: (e) => this.handleFilterpanelCancel(e) })), h("div", { class: "map" }, h("slot", { name: "map" })), h("div", { hidden: !this.overlayOpen || !this.overlaySlot, class: "dimscreen" }), h("div", { class: "overlay", hidden: !this.overlayOpen || !this.overlaySlot, ref: (element) => (this.overlay = element) }, h("button", { type: "button", class: "overlay-close-button", onClick: (e) => this.dsoCloseOverlay.emit(e) }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "sluiten")), h("slot", { name: "overlay" }), h("button", { "aria-hidden": "true", type: "button", class: "overlay-close-button", style: { zIndex: "-100" } }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "sluiten")))));
120
120
  }
121
121
  static get is() { return "dso-viewer-grid"; }
122
122
  static get encapsulation() { return "shadow"; }
@@ -1,28 +1,16 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as clsx } from './clsx.m.js';
3
+ import { d as debounce_1 } from './index3.js';
3
4
  import { d as defineCustomElement$3 } from './icon.js';
4
5
  import { d as defineCustomElement$2 } from './tooltip.js';
5
6
 
6
- const mutationObserver = new MutationObserver((entries) => {
7
- entries.forEach((entry) => {
8
- const component = entry.target;
9
- if (isDsoLabelComponent$1(component)) {
10
- component.updateTooltipText();
7
+ const resizeObserver = new ResizeObserver(debounce_1.debounce((entries) => {
8
+ entries.forEach(({ target }) => {
9
+ if (isDsoLabelComponent(target)) {
10
+ target.truncateLabel();
11
11
  }
12
12
  });
13
- });
14
- function isDsoLabelComponent$1(element) {
15
- return element.updateTooltipText !== undefined;
16
- }
17
-
18
- const resizeObserver = new ResizeObserver((entries) => {
19
- entries.forEach((entry) => {
20
- const component = entry.target;
21
- if (isDsoLabelComponent(component)) {
22
- component.truncateLabel();
23
- }
24
- });
25
- });
13
+ }, 150));
26
14
  function isDsoLabelComponent(element) {
27
15
  return element.truncateLabel !== undefined;
28
16
  }
@@ -53,8 +41,8 @@ const Label = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
53
41
  this.truncate = undefined;
54
42
  this.textHover = undefined;
55
43
  this.textFocus = undefined;
56
- this.truncatedContent = undefined;
57
- this.labelText = undefined;
44
+ this.isTruncated = undefined;
45
+ this.labelText = null;
58
46
  }
59
47
  watchTruncate(truncate) {
60
48
  if (truncate) {
@@ -76,44 +64,51 @@ const Label = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
76
64
  }
77
65
  async truncateLabel() {
78
66
  setTimeout(() => {
79
- if (this.labelContent) {
80
- this.truncatedContent = hasEllipses(this.labelContent) ? this.host.innerText : undefined;
81
- }
67
+ this.isTruncated = this.labelContent && hasEllipses(this.labelContent);
82
68
  });
83
69
  }
84
- async updateTooltipText() {
85
- this.labelText = this.host.innerText;
86
- if (this.truncate) {
87
- this.truncateLabel();
88
- }
70
+ /** **[Internal]** Synchronizes the text on the remove button and tooltip. You should never have to use this. */
71
+ async syncLabelText() {
72
+ this.labelText = this.host.textContent;
89
73
  }
90
74
  componentDidLoad() {
91
- this.labelText = this.host.innerText;
92
- mutationObserver.observe(this.host, {
93
- attributes: true,
94
- subtree: true,
95
- });
96
75
  if (this.truncate) {
97
76
  this.startTruncate();
98
77
  }
78
+ if (this.removable) {
79
+ this.startMutationObserver();
80
+ }
99
81
  }
100
82
  disconnectedCallback() {
101
- mutationObserver === null || mutationObserver === void 0 ? void 0 : mutationObserver.disconnect();
102
83
  this.stopTruncate();
103
84
  }
85
+ /** The mutationObserver fetches the text placed inside the label, this is then used for the remove button and tooltip. */
86
+ startMutationObserver() {
87
+ if (this.mutationObserver) {
88
+ return;
89
+ }
90
+ this.mutationObserver = new MutationObserver((entries) => entries.forEach(() => this.syncLabelText()));
91
+ this.mutationObserver.observe(this.host, {
92
+ characterData: true,
93
+ subtree: true,
94
+ attributes: true,
95
+ });
96
+ this.labelText = this.host.textContent;
97
+ }
104
98
  startTruncate() {
105
99
  resizeObserver.observe(this.host);
100
+ this.startMutationObserver();
106
101
  this.truncateLabel();
107
102
  }
108
103
  stopTruncate() {
109
104
  document.removeEventListener("keydown", this.keyDownListener);
110
105
  resizeObserver.unobserve(this.host);
111
- this.truncatedContent = undefined;
106
+ this.isTruncated = undefined;
112
107
  this.keydownListenerActive = false;
113
108
  }
114
109
  render() {
115
110
  const status = this.status && Label.statusMap.get(this.status);
116
- return (h(Host, { "aria-roledescription": this.truncate && this.truncatedContent
111
+ return (h(Host, { "aria-roledescription": this.truncate && this.isTruncated
117
112
  ? "Deze tekst is visueel afgekapt en wordt volledig zichtbaar bij focus."
118
113
  : undefined }, h("span", { "aria-describedby": "toggle-anchor", class: clsx("dso-label", {
119
114
  [`dso-label-${this.status}`]: this.status,
@@ -121,7 +116,7 @@ const Label = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
121
116
  "dso-hover": this.removeHover || this.removeFocus,
122
117
  }) }, h("slot", { name: "symbol" }), status && h("span", { class: "sr-only" }, status, ": "), h("span", { class: clsx("dso-label-content", {
123
118
  "dso-truncate": !!this.truncate,
124
- }), ref: (element) => (this.labelContent = element), tabindex: this.truncate && this.truncatedContent ? 0 : undefined, onMouseEnter: () => (this.textHover = true), onMouseLeave: () => (this.textHover = false), onFocus: () => (this.textFocus = true), onBlur: () => (this.textFocus = false) }, h("slot", null)), this.removable && (h("button", { type: "button", onClick: (e) => this.dsoRemoveClick.emit(e), onMouseEnter: () => (this.removeHover = true), onMouseLeave: () => (this.removeHover = false), onFocus: () => (this.removeFocus = true), onBlur: () => (this.removeFocus = false) }, h("span", { class: "sr-only" }, "Verwijder: ", this.labelText), h("dso-icon", { icon: "times" })))), h("dso-tooltip", { stateless: true, id: "toggle-anchor", active: !!this.truncatedContent && (this.textHover || this.textFocus), position: "top", strategy: "absolute" }, this.truncatedContent)));
119
+ }), ref: (element) => (this.labelContent = element), tabindex: this.truncate && this.isTruncated ? 0 : undefined, onMouseEnter: () => (this.textHover = true), onMouseLeave: () => (this.textHover = false), onFocus: () => (this.textFocus = true), onBlur: () => (this.textFocus = false) }, h("slot", null)), this.removable && (h("button", { type: "button", onClick: (e) => this.dsoRemoveClick.emit(e), onMouseEnter: () => (this.removeHover = true), onMouseLeave: () => (this.removeHover = false), onFocus: () => (this.removeFocus = true), onBlur: () => (this.removeFocus = false) }, h("span", { class: "sr-only" }, "Verwijder: ", this.labelText), h("dso-icon", { icon: "times" })))), this.isTruncated && (h("dso-tooltip", { stateless: true, id: "toggle-anchor", active: this.textHover || this.textFocus, position: "top", strategy: "absolute" }, this.labelText))));
125
120
  }
126
121
  get host() { return this; }
127
122
  static get watchers() { return {
@@ -139,10 +134,10 @@ const Label = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
139
134
  "removeFocus": [32],
140
135
  "textHover": [32],
141
136
  "textFocus": [32],
142
- "truncatedContent": [32],
137
+ "isTruncated": [32],
143
138
  "labelText": [32],
144
139
  "truncateLabel": [64],
145
- "updateTooltipText": [64]
140
+ "syncLabelText": [64]
146
141
  }]);
147
142
  Label.statusMap = new Map([
148
143
  ["info", "Opmerking"],
@@ -133,7 +133,7 @@ const ViewerGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
133
133
  this.dsoFilterpanelCancel.emit({ originalEvent: mouseEvent });
134
134
  }
135
135
  render() {
136
- return (h(Host, Object.assign({}, { [this.mainSize]: true }), h("div", { class: "dso-map-panel", ref: (element) => (this.mapPanel = element) }, h("div", { class: "sizing-buttons" }, h("span", { class: "sr-only", "aria-live": "polite", "aria-atomic": "true" }, "breedte tekstpaneel: ", this.sizeLabelMap[this.mainSize]), h("button", { type: "button", class: "shrink", disabled: this.mainSize === "small", onClick: this.shrinkMain }, h("span", { class: "sr-only" }, "Kaartpaneel smaller maken"), h("dso-icon", { icon: "chevron-left" })), h("button", { type: "button", class: "expand", disabled: this.mainSize === "large", onClick: this.expandMain }, h("span", { class: "sr-only" }, "Kaartpaneel breder maken"), h("dso-icon", { icon: "chevron-right" }))), h("div", { class: "main" }, h("slot", { name: "main" }))), h("div", { id: "filterpanel", class: "filterpanel", hidden: !this.filterpanelOpen || !this.filterpanelSlot, ref: (element) => (this.filterpanel = element) }, h("h2", null, "Uw keuzes"), h(ViewerGridFilterpanelButtons, { onApply: (e) => this.handleFilterpanelApply(e), onCancel: (e) => this.handleFilterpanelCancel(e) }), h("slot", { name: "filterpanel" }), h(ViewerGridFilterpanelButtons, { onApply: (e) => this.handleFilterpanelApply(e), onCancel: (e) => this.handleFilterpanelCancel(e) })), h("div", { class: "map" }, h("slot", { name: "map" })), h("div", { hidden: !this.overlayOpen || !this.overlaySlot, class: "dimscreen" }), h("div", { class: "overlay", hidden: !this.overlayOpen || !this.overlaySlot, ref: (element) => (this.overlay = element) }, h("button", { type: "button", class: "overlay-close-button", onClick: (e) => this.dsoCloseOverlay.emit(e) }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "sluiten")), h("slot", { name: "overlay" }), h("button", { "aria-hidden": "true", type: "button", class: "overlay-close-button", style: { zIndex: "-100" } }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "sluiten")))));
136
+ return (h(Host, Object.assign({}, { [this.mainSize]: true }), h("div", { class: "dso-map-panel", ref: (element) => (this.mapPanel = element) }, h("div", { class: "sizing-buttons" }, h("span", { class: "sr-only", "aria-live": "polite", "aria-atomic": "true" }, "breedte tekstpaneel: ", this.sizeLabelMap[this.mainSize]), h("button", { type: "button", class: "shrink", disabled: this.mainSize === "small", onClick: this.shrinkMain }, h("span", { class: "sr-only" }, "Kaartpaneel smaller maken"), h("dso-icon", { icon: "chevron-left" })), h("button", { type: "button", class: "expand", disabled: this.mainSize === "large", onClick: this.expandMain }, h("span", { class: "sr-only" }, "Kaartpaneel breder maken"), h("dso-icon", { icon: "chevron-right" }))), h("div", { class: "main" }, h("slot", { name: "main" }))), h("div", { id: "filterpanel", class: "filterpanel", hidden: !this.filterpanelOpen || !this.filterpanelSlot, ref: (element) => (this.filterpanel = element) }, h("h1", null, "Uw keuzes"), h(ViewerGridFilterpanelButtons, { onApply: (e) => this.handleFilterpanelApply(e), onCancel: (e) => this.handleFilterpanelCancel(e) }), h("slot", { name: "filterpanel" }), h(ViewerGridFilterpanelButtons, { onApply: (e) => this.handleFilterpanelApply(e), onCancel: (e) => this.handleFilterpanelCancel(e) })), h("div", { class: "map" }, h("slot", { name: "map" })), h("div", { hidden: !this.overlayOpen || !this.overlaySlot, class: "dimscreen" }), h("div", { class: "overlay", hidden: !this.overlayOpen || !this.overlaySlot, ref: (element) => (this.overlay = element) }, h("button", { type: "button", class: "overlay-close-button", onClick: (e) => this.dsoCloseOverlay.emit(e) }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "sluiten")), h("slot", { name: "overlay" }), h("button", { "aria-hidden": "true", type: "button", class: "overlay-close-button", style: { zIndex: "-100" } }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "sluiten")))));
137
137
  }
138
138
  get host() { return this; }
139
139
  static get watchers() { return {
@@ -1,6 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { d as detectOverflow, b as beforeWrite, h as hasOverflow, c as createPopper } from './has-overflow.js';
2
+ import { d as detectOverflow, h as hasOverflow, c as createPopper, b as beforeWrite } from './has-overflow.js';
3
3
  import { c as clsx } from './clsx.m.js';
4
+ import { d as debounce_1 } from './index3.js';
4
5
 
5
6
  var maxSize = {
6
7
  name: 'maxSize',
@@ -38,31 +39,59 @@ var maxSize = {
38
39
 
39
40
  const tooltipCss = ":host(.hidden){visibility:hidden}:host-context(dso-toggletip){color:red !important}:host-context(dso-toggletip) *[data-popper-placement=top] .tooltip-arrow{margin-left:3px}:host-context(dso-toggletip) *[data-popper-placement=right] .tooltip-arrow{margin-top:0}:host-context(dso-toggletip) *[data-popper-placement=bottom] .tooltip-arrow{margin-left:3px}:host-context(dso-toggletip) *[data-popper-placement=left]{margin-right:-8px !important}:host-context(dso-toggletip) *[data-popper-placement=left] .tooltip-arrow{margin-top:0}*,*::after,*::before{box-sizing:border-box}.tooltip{font-family:Asap, sans-serif;font-style:normal;font-weight:400;line-height:1.5;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;display:block;filter:drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));font-size:14px;opacity:0;position:absolute;transition:opacity 0.15s linear;z-index:410}.tooltip.in{opacity:1}.tooltip .tooltip-inner{background-color:#fff;border-radius:4px;color:#191919;display:inline-block;font-size:1rem;max-width:640px;padding:8px 16px;position:relative}.tooltip .tooltip-inner.dso-small{max-width:320px}.tooltip .tooltip-arrow{border-color:transparent;border-style:solid;height:0;width:0}.tooltip[data-popper-placement=top]{margin-top:-3px;padding:6px 0}.tooltip[data-popper-placement=top] .tooltip-arrow{border-top-color:#fff;border-width:6px 6px 0;bottom:0}.tooltip[data-popper-placement=top] .tooltip-arrow{margin-left:-3px}.tooltip[data-popper-placement=right]{margin-left:3px;padding:0 6px}.tooltip[data-popper-placement=right] .tooltip-arrow{border-right-color:#fff;border-width:6px 6px 6px 0;left:0}.tooltip[data-popper-placement=right] .tooltip-arrow{margin-top:-3px}.tooltip[data-popper-placement=bottom]{margin-top:3px;padding:6px 0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{border-bottom-color:#fff;border-width:0 6px 6px;top:0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{margin-left:-3px}.tooltip[data-popper-placement=left]{margin-left:-3px;padding:0 6px}.tooltip[data-popper-placement=left] .tooltip-arrow{border-left-color:#fff;border-width:6px 0 6px 6px;right:0}.tooltip[data-popper-placement=left] .tooltip-arrow{margin-top:-3px}";
40
41
 
42
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
43
+ if (kind === "a" && !f)
44
+ throw new TypeError("Private accessor was defined without a getter");
45
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
46
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
47
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
48
+ };
49
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
50
+ if (kind === "m")
51
+ throw new TypeError("Private method is not writable");
52
+ if (kind === "a" && !f)
53
+ throw new TypeError("Private accessor was defined without a setter");
54
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
55
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
56
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
57
+ };
58
+ var _Tooltip_target;
41
59
  // Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin
42
60
  const transitionDuration = 150;
61
+ const applyMaxSize = {
62
+ name: "applyMaxSize",
63
+ enabled: true,
64
+ phase: beforeWrite,
65
+ requires: ["maxSize"],
66
+ fn({ state }) {
67
+ let { width } = state.modifiersData.maxSize;
68
+ if (width < 160) {
69
+ width = 160;
70
+ }
71
+ state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), { maxWidth: `${width}px` });
72
+ },
73
+ };
43
74
  const Tooltip = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
44
75
  constructor() {
45
76
  super();
46
77
  this.__registerHost();
47
78
  this.__attachShadow();
48
- this.applyMaxSize = {
49
- name: "applyMaxSize",
50
- enabled: true,
51
- phase: beforeWrite,
52
- requires: ["maxSize"],
53
- fn({ state }) {
54
- let { width } = state.modifiersData.maxSize;
55
- if (width < 160) {
56
- width = 160;
57
- }
58
- state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), { maxWidth: `${width}px` });
59
- },
79
+ this.callbacks = {
80
+ activate: () => (this.active = true),
81
+ deactivate: () => (this.active = false),
60
82
  };
61
83
  this.keyDownListener = (event) => {
62
84
  if (event.key === "Escape") {
63
85
  this.deactivate();
64
86
  }
65
87
  };
88
+ this.deactivatePopper = debounce_1(() => {
89
+ var _a;
90
+ this.hidden = true;
91
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.destroy();
92
+ this.popper = undefined;
93
+ }, transitionDuration);
94
+ _Tooltip_target.set(this, void 0);
66
95
  this.descriptive = false;
67
96
  this.position = "top";
68
97
  this.strategy = "auto";
@@ -120,9 +149,8 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
120
149
  });
121
150
  }
122
151
  watchActive() {
123
- var _a;
124
152
  if (this.active) {
125
- this.hidden = false;
153
+ this.activatePopper();
126
154
  if (!this.stateless) {
127
155
  setTimeout(() => {
128
156
  var _a;
@@ -134,13 +162,8 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
134
162
  }
135
163
  }
136
164
  else {
137
- if (!this.stateless) {
138
- (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions({
139
- modifiers: [{ name: "eventListeners", enabled: false }],
140
- });
141
- document.removeEventListener("keydown", this.keyDownListener);
142
- }
143
- setTimeout(() => (this.hidden = true), transitionDuration);
165
+ document.removeEventListener("keydown", this.keyDownListener);
166
+ this.deactivatePopper();
144
167
  }
145
168
  }
146
169
  listenClick(e) {
@@ -148,25 +171,10 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
148
171
  }
149
172
  componentDidLoad() {
150
173
  var _a;
151
- if (this.popper) {
152
- return;
153
- }
154
174
  const tooltip = (_a = this.element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".tooltip");
155
175
  if (!(tooltip instanceof HTMLElement)) {
156
176
  throw new Error("tooltip element is not instanceof HTMLElement");
157
177
  }
158
- if (!this.element.id) {
159
- throw new Error("Unable to find reference tooltip has no [id] attribute.");
160
- }
161
- this.target = this.getTarget(this.element.id);
162
- this.popper = createPopper(this.target, tooltip, {
163
- placement: this.position,
164
- modifiers: [maxSize, this.applyMaxSize],
165
- });
166
- this.callbacks = {
167
- activate: () => (this.active = true),
168
- deactivate: () => (this.active = false),
169
- };
170
178
  if (!this.stateless) {
171
179
  this.target.addEventListener("mouseenter", this.callbacks.activate);
172
180
  this.target.addEventListener("mouseleave", this.callbacks.deactivate);
@@ -177,18 +185,16 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
177
185
  disconnectedCallback() {
178
186
  var _a;
179
187
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.destroy();
180
- if (!this.stateless && this.target && this.callbacks) {
188
+ if (!this.stateless && this.target) {
181
189
  this.target.removeEventListener("mouseenter", this.callbacks.activate);
182
190
  this.target.removeEventListener("mouseleave", this.callbacks.deactivate);
183
191
  this.target.removeEventListener("focus", this.callbacks.activate);
184
192
  this.target.removeEventListener("blur", this.callbacks.deactivate);
185
193
  }
186
- this.callbacks = undefined;
187
194
  this.target = undefined;
188
195
  }
189
196
  componentDidRender() {
190
197
  var _a;
191
- this.setStrategy();
192
198
  if (this.active) {
193
199
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
194
200
  }
@@ -196,7 +202,34 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
196
202
  render() {
197
203
  return (h(Host, { class: { hidden: this.hidden }, role: "tooltip" }, h("div", { class: clsx("tooltip", { in: this.active }) }, !this.noArrow && h("div", { "data-popper-arrow": true, class: "tooltip-arrow" }), h("div", { "aria-hidden": !this.descriptive || undefined, class: clsx("tooltip-inner", { "dso-small": this.small }) }, h("slot", null)))));
198
204
  }
199
- getTarget(id) {
205
+ activatePopper() {
206
+ var _a;
207
+ this.hidden = false;
208
+ if (this.popper) {
209
+ return;
210
+ }
211
+ const tooltip = (_a = this.element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".tooltip");
212
+ if (!(tooltip instanceof HTMLElement)) {
213
+ throw new Error("tooltip element is not instanceof HTMLElement");
214
+ }
215
+ this.popper = createPopper(this.target, tooltip, {
216
+ placement: this.position,
217
+ modifiers: [maxSize, applyMaxSize, { name: "eventListeners", enabled: false }],
218
+ });
219
+ this.setStrategy();
220
+ }
221
+ get target() {
222
+ var _a;
223
+ return (_a = __classPrivateFieldGet(this, _Tooltip_target, "f")) !== null && _a !== void 0 ? _a : this.initializeTarget();
224
+ }
225
+ set target(element) {
226
+ __classPrivateFieldSet(this, _Tooltip_target, element, "f");
227
+ }
228
+ initializeTarget() {
229
+ const id = this.element.id;
230
+ if (!id) {
231
+ throw new Error("Unable to find reference tooltip has no [id] attribute.");
232
+ }
200
233
  const rootNode = this.element.getRootNode();
201
234
  if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {
202
235
  throw new Error(`rootNode is not instance of Document or ShadowRoot`);
@@ -205,6 +238,7 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
205
238
  if (!reference) {
206
239
  throw new Error(`Unable to find reference with aria-describedby ${id}`);
207
240
  }
241
+ __classPrivateFieldSet(this, _Tooltip_target, reference, "f");
208
242
  return reference;
209
243
  }
210
244
  get element() { return this; }
@@ -226,6 +260,7 @@ const Tooltip = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
226
260
  "activate": [64],
227
261
  "deactivate": [64]
228
262
  }, [[0, "click", "listenClick"]]]);
263
+ _Tooltip_target = new WeakMap();
229
264
  function defineCustomElement() {
230
265
  if (typeof customElements === "undefined") {
231
266
  return;
@@ -1 +1 @@
1
- import{p as e,b as o}from"./p-98fd1658.js";(()=>{const o=import.meta.url,a={};return""!==o&&(a.resourcesUrl=new URL(".",o).href),e(a)})().then((e=>o([["p-efdf5c91",[[1,"dso-icon",{icon:[1]}]]],["p-0fce0861",[[1,"dso-map-base-layers",{group:[1],baseLayers:[16]}]]],["p-f8a08ba1",[[1,"dso-map-overlays",{group:[1],overlays:[16]}]]],["p-f3f0d6c9",[[4,"dso-annotation-output",{identifier:[1],annotationPrefix:[1,"annotation-prefix"],toggleAnnotation:[64]}]]],["p-d4772fb0",[[1,"dso-toggletip",{label:[1],position:[1],small:[4],secondary:[4],active:[32]}]]],["p-9984079e",[[1,"dso-expandable-heading",{open:[4],heading:[1],color:[1]}]]],["p-4c8426b7",[[6,"dso-header",{mainMenu:[16],useDropDownMenu:[1,"use-drop-down-menu"],authStatus:[1,"auth-status"],loginUrl:[1,"login-url"],logoutUrl:[1,"logout-url"],userProfileName:[1,"user-profile-name"],userProfileUrl:[1,"user-profile-url"],userHomeUrl:[1,"user-home-url"],showDropDown:[32],hasSubLogo:[32],overflowMenuItems:[32]}]]],["p-0f37693a",[[1,"dso-label",{compact:[4],removable:[4],status:[1],truncate:[4],removeHover:[32],removeFocus:[32],textHover:[32],textFocus:[32],truncatedContent:[32],labelText:[32],truncateLabel:[64],updateTooltipText:[64]}]]],["p-09424a1d",[[1,"dso-pagination",{totalPages:[2,"total-pages"],currentPage:[2,"current-page"],formatHref:[16],availablePositions:[32]},[[0,"dsoSizeChange","sizeChangeHandler"]]]]],["p-588bc4d7",[[1,"dso-tree-view",{collection:[16],focusItem:[64]}]]],["p-147ec7bd",[[1,"dso-accordion-section",{handleTitle:[1,"handle-title"],heading:[1],handleUrl:[1,"handle-url"],state:[1],attachmentCount:[2,"attachment-count"],icon:[1],status:[1],open:[1540],hasNestedSection:[32],toggleSection:[64],scrollSectionIntoView:[64]}]]],["p-5082d823",[[1,"dso-alert",{status:[1],roleAlert:[4,"role-alert"]}]]],["p-ee1acb32",[[0,"dso-annotation-button",{identifier:[1]}]]],["p-d6ea8670",[[1,"dso-attachments-counter",{count:[2]}]]],["p-c54ad578",[[6,"dso-autosuggest",{suggestions:[16],loading:[4],loadingLabel:[1,"loading-label"],loadingDelayed:[2,"loading-delayed"],notFoundLabel:[1,"not-found-label"],suggestOnFocus:[4,"suggest-on-focus"],showSuggestions:[32],selectedSuggestion:[32],notFound:[32],showLoading:[32]},[[4,"click","onDocumentClick"]]]]],["p-d05ea304",[[2,"dso-date-picker",{name:[1],identifier:[1],disabled:[516],role:[1],direction:[1],required:[4],invalid:[4],dsoAutofocus:[4,"dso-autofocus"],value:[1537],min:[1],max:[1],activeFocus:[32],focusedDay:[32],open:[32],visible:[32],setFocus:[64],show:[64],hide:[64]},[[6,"click","handleDocumentClick"]]]]],["p-43f3d736",[[1,"dso-helpcenter-panel",{label:[1],url:[1],visibility:[32],isOpen:[32],slideState:[32],loadIframe:[32]},[[8,"keydown","keyDownListener"]]]]],["p-9b07b034",[[1,"dso-image-overlay",{active:[32],zoomable:[32]},[[2,"load","loadListener"]]]]],["p-ba0da696",[[1,"dso-list-button",{label:[1],sublabel:[1],subcontent:[1],count:[2],min:[8],max:[8],checked:[516],disabled:[516],manualInputWrapperElement:[32],manualCount:[32]}]]],["p-4b18389c",[[1,"dso-map-controls",{open:[1540],disableZoom:[1,"disable-zoom"],hideContent:[32],toggleVisibility:[64]}]]],["p-e4f667b3",[[1,"dso-modal",{modalTitle:[1,"modal-title"],role:[1],showCloseButton:[4,"show-close-button"],initialFocus:[1,"initial-focus"],ariaId:[32],hasFooter:[32]}]]],["p-96efc763",[[1,"dso-table",{noModal:[516,"no-modal"],isResponsive:[516,"is-responsive"],modalActive:[32],placeholderHeight:[32]}]]],["p-4d70d9c0",[[1,"dso-viewer-grid",{filterpanelOpen:[516,"filterpanel-open"],overlayOpen:[516,"overlay-open"],initialMainSize:[1,"initial-main-size"],mainSize:[32]}]]],["p-ad0b38cf",[[1,"dso-accordion",{variant:[513],reverseAlign:[516,"reverse-align"],allowMultipleOpen:[516,"allow-multiple-open"],getState:[64],toggleSection:[64],animationEnd:[64],closeOpenSections:[64]}]]],["p-07952ece",[[1,"dso-badge",{status:[1]}]]],["p-1cb94d7d",[[1,"dso-banner",{status:[513]}]]],["p-61ac8d40",[[1,"dso-card",{isSelectable:[516,"is-selectable"],hasImage:[516,"has-image"],clickable:[4],imageShape:[513,"image-shape"]}]]],["p-22f9240a",[[1,"dso-card-container",{mode:[513]}]]],["p-c1226b66",[[1,"dso-highlight-box",{yellow:[4],border:[4],white:[4],dropShadow:[4,"drop-shadow"],step:[2]}]]],["p-e6e9f613",[[6,"dso-ozon-content",{content:[1],inline:[516],deleted:[516],interactive:[520],state:[32]}]]],["p-494fe8e5",[[1,"dso-progress-bar",{progress:[2],min:[2],max:[2]}]]],["p-82465cdc",[[4,"dso-slide-toggle",{checked:[4],disabled:[4],accessibleLabel:[1,"accessible-label"],labelledbyId:[1,"labelledby-id"],identifier:[1],hasVisibleLabel:[32]}]]],["p-e3bd7689",[[1,"dso-dropdown-menu",{open:[1540],dropdownAlign:[1,"dropdown-align"],checkable:[4],boundary:[1],strategy:[1]}]]],["p-452c7fbb",[[1,"dso-expandable",{open:[516]}]]],["p-0af9bfb1",[[1,"dso-progress-indicator",{label:[1],size:[513],block:[4]}]]],["p-d987ef37",[[1,"dso-responsive-element",{sizeAlias:[32],sizeWidth:[32],getSize:[64]}]]],["p-bdc3b14b",[[1,"dso-tooltip",{descriptive:[516],position:[1],strategy:[1],noArrow:[4,"no-arrow"],stateless:[4],small:[4],active:[1540],hidden:[32],activate:[64],deactivate:[64]},[[0,"click","listenClick"]]]]],["p-3914ad70",[[1,"dso-info-button",{active:[1540],secondary:[4],label:[1],hover:[32],setFocus:[64]}]]],["p-4ae40ddc",[[6,"dso-selectable",{type:[1],identifier:[1],name:[1],value:[1],invalid:[4],describedById:[1,"described-by-id"],labelledById:[1,"labelled-by-id"],disabled:[4],required:[4],checked:[4],indeterminate:[4],infoFixed:[4,"info-fixed"],infoActive:[32],toggleInfo:[64]}],[1,"dso-info",{fixed:[516],active:[516]}]]]],e)));
1
+ import{p as e,b as o}from"./p-98fd1658.js";(()=>{const o=import.meta.url,a={};return""!==o&&(a.resourcesUrl=new URL(".",o).href),e(a)})().then((e=>o([["p-efdf5c91",[[1,"dso-icon",{icon:[1]}]]],["p-0fce0861",[[1,"dso-map-base-layers",{group:[1],baseLayers:[16]}]]],["p-f8a08ba1",[[1,"dso-map-overlays",{group:[1],overlays:[16]}]]],["p-f3f0d6c9",[[4,"dso-annotation-output",{identifier:[1],annotationPrefix:[1,"annotation-prefix"],toggleAnnotation:[64]}]]],["p-d4772fb0",[[1,"dso-toggletip",{label:[1],position:[1],small:[4],secondary:[4],active:[32]}]]],["p-9984079e",[[1,"dso-expandable-heading",{open:[4],heading:[1],color:[1]}]]],["p-4c8426b7",[[6,"dso-header",{mainMenu:[16],useDropDownMenu:[1,"use-drop-down-menu"],authStatus:[1,"auth-status"],loginUrl:[1,"login-url"],logoutUrl:[1,"logout-url"],userProfileName:[1,"user-profile-name"],userProfileUrl:[1,"user-profile-url"],userHomeUrl:[1,"user-home-url"],showDropDown:[32],hasSubLogo:[32],overflowMenuItems:[32]}]]],["p-8a0a97de",[[1,"dso-label",{compact:[4],removable:[4],status:[1],truncate:[4],removeHover:[32],removeFocus:[32],textHover:[32],textFocus:[32],isTruncated:[32],labelText:[32],truncateLabel:[64],syncLabelText:[64]}]]],["p-09424a1d",[[1,"dso-pagination",{totalPages:[2,"total-pages"],currentPage:[2,"current-page"],formatHref:[16],availablePositions:[32]},[[0,"dsoSizeChange","sizeChangeHandler"]]]]],["p-588bc4d7",[[1,"dso-tree-view",{collection:[16],focusItem:[64]}]]],["p-147ec7bd",[[1,"dso-accordion-section",{handleTitle:[1,"handle-title"],heading:[1],handleUrl:[1,"handle-url"],state:[1],attachmentCount:[2,"attachment-count"],icon:[1],status:[1],open:[1540],hasNestedSection:[32],toggleSection:[64],scrollSectionIntoView:[64]}]]],["p-5082d823",[[1,"dso-alert",{status:[1],roleAlert:[4,"role-alert"]}]]],["p-ee1acb32",[[0,"dso-annotation-button",{identifier:[1]}]]],["p-d6ea8670",[[1,"dso-attachments-counter",{count:[2]}]]],["p-c54ad578",[[6,"dso-autosuggest",{suggestions:[16],loading:[4],loadingLabel:[1,"loading-label"],loadingDelayed:[2,"loading-delayed"],notFoundLabel:[1,"not-found-label"],suggestOnFocus:[4,"suggest-on-focus"],showSuggestions:[32],selectedSuggestion:[32],notFound:[32],showLoading:[32]},[[4,"click","onDocumentClick"]]]]],["p-d05ea304",[[2,"dso-date-picker",{name:[1],identifier:[1],disabled:[516],role:[1],direction:[1],required:[4],invalid:[4],dsoAutofocus:[4,"dso-autofocus"],value:[1537],min:[1],max:[1],activeFocus:[32],focusedDay:[32],open:[32],visible:[32],setFocus:[64],show:[64],hide:[64]},[[6,"click","handleDocumentClick"]]]]],["p-43f3d736",[[1,"dso-helpcenter-panel",{label:[1],url:[1],visibility:[32],isOpen:[32],slideState:[32],loadIframe:[32]},[[8,"keydown","keyDownListener"]]]]],["p-9b07b034",[[1,"dso-image-overlay",{active:[32],zoomable:[32]},[[2,"load","loadListener"]]]]],["p-ba0da696",[[1,"dso-list-button",{label:[1],sublabel:[1],subcontent:[1],count:[2],min:[8],max:[8],checked:[516],disabled:[516],manualInputWrapperElement:[32],manualCount:[32]}]]],["p-4b18389c",[[1,"dso-map-controls",{open:[1540],disableZoom:[1,"disable-zoom"],hideContent:[32],toggleVisibility:[64]}]]],["p-e4f667b3",[[1,"dso-modal",{modalTitle:[1,"modal-title"],role:[1],showCloseButton:[4,"show-close-button"],initialFocus:[1,"initial-focus"],ariaId:[32],hasFooter:[32]}]]],["p-96efc763",[[1,"dso-table",{noModal:[516,"no-modal"],isResponsive:[516,"is-responsive"],modalActive:[32],placeholderHeight:[32]}]]],["p-1ab86eed",[[1,"dso-viewer-grid",{filterpanelOpen:[516,"filterpanel-open"],overlayOpen:[516,"overlay-open"],initialMainSize:[1,"initial-main-size"],mainSize:[32]}]]],["p-ad0b38cf",[[1,"dso-accordion",{variant:[513],reverseAlign:[516,"reverse-align"],allowMultipleOpen:[516,"allow-multiple-open"],getState:[64],toggleSection:[64],animationEnd:[64],closeOpenSections:[64]}]]],["p-07952ece",[[1,"dso-badge",{status:[1]}]]],["p-1cb94d7d",[[1,"dso-banner",{status:[513]}]]],["p-61ac8d40",[[1,"dso-card",{isSelectable:[516,"is-selectable"],hasImage:[516,"has-image"],clickable:[4],imageShape:[513,"image-shape"]}]]],["p-22f9240a",[[1,"dso-card-container",{mode:[513]}]]],["p-c1226b66",[[1,"dso-highlight-box",{yellow:[4],border:[4],white:[4],dropShadow:[4,"drop-shadow"],step:[2]}]]],["p-e6e9f613",[[6,"dso-ozon-content",{content:[1],inline:[516],deleted:[516],interactive:[520],state:[32]}]]],["p-494fe8e5",[[1,"dso-progress-bar",{progress:[2],min:[2],max:[2]}]]],["p-82465cdc",[[4,"dso-slide-toggle",{checked:[4],disabled:[4],accessibleLabel:[1,"accessible-label"],labelledbyId:[1,"labelledby-id"],identifier:[1],hasVisibleLabel:[32]}]]],["p-e3bd7689",[[1,"dso-dropdown-menu",{open:[1540],dropdownAlign:[1,"dropdown-align"],checkable:[4],boundary:[1],strategy:[1]}]]],["p-452c7fbb",[[1,"dso-expandable",{open:[516]}]]],["p-0af9bfb1",[[1,"dso-progress-indicator",{label:[1],size:[513],block:[4]}]]],["p-d987ef37",[[1,"dso-responsive-element",{sizeAlias:[32],sizeWidth:[32],getSize:[64]}]]],["p-3b83e9c6",[[1,"dso-tooltip",{descriptive:[516],position:[1],strategy:[1],noArrow:[4,"no-arrow"],stateless:[4],small:[4],active:[1540],hidden:[32],activate:[64],deactivate:[64]},[[0,"click","listenClick"]]]]],["p-3914ad70",[[1,"dso-info-button",{active:[1540],secondary:[4],label:[1],hover:[32],setFocus:[64]}]]],["p-4ae40ddc",[[6,"dso-selectable",{type:[1],identifier:[1],name:[1],value:[1],invalid:[4],describedById:[1,"described-by-id"],labelledById:[1,"labelled-by-id"],disabled:[4],required:[4],checked:[4],indeterminate:[4],infoFixed:[4,"info-fixed"],infoActive:[32],toggleInfo:[64]}],[1,"dso-info",{fixed:[516],active:[516]}]]]],e)));