@feltmaps/js-sdk 1.7.0-next.15 → 1.7.0-next.17
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 +2 -2
- package/dist/client.d.ts +2 -2
- package/dist/client.js +1 -1
- package/dist/{controller-OkHAvGYe.d.cts → controller-XgU-ujEt.d.cts} +366 -1176
- package/dist/{controller-OkHAvGYe.d.ts → controller-XgU-ujEt.d.ts} +366 -1176
- package/dist/controller-bundled.d.ts +366 -1176
- package/dist/handler.cjs +1 -1
- package/dist/handler.d.cts +50 -560
- package/dist/handler.d.ts +50 -560
- package/dist/handler.js +1 -1
- package/package.json +1 -1
package/dist/client.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var u=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var K=Object.prototype.hasOwnProperty;var
|
|
1
|
+
"use strict";var u=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var K=Object.prototype.hasOwnProperty;var O=(e,o)=>{for(var r in o)u(e,r,{get:o[r],enumerable:!0})},D=(e,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of A(o))!K.call(e,s)&&s!==r&&u(e,s,{get:()=>o[s],enumerable:!(n=U(o,s))||n.enumerable});return e};var R=e=>D(u({},"__esModule",{value:!0}),e);var q={};O(q,{Felt:()=>k});module.exports=R(q);function C(e,o){for(let[r,n]of Object.entries(e))switch(typeof n){case"object":switch(!0){case Array.isArray(n):for(let s of n)C(s,o);break;case n===null:o(r,n,e);break;default:C(n,o);break}break;default:o(r,n,e);break}}function B(e){return e[0]?.toUpperCase()===e[0]}function J(e){return e.startsWith("on")&&B(e.slice(2))}function P(e,o){typeof e=="object"&&e!==null&&C(e,(r,n,s)=>{J(r)&&o(r,n,s)})}function a(e,o){return r=>{let n=new MessageChannel,s=r.handler,l="options"in r?r.options:void 0,c=crypto.randomUUID();return e.postMessage({type:"felt.addListener",event:l?{eventName:o,id:c,options:l}:{eventName:o,id:c}},"*",[n.port2]),n.port1.onmessage=p=>{E(p)||s(p.data)},()=>{n.port1.onmessage=null,n.port1.close(),n.port2.close(),e.postMessage({type:"felt.removeListener",id:c},"*")}}}function t(e,o,r){return async n=>{let s=new MessageChannel,l=n&&r?await r(n):n;return e.postMessage({type:o,params:l},"*",[s.port2]),new Promise((c,p)=>{s.port1.onmessage=y=>{E(y)?p(new Error(y.data.__error__)):c(y.data),s.port1.close(),s.port2.close()}})}}var T={};function d(e,o){let r=t(e,o),n=a(e,"onGenericEvent");return async s=>{let l=[];P(s,(y,i,m)=>{if(typeof i!="function")return;let g=crypto.randomUUID();m[y]=g,T[g]=i;let L=n({handler:h=>{switch(h){case`felt.removeGenericListener:${g}`:L();break;default:i(h)}},options:{id:g}});l.push(L)});let p=await r(s);return typeof p=="object"&&p!==null&&P(p,(y,i,m)=>{if(typeof i!="string")return;let g=T[i];g&&(m[y]=g)}),p}}function E(e){return e.data&&typeof e.data=="object"&&"__error__"in e.data}var v=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:a(e,"onElementChange"),onElementCreate:a(e,"onElementCreate"),onElementCreateEnd:a(e,"onElementCreateEnd"),onElementDelete:a(e,"onElementDelete"),onElementGroupChange:a(e,"onElementGroupChange"),createElement:t(e,"createElement"),updateElement:t(e,"updateElement"),deleteElement:t(e,"deleteElement")});var F=e=>({onPointerClick:a(e,"onPointerClick"),onPointerMove:a(e,"onPointerMove")});var G=e=>({getLayer:t(e,"getLayer"),getLayers:t(e,"getLayers"),setLayerVisibility:t(e,"setLayerVisibility"),setLayerStyle:t(e,"setLayerStyle"),setLayerLegendVisibility:t(e,"setLayerLegendVisibility"),onLayerChange:a(e,"onLayerChange"),createLayersFromGeoJson:t(e,"createLayersFromGeoJson",b),updateLayer:t(e,"updateLayer",b),deleteLayer:t(e,"deleteLayer"),getLayerGroup:t(e,"getLayerGroup"),getLayerGroups:t(e,"getLayerGroups"),setLayerGroupVisibility:t(e,"setLayerGroupVisibility"),setLayerGroupLegendVisibility:t(e,"setLayerGroupLegendVisibility"),onLayerGroupChange:a(e,"onLayerGroupChange"),getLegendItem:t(e,"getLegendItem"),getLegendItems:t(e,"getLegendItems"),setLegendItemVisibility:t(e,"setLegendItemVisibility"),onLegendItemChange:a(e,"onLegendItemChange"),getLayerFilters:t(e,"getLayerFilters"),setLayerFilters:t(e,"setLayerFilters"),onLayerFiltersChange:a(e,"onLayerFiltersChange"),getLayerBoundaries:t(e,"getLayerBoundaries"),setLayerBoundary:t(e,"setLayerBoundary"),onLayerBoundariesChange:a(e,"onLayerBoundariesChange"),getRenderedFeatures:t(e,"getRenderedFeatures"),getFeature:t(e,"getFeature"),getFeatures:t(e,"getFeatures"),getGeoJsonFeature:t(e,"getGeoJsonFeature"),getCategoryData:t(e,"getCategoryData"),getHistogramData:t(e,"getHistogramData"),getAggregates:t(e,"getAggregates"),getPrecomputedAggregates:t(e,"getPrecomputedAggregates"),getLayerSchema:t(e,"getLayerSchema")});async function b(e){let{source:o}=e;return o&&o.type==="geoJsonFile"?{...e,source:{type:"geoJsonData",data:JSON.parse(await o.file.text())}}:e}var M=e=>({getMapDetails:t(e,"getMapDetails")});var V=e=>({onSelectionChange:a(e,"onSelectionChange"),getSelection:t(e,"getSelection"),selectFeature:t(e,"selectFeature"),clearSelection:t(e,"clearSelection")});var I=e=>({setTool:t(e,"setTool"),getTool:t(e,"getTool"),onToolChange:a(e,"onToolChange"),setToolSettings:t(e,"setToolSettings"),getToolSettings:t(e,"getToolSettings"),onToolSettingsChange:a(e,"onToolSettingsChange")});var S=e=>({updateUiControls:t(e,"updateUiControls"),setOnMapInteractionsUi:t(e,"setOnMapInteractionsUi"),showLayerDataTable:t(e,"showLayerDataTable"),hideLayerDataTable:t(e,"hideLayerDataTable"),createPanelId:t(e,"createPanelId"),createOrUpdatePanel:d(e,"createOrUpdatePanel"),deletePanel:t(e,"deletePanel"),createPanelElements:d(e,"createPanelElements"),updatePanelElements:d(e,"updatePanelElements"),deletePanelElements:t(e,"deletePanelElements"),createActionTrigger:d(e,"createActionTrigger"),updateActionTrigger:d(e,"updateActionTrigger"),deleteActionTrigger:t(e,"deleteActionTrigger")});var f=e=>({getViewport:t(e,"getViewport"),setViewport:t(e,"setViewport"),getViewportConstraints:t(e,"getViewportConstraints"),setViewportConstraints:t(e,"setViewportConstraints"),fitViewportToBounds:t(e,"fitViewportToBounds"),onViewportMove:a(e,"onViewportMove"),onViewportMoveEnd:a(e,"onViewportMoveEnd"),onMapIdle:a(e,"onMapIdle")});function x(e){return{iframe:null,...f(e),...S(e),...G(e),...v(e),...V(e),...F(e),...I(e),...M(e)}}var k={embed(e,o,r){let n={uiControls:{showLegend:!0,cooperativeGestures:!0,fullScreenButton:!0,geolocation:!1,zoomControls:!0,scaleBar:!0},initialViewport:void 0,origin:"https://felt.com"},s=r?.origin??n.origin,l=new URL(`${s}/embed/map/${o}`),c={showLegend:"legend",cooperativeGestures:"cooperativeGestures",fullScreenButton:"link",geolocation:"geolocation",zoomControls:"zoomControls",scaleBar:"scaleBar"},p={...n.uiControls,...r?.uiControls};for(let[m,g]of H(p))g!=null&&l.searchParams.set(c[m],g?"1":"0");if(r?.token&&l.searchParams.set("token",r.token),r?.initialViewport){let m=r.initialViewport;l.searchParams.set("loc",`${m.center.latitude},${m.center.longitude},${m.zoom}z`)}let y=e.tagName==="IFRAME",i=y?e:e.ownerDocument.createElement("iframe");return i.src=l.toString(),y||(i.style.width="100%",i.style.height="100%",i.style.border="none",i.style.margin="0",e.appendChild(i)),i.referrerPolicy="strict-origin-when-cross-origin",new Promise((m,g)=>{i.addEventListener("load",()=>{i.contentWindow==null?g(new Error("Failed to load Felt map")):m(i.contentWindow)},{once:!0})}).then(k.connect).then(m=>(Object.defineProperties(m,{iframe:{value:i,writable:!1,configurable:!1}}),m))},connect(e){let o=x(e);if(arguments.length===2){let r=arguments[1];if(r&&typeof r=="object"&&"skipReadyCheck"in r&&r.skipReadyCheck)return Promise.resolve(o)}return new Promise((r,n)=>{let s=setTimeout(()=>{n(new Error("Failed to load Felt map")),clearInterval(c)},5e3),l=new MessageChannel,c=setInterval(()=>{e.postMessage({type:"felt.ready"},"*",[l.port2])},100);e.postMessage({type:"felt.ready"},"*",[l.port2]),l.port1.onmessage=p=>{p.data===!0&&(clearInterval(c),clearTimeout(s),l.port1.close(),l.port2.close(),r(o))}})}},H=Object.entries;0&&(module.exports={Felt});
|
package/dist/client.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { z as zInfer, U as UiControlsOptions, V as ViewportCenterZoom, F as FeltController } from './controller-
|
|
2
|
-
export { au as AggregatedGridConfig, av as AggregationConfig, aw as AggregationMethod, C as CircleElementCreate, a as CircleElementRead, b as CircleElementUpdate, b8 as CircleToolSettings, b9 as ConfigurableToolType, ax as CountGridConfig, bp as CreateActionTriggerParams, K as CreateLayersFromGeoJsonParams, bq as
|
|
1
|
+
import { z as zInfer, U as UiControlsOptions, V as ViewportCenterZoom, F as FeltController } from './controller-XgU-ujEt.cjs';
|
|
2
|
+
export { au as AggregatedGridConfig, av as AggregationConfig, aw as AggregationMethod, C as CircleElementCreate, a as CircleElementRead, b as CircleElementUpdate, b8 as CircleToolSettings, b9 as ConfigurableToolType, ax as CountGridConfig, bp as CreateActionTriggerParams, K as CreateLayersFromGeoJsonParams, bq as CreateOrUpdatePanelParams, br as CreatePanelElementsParams, O as DataOnlyLayer, bs as DeletePanelElementsParams, E as Element, c as ElementChangeCallbackParams, d as ElementCreate, e as ElementGroup, f as ElementGroupChangeCallbackParams, aM as ElementGroupNode, aN as ElementNode, g as ElementUpdate, B as ElementsController, aO as EntityNode, aP as FeatureNode, aQ as FeatureSelection, aU as FeltBoundary, Q as FeltTiledVectorSource, aV as FeltZoom, an as FilterExpression, ao as FilterLogicGate, ap as FilterTernary, aq as Filters, R as GeoJsonDataVectorSource, aW as GeoJsonFeature, S as GeoJsonFileVectorSource, aX as GeoJsonGeometry, aY as GeoJsonProperties, W as GeoJsonUrlVectorSource, ar as GeometryFilter, G as GetElementGroupsConstraint, h as GetElementsConstraint, ay as GetLayerCalculationParams, az as GetLayerCategoriesGroup, aA as GetLayerCategoriesParams, X as GetLayerGroupsConstraint, aB as GetLayerHistogramBin, aC as GetLayerHistogramParams, aD as GetLayerPrecomputedCalculationParams, Y as GetLayersConstraint, Z as GetRenderedFeaturesConstraint, aE as GridConfig, aF as GridType, H as HighlighterElementCreate, i as HighlighterElementRead, j as HighlighterElementUpdate, ba as HighlighterToolSettings, I as ImageElementCreate, k as ImageElementRead, l as ImageElementUpdate, bb as InputToolSettings, J as InteractionsController, aZ as LatLng, _ as Layer, as as LayerBoundaries, $ as LayerChangeCallbackParams, a0 as LayerCommon, ad as LayerFeature, at as LayerFilters, a1 as LayerGroup, a2 as LayerGroupChangeCallbackParams, aR as LayerGroupNode, aS as LayerNode, a3 as LayerProcessingStatus, af as LayerSchema, ag as LayerSchemaAttribute, ah as LayerSchemaBooleanAttribute, ai as LayerSchemaCommonAttribute, aj as LayerSchemaDateAttribute, ak as LayerSchemaDateTimeAttribute, al as LayerSchemaNumericAttribute, am as LayerSchemaTextAttribute, aJ as LayersController, a4 as LegendItem, a5 as LegendItemChangeCallbackParams, a6 as LegendItemIdentifier, a7 as LegendItemsConstraint, a_ as LineStringGeometry, bc as LineToolSettings, L as LinkElementRead, a$ as LngLatTuple, aK as MapDetails, D as MapInteractionEvent, M as MarkerElementCreate, m as MarkerElementRead, n as MarkerElementUpdate, bd as MarkerToolSettings, aL as MiscController, aG as MultiAggregationConfig, b0 as MultiLineStringGeometry, b1 as MultiPointGeometry, b2 as MultiPolygonGeometry, N as NoteElementCreate, o as NoteElementRead, p as NoteElementUpdate, be as NoteToolSettings, bt as OnMapInteractionsOptions, P as PathElementCreate, q as PathElementRead, r as PathElementUpdate, bf as PinToolSettings, s as PlaceElementCreate, t as PlaceElementRead, u as PlaceElementUpdate, bg as PlaceFrame, bh as PlaceSymbol, bw as PlacementForUIElement, b3 as PointGeometry, v as PolygonElementCreate, w as PolygonElementRead, x as PolygonElementUpdate, b4 as PolygonGeometry, bi as PolygonToolSettings, aH as PrecomputedAggregationMethod, a8 as RasterBand, a9 as RasterLayer, aa as RasterLayerSource, ae as RasterValue, bj as RouteToolSettings, aT as SelectionController, bZ as SetViewportCenterZoomParams, b5 as SetVisibilityRequest, b6 as SortConfig, b7 as SortDirection, T as TextElementCreate, y as TextElementRead, A as TextElementUpdate, bk as TextToolSettings, bl as ToolSettingsChangeEvent, bm as ToolSettingsMap, bn as ToolType, bo as ToolsController, bX as UIActionTriggerCreate, bz as UIButtonElement, bA as UIButtonElementCreate, bB as UIButtonElementUpdate, bI as UIDividerElement, bJ as UIDividerElementCreate, bK as UIDividerElementUpdate, bF as UIFlexibleSpaceElement, bG as UIFlexibleSpaceElementCreate, bH as UIFlexibleSpaceElementUpdate, bU as UIGridContainerElement, bV as UIGridContainerElementCreate, bW as UIGridContainerElementUpdate, bx as UIPanel, by as UIPanelCreateOrUpdate, bR as UIPanelElement, bS as UIPanelElementCreate, bT as UIPanelElementUpdate, bO as UISelectElement, bP as UISelectElementCreate, bQ as UISelectElementUpdate, bC as UITextElement, bD as UITextElementCreate, bE as UITextElementUpdate, bL as UITextInputElement, bM as UITextInputElementCreate, bN as UITextInputElementUpdate, bY as UiController, bu as UpdateActionTriggerParams, ab as UpdateLayerParams, bv as UpdatePanelElementsParams, aI as ValueConfiguration, ac as VectorLayer, b_ as ViewportConstraints, c1 as ViewportController, b$ as ViewportFitBoundsParams, c0 as ViewportState } from './controller-XgU-ujEt.cjs';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
/**
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { z as zInfer, U as UiControlsOptions, V as ViewportCenterZoom, F as FeltController } from './controller-
|
|
2
|
-
export { au as AggregatedGridConfig, av as AggregationConfig, aw as AggregationMethod, C as CircleElementCreate, a as CircleElementRead, b as CircleElementUpdate, b8 as CircleToolSettings, b9 as ConfigurableToolType, ax as CountGridConfig, bp as CreateActionTriggerParams, K as CreateLayersFromGeoJsonParams, bq as
|
|
1
|
+
import { z as zInfer, U as UiControlsOptions, V as ViewportCenterZoom, F as FeltController } from './controller-XgU-ujEt.js';
|
|
2
|
+
export { au as AggregatedGridConfig, av as AggregationConfig, aw as AggregationMethod, C as CircleElementCreate, a as CircleElementRead, b as CircleElementUpdate, b8 as CircleToolSettings, b9 as ConfigurableToolType, ax as CountGridConfig, bp as CreateActionTriggerParams, K as CreateLayersFromGeoJsonParams, bq as CreateOrUpdatePanelParams, br as CreatePanelElementsParams, O as DataOnlyLayer, bs as DeletePanelElementsParams, E as Element, c as ElementChangeCallbackParams, d as ElementCreate, e as ElementGroup, f as ElementGroupChangeCallbackParams, aM as ElementGroupNode, aN as ElementNode, g as ElementUpdate, B as ElementsController, aO as EntityNode, aP as FeatureNode, aQ as FeatureSelection, aU as FeltBoundary, Q as FeltTiledVectorSource, aV as FeltZoom, an as FilterExpression, ao as FilterLogicGate, ap as FilterTernary, aq as Filters, R as GeoJsonDataVectorSource, aW as GeoJsonFeature, S as GeoJsonFileVectorSource, aX as GeoJsonGeometry, aY as GeoJsonProperties, W as GeoJsonUrlVectorSource, ar as GeometryFilter, G as GetElementGroupsConstraint, h as GetElementsConstraint, ay as GetLayerCalculationParams, az as GetLayerCategoriesGroup, aA as GetLayerCategoriesParams, X as GetLayerGroupsConstraint, aB as GetLayerHistogramBin, aC as GetLayerHistogramParams, aD as GetLayerPrecomputedCalculationParams, Y as GetLayersConstraint, Z as GetRenderedFeaturesConstraint, aE as GridConfig, aF as GridType, H as HighlighterElementCreate, i as HighlighterElementRead, j as HighlighterElementUpdate, ba as HighlighterToolSettings, I as ImageElementCreate, k as ImageElementRead, l as ImageElementUpdate, bb as InputToolSettings, J as InteractionsController, aZ as LatLng, _ as Layer, as as LayerBoundaries, $ as LayerChangeCallbackParams, a0 as LayerCommon, ad as LayerFeature, at as LayerFilters, a1 as LayerGroup, a2 as LayerGroupChangeCallbackParams, aR as LayerGroupNode, aS as LayerNode, a3 as LayerProcessingStatus, af as LayerSchema, ag as LayerSchemaAttribute, ah as LayerSchemaBooleanAttribute, ai as LayerSchemaCommonAttribute, aj as LayerSchemaDateAttribute, ak as LayerSchemaDateTimeAttribute, al as LayerSchemaNumericAttribute, am as LayerSchemaTextAttribute, aJ as LayersController, a4 as LegendItem, a5 as LegendItemChangeCallbackParams, a6 as LegendItemIdentifier, a7 as LegendItemsConstraint, a_ as LineStringGeometry, bc as LineToolSettings, L as LinkElementRead, a$ as LngLatTuple, aK as MapDetails, D as MapInteractionEvent, M as MarkerElementCreate, m as MarkerElementRead, n as MarkerElementUpdate, bd as MarkerToolSettings, aL as MiscController, aG as MultiAggregationConfig, b0 as MultiLineStringGeometry, b1 as MultiPointGeometry, b2 as MultiPolygonGeometry, N as NoteElementCreate, o as NoteElementRead, p as NoteElementUpdate, be as NoteToolSettings, bt as OnMapInteractionsOptions, P as PathElementCreate, q as PathElementRead, r as PathElementUpdate, bf as PinToolSettings, s as PlaceElementCreate, t as PlaceElementRead, u as PlaceElementUpdate, bg as PlaceFrame, bh as PlaceSymbol, bw as PlacementForUIElement, b3 as PointGeometry, v as PolygonElementCreate, w as PolygonElementRead, x as PolygonElementUpdate, b4 as PolygonGeometry, bi as PolygonToolSettings, aH as PrecomputedAggregationMethod, a8 as RasterBand, a9 as RasterLayer, aa as RasterLayerSource, ae as RasterValue, bj as RouteToolSettings, aT as SelectionController, bZ as SetViewportCenterZoomParams, b5 as SetVisibilityRequest, b6 as SortConfig, b7 as SortDirection, T as TextElementCreate, y as TextElementRead, A as TextElementUpdate, bk as TextToolSettings, bl as ToolSettingsChangeEvent, bm as ToolSettingsMap, bn as ToolType, bo as ToolsController, bX as UIActionTriggerCreate, bz as UIButtonElement, bA as UIButtonElementCreate, bB as UIButtonElementUpdate, bI as UIDividerElement, bJ as UIDividerElementCreate, bK as UIDividerElementUpdate, bF as UIFlexibleSpaceElement, bG as UIFlexibleSpaceElementCreate, bH as UIFlexibleSpaceElementUpdate, bU as UIGridContainerElement, bV as UIGridContainerElementCreate, bW as UIGridContainerElementUpdate, bx as UIPanel, by as UIPanelCreateOrUpdate, bR as UIPanelElement, bS as UIPanelElementCreate, bT as UIPanelElementUpdate, bO as UISelectElement, bP as UISelectElementCreate, bQ as UISelectElementUpdate, bC as UITextElement, bD as UITextElementCreate, bE as UITextElementUpdate, bL as UITextInputElement, bM as UITextInputElementCreate, bN as UITextInputElementUpdate, bY as UiController, bu as UpdateActionTriggerParams, ab as UpdateLayerParams, bv as UpdatePanelElementsParams, aI as ValueConfiguration, ac as VectorLayer, b_ as ViewportConstraints, c1 as ViewportController, b$ as ViewportFitBoundsParams, c0 as ViewportState } from './controller-XgU-ujEt.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
/**
|
package/dist/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function u(e,a){for(let[r,o]of Object.entries(e))switch(typeof o){case"object":switch(!0){case Array.isArray(o):for(let i of o)u(i,a);break;case o===null:a(r,o,e);break;default:u(o,a);break}break;default:a(r,o,e);break}}function x(e){return e[0]?.toUpperCase()===e[0]}function k(e){return e.startsWith("on")&&x(e.slice(2))}function
|
|
1
|
+
function u(e,a){for(let[r,o]of Object.entries(e))switch(typeof o){case"object":switch(!0){case Array.isArray(o):for(let i of o)u(i,a);break;case o===null:a(r,o,e);break;default:u(o,a);break}break;default:a(r,o,e);break}}function x(e){return e[0]?.toUpperCase()===e[0]}function k(e){return e.startsWith("on")&&x(e.slice(2))}function C(e,a){typeof e=="object"&&e!==null&&u(e,(r,o,i)=>{k(r)&&a(r,o,i)})}function n(e,a){return r=>{let o=new MessageChannel,i=r.handler,l="options"in r?r.options:void 0,c=crypto.randomUUID();return e.postMessage({type:"felt.addListener",event:l?{eventName:a,id:c,options:l}:{eventName:a,id:c}},"*",[o.port2]),o.port1.onmessage=p=>{T(p)||i(p.data)},()=>{o.port1.onmessage=null,o.port1.close(),o.port2.close(),e.postMessage({type:"felt.removeListener",id:c},"*")}}}function t(e,a,r){return async o=>{let i=new MessageChannel,l=o&&r?await r(o):o;return e.postMessage({type:a,params:l},"*",[i.port2]),new Promise((c,p)=>{i.port1.onmessage=y=>{T(y)?p(new Error(y.data.__error__)):c(y.data),i.port1.close(),i.port2.close()}})}}var h={};function d(e,a){let r=t(e,a),o=n(e,"onGenericEvent");return async i=>{let l=[];C(i,(y,s,m)=>{if(typeof s!="function")return;let g=crypto.randomUUID();m[y]=g,h[g]=s;let P=o({handler:L=>{switch(L){case`felt.removeGenericListener:${g}`:P();break;default:s(L)}},options:{id:g}});l.push(P)});let p=await r(i);return typeof p=="object"&&p!==null&&C(p,(y,s,m)=>{if(typeof s!="string")return;let g=h[s];g&&(m[y]=g)}),p}}function T(e){return e.data&&typeof e.data=="object"&&"__error__"in e.data}var E=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:n(e,"onElementChange"),onElementCreate:n(e,"onElementCreate"),onElementCreateEnd:n(e,"onElementCreateEnd"),onElementDelete:n(e,"onElementDelete"),onElementGroupChange:n(e,"onElementGroupChange"),createElement:t(e,"createElement"),updateElement:t(e,"updateElement"),deleteElement:t(e,"deleteElement")});var v=e=>({onPointerClick:n(e,"onPointerClick"),onPointerMove:n(e,"onPointerMove")});var b=e=>({getLayer:t(e,"getLayer"),getLayers:t(e,"getLayers"),setLayerVisibility:t(e,"setLayerVisibility"),setLayerStyle:t(e,"setLayerStyle"),setLayerLegendVisibility:t(e,"setLayerLegendVisibility"),onLayerChange:n(e,"onLayerChange"),createLayersFromGeoJson:t(e,"createLayersFromGeoJson",F),updateLayer:t(e,"updateLayer",F),deleteLayer:t(e,"deleteLayer"),getLayerGroup:t(e,"getLayerGroup"),getLayerGroups:t(e,"getLayerGroups"),setLayerGroupVisibility:t(e,"setLayerGroupVisibility"),setLayerGroupLegendVisibility:t(e,"setLayerGroupLegendVisibility"),onLayerGroupChange:n(e,"onLayerGroupChange"),getLegendItem:t(e,"getLegendItem"),getLegendItems:t(e,"getLegendItems"),setLegendItemVisibility:t(e,"setLegendItemVisibility"),onLegendItemChange:n(e,"onLegendItemChange"),getLayerFilters:t(e,"getLayerFilters"),setLayerFilters:t(e,"setLayerFilters"),onLayerFiltersChange:n(e,"onLayerFiltersChange"),getLayerBoundaries:t(e,"getLayerBoundaries"),setLayerBoundary:t(e,"setLayerBoundary"),onLayerBoundariesChange:n(e,"onLayerBoundariesChange"),getRenderedFeatures:t(e,"getRenderedFeatures"),getFeature:t(e,"getFeature"),getFeatures:t(e,"getFeatures"),getGeoJsonFeature:t(e,"getGeoJsonFeature"),getCategoryData:t(e,"getCategoryData"),getHistogramData:t(e,"getHistogramData"),getAggregates:t(e,"getAggregates"),getPrecomputedAggregates:t(e,"getPrecomputedAggregates"),getLayerSchema:t(e,"getLayerSchema")});async function F(e){let{source:a}=e;return a&&a.type==="geoJsonFile"?{...e,source:{type:"geoJsonData",data:JSON.parse(await a.file.text())}}:e}var G=e=>({getMapDetails:t(e,"getMapDetails")});var M=e=>({onSelectionChange:n(e,"onSelectionChange"),getSelection:t(e,"getSelection"),selectFeature:t(e,"selectFeature"),clearSelection:t(e,"clearSelection")});var V=e=>({setTool:t(e,"setTool"),getTool:t(e,"getTool"),onToolChange:n(e,"onToolChange"),setToolSettings:t(e,"setToolSettings"),getToolSettings:t(e,"getToolSettings"),onToolSettingsChange:n(e,"onToolSettingsChange")});var I=e=>({updateUiControls:t(e,"updateUiControls"),setOnMapInteractionsUi:t(e,"setOnMapInteractionsUi"),showLayerDataTable:t(e,"showLayerDataTable"),hideLayerDataTable:t(e,"hideLayerDataTable"),createPanelId:t(e,"createPanelId"),createOrUpdatePanel:d(e,"createOrUpdatePanel"),deletePanel:t(e,"deletePanel"),createPanelElements:d(e,"createPanelElements"),updatePanelElements:d(e,"updatePanelElements"),deletePanelElements:t(e,"deletePanelElements"),createActionTrigger:d(e,"createActionTrigger"),updateActionTrigger:d(e,"updateActionTrigger"),deleteActionTrigger:t(e,"deleteActionTrigger")});var S=e=>({getViewport:t(e,"getViewport"),setViewport:t(e,"setViewport"),getViewportConstraints:t(e,"getViewportConstraints"),setViewportConstraints:t(e,"setViewportConstraints"),fitViewportToBounds:t(e,"fitViewportToBounds"),onViewportMove:n(e,"onViewportMove"),onViewportMoveEnd:n(e,"onViewportMoveEnd"),onMapIdle:n(e,"onMapIdle")});function f(e){return{iframe:null,...S(e),...I(e),...b(e),...E(e),...M(e),...v(e),...V(e),...G(e)}}var U={embed(e,a,r){let o={uiControls:{showLegend:!0,cooperativeGestures:!0,fullScreenButton:!0,geolocation:!1,zoomControls:!0,scaleBar:!0},initialViewport:void 0,origin:"https://felt.com"},i=r?.origin??o.origin,l=new URL(`${i}/embed/map/${a}`),c={showLegend:"legend",cooperativeGestures:"cooperativeGestures",fullScreenButton:"link",geolocation:"geolocation",zoomControls:"zoomControls",scaleBar:"scaleBar"},p={...o.uiControls,...r?.uiControls};for(let[m,g]of A(p))g!=null&&l.searchParams.set(c[m],g?"1":"0");if(r?.token&&l.searchParams.set("token",r.token),r?.initialViewport){let m=r.initialViewport;l.searchParams.set("loc",`${m.center.latitude},${m.center.longitude},${m.zoom}z`)}let y=e.tagName==="IFRAME",s=y?e:e.ownerDocument.createElement("iframe");return s.src=l.toString(),y||(s.style.width="100%",s.style.height="100%",s.style.border="none",s.style.margin="0",e.appendChild(s)),s.referrerPolicy="strict-origin-when-cross-origin",new Promise((m,g)=>{s.addEventListener("load",()=>{s.contentWindow==null?g(new Error("Failed to load Felt map")):m(s.contentWindow)},{once:!0})}).then(U.connect).then(m=>(Object.defineProperties(m,{iframe:{value:s,writable:!1,configurable:!1}}),m))},connect(e){let a=f(e);if(arguments.length===2){let r=arguments[1];if(r&&typeof r=="object"&&"skipReadyCheck"in r&&r.skipReadyCheck)return Promise.resolve(a)}return new Promise((r,o)=>{let i=setTimeout(()=>{o(new Error("Failed to load Felt map")),clearInterval(c)},5e3),l=new MessageChannel,c=setInterval(()=>{e.postMessage({type:"felt.ready"},"*",[l.port2])},100);e.postMessage({type:"felt.ready"},"*",[l.port2]),l.port1.onmessage=p=>{p.data===!0&&(clearInterval(c),clearTimeout(i),l.port1.close(),l.port2.close(),r(a))}})}},A=Object.entries;export{U as Felt};
|