@feltmaps/js-sdk
Version:
An SDK for Felt maps
2 lines (1 loc) • 27.6 kB
JavaScript
;var Je=Object.defineProperty;var no=Object.getOwnPropertyDescriptor;var ro=Object.getOwnPropertyNames;var io=Object.prototype.hasOwnProperty;var lo=(o,S)=>{for(var X in S)Je(o,X,{get:S[X],enumerable:!0})},so=(o,S,X,ee)=>{if(S&&typeof S=="object"||typeof S=="function")for(let J of ro(S))!io.call(o,J)&&J!==X&&Je(o,J,{get:()=>S[J],enumerable:!(ee=no(S,J))||ee.enumerable});return o};var mo=o=>so(Je({},"__esModule",{value:!0}),o);var _r={};lo(_r,{createMessageHandler:()=>Nr});module.exports=mo(_r);var y=require("zod");var q=require("zod");var R=require("zod");function e(o,S){return R.z.strictObject({type:R.z.literal(o),params:S})}function F(o,S){return R.z.strictObject({eventName:R.z.literal(o),id:R.z.string(),options:S})}function h(o){return R.z.strictObject({eventName:R.z.literal(o),id:R.z.string()})}var k=require("zod"),Bt=k.z.object({id:k.z.string(),name:k.z.string(),uiColorScheme:k.z.enum(["light","dark"]),attribution:k.z.string().optional()}),vt=Bt.extend({type:k.z.literal("color"),color:k.z.string()}),Rt=Bt.extend({type:k.z.literal("xyz_tile"),tileUrl:k.z.string()});var po=e("getCurrentBasemap",q.z.void()),co=e("getBasemaps",q.z.void()),uo=e("chooseBasemap",q.z.string()),yo=e("removeBasemap",q.z.string()),go=e("addCustomBasemap",q.z.object({basemap:q.z.discriminatedUnion("type",[vt.omit({id:!0,uiColorScheme:!0}),Rt.omit({id:!0})]),select:q.z.boolean().optional()})),ho=h("onBasemapChange"),Ot={methods:[po,co,uo,go,yo],listeners:[ho]};var M=require("zod");var m=require("zod"),Fe=m.z.number(),ke=m.z.number(),Be=m.z.object({latitude:ke,longitude:Fe}),K=m.z.tuple([Fe,ke]),ie=m.z.object({type:m.z.literal("Polygon"),coordinates:m.z.array(m.z.array(K).min(4).refine(o=>o[0][0]===o[o.length-1][0]&&o[0][1]===o[o.length-1][1],"The last point of each ring must be identical to the first"))}),ve=m.z.object({type:m.z.literal("MultiPolygon"),coordinates:m.z.array(ie.shape.coordinates)}),fo=m.z.object({type:m.z.literal("LineString"),coordinates:m.z.array(K).min(2)}),le=m.z.object({type:m.z.literal("MultiLineString"),coordinates:m.z.array(fo.shape.coordinates)}),At=m.z.number().min(1).max(23),O=m.z.tuple([Fe,ke,Fe,ke]),Y=m.z.object({show:m.z.array(m.z.string()).optional(),hide:m.z.array(m.z.string()).optional()}),So=m.z.enum(["asc","desc"]),Re=m.z.object({attribute:m.z.string(),direction:So});var t=require("zod");var B=t.z.object({id:t.z.string(),groupId:t.z.string().nullable(),color:t.z.string(),name:t.z.string().nullable(),description:t.z.string().nullable(),attributes:t.z.record(t.z.string(),t.z.unknown()),interaction:t.z.enum(["default","locked"]).optional()}),we=t.z.object({imageUrl:t.z.string().nullable()}),We=t.z.object({strokeOpacity:t.z.number(),strokeWidth:t.z.number(),strokeStyle:t.z.enum(["solid","dashed","dotted"])}),xo=t.z.enum(["meter","kilometer","foot","mile"]),Oe=B.extend(we.shape).extend({type:t.z.literal("Place"),coordinates:K,symbol:t.z.string(),frame:t.z.enum(["frame-circle","frame-square"]).nullable(),hideLabel:t.z.boolean()}),se=B.extend(we.shape).extend(We.shape).extend({type:t.z.literal("Path"),coordinates:le.shape.coordinates,distanceMarker:t.z.boolean(),routingMode:t.z.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:t.z.boolean()}),me=B.extend(we.shape).extend(We.shape).extend({type:t.z.literal("Polygon"),coordinates:ie.shape.coordinates,fillOpacity:t.z.number().min(0).max(1),areaMarker:t.z.boolean()}),Ae=B.extend(we.shape).extend(We.shape).extend({type:t.z.literal("Circle"),center:K,radius:t.z.number(),radiusMarker:t.z.boolean(),radiusDisplayAngle:t.z.number(),radiusDisplayUnit:xo.nullable(),fillOpacity:t.z.number().min(0).max(1)}),pe=B.extend({type:t.z.literal("Marker"),coordinates:le.shape.coordinates,opacity:t.z.number().min(0).max(1),size:t.z.number().min(0).max(100),zoom:t.z.number().min(0).max(23)}),ce=B.extend({type:t.z.literal("Highlighter"),coordinates:ve.shape.coordinates,renderHoles:t.z.boolean(),opacity:t.z.number().min(0).max(1)}),wt=t.z.object({position:K,rotation:t.z.number(),scale:t.z.number(),zoom:t.z.number().min(0).max(23),text:t.z.string(),align:t.z.enum(["left","center","right"]),style:t.z.enum(["italic","light","regular","caps"]),name:t.z.string()}),qe=B.extend(wt.shape).extend({type:t.z.literal("Text")}),Ke=B.extend(wt.shape).extend({type:t.z.literal("Note"),widthScale:t.z.number().min(0)}),de=B.extend({type:t.z.literal("Image"),coordinates:le.shape.coordinates,imageUrl:t.z.string(),opacity:t.z.number().min(0).max(1)}).omit({color:!0}),Co=B.extend({type:t.z.literal("Link"),coordinates:le.shape.coordinates,url:t.z.string()}),te={type:!0,coordinates:!0},A={id:!0},_e=Oe.partial().extend(Oe.pick(te).shape).omit(A),je=se.partial().extend(se.pick(te).shape).omit(A),Qe=me.partial().extend(me.pick(te).shape).omit(A),$e=Ae.partial().extend(Ae.pick({type:!0,center:!0,radius:!0}).shape).omit(A),Xe=pe.partial().extend(pe.pick(te).shape).omit(A),Ye=ce.partial().extend(ce.pick(te).shape).omit(A),et=qe.partial().omit({...A,name:!0,type:!0}).extend({type:t.z.literal("Text"),text:t.z.string()}),tt=Ke.partial().omit({...A,name:!0,type:!0}).extend({type:t.z.literal("Note"),text:t.z.string()}),bo=de.partial().extend(de.pick({...te,imageUrl:!0}).shape).omit(A),jt=t.z.discriminatedUnion("type",[_e,je,Qe,$e,Xe,Ye,bo,et,tt]);var ri=se.omit({coordinates:!0}),ii=me.omit({coordinates:!0});var li=pe.omit({coordinates:!0}),si=ce.omit({coordinates:!0});var mi=de.omit({coordinates:!0}),pi=Co.omit({coordinates:!0}),w={type:!0,id:!0},Io=Oe.partial().extend(Oe.pick(w).shape),Eo=se.partial().extend(se.pick(w).shape),Uo=me.partial().extend(me.pick(w).shape),Mo=Ae.partial().extend(Ae.pick(w).shape),Lo=pe.partial().extend(pe.pick(w).shape),To=ce.partial().extend(ce.pick(w).shape),Go=qe.partial().extend(qe.pick(w).shape).omit({name:!0}),Po=Ke.partial().extend(Ke.pick(w).shape).omit({name:!0}),zo=de.partial().extend(de.pick(w).shape),Vt=t.z.discriminatedUnion("type",[Io,Eo,Uo,Mo,Lo,To,Go,Po,zo]),Dt=t.z.object({ids:t.z.array(t.z.string()).optional()}),Nt=t.z.object({ids:t.z.array(t.z.string()).optional()});var Fo=e("getElement",M.z.string()),ko=e("getElementGeometry",M.z.string()),Bo=e("getElements",Dt.optional()),vo=e("getElementGroup",M.z.string()),Ro=e("getElementGroups",Nt.optional()),Oo=e("setElementGroupVisibility",Y),Ao=F("onElementChange",M.z.object({id:M.z.string()})),wo=h("onElementCreate"),jo=h("onElementCreateEnd"),Vo=F("onElementDelete",M.z.object({id:M.z.string()})),Do=F("onElementGroupChange",M.z.object({id:M.z.string()})),No=e("createElement",jt),Zo=e("updateElement",Vt),Ho=e("deleteElement",M.z.string()),Zt={methods:[Fo,ko,Bo,vo,Ro,Oo,No,Zo,Ho],listeners:[Ao,wo,jo,Vo,Do]};var Jo=h("onPointerClick"),qo=h("onPointerMove"),Ht={methods:null,listeners:[Jo,qo]};var i=require("zod");var s=require("zod");var Ko=s.z.enum(["in","ni"]),Wo=s.z.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),xi=s.z.enum(["and","or"]),Jt=s.z.union([s.z.number(),s.z.string(),s.z.boolean(),s.z.null()]),qt=s.z.string().or(s.z.null()),_o=s.z.tuple([qt,Ko,s.z.array(Jt).or(s.z.null())]),Qo=s.z.tuple([qt,Wo,Jt]),at=s.z.union([_o,Qo]),ot=s.z.tuple([s.z.lazy(()=>s.z.union([ot,at,s.z.null(),s.z.boolean()])),s.z.enum(["and","or"]),s.z.lazy(()=>s.z.union([ot,at,s.z.null(),s.z.boolean()]))]),j=s.z.union([ot,at,s.z.null(),s.z.boolean()]),V=s.z.union([O,ie,ve,s.z.array(K)]);var n=require("zod");var Kt=n.z.enum(["avg","max","min","sum","median"]),Wt=n.z.enum(["avg","max","min","sum","count"]),$o=n.z.object({method:Kt,attribute:n.z.string()}),Xo=n.z.object({methods:n.z.array(n.z.union([Kt,n.z.literal("count")])),attribute:n.z.string().optional()}),_t=n.z.object({boundary:V.optional(),filters:j.optional(),aggregation:$o.optional()}),Qt=n.z.object({layerId:n.z.string(),attribute:n.z.string(),limit:n.z.number().optional(),boundary:V.optional(),filters:j.optional(),values:_t.optional()}),Ii=n.z.object({key:n.z.union([n.z.number(),n.z.string(),n.z.boolean()]),value:n.z.number().nullable()}),Yo=n.z.object({type:n.z.literal("equal-intervals"),count:n.z.number()}),en=n.z.object({type:n.z.literal("time-interval"),interval:n.z.enum(["hour","day","week","month","year"])}),$t=n.z.object({layerId:n.z.string(),attribute:n.z.string(),steps:n.z.union([Yo,en,n.z.array(n.z.number())]),boundary:V.optional(),filters:j.optional(),values:_t.optional()}),Ei=n.z.object({min:n.z.number(),max:n.z.number(),value:n.z.number()}),Xt=n.z.object({layerId:n.z.string(),boundary:V.optional(),filters:j.optional(),aggregation:Xo}),Yt=n.z.enum(["h3"]),tn=n.z.object({type:Yt,resolution:n.z.number(),method:Wt.extract(["count"])}),an=n.z.object({type:Yt,resolution:n.z.number(),method:Wt.exclude(["count"]),attribute:n.z.string()}),on=n.z.union([tn,an]),ea=n.z.object({layerId:n.z.string(),boundary:V.optional(),filters:j.optional(),gridConfig:on});var r=require("zod");var Li=r.z.enum(["processing","completed","failed","incomplete"]),ta=r.z.object({type:r.z.literal("geoJsonUrl"),url:r.z.string().url(),refreshInterval:r.z.number().min(250).max(5*60*1e3).nullable().optional()}),aa=r.z.object({type:r.z.literal("geoJsonData"),data:r.z.object({}).passthrough().or(r.z.instanceof(ArrayBuffer))}),oa=r.z.object({type:r.z.literal("geoJsonFile"),file:r.z.instanceof(File)}),nn=r.z.enum(["default","nameOnly"]),na=r.z.object({id:r.z.string(),style:r.z.object({}).passthrough().optional(),shownInLegend:r.z.boolean().optional(),legendDisplay:nn.optional(),name:r.z.string().optional(),caption:r.z.string().optional(),description:r.z.string().optional(),bounds:O.optional(),source:r.z.union([ta,aa,oa]).optional()}),ra=r.z.object({ids:r.z.array(r.z.string()).optional()}),ia=r.z.object({ids:r.z.array(r.z.string()).optional()}),ae=r.z.object({id:r.z.string(),layerId:r.z.string()}),la=r.z.object({ids:ae.array().optional(),layerIds:r.z.string().array().optional()}),sa=r.z.object({layerIds:r.z.array(r.z.string()).optional(),areaQuery:r.z.union([r.z.object({coordinates:Be}),r.z.object({boundary:O})]).optional()}),rn=r.z.object({Point:r.z.object({}).passthrough().optional(),Line:r.z.object({}).passthrough().optional(),Polygon:r.z.object({}).passthrough().optional()}),ma=r.z.object({source:r.z.union([ta,aa,oa]),name:r.z.string(),bounds:O.optional(),caption:r.z.string().optional(),description:r.z.string().optional(),geometryStyles:rn.optional()});var ln=e("getLayer",i.z.string()),sn=e("getLayers",ra.optional()),mn=e("setLayerVisibility",Y),pn=F("onLayerChange",i.z.object({id:i.z.string()})),cn=e("setLayerStyle",i.z.object({id:i.z.string(),style:i.z.object({}).passthrough()})),dn=e("setLayerLegendVisibility",Y),un=e("createLayersFromGeoJson",ma),yn=e("updateLayer",na),gn=e("deleteLayer",i.z.string()),hn=e("duplicateLayer",i.z.string()),fn=e("getLayerGroup",i.z.string()),Sn=e("getLayerGroups",ia.optional()),xn=e("setLayerGroupVisibility",Y),Cn=e("setLayerGroupLegendVisibility",Y),bn=F("onLayerGroupChange",i.z.object({id:i.z.string()})),In=e("getLegendItem",ae),En=e("getLegendItems",la.optional()),Un=F("onLegendItemChange",ae),Mn=e("setLegendItemVisibility",i.z.object({show:ae.array().optional(),hide:ae.array().optional()})),Ln=e("getLayerFilters",i.z.string()),Tn=e("setLayerFilters",i.z.object({layerId:i.z.string(),filters:j,note:i.z.string().optional()})),Gn=F("onLayerFiltersChange",i.z.object({layerId:i.z.string()})),Pn=e("getLayerBoundaries",i.z.string()),zn=e("setLayerBoundary",i.z.object({layerIds:i.z.array(i.z.string()),boundary:V.nullable()})),Fn=F("onLayerBoundariesChange",i.z.object({layerId:i.z.string()})),kn=e("getRenderedFeatures",sa.optional()),Bn=e("getFeature",i.z.object({id:i.z.string().or(i.z.number()),layerId:i.z.string()})),vn=e("getFeatures",i.z.object({layerId:i.z.string(),filters:j.optional(),sorting:Re.optional(),boundary:V.optional(),search:i.z.string().optional(),pagination:i.z.string().optional().nullish(),pageSize:i.z.number().optional(),select:i.z.array(i.z.string()).optional()})),Rn=e("getGeoJsonFeature",i.z.object({id:i.z.string().or(i.z.number()),layerId:i.z.string()})),On=e("getCategoryData",Qt),An=e("getHistogramData",$t),wn=e("getAggregates",Xt),jn=e("getPrecomputedAggregates",ea),Vn=e("getLayerSchema",i.z.string()),pa={methods:[ln,sn,mn,cn,dn,un,gn,yn,hn,fn,Sn,xn,Cn,In,En,Mn,Ln,Tn,Pn,zn,kn,Bn,vn,Rn,On,An,wn,jn,Vn],listeners:[pn,bn,Un,Gn,Fn]};var ca=require("zod");var Dn=e("getMapDetails",ca.z.undefined()),da={methods:[Dn],listeners:[]};var ue=require("zod");var D=require("zod"),ua=D.z.object({id:D.z.string().or(D.z.number()),layerId:D.z.string(),showPopup:D.z.boolean().optional(),fitViewport:D.z.boolean().or(D.z.object({maxZoom:D.z.number()})).optional()});var Nn=e("getSelection",ue.z.undefined()),Zn=h("onSelectionChange"),Hn=e("selectFeature",ua),Jn=e("clearSelection",ue.z.object({features:ue.z.boolean().optional(),elements:ue.z.boolean().optional()}).optional()),ya={methods:[Nn,Hn,Jn],listeners:[Zn]};var xa=require("zod");var x=require("zod");var ga=["circle","highlighter","line","marker","note","pin","polygon","route","text"],qn=[...ga,"link"],ha=x.z.enum(qn),fa=x.z.enum(ga),N={showInspector:x.z.boolean().optional()},Kn=_e.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:x.z.enum(["enter name","add another","select"])}).required(),Wn=je.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),_n=je.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Qn=Qe.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),$n=$e.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Xn=Xe.pick({color:!0,opacity:!0,size:!0}).required(),Yn=Ye.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:x.z.number().min(0).max(200)}).required(),er=et.pick({color:!0,align:!0,style:!0}).required(),tr=tt.pick({color:!0,align:!0,style:!0}).required(),Sa=x.z.discriminatedUnion("tool",[Kn.partial().extend({tool:x.z.literal("pin"),...N}),Wn.partial().extend({tool:x.z.literal("line"),...N}),_n.partial().extend({tool:x.z.literal("route"),...N}),Qn.partial().extend({tool:x.z.literal("polygon"),...N}),$n.partial().extend({tool:x.z.literal("circle"),...N}),Xn.partial().extend({tool:x.z.literal("marker"),...N}),Yn.partial().extend({tool:x.z.literal("highlighter"),...N}),er.partial().extend({tool:x.z.literal("text"),...N}),tr.partial().extend({tool:x.z.literal("note"),...N})]);var ar=e("setTool",ha.nullable()),or=e("getTool",xa.z.undefined()),nr=h("onToolChange"),rr=e("setToolSettings",Sa),ir=e("getToolSettings",fa),lr=h("onToolSettingsChange"),Ca={methods:[ar,or,rr,ir],listeners:[nr,lr]};var $=require("zod");var a=require("zod");var W=require("zod"),Z=W.z.union([W.z.object({after:W.z.string()}),W.z.object({before:W.z.string()}),W.z.object({at:W.z.enum(["start","end"])})]);var C=require("zod");var d=require("zod"),sr=d.z.object({onCreate:d.z.function().args(d.z.object({id:d.z.string()})).returns(d.z.void()).optional(),onDestroy:d.z.function().args(d.z.object({id:d.z.string()})).returns(d.z.void()).optional()}),mr=d.z.object({onCreate:d.z.string().optional(),onDestroy:d.z.string().optional()}),u=sr.extend({id:d.z.string()}),ba=u.partial({id:!0}),p={params:ba,clonable:ba.extend(mr.shape)},b=u.extend({label:d.z.string().optional()}),g={params:b.extend(p.params.shape),clonable:b.extend(p.clonable.shape)};function l(o){return o.partial().extend({id:d.z.string(),type:o.shape.type})}var L=d.z.object({label:d.z.string(),value:d.z.string(),disabled:d.z.boolean().optional()});var nt=C.z.object({type:C.z.literal("ActionTrigger"),label:C.z.string(),disabled:C.z.boolean().optional()}),ye={read:u.extend(nt.shape).extend({onTrigger:C.z.function().args(C.z.object({id:C.z.string()})).returns(C.z.void())}),create:p.params.extend(nt.shape).extend({type:C.z.undefined()}).extend({onTrigger:C.z.function().args(C.z.object({id:C.z.string()})).returns(C.z.void())}),clonable:p.clonable.extend(nt.shape).extend({type:C.z.undefined()}).extend({onTrigger:C.z.string()})};var f=require("zod");var Ve=f.z.object({type:f.z.literal("FeatureAction"),label:f.z.string(),onTrigger:f.z.function().args(f.z.object({feature:f.z.custom()})).returns(f.z.void()),layerIds:f.z.array(f.z.string()).optional(),geometryTypes:f.z.array(f.z.enum(["Polygon","Line","Point","Raster"])).optional()}),De={read:u.extend(Ve.shape).extend({id:f.z.string()}),create:p.params.extend(Ve.shape).extend({type:f.z.undefined()}),clonable:p.clonable.extend(Ve.shape).extend({type:f.z.undefined()}).extend({onTrigger:f.z.string()}),update:l(p.params.extend(Ve.shape).extend({type:f.z.undefined()}))};var Ea=require("zod");var rt=u.extend({type:Ea.z.literal("FlexibleSpace")}),Ia=rt.partial({id:!0}),ge={params:Ia,clonable:Ia.extend(p.clonable.shape)},it={params:l(ge.params),clonable:l(ge.clonable)};var I=require("zod");var ne=require("zod");var T=require("zod");var he=u.extend({type:T.z.literal("Button"),label:T.z.string(),variant:T.z.enum(["filled","transparent","outlined"]).optional(),tint:T.z.enum(["default","primary","accent","danger"]).optional(),disabled:T.z.boolean().optional(),onClick:T.z.function().args(T.z.object({id:T.z.string()})).returns(T.z.void())}),Ua=he.extend(p.params.shape),_={params:Ua,clonable:Ua.extend(p.clonable.shape).extend({onClick:T.z.string()})},lt={params:l(_.params),clonable:l(_.clonable)};var oe=require("zod");var st=b.extend({type:oe.z.literal("ButtonRow"),align:oe.z.enum(["start","end"]).optional(),items:oe.z.array(he)}),Ma=st.extend(g.params.shape).omit({items:!0}).extend({items:oe.z.array(_.params)}),pr=Ma.extend(g.clonable.shape).extend({items:oe.z.array(_.clonable)}),fe={params:Ma,clonable:pr},mt={params:l(fe.params),clonable:l(fe.clonable)};var H=require("zod");var La=H.z.array(L.shape.value),pt=b.extend({type:H.z.literal("CheckboxGroup"),options:H.z.array(L),value:La,onChange:H.z.function().args(H.z.object({value:La,id:H.z.string()})).returns(H.z.void())}),Ta=pt.extend(g.params.shape),Se={params:Ta,clonable:Ta.extend(g.clonable.shape).extend({onChange:H.z.string()})},ct={params:l(Se.params),clonable:l(Se.clonable)};var Pa=require("zod");var dt=u.extend({type:Pa.z.literal("Divider")}),Ga=dt.partial({id:!0}),xe={params:Ga,clonable:Ga.extend(p.clonable.shape)},ut={params:l(xe.params),clonable:l(xe.clonable)};var G=require("zod");var cr=G.z.lazy(()=>G.z.array(be.refine(o=>o.type!=="Grid"))),dr=G.z.lazy(()=>G.z.array(P.params.refine(o=>o.type!=="Grid"))),ur=G.z.lazy(()=>G.z.array(P.clonable.refine(o=>o.type!=="Grid"))),yt=u.extend({type:G.z.literal("Grid"),grid:G.z.string().optional(),verticalAlignment:G.z.enum(["top","center","bottom"]).optional(),horizontalDistribution:G.z.enum(["start","center","end","space-between","space-around","space-evenly"]).optional(),items:cr}),za=yt.extend(p.params.shape).omit({items:!0}).extend({items:dr}),yr=za.extend(p.clonable.shape).extend({items:ur}),Ce={params:za,clonable:yr},gt={params:l(Ce.params),clonable:l(Ce.clonable)};var Ie=require("zod");var ht=u.extend({type:Ie.z.literal("Iframe"),height:Ie.z.number().or(Ie.z.string()).optional(),url:Ie.z.string()}),Fa=ht.extend(p.params.shape),Ee={params:Fa,clonable:Fa.extend(p.clonable.shape)},ft={params:l(Ee.params),clonable:l(Ee.clonable)};var Q=require("zod");var ka=L.shape.value.optional(),St=b.extend({type:Q.z.literal("RadioGroup"),options:Q.z.array(L),value:ka,onChange:Q.z.function().args(Q.z.object({value:ka,id:Q.z.string()})).returns(Q.z.void())}),Ba=St.extend(g.params.shape),Ue={params:Ba,clonable:Ba.extend(g.clonable.shape).extend({onChange:Q.z.string()})},xt={params:l(Ue.params),clonable:l(Ue.clonable)};var U=require("zod");var Ct=b.extend({type:U.z.literal("Select"),options:U.z.array(L),value:U.z.string().optional(),placeholder:U.z.string().optional(),search:U.z.boolean().optional(),onChange:U.z.function().args(U.z.object({value:U.z.string(),id:U.z.string()})).returns(U.z.void())}),va=Ct.extend(g.params.shape),Me={params:va,clonable:va.extend(g.clonable.shape).extend({onChange:U.z.string()})},bt={params:l(Me.params),clonable:l(Me.clonable)};var It=require("zod");var Et=u.extend({type:It.z.literal("Text"),content:It.z.string()}),Ra=Et.extend(p.params.shape),Le={params:Ra,clonable:Ra.extend(p.clonable.shape)},Ut={params:l(Le.params),clonable:l(Le.clonable)};var c=require("zod");var Mt=b.extend({type:c.z.literal("TextInput"),value:c.z.string(),placeholder:c.z.string().optional(),onChange:c.z.function().args(c.z.object({value:c.z.string(),id:c.z.string()})).returns(c.z.void()).optional(),onBlur:c.z.function().args(c.z.object({value:c.z.string(),id:c.z.string()})).returns(c.z.void()).optional(),onFocus:c.z.function().args(c.z.object({value:c.z.string(),id:c.z.string()})).returns(c.z.void()).optional()}),Oa=Mt.extend(g.params.shape),Te={params:Oa,clonable:Oa.extend(g.clonable.shape).extend({onChange:c.z.string().optional(),onBlur:c.z.string().optional(),onFocus:c.z.string().optional()})},Lt={params:l(Te.params),clonable:l(Te.clonable)};var v=require("zod");var Aa=v.z.array(L.shape.value),Tt=b.extend({type:v.z.literal("ToggleGroup"),alignment:v.z.enum(["start","end"]).optional(),options:v.z.array(L),value:Aa,onChange:v.z.function().args(v.z.object({value:Aa,id:v.z.string()})).returns(v.z.void())}),wa=Tt.extend(g.params.shape),Ge={params:wa,clonable:wa.extend(g.clonable.shape).extend({onChange:v.z.string()})},Gt={params:l(Ge.params),clonable:l(Ge.clonable)};var be=ne.z.discriminatedUnion("type",[he,Et,dt,Mt,Ct,rt,st,pt,St,Tt,ht,yt]),gr=ne.z.discriminatedUnion("type",[_.params,Le.params,xe.params,Te.params,Me.params,ge.params,fe.params,Se.params,Ue.params,Ge.params,Ee.params,Ce.params]),hr=ne.z.discriminatedUnion("type",[_.clonable,Le.clonable,xe.clonable,Te.clonable,Me.clonable,ge.clonable,fe.clonable,Se.clonable,Ue.clonable,Ge.clonable,Ee.clonable,Ce.clonable]),P={params:gr,clonable:hr},Pt={params:ne.z.discriminatedUnion("type",[lt.params,Ut.params,Lt.params,bt.params,ut.params,it.params,mt.params,ct.params,xt.params,Gt.params,ft.params,gt.params]),clonable:ne.z.discriminatedUnion("type",[lt.clonable,Ut.clonable,Lt.clonable,bt.clonable,ut.clonable,it.clonable,mt.clonable,ct.clonable,xt.clonable,Gt.clonable,ft.clonable,gt.clonable])};var fr=u.extend({type:I.z.literal("Panel"),title:I.z.string().optional(),body:I.z.array(be).optional(),footer:I.z.array(be).optional(),onClickClose:I.z.function().args(I.z.object({id:I.z.string()})).returns(I.z.void()).optional()}),ja=fr.extend(p.params.shape).required({id:!0}).partial({type:!0}).omit({body:!0,footer:!0}).extend({body:I.z.array(P.params).optional(),footer:I.z.array(P.params).optional()}),zt={params:ja,clonable:ja.extend(p.clonable.shape).required({id:!0}).extend({onClickClose:I.z.string().optional(),body:I.z.array(P.clonable).optional(),footer:I.z.array(P.clonable).optional()})};var Jl=a.z.object({actionTrigger:ye.create,placement:Z.optional()}),Va=a.z.object({actionTrigger:ye.clonable,placement:Z.optional()}),ql=ye.create.partial().required({id:!0}),Da=ye.clonable.partial().required({id:!0}),Kl=a.z.object({action:De.create,placement:Z.optional()}),Na=a.z.object({action:De.clonable,placement:Z.optional()}),Za=De.clonable.partial().required({id:!0}),Wl=a.z.object({panel:zt.params,placement:Z.optional()}),Ha=a.z.object({panel:zt.clonable,initialPlacement:Z.optional()}),_l=a.z.object({panelId:a.z.string(),elements:a.z.array(a.z.object({element:P.params,container:a.z.union([a.z.literal("body"),a.z.literal("footer"),a.z.object({id:a.z.string()})]).optional(),placement:Z.optional()}))}),Ja=a.z.object({panelId:a.z.string(),elements:a.z.array(a.z.object({element:P.clonable,container:a.z.union([a.z.literal("body"),a.z.literal("footer"),a.z.object({id:a.z.string()})]).optional(),placement:Z.optional()}))}),Ql=a.z.object({panelId:a.z.string(),elements:a.z.array(a.z.object({element:Pt.params}))}),qa=a.z.object({panelId:a.z.string(),elements:a.z.array(a.z.object({element:Pt.clonable}))}),Ka=a.z.object({panelId:a.z.string(),elements:a.z.array(a.z.string())}),Wa=a.z.object({showLegend:a.z.boolean().optional(),cooperativeGestures:a.z.boolean().optional(),fullScreenButton:a.z.boolean().optional(),geolocation:a.z.boolean().optional(),zoomControls:a.z.boolean().optional(),scaleBar:a.z.boolean().optional()}),_a=a.z.object({featureSelectPanel:a.z.boolean().optional(),featureHoverPanel:a.z.boolean().optional(),elementSelectPanel:a.z.boolean().optional(),linkClickOpen:a.z.boolean().optional(),imageLightboxOpen:a.z.boolean().optional()});var Sr=e("createActionTrigger",Va),xr=e("updateActionTrigger",Da),Cr=e("deleteActionTrigger",$.z.string()),br=e("createFeatureAction",Na),Ir=e("updateFeatureAction",Za),Er=e("deleteFeatureAction",$.z.string()),Ur=e("createPanelId",$.z.void()),Mr=e("createOrUpdatePanel",Ha),Lr=e("deletePanel",$.z.string()),Tr=e("createPanelElements",Ja),Gr=e("updatePanelElements",qa),Pr=e("deletePanelElements",Ka),zr=e("updateUiControls",Wa),Fr=e("setOnMapInteractionsUi",_a),kr=e("showLayerDataTable",$.z.object({layerId:$.z.string(),sorting:Re.optional()}).optional()),Br=e("hideLayerDataTable",$.z.undefined()),Qa={methods:[Sr,xr,Cr,br,Ir,Er,Ur,Mr,Lr,Tr,Gr,Pr,zr,Fr,kr,Br],listeners:null};var Ft=require("zod");var Pe=require("zod");var Ne=Pe.z.object({center:Be,zoom:At}),$a=Pe.z.object({center:Ne.shape.center.optional(),zoom:Ne.shape.zoom.optional()}),Xa=Pe.z.object({minZoom:Ne.shape.zoom.nullish(),maxZoom:Ne.shape.zoom.nullish(),bounds:O.nullish()}).nullable(),Ya=Pe.z.object({bounds:O});var vr=e("getViewport",Ft.z.undefined()),Rr=e("setViewport",$a),Or=e("getViewportConstraints",Ft.z.undefined()),Ar=e("setViewportConstraints",Xa),wr=e("fitViewportToBounds",Ya),jr=h("onViewportMove"),Vr=h("onViewportMoveEnd"),Dr=h("onMapIdle"),eo={methods:[Rr,vr,Or,Ar,wr],listeners:[jr,Vr,Dr]};var kt=[Qa,eo,pa,Zt,ya,Ht,Ca,da,Ot];function Nr(o,S,X){let ee=new Map;async function J(z){if(!Kr.safeParse(z.data).success){X?.onUnknownMessage?.(z.data);return}let ze=oo.safeParse(z.data);if(!ze.success){X?.onInvalidMessage?.(z.data,ze.error),z.ports[0]?.postMessage(to(ze.error.message));return}let{data:E}=ze;if(E.type==="felt.ready")z.ports[0]?.postMessage(!0);else if(E.type==="felt.addListener"){if(E.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let re="options"in E.event?{options:"options"in E.event?E.event.options:void 0,handler:He=>{z.ports[0]?.postMessage(He)}}:{handler:He=>{z.ports[0]?.postMessage(He)}},Ze=S.listeners[E.event.eventName](re);ee.set(E.event.id,Ze)}else if(E.type==="felt.removeListener")ee.get(E.id)?.(),ee.delete(E.id);else try{let re=S.methods[E.type],Ze=await re(E.params);z.ports[0]?.postMessage(Ze)}catch(re){z.ports[0]?.postMessage(to(re))}}return o.addEventListener("message",J),()=>{o.removeEventListener("message",J)}}var ao={methods:kt.map(o=>o.methods??[]).flat(),listeners:kt.map(o=>o.listeners??[]).flat()},Zr=y.z.discriminatedUnion("eventName",[y.z.strictObject({eventName:y.z.literal("")}),y.z.strictObject({eventName:y.z.literal("onGenericEvent"),id:y.z.string(),options:y.z.object({id:y.z.string()})}),...ao.listeners]),Hr=y.z.strictObject({type:y.z.literal("felt.addListener"),event:Zr}),Jr=y.z.strictObject({type:y.z.literal("felt.removeListener"),id:y.z.string()}),qr=y.z.strictObject({type:y.z.literal("felt.ready")}),oo=y.z.discriminatedUnion("type",[qr,Hr,Jr,...ao.methods]),Kr=y.z.object({type:y.z.enum(oo.options.map(o=>o.shape.type.value))});function to(o){return{__error__:Wr(o)}}function Wr(o){return o instanceof Error?o.message:typeof o=="object"&&o!==null&&"message"in o?String(o.message):typeof o=="string"?o:"Unknown error"}0&&(module.exports={createMessageHandler});