@feltmaps/js-sdk 1.5.1 → 1.6.0-next.1

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.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var te=Object.defineProperty;var lt=Object.getOwnPropertyDescriptor;var pt=Object.getOwnPropertyNames;var mt=Object.prototype.hasOwnProperty;var ct=(r,l)=>{for(var I in l)te(r,I,{get:l[I],enumerable:!0})},yt=(r,l,I,z)=>{if(l&&typeof l=="object"||typeof l=="function")for(let C of pt(l))!mt.call(r,C)&&C!==I&&te(r,C,{get:()=>l[C],enumerable:!(z=lt(l,C))||z.enumerable});return r};var gt=r=>yt(te({},"__esModule",{value:!0}),r);var gr={};ct(gr,{createMessageHandler:()=>ir});module.exports=gt(gr);var y=require("zod");var d=require("zod");var f=require("zod");function t(r,l){return f.z.strictObject({type:f.z.literal(r),params:l})}function S(r,l){return f.z.strictObject({eventName:f.z.literal(r),id:f.z.string(),options:l})}function p(r){return f.z.strictObject({eventName:f.z.literal(r),id:f.z.string()})}var i=require("zod"),H=i.z.number(),J=i.z.number(),B=i.z.object({latitude:J,longitude:H}),G=i.z.tuple([H,J]),V=i.z.object({type:i.z.literal("Polygon"),coordinates:i.z.array(i.z.array(G).min(4).refine(r=>r[0][0]===r[r.length-1][0]&&r[0][1]===r[r.length-1][1],"The last point of each ring must be identical to the first"))}),Z=i.z.object({type:i.z.literal("MultiPolygon"),coordinates:i.z.array(V.shape.coordinates)}),dt=i.z.object({type:i.z.literal("LineString"),coordinates:i.z.array(G).min(2)}),v=i.z.object({type:i.z.literal("MultiLineString"),coordinates:i.z.array(dt.shape.coordinates)}),he=i.z.number().min(1).max(23),x=i.z.tuple([H,J,H,J]),T=i.z.object({show:i.z.array(i.z.string()).optional(),hide:i.z.array(i.z.string()).optional()}),ut=i.z.enum(["asc","desc"]),fe=i.z.object({attribute:i.z.string(),direction:ut});var e=require("zod");var h=e.z.object({id:e.z.string(),groupId:e.z.string().nullable(),color:e.z.string(),name:e.z.string().nullable(),description:e.z.string().nullable(),attributes:e.z.record(e.z.string(),e.z.unknown()),interaction:e.z.enum(["default","locked"]).optional()}),_=e.z.object({imageUrl:e.z.string().nullable()}),ne=e.z.object({strokeOpacity:e.z.number(),strokeWidth:e.z.number(),strokeStyle:e.z.enum(["solid","dashed","dotted"])}),ht=e.z.enum(["meter","kilometer","foot","mile"]),q=h.extend(_.shape).extend({type:e.z.literal("Place"),coordinates:G,symbol:e.z.string(),frame:e.z.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.z.boolean()}),w=h.extend(_.shape).extend(ne.shape).extend({type:e.z.literal("Path"),coordinates:v.shape.coordinates,distanceMarker:e.z.boolean(),routingMode:e.z.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:e.z.boolean()}),U=h.extend(_.shape).extend(ne.shape).extend({type:e.z.literal("Polygon"),coordinates:V.shape.coordinates,fillOpacity:e.z.number().min(0).max(1),areaMarker:e.z.boolean()}),W=h.extend(_.shape).extend(ne.shape).extend({type:e.z.literal("Circle"),center:G,radius:e.z.number(),radiusMarker:e.z.boolean(),radiusDisplayAngle:e.z.number(),radiusDisplayUnit:ht.nullable(),fillOpacity:e.z.number().min(0).max(1)}),O=h.extend({type:e.z.literal("Marker"),coordinates:v.shape.coordinates,opacity:e.z.number().min(0).max(1),size:e.z.number().min(0).max(100),zoom:e.z.number().min(0).max(23)}),j=h.extend({type:e.z.literal("Highlighter"),coordinates:Z.shape.coordinates,renderHoles:e.z.boolean(),opacity:e.z.number().min(0).max(1)}),Se=e.z.object({position:G,rotation:e.z.number(),scale:e.z.number(),zoom:e.z.number().min(0).max(23),text:e.z.string(),align:e.z.enum(["left","center","right"]),style:e.z.enum(["italic","light","regular","caps"]),name:e.z.string()}),oe=h.extend(Se.shape).extend({type:e.z.literal("Text")}),re=h.extend(Se.shape).extend({type:e.z.literal("Note"),widthScale:e.z.number().min(0)}),R=h.extend({type:e.z.literal("Image"),coordinates:v.shape.coordinates,imageUrl:e.z.string(),opacity:e.z.number().min(0).max(1)}).omit({color:!0}),ft=h.extend({type:e.z.literal("Link"),coordinates:v.shape.coordinates,url:e.z.string()}),P={type:!0,coordinates:!0},L={id:!0},ae=q.partial().extend(q.pick(P).shape).omit(L),Q=w.partial().extend(w.pick(P).shape).omit(L),ie=U.partial().extend(U.pick(P).shape).omit(L),se=W.partial().extend(W.pick({type:!0,center:!0,radius:!0}).shape).omit(L),le=O.partial().extend(O.pick(P).shape).omit(L),pe=j.partial().extend(j.pick(P).shape).omit(L),me=oe.partial().omit({...L,name:!0,type:!0}).extend({type:e.z.literal("Text"),text:e.z.string()}),ce=re.partial().omit({...L,name:!0,type:!0}).extend({type:e.z.literal("Note"),text:e.z.string()}),St=R.partial().extend(R.pick({...P,imageUrl:!0}).shape).omit(L),xe=e.z.discriminatedUnion("type",[ae,Q,ie,se,le,pe,St,me,ce]);var xr=w.omit({coordinates:!0}),Lr=U.omit({coordinates:!0});var br=O.omit({coordinates:!0}),Mr=j.omit({coordinates:!0});var Cr=R.omit({coordinates:!0}),Gr=ft.omit({coordinates:!0}),b={type:!0,id:!0},xt=q.partial().extend(q.pick(b).shape),Lt=w.partial().extend(w.pick(b).shape),bt=U.partial().extend(U.pick(b).shape),Mt=W.partial().extend(W.pick(b).shape),Ct=O.partial().extend(O.pick(b).shape),Gt=j.partial().extend(j.pick(b).shape),It=oe.partial().extend(oe.pick(b).shape).omit({name:!0}),Tt=re.partial().extend(re.pick(b).shape).omit({name:!0}),Et=R.partial().extend(R.pick(b).shape),Le=e.z.discriminatedUnion("type",[xt,Lt,bt,Mt,Ct,Gt,It,Tt,Et]),be=e.z.object({ids:e.z.array(e.z.string()).optional()}),Me=e.z.object({ids:e.z.array(e.z.string()).optional()});var zt=t("getElement",d.z.string()),Pt=t("getElementGeometry",d.z.string()),Ft=t("getElements",be.optional()),kt=t("getElementGroup",d.z.string()),Vt=t("getElementGroups",Me.optional()),vt=t("setElementGroupVisibility",T),wt=S("onElementChange",d.z.object({id:d.z.string()})),Ut=p("onElementCreate"),Ot=p("onElementCreateEnd"),jt=S("onElementDelete",d.z.object({id:d.z.string()})),Rt=S("onElementGroupChange",d.z.object({id:d.z.string()})),Nt=t("createElement",xe),At=t("updateElement",Le),Dt=t("deleteElement",d.z.string()),Ce={methods:[zt,Pt,Ft,kt,Vt,vt,Nt,At,Dt],listeners:[wt,Ut,Ot,jt,Rt]};var Ht=p("onPointerClick"),Jt=p("onPointerMove"),Ge={methods:null,listeners:[Ht,Jt]};var s=require("zod");var a=require("zod"),Bt=a.z.enum(["in","ni"]),Zt=a.z.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Vr=a.z.enum(["and","or"]),Ie=a.z.union([a.z.number(),a.z.string(),a.z.boolean(),a.z.null()]),Te=a.z.string().or(a.z.null()),qt=a.z.tuple([Te,Bt,a.z.array(Ie).or(a.z.null())]),Wt=a.z.tuple([Te,Zt,Ie]),ye=a.z.union([qt,Wt]),ge=a.z.tuple([a.z.lazy(()=>a.z.union([ge,ye,a.z.null(),a.z.boolean()])),a.z.enum(["and","or"]),a.z.lazy(()=>a.z.union([ge,ye,a.z.null(),a.z.boolean()]))]),E=a.z.union([ge,ye,a.z.null(),a.z.boolean()]);var n=require("zod");var Ee=n.z.enum(["avg","max","min","sum","median"]),_t=n.z.object({method:Ee,attribute:n.z.string()}),Qt=n.z.object({methods:n.z.array(n.z.union([Ee,n.z.literal("count")])),attribute:n.z.string().optional()}),$=n.z.union([x,V,Z,n.z.array(G)]),ze=n.z.object({boundary:$.optional(),filters:E.optional(),aggregation:_t.optional()}),Pe=n.z.object({layerId:n.z.string(),attribute:n.z.string(),limit:n.z.number().optional(),boundary:$.optional(),filters:E.optional(),values:ze.optional()}),Or=n.z.object({key:n.z.union([n.z.number(),n.z.string(),n.z.boolean()]),value:n.z.number().nullable()}),$t=n.z.object({type:n.z.literal("equal-intervals"),count:n.z.number()}),Kt=n.z.object({type:n.z.literal("time-interval"),interval:n.z.enum(["hour","day","week","month","year"])}),Fe=n.z.object({layerId:n.z.string(),attribute:n.z.string(),steps:n.z.union([$t,Kt,n.z.array(n.z.number())]),boundary:$.optional(),filters:E.optional(),values:ze.optional()}),jr=n.z.object({min:n.z.number(),max:n.z.number(),value:n.z.number()}),ke=n.z.object({layerId:n.z.string(),boundary:$.optional(),filters:E.optional(),aggregation:Qt});var o=require("zod");var Ar=o.z.enum(["processing","completed","failed","incomplete"]),Ve=o.z.object({type:o.z.literal("geoJsonUrl"),url:o.z.string().url(),refreshInterval:o.z.number().min(250).max(5*60*1e3).nullable().optional()}),ve=o.z.object({type:o.z.literal("geoJsonData"),data:o.z.object({}).passthrough().or(o.z.instanceof(ArrayBuffer))}),we=o.z.object({type:o.z.literal("geoJsonFile"),file:o.z.instanceof(File)}),Ue=o.z.object({id:o.z.string(),style:o.z.object({}).passthrough().optional(),shownInLegend:o.z.boolean().optional(),name:o.z.string().optional(),caption:o.z.string().optional(),description:o.z.string().optional(),bounds:x.optional(),source:o.z.union([Ve,ve,we]).optional()}),Oe=o.z.object({ids:o.z.array(o.z.string()).optional()}),je=o.z.object({ids:o.z.array(o.z.string()).optional()}),F=o.z.object({id:o.z.string(),layerId:o.z.string()}),Re=o.z.object({ids:F.array().optional(),layerIds:o.z.string().array().optional()}),Ne=o.z.object({layerIds:o.z.array(o.z.string()).optional(),areaQuery:o.z.union([o.z.object({coordinates:B}),o.z.object({boundary:x})]).optional()}),Xt=o.z.object({Point:o.z.object({}).passthrough().optional(),Line:o.z.object({}).passthrough().optional(),Polygon:o.z.object({}).passthrough().optional()}),Ae=o.z.object({source:o.z.union([Ve,ve,we]),name:o.z.string(),bounds:x.optional(),caption:o.z.string().optional(),description:o.z.string().optional(),geometryStyles:Xt.optional()});var Yt=t("getLayer",s.z.string()),eo=t("getLayers",Oe.optional()),to=t("setLayerVisibility",T),oo=S("onLayerChange",s.z.object({id:s.z.string()})),ro=t("setLayerStyle",s.z.object({id:s.z.string(),style:s.z.object({}).passthrough()})),no=t("setLayerLegendVisibility",T),ao=t("createLayersFromGeoJson",Ae),io=t("updateLayer",Ue),so=t("deleteLayer",s.z.string()),lo=t("getLayerGroup",s.z.string()),po=t("getLayerGroups",je.optional()),mo=t("setLayerGroupVisibility",T),co=t("setLayerGroupLegendVisibility",T),yo=S("onLayerGroupChange",s.z.object({id:s.z.string()})),go=t("getLegendItem",F),uo=t("getLegendItems",Re.optional()),ho=S("onLegendItemChange",F),fo=t("setLegendItemVisibility",s.z.object({show:F.array().optional(),hide:F.array().optional()})),So=t("getLayerFilters",s.z.string()),xo=t("setLayerFilters",s.z.object({layerId:s.z.string(),filters:E,note:s.z.string().optional()})),Lo=S("onLayerFiltersChange",s.z.object({layerId:s.z.string()})),bo=t("getRenderedFeatures",Ne.optional()),Mo=t("getFeature",s.z.object({id:s.z.string().or(s.z.number()),layerId:s.z.string()})),Co=t("getGeoJsonFeature",s.z.object({id:s.z.string().or(s.z.number()),layerId:s.z.string()})),Go=t("getCategoryData",Pe),Io=t("getHistogramData",Fe),To=t("getAggregates",ke),Eo=t("getLayerSchema",s.z.string()),De={methods:[Yt,eo,to,ro,no,ao,so,io,lo,po,mo,co,go,uo,fo,So,xo,bo,Mo,Co,Go,Io,To,Eo],listeners:[oo,yo,ho,Lo]};var He=require("zod");var zo=t("getMapDetails",He.z.undefined()),Je={methods:[zo],listeners:[]};var N=require("zod");var M=require("zod"),Be=M.z.object({id:M.z.string().or(M.z.number()),layerId:M.z.string(),showPopup:M.z.boolean().optional(),fitViewport:M.z.boolean().or(M.z.object({maxZoom:M.z.number()})).optional()});var Po=t("getSelection",N.z.undefined()),Fo=p("onSelectionChange"),ko=t("selectFeature",Be),Vo=t("clearSelection",N.z.object({features:N.z.boolean().optional(),elements:N.z.boolean().optional()}).optional()),Ze={methods:[Po,ko,Vo],listeners:[Fo]};var $e=require("zod");var m=require("zod");var qe=["pin","line","route","polygon","circle","marker","highlighter","text","note"],We=m.z.enum([...qe,"link"]),_e=m.z.enum(qe),vo=ae.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:m.z.enum(["enter name","add another","select"])}).required(),wo=Q.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),Uo=Q.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Oo=ie.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),jo=se.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Ro=le.pick({color:!0,opacity:!0,size:!0}).required(),No=pe.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:m.z.number().min(0).max(200)}).required(),Ao=me.pick({color:!0,align:!0,style:!0}).required(),Do=ce.pick({color:!0,align:!0,style:!0}).required(),Qe=m.z.discriminatedUnion("tool",[vo.partial().extend({tool:m.z.literal("pin")}),wo.partial().extend({tool:m.z.literal("line")}),Uo.partial().extend({tool:m.z.literal("route")}),Oo.partial().extend({tool:m.z.literal("polygon")}),jo.partial().extend({tool:m.z.literal("circle")}),Ro.partial().extend({tool:m.z.literal("marker")}),No.partial().extend({tool:m.z.literal("highlighter")}),Ao.partial().extend({tool:m.z.literal("text")}),Do.partial().extend({tool:m.z.literal("note")})]);var Ho=t("setTool",We.nullable()),Jo=t("getTool",$e.z.undefined()),Bo=p("onToolChange"),Zo=t("setToolSettings",Qe),qo=t("getToolSettings",_e),Wo=p("onToolSettingsChange"),Ke={methods:[Ho,Jo,Zo,qo],listeners:[Bo,Wo]};var K=require("zod");var c=require("zod"),Xe=c.z.object({showLegend:c.z.boolean().optional(),cooperativeGestures:c.z.boolean().optional(),fullScreenButton:c.z.boolean().optional(),geolocation:c.z.boolean().optional(),zoomControls:c.z.boolean().optional(),scaleBar:c.z.boolean().optional()}),Ye=c.z.object({featureSelectPanel:c.z.boolean().optional(),featureHoverPanel:c.z.boolean().optional(),elementSelectPanel:c.z.boolean().optional(),linkClickOpen:c.z.boolean().optional(),imageLightboxOpen:c.z.boolean().optional()});var _o=t("updateUiControls",Xe),Qo=t("setOnMapInteractionsUi",Ye),$o=t("showLayerDataTable",K.z.object({layerId:K.z.string(),sorting:fe.optional()}).optional()),Ko=t("hideLayerDataTable",K.z.undefined()),et={methods:[_o,Qo,$o,Ko],listeners:null};var de=require("zod");var A=require("zod");var X=A.z.object({center:B,zoom:he}),tt=A.z.object({center:X.shape.center.optional(),zoom:X.shape.zoom.optional()}),ot=A.z.object({minZoom:X.shape.zoom.nullish(),maxZoom:X.shape.zoom.nullish(),bounds:x.nullish()}).nullable(),rt=A.z.object({bounds:x});var Xo=t("getViewport",de.z.undefined()),Yo=t("setViewport",tt),er=t("getViewportConstraints",de.z.undefined()),tr=t("setViewportConstraints",ot),or=t("fitViewportToBounds",rt),rr=p("onViewportMove"),nr=p("onViewportMoveEnd"),ar=p("onMapIdle"),nt={methods:[Yo,Xo,er,tr,or],listeners:[rr,nr,ar]};var ue=[et,nt,De,Ce,Ze,Ge,Ke,Je];function ir(r,l,I){let z=new Map;async function C(u){if(!cr.safeParse(u.data).success){I?.onUnknownMessage?.(u.data);return}let D=st.safeParse(u.data);if(!D.success){I?.onInvalidMessage?.(u.data,D.error),u.ports[0]?.postMessage(at(D.error.message));return}let{data:g}=D;if(g.type==="felt.ready")u.ports[0]?.postMessage(!0);else if(g.type==="felt.addListener"){if(g.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let k="options"in g.event?{options:"options"in g.event?g.event.options:void 0,handler:ee=>{u.ports[0]?.postMessage(ee)}}:{handler:ee=>{u.ports[0]?.postMessage(ee)}},Y=l.listeners[g.event.eventName](k);z.set(g.event.id,Y)}else if(g.type==="felt.removeListener")z.get(g.id)?.(),z.delete(g.id);else try{let k=l.methods[g.type],Y=await k(g.params);u.ports[0]?.postMessage(Y)}catch(k){u.ports[0]?.postMessage(at(k))}}return r.addEventListener("message",C),()=>{r.removeEventListener("message",C)}}var it={methods:ue.map(r=>r.methods??[]).flat(),listeners:ue.map(r=>r.listeners??[]).flat()},sr=y.z.discriminatedUnion("eventName",[y.z.strictObject({eventName:y.z.literal("")}),...it.listeners]),lr=y.z.strictObject({type:y.z.literal("felt.addListener"),event:sr}),pr=y.z.strictObject({type:y.z.literal("felt.removeListener"),id:y.z.string()}),mr=y.z.strictObject({type:y.z.literal("felt.ready")}),st=y.z.discriminatedUnion("type",[mr,lr,pr,...it.methods]),cr=y.z.object({type:y.z.enum(st.options.map(r=>r.shape.type.value))});function at(r){return{__error__:yr(r)}}function yr(r){return r instanceof Error?r.message:typeof r=="object"&&r!==null&&"message"in r?String(r.message):typeof r=="string"?r:"Unknown error"}0&&(module.exports={createMessageHandler});
1
+ "use strict";var oe=Object.defineProperty;var lt=Object.getOwnPropertyDescriptor;var pt=Object.getOwnPropertyNames;var mt=Object.prototype.hasOwnProperty;var ct=(r,l)=>{for(var T in l)oe(r,T,{get:l[T],enumerable:!0})},yt=(r,l,T,P)=>{if(l&&typeof l=="object"||typeof l=="function")for(let C of pt(l))!mt.call(r,C)&&C!==T&&oe(r,C,{get:()=>l[C],enumerable:!(P=lt(l,C))||P.enumerable});return r};var gt=r=>yt(oe({},"__esModule",{value:!0}),r);var fr={};ct(fr,{createMessageHandler:()=>mr});module.exports=gt(fr);var y=require("zod");var d=require("zod");var S=require("zod");function t(r,l){return S.z.strictObject({type:S.z.literal(r),params:l})}function h(r,l){return S.z.strictObject({eventName:S.z.literal(r),id:S.z.string(),options:l})}function p(r){return S.z.strictObject({eventName:S.z.literal(r),id:S.z.string()})}var s=require("zod"),J=s.z.number(),Z=s.z.number(),q=s.z.object({latitude:Z,longitude:J}),G=s.z.tuple([J,Z]),w=s.z.object({type:s.z.literal("Polygon"),coordinates:s.z.array(s.z.array(G).min(4).refine(r=>r[0][0]===r[r.length-1][0]&&r[0][1]===r[r.length-1][1],"The last point of each ring must be identical to the first"))}),F=s.z.object({type:s.z.literal("MultiPolygon"),coordinates:s.z.array(w.shape.coordinates)}),dt=s.z.object({type:s.z.literal("LineString"),coordinates:s.z.array(G).min(2)}),U=s.z.object({type:s.z.literal("MultiLineString"),coordinates:s.z.array(dt.shape.coordinates)}),fe=s.z.number().min(1).max(23),L=s.z.tuple([J,Z,J,Z]),E=s.z.object({show:s.z.array(s.z.string()).optional(),hide:s.z.array(s.z.string()).optional()}),ut=s.z.enum(["asc","desc"]),W=s.z.object({attribute:s.z.string(),direction:ut});var e=require("zod");var f=e.z.object({id:e.z.string(),groupId:e.z.string().nullable(),color:e.z.string(),name:e.z.string().nullable(),description:e.z.string().nullable(),attributes:e.z.record(e.z.string(),e.z.unknown()),interaction:e.z.enum(["default","locked"]).optional()}),$=e.z.object({imageUrl:e.z.string().nullable()}),ae=e.z.object({strokeOpacity:e.z.number(),strokeWidth:e.z.number(),strokeStyle:e.z.enum(["solid","dashed","dotted"])}),ht=e.z.enum(["meter","kilometer","foot","mile"]),_=f.extend($.shape).extend({type:e.z.literal("Place"),coordinates:G,symbol:e.z.string(),frame:e.z.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.z.boolean()}),O=f.extend($.shape).extend(ae.shape).extend({type:e.z.literal("Path"),coordinates:U.shape.coordinates,distanceMarker:e.z.boolean(),routingMode:e.z.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:e.z.boolean()}),j=f.extend($.shape).extend(ae.shape).extend({type:e.z.literal("Polygon"),coordinates:w.shape.coordinates,fillOpacity:e.z.number().min(0).max(1),areaMarker:e.z.boolean()}),Q=f.extend($.shape).extend(ae.shape).extend({type:e.z.literal("Circle"),center:G,radius:e.z.number(),radiusMarker:e.z.boolean(),radiusDisplayAngle:e.z.number(),radiusDisplayUnit:ht.nullable(),fillOpacity:e.z.number().min(0).max(1)}),R=f.extend({type:e.z.literal("Marker"),coordinates:U.shape.coordinates,opacity:e.z.number().min(0).max(1),size:e.z.number().min(0).max(100),zoom:e.z.number().min(0).max(23)}),N=f.extend({type:e.z.literal("Highlighter"),coordinates:F.shape.coordinates,renderHoles:e.z.boolean(),opacity:e.z.number().min(0).max(1)}),Se=e.z.object({position:G,rotation:e.z.number(),scale:e.z.number(),zoom:e.z.number().min(0).max(23),text:e.z.string(),align:e.z.enum(["left","center","right"]),style:e.z.enum(["italic","light","regular","caps"]),name:e.z.string()}),re=f.extend(Se.shape).extend({type:e.z.literal("Text")}),ne=f.extend(Se.shape).extend({type:e.z.literal("Note"),widthScale:e.z.number().min(0)}),A=f.extend({type:e.z.literal("Image"),coordinates:U.shape.coordinates,imageUrl:e.z.string(),opacity:e.z.number().min(0).max(1)}).omit({color:!0}),ft=f.extend({type:e.z.literal("Link"),coordinates:U.shape.coordinates,url:e.z.string()}),k={type:!0,coordinates:!0},x={id:!0},ie=_.partial().extend(_.pick(k).shape).omit(x),K=O.partial().extend(O.pick(k).shape).omit(x),se=j.partial().extend(j.pick(k).shape).omit(x),le=Q.partial().extend(Q.pick({type:!0,center:!0,radius:!0}).shape).omit(x),pe=R.partial().extend(R.pick(k).shape).omit(x),me=N.partial().extend(N.pick(k).shape).omit(x),ce=re.partial().omit({...x,name:!0,type:!0}).extend({type:e.z.literal("Text"),text:e.z.string()}),ye=ne.partial().omit({...x,name:!0,type:!0}).extend({type:e.z.literal("Note"),text:e.z.string()}),St=A.partial().extend(A.pick({...k,imageUrl:!0}).shape).omit(x),Le=e.z.discriminatedUnion("type",[ie,K,se,le,pe,me,St,ce,ye]);var Cr=O.omit({coordinates:!0}),Gr=j.omit({coordinates:!0});var Ir=R.omit({coordinates:!0}),Tr=N.omit({coordinates:!0});var Er=A.omit({coordinates:!0}),zr=ft.omit({coordinates:!0}),b={type:!0,id:!0},Lt=_.partial().extend(_.pick(b).shape),xt=O.partial().extend(O.pick(b).shape),bt=j.partial().extend(j.pick(b).shape),Mt=Q.partial().extend(Q.pick(b).shape),Ct=R.partial().extend(R.pick(b).shape),Gt=N.partial().extend(N.pick(b).shape),It=re.partial().extend(re.pick(b).shape).omit({name:!0}),Tt=ne.partial().extend(ne.pick(b).shape).omit({name:!0}),Et=A.partial().extend(A.pick(b).shape),xe=e.z.discriminatedUnion("type",[Lt,xt,bt,Mt,Ct,Gt,It,Tt,Et]),be=e.z.object({ids:e.z.array(e.z.string()).optional()}),Me=e.z.object({ids:e.z.array(e.z.string()).optional()});var zt=t("getElement",d.z.string()),Pt=t("getElementGeometry",d.z.string()),Ft=t("getElements",be.optional()),kt=t("getElementGroup",d.z.string()),Vt=t("getElementGroups",Me.optional()),vt=t("setElementGroupVisibility",E),wt=h("onElementChange",d.z.object({id:d.z.string()})),Ut=p("onElementCreate"),Ot=p("onElementCreateEnd"),jt=h("onElementDelete",d.z.object({id:d.z.string()})),Rt=h("onElementGroupChange",d.z.object({id:d.z.string()})),Nt=t("createElement",Le),At=t("updateElement",xe),Bt=t("deleteElement",d.z.string()),Ce={methods:[zt,Pt,Ft,kt,Vt,vt,Nt,At,Bt],listeners:[wt,Ut,Ot,jt,Rt]};var Dt=p("onPointerClick"),Ht=p("onPointerMove"),Ge={methods:null,listeners:[Dt,Ht]};var a=require("zod");var i=require("zod");var Jt=i.z.enum(["in","ni"]),Zt=i.z.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),jr=i.z.enum(["and","or"]),Ie=i.z.union([i.z.number(),i.z.string(),i.z.boolean(),i.z.null()]),Te=i.z.string().or(i.z.null()),qt=i.z.tuple([Te,Jt,i.z.array(Ie).or(i.z.null())]),Wt=i.z.tuple([Te,Zt,Ie]),ge=i.z.union([qt,Wt]),de=i.z.tuple([i.z.lazy(()=>i.z.union([de,ge,i.z.null(),i.z.boolean()])),i.z.enum(["and","or"]),i.z.lazy(()=>i.z.union([de,ge,i.z.null(),i.z.boolean()]))]),I=i.z.union([de,ge,i.z.null(),i.z.boolean()]),z=i.z.union([L,w,F,i.z.array(G)]);var n=require("zod");var Ee=n.z.enum(["avg","max","min","sum","median"]),_t=n.z.object({method:Ee,attribute:n.z.string()}),Qt=n.z.object({methods:n.z.array(n.z.union([Ee,n.z.literal("count")])),attribute:n.z.string().optional()}),ze=n.z.object({boundary:z.optional(),filters:I.optional(),aggregation:_t.optional()}),Pe=n.z.object({layerId:n.z.string(),attribute:n.z.string(),limit:n.z.number().optional(),boundary:z.optional(),filters:I.optional(),values:ze.optional()}),Ar=n.z.object({key:n.z.union([n.z.number(),n.z.string(),n.z.boolean()]),value:n.z.number().nullable()}),$t=n.z.object({type:n.z.literal("equal-intervals"),count:n.z.number()}),Kt=n.z.object({type:n.z.literal("time-interval"),interval:n.z.enum(["hour","day","week","month","year"])}),Fe=n.z.object({layerId:n.z.string(),attribute:n.z.string(),steps:n.z.union([$t,Kt,n.z.array(n.z.number())]),boundary:z.optional(),filters:I.optional(),values:ze.optional()}),Br=n.z.object({min:n.z.number(),max:n.z.number(),value:n.z.number()}),ke=n.z.object({layerId:n.z.string(),boundary:z.optional(),filters:I.optional(),aggregation:Qt});var o=require("zod");var Jr=o.z.enum(["processing","completed","failed","incomplete"]),Ve=o.z.object({type:o.z.literal("geoJsonUrl"),url:o.z.string().url(),refreshInterval:o.z.number().min(250).max(5*60*1e3).nullable().optional()}),ve=o.z.object({type:o.z.literal("geoJsonData"),data:o.z.object({}).passthrough().or(o.z.instanceof(ArrayBuffer))}),we=o.z.object({type:o.z.literal("geoJsonFile"),file:o.z.instanceof(File)}),Ue=o.z.object({id:o.z.string(),style:o.z.object({}).passthrough().optional(),shownInLegend:o.z.boolean().optional(),name:o.z.string().optional(),caption:o.z.string().optional(),description:o.z.string().optional(),bounds:L.optional(),source:o.z.union([Ve,ve,we]).optional()}),Oe=o.z.object({ids:o.z.array(o.z.string()).optional()}),je=o.z.object({ids:o.z.array(o.z.string()).optional()}),V=o.z.object({id:o.z.string(),layerId:o.z.string()}),Re=o.z.object({ids:V.array().optional(),layerIds:o.z.string().array().optional()}),Ne=o.z.object({layerIds:o.z.array(o.z.string()).optional(),areaQuery:o.z.union([o.z.object({coordinates:q}),o.z.object({boundary:L})]).optional()}),Xt=o.z.object({Point:o.z.object({}).passthrough().optional(),Line:o.z.object({}).passthrough().optional(),Polygon:o.z.object({}).passthrough().optional()}),Ae=o.z.object({source:o.z.union([Ve,ve,we]),name:o.z.string(),bounds:L.optional(),caption:o.z.string().optional(),description:o.z.string().optional(),geometryStyles:Xt.optional()});var Yt=t("getLayer",a.z.string()),eo=t("getLayers",Oe.optional()),to=t("setLayerVisibility",E),oo=h("onLayerChange",a.z.object({id:a.z.string()})),ro=t("setLayerStyle",a.z.object({id:a.z.string(),style:a.z.object({}).passthrough()})),no=t("setLayerLegendVisibility",E),ao=t("createLayersFromGeoJson",Ae),io=t("updateLayer",Ue),so=t("deleteLayer",a.z.string()),lo=t("getLayerGroup",a.z.string()),po=t("getLayerGroups",je.optional()),mo=t("setLayerGroupVisibility",E),co=t("setLayerGroupLegendVisibility",E),yo=h("onLayerGroupChange",a.z.object({id:a.z.string()})),go=t("getLegendItem",V),uo=t("getLegendItems",Re.optional()),ho=h("onLegendItemChange",V),fo=t("setLegendItemVisibility",a.z.object({show:V.array().optional(),hide:V.array().optional()})),So=t("getLayerFilters",a.z.string()),Lo=t("setLayerFilters",a.z.object({layerId:a.z.string(),filters:I,note:a.z.string().optional()})),xo=h("onLayerFiltersChange",a.z.object({layerId:a.z.string()})),bo=t("getLayerBoundaries",a.z.string()),Mo=t("setLayerBoundary",a.z.object({layerIds:a.z.array(a.z.string()),boundary:F.nullable()})),Co=h("onLayerBoundariesChange",a.z.object({layerId:a.z.string()})),Go=t("getRenderedFeatures",Ne.optional()),Io=t("getFeature",a.z.object({id:a.z.string().or(a.z.number()),layerId:a.z.string()})),To=t("getFeatures",a.z.object({layerId:a.z.string(),filters:I.optional(),sorting:W.optional(),boundary:z.optional(),search:a.z.string().optional(),pagination:a.z.string().optional().nullish()})),Eo=t("getGeoJsonFeature",a.z.object({id:a.z.string().or(a.z.number()),layerId:a.z.string()})),zo=t("getCategoryData",Pe),Po=t("getHistogramData",Fe),Fo=t("getAggregates",ke),ko=t("getLayerSchema",a.z.string()),Be={methods:[Yt,eo,to,ro,no,ao,so,io,lo,po,mo,co,go,uo,fo,So,Lo,bo,Mo,Go,Io,To,Eo,zo,Po,Fo,ko],listeners:[oo,yo,ho,xo,Co]};var De=require("zod");var Vo=t("getMapDetails",De.z.undefined()),He={methods:[Vo],listeners:[]};var B=require("zod");var M=require("zod"),Je=M.z.object({id:M.z.string().or(M.z.number()),layerId:M.z.string(),showPopup:M.z.boolean().optional(),fitViewport:M.z.boolean().or(M.z.object({maxZoom:M.z.number()})).optional()});var vo=t("getSelection",B.z.undefined()),wo=p("onSelectionChange"),Uo=t("selectFeature",Je),Oo=t("clearSelection",B.z.object({features:B.z.boolean().optional(),elements:B.z.boolean().optional()}).optional()),Ze={methods:[vo,Uo,Oo],listeners:[wo]};var $e=require("zod");var m=require("zod");var qe=["pin","line","route","polygon","circle","marker","highlighter","text","note"],We=m.z.enum([...qe,"link"]),_e=m.z.enum(qe),jo=ie.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:m.z.enum(["enter name","add another","select"])}).required(),Ro=K.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),No=K.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Ao=se.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Bo=le.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Do=pe.pick({color:!0,opacity:!0,size:!0}).required(),Ho=me.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:m.z.number().min(0).max(200)}).required(),Jo=ce.pick({color:!0,align:!0,style:!0}).required(),Zo=ye.pick({color:!0,align:!0,style:!0}).required(),Qe=m.z.discriminatedUnion("tool",[jo.partial().extend({tool:m.z.literal("pin")}),Ro.partial().extend({tool:m.z.literal("line")}),No.partial().extend({tool:m.z.literal("route")}),Ao.partial().extend({tool:m.z.literal("polygon")}),Bo.partial().extend({tool:m.z.literal("circle")}),Do.partial().extend({tool:m.z.literal("marker")}),Ho.partial().extend({tool:m.z.literal("highlighter")}),Jo.partial().extend({tool:m.z.literal("text")}),Zo.partial().extend({tool:m.z.literal("note")})]);var qo=t("setTool",We.nullable()),Wo=t("getTool",$e.z.undefined()),_o=p("onToolChange"),Qo=t("setToolSettings",Qe),$o=t("getToolSettings",_e),Ko=p("onToolSettingsChange"),Ke={methods:[qo,Wo,Qo,$o],listeners:[_o,Ko]};var X=require("zod");var c=require("zod"),Xe=c.z.object({showLegend:c.z.boolean().optional(),cooperativeGestures:c.z.boolean().optional(),fullScreenButton:c.z.boolean().optional(),geolocation:c.z.boolean().optional(),zoomControls:c.z.boolean().optional(),scaleBar:c.z.boolean().optional()}),Ye=c.z.object({featureSelectPanel:c.z.boolean().optional(),featureHoverPanel:c.z.boolean().optional(),elementSelectPanel:c.z.boolean().optional(),linkClickOpen:c.z.boolean().optional(),imageLightboxOpen:c.z.boolean().optional()});var Xo=t("updateUiControls",Xe),Yo=t("setOnMapInteractionsUi",Ye),er=t("showLayerDataTable",X.z.object({layerId:X.z.string(),sorting:W.optional()}).optional()),tr=t("hideLayerDataTable",X.z.undefined()),et={methods:[Xo,Yo,er,tr],listeners:null};var ue=require("zod");var D=require("zod");var Y=D.z.object({center:q,zoom:fe}),tt=D.z.object({center:Y.shape.center.optional(),zoom:Y.shape.zoom.optional()}),ot=D.z.object({minZoom:Y.shape.zoom.nullish(),maxZoom:Y.shape.zoom.nullish(),bounds:L.nullish()}).nullable(),rt=D.z.object({bounds:L});var or=t("getViewport",ue.z.undefined()),rr=t("setViewport",tt),nr=t("getViewportConstraints",ue.z.undefined()),ar=t("setViewportConstraints",ot),ir=t("fitViewportToBounds",rt),sr=p("onViewportMove"),lr=p("onViewportMoveEnd"),pr=p("onMapIdle"),nt={methods:[rr,or,nr,ar,ir],listeners:[sr,lr,pr]};var he=[et,nt,Be,Ce,Ze,Ge,Ke,He];function mr(r,l,T){let P=new Map;async function C(u){if(!ur.safeParse(u.data).success){T?.onUnknownMessage?.(u.data);return}let H=st.safeParse(u.data);if(!H.success){T?.onInvalidMessage?.(u.data,H.error),u.ports[0]?.postMessage(at(H.error.message));return}let{data:g}=H;if(g.type==="felt.ready")u.ports[0]?.postMessage(!0);else if(g.type==="felt.addListener"){if(g.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let v="options"in g.event?{options:"options"in g.event?g.event.options:void 0,handler:te=>{u.ports[0]?.postMessage(te)}}:{handler:te=>{u.ports[0]?.postMessage(te)}},ee=l.listeners[g.event.eventName](v);P.set(g.event.id,ee)}else if(g.type==="felt.removeListener")P.get(g.id)?.(),P.delete(g.id);else try{let v=l.methods[g.type],ee=await v(g.params);u.ports[0]?.postMessage(ee)}catch(v){u.ports[0]?.postMessage(at(v))}}return r.addEventListener("message",C),()=>{r.removeEventListener("message",C)}}var it={methods:he.map(r=>r.methods??[]).flat(),listeners:he.map(r=>r.listeners??[]).flat()},cr=y.z.discriminatedUnion("eventName",[y.z.strictObject({eventName:y.z.literal("")}),...it.listeners]),yr=y.z.strictObject({type:y.z.literal("felt.addListener"),event:cr}),gr=y.z.strictObject({type:y.z.literal("felt.removeListener"),id:y.z.string()}),dr=y.z.strictObject({type:y.z.literal("felt.ready")}),st=y.z.discriminatedUnion("type",[dr,yr,gr,...it.methods]),ur=y.z.object({type:y.z.enum(st.options.map(r=>r.shape.type.value))});function at(r){return{__error__:hr(r)}}function hr(r){return r instanceof Error?r.message:typeof r=="object"&&r!==null&&"message"in r?String(r.message):typeof r=="string"?r:"Unknown error"}0&&(module.exports={createMessageHandler});
@@ -1,5 +1,5 @@
1
1
  import { z, ZodError } from 'zod';
2
- import { O as zInfer, E as Element, G as GeoJsonGeometry, b as ElementGroup, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, M as MapInteractionEvent, L as Layer, j as LayerGroup, n as LegendItem, q as LayerFilters, s as LayerFeature, t as GeoJsonFeature, v as GetLayerCategoriesGroup, x as GetLayerHistogramBin, A as AggregationMethod, z as LayerSchema, i as LayerChangeCallbackParams, l as LayerGroupChangeCallbackParams, p as LegendItemChangeCallbackParams, aJ as FilterTernary, B as MapDetails, D as EntityNode, T as ToolType, K as ToolSettingsMap, N as ToolSettingsChangeEvent, V as ViewportState, R as ViewportConstraints, be as UnionToIntersection, bf as PromiseOrNot } from './types-CnYUajGG.cjs';
2
+ import { z as zInfer, E as Element, G as GeoJsonGeometry, b as ElementGroup, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, M as MapInteractionEvent, aa as Layer, ad as LayerGroup, ag as LegendItem, aE as LayerFilters, aF as LayerBoundaries, ap as LayerFeature, bh as UnwrapPromise, L as LayersController, aX as GeoJsonFeature, aK as GetLayerCategoriesGroup, aM as GetLayerHistogramBin, aI as AggregationMethod, ar as LayerSchema, ab as LayerChangeCallbackParams, ae as LayerGroupChangeCallbackParams, ah as LegendItemChangeCallbackParams, aB as FilterTernary, h as MapDetails, i as EntityNode, T as ToolType, j as ToolSettingsMap, k as ToolSettingsChangeEvent, V as ViewportState, n as ViewportConstraints, bi as UnionToIntersection, bj as PromiseOrNot } from './types-0PFYQhMS.cjs';
3
3
 
4
4
  type Method<TRequest extends {
5
5
  type: string;
@@ -2564,6 +2564,85 @@ declare const OnLayerFiltersChangeMessage: z.ZodObject<{
2564
2564
  id: string;
2565
2565
  eventName: "onLayerFiltersChange";
2566
2566
  }>;
2567
+ declare const GetLayerBoundariesMessage: z.ZodObject<{
2568
+ type: z.ZodLiteral<"getLayerBoundaries">;
2569
+ params: z.ZodString;
2570
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2571
+ params: string;
2572
+ type: "getLayerBoundaries";
2573
+ }, {
2574
+ params: string;
2575
+ type: "getLayerBoundaries";
2576
+ }>;
2577
+ declare const SetLayerBoundaryMessage: z.ZodObject<{
2578
+ type: z.ZodLiteral<"setLayerBoundary">;
2579
+ params: z.ZodObject<{
2580
+ layerIds: z.ZodArray<z.ZodString, "many">;
2581
+ boundary: z.ZodNullable<z.ZodObject<{
2582
+ type: z.ZodLiteral<"MultiPolygon">;
2583
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
2584
+ }, "strip", z.ZodTypeAny, {
2585
+ type: "MultiPolygon";
2586
+ coordinates: [number, number][][][];
2587
+ }, {
2588
+ type: "MultiPolygon";
2589
+ coordinates: [number, number][][][];
2590
+ }>>;
2591
+ }, "strip", z.ZodTypeAny, {
2592
+ boundary: {
2593
+ type: "MultiPolygon";
2594
+ coordinates: [number, number][][][];
2595
+ } | null;
2596
+ layerIds: string[];
2597
+ }, {
2598
+ boundary: {
2599
+ type: "MultiPolygon";
2600
+ coordinates: [number, number][][][];
2601
+ } | null;
2602
+ layerIds: string[];
2603
+ }>;
2604
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2605
+ params: {
2606
+ boundary: {
2607
+ type: "MultiPolygon";
2608
+ coordinates: [number, number][][][];
2609
+ } | null;
2610
+ layerIds: string[];
2611
+ };
2612
+ type: "setLayerBoundary";
2613
+ }, {
2614
+ params: {
2615
+ boundary: {
2616
+ type: "MultiPolygon";
2617
+ coordinates: [number, number][][][];
2618
+ } | null;
2619
+ layerIds: string[];
2620
+ };
2621
+ type: "setLayerBoundary";
2622
+ }>;
2623
+ declare const OnLayerBoundariesChangeMessage: z.ZodObject<{
2624
+ eventName: z.ZodLiteral<"onLayerBoundariesChange">;
2625
+ id: z.ZodString;
2626
+ options: z.ZodObject<{
2627
+ layerId: z.ZodString;
2628
+ }, "strip", z.ZodTypeAny, {
2629
+ layerId: string;
2630
+ }, {
2631
+ layerId: string;
2632
+ }>;
2633
+ }, "strict", z.ZodTypeAny, {
2634
+ options: {
2635
+ layerId: string;
2636
+ };
2637
+ id: string;
2638
+ eventName: "onLayerBoundariesChange";
2639
+ }, {
2640
+ options: {
2641
+ layerId: string;
2642
+ };
2643
+ id: string;
2644
+ eventName: "onLayerBoundariesChange";
2645
+ }>;
2567
2646
  declare const GetRenderedFeaturesMessage: z.ZodObject<{
2568
2647
  type: z.ZodLiteral<"getRenderedFeatures">;
2569
2648
  params: z.ZodOptional<z.ZodObject<{
@@ -2669,6 +2748,114 @@ declare const GetFeatureMessage: z.ZodObject<{
2669
2748
  };
2670
2749
  type: "getFeature";
2671
2750
  }>;
2751
+ declare const GetFeaturesMessage: z.ZodObject<{
2752
+ type: z.ZodLiteral<"getFeatures">;
2753
+ params: z.ZodObject<{
2754
+ layerId: z.ZodString;
2755
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2756
+ sorting: z.ZodOptional<z.ZodObject<{
2757
+ attribute: z.ZodString;
2758
+ direction: z.ZodEnum<["asc", "desc"]>;
2759
+ }, "strip", z.ZodTypeAny, {
2760
+ attribute: string;
2761
+ direction: "asc" | "desc";
2762
+ }, {
2763
+ attribute: string;
2764
+ direction: "asc" | "desc";
2765
+ }>>;
2766
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2767
+ type: z.ZodLiteral<"Polygon">;
2768
+ coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
2769
+ }, "strip", z.ZodTypeAny, {
2770
+ type: "Polygon";
2771
+ coordinates: [number, number][][];
2772
+ }, {
2773
+ type: "Polygon";
2774
+ coordinates: [number, number][][];
2775
+ }>, z.ZodObject<{
2776
+ type: z.ZodLiteral<"MultiPolygon">;
2777
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
2778
+ }, "strip", z.ZodTypeAny, {
2779
+ type: "MultiPolygon";
2780
+ coordinates: [number, number][][][];
2781
+ }, {
2782
+ type: "MultiPolygon";
2783
+ coordinates: [number, number][][][];
2784
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2785
+ search: z.ZodOptional<z.ZodString>;
2786
+ pagination: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
2787
+ }, "strip", z.ZodTypeAny, {
2788
+ layerId: string;
2789
+ search?: string | undefined;
2790
+ boundary?: [number, number, number, number] | [number, number][] | {
2791
+ type: "Polygon";
2792
+ coordinates: [number, number][][];
2793
+ } | {
2794
+ type: "MultiPolygon";
2795
+ coordinates: [number, number][][][];
2796
+ } | undefined;
2797
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2798
+ sorting?: {
2799
+ attribute: string;
2800
+ direction: "asc" | "desc";
2801
+ } | undefined;
2802
+ pagination?: string | null | undefined;
2803
+ }, {
2804
+ layerId: string;
2805
+ search?: string | undefined;
2806
+ boundary?: [number, number, number, number] | [number, number][] | {
2807
+ type: "Polygon";
2808
+ coordinates: [number, number][][];
2809
+ } | {
2810
+ type: "MultiPolygon";
2811
+ coordinates: [number, number][][][];
2812
+ } | undefined;
2813
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2814
+ sorting?: {
2815
+ attribute: string;
2816
+ direction: "asc" | "desc";
2817
+ } | undefined;
2818
+ pagination?: string | null | undefined;
2819
+ }>;
2820
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2821
+ params: {
2822
+ layerId: string;
2823
+ search?: string | undefined;
2824
+ boundary?: [number, number, number, number] | [number, number][] | {
2825
+ type: "Polygon";
2826
+ coordinates: [number, number][][];
2827
+ } | {
2828
+ type: "MultiPolygon";
2829
+ coordinates: [number, number][][][];
2830
+ } | undefined;
2831
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2832
+ sorting?: {
2833
+ attribute: string;
2834
+ direction: "asc" | "desc";
2835
+ } | undefined;
2836
+ pagination?: string | null | undefined;
2837
+ };
2838
+ type: "getFeatures";
2839
+ }, {
2840
+ params: {
2841
+ layerId: string;
2842
+ search?: string | undefined;
2843
+ boundary?: [number, number, number, number] | [number, number][] | {
2844
+ type: "Polygon";
2845
+ coordinates: [number, number][][];
2846
+ } | {
2847
+ type: "MultiPolygon";
2848
+ coordinates: [number, number][][][];
2849
+ } | undefined;
2850
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2851
+ sorting?: {
2852
+ attribute: string;
2853
+ direction: "asc" | "desc";
2854
+ } | undefined;
2855
+ pagination?: string | null | undefined;
2856
+ };
2857
+ type: "getFeatures";
2858
+ }>;
2672
2859
  declare const GetGeoJsonFeatureMessage: z.ZodObject<{
2673
2860
  type: z.ZodLiteral<"getGeoJsonFeature">;
2674
2861
  params: z.ZodObject<{
@@ -3258,8 +3445,11 @@ type LayersSchema = {
3258
3445
  setLegendItemVisibility: Method<zInfer<typeof SetLegendItemVisibilityMessage>, void>;
3259
3446
  getLayerFilters: Method<zInfer<typeof GetFiltersMessage>, LayerFilters | null>;
3260
3447
  setLayerFilters: Method<zInfer<typeof SetFiltersMessage>, void>;
3448
+ getLayerBoundaries: Method<zInfer<typeof GetLayerBoundariesMessage>, LayerBoundaries | null>;
3449
+ setLayerBoundary: Method<zInfer<typeof SetLayerBoundaryMessage>, void>;
3261
3450
  getRenderedFeatures: Method<zInfer<typeof GetRenderedFeaturesMessage>, Array<LayerFeature>>;
3262
3451
  getFeature: Method<zInfer<typeof GetFeatureMessage>, LayerFeature | null>;
3452
+ getFeatures: Method<zInfer<typeof GetFeaturesMessage>, UnwrapPromise<ReturnType<LayersController["getFeatures"]>>>;
3263
3453
  getGeoJsonFeature: Method<zInfer<typeof GetGeoJsonFeatureMessage>, GeoJsonFeature | null>;
3264
3454
  getCategoryData: Method<zInfer<typeof GetLayerCategoriesMessage>, Array<GetLayerCategoriesGroup>>;
3265
3455
  getHistogramData: Method<zInfer<typeof GetLayerHistogramMessage>, Array<GetLayerHistogramBin>>;
@@ -3271,6 +3461,7 @@ type LayersSchema = {
3271
3461
  onLayerGroupChange: Listener<zInfer<typeof OnLayerGroupChangeMessage.shape.options>, LayerGroupChangeCallbackParams>;
3272
3462
  onLegendItemChange: Listener<zInfer<typeof OnLegendItemChangeMessage.shape.options>, LegendItemChangeCallbackParams>;
3273
3463
  onLayerFiltersChange: Listener<zInfer<typeof OnLayerFiltersChangeMessage.shape.options>, LayerFilters>;
3464
+ onLayerBoundariesChange: Listener<zInfer<typeof OnLayerBoundariesChangeMessage.shape.options>, LayerBoundaries | null>;
3274
3465
  };
3275
3466
  };
3276
3467
 
package/dist/handler.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z, ZodError } from 'zod';
2
- import { O as zInfer, E as Element, G as GeoJsonGeometry, b as ElementGroup, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, M as MapInteractionEvent, L as Layer, j as LayerGroup, n as LegendItem, q as LayerFilters, s as LayerFeature, t as GeoJsonFeature, v as GetLayerCategoriesGroup, x as GetLayerHistogramBin, A as AggregationMethod, z as LayerSchema, i as LayerChangeCallbackParams, l as LayerGroupChangeCallbackParams, p as LegendItemChangeCallbackParams, aJ as FilterTernary, B as MapDetails, D as EntityNode, T as ToolType, K as ToolSettingsMap, N as ToolSettingsChangeEvent, V as ViewportState, R as ViewportConstraints, be as UnionToIntersection, bf as PromiseOrNot } from './types-CnYUajGG.js';
2
+ import { z as zInfer, E as Element, G as GeoJsonGeometry, b as ElementGroup, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, M as MapInteractionEvent, aa as Layer, ad as LayerGroup, ag as LegendItem, aE as LayerFilters, aF as LayerBoundaries, ap as LayerFeature, bh as UnwrapPromise, L as LayersController, aX as GeoJsonFeature, aK as GetLayerCategoriesGroup, aM as GetLayerHistogramBin, aI as AggregationMethod, ar as LayerSchema, ab as LayerChangeCallbackParams, ae as LayerGroupChangeCallbackParams, ah as LegendItemChangeCallbackParams, aB as FilterTernary, h as MapDetails, i as EntityNode, T as ToolType, j as ToolSettingsMap, k as ToolSettingsChangeEvent, V as ViewportState, n as ViewportConstraints, bi as UnionToIntersection, bj as PromiseOrNot } from './types-0PFYQhMS.js';
3
3
 
4
4
  type Method<TRequest extends {
5
5
  type: string;
@@ -2564,6 +2564,85 @@ declare const OnLayerFiltersChangeMessage: z.ZodObject<{
2564
2564
  id: string;
2565
2565
  eventName: "onLayerFiltersChange";
2566
2566
  }>;
2567
+ declare const GetLayerBoundariesMessage: z.ZodObject<{
2568
+ type: z.ZodLiteral<"getLayerBoundaries">;
2569
+ params: z.ZodString;
2570
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2571
+ params: string;
2572
+ type: "getLayerBoundaries";
2573
+ }, {
2574
+ params: string;
2575
+ type: "getLayerBoundaries";
2576
+ }>;
2577
+ declare const SetLayerBoundaryMessage: z.ZodObject<{
2578
+ type: z.ZodLiteral<"setLayerBoundary">;
2579
+ params: z.ZodObject<{
2580
+ layerIds: z.ZodArray<z.ZodString, "many">;
2581
+ boundary: z.ZodNullable<z.ZodObject<{
2582
+ type: z.ZodLiteral<"MultiPolygon">;
2583
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
2584
+ }, "strip", z.ZodTypeAny, {
2585
+ type: "MultiPolygon";
2586
+ coordinates: [number, number][][][];
2587
+ }, {
2588
+ type: "MultiPolygon";
2589
+ coordinates: [number, number][][][];
2590
+ }>>;
2591
+ }, "strip", z.ZodTypeAny, {
2592
+ boundary: {
2593
+ type: "MultiPolygon";
2594
+ coordinates: [number, number][][][];
2595
+ } | null;
2596
+ layerIds: string[];
2597
+ }, {
2598
+ boundary: {
2599
+ type: "MultiPolygon";
2600
+ coordinates: [number, number][][][];
2601
+ } | null;
2602
+ layerIds: string[];
2603
+ }>;
2604
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2605
+ params: {
2606
+ boundary: {
2607
+ type: "MultiPolygon";
2608
+ coordinates: [number, number][][][];
2609
+ } | null;
2610
+ layerIds: string[];
2611
+ };
2612
+ type: "setLayerBoundary";
2613
+ }, {
2614
+ params: {
2615
+ boundary: {
2616
+ type: "MultiPolygon";
2617
+ coordinates: [number, number][][][];
2618
+ } | null;
2619
+ layerIds: string[];
2620
+ };
2621
+ type: "setLayerBoundary";
2622
+ }>;
2623
+ declare const OnLayerBoundariesChangeMessage: z.ZodObject<{
2624
+ eventName: z.ZodLiteral<"onLayerBoundariesChange">;
2625
+ id: z.ZodString;
2626
+ options: z.ZodObject<{
2627
+ layerId: z.ZodString;
2628
+ }, "strip", z.ZodTypeAny, {
2629
+ layerId: string;
2630
+ }, {
2631
+ layerId: string;
2632
+ }>;
2633
+ }, "strict", z.ZodTypeAny, {
2634
+ options: {
2635
+ layerId: string;
2636
+ };
2637
+ id: string;
2638
+ eventName: "onLayerBoundariesChange";
2639
+ }, {
2640
+ options: {
2641
+ layerId: string;
2642
+ };
2643
+ id: string;
2644
+ eventName: "onLayerBoundariesChange";
2645
+ }>;
2567
2646
  declare const GetRenderedFeaturesMessage: z.ZodObject<{
2568
2647
  type: z.ZodLiteral<"getRenderedFeatures">;
2569
2648
  params: z.ZodOptional<z.ZodObject<{
@@ -2669,6 +2748,114 @@ declare const GetFeatureMessage: z.ZodObject<{
2669
2748
  };
2670
2749
  type: "getFeature";
2671
2750
  }>;
2751
+ declare const GetFeaturesMessage: z.ZodObject<{
2752
+ type: z.ZodLiteral<"getFeatures">;
2753
+ params: z.ZodObject<{
2754
+ layerId: z.ZodString;
2755
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2756
+ sorting: z.ZodOptional<z.ZodObject<{
2757
+ attribute: z.ZodString;
2758
+ direction: z.ZodEnum<["asc", "desc"]>;
2759
+ }, "strip", z.ZodTypeAny, {
2760
+ attribute: string;
2761
+ direction: "asc" | "desc";
2762
+ }, {
2763
+ attribute: string;
2764
+ direction: "asc" | "desc";
2765
+ }>>;
2766
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2767
+ type: z.ZodLiteral<"Polygon">;
2768
+ coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
2769
+ }, "strip", z.ZodTypeAny, {
2770
+ type: "Polygon";
2771
+ coordinates: [number, number][][];
2772
+ }, {
2773
+ type: "Polygon";
2774
+ coordinates: [number, number][][];
2775
+ }>, z.ZodObject<{
2776
+ type: z.ZodLiteral<"MultiPolygon">;
2777
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
2778
+ }, "strip", z.ZodTypeAny, {
2779
+ type: "MultiPolygon";
2780
+ coordinates: [number, number][][][];
2781
+ }, {
2782
+ type: "MultiPolygon";
2783
+ coordinates: [number, number][][][];
2784
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2785
+ search: z.ZodOptional<z.ZodString>;
2786
+ pagination: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
2787
+ }, "strip", z.ZodTypeAny, {
2788
+ layerId: string;
2789
+ search?: string | undefined;
2790
+ boundary?: [number, number, number, number] | [number, number][] | {
2791
+ type: "Polygon";
2792
+ coordinates: [number, number][][];
2793
+ } | {
2794
+ type: "MultiPolygon";
2795
+ coordinates: [number, number][][][];
2796
+ } | undefined;
2797
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2798
+ sorting?: {
2799
+ attribute: string;
2800
+ direction: "asc" | "desc";
2801
+ } | undefined;
2802
+ pagination?: string | null | undefined;
2803
+ }, {
2804
+ layerId: string;
2805
+ search?: string | undefined;
2806
+ boundary?: [number, number, number, number] | [number, number][] | {
2807
+ type: "Polygon";
2808
+ coordinates: [number, number][][];
2809
+ } | {
2810
+ type: "MultiPolygon";
2811
+ coordinates: [number, number][][][];
2812
+ } | undefined;
2813
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2814
+ sorting?: {
2815
+ attribute: string;
2816
+ direction: "asc" | "desc";
2817
+ } | undefined;
2818
+ pagination?: string | null | undefined;
2819
+ }>;
2820
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2821
+ params: {
2822
+ layerId: string;
2823
+ search?: string | undefined;
2824
+ boundary?: [number, number, number, number] | [number, number][] | {
2825
+ type: "Polygon";
2826
+ coordinates: [number, number][][];
2827
+ } | {
2828
+ type: "MultiPolygon";
2829
+ coordinates: [number, number][][][];
2830
+ } | undefined;
2831
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2832
+ sorting?: {
2833
+ attribute: string;
2834
+ direction: "asc" | "desc";
2835
+ } | undefined;
2836
+ pagination?: string | null | undefined;
2837
+ };
2838
+ type: "getFeatures";
2839
+ }, {
2840
+ params: {
2841
+ layerId: string;
2842
+ search?: string | undefined;
2843
+ boundary?: [number, number, number, number] | [number, number][] | {
2844
+ type: "Polygon";
2845
+ coordinates: [number, number][][];
2846
+ } | {
2847
+ type: "MultiPolygon";
2848
+ coordinates: [number, number][][][];
2849
+ } | undefined;
2850
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2851
+ sorting?: {
2852
+ attribute: string;
2853
+ direction: "asc" | "desc";
2854
+ } | undefined;
2855
+ pagination?: string | null | undefined;
2856
+ };
2857
+ type: "getFeatures";
2858
+ }>;
2672
2859
  declare const GetGeoJsonFeatureMessage: z.ZodObject<{
2673
2860
  type: z.ZodLiteral<"getGeoJsonFeature">;
2674
2861
  params: z.ZodObject<{
@@ -3258,8 +3445,11 @@ type LayersSchema = {
3258
3445
  setLegendItemVisibility: Method<zInfer<typeof SetLegendItemVisibilityMessage>, void>;
3259
3446
  getLayerFilters: Method<zInfer<typeof GetFiltersMessage>, LayerFilters | null>;
3260
3447
  setLayerFilters: Method<zInfer<typeof SetFiltersMessage>, void>;
3448
+ getLayerBoundaries: Method<zInfer<typeof GetLayerBoundariesMessage>, LayerBoundaries | null>;
3449
+ setLayerBoundary: Method<zInfer<typeof SetLayerBoundaryMessage>, void>;
3261
3450
  getRenderedFeatures: Method<zInfer<typeof GetRenderedFeaturesMessage>, Array<LayerFeature>>;
3262
3451
  getFeature: Method<zInfer<typeof GetFeatureMessage>, LayerFeature | null>;
3452
+ getFeatures: Method<zInfer<typeof GetFeaturesMessage>, UnwrapPromise<ReturnType<LayersController["getFeatures"]>>>;
3263
3453
  getGeoJsonFeature: Method<zInfer<typeof GetGeoJsonFeatureMessage>, GeoJsonFeature | null>;
3264
3454
  getCategoryData: Method<zInfer<typeof GetLayerCategoriesMessage>, Array<GetLayerCategoriesGroup>>;
3265
3455
  getHistogramData: Method<zInfer<typeof GetLayerHistogramMessage>, Array<GetLayerHistogramBin>>;
@@ -3271,6 +3461,7 @@ type LayersSchema = {
3271
3461
  onLayerGroupChange: Listener<zInfer<typeof OnLayerGroupChangeMessage.shape.options>, LayerGroupChangeCallbackParams>;
3272
3462
  onLegendItemChange: Listener<zInfer<typeof OnLegendItemChangeMessage.shape.options>, LegendItemChangeCallbackParams>;
3273
3463
  onLayerFiltersChange: Listener<zInfer<typeof OnLayerFiltersChangeMessage.shape.options>, LayerFilters>;
3464
+ onLayerBoundariesChange: Listener<zInfer<typeof OnLayerBoundariesChangeMessage.shape.options>, LayerBoundaries | null>;
3274
3465
  };
3275
3466
  };
3276
3467
 
package/dist/handler.js CHANGED
@@ -1 +1 @@
1
- import{z as y}from"zod";import{z as u}from"zod";import{z as L}from"zod";function t(n,I){return L.strictObject({type:L.literal(n),params:I})}function h(n,I){return L.strictObject({eventName:L.literal(n),id:L.string(),options:I})}function l(n){return L.strictObject({eventName:L.literal(n),id:L.string()})}import{z as i}from"zod";var j=i.number(),R=i.number(),N=i.object({latitude:R,longitude:j}),b=i.tuple([j,R]),P=i.object({type:i.literal("Polygon"),coordinates:i.array(i.array(b).min(4).refine(n=>n[0][0]===n[n.length-1][0]&&n[0][1]===n[n.length-1][1],"The last point of each ring must be identical to the first"))}),A=i.object({type:i.literal("MultiPolygon"),coordinates:i.array(P.shape.coordinates)}),at=i.object({type:i.literal("LineString"),coordinates:i.array(b).min(2)}),F=i.object({type:i.literal("MultiLineString"),coordinates:i.array(at.shape.coordinates)}),de=i.number().min(1).max(23),f=i.tuple([j,R,j,R]),C=i.object({show:i.array(i.string()).optional(),hide:i.array(i.string()).optional()}),it=i.enum(["asc","desc"]),ue=i.object({attribute:i.string(),direction:it});import{z as e}from"zod";var d=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()}),J=e.object({imageUrl:e.string().nullable()}),ee=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),st=e.enum(["meter","kilometer","foot","mile"]),D=d.extend(J.shape).extend({type:e.literal("Place"),coordinates:b,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),k=d.extend(J.shape).extend(ee.shape).extend({type:e.literal("Path"),coordinates:F.shape.coordinates,distanceMarker:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:e.boolean()}),V=d.extend(J.shape).extend(ee.shape).extend({type:e.literal("Polygon"),coordinates:P.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),H=d.extend(J.shape).extend(ee.shape).extend({type:e.literal("Circle"),center:b,radius:e.number(),radiusMarker:e.boolean(),radiusDisplayAngle:e.number(),radiusDisplayUnit:st.nullable(),fillOpacity:e.number().min(0).max(1)}),v=d.extend({type:e.literal("Marker"),coordinates:F.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),w=d.extend({type:e.literal("Highlighter"),coordinates:A.shape.coordinates,renderHoles:e.boolean(),opacity:e.number().min(0).max(1)}),he=e.object({position:b,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),X=d.extend(he.shape).extend({type:e.literal("Text")}),Y=d.extend(he.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),U=d.extend({type:e.literal("Image"),coordinates:F.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),lt=d.extend({type:e.literal("Link"),coordinates:F.shape.coordinates,url:e.string()}),T={type:!0,coordinates:!0},S={id:!0},te=D.partial().extend(D.pick(T).shape).omit(S),B=k.partial().extend(k.pick(T).shape).omit(S),oe=V.partial().extend(V.pick(T).shape).omit(S),re=H.partial().extend(H.pick({type:!0,center:!0,radius:!0}).shape).omit(S),ne=v.partial().extend(v.pick(T).shape).omit(S),ae=w.partial().extend(w.pick(T).shape).omit(S),ie=X.partial().omit({...S,name:!0,type:!0}).extend({type:e.literal("Text"),text:e.string()}),se=Y.partial().omit({...S,name:!0,type:!0}).extend({type:e.literal("Note"),text:e.string()}),pt=U.partial().extend(U.pick({...T,imageUrl:!0}).shape).omit(S),fe=e.discriminatedUnion("type",[te,B,oe,re,ne,ae,pt,ie,se]);var yr=k.omit({coordinates:!0}),gr=V.omit({coordinates:!0});var dr=v.omit({coordinates:!0}),ur=w.omit({coordinates:!0});var hr=U.omit({coordinates:!0}),fr=lt.omit({coordinates:!0}),x={type:!0,id:!0},mt=D.partial().extend(D.pick(x).shape),ct=k.partial().extend(k.pick(x).shape),yt=V.partial().extend(V.pick(x).shape),gt=H.partial().extend(H.pick(x).shape),dt=v.partial().extend(v.pick(x).shape),ut=w.partial().extend(w.pick(x).shape),ht=X.partial().extend(X.pick(x).shape).omit({name:!0}),ft=Y.partial().extend(Y.pick(x).shape).omit({name:!0}),St=U.partial().extend(U.pick(x).shape),Se=e.discriminatedUnion("type",[mt,ct,yt,gt,dt,ut,ht,ft,St]),xe=e.object({ids:e.array(e.string()).optional()}),Le=e.object({ids:e.array(e.string()).optional()});var xt=t("getElement",u.string()),Lt=t("getElementGeometry",u.string()),bt=t("getElements",xe.optional()),Mt=t("getElementGroup",u.string()),Ct=t("getElementGroups",Le.optional()),Gt=t("setElementGroupVisibility",C),It=h("onElementChange",u.object({id:u.string()})),Tt=l("onElementCreate"),Et=l("onElementCreateEnd"),zt=h("onElementDelete",u.object({id:u.string()})),Pt=h("onElementGroupChange",u.object({id:u.string()})),Ft=t("createElement",fe),kt=t("updateElement",Se),Vt=t("deleteElement",u.string()),be={methods:[xt,Lt,bt,Mt,Ct,Gt,Ft,kt,Vt],listeners:[It,Tt,Et,zt,Pt]};var vt=l("onPointerClick"),wt=l("onPointerMove"),Me={methods:null,listeners:[vt,wt]};import{z as s}from"zod";import{z as a}from"zod";var Ut=a.enum(["in","ni"]),Ot=a.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Er=a.enum(["and","or"]),Ce=a.union([a.number(),a.string(),a.boolean(),a.null()]),Ge=a.string().or(a.null()),jt=a.tuple([Ge,Ut,a.array(Ce).or(a.null())]),Rt=a.tuple([Ge,Ot,Ce]),le=a.union([jt,Rt]),pe=a.tuple([a.lazy(()=>a.union([pe,le,a.null(),a.boolean()])),a.enum(["and","or"]),a.lazy(()=>a.union([pe,le,a.null(),a.boolean()]))]),G=a.union([pe,le,a.null(),a.boolean()]);import{z as r}from"zod";var Ie=r.enum(["avg","max","min","sum","median"]),Nt=r.object({method:Ie,attribute:r.string()}),At=r.object({methods:r.array(r.union([Ie,r.literal("count")])),attribute:r.string().optional()}),Z=r.union([f,P,A,r.array(b)]),Te=r.object({boundary:Z.optional(),filters:G.optional(),aggregation:Nt.optional()}),Ee=r.object({layerId:r.string(),attribute:r.string(),limit:r.number().optional(),boundary:Z.optional(),filters:G.optional(),values:Te.optional()}),Vr=r.object({key:r.union([r.number(),r.string(),r.boolean()]),value:r.number().nullable()}),Dt=r.object({type:r.literal("equal-intervals"),count:r.number()}),Ht=r.object({type:r.literal("time-interval"),interval:r.enum(["hour","day","week","month","year"])}),ze=r.object({layerId:r.string(),attribute:r.string(),steps:r.union([Dt,Ht,r.array(r.number())]),boundary:Z.optional(),filters:G.optional(),values:Te.optional()}),vr=r.object({min:r.number(),max:r.number(),value:r.number()}),Pe=r.object({layerId:r.string(),boundary:Z.optional(),filters:G.optional(),aggregation:At});import{z as o}from"zod";var jr=o.enum(["processing","completed","failed","incomplete"]),Fe=o.object({type:o.literal("geoJsonUrl"),url:o.string().url(),refreshInterval:o.number().min(250).max(5*60*1e3).nullable().optional()}),ke=o.object({type:o.literal("geoJsonData"),data:o.object({}).passthrough().or(o.instanceof(ArrayBuffer))}),Ve=o.object({type:o.literal("geoJsonFile"),file:o.instanceof(File)}),ve=o.object({id:o.string(),style:o.object({}).passthrough().optional(),shownInLegend:o.boolean().optional(),name:o.string().optional(),caption:o.string().optional(),description:o.string().optional(),bounds:f.optional(),source:o.union([Fe,ke,Ve]).optional()}),we=o.object({ids:o.array(o.string()).optional()}),Ue=o.object({ids:o.array(o.string()).optional()}),E=o.object({id:o.string(),layerId:o.string()}),Oe=o.object({ids:E.array().optional(),layerIds:o.string().array().optional()}),je=o.object({layerIds:o.array(o.string()).optional(),areaQuery:o.union([o.object({coordinates:N}),o.object({boundary:f})]).optional()}),Jt=o.object({Point:o.object({}).passthrough().optional(),Line:o.object({}).passthrough().optional(),Polygon:o.object({}).passthrough().optional()}),Re=o.object({source:o.union([Fe,ke,Ve]),name:o.string(),bounds:f.optional(),caption:o.string().optional(),description:o.string().optional(),geometryStyles:Jt.optional()});var Bt=t("getLayer",s.string()),Zt=t("getLayers",we.optional()),qt=t("setLayerVisibility",C),Wt=h("onLayerChange",s.object({id:s.string()})),_t=t("setLayerStyle",s.object({id:s.string(),style:s.object({}).passthrough()})),Qt=t("setLayerLegendVisibility",C),$t=t("createLayersFromGeoJson",Re),Kt=t("updateLayer",ve),Xt=t("deleteLayer",s.string()),Yt=t("getLayerGroup",s.string()),eo=t("getLayerGroups",Ue.optional()),to=t("setLayerGroupVisibility",C),oo=t("setLayerGroupLegendVisibility",C),ro=h("onLayerGroupChange",s.object({id:s.string()})),no=t("getLegendItem",E),ao=t("getLegendItems",Oe.optional()),io=h("onLegendItemChange",E),so=t("setLegendItemVisibility",s.object({show:E.array().optional(),hide:E.array().optional()})),lo=t("getLayerFilters",s.string()),po=t("setLayerFilters",s.object({layerId:s.string(),filters:G,note:s.string().optional()})),mo=h("onLayerFiltersChange",s.object({layerId:s.string()})),co=t("getRenderedFeatures",je.optional()),yo=t("getFeature",s.object({id:s.string().or(s.number()),layerId:s.string()})),go=t("getGeoJsonFeature",s.object({id:s.string().or(s.number()),layerId:s.string()})),uo=t("getCategoryData",Ee),ho=t("getHistogramData",ze),fo=t("getAggregates",Pe),So=t("getLayerSchema",s.string()),Ne={methods:[Bt,Zt,qt,_t,Qt,$t,Xt,Kt,Yt,eo,to,oo,no,ao,so,lo,po,co,yo,go,uo,ho,fo,So],listeners:[Wt,ro,io,mo]};import{z as xo}from"zod";var Lo=t("getMapDetails",xo.undefined()),Ae={methods:[Lo],listeners:[]};import{z as q}from"zod";import{z as M}from"zod";var De=M.object({id:M.string().or(M.number()),layerId:M.string(),showPopup:M.boolean().optional(),fitViewport:M.boolean().or(M.object({maxZoom:M.number()})).optional()});var bo=t("getSelection",q.undefined()),Mo=l("onSelectionChange"),Co=t("selectFeature",De),Go=t("clearSelection",q.object({features:q.boolean().optional(),elements:q.boolean().optional()}).optional()),He={methods:[bo,Co,Go],listeners:[Mo]};import{z as wo}from"zod";import{z as p}from"zod";var Je=["pin","line","route","polygon","circle","marker","highlighter","text","note"],Be=p.enum([...Je,"link"]),Ze=p.enum(Je),Io=te.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:p.enum(["enter name","add another","select"])}).required(),To=B.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),Eo=B.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),zo=oe.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Po=re.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Fo=ne.pick({color:!0,opacity:!0,size:!0}).required(),ko=ae.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:p.number().min(0).max(200)}).required(),Vo=ie.pick({color:!0,align:!0,style:!0}).required(),vo=se.pick({color:!0,align:!0,style:!0}).required(),qe=p.discriminatedUnion("tool",[Io.partial().extend({tool:p.literal("pin")}),To.partial().extend({tool:p.literal("line")}),Eo.partial().extend({tool:p.literal("route")}),zo.partial().extend({tool:p.literal("polygon")}),Po.partial().extend({tool:p.literal("circle")}),Fo.partial().extend({tool:p.literal("marker")}),ko.partial().extend({tool:p.literal("highlighter")}),Vo.partial().extend({tool:p.literal("text")}),vo.partial().extend({tool:p.literal("note")})]);var Uo=t("setTool",Be.nullable()),Oo=t("getTool",wo.undefined()),jo=l("onToolChange"),Ro=t("setToolSettings",qe),No=t("getToolSettings",Ze),Ao=l("onToolSettingsChange"),We={methods:[Uo,Oo,Ro,No],listeners:[jo,Ao]};import{z as me}from"zod";import{z as c}from"zod";var _e=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()}),Qe=c.object({featureSelectPanel:c.boolean().optional(),featureHoverPanel:c.boolean().optional(),elementSelectPanel:c.boolean().optional(),linkClickOpen:c.boolean().optional(),imageLightboxOpen:c.boolean().optional()});var Do=t("updateUiControls",_e),Ho=t("setOnMapInteractionsUi",Qe),Jo=t("showLayerDataTable",me.object({layerId:me.string(),sorting:ue.optional()}).optional()),Bo=t("hideLayerDataTable",me.undefined()),$e={methods:[Do,Ho,Jo,Bo],listeners:null};import{z as et}from"zod";import{z as _}from"zod";var W=_.object({center:N,zoom:de}),Ke=_.object({center:W.shape.center.optional(),zoom:W.shape.zoom.optional()}),Xe=_.object({minZoom:W.shape.zoom.nullish(),maxZoom:W.shape.zoom.nullish(),bounds:f.nullish()}).nullable(),Ye=_.object({bounds:f});var Zo=t("getViewport",et.undefined()),qo=t("setViewport",Ke),Wo=t("getViewportConstraints",et.undefined()),_o=t("setViewportConstraints",Xe),Qo=t("fitViewportToBounds",Ye),$o=l("onViewportMove"),Ko=l("onViewportMoveEnd"),Xo=l("onMapIdle"),tt={methods:[qo,Zo,Wo,_o,Qo],listeners:[$o,Ko,Xo]};var ce=[$e,tt,Ne,be,He,Me,We,Ae];function Un(n,I,ye){let Q=new Map;async function ge(g){if(!rr.safeParse(g.data).success){ye?.onUnknownMessage?.(g.data);return}let O=nt.safeParse(g.data);if(!O.success){ye?.onInvalidMessage?.(g.data,O.error),g.ports[0]?.postMessage(ot(O.error.message));return}let{data:m}=O;if(m.type==="felt.ready")g.ports[0]?.postMessage(!0);else if(m.type==="felt.addListener"){if(m.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let z="options"in m.event?{options:"options"in m.event?m.event.options:void 0,handler:K=>{g.ports[0]?.postMessage(K)}}:{handler:K=>{g.ports[0]?.postMessage(K)}},$=I.listeners[m.event.eventName](z);Q.set(m.event.id,$)}else if(m.type==="felt.removeListener")Q.get(m.id)?.(),Q.delete(m.id);else try{let z=I.methods[m.type],$=await z(m.params);g.ports[0]?.postMessage($)}catch(z){g.ports[0]?.postMessage(ot(z))}}return n.addEventListener("message",ge),()=>{n.removeEventListener("message",ge)}}var rt={methods:ce.map(n=>n.methods??[]).flat(),listeners:ce.map(n=>n.listeners??[]).flat()},Yo=y.discriminatedUnion("eventName",[y.strictObject({eventName:y.literal("")}),...rt.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")}),nt=y.discriminatedUnion("type",[or,er,tr,...rt.methods]),rr=y.object({type:y.enum(nt.options.map(n=>n.shape.type.value))});function ot(n){return{__error__:nr(n)}}function nr(n){return n instanceof Error?n.message:typeof n=="object"&&n!==null&&"message"in n?String(n.message):typeof n=="string"?n:"Unknown error"}export{Un as createMessageHandler};
1
+ import{z as y}from"zod";import{z as h}from"zod";import{z as x}from"zod";function t(a,T){return x.strictObject({type:x.literal(a),params:T})}function d(a,T){return x.strictObject({eventName:x.literal(a),id:x.string(),options:T})}function l(a){return x.strictObject({eventName:x.literal(a),id:x.string()})}import{z as s}from"zod";var N=s.number(),A=s.number(),B=s.object({latitude:A,longitude:N}),b=s.tuple([N,A]),k=s.object({type:s.literal("Polygon"),coordinates:s.array(s.array(b).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"))}),E=s.object({type:s.literal("MultiPolygon"),coordinates:s.array(k.shape.coordinates)}),at=s.object({type:s.literal("LineString"),coordinates:s.array(b).min(2)}),V=s.object({type:s.literal("MultiLineString"),coordinates:s.array(at.shape.coordinates)}),ue=s.number().min(1).max(23),f=s.tuple([N,A,N,A]),G=s.object({show:s.array(s.string()).optional(),hide:s.array(s.string()).optional()}),it=s.enum(["asc","desc"]),D=s.object({attribute:s.string(),direction:it});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"])}),st=e.enum(["meter","kilometer","foot","mile"]),H=u.extend(Z.shape).extend({type:e.literal("Place"),coordinates:b,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:V.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:k.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:b,radius:e.number(),radiusMarker:e.boolean(),radiusDisplayAngle:e.number(),radiusDisplayUnit:st.nullable(),fillOpacity:e.number().min(0).max(1)}),U=u.extend({type:e.literal("Marker"),coordinates:V.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:E.shape.coordinates,renderHoles:e.boolean(),opacity:e.number().min(0).max(1)}),he=e.object({position:b,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),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:V.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),lt=u.extend({type:e.literal("Link"),coordinates:V.shape.coordinates,url:e.string()}),z={type:!0,coordinates:!0},S={id:!0},oe=H.partial().extend(H.pick(z).shape).omit(S),q=v.partial().extend(v.pick(z).shape).omit(S),re=w.partial().extend(w.pick(z).shape).omit(S),ne=J.partial().extend(J.pick({type:!0,center:!0,radius:!0}).shape).omit(S),ae=U.partial().extend(U.pick(z).shape).omit(S),ie=O.partial().extend(O.pick(z).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()}),pt=j.partial().extend(j.pick({...z,imageUrl:!0}).shape).omit(S),fe=e.discriminatedUnion("type",[oe,q,re,ne,ae,ie,pt,se,le]);var hr=v.omit({coordinates:!0}),fr=w.omit({coordinates:!0});var Sr=U.omit({coordinates:!0}),Lr=O.omit({coordinates:!0});var xr=j.omit({coordinates:!0}),br=lt.omit({coordinates:!0}),L={type:!0,id:!0},mt=H.partial().extend(H.pick(L).shape),ct=v.partial().extend(v.pick(L).shape),yt=w.partial().extend(w.pick(L).shape),gt=J.partial().extend(J.pick(L).shape),dt=U.partial().extend(U.pick(L).shape),ut=O.partial().extend(O.pick(L).shape),ht=Y.partial().extend(Y.pick(L).shape).omit({name:!0}),ft=ee.partial().extend(ee.pick(L).shape).omit({name:!0}),St=j.partial().extend(j.pick(L).shape),Se=e.discriminatedUnion("type",[mt,ct,yt,gt,dt,ut,ht,ft,St]),Le=e.object({ids:e.array(e.string()).optional()}),xe=e.object({ids:e.array(e.string()).optional()});var Lt=t("getElement",h.string()),xt=t("getElementGeometry",h.string()),bt=t("getElements",Le.optional()),Mt=t("getElementGroup",h.string()),Ct=t("getElementGroups",xe.optional()),Gt=t("setElementGroupVisibility",G),It=d("onElementChange",h.object({id:h.string()})),Tt=l("onElementCreate"),Et=l("onElementCreateEnd"),zt=d("onElementDelete",h.object({id:h.string()})),Pt=d("onElementGroupChange",h.object({id:h.string()})),Ft=t("createElement",fe),kt=t("updateElement",Se),Vt=t("deleteElement",h.string()),be={methods:[Lt,xt,bt,Mt,Ct,Gt,Ft,kt,Vt],listeners:[It,Tt,Et,zt,Pt]};var vt=l("onPointerClick"),wt=l("onPointerMove"),Me={methods:null,listeners:[vt,wt]};import{z as n}from"zod";import{z as i}from"zod";var Ut=i.enum(["in","ni"]),Ot=i.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Vr=i.enum(["and","or"]),Ce=i.union([i.number(),i.string(),i.boolean(),i.null()]),Ge=i.string().or(i.null()),jt=i.tuple([Ge,Ut,i.array(Ce).or(i.null())]),Rt=i.tuple([Ge,Ot,Ce]),pe=i.union([jt,Rt]),me=i.tuple([i.lazy(()=>i.union([me,pe,i.null(),i.boolean()])),i.enum(["and","or"]),i.lazy(()=>i.union([me,pe,i.null(),i.boolean()]))]),M=i.union([me,pe,i.null(),i.boolean()]),I=i.union([f,k,E,i.array(b)]);import{z as r}from"zod";var Ie=r.enum(["avg","max","min","sum","median"]),Nt=r.object({method:Ie,attribute:r.string()}),At=r.object({methods:r.array(r.union([Ie,r.literal("count")])),attribute:r.string().optional()}),Te=r.object({boundary:I.optional(),filters:M.optional(),aggregation:Nt.optional()}),Ee=r.object({layerId:r.string(),attribute:r.string(),limit:r.number().optional(),boundary:I.optional(),filters:M.optional(),values:Te.optional()}),Or=r.object({key:r.union([r.number(),r.string(),r.boolean()]),value:r.number().nullable()}),Bt=r.object({type:r.literal("equal-intervals"),count:r.number()}),Dt=r.object({type:r.literal("time-interval"),interval:r.enum(["hour","day","week","month","year"])}),ze=r.object({layerId:r.string(),attribute:r.string(),steps:r.union([Bt,Dt,r.array(r.number())]),boundary:I.optional(),filters:M.optional(),values:Te.optional()}),jr=r.object({min:r.number(),max:r.number(),value:r.number()}),Pe=r.object({layerId:r.string(),boundary:I.optional(),filters:M.optional(),aggregation:At});import{z as o}from"zod";var Br=o.enum(["processing","completed","failed","incomplete"]),Fe=o.object({type:o.literal("geoJsonUrl"),url:o.string().url(),refreshInterval:o.number().min(250).max(5*60*1e3).nullable().optional()}),ke=o.object({type:o.literal("geoJsonData"),data:o.object({}).passthrough().or(o.instanceof(ArrayBuffer))}),Ve=o.object({type:o.literal("geoJsonFile"),file:o.instanceof(File)}),ve=o.object({id:o.string(),style:o.object({}).passthrough().optional(),shownInLegend:o.boolean().optional(),name:o.string().optional(),caption:o.string().optional(),description:o.string().optional(),bounds:f.optional(),source:o.union([Fe,ke,Ve]).optional()}),we=o.object({ids:o.array(o.string()).optional()}),Ue=o.object({ids:o.array(o.string()).optional()}),P=o.object({id:o.string(),layerId:o.string()}),Oe=o.object({ids:P.array().optional(),layerIds:o.string().array().optional()}),je=o.object({layerIds:o.array(o.string()).optional(),areaQuery:o.union([o.object({coordinates:B}),o.object({boundary:f})]).optional()}),Ht=o.object({Point:o.object({}).passthrough().optional(),Line:o.object({}).passthrough().optional(),Polygon:o.object({}).passthrough().optional()}),Re=o.object({source:o.union([Fe,ke,Ve]),name:o.string(),bounds:f.optional(),caption:o.string().optional(),description:o.string().optional(),geometryStyles:Ht.optional()});var Jt=t("getLayer",n.string()),Zt=t("getLayers",we.optional()),qt=t("setLayerVisibility",G),Wt=d("onLayerChange",n.object({id:n.string()})),_t=t("setLayerStyle",n.object({id:n.string(),style:n.object({}).passthrough()})),Qt=t("setLayerLegendVisibility",G),$t=t("createLayersFromGeoJson",Re),Kt=t("updateLayer",ve),Xt=t("deleteLayer",n.string()),Yt=t("getLayerGroup",n.string()),eo=t("getLayerGroups",Ue.optional()),to=t("setLayerGroupVisibility",G),oo=t("setLayerGroupLegendVisibility",G),ro=d("onLayerGroupChange",n.object({id:n.string()})),no=t("getLegendItem",P),ao=t("getLegendItems",Oe.optional()),io=d("onLegendItemChange",P),so=t("setLegendItemVisibility",n.object({show:P.array().optional(),hide:P.array().optional()})),lo=t("getLayerFilters",n.string()),po=t("setLayerFilters",n.object({layerId:n.string(),filters:M,note:n.string().optional()})),mo=d("onLayerFiltersChange",n.object({layerId:n.string()})),co=t("getLayerBoundaries",n.string()),yo=t("setLayerBoundary",n.object({layerIds:n.array(n.string()),boundary:E.nullable()})),go=d("onLayerBoundariesChange",n.object({layerId:n.string()})),uo=t("getRenderedFeatures",je.optional()),ho=t("getFeature",n.object({id:n.string().or(n.number()),layerId:n.string()})),fo=t("getFeatures",n.object({layerId:n.string(),filters:M.optional(),sorting:D.optional(),boundary:I.optional(),search:n.string().optional(),pagination:n.string().optional().nullish()})),So=t("getGeoJsonFeature",n.object({id:n.string().or(n.number()),layerId:n.string()})),Lo=t("getCategoryData",Ee),xo=t("getHistogramData",ze),bo=t("getAggregates",Pe),Mo=t("getLayerSchema",n.string()),Ne={methods:[Jt,Zt,qt,_t,Qt,$t,Xt,Kt,Yt,eo,to,oo,no,ao,so,lo,po,co,yo,uo,ho,fo,So,Lo,xo,bo,Mo],listeners:[Wt,ro,io,mo,go]};import{z as Co}from"zod";var Go=t("getMapDetails",Co.undefined()),Ae={methods:[Go],listeners:[]};import{z as W}from"zod";import{z as C}from"zod";var Be=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 Io=t("getSelection",W.undefined()),To=l("onSelectionChange"),Eo=t("selectFeature",Be),zo=t("clearSelection",W.object({features:W.boolean().optional(),elements:W.boolean().optional()}).optional()),De={methods:[Io,Eo,zo],listeners:[To]};import{z as Ro}from"zod";import{z as p}from"zod";var He=["pin","line","route","polygon","circle","marker","highlighter","text","note"],Je=p.enum([...He,"link"]),Ze=p.enum(He),Po=oe.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:p.enum(["enter name","add another","select"])}).required(),Fo=q.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),ko=q.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Vo=re.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),vo=ne.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),wo=ae.pick({color:!0,opacity:!0,size:!0}).required(),Uo=ie.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:p.number().min(0).max(200)}).required(),Oo=se.pick({color:!0,align:!0,style:!0}).required(),jo=le.pick({color:!0,align:!0,style:!0}).required(),qe=p.discriminatedUnion("tool",[Po.partial().extend({tool:p.literal("pin")}),Fo.partial().extend({tool:p.literal("line")}),ko.partial().extend({tool:p.literal("route")}),Vo.partial().extend({tool:p.literal("polygon")}),vo.partial().extend({tool:p.literal("circle")}),wo.partial().extend({tool:p.literal("marker")}),Uo.partial().extend({tool:p.literal("highlighter")}),Oo.partial().extend({tool:p.literal("text")}),jo.partial().extend({tool:p.literal("note")})]);var No=t("setTool",Je.nullable()),Ao=t("getTool",Ro.undefined()),Bo=l("onToolChange"),Do=t("setToolSettings",qe),Ho=t("getToolSettings",Ze),Jo=l("onToolSettingsChange"),We={methods:[No,Ao,Do,Ho],listeners:[Bo,Jo]};import{z as ce}from"zod";import{z as c}from"zod";var _e=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()}),Qe=c.object({featureSelectPanel:c.boolean().optional(),featureHoverPanel:c.boolean().optional(),elementSelectPanel:c.boolean().optional(),linkClickOpen:c.boolean().optional(),imageLightboxOpen:c.boolean().optional()});var Zo=t("updateUiControls",_e),qo=t("setOnMapInteractionsUi",Qe),Wo=t("showLayerDataTable",ce.object({layerId:ce.string(),sorting:D.optional()}).optional()),_o=t("hideLayerDataTable",ce.undefined()),$e={methods:[Zo,qo,Wo,_o],listeners:null};import{z as et}from"zod";import{z as Q}from"zod";var _=Q.object({center:B,zoom:ue}),Ke=Q.object({center:_.shape.center.optional(),zoom:_.shape.zoom.optional()}),Xe=Q.object({minZoom:_.shape.zoom.nullish(),maxZoom:_.shape.zoom.nullish(),bounds:f.nullish()}).nullable(),Ye=Q.object({bounds:f});var Qo=t("getViewport",et.undefined()),$o=t("setViewport",Ke),Ko=t("getViewportConstraints",et.undefined()),Xo=t("setViewportConstraints",Xe),Yo=t("fitViewportToBounds",Ye),er=l("onViewportMove"),tr=l("onViewportMoveEnd"),or=l("onMapIdle"),tt={methods:[$o,Qo,Ko,Xo,Yo],listeners:[er,tr,or]};var ye=[$e,tt,Ne,be,De,Me,We,Ae];function Nn(a,T,ge){let $=new Map;async function de(g){if(!sr.safeParse(g.data).success){ge?.onUnknownMessage?.(g.data);return}let R=nt.safeParse(g.data);if(!R.success){ge?.onInvalidMessage?.(g.data,R.error),g.ports[0]?.postMessage(ot(R.error.message));return}let{data:m}=R;if(m.type==="felt.ready")g.ports[0]?.postMessage(!0);else if(m.type==="felt.addListener"){if(m.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let F="options"in m.event?{options:"options"in m.event?m.event.options:void 0,handler:X=>{g.ports[0]?.postMessage(X)}}:{handler:X=>{g.ports[0]?.postMessage(X)}},K=T.listeners[m.event.eventName](F);$.set(m.event.id,K)}else if(m.type==="felt.removeListener")$.get(m.id)?.(),$.delete(m.id);else try{let F=T.methods[m.type],K=await F(m.params);g.ports[0]?.postMessage(K)}catch(F){g.ports[0]?.postMessage(ot(F))}}return a.addEventListener("message",de),()=>{a.removeEventListener("message",de)}}var rt={methods:ye.map(a=>a.methods??[]).flat(),listeners:ye.map(a=>a.listeners??[]).flat()},rr=y.discriminatedUnion("eventName",[y.strictObject({eventName:y.literal("")}),...rt.listeners]),nr=y.strictObject({type:y.literal("felt.addListener"),event:rr}),ar=y.strictObject({type:y.literal("felt.removeListener"),id:y.string()}),ir=y.strictObject({type:y.literal("felt.ready")}),nt=y.discriminatedUnion("type",[ir,nr,ar,...rt.methods]),sr=y.object({type:y.enum(nt.options.map(a=>a.shape.type.value))});function ot(a){return{__error__:lr(a)}}function lr(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{Nn as createMessageHandler};