UNPKG

@arcgis/map-components

Version:
56 lines (55 loc) 3.11 kB
import { default as SpatialReference } from '@arcgis/core/geometry/SpatialReference'; import { default as Layer } from '@arcgis/core/layers/Layer'; import { JsxNode, LitElement, ToElement } from '@arcgis/lumina'; import { RenderResult } from '@arcgis/lumina-compiler/testing'; import { Service } from '@webgis/service-mocks'; import { TemplateResult } from 'lit-html'; import { ArcgisMap } from '../components/arcgis-map/customElement.js'; import { ArcgisPlacement } from '../components/arcgis-placement/customElement.js'; import { ArcgisScene } from '../components/arcgis-scene/customElement.js'; import * as serviceMocks from "@webgis/service-mocks"; interface CommonOptions { services?: Service[]; placement?: ArcgisPlacement["position"]; } interface MapOptions { layers?: Layer[]; } interface MapOptions2D extends MapOptions { } interface MapOptions3D extends MapOptions { } interface ViewOptions { spatialReference?: SpatialReference; width?: number; height?: number; } interface ViewOptions2D extends ViewOptions { } interface ViewOptions3D extends ViewOptions { } type DefineOptions<MapOptionsType, ViewOptionsType> = CommonOptions & { mapOptions?: MapOptionsType; viewOptions?: ViewOptionsType; }; type Options2D = DefineOptions<MapOptions2D, ViewOptions2D>; type Options3D = DefineOptions<MapOptions3D, ViewOptions3D>; export interface ToRenderResult<ViewComponent extends HTMLElement, Component extends HTMLElement> extends RenderResult<Component> { viewEl: ToElement<ViewComponent>; } type JsxFn = () => JsxNode; type MountFunctionSignature<OptionsType extends Options2D | Options3D, ViewComponent extends HTMLElement> = { <const TagName extends keyof DeclareElements>(tagName: TagName, options?: OptionsType): Promise<ToRenderResult<ViewComponent, DeclareElements[TagName]>>; <Class extends typeof LitElement>(template: Class | JsxFn | TemplateResult, options?: OptionsType): Promise<ToRenderResult<ViewComponent, InstanceType<Class>>>; <TagName extends keyof DeclareElements = never>(jsx: JsxFn | TemplateResult, options?: OptionsType): Promise<ToRenderResult<ViewComponent, [TagName] extends [never] ? LitElement : DeclareElements[TagName]>>; <Component extends LitElement>(template: JsxFn | TemplateResult | (new () => Component), options?: OptionsType): Promise<ToRenderResult<ViewComponent, Component>>; }; export declare const mountWithMap: MountFunctionSignature<Options2D, ArcgisMap>; export declare const mountWithScene: MountFunctionSignature<Options3D, ArcgisScene>; export declare function setupSceneComponent(viewEl: ToElement<ArcgisScene>, viewOptions?: ViewOptions3D): void; export declare function waitViewReady(el: ToElement<ArcgisMap> | ToElement<ArcgisScene>): Promise<void>; export declare function expectToBeSome<T>(value: T | null | undefined): asserts value is NonNullable<T>; export declare function makeDefaultTileService(): serviceMocks.ServiceMap; export declare function makeTopoVectorBasemapServices(): serviceMocks.Service[]; export declare function makeWorldElevationService(): serviceMocks.ServiceImage; export {};