@feltmaps/js-sdk 1.5.0-next.1 → 1.5.0-next.3
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/client.cjs +1 -1
- package/dist/client.d.cts +57 -3
- package/dist/client.d.ts +57 -3
- package/dist/client.js +1 -1
- package/dist/handler.cjs +1 -1
- package/dist/handler.d.cts +1312 -39
- package/dist/handler.d.ts +1312 -39
- package/dist/handler.js +1 -1
- package/dist/types-C1KBpQWi.d.cts +2418 -0
- package/dist/types-C1KBpQWi.d.ts +2418 -0
- package/handler.d.ts +1312 -39
- package/handler.js +1 -1
- package/package.json +1 -1
- package/types-C1KBpQWi.d.ts +2418 -0
- package/dist/types-CVxZMwC_.d.cts +0 -1203
- package/dist/types-CVxZMwC_.d.ts +0 -1203
- package/types-CVxZMwC_.d.ts +0 -1203
package/dist/client.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var g=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var b=(e,r)=>{for(var n in r)g(e,n,{get:r[n],enumerable:!0})},
|
|
1
|
+
"use strict";var g=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var b=(e,r)=>{for(var n in r)g(e,n,{get:r[n],enumerable:!0})},I=(e,r,n,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of S(r))!M.call(e,s)&&s!==n&&g(e,s,{get:()=>r[s],enumerable:!(i=F(r,s))||i.enumerable});return e};var G=e=>I(g({},"__esModule",{value:!0}),e);var x={};b(x,{Felt:()=>P});module.exports=G(x);function o(e,r){return({handler:n,options:i})=>{let s=new MessageChannel,a=crypto.randomUUID();return e.postMessage({type:"felt.addListener",event:i?{eventName:r,id:a,options:i}:{eventName:r,id:a}},"*",[s.port2]),s.port1.onmessage=l=>{n(l.data)},()=>{s.port1.onmessage=null,s.port1.close(),s.port2.close(),e.postMessage({type:"felt.removeListener",id:a},"*")}}}function t(e,r){return n=>{let i=new MessageChannel;return e.postMessage({type:r,params:n},"*",[i.port2]),new Promise((s,a)=>{i.port1.onmessage=l=>{l.data&&typeof l.data=="object"&&"__error__"in l.data?a(new Error(l.data.__error__)):s(l.data),i.port1.close(),i.port2.close()}})}}var u=e=>({getElement:t(e,"getElement"),getElementGeometry:t(e,"getElementGeometry"),getElements:t(e,"getElements"),setElementGroupVisibility:t(e,"setElementGroupVisibility"),getElementGroup:t(e,"getElementGroup"),getElementGroups:t(e,"getElementGroups"),onElementChange:o(e,"onElementChange"),onElementGroupChange:o(e,"onElementGroupChange"),createElement:t(e,"createElement"),updateElement:t(e,"updateElement"),deleteElement:t(e,"deleteElement")});var C=e=>({onPointerClick:o(e,"onPointerClick"),onPointerMove:o(e,"onPointerMove")});var h=e=>({getLayer:t(e,"getLayer"),getLayers:t(e,"getLayers"),setLayerVisibility:t(e,"setLayerVisibility"),setLayerStyle:t(e,"setLayerStyle"),setLayerLegendVisibility:t(e,"setLayerLegendVisibility"),onLayerChange:o(e,"onLayerChange"),getLayerGroup:t(e,"getLayerGroup"),getLayerGroups:t(e,"getLayerGroups"),setLayerGroupVisibility:t(e,"setLayerGroupVisibility"),setLayerGroupLegendVisibility:t(e,"setLayerGroupLegendVisibility"),onLayerGroupChange:o(e,"onLayerGroupChange"),getLegendItem:t(e,"getLegendItem"),getLegendItems:t(e,"getLegendItems"),setLegendItemVisibility:t(e,"setLegendItemVisibility"),onLegendItemChange:o(e,"onLegendItemChange"),getLayerFilters:t(e,"getLayerFilters"),setLayerFilters:t(e,"setLayerFilters"),getRenderedFeatures:t(e,"getRenderedFeatures")});var L=e=>({onSelectionChange:o(e,"onSelectionChange"),getSelection:t(e,"getSelection"),selectFeature:t(e,"selectFeature"),clearSelection:t(e,"clearSelection")});var T=e=>({setTool:t(e,"setTool"),getTool:t(e,"getTool"),onToolChange:o(e,"onToolChange"),setToolSettings:t(e,"setToolSettings"),getToolSettings:t(e,"getToolSettings"),onToolSettingsChange:o(e,"onToolSettingsChange")});var E=e=>({updateUiControls:t(e,"updateUiControls"),setOnMapInteractionsUi:t(e,"setOnMapInteractionsUi")});var v=e=>({getViewport:t(e,"getViewport"),setViewport:t(e,"setViewport"),getViewportConstraints:t(e,"getViewportConstraints"),setViewportConstraints:t(e,"setViewportConstraints"),fitViewportToBounds:t(e,"fitViewportToBounds"),onViewportMove:o(e,"onViewportMove"),onViewportMoveEnd:o(e,"onViewportMoveEnd"),onMapIdle:o(e,"onMapIdle")});function V(e){return{iframe:null,...v(e),...E(e),...h(e),...u(e),...L(e),...C(e),...T(e)}}var P={embed(e,r,n){let i={uiControls:{showLegend:!0,cooperativeGestures:!0,fullScreenButton:!0,geolocation:!1,zoomControls:!0,scaleBar:!0},initialViewport:void 0,origin:"https://felt.com"},s=n?.origin??i.origin,a=new URL(`${s}/embed/map/${r}`),l={showLegend:"legend",cooperativeGestures:"cooperativeGestures",fullScreenButton:"link",geolocation:"geolocation",zoomControls:"zoomControls",scaleBar:"scaleBar"},y={...i.uiControls,...n?.uiControls};for(let[m,d]of f(y))d!=null&&a.searchParams.set(l[m],d?"1":"0");if(n?.token&&a.searchParams.set("token",n.token),n?.initialViewport){let m=n.initialViewport;a.searchParams.set("loc",`${m.center.latitude},${m.center.longitude},${m.zoom}z`)}let c=e.tagName==="IFRAME",p=c?e:e.ownerDocument.createElement("iframe");return p.src=a.toString(),c||(p.style.width="100%",p.style.height="100%",p.style.border="none",p.style.margin="0",e.appendChild(p)),p.referrerPolicy="strict-origin-when-cross-origin",new Promise((m,d)=>{p.addEventListener("load",()=>{p.contentWindow==null?d(new Error("Failed to load Felt map")):m(p.contentWindow)},{once:!0})}).then(P.connect).then(m=>(Object.defineProperties(m,{iframe:{value:p,writable:!1,configurable:!1}}),m))},connect(e){let r=V(e);return new Promise((n,i)=>{let s=setTimeout(()=>{i(new Error("Failed to load Felt map")),clearInterval(l)},5e3),a=new MessageChannel,l=setInterval(()=>{e.postMessage({type:"felt.ready"},"*",[a.port2])},100);a.port1.onmessage=y=>{y.data===!0&&(clearInterval(l),clearTimeout(s),a.port1.close(),a.port2.close(),n(r))}})}},f=Object.entries;0&&(module.exports={Felt});
|
package/dist/client.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as Element, G as Geometry, a as GetElementsConstraint, b as ElementGroup, c as GetElementGroupsConstraint, S as SetVisibilityRequest, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, L as Layer,
|
|
2
|
-
export {
|
|
1
|
+
import { E as Element, G as Geometry, a as GetElementsConstraint, b as ElementGroup, c as GetElementGroupsConstraint, S as SetVisibilityRequest, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, f as ElementCreate, g as ElementUpdate, L as Layer, h as GetLayersConstraint, i as LayerChangeCallbackParams, j as LayerGroup, k as GetLayerGroupsConstraint, l as LayerGroupChangeCallbackParams, m as LegendItemIdentifier, n as LegendItem, o as LegendItemsConstraint, p as LegendItemChangeCallbackParams, q as LayerFilters, F as Filters, r as GetRenderedFeaturesConstraint, s as Feature, M as MapInteractionEvent, t as EntityNode, u as FeatureSelection, T as ToolType, I as InputToolSettings, C as ConfigurableToolType, v as ToolSettingsMap, w as ToolSettingsChangeEvent, z as zInfer, V as ViewportState, x as SetViewportCenterZoomParams, y as ViewportConstraints, A as ViewportFitBoundsParams, B as ViewportCenterZoom } from './types-C1KBpQWi.cjs';
|
|
2
|
+
export { D as CircleElementCreate, H as CircleElementRead, J as CircleElementUpdate, av as CircleToolSettings, ah as ElementGroupNode, ai as ElementNode, aj as FeatureNode, am as FeltBoundary, an as FeltZoom, ae as FilterExpression, af as FilterLogicGate, ag as FilterTernary, K as HighlighterElementCreate, N as HighlighterElementRead, O as HighlighterElementUpdate, aw as HighlighterToolSettings, P as ImageElementCreate, Q as ImageElementRead, R as ImageElementUpdate, ao as LatLng, ak as LayerGroupNode, al as LayerNode, ac as LayerProcessingStatus, ap as LineStringGeometry, ax as LineToolSettings, U as LinkElementRead, aq as LngLatTuple, W as MarkerElementCreate, X as MarkerElementRead, Y as MarkerElementUpdate, ay as MarkerToolSettings, ar as MultiLineStringGeometry, as as MultiPolygonGeometry, Z as NoteElementCreate, _ as NoteElementRead, $ as NoteElementUpdate, az as NoteToolSettings, a0 as PathElementCreate, a1 as PathElementRead, a2 as PathElementUpdate, aA as PinToolSettings, a3 as PlaceElementCreate, a4 as PlaceElementRead, a5 as PlaceElementUpdate, aB as PlaceFrame, aC as PlaceSymbol, at as PointGeometry, a6 as PolygonElementCreate, a7 as PolygonElementRead, a8 as PolygonElementUpdate, au as PolygonGeometry, aD as PolygonToolSettings, ad as RasterValue, aE as RouteToolSettings, a9 as TextElementCreate, aa as TextElementRead, ab as TextElementUpdate, aF as TextToolSettings } from './types-C1KBpQWi.cjs';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -147,6 +147,23 @@ interface ElementsController {
|
|
|
147
147
|
};
|
|
148
148
|
handler: (change: ElementGroupChangeCallbackParams) => void;
|
|
149
149
|
}): VoidFunction;
|
|
150
|
+
/**
|
|
151
|
+
* Create a new element on the map.
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* const element = await felt.createElement({ type: "Place", coordinates: [10, 10] });
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
createElement(element: ElementCreate): Promise<Element | null>;
|
|
159
|
+
/**
|
|
160
|
+
* Update an element on the map.
|
|
161
|
+
*/
|
|
162
|
+
updateElement(element: ElementUpdate): Promise<Element | null>;
|
|
163
|
+
/**
|
|
164
|
+
* Delete an element from the map.
|
|
165
|
+
*/
|
|
166
|
+
deleteElement(id: string): Promise<void>;
|
|
150
167
|
}
|
|
151
168
|
|
|
152
169
|
/**
|
|
@@ -894,6 +911,43 @@ interface ViewportController {
|
|
|
894
911
|
* ```
|
|
895
912
|
*/
|
|
896
913
|
setViewport(viewport: SetViewportCenterZoomParams): void;
|
|
914
|
+
/**
|
|
915
|
+
* Gets the current state of the viewport constraints.
|
|
916
|
+
*/
|
|
917
|
+
getViewportConstraints(): Promise<ViewportConstraints | null>;
|
|
918
|
+
/**
|
|
919
|
+
* Constrains the map viewport so it stays inside certain bounds and/or certain zoom levels.
|
|
920
|
+
*
|
|
921
|
+
* @example
|
|
922
|
+
* ```typescript
|
|
923
|
+
* felt.setViewportConstraints({
|
|
924
|
+
* bounds: [-122.5372532, 37.6652478, -122.1927016, 37.881707],
|
|
925
|
+
* minZoom: 1,
|
|
926
|
+
* maxZoom: 23,
|
|
927
|
+
* });
|
|
928
|
+
* ```
|
|
929
|
+
*
|
|
930
|
+
* @example
|
|
931
|
+
* every constraint is optional
|
|
932
|
+
* ```typescript
|
|
933
|
+
* felt.setViewportConstraints({
|
|
934
|
+
* bounds: [-122.5372532, 37.6652478, -122.1927016, 37.881707],
|
|
935
|
+
* });
|
|
936
|
+
* ```
|
|
937
|
+
*
|
|
938
|
+
* @example
|
|
939
|
+
* if a constraint is null, it will be removed but keeping the others
|
|
940
|
+
* ```typescript
|
|
941
|
+
* felt.setViewportConstraints({ bounds: null });
|
|
942
|
+
* ```
|
|
943
|
+
*
|
|
944
|
+
* @example
|
|
945
|
+
* if method receives null, it will remove the constraints
|
|
946
|
+
* ```typescript
|
|
947
|
+
* felt.setViewportConstraints(null);
|
|
948
|
+
* ```
|
|
949
|
+
*/
|
|
950
|
+
setViewportConstraints(constraints: Partial<ViewportConstraints> | null): void;
|
|
897
951
|
/**
|
|
898
952
|
* Fits the map to the specified bounds.
|
|
899
953
|
*
|
|
@@ -1159,4 +1213,4 @@ declare const Felt: {
|
|
|
1159
1213
|
connect(feltWindow: Window): Promise<FeltController>;
|
|
1160
1214
|
};
|
|
1161
1215
|
|
|
1162
|
-
export { ConfigurableToolType, Element, ElementChangeCallbackParams, ElementGroup, ElementGroupChangeCallbackParams, type ElementsController, EntityNode, Feature, FeatureSelection, Felt, type FeltController, type FeltEmbedOptions, Filters, Geometry, GetElementGroupsConstraint, GetElementsConstraint, GetLayerGroupsConstraint, GetLayersConstraint, GetRenderedFeaturesConstraint, InputToolSettings, type InteractionsController, Layer, LayerChangeCallbackParams, LayerFilters, LayerGroup, LayerGroupChangeCallbackParams, type LayersController, LegendItem, LegendItemChangeCallbackParams, LegendItemIdentifier, LegendItemsConstraint, MapInteractionEvent, type UiOnMapInteractionsOptions as OnMapInteractionsOptions, type SelectionController, SetViewportCenterZoomParams, SetVisibilityRequest, ToolSettingsChangeEvent, ToolSettingsMap, ToolType, type ToolsController, type UiController, type UiControlsOptions, ViewportCenterZoom, type ViewportController, ViewportFitBoundsParams, ViewportState };
|
|
1216
|
+
export { ConfigurableToolType, Element, ElementChangeCallbackParams, ElementCreate, ElementGroup, ElementGroupChangeCallbackParams, ElementUpdate, type ElementsController, EntityNode, Feature, FeatureSelection, Felt, type FeltController, type FeltEmbedOptions, Filters, Geometry, GetElementGroupsConstraint, GetElementsConstraint, GetLayerGroupsConstraint, GetLayersConstraint, GetRenderedFeaturesConstraint, InputToolSettings, type InteractionsController, Layer, LayerChangeCallbackParams, LayerFilters, LayerGroup, LayerGroupChangeCallbackParams, type LayersController, LegendItem, LegendItemChangeCallbackParams, LegendItemIdentifier, LegendItemsConstraint, MapInteractionEvent, type UiOnMapInteractionsOptions as OnMapInteractionsOptions, type SelectionController, SetViewportCenterZoomParams, SetVisibilityRequest, ToolSettingsChangeEvent, ToolSettingsMap, ToolType, type ToolsController, type UiController, type UiControlsOptions, ViewportCenterZoom, ViewportConstraints, type ViewportController, ViewportFitBoundsParams, ViewportState };
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as Element, G as Geometry, a as GetElementsConstraint, b as ElementGroup, c as GetElementGroupsConstraint, S as SetVisibilityRequest, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, L as Layer,
|
|
2
|
-
export {
|
|
1
|
+
import { E as Element, G as Geometry, a as GetElementsConstraint, b as ElementGroup, c as GetElementGroupsConstraint, S as SetVisibilityRequest, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, f as ElementCreate, g as ElementUpdate, L as Layer, h as GetLayersConstraint, i as LayerChangeCallbackParams, j as LayerGroup, k as GetLayerGroupsConstraint, l as LayerGroupChangeCallbackParams, m as LegendItemIdentifier, n as LegendItem, o as LegendItemsConstraint, p as LegendItemChangeCallbackParams, q as LayerFilters, F as Filters, r as GetRenderedFeaturesConstraint, s as Feature, M as MapInteractionEvent, t as EntityNode, u as FeatureSelection, T as ToolType, I as InputToolSettings, C as ConfigurableToolType, v as ToolSettingsMap, w as ToolSettingsChangeEvent, z as zInfer, V as ViewportState, x as SetViewportCenterZoomParams, y as ViewportConstraints, A as ViewportFitBoundsParams, B as ViewportCenterZoom } from './types-C1KBpQWi.js';
|
|
2
|
+
export { D as CircleElementCreate, H as CircleElementRead, J as CircleElementUpdate, av as CircleToolSettings, ah as ElementGroupNode, ai as ElementNode, aj as FeatureNode, am as FeltBoundary, an as FeltZoom, ae as FilterExpression, af as FilterLogicGate, ag as FilterTernary, K as HighlighterElementCreate, N as HighlighterElementRead, O as HighlighterElementUpdate, aw as HighlighterToolSettings, P as ImageElementCreate, Q as ImageElementRead, R as ImageElementUpdate, ao as LatLng, ak as LayerGroupNode, al as LayerNode, ac as LayerProcessingStatus, ap as LineStringGeometry, ax as LineToolSettings, U as LinkElementRead, aq as LngLatTuple, W as MarkerElementCreate, X as MarkerElementRead, Y as MarkerElementUpdate, ay as MarkerToolSettings, ar as MultiLineStringGeometry, as as MultiPolygonGeometry, Z as NoteElementCreate, _ as NoteElementRead, $ as NoteElementUpdate, az as NoteToolSettings, a0 as PathElementCreate, a1 as PathElementRead, a2 as PathElementUpdate, aA as PinToolSettings, a3 as PlaceElementCreate, a4 as PlaceElementRead, a5 as PlaceElementUpdate, aB as PlaceFrame, aC as PlaceSymbol, at as PointGeometry, a6 as PolygonElementCreate, a7 as PolygonElementRead, a8 as PolygonElementUpdate, au as PolygonGeometry, aD as PolygonToolSettings, ad as RasterValue, aE as RouteToolSettings, a9 as TextElementCreate, aa as TextElementRead, ab as TextElementUpdate, aF as TextToolSettings } from './types-C1KBpQWi.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -147,6 +147,23 @@ interface ElementsController {
|
|
|
147
147
|
};
|
|
148
148
|
handler: (change: ElementGroupChangeCallbackParams) => void;
|
|
149
149
|
}): VoidFunction;
|
|
150
|
+
/**
|
|
151
|
+
* Create a new element on the map.
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* const element = await felt.createElement({ type: "Place", coordinates: [10, 10] });
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
createElement(element: ElementCreate): Promise<Element | null>;
|
|
159
|
+
/**
|
|
160
|
+
* Update an element on the map.
|
|
161
|
+
*/
|
|
162
|
+
updateElement(element: ElementUpdate): Promise<Element | null>;
|
|
163
|
+
/**
|
|
164
|
+
* Delete an element from the map.
|
|
165
|
+
*/
|
|
166
|
+
deleteElement(id: string): Promise<void>;
|
|
150
167
|
}
|
|
151
168
|
|
|
152
169
|
/**
|
|
@@ -894,6 +911,43 @@ interface ViewportController {
|
|
|
894
911
|
* ```
|
|
895
912
|
*/
|
|
896
913
|
setViewport(viewport: SetViewportCenterZoomParams): void;
|
|
914
|
+
/**
|
|
915
|
+
* Gets the current state of the viewport constraints.
|
|
916
|
+
*/
|
|
917
|
+
getViewportConstraints(): Promise<ViewportConstraints | null>;
|
|
918
|
+
/**
|
|
919
|
+
* Constrains the map viewport so it stays inside certain bounds and/or certain zoom levels.
|
|
920
|
+
*
|
|
921
|
+
* @example
|
|
922
|
+
* ```typescript
|
|
923
|
+
* felt.setViewportConstraints({
|
|
924
|
+
* bounds: [-122.5372532, 37.6652478, -122.1927016, 37.881707],
|
|
925
|
+
* minZoom: 1,
|
|
926
|
+
* maxZoom: 23,
|
|
927
|
+
* });
|
|
928
|
+
* ```
|
|
929
|
+
*
|
|
930
|
+
* @example
|
|
931
|
+
* every constraint is optional
|
|
932
|
+
* ```typescript
|
|
933
|
+
* felt.setViewportConstraints({
|
|
934
|
+
* bounds: [-122.5372532, 37.6652478, -122.1927016, 37.881707],
|
|
935
|
+
* });
|
|
936
|
+
* ```
|
|
937
|
+
*
|
|
938
|
+
* @example
|
|
939
|
+
* if a constraint is null, it will be removed but keeping the others
|
|
940
|
+
* ```typescript
|
|
941
|
+
* felt.setViewportConstraints({ bounds: null });
|
|
942
|
+
* ```
|
|
943
|
+
*
|
|
944
|
+
* @example
|
|
945
|
+
* if method receives null, it will remove the constraints
|
|
946
|
+
* ```typescript
|
|
947
|
+
* felt.setViewportConstraints(null);
|
|
948
|
+
* ```
|
|
949
|
+
*/
|
|
950
|
+
setViewportConstraints(constraints: Partial<ViewportConstraints> | null): void;
|
|
897
951
|
/**
|
|
898
952
|
* Fits the map to the specified bounds.
|
|
899
953
|
*
|
|
@@ -1159,4 +1213,4 @@ declare const Felt: {
|
|
|
1159
1213
|
connect(feltWindow: Window): Promise<FeltController>;
|
|
1160
1214
|
};
|
|
1161
1215
|
|
|
1162
|
-
export { ConfigurableToolType, Element, ElementChangeCallbackParams, ElementGroup, ElementGroupChangeCallbackParams, type ElementsController, EntityNode, Feature, FeatureSelection, Felt, type FeltController, type FeltEmbedOptions, Filters, Geometry, GetElementGroupsConstraint, GetElementsConstraint, GetLayerGroupsConstraint, GetLayersConstraint, GetRenderedFeaturesConstraint, InputToolSettings, type InteractionsController, Layer, LayerChangeCallbackParams, LayerFilters, LayerGroup, LayerGroupChangeCallbackParams, type LayersController, LegendItem, LegendItemChangeCallbackParams, LegendItemIdentifier, LegendItemsConstraint, MapInteractionEvent, type UiOnMapInteractionsOptions as OnMapInteractionsOptions, type SelectionController, SetViewportCenterZoomParams, SetVisibilityRequest, ToolSettingsChangeEvent, ToolSettingsMap, ToolType, type ToolsController, type UiController, type UiControlsOptions, ViewportCenterZoom, type ViewportController, ViewportFitBoundsParams, ViewportState };
|
|
1216
|
+
export { ConfigurableToolType, Element, ElementChangeCallbackParams, ElementCreate, ElementGroup, ElementGroupChangeCallbackParams, ElementUpdate, type ElementsController, EntityNode, Feature, FeatureSelection, Felt, type FeltController, type FeltEmbedOptions, Filters, Geometry, GetElementGroupsConstraint, GetElementsConstraint, GetLayerGroupsConstraint, GetLayersConstraint, GetRenderedFeaturesConstraint, InputToolSettings, type InteractionsController, Layer, LayerChangeCallbackParams, LayerFilters, LayerGroup, LayerGroupChangeCallbackParams, type LayersController, LegendItem, LegendItemChangeCallbackParams, LegendItemIdentifier, LegendItemsConstraint, MapInteractionEvent, type UiOnMapInteractionsOptions as OnMapInteractionsOptions, type SelectionController, SetViewportCenterZoomParams, SetVisibilityRequest, ToolSettingsChangeEvent, ToolSettingsMap, ToolType, type ToolsController, type UiController, type UiControlsOptions, ViewportCenterZoom, ViewportConstraints, type ViewportController, ViewportFitBoundsParams, ViewportState };
|
package/dist/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function o(e,m){return({handler:n,options:s})=>{let a=new MessageChannel,r=crypto.randomUUID();return e.postMessage({type:"felt.addListener",event:s?{eventName:m,id:r,options:s}:{eventName:m,id:r}},"*",[a.port2]),a.port1.onmessage=i=>{n(i.data)},()=>{a.port1.onmessage=null,a.port1.close(),a.port2.close(),e.postMessage({type:"felt.removeListener",id:r},"*")}}}function t(e,m){return n=>{let s=new MessageChannel;return e.postMessage({type:m,params:n},"*",[s.port2]),new Promise((a,r)=>{s.port1.onmessage=i=>{i.data&&typeof i.data=="object"&&"__error__"in i.data?r(new Error(i.data.__error__)):a(i.data),s.port1.close(),s.port2.close()}})}}var c=e=>({getElement:t(e,"getElement"),getElementGeometry:t(e,"getElementGeometry"),getElements:t(e,"getElements"),setElementGroupVisibility:t(e,"setElementGroupVisibility"),getElementGroup:t(e,"getElementGroup"),getElementGroups:t(e,"getElementGroups"),onElementChange:o(e,"onElementChange"),onElementGroupChange:o(e,"onElementGroupChange")});var u=e=>({onPointerClick:o(e,"onPointerClick"),onPointerMove:o(e,"onPointerMove")});var C=e=>({getLayer:t(e,"getLayer"),getLayers:t(e,"getLayers"),setLayerVisibility:t(e,"setLayerVisibility"),setLayerStyle:t(e,"setLayerStyle"),setLayerLegendVisibility:t(e,"setLayerLegendVisibility"),onLayerChange:o(e,"onLayerChange"),getLayerGroup:t(e,"getLayerGroup"),getLayerGroups:t(e,"getLayerGroups"),setLayerGroupVisibility:t(e,"setLayerGroupVisibility"),setLayerGroupLegendVisibility:t(e,"setLayerGroupLegendVisibility"),onLayerGroupChange:o(e,"onLayerGroupChange"),getLegendItem:t(e,"getLegendItem"),getLegendItems:t(e,"getLegendItems"),setLegendItemVisibility:t(e,"setLegendItemVisibility"),onLegendItemChange:o(e,"onLegendItemChange"),getLayerFilters:t(e,"getLayerFilters"),setLayerFilters:t(e,"setLayerFilters"),getRenderedFeatures:t(e,"getRenderedFeatures")});var h=e=>({onSelectionChange:o(e,"onSelectionChange"),getSelection:t(e,"getSelection"),selectFeature:t(e,"selectFeature"),clearSelection:t(e,"clearSelection")});var L=e=>({setTool:t(e,"setTool"),getTool:t(e,"getTool"),onToolChange:o(e,"onToolChange"),setToolSettings:t(e,"setToolSettings"),getToolSettings:t(e,"getToolSettings"),onToolSettingsChange:o(e,"onToolSettingsChange")});var T=e=>({updateUiControls:t(e,"updateUiControls"),setOnMapInteractionsUi:t(e,"setOnMapInteractionsUi")});var
|
|
1
|
+
function o(e,m){return({handler:n,options:s})=>{let a=new MessageChannel,r=crypto.randomUUID();return e.postMessage({type:"felt.addListener",event:s?{eventName:m,id:r,options:s}:{eventName:m,id:r}},"*",[a.port2]),a.port1.onmessage=i=>{n(i.data)},()=>{a.port1.onmessage=null,a.port1.close(),a.port2.close(),e.postMessage({type:"felt.removeListener",id:r},"*")}}}function t(e,m){return n=>{let s=new MessageChannel;return e.postMessage({type:m,params:n},"*",[s.port2]),new Promise((a,r)=>{s.port1.onmessage=i=>{i.data&&typeof i.data=="object"&&"__error__"in i.data?r(new Error(i.data.__error__)):a(i.data),s.port1.close(),s.port2.close()}})}}var c=e=>({getElement:t(e,"getElement"),getElementGeometry:t(e,"getElementGeometry"),getElements:t(e,"getElements"),setElementGroupVisibility:t(e,"setElementGroupVisibility"),getElementGroup:t(e,"getElementGroup"),getElementGroups:t(e,"getElementGroups"),onElementChange:o(e,"onElementChange"),onElementGroupChange:o(e,"onElementGroupChange"),createElement:t(e,"createElement"),updateElement:t(e,"updateElement"),deleteElement:t(e,"deleteElement")});var u=e=>({onPointerClick:o(e,"onPointerClick"),onPointerMove:o(e,"onPointerMove")});var C=e=>({getLayer:t(e,"getLayer"),getLayers:t(e,"getLayers"),setLayerVisibility:t(e,"setLayerVisibility"),setLayerStyle:t(e,"setLayerStyle"),setLayerLegendVisibility:t(e,"setLayerLegendVisibility"),onLayerChange:o(e,"onLayerChange"),getLayerGroup:t(e,"getLayerGroup"),getLayerGroups:t(e,"getLayerGroups"),setLayerGroupVisibility:t(e,"setLayerGroupVisibility"),setLayerGroupLegendVisibility:t(e,"setLayerGroupLegendVisibility"),onLayerGroupChange:o(e,"onLayerGroupChange"),getLegendItem:t(e,"getLegendItem"),getLegendItems:t(e,"getLegendItems"),setLegendItemVisibility:t(e,"setLegendItemVisibility"),onLegendItemChange:o(e,"onLegendItemChange"),getLayerFilters:t(e,"getLayerFilters"),setLayerFilters:t(e,"setLayerFilters"),getRenderedFeatures:t(e,"getRenderedFeatures")});var h=e=>({onSelectionChange:o(e,"onSelectionChange"),getSelection:t(e,"getSelection"),selectFeature:t(e,"selectFeature"),clearSelection:t(e,"clearSelection")});var L=e=>({setTool:t(e,"setTool"),getTool:t(e,"getTool"),onToolChange:o(e,"onToolChange"),setToolSettings:t(e,"setToolSettings"),getToolSettings:t(e,"getToolSettings"),onToolSettingsChange:o(e,"onToolSettingsChange")});var T=e=>({updateUiControls:t(e,"updateUiControls"),setOnMapInteractionsUi:t(e,"setOnMapInteractionsUi")});var E=e=>({getViewport:t(e,"getViewport"),setViewport:t(e,"setViewport"),getViewportConstraints:t(e,"getViewportConstraints"),setViewportConstraints:t(e,"setViewportConstraints"),fitViewportToBounds:t(e,"fitViewportToBounds"),onViewportMove:o(e,"onViewportMove"),onViewportMoveEnd:o(e,"onViewportMoveEnd"),onMapIdle:o(e,"onMapIdle")});function v(e){return{iframe:null,...E(e),...T(e),...C(e),...c(e),...h(e),...u(e),...L(e)}}var V={embed(e,m,n){let s={uiControls:{showLegend:!0,cooperativeGestures:!0,fullScreenButton:!0,geolocation:!1,zoomControls:!0,scaleBar:!0},initialViewport:void 0,origin:"https://felt.com"},a=n?.origin??s.origin,r=new URL(`${a}/embed/map/${m}`),i={showLegend:"legend",cooperativeGestures:"cooperativeGestures",fullScreenButton:"link",geolocation:"geolocation",zoomControls:"zoomControls",scaleBar:"scaleBar"},y={...s.uiControls,...n?.uiControls};for(let[p,d]of P(y))d!=null&&r.searchParams.set(i[p],d?"1":"0");if(n?.token&&r.searchParams.set("token",n.token),n?.initialViewport){let p=n.initialViewport;r.searchParams.set("loc",`${p.center.latitude},${p.center.longitude},${p.zoom}z`)}let g=e.tagName==="IFRAME",l=g?e:e.ownerDocument.createElement("iframe");return l.src=r.toString(),g||(l.style.width="100%",l.style.height="100%",l.style.border="none",l.style.margin="0",e.appendChild(l)),l.referrerPolicy="strict-origin-when-cross-origin",new Promise((p,d)=>{l.addEventListener("load",()=>{l.contentWindow==null?d(new Error("Failed to load Felt map")):p(l.contentWindow)},{once:!0})}).then(V.connect).then(p=>(Object.defineProperties(p,{iframe:{value:l,writable:!1,configurable:!1}}),p))},connect(e){let m=v(e);return new Promise((n,s)=>{let a=setTimeout(()=>{s(new Error("Failed to load Felt map")),clearInterval(i)},5e3),r=new MessageChannel,i=setInterval(()=>{e.postMessage({type:"felt.ready"},"*",[r.port2])},100);r.port1.onmessage=y=>{y.data===!0&&(clearInterval(i),clearTimeout(a),r.port1.close(),r.port2.close(),n(m))}})}},P=Object.entries;export{V as Felt};
|
package/dist/handler.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var v=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var fe=Object.prototype.hasOwnProperty;var he=(o,a)=>{for(var h in a)v(o,h,{get:a[h],enumerable:!0})},Se=(o,a,h,L)=>{if(a&&typeof a=="object"||typeof a=="function")for(let u of ue(a))!fe.call(o,u)&&u!==h&&v(o,u,{get:()=>a[u],enumerable:!(L=de(a,u))||L.enumerable});return o};var be=o=>Se(v({},"__esModule",{value:!0}),o);var Pt={};he(Pt,{createMessageHandler:()=>Tt});module.exports=be(Pt);var l=require("zod");var f=require("zod");var g=require("zod");function t(o,a){return g.z.strictObject({type:g.z.literal(o),params:a})}function S(o,a){return g.z.strictObject({eventName:g.z.literal(o),id:g.z.string(),options:a})}function m(o){return g.z.strictObject({eventName:g.z.literal(o),id:g.z.string()})}var c=require("zod"),w=c.z.number(),P=c.z.number(),T=c.z.object({latitude:P,longitude:w}),N=c.z.number().min(1).max(23),C=c.z.tuple([w,P,w,P]),b=c.z.object({show:c.z.array(c.z.string()).optional(),hide:c.z.array(c.z.string()).optional()});var M=require("zod"),R=M.z.object({ids:M.z.array(M.z.string()).optional()}),U=M.z.object({ids:M.z.array(M.z.string()).optional()});var Me=t("getElement",f.z.string()),Le=t("getElementGeometry",f.z.string()),xe=t("getElements",R.optional()),Ge=t("getElementGroup",f.z.string()),Ie=t("getElementGroups",U.optional()),Te=t("setElementGroupVisibility",b),Ce=S("onElementChange",f.z.object({id:f.z.string()})),ze=S("onElementGroupChange",f.z.object({id:f.z.string()})),B={methods:[Me,Le,xe,Ge,Ie,Te],listeners:[Ce,ze]};var Fe=m("onPointerClick"),Ee=m("onPointerMove"),Z={methods:null,listeners:[Fe,Ee]};var i=require("zod");var n=require("zod"),ve=n.z.enum(["in","ni"]),we=n.z.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Ht=n.z.enum(["and","or"]),A=n.z.union([n.z.number(),n.z.string(),n.z.boolean(),n.z.null()]),q=n.z.string().or(n.z.null()),Pe=n.z.tuple([q,ve,n.z.array(A).or(n.z.null())]),Ve=n.z.tuple([q,we,A]),V=n.z.union([Pe,Ve]),k=n.z.tuple([n.z.lazy(()=>n.z.union([k,V,n.z.null(),n.z.boolean()])),n.z.enum(["and","or"]),n.z.lazy(()=>n.z.union([k,V,n.z.null(),n.z.boolean()]))]),H=n.z.union([k,V,n.z.null(),n.z.boolean()]);var r=require("zod");var _t=r.z.enum(["processing","completed","failed","incomplete"]),W=r.z.object({ids:r.z.array(r.z.string()).optional()}),K=r.z.object({ids:r.z.array(r.z.string()).optional()}),x=r.z.object({id:r.z.string(),layerId:r.z.string()}),_=r.z.object({ids:x.array().optional(),layerIds:r.z.string().array().optional()}),Q=r.z.object({layerIds:r.z.array(r.z.string()).optional(),areaQuery:r.z.union([r.z.object({coordinates:T}),r.z.object({boundary:C})]).optional()});var ke=t("getLayer",i.z.string()),Oe=t("getLayers",W.optional()),je=t("setLayerVisibility",b),Ne=S("onLayerChange",i.z.object({id:i.z.string()})),Re=t("setLayerStyle",i.z.object({id:i.z.string(),style:i.z.object({}).passthrough()})),Ue=t("setLayerLegendVisibility",b),Be=t("getLayerGroup",i.z.string()),Ze=t("getLayerGroups",K.optional()),Ae=t("setLayerGroupVisibility",b),qe=t("setLayerGroupLegendVisibility",b),He=S("onLayerGroupChange",i.z.object({id:i.z.string()})),We=t("getLegendItem",x),Ke=t("getLegendItems",_.optional()),_e=S("onLegendItemChange",x),Qe=t("setLegendItemVisibility",i.z.object({show:x.array().optional(),hide:x.array().optional()})),De=t("getLayerFilters",i.z.string()),$e=t("setLayerFilters",i.z.object({layerId:i.z.string(),filters:H,note:i.z.string().optional()})),Je=t("getRenderedFeatures",Q.optional()),D={methods:[ke,Oe,je,Re,Ue,Be,Ze,Ae,qe,We,Ke,Qe,De,$e,Je],listeners:[Ne,He,_e]};var I=require("zod");var d=require("zod"),$=d.z.object({id:d.z.string().or(d.z.number()),layerId:d.z.string(),showPopup:d.z.boolean().optional(),fitViewport:d.z.boolean().or(d.z.object({maxZoom:d.z.number()})).optional()});var Xe=t("getSelection",I.z.undefined()),Ye=m("onSelectionChange"),et=t("selectFeature",$),tt=t("clearSelection",I.z.object({features:I.z.boolean().optional(),elements:I.z.boolean().optional()}).optional()),J={methods:[Xe,et,tt],listeners:[Ye]};var oe=require("zod");var e=require("zod"),X=["pin","line","route","polygon","circle","marker","highlighter","text","note"],Y=e.z.enum([...X,"link"]),ee=e.z.enum(X),ot=e.z.object({color:e.z.string(),symbol:e.z.string(),frame:e.z.enum(["frame-circle","frame-square"]).nullable()}),nt=e.z.object({color:e.z.string(),strokeOpacity:e.z.number(),strokeWidth:e.z.number(),strokeStyle:e.z.enum(["solid","dashed","dotted"]),distanceMarker:e.z.boolean()}),rt=e.z.object({color:e.z.string(),routingMode:e.z.enum(["driving","cycling","walking","flying"]),strokeOpacity:e.z.number(),strokeWidth:e.z.number(),strokeStyle:e.z.enum(["solid","dashed","dotted"]),distanceMarker:e.z.boolean(),endCaps:e.z.boolean()}),at=e.z.object({color:e.z.string(),fillOpacity:e.z.number().min(0).max(1),strokeOpacity:e.z.number().min(0).max(1),strokeWidth:e.z.number().min(0),strokeStyle:e.z.enum(["solid","dashed","dotted"]),areaMarker:e.z.boolean()}),it=e.z.object({color:e.z.string(),fillOpacity:e.z.number().min(0).max(1),strokeOpacity:e.z.number().min(0).max(1),strokeWidth:e.z.number().min(0),strokeStyle:e.z.enum(["solid","dashed","dotted"]),radiusMarker:e.z.boolean()}),st=e.z.object({color:e.z.string(),opacity:e.z.number().min(0).max(1),size:e.z.number().min(0).max(100)}),lt=e.z.object({color:e.z.string(),opacity:e.z.number().min(0).max(1),size:e.z.number().min(0).max(200)}),pt=e.z.object({color:e.z.string(),align:e.z.enum(["left","center","right"]),style:e.z.enum(["italic","light","regular","caps"])}),mt=e.z.object({color:e.z.string(),align:e.z.enum(["left","center","right"]),style:e.z.enum(["italic","light","regular","caps"])}),te=e.z.discriminatedUnion("tool",[ot.partial().extend({tool:e.z.literal("pin")}),nt.partial().extend({tool:e.z.literal("line")}),rt.partial().extend({tool:e.z.literal("route")}),at.partial().extend({tool:e.z.literal("polygon")}),it.partial().extend({tool:e.z.literal("circle")}),st.partial().extend({tool:e.z.literal("marker")}),lt.partial().extend({tool:e.z.literal("highlighter")}),pt.partial().extend({tool:e.z.literal("text")}),mt.partial().extend({tool:e.z.literal("note")})]);var ct=t("setTool",Y.nullable()),yt=t("getTool",oe.z.undefined()),gt=m("onToolChange"),dt=t("setToolSettings",te),ut=t("getToolSettings",ee),ft=m("onToolSettingsChange"),ne={methods:[ct,yt,dt,ut],listeners:[gt,ft]};var s=require("zod"),re=s.z.object({showLegend:s.z.boolean().optional(),cooperativeGestures:s.z.boolean().optional(),fullScreenButton:s.z.boolean().optional(),geolocation:s.z.boolean().optional(),zoomControls:s.z.boolean().optional(),scaleBar:s.z.boolean().optional()}),ae=s.z.object({featureSelectPanel:s.z.boolean().optional(),featureHoverPanel:s.z.boolean().optional(),elementSelectPanel:s.z.boolean().optional(),linkClickOpen:s.z.boolean().optional(),imageLightboxOpen:s.z.boolean().optional()});var ht=t("updateUiControls",re),St=t("setOnMapInteractionsUi",ae),ie={methods:[ht,St],listeners:null};var me=require("zod");var z=require("zod");var se=z.z.object({center:T,zoom:N}),le=z.z.object({center:se.shape.center.optional(),zoom:se.shape.zoom.optional()}),pe=z.z.object({bounds:C});var bt=t("getViewport",me.z.undefined()),Mt=t("setViewport",le),Lt=t("fitViewportToBounds",pe),xt=m("onViewportMove"),Gt=m("onViewportMoveEnd"),It=m("onMapIdle"),ce={methods:[Mt,bt,Lt],listeners:[xt,Gt,It]};var O=[ie,ce,D,B,J,Z,ne];function Tt(o,a,h){let L=new Map;async function u(y){if(!wt.safeParse(y.data).success){h?.onUnknownMessage?.(y.data);return}let j=ge.safeParse(y.data);if(!j.success){h?.onInvalidMessage?.(y.data);return}let{data:p}=j;if(p.type==="felt.ready")y.ports[0]?.postMessage(!0);else if(p.type==="felt.addListener"){if(p.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let G="options"in p.event?{options:"options"in p.event?p.event.options:void 0,handler:E=>{y.ports[0]?.postMessage(E)}}:{handler:E=>{y.ports[0]?.postMessage(E)}},F=a.listeners[p.event.eventName](G);L.set(p.event.id,F)}else if(p.type==="felt.removeListener")L.get(p.id)?.(),L.delete(p.id);else try{let G=a.methods[p.type],F=await G(p.params);y.ports[0]?.postMessage(F)}catch(G){y.ports[0]?.postMessage({__error__:Ct(G)})}}return o.addEventListener("message",u),()=>{o.removeEventListener("message",u)}}function Ct(o){return o instanceof Error?o.message:typeof o=="object"&&o!==null&&"message"in o?String(o.message):typeof o=="string"?o:"Unknown error"}var ye={methods:O.map(o=>o.methods??[]).flat(),listeners:O.map(o=>o.listeners??[]).flat()},zt=l.z.discriminatedUnion("eventName",[l.z.strictObject({eventName:l.z.literal("")}),...ye.listeners]),Ft=l.z.strictObject({type:l.z.literal("felt.addListener"),event:zt}),Et=l.z.strictObject({type:l.z.literal("felt.removeListener"),id:l.z.string()}),vt=l.z.strictObject({type:l.z.literal("felt.ready")}),ge=l.z.discriminatedUnion("type",[vt,Ft,Et,...ye.methods]),wt=l.z.object({type:l.z.enum(ge.options.map(o=>o.shape.type.value))});0&&(module.exports={createMessageHandler});
|
|
1
|
+
"use strict";var Z=Object.defineProperty;var We=Object.getOwnPropertyDescriptor;var De=Object.getOwnPropertyNames;var Ke=Object.prototype.hasOwnProperty;var _e=(o,i)=>{for(var C in i)Z(o,C,{get:i[C],enumerable:!0})},Qe=(o,i,C,T)=>{if(i&&typeof i=="object"||typeof i=="function")for(let b of De(i))!Ke.call(o,b)&&b!==C&&Z(o,b,{get:()=>i[b],enumerable:!(T=We(i,b))||T.enumerable});return o};var $e=o=>Qe(Z({},"__esModule",{value:!0}),o);var zo={};_e(zo,{createMessageHandler:()=>bo});module.exports=$e(zo);var m=require("zod");var x=require("zod");var u=require("zod");function t(o,i){return u.z.strictObject({type:u.z.literal(o),params:i})}function I(o,i){return u.z.strictObject({eventName:u.z.literal(o),id:u.z.string(),options:i})}function d(o){return u.z.strictObject({eventName:u.z.literal(o),id:u.z.string()})}var n=require("zod"),v=n.z.number(),V=n.z.number(),U=n.z.object({latitude:V,longitude:v}),P=n.z.tuple([v,V]),me=n.z.object({type:n.z.literal("Point"),coordinates:P}),Je=n.z.object({type:n.z.literal("LineString"),coordinates:n.z.array(P)}),L=n.z.object({type:n.z.literal("MultiLineString"),coordinates:n.z.array(Je.shape.coordinates)}),ce=n.z.number().min(1).max(23),k=n.z.tuple([v,V,v,V]),E=n.z.object({show:n.z.array(n.z.string()).optional(),hide:n.z.array(n.z.string()).optional()});var e=require("zod");var y=e.z.object({id:e.z.string(),groupId:e.z.string().nullable(),color:e.z.string(),name:e.z.union([e.z.string(),e.z.null()]),description:e.z.union([e.z.string(),e.z.null()]),attributes:e.z.record(e.z.string(),e.z.unknown())}),R=e.z.object({imageUrl:e.z.string().nullable()}),B=e.z.object({strokeOpacity:e.z.number(),strokeWidth:e.z.number(),strokeStyle:e.z.enum(["solid","dashed","dotted"])}),Xe=e.z.enum(["meter","kilometer","foot","mile"]),H=y.extend(R.shape).extend({type:e.z.literal("Place"),coordinates:me.shape.coordinates,symbol:e.z.string(),frame:e.z.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.z.boolean()}),A=y.extend(R.shape).extend(B.shape).extend({type:e.z.literal("Path"),coordinates:L.shape.coordinates,distanceMarker:e.z.boolean(),endCaps:e.z.boolean(),routingMode:e.z.enum(["driving","cycling","walking","flying"]).nullable()}),W=y.extend(R.shape).extend(B.shape).extend({type:e.z.literal("Polygon"),coordinates:L.shape.coordinates,fillOpacity:e.z.number().min(0).max(1),areaMarker:e.z.boolean()}),D=y.extend(R.shape).extend(B.shape).extend({type:e.z.literal("Circle"),coordinates:P,radius:e.z.number(),radiusDisplayAngle:e.z.number(),radiusDisplayUnit:Xe.nullable(),fillOpacity:e.z.number().min(0).max(1),radiusMarker:e.z.boolean()}),K=y.extend({type:e.z.literal("Marker"),coordinates:L.shape.coordinates,opacity:e.z.number().min(0).max(1),size:e.z.number().min(0).max(100)}),_=y.extend({type:e.z.literal("Highlighter"),coordinates:L.shape.coordinates,opacity:e.z.number().min(0).max(1)}),de=e.z.object({position:P,rotation:e.z.number(),scale:e.z.number(),coordinates:L.shape.coordinates}),ye=e.z.object({text:e.z.string(),align:e.z.enum(["left","center","right"]),style:e.z.enum(["italic","light","regular","caps"]),name:e.z.string()}),Q=y.extend(de.shape).extend(ye.shape).extend({type:e.z.literal("Text")}),$=y.extend(de.shape).extend(ye.shape).extend({type:e.z.literal("Note"),widthMultiplier:e.z.number().min(0)}),J=y.extend({type:e.z.literal("Image"),coordinates:L.shape.coordinates,imageUrl:e.z.string(),opacity:e.z.number().min(0).max(1)}),Ye=y.extend({type:e.z.literal("Link"),coordinates:L.shape.coordinates,url:e.z.string()}),h={type:!0,coordinates:!0},f={id:!0},X=H.partial().required(h).omit(f),O=A.partial().required(h).omit(f),Y=W.partial().required(h).omit(f),ee=D.partial().required(h).required({radius:!0}).omit(f),te=K.partial().required(h).omit(f),oe=_.partial().required(h).omit(f),re=Q.partial().required(h).required({text:!0}).omit(f).omit({coordinates:!0,name:!0}),ne=$.partial().required(h).required({text:!0}).omit(f).omit({coordinates:!0,name:!0}),et=J.partial().required(h).required({imageUrl:!0}).omit(f),ge=e.z.discriminatedUnion("type",[X,O,Y,ee,te,oe,et,re,ne]),Vo=H.omit({coordinates:!0}),Uo=A.omit({coordinates:!0}),Ro=W.omit({coordinates:!0}),Oo=D.omit({coordinates:!0}),No=K.omit({coordinates:!0}),jo=_.omit({coordinates:!0}),qo=Q.omit({coordinates:!0}),Zo=$.omit({coordinates:!0}),Bo=J.omit({coordinates:!0}),Ho=Ye.omit({coordinates:!0}),S={type:!0,id:!0},tt=H.partial().required(S),ot=A.partial().required(S),rt=W.partial().required(S),nt=D.partial().required(S),at=K.partial().required(S),it=_.partial().required(S),st=Q.partial().required(S),lt=$.partial().required(S),pt=J.partial().required(S),ue=e.z.discriminatedUnion("type",[tt,ot,rt,nt,at,it,st,lt,pt]),he=e.z.object({ids:e.z.array(e.z.string()).optional()}),fe=e.z.object({ids:e.z.array(e.z.string()).optional()});var mt=t("getElement",x.z.string()),ct=t("getElementGeometry",x.z.string()),dt=t("getElements",he.optional()),yt=t("getElementGroup",x.z.string()),gt=t("getElementGroups",fe.optional()),ut=t("setElementGroupVisibility",E),ht=I("onElementChange",x.z.object({id:x.z.string()})),ft=I("onElementGroupChange",x.z.object({id:x.z.string()})),St=t("createElement",ge),xt=t("updateElement",ue),Mt=t("deleteElement",x.z.string()),Se={methods:[mt,ct,dt,yt,gt,ut,St,xt,Mt],listeners:[ht,ft]};var bt=d("onPointerClick"),Lt=d("onPointerMove"),xe={methods:null,listeners:[bt,Lt]};var s=require("zod");var r=require("zod"),Ct=r.z.enum(["in","ni"]),It=r.z.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Jo=r.z.enum(["and","or"]),Me=r.z.union([r.z.number(),r.z.string(),r.z.boolean(),r.z.null()]),be=r.z.string().or(r.z.null()),Et=r.z.tuple([be,Ct,r.z.array(Me).or(r.z.null())]),Tt=r.z.tuple([be,It,Me]),ae=r.z.union([Et,Tt]),ie=r.z.tuple([r.z.lazy(()=>r.z.union([ie,ae,r.z.null(),r.z.boolean()])),r.z.enum(["and","or"]),r.z.lazy(()=>r.z.union([ie,ae,r.z.null(),r.z.boolean()]))]),Le=r.z.union([ie,ae,r.z.null(),r.z.boolean()]);var a=require("zod");var er=a.z.enum(["processing","completed","failed","incomplete"]),Ce=a.z.object({ids:a.z.array(a.z.string()).optional()}),Ie=a.z.object({ids:a.z.array(a.z.string()).optional()}),G=a.z.object({id:a.z.string(),layerId:a.z.string()}),Ee=a.z.object({ids:G.array().optional(),layerIds:a.z.string().array().optional()}),Te=a.z.object({layerIds:a.z.array(a.z.string()).optional(),areaQuery:a.z.union([a.z.object({coordinates:U}),a.z.object({boundary:k})]).optional()});var Gt=t("getLayer",s.z.string()),zt=t("getLayers",Ce.optional()),Pt=t("setLayerVisibility",E),kt=I("onLayerChange",s.z.object({id:s.z.string()})),Ft=t("setLayerStyle",s.z.object({id:s.z.string(),style:s.z.object({}).passthrough()})),wt=t("setLayerLegendVisibility",E),vt=t("getLayerGroup",s.z.string()),Vt=t("getLayerGroups",Ie.optional()),Ut=t("setLayerGroupVisibility",E),Rt=t("setLayerGroupLegendVisibility",E),Ot=I("onLayerGroupChange",s.z.object({id:s.z.string()})),Nt=t("getLegendItem",G),jt=t("getLegendItems",Ee.optional()),qt=I("onLegendItemChange",G),Zt=t("setLegendItemVisibility",s.z.object({show:G.array().optional(),hide:G.array().optional()})),Bt=t("getLayerFilters",s.z.string()),Ht=t("setLayerFilters",s.z.object({layerId:s.z.string(),filters:Le,note:s.z.string().optional()})),At=t("getRenderedFeatures",Te.optional()),Ge={methods:[Gt,zt,Pt,Ft,wt,vt,Vt,Ut,Rt,Nt,jt,Zt,Bt,Ht,At],listeners:[kt,Ot,qt]};var F=require("zod");var M=require("zod"),ze=M.z.object({id:M.z.string().or(M.z.number()),layerId:M.z.string(),showPopup:M.z.boolean().optional(),fitViewport:M.z.boolean().or(M.z.object({maxZoom:M.z.number()})).optional()});var Wt=t("getSelection",F.z.undefined()),Dt=d("onSelectionChange"),Kt=t("selectFeature",ze),_t=t("clearSelection",F.z.object({features:F.z.boolean().optional(),elements:F.z.boolean().optional()}).optional()),Pe={methods:[Wt,Kt,_t],listeners:[Dt]};var Ve=require("zod");var l=require("zod");var ke=["pin","line","route","polygon","circle","marker","highlighter","text","note"],Fe=l.z.enum([...ke,"link"]),we=l.z.enum(ke),Qt=X.pick({color:!0,symbol:!0,frame:!0}).required(),$t=O.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),Jt=O.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Xt=Y.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Yt=ee.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),eo=te.pick({color:!0,opacity:!0,size:!0}).required(),to=oe.pick({color:!0,opacity:!0}).extend({size:l.z.number().min(0).max(200)}).required(),oo=re.pick({color:!0,align:!0,style:!0}).required(),ro=ne.pick({color:!0,align:!0,style:!0}).required(),ve=l.z.discriminatedUnion("tool",[Qt.partial().extend({tool:l.z.literal("pin")}),$t.partial().extend({tool:l.z.literal("line")}),Jt.partial().extend({tool:l.z.literal("route")}),Xt.partial().extend({tool:l.z.literal("polygon")}),Yt.partial().extend({tool:l.z.literal("circle")}),eo.partial().extend({tool:l.z.literal("marker")}),to.partial().extend({tool:l.z.literal("highlighter")}),oo.partial().extend({tool:l.z.literal("text")}),ro.partial().extend({tool:l.z.literal("note")})]);var no=t("setTool",Fe.nullable()),ao=t("getTool",Ve.z.undefined()),io=d("onToolChange"),so=t("setToolSettings",ve),lo=t("getToolSettings",we),po=d("onToolSettingsChange"),Ue={methods:[no,ao,so,lo],listeners:[io,po]};var p=require("zod"),Re=p.z.object({showLegend:p.z.boolean().optional(),cooperativeGestures:p.z.boolean().optional(),fullScreenButton:p.z.boolean().optional(),geolocation:p.z.boolean().optional(),zoomControls:p.z.boolean().optional(),scaleBar:p.z.boolean().optional()}),Oe=p.z.object({featureSelectPanel:p.z.boolean().optional(),featureHoverPanel:p.z.boolean().optional(),elementSelectPanel:p.z.boolean().optional(),linkClickOpen:p.z.boolean().optional(),imageLightboxOpen:p.z.boolean().optional()});var mo=t("updateUiControls",Re),co=t("setOnMapInteractionsUi",Oe),Ne={methods:[mo,co],listeners:null};var se=require("zod");var w=require("zod");var N=w.z.object({center:U,zoom:ce}),je=w.z.object({center:N.shape.center.optional(),zoom:N.shape.zoom.optional()}),qe=w.z.object({minZoom:N.shape.zoom.nullish(),maxZoom:N.shape.zoom.nullish(),bounds:k.nullish()}).nullable(),Ze=w.z.object({bounds:k});var yo=t("getViewport",se.z.undefined()),go=t("setViewport",je),uo=t("getViewportConstraints",se.z.undefined()),ho=t("setViewportConstraints",qe),fo=t("fitViewportToBounds",Ze),So=d("onViewportMove"),xo=d("onViewportMoveEnd"),Mo=d("onMapIdle"),Be={methods:[go,yo,uo,ho,fo],listeners:[So,xo,Mo]};var le=[Ne,Be,Ge,Se,Pe,xe,Ue];function bo(o,i,C){let T=new Map;async function b(g){if(!Go.safeParse(g.data).success){C?.onUnknownMessage?.(g.data);return}let pe=Ae.safeParse(g.data);if(!pe.success){C?.onInvalidMessage?.(g.data);return}let{data:c}=pe;if(c.type==="felt.ready")g.ports[0]?.postMessage(!0);else if(c.type==="felt.addListener"){if(c.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let z="options"in c.event?{options:"options"in c.event?c.event.options:void 0,handler:q=>{g.ports[0]?.postMessage(q)}}:{handler:q=>{g.ports[0]?.postMessage(q)}},j=i.listeners[c.event.eventName](z);T.set(c.event.id,j)}else if(c.type==="felt.removeListener")T.get(c.id)?.(),T.delete(c.id);else try{let z=i.methods[c.type],j=await z(c.params);g.ports[0]?.postMessage(j)}catch(z){g.ports[0]?.postMessage({__error__:Lo(z)})}}return o.addEventListener("message",b),()=>{o.removeEventListener("message",b)}}function Lo(o){return o instanceof Error?o.message:typeof o=="object"&&o!==null&&"message"in o?String(o.message):typeof o=="string"?o:"Unknown error"}var He={methods:le.map(o=>o.methods??[]).flat(),listeners:le.map(o=>o.listeners??[]).flat()},Co=m.z.discriminatedUnion("eventName",[m.z.strictObject({eventName:m.z.literal("")}),...He.listeners]),Io=m.z.strictObject({type:m.z.literal("felt.addListener"),event:Co}),Eo=m.z.strictObject({type:m.z.literal("felt.removeListener"),id:m.z.string()}),To=m.z.strictObject({type:m.z.literal("felt.ready")}),Ae=m.z.discriminatedUnion("type",[To,Io,Eo,...He.methods]),Go=m.z.object({type:m.z.enum(Ae.options.map(o=>o.shape.type.value))});0&&(module.exports={createMessageHandler});
|