xv-webcomponents 1.22.2 → 1.22.4-qa.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/cjs/loader.cjs.js +1 -1
- package/dist/cjs/maplibre-gl-CCZS3Rg5.js +900 -0
- package/dist/cjs/{xv-accordion-v2_48.cjs.entry.js → xv-accordion-v2_49.cjs.entry.js} +700 -73
- package/dist/cjs/xv-header-next.cjs.entry.js +1 -1
- package/dist/cjs/xv-mega-menu-next.cjs.entry.js +2 -2
- package/dist/cjs/xv-webcomponents.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/xv-accordion/xv-accordion.js +24 -4
- package/dist/collection/components/xv-accordion-item/xv-accordion-item.js +11 -5
- package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.js +1 -1
- package/dist/collection/components/xv-button/xv-button.js +2 -2
- package/dist/collection/components/xv-button-group/xv-button-group.js +1 -1
- package/dist/collection/components/xv-card/xv-card.js +1 -1
- package/dist/collection/components/xv-checkbox/xv-checkbox.js +2 -2
- package/dist/collection/components/xv-content-switcher/xv-content-switcher-item/xv-content-switcher-item.js +1 -1
- package/dist/collection/components/xv-content-switcher/xv-content-switcher.js +2 -2
- package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +1 -1
- package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.js +1 -1
- package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +2 -2
- package/dist/collection/components/xv-data-table/xv-data-table.css +4 -4
- package/dist/collection/components/xv-data-table/xv-data-table.js +1 -1
- package/dist/collection/components/xv-datepicker/xv-datepicker.js +63 -5
- package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
- package/dist/collection/components/xv-dropdown/xv-dropdown.js +1 -1
- package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +39 -1
- package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +57 -7
- package/dist/collection/components/xv-footer/xv-footer.js +1 -1
- package/dist/collection/components/xv-geo-map/xv-geo-map.css +907 -0
- package/dist/collection/components/xv-geo-map/xv-geo-map.js +1052 -0
- package/dist/collection/components/xv-header/xv-header.js +1 -1
- package/dist/collection/components/xv-header-next/xv-header-next.js +1 -1
- package/dist/collection/components/xv-image-viewer/xv-image-viewer.js +1 -1
- package/dist/collection/components/xv-link/xv-link.js +1 -1
- package/dist/collection/components/xv-mega-menu/xv-mega-menu.js +2 -2
- package/dist/collection/components/xv-mega-menu-next/xv-mega-menu-next.js +2 -2
- package/dist/collection/components/xv-modal/xv-modal.js +1 -1
- package/dist/collection/components/xv-notification/xv-notification.js +1 -1
- package/dist/collection/components/xv-number-input/xv-number-input.js +2 -2
- package/dist/collection/components/xv-pagination/xv-pagination.js +1 -1
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
- package/dist/collection/components/xv-radio/xv-radio.js +2 -2
- package/dist/collection/components/xv-slider/xv-slider.js +1 -1
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
- package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
- package/dist/collection/components/xv-table/xv-table.js +1 -1
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
- package/dist/collection/components/xv-tag/xv-tag.js +1 -1
- package/dist/collection/components/xv-tag-combobox/xv-tag-combobox.js +2 -2
- package/dist/collection/components/xv-text-input/xv-text-input.js +2 -2
- package/dist/collection/components/xv-textarea/xv-textarea.js +2 -2
- package/dist/collection/components/xv-tile/xv-tile.js +2 -2
- package/dist/collection/components/xv-toggle/xv-toggle.js +1 -1
- package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
- package/dist/collection/components/xv-tooltip/xv-tooltip.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/maplibre-gl-CS4Eagm9.js +813 -0
- package/dist/esm/maplibre-gl-shared.mjs +6 -0
- package/dist/esm/maplibre-gl-worker.mjs +6 -0
- package/dist/esm/{xv-accordion-v2_48.entry.js → xv-accordion-v2_49.entry.js} +700 -74
- package/dist/esm/xv-header-next.entry.js +1 -1
- package/dist/esm/xv-mega-menu-next.entry.js +2 -2
- package/dist/esm/xv-webcomponents.js +1 -1
- package/dist/types/components/xv-accordion/xv-accordion.d.ts +5 -4
- package/dist/types/components/xv-accordion-item/xv-accordion-item.d.ts +3 -0
- package/dist/types/components/xv-datepicker/xv-datepicker.d.ts +12 -0
- package/dist/types/components/xv-file-uploader/xv-file-uploader.d.ts +3 -0
- package/dist/types/components/xv-geo-map/xv-geo-map.d.ts +126 -0
- package/dist/types/components.d.ts +241 -0
- package/dist/xv-webcomponents/p-6d402ea7.entry.js +8 -0
- package/dist/xv-webcomponents/{p-7e05cb50.entry.js → p-71205fad.entry.js} +1 -1
- package/dist/xv-webcomponents/{p-38e5f1e1.entry.js → p-9bd6edd0.entry.js} +1 -1
- package/dist/xv-webcomponents/p-CS4Eagm9.js +10 -0
- package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
- package/package.json +2 -1
- package/dist/xv-webcomponents/p-511519a7.entry.js +0 -8
|
@@ -11,6 +11,8 @@ const XvAccordion = class {
|
|
|
11
11
|
this.multiple = false;
|
|
12
12
|
this.xvId = uidGenerator();
|
|
13
13
|
this.opened = new Set();
|
|
14
|
+
/** Set while `toggleItem` writes `value`, so the watcher ignores its own echo. */
|
|
15
|
+
this.applyingValue = false;
|
|
14
16
|
}
|
|
15
17
|
async toggleItem(value) {
|
|
16
18
|
if (this.opened.has(value)) {
|
|
@@ -19,20 +21,37 @@ const XvAccordion = class {
|
|
|
19
21
|
else {
|
|
20
22
|
if (!this.multiple)
|
|
21
23
|
this.opened.clear();
|
|
24
|
+
this.applyingValue = true;
|
|
22
25
|
this.value = value;
|
|
26
|
+
this.applyingValue = false;
|
|
23
27
|
this.opened.add(this.value);
|
|
24
28
|
}
|
|
25
29
|
this.accordionChange.emit({ opened: this.opened, id: this.xvId });
|
|
26
30
|
return { opened: this.opened, id: this.xvId };
|
|
27
31
|
}
|
|
32
|
+
/** Opens the named item; an empty value collapses everything. Idempotent, unlike `toggleItem`. */
|
|
33
|
+
onValueChange(value) {
|
|
34
|
+
if (this.applyingValue || (value && this.opened.has(value)))
|
|
35
|
+
return;
|
|
36
|
+
if (!this.multiple)
|
|
37
|
+
this.opened.clear();
|
|
38
|
+
if (value)
|
|
39
|
+
this.opened.add(value);
|
|
40
|
+
this.accordionChange.emit({ opened: this.opened, id: this.xvId });
|
|
41
|
+
}
|
|
28
42
|
componentWillLoad() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
43
|
+
// Idempotent on purpose: a `value` that arrived after the instance was created is already open.
|
|
44
|
+
if (this.value)
|
|
45
|
+
this.onValueChange(this.value);
|
|
32
46
|
}
|
|
33
47
|
render() {
|
|
34
|
-
return (h(Host, { key: '
|
|
48
|
+
return (h(Host, { key: 'e69c356b4d5779f357ad39353b7131fc750b2471', class: "xv-accordion", "data-id": this.xvId }, h("slot", { key: 'fed73d3e2af953702fce5d4048790b44f6963060' })));
|
|
35
49
|
}
|
|
50
|
+
static get watchers() { return {
|
|
51
|
+
"value": [{
|
|
52
|
+
"onValueChange": 0
|
|
53
|
+
}]
|
|
54
|
+
}; }
|
|
36
55
|
};
|
|
37
56
|
XvAccordion.style = xvAccordionCss();
|
|
38
57
|
|
|
@@ -49,18 +68,24 @@ const XvAccordionItem = class {
|
|
|
49
68
|
if (this.disabled)
|
|
50
69
|
return;
|
|
51
70
|
this.isOpen = !this.isOpen;
|
|
52
|
-
(_b = (_a = this.
|
|
71
|
+
(_b = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.toggleItem) === null || _b === void 0 ? void 0 : _b.call(_a, this.value);
|
|
53
72
|
};
|
|
54
73
|
}
|
|
55
|
-
|
|
74
|
+
/** The parent emits its initial state before rendering `data-id`, so derive it instead of waiting for the event. */
|
|
75
|
+
componentWillLoad() {
|
|
56
76
|
var _a;
|
|
57
|
-
|
|
58
|
-
|
|
77
|
+
this.isOpen = !!this.value && ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.value) === this.value;
|
|
78
|
+
}
|
|
79
|
+
handleAccordionChange(event) {
|
|
80
|
+
if (!this.parent || event.detail.id !== this.parent.xvId)
|
|
59
81
|
return;
|
|
60
82
|
this.isOpen = event.detail.opened.has(this.value);
|
|
61
83
|
}
|
|
84
|
+
get parent() {
|
|
85
|
+
return this.el.closest('xv-accordion-v2');
|
|
86
|
+
}
|
|
62
87
|
render() {
|
|
63
|
-
return (h(Host, { key: '
|
|
88
|
+
return (h(Host, { key: 'a3cb0facfd983da8005bfbacca5af18ae8064eb3', class: `${this.disabled ? 'disabled' : ''}` }, h("label", { key: '9400e4d4626bf7af0ec6505b541b674e2e8b9ed0', class: `label ${this.isOpen ? 'opened' : 'closed'}`, onClick: this.toggle }, h("span", { key: 'ad386d89c6297c1d8820bff4eaefcdf14be33ce2' }, this.label)), h("div", { key: 'cf457ae8201e682133a875694296d73535979464', class: `content ${this.isOpen ? 'opened' : 'closed'}` }, h("slot", { key: 'd2452325e21ceb08094f62b372b67ba972bcd863' }))));
|
|
64
89
|
}
|
|
65
90
|
get el() { return getElement(this); }
|
|
66
91
|
};
|
|
@@ -73,7 +98,7 @@ const XvBreadcrumbs = class {
|
|
|
73
98
|
registerInstance(this, hostRef);
|
|
74
99
|
}
|
|
75
100
|
render() {
|
|
76
|
-
return (h("div", { key: '
|
|
101
|
+
return (h("div", { key: '9755c5e5f0802a1efbddffc6f6f2018147b8ffce', class: "xv-breadcrumbs" }, h("div", { key: '36cd6772a9cbe1b9c4f49a55f3c6e27d418a50fc', class: "xv-breadcrumbs__container" }, h("slot", { key: 'cef6a3c3d55767a6232c6067336d92cb41113f1d' }))));
|
|
77
102
|
}
|
|
78
103
|
};
|
|
79
104
|
XvBreadcrumbs.style = xvBreadcrumbsCss();
|
|
@@ -154,7 +179,7 @@ const XvButtonGroup = class {
|
|
|
154
179
|
});
|
|
155
180
|
}
|
|
156
181
|
render() {
|
|
157
|
-
return (h(Host, { key: '
|
|
182
|
+
return (h(Host, { key: '75f76838e6231856ae785c86258856c5a47cbc61', role: "group" }, h("slot", { key: '35e8caa705a672a5fe2933b6bb96dd73c938e64c', onSlotchange: () => this.syncActive() })));
|
|
158
183
|
}
|
|
159
184
|
get el() { return getElement(this); }
|
|
160
185
|
static get watchers() { return {
|
|
@@ -222,7 +247,7 @@ const XvButton = class {
|
|
|
222
247
|
}
|
|
223
248
|
render() {
|
|
224
249
|
var _a, _b;
|
|
225
|
-
return (h(Host, { key: '
|
|
250
|
+
return (h(Host, { key: 'fba11c0f184ccf501ac868e7db8541c1831b77d7' }, h("button", { key: '9783c96ce88d62a906203ec07700b81951d573af', class: {
|
|
226
251
|
'xv-button': true,
|
|
227
252
|
'xv-button--active': this.active,
|
|
228
253
|
[`xv-button--${this.variant}`]: !!this.variant,
|
|
@@ -233,7 +258,7 @@ const XvButton = class {
|
|
|
233
258
|
'xv-button--icon-left': this.hasLeftIcon,
|
|
234
259
|
'xv-button--icon-right': this.hasRightIcon,
|
|
235
260
|
'xv-button--icon-only': !this.hasContent,
|
|
236
|
-
}, part: "button", title: (_a = this.el) === null || _a === void 0 ? void 0 : _a.title, value: this.value, name: this.name, onClick: this.handleClick, type: this.type, disabled: this.disabled || this.loading, "aria-disabled": this.disabled ? 'true' : undefined, "aria-pressed": this.active ? 'true' : undefined, "aria-label": ((_b = this.el) === null || _b === void 0 ? void 0 : _b.ariaLabel) || 'XV button' }, this.loading && (h("xv-loader-v2", { key: '
|
|
261
|
+
}, part: "button", title: (_a = this.el) === null || _a === void 0 ? void 0 : _a.title, value: this.value, name: this.name, onClick: this.handleClick, type: this.type, disabled: this.disabled || this.loading, "aria-disabled": this.disabled ? 'true' : undefined, "aria-pressed": this.active ? 'true' : undefined, "aria-label": ((_b = this.el) === null || _b === void 0 ? void 0 : _b.ariaLabel) || 'XV button' }, this.loading && (h("xv-loader-v2", { key: '8d8a79349f84395901fc1fa72317308588876446', class: "xv-button__loader", size: this.size !== SIZE_VAR.XL ? this.size : SIZE_VAR.LG })), h("span", { key: '50169ff5514713c3bbbc88391b76be3347c0f9b7', class: "xv-button__icon xv-button__icon--left" }, h("slot", { key: '52e7455112b8fc7fb4ee0eceb1d688fc9f152f0a', name: "icon-left", onSlotchange: this.handleSlotChangeLeft })), h("span", { key: '737e1299d74237a86f05dcc17a64c8b40e6b84e8', class: "xv-button__label" }, h("slot", { key: '4df615791319755854d0a1c764e198ba57e3ca44', onSlotchange: this.handleSlotChangeContent }, this.label)), h("span", { key: 'a9f2c26b062a66936d06a351ae07b0fc45cb6206', class: "xv-button__icon xv-button__icon--right" }, h("slot", { key: '054be184e477bf14580a7a8e6eff544518650070', name: "icon-right", onSlotchange: this.handleSlotChangeRight })))));
|
|
237
262
|
}
|
|
238
263
|
static get formAssociated() { return true; }
|
|
239
264
|
get el() { return getElement(this); }
|
|
@@ -248,7 +273,7 @@ const XvCard = class {
|
|
|
248
273
|
this.variant = 'vertical';
|
|
249
274
|
}
|
|
250
275
|
render() {
|
|
251
|
-
return (h(Host, { key: '
|
|
276
|
+
return (h(Host, { key: 'e727e80c64728a3cdf809ac14df0d8a209a9e1ac', class: `xv-card xv-card_${this.variant}`, part: this.variant }, h("div", { key: '4f7d067fc749b3c0b6a7f9b697095291ca9ebc19', class: "xv-card_media" }, h("slot", { key: '7a9756035ed1154bd8c97b344ace21dfe7d68054', name: "media" }, this.media && h("img", { key: '4d6eda9d66a993a51a6252accbd5a2bf9398cbdc', class: "xv-card_media__content", src: this.media, alt: this.header }))), h("div", { key: '1998a64d875197acc6d7739ea8daaba0a1233fff', class: "xv-card_content" }, h("div", { key: '79cb4a95662f405d1dcf2af50ff62a361c06930b', class: "xv-card_header" }, h("slot", { key: '33761912c88f7f3ec517709bdee61c806b56a32a', name: "header" }, this.header && h("p", { key: 'ece5395203308cd0f4991594a5d2f69d72e8cbaa', class: "xv-card_header__content" }, this.header))), h("div", { key: 'ccee6405aafcec8f45eea2feb725a4a452dc77bd', class: "xv-card_body" }, h("slot", { key: 'b135f8d40a2a11b815a25c8138cac779b0ce5389', name: "body" }, this.body && h("p", { key: '5e64fc46e61bc0c3bf0d2f65775eb5527077307d', class: "xv-card_body__content" }, this.header))), h("div", { key: '722203cf13b7ef8ca87ca7283624d2928769d90b', class: "xv-card_footer" }, h("slot", { key: 'b3ee59c1c3e1c03a2e9152d48817dfd8f3c01887', name: "footer" }, this.footer)))));
|
|
252
277
|
}
|
|
253
278
|
};
|
|
254
279
|
XvCard.style = xvCardCss();
|
|
@@ -329,12 +354,12 @@ const XvCheckbox = class {
|
|
|
329
354
|
}
|
|
330
355
|
}
|
|
331
356
|
render() {
|
|
332
|
-
return (h(Host, { key: '
|
|
357
|
+
return (h(Host, { key: 'c6935a14e59e040085e0357f327de6bae85938f2' }, h("label", { key: '83da60db2471ed903dc014713d8f4d7bea7110e7', class: {
|
|
333
358
|
'xv-checkbox': true,
|
|
334
359
|
disabled: this.disabled,
|
|
335
360
|
readonly: this.readonly,
|
|
336
361
|
[`xv-checkbox--align-${this.align}`]: !!this.align,
|
|
337
|
-
} }, h("input", { key: '
|
|
362
|
+
} }, h("input", { key: '1c0da6b7baba4d09ff96f8cb2d62159fb60f3d65', ref: el => (this.inputEl = el), type: "checkbox", readonly: this.readonly, name: this.name, value: this.value, checked: this.checked, disabled: this.disabled || this.readonly, required: this.required, indeterminate: this.indeterminate, onInput: this.onInput, onChange: this.onChange, onFocus: this.onFocus, onBlur: this.onBlur }), h("span", { key: 'b7f2bbb12244ba6a93a4cb9ac2593237bac26524', class: `checkmark ${this.partial ? 'checkmark-partial' : ''}` }), h("div", { key: 'e342163a137d67d597d04414965d143b3bd0090f', class: "label" }, h("slot", { key: '1b0de85314b48632fb5994a9d3b1dd92a4a36068' }, this.label && h("span", { key: '8f98fb5569939842bffb6b99b070cc9ffaed4343', class: "label_str" }, this.label)))), h("slot", { key: '8148bb0ab61261e5be3bb6219062b3454a561195', name: "info" }), !!this.error && h("span", { key: '94bbe30a1d6de3f9895a94bf35a9d1dffb02a823', class: "error" }, this.error)));
|
|
338
363
|
}
|
|
339
364
|
componentDidLoad() {
|
|
340
365
|
if (this.indeterminate) {
|
|
@@ -373,7 +398,7 @@ const XvContentSwitcherItem = class {
|
|
|
373
398
|
this.disabled = false;
|
|
374
399
|
}
|
|
375
400
|
render() {
|
|
376
|
-
return (h(Host, { key: '
|
|
401
|
+
return (h(Host, { key: 'c91c4095819a485468c85ef0a04995b2bff0d229' }, h("slot", { key: 'd65d0bd721b0e69476d8d724935c95c55700c982' })));
|
|
377
402
|
}
|
|
378
403
|
};
|
|
379
404
|
XvContentSwitcherItem.style = xvContentSwitcherItemCss();
|
|
@@ -507,14 +532,14 @@ const XvContentSwitcher = class {
|
|
|
507
532
|
return null;
|
|
508
533
|
}
|
|
509
534
|
render() {
|
|
510
|
-
return (h(Host, { key: '
|
|
535
|
+
return (h(Host, { key: '8b31b1c11689777b9e051686bee96d65c1acad21' }, h("div", { key: '620e9f59d8a41ac12f4ddcb44f909a00d173f96d', class: "switcher", role: "tablist", "aria-orientation": "horizontal" }, this.items.map((item, index) => {
|
|
511
536
|
const key = this.getItemKey(item, index);
|
|
512
537
|
const selected = this.isSelected(item, index);
|
|
513
538
|
const itemDisabled = this.isItemDisabled(item);
|
|
514
539
|
const label = item.getAttribute('label') || '';
|
|
515
540
|
const icon = item.getAttribute('icon');
|
|
516
541
|
return (h("button", { type: "button", role: "tab", class: { switcher_item: true, selected }, "aria-selected": selected ? 'true' : 'false', "aria-label": this.iconOnly ? label || undefined : undefined, title: this.iconOnly ? label || undefined : undefined, disabled: itemDisabled, tabIndex: selected ? 0 : -1, onClick: () => this.select(key), onKeyDown: (event) => this.handleKeyDown(event, index) }, icon && h("i", { class: `switcher_item-icon ${icon}`, "aria-hidden": "true" }), !this.iconOnly && label && h("span", { class: "switcher_item-label" }, label)));
|
|
517
|
-
})), h("div", { key: '
|
|
542
|
+
})), h("div", { key: '3a7bcb7c000ffc9d524efb6c9b31552ee875cceb', class: "switcher_content", role: "tabpanel", tabindex: -1 }, h("slot", { key: '766748b9712a0072ef009213f6578a2497b7ef60', onSlotchange: this.collectItems }))));
|
|
518
543
|
}
|
|
519
544
|
get el() { return getElement(this); }
|
|
520
545
|
};
|
|
@@ -3173,7 +3198,7 @@ const XV_DATA_TABLE_TAG = 'xv-data-table';
|
|
|
3173
3198
|
const XV_DATA_TABLE_ROW_TAG = 'xv-data-table-row';
|
|
3174
3199
|
const XV_ROW_DRAG_HANDLE_CLASS = 'xv-row-drag-handle';
|
|
3175
3200
|
|
|
3176
|
-
const xvDataTableCss = () => `:host{--xv-data-table-min-height:51.11px;--xv-data-table-border-width:1px;--xv-data-table-border-color:var(--border-subtle-01, #D1D1D1);--xv-data-table-padding-x:var(--spacing-05, 16px);--xv-data-table-padding-y:var(--spacing-05, 16px);--xv-data-table-row-bg:transparent;width:inherit;text-align:left;color:var(--text-primary, #333);font-family:var(--ff-body, Tahoma);font-size:var(--fz-md, 14px);line-height:18px;letter-spacing:0.16px}@media screen and (max-width: 1180px){:host{display:block;position:relative;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--layer-accent-03) transparent}:host ::slotted([slot=title]),:host>table{min-width:1180px}}:host .bar{position:sticky;left:0;z-index:10}:host .bar_batch{position:absolute;bottom:0;left:0;right:0;pointer-events:unset;user-select:unset;z-index:2;background-color:var(--interactive-01, #273435);color:var(--text-on-color, #fff);border-radius:3px 3px 0 0;display:flex;align-items:center}:host .bar_toolbar{z-index:1;border-radius:3px 3px 0 0}:host ::slotted([slot=title]){margin:0 !important;color:var(--text-primary, #333) !important;font-family:var(--ff-heading, "Gill Sans")
|
|
3201
|
+
const xvDataTableCss = () => `:host{--xv-data-table-min-height:51.11px;--xv-data-table-border-width:1px;--xv-data-table-border-color:var(--border-subtle-01, #D1D1D1);--xv-data-table-padding-x:var(--spacing-05, 16px);--xv-data-table-padding-y:var(--spacing-05, 16px);--xv-data-table-row-bg:transparent;width:inherit;text-align:left;color:var(--text-primary, #333);font-family:var(--ff-body, Tahoma);font-size:var(--fz-md, 14px);line-height:18px;letter-spacing:0.16px}@media screen and (max-width: 1180px){:host{display:block;position:relative;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--layer-accent-03) transparent}:host ::slotted([slot=title]),:host>table{min-width:1180px}}:host .bar{position:sticky;left:0;z-index:10}:host .bar_batch{position:absolute;bottom:0;left:0;right:0;pointer-events:unset;user-select:unset;z-index:2;background-color:var(--interactive-01, #273435);color:var(--text-on-color, #fff);border-radius:3px 3px 0 0;display:flex;align-items:center}:host .bar_toolbar{z-index:1;border-radius:3px 3px 0 0}:host ::slotted([slot=title]){margin:0 !important;color:var(--text-primary, #333) !important;font-family:var(--ff-heading, "Gill Sans"), sans-serif;font-size:20px;text-align:left;font-style:normal !important;font-weight:400;line-height:normal;padding:var(--spacing-05) var(--spacing-05) var(--spacing-06) !important}:host ::slotted([slot=toolbar]){margin-bottom:var(--spacing-03)}:host>table{width:inherit;border-collapse:collapse;table-layout:fixed;border-left:1px solid var(--xv-data-table-border-color);border-right:1px solid var(--xv-data-table-border-color)}:host>caption{display:contents}:host .loading{z-index:10;display:flex;align-items:center;justify-content:center;min-height:var(--xv-data-table-min-height, 51.11px);position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255, 255, 255, 0.8)}:host([block]){width:100%}:host([block])>table{table-layout:fixed}:host([size=xs]){--xv-data-table-padding-x:var(--spacing-02, 4px);--xv-data-table-padding-y:var(--spacing-02, 4px)}:host([size=sm]){--xv-data-table-padding-x:var(--spacing-04, 12px);--xv-data-table-padding-y:var(--spacing-03, 8px)}:host([size=md]){--xv-data-table-padding-x:var(--spacing-05, 16px);--xv-data-table-padding-y:var(--spacing-05, 16px)}:host([size=lg]){--xv-data-table-padding-x:var(--spacing-05, 16px);--xv-data-table-padding-y:var(--spacing-06, 24px)}:host([size=xl]){--xv-data-table-padding-x:var(--spacing-06, 24px);--xv-data-table-padding-y:var(--spacing-07, 32px)}`;
|
|
3177
3202
|
|
|
3178
3203
|
const XvDataTable = class {
|
|
3179
3204
|
constructor(hostRef) {
|
|
@@ -3279,7 +3304,7 @@ const XvDataTable = class {
|
|
|
3279
3304
|
this.initSortable();
|
|
3280
3305
|
}
|
|
3281
3306
|
render() {
|
|
3282
|
-
return (h(Host, { key: '
|
|
3307
|
+
return (h(Host, { key: '570fd2eb4b0144b9102b96195c797eb02c472455', class: "xv-data-table" }, h("caption", { key: '7bbd19ed3c51fc900999cdde45ce333676a0ccf2' }, h("slot", { key: 'e8bc08a4908449f492442979ba4ea894d7629988', name: "title" })), h("div", { key: '6afa75966f280bc433bbb8e6d7f6c4241be8d37e', class: "bar" }, h("div", { key: '1646ccaaf4391042026d7d9542d86dbf9a9d1138', class: "bar_batch" }, h("slot", { key: 'c0c1772e536561a6c8f32e3796b78171ec8f8504', name: "batch" })), h("div", { key: 'f21d76f5c6ae57fc8cc53e5da9b83385ceb9926d', class: "bar_toolbar" }, h("slot", { key: '83e885cdf49d9fae16f6d295df096e74fa120bd3', name: "toolbar" }))), h("table", { key: 'fb0979ed7443b340ea1c1c376f1efc189be03b4d', role: "table" }, this.columnWidths.length > 0 && (h("colgroup", { key: '1a3885fd837a7e34bf25e34e7c606d7ea6bc9afe' }, this.columnWidths.map((width = 'auto') => h("col", { style: { width } })))), h("thead", { key: '0fa1dec18a894ec1ff4da2c60aca5bf33f5949df' }, h("slot", { key: '6711a45920494a39934ef524fb0b8022fde77ec2', name: "header" })), h("tbody", { key: '46a2488485441766ba0d3e5a149a0b05a67d3756' }, h("slot", { key: '6f60c1fe6a076cc6750e7abad9e4b1a643bd1d6c' })), h("tfoot", { key: '6f2a17a4ade1a65cb7dd3ecfb15f91b7bd0f16bb' }, h("slot", { key: 'efd3e17fc926009f8dcaa273618f5f9168451b5d', name: "footer" }))), !!this.loading && (h("div", { key: 'bb8f79de1e43a5c4fe66d9f1c3c8bf54ffa441cf', class: "loading" }, h("xv-loader-v2", { key: 'a89466627f436e46e07cca56fbefda0c13d3781c', size: SIZE_VAR.LG })))));
|
|
3283
3308
|
}
|
|
3284
3309
|
get el() { return getElement(this); }
|
|
3285
3310
|
static get watchers() { return {
|
|
@@ -3320,7 +3345,7 @@ const XvDataTableCell = class {
|
|
|
3320
3345
|
}
|
|
3321
3346
|
;
|
|
3322
3347
|
render() {
|
|
3323
|
-
return (h(Host, { key: '
|
|
3348
|
+
return (h(Host, { key: '0df8782b338e3a26e7d44cdef99a528f43c7096e', role: "cell", style: { width: this.width }, class: {
|
|
3324
3349
|
multiline: this.multiline !== undefined,
|
|
3325
3350
|
[`align--${this.align}`]: !!this.align
|
|
3326
3351
|
} }, !this.multiline || isNaN(this.multiline) ? this.__renderWithTooltip() : (h("div", { class: "line-clamp", style: { ['-webkit-line-clamp']: `${this.multiline}` } }, this.__renderWithTooltip()))));
|
|
@@ -3353,7 +3378,7 @@ const XvDataTableCollapse = class {
|
|
|
3353
3378
|
rows.forEach((row) => row === null || row === void 0 ? void 0 : row.setAttribute('collapsable', ''));
|
|
3354
3379
|
}
|
|
3355
3380
|
render() {
|
|
3356
|
-
return (h(Host, { key: '
|
|
3381
|
+
return (h(Host, { key: '8af939d58827a45227da4a1fe0633e0a3b71ae4b', id: this.el.id, part: "xv-collapse", class: this.el.className, collapsed: this.collapsed, expanded: !this.collapsed }, h("slot", { key: 'a85ddac7154a56db6b988cd5180b37bb63933703' })));
|
|
3357
3382
|
}
|
|
3358
3383
|
get el() { return getElement(this); }
|
|
3359
3384
|
};
|
|
@@ -3436,7 +3461,7 @@ const XvDataTableRow = class {
|
|
|
3436
3461
|
const isGroup = !!this.collapse || !!this.group;
|
|
3437
3462
|
const isDraggableRow = this.reorderable && !isHeader && !isFooter && !this.group;
|
|
3438
3463
|
const showHandleCell = this.reorderable && this.reorderHandleMode === 'icon';
|
|
3439
|
-
return (h(Host, { key: '
|
|
3464
|
+
return (h(Host, { key: 'd9bb6ddc1597a4904c951d7e7b1a38fcb0b5b2e8', role: "row", part: "xv-row", class: {
|
|
3440
3465
|
checked: this.checked,
|
|
3441
3466
|
hover: this.hover,
|
|
3442
3467
|
disabled: this.disabled,
|
|
@@ -3444,7 +3469,7 @@ const XvDataTableRow = class {
|
|
|
3444
3469
|
header: isHeader,
|
|
3445
3470
|
footer: isFooter,
|
|
3446
3471
|
'reorder-row': isDraggableRow && this.reorderHandleMode === 'row',
|
|
3447
|
-
} }, showHandleCell && (h("xv-data-table-cell", { key: '
|
|
3472
|
+
} }, showHandleCell && (h("xv-data-table-cell", { key: '31047dc1b9eb9ad0f53a734f34934248dd24953a', width: "16px", class: "cell-control cell-control--drag" }, isDraggableRow && (h("span", { key: '4eb1a2363ccc46146e41e72c70475456492900de', class: `cell-control_drag ${XV_ROW_DRAG_HANDLE_CLASS}`, "aria-label": "Drag to reorder" }, h("svg", { key: '3a7c0a9c948092b378e24938cbbceed3b6a8dd89', viewBox: "0 0 8 14", width: "8", height: "14", fill: "currentColor", "aria-hidden": "true" }, h("circle", { key: '3227502198d59b9eeee42a532178da2198fb9a37', cx: "2", cy: "2", r: "1.2" }), h("circle", { key: '167b75f4623a83cf510bc371d67f7a7f1a54a7fa', cx: "6", cy: "2", r: "1.2" }), h("circle", { key: 'c14fa5cdef879c2595454568912bb45c37404d1f', cx: "2", cy: "7", r: "1.2" }), h("circle", { key: '8f08a6edb2665bb214293ae3f9a32269d0a926ec', cx: "6", cy: "7", r: "1.2" }), h("circle", { key: 'dadcbaf93e4c9215fefbe766a320a3eecf71e964', cx: "2", cy: "12", r: "1.2" }), h("circle", { key: '04ffe62ba13cf1799c6ad05908dcc94c3e6eaefb', cx: "6", cy: "12", r: "1.2" })))))), (!!this.variant || this.collapsable) && (h("xv-data-table-cell", { key: 'e972b33cf8b9d7406967a94b9a5c0e00e547c44e', width: !!this.variant ? '16px' : '0', class: "cell-control" }, !!this.collapse && (h("button", { key: 'c7e0ae5898d059d134201f22b18ff0e278e36842', class: { 'cell-control_collapse': true, open: !this.collapsed }, onClick: this.collapseClick })), this.variant === 'checkbox' && (h("xv-checkbox-v2", { key: 'ae49a7926b6225240a27e64137bdc17f5960af0c', name: this.name, partial: this.partial, checked: this.checked || this.partial, disabled: this.disabled, readonly: this.readonly, required: this.required, onEventChange: this.checkedChangeHandle, class: "cell-control_checkbox" })))), h("slot", { key: 'ee569da095e277efab04ce534ab1c66cf421bafa', onSlotchange: this.setInitialState })));
|
|
3448
3473
|
}
|
|
3449
3474
|
get el() { return getElement(this); }
|
|
3450
3475
|
};
|
|
@@ -80396,7 +80421,8 @@ const XvDatepicker = class {
|
|
|
80396
80421
|
return;
|
|
80397
80422
|
}
|
|
80398
80423
|
if ((this.minDate && dateFns.isBefore(newDate, this.minDate)) ||
|
|
80399
|
-
(this.maxDate && dateFns.isAfter(newDate, this.maxDate))
|
|
80424
|
+
(this.maxDate && dateFns.isAfter(newDate, this.maxDate)) ||
|
|
80425
|
+
this.disabledSet.has(val)) {
|
|
80400
80426
|
return;
|
|
80401
80427
|
}
|
|
80402
80428
|
if (this.variant === 'single') {
|
|
@@ -80421,7 +80447,8 @@ const XvDatepicker = class {
|
|
|
80421
80447
|
const val = new Date(input.value);
|
|
80422
80448
|
if (!dateFns.isValid(val) ||
|
|
80423
80449
|
(this.minDate && dateFns.isBefore(val, this.minDate)) ||
|
|
80424
|
-
(this.maxDate && dateFns.isAfter(val, this.maxDate))
|
|
80450
|
+
(this.maxDate && dateFns.isAfter(val, this.maxDate)) ||
|
|
80451
|
+
this.disabledSet.has(input.value)) {
|
|
80425
80452
|
this.value[range === 'start' ? 0 : 1] = undefined;
|
|
80426
80453
|
input.value = '';
|
|
80427
80454
|
this.localError = 'Das angegebene Datum ist nicht verfügbar.';
|
|
@@ -80496,6 +80523,30 @@ const XvDatepicker = class {
|
|
|
80496
80523
|
return iso;
|
|
80497
80524
|
return dateFns.parse(this.max, 'yyyy-MM-dd', new Date());
|
|
80498
80525
|
}
|
|
80526
|
+
get disabledSet() {
|
|
80527
|
+
var _a;
|
|
80528
|
+
const keys = ((_a = this.disabledDates) !== null && _a !== void 0 ? _a : []).map(d => this.toDayKey(d)).filter(Boolean);
|
|
80529
|
+
return new Set(keys);
|
|
80530
|
+
}
|
|
80531
|
+
/** Normalise a disabled-date entry to a local 'yyyy-MM-dd' key. */
|
|
80532
|
+
toDayKey(value) {
|
|
80533
|
+
if (value instanceof Date) {
|
|
80534
|
+
return dateFns.isValid(value) ? dateFns.format(value, DEF_FORMAT) : '';
|
|
80535
|
+
}
|
|
80536
|
+
// Bare 'yyyy-MM-dd' is already a key — use verbatim to avoid a TZ shift
|
|
80537
|
+
// from re-parsing it into a Date.
|
|
80538
|
+
if (/^\d{4}-\d{2}-\d{2}$/.test(value))
|
|
80539
|
+
return value;
|
|
80540
|
+
const parsed = dateFns.parseISO(value);
|
|
80541
|
+
return dateFns.isValid(parsed) ? dateFns.format(parsed, DEF_FORMAT) : '';
|
|
80542
|
+
}
|
|
80543
|
+
isDayDisabled(date, disabled = this.disabledSet) {
|
|
80544
|
+
if (this.minDate && dateFns.isBefore(date, this.minDate))
|
|
80545
|
+
return true;
|
|
80546
|
+
if (this.maxDate && dateFns.isAfter(date, this.maxDate))
|
|
80547
|
+
return true;
|
|
80548
|
+
return disabled.has(dateFns.format(date, DEF_FORMAT));
|
|
80549
|
+
}
|
|
80499
80550
|
get isPrevDisabled() {
|
|
80500
80551
|
if (!this.minDate)
|
|
80501
80552
|
return false;
|
|
@@ -80529,13 +80580,14 @@ const XvDatepicker = class {
|
|
|
80529
80580
|
getCalendarGrid() {
|
|
80530
80581
|
const start = dateFns.startOfWeek(dateFns.startOfMonth(this.month), { weekStartsOn: 1 });
|
|
80531
80582
|
const end = dateFns.endOfWeek(dateFns.endOfMonth(this.month), { weekStartsOn: 1 });
|
|
80583
|
+
const disabled = this.disabledSet;
|
|
80532
80584
|
this.days = dateFns.eachDayOfInterval({ start, end }).map(date => ({
|
|
80533
80585
|
date,
|
|
80534
80586
|
week: dateFns.getWeek(date, { weekStartsOn: 1 }),
|
|
80535
80587
|
day: date.getDate(),
|
|
80536
80588
|
isCurrentMonth: dateFns.isSameMonth(date, this.month),
|
|
80537
80589
|
isToday: dateFns.isToday(date),
|
|
80538
|
-
disabled:
|
|
80590
|
+
disabled: this.isDayDisabled(date, disabled)
|
|
80539
80591
|
}));
|
|
80540
80592
|
return this.days;
|
|
80541
80593
|
}
|
|
@@ -80599,12 +80651,12 @@ const XvDatepicker = class {
|
|
|
80599
80651
|
warning: this.warning,
|
|
80600
80652
|
helper: this.helper,
|
|
80601
80653
|
});
|
|
80602
|
-
return (h(Host, { key: '
|
|
80654
|
+
return (h(Host, { key: 'd3824a5d7c420cf3956bac19dce90ad6a2bf7fa2', class: { disabled: !!this.disabled }, tabindex: this.disabled ? '-1' : undefined }, h("div", { key: 'd93850164d288cb74c8120596196088e44c33a23', "aria-controls": "popover", class: "control" }, this.label && h("label", { key: 'e136f0ef2de64fa2e95b77caeb3675cee7626575', class: "control_label" }, this.label), h("div", { key: '102e8ce2e9dc0d9e74ba9a771b513977acbeb0ba', class: {
|
|
80603
80655
|
'control_field': true,
|
|
80604
80656
|
loading: this.loading,
|
|
80605
80657
|
error: !!this.error || !!this.localError,
|
|
80606
80658
|
warning: this.warning !== undefined,
|
|
80607
|
-
}, onClick: this.handleOpen, ref: (el) => (this.controlEl = el) }, h("input", { key: '
|
|
80659
|
+
}, onClick: this.handleOpen, ref: (el) => (this.controlEl = el) }, h("input", { key: '815eb8a1b9aef9a4ffae56ce120175e4e727e2c0', lang: "de", type: "date", name: "start", disabled: this.loading || this.disabled, readonly: this.readonly || this.variant === 'range', min: this.min, max: this.max, value: start ? dateFns.format(start, DEF_FORMAT) : '', onChange: (e) => this.handleChange(e, 'start'), onBlur: (e) => this.handleBlur(e, 'start'), onKeyDown: (e) => this.handleKeydown(e, 'start') }), this.variant === 'range' && (h("input", { key: '4ae5693501d921d8431da8d261de777f159eb778', lang: "de", type: "date", name: "end", disabled: this.loading || this.disabled, readonly: this.readonly || this.variant === 'range', min: this.min, max: this.max, value: end ? dateFns.format(end, DEF_FORMAT) : '', onChange: (e) => this.handleChange(e, 'end'), onBlur: (e) => this.handleBlur(e, 'end'), onKeyDown: (e) => this.handleKeydown(e, 'end') }))), message && (h("p", { key: 'a3facc864173f9a8d74ef8542fff82ea935f5593', class: { control_message: true, [message.level]: true } }, message.text))), h("div", { key: '649f74e157bcd2e834d03c7a2d52968fbe3087c1', role: "dialog", class: { popover: true, open: this.open }, ref: (el) => (this.popoverEl = el) }, h("div", { key: '2cfbafcfaa23d86e610d488315ac6b1aa34dbf54', class: "header" }, h("xv-button-v2", { key: '3694744a0a8790fc80f65ae2a3a33d7f5a0a4d15', tabindex: this.open ? undefined : '-1', disabled: this.isPrevDisabled, variant: "ghost", onClick: this.prevMonth }, h("span", { key: '96aec7fad4fafc6ed43bea53b5000a1100815bf7', slot: "icon-left", class: "header_icon prev" })), h("p", { key: 'a52cafec3ee1d519d3acd39b65c59209b05a17f3', class: "header_date" }, dateFns.format(this.month, 'LLLL', { locale: localeExports.de }), h("input", { key: 'f523d1ab179245a725a5bfe2ec97f3bce50533de', tabindex: this.open ? undefined : '-1', type: "number", value: this.month.getFullYear(), onInput: this.handleYearChange, onBlur: this.handleYearBlur })), h("xv-button-v2", { key: '16a1f92a5a461a4c812225a586ea705e858aeac7', tabindex: this.open ? undefined : '-1', disabled: this.isNextDisabled, variant: "ghost", onClick: this.nextMonth }, h("span", { key: '5b38b9fef3ab9914f879f8525dcd5b46f46058b4', slot: "icon-left", class: "header_icon next" }))), h("div", { key: '223691312e59a749bd1f8a982b7270fb529b6b32', class: "week" }, h("p", { key: '898552659a61a0cf789541cf694f7589eacdf457', class: "week_day" }), WEEK.map((day) => h("p", { class: "week_day" }, day, "."))), h("div", { key: '7c91b9a24f7d37f64f159f290a43cbfff4c9be1a', class: "week" }, this.days.map((day, idx) => (h(Fragment, null, idx % 7 === 0 && (h("button", { tabindex: this.open ? undefined : '-1', disabled: true, class: "week_day disabled" }, day.week)), h("button", { tabindex: this.open ? undefined : '-1', onClick: () => this.handleSetDate(day), disabled: day.disabled, class: {
|
|
80608
80660
|
'week_day': true,
|
|
80609
80661
|
inRange: this.variant === 'range' && dateFns.isWithinInterval(day.date, { start, end }),
|
|
80610
80662
|
isToday: day.isToday,
|
|
@@ -80621,6 +80673,15 @@ const XvDatepicker = class {
|
|
|
80621
80673
|
"month": [{
|
|
80622
80674
|
"getCalendarGrid": 0
|
|
80623
80675
|
}],
|
|
80676
|
+
"min": [{
|
|
80677
|
+
"getCalendarGrid": 0
|
|
80678
|
+
}],
|
|
80679
|
+
"max": [{
|
|
80680
|
+
"getCalendarGrid": 0
|
|
80681
|
+
}],
|
|
80682
|
+
"disabledDates": [{
|
|
80683
|
+
"getCalendarGrid": 0
|
|
80684
|
+
}],
|
|
80624
80685
|
"value": [{
|
|
80625
80686
|
"handleValueChange": 0
|
|
80626
80687
|
}]
|
|
@@ -80915,7 +80976,7 @@ const XvDropdown = class {
|
|
|
80915
80976
|
/* endregion Search methods */
|
|
80916
80977
|
render() {
|
|
80917
80978
|
const message = resolveFieldMessage({ error: this.error, warning: this.warning, helper: this.helper });
|
|
80918
|
-
return (h(Host, { key: '
|
|
80979
|
+
return (h(Host, { key: '01b71caf620b27aa3cf098ab9449196c1b7b56ea', class: { 'xv-dropdown': true, [this.variant]: !!this.variant }, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": this.open ? this.listboxId : null, size: this.size, open: this.open, error: !!this.error, disabled: this.disabled, tabindex: (this.disabled || this.readonly) ? -1 : 0 }, (this.label || this.info) && (h("label", { key: 'd99f47f2abbbe370efde3a702b5d1c61b11aa4ca', class: "label" }, h("slot", { key: '2ca43ab5d65eb331d6ffd2ca10c251bcd6f6c3d0', name: "label" }, this.label), this.info && h("xv-tooltip-v2", { key: '7d55fa244097898202318adc3b03b898cb4b3f11', class: "label_info", message: this.info }))), h("div", { key: 'c854210410d358b440559702c4efab8b9ac894b8', class: { "xv-dropdown-control control": true, readonly: !!this.readonly }, onClick: this.handleOpen }, (this.multiple && this.selectedMap.size > 0) && (h("xv-tag-v2", { key: '4d46c14e2aab62651692a98b6c3d321d7073849c', class: "control_count", onClick: (e) => e.stopPropagation(), onCloseClick: this.clearHandle, closeable: !this.required, bg: "var(--background-inverse)", color: "var(--icon-inverse)" }, this.selectedMap.size)), this.selected.length ? (h("p", { class: "control_value" }, this.selected.join(', '))) : (h("p", { class: "control_placeholder" }, this.placeholder || '')), this._renderIcon(), h("svg", { key: 'e3bf3f8eb0b3e71038423e8eb2e14d78dc4ca33a', class: "control_arrow", focusable: "false", preserveAspectRatio: "xMidYMid meet", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", "aria-hidden": "true", width: "16", height: "16", viewBox: "0 0 448 512" }, h("path", { key: '48f1408c0ebaa4c3b0c947dd4d9fdb2ab21a11c9', d: "M441.9 167.3l-19.8-19.8c-4.7-4.7-12.3-4.7-17 0L224 328.2 42.9 147.5c-4.7-4.7-12.3-4.7-17 0L6.1 167.3c-4.7 4.7-4.7 12.3 0 17l209.4 209.4c4.7 4.7 12.3 4.7 17 0l209.4-209.4c4.7-4.7 4.7-12.3 0-17z" }))), this.open && h("div", { key: '8915c7c514f6847a0d479c3ad1d39e00dbef46c2', ref: (el) => (this.optionsEl = el), id: this.listboxId, role: "listbox", "aria-multiselectable": this.multiple ? 'true' : null, class: { options: true, right: this._appliedPosition() === 'right', search: !!this.search } }, this.search && (h("div", { key: '2f59d1e41e8cf05038174123bad5b55038be5d75', class: "options_search" }, h("xv-text-input-v2", { key: '8670ba300bb2410d9ba708f4d07ba8f8def0c6c9', type: "search", ref: (el) => (this.searchInputEl = el), block: true, autocomplete: "off", size: this.size, value: this.searchQuery, placeholder: this.searchPlaceholder, onValueChange: this.handleSearchInput }))), h("slot", { key: "xv-dropdown-options" })), message && h("p", { key: 'cade20ffd199293bcdb1ee7fa5c6d20e7294929e', class: "helper" }, message.text)));
|
|
80919
80980
|
}
|
|
80920
80981
|
componentDidLoad() {
|
|
80921
80982
|
this.syncOpenState();
|
|
@@ -81018,7 +81079,7 @@ const XvDropdownItem = class {
|
|
|
81018
81079
|
});
|
|
81019
81080
|
}
|
|
81020
81081
|
render() {
|
|
81021
|
-
return (h(Host, { key: '
|
|
81082
|
+
return (h(Host, { key: 'f099e23dd392e97ec646b24d88758ba47568fe15', class: "xv-dropdown-item", value: this.value, role: "option", tabindex: this.disabled ? -1 : false }, this.multiple && (h("xv-checkbox-v2", { key: '27641c4a60485d70a61b72c8dad725c2c7f9390f', class: "multiple-check", size: this.size, checked: this.selected, disabled: this.disabled })), h("slot", { key: 'eefbe58b06a4c2995e2561e78436f724fee77021' }), (!this.multiple && this.selected) && h("span", { key: '57b640d72e80899786d9d14659cc79a003907ba5', class: "checkmark far fa-check" })));
|
|
81022
81083
|
}
|
|
81023
81084
|
componentWillLoad() {
|
|
81024
81085
|
if (!this.value)
|
|
@@ -81034,7 +81095,7 @@ var XvFileUploaderVariants;
|
|
|
81034
81095
|
XvFileUploaderVariants["DRAG_DROP"] = "drag-drop";
|
|
81035
81096
|
})(XvFileUploaderVariants || (XvFileUploaderVariants = {}));
|
|
81036
81097
|
|
|
81037
|
-
const xvFileUploaderCss = () => `:host{font-family:inherit;display:flex;flex-direction:column;gap:var(--spacing-05);font-size:14px}:host .label{font-weight:600;font-size:1em;color:var(--text-primary)}:host .description{font-size:1em;margin:0;color:var(--text-secondary)}:host .upload-btn{padding:0 1.14em;border-radius:0.285em;background-color:var(--background-inverse);color:var(--text-inverse);border:none;cursor:pointer;font-size:1em;height:2.86em;transition:250ms ease-in-out background-color}:host .upload-btn:hover{background-color:var(--background-inverse-hover)}:host .drop-zone{min-height:90px;border:1px dashed var(--border-strong-01);background-color:transparent;padding:1.14em;border-radius:0.285em;transition:border-color 0.2s ease, background-color 0.2s ease;font-size:1em;cursor:pointer}:host .drop-zone.active{border-color:var(--border-interactive);background-color:var(--background-active)}:host .drop-zone:hover{background-color:var(--background-hover)}:host .file-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}:host .file-list .file{border-radius:3px;background-color:var(--layer-01, #F7F7F7);font-size:1em}:host .file-list .file_container{padding:var(--spacing-04) var(--spacing-05);display:flex;justify-content:space-between;align-items:center}:host .file-list .file_container_name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--text-primary, #333);font-style:normal;font-weight:400;line-height:128.571%;letter-spacing:0.16px;padding-right:var(--spacing-04)}:host .file-list .file_container_errorIcon{color:var(--text-error);margin-right:var(--spacing-03)}:host .file-list .file.withError{outline:2px solid var(--support-error)}:host .error-container{padding:var(--spacing-04) var(--spacing-05);font-size:0.858em;font-style:normal;font-weight:400;color:var(--text-error)}:host .error-container_primary,:host .error-container_secondary{margin:0;padding:0}:host .error-container_secondary{color:var(--text-secondary, #515151);white-space:pre-line}:host .
|
|
81098
|
+
const xvFileUploaderCss = () => `:host{font-family:inherit;display:flex;flex-direction:column;gap:var(--spacing-05);font-size:14px}:host .label{font-weight:600;font-size:1em;color:var(--text-primary)}:host .description{font-size:1em;margin:0;color:var(--text-secondary);white-space:pre-line}:host .upload-btn{padding:0 1.14em;border-radius:0.285em;background-color:var(--background-inverse);color:var(--text-inverse);border:none;cursor:pointer;font-size:1em;height:2.86em;transition:250ms ease-in-out background-color}:host .upload-btn:hover{background-color:var(--background-inverse-hover)}:host .drop-zone{min-height:90px;border:1px dashed var(--border-strong-01);background-color:transparent;color:var(--link-primary, #346800);padding:1.14em;border-radius:0.285em;transition:border-color 0.2s ease, background-color 0.2s ease;font-size:1em;cursor:pointer}:host .drop-zone.active{border-color:var(--border-interactive);background-color:var(--background-active)}:host .drop-zone:hover{background-color:var(--background-hover)}:host .file-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}:host .file-list .file{border-radius:3px;background-color:var(--layer-01, #F7F7F7);font-size:1em}:host .file-list .file_container{padding:var(--spacing-04) var(--spacing-05);display:flex;justify-content:space-between;align-items:center}:host .file-list .file_container_name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--text-primary, #333);font-style:normal;font-weight:400;line-height:128.571%;letter-spacing:0.16px;padding-right:var(--spacing-04)}:host .file-list .file_container_errorIcon{color:var(--text-error);margin-right:var(--spacing-03)}:host .file-list .file.withError{outline:2px solid var(--support-error)}:host .error-container{padding:var(--spacing-04) var(--spacing-05);font-size:0.858em;font-style:normal;font-weight:400;color:var(--text-error)}:host .error-container_primary,:host .error-container_secondary{margin:0;padding:0}:host .error-container_secondary{color:var(--text-secondary, #515151);white-space:pre-line}:host .message{display:flex;align-items:center;gap:var(--spacing-03);text-align:left;margin:0;padding:0 var(--spacing-05);font-size:0.858em;font-style:normal;font-weight:400;color:var(--text-helper, #646464)}:host .message.error{color:var(--text-error)}:host .message.warning{color:var(--text-secondary, #515151)}:host .message .status-icon{display:inline-flex;align-items:center;justify-content:center;flex:none}:host .message .status-icon.error{width:16px;height:16px;border-radius:8px;background-color:var(--support-error);color:white;font-size:12px;font-weight:bold}:host .message .status-icon.warning{color:var(--support-warning, #FF7F04);font-size:1.15em}:host(.disabled){pointer-events:none;opacity:0.6}:host(.disabled) .upload-btn,:host(.disabled) .drop-zone{cursor:not-allowed;background-color:var(--button-disabled-background, #ccc);color:var(--button-disabled-text, #666);border-color:var(--border-disabled, #bbb)}:host(.disabled) .remove-btn{display:none}:host(.error) .uploadBtn{outline:1px solid var(--support-error);border-radius:0.285em}:host(.error) .drop-zone{border-color:var(--support-error)}:host(.warning) .uploadBtn{outline:1px solid var(--support-warning, #FF7F04);border-radius:0.285em}:host(.warning) .drop-zone{border-color:var(--support-warning, #FF7F04)}:host([size=xs]){font-size:10px}:host([size=sm]){font-size:12px}:host([size=md]){font-size:14px}:host([size=lg]){font-size:18px}:host([size=xl]){font-size:22px}`;
|
|
81038
81099
|
|
|
81039
81100
|
const XvFileUploader = class {
|
|
81040
81101
|
constructor(hostRef) {
|
|
@@ -81053,6 +81114,8 @@ const XvFileUploader = class {
|
|
|
81053
81114
|
this.errors = [];
|
|
81054
81115
|
this.dragActive = false;
|
|
81055
81116
|
this.errorMessages = [];
|
|
81117
|
+
// Kept apart from `error` so a consumer-supplied message survives the next pick.
|
|
81118
|
+
this.internalError = null;
|
|
81056
81119
|
this.onFileSelect = (event) => {
|
|
81057
81120
|
const input = event.target;
|
|
81058
81121
|
const selectedFiles = Array.from(input.files || []);
|
|
@@ -81091,10 +81154,10 @@ const XvFileUploader = class {
|
|
|
81091
81154
|
const uniqueFiles = [];
|
|
81092
81155
|
for (const file of files) {
|
|
81093
81156
|
let error = null;
|
|
81094
|
-
if (
|
|
81095
|
-
|
|
81096
|
-
|
|
81097
|
-
|
|
81157
|
+
if (seenFileNames.has(file.name))
|
|
81158
|
+
continue;
|
|
81159
|
+
seenFileNames.add(file.name);
|
|
81160
|
+
uniqueFiles.push(file);
|
|
81098
81161
|
const dotIndex = file.name.lastIndexOf('.');
|
|
81099
81162
|
const extension = file.name.substring(dotIndex).toLowerCase();
|
|
81100
81163
|
const isAccepted = this.accept.length === 0 || this.accept.some(type => type.toLowerCase() === extension);
|
|
@@ -81106,7 +81169,7 @@ const XvFileUploader = class {
|
|
|
81106
81169
|
}
|
|
81107
81170
|
errorMessages.push(error);
|
|
81108
81171
|
}
|
|
81109
|
-
this.
|
|
81172
|
+
this.internalError = uniqueFiles.length > this.maxFiles
|
|
81110
81173
|
? `Only ${this.maxFiles} file(s) allowed.`
|
|
81111
81174
|
: null;
|
|
81112
81175
|
this.errorMessages = errorMessages;
|
|
@@ -81122,7 +81185,15 @@ const XvFileUploader = class {
|
|
|
81122
81185
|
}
|
|
81123
81186
|
}
|
|
81124
81187
|
render() {
|
|
81125
|
-
|
|
81188
|
+
const error = this.error || this.internalError;
|
|
81189
|
+
const message = resolveFieldMessage({ error, warning: this.warning, helper: this.helper });
|
|
81190
|
+
return (h(Host, { key: '04568eba6facb5a18a4b4bc9ae6de9ce0f3e3db7', class: {
|
|
81191
|
+
'upload-wrapper': true,
|
|
81192
|
+
[`uploader-${this.size}`]: true,
|
|
81193
|
+
disabled: !!this.disabled,
|
|
81194
|
+
error: !!error,
|
|
81195
|
+
warning: !!this.warning && !error,
|
|
81196
|
+
} }, this.label && h("label", { key: '5c5861bee814ecacdd43fd92dcb47240869f895b', class: "label" }, this.label), this.description && h("p", { key: 'd4a5de6bb093e02010ba98031dd5eda4c748ec9f', class: "description" }, this.description), this.variant === 'button' ? (h("xv-button-v2", { class: "uploadBtn", variant: this.buttonVariant, disabled: this.disabled, onClick: () => this.fileInput.click() }, this.addText || 'Dateien auswählen')) : (h("div", { class: { 'drop-zone': true, active: this.dragActive }, onDrop: this.onDrop, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onClick: () => this.fileInput.click() }, this.addText || 'Dateien hierher ziehen oder darauf klicken, um eine Datei auszuwählen.')), h("input", { key: '08df6268214165b3b40ae177de230eae800d1a23', ref: el => (this.fileInput = el), type: "file", hidden: true, onChange: this.onFileSelect, multiple: this.multiple, accept: this.accept.join(',') }), message && (h("p", { key: '8f777fdc47a98f8ff9be67fafb8b1da79eabad09', class: { message: true, [message.level]: true } }, message.level === 'error' && h("span", { key: '4c550a739de39651a8326569546162b08555ef63', class: "status-icon error", "aria-hidden": "true" }, "!"), message.level === 'warning' && h("span", { key: 'b8a8229a57c053f94b691d86404313677b1f26ca', class: "status-icon warning", "aria-hidden": "true" }, "\u26A0"), message.text)), h("ul", { key: '6d82ac56ab535618bc958068c06ff987bdab1022', class: "file-list" }, this.files.map((file, index) => {
|
|
81126
81197
|
var _a, _b;
|
|
81127
81198
|
return (h("li", { class: { file: true, withError: !!(((_a = this.errors) === null || _a === void 0 ? void 0 : _a[index]) || ((_b = this.errorMessages) === null || _b === void 0 ? void 0 : _b[index])) } }, h("div", { class: "file_container" }, h("span", { class: "file_container_name" }, file.name), this._renderLoaderState(index)), this._renderError(index)));
|
|
81128
81199
|
}))));
|
|
@@ -81194,7 +81265,7 @@ const Xvfooter = class {
|
|
|
81194
81265
|
render() {
|
|
81195
81266
|
const { categories, socials, logo, legalLinks, payments, partners, advantages } = this.data || {};
|
|
81196
81267
|
const hasDataLength = ((categories === null || categories === void 0 ? void 0 : categories.length) || (partners === null || partners === void 0 ? void 0 : partners.length) || (payments === null || payments === void 0 ? void 0 : payments.length) || (socials === null || socials === void 0 ? void 0 : socials.length));
|
|
81197
|
-
return (h("footer", { key: '
|
|
81268
|
+
return (h("footer", { key: '726a05b831d337bdef052ca16b478a85ef5dfd9b', class: "xv-footer" }, (advantages === null || advantages === void 0 ? void 0 : advantages.length) > 0 && (h("div", { key: '22a41f8bd514f4b61bc62df31ddcabc5de7b7bc6', class: "xv-footer-advantages" }, h("div", { key: '5e4035e086ad3bd7987ff802736096c4364f8530', class: "xv-container" }, this._renderFooterList(advantages, { itemWithLabel: true })))), hasDataLength && (h("div", { key: '003822874e51506b991f76e92c4f5d8c96073f99', class: "xv-container" }, h("div", { key: '4e09e7f929eff1a781d6d64120915ca4d30f5d86', class: "xv-footer__grid xv-footer-y-spacing" }, h("div", { key: 'ebd4fd1e5e72fd08f9c49c10bf0e760fb644864f', class: "xv-footer__col-main" }, h("ul", { key: 'bdfa7fc3986ea83b3b3514ae61e0c463f1070f3c', class: "xv-footer-categories" }, categories === null || categories === void 0 ? void 0 : categories.map((category) => (h("li", null, h("p", { class: "xv-label-02" }, category.label), h("ul", { class: "xv-footer-routes" }, category.routes.map((item) => (h("li", null, h("a", { class: "xv-body-compact-02", href: item.href, target: item.target }, item.label)))))))))), h("div", { key: 'f912a89f9b8132ae932a12ab3ff844e4781ecd48', class: "xv-footer__col-sidebar" }, this._renderFooterList(partners, { label: 'crossvertise Partner' }), this._renderFooterList(payments, { label: 'Bequem und sicher bezahlen' }), this._renderFooterList(socials, { label: 'Folgen Sie uns', isRow: true }))))), (legalLinks === null || legalLinks === void 0 ? void 0 : legalLinks.length) > 0 && (h("div", { key: '0ab1803fd376c5f10be8b0e664d81dd8158577de', class: "xv-footer-legal" }, h("div", { key: 'b755d56da4c5ce178a1b3b0e1883e3444144b54b', class: "xv-container" }, h("div", { key: '356cc0b19cccf1e69b5531ff580a6c63274c0783', class: "xv-footer-legal-row" }, logo && (h("a", { key: '325a93b944d086c42565bdf6b973301f25fbd778', class: "xv-footer-logo", href: logo.href, target: logo.target }, logo.label && h("span", { key: '6292ac8dc8630818902d96da3b275e1e3f763281', class: "xv-label-02" }, logo.label), h("img", { key: '847e90de5ebb14fdf255c7c37ad1f90c99424f02', loading: "lazy", src: logo.image, alt: logo.label }))), h("ul", { key: 'd692fb126d2e382fe142fd3b033f794fc38f66fd' }, legalLinks.map((item) => {
|
|
81198
81269
|
if (item.label === 'Cookie Einstellungen') {
|
|
81199
81270
|
return h("li", null, h("a", { class: "xv-helper-text-02", onClick: this.openCookieSettings }, item.label));
|
|
81200
81271
|
}
|
|
@@ -81210,6 +81281,561 @@ const Xvfooter = class {
|
|
|
81210
81281
|
};
|
|
81211
81282
|
Xvfooter.style = xvFooterCss();
|
|
81212
81283
|
|
|
81284
|
+
const xvGeoMapCss = () => `.maplibregl-map{font:12px/20px Helvetica Neue, Arial, Helvetica, sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{position:absolute;left:0;top:0}.maplibregl-map:fullscreen{width:100%;height:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{position:absolute;pointer-events:none;z-index:2}.maplibregl-ctrl-top-left{top:0;left:0}.maplibregl-ctrl-top-right{top:0;right:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{right:0;bottom:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{margin:10px 0 0 10px;float:left}.maplibregl-ctrl-top-right .maplibregl-ctrl{margin:10px 10px 0 0;float:right}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{margin:0 0 10px 10px;float:left}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{margin:0 10px 10px 0;float:right}.maplibregl-ctrl-group{border-radius:4px;background:#fff}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}@media (forced-colors: active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{width:29px;height:29px;display:block;padding:0;outline:none;border:0;box-sizing:border-box;background-color:transparent;cursor:pointer}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50%}@media (forced-colors: active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:0.25}@media (hover: hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0, 0, 0, 0.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0, 0, 0, 0.05)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors: active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors: active) and (prefers-color-scheme: light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors: active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors: active) and (prefers-color-scheme: light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors: active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors: active) and (prefers-color-scheme: light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0 9c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0-4c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0 9c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0-4c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors: active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors: active) and (prefers-color-scheme: light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{width:88px;height:23px;margin:0 0 -4px -4px;display:block;background-repeat:no-repeat;cursor:pointer;overflow:hidden;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors: active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors: active) and (prefers-color-scheme: light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{padding:0 5px;background-color:hsla(0, 0%, 100%, 0.5);margin:0}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{min-height:20px;padding:2px 24px 2px 0;margin:10px;position:relative;background-color:#fff;color:#000;border-radius:12px;box-sizing:content-box}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 8px 2px 28px;border-radius:12px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");background-color:hsla(0, 0%, 100%, 0.5);width:24px;height:24px;box-sizing:border-box;border-radius:12px;outline:none;top:0;right:0;border:0}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0, 0, 0, 0.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;right:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;left:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors: active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors: active) and (prefers-color-scheme: light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0, 0, 0, 0.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0, 0%, 100%, 0.75);font-size:10px;white-space:nowrap;border:2px solid #333;border-top:#333;padding:0 5px;color:#333;box-sizing:border-box}.maplibregl-popup{position:absolute;top:0;left:0;display:flex;will-change:transform;pointer-events:none}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{width:0;height:0;border:10px solid transparent;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-top:none;border-bottom-color:#fff}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-top:none;border-left:none;border-bottom-color:#fff}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-top:none;border-right:none;border-bottom-color:#fff}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-right:none;border-left-color:#fff}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.maplibregl-popup-close-button{position:absolute;right:0;top:0;border:0;border-radius:0 3px 0 0;cursor:pointer;background-color:transparent}.maplibregl-popup-close-button:hover{background-color:rgba(0, 0, 0, 0.05)}.maplibregl-popup-content{position:relative;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.1);padding:15px 10px;pointer-events:auto}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{position:absolute;top:0;left:0;will-change:transform;transition:opacity 0.2s}.maplibregl-marker-draggable{cursor:grab}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;width:15px;height:15px;border-radius:50%}.maplibregl-user-location-dot:before{content:"";position:absolute;animation:maplibregl-user-location-dot-pulse 2s infinite}.maplibregl-user-location-dot:after{border-radius:50%;border:2px solid #fff;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px;box-sizing:border-box;box-shadow:0 0 3px rgba(0, 0, 0, 0.35)}@media (prefers-reduced-motion: reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:0}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;width:1px;height:1px;border-radius:100%}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{position:absolute;top:0;left:0;width:0;height:0;background:#fff;border:2px dotted #202020;opacity:0.5}.maplibregl-cooperative-gesture-screen{background:rgba(0, 0, 0, 0.4);position:absolute;inset:0;display:flex;justify-content:center;align-items:center;color:#fff;padding:1rem;font-size:1.4em;line-height:1.2;opacity:0;pointer-events:none;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity 0.05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover: none), (pointer: coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{position:fixed !important;width:100% !important;height:100% !important;top:0 !important;left:0 !important;z-index:99999}:host{display:block;--xv-geo-map-height:480px}.container{position:relative;height:var(--xv-geo-map-height);border:1px solid var(--border-subtle-01);border-radius:var(--spacing-02);overflow:hidden;background:var(--layer-layer-01, #fff)}.map{height:100%}.hint{position:absolute;top:var(--spacing-04);left:50%;transform:translateX(-50%);padding:var(--spacing-02) var(--spacing-04);border-radius:var(--spacing-05);background:rgba(0, 0, 0, 0.72);color:#fff;font-family:var(--ff-body);font-size:var(--fz-sm);pointer-events:none}.xv-geo-map-tooltip .maplibregl-popup-content{font-family:var(--ff-body);font-size:var(--fz-sm);color:var(--text-primary);background:var(--layer-layer-01, #fff);border:1px solid var(--border-subtle-01);border-radius:var(--spacing-02);padding:var(--spacing-03) var(--spacing-04);box-shadow:0 2px 8px rgba(0, 0, 0, 0.12);pointer-events:none}.xv-geo-map-tooltip .maplibregl-popup-content em{color:var(--text-secondary);font-style:normal;font-size:var(--fz-xs)}.xv-geo-map-tooltip{pointer-events:none}.skeleton{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--layer-layer-01, #fff);color:var(--text-secondary);font-family:var(--ff-body);font-size:var(--fz-md)}.skeleton.error{color:var(--text-error)}.search{position:absolute;top:10px;left:10px;width:240px;font-family:var(--ff-body);font-size:var(--fz-sm, 13px)}.search input{width:100%;padding:8px 10px;border:1px solid var(--border-subtle-01, #d0d0d0);border-radius:6px;background:var(--layer-layer-01, #fff);box-shadow:0 1px 4px rgba(0, 0, 0, 0.12);font:inherit;outline:none}.search input:focus{border-color:var(--interactive-02, #76b82a)}.search-results{margin:4px 0 0;padding:0;list-style:none;background:var(--layer-layer-01, #fff);border:1px solid var(--border-subtle-01, #d0d0d0);border-radius:6px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.15);max-height:220px;overflow-y:auto}.search-results li{padding:7px 10px;cursor:pointer}.search-results li:hover{background:var(--highlight-01, #f2f8e9)}`;
|
|
81285
|
+
|
|
81286
|
+
// Xv.Api wraps responses in { data: ... } (ResponseEnvelopeFilter); the XvGeoTool API returns raw payloads.
|
|
81287
|
+
const unwrap = (json) => (json != null && !Array.isArray(json) && 'data' in json ? json.data : json);
|
|
81288
|
+
// Germany bounding box (with a small margin) — the map cannot be panned outside
|
|
81289
|
+
const GERMANY_BOUNDS = [[4.5, 46.4], [16.5, 55.6]];
|
|
81290
|
+
// amber: distinct from the green selection AND from CARTO's road/water tones
|
|
81291
|
+
const PREVIEW_COLOR = '#f59e0b';
|
|
81292
|
+
const XvGeoMap = class {
|
|
81293
|
+
constructor(hostRef) {
|
|
81294
|
+
registerInstance(this, hostRef);
|
|
81295
|
+
this.changeSelection = createEvent(this, "changeSelection", 7);
|
|
81296
|
+
this.mapReady = createEvent(this, "mapReady", 7);
|
|
81297
|
+
/**
|
|
81298
|
+
* Base URL of the geo API (Xv.Api v1/geo — contract-compatible with the XvGeoTool API).
|
|
81299
|
+
* Default is the same-origin Front Door route, so no CORS is involved on crossvertise pages.
|
|
81300
|
+
*/
|
|
81301
|
+
this.apiBase = '/api-fd/v1/geo';
|
|
81302
|
+
/** Indicator whose per-unit values feed the tooltips and the emitted population sum (e.g. ATV_DEVICES) */
|
|
81303
|
+
this.indicator = 'MBI_P_T_2025';
|
|
81304
|
+
/** Unit label shown behind the indicator value in the tooltip */
|
|
81305
|
+
this.indicatorLabel = 'Einwohner';
|
|
81306
|
+
/** Geo level to display and select: plz5, gemeinde, kreis, regbez, bundesland */
|
|
81307
|
+
this.level = 'plz5';
|
|
81308
|
+
/** Shape resolution: medium = simplified geometry (snappy), high = originals */
|
|
81309
|
+
this.resolution = 'medium';
|
|
81310
|
+
/**
|
|
81311
|
+
* MapLibre style URL for the vector basemap. Default: OpenFreeMap Positron — the same
|
|
81312
|
+
* pale data-overlay look as the previous CARTO light, free for commercial use, no API
|
|
81313
|
+
* key (openfreemap.org). Set to an empty string to fall back to the raster `tiles` path.
|
|
81314
|
+
*/
|
|
81315
|
+
this.styleUrl = 'https://tiles.openfreemap.org/styles/positron';
|
|
81316
|
+
/**
|
|
81317
|
+
* Label language for the vector basemap (OpenMapTiles `name:{lang}` attribute, falling
|
|
81318
|
+
* back to the place's local name). Empty string keeps the style's own labels.
|
|
81319
|
+
*/
|
|
81320
|
+
this.language = 'de';
|
|
81321
|
+
/**
|
|
81322
|
+
* Raster tile URL template, used only when `style-url` is empty. The former CARTO
|
|
81323
|
+
* default now watermarks keyless traffic ("API KEY REQUIRED"), so this path needs a
|
|
81324
|
+
* keyed/licensed tile URL.
|
|
81325
|
+
*/
|
|
81326
|
+
this.tiles = 'https://basemaps.cartocdn.com/rastertiles/light_all/{z}/{x}/{y}@2x.png';
|
|
81327
|
+
this.attribution = '© CARTO, © OpenStreetMap contributors';
|
|
81328
|
+
/** Initial map center */
|
|
81329
|
+
this.centerLng = 10.45;
|
|
81330
|
+
this.centerLat = 51.16;
|
|
81331
|
+
this.zoom = 5.5;
|
|
81332
|
+
/** Minimum zoom before boundaries are loaded and selectable (use ~5 for bundesland, 9 for plz5) */
|
|
81333
|
+
this.selectZoom = 9;
|
|
81334
|
+
/** Load the map bundle only when scrolled near the viewport (default: true) */
|
|
81335
|
+
this.lazy = true;
|
|
81336
|
+
this.ready = false;
|
|
81337
|
+
this.loadError = false;
|
|
81338
|
+
this.zoomGated = true;
|
|
81339
|
+
this.searchResults = [];
|
|
81340
|
+
this.searchQuery = '';
|
|
81341
|
+
this.searchSeq = 0;
|
|
81342
|
+
this.initStarted = false;
|
|
81343
|
+
this.readyPromise = new Promise(res => (this.resolveReady = res));
|
|
81344
|
+
this.units = new Map(); // code -> unit, accumulated across viewports
|
|
81345
|
+
this.selected = new Map(); // code -> unit
|
|
81346
|
+
this.preview = new Map(); // optimizer proposal (visual only)
|
|
81347
|
+
this.populations = new Map(); // code -> indicator value (for tooltips + local sums)
|
|
81348
|
+
this.fetchedBoxes = []; // areas already loaded
|
|
81349
|
+
this.fetchSeq = 0;
|
|
81350
|
+
this.popSeq = 0;
|
|
81351
|
+
}
|
|
81352
|
+
/** switching the level (e.g. PLZ mode -> Bundesländer mode) resets all loaded data and the selection */
|
|
81353
|
+
levelChanged() {
|
|
81354
|
+
if (!this.map)
|
|
81355
|
+
return;
|
|
81356
|
+
this.units.clear();
|
|
81357
|
+
this.selected.clear();
|
|
81358
|
+
this.populations.clear();
|
|
81359
|
+
this.fetchedBoxes = [];
|
|
81360
|
+
this.fetchSeq++;
|
|
81361
|
+
this.renderUnits();
|
|
81362
|
+
this.updateSelectedFilter();
|
|
81363
|
+
this.emitSelection();
|
|
81364
|
+
// follow the mode with the camera: out to the overview for coarse levels,
|
|
81365
|
+
// in to selectable zoom for fine ones. Deferred so a select-zoom attribute
|
|
81366
|
+
// changing in the same render is already applied.
|
|
81367
|
+
setTimeout(() => {
|
|
81368
|
+
var _a;
|
|
81369
|
+
(_a = this.map) === null || _a === void 0 ? void 0 : _a.easeTo({ zoom: this.selectZoom + 0.5, duration: 800 });
|
|
81370
|
+
this.refreshUnits();
|
|
81371
|
+
}, 0);
|
|
81372
|
+
}
|
|
81373
|
+
selectZoomChanged() {
|
|
81374
|
+
if (!this.map)
|
|
81375
|
+
return;
|
|
81376
|
+
['units-fill', 'units-hover', 'units-line'].forEach(l => this.map.setLayerZoomRange(l, this.selectZoom, 24));
|
|
81377
|
+
this.refreshUnits();
|
|
81378
|
+
}
|
|
81379
|
+
componentDidLoad() {
|
|
81380
|
+
if (!this.lazy || !('IntersectionObserver' in window)) {
|
|
81381
|
+
this.initMap();
|
|
81382
|
+
return;
|
|
81383
|
+
}
|
|
81384
|
+
this.observer = new IntersectionObserver(entries => {
|
|
81385
|
+
var _a;
|
|
81386
|
+
if (entries.some(e => e.isIntersecting)) {
|
|
81387
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
81388
|
+
this.initMap();
|
|
81389
|
+
}
|
|
81390
|
+
}, { rootMargin: '300px' });
|
|
81391
|
+
this.observer.observe(this.el);
|
|
81392
|
+
}
|
|
81393
|
+
disconnectedCallback() {
|
|
81394
|
+
var _a, _b;
|
|
81395
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
81396
|
+
(_b = this.map) === null || _b === void 0 ? void 0 : _b.remove();
|
|
81397
|
+
}
|
|
81398
|
+
async initMap() {
|
|
81399
|
+
if (this.initStarted)
|
|
81400
|
+
return;
|
|
81401
|
+
this.initStarted = true;
|
|
81402
|
+
try {
|
|
81403
|
+
const maplibregl = await import('./maplibre-gl-CS4Eagm9.js');
|
|
81404
|
+
if (this.workerUrl) {
|
|
81405
|
+
maplibregl.setWorkerUrl(new URL(this.workerUrl, document.baseURI).href);
|
|
81406
|
+
}
|
|
81407
|
+
const map = new maplibregl.Map({
|
|
81408
|
+
container: this.mapContainer,
|
|
81409
|
+
style: this.styleUrl || {
|
|
81410
|
+
version: 8,
|
|
81411
|
+
sources: {
|
|
81412
|
+
basemap: {
|
|
81413
|
+
type: 'raster',
|
|
81414
|
+
tiles: [this.tiles],
|
|
81415
|
+
tileSize: 256,
|
|
81416
|
+
attribution: this.attribution,
|
|
81417
|
+
},
|
|
81418
|
+
},
|
|
81419
|
+
layers: [{ id: 'basemap', type: 'raster', source: 'basemap' }],
|
|
81420
|
+
},
|
|
81421
|
+
center: [this.centerLng, this.centerLat],
|
|
81422
|
+
zoom: this.zoom,
|
|
81423
|
+
minZoom: 5,
|
|
81424
|
+
maxBounds: GERMANY_BOUNDS,
|
|
81425
|
+
attributionControl: { compact: true },
|
|
81426
|
+
});
|
|
81427
|
+
this.map = map;
|
|
81428
|
+
this.el._map = map; // e2e/test handle
|
|
81429
|
+
map.addControl(new maplibregl.NavigationControl({ showCompass: false }));
|
|
81430
|
+
map.on('load', () => {
|
|
81431
|
+
// The hosted style labels in international/English names ("Rhineland Palatinate"),
|
|
81432
|
+
// mixed with local ones. The tile data carries per-language names, so rewrite every
|
|
81433
|
+
// name-based label layer to prefer the configured language over the style default.
|
|
81434
|
+
if (this.styleUrl && this.language) {
|
|
81435
|
+
for (const layer of map.getStyle().layers) {
|
|
81436
|
+
if (layer.type !== 'symbol')
|
|
81437
|
+
continue;
|
|
81438
|
+
const textField = map.getLayoutProperty(layer.id, 'text-field');
|
|
81439
|
+
if (textField && JSON.stringify(textField).includes('name')) {
|
|
81440
|
+
map.setLayoutProperty(layer.id, 'text-field', [
|
|
81441
|
+
'coalesce',
|
|
81442
|
+
['get', `name:${this.language}`],
|
|
81443
|
+
['get', 'name'],
|
|
81444
|
+
]);
|
|
81445
|
+
}
|
|
81446
|
+
}
|
|
81447
|
+
}
|
|
81448
|
+
// Design tokens (Masha, MAR-15783): selection = highlight-01 fill / interactive-02
|
|
81449
|
+
// outline; optimizer preview = highlight-02 fill / interactive-01 outline. Fallbacks
|
|
81450
|
+
// keep the previous XV green/amber where the host page lacks the tokens.
|
|
81451
|
+
const style = getComputedStyle(this.el);
|
|
81452
|
+
const token = (name, fallback) => style.getPropertyValue(name).trim() || fallback;
|
|
81453
|
+
const accent = token('--link-primary', '#76b82a');
|
|
81454
|
+
const selectionFill = token('--highlight-01', accent);
|
|
81455
|
+
const selectionLine = token('--interactive-02', accent);
|
|
81456
|
+
const previewFill = token('--highlight-02', PREVIEW_COLOR);
|
|
81457
|
+
const previewLine = token('--interactive-01', PREVIEW_COLOR);
|
|
81458
|
+
// the highlight tokens are pale full-strength tints — at the legacy 0.3 opacity they
|
|
81459
|
+
// vanish over the basemap; the saturated fallbacks still need the low opacity
|
|
81460
|
+
const hasTokens = !!style.getPropertyValue('--highlight-01').trim();
|
|
81461
|
+
const selectedOpacity = hasTokens ? 0.85 : 0.35;
|
|
81462
|
+
const previewOpacity = hasTokens ? 0.85 : 0.3;
|
|
81463
|
+
map.addSource('units', { type: 'geojson', data: { type: 'FeatureCollection', features: [] } });
|
|
81464
|
+
// boundary mesh only appears at selectable zoom (cleaner overview);
|
|
81465
|
+
// the selected areas stay visible at every zoom level
|
|
81466
|
+
map.addLayer({
|
|
81467
|
+
id: 'units-fill',
|
|
81468
|
+
type: 'fill',
|
|
81469
|
+
source: 'units',
|
|
81470
|
+
minzoom: this.selectZoom,
|
|
81471
|
+
paint: { 'fill-color': selectionFill, 'fill-opacity': 0.04 },
|
|
81472
|
+
});
|
|
81473
|
+
map.addLayer({
|
|
81474
|
+
id: 'units-selected',
|
|
81475
|
+
type: 'fill',
|
|
81476
|
+
source: 'units',
|
|
81477
|
+
filter: ['in', ['get', 'code'], ['literal', []]],
|
|
81478
|
+
paint: { 'fill-color': selectionFill, 'fill-opacity': selectedOpacity },
|
|
81479
|
+
});
|
|
81480
|
+
// optimizer preview: units a proposal would ADD, in their own tokens so they read
|
|
81481
|
+
// as "suggested" next to the actual selection; visual only, never selected
|
|
81482
|
+
map.addLayer({
|
|
81483
|
+
id: 'units-preview',
|
|
81484
|
+
type: 'fill',
|
|
81485
|
+
source: 'units',
|
|
81486
|
+
filter: ['in', ['get', 'code'], ['literal', []]],
|
|
81487
|
+
paint: { 'fill-color': previewFill, 'fill-opacity': previewOpacity },
|
|
81488
|
+
});
|
|
81489
|
+
map.addLayer({
|
|
81490
|
+
id: 'units-preview-line',
|
|
81491
|
+
type: 'line',
|
|
81492
|
+
source: 'units',
|
|
81493
|
+
filter: ['in', ['get', 'code'], ['literal', []]],
|
|
81494
|
+
paint: { 'line-color': previewLine, 'line-width': 2 },
|
|
81495
|
+
});
|
|
81496
|
+
map.addLayer({
|
|
81497
|
+
id: 'units-hover',
|
|
81498
|
+
type: 'fill',
|
|
81499
|
+
source: 'units',
|
|
81500
|
+
minzoom: this.selectZoom,
|
|
81501
|
+
filter: ['==', ['get', 'code'], ''],
|
|
81502
|
+
paint: { 'fill-color': selectionFill, 'fill-opacity': 0.15 },
|
|
81503
|
+
});
|
|
81504
|
+
map.addLayer({
|
|
81505
|
+
id: 'units-line',
|
|
81506
|
+
type: 'line',
|
|
81507
|
+
source: 'units',
|
|
81508
|
+
minzoom: this.selectZoom,
|
|
81509
|
+
paint: { 'line-color': selectionLine, 'line-width': 2, 'line-dasharray': [2, 1.5] },
|
|
81510
|
+
});
|
|
81511
|
+
this.popup = new maplibregl.Popup({
|
|
81512
|
+
closeButton: false,
|
|
81513
|
+
closeOnClick: false,
|
|
81514
|
+
offset: 12,
|
|
81515
|
+
maxWidth: 'none',
|
|
81516
|
+
className: 'xv-geo-map-tooltip',
|
|
81517
|
+
});
|
|
81518
|
+
// instant toggle; a double click fires click twice (select + deselect = net zero)
|
|
81519
|
+
// and then zooms, so no debounce delay is needed
|
|
81520
|
+
map.on('click', 'units-fill', e => { var _a, _b, _c; return this.toggleUnit((_c = (_b = (_a = e.features) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.properties) === null || _c === void 0 ? void 0 : _c.code); });
|
|
81521
|
+
// below the selectable zoom nothing is clickable — make a click dive to the
|
|
81522
|
+
// clicked area at select level instead of doing nothing
|
|
81523
|
+
map.on('click', e => {
|
|
81524
|
+
if (map.getZoom() < this.selectZoom) {
|
|
81525
|
+
map.easeTo({ center: e.lngLat, zoom: this.selectZoom + 0.5, duration: 700 });
|
|
81526
|
+
}
|
|
81527
|
+
});
|
|
81528
|
+
map.on('mousemove', 'units-fill', e => {
|
|
81529
|
+
var _a, _b;
|
|
81530
|
+
const props = (_b = (_a = e.features) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.properties;
|
|
81531
|
+
if (!props)
|
|
81532
|
+
return;
|
|
81533
|
+
map.getCanvas().style.cursor = 'pointer';
|
|
81534
|
+
map.setFilter('units-hover', ['==', ['get', 'code'], props.code]);
|
|
81535
|
+
const pop = this.populations.get(props.code);
|
|
81536
|
+
const selected = this.selected.has(props.code);
|
|
81537
|
+
this.popup
|
|
81538
|
+
.setLngLat(e.lngLat)
|
|
81539
|
+
.setHTML(`<strong>${props.code}</strong> ${props.name}` +
|
|
81540
|
+
(pop != null ? `<br>${pop.toLocaleString('de-DE')} ${this.indicatorLabel}` : '') +
|
|
81541
|
+
(selected ? '<br><em>Klicken zum Abwählen</em>' : '<br><em>Klicken zum Auswählen</em>'))
|
|
81542
|
+
.addTo(map);
|
|
81543
|
+
});
|
|
81544
|
+
map.on('mouseleave', 'units-fill', () => {
|
|
81545
|
+
map.getCanvas().style.cursor = '';
|
|
81546
|
+
map.setFilter('units-hover', ['==', ['get', 'code'], '']);
|
|
81547
|
+
this.popup.remove();
|
|
81548
|
+
});
|
|
81549
|
+
map.on('moveend', () => this.refreshUnits());
|
|
81550
|
+
this.ready = true;
|
|
81551
|
+
this.mapReady.emit();
|
|
81552
|
+
this.resolveReady();
|
|
81553
|
+
this.refreshUnits();
|
|
81554
|
+
});
|
|
81555
|
+
map.on('error', () => {
|
|
81556
|
+
if (!this.ready)
|
|
81557
|
+
this.loadError = true;
|
|
81558
|
+
});
|
|
81559
|
+
}
|
|
81560
|
+
catch (_a) {
|
|
81561
|
+
this.loadError = true;
|
|
81562
|
+
}
|
|
81563
|
+
}
|
|
81564
|
+
async refreshUnits() {
|
|
81565
|
+
if (!this.map)
|
|
81566
|
+
return;
|
|
81567
|
+
this.zoomGated = this.map.getZoom() < this.selectZoom;
|
|
81568
|
+
if (this.zoomGated)
|
|
81569
|
+
return;
|
|
81570
|
+
const b = this.map.getBounds();
|
|
81571
|
+
// skip the fetch entirely when the viewport is inside an already-loaded area
|
|
81572
|
+
if (this.fetchedBoxes.some(f => b.getNorth() <= f.n && b.getSouth() >= f.s && b.getEast() <= f.e && b.getWest() >= f.w)) {
|
|
81573
|
+
return;
|
|
81574
|
+
}
|
|
81575
|
+
// fetch with a half-viewport margin so small pans stay within the loaded area
|
|
81576
|
+
const mLat = (b.getNorth() - b.getSouth()) / 2;
|
|
81577
|
+
const mLng = (b.getEast() - b.getWest()) / 2;
|
|
81578
|
+
const box = { n: b.getNorth() + mLat, s: b.getSouth() - mLat, e: b.getEast() + mLng, w: b.getWest() - mLng };
|
|
81579
|
+
const seq = ++this.fetchSeq;
|
|
81580
|
+
try {
|
|
81581
|
+
const res = await fetch(`${this.apiBase}/geo-units/${encodeURIComponent(this.level)}/by-bounds?resolution=${this.resolution}`, {
|
|
81582
|
+
method: 'POST',
|
|
81583
|
+
headers: { 'Content-Type': 'application/json' },
|
|
81584
|
+
body: JSON.stringify({ north: box.n, south: box.s, east: box.e, west: box.w }),
|
|
81585
|
+
});
|
|
81586
|
+
if (!res.ok || seq !== this.fetchSeq)
|
|
81587
|
+
return;
|
|
81588
|
+
const list = unwrap(await res.json());
|
|
81589
|
+
this.fetchedBoxes.push(box);
|
|
81590
|
+
list.forEach(u => this.units.set(u.code, u));
|
|
81591
|
+
this.renderUnits();
|
|
81592
|
+
this.loadPopulations(list.filter(u => !this.populations.has(u.code)));
|
|
81593
|
+
}
|
|
81594
|
+
catch (_a) {
|
|
81595
|
+
/* viewport fetch failed (offline/CORS) — map stays usable, next moveend retries */
|
|
81596
|
+
}
|
|
81597
|
+
}
|
|
81598
|
+
/** fetch the configured indicator per unit for hover tooltips (fire-and-forget) */
|
|
81599
|
+
async loadPopulations(units) {
|
|
81600
|
+
if (!units.length)
|
|
81601
|
+
return;
|
|
81602
|
+
try {
|
|
81603
|
+
const res = await fetch(`${this.apiBase}/indicators/values`, {
|
|
81604
|
+
method: 'POST',
|
|
81605
|
+
headers: { 'Content-Type': 'application/json' },
|
|
81606
|
+
body: JSON.stringify({ geoUnitIds: units.map(u => u.id), indicatorCodes: [this.indicator] }),
|
|
81607
|
+
});
|
|
81608
|
+
if (!res.ok)
|
|
81609
|
+
return;
|
|
81610
|
+
const idToCode = new Map(units.map(u => [u.id, u.code]));
|
|
81611
|
+
for (const v of unwrap(await res.json())) {
|
|
81612
|
+
const code = idToCode.get(v.geoUnitId);
|
|
81613
|
+
if (code)
|
|
81614
|
+
this.populations.set(code, v.value);
|
|
81615
|
+
}
|
|
81616
|
+
}
|
|
81617
|
+
catch (_a) {
|
|
81618
|
+
/* tooltips just omit population */
|
|
81619
|
+
}
|
|
81620
|
+
}
|
|
81621
|
+
renderUnits() {
|
|
81622
|
+
// render everything loaded so far — panning back never flickers or re-parses
|
|
81623
|
+
const source = this.map.getSource('units');
|
|
81624
|
+
source === null || source === void 0 ? void 0 : source.setData({
|
|
81625
|
+
type: 'FeatureCollection',
|
|
81626
|
+
features: [...this.units.values()].map(u => ({
|
|
81627
|
+
type: 'Feature',
|
|
81628
|
+
properties: { code: u.code, name: u.name },
|
|
81629
|
+
geometry: u.geography,
|
|
81630
|
+
})),
|
|
81631
|
+
});
|
|
81632
|
+
}
|
|
81633
|
+
toggleUnit(code) {
|
|
81634
|
+
if (!code)
|
|
81635
|
+
return;
|
|
81636
|
+
if (this.selected.has(code))
|
|
81637
|
+
this.selected.delete(code);
|
|
81638
|
+
else
|
|
81639
|
+
this.selected.set(code, this.units.get(code));
|
|
81640
|
+
this.resetPreview(); // user interaction makes a shown proposal stale
|
|
81641
|
+
this.updateSelectedFilter();
|
|
81642
|
+
this.emitSelection();
|
|
81643
|
+
}
|
|
81644
|
+
updateSelectedFilter() {
|
|
81645
|
+
this.map.setFilter('units-selected', ['in', ['get', 'code'], ['literal', [...this.selected.keys()]]]);
|
|
81646
|
+
}
|
|
81647
|
+
resetPreview() {
|
|
81648
|
+
if (!this.preview.size)
|
|
81649
|
+
return;
|
|
81650
|
+
this.preview.clear();
|
|
81651
|
+
this.updatePreviewFilter();
|
|
81652
|
+
}
|
|
81653
|
+
updatePreviewFilter() {
|
|
81654
|
+
const codes = ['in', ['get', 'code'], ['literal', [...this.preview.keys()]]];
|
|
81655
|
+
this.map.setFilter('units-preview', codes);
|
|
81656
|
+
this.map.setFilter('units-preview-line', codes);
|
|
81657
|
+
}
|
|
81658
|
+
async emitSelection() {
|
|
81659
|
+
var _a, _b, _c;
|
|
81660
|
+
const postalCodes = [...this.selected.keys()];
|
|
81661
|
+
const names = [...this.selected.values()].map(u => { var _a; return (_a = u === null || u === void 0 ? void 0 : u.name) !== null && _a !== void 0 ? _a : ''; });
|
|
81662
|
+
const unitIds = [...this.selected.values()].map(u => u.id);
|
|
81663
|
+
const seq = ++this.popSeq;
|
|
81664
|
+
// populations are already cached per PLZ (tooltips) — sum locally, emit instantly
|
|
81665
|
+
if (postalCodes.every(c => this.populations.has(c))) {
|
|
81666
|
+
const population = postalCodes.reduce((sum, c) => sum + this.populations.get(c), 0);
|
|
81667
|
+
const selection = { postalCodes, names, population: postalCodes.length ? population : null, unitIds };
|
|
81668
|
+
this.changeSelection.emit(selection);
|
|
81669
|
+
return selection;
|
|
81670
|
+
}
|
|
81671
|
+
// fallback: some populations not cached yet — aggregate server-side
|
|
81672
|
+
let population = null;
|
|
81673
|
+
try {
|
|
81674
|
+
const res = await fetch(`${this.apiBase}/indicators/aggregate`, {
|
|
81675
|
+
method: 'POST',
|
|
81676
|
+
headers: { 'Content-Type': 'application/json' },
|
|
81677
|
+
body: JSON.stringify({ geoUnitIds: unitIds, indicatorCodes: [this.indicator] }),
|
|
81678
|
+
});
|
|
81679
|
+
if (res.ok)
|
|
81680
|
+
population = (_c = (_b = (_a = unwrap(await res.json())) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.sum) !== null && _c !== void 0 ? _c : null;
|
|
81681
|
+
}
|
|
81682
|
+
catch (_d) {
|
|
81683
|
+
/* population stays null — host can fall back */
|
|
81684
|
+
}
|
|
81685
|
+
if (seq !== this.popSeq)
|
|
81686
|
+
return null; // a newer selection superseded this one
|
|
81687
|
+
const selection = { postalCodes, names, population, unitIds };
|
|
81688
|
+
this.changeSelection.emit(selection);
|
|
81689
|
+
return selection;
|
|
81690
|
+
}
|
|
81691
|
+
// ---- public API for host applications (Angular planner) ----
|
|
81692
|
+
/** Select all PLZs within `km` around a start PLZ ("Umkreis"). Replaces the selection unless `add` is true. */
|
|
81693
|
+
async selectByRadius(startPlz, km, add = false) {
|
|
81694
|
+
await this.ensureReady();
|
|
81695
|
+
const url = `${this.apiBase}/geo-units/${encodeURIComponent(this.level)}/by-radius` +
|
|
81696
|
+
`?address=${encodeURIComponent(startPlz)}&km=${km}&country=DE&resolution=${this.resolution}`;
|
|
81697
|
+
const res = await fetch(url);
|
|
81698
|
+
if (!res.ok)
|
|
81699
|
+
throw new Error(`by-radius failed: HTTP ${res.status}`);
|
|
81700
|
+
return this.applySelection(unwrap(await res.json()), add);
|
|
81701
|
+
}
|
|
81702
|
+
/** Select an explicit list of PLZs ("PLZ-Liste" paste, query-param restore). Replaces the selection unless `add` is true. */
|
|
81703
|
+
async selectPostalCodes(codes, add = false) {
|
|
81704
|
+
await this.ensureReady();
|
|
81705
|
+
// 1–5 digits: PLZ5 and Kreis codes are 5, Bundesland codes are 1–2 (a strict \d{5}
|
|
81706
|
+
// silently dropped state selections restored via this method)
|
|
81707
|
+
const clean = [...new Set(codes.map(c => String(c).trim()).filter(c => /^\d{1,5}$/.test(c)))];
|
|
81708
|
+
if (!clean.length)
|
|
81709
|
+
return this.applySelection([], add);
|
|
81710
|
+
const res = await fetch(`${this.apiBase}/geo-units/${encodeURIComponent(this.level)}/lookup?resolution=${this.resolution}`, {
|
|
81711
|
+
method: 'POST',
|
|
81712
|
+
headers: { 'Content-Type': 'application/json' },
|
|
81713
|
+
body: JSON.stringify({ codes: clean }),
|
|
81714
|
+
});
|
|
81715
|
+
if (!res.ok)
|
|
81716
|
+
throw new Error(`lookup failed: HTTP ${res.status}`);
|
|
81717
|
+
return this.applySelection(unwrap(await res.json()), add);
|
|
81718
|
+
}
|
|
81719
|
+
/** Clear the whole selection. */
|
|
81720
|
+
async clearSelection() {
|
|
81721
|
+
await this.ensureReady();
|
|
81722
|
+
this.selected.clear();
|
|
81723
|
+
this.resetPreview();
|
|
81724
|
+
this.updateSelectedFilter();
|
|
81725
|
+
this.emitSelection();
|
|
81726
|
+
}
|
|
81727
|
+
/**
|
|
81728
|
+
* Highlight what a radius extension would ADD (optimizer proposal): the units within
|
|
81729
|
+
* `km` that are not part of the selection render in the preview color. Visual only —
|
|
81730
|
+
* the selection and its change events stay untouched. Returns the number of added units.
|
|
81731
|
+
*/
|
|
81732
|
+
async previewByRadius(startPlz, km) {
|
|
81733
|
+
await this.ensureReady();
|
|
81734
|
+
const url = `${this.apiBase}/geo-units/${encodeURIComponent(this.level)}/by-radius` +
|
|
81735
|
+
`?address=${encodeURIComponent(startPlz)}&km=${km}&country=DE&resolution=${this.resolution}`;
|
|
81736
|
+
const res = await fetch(url);
|
|
81737
|
+
if (!res.ok)
|
|
81738
|
+
throw new Error(`by-radius failed: HTTP ${res.status}`);
|
|
81739
|
+
const units = unwrap(await res.json());
|
|
81740
|
+
this.preview.clear();
|
|
81741
|
+
units.forEach(u => {
|
|
81742
|
+
this.units.set(u.code, u);
|
|
81743
|
+
if (!this.selected.has(u.code))
|
|
81744
|
+
this.preview.set(u.code, u);
|
|
81745
|
+
});
|
|
81746
|
+
this.renderUnits();
|
|
81747
|
+
this.updatePreviewFilter();
|
|
81748
|
+
this.fitTo([...this.selected.values(), ...this.preview.values()]);
|
|
81749
|
+
return this.preview.size;
|
|
81750
|
+
}
|
|
81751
|
+
/** Remove the optimizer proposal highlight. */
|
|
81752
|
+
async clearPreview() {
|
|
81753
|
+
await this.ensureReady();
|
|
81754
|
+
this.resetPreview();
|
|
81755
|
+
this.fitTo([...this.selected.values()]);
|
|
81756
|
+
}
|
|
81757
|
+
// ---- search box (MAR-15783): find areas by name or code, click to select ----
|
|
81758
|
+
onSearchInput(value) {
|
|
81759
|
+
this.searchQuery = value;
|
|
81760
|
+
clearTimeout(this.searchDebounce);
|
|
81761
|
+
const query = value.trim();
|
|
81762
|
+
if (query.length < 2) {
|
|
81763
|
+
this.searchResults = [];
|
|
81764
|
+
return;
|
|
81765
|
+
}
|
|
81766
|
+
this.searchDebounce = setTimeout(async () => {
|
|
81767
|
+
var _a;
|
|
81768
|
+
const seq = ++this.searchSeq;
|
|
81769
|
+
try {
|
|
81770
|
+
const res = await fetch(`${this.apiBase}/geo-units/${encodeURIComponent(this.level)}/search?q=${encodeURIComponent(query)}`);
|
|
81771
|
+
if (!res.ok || seq !== this.searchSeq)
|
|
81772
|
+
return;
|
|
81773
|
+
this.searchResults = (_a = unwrap(await res.json())) !== null && _a !== void 0 ? _a : [];
|
|
81774
|
+
}
|
|
81775
|
+
catch (_b) {
|
|
81776
|
+
this.searchResults = []; // search silently unavailable — the map stays usable
|
|
81777
|
+
}
|
|
81778
|
+
}, 300);
|
|
81779
|
+
}
|
|
81780
|
+
pickSearchResult(result) {
|
|
81781
|
+
this.searchQuery = '';
|
|
81782
|
+
this.searchResults = [];
|
|
81783
|
+
// adds to the selection and flies there — exactly what "find this area" means here
|
|
81784
|
+
void this.selectPostalCodes([result.code], true).catch(() => undefined);
|
|
81785
|
+
}
|
|
81786
|
+
/** A method call means the map is needed now — start loading even if it hasn't scrolled into view. */
|
|
81787
|
+
ensureReady() {
|
|
81788
|
+
var _a;
|
|
81789
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
81790
|
+
this.initMap();
|
|
81791
|
+
return this.readyPromise;
|
|
81792
|
+
}
|
|
81793
|
+
async applySelection(units, add) {
|
|
81794
|
+
if (!add)
|
|
81795
|
+
this.selected.clear();
|
|
81796
|
+
units.forEach(u => {
|
|
81797
|
+
this.units.set(u.code, u);
|
|
81798
|
+
this.selected.set(u.code, u);
|
|
81799
|
+
});
|
|
81800
|
+
this.resetPreview();
|
|
81801
|
+
this.renderUnits();
|
|
81802
|
+
this.updateSelectedFilter();
|
|
81803
|
+
this.fitTo([...this.selected.values()]);
|
|
81804
|
+
await this.loadPopulations(units.filter(u => !this.populations.has(u.code)));
|
|
81805
|
+
return this.emitSelection();
|
|
81806
|
+
}
|
|
81807
|
+
fitTo(units) {
|
|
81808
|
+
if (!units.length)
|
|
81809
|
+
return;
|
|
81810
|
+
let minX = 180, minY = 90, maxX = -180, maxY = -90;
|
|
81811
|
+
const scan = (c) => {
|
|
81812
|
+
if (typeof c[0] === 'number') {
|
|
81813
|
+
minX = Math.min(minX, c[0]);
|
|
81814
|
+
maxX = Math.max(maxX, c[0]);
|
|
81815
|
+
minY = Math.min(minY, c[1]);
|
|
81816
|
+
maxY = Math.max(maxY, c[1]);
|
|
81817
|
+
}
|
|
81818
|
+
else
|
|
81819
|
+
c.forEach(scan);
|
|
81820
|
+
};
|
|
81821
|
+
units.forEach(u => scan(u.geography.coordinates));
|
|
81822
|
+
this.map.fitBounds([[minX, minY], [maxX, maxY]], { padding: 48, maxZoom: 12, duration: 800 });
|
|
81823
|
+
}
|
|
81824
|
+
render() {
|
|
81825
|
+
return (h(Host, { key: '1ae9185f3b1ab5912080b68efeab8ad574850567' }, h("div", { key: '9125046714d801d6541ae936fbf2a16310c70a3f', class: "container" }, h("div", { key: '0df36890254f11bd82d0b1c539f89c872291c646', class: "map", ref: el => (this.mapContainer = el) }), this.ready && (h("div", { key: 'fb8cb984cca5c15d6011f04b6ddb3b1f9f8ca171', class: "search" }, h("input", { key: 'd345cd297310718eeb016d206b82471ffc5f9780', type: "search", placeholder: "Ort oder PLZ suchen", value: this.searchQuery, onInput: e => this.onSearchInput(e.target.value) }), this.searchResults.length > 0 && (h("ul", { key: '97b2885d221ee740a5a3f64cd5421d48e29564ae', class: "search-results" }, this.searchResults.map(r => (h("li", { key: r.code, onClick: () => this.pickSearchResult(r) }, h("strong", null, r.code), " ", r.name))))))), this.ready && this.zoomGated && (h("div", { key: '161f7ce78f568b073c8e71cc180a0aef42e8dde4', class: "hint" }, "Reinzoomen, um PLZ-Gebiete zu laden")), !this.ready && !this.loadError && (h("div", { key: '5cdd7490b1997add9de130b8ab900d61c1219747', class: "skeleton", "aria-busy": "true" }, h("xv-loader-v2", { key: 'cc777e5381227101c6d31f4c5ceb0f6f6a5e837b', variant: "vertical" }, "Karte wird geladen \u2026"))), this.loadError && h("div", { key: '5532fa9b6d26889a28f1808f48616225ddc49974', class: "skeleton error" }, "Karte konnte nicht geladen werden."))));
|
|
81826
|
+
}
|
|
81827
|
+
get el() { return getElement(this); }
|
|
81828
|
+
static get watchers() { return {
|
|
81829
|
+
"level": [{
|
|
81830
|
+
"levelChanged": 0
|
|
81831
|
+
}],
|
|
81832
|
+
"selectZoom": [{
|
|
81833
|
+
"selectZoomChanged": 0
|
|
81834
|
+
}]
|
|
81835
|
+
}; }
|
|
81836
|
+
};
|
|
81837
|
+
XvGeoMap.style = xvGeoMapCss();
|
|
81838
|
+
|
|
81213
81839
|
const userMagnifyingGlassRegularFullSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48IS0tIUZvbnQgQXdlc29tZSBQcm8gNy4xLjAgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTE3Ni41IDE5MkMxNzYuNSAxNDcuOCAyMTIuMyAxMTIgMjU2LjUgMTEyQzMwMC43IDExMiAzMzYuNSAxNDcuOCAzMzYuNSAxOTJDMzM2LjUgMjM2LjIgMzAwLjcgMjcyIDI1Ni41IDI3MkMyMTIuMyAyNzIgMTc2LjUgMjM2LjIgMTc2LjUgMTkyek0zODQuNSAxOTJDMzg0LjUgMTIxLjMgMzI3LjIgNjQgMjU2LjUgNjRDMTg1LjggNjQgMTI4LjUgMTIxLjMgMTI4LjUgMTkyQzEyOC41IDI2Mi43IDE4NS44IDMyMCAyNTYuNSAzMjBDMzI3LjIgMzIwIDM4NC41IDI2Mi43IDM4NC41IDE5MnpNODAuNSA1NDRDODAuNSA0NzMuMyAxMzcuOCA0MTYgMjA4LjUgNDE2TDI4OC43IDQxNkMyODkuNSAzOTkuMiAyOTIuNyAzODMuMSAyOTguMSAzNjhMMjA4LjUgMzY4QzExMS4zIDM2OCAzMi41IDQ0Ni44IDMyLjUgNTQ0TDMyLjUgNTUyQzMyLjUgNTY1LjMgNDMuMiA1NzYgNTYuNSA1NzZDNjkuOCA1NzYgODAuNSA1NjUuMyA4MC41IDU1Mkw4MC41IDU0NHpNNDU2LjUgMzUyQzQ5Ni4zIDM1MiA1MjguNSAzODQuMiA1MjguNSA0MjRDNTI4LjUgNDYzLjggNDk2LjMgNDk2IDQ1Ni41IDQ5NkM0MTYuNyA0OTYgMzg0LjUgNDYzLjggMzg0LjUgNDI0QzM4NC41IDM4NC4yIDQxNi43IDM1MiA0NTYuNSAzNTJ6TTQ1Ni41IDU0NEM0ODAuOSA1NDQgNTAzLjYgNTM2LjcgNTIyLjYgNTI0LjJMNTgzLjUgNTg1LjFDNTkyLjkgNTk0LjUgNjA4LjEgNTk0LjUgNjE3LjQgNTg1LjFDNjI2LjcgNTc1LjcgNjI2LjggNTYwLjUgNjE3LjQgNTUxLjJMNTU2LjUgNDkwLjNDNTY5LjEgNDcxLjMgNTc2LjQgNDQ4LjUgNTc2LjQgNDI0QzU3Ni40IDM1Ny43IDUyMi43IDMwNCA0NTYuNCAzMDRDMzkwLjEgMzA0IDMzNi40IDM1Ny43IDMzNi40IDQyNEMzMzYuNCA0OTAuMyAzOTAuMSA1NDQgNDU2LjQgNTQ0eiIvPjwvc3ZnPg==';
|
|
81214
81840
|
|
|
81215
81841
|
const xvHeaderCss = () => `.xv-container{width:100%;max-width:1170px;margin-inline:auto}@media (min-width: 576px){.xv-container{max-width:540px}}@media (min-width: 768px){.xv-container{max-width:720px}}@media (min-width: 992px){.xv-container{max-width:960px;padding-inline:var(--bs-gutter-x, 0.75rem)}}@media (min-width: 1200px){.xv-container{max-width:1140px}}@media (min-width: 1400px){.xv-container{max-width:1320px}}header.header{position:sticky;z-index:1000;top:0}header.header .header-wrapper{width:100%;max-width:100vw;padding-top:var(--spacing-04);background-color:var(--background, #fff);box-shadow:1px 1px 0 0 rgba(39, 52, 53, 0.15), 0 3px 2px 0 rgba(39, 52, 53, 0.3)}@media (max-width: 991px){header.header .header-wrapper{padding-bottom:var(--spacing-04)}}header.header .header-wrapper--bg{background:var(--menu-background, transparent);color:var(--menu-color, var(--text-primary, #131313))}header.header .header-top{display:flex;align-items:center;gap:var(--spacing-05)}header.header .header-top--left{width:100%;max-width:350px;display:flex;align-items:center;column-gap:var(--spacing-04)}header.header .header-top--left img{width:100%;height:26px;object-fit:contain}header.header .header-top--left .menu-btn{display:none}@media (max-width: 991px){header.header .header-top--left .menu-btn{display:inline-block}}header.header .header-top--right{flex:1;display:flex;justify-content:flex-end;gap:var(--spacing-03);margin:0;padding:0;list-style:none}@media (max-width: 1199px){header.header .header-top--right{gap:var(--spacing-01)}}header.header .header-top--right .header-label{display:flex;flex-direction:column;color:var(--text-primary, #131313)}header.header .header-top--right .header-label>small{line-height:1}@media (min-width: 992px){header.header .header-top--right .header-label{margin-inline:var(--spacing-02)}}@media (max-width: 1199px){header.header .header-top--right .header-label{display:none}}header.header .header-top--right .header-icon{color:var(--icon-primary, #131313)}header.header .header-top--right .caret{display:inline-block;margin-left:5px;width:6px;height:6px;border:none;border-bottom:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);box-sizing:border-box;background:transparent;transform-origin:center;transition:0.25s ease-in-out transform}header.header .header-top--right .counter-badge--absolute{position:absolute;top:0;right:0}header.header .header-top--right .counter-badge::part(details-content){padding:1px;line-height:1;min-width:16px;height:16px;font-size:10px;text-align:center;display:inline-flex;align-items:center;justify-content:center}header.header .header-top--orgUnit{--link-visited:var(--link-primary)}header.header .header-top .fa-question-circle{color:var(--icon-primary, #131313)}header.header .header-top .search-form{flex:1;position:relative}@media (max-width: 768px){header.header .header-top .search-form{display:none}}header.header .header-top .search-form form{padding-inline:2px;flex:1;display:flex;align-items:stretch;flex-direction:row;justify-content:flex-end}header.header .header-top .search-form form input[type=search]{flex:0;text-align:right;display:inline-flex;border:none;min-width:0;transition:flex 0.3s ease-in-out, outline 0.3s ease;overflow:hidden;border-radius:3px}header.header .header-top .search-form form input[type=search]::placeholder{color:var(--text-placeholder, #ACACAC)}header.header .header-top .search-form form input[type=search]:focus{outline:2px solid var(--focus)}header.header .header-top .search-form form>[type=button]{display:inline-flex}header.header .header-top .search-form form>[type=submit]{display:none}header.header .header-top .search-form form:focus-within>[type=button],header.header .header-top .search-form form:has(input[type=search]:not(:placeholder-shown))>[type=button]{display:none}header.header .header-top .search-form form:focus-within>[type=submit],header.header .header-top .search-form form:has(input[type=search]:not(:placeholder-shown))>[type=submit]{display:inline-flex}header.header .header-top .search-form form:focus-within input[type=search],header.header .header-top .search-form form:has(input[type=search]:not(:placeholder-shown)) input[type=search]{flex:1;outline:1px solid var(--focus)}header.header .header-top .search-form form:focus-within+.search-form-suggestions,header.header .header-top .search-form form:has(input[type=search]:not(:placeholder-shown))+.search-form-suggestions{display:flex}header.header .header-top .search-form-suggestions{position:absolute;top:calc(100% + 5px);background-color:var(--background, #fff);box-shadow:0 0 10px rgba(0, 0, 0, 0.1);border-radius:3px;z-index:2;padding:var(--spacing-04);margin:0;list-style:none;display:none;flex-direction:column;row-gap:var(--spacing-02);min-width:calc(100% - 32px)}header.header .header-top .search-form-suggestions.loading:after{display:flex;align-items:center;justify-content:center;content:"";background:rgba(255, 255, 255, 0.8);position:absolute;top:0;left:0;z-index:3;width:100%;height:100%}header.header .header-top .impersonationInfo ul[slot=body]{margin:0;padding:0;list-style:none;min-width:256px}header.header .header-top .notifications-icon{font-size:14px}header.header .header-top .notifications-item{display:flex;align-items:center;column-gap:var(--spacing-04)}header.header .header-top .notifications-item-body{display:flex;flex-direction:column}header.header .header-top .myArea{position:relative}header.header .header-top .myArea .myArea-btn[aria-expanded=true] .caret{transform:rotate(-135deg)}header.header .header-top .myArea .category-badge{margin-left:var(--spacing-02)}header.header .header-top .myArea .category-badge::part(details-content){line-height:1;font-size:11px;padding:var(--spacing-01) var(--spacing-02)}header.header .xv-container{box-sizing:content-box;line-height:normal}`;
|
|
@@ -81386,7 +82012,7 @@ const XvHeader = class {
|
|
|
81386
82012
|
render() {
|
|
81387
82013
|
var _a, _b, _c, _d, _e;
|
|
81388
82014
|
const isXvBrand = (((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a['WhitelabelName']) || 'Xv') === 'Xv';
|
|
81389
|
-
return (h("header", { key: '
|
|
82015
|
+
return (h("header", { key: '5683344a3c1c65652aafefcd39a29cfb52b39630', class: "header" }, h("div", { key: '51a5be7406c30c5eb21612e253f6f816c07c2474', class: "header-wrapper" }, h("div", { key: '355678ae2ea723877995820902a7ecc831b24e25', class: "xv-container" }, h("div", { key: 'b204f994a41175f413fc11a4b4501ea36d83c49a', class: "header-top" }, h("div", { key: '58e62438aaf3568986422eadd60abc27242ee0e2', class: "header-top--left" }, h("xv-button-v2", { key: 'c2bd1f89d10a2d6a4468a4eb84b0a305afe130e6', class: "menu-btn", variant: "ghost", onClick: this.toggleMobMenu }, h("i", { key: 'f6299023fffc108aa30edadd662f1c9cac20a444', slot: "icon-left", class: { 'fa': true, 'fa-times': this.mobMenuOpen, 'fa-bars': !this.mobMenuOpen } })), this.metaNav && (h("a", { key: '9a3187c7a0a0f5bc824e5aa5e4f885509e4cff06', href: `${window.location.origin}/` }, h("picture", { key: '53a3940f8a98f039a5750b42f1b9848e5a0e5dcd' }, h("source", { key: '95dbb7a4837d25c488d5a588da905793e81706e9', srcSet: ((_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.LogoUrl) || 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg', media: "(min-width: 990px)" }), h("img", { key: 'bd94249dc77e9b9767b4d5eb899acce398085e93', src: ((_c = this.metaNav) === null || _c === void 0 ? void 0 : _c.LogoSmallUrl) || 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg', onError: this.logoFallback, loading: "lazy", alt: "Crossvertise" })))), this.orgUnit && (h("xv-link-v2", { key: 'e8ea29d1d86816d48b0a21433fb0bb56609e2a43', class: "header-top--orgUnit", variant: "standalone", href: "/de-de/mycrossvertise" }, this.orgUnit))), h("ul", { key: '0faa215cd3ff434bb57992e3d683ba5365b2434a', class: "header-top--right" }, this._renderSearch(), this._renderImpersonationInfo(), !((_d = this.metaNav) === null || _d === void 0 ? void 0 : _d.IsManager) && isXvBrand && (h("li", { key: '33e91f13c12e158bbab3021fdeabde589ba8d811' }, h("xv-link-v2", { key: 'cf6abae927469bf5d11d664c2b55bfa690712b7c', variant: "ghost", href: "https://www.crossvertise.com/ueber-uns/kontakt" }, h("xv-button-v2", { key: 'cccb09642e193457f8a8ed76852051f66e35e267', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: '865a8a9b71566c9e12767f1f816baf6b81b38881', class: "header-icon far fa-envelope" }), h("span", { key: '33917225be2b21427dfe26029acd3e95b88ced96', class: "header-label xv-body-02" }, "Kontakt"))))), this._renderNotifications(), this._renderAccount(), !((_e = this.metaNav) === null || _e === void 0 ? void 0 : _e.IsManager) && isXvBrand && (h("li", { key: '4493c9258b480c76150dfa1e6a166625ccc53f3d' }, h("xv-link-v2", { key: '15165cd18bf8c6df2fa0a01a04060b8ec3e8d7c9', variant: "ghost", href: "https://help.crossvertise.com" }, h("xv-button-v2", { key: 'c57fbe7a136ea7a3b7156b676aeb9de9563f7641', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: '6299e5025daf1eb965a391f22b16c36d121446f6', class: "header-icon far fa-question-circle" }), h("span", { key: 'c12f1fd242b0139f6bf36a91ff4783ba0ee8311e', class: "header-label xv-body-02" }, "Hilfe"))))), this._renderShoppingCart()))), h("div", { key: 'a811e4d9776a559a0514614a5af21b1df291b58f', class: "header-wrapper--bg" }, h("div", { key: 'ac5415351936518dbfb37bd2bc0a8ef507779ca9', class: "xv-container" }, h("xv-mega-menu", { key: '3a261a18a1fea02ae336975e0699b4d80bf2b4ed', open: this.mobMenuOpen, onOpenChange: this.closeMobMenu })))), h("xv-login-modal", { key: '2958a0ed0091eb1f88337aa6ed4d88d8fa7f3e02', visible: this.showLoginModal, onClose: () => this.showLoginModal = false })));
|
|
81390
82016
|
}
|
|
81391
82017
|
get el() { return getElement(this); }
|
|
81392
82018
|
};
|
|
@@ -81454,7 +82080,7 @@ const XvImageViewer = class {
|
|
|
81454
82080
|
}
|
|
81455
82081
|
}
|
|
81456
82082
|
render() {
|
|
81457
|
-
return (h(Host, { key: '
|
|
82083
|
+
return (h(Host, { key: 'a2cbdae5298980d510b68acfe6053116d29dc849', class: { 'image-wrapper': true, errored: this.errored } }, !this.loaded && h("xv-loader-v2", { key: 'ace025d878873694ce29d3f1042b7551ccf3b3d8', class: "loading" }, this.placeholder), this.loaded && this.errored && h("slot", { key: '212f5518d6b6779c7d3b3c16b1e483f7f47ccca1', name: "fallback" }), this.loaded && !this.errored && (h("img", { key: '302fb84d4af07d1f4c63a0b9e0984be1f4981835', src: this.src, alt: this.alt, class: "image", onClick: this.handleClick, onError: this.handleError })), this.isFullscreen && (h("dialog", { key: 'ac5d27c9b241a037729eb6192a663e0f2a2331db', class: "fullscreen-dialog", ref: el => (this.dialogEl = el), onClick: this.handleDialogClick, onClose: this.closeFullscreen }, !this.fullscreenLoaded && h("xv-loader-v2", { key: 'd0680262f8e5e45d6e89b95cdf3f8451e4246d9c', class: "loading", size: SIZE_VAR.LG }, this.placeholder), h("img", { key: '76893eceb6dead348febe21d2dc9800f9c0c3bcd', src: this.fullscreenSrc || this.src, alt: this.alt, class: {
|
|
81458
82084
|
'fullscreen-image': true,
|
|
81459
82085
|
loaded: this.fullscreenLoaded,
|
|
81460
82086
|
} })))));
|
|
@@ -81479,7 +82105,7 @@ const XvLink = class {
|
|
|
81479
82105
|
e.stopPropagation();
|
|
81480
82106
|
}
|
|
81481
82107
|
render() {
|
|
81482
|
-
return (h(Host, { key: '
|
|
82108
|
+
return (h(Host, { key: '854358c47b87c65f684e693e114c33ac21a27816', class: { [`xv-link_${this.variant}`]: true, disabled: !!this.disabled } }, h("a", { key: '355355ead7bf9b8bf61a7959dc7108d379fc2c7e', href: this.href, onClick: this.preventLinkHandler.bind(this), class: { 'xv-link': true, 'xv-link_disabled': !!this.disabled, [this.size]: !!this.size }, target: this.target }, h("slot", { key: 'ba5491fe340ab2d135db073c01f167b7def196ae', name: "icon-left" }), h("slot", { key: 'beaa1287a081ecc5c05e1e5c746c4485b156af9a' }), h("slot", { key: '5491ff14083f125c3c60f30c884c4d4285d9f593', name: "icon-right" }))));
|
|
81483
82109
|
}
|
|
81484
82110
|
};
|
|
81485
82111
|
XvLink.style = xvLinkCss();
|
|
@@ -81647,7 +82273,7 @@ const XvMegaMenu = class {
|
|
|
81647
82273
|
void this.fetchMenuData();
|
|
81648
82274
|
}
|
|
81649
82275
|
render() {
|
|
81650
|
-
return (h(Host, { key: '
|
|
82276
|
+
return (h(Host, { key: '4aedd7042cf3dc4a7f2c87fd4cc4c957c1197d8d' }, h("nav", { key: 'b9f8f282ef76fa208afd943af9e9802d34f981fd', class: { 'xv-menu': true, open: this.open } }, this.menuLoading && (h("div", { key: 'bc1c61ea9a77d268f3862d0a4be2f849bb82a426', class: { 'xv-menu-loader': true, open: this.open } }, h("xv-loader-v2", { key: 'f8df801370503ef75c9ea9e8a3d800099e23f522' }))), h("ul", { key: '04bc64d69c31c033624fc2f012ed24d1452c31fa', class: { menu: true, open: this.open } }, this.menuItems.map((menuItem) => {
|
|
81651
82277
|
var _a, _b;
|
|
81652
82278
|
return (h("li", { class: { 'menu-item': true, active: menuItem.id === ((_a = this.activeItem) === null || _a === void 0 ? void 0 : _a.id) } }, menuItem.route ? (h("xv-link-v2", { variant: "ghost", href: menuItem.route.route }, h("p", { class: "menu-item-label" }, (_b = menuItem.route) === null || _b === void 0 ? void 0 : _b.label))) : (h(Fragment, null, h("p", { class: "menu-item-label", onClick: () => this.setActiveItem(menuItem) }, menuItem === null || menuItem === void 0 ? void 0 : menuItem.label), h("ul", { class: "menu-item-groups" }, menuItem.groups.map((group) => {
|
|
81653
82279
|
var _a;
|
|
@@ -81657,7 +82283,7 @@ const XvMegaMenu = class {
|
|
|
81657
82283
|
} }, h("div", { class: "group-menus" }, h("ul", { class: { 'group-menus-categories': true, inline: group.layout === 'inline' } }, group.categories.map((category) => (h("li", { class: "category" }, h("p", { class: "category-label" }, category.label), h("ul", { class: "category-routes" }, category.routes.map((route) => (h("li", { class: "route" }, h("xv-link-v2", { size: "lg", variant: "ghost", href: route.route || '#' }, route.label), route.tag && (h("xv-tag-v2", { class: "route-tag", size: "sm", color: "#161616", bg: "#E0E0E0" }, route.tag)))))))))), h("ul", { class: "group-menus-actions" }, group.actions.map((action) => (h("li", { class: "action" }, action.type === 'link' && (h("xv-link-v2", { variant: "standalone", href: action === null || action === void 0 ? void 0 : action.url }, action.label, h("span", { class: "link-chevron", slot: "icon-right" }, "\u2192"))), action.type === 'button' &&
|
|
81658
82284
|
h("xv-button-v2", { onClick: () => this.navActionClick(action), block: true, variant: "tertiary" }, action.label)))))), (group === null || group === void 0 ? void 0 : group.card) && (h("div", { class: "group-card" }, h("xv-card-v2", { media: this.applicationContext !== 'Komsa' ? group.card.image : undefined, variant: this.isMobile ? 'horizontal' : 'vertical' }, h("h5", { slot: "header", class: "group-card-title" }, group.card.title), h("p", { slot: "body", class: "group-card-desc" }, group.card.description), group.card.linkLabel && (h("xv-link-v2", { slot: "footer", variant: "standalone", href: group.card.linkUrl || '#' }, group.card.linkLabel, h("span", { class: "link-chevron", slot: "icon-right" }, "\u2192"))))))))));
|
|
81659
82285
|
}))))));
|
|
81660
|
-
}), h("li", { key: '
|
|
82286
|
+
}), h("li", { key: '3cdf016df0466206430f7ab6fb593203955086d6', class: "menu--right" }, h("slot", { key: '4d10fd0501f28c0cdcad6c2dbfc5983989bc42d8', name: "menu-right" })), this.open && (h("li", { key: '436084ee89ddbea567478af9f703d5e51a244aed', class: "menu--backdrop", onClick: () => this.handleClose() }))))));
|
|
81661
82287
|
}
|
|
81662
82288
|
get el() { return getElement(this); }
|
|
81663
82289
|
};
|
|
@@ -81725,7 +82351,7 @@ const XvModal = class {
|
|
|
81725
82351
|
}
|
|
81726
82352
|
render() {
|
|
81727
82353
|
var _a;
|
|
81728
|
-
return (h(Host, { key: '
|
|
82354
|
+
return (h(Host, { key: 'fdac67d8c2e9ff8226bb3b50cad47991212bfb95', role: "dialog", size: this.size, id: this.el.id }, h("slot", { key: 'b22af521c0661beb51656076e54f8d4524949cd6', name: "trigger", onSlotchange: this.setupTrigger }), h("div", { key: 'c4bad1d31c096232681719910a884b6f2f265d34', class: { backdrop: true }, onClick: this.onBackdropClick }, h("div", { key: '077a36f530d91d80aa64e29628416c15ee86b9fd', class: "modal" }, h("button", { key: 'e7b13a106603fec23def8c7c17d6abbc7a775d0e', class: "modal_close", onClick: this.closeModal.bind(this) }, "\u00D7"), h("div", { key: 'e38dd875e812d85bc4f5480c7861cbab60cf818d', class: "modal_header" }, h("slot", { key: 'dd88ea66b09a04f1b1489818b3f05362c1181e60', name: "header" }, ((_a = this.el) === null || _a === void 0 ? void 0 : _a.title) && h("h5", { key: '5b68119aa27b342374efd45e72b5d031edeca230', class: "modal_header__title" }, this.el.title))), h("div", { key: '8c254b16fa7ec7816d5c8c3365274ecf0f534873', class: { 'modal_content': true, overflow: this.overflow } }, h("slot", { key: 'cf6e6792d45519e823694ebc21bc3184fd8d9359' })), h("div", { key: '3a28a55f60a1c08e86b7c5569de855e62c131695', class: "modal_footer" }, h("slot", { key: '6422af93a0778da86f6761fe0ca75daf584bbfa1', name: "footer" })), !!this.loading && (h("div", { key: '58a94925425046105105ed8c5833579bc6861114', class: "loading" }, h("xv-loader-v2", { key: 'cf9b5416582bdd5835b8edc4dfb9f78c0a16f375', size: SIZE_VAR.LG })))))));
|
|
81729
82355
|
}
|
|
81730
82356
|
disconnectedCallback() {
|
|
81731
82357
|
this.removeTriggerListener();
|
|
@@ -81763,7 +82389,7 @@ const XvNotification = class {
|
|
|
81763
82389
|
};
|
|
81764
82390
|
}
|
|
81765
82391
|
render() {
|
|
81766
|
-
return (h(Host, { key: '
|
|
82392
|
+
return (h(Host, { key: 'dd814e1eddaa7d37cb2c0783c908f2785c81b7c4', class: "xv-notification", type: this.variant }, this.renderIcon(this.variant), h("div", { key: '48e3ee87ad67c61c86eb5e3d9b6b89b33f343ecc', class: "content" }, h("div", { key: '1e6dcbe72ca123f66dc238c74e3b90eb04f11d07', class: "content_wrapper" }, this.el.title && h("h5", { key: 'fdfc5730d10b1e315f604da2786f2923dd54d576', class: "content_title" }, this.el.title), h("slot", { key: '20313c03cdc71057c9ce10bce2b8ca3632c5f8a0' })), h("slot", { key: '4e594f31fd130778f98a9fa1d9e52ce522e9fa76', name: "footer" })), this.dismissible && h("button", { key: '2506c5cf0937183d09f743d5f9d4c6a6d74e966d', class: "close", onClick: this.closeHandle })));
|
|
81767
82393
|
}
|
|
81768
82394
|
static get assetsDirs() { return ["xv-notification/icons"]; }
|
|
81769
82395
|
get el() { return getElement(this); }
|
|
@@ -81814,12 +82440,12 @@ const XvNumberInput = class {
|
|
|
81814
82440
|
}
|
|
81815
82441
|
render() {
|
|
81816
82442
|
const message = resolveFieldMessage({ error: this.error, warning: this.warning, helper: this.helper });
|
|
81817
|
-
return (h(Host, { key: '
|
|
82443
|
+
return (h(Host, { key: 'eda5a787210f187373ce97896a300ff9a013e0c1', class: { disabled: !!this.disabled } }, h("label", { key: '5f22e4ac254a665891879ff65399d007cc38a8b9', class: "control" }, this.label && h("span", { key: 'ff73bc8b8838e4c35f0f7fbefb0d939cc17b075c', class: "control_label" }, this.label), h("div", { key: '78e49d25ae43b96b3eb8255bcaa58418895f0813', class: {
|
|
81818
82444
|
'control_input': true,
|
|
81819
82445
|
readonly: !!this.readonly,
|
|
81820
82446
|
error: !!this.error,
|
|
81821
82447
|
warning: !!this.warning
|
|
81822
|
-
} }, h("input", { key: '
|
|
82448
|
+
} }, h("input", { key: '6514a48d7d4fc8392fcc784038cc16b4fe2c7c8f', type: "number", placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onInput: this.handleInput, name: this.name, min: this.min, max: this.max, step: this.step, value: this.value }), h("div", { key: 'b0255100ddf246c55e73b8e04e1f4ccb0d395cc1', class: "control_input__icons" }, this.loading ? (h("xv-loader-v2", { size: SIZE_VAR.XS })) : !!this.error ? (h("span", { class: "status-icon error", "aria-hidden": "true" }, "!")) : !!this.warning ? (h("span", { class: "status-icon warning", "aria-hidden": "true" }, "\u26A0")) : null, h("xv-button-v2", { key: '4b5489a5c638a8f430de09e4a2cac747299c2dd6', size: this.size, variant: "ghost", disabled: this.disabled || this.readonly, onClick: this.decrement, "aria-label": "Decrease" }, h("span", { key: '893e166dc36724066a682afe7c688463039554a6', slot: "icon-left", class: "status-icon" }, "\u2212")), h("hr", { key: '02b5ad18e9fa4fcd19a776d6c14c312025b722e9' }), h("xv-button-v2", { key: '3d084e86fb4073afda330b45d9f029dc72f86a5a', size: this.size, variant: "ghost", disabled: this.disabled || this.readonly, onClick: this.increment, "aria-label": "Increase" }, h("span", { key: '4eb5052758d452a8b9f2664c0cf2baef33955536', slot: "icon-left", class: "status-icon" }, "+"))))), message && (h("p", { key: '717c219eae006734322a039e31fa530a2d8f1c33', class: { message: true, [message.level]: true } }, message.text))));
|
|
81823
82449
|
}
|
|
81824
82450
|
static get formAssociated() { return true; }
|
|
81825
82451
|
};
|
|
@@ -82276,7 +82902,7 @@ const XvPagination = class {
|
|
|
82276
82902
|
this.observer.disconnect();
|
|
82277
82903
|
}
|
|
82278
82904
|
render() {
|
|
82279
|
-
return (h(Host, { key: '
|
|
82905
|
+
return (h(Host, { key: 'a29c7b693ea69001d1c04ab9942b4c095ae763d3', class: { block: this.block, [this.currentVariant]: true, [this.size]: !!this.size } }, this.currentVariant === 'full' && (h("div", { key: '00ab6d301986eedcaa6f174efc755c549be68175', class: "block" }, h("select", { key: 'c4d8e0610495f34de27f0c0365bc8e15f09c7165', class: "options-select", name: "options", onChange: this.handleItemsPerPageChange }, this.pageSizeOptions.map((v) => h("option", { selected: v === this.itemsPerPage, value: v }, v))))), this.currentVariant === 'full' && (h("span", { key: 'aeff24a36ee30afc27687d83b207cc9ad45cc0dc', class: "block block_full" }, `${(this.page - 1) * this.itemsPerPage + 1} – ${Math.min(this.page * this.itemsPerPage, this.totalItems)} von ${this.totalItems} Einträgen`)), this.currentVariant === 'full' && (h("div", { key: 'dd1c78767c1ddbcfaf51677d869c1f7827049f38', class: "block" }, h("select", { key: 'a8784b2d18e2b0b30a1270d2e10efa14f89e205b', class: "options-select", name: "pages", onChange: this.handlePageSelectChange }, Array.from({ length: this.total }, (_, i) => (h("option", { selected: this.page === i + 1, value: i + 1 }, i + 1)))), h("span", { key: '15ca820461781e8e9063b50751a827e302b29f63' }, "von ", this.total, " Seiten"))), this.currentVariant === 'compact' && h("span", { key: '44680186b510e3dc603047694fbfe34d39e23224', class: "block" }, "Seite ", this.page), h("xv-button-v2", { key: '1fd3f8adfa3940bbc7a6c1418f141e27ff488b8a', variant: "ghost", size: this.size, onClick: () => this.handlePageChange(this.page - 1), disabled: this.page <= 1 }, h("span", { key: 'fd6c2bca87553c53f3f1462e9d8302a9f19906f9', slot: "icon-left", class: "icon icon_prev" })), this.currentVariant === 'regular' && (h("ul", { key: 'bb4b578c6d1b86963d73673fb64fbe29cd7b935e', class: "list" }, this.visiblePagesWithDots.map((page) => (h("li", { class: { active: this.page === page } }, page === 'dots-start' ? (h("div", { class: "list_dots" }, h("xv-button-v2", { variant: "ghost", size: this.size, tabindex: -1 }, h("span", { slot: "icon-left", class: "list_dots__icon" }, "...")), h("select", { name: "start", onChange: this.handlePageSelectChange }, Array.from({ length: this.page - 3 }, (_, i) => (h("option", { value: i + 2 }, i + 2)))))) : page === 'dots-end' ? (h("div", { class: "list_dots" }, h("xv-button-v2", { variant: "ghost", size: this.size, tabindex: -1 }, h("span", { slot: "icon-left", class: "list_dots__icon" }, "...")), h("select", { name: "end", onChange: this.handlePageSelectChange }, Array.from({ length: this.total - (this.page + 2) }, (_, i) => (h("option", { value: i + this.page + 2 }, i + this.page + 2)))))) : (h("xv-button-v2", { variant: "ghost", size: this.size, disabled: this.page === page, onClick: () => this.handlePageChange(page) }, h("span", { class: "list_page", slot: "icon-left" }, page)))))))), h("xv-button-v2", { key: 'b5550040d2883244574704c643d3295760a2254f', variant: "ghost", size: this.size, onClick: () => this.handlePageChange(this.page + 1), disabled: this.page >= this.total }, h("span", { key: '351da7374e84c682e1b420a6ac97be5aacaacdee', slot: "icon-left", class: "icon icon_next" }))));
|
|
82280
82906
|
}
|
|
82281
82907
|
get el() { return getElement(this); }
|
|
82282
82908
|
};
|
|
@@ -82345,7 +82971,7 @@ const XvProgressIndicator = class {
|
|
|
82345
82971
|
this.updateChildItems();
|
|
82346
82972
|
}
|
|
82347
82973
|
render() {
|
|
82348
|
-
return (h(Host, { key: '
|
|
82974
|
+
return (h(Host, { key: '6e68433aeac02292b8b2530e462f0fd7422d6d9c', variant: this.variant, size: this.size, class: { 'xv-progress-indicator': true } }, h("slot", { key: '8d167acd9c1625edcfef332e52fa712efe633d1f' })));
|
|
82349
82975
|
}
|
|
82350
82976
|
get el() { return getElement(this); }
|
|
82351
82977
|
static get watchers() { return {
|
|
@@ -82364,7 +82990,7 @@ const XvProgressIndicatorItem = class {
|
|
|
82364
82990
|
this.status = PROGRESS_ITEM_STATUS.NO_STARTED;
|
|
82365
82991
|
}
|
|
82366
82992
|
render() {
|
|
82367
|
-
return (h(Host, { key: '
|
|
82993
|
+
return (h(Host, { key: '96cf1c73bb9e9bb7de64e0296b4f1f0f823bbc9a', status: this.status, class: { 'xv-progress-indicator-item': true } }, h("span", { key: 'ccd66f4f0698a4bdc15b550e9d2387aa8dfc87d3', class: "line" }), h("span", { key: '9e28dd04de9b5d4cb01fb99366534bb4f4d67ced', class: "icon" }, h("svg", { key: '24aefa5c8d3eb84cde70a9f5c034958a910a6b06', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512" }, h("path", { key: '097d6c12eda49149f8ec12bc1e362d0d249d9357', fill: "currentColor", d: "M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z" }))), h("p", { key: '1c895e0e104b485655424b262450ee9cf29cd463', class: "label" }, h("slot", { key: 'e5371b1ac5d5d2767ed8c99bb33869fc0c633582' }))));
|
|
82368
82994
|
}
|
|
82369
82995
|
get el() { return getElement(this); }
|
|
82370
82996
|
};
|
|
@@ -82397,12 +83023,12 @@ const XvRadio = class {
|
|
|
82397
83023
|
}
|
|
82398
83024
|
render() {
|
|
82399
83025
|
const message = resolveFieldMessage({ error: this.error, warning: this.warning, helper: this.helper });
|
|
82400
|
-
return (h("div", { key: '
|
|
83026
|
+
return (h("div", { key: '02166d375e7c99d2398d6a14fbbb60b90d380a16', class: {
|
|
82401
83027
|
'xv-radio': true,
|
|
82402
83028
|
'xv-radio--reverse': this.reverse,
|
|
82403
83029
|
'xv-radio--block': this.block,
|
|
82404
83030
|
[`xv-radio--size-${this.size}`]: !!this.size,
|
|
82405
|
-
} }, this.label && h("p", { key: '
|
|
83031
|
+
} }, this.label && h("p", { key: 'd1a81177fa3024d342450e855c14cc0388cc7553', class: "xv-radio_label" }, this.label), h("label", { key: 'c45ba9aa0cf98b07c21ccbfbd3bdbaaef8544f1e', class: { 'xv-radio_container': true, disabled: this.disabled } }, h("div", { key: '81319fc43d5686b741d3359b4728a7c16b24d2d3', class: { 'xv-radio_input': true, 'xv-radio_input--error': !!this.error || this.error === '' } }, h("input", { key: '744ca3dbae085688dc5d311f775a9a5811e9f170', ref: el => (this.inputEl = el), type: "radio", name: this.name, value: this.value, checked: this.checked, readonly: this.readonly, disabled: this.disabled }), h("span", { key: 'f32467cb36574e039ad89f66f4174333217bb47a', class: "xv-radio_input__mark" })), h("span", { key: '337e7220454322ec79aa58de00848e1fb3ca77f3', class: "xv-radio_container__label" }, h("slot", { key: '7fdd83653d3659ac10c498968b4815dfda140dab' }))), message && (h("span", { key: 'a4865648d41a69b058de946543f7b3856befd3b1', class: `xv-radio_msg xv-radio_msg--${message.level}` }, message.level !== 'helper' && (h("span", { key: 'd9cf3829912a3773779d319762b51b3f2812da59', class: "xv-radio_msg__status", "aria-hidden": "true" }, message.level === 'error' ? '!' : '⚠')), message.text)), h("slot", { key: '405d8344959363a24a25a987cd751be924c634cf', name: "info" })));
|
|
82406
83032
|
}
|
|
82407
83033
|
connectedCallback() {
|
|
82408
83034
|
var _a;
|
|
@@ -82486,7 +83112,7 @@ const XvSlider = class {
|
|
|
82486
83112
|
this.setValue(this.min);
|
|
82487
83113
|
}
|
|
82488
83114
|
render() {
|
|
82489
|
-
return (h(Host, { key: '
|
|
83115
|
+
return (h(Host, { key: '253eea9c6c9162bf5b50a97d4af8810f8490f189', class: { disabled: this.disabled, readonly: this.readonly } }, this.label && h("label", { key: 'cec17ff25892a6399a8bf9c62c9b07d4cc7934d1', class: "label" }, this.label), h("div", { key: '5f33256b927b3ddd1db17a6606bcdff87c3e6ae5', class: "control" }, h("span", { key: '8bea46771e4996618bda44f21ce7e8aa3460a984', class: "control_label" }, this.min), h("input", { key: '492338b690a33d3024ce4299e4ff5226ac318c72', type: "range", disabled: this.disabled || this.readonly, readonly: this.readonly, name: this.name, min: this.min, max: this.max, step: this.step, value: this.value, onInput: this.handleInput, style: { backgroundSize: `${((this.value - this.min) * 100) / (this.max - this.min)}% 100%` } }), h("span", { key: '7dd182d973c64638339283309df6c41b541f45e2', class: "control_label" }, this.max), !this.notEditable && (h("input", { key: '653c44c3d255d2e580bacf32f31a60acb369bbd7', type: "number", disabled: this.disabled, readonly: this.readonly, name: `${this.name}-number-input`, step: this.step, min: this.min, max: this.max, value: this.value, onInput: this.handleNumberInput, onBlur: this.handleNumberBlur })))));
|
|
82490
83116
|
}
|
|
82491
83117
|
static get formAssociated() { return true; }
|
|
82492
83118
|
};
|
|
@@ -82501,7 +83127,7 @@ const XvTab = class {
|
|
|
82501
83127
|
this.loading = false;
|
|
82502
83128
|
}
|
|
82503
83129
|
render() {
|
|
82504
|
-
return (h(Host, { key: '
|
|
83130
|
+
return (h(Host, { key: '76699ccd7d1e8af635c321550e6d6392e6e2c4b9', disabled: this.disabled, name: this.name }, this.loading ? h("xv-loader-v2", { size: SIZE_VAR.LG }) : h("slot", null)));
|
|
82505
83131
|
}
|
|
82506
83132
|
};
|
|
82507
83133
|
XvTab.style = xvTabCss();
|
|
@@ -82541,7 +83167,7 @@ const XvTable = class {
|
|
|
82541
83167
|
.join(' ') + ' repeat(auto-fit, minmax(0, 1fr))');
|
|
82542
83168
|
}
|
|
82543
83169
|
render() {
|
|
82544
|
-
return (h(Host, { key: '
|
|
83170
|
+
return (h(Host, { key: 'edf06e0e5b119011348c2feccdc819ac4155672e', class: { batchVisible: !!this.selectedCount } }, h("slot", { key: '2ac35c09a51202785ccfe1d67bff3582674a517a', name: "title" }, !!this.el.title && h("h2", { key: 'f424184d6d7037f106bfa3fd6ed83d8ed90257de', class: "xv-table-title" }, this.el.title)), h("slot", { key: '8f8e95a33a613daaad1b0ab5a6d718059e4a1385', name: "toolbar" }), h("div", { key: '497fad23df1d1617da4cb9af0aa6140a430faeb1', class: "xv-table" }, h("div", { key: 'e4d05316a9b85d7f79684c9f9b43827814755f15', class: "batch-actions" }, h(Fragment, { key: '8393b269acf1a15195d399499aa9e6c92c847d75' }, h("div", { key: 'e04878dc472d40100e58bbb8a846e065c03a82b9', class: "batch-actions_content" }, h("slot", { key: '4b5bffda977c50156e8328fcd7e6160b501dcf66', name: "batch" })), h("p", { key: '9415bf79595624335569a99e2a45b37cb7074ceb', class: "batch-actions_count" }, !!this.selectedCount && `${this.selectedCount} ${this.selectedCount === 1 ? 'Position ausgewählt' : 'Positionen ausgewählt'}`))), h("div", { key: '2dd990bd8155d14d5eae8fb4c86eb6c5bc937bf5', class: "xv-table_wrapper" }, h("slot", { key: 'ff18eaf2411ccf748bc7ab74a72bdd915eca220a' }), h("slot", { key: '93d390340a6d88c15af6989684cf4d5fa4b1d8a2', name: "footer" })), !!this.loading && (h("div", { key: '6506cd01da5cc91e907c3aca7233f0b138b341a1', class: "xv-table_loading" }, h("xv-loader-v2", { key: 'fe3a27780ea0d6d701c393fe5ee1c8d2cf3cf2ff', size: SIZE_VAR.LG }))))));
|
|
82545
83171
|
}
|
|
82546
83172
|
componentWillLoad() {
|
|
82547
83173
|
this.setColsSizeTemplate();
|
|
@@ -82582,7 +83208,7 @@ const XvTableCell = class {
|
|
|
82582
83208
|
}
|
|
82583
83209
|
;
|
|
82584
83210
|
render() {
|
|
82585
|
-
return (h(Host, { key: '
|
|
83211
|
+
return (h(Host, { key: 'bb86da283d1f6cf3b5155653e77b1d3d4ce0e369' }, h("slot", { key: '467a20aec32bc6edc93672ca27be92a06f701bf2' })));
|
|
82586
83212
|
}
|
|
82587
83213
|
get el() { return getElement(this); }
|
|
82588
83214
|
};
|
|
@@ -82603,7 +83229,7 @@ const XvTableExpand = class {
|
|
|
82603
83229
|
};
|
|
82604
83230
|
}
|
|
82605
83231
|
render() {
|
|
82606
|
-
return (h(Host, { key: '
|
|
83232
|
+
return (h(Host, { key: '473b4626a29270fa831996074fff843b7c9eddc5' }, h("button", { key: '4af26372a7115efe6b4735e2fd5e6a2a33fb969d', class: { 'expand-btn': true, open: this.open }, disabled: this.disabled, onClick: this.handleExpand }), h("slot", { key: '4d6e1bf46f257cc9fca0d9a9be2d8c171bc73378', name: XV_EXPANDABLE_KEY }), h("div", { key: 'fb5d07295e08c022aeb5f1fbd7fac4793e1d337a', class: { expandableContent: true, open: this.open } }, h("slot", { key: 'f236d82b58248c4289b327aa82b0487a1b12a714' }))));
|
|
82607
83233
|
}
|
|
82608
83234
|
componentDidLoad() {
|
|
82609
83235
|
setAttr(this.el.parentElement, XV_EXPANDABLE_KEY, true);
|
|
@@ -82658,7 +83284,7 @@ const XvTableRow = class {
|
|
|
82658
83284
|
}
|
|
82659
83285
|
}
|
|
82660
83286
|
render() {
|
|
82661
|
-
return (h(Host, { key: '
|
|
83287
|
+
return (h(Host, { key: '311a1b88a03de2e60f0dacfbddfee1966b759192' }, this.variant !== undefined && (h("xv-table-v2-cell", { key: '74aae5167235299e4d2eb3e38cf83435dfcb7d89', class: "cell-control" }, this.variant === 'checkbox' && (h("xv-checkbox-v2", { key: 'a7890c5ea8ca61cb8b6e9966596844983ae41e44', name: this.name, partial: this.partial, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly, onEventChange: this.checkHandle })), this.variant === 'radio' && (h("input", { key: '69517f260532878fed768cb5516720a065020a58', type: "radio", name: this.name, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly })))), h("slot", { key: 'ba7466543dfcf5891c2f937fdc4505e97e84f1a9' })));
|
|
82662
83288
|
}
|
|
82663
83289
|
componentWillLoad() {
|
|
82664
83290
|
this.setInitialAttrs();
|
|
@@ -83025,12 +83651,12 @@ const XvTagCombobox = class {
|
|
|
83025
83651
|
const ariaOwns = suggestionsVisible ? `${this.uid}-listbox` : undefined;
|
|
83026
83652
|
const activedesc = this.highlighted >= 0 ? this.optionId(this.highlighted) : undefined;
|
|
83027
83653
|
const message = resolveFieldMessage({ error: this.error, warning: this.warning, helper: this.helper });
|
|
83028
|
-
return (h(Host, { key: '
|
|
83654
|
+
return (h(Host, { key: 'e941872301b1952f26c4c5b90fa40f001574ec6a', class: "xv-combobox", part: "root", size: this.size }, this.label && h("label", { key: 'a4488e311b4aa48c5400a4c2d204cc18a632037f', class: "label" }, this.label), h("div", { key: 'b5915ce3fa303449bb9bc079cfff32750a6207ea', class: {
|
|
83029
83655
|
'control': true,
|
|
83030
83656
|
'control--disabled': this.disabled,
|
|
83031
83657
|
'control--error': !!this.error,
|
|
83032
83658
|
'control--readonly': !!this.readonly,
|
|
83033
|
-
}, onClick: () => this.blockClick() }, h("div", { key: '
|
|
83659
|
+
}, onClick: () => this.blockClick() }, h("div", { key: '47fbe13f27260fbdbc3e773cd55d04ce6ea9c136', class: "control-chips", role: "list" }, this.selected.map((s, i) => (h("xv-tag-v2", { role: "listitem", part: "chip", "data-value": s.value, size: this.COMPARE_TAG_SIZE[this.size], disabled: this.disabled, bg: (s === null || s === void 0 ? void 0 : s.bg) || 'var(--layer-accent-01, #F7F7F7)', color: (s === null || s === void 0 ? void 0 : s.color) || 'var(--text-primary, #333)', closeable: !this.readonly, onCloseClick: ({ detail }) => this.removeTag(i, detail) }, s.label))), h("input", { key: 'd68ffba3b0787cdb5674b56bfe2e7fea6ce9da5e', ref: (el) => (this.inputEl = el), class: "control-input", readonly: this.readonly, placeholder: this.selected.length ? '' : this.placeholder, value: this.inputValue, onInput: (e) => this.onInput(e), onKeyDown: (e) => this.onKeyDown(e), onFocus: () => { this.onOpen(); this.recomputeFiltered(); }, "aria-autocomplete": "list", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": ariaOwns, "aria-activedescendant": activedesc, disabled: this.disabled })), this.loading && (h("span", { key: 'e4833d5d863c300232ad4a154bddbfad20ec6e4c', class: "control-loader", part: "loader", "aria-hidden": "true" }, h("xv-loader-v2", { key: 'c997216442aa4e60b132584242432c640ae93d21', size: "sm", variant: "horizontal" })))), message && (h("p", { key: '5e1dce2e193273c85e1ad8f7a3873d31733c22a4', class: { message: true, [message.level]: true } }, message.text)), suggestionsVisible && (h("ul", { key: 'cf5b6ef73f11d2c780271174989c6c6ef46ac699', id: `${this.uid}-listbox`, class: "suggestions", role: "listbox", part: "listbox" }, this.filtered.map((opt, idx) => (h("li", { id: this.optionId(idx), class: { 'suggestions-opt': true, 'suggestions-opt--highlight': idx === this.highlighted }, role: "option", "aria-selected": idx === this.highlighted, onMouseEnter: () => this.onOptionMouseEnter(idx), onMouseDown: (ev) => ev.preventDefault(), onClick: () => this.selectOption(opt) }, h("div", { class: "suggestions-opt-content" }, opt.bg ? h("span", { class: "suggestions-opt-content--color", style: { background: opt.bg } }) : null, h("span", { class: "suggestions-opt-content--label" }, this.highlightLabel(opt.label).map((seg, i) => typeof seg === 'string' ? h("span", { key: i }, seg) : h("strong", { key: i }, seg.match)))))))))));
|
|
83034
83660
|
}
|
|
83035
83661
|
get host() { return getElement(this); }
|
|
83036
83662
|
static get watchers() { return {
|
|
@@ -83062,7 +83688,7 @@ const XvTag = class {
|
|
|
83062
83688
|
this.closeClick.emit(e);
|
|
83063
83689
|
}
|
|
83064
83690
|
render() {
|
|
83065
|
-
return (h(Host, { key: '
|
|
83691
|
+
return (h(Host, { key: 'ed4d390c8ef169083ecffe24b2acb4ec67b5880e', style: { color: this.color, background: this.bg }, class: `xv-tag ${this.disabled ? 'disabled' : ''} ${this.size}` }, h("div", { key: 'bab5476c05c44123ef241dbd3accd8964dbebb52', class: "xv-tag_content", part: "details-content" }, h("slot", { key: 'f8c3f1370ce99ddea046d0c39bc00a5e068e047b' })), this.closeable && (h("button", { key: 'c9cc9c79e51528c004147db83bd421f5417b718f', onClick: this.closeHandler.bind(this), class: "xv-tag_close" }))));
|
|
83066
83692
|
}
|
|
83067
83693
|
};
|
|
83068
83694
|
XvTag.style = xvTagCss();
|
|
@@ -83102,13 +83728,13 @@ const XvTextInput = class {
|
|
|
83102
83728
|
}
|
|
83103
83729
|
render() {
|
|
83104
83730
|
const message = resolveFieldMessage({ error: this.error, warning: this.warning, helper: this.helper });
|
|
83105
|
-
return (h(Host, { key: '
|
|
83731
|
+
return (h(Host, { key: '79042d7211819be55a545c7aaf96b008af3b0266', class: { disabled: !!this.disabled } }, h("label", { key: 'c46f6ba70140cdcb97ae554c33a863ca65cf1cf5', class: "control" }, this.label && h("span", { key: '01f9cb555e6ec53e8e1b0af99b3a083706bcbda3', class: "control_label" }, this.label), h("div", { key: 'f1da6bfba9b1c52cce4895766c1676811753cb74', class: {
|
|
83106
83732
|
'control_input': true,
|
|
83107
83733
|
readonly: !!this.readonly,
|
|
83108
83734
|
[this.size]: true,
|
|
83109
83735
|
error: !!this.error,
|
|
83110
83736
|
warning: !!this.warning,
|
|
83111
|
-
} }, h("input", { key: '
|
|
83737
|
+
} }, h("input", { key: '4760634ed3d635cd1e84843d76d5c26248f0d13b', autocomplete: this.autocomplete, type: (this.type === 'password' && this.isPasswordVisible && 'text') || this.type, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onInput: this.handleInput, name: this.name, value: this.value }), h("div", { key: 'b77c7f12f299082a2152a35cfeec3d62e84403b9', class: "control_input__icons" }, this.loading && h("xv-loader-v2", { key: '26b643e921c83f19119412b026901236d2649855', size: SIZE_VAR.XS }), this.clearable && this.value && !this.loading && !this.disabled && !this.readonly && (h("button", { key: 'b98166bd005da5b326f71e66ab9359d05295e9c4', type: "button", class: "status-icon clear", "aria-label": "Clear", onClick: this.handleClear }, "\u00D7")), !!this.error ? (h("span", { class: "status-icon error", "aria-hidden": "true" }, "!")) : !!this.warning ? (h("span", { class: "status-icon warning", "aria-hidden": "true" }, "\u26A0")) : null, this.type === 'password' && (h("button", { key: '9f175a3e5f68df8f6b5a2f96b42d47c2c5619ecc', onClick: this.togglePassword, disabled: this.disabled, class: "status-icon" }, h("svg", { key: '36c3df92e0eb7af38ac44f1f1f3dc041210631a0', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 640 512", width: 16, height: 16 }, this.isPasswordVisible ? (h("path", { fill: "currentColor", d: "M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z" })) : (h("path", { fill: "currentColor", d: "M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z" })))))))), message && (h("p", { key: '8875f82c52418fafef874e0c349e84dd1b67bc54', class: { message: true, [message.level]: true } }, message.text))));
|
|
83112
83738
|
}
|
|
83113
83739
|
static get formAssociated() { return true; }
|
|
83114
83740
|
};
|
|
@@ -83146,12 +83772,12 @@ const XvTextarea = class {
|
|
|
83146
83772
|
}
|
|
83147
83773
|
render() {
|
|
83148
83774
|
const message = resolveFieldMessage({ error: this.error, warning: this.warning, helper: this.helper });
|
|
83149
|
-
return (h(Host, { key: '
|
|
83775
|
+
return (h(Host, { key: '8e7b82b83f6145642480920bf9849742b5c4a67e', class: { disabled: !!this.disabled } }, h("label", { key: '59a74cb4d45e0d4b70181f3faf0a8dad9a81d614', class: "control" }, (this.label || this.max) && (h("p", { key: '8d4878a86e033cf33fb2d3444f6b3ffa36899d37', class: "control_label" }, h("span", { key: '306c34b609570b9e75f9324e3544a2a109b8f98d' }, this.label, this.info && h("xv-tooltip-v2", { key: 'd28af7a413eb42a50e1ace227c82bbcd2b025438', message: this.info })), this.max !== undefined && !this.counterHide && (h("span", { key: '52576a05c421328cdad75ff9c3d4088097f4922a', class: "control_label__count" }, this.value.length || 0, "/", this.max)))), h("div", { key: '4f97adacb8d95702abb772de002f03bed03fb16e', class: {
|
|
83150
83776
|
'control_input': true,
|
|
83151
83777
|
readonly: !!this.readonly,
|
|
83152
83778
|
error: !!this.error,
|
|
83153
83779
|
warning: this.warning !== undefined,
|
|
83154
|
-
} }, h("textarea", { key: '
|
|
83780
|
+
} }, h("textarea", { key: '98e6e771cb01f22cc364697cfe64345c4bd1683b', class: { 'no-resize': !!this.noResize }, name: this.name, rows: this.rows, value: this.value, maxLength: this.max, disabled: this.disabled, readOnly: this.readonly, placeholder: this.placeholder, onInput: this.onInput }), h("div", { key: '3b70c503fee52d6656e0c09deb1240a16ba0c901', class: "control_input__icons" }, this._renderIcon()))), message && (h("p", { key: 'e2868393a6c884f5c7aab30a6e4fd4497b8307d0', class: { message: true, [message.level]: true } }, message.text))));
|
|
83155
83781
|
}
|
|
83156
83782
|
_renderIcon() {
|
|
83157
83783
|
if (this.loading)
|
|
@@ -83202,7 +83828,7 @@ const XvTile = class {
|
|
|
83202
83828
|
this.checked = !this.checked;
|
|
83203
83829
|
}
|
|
83204
83830
|
render() {
|
|
83205
|
-
return (h(Host, { key: '
|
|
83831
|
+
return (h(Host, { key: 'aaeeccf8990e5e2ce7d3a261291d2908745f1e74', class: "xv-tile--host" }, h("label", { key: 'acf77670a01d9872a7224064527b79b4194307bc', class: {
|
|
83206
83832
|
[this.el.className]: !!this.el.className,
|
|
83207
83833
|
'xv-tile': true,
|
|
83208
83834
|
[`xv-tile--variant-${this.variant}`]: !!this.variant,
|
|
@@ -83210,7 +83836,7 @@ const XvTile = class {
|
|
|
83210
83836
|
'xv-tile--disabled': !!this.disabled,
|
|
83211
83837
|
'selected': !!this.checked,
|
|
83212
83838
|
'xv-tile--error': !!this.error,
|
|
83213
|
-
} }, h("div", { key: '
|
|
83839
|
+
} }, h("div", { key: 'e57313a08c5135152c9ba367a0b360a6a9333c63', class: "xv-tile_content" }, this.label && h("p", { key: 'e0182093f55e60bb9eb8bc759c3816f9ac201a6a', class: "xv-tile_content__title" }, this.label), h("slot", { key: '3d507a7bd6f7816079d873801ddb72f8f2ede9b6' })), this.variant === 'selectable' && (h("div", { key: '96892981b579f5ddb21d2d897f037abd17102ba7', class: "xv-tile_control" }, this.multiple ? (h("input", { type: "checkbox", disabled: this.disabled || this.readonly, readonly: this.readonly, onChange: this.handleChange, name: this.name, value: this.value, checked: this.checked })) : (h("input", { type: "radio", disabled: this.disabled || this.readonly, readonly: this.readonly, onChange: this.handleChange, name: this.name, value: this.value, checked: this.checked })))), (this.variant === 'clickable' || this.variant === 'expandable') && (h("div", { key: 'ec5750ee2a4f6898393b3cc3ddc3aef989208456', class: "xv-tile_footer" }, h("button", { key: '031964c0d328d89f70df52a2723a295a2fa409d2', class: { 'xv-tile_footer__icon': true, [`icon--${this.variant}`]: true, open: this.checked } }))), h("div", { key: '31efefae6b9fad590ce1e1145dd16be6def61f02', class: { 'xv-tile_expandable': true, open: this.checked } }, h("slot", { key: '59dc3a92d9ea4158d9edba752cb7e8846c068c20', name: "expandable" })))));
|
|
83214
83840
|
}
|
|
83215
83841
|
get el() { return getElement(this); }
|
|
83216
83842
|
};
|
|
@@ -83242,7 +83868,7 @@ const XvToggle = class {
|
|
|
83242
83868
|
};
|
|
83243
83869
|
}
|
|
83244
83870
|
render() {
|
|
83245
|
-
return (h(Host, { key: '
|
|
83871
|
+
return (h(Host, { key: '19a5cfc45aa468c93b6b0dc3d61d5dbc69a02e28', class: { 'xv-toggle': true, disabled: this.disabled, readonly: !!this.readonly, block: !!this.block } }, this.label && h("span", { key: '07e87a9fa4a5cc82e35c9a4860fa5bf2f08aa14b', class: "label" }, this.label), h("label", { key: '0f023f5e6ab44023441c09d07e098ac633b64863', class: "control" }, h("slot", { key: '9557fa03fa243f56ad8725521064a09d1b40f186', name: "before" }), h("div", { key: '550587838ab46027f1b5b371ab84653e751c593d', class: "control_input" }, h("input", { key: 'b75fd651bfc5b8eb7b5451d38504f71104894e44', type: "checkbox", readonly: this.readonly, name: this.name, value: this.value, checked: this.checked, disabled: this.disabled || this.readonly, onChange: this.onChange }), h("span", { key: 'fbafd5d851099473ec795541c5ff8b59ca26e327', class: "toggle" })), h("slot", { key: '08948e6980e8b7bd8146f39d28af5832ace11d49', name: "after" }))));
|
|
83246
83872
|
}
|
|
83247
83873
|
static get formAssociated() { return true; }
|
|
83248
83874
|
};
|
|
@@ -83319,7 +83945,7 @@ const XvToggleTip = class {
|
|
|
83319
83945
|
}
|
|
83320
83946
|
;
|
|
83321
83947
|
render() {
|
|
83322
|
-
return (h(Host, { key: '
|
|
83948
|
+
return (h(Host, { key: '19f3956d61f53cfd4974ebf74eca2e59eda96bbe', class: "xv-toggle-tip" }, h("div", { key: '02df021b69a17a7320e087acc3472921da76cbec', class: { 'trigger': true, 'trigger--block': this.block }, role: "button", tabindex: "0", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": "popover", onClick: () => this.setPopover(!this.open), ref: (el) => (this.triggerEl = el) }, h("slot", { key: 'bf9322a2c89c2ab8af45a34c1fa8062d6b0d9c85', name: "trigger" }, h("svg", { key: '49d5177854b74ac8701477ba6b5cf43b3ca10ca0', class: "trigger_icon", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", width: 16, height: 16 }, h("path", { key: 'd38493c5b444b8e5b2f29286e09ac3f813d8091a', fill: "currentColor", d: "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z" })))), h("div", { key: '21c766a13e4ebfbfc8e5a4d37466a661730c50ac', class: { popover: true, autoSize: !!this.autoSize }, role: "tooltip", tabindex: "-1", ref: (el) => (this.popoverEl = el) }, h("div", { key: 'c1dd6ee875cb9f68068c6067271fd9204b1f76c2', class: "popover-tip", part: "tip", "data-popper-arrow": "" }), h("div", { key: '1905eb38b9199c84a4c145a80c3957f1d76a18ed', class: "popover-content" }, h("slot", { key: '6ca62c2347633dd9411feefa36f33147e6eed69b', name: "header" }), h("slot", { key: 'e41510dd45b200b138d324bfb26a7bd6f8a8a667', name: "body" }), h("slot", { key: '20e4af025e79a515724379e9be82ed703cb57e2b', name: "footer" })))));
|
|
83323
83949
|
}
|
|
83324
83950
|
disconnectedCallback() {
|
|
83325
83951
|
this.destroyPopper();
|
|
@@ -83374,14 +84000,14 @@ const XvTooltip = class {
|
|
|
83374
84000
|
this.destroyTooltip();
|
|
83375
84001
|
}
|
|
83376
84002
|
render() {
|
|
83377
|
-
return (h(Host, { key: '
|
|
84003
|
+
return (h(Host, { key: 'dd4bb9b3cba5a7d8a0a326ec58455743025eecb6', role: "tooltip", class: {
|
|
83378
84004
|
'xv-tooltip-wrapper': true,
|
|
83379
84005
|
[`xv-tooltip-wrapper__block`]: !!this.block,
|
|
83380
84006
|
[`xv-tooltip-wrapper__dashed`]: !!this.dashed,
|
|
83381
|
-
} }, h("slot", { key: '
|
|
84007
|
+
} }, h("slot", { key: '6fb648c67f6451eafe33a2b6ea7e91f256f1353b' }, h("svg", { key: '130f9a4f275c8562d3c192acd0e608be68620c6d', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", width: 16, height: 16 }, h("path", { key: '85dfddeac164ba00a615a5ed5f9e1cb8535806a0', fill: "currentColor", d: "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z" })))));
|
|
83382
84008
|
}
|
|
83383
84009
|
get el() { return getElement(this); }
|
|
83384
84010
|
};
|
|
83385
84011
|
XvTooltip.style = xvTooltipCss();
|
|
83386
84012
|
|
|
83387
|
-
export { XvAccordion as xv_accordion_v2, XvAccordionItem as xv_accordion_v2_item, XvBreadcrumbs as xv_breadcrumbs_v2, XvButtonGroup as xv_button_group_v2, XvButton as xv_button_v2, XvCard as xv_card_v2, XvCheckbox as xv_checkbox_v2, XvContentSwitcherItem as xv_content_switcher_item_v2, XvContentSwitcher as xv_content_switcher_v2, XvDataTable as xv_data_table, XvDataTableCell as xv_data_table_cell, XvDataTableCollapse as xv_data_table_collapse, XvDataTableRow as xv_data_table_row, XvDatepicker as xv_datepicker, XvDropdown as xv_dropdown_v2, XvDropdownItem as xv_dropdown_v2_item, XvFileUploader as xv_file_uploader, Xvfooter as xv_footer, XvHeader as xv_header, XvImageViewer as xv_image_viewer, XvLink as xv_link_v2, XvLoader as xv_loader_v2, XvLoginModal as xv_login_modal, XvMegaMenu as xv_mega_menu, XvModal as xv_modal_v2, XvNotification as xv_notification_v2, XvNumberInput as xv_number_input_v2, XvOverflowMenu as xv_overflow_menu_v2, XvOverflowMenuItem as xv_overflow_menu_v2_item, XvPagination as xv_pagination, XvProgressIndicator as xv_progress_indicator_v2, XvProgressIndicatorItem as xv_progress_indicator_v2_item, XvRadio as xv_radio_v2, XvSlider as xv_slider_v2, XvTab as xv_tab_v2, XvTable as xv_table_v2, XvTableCell as xv_table_v2_cell, XvTableExpand as xv_table_v2_expand, XvTableRow as xv_table_v2_row, XvTabs as xv_tabs_v2, XvTagCombobox as xv_tag_combobox, XvTag as xv_tag_v2, XvTextInput as xv_text_input_v2, XvTextarea as xv_textarea, XvTile as xv_tile, XvToggle as xv_toggle, XvToggleTip as xv_toggle_tip, XvTooltip as xv_tooltip_v2 };
|
|
84013
|
+
export { XvAccordion as xv_accordion_v2, XvAccordionItem as xv_accordion_v2_item, XvBreadcrumbs as xv_breadcrumbs_v2, XvButtonGroup as xv_button_group_v2, XvButton as xv_button_v2, XvCard as xv_card_v2, XvCheckbox as xv_checkbox_v2, XvContentSwitcherItem as xv_content_switcher_item_v2, XvContentSwitcher as xv_content_switcher_v2, XvDataTable as xv_data_table, XvDataTableCell as xv_data_table_cell, XvDataTableCollapse as xv_data_table_collapse, XvDataTableRow as xv_data_table_row, XvDatepicker as xv_datepicker, XvDropdown as xv_dropdown_v2, XvDropdownItem as xv_dropdown_v2_item, XvFileUploader as xv_file_uploader, Xvfooter as xv_footer, XvGeoMap as xv_geo_map_v2, XvHeader as xv_header, XvImageViewer as xv_image_viewer, XvLink as xv_link_v2, XvLoader as xv_loader_v2, XvLoginModal as xv_login_modal, XvMegaMenu as xv_mega_menu, XvModal as xv_modal_v2, XvNotification as xv_notification_v2, XvNumberInput as xv_number_input_v2, XvOverflowMenu as xv_overflow_menu_v2, XvOverflowMenuItem as xv_overflow_menu_v2_item, XvPagination as xv_pagination, XvProgressIndicator as xv_progress_indicator_v2, XvProgressIndicatorItem as xv_progress_indicator_v2_item, XvRadio as xv_radio_v2, XvSlider as xv_slider_v2, XvTab as xv_tab_v2, XvTable as xv_table_v2, XvTableCell as xv_table_v2_cell, XvTableExpand as xv_table_v2_expand, XvTableRow as xv_table_v2_row, XvTabs as xv_tabs_v2, XvTagCombobox as xv_tag_combobox, XvTag as xv_tag_v2, XvTextInput as xv_text_input_v2, XvTextarea as xv_textarea, XvTile as xv_tile, XvToggle as xv_toggle, XvToggleTip as xv_toggle_tip, XvTooltip as xv_tooltip_v2 };
|