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
|
@@ -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
|
*/
|
|
@@ -481,6 +487,7 @@ export namespace Components {
|
|
|
481
487
|
* @default []
|
|
482
488
|
*/
|
|
483
489
|
"files": File[];
|
|
490
|
+
"helper"?: string;
|
|
484
491
|
"label"?: string;
|
|
485
492
|
/**
|
|
486
493
|
* @default []
|
|
@@ -506,9 +513,110 @@ export namespace Components {
|
|
|
506
513
|
* @default XvFileUploaderVariants.BUTTON
|
|
507
514
|
*/
|
|
508
515
|
"variant": XvFileUploaderVariants;
|
|
516
|
+
"warning"?: string | boolean;
|
|
509
517
|
}
|
|
510
518
|
interface XvFooter {
|
|
511
519
|
}
|
|
520
|
+
/**
|
|
521
|
+
* Minimal ATV planner map: MapLibre + PLZ boundaries from the XvGeoTool API.
|
|
522
|
+
* Click a PLZ to (de)select it. No further UI — selection state and reach
|
|
523
|
+
* data are emitted via `changeSelection` for the host page to display.
|
|
524
|
+
* MapLibre (~250 KB gzip) is loaded lazily when the component scrolls near
|
|
525
|
+
* the viewport, so the host page's initial load stays untouched.
|
|
526
|
+
*/
|
|
527
|
+
interface XvGeoMapV2 {
|
|
528
|
+
/**
|
|
529
|
+
* 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.
|
|
530
|
+
* @default '/api-fd/v1/geo'
|
|
531
|
+
*/
|
|
532
|
+
"apiBase": string;
|
|
533
|
+
/**
|
|
534
|
+
* @default '© CARTO, © OpenStreetMap contributors'
|
|
535
|
+
*/
|
|
536
|
+
"attribution": string;
|
|
537
|
+
/**
|
|
538
|
+
* @default 51.16
|
|
539
|
+
*/
|
|
540
|
+
"centerLat": number;
|
|
541
|
+
/**
|
|
542
|
+
* Initial map center
|
|
543
|
+
* @default 10.45
|
|
544
|
+
*/
|
|
545
|
+
"centerLng": number;
|
|
546
|
+
/**
|
|
547
|
+
* Remove the optimizer proposal highlight.
|
|
548
|
+
*/
|
|
549
|
+
"clearPreview": () => Promise<void>;
|
|
550
|
+
/**
|
|
551
|
+
* Clear the whole selection.
|
|
552
|
+
*/
|
|
553
|
+
"clearSelection": () => Promise<void>;
|
|
554
|
+
/**
|
|
555
|
+
* Indicator whose per-unit values feed the tooltips and the emitted population sum (e.g. ATV_DEVICES)
|
|
556
|
+
* @default 'MBI_P_T_2025'
|
|
557
|
+
*/
|
|
558
|
+
"indicator": string;
|
|
559
|
+
/**
|
|
560
|
+
* Unit label shown behind the indicator value in the tooltip
|
|
561
|
+
* @default 'Einwohner'
|
|
562
|
+
*/
|
|
563
|
+
"indicatorLabel": string;
|
|
564
|
+
/**
|
|
565
|
+
* Label language for the vector basemap (OpenMapTiles `name:{lang}` attribute, falling back to the place's local name). Empty string keeps the style's own labels.
|
|
566
|
+
* @default 'de'
|
|
567
|
+
*/
|
|
568
|
+
"language": string;
|
|
569
|
+
/**
|
|
570
|
+
* Load the map bundle only when scrolled near the viewport (default: true)
|
|
571
|
+
* @default true
|
|
572
|
+
*/
|
|
573
|
+
"lazy": boolean;
|
|
574
|
+
/**
|
|
575
|
+
* Geo level to display and select: plz5, gemeinde, kreis, regbez, bundesland
|
|
576
|
+
* @default 'plz5'
|
|
577
|
+
*/
|
|
578
|
+
"level": string;
|
|
579
|
+
/**
|
|
580
|
+
* 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.
|
|
581
|
+
*/
|
|
582
|
+
"previewByRadius": (startPlz: string, km: number) => Promise<number>;
|
|
583
|
+
/**
|
|
584
|
+
* Shape resolution: medium = simplified geometry (snappy), high = originals
|
|
585
|
+
* @default 'medium'
|
|
586
|
+
*/
|
|
587
|
+
"resolution": 'medium' | 'high';
|
|
588
|
+
/**
|
|
589
|
+
* Select all PLZs within `km` around a start PLZ ("Umkreis"). Replaces the selection unless `add` is true.
|
|
590
|
+
*/
|
|
591
|
+
"selectByRadius": (startPlz: string, km: number, add?: boolean) => Promise<GeoMapSelection | null>;
|
|
592
|
+
/**
|
|
593
|
+
* Select an explicit list of PLZs ("PLZ-Liste" paste, query-param restore). Replaces the selection unless `add` is true.
|
|
594
|
+
*/
|
|
595
|
+
"selectPostalCodes": (codes: string[], add?: boolean) => Promise<GeoMapSelection | null>;
|
|
596
|
+
/**
|
|
597
|
+
* Minimum zoom before boundaries are loaded and selectable (use ~5 for bundesland, 9 for plz5)
|
|
598
|
+
* @default 9
|
|
599
|
+
*/
|
|
600
|
+
"selectZoom": number;
|
|
601
|
+
/**
|
|
602
|
+
* MapLibre style URL for the vector basemap. Default: OpenFreeMap Positron — the same pale data-overlay look as the previous CARTO light, free for commercial use, no API key (openfreemap.org). Set to an empty string to fall back to the raster `tiles` path.
|
|
603
|
+
* @default 'https://tiles.openfreemap.org/styles/positron'
|
|
604
|
+
*/
|
|
605
|
+
"styleUrl": string;
|
|
606
|
+
/**
|
|
607
|
+
* Raster tile URL template, used only when `style-url` is empty. The former CARTO default now watermarks keyless traffic ("API KEY REQUIRED"), so this path needs a keyed/licensed tile URL.
|
|
608
|
+
* @default 'https://basemaps.cartocdn.com/rastertiles/light_all/{z}/{x}/{y}@2x.png'
|
|
609
|
+
*/
|
|
610
|
+
"tiles": string;
|
|
611
|
+
/**
|
|
612
|
+
* 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).
|
|
613
|
+
*/
|
|
614
|
+
"workerUrl"?: string;
|
|
615
|
+
/**
|
|
616
|
+
* @default 5.5
|
|
617
|
+
*/
|
|
618
|
+
"zoom": number;
|
|
619
|
+
}
|
|
512
620
|
interface XvHeader {
|
|
513
621
|
}
|
|
514
622
|
/**
|
|
@@ -1213,6 +1321,10 @@ export interface XvFileUploaderCustomEvent<T> extends CustomEvent<T> {
|
|
|
1213
1321
|
detail: T;
|
|
1214
1322
|
target: HTMLXvFileUploaderElement;
|
|
1215
1323
|
}
|
|
1324
|
+
export interface XvGeoMapV2CustomEvent<T> extends CustomEvent<T> {
|
|
1325
|
+
detail: T;
|
|
1326
|
+
target: HTMLXvGeoMapV2Element;
|
|
1327
|
+
}
|
|
1216
1328
|
export interface XvHeaderCustomEvent<T> extends CustomEvent<T> {
|
|
1217
1329
|
detail: T;
|
|
1218
1330
|
target: HTMLXvHeaderElement;
|
|
@@ -1608,6 +1720,31 @@ declare global {
|
|
|
1608
1720
|
prototype: HTMLXvFooterElement;
|
|
1609
1721
|
new (): HTMLXvFooterElement;
|
|
1610
1722
|
};
|
|
1723
|
+
interface HTMLXvGeoMapV2ElementEventMap {
|
|
1724
|
+
"changeSelection": GeoMapSelection;
|
|
1725
|
+
"mapReady": void;
|
|
1726
|
+
}
|
|
1727
|
+
/**
|
|
1728
|
+
* Minimal ATV planner map: MapLibre + PLZ boundaries from the XvGeoTool API.
|
|
1729
|
+
* Click a PLZ to (de)select it. No further UI — selection state and reach
|
|
1730
|
+
* data are emitted via `changeSelection` for the host page to display.
|
|
1731
|
+
* MapLibre (~250 KB gzip) is loaded lazily when the component scrolls near
|
|
1732
|
+
* the viewport, so the host page's initial load stays untouched.
|
|
1733
|
+
*/
|
|
1734
|
+
interface HTMLXvGeoMapV2Element extends Components.XvGeoMapV2, HTMLStencilElement {
|
|
1735
|
+
addEventListener<K extends keyof HTMLXvGeoMapV2ElementEventMap>(type: K, listener: (this: HTMLXvGeoMapV2Element, ev: XvGeoMapV2CustomEvent<HTMLXvGeoMapV2ElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1736
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1737
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1738
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1739
|
+
removeEventListener<K extends keyof HTMLXvGeoMapV2ElementEventMap>(type: K, listener: (this: HTMLXvGeoMapV2Element, ev: XvGeoMapV2CustomEvent<HTMLXvGeoMapV2ElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1740
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1741
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1742
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1743
|
+
}
|
|
1744
|
+
var HTMLXvGeoMapV2Element: {
|
|
1745
|
+
prototype: HTMLXvGeoMapV2Element;
|
|
1746
|
+
new (): HTMLXvGeoMapV2Element;
|
|
1747
|
+
};
|
|
1611
1748
|
interface HTMLXvHeaderElementEventMap {
|
|
1612
1749
|
"xvMetaNavUpdate": any;
|
|
1613
1750
|
}
|
|
@@ -2100,6 +2237,7 @@ declare global {
|
|
|
2100
2237
|
"xv-dropdown-v2-item": HTMLXvDropdownV2ItemElement;
|
|
2101
2238
|
"xv-file-uploader": HTMLXvFileUploaderElement;
|
|
2102
2239
|
"xv-footer": HTMLXvFooterElement;
|
|
2240
|
+
"xv-geo-map-v2": HTMLXvGeoMapV2Element;
|
|
2103
2241
|
"xv-header": HTMLXvHeaderElement;
|
|
2104
2242
|
"xv-header-next": HTMLXvHeaderNextElement;
|
|
2105
2243
|
"xv-image-viewer": HTMLXvImageViewerElement;
|
|
@@ -2492,6 +2630,10 @@ declare namespace LocalJSX {
|
|
|
2492
2630
|
interface XvDatepicker {
|
|
2493
2631
|
"block"?: boolean;
|
|
2494
2632
|
"disabled"?: boolean;
|
|
2633
|
+
/**
|
|
2634
|
+
* 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).
|
|
2635
|
+
*/
|
|
2636
|
+
"disabledDates"?: (Date | string)[];
|
|
2495
2637
|
/**
|
|
2496
2638
|
* Error status. Can be boolean or string
|
|
2497
2639
|
*/
|
|
@@ -2615,6 +2757,7 @@ declare namespace LocalJSX {
|
|
|
2615
2757
|
* @default []
|
|
2616
2758
|
*/
|
|
2617
2759
|
"files"?: File[];
|
|
2760
|
+
"helper"?: string;
|
|
2618
2761
|
"label"?: string;
|
|
2619
2762
|
/**
|
|
2620
2763
|
* @default []
|
|
@@ -2642,9 +2785,98 @@ declare namespace LocalJSX {
|
|
|
2642
2785
|
* @default XvFileUploaderVariants.BUTTON
|
|
2643
2786
|
*/
|
|
2644
2787
|
"variant"?: XvFileUploaderVariants;
|
|
2788
|
+
"warning"?: string | boolean;
|
|
2645
2789
|
}
|
|
2646
2790
|
interface XvFooter {
|
|
2647
2791
|
}
|
|
2792
|
+
/**
|
|
2793
|
+
* Minimal ATV planner map: MapLibre + PLZ boundaries from the XvGeoTool API.
|
|
2794
|
+
* Click a PLZ to (de)select it. No further UI — selection state and reach
|
|
2795
|
+
* data are emitted via `changeSelection` for the host page to display.
|
|
2796
|
+
* MapLibre (~250 KB gzip) is loaded lazily when the component scrolls near
|
|
2797
|
+
* the viewport, so the host page's initial load stays untouched.
|
|
2798
|
+
*/
|
|
2799
|
+
interface XvGeoMapV2 {
|
|
2800
|
+
/**
|
|
2801
|
+
* 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.
|
|
2802
|
+
* @default '/api-fd/v1/geo'
|
|
2803
|
+
*/
|
|
2804
|
+
"apiBase"?: string;
|
|
2805
|
+
/**
|
|
2806
|
+
* @default '© CARTO, © OpenStreetMap contributors'
|
|
2807
|
+
*/
|
|
2808
|
+
"attribution"?: string;
|
|
2809
|
+
/**
|
|
2810
|
+
* @default 51.16
|
|
2811
|
+
*/
|
|
2812
|
+
"centerLat"?: number;
|
|
2813
|
+
/**
|
|
2814
|
+
* Initial map center
|
|
2815
|
+
* @default 10.45
|
|
2816
|
+
*/
|
|
2817
|
+
"centerLng"?: number;
|
|
2818
|
+
/**
|
|
2819
|
+
* Indicator whose per-unit values feed the tooltips and the emitted population sum (e.g. ATV_DEVICES)
|
|
2820
|
+
* @default 'MBI_P_T_2025'
|
|
2821
|
+
*/
|
|
2822
|
+
"indicator"?: string;
|
|
2823
|
+
/**
|
|
2824
|
+
* Unit label shown behind the indicator value in the tooltip
|
|
2825
|
+
* @default 'Einwohner'
|
|
2826
|
+
*/
|
|
2827
|
+
"indicatorLabel"?: string;
|
|
2828
|
+
/**
|
|
2829
|
+
* Label language for the vector basemap (OpenMapTiles `name:{lang}` attribute, falling back to the place's local name). Empty string keeps the style's own labels.
|
|
2830
|
+
* @default 'de'
|
|
2831
|
+
*/
|
|
2832
|
+
"language"?: string;
|
|
2833
|
+
/**
|
|
2834
|
+
* Load the map bundle only when scrolled near the viewport (default: true)
|
|
2835
|
+
* @default true
|
|
2836
|
+
*/
|
|
2837
|
+
"lazy"?: boolean;
|
|
2838
|
+
/**
|
|
2839
|
+
* Geo level to display and select: plz5, gemeinde, kreis, regbez, bundesland
|
|
2840
|
+
* @default 'plz5'
|
|
2841
|
+
*/
|
|
2842
|
+
"level"?: string;
|
|
2843
|
+
/**
|
|
2844
|
+
* Selection changed: selected PLZs + population sum of the selection
|
|
2845
|
+
*/
|
|
2846
|
+
"onChangeSelection"?: (event: XvGeoMapV2CustomEvent<GeoMapSelection>) => void;
|
|
2847
|
+
/**
|
|
2848
|
+
* Map finished initializing
|
|
2849
|
+
*/
|
|
2850
|
+
"onMapReady"?: (event: XvGeoMapV2CustomEvent<void>) => void;
|
|
2851
|
+
/**
|
|
2852
|
+
* Shape resolution: medium = simplified geometry (snappy), high = originals
|
|
2853
|
+
* @default 'medium'
|
|
2854
|
+
*/
|
|
2855
|
+
"resolution"?: 'medium' | 'high';
|
|
2856
|
+
/**
|
|
2857
|
+
* Minimum zoom before boundaries are loaded and selectable (use ~5 for bundesland, 9 for plz5)
|
|
2858
|
+
* @default 9
|
|
2859
|
+
*/
|
|
2860
|
+
"selectZoom"?: number;
|
|
2861
|
+
/**
|
|
2862
|
+
* MapLibre style URL for the vector basemap. Default: OpenFreeMap Positron — the same pale data-overlay look as the previous CARTO light, free for commercial use, no API key (openfreemap.org). Set to an empty string to fall back to the raster `tiles` path.
|
|
2863
|
+
* @default 'https://tiles.openfreemap.org/styles/positron'
|
|
2864
|
+
*/
|
|
2865
|
+
"styleUrl"?: string;
|
|
2866
|
+
/**
|
|
2867
|
+
* Raster tile URL template, used only when `style-url` is empty. The former CARTO default now watermarks keyless traffic ("API KEY REQUIRED"), so this path needs a keyed/licensed tile URL.
|
|
2868
|
+
* @default 'https://basemaps.cartocdn.com/rastertiles/light_all/{z}/{x}/{y}@2x.png'
|
|
2869
|
+
*/
|
|
2870
|
+
"tiles"?: string;
|
|
2871
|
+
/**
|
|
2872
|
+
* 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).
|
|
2873
|
+
*/
|
|
2874
|
+
"workerUrl"?: string;
|
|
2875
|
+
/**
|
|
2876
|
+
* @default 5.5
|
|
2877
|
+
*/
|
|
2878
|
+
"zoom"?: number;
|
|
2879
|
+
}
|
|
2648
2880
|
interface XvHeader {
|
|
2649
2881
|
"onXvMetaNavUpdate"?: (event: XvHeaderCustomEvent<any>) => void;
|
|
2650
2882
|
}
|
|
@@ -3339,6 +3571,7 @@ declare namespace LocalJSX {
|
|
|
3339
3571
|
"xv-dropdown-v2-item": XvDropdownV2Item;
|
|
3340
3572
|
"xv-file-uploader": XvFileUploader;
|
|
3341
3573
|
"xv-footer": XvFooter;
|
|
3574
|
+
"xv-geo-map-v2": XvGeoMapV2;
|
|
3342
3575
|
"xv-header": XvHeader;
|
|
3343
3576
|
"xv-header-next": XvHeaderNext;
|
|
3344
3577
|
"xv-image-viewer": XvImageViewer;
|
|
@@ -3440,6 +3673,14 @@ declare module "@stencil/core" {
|
|
|
3440
3673
|
"xv-dropdown-v2-item": LocalJSX.XvDropdownV2Item & JSXBase.HTMLAttributes<HTMLXvDropdownV2ItemElement>;
|
|
3441
3674
|
"xv-file-uploader": LocalJSX.XvFileUploader & JSXBase.HTMLAttributes<HTMLXvFileUploaderElement>;
|
|
3442
3675
|
"xv-footer": LocalJSX.XvFooter & JSXBase.HTMLAttributes<HTMLXvFooterElement>;
|
|
3676
|
+
/**
|
|
3677
|
+
* Minimal ATV planner map: MapLibre + PLZ boundaries from the XvGeoTool API.
|
|
3678
|
+
* Click a PLZ to (de)select it. No further UI — selection state and reach
|
|
3679
|
+
* data are emitted via `changeSelection` for the host page to display.
|
|
3680
|
+
* MapLibre (~250 KB gzip) is loaded lazily when the component scrolls near
|
|
3681
|
+
* the viewport, so the host page's initial load stays untouched.
|
|
3682
|
+
*/
|
|
3683
|
+
"xv-geo-map-v2": LocalJSX.XvGeoMapV2 & JSXBase.HTMLAttributes<HTMLXvGeoMapV2Element>;
|
|
3443
3684
|
"xv-header": LocalJSX.XvHeader & JSXBase.HTMLAttributes<HTMLXvHeaderElement>;
|
|
3444
3685
|
/**
|
|
3445
3686
|
* Drop-in successor of `xv-header` for the new headless CMS.
|