@feltmaps/js-sdk 1.5.0-next.15 → 1.5.0-next.16

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