@feltmaps/js-sdk 1.5.0-next.1 → 1.5.0-next.11

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.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 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};
1
+ function r(e,m){return n=>{let o=new MessageChannel,p=n.handler,s="options"in n?n.options:void 0,a=crypto.randomUUID();return e.postMessage({type:"felt.addListener",event:s?{eventName:m,id:a,options:s}:{eventName:m,id:a}},"*",[o.port2]),o.port1.onmessage=g=>{p(g.data)},()=>{o.port1.onmessage=null,o.port1.close(),o.port2.close(),e.postMessage({type:"felt.removeListener",id:a},"*")}}}function t(e,m){return n=>{let o=new MessageChannel;return e.postMessage({type:m,params:n},"*",[o.port2]),new Promise((p,s)=>{o.port1.onmessage=a=>{a.data&&typeof a.data=="object"&&"__error__"in a.data?s(new Error(a.data.__error__)):p(a.data),o.port1.close(),o.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:r(e,"onElementChange"),onElementCreate:r(e,"onElementCreate"),onElementCreateEnd:r(e,"onElementCreateEnd"),onElementDelete:r(e,"onElementDelete"),onElementGroupChange:r(e,"onElementGroupChange"),createElement:t(e,"createElement"),updateElement:t(e,"updateElement"),deleteElement:t(e,"deleteElement")});var u=e=>({onPointerClick:r(e,"onPointerClick"),onPointerMove:r(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:r(e,"onLayerChange"),getLayerGroup:t(e,"getLayerGroup"),getLayerGroups:t(e,"getLayerGroups"),setLayerGroupVisibility:t(e,"setLayerGroupVisibility"),setLayerGroupLegendVisibility:t(e,"setLayerGroupLegendVisibility"),onLayerGroupChange:r(e,"onLayerGroupChange"),getLegendItem:t(e,"getLegendItem"),getLegendItems:t(e,"getLegendItems"),setLegendItemVisibility:t(e,"setLegendItemVisibility"),onLegendItemChange:r(e,"onLegendItemChange"),getLayerFilters:t(e,"getLayerFilters"),setLayerFilters:t(e,"setLayerFilters"),onLayerFiltersChange:r(e,"onLayerFiltersChange"),getRenderedFeatures:t(e,"getRenderedFeatures"),getFeature:t(e,"getFeature"),getGeoJsonFeature:t(e,"getGeoJsonFeature"),getCategoryData:t(e,"getCategoryData"),getHistogramData:t(e,"getHistogramData"),getAggregates:t(e,"getAggregates"),getLayerSchema:t(e,"getLayerSchema")});var h=e=>({getMapDetails:t(e,"getMapDetails")});var L=e=>({onSelectionChange:r(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:r(e,"onToolChange"),setToolSettings:t(e,"setToolSettings"),getToolSettings:t(e,"getToolSettings"),onToolSettingsChange:r(e,"onToolSettingsChange")});var E=e=>({updateUiControls:t(e,"updateUiControls"),setOnMapInteractionsUi:t(e,"setOnMapInteractionsUi"),showLayerDataTable:t(e,"showLayerDataTable"),hideLayerDataTable:t(e,"hideLayerDataTable")});var v=e=>({getViewport:t(e,"getViewport"),setViewport:t(e,"setViewport"),getViewportConstraints:t(e,"getViewportConstraints"),setViewportConstraints:t(e,"setViewportConstraints"),fitViewportToBounds:t(e,"fitViewportToBounds"),onViewportMove:r(e,"onViewportMove"),onViewportMoveEnd:r(e,"onViewportMoveEnd"),onMapIdle:r(e,"onMapIdle")});function P(e){return{iframe:null,...v(e),...E(e),...C(e),...c(e),...L(e),...u(e),...T(e),...h(e)}}var F={embed(e,m,n){let o={uiControls:{showLegend:!0,cooperativeGestures:!0,fullScreenButton:!0,geolocation:!1,zoomControls:!0,scaleBar:!0},initialViewport:void 0,origin:"https://felt.com"},p=n?.origin??o.origin,s=new URL(`${p}/embed/map/${m}`),a={showLegend:"legend",cooperativeGestures:"cooperativeGestures",fullScreenButton:"link",geolocation:"geolocation",zoomControls:"zoomControls",scaleBar:"scaleBar"},g={...o.uiControls,...n?.uiControls};for(let[l,y]of V(g))y!=null&&s.searchParams.set(a[l],y?"1":"0");if(n?.token&&s.searchParams.set("token",n.token),n?.initialViewport){let l=n.initialViewport;s.searchParams.set("loc",`${l.center.latitude},${l.center.longitude},${l.zoom}z`)}let d=e.tagName==="IFRAME",i=d?e:e.ownerDocument.createElement("iframe");return i.src=s.toString(),d||(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((l,y)=>{i.addEventListener("load",()=>{i.contentWindow==null?y(new Error("Failed to load Felt map")):l(i.contentWindow)},{once:!0})}).then(F.connect).then(l=>(Object.defineProperties(l,{iframe:{value:i,writable:!1,configurable:!1}}),l))},connect(e){let m=P(e);return new Promise((n,o)=>{let p=setTimeout(()=>{o(new Error("Failed to load Felt map")),clearInterval(a)},5e3),s=new MessageChannel,a=setInterval(()=>{e.postMessage({type:"felt.ready"},"*",[s.port2])},100);s.port1.onmessage=g=>{g.data===!0&&(clearInterval(a),clearTimeout(p),s.port1.close(),s.port2.close(),n(m))}})}},V=Object.entries;export{F 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 rt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var at=Object.prototype.hasOwnProperty;var it=(r,l)=>{for(var E in l)Z(r,E,{get:l[E],enumerable:!0})},st=(r,l,E,F)=>{if(l&&typeof l=="object"||typeof l=="function")for(let C of nt(l))!at.call(r,C)&&C!==E&&Z(r,C,{get:()=>l[C],enumerable:!(F=rt(l,C))||F.enumerable});return r};var lt=r=>st(Z({},"__esModule",{value:!0}),r);var nr={};it(nr,{createMessageHandler:()=>Ko});module.exports=lt(nr);var g=require("zod");var d=require("zod");var f=require("zod");function t(r,l){return f.z.strictObject({type:f.z.literal(r),params:l})}function S(r,l){return f.z.strictObject({eventName:f.z.literal(r),id:f.z.string(),options:l})}function m(r){return f.z.strictObject({eventName:f.z.literal(r),id:f.z.string()})}var a=require("zod"),O=a.z.number(),U=a.z.number(),N=a.z.object({latitude:U,longitude:O}),G=a.z.tuple([O,U]),ge=a.z.object({type:a.z.literal("Point"),coordinates:G}),ye=a.z.object({type:a.z.literal("Polygon"),coordinates:a.z.array(a.z.array(G))}),mt=a.z.object({type:a.z.literal("LineString"),coordinates:a.z.array(G)}),I=a.z.object({type:a.z.literal("MultiLineString"),coordinates:a.z.array(mt.shape.coordinates)}),de=a.z.number().min(1).max(23),T=a.z.tuple([O,U,O,U]),z=a.z.object({show:a.z.array(a.z.string()).optional(),hide:a.z.array(a.z.string()).optional()}),pt=a.z.enum(["asc","desc"]),ue=a.z.object({attribute:a.z.string(),direction:pt});var e=require("zod");var u=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()),interaction:e.z.enum(["default","locked"]).optional()}),R=e.z.object({imageUrl:e.z.string().nullable()}),J=e.z.object({strokeOpacity:e.z.number(),strokeWidth:e.z.number(),strokeStyle:e.z.enum(["solid","dashed","dotted"])}),ct=e.z.enum(["meter","kilometer","foot","mile"]),he=u.extend(R.shape).extend({type:e.z.literal("Place"),coordinates:ge.shape.coordinates,symbol:e.z.string(),frame:e.z.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.z.boolean()}),W=u.extend(R.shape).extend(J.shape).extend({type:e.z.literal("Path"),coordinates:I.shape.coordinates,distanceMarker:e.z.boolean(),endCaps:e.z.boolean(),routingMode:e.z.enum(["driving","cycling","walking","flying"]).nullable()}),_=u.extend(R.shape).extend(J.shape).extend({type:e.z.literal("Polygon"),coordinates:I.shape.coordinates,fillOpacity:e.z.number().min(0).max(1),areaMarker:e.z.boolean()}),fe=u.extend(R.shape).extend(J.shape).extend({type:e.z.literal("Circle"),coordinates:G,radius:e.z.number(),radiusDisplayAngle:e.z.number(),radiusDisplayUnit:ct.nullable(),fillOpacity:e.z.number().min(0).max(1),radiusMarker:e.z.boolean()}),Q=u.extend({type:e.z.literal("Marker"),coordinates:I.shape.coordinates,opacity:e.z.number().min(0).max(1),size:e.z.number().min(0).max(100),zoom:e.z.number().min(0).max(23)}),$=u.extend({type:e.z.literal("Highlighter"),coordinates:I.shape.coordinates,opacity:e.z.number().min(0).max(1)}),Se=e.z.object({position:G,rotation:e.z.number(),scale:e.z.number(),zoom:e.z.number().min(0).max(23),coordinates:I.shape.coordinates}),xe=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()}),K=u.extend(Se.shape).extend(xe.shape).extend({type:e.z.literal("Text")}),X=u.extend(Se.shape).extend(xe.shape).extend({type:e.z.literal("Note"),widthScale:e.z.number().min(0)}),Y=u.extend({type:e.z.literal("Image"),coordinates:I.shape.coordinates,imageUrl:e.z.string(),opacity:e.z.number().min(0).max(1)}).omit({color:!0}),gt=u.extend({type:e.z.literal("Link"),coordinates:I.shape.coordinates,url:e.z.string()}),x={type:!0,coordinates:!0},b={id:!0},ee=he.partial().required(x).omit(b),j=W.partial().required(x).omit(b),te=_.partial().required(x).omit(b),oe=fe.partial().required(x).required({radius:!0}).omit(b),re=Q.partial().required(x).omit(b),ne=$.partial().required(x).omit(b),ae=K.partial().required(x).required({text:!0}).omit(b).omit({coordinates:!0,name:!0}),ie=X.partial().required(x).required({text:!0}).omit(b).omit({coordinates:!0,name:!0}),yt=Y.partial().required(x).required({imageUrl:!0}).omit(b),be=e.z.discriminatedUnion("type",[ee,j,te,oe,re,ne,yt,ae,ie]);var pr=W.omit({coordinates:!0}),cr=_.omit({coordinates:!0});var gr=Q.omit({coordinates:!0}),yr=$.omit({coordinates:!0}),dr=K.omit({coordinates:!0}),ur=X.omit({coordinates:!0}),hr=Y.omit({coordinates:!0}),fr=gt.omit({coordinates:!0}),M={type:!0,id:!0},dt=he.partial().required(M),ut=W.partial().required(M),ht=_.partial().required(M),ft=fe.partial().required(M),St=Q.partial().required(M),xt=$.partial().required(M),bt=K.partial().required(M).omit({coordinates:!0,name:!0}),Mt=X.partial().required(M).omit({coordinates:!0,name:!0}),Lt=Y.partial().required(M),Me=e.z.discriminatedUnion("type",[dt,ut,ht,ft,St,xt,bt,Mt,Lt]),Le=e.z.object({ids:e.z.array(e.z.string()).optional()}),Ce=e.z.object({ids:e.z.array(e.z.string()).optional()});var Ct=t("getElement",d.z.string()),Gt=t("getElementGeometry",d.z.string()),It=t("getElements",Le.optional()),Et=t("getElementGroup",d.z.string()),Tt=t("getElementGroups",Ce.optional()),zt=t("setElementGroupVisibility",z),Pt=S("onElementChange",d.z.object({id:d.z.string()})),Ft=m("onElementCreate"),kt=m("onElementCreateEnd"),vt=S("onElementDelete",d.z.object({id:d.z.string()})),wt=S("onElementGroupChange",d.z.object({id:d.z.string()})),Vt=t("createElement",be),Ot=t("updateElement",Me),Ut=t("deleteElement",d.z.string()),Ge={methods:[Ct,Gt,It,Et,Tt,zt,Vt,Ot,Ut],listeners:[Pt,Ft,kt,vt,wt]};var Nt=m("onPointerClick"),Rt=m("onPointerMove"),Ie={methods:null,listeners:[Nt,Rt]};var i=require("zod");var n=require("zod"),jt=n.z.enum(["in","ni"]),At=n.z.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Ir=n.z.enum(["and","or"]),Ee=n.z.union([n.z.number(),n.z.string(),n.z.boolean(),n.z.null()]),Te=n.z.string().or(n.z.null()),qt=n.z.tuple([Te,jt,n.z.array(Ee).or(n.z.null())]),Ht=n.z.tuple([Te,At,Ee]),se=n.z.union([qt,Ht]),le=n.z.tuple([n.z.lazy(()=>n.z.union([le,se,n.z.null(),n.z.boolean()])),n.z.enum(["and","or"]),n.z.lazy(()=>n.z.union([le,se,n.z.null(),n.z.boolean()]))]),P=n.z.union([le,se,n.z.null(),n.z.boolean()]);var o=require("zod");var ze=o.z.enum(["avg","max","min","sum","median"]),Bt=o.z.object({method:ze,attribute:o.z.string()}),Dt=o.z.object({methods:o.z.array(o.z.union([ze,o.z.literal("count")])),attribute:o.z.string().optional()}),A=o.z.union([T,ye,o.z.array(G)]),Pe=o.z.object({boundary:A.optional(),filters:P.optional(),aggregation:Bt.optional()}),Fe=o.z.object({layerId:o.z.string(),attribute:o.z.string(),limit:o.z.number().optional(),boundary:A.optional(),filters:P.optional(),values:Pe.optional()}),Pr=o.z.object({key:o.z.union([o.z.number(),o.z.string(),o.z.boolean()]),value:o.z.number().nullable()}),Zt=o.z.object({type:o.z.literal("equal-intervals"),count:o.z.number()}),Jt=o.z.object({type:o.z.literal("time-interval"),interval:o.z.enum(["hour","day","week","month","year"])}),ke=o.z.object({layerId:o.z.string(),attribute:o.z.string(),steps:o.z.union([Zt,Jt,o.z.array(o.z.number())]),boundary:A.optional(),filters:P.optional(),values:Pe.optional()}),Fr=o.z.object({min:o.z.number(),max:o.z.number(),value:o.z.number()}),ve=o.z.object({layerId:o.z.string(),boundary:A.optional(),filters:P.optional(),aggregation:Dt});var s=require("zod");var wr=s.z.enum(["processing","completed","failed","incomplete"]),we=s.z.object({ids:s.z.array(s.z.string()).optional()}),Ve=s.z.object({ids:s.z.array(s.z.string()).optional()}),k=s.z.object({id:s.z.string(),layerId:s.z.string()}),Oe=s.z.object({ids:k.array().optional(),layerIds:s.z.string().array().optional()}),Ue=s.z.object({layerIds:s.z.array(s.z.string()).optional(),areaQuery:s.z.union([s.z.object({coordinates:N}),s.z.object({boundary:T})]).optional()});var Wt=t("getLayer",i.z.string()),_t=t("getLayers",we.optional()),Qt=t("setLayerVisibility",z),$t=S("onLayerChange",i.z.object({id:i.z.string()})),Kt=t("setLayerStyle",i.z.object({id:i.z.string(),style:i.z.object({}).passthrough()})),Xt=t("setLayerLegendVisibility",z),Yt=t("getLayerGroup",i.z.string()),eo=t("getLayerGroups",Ve.optional()),to=t("setLayerGroupVisibility",z),oo=t("setLayerGroupLegendVisibility",z),ro=S("onLayerGroupChange",i.z.object({id:i.z.string()})),no=t("getLegendItem",k),ao=t("getLegendItems",Oe.optional()),io=S("onLegendItemChange",k),so=t("setLegendItemVisibility",i.z.object({show:k.array().optional(),hide:k.array().optional()})),lo=t("getLayerFilters",i.z.string()),mo=t("setLayerFilters",i.z.object({layerId:i.z.string(),filters:P,note:i.z.string().optional()})),po=S("onLayerFiltersChange",i.z.object({layerId:i.z.string()})),co=t("getRenderedFeatures",Ue.optional()),go=t("getFeature",i.z.object({id:i.z.string().or(i.z.number()),layerId:i.z.string()})),yo=t("getGeoJsonFeature",i.z.object({id:i.z.string().or(i.z.number()),layerId:i.z.string()})),uo=t("getCategoryData",Fe),ho=t("getHistogramData",ke),fo=t("getAggregates",ve),So=t("getLayerSchema",i.z.string()),Ne={methods:[Wt,_t,Qt,Kt,Xt,Yt,eo,to,oo,no,ao,so,lo,mo,co,go,yo,uo,ho,fo,So],listeners:[$t,ro,io,po]};var Re=require("zod");var xo=t("getMapDetails",Re.z.undefined()),je={methods:[xo],listeners:[]};var w=require("zod");var L=require("zod"),Ae=L.z.object({id:L.z.string().or(L.z.number()),layerId:L.z.string(),showPopup:L.z.boolean().optional(),fitViewport:L.z.boolean().or(L.z.object({maxZoom:L.z.number()})).optional()});var bo=t("getSelection",w.z.undefined()),Mo=m("onSelectionChange"),Lo=t("selectFeature",Ae),Co=t("clearSelection",w.z.object({features:w.z.boolean().optional(),elements:w.z.boolean().optional()}).optional()),qe={methods:[bo,Lo,Co],listeners:[Mo]};var Je=require("zod");var p=require("zod");var He=["pin","line","route","polygon","circle","marker","highlighter","text","note"],Be=p.z.enum([...He,"link"]),De=p.z.enum(He),Go=ee.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:p.z.enum(["enter name","add another","select"])}).required(),Io=j.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),Eo=j.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),To=te.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),zo=oe.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Po=re.pick({color:!0,opacity:!0,size:!0}).required(),Fo=ne.pick({color:!0,opacity:!0}).extend({size:p.z.number().min(0).max(200)}).required(),ko=ae.pick({color:!0,align:!0,style:!0}).required(),vo=ie.pick({color:!0,align:!0,style:!0}).required(),Ze=p.z.discriminatedUnion("tool",[Go.partial().extend({tool:p.z.literal("pin")}),Io.partial().extend({tool:p.z.literal("line")}),Eo.partial().extend({tool:p.z.literal("route")}),To.partial().extend({tool:p.z.literal("polygon")}),zo.partial().extend({tool:p.z.literal("circle")}),Po.partial().extend({tool:p.z.literal("marker")}),Fo.partial().extend({tool:p.z.literal("highlighter")}),ko.partial().extend({tool:p.z.literal("text")}),vo.partial().extend({tool:p.z.literal("note")})]);var wo=t("setTool",Be.nullable()),Vo=t("getTool",Je.z.undefined()),Oo=m("onToolChange"),Uo=t("setToolSettings",Ze),No=t("getToolSettings",De),Ro=m("onToolSettingsChange"),We={methods:[wo,Vo,Uo,No],listeners:[Oo,Ro]};var q=require("zod");var c=require("zod"),_e=c.z.object({showLegend:c.z.boolean().optional(),cooperativeGestures:c.z.boolean().optional(),fullScreenButton:c.z.boolean().optional(),geolocation:c.z.boolean().optional(),zoomControls:c.z.boolean().optional(),scaleBar:c.z.boolean().optional()}),Qe=c.z.object({featureSelectPanel:c.z.boolean().optional(),featureHoverPanel:c.z.boolean().optional(),elementSelectPanel:c.z.boolean().optional(),linkClickOpen:c.z.boolean().optional(),imageLightboxOpen:c.z.boolean().optional()});var jo=t("updateUiControls",_e),Ao=t("setOnMapInteractionsUi",Qe),qo=t("showLayerDataTable",q.z.object({layerId:q.z.string(),sorting:ue.optional()}).optional()),Ho=t("hideLayerDataTable",q.z.undefined()),$e={methods:[jo,Ao,qo,Ho],listeners:null};var me=require("zod");var V=require("zod");var H=V.z.object({center:N,zoom:de}),Ke=V.z.object({center:H.shape.center.optional(),zoom:H.shape.zoom.optional()}),Xe=V.z.object({minZoom:H.shape.zoom.nullish(),maxZoom:H.shape.zoom.nullish(),bounds:T.nullish()}).nullable(),Ye=V.z.object({bounds:T});var Bo=t("getViewport",me.z.undefined()),Do=t("setViewport",Ke),Zo=t("getViewportConstraints",me.z.undefined()),Jo=t("setViewportConstraints",Xe),Wo=t("fitViewportToBounds",Ye),_o=m("onViewportMove"),Qo=m("onViewportMoveEnd"),$o=m("onMapIdle"),et={methods:[Do,Bo,Zo,Jo,Wo],listeners:[_o,Qo,$o]};var pe=[$e,et,Ne,Ge,qe,Ie,We,je];function Ko(r,l,E){let F=new Map;async function C(h){if(!rr.safeParse(h.data).success){E?.onUnknownMessage?.(h.data);return}let ce=ot.safeParse(h.data);if(!ce.success){E?.onInvalidMessage?.(h.data);return}let{data:y}=ce;if(y.type==="felt.ready")h.ports[0]?.postMessage(!0);else if(y.type==="felt.addListener"){if(y.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let v="options"in y.event?{options:"options"in y.event?y.event.options:void 0,handler:D=>{h.ports[0]?.postMessage(D)}}:{handler:D=>{h.ports[0]?.postMessage(D)}},B=l.listeners[y.event.eventName](v);F.set(y.event.id,B)}else if(y.type==="felt.removeListener")F.get(y.id)?.(),F.delete(y.id);else try{let v=l.methods[y.type],B=await v(y.params);h.ports[0]?.postMessage(B)}catch(v){h.ports[0]?.postMessage({__error__:Xo(v)})}}return r.addEventListener("message",C),()=>{r.removeEventListener("message",C)}}function Xo(r){return r instanceof Error?r.message:typeof r=="object"&&r!==null&&"message"in r?String(r.message):typeof r=="string"?r:"Unknown error"}var tt={methods:pe.map(r=>r.methods??[]).flat(),listeners:pe.map(r=>r.listeners??[]).flat()},Yo=g.z.discriminatedUnion("eventName",[g.z.strictObject({eventName:g.z.literal("")}),...tt.listeners]),er=g.z.strictObject({type:g.z.literal("felt.addListener"),event:Yo}),tr=g.z.strictObject({type:g.z.literal("felt.removeListener"),id:g.z.string()}),or=g.z.strictObject({type:g.z.literal("felt.ready")}),ot=g.z.discriminatedUnion("type",[or,er,tr,...tt.methods]),rr=g.z.object({type:g.z.enum(ot.options.map(r=>r.shape.type.value))});0&&(module.exports={createMessageHandler});