@feltmaps/js-sdk 1.7.0-next.1 → 1.7.0-next.3

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 h}from"zod";import{z as M}from"zod";function t(a,T){return M.strictObject({type:M.literal(a),params:T})}function d(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 s}from"zod";var R=s.number(),N=s.number(),A=s.object({latitude:N,longitude:R}),C=s.tuple([R,N]),F=s.object({type:s.literal("Polygon"),coordinates:s.array(s.array(C).min(4).refine(a=>a[0][0]===a[a.length-1][0]&&a[0][1]===a[a.length-1][1],"The last point of each ring must be identical to the first"))}),B=s.object({type:s.literal("MultiPolygon"),coordinates:s.array(F.shape.coordinates)}),lt=s.object({type:s.literal("LineString"),coordinates:s.array(C).min(2)}),k=s.object({type:s.literal("MultiLineString"),coordinates:s.array(lt.shape.coordinates)}),ue=s.number().min(1).max(23),f=s.tuple([R,N,R,N]),I=s.object({show:s.array(s.string()).optional(),hide:s.array(s.string()).optional()}),pt=s.enum(["asc","desc"]),D=s.object({attribute:s.string(),direction:pt});import{z as e}from"zod";var u=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()}),Z=e.object({imageUrl:e.string().nullable()}),te=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),ct=e.enum(["meter","kilometer","foot","mile"]),H=u.extend(Z.shape).extend({type:e.literal("Place"),coordinates:C,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),V=u.extend(Z.shape).extend(te.shape).extend({type:e.literal("Path"),coordinates:k.shape.coordinates,distanceMarker:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:e.boolean()}),w=u.extend(Z.shape).extend(te.shape).extend({type:e.literal("Polygon"),coordinates:F.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),J=u.extend(Z.shape).extend(te.shape).extend({type:e.literal("Circle"),center:C,radius:e.number(),radiusMarker:e.boolean(),radiusDisplayAngle:e.number(),radiusDisplayUnit:ct.nullable(),fillOpacity:e.number().min(0).max(1)}),U=u.extend({type:e.literal("Marker"),coordinates:k.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),O=u.extend({type:e.literal("Highlighter"),coordinates:B.shape.coordinates,renderHoles:e.boolean(),opacity:e.number().min(0).max(1)}),he=e.object({position:C,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),Y=u.extend(he.shape).extend({type:e.literal("Text")}),ee=u.extend(he.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),j=u.extend({type:e.literal("Image"),coordinates:k.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),mt=u.extend({type:e.literal("Link"),coordinates:k.shape.coordinates,url:e.string()}),P={type:!0,coordinates:!0},S={id:!0},oe=H.partial().extend(H.pick(P).shape).omit(S),q=V.partial().extend(V.pick(P).shape).omit(S),re=w.partial().extend(w.pick(P).shape).omit(S),ne=J.partial().extend(J.pick({type:!0,center:!0,radius:!0}).shape).omit(S),ae=U.partial().extend(U.pick(P).shape).omit(S),ie=O.partial().extend(O.pick(P).shape).omit(S),se=Y.partial().omit({...S,name:!0,type:!0}).extend({type:e.literal("Text"),text:e.string()}),le=ee.partial().omit({...S,name:!0,type:!0}).extend({type:e.literal("Note"),text:e.string()}),gt=j.partial().extend(j.pick({...P,imageUrl:!0}).shape).omit(S),fe=e.discriminatedUnion("type",[oe,q,re,ne,ae,ie,gt,se,le]);var Gr=V.omit({coordinates:!0}),Ir=w.omit({coordinates:!0});var Tr=U.omit({coordinates:!0}),Pr=O.omit({coordinates:!0});var Er=j.omit({coordinates:!0}),zr=mt.omit({coordinates:!0}),x={type:!0,id:!0},yt=H.partial().extend(H.pick(x).shape),dt=V.partial().extend(V.pick(x).shape),ut=w.partial().extend(w.pick(x).shape),ht=J.partial().extend(J.pick(x).shape),ft=U.partial().extend(U.pick(x).shape),St=O.partial().extend(O.pick(x).shape),xt=Y.partial().extend(Y.pick(x).shape).omit({name:!0}),Lt=ee.partial().extend(ee.pick(x).shape).omit({name:!0}),bt=j.partial().extend(j.pick(x).shape),Se=e.discriminatedUnion("type",[yt,dt,ut,ht,ft,St,xt,Lt,bt]),xe=e.object({ids:e.array(e.string()).optional()}),Le=e.object({ids:e.array(e.string()).optional()});var Mt=t("getElement",h.string()),Ct=t("getElementGeometry",h.string()),Gt=t("getElements",xe.optional()),It=t("getElementGroup",h.string()),Tt=t("getElementGroups",Le.optional()),Pt=t("setElementGroupVisibility",I),Et=d("onElementChange",h.object({id:h.string()})),zt=l("onElementCreate"),Ft=l("onElementCreateEnd"),kt=d("onElementDelete",h.object({id:h.string()})),Vt=d("onElementGroupChange",h.object({id:h.string()})),wt=t("createElement",fe),Ut=t("updateElement",Se),Ot=t("deleteElement",h.string()),be={methods:[Mt,Ct,Gt,It,Tt,Pt,wt,Ut,Ot],listeners:[Et,zt,Ft,kt,Vt]};var jt=l("onPointerClick"),vt=l("onPointerMove"),Me={methods:null,listeners:[jt,vt]};import{z as n}from"zod";import{z as i}from"zod";var Rt=i.enum(["in","ni"]),Nt=i.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Ar=i.enum(["and","or"]),Ce=i.union([i.number(),i.string(),i.boolean(),i.null()]),Ge=i.string().or(i.null()),At=i.tuple([Ge,Rt,i.array(Ce).or(i.null())]),Bt=i.tuple([Ge,Nt,Ce]),pe=i.union([At,Bt]),ce=i.tuple([i.lazy(()=>i.union([ce,pe,i.null(),i.boolean()])),i.enum(["and","or"]),i.lazy(()=>i.union([ce,pe,i.null(),i.boolean()]))]),L=i.union([ce,pe,i.null(),i.boolean()]),b=i.union([f,F,B,i.array(C)]);import{z as o}from"zod";var Ie=o.enum(["avg","max","min","sum","median"]),Te=o.enum(["avg","max","min","sum","count"]),Dt=o.object({method:Ie,attribute:o.string()}),Ht=o.object({methods:o.array(o.union([Ie,o.literal("count")])),attribute:o.string().optional()}),Pe=o.object({boundary:b.optional(),filters:L.optional(),aggregation:Dt.optional()}),Ee=o.object({layerId:o.string(),attribute:o.string(),limit:o.number().optional(),boundary:b.optional(),filters:L.optional(),values:Pe.optional()}),Jr=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()}),Zt=o.object({type:o.literal("time-interval"),interval:o.enum(["hour","day","week","month","year"])}),ze=o.object({layerId:o.string(),attribute:o.string(),steps:o.union([Jt,Zt,o.array(o.number())]),boundary:b.optional(),filters:L.optional(),values:Pe.optional()}),Zr=o.object({min:o.number(),max:o.number(),value:o.number()}),Fe=o.object({layerId:o.string(),boundary:b.optional(),filters:L.optional(),aggregation:Ht}),ke=o.enum(["h3"]),qt=o.object({type:ke,resolution:o.number(),method:Te.extract(["count"])}),Wt=o.object({type:ke,resolution:o.number(),method:Te.exclude(["count"]),attribute:o.string()}),_t=o.union([qt,Wt]),Ve=o.object({layerId:o.string(),boundary:b.optional(),filters:L.optional(),gridConfig:_t});import{z as r}from"zod";var Qr=r.enum(["processing","completed","failed","incomplete"]),we=r.object({type:r.literal("geoJsonUrl"),url:r.string().url(),refreshInterval:r.number().min(250).max(5*60*1e3).nullable().optional()}),Ue=r.object({type:r.literal("geoJsonData"),data:r.object({}).passthrough().or(r.instanceof(ArrayBuffer))}),Oe=r.object({type:r.literal("geoJsonFile"),file:r.instanceof(File)}),je=r.object({id:r.string(),style:r.object({}).passthrough().optional(),shownInLegend:r.boolean().optional(),name:r.string().optional(),caption:r.string().optional(),description:r.string().optional(),bounds:f.optional(),source:r.union([we,Ue,Oe]).optional()}),ve=r.object({ids:r.array(r.string()).optional()}),Re=r.object({ids:r.array(r.string()).optional()}),E=r.object({id:r.string(),layerId:r.string()}),Ne=r.object({ids:E.array().optional(),layerIds:r.string().array().optional()}),Ae=r.object({layerIds:r.array(r.string()).optional(),areaQuery:r.union([r.object({coordinates:A}),r.object({boundary:f})]).optional()}),Qt=r.object({Point:r.object({}).passthrough().optional(),Line:r.object({}).passthrough().optional(),Polygon:r.object({}).passthrough().optional()}),Be=r.object({source:r.union([we,Ue,Oe]),name:r.string(),bounds:f.optional(),caption:r.string().optional(),description:r.string().optional(),geometryStyles:Qt.optional()});var $t=t("getLayer",n.string()),Kt=t("getLayers",ve.optional()),Xt=t("setLayerVisibility",I),Yt=d("onLayerChange",n.object({id:n.string()})),eo=t("setLayerStyle",n.object({id:n.string(),style:n.object({}).passthrough()})),to=t("setLayerLegendVisibility",I),oo=t("createLayersFromGeoJson",Be),ro=t("updateLayer",je),no=t("deleteLayer",n.string()),ao=t("getLayerGroup",n.string()),io=t("getLayerGroups",Re.optional()),so=t("setLayerGroupVisibility",I),lo=t("setLayerGroupLegendVisibility",I),po=d("onLayerGroupChange",n.object({id:n.string()})),co=t("getLegendItem",E),mo=t("getLegendItems",Ne.optional()),go=d("onLegendItemChange",E),yo=t("setLegendItemVisibility",n.object({show:E.array().optional(),hide:E.array().optional()})),uo=t("getLayerFilters",n.string()),ho=t("setLayerFilters",n.object({layerId:n.string(),filters:L,note:n.string().optional()})),fo=d("onLayerFiltersChange",n.object({layerId:n.string()})),So=t("getLayerBoundaries",n.string()),xo=t("setLayerBoundary",n.object({layerIds:n.array(n.string()),boundary:b.nullable()})),Lo=d("onLayerBoundariesChange",n.object({layerId:n.string()})),bo=t("getRenderedFeatures",Ae.optional()),Mo=t("getFeature",n.object({id:n.string().or(n.number()),layerId:n.string()})),Co=t("getFeatures",n.object({layerId:n.string(),filters:L.optional(),sorting:D.optional(),boundary:b.optional(),search:n.string().optional(),pagination:n.string().optional().nullish()})),Go=t("getGeoJsonFeature",n.object({id:n.string().or(n.number()),layerId:n.string()})),Io=t("getCategoryData",Ee),To=t("getHistogramData",ze),Po=t("getAggregates",Fe),Eo=t("getPrecomputedAggregates",Ve),zo=t("getLayerSchema",n.string()),De={methods:[$t,Kt,Xt,eo,to,oo,no,ro,ao,io,so,lo,co,mo,yo,uo,ho,So,xo,bo,Mo,Co,Go,Io,To,Po,Eo,zo],listeners:[Yt,po,go,fo,Lo]};import{z as Fo}from"zod";var ko=t("getMapDetails",Fo.undefined()),He={methods:[ko],listeners:[]};import{z as W}from"zod";import{z as G}from"zod";var Je=G.object({id:G.string().or(G.number()),layerId:G.string(),showPopup:G.boolean().optional(),fitViewport:G.boolean().or(G.object({maxZoom:G.number()})).optional()});var Vo=t("getSelection",W.undefined()),wo=l("onSelectionChange"),Uo=t("selectFeature",Je),Oo=t("clearSelection",W.object({features:W.boolean().optional(),elements:W.boolean().optional()}).optional()),Ze={methods:[Vo,Uo,Oo],listeners:[wo]};import{z as qo}from"zod";import{z as p}from"zod";var qe=["circle","highlighter","line","marker","note","pin","polygon","route","text"],jo=[...qe,"link"],We=p.enum(jo),_e=p.enum(qe),vo=oe.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:p.enum(["enter name","add another","select"])}).required(),Ro=q.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),No=q.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Ao=re.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Bo=ne.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Do=ae.pick({color:!0,opacity:!0,size:!0}).required(),Ho=ie.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:p.number().min(0).max(200)}).required(),Jo=se.pick({color:!0,align:!0,style:!0}).required(),Zo=le.pick({color:!0,align:!0,style:!0}).required(),Qe=p.discriminatedUnion("tool",[vo.partial().extend({tool:p.literal("pin")}),Ro.partial().extend({tool:p.literal("line")}),No.partial().extend({tool:p.literal("route")}),Ao.partial().extend({tool:p.literal("polygon")}),Bo.partial().extend({tool:p.literal("circle")}),Do.partial().extend({tool:p.literal("marker")}),Ho.partial().extend({tool:p.literal("highlighter")}),Jo.partial().extend({tool:p.literal("text")}),Zo.partial().extend({tool:p.literal("note")})]);var Wo=t("setTool",We.nullable()),_o=t("getTool",qo.undefined()),Qo=l("onToolChange"),$o=t("setToolSettings",Qe),Ko=t("getToolSettings",_e),Xo=l("onToolSettingsChange"),$e={methods:[Wo,_o,$o,Ko],listeners:[Qo,Xo]};import{z as me}from"zod";import{z as m}from"zod";var Ke=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()}),Xe=m.object({featureSelectPanel:m.boolean().optional(),featureHoverPanel:m.boolean().optional(),elementSelectPanel:m.boolean().optional(),linkClickOpen:m.boolean().optional(),imageLightboxOpen:m.boolean().optional()});var Yo=t("updateUiControls",Ke),er=t("setOnMapInteractionsUi",Xe),tr=t("showLayerDataTable",me.object({layerId:me.string(),sorting:D.optional()}).optional()),or=t("hideLayerDataTable",me.undefined()),Ye={methods:[Yo,er,tr,or],listeners:null};import{z as rt}from"zod";import{z as Q}from"zod";var _=Q.object({center:A,zoom:ue}),et=Q.object({center:_.shape.center.optional(),zoom:_.shape.zoom.optional()}),tt=Q.object({minZoom:_.shape.zoom.nullish(),maxZoom:_.shape.zoom.nullish(),bounds:f.nullish()}).nullable(),ot=Q.object({bounds:f});var rr=t("getViewport",rt.undefined()),nr=t("setViewport",et),ar=t("getViewportConstraints",rt.undefined()),ir=t("setViewportConstraints",tt),sr=t("fitViewportToBounds",ot),lr=l("onViewportMove"),pr=l("onViewportMoveEnd"),cr=l("onMapIdle"),nt={methods:[nr,rr,ar,ir,sr],listeners:[lr,pr,cr]};var ge=[Ye,nt,De,be,Ze,Me,$e,He];function Wn(a,T,ye){let $=new Map;async function de(y){if(!ur.safeParse(y.data).success){ye?.onUnknownMessage?.(y.data);return}let v=st.safeParse(y.data);if(!v.success){ye?.onInvalidMessage?.(y.data,v.error),y.ports[0]?.postMessage(at(v.error.message));return}let{data:c}=v;if(c.type==="felt.ready")y.ports[0]?.postMessage(!0);else if(c.type==="felt.addListener"){if(c.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let z="options"in c.event?{options:"options"in c.event?c.event.options:void 0,handler:X=>{y.ports[0]?.postMessage(X)}}:{handler:X=>{y.ports[0]?.postMessage(X)}},K=T.listeners[c.event.eventName](z);$.set(c.event.id,K)}else if(c.type==="felt.removeListener")$.get(c.id)?.(),$.delete(c.id);else try{let z=T.methods[c.type],K=await z(c.params);y.ports[0]?.postMessage(K)}catch(z){y.ports[0]?.postMessage(at(z))}}return a.addEventListener("message",de),()=>{a.removeEventListener("message",de)}}var it={methods:ge.map(a=>a.methods??[]).flat(),listeners:ge.map(a=>a.listeners??[]).flat()},mr=g.discriminatedUnion("eventName",[g.strictObject({eventName:g.literal("")}),...it.listeners]),gr=g.strictObject({type:g.literal("felt.addListener"),event:mr}),yr=g.strictObject({type:g.literal("felt.removeListener"),id:g.string()}),dr=g.strictObject({type:g.literal("felt.ready")}),st=g.discriminatedUnion("type",[dr,gr,yr,...it.methods]),ur=g.object({type:g.enum(st.options.map(a=>a.shape.type.value))});function at(a){return{__error__:hr(a)}}function hr(a){return a instanceof Error?a.message:typeof a=="object"&&a!==null&&"message"in a?String(a.message):typeof a=="string"?a:"Unknown error"}export{Wn as createMessageHandler};
1
+ import{z as u}from"zod";import{z as M}from"zod";import{z as V}from"zod";function t(i,D){return V.strictObject({type:V.literal(i),params:D})}function I(i,D){return V.strictObject({eventName:V.literal(i),id:V.string(),options:D})}function d(i){return V.strictObject({eventName:V.literal(i),id:V.string()})}import{z as p}from"zod";var ae=p.number(),ie=p.number(),se=p.object({latitude:ie,longitude:ae}),B=p.tuple([ae,ie]),Q=p.object({type:p.literal("Polygon"),coordinates:p.array(p.array(B).min(4).refine(i=>i[0][0]===i[i.length-1][0]&&i[0][1]===i[i.length-1][1],"The last point of each ring must be identical to the first"))}),le=p.object({type:p.literal("MultiPolygon"),coordinates:p.array(Q.shape.coordinates)}),Zt=p.object({type:p.literal("LineString"),coordinates:p.array(B).min(2)}),$=p.object({type:p.literal("MultiLineString"),coordinates:p.array(Zt.shape.coordinates)}),We=p.number().min(1).max(23),P=p.tuple([ae,ie,ae,ie]),A=p.object({show:p.array(p.string()).optional(),hide:p.array(p.string()).optional()}),Wt=p.enum(["asc","desc"]),pe=p.object({attribute:p.string(),direction:Wt});import{z as e}from"zod";var L=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()}),ue=e.object({imageUrl:e.string().nullable()}),Me=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),_t=e.enum(["meter","kilometer","foot","mile"]),me=L.extend(ue.shape).extend({type:e.literal("Place"),coordinates:B,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),K=L.extend(ue.shape).extend(Me.shape).extend({type:e.literal("Path"),coordinates:$.shape.coordinates,distanceMarker:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:e.boolean()}),X=L.extend(ue.shape).extend(Me.shape).extend({type:e.literal("Polygon"),coordinates:Q.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),ce=L.extend(ue.shape).extend(Me.shape).extend({type:e.literal("Circle"),center:B,radius:e.number(),radiusMarker:e.boolean(),radiusDisplayAngle:e.number(),radiusDisplayUnit:_t.nullable(),fillOpacity:e.number().min(0).max(1)}),Y=L.extend({type:e.literal("Marker"),coordinates:$.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),ee=L.extend({type:e.literal("Highlighter"),coordinates:le.shape.coordinates,renderHoles:e.boolean(),opacity:e.number().min(0).max(1)}),_e=e.object({position:B,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),Ie=L.extend(_e.shape).extend({type:e.literal("Text")}),Le=L.extend(_e.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),te=L.extend({type:e.literal("Image"),coordinates:$.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),Qt=L.extend({type:e.literal("Link"),coordinates:$.shape.coordinates,url:e.string()}),N={type:!0,coordinates:!0},T={id:!0},Ee=me.partial().extend(me.pick(N).shape).omit(T),de=K.partial().extend(K.pick(N).shape).omit(T),Ce=X.partial().extend(X.pick(N).shape).omit(T),Ge=ce.partial().extend(ce.pick({type:!0,center:!0,radius:!0}).shape).omit(T),Pe=Y.partial().extend(Y.pick(N).shape).omit(T),Te=ee.partial().extend(ee.pick(N).shape).omit(T),ze=Ie.partial().omit({...T,name:!0,type:!0}).extend({type:e.literal("Text"),text:e.string()}),Fe=Le.partial().omit({...T,name:!0,type:!0}).extend({type:e.literal("Note"),text:e.string()}),$t=te.partial().extend(te.pick({...N,imageUrl:!0}).shape).omit(T),Qe=e.discriminatedUnion("type",[Ee,de,Ce,Ge,Pe,Te,$t,ze,Fe]);var hr=K.omit({coordinates:!0}),fr=X.omit({coordinates:!0});var Sr=Y.omit({coordinates:!0}),xr=ee.omit({coordinates:!0});var br=te.omit({coordinates:!0}),Ir=Qt.omit({coordinates:!0}),z={type:!0,id:!0},Kt=me.partial().extend(me.pick(z).shape),Xt=K.partial().extend(K.pick(z).shape),Yt=X.partial().extend(X.pick(z).shape),eo=ce.partial().extend(ce.pick(z).shape),to=Y.partial().extend(Y.pick(z).shape),oo=ee.partial().extend(ee.pick(z).shape),no=Ie.partial().extend(Ie.pick(z).shape).omit({name:!0}),ro=Le.partial().extend(Le.pick(z).shape).omit({name:!0}),ao=te.partial().extend(te.pick(z).shape),$e=e.discriminatedUnion("type",[Kt,Xt,Yt,eo,to,oo,no,ro,ao]),Ke=e.object({ids:e.array(e.string()).optional()}),Xe=e.object({ids:e.array(e.string()).optional()});var io=t("getElement",M.string()),so=t("getElementGeometry",M.string()),lo=t("getElements",Ke.optional()),po=t("getElementGroup",M.string()),mo=t("getElementGroups",Xe.optional()),co=t("setElementGroupVisibility",A),uo=I("onElementChange",M.object({id:M.string()})),yo=d("onElementCreate"),go=d("onElementCreateEnd"),ho=I("onElementDelete",M.object({id:M.string()})),fo=I("onElementGroupChange",M.object({id:M.string()})),So=t("createElement",Qe),xo=t("updateElement",$e),bo=t("deleteElement",M.string()),Ye={methods:[io,so,lo,po,mo,co,So,xo,bo],listeners:[uo,yo,go,ho,fo]};var Io=d("onPointerClick"),Lo=d("onPointerMove"),et={methods:null,listeners:[Io,Lo]};import{z as a}from"zod";import{z as s}from"zod";var Mo=s.enum(["in","ni"]),Eo=s.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),kr=s.enum(["and","or"]),tt=s.union([s.number(),s.string(),s.boolean(),s.null()]),ot=s.string().or(s.null()),Co=s.tuple([ot,Mo,s.array(tt).or(s.null())]),Go=s.tuple([ot,Eo,tt]),Ue=s.union([Co,Go]),ke=s.tuple([s.lazy(()=>s.union([ke,Ue,s.null(),s.boolean()])),s.enum(["and","or"]),s.lazy(()=>s.union([ke,Ue,s.null(),s.boolean()]))]),F=s.union([ke,Ue,s.null(),s.boolean()]),U=s.union([P,Q,le,s.array(B)]);import{z as n}from"zod";var nt=n.enum(["avg","max","min","sum","median"]),rt=n.enum(["avg","max","min","sum","count"]),Po=n.object({method:nt,attribute:n.string()}),To=n.object({methods:n.array(n.union([nt,n.literal("count")])),attribute:n.string().optional()}),at=n.object({boundary:U.optional(),filters:F.optional(),aggregation:Po.optional()}),it=n.object({layerId:n.string(),attribute:n.string(),limit:n.number().optional(),boundary:U.optional(),filters:F.optional(),values:at.optional()}),Br=n.object({key:n.union([n.number(),n.string(),n.boolean()]),value:n.number().nullable()}),zo=n.object({type:n.literal("equal-intervals"),count:n.number()}),Fo=n.object({type:n.literal("time-interval"),interval:n.enum(["hour","day","week","month","year"])}),st=n.object({layerId:n.string(),attribute:n.string(),steps:n.union([zo,Fo,n.array(n.number())]),boundary:U.optional(),filters:F.optional(),values:at.optional()}),wr=n.object({min:n.number(),max:n.number(),value:n.number()}),lt=n.object({layerId:n.string(),boundary:U.optional(),filters:F.optional(),aggregation:To}),pt=n.enum(["h3"]),Uo=n.object({type:pt,resolution:n.number(),method:rt.extract(["count"])}),ko=n.object({type:pt,resolution:n.number(),method:rt.exclude(["count"]),attribute:n.string()}),vo=n.union([Uo,ko]),mt=n.object({layerId:n.string(),boundary:U.optional(),filters:F.optional(),gridConfig:vo});import{z as r}from"zod";var Dr=r.enum(["processing","completed","failed","incomplete"]),ct=r.object({type:r.literal("geoJsonUrl"),url:r.string().url(),refreshInterval:r.number().min(250).max(5*60*1e3).nullable().optional()}),ut=r.object({type:r.literal("geoJsonData"),data:r.object({}).passthrough().or(r.instanceof(ArrayBuffer))}),dt=r.object({type:r.literal("geoJsonFile"),file:r.instanceof(File)}),yt=r.object({id:r.string(),style:r.object({}).passthrough().optional(),shownInLegend:r.boolean().optional(),name:r.string().optional(),caption:r.string().optional(),description:r.string().optional(),bounds:P.optional(),source:r.union([ct,ut,dt]).optional()}),gt=r.object({ids:r.array(r.string()).optional()}),ht=r.object({ids:r.array(r.string()).optional()}),q=r.object({id:r.string(),layerId:r.string()}),ft=r.object({ids:q.array().optional(),layerIds:r.string().array().optional()}),St=r.object({layerIds:r.array(r.string()).optional(),areaQuery:r.union([r.object({coordinates:se}),r.object({boundary:P})]).optional()}),jo=r.object({Point:r.object({}).passthrough().optional(),Line:r.object({}).passthrough().optional(),Polygon:r.object({}).passthrough().optional()}),xt=r.object({source:r.union([ct,ut,dt]),name:r.string(),bounds:P.optional(),caption:r.string().optional(),description:r.string().optional(),geometryStyles:jo.optional()});var Vo=t("getLayer",a.string()),Bo=t("getLayers",gt.optional()),wo=t("setLayerVisibility",A),Oo=I("onLayerChange",a.object({id:a.string()})),Ao=t("setLayerStyle",a.object({id:a.string(),style:a.object({}).passthrough()})),Ro=t("setLayerLegendVisibility",A),Do=t("createLayersFromGeoJson",xt),No=t("updateLayer",yt),qo=t("deleteLayer",a.string()),Ho=t("getLayerGroup",a.string()),Jo=t("getLayerGroups",ht.optional()),Zo=t("setLayerGroupVisibility",A),Wo=t("setLayerGroupLegendVisibility",A),_o=I("onLayerGroupChange",a.object({id:a.string()})),Qo=t("getLegendItem",q),$o=t("getLegendItems",ft.optional()),Ko=I("onLegendItemChange",q),Xo=t("setLegendItemVisibility",a.object({show:q.array().optional(),hide:q.array().optional()})),Yo=t("getLayerFilters",a.string()),en=t("setLayerFilters",a.object({layerId:a.string(),filters:F,note:a.string().optional()})),tn=I("onLayerFiltersChange",a.object({layerId:a.string()})),on=t("getLayerBoundaries",a.string()),nn=t("setLayerBoundary",a.object({layerIds:a.array(a.string()),boundary:U.nullable()})),rn=I("onLayerBoundariesChange",a.object({layerId:a.string()})),an=t("getRenderedFeatures",St.optional()),sn=t("getFeature",a.object({id:a.string().or(a.number()),layerId:a.string()})),ln=t("getFeatures",a.object({layerId:a.string(),filters:F.optional(),sorting:pe.optional(),boundary:U.optional(),search:a.string().optional(),pagination:a.string().optional().nullish()})),pn=t("getGeoJsonFeature",a.object({id:a.string().or(a.number()),layerId:a.string()})),mn=t("getCategoryData",it),cn=t("getHistogramData",st),un=t("getAggregates",lt),dn=t("getPrecomputedAggregates",mt),yn=t("getLayerSchema",a.string()),bt={methods:[Vo,Bo,wo,Ao,Ro,Do,qo,No,Ho,Jo,Zo,Wo,Qo,$o,Xo,Yo,en,on,nn,an,sn,ln,pn,mn,cn,un,dn,yn],listeners:[Oo,_o,Ko,tn,rn]};import{z as gn}from"zod";var hn=t("getMapDetails",gn.undefined()),It={methods:[hn],listeners:[]};import{z as ye}from"zod";import{z as w}from"zod";var Lt=w.object({id:w.string().or(w.number()),layerId:w.string(),showPopup:w.boolean().optional(),fitViewport:w.boolean().or(w.object({maxZoom:w.number()})).optional()});var fn=t("getSelection",ye.undefined()),Sn=d("onSelectionChange"),xn=t("selectFeature",Lt),bn=t("clearSelection",ye.object({features:ye.boolean().optional(),elements:ye.boolean().optional()}).optional()),Mt={methods:[fn,xn,bn],listeners:[Sn]};import{z as Un}from"zod";import{z as y}from"zod";var Et=["circle","highlighter","line","marker","note","pin","polygon","route","text"],In=[...Et,"link"],Ct=y.enum(In),Gt=y.enum(Et),Ln=Ee.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:y.enum(["enter name","add another","select"])}).required(),Mn=de.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),En=de.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Cn=Ce.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Gn=Ge.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Pn=Pe.pick({color:!0,opacity:!0,size:!0}).required(),Tn=Te.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:y.number().min(0).max(200)}).required(),zn=ze.pick({color:!0,align:!0,style:!0}).required(),Fn=Fe.pick({color:!0,align:!0,style:!0}).required(),Pt=y.discriminatedUnion("tool",[Ln.partial().extend({tool:y.literal("pin")}),Mn.partial().extend({tool:y.literal("line")}),En.partial().extend({tool:y.literal("route")}),Cn.partial().extend({tool:y.literal("polygon")}),Gn.partial().extend({tool:y.literal("circle")}),Pn.partial().extend({tool:y.literal("marker")}),Tn.partial().extend({tool:y.literal("highlighter")}),zn.partial().extend({tool:y.literal("text")}),Fn.partial().extend({tool:y.literal("note")})]);var kn=t("setTool",Ct.nullable()),vn=t("getTool",Un.undefined()),jn=d("onToolChange"),Vn=t("setToolSettings",Pt),Bn=t("getToolSettings",Gt),wn=d("onToolSettingsChange"),Tt={methods:[kn,vn,Vn,Bn],listeners:[jn,wn]};import{z as ge}from"zod";import{z as o}from"zod";import{z as R}from"zod";var oe=R.union([R.object({after:R.string()}),R.object({before:R.string()}),R.object({at:R.enum(["start","end"])})]);import{z as je}from"zod";import{z as h}from"zod";var zt=h.object({onCreate:h.function().args().returns(h.void()).optional(),onDestroy:h.function().args().returns(h.void()).optional()}),On=h.object({onCreate:h.string().optional(),onDestroy:h.string().optional()}),f=zt.extend({id:h.string()}),S=zt.extend({id:h.string().optional()}),x=On.extend({id:h.string().optional()}),ve=h.object({label:h.string().optional()}),O={public:f.extend(ve.shape),input:S.extend(ve.shape),clonable:x.extend(ve.shape)};var k={public:f.extend({type:je.literal("FlexibleSpace")}),input:S.extend({type:je.literal("FlexibleSpace")}),clonable:x.extend({type:je.literal("FlexibleSpace")})};import{z as m}from"zod";import{z as E}from"zod";var Ve=E.object({type:E.literal("Button"),label:E.string(),variant:E.enum(["primary","outlined","transparent","transparentThin"]).optional(),disabled:E.boolean().optional()}),C={public:f.extend(Ve.shape).extend({onClick:E.function().returns(E.void())}),input:S.extend(Ve.shape).extend({onClick:E.function().returns(E.void())}),clonable:x.extend(Ve.shape).extend({onClick:E.string()})};import{z as v}from"zod";import{z as Be}from"zod";var we=Be.object({type:Be.literal("Text"),content:Be.string()}),G={public:f.extend(we.shape),input:S.extend(we.shape),clonable:x.extend(we.shape)};var Oe=v.object({type:v.literal("ButtonGroup"),align:v.enum(["start","end"]).optional()}),H={public:f.extend(Oe.shape).extend({items:v.array(v.union([C.public,G.public,k.public]))}),input:S.extend(Oe.shape).extend({items:v.array(v.union([C.input,G.input,k.input]))}),clonable:x.extend(Oe.shape).extend({items:v.array(v.union([C.clonable,G.clonable,k.clonable]))})};import{z as Ae}from"zod";var J={public:f.extend({type:Ae.literal("Divider")}),input:S.extend({type:Ae.literal("Divider")}),clonable:x.extend({type:Ae.literal("Divider")})};import{z as c}from"zod";var Re=c.object({type:c.literal("Select"),options:c.array(c.object({label:c.string(),value:c.string()})),value:c.string().optional(),search:c.boolean().optional(),placeholder:c.string().optional()}),Z={public:O.public.extend(Re.shape).extend({onChange:c.function().args(c.object({value:c.string()})).returns(c.void())}),input:O.input.extend(Re.shape).extend({onChange:c.function().args(c.object({value:c.string()})).returns(c.void())}),clonable:O.clonable.extend(Re.shape).extend({onChange:c.string()})};import{z as l}from"zod";var De=l.object({type:l.literal("TextInput"),value:l.string(),placeholder:l.string().optional()}),W={public:O.public.extend(De.shape).extend({onChange:l.function().args(l.string()).returns(l.void()).optional(),onBlur:l.function().args(l.string()).returns(l.void()).optional(),onFocus:l.function().args(l.string()).returns(l.void()).optional()}),input:O.input.extend(De.shape).extend({onChange:l.function().args(l.object({value:l.string()})).returns(l.void()).optional(),onBlur:l.function().args(l.object({value:l.string()})).returns(l.void()).optional(),onFocus:l.function().args(l.object({value:l.string()})).returns(l.void()).optional()}),clonable:O.clonable.extend(De.shape).extend({onChange:l.string().optional(),onBlur:l.string().optional(),onFocus:l.string().optional()})};var j={public:m.discriminatedUnion("type",[G.public,C.public,W.public,J.public,H.public,Z.public]),input:m.discriminatedUnion("type",[G.input,C.input,W.input,J.input,H.input,Z.input]),clonable:m.discriminatedUnion("type",[G.clonable,C.clonable,W.clonable,J.clonable,H.clonable,Z.clonable])},Ne=m.object({type:m.literal("Panel"),title:m.string().optional()}),ne={public:f.extend(Ne.shape).extend({onClose:m.function().returns(m.void()).optional(),items:m.array(j.public),footer:m.array(j.public).optional()}),input:S.extend(Ne.partial().shape).extend({onClose:m.function().returns(m.void()).optional(),items:m.array(j.input),footer:m.array(j.input).optional()}),clonable:x.extend(Ne.partial().shape).extend({onClose:m.string().optional(),items:m.array(j.clonable),footer:m.array(j.clonable).optional()})},qe={input:m.discriminatedUnion("type",[G.input.partial().required({type:!0}),C.input.partial().required({type:!0}),W.input.partial().required({type:!0}),J.input.partial().required({type:!0}),H.input.partial().required({type:!0}),Z.input.partial().required({type:!0})]),clonable:m.discriminatedUnion("type",[G.clonable.partial().required({type:!0}),C.clonable.partial().required({type:!0}),W.clonable.partial().required({type:!0}),J.clonable.partial().required({type:!0}),H.clonable.partial().required({type:!0}),Z.clonable.partial().required({type:!0})])};var Ya=o.object({panel:ne.input,placement:oe.optional()}),Ft=o.object({panel:ne.clonable,placement:oe.optional()}),ei=ne.input.partial().required({id:!0}),Ut=ne.clonable.partial().required({id:!0}),ti=o.object({panelId:o.string(),elements:o.array(o.object({element:o.union([j.input,k.input]),on:o.union([o.literal("items"),o.literal("footer"),o.object({id:o.string()})]).optional(),placement:oe.optional()}))}),kt=o.object({panelId:o.string(),elements:o.array(o.object({element:o.union([j.clonable,k.clonable]),on:o.union([o.literal("items"),o.literal("footer"),o.object({id:o.string()})]).optional(),placement:oe.optional()}))}),oi=o.object({panelId:o.string(),elements:o.record(o.string(),o.union([qe.input,k.input]))}),vt=o.object({panelId:o.string(),elements:o.record(o.string(),o.union([qe.clonable,k.clonable]))}),jt=o.object({panelId:o.string(),elements:o.array(o.string())}),Vt=o.object({showLegend:o.boolean().optional(),cooperativeGestures:o.boolean().optional(),fullScreenButton:o.boolean().optional(),geolocation:o.boolean().optional(),zoomControls:o.boolean().optional(),scaleBar:o.boolean().optional()}),Bt=o.object({featureSelectPanel:o.boolean().optional(),featureHoverPanel:o.boolean().optional(),elementSelectPanel:o.boolean().optional(),linkClickOpen:o.boolean().optional(),imageLightboxOpen:o.boolean().optional()});var An=t("addPanel",Ft),Rn=t("updatePanel",Ut),Dn=t("deletePanel",ge.string()),Nn=t("addPanelElements",kt),qn=t("updatePanelElements",vt),Hn=t("deletePanelElements",jt),Jn=t("updateUiControls",Vt),Zn=t("setOnMapInteractionsUi",Bt),Wn=t("showLayerDataTable",ge.object({layerId:ge.string(),sorting:pe.optional()}).optional()),_n=t("hideLayerDataTable",ge.undefined()),wt={methods:[An,Rn,Dn,Nn,qn,Hn,Jn,Zn,Wn,_n],listeners:null};import{z as Dt}from"zod";import{z as fe}from"zod";var he=fe.object({center:se,zoom:We}),Ot=fe.object({center:he.shape.center.optional(),zoom:he.shape.zoom.optional()}),At=fe.object({minZoom:he.shape.zoom.nullish(),maxZoom:he.shape.zoom.nullish(),bounds:P.nullish()}).nullable(),Rt=fe.object({bounds:P});var Qn=t("getViewport",Dt.undefined()),$n=t("setViewport",Ot),Kn=t("getViewportConstraints",Dt.undefined()),Xn=t("setViewportConstraints",At),Yn=t("fitViewportToBounds",Rt),er=d("onViewportMove"),tr=d("onViewportMoveEnd"),or=d("onMapIdle"),Nt={methods:[$n,Qn,Kn,Xn,Yn],listeners:[er,tr,or]};var He=[wt,Nt,bt,Ye,Mt,et,Tt,It];function Ti(i,D,Je){let Se=new Map;async function Ze(b){if(!sr.safeParse(b.data).success){Je?.onUnknownMessage?.(b.data);return}let re=Jt.safeParse(b.data);if(!re.success){Je?.onInvalidMessage?.(b.data,re.error),b.ports[0]?.postMessage(qt(re.error.message));return}let{data:g}=re;if(g.type==="felt.ready")b.ports[0]?.postMessage(!0);else if(g.type==="felt.addListener"){if(g.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let _="options"in g.event?{options:"options"in g.event?g.event.options:void 0,handler:be=>{b.ports[0]?.postMessage(be)}}:{handler:be=>{b.ports[0]?.postMessage(be)}},xe=D.listeners[g.event.eventName](_);Se.set(g.event.id,xe)}else if(g.type==="felt.removeListener")Se.get(g.id)?.(),Se.delete(g.id);else try{let _=D.methods[g.type],xe=await _(g.params);b.ports[0]?.postMessage(xe)}catch(_){b.ports[0]?.postMessage(qt(_))}}return i.addEventListener("message",Ze),()=>{i.removeEventListener("message",Ze)}}var Ht={methods:He.map(i=>i.methods??[]).flat(),listeners:He.map(i=>i.listeners??[]).flat()},nr=u.discriminatedUnion("eventName",[u.strictObject({eventName:u.literal("")}),u.strictObject({eventName:u.literal("onGenericEvent"),id:u.string(),options:u.object({id:u.string()})}),...Ht.listeners]),rr=u.strictObject({type:u.literal("felt.addListener"),event:nr}),ar=u.strictObject({type:u.literal("felt.removeListener"),id:u.string()}),ir=u.strictObject({type:u.literal("felt.ready")}),Jt=u.discriminatedUnion("type",[ir,rr,ar,...Ht.methods]),sr=u.object({type:u.enum(Jt.options.map(i=>i.shape.type.value))});function qt(i){return{__error__:lr(i)}}function lr(i){return i instanceof Error?i.message:typeof i=="object"&&i!==null&&"message"in i?String(i.message):typeof i=="string"?i:"Unknown error"}export{Ti as createMessageHandler};