@feltmaps/js-sdk 1.5.0-next.5 → 1.5.0-next.7

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