UNPKG

@feltmaps/js-sdk

Version:

An SDK for Felt maps

169 lines (164 loc) 10.9 kB
import { z as zInfer, U as UiControlsOptions, V as ViewportCenterZoom, F as FeltController } from './controller-DXsOpGmy.cjs'; export { aC as AggregatedGridConfig, aD as AggregationConfig, aE as AggregationMethod, a as Basemap, B as BasemapsController, f as CircleElementCreate, g as CircleElementRead, h as CircleElementUpdate, bg as CircleToolSettings, C as ColorBasemap, b as ColorBasemapInput, bh as ConfigurableToolType, aF as CountGridConfig, bx as CreateActionTriggerParams, by as CreateFeatureActionParams, Y as CreateLayersFromGeoJsonParams, bz as CreateOrUpdatePanelParams, bA as CreatePanelElementsParams, c as CustomTileBasemap, d as CustomTileBasemapInput, Z as DataOnlyLayer, bB as DeletePanelElementsParams, E as Element, i as ElementChangeCallbackParams, j as ElementCreate, k as ElementGroup, l as ElementGroupChangeCallbackParams, aU as ElementGroupNode, aV as ElementNode, m as ElementUpdate, S as ElementsController, aW as EntityNode, aX as FeatureNode, aY as FeatureSelection, e as FeltBasemap, b0 as FeltBoundary, _ as FeltTiledVectorSource, b1 as FeltZoom, av as FilterExpression, aw as FilterLogicGate, ax as FilterTernary, ay as Filters, $ as GeoJsonDataVectorSource, b2 as GeoJsonFeature, a0 as GeoJsonFileVectorSource, b3 as GeoJsonGeometry, b4 as GeoJsonProperties, a1 as GeoJsonUrlVectorSource, az as GeometryFilter, G as GetElementGroupsConstraint, n as GetElementsConstraint, aG as GetLayerCalculationParams, aH as GetLayerCategoriesGroup, aI as GetLayerCategoriesParams, a2 as GetLayerGroupsConstraint, aJ as GetLayerHistogramBin, aK as GetLayerHistogramParams, aL as GetLayerPrecomputedCalculationParams, a3 as GetLayersConstraint, a4 as GetRenderedFeaturesConstraint, aM as GridConfig, aN as GridType, H as HighlighterElementCreate, o as HighlighterElementRead, p as HighlighterElementUpdate, bi as HighlighterToolSettings, I as ImageElementCreate, q as ImageElementRead, r as ImageElementUpdate, bj as InputToolSettings, X as InteractionsController, b5 as LatLng, a5 as Layer, aA as LayerBoundaries, a6 as LayerChangeCallbackParams, a7 as LayerCommon, al as LayerFeature, aB as LayerFilters, a8 as LayerGroup, a9 as LayerGroupChangeCallbackParams, aZ as LayerGroupNode, a_ as LayerNode, aa as LayerProcessingStatus, an as LayerSchema, ao as LayerSchemaAttribute, ap as LayerSchemaBooleanAttribute, aq as LayerSchemaCommonAttribute, ar as LayerSchemaDateAttribute, as as LayerSchemaDateTimeAttribute, at as LayerSchemaNumericAttribute, au as LayerSchemaTextAttribute, aR as LayersController, ab as LegendDisplay, ac as LegendItem, ad as LegendItemChangeCallbackParams, ae as LegendItemIdentifier, af as LegendItemsConstraint, b6 as LineStringGeometry, bk as LineToolSettings, L as LinkElementRead, b7 as LngLatTuple, aS as MapDetails, W as MapInteractionEvent, M as MarkerElementCreate, s as MarkerElementRead, t as MarkerElementUpdate, bl as MarkerToolSettings, aT as MiscController, aO as MultiAggregationConfig, b8 as MultiLineStringGeometry, b9 as MultiPointGeometry, ba as MultiPolygonGeometry, N as NoteElementCreate, u as NoteElementRead, v as NoteElementUpdate, bm as NoteToolSettings, bC as OnMapInteractionsOptions, P as PathElementCreate, w as PathElementRead, x as PathElementUpdate, bn as PinToolSettings, y as PlaceElementCreate, A as PlaceElementRead, D as PlaceElementUpdate, bo as PlaceFrame, bp as PlaceSymbol, bG as PlacementForUIElement, bb as PointGeometry, J as PolygonElementCreate, K as PolygonElementRead, O as PolygonElementUpdate, bc as PolygonGeometry, bq as PolygonToolSettings, aP as PrecomputedAggregationMethod, ag as RasterBand, ah as RasterLayer, ai as RasterLayerSource, am as RasterValue, br as RouteToolSettings, a$ as SelectionController, cp as SetViewportCenterZoomParams, bd as SetVisibilityRequest, be as SortConfig, bf as SortDirection, T as TextElementCreate, Q as TextElementRead, R as TextElementUpdate, bs as TextToolSettings, bt as ToolSettingsChangeEvent, bu as ToolSettingsMap, bv as ToolType, bw as ToolsController, cl as UIActionTriggerCreate, bJ as UIButtonElement, bK as UIButtonElementCreate, bL as UIButtonElementUpdate, c5 as UIButtonRowElement, c6 as UIButtonRowElementCreate, c7 as UIButtonRowElementUpdate, c8 as UICheckboxGroupElement, c9 as UICheckboxGroupElementCreate, ca as UICheckboxGroupElementUpdate, ck as UIControlElementOption, bS as UIDividerElement, bT as UIDividerElementCreate, bU as UIDividerElementUpdate, cm as UIFeatureAction, cn as UIFeatureActionCreate, bP as UIFlexibleSpaceElement, bQ as UIFlexibleSpaceElementCreate, bR as UIFlexibleSpaceElementUpdate, c2 as UIGridContainerElement, c3 as UIGridContainerElementCreate, c4 as UIGridContainerElementUpdate, ch as UIIframeElement, ci as UIIframeElementCreate, cj as UIIframeElementUpdate, bH as UIPanel, bI as UIPanelCreateOrUpdate, b$ as UIPanelElement, c0 as UIPanelElementCreate, c1 as UIPanelElementUpdate, cb as UIRadioGroupElement, cc as UIRadioGroupElementCreate, cd as UIRadioGroupElementUpdate, bY as UISelectElement, bZ as UISelectElementCreate, b_ as UISelectElementUpdate, bM as UITextElement, bN as UITextElementCreate, bO as UITextElementUpdate, bV as UITextInputElement, bW as UITextInputElementCreate, bX as UITextInputElementUpdate, ce as UIToggleGroupElement, cf as UIToggleGroupElementCreate, cg as UIToggleGroupElementUpdate, co as UiController, bD as UpdateActionTriggerParams, bE as UpdateFeatureActionParams, aj as UpdateLayerParams, bF as UpdatePanelElementsParams, aQ as ValueConfiguration, ak as VectorLayer, cq as ViewportConstraints, ct as ViewportController, cr as ViewportFitBoundsParams, cs as ViewportState } from './controller-DXsOpGmy.cjs'; import { z } from 'zod'; /** * @group Instantiation * @public */ interface FeltEmbedOptions extends zInfer<typeof FeltEmbedOptionsSchema> { uiControls?: UiControlsOptions; initialViewport?: ViewportCenterZoom; } /** * @internal */ declare const FeltEmbedOptionsSchema: z.ZodObject<{ /** * @hidden */ origin: z.ZodOptional<z.ZodString>; /** * A short-lived (15 minutes) authentication token to use for showing embeds that are configured to be * private. */ token: z.ZodOptional<z.ZodString>; uiControls: z.ZodOptional<z.ZodObject<{ showLegend: z.ZodOptional<z.ZodBoolean>; cooperativeGestures: z.ZodOptional<z.ZodBoolean>; fullScreenButton: z.ZodOptional<z.ZodBoolean>; geolocation: z.ZodOptional<z.ZodBoolean>; zoomControls: z.ZodOptional<z.ZodBoolean>; scaleBar: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { showLegend?: boolean | undefined; cooperativeGestures?: boolean | undefined; fullScreenButton?: boolean | undefined; geolocation?: boolean | undefined; zoomControls?: boolean | undefined; scaleBar?: boolean | undefined; }, { showLegend?: boolean | undefined; cooperativeGestures?: boolean | undefined; fullScreenButton?: boolean | undefined; geolocation?: boolean | undefined; zoomControls?: boolean | undefined; scaleBar?: boolean | undefined; }>>; initialViewport: z.ZodOptional<z.ZodObject<{ center: z.ZodObject<{ latitude: z.ZodNumber; longitude: z.ZodNumber; }, "strip", z.ZodTypeAny, { latitude: number; longitude: number; }, { latitude: number; longitude: number; }>; zoom: z.ZodNumber; }, "strip", z.ZodTypeAny, { center: { latitude: number; longitude: number; }; zoom: number; }, { center: { latitude: number; longitude: number; }; zoom: number; }>>; }, "strip", z.ZodTypeAny, { origin?: string | undefined; token?: string | undefined; uiControls?: { showLegend?: boolean | undefined; cooperativeGestures?: boolean | undefined; fullScreenButton?: boolean | undefined; geolocation?: boolean | undefined; zoomControls?: boolean | undefined; scaleBar?: boolean | undefined; } | undefined; initialViewport?: { center: { latitude: number; longitude: number; }; zoom: number; } | undefined; }, { origin?: string | undefined; token?: string | undefined; uiControls?: { showLegend?: boolean | undefined; cooperativeGestures?: boolean | undefined; fullScreenButton?: boolean | undefined; geolocation?: boolean | undefined; zoomControls?: boolean | undefined; scaleBar?: boolean | undefined; } | undefined; initialViewport?: { center: { latitude: number; longitude: number; }; zoom: number; } | undefined; }>; /** * Use the {@link Felt} object to embed a new iframe, or connect to an existing embedded * iframe. * * Once you have connected to a Felt map (either by embedding or connecting to an existing * iframe), you can use the {@link FeltController} object to control the map. * * To see what you can do with the map, see the documentation for the {@link FeltController} * interface and its constituent controllers. * * @example * ```typescript * // embed the map * const map = await Felt.embed(container, "felt-map-abc-123"); * * // now the map is loaded and connected, you can use the FeltController interface * // to control the map. For instance, to get information about the layers * const layers = await map.getLayers(); * * // Or to set the viewport to a specific location and zoom level * await map.setViewport({ * center: { latitude: 37.8113, longitude: -122.2682 }, * zoom: 10, * }); * ``` * * @module Main */ /** * The Felt SDK is a library for embedding Felt maps into your website, * allowing you to control and inspect the map programmatically. * * @public * * @group Instantiation */ declare const Felt: { /** * Embeds a Felt map into the provided container, returning a promise that resolves * to a {@link FeltController} object that you can use to control the map. * * @param container - The container element to embed the map into. * @param mapId - The ID of the map to embed. * @param options - The options to configure the map. * @returns A promise for a {@link FeltController}. */ embed(container: HTMLElement, mapId: string, options?: FeltEmbedOptions): Promise<FeltController>; /** * Binds to an existing Felt map iframe. * * @param feltWindow - The iframe element containing the Felt map. * @returns */ connect(feltWindow: Pick<Window, "postMessage">): Promise<FeltController>; }; export { Felt, FeltController, type FeltEmbedOptions, UiControlsOptions, ViewportCenterZoom };