xv-webcomponents 1.22.2 → 1.23.1
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} +655 -66
- 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.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.js +1 -1
- 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 +984 -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} +655 -67
- 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-geo-map/xv-geo-map.d.ts +115 -0
- package/dist/types/components.d.ts +217 -0
- package/dist/xv-webcomponents/{p-511519a7.entry.js → p-77bd6e1f.entry.js} +2 -2
- package/dist/xv-webcomponents/{p-38e5f1e1.entry.js → p-93bd2dca.entry.js} +1 -1
- package/dist/xv-webcomponents/{p-7e05cb50.entry.js → p-9e3130ff.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
|
@@ -197,7 +197,7 @@ const XvHeaderNext = class {
|
|
|
197
197
|
render() {
|
|
198
198
|
var _a, _b, _c, _d, _e;
|
|
199
199
|
const isXvBrand = (((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a['WhitelabelName']) || 'Xv') === 'Xv';
|
|
200
|
-
return (h("header", { key: '
|
|
200
|
+
return (h("header", { key: 'e1932c70380d756af07bfa05675b9d5c2c547289', class: "header" }, h("div", { key: '183eee57978f19fcb219d7db91ee595550a1107c', class: "header-wrapper" }, h("div", { key: '02fcd66ff4da907903f1e334ad5a53a7b9bb2059', class: "xv-container" }, h("div", { key: 'aab66eb90337e98f4e59d42aaac564b378f1ab96', class: "header-top" }, h("div", { key: 'c5fcfa9014bb2bfb0bced02bd7719ea1035d0908', class: "header-top--left" }, h("xv-button-v2", { key: '4a976abf3371f24ce5effaf4cf8ff8362de94403', class: "menu-btn", variant: "ghost", onClick: this.toggleMobMenu }, h("i", { key: '7e0813834a2d910eeb8caf845a20578941d6b849', slot: "icon-left", class: { 'fa': true, 'fa-times': this.mobMenuOpen, 'fa-bars': !this.mobMenuOpen } })), this.metaNav && (h("a", { key: '307c66eb52256b5a2babf83ae73374e773742608', href: `${window.location.origin}/` }, h("picture", { key: '40a68d07333b94a546e64b64dedf3d1f0aad33e3' }, h("source", { key: 'b1ea9728fbaa7be3db49ef5f345da13e5d9fe128', 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: '26b55e09faf33d6fd7b15eadbfcfd7983ea9091b', 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: 'a6afdfd42951d557582e2e5b19fe10ac3d3ab3d7', class: "header-top--orgUnit", variant: "standalone", href: "/de-de/mycrossvertise" }, this.orgUnit))), h("ul", { key: '448514d89b69358c4de90be5f3a2e81efd983bea', class: "header-top--right" }, this._renderLocaleSwitcher(), this._renderSearch(), this._renderImpersonationInfo(), !((_d = this.metaNav) === null || _d === void 0 ? void 0 : _d.IsManager) && isXvBrand && (h("li", { key: '61035a716a07da5a2aae58424378ef01983bf824' }, h("xv-link-v2", { key: '7c57c3260f4f27595cb812ad1dec511914d5335c', variant: "ghost", href: "https://www.crossvertise.com/ueber-uns/kontakt" }, h("xv-button-v2", { key: '4abd8f7dcf600df0a14e6838fee395f441fede9d', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: '09c17b6dc458482bd5bc037c33879e717e5e2414', class: "header-icon far fa-envelope" }), h("span", { key: 'd26a89c70294dc18303f5909e354d815fa254d0c', 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: '33b0d3b5c9c239a3a528375b72ed105084f70851' }, h("xv-link-v2", { key: '38a72e3aeff4ffdd95cf3b65eb0d1b48f9d4cdb9', variant: "ghost", href: "https://help.crossvertise.com" }, h("xv-button-v2", { key: 'f9adcd32c71b048b5bcd477a2bdf2c9dff8461d7', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: '0cf12dc0e0b8cfd7a6541f4e656b66dbcb9d8cbf', class: "header-icon far fa-question-circle" }), h("span", { key: '3c329275f4ec1575bab6ec0fe66704e56ad9d084', class: "header-label xv-body-02" }, "Hilfe"))))), this._renderShoppingCart()))), h("div", { key: '52276a7cfae8499d7818c792faa9917af5dbc1b3', class: "header-wrapper--bg" }, h("div", { key: 'd7d308bf85f8b085632cd3eab6a065569cb70f68', class: "xv-container" }, h("xv-mega-menu-next", { key: 'df7cd9de15f68c121e8b59bd4a0910473afcad7f', open: this.mobMenuOpen, onOpenChange: this.closeMobMenu, menuData: this.menuData })))), h("xv-login-modal", { key: '132923db6ca3327bf9db41470ef6837b357a42fe', visible: this.showLoginModal, onClose: () => this.showLoginModal = false })));
|
|
201
201
|
}
|
|
202
202
|
get el() { return getElement(this); }
|
|
203
203
|
};
|
|
@@ -88,7 +88,7 @@ const XvMegaMenuNext = class {
|
|
|
88
88
|
void this.fetchMenuData();
|
|
89
89
|
}
|
|
90
90
|
render() {
|
|
91
|
-
return (h(Host, { key: '
|
|
91
|
+
return (h(Host, { key: 'bad4de2d6c069fbd9af916193a34374e44605035' }, h("nav", { key: '2178773027093967b6b1a173739ad7c730849ac2', class: { 'xv-menu': true, open: this.open } }, this.menuLoading && (h("div", { key: '0b1696d0d4d73406a253265133e6367f80647054', class: { 'xv-menu-loader': true, open: this.open } }, h("xv-loader-v2", { key: '569f2b3f58bfeeeb0f92ae18325db675a68e536e' }))), h("ul", { key: '58f6fd94abeeeb920d75ed3bcd2855830b380e97', class: { menu: true, open: this.open } }, this.menuItems.map((menuItem) => {
|
|
92
92
|
var _a, _b;
|
|
93
93
|
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) => {
|
|
94
94
|
var _a;
|
|
@@ -98,7 +98,7 @@ const XvMegaMenuNext = class {
|
|
|
98
98
|
} }, 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' &&
|
|
99
99
|
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"))))))))));
|
|
100
100
|
}))))));
|
|
101
|
-
}), h("li", { key: '
|
|
101
|
+
}), h("li", { key: '38b8acb36359a7a5d7df00e786155590741e3204', class: "menu--right" }, h("slot", { key: 'a1d1b1339febe43b3bc21fe5380aed17c7657c4a', name: "menu-right" })), this.open && (h("li", { key: '3bde394cc93c860d2221ca9ef8c428a537cbc7c6', class: "menu--backdrop", onClick: () => this.handleClose() }))))));
|
|
102
102
|
}
|
|
103
103
|
get el() { return getElement(this); }
|
|
104
104
|
static get watchers() { return {
|
|
@@ -16,5 +16,5 @@ var patchBrowser = () => {
|
|
|
16
16
|
|
|
17
17
|
patchBrowser().then(async (options) => {
|
|
18
18
|
await globalScripts();
|
|
19
|
-
return bootstrapLazy([["xv-accordion-v2_48",[[0,"xv-header",{"metaNav":[32],"orgUnit":[32],"baseUrl":[32],"loading":[32],"mobMenuOpen":[32],"suggestions":[32],"suggestionsLoading":[32],"notifications":[32],"showLoginModal":[32]},[[8,"xv:orgUnitChange","handleOrgUnitChange"],[8,"xv:metaNav-update","metaNavUpdate"]]],[257,"xv-dropdown-v2",{"search":[516],"disabled":[516],"multiple":[516],"required":[516],"loading":[516],"readonly":[516],"open":[1540],"error":[520],"label":[513],"helper":[513],"warning":[513],"placeholder":[513],"info":[1],"searchPlaceholder":[1,"search-placeholder"],"size":[1],"defaultValue":[8,"default-value"],"value":[1032],"variant":[1],"position":[1],"selected":[32],"selectedMap":[32],"resolvedPosition":[32]},[[0,"itemSelected","handleItemSelected"],[0,"keydown","handleKeyDown"]],{"open":[{"openChangeHandle":0}],"multiple":[{"multipleChangeHandle":0}],"value":[{"valueChange":1}]}],[257,"xv-data-table-row",{"variant":[1],"name":[1025],"collapse":[1],"collapsable":[516],"checked":[1028],"partial":[1028],"hover":[1028],"group":[4],"header":[4],"footer":[4],"disabled":[4],"readonly":[4],"required":[4],"value":[8],"collapsed":[32],"reorderable":[32],"reorderHandleMode":[32],"close":[64]}],[65,"xv-datepicker",{"value":[1040],"variant":[1],"label":[1],"helper":[1],"error":[8],"warning":[8],"readonly":[4],"disabled":[4],"loading":[4],"block":[4],"size":[513],"min":[1],"max":[1],"month":[32],"days":[32],"open":[32],"localError":[32]},[[4,"click","handleClickOutside"]],{"open":[{"openChange":0}],"month":[{"getCalendarGrid":0}],"value":[{"handleValueChange":0}]}],[1,"xv-file-uploader",{"label":[1],"description":[1],"addText":[1,"add-text"],"variant":[1],"size":[1],"accept":[16],"buttonVariant":[1,"button-variant"],"maxFileSizeMB":[2,"max-file-size-mb"],"maxFiles":[2,"max-files"],"multiple":[4],"disabled":[516],"files":[1040],"loadingStates":[1040],"error":[1537],"errors":[1040],"dragActive":[32],"errorMessages":[32],"clearFiles":[64]}],[65,"xv-number-input-v2",{"label":[1],"placeholder":[513],"name":[513],"value":[1538],"helper":[1],"error":[8],"warning":[8],"step":[2],"max":[2],"min":[2],"readonly":[4],"disabled":[4],"loading":[4],"block":[516],"size":[513]}],[1,"xv-pagination",{"itemsPerPage":[1026,"items-per-page"],"itemsPerPageOptions":[1,"items-per-page-options"],"total":[2],"page":[1026],"size":[1],"block":[4],"variant":[1],"responsiveVariant":[16],"totalItems":[2,"total-items"],"currentVariant":[32]}],[257,"xv-table-v2-row",{"checked":[1540],"partial":[1540],"name":[1537],"value":[520],"hover":[1540],"readonly":[516],"required":[516],"disabled":[516],"header":[516],"variant":[1537]},null,{"checked":[{"checkedChangeHandle":0}]}],[1,"xv-tag-combobox",{"options":[16],"label":[1],"size":[1],"placeholder":[1],"allowCreate":[4,"allow-create"],"maxSuggestions":[2,"max-suggestions"],"disabled":[4],"loading":[4],"readonly":[4],"error":[8],"warning":[8],"helper":[1],"value":[16],"normalizedOptions":[32],"selected":[32],"inputValue":[32],"open":[32],"filtered":[32],"highlighted":[32],"focusInput":[64],"clear":[64]},null,{"options":[{"watchOptions":0}],"value":[{"watchValue":0}]}],[65,"xv-textarea",{"value":[1025],"name":[1],"label":[1],"placeholder":[1],"helper":[1],"info":[1],"error":[8],"warning":[8],"disabled":[4],"readonly":[4],"block":[4],"counterHide":[4,"counter-hide"],"noResize":[4,"no-resize"],"loading":[4],"max":[2],"rows":[2],"size":[513]}],[257,"xv-data-table",{"size":[1],"block":[520],"loading":[4],"columnWidths":[16],"multiple":[516],"hover":[4],"reorderable":[516],"reorderHandle":[513,"reorder-handle"]},null,{"reorderable":[{"reorderableChanged":0}],"reorderHandle":[{"reorderHandleChanged":0}]}],[257,"xv-dropdown-v2-item",{"disabled":[4],"value":[1544],"selected":[1540],"multiple":[516],"size":[513]},[[0,"click","handleClick"]]],[257,"xv-image-viewer",{"src":[1],"fullscreenSrc":[1,"fullscreen-src"],"alt":[1],"placeholder":[1],"lazy":[4],"isFullscreen":[32],"loaded":[32],"fullscreenLoaded":[32],"errored":[32]}],[257,"xv-tab-v2",{"label":[513],"disabled":[516],"loading":[516],"name":[8]}],[257,"xv-table-v2",{"size":[513],"hover":[516],"loading":[516],"colsSize":[16],"selected":[32],"selectedCount":[32]},[[0,"checkedChange","handleCheckedChange"]],{"colsSize":[{"setColsSizeTemplate":0}]}],[257,"xv-tabs-v2",{"active":[1544],"loading":[516],"variant":[1],"emptyMessage":[1,"empty-message"],"hideSingleTab":[4,"hide-single-tab"],"tabElements":[32],"showArrows":[32]},[[9,"resize","updateArrowVisibility"]]],[257,"xv-accordion-v2",{"multiple":[4],"xvId":[1,"xv-id"],"value":[1025],"opened":[32],"toggleItem":[64]}],[257,"xv-accordion-v2-item",{"disabled":[4],"label":[1],"value":[1],"isOpen":[32]},[[16,"accordionChange","handleAccordionChange"]]],[260,"xv-breadcrumbs-v2"],[257,"xv-button-group-v2",{"variant":[513],"multiple":[516],"value":[1025]},[[0,"click","handleClick"]],{"value":[{"onSelectionInputChange":0}],"multiple":[{"onSelectionInputChange":0}]}],[257,"xv-content-switcher-item-v2",{"value":[520],"label":[513],"icon":[513],"disabled":[516]}],[257,"xv-content-switcher-v2",{"selected":[1544],"size":[513],"iconOnly":[516,"icon-only"],"disabled":[516],"block":[516],"controlled":[516],"items":[32]}],[257,"xv-data-table-collapse",{"collapsed":[1540],"setCollapsed":[64]}],[0,"xv-footer",{"data":[32]},[[8,"xv:metaNav-update","handleLoadData"]]],[257,"xv-progress-indicator-v2",{"progress":[514],"variant":[1],"size":[1]},null,{"progress":[{"updateChildItems":0}]}],[257,"xv-progress-indicator-v2-item",{"status":[1]}],[324,"xv-radio-v2",{"name":[1],"value":[1],"label":[1],"checked":[1028],"indeterminate":[4],"block":[4],"disabled":[4],"required":[4],"reverse":[4],"readonly":[4],"error":[8],"warning":[520],"helper":[1],"size":[1]},null,{"checked":[{"onCheckedChange":0}]}],[65,"xv-slider-v2",{"label":[1],"name":[1],"min":[2],"max":[2],"value":[1026],"step":[2],"disabled":[4],"readonly":[4],"notEditable":[4,"not-editable"]}],[257,"xv-table-v2-expand",{"open":[1540],"disabled":[516]}],[260,"xv-tile",{"variant":[513],"label":[1],"error":[4],"multiple":[4],"disabled":[4],"block":[4],"name":[1],"message":[513],"value":[1025],"checked":[1028],"readonly":[1028]},[[4,"tileChange","tileChangeHandle"],[0,"click","handleClick"]]],[321,"xv-toggle",{"label":[1],"value":[1],"name":[1],"checked":[1540],"disabled":[4],"readonly":[4],"size":[513],"block":[4]}],[257,"xv-mega-menu",{"open":[1540],"activeItem":[32],"activeGroup":[32],"menuItems":[32],"applicationContext":[32],"menuLoading":[32]},[[4,"click","handleClickOutside"]]],[257,"xv-data-table-cell",{"name":[1025],"sort":[1537],"multiline":[520],"width":[1],"align":[1],"tooltip":[1]},[[0,"click","handleSort"]]],[257,"xv-table-v2-cell",{"multiline":[516],"name":[1537],"align":[513],"sort":[1537]},[[0,"click","handleSort"]]],[2,"xv-login-modal",{"visible":[4],"urls":[32],"loading":[32],"errorMessage":[32]}],[257,"xv-overflow-menu-v2",{"open":[1540],"disabled":[516],"position":[1],"alignment":[1],"size":[1],"tooltip":[1],"anchor":[1],"activeId":[32],"openMenu":[64],"closeMenu":[64],"toggleMenu":[64]},[[0,"keydown","handleKeyDown"]],{"open":[{"openChangeHandle":0}],"anchor":[{"anchorChangeHandle":0}]}],[257,"xv-overflow-menu-v2-item",{"disabled":[516],"value":[520],"variant":[513],"clickable":[4],"href":[1],"target":[1],"divider":[516],"hasIcon":[32],"hasIconEnd":[32]},[[0,"click","handleClick"]]],[257,"xv-toggle-tip",{"open":[1540],"autoSize":[516,"auto-size"],"block":[4],"position":[1],"setPopover":[64]},[[4,"click","handleClickOutside"],[0,"keydown","handleKeyDown"]],{"open":[{"openChangeHandle":0}]}],[257,"xv-modal-v2",{"open":[1540],"permanent":[516],"size":[513],"overflow":[516],"loading":[4],"openModal":[64],"closeModal":[64]}],[257,"xv-notification-v2",{"variant":[513],"dismissible":[516]}],[65,"xv-text-input-v2",{"type":[1],"label":[1],"placeholder":[513],"name":[513],"value":[1025],"autocomplete":[1],"helper":[1],"error":[8],"warning":[8],"readonly":[4],"disabled":[4],"loading":[4],"block":[516],"clearable":[516],"size":[513],"isPasswordVisible":[32]}],[257,"xv-card-v2",{"variant":[1],"media":[1],"header":[1],"body":[1],"footer":[1]}],[257,"xv-link-v2",{"href":[1],"target":[1],"disabled":[4],"size":[1],"variant":[1]}],[321,"xv-checkbox-v2",{"checked":[1540],"indeterminate":[516],"disabled":[516],"name":[513],"value":[513],"readonly":[516],"required":[516],"partial":[516],"label":[1],"size":[513],"error":[520],"align":[513],"hasFocus":[32]},null,{"checked":[{"onCheckedChange":0}]}],[257,"xv-tag-v2",{"size":[1],"color":[1],"bg":[1],"disabled":[4],"closeable":[4]}],[260,"xv-tooltip-v2",{"message":[1],"position":[1],"block":[4],"dashed":[4]},[[1,"mouseenter","onMouseEnter"],[1,"mouseleave","onMouseLeave"]]],[321,"xv-button-v2",{"value":[513],"name":[1],"label":[513],"variant":[513],"size":[513],"disabled":[516],"loading":[516],"block":[516],"type":[513],"active":[516],"hasLeftIcon":[32],"hasRightIcon":[32],"hasContent":[32]}],[257,"xv-loader-v2",{"show":[4],"variant":[1],"size":[1]}]]],["xv-mega-menu-next",[[257,"xv-mega-menu-next",{"open":[1540],"menuData":[1,"menu-data"],"activeItem":[32],"activeGroup":[32],"menuItems":[32],"applicationContext":[32],"menuLoading":[32]},[[4,"click","handleClickOutside"]],{"menuData":[{"onMenuDataChange":0}]}]]],["xv-header-next",[[0,"xv-header-next",{"menuData":[1,"menu-data"],"currentLocale":[1,"current-locale"],"locales":[1],"metaNav":[32],"orgUnit":[32],"baseUrl":[32],"loading":[32],"mobMenuOpen":[32],"suggestions":[32],"suggestionsLoading":[32],"notifications":[32],"showLoginModal":[32]},[[8,"xv:orgUnitChange","handleOrgUnitChange"],[8,"xv:metaNav-update","metaNavUpdate"]]]]]], options);
|
|
19
|
+
return bootstrapLazy(JSON.parse("[[\"xv-accordion-v2_49\",[[0,\"xv-header\",{\"metaNav\":[32],\"orgUnit\":[32],\"baseUrl\":[32],\"loading\":[32],\"mobMenuOpen\":[32],\"suggestions\":[32],\"suggestionsLoading\":[32],\"notifications\":[32],\"showLoginModal\":[32]},[[8,\"xv:orgUnitChange\",\"handleOrgUnitChange\"],[8,\"xv:metaNav-update\",\"metaNavUpdate\"]]],[257,\"xv-dropdown-v2\",{\"search\":[516],\"disabled\":[516],\"multiple\":[516],\"required\":[516],\"loading\":[516],\"readonly\":[516],\"open\":[1540],\"error\":[520],\"label\":[513],\"helper\":[513],\"warning\":[513],\"placeholder\":[513],\"info\":[1],\"searchPlaceholder\":[1,\"search-placeholder\"],\"size\":[1],\"defaultValue\":[8,\"default-value\"],\"value\":[1032],\"variant\":[1],\"position\":[1],\"selected\":[32],\"selectedMap\":[32],\"resolvedPosition\":[32]},[[0,\"itemSelected\",\"handleItemSelected\"],[0,\"keydown\",\"handleKeyDown\"]],{\"open\":[{\"openChangeHandle\":0}],\"multiple\":[{\"multipleChangeHandle\":0}],\"value\":[{\"valueChange\":1}]}],[257,\"xv-data-table-row\",{\"variant\":[1],\"name\":[1025],\"collapse\":[1],\"collapsable\":[516],\"checked\":[1028],\"partial\":[1028],\"hover\":[1028],\"group\":[4],\"header\":[4],\"footer\":[4],\"disabled\":[4],\"readonly\":[4],\"required\":[4],\"value\":[8],\"collapsed\":[32],\"reorderable\":[32],\"reorderHandleMode\":[32],\"close\":[64]}],[65,\"xv-datepicker\",{\"value\":[1040],\"variant\":[1],\"label\":[1],\"helper\":[1],\"error\":[8],\"warning\":[8],\"readonly\":[4],\"disabled\":[4],\"loading\":[4],\"block\":[4],\"size\":[513],\"min\":[1],\"max\":[1],\"disabledDates\":[16],\"month\":[32],\"days\":[32],\"open\":[32],\"localError\":[32]},[[4,\"click\",\"handleClickOutside\"]],{\"open\":[{\"openChange\":0}],\"month\":[{\"getCalendarGrid\":0}],\"min\":[{\"getCalendarGrid\":0}],\"max\":[{\"getCalendarGrid\":0}],\"disabledDates\":[{\"getCalendarGrid\":0}],\"value\":[{\"handleValueChange\":0}]}],[1,\"xv-file-uploader\",{\"label\":[1],\"description\":[1],\"addText\":[1,\"add-text\"],\"variant\":[1],\"size\":[1],\"accept\":[16],\"buttonVariant\":[1,\"button-variant\"],\"maxFileSizeMB\":[2,\"max-file-size-mb\"],\"maxFiles\":[2,\"max-files\"],\"multiple\":[4],\"disabled\":[516],\"files\":[1040],\"loadingStates\":[1040],\"error\":[1537],\"errors\":[1040],\"dragActive\":[32],\"errorMessages\":[32],\"clearFiles\":[64]}],[65,\"xv-number-input-v2\",{\"label\":[1],\"placeholder\":[513],\"name\":[513],\"value\":[1538],\"helper\":[1],\"error\":[8],\"warning\":[8],\"step\":[2],\"max\":[2],\"min\":[2],\"readonly\":[4],\"disabled\":[4],\"loading\":[4],\"block\":[516],\"size\":[513]}],[1,\"xv-pagination\",{\"itemsPerPage\":[1026,\"items-per-page\"],\"itemsPerPageOptions\":[1,\"items-per-page-options\"],\"total\":[2],\"page\":[1026],\"size\":[1],\"block\":[4],\"variant\":[1],\"responsiveVariant\":[16],\"totalItems\":[2,\"total-items\"],\"currentVariant\":[32]}],[257,\"xv-table-v2-row\",{\"checked\":[1540],\"partial\":[1540],\"name\":[1537],\"value\":[520],\"hover\":[1540],\"readonly\":[516],\"required\":[516],\"disabled\":[516],\"header\":[516],\"variant\":[1537]},null,{\"checked\":[{\"checkedChangeHandle\":0}]}],[1,\"xv-tag-combobox\",{\"options\":[16],\"label\":[1],\"size\":[1],\"placeholder\":[1],\"allowCreate\":[4,\"allow-create\"],\"maxSuggestions\":[2,\"max-suggestions\"],\"disabled\":[4],\"loading\":[4],\"readonly\":[4],\"error\":[8],\"warning\":[8],\"helper\":[1],\"value\":[16],\"normalizedOptions\":[32],\"selected\":[32],\"inputValue\":[32],\"open\":[32],\"filtered\":[32],\"highlighted\":[32],\"focusInput\":[64],\"clear\":[64]},null,{\"options\":[{\"watchOptions\":0}],\"value\":[{\"watchValue\":0}]}],[65,\"xv-textarea\",{\"value\":[1025],\"name\":[1],\"label\":[1],\"placeholder\":[1],\"helper\":[1],\"info\":[1],\"error\":[8],\"warning\":[8],\"disabled\":[4],\"readonly\":[4],\"block\":[4],\"counterHide\":[4,\"counter-hide\"],\"noResize\":[4,\"no-resize\"],\"loading\":[4],\"max\":[2],\"rows\":[2],\"size\":[513]}],[257,\"xv-data-table\",{\"size\":[1],\"block\":[520],\"loading\":[4],\"columnWidths\":[16],\"multiple\":[516],\"hover\":[4],\"reorderable\":[516],\"reorderHandle\":[513,\"reorder-handle\"]},null,{\"reorderable\":[{\"reorderableChanged\":0}],\"reorderHandle\":[{\"reorderHandleChanged\":0}]}],[257,\"xv-dropdown-v2-item\",{\"disabled\":[4],\"value\":[1544],\"selected\":[1540],\"multiple\":[516],\"size\":[513]},[[0,\"click\",\"handleClick\"]]],[1,\"xv-geo-map-v2\",{\"apiBase\":[1,\"api-base\"],\"indicator\":[1],\"indicatorLabel\":[1,\"indicator-label\"],\"level\":[1],\"resolution\":[1],\"tiles\":[1],\"attribution\":[1],\"centerLng\":[2,\"center-lng\"],\"centerLat\":[2,\"center-lat\"],\"zoom\":[2],\"selectZoom\":[2,\"select-zoom\"],\"workerUrl\":[1,\"worker-url\"],\"lazy\":[4],\"ready\":[32],\"loadError\":[32],\"zoomGated\":[32],\"searchResults\":[32],\"searchQuery\":[32],\"selectByRadius\":[64],\"selectPostalCodes\":[64],\"clearSelection\":[64],\"previewByRadius\":[64],\"clearPreview\":[64]},null,{\"level\":[{\"levelChanged\":0}],\"selectZoom\":[{\"selectZoomChanged\":0}]}],[257,\"xv-image-viewer\",{\"src\":[1],\"fullscreenSrc\":[1,\"fullscreen-src\"],\"alt\":[1],\"placeholder\":[1],\"lazy\":[4],\"isFullscreen\":[32],\"loaded\":[32],\"fullscreenLoaded\":[32],\"errored\":[32]}],[257,\"xv-tab-v2\",{\"label\":[513],\"disabled\":[516],\"loading\":[516],\"name\":[8]}],[257,\"xv-table-v2\",{\"size\":[513],\"hover\":[516],\"loading\":[516],\"colsSize\":[16],\"selected\":[32],\"selectedCount\":[32]},[[0,\"checkedChange\",\"handleCheckedChange\"]],{\"colsSize\":[{\"setColsSizeTemplate\":0}]}],[257,\"xv-tabs-v2\",{\"active\":[1544],\"loading\":[516],\"variant\":[1],\"emptyMessage\":[1,\"empty-message\"],\"hideSingleTab\":[4,\"hide-single-tab\"],\"tabElements\":[32],\"showArrows\":[32]},[[9,\"resize\",\"updateArrowVisibility\"]]],[257,\"xv-accordion-v2\",{\"multiple\":[4],\"xvId\":[1,\"xv-id\"],\"value\":[1025],\"opened\":[32],\"toggleItem\":[64]},null,{\"value\":[{\"onValueChange\":0}]}],[257,\"xv-accordion-v2-item\",{\"disabled\":[4],\"label\":[1],\"value\":[1],\"isOpen\":[32]},[[16,\"accordionChange\",\"handleAccordionChange\"]]],[260,\"xv-breadcrumbs-v2\"],[257,\"xv-button-group-v2\",{\"variant\":[513],\"multiple\":[516],\"value\":[1025]},[[0,\"click\",\"handleClick\"]],{\"value\":[{\"onSelectionInputChange\":0}],\"multiple\":[{\"onSelectionInputChange\":0}]}],[257,\"xv-content-switcher-item-v2\",{\"value\":[520],\"label\":[513],\"icon\":[513],\"disabled\":[516]}],[257,\"xv-content-switcher-v2\",{\"selected\":[1544],\"size\":[513],\"iconOnly\":[516,\"icon-only\"],\"disabled\":[516],\"block\":[516],\"controlled\":[516],\"items\":[32]}],[257,\"xv-data-table-collapse\",{\"collapsed\":[1540],\"setCollapsed\":[64]}],[0,\"xv-footer\",{\"data\":[32]},[[8,\"xv:metaNav-update\",\"handleLoadData\"]]],[257,\"xv-progress-indicator-v2\",{\"progress\":[514],\"variant\":[1],\"size\":[1]},null,{\"progress\":[{\"updateChildItems\":0}]}],[257,\"xv-progress-indicator-v2-item\",{\"status\":[1]}],[324,\"xv-radio-v2\",{\"name\":[1],\"value\":[1],\"label\":[1],\"checked\":[1028],\"indeterminate\":[4],\"block\":[4],\"disabled\":[4],\"required\":[4],\"reverse\":[4],\"readonly\":[4],\"error\":[8],\"warning\":[520],\"helper\":[1],\"size\":[1]},null,{\"checked\":[{\"onCheckedChange\":0}]}],[65,\"xv-slider-v2\",{\"label\":[1],\"name\":[1],\"min\":[2],\"max\":[2],\"value\":[1026],\"step\":[2],\"disabled\":[4],\"readonly\":[4],\"notEditable\":[4,\"not-editable\"]}],[257,\"xv-table-v2-expand\",{\"open\":[1540],\"disabled\":[516]}],[260,\"xv-tile\",{\"variant\":[513],\"label\":[1],\"error\":[4],\"multiple\":[4],\"disabled\":[4],\"block\":[4],\"name\":[1],\"message\":[513],\"value\":[1025],\"checked\":[1028],\"readonly\":[1028]},[[4,\"tileChange\",\"tileChangeHandle\"],[0,\"click\",\"handleClick\"]]],[321,\"xv-toggle\",{\"label\":[1],\"value\":[1],\"name\":[1],\"checked\":[1540],\"disabled\":[4],\"readonly\":[4],\"size\":[513],\"block\":[4]}],[257,\"xv-mega-menu\",{\"open\":[1540],\"activeItem\":[32],\"activeGroup\":[32],\"menuItems\":[32],\"applicationContext\":[32],\"menuLoading\":[32]},[[4,\"click\",\"handleClickOutside\"]]],[257,\"xv-data-table-cell\",{\"name\":[1025],\"sort\":[1537],\"multiline\":[520],\"width\":[1],\"align\":[1],\"tooltip\":[1]},[[0,\"click\",\"handleSort\"]]],[257,\"xv-table-v2-cell\",{\"multiline\":[516],\"name\":[1537],\"align\":[513],\"sort\":[1537]},[[0,\"click\",\"handleSort\"]]],[2,\"xv-login-modal\",{\"visible\":[4],\"urls\":[32],\"loading\":[32],\"errorMessage\":[32]}],[257,\"xv-overflow-menu-v2\",{\"open\":[1540],\"disabled\":[516],\"position\":[1],\"alignment\":[1],\"size\":[1],\"tooltip\":[1],\"anchor\":[1],\"activeId\":[32],\"openMenu\":[64],\"closeMenu\":[64],\"toggleMenu\":[64]},[[0,\"keydown\",\"handleKeyDown\"]],{\"open\":[{\"openChangeHandle\":0}],\"anchor\":[{\"anchorChangeHandle\":0}]}],[257,\"xv-overflow-menu-v2-item\",{\"disabled\":[516],\"value\":[520],\"variant\":[513],\"clickable\":[4],\"href\":[1],\"target\":[1],\"divider\":[516],\"hasIcon\":[32],\"hasIconEnd\":[32]},[[0,\"click\",\"handleClick\"]]],[257,\"xv-toggle-tip\",{\"open\":[1540],\"autoSize\":[516,\"auto-size\"],\"block\":[4],\"position\":[1],\"setPopover\":[64]},[[4,\"click\",\"handleClickOutside\"],[0,\"keydown\",\"handleKeyDown\"]],{\"open\":[{\"openChangeHandle\":0}]}],[257,\"xv-modal-v2\",{\"open\":[1540],\"permanent\":[516],\"size\":[513],\"overflow\":[516],\"loading\":[4],\"openModal\":[64],\"closeModal\":[64]}],[257,\"xv-notification-v2\",{\"variant\":[513],\"dismissible\":[516]}],[65,\"xv-text-input-v2\",{\"type\":[1],\"label\":[1],\"placeholder\":[513],\"name\":[513],\"value\":[1025],\"autocomplete\":[1],\"helper\":[1],\"error\":[8],\"warning\":[8],\"readonly\":[4],\"disabled\":[4],\"loading\":[4],\"block\":[516],\"clearable\":[516],\"size\":[513],\"isPasswordVisible\":[32]}],[257,\"xv-card-v2\",{\"variant\":[1],\"media\":[1],\"header\":[1],\"body\":[1],\"footer\":[1]}],[257,\"xv-link-v2\",{\"href\":[1],\"target\":[1],\"disabled\":[4],\"size\":[1],\"variant\":[1]}],[321,\"xv-checkbox-v2\",{\"checked\":[1540],\"indeterminate\":[516],\"disabled\":[516],\"name\":[513],\"value\":[513],\"readonly\":[516],\"required\":[516],\"partial\":[516],\"label\":[1],\"size\":[513],\"error\":[520],\"align\":[513],\"hasFocus\":[32]},null,{\"checked\":[{\"onCheckedChange\":0}]}],[257,\"xv-tag-v2\",{\"size\":[1],\"color\":[1],\"bg\":[1],\"disabled\":[4],\"closeable\":[4]}],[260,\"xv-tooltip-v2\",{\"message\":[1],\"position\":[1],\"block\":[4],\"dashed\":[4]},[[1,\"mouseenter\",\"onMouseEnter\"],[1,\"mouseleave\",\"onMouseLeave\"]]],[321,\"xv-button-v2\",{\"value\":[513],\"name\":[1],\"label\":[513],\"variant\":[513],\"size\":[513],\"disabled\":[516],\"loading\":[516],\"block\":[516],\"type\":[513],\"active\":[516],\"hasLeftIcon\":[32],\"hasRightIcon\":[32],\"hasContent\":[32]}],[257,\"xv-loader-v2\",{\"show\":[4],\"variant\":[1],\"size\":[1]}]]],[\"xv-mega-menu-next\",[[257,\"xv-mega-menu-next\",{\"open\":[1540],\"menuData\":[1,\"menu-data\"],\"activeItem\":[32],\"activeGroup\":[32],\"menuItems\":[32],\"applicationContext\":[32],\"menuLoading\":[32]},[[4,\"click\",\"handleClickOutside\"]],{\"menuData\":[{\"onMenuDataChange\":0}]}]]],[\"xv-header-next\",[[0,\"xv-header-next\",{\"menuData\":[1,\"menu-data\"],\"currentLocale\":[1,\"current-locale\"],\"locales\":[1],\"metaNav\":[32],\"orgUnit\":[32],\"baseUrl\":[32],\"loading\":[32],\"mobMenuOpen\":[32],\"suggestions\":[32],\"suggestionsLoading\":[32],\"notifications\":[32],\"showLoginModal\":[32]},[[8,\"xv:orgUnitChange\",\"handleOrgUnitChange\"],[8,\"xv:metaNav-update\",\"metaNavUpdate\"]]]]]]"), options);
|
|
20
20
|
});
|
|
@@ -8,13 +8,14 @@ export declare class XvAccordion {
|
|
|
8
8
|
opened: Set<string>;
|
|
9
9
|
id: string;
|
|
10
10
|
}>;
|
|
11
|
+
/** Set while `toggleItem` writes `value`, so the watcher ignores its own echo. */
|
|
12
|
+
private applyingValue;
|
|
11
13
|
toggleItem(value: string): Promise<{
|
|
12
14
|
opened: Set<string>;
|
|
13
15
|
id: string;
|
|
14
16
|
}>;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}>;
|
|
17
|
+
/** Opens the named item; an empty value collapses everything. Idempotent, unlike `toggleItem`. */
|
|
18
|
+
onValueChange(value: string): void;
|
|
19
|
+
componentWillLoad(): void;
|
|
19
20
|
render(): any;
|
|
20
21
|
}
|
|
@@ -6,10 +6,13 @@ export declare class XvAccordionItem {
|
|
|
6
6
|
value: string;
|
|
7
7
|
isOpen: boolean;
|
|
8
8
|
itemToggle: EventEmitter;
|
|
9
|
+
/** The parent emits its initial state before rendering `data-id`, so derive it instead of waiting for the event. */
|
|
10
|
+
componentWillLoad(): void;
|
|
9
11
|
handleAccordionChange(event: CustomEvent<{
|
|
10
12
|
opened: Set<string>;
|
|
11
13
|
id: string;
|
|
12
14
|
}>): void;
|
|
13
15
|
toggle: () => void;
|
|
16
|
+
private get parent();
|
|
14
17
|
render(): any;
|
|
15
18
|
}
|
|
@@ -37,6 +37,18 @@ export declare class XvDatepicker {
|
|
|
37
37
|
*/
|
|
38
38
|
max?: `${string}-${string}-${string}`;
|
|
39
39
|
private get maxDate();
|
|
40
|
+
/**
|
|
41
|
+
* Individual dates to disable within the min/max range. Each entry may be a
|
|
42
|
+
* `Date`, a bare 'yyyy-MM-dd' string, or a full ISO string — all normalised
|
|
43
|
+
* to a local 'yyyy-MM-dd' key that matches the calendar grid.
|
|
44
|
+
* Composes with min/max: a day is selectable only when it is inside the range
|
|
45
|
+
* AND not listed here (e.g. to allow only certain weekdays / block holidays).
|
|
46
|
+
*/
|
|
47
|
+
disabledDates?: (Date | string)[];
|
|
48
|
+
private get disabledSet();
|
|
49
|
+
/** Normalise a disabled-date entry to a local 'yyyy-MM-dd' key. */
|
|
50
|
+
private toDayKey;
|
|
51
|
+
private isDayDisabled;
|
|
40
52
|
internals: ElementInternals;
|
|
41
53
|
valueChange: EventEmitter<Date[]>;
|
|
42
54
|
xvBlur: EventEmitter<Date[]>;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export interface GeoMapSelection {
|
|
3
|
+
postalCodes: string[];
|
|
4
|
+
/** display names aligned with postalCodes (e.g. Bundesland names) */
|
|
5
|
+
names: string[];
|
|
6
|
+
population: number | null;
|
|
7
|
+
unitIds: string[];
|
|
8
|
+
}
|
|
9
|
+
export type AtvMapSelection = GeoMapSelection;
|
|
10
|
+
/**
|
|
11
|
+
* Minimal ATV planner map: MapLibre + PLZ boundaries from the XvGeoTool API.
|
|
12
|
+
* Click a PLZ to (de)select it. No further UI — selection state and reach
|
|
13
|
+
* data are emitted via `changeSelection` for the host page to display.
|
|
14
|
+
*
|
|
15
|
+
* MapLibre (~250 KB gzip) is loaded lazily when the component scrolls near
|
|
16
|
+
* the viewport, so the host page's initial load stays untouched.
|
|
17
|
+
*/
|
|
18
|
+
export declare class XvGeoMap {
|
|
19
|
+
el: HTMLElement;
|
|
20
|
+
/**
|
|
21
|
+
* Base URL of the geo API (Xv.Api v1/geo — contract-compatible with the XvGeoTool API).
|
|
22
|
+
* Default is the same-origin Front Door route, so no CORS is involved on crossvertise pages.
|
|
23
|
+
*/
|
|
24
|
+
apiBase: string;
|
|
25
|
+
/** Indicator whose per-unit values feed the tooltips and the emitted population sum (e.g. ATV_DEVICES) */
|
|
26
|
+
indicator: string;
|
|
27
|
+
/** Unit label shown behind the indicator value in the tooltip */
|
|
28
|
+
indicatorLabel: string;
|
|
29
|
+
/** Geo level to display and select: plz5, gemeinde, kreis, regbez, bundesland */
|
|
30
|
+
level: string;
|
|
31
|
+
/** switching the level (e.g. PLZ mode -> Bundesländer mode) resets all loaded data and the selection */
|
|
32
|
+
levelChanged(): void;
|
|
33
|
+
/** Shape resolution: medium = simplified geometry (snappy), high = originals */
|
|
34
|
+
resolution: 'medium' | 'high';
|
|
35
|
+
/**
|
|
36
|
+
* Raster tile URL template. Default: CARTO Positron — light, minimal, made for
|
|
37
|
+
* data overlays; fits the crossvertise design. For production traffic, license
|
|
38
|
+
* a tile plan (CARTO/MapTiler/Geofabrik) and set the keyed URL here.
|
|
39
|
+
*/
|
|
40
|
+
tiles: string;
|
|
41
|
+
attribution: string;
|
|
42
|
+
/** Initial map center */
|
|
43
|
+
centerLng: number;
|
|
44
|
+
centerLat: number;
|
|
45
|
+
zoom: number;
|
|
46
|
+
/** Minimum zoom before boundaries are loaded and selectable (use ~5 for bundesland, 9 for plz5) */
|
|
47
|
+
selectZoom: number;
|
|
48
|
+
selectZoomChanged(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Explicit URL of maplibre-gl-worker.mjs (maplibre-gl-shared.mjs must sit next to it).
|
|
51
|
+
* Needed when the host bundler relocates the maplibre chunk so import.meta.url-relative
|
|
52
|
+
* worker resolution breaks (e.g. Angular/Vite dev server).
|
|
53
|
+
*/
|
|
54
|
+
workerUrl?: string;
|
|
55
|
+
/** Load the map bundle only when scrolled near the viewport (default: true) */
|
|
56
|
+
lazy: boolean;
|
|
57
|
+
/** Selection changed: selected PLZs + population sum of the selection */
|
|
58
|
+
changeSelection: EventEmitter<GeoMapSelection>;
|
|
59
|
+
/** Map finished initializing */
|
|
60
|
+
mapReady: EventEmitter<void>;
|
|
61
|
+
private ready;
|
|
62
|
+
private loadError;
|
|
63
|
+
private zoomGated;
|
|
64
|
+
private searchResults;
|
|
65
|
+
private searchQuery;
|
|
66
|
+
private searchDebounce?;
|
|
67
|
+
private searchSeq;
|
|
68
|
+
private observer?;
|
|
69
|
+
private mapContainer?;
|
|
70
|
+
private map?;
|
|
71
|
+
private initStarted;
|
|
72
|
+
private resolveReady;
|
|
73
|
+
private readyPromise;
|
|
74
|
+
private units;
|
|
75
|
+
private selected;
|
|
76
|
+
private preview;
|
|
77
|
+
private populations;
|
|
78
|
+
private fetchedBoxes;
|
|
79
|
+
private fetchSeq;
|
|
80
|
+
private popSeq;
|
|
81
|
+
private popup?;
|
|
82
|
+
componentDidLoad(): void;
|
|
83
|
+
disconnectedCallback(): void;
|
|
84
|
+
private initMap;
|
|
85
|
+
private refreshUnits;
|
|
86
|
+
/** fetch the configured indicator per unit for hover tooltips (fire-and-forget) */
|
|
87
|
+
private loadPopulations;
|
|
88
|
+
private renderUnits;
|
|
89
|
+
private toggleUnit;
|
|
90
|
+
private updateSelectedFilter;
|
|
91
|
+
private resetPreview;
|
|
92
|
+
private updatePreviewFilter;
|
|
93
|
+
private emitSelection;
|
|
94
|
+
/** Select all PLZs within `km` around a start PLZ ("Umkreis"). Replaces the selection unless `add` is true. */
|
|
95
|
+
selectByRadius(startPlz: string, km: number, add?: boolean): Promise<GeoMapSelection | null>;
|
|
96
|
+
/** Select an explicit list of PLZs ("PLZ-Liste" paste, query-param restore). Replaces the selection unless `add` is true. */
|
|
97
|
+
selectPostalCodes(codes: string[], add?: boolean): Promise<GeoMapSelection | null>;
|
|
98
|
+
/** Clear the whole selection. */
|
|
99
|
+
clearSelection(): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Highlight what a radius extension would ADD (optimizer proposal): the units within
|
|
102
|
+
* `km` that are not part of the selection render in the preview color. Visual only —
|
|
103
|
+
* the selection and its change events stay untouched. Returns the number of added units.
|
|
104
|
+
*/
|
|
105
|
+
previewByRadius(startPlz: string, km: number): Promise<number>;
|
|
106
|
+
/** Remove the optimizer proposal highlight. */
|
|
107
|
+
clearPreview(): Promise<void>;
|
|
108
|
+
private onSearchInput;
|
|
109
|
+
private pickSearchResult;
|
|
110
|
+
/** A method call means the map is needed now — start loading even if it hasn't scrolled into view. */
|
|
111
|
+
private ensureReady;
|
|
112
|
+
private applySelection;
|
|
113
|
+
private fitTo;
|
|
114
|
+
render(): any;
|
|
115
|
+
}
|
|
@@ -9,6 +9,7 @@ import { SIZE_VAR_STR, XV_SORT_DIR } from "./types/enum";
|
|
|
9
9
|
import { XvDataTableCheck, XvDataTableReorder } from "./components/xv-data-table/_vars";
|
|
10
10
|
import { DropdownItemData } from "./components/xv-dropdown/_vars";
|
|
11
11
|
import { XvFileUploaderVariants } from "./components/xv-file-uploader/_vars";
|
|
12
|
+
import { GeoMapSelection } from "./components/xv-geo-map/xv-geo-map";
|
|
12
13
|
import { MenuItem } from "./components/xv-mega-menu-next/xv-mega-menu-next.model";
|
|
13
14
|
import { NOTIFICATION_VARIANTS_STR } from "./components/xv-notification/_vars";
|
|
14
15
|
import { OverflowMenuEvent, OverflowMenuVariant } from "./components/xv-overflow-menu/_vars";
|
|
@@ -22,6 +23,7 @@ export { SIZE_VAR_STR, XV_SORT_DIR } from "./types/enum";
|
|
|
22
23
|
export { XvDataTableCheck, XvDataTableReorder } from "./components/xv-data-table/_vars";
|
|
23
24
|
export { DropdownItemData } from "./components/xv-dropdown/_vars";
|
|
24
25
|
export { XvFileUploaderVariants } from "./components/xv-file-uploader/_vars";
|
|
26
|
+
export { GeoMapSelection } from "./components/xv-geo-map/xv-geo-map";
|
|
25
27
|
export { MenuItem } from "./components/xv-mega-menu-next/xv-mega-menu-next.model";
|
|
26
28
|
export { NOTIFICATION_VARIANTS_STR } from "./components/xv-notification/_vars";
|
|
27
29
|
export { OverflowMenuEvent, OverflowMenuVariant } from "./components/xv-overflow-menu/_vars";
|
|
@@ -362,6 +364,10 @@ export namespace Components {
|
|
|
362
364
|
interface XvDatepicker {
|
|
363
365
|
"block"?: boolean;
|
|
364
366
|
"disabled"?: boolean;
|
|
367
|
+
/**
|
|
368
|
+
* Individual dates to disable within the min/max range. Each entry may be a `Date`, a bare 'yyyy-MM-dd' string, or a full ISO string — all normalised to a local 'yyyy-MM-dd' key that matches the calendar grid. Composes with min/max: a day is selectable only when it is inside the range AND not listed here (e.g. to allow only certain weekdays / block holidays).
|
|
369
|
+
*/
|
|
370
|
+
"disabledDates"?: (Date | string)[];
|
|
365
371
|
/**
|
|
366
372
|
* Error status. Can be boolean or string
|
|
367
373
|
*/
|
|
@@ -509,6 +515,96 @@ export namespace Components {
|
|
|
509
515
|
}
|
|
510
516
|
interface XvFooter {
|
|
511
517
|
}
|
|
518
|
+
/**
|
|
519
|
+
* Minimal ATV planner map: MapLibre + PLZ boundaries from the XvGeoTool API.
|
|
520
|
+
* Click a PLZ to (de)select it. No further UI — selection state and reach
|
|
521
|
+
* data are emitted via `changeSelection` for the host page to display.
|
|
522
|
+
* MapLibre (~250 KB gzip) is loaded lazily when the component scrolls near
|
|
523
|
+
* the viewport, so the host page's initial load stays untouched.
|
|
524
|
+
*/
|
|
525
|
+
interface XvGeoMapV2 {
|
|
526
|
+
/**
|
|
527
|
+
* Base URL of the geo API (Xv.Api v1/geo — contract-compatible with the XvGeoTool API). Default is the same-origin Front Door route, so no CORS is involved on crossvertise pages.
|
|
528
|
+
* @default '/api-fd/v1/geo'
|
|
529
|
+
*/
|
|
530
|
+
"apiBase": string;
|
|
531
|
+
/**
|
|
532
|
+
* @default '© CARTO, © OpenStreetMap contributors'
|
|
533
|
+
*/
|
|
534
|
+
"attribution": string;
|
|
535
|
+
/**
|
|
536
|
+
* @default 51.16
|
|
537
|
+
*/
|
|
538
|
+
"centerLat": number;
|
|
539
|
+
/**
|
|
540
|
+
* Initial map center
|
|
541
|
+
* @default 10.45
|
|
542
|
+
*/
|
|
543
|
+
"centerLng": number;
|
|
544
|
+
/**
|
|
545
|
+
* Remove the optimizer proposal highlight.
|
|
546
|
+
*/
|
|
547
|
+
"clearPreview": () => Promise<void>;
|
|
548
|
+
/**
|
|
549
|
+
* Clear the whole selection.
|
|
550
|
+
*/
|
|
551
|
+
"clearSelection": () => Promise<void>;
|
|
552
|
+
/**
|
|
553
|
+
* Indicator whose per-unit values feed the tooltips and the emitted population sum (e.g. ATV_DEVICES)
|
|
554
|
+
* @default 'MBI_P_T_2025'
|
|
555
|
+
*/
|
|
556
|
+
"indicator": string;
|
|
557
|
+
/**
|
|
558
|
+
* Unit label shown behind the indicator value in the tooltip
|
|
559
|
+
* @default 'Einwohner'
|
|
560
|
+
*/
|
|
561
|
+
"indicatorLabel": string;
|
|
562
|
+
/**
|
|
563
|
+
* Load the map bundle only when scrolled near the viewport (default: true)
|
|
564
|
+
* @default true
|
|
565
|
+
*/
|
|
566
|
+
"lazy": boolean;
|
|
567
|
+
/**
|
|
568
|
+
* Geo level to display and select: plz5, gemeinde, kreis, regbez, bundesland
|
|
569
|
+
* @default 'plz5'
|
|
570
|
+
*/
|
|
571
|
+
"level": string;
|
|
572
|
+
/**
|
|
573
|
+
* Highlight what a radius extension would ADD (optimizer proposal): the units within `km` that are not part of the selection render in the preview color. Visual only — the selection and its change events stay untouched. Returns the number of added units.
|
|
574
|
+
*/
|
|
575
|
+
"previewByRadius": (startPlz: string, km: number) => Promise<number>;
|
|
576
|
+
/**
|
|
577
|
+
* Shape resolution: medium = simplified geometry (snappy), high = originals
|
|
578
|
+
* @default 'medium'
|
|
579
|
+
*/
|
|
580
|
+
"resolution": 'medium' | 'high';
|
|
581
|
+
/**
|
|
582
|
+
* Select all PLZs within `km` around a start PLZ ("Umkreis"). Replaces the selection unless `add` is true.
|
|
583
|
+
*/
|
|
584
|
+
"selectByRadius": (startPlz: string, km: number, add?: boolean) => Promise<GeoMapSelection | null>;
|
|
585
|
+
/**
|
|
586
|
+
* Select an explicit list of PLZs ("PLZ-Liste" paste, query-param restore). Replaces the selection unless `add` is true.
|
|
587
|
+
*/
|
|
588
|
+
"selectPostalCodes": (codes: string[], add?: boolean) => Promise<GeoMapSelection | null>;
|
|
589
|
+
/**
|
|
590
|
+
* Minimum zoom before boundaries are loaded and selectable (use ~5 for bundesland, 9 for plz5)
|
|
591
|
+
* @default 9
|
|
592
|
+
*/
|
|
593
|
+
"selectZoom": number;
|
|
594
|
+
/**
|
|
595
|
+
* Raster tile URL template. Default: CARTO Positron — light, minimal, made for data overlays; fits the crossvertise design. For production traffic, license a tile plan (CARTO/MapTiler/Geofabrik) and set the keyed URL here.
|
|
596
|
+
* @default 'https://basemaps.cartocdn.com/rastertiles/light_all/{z}/{x}/{y}@2x.png'
|
|
597
|
+
*/
|
|
598
|
+
"tiles": string;
|
|
599
|
+
/**
|
|
600
|
+
* Explicit URL of maplibre-gl-worker.mjs (maplibre-gl-shared.mjs must sit next to it). Needed when the host bundler relocates the maplibre chunk so import.meta.url-relative worker resolution breaks (e.g. Angular/Vite dev server).
|
|
601
|
+
*/
|
|
602
|
+
"workerUrl"?: string;
|
|
603
|
+
/**
|
|
604
|
+
* @default 5.5
|
|
605
|
+
*/
|
|
606
|
+
"zoom": number;
|
|
607
|
+
}
|
|
512
608
|
interface XvHeader {
|
|
513
609
|
}
|
|
514
610
|
/**
|
|
@@ -1213,6 +1309,10 @@ export interface XvFileUploaderCustomEvent<T> extends CustomEvent<T> {
|
|
|
1213
1309
|
detail: T;
|
|
1214
1310
|
target: HTMLXvFileUploaderElement;
|
|
1215
1311
|
}
|
|
1312
|
+
export interface XvGeoMapV2CustomEvent<T> extends CustomEvent<T> {
|
|
1313
|
+
detail: T;
|
|
1314
|
+
target: HTMLXvGeoMapV2Element;
|
|
1315
|
+
}
|
|
1216
1316
|
export interface XvHeaderCustomEvent<T> extends CustomEvent<T> {
|
|
1217
1317
|
detail: T;
|
|
1218
1318
|
target: HTMLXvHeaderElement;
|
|
@@ -1608,6 +1708,31 @@ declare global {
|
|
|
1608
1708
|
prototype: HTMLXvFooterElement;
|
|
1609
1709
|
new (): HTMLXvFooterElement;
|
|
1610
1710
|
};
|
|
1711
|
+
interface HTMLXvGeoMapV2ElementEventMap {
|
|
1712
|
+
"changeSelection": GeoMapSelection;
|
|
1713
|
+
"mapReady": void;
|
|
1714
|
+
}
|
|
1715
|
+
/**
|
|
1716
|
+
* Minimal ATV planner map: MapLibre + PLZ boundaries from the XvGeoTool API.
|
|
1717
|
+
* Click a PLZ to (de)select it. No further UI — selection state and reach
|
|
1718
|
+
* data are emitted via `changeSelection` for the host page to display.
|
|
1719
|
+
* MapLibre (~250 KB gzip) is loaded lazily when the component scrolls near
|
|
1720
|
+
* the viewport, so the host page's initial load stays untouched.
|
|
1721
|
+
*/
|
|
1722
|
+
interface HTMLXvGeoMapV2Element extends Components.XvGeoMapV2, HTMLStencilElement {
|
|
1723
|
+
addEventListener<K extends keyof HTMLXvGeoMapV2ElementEventMap>(type: K, listener: (this: HTMLXvGeoMapV2Element, ev: XvGeoMapV2CustomEvent<HTMLXvGeoMapV2ElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1724
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1725
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1726
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1727
|
+
removeEventListener<K extends keyof HTMLXvGeoMapV2ElementEventMap>(type: K, listener: (this: HTMLXvGeoMapV2Element, ev: XvGeoMapV2CustomEvent<HTMLXvGeoMapV2ElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1728
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1729
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1730
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1731
|
+
}
|
|
1732
|
+
var HTMLXvGeoMapV2Element: {
|
|
1733
|
+
prototype: HTMLXvGeoMapV2Element;
|
|
1734
|
+
new (): HTMLXvGeoMapV2Element;
|
|
1735
|
+
};
|
|
1611
1736
|
interface HTMLXvHeaderElementEventMap {
|
|
1612
1737
|
"xvMetaNavUpdate": any;
|
|
1613
1738
|
}
|
|
@@ -2100,6 +2225,7 @@ declare global {
|
|
|
2100
2225
|
"xv-dropdown-v2-item": HTMLXvDropdownV2ItemElement;
|
|
2101
2226
|
"xv-file-uploader": HTMLXvFileUploaderElement;
|
|
2102
2227
|
"xv-footer": HTMLXvFooterElement;
|
|
2228
|
+
"xv-geo-map-v2": HTMLXvGeoMapV2Element;
|
|
2103
2229
|
"xv-header": HTMLXvHeaderElement;
|
|
2104
2230
|
"xv-header-next": HTMLXvHeaderNextElement;
|
|
2105
2231
|
"xv-image-viewer": HTMLXvImageViewerElement;
|
|
@@ -2492,6 +2618,10 @@ declare namespace LocalJSX {
|
|
|
2492
2618
|
interface XvDatepicker {
|
|
2493
2619
|
"block"?: boolean;
|
|
2494
2620
|
"disabled"?: boolean;
|
|
2621
|
+
/**
|
|
2622
|
+
* Individual dates to disable within the min/max range. Each entry may be a `Date`, a bare 'yyyy-MM-dd' string, or a full ISO string — all normalised to a local 'yyyy-MM-dd' key that matches the calendar grid. Composes with min/max: a day is selectable only when it is inside the range AND not listed here (e.g. to allow only certain weekdays / block holidays).
|
|
2623
|
+
*/
|
|
2624
|
+
"disabledDates"?: (Date | string)[];
|
|
2495
2625
|
/**
|
|
2496
2626
|
* Error status. Can be boolean or string
|
|
2497
2627
|
*/
|
|
@@ -2645,6 +2775,84 @@ declare namespace LocalJSX {
|
|
|
2645
2775
|
}
|
|
2646
2776
|
interface XvFooter {
|
|
2647
2777
|
}
|
|
2778
|
+
/**
|
|
2779
|
+
* Minimal ATV planner map: MapLibre + PLZ boundaries from the XvGeoTool API.
|
|
2780
|
+
* Click a PLZ to (de)select it. No further UI — selection state and reach
|
|
2781
|
+
* data are emitted via `changeSelection` for the host page to display.
|
|
2782
|
+
* MapLibre (~250 KB gzip) is loaded lazily when the component scrolls near
|
|
2783
|
+
* the viewport, so the host page's initial load stays untouched.
|
|
2784
|
+
*/
|
|
2785
|
+
interface XvGeoMapV2 {
|
|
2786
|
+
/**
|
|
2787
|
+
* Base URL of the geo API (Xv.Api v1/geo — contract-compatible with the XvGeoTool API). Default is the same-origin Front Door route, so no CORS is involved on crossvertise pages.
|
|
2788
|
+
* @default '/api-fd/v1/geo'
|
|
2789
|
+
*/
|
|
2790
|
+
"apiBase"?: string;
|
|
2791
|
+
/**
|
|
2792
|
+
* @default '© CARTO, © OpenStreetMap contributors'
|
|
2793
|
+
*/
|
|
2794
|
+
"attribution"?: string;
|
|
2795
|
+
/**
|
|
2796
|
+
* @default 51.16
|
|
2797
|
+
*/
|
|
2798
|
+
"centerLat"?: number;
|
|
2799
|
+
/**
|
|
2800
|
+
* Initial map center
|
|
2801
|
+
* @default 10.45
|
|
2802
|
+
*/
|
|
2803
|
+
"centerLng"?: number;
|
|
2804
|
+
/**
|
|
2805
|
+
* Indicator whose per-unit values feed the tooltips and the emitted population sum (e.g. ATV_DEVICES)
|
|
2806
|
+
* @default 'MBI_P_T_2025'
|
|
2807
|
+
*/
|
|
2808
|
+
"indicator"?: string;
|
|
2809
|
+
/**
|
|
2810
|
+
* Unit label shown behind the indicator value in the tooltip
|
|
2811
|
+
* @default 'Einwohner'
|
|
2812
|
+
*/
|
|
2813
|
+
"indicatorLabel"?: string;
|
|
2814
|
+
/**
|
|
2815
|
+
* Load the map bundle only when scrolled near the viewport (default: true)
|
|
2816
|
+
* @default true
|
|
2817
|
+
*/
|
|
2818
|
+
"lazy"?: boolean;
|
|
2819
|
+
/**
|
|
2820
|
+
* Geo level to display and select: plz5, gemeinde, kreis, regbez, bundesland
|
|
2821
|
+
* @default 'plz5'
|
|
2822
|
+
*/
|
|
2823
|
+
"level"?: string;
|
|
2824
|
+
/**
|
|
2825
|
+
* Selection changed: selected PLZs + population sum of the selection
|
|
2826
|
+
*/
|
|
2827
|
+
"onChangeSelection"?: (event: XvGeoMapV2CustomEvent<GeoMapSelection>) => void;
|
|
2828
|
+
/**
|
|
2829
|
+
* Map finished initializing
|
|
2830
|
+
*/
|
|
2831
|
+
"onMapReady"?: (event: XvGeoMapV2CustomEvent<void>) => void;
|
|
2832
|
+
/**
|
|
2833
|
+
* Shape resolution: medium = simplified geometry (snappy), high = originals
|
|
2834
|
+
* @default 'medium'
|
|
2835
|
+
*/
|
|
2836
|
+
"resolution"?: 'medium' | 'high';
|
|
2837
|
+
/**
|
|
2838
|
+
* Minimum zoom before boundaries are loaded and selectable (use ~5 for bundesland, 9 for plz5)
|
|
2839
|
+
* @default 9
|
|
2840
|
+
*/
|
|
2841
|
+
"selectZoom"?: number;
|
|
2842
|
+
/**
|
|
2843
|
+
* Raster tile URL template. Default: CARTO Positron — light, minimal, made for data overlays; fits the crossvertise design. For production traffic, license a tile plan (CARTO/MapTiler/Geofabrik) and set the keyed URL here.
|
|
2844
|
+
* @default 'https://basemaps.cartocdn.com/rastertiles/light_all/{z}/{x}/{y}@2x.png'
|
|
2845
|
+
*/
|
|
2846
|
+
"tiles"?: string;
|
|
2847
|
+
/**
|
|
2848
|
+
* Explicit URL of maplibre-gl-worker.mjs (maplibre-gl-shared.mjs must sit next to it). Needed when the host bundler relocates the maplibre chunk so import.meta.url-relative worker resolution breaks (e.g. Angular/Vite dev server).
|
|
2849
|
+
*/
|
|
2850
|
+
"workerUrl"?: string;
|
|
2851
|
+
/**
|
|
2852
|
+
* @default 5.5
|
|
2853
|
+
*/
|
|
2854
|
+
"zoom"?: number;
|
|
2855
|
+
}
|
|
2648
2856
|
interface XvHeader {
|
|
2649
2857
|
"onXvMetaNavUpdate"?: (event: XvHeaderCustomEvent<any>) => void;
|
|
2650
2858
|
}
|
|
@@ -3339,6 +3547,7 @@ declare namespace LocalJSX {
|
|
|
3339
3547
|
"xv-dropdown-v2-item": XvDropdownV2Item;
|
|
3340
3548
|
"xv-file-uploader": XvFileUploader;
|
|
3341
3549
|
"xv-footer": XvFooter;
|
|
3550
|
+
"xv-geo-map-v2": XvGeoMapV2;
|
|
3342
3551
|
"xv-header": XvHeader;
|
|
3343
3552
|
"xv-header-next": XvHeaderNext;
|
|
3344
3553
|
"xv-image-viewer": XvImageViewer;
|
|
@@ -3440,6 +3649,14 @@ declare module "@stencil/core" {
|
|
|
3440
3649
|
"xv-dropdown-v2-item": LocalJSX.XvDropdownV2Item & JSXBase.HTMLAttributes<HTMLXvDropdownV2ItemElement>;
|
|
3441
3650
|
"xv-file-uploader": LocalJSX.XvFileUploader & JSXBase.HTMLAttributes<HTMLXvFileUploaderElement>;
|
|
3442
3651
|
"xv-footer": LocalJSX.XvFooter & JSXBase.HTMLAttributes<HTMLXvFooterElement>;
|
|
3652
|
+
/**
|
|
3653
|
+
* Minimal ATV planner map: MapLibre + PLZ boundaries from the XvGeoTool API.
|
|
3654
|
+
* Click a PLZ to (de)select it. No further UI — selection state and reach
|
|
3655
|
+
* data are emitted via `changeSelection` for the host page to display.
|
|
3656
|
+
* MapLibre (~250 KB gzip) is loaded lazily when the component scrolls near
|
|
3657
|
+
* the viewport, so the host page's initial load stays untouched.
|
|
3658
|
+
*/
|
|
3659
|
+
"xv-geo-map-v2": LocalJSX.XvGeoMapV2 & JSXBase.HTMLAttributes<HTMLXvGeoMapV2Element>;
|
|
3443
3660
|
"xv-header": LocalJSX.XvHeader & JSXBase.HTMLAttributes<HTMLXvHeaderElement>;
|
|
3444
3661
|
/**
|
|
3445
3662
|
* Drop-in successor of `xv-header` for the new headless CMS.
|