@feltmaps/js-sdk 1.5.0-next.8 → 1.5.0-next.9

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