UNPKG

@feltmaps/js-sdk

Version:

An SDK for Felt maps

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