/// import type { IBeforeMapChange, IMapInfo } from "../../utils/interfaces.js"; import type { PublicLitElement as LitElement } from "@arcgis/lumina"; import type { T9nMeta } from "@arcgis/lumina/controllers"; export abstract class MapPicker extends LitElement { /** * Contains the translations for this component. * All UI strings should be defined here. * * @internal */ protected _translations: { switchMap: string; mapList: string; } & T9nMeta<{ switchMap: string; mapList: string; }>; /** * number: optional fixed height value for the control. * Specified as pixel height. */ accessor height: number | undefined; /** * boolean: when true map list will shown in half width. * * @default false */ accessor isMapLayout: boolean | undefined; /** IMapInfo[]: array of map infos (name and id) */ accessor mapInfos: IMapInfo[]; /** * string: Refrence element for the calcite popover to show the map list * * @default '' */ accessor referenceElement: string; /** * string: The id of the map currently selected * * @default '' */ accessor selectedWebMapId: string; /** * boolean: When true the map list will shown inside a popover * In this case the selected map will not shown as label * * @default false */ accessor showMapListInPopover: boolean; /** Closes the list */ close(): Promise; /** * @param id * @param skipEditCheck */ setMapByID(id: string, skipEditCheck?: boolean): Promise; /** * Expands the list * * @param mapListExpanded */ toggle(mapListExpanded: boolean): Promise; /** Emitted before a new map is loaded */ readonly beforeMapInfoChange: import("@arcgis/lumina").TargetedEvent; /** Emitted when a new map is loaded */ readonly mapInfoChange: import("@arcgis/lumina").TargetedEvent; readonly "@eventTypes": { beforeMapInfoChange: MapPicker["beforeMapInfoChange"]["detail"]; mapInfoChange: MapPicker["mapInfoChange"]["detail"]; }; }