@feltmaps/js-sdk 1.5.0-next.0 → 1.5.0-next.1
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 +82 -4
- package/dist/client.d.ts +82 -4
- package/dist/client.js +1 -1
- package/dist/handler.cjs +1 -1
- package/dist/handler.d.cts +359 -6
- package/dist/handler.d.ts +359 -6
- package/dist/handler.js +1 -1
- package/dist/{types-BDviYZ-T.d.cts → types-CVxZMwC_.d.cts} +200 -1
- package/dist/{types-BDviYZ-T.d.ts → types-CVxZMwC_.d.ts} +200 -1
- package/handler.d.ts +359 -6
- package/handler.js +1 -1
- package/package.json +5 -5
- package/{types-BDviYZ-T.d.ts → types-CVxZMwC_.d.ts} +200 -1
package/dist/client.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
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})},f=(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 I=e=>f(g({},"__esModule",{value:!0}),e);var x={};b(x,{Felt:()=>V});module.exports=I(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")});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 v=e=>({updateUiControls:t(e,"updateUiControls"),setOnMapInteractionsUi:t(e,"setOnMapInteractionsUi")});var E=e=>({getViewport:t(e,"getViewport"),setViewport:t(e,"setViewport"),fitViewportToBounds:t(e,"fitViewportToBounds"),onViewportMove:o(e,"onViewportMove"),onViewportMoveEnd:o(e,"onViewportMoveEnd"),onMapIdle:o(e,"onMapIdle")});function P(e){return{iframe:null,...E(e),...v(e),...h(e),...u(e),...L(e),...C(e),...T(e)}}var V={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 G(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(V.connect).then(m=>(Object.defineProperties(m,{iframe:{value:p,writable:!1,configurable:!1}}),m))},connect(e){let r=P(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))}})}},G=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, f as GetLayersConstraint, g as LayerChangeCallbackParams, h as LayerGroup, i as GetLayerGroupsConstraint, j as LayerGroupChangeCallbackParams, k as LegendItemIdentifier, l as LegendItem, m as LegendItemsConstraint, n as LegendItemChangeCallbackParams, o as LayerFilters, F as Filters, p as GetRenderedFeaturesConstraint, q as Feature, M as MapInteractionEvent, r as EntityNode, s as FeatureSelection, z as zInfer, V as ViewportState,
|
|
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, L as Layer, f as GetLayersConstraint, g as LayerChangeCallbackParams, h as LayerGroup, i as GetLayerGroupsConstraint, j as LayerGroupChangeCallbackParams, k as LegendItemIdentifier, l as LegendItem, m as LegendItemsConstraint, n as LegendItemChangeCallbackParams, o as LayerFilters, F as Filters, p as GetRenderedFeaturesConstraint, q as Feature, M as MapInteractionEvent, r as EntityNode, s as FeatureSelection, T as ToolType, I as InputToolSettings, C as ConfigurableToolType, t as ToolSettingsMap, u as ToolSettingsChangeEvent, z as zInfer, V as ViewportState, v as SetViewportCenterZoomParams, w as ViewportFitBoundsParams, x as ViewportCenterZoom } from './types-CVxZMwC_.cjs';
|
|
2
|
+
export { a0 as CircleToolSettings, H as ElementGroupNode, J as ElementNode, K as FeatureNode, P as FeltBoundary, Q as FeltZoom, A as FilterExpression, B as FilterLogicGate, D as FilterTernary, a1 as HighlighterToolSettings, U as LatLng, N as LayerGroupNode, O as LayerNode, y as LayerProcessingStatus, W as LineStringGeometry, a2 as LineToolSettings, X as LngLatTuple, a3 as MarkerToolSettings, Y as MultiLineStringGeometry, Z as MultiPolygonGeometry, a4 as NoteToolSettings, a5 as PinFrame, a6 as PinSymbol, a7 as PinToolSettings, _ as PointGeometry, $ as PolygonGeometry, a8 as PolygonToolSettings, R as RasterValue, a9 as RouteToolSettings, aa as TextToolSettings } from './types-CVxZMwC_.cjs';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -624,6 +624,84 @@ interface SelectionController {
|
|
|
624
624
|
}): Promise<void>;
|
|
625
625
|
}
|
|
626
626
|
|
|
627
|
+
/**
|
|
628
|
+
* The Tools controller allows you to let users draw elements on the map.
|
|
629
|
+
*
|
|
630
|
+
* @group Controller
|
|
631
|
+
* @public
|
|
632
|
+
*/
|
|
633
|
+
interface ToolsController {
|
|
634
|
+
/**
|
|
635
|
+
* Sets the tool to use for drawing elements on the map.
|
|
636
|
+
*
|
|
637
|
+
* @param tool - The tool to set.
|
|
638
|
+
*
|
|
639
|
+
* @example
|
|
640
|
+
* ```ts
|
|
641
|
+
* // Set the tool to "marker"
|
|
642
|
+
* felt.setTool("marker");
|
|
643
|
+
*
|
|
644
|
+
* // put down the tool
|
|
645
|
+
* felt.setTool(null);
|
|
646
|
+
* ```
|
|
647
|
+
*/
|
|
648
|
+
setTool(tool: ToolType | null): void;
|
|
649
|
+
/**
|
|
650
|
+
* Gets the current tool, if any is in use.
|
|
651
|
+
*
|
|
652
|
+
* @returns The current tool, or `null` if no tool is in use.
|
|
653
|
+
*
|
|
654
|
+
* @example
|
|
655
|
+
* ```ts
|
|
656
|
+
* const tool = await felt.getTool(); // "marker", "polygon", etc.
|
|
657
|
+
* ```
|
|
658
|
+
*/
|
|
659
|
+
getTool(): Promise<ToolType | null>;
|
|
660
|
+
/**
|
|
661
|
+
* Listens for changes to the current tool.
|
|
662
|
+
*
|
|
663
|
+
* @returns A function to unsubscribe from the listener
|
|
664
|
+
*
|
|
665
|
+
* @example
|
|
666
|
+
* ```ts
|
|
667
|
+
* const unsubscribe = felt.onToolChange({
|
|
668
|
+
* handler: tool => console.log(tool),
|
|
669
|
+
* });
|
|
670
|
+
*
|
|
671
|
+
* // later on...
|
|
672
|
+
* unsubscribe();
|
|
673
|
+
* ```
|
|
674
|
+
*/
|
|
675
|
+
onToolChange(args: {
|
|
676
|
+
/**
|
|
677
|
+
* This callback is called with the current tool whenever the tool changes.
|
|
678
|
+
*
|
|
679
|
+
* @param tool - The current tool, or `null` if no tool is in use.
|
|
680
|
+
*/
|
|
681
|
+
handler: (tool: ToolType | null) => void;
|
|
682
|
+
}): VoidFunction;
|
|
683
|
+
/**
|
|
684
|
+
* Sets the settings for the current tool.
|
|
685
|
+
*
|
|
686
|
+
* @param settings - The settings to set.
|
|
687
|
+
*/
|
|
688
|
+
setToolSettings(settings: InputToolSettings): void;
|
|
689
|
+
/**
|
|
690
|
+
* Gets the settings for the current tool.
|
|
691
|
+
*
|
|
692
|
+
* @returns The settings for the current tool.
|
|
693
|
+
*/
|
|
694
|
+
getToolSettings<T extends ConfigurableToolType>(tool: T): Promise<ToolSettingsMap[T]>;
|
|
695
|
+
/**
|
|
696
|
+
* Listens for changes to the settings on all tools.
|
|
697
|
+
*
|
|
698
|
+
* @returns A function to unsubscribe from the listener
|
|
699
|
+
*/
|
|
700
|
+
onToolSettingsChange(args: {
|
|
701
|
+
handler: (settings: ToolSettingsChangeEvent) => void;
|
|
702
|
+
}): VoidFunction;
|
|
703
|
+
}
|
|
704
|
+
|
|
627
705
|
/**
|
|
628
706
|
* @public
|
|
629
707
|
*/
|
|
@@ -910,7 +988,7 @@ interface ViewportController {
|
|
|
910
988
|
* @group Controller
|
|
911
989
|
* @public
|
|
912
990
|
*/
|
|
913
|
-
interface FeltController extends ViewportController, UiController, LayersController, ElementsController, SelectionController, InteractionsController {
|
|
991
|
+
interface FeltController extends ViewportController, UiController, LayersController, ElementsController, SelectionController, InteractionsController, ToolsController {
|
|
914
992
|
/**
|
|
915
993
|
* The iframe element containing the Felt map, if it is an embedded map.
|
|
916
994
|
*
|
|
@@ -1081,4 +1159,4 @@ declare const Felt: {
|
|
|
1081
1159
|
connect(feltWindow: Window): Promise<FeltController>;
|
|
1082
1160
|
};
|
|
1083
1161
|
|
|
1084
|
-
export { Element, ElementChangeCallbackParams, ElementGroup, ElementGroupChangeCallbackParams, type ElementsController, EntityNode, Feature, FeatureSelection, Felt, type FeltController, type FeltEmbedOptions, Filters, Geometry, GetElementGroupsConstraint, GetElementsConstraint, GetLayerGroupsConstraint, GetLayersConstraint, GetRenderedFeaturesConstraint, type InteractionsController, Layer, LayerChangeCallbackParams, LayerFilters, LayerGroup, LayerGroupChangeCallbackParams, type LayersController, LegendItem, LegendItemChangeCallbackParams, LegendItemIdentifier, LegendItemsConstraint, MapInteractionEvent, type UiOnMapInteractionsOptions as OnMapInteractionsOptions, type SelectionController, SetViewportCenterZoomParams, SetVisibilityRequest, type UiController, type UiControlsOptions, ViewportCenterZoom, type ViewportController, ViewportFitBoundsParams, ViewportState };
|
|
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 };
|
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, f as GetLayersConstraint, g as LayerChangeCallbackParams, h as LayerGroup, i as GetLayerGroupsConstraint, j as LayerGroupChangeCallbackParams, k as LegendItemIdentifier, l as LegendItem, m as LegendItemsConstraint, n as LegendItemChangeCallbackParams, o as LayerFilters, F as Filters, p as GetRenderedFeaturesConstraint, q as Feature, M as MapInteractionEvent, r as EntityNode, s as FeatureSelection, z as zInfer, V as ViewportState,
|
|
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, L as Layer, f as GetLayersConstraint, g as LayerChangeCallbackParams, h as LayerGroup, i as GetLayerGroupsConstraint, j as LayerGroupChangeCallbackParams, k as LegendItemIdentifier, l as LegendItem, m as LegendItemsConstraint, n as LegendItemChangeCallbackParams, o as LayerFilters, F as Filters, p as GetRenderedFeaturesConstraint, q as Feature, M as MapInteractionEvent, r as EntityNode, s as FeatureSelection, T as ToolType, I as InputToolSettings, C as ConfigurableToolType, t as ToolSettingsMap, u as ToolSettingsChangeEvent, z as zInfer, V as ViewportState, v as SetViewportCenterZoomParams, w as ViewportFitBoundsParams, x as ViewportCenterZoom } from './types-CVxZMwC_.js';
|
|
2
|
+
export { a0 as CircleToolSettings, H as ElementGroupNode, J as ElementNode, K as FeatureNode, P as FeltBoundary, Q as FeltZoom, A as FilterExpression, B as FilterLogicGate, D as FilterTernary, a1 as HighlighterToolSettings, U as LatLng, N as LayerGroupNode, O as LayerNode, y as LayerProcessingStatus, W as LineStringGeometry, a2 as LineToolSettings, X as LngLatTuple, a3 as MarkerToolSettings, Y as MultiLineStringGeometry, Z as MultiPolygonGeometry, a4 as NoteToolSettings, a5 as PinFrame, a6 as PinSymbol, a7 as PinToolSettings, _ as PointGeometry, $ as PolygonGeometry, a8 as PolygonToolSettings, R as RasterValue, a9 as RouteToolSettings, aa as TextToolSettings } from './types-CVxZMwC_.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -624,6 +624,84 @@ interface SelectionController {
|
|
|
624
624
|
}): Promise<void>;
|
|
625
625
|
}
|
|
626
626
|
|
|
627
|
+
/**
|
|
628
|
+
* The Tools controller allows you to let users draw elements on the map.
|
|
629
|
+
*
|
|
630
|
+
* @group Controller
|
|
631
|
+
* @public
|
|
632
|
+
*/
|
|
633
|
+
interface ToolsController {
|
|
634
|
+
/**
|
|
635
|
+
* Sets the tool to use for drawing elements on the map.
|
|
636
|
+
*
|
|
637
|
+
* @param tool - The tool to set.
|
|
638
|
+
*
|
|
639
|
+
* @example
|
|
640
|
+
* ```ts
|
|
641
|
+
* // Set the tool to "marker"
|
|
642
|
+
* felt.setTool("marker");
|
|
643
|
+
*
|
|
644
|
+
* // put down the tool
|
|
645
|
+
* felt.setTool(null);
|
|
646
|
+
* ```
|
|
647
|
+
*/
|
|
648
|
+
setTool(tool: ToolType | null): void;
|
|
649
|
+
/**
|
|
650
|
+
* Gets the current tool, if any is in use.
|
|
651
|
+
*
|
|
652
|
+
* @returns The current tool, or `null` if no tool is in use.
|
|
653
|
+
*
|
|
654
|
+
* @example
|
|
655
|
+
* ```ts
|
|
656
|
+
* const tool = await felt.getTool(); // "marker", "polygon", etc.
|
|
657
|
+
* ```
|
|
658
|
+
*/
|
|
659
|
+
getTool(): Promise<ToolType | null>;
|
|
660
|
+
/**
|
|
661
|
+
* Listens for changes to the current tool.
|
|
662
|
+
*
|
|
663
|
+
* @returns A function to unsubscribe from the listener
|
|
664
|
+
*
|
|
665
|
+
* @example
|
|
666
|
+
* ```ts
|
|
667
|
+
* const unsubscribe = felt.onToolChange({
|
|
668
|
+
* handler: tool => console.log(tool),
|
|
669
|
+
* });
|
|
670
|
+
*
|
|
671
|
+
* // later on...
|
|
672
|
+
* unsubscribe();
|
|
673
|
+
* ```
|
|
674
|
+
*/
|
|
675
|
+
onToolChange(args: {
|
|
676
|
+
/**
|
|
677
|
+
* This callback is called with the current tool whenever the tool changes.
|
|
678
|
+
*
|
|
679
|
+
* @param tool - The current tool, or `null` if no tool is in use.
|
|
680
|
+
*/
|
|
681
|
+
handler: (tool: ToolType | null) => void;
|
|
682
|
+
}): VoidFunction;
|
|
683
|
+
/**
|
|
684
|
+
* Sets the settings for the current tool.
|
|
685
|
+
*
|
|
686
|
+
* @param settings - The settings to set.
|
|
687
|
+
*/
|
|
688
|
+
setToolSettings(settings: InputToolSettings): void;
|
|
689
|
+
/**
|
|
690
|
+
* Gets the settings for the current tool.
|
|
691
|
+
*
|
|
692
|
+
* @returns The settings for the current tool.
|
|
693
|
+
*/
|
|
694
|
+
getToolSettings<T extends ConfigurableToolType>(tool: T): Promise<ToolSettingsMap[T]>;
|
|
695
|
+
/**
|
|
696
|
+
* Listens for changes to the settings on all tools.
|
|
697
|
+
*
|
|
698
|
+
* @returns A function to unsubscribe from the listener
|
|
699
|
+
*/
|
|
700
|
+
onToolSettingsChange(args: {
|
|
701
|
+
handler: (settings: ToolSettingsChangeEvent) => void;
|
|
702
|
+
}): VoidFunction;
|
|
703
|
+
}
|
|
704
|
+
|
|
627
705
|
/**
|
|
628
706
|
* @public
|
|
629
707
|
*/
|
|
@@ -910,7 +988,7 @@ interface ViewportController {
|
|
|
910
988
|
* @group Controller
|
|
911
989
|
* @public
|
|
912
990
|
*/
|
|
913
|
-
interface FeltController extends ViewportController, UiController, LayersController, ElementsController, SelectionController, InteractionsController {
|
|
991
|
+
interface FeltController extends ViewportController, UiController, LayersController, ElementsController, SelectionController, InteractionsController, ToolsController {
|
|
914
992
|
/**
|
|
915
993
|
* The iframe element containing the Felt map, if it is an embedded map.
|
|
916
994
|
*
|
|
@@ -1081,4 +1159,4 @@ declare const Felt: {
|
|
|
1081
1159
|
connect(feltWindow: Window): Promise<FeltController>;
|
|
1082
1160
|
};
|
|
1083
1161
|
|
|
1084
|
-
export { Element, ElementChangeCallbackParams, ElementGroup, ElementGroupChangeCallbackParams, type ElementsController, EntityNode, Feature, FeatureSelection, Felt, type FeltController, type FeltEmbedOptions, Filters, Geometry, GetElementGroupsConstraint, GetElementsConstraint, GetLayerGroupsConstraint, GetLayersConstraint, GetRenderedFeaturesConstraint, type InteractionsController, Layer, LayerChangeCallbackParams, LayerFilters, LayerGroup, LayerGroupChangeCallbackParams, type LayersController, LegendItem, LegendItemChangeCallbackParams, LegendItemIdentifier, LegendItemsConstraint, MapInteractionEvent, type UiOnMapInteractionsOptions as OnMapInteractionsOptions, type SelectionController, SetViewportCenterZoomParams, SetVisibilityRequest, type UiController, type UiControlsOptions, ViewportCenterZoom, type ViewportController, ViewportFitBoundsParams, ViewportState };
|
|
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 };
|
package/dist/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
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 v=e=>({getViewport:t(e,"getViewport"),setViewport:t(e,"setViewport"),fitViewportToBounds:t(e,"fitViewportToBounds"),onViewportMove:o(e,"onViewportMove"),onViewportMoveEnd:o(e,"onViewportMoveEnd"),onMapIdle:o(e,"onMapIdle")});function E(e){return{iframe:null,...v(e),...T(e),...C(e),...c(e),...h(e),...u(e),...L(e)}}var P={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 V(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(P.connect).then(p=>(Object.defineProperties(p,{iframe:{value:l,writable:!1,configurable:!1}}),p))},connect(e){let m=E(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))}})}},V=Object.entries;export{P as Felt};
|
package/dist/handler.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var v=Object.defineProperty;var
|
|
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});
|