@feltmaps/js-sdk
Version:
An SDK for Felt maps
169 lines (164 loc) • 10.9 kB
text/typescript
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 };