@feltmaps/js-sdk 1.7.0-next.4 → 1.7.0-next.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/handler.js CHANGED
@@ -1 +1 @@
1
- import{z as d}from"zod";import{z as M}from"zod";import{z as V}from"zod";function t(i,N){return V.strictObject({type:V.literal(i),params:N})}function L(i,N){return V.strictObject({eventName:V.literal(i),id:V.string(),options:N})}function y(i){return V.strictObject({eventName:V.literal(i),id:V.string()})}import{z as m}from"zod";var ae=m.number(),ie=m.number(),se=m.object({latitude:ie,longitude:ae}),B=m.tuple([ae,ie]),Q=m.object({type:m.literal("Polygon"),coordinates:m.array(m.array(B).min(4).refine(i=>i[0][0]===i[i.length-1][0]&&i[0][1]===i[i.length-1][1],"The last point of each ring must be identical to the first"))}),le=m.object({type:m.literal("MultiPolygon"),coordinates:m.array(Q.shape.coordinates)}),Zt=m.object({type:m.literal("LineString"),coordinates:m.array(B).min(2)}),$=m.object({type:m.literal("MultiLineString"),coordinates:m.array(Zt.shape.coordinates)}),We=m.number().min(1).max(23),G=m.tuple([ae,ie,ae,ie]),R=m.object({show:m.array(m.string()).optional(),hide:m.array(m.string()).optional()}),Wt=m.enum(["asc","desc"]),me=m.object({attribute:m.string(),direction:Wt});import{z as e}from"zod";var C=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()}),de=e.object({imageUrl:e.string().nullable()}),Me=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),_t=e.enum(["meter","kilometer","foot","mile"]),ce=C.extend(de.shape).extend({type:e.literal("Place"),coordinates:B,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),K=C.extend(de.shape).extend(Me.shape).extend({type:e.literal("Path"),coordinates:$.shape.coordinates,distanceMarker:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:e.boolean()}),X=C.extend(de.shape).extend(Me.shape).extend({type:e.literal("Polygon"),coordinates:Q.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),pe=C.extend(de.shape).extend(Me.shape).extend({type:e.literal("Circle"),center:B,radius:e.number(),radiusMarker:e.boolean(),radiusDisplayAngle:e.number(),radiusDisplayUnit:_t.nullable(),fillOpacity:e.number().min(0).max(1)}),Y=C.extend({type:e.literal("Marker"),coordinates:$.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),ee=C.extend({type:e.literal("Highlighter"),coordinates:le.shape.coordinates,renderHoles:e.boolean(),opacity:e.number().min(0).max(1)}),_e=e.object({position:B,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),Le=C.extend(_e.shape).extend({type:e.literal("Text")}),Ce=C.extend(_e.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),te=C.extend({type:e.literal("Image"),coordinates:$.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),Qt=C.extend({type:e.literal("Link"),coordinates:$.shape.coordinates,url:e.string()}),A={type:!0,coordinates:!0},T={id:!0},Ee=ce.partial().extend(ce.pick(A).shape).omit(T),ye=K.partial().extend(K.pick(A).shape).omit(T),Ie=X.partial().extend(X.pick(A).shape).omit(T),Pe=pe.partial().extend(pe.pick({type:!0,center:!0,radius:!0}).shape).omit(T),Ge=Y.partial().extend(Y.pick(A).shape).omit(T),Te=ee.partial().extend(ee.pick(A).shape).omit(T),ze=Le.partial().omit({...T,name:!0,type:!0}).extend({type:e.literal("Text"),text:e.string()}),Fe=Ce.partial().omit({...T,name:!0,type:!0}).extend({type:e.literal("Note"),text:e.string()}),$t=te.partial().extend(te.pick({...A,imageUrl:!0}).shape).omit(T),Qe=e.discriminatedUnion("type",[Ee,ye,Ie,Pe,Ge,Te,$t,ze,Fe]);var hn=K.omit({coordinates:!0}),fn=X.omit({coordinates:!0});var Sn=Y.omit({coordinates:!0}),xn=ee.omit({coordinates:!0});var bn=te.omit({coordinates:!0}),Ln=Qt.omit({coordinates:!0}),z={type:!0,id:!0},Kt=ce.partial().extend(ce.pick(z).shape),Xt=K.partial().extend(K.pick(z).shape),Yt=X.partial().extend(X.pick(z).shape),eo=pe.partial().extend(pe.pick(z).shape),to=Y.partial().extend(Y.pick(z).shape),oo=ee.partial().extend(ee.pick(z).shape),ro=Le.partial().extend(Le.pick(z).shape).omit({name:!0}),no=Ce.partial().extend(Ce.pick(z).shape).omit({name:!0}),ao=te.partial().extend(te.pick(z).shape),$e=e.discriminatedUnion("type",[Kt,Xt,Yt,eo,to,oo,ro,no,ao]),Ke=e.object({ids:e.array(e.string()).optional()}),Xe=e.object({ids:e.array(e.string()).optional()});var io=t("getElement",M.string()),so=t("getElementGeometry",M.string()),lo=t("getElements",Ke.optional()),mo=t("getElementGroup",M.string()),co=t("getElementGroups",Xe.optional()),po=t("setElementGroupVisibility",R),yo=L("onElementChange",M.object({id:M.string()})),go=y("onElementCreate"),uo=y("onElementCreateEnd"),ho=L("onElementDelete",M.object({id:M.string()})),fo=L("onElementGroupChange",M.object({id:M.string()})),So=t("createElement",Qe),xo=t("updateElement",$e),bo=t("deleteElement",M.string()),Ye={methods:[io,so,lo,mo,co,po,So,xo,bo],listeners:[yo,go,uo,ho,fo]};var Lo=y("onPointerClick"),Co=y("onPointerMove"),et={methods:null,listeners:[Lo,Co]};import{z as a}from"zod";import{z as s}from"zod";var Mo=s.enum(["in","ni"]),Eo=s.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),kn=s.enum(["and","or"]),tt=s.union([s.number(),s.string(),s.boolean(),s.null()]),ot=s.string().or(s.null()),Io=s.tuple([ot,Mo,s.array(tt).or(s.null())]),Po=s.tuple([ot,Eo,tt]),Ue=s.union([Io,Po]),ke=s.tuple([s.lazy(()=>s.union([ke,Ue,s.null(),s.boolean()])),s.enum(["and","or"]),s.lazy(()=>s.union([ke,Ue,s.null(),s.boolean()]))]),F=s.union([ke,Ue,s.null(),s.boolean()]),U=s.union([G,Q,le,s.array(B)]);import{z as r}from"zod";var rt=r.enum(["avg","max","min","sum","median"]),nt=r.enum(["avg","max","min","sum","count"]),Go=r.object({method:rt,attribute:r.string()}),To=r.object({methods:r.array(r.union([rt,r.literal("count")])),attribute:r.string().optional()}),at=r.object({boundary:U.optional(),filters:F.optional(),aggregation:Go.optional()}),it=r.object({layerId:r.string(),attribute:r.string(),limit:r.number().optional(),boundary:U.optional(),filters:F.optional(),values:at.optional()}),Bn=r.object({key:r.union([r.number(),r.string(),r.boolean()]),value:r.number().nullable()}),zo=r.object({type:r.literal("equal-intervals"),count:r.number()}),Fo=r.object({type:r.literal("time-interval"),interval:r.enum(["hour","day","week","month","year"])}),st=r.object({layerId:r.string(),attribute:r.string(),steps:r.union([zo,Fo,r.array(r.number())]),boundary:U.optional(),filters:F.optional(),values:at.optional()}),wn=r.object({min:r.number(),max:r.number(),value:r.number()}),lt=r.object({layerId:r.string(),boundary:U.optional(),filters:F.optional(),aggregation:To}),mt=r.enum(["h3"]),Uo=r.object({type:mt,resolution:r.number(),method:nt.extract(["count"])}),ko=r.object({type:mt,resolution:r.number(),method:nt.exclude(["count"]),attribute:r.string()}),vo=r.union([Uo,ko]),ct=r.object({layerId:r.string(),boundary:U.optional(),filters:F.optional(),gridConfig:vo});import{z as n}from"zod";var Nn=n.enum(["processing","completed","failed","incomplete"]),pt=n.object({type:n.literal("geoJsonUrl"),url:n.string().url(),refreshInterval:n.number().min(250).max(5*60*1e3).nullable().optional()}),dt=n.object({type:n.literal("geoJsonData"),data:n.object({}).passthrough().or(n.instanceof(ArrayBuffer))}),yt=n.object({type:n.literal("geoJsonFile"),file:n.instanceof(File)}),gt=n.object({id:n.string(),style:n.object({}).passthrough().optional(),shownInLegend:n.boolean().optional(),name:n.string().optional(),caption:n.string().optional(),description:n.string().optional(),bounds:G.optional(),source:n.union([pt,dt,yt]).optional()}),ut=n.object({ids:n.array(n.string()).optional()}),ht=n.object({ids:n.array(n.string()).optional()}),q=n.object({id:n.string(),layerId:n.string()}),ft=n.object({ids:q.array().optional(),layerIds:n.string().array().optional()}),St=n.object({layerIds:n.array(n.string()).optional(),areaQuery:n.union([n.object({coordinates:se}),n.object({boundary:G})]).optional()}),jo=n.object({Point:n.object({}).passthrough().optional(),Line:n.object({}).passthrough().optional(),Polygon:n.object({}).passthrough().optional()}),xt=n.object({source:n.union([pt,dt,yt]),name:n.string(),bounds:G.optional(),caption:n.string().optional(),description:n.string().optional(),geometryStyles:jo.optional()});var Vo=t("getLayer",a.string()),Bo=t("getLayers",ut.optional()),wo=t("setLayerVisibility",R),Oo=L("onLayerChange",a.object({id:a.string()})),Ro=t("setLayerStyle",a.object({id:a.string(),style:a.object({}).passthrough()})),Do=t("setLayerLegendVisibility",R),No=t("createLayersFromGeoJson",xt),Ao=t("updateLayer",gt),qo=t("deleteLayer",a.string()),Ho=t("getLayerGroup",a.string()),Jo=t("getLayerGroups",ht.optional()),Zo=t("setLayerGroupVisibility",R),Wo=t("setLayerGroupLegendVisibility",R),_o=L("onLayerGroupChange",a.object({id:a.string()})),Qo=t("getLegendItem",q),$o=t("getLegendItems",ft.optional()),Ko=L("onLegendItemChange",q),Xo=t("setLegendItemVisibility",a.object({show:q.array().optional(),hide:q.array().optional()})),Yo=t("getLayerFilters",a.string()),er=t("setLayerFilters",a.object({layerId:a.string(),filters:F,note:a.string().optional()})),tr=L("onLayerFiltersChange",a.object({layerId:a.string()})),or=t("getLayerBoundaries",a.string()),rr=t("setLayerBoundary",a.object({layerIds:a.array(a.string()),boundary:U.nullable()})),nr=L("onLayerBoundariesChange",a.object({layerId:a.string()})),ar=t("getRenderedFeatures",St.optional()),ir=t("getFeature",a.object({id:a.string().or(a.number()),layerId:a.string()})),sr=t("getFeatures",a.object({layerId:a.string(),filters:F.optional(),sorting:me.optional(),boundary:U.optional(),search:a.string().optional(),pagination:a.string().optional().nullish()})),lr=t("getGeoJsonFeature",a.object({id:a.string().or(a.number()),layerId:a.string()})),mr=t("getCategoryData",it),cr=t("getHistogramData",st),pr=t("getAggregates",lt),dr=t("getPrecomputedAggregates",ct),yr=t("getLayerSchema",a.string()),bt={methods:[Vo,Bo,wo,Ro,Do,No,qo,Ao,Ho,Jo,Zo,Wo,Qo,$o,Xo,Yo,er,or,rr,ar,ir,sr,lr,mr,cr,pr,dr,yr],listeners:[Oo,_o,Ko,tr,nr]};import{z as gr}from"zod";var ur=t("getMapDetails",gr.undefined()),Lt={methods:[ur],listeners:[]};import{z as ge}from"zod";import{z as w}from"zod";var Ct=w.object({id:w.string().or(w.number()),layerId:w.string(),showPopup:w.boolean().optional(),fitViewport:w.boolean().or(w.object({maxZoom:w.number()})).optional()});var hr=t("getSelection",ge.undefined()),fr=y("onSelectionChange"),Sr=t("selectFeature",Ct),xr=t("clearSelection",ge.object({features:ge.boolean().optional(),elements:ge.boolean().optional()}).optional()),Mt={methods:[hr,Sr,xr],listeners:[fr]};import{z as Fr}from"zod";import{z as g}from"zod";var Et=["circle","highlighter","line","marker","note","pin","polygon","route","text"],br=[...Et,"link"],It=g.enum(br),Pt=g.enum(Et),Lr=Ee.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:g.enum(["enter name","add another","select"])}).required(),Cr=ye.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),Mr=ye.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Er=Ie.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Ir=Pe.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Pr=Ge.pick({color:!0,opacity:!0,size:!0}).required(),Gr=Te.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:g.number().min(0).max(200)}).required(),Tr=ze.pick({color:!0,align:!0,style:!0}).required(),zr=Fe.pick({color:!0,align:!0,style:!0}).required(),Gt=g.discriminatedUnion("tool",[Lr.partial().extend({tool:g.literal("pin")}),Cr.partial().extend({tool:g.literal("line")}),Mr.partial().extend({tool:g.literal("route")}),Er.partial().extend({tool:g.literal("polygon")}),Ir.partial().extend({tool:g.literal("circle")}),Pr.partial().extend({tool:g.literal("marker")}),Gr.partial().extend({tool:g.literal("highlighter")}),Tr.partial().extend({tool:g.literal("text")}),zr.partial().extend({tool:g.literal("note")})]);var Ur=t("setTool",It.nullable()),kr=t("getTool",Fr.undefined()),vr=y("onToolChange"),jr=t("setToolSettings",Gt),Vr=t("getToolSettings",Pt),Br=y("onToolSettingsChange"),Tt={methods:[Ur,kr,jr,Vr],listeners:[vr,Br]};import{z as ue}from"zod";import{z as o}from"zod";import{z as D}from"zod";var oe=D.union([D.object({after:D.string()}),D.object({before:D.string()}),D.object({at:D.enum(["start","end"])})]);import{z as je}from"zod";import{z as h}from"zod";var zt=h.object({onCreate:h.function().args().returns(h.void()).optional(),onDestroy:h.function().args().returns(h.void()).optional()}),wr=h.object({onCreate:h.string().optional(),onDestroy:h.string().optional()}),f=zt.extend({id:h.string()}),S=zt.extend({id:h.string().optional()}),x=wr.extend({id:h.string().optional()}),ve=h.object({label:h.string().optional()}),O={read:f.extend(ve.shape),create:S.extend(ve.shape),clonable:x.extend(ve.shape)};var k={read:f.extend({type:je.literal("FlexibleSpace")}),create:S.extend({type:je.literal("FlexibleSpace")}),clonable:x.extend({type:je.literal("FlexibleSpace")})};import{z as c}from"zod";import{z as E}from"zod";var Ve=E.object({type:E.literal("Button"),label:E.string(),variant:E.enum(["primary","outlined","transparent","transparentThin"]).optional(),disabled:E.boolean().optional()}),I={read:f.extend(Ve.shape).extend({onClick:E.function().returns(E.void())}),create:S.extend(Ve.shape).extend({onClick:E.function().returns(E.void())}),clonable:x.extend(Ve.shape).extend({onClick:E.string()})};import{z as v}from"zod";import{z as Be}from"zod";var we=Be.object({type:Be.literal("Text"),content:Be.string()}),P={read:f.extend(we.shape),create:S.extend(we.shape),clonable:x.extend(we.shape)};var Oe=v.object({type:v.literal("ButtonGroup"),align:v.enum(["start","end"]).optional()}),H={read:f.extend(Oe.shape).extend({items:v.array(v.union([I.read,P.read,k.read]))}),create:S.extend(Oe.shape).extend({items:v.array(v.union([I.create,P.create,k.create]))}),clonable:x.extend(Oe.shape).extend({items:v.array(v.union([I.clonable,P.clonable,k.clonable]))})};import{z as Re}from"zod";var J={read:f.extend({type:Re.literal("Divider")}),create:S.extend({type:Re.literal("Divider")}),clonable:x.extend({type:Re.literal("Divider")})};import{z as p}from"zod";var De=p.object({type:p.literal("Select"),options:p.array(p.object({label:p.string(),value:p.string()})),value:p.string().optional(),search:p.boolean().optional(),placeholder:p.string().optional()}),Z={read:O.read.extend(De.shape).extend({onChange:p.function().args(p.object({value:p.string()})).returns(p.void())}),create:O.create.extend(De.shape).extend({onChange:p.function().args(p.object({value:p.string()})).returns(p.void())}),clonable:O.clonable.extend(De.shape).extend({onChange:p.string()})};import{z as l}from"zod";var Ne=l.object({type:l.literal("TextInput"),value:l.string(),placeholder:l.string().optional()}),W={read:O.read.extend(Ne.shape).extend({onChange:l.function().args(l.string()).returns(l.void()).optional(),onBlur:l.function().args(l.string()).returns(l.void()).optional(),onFocus:l.function().args(l.string()).returns(l.void()).optional()}),create:O.create.extend(Ne.shape).extend({onChange:l.function().args(l.object({value:l.string()})).returns(l.void()).optional(),onBlur:l.function().args(l.object({value:l.string()})).returns(l.void()).optional(),onFocus:l.function().args(l.object({value:l.string()})).returns(l.void()).optional()}),clonable:O.clonable.extend(Ne.shape).extend({onChange:l.string().optional(),onBlur:l.string().optional(),onFocus:l.string().optional()})};var j={read:c.discriminatedUnion("type",[P.read,I.read,W.read,J.read,H.read,Z.read]),create:c.discriminatedUnion("type",[P.create,I.create,W.create,J.create,H.create,Z.create]),clonable:c.discriminatedUnion("type",[P.clonable,I.clonable,W.clonable,J.clonable,H.clonable,Z.clonable])},Ae=c.object({type:c.literal("Panel"),title:c.string().optional()}),re={read:f.extend(Ae.shape).extend({onClose:c.function().returns(c.void()).optional(),body:c.array(j.read),footer:c.array(j.read).optional()}),create:S.extend(Ae.partial().shape).extend({onClose:c.function().returns(c.void()).optional(),body:c.array(j.create),footer:c.array(j.create).optional()}),clonable:x.extend(Ae.partial().shape).extend({onClose:c.string().optional(),body:c.array(j.clonable),footer:c.array(j.clonable).optional()})},qe={create:c.discriminatedUnion("type",[P.create.partial().required({type:!0}),I.create.partial().required({type:!0}),W.create.partial().required({type:!0}),J.create.partial().required({type:!0}),H.create.partial().required({type:!0}),Z.create.partial().required({type:!0})]),clonable:c.discriminatedUnion("type",[P.clonable.partial().required({type:!0}),I.clonable.partial().required({type:!0}),W.clonable.partial().required({type:!0}),J.clonable.partial().required({type:!0}),H.clonable.partial().required({type:!0}),Z.clonable.partial().required({type:!0})])};var Ya=o.object({panel:re.create,placement:oe.optional()}),Ft=o.object({panel:re.clonable,placement:oe.optional()}),ei=re.create.partial().required({id:!0}),Ut=re.clonable.partial().required({id:!0}),ti=o.object({panelId:o.string(),elements:o.array(o.object({element:o.union([j.create,k.create]),container:o.union([o.literal("body"),o.literal("footer"),o.object({id:o.string()})]).optional(),placement:oe.optional()}))}),kt=o.object({panelId:o.string(),elements:o.array(o.object({element:o.union([j.clonable,k.clonable]),container:o.union([o.literal("body"),o.literal("footer"),o.object({id:o.string()})]).optional(),placement:oe.optional()}))}),oi=o.object({panelId:o.string(),elements:o.record(o.string(),o.union([qe.create,k.create]))}),vt=o.object({panelId:o.string(),elements:o.record(o.string(),o.union([qe.clonable,k.clonable]))}),jt=o.object({panelId:o.string(),elements:o.array(o.string())}),Vt=o.object({showLegend:o.boolean().optional(),cooperativeGestures:o.boolean().optional(),fullScreenButton:o.boolean().optional(),geolocation:o.boolean().optional(),zoomControls:o.boolean().optional(),scaleBar:o.boolean().optional()}),Bt=o.object({featureSelectPanel:o.boolean().optional(),featureHoverPanel:o.boolean().optional(),elementSelectPanel:o.boolean().optional(),linkClickOpen:o.boolean().optional(),imageLightboxOpen:o.boolean().optional()});var Or=t("createPanel",Ft),Rr=t("updatePanel",Ut),Dr=t("deletePanel",ue.string()),Nr=t("createPanelElements",kt),Ar=t("updatePanelElements",vt),qr=t("deletePanelElements",jt),Hr=t("updateUiControls",Vt),Jr=t("setOnMapInteractionsUi",Bt),Zr=t("showLayerDataTable",ue.object({layerId:ue.string(),sorting:me.optional()}).optional()),Wr=t("hideLayerDataTable",ue.undefined()),wt={methods:[Or,Rr,Dr,Nr,Ar,qr,Hr,Jr,Zr,Wr],listeners:null};import{z as Nt}from"zod";import{z as fe}from"zod";var he=fe.object({center:se,zoom:We}),Ot=fe.object({center:he.shape.center.optional(),zoom:he.shape.zoom.optional()}),Rt=fe.object({minZoom:he.shape.zoom.nullish(),maxZoom:he.shape.zoom.nullish(),bounds:G.nullish()}).nullable(),Dt=fe.object({bounds:G});var _r=t("getViewport",Nt.undefined()),Qr=t("setViewport",Ot),$r=t("getViewportConstraints",Nt.undefined()),Kr=t("setViewportConstraints",Rt),Xr=t("fitViewportToBounds",Dt),Yr=y("onViewportMove"),en=y("onViewportMoveEnd"),tn=y("onMapIdle"),At={methods:[Qr,_r,$r,Kr,Xr],listeners:[Yr,en,tn]};var He=[wt,At,bt,Ye,Mt,et,Tt,Lt];function Ti(i,N,Je){let Se=new Map;async function Ze(b){if(!sn.safeParse(b.data).success){Je?.onUnknownMessage?.(b.data);return}let ne=Jt.safeParse(b.data);if(!ne.success){Je?.onInvalidMessage?.(b.data,ne.error),b.ports[0]?.postMessage(qt(ne.error.message));return}let{data:u}=ne;if(u.type==="felt.ready")b.ports[0]?.postMessage(!0);else if(u.type==="felt.addListener"){if(u.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let _="options"in u.event?{options:"options"in u.event?u.event.options:void 0,handler:be=>{b.ports[0]?.postMessage(be)}}:{handler:be=>{b.ports[0]?.postMessage(be)}},xe=N.listeners[u.event.eventName](_);Se.set(u.event.id,xe)}else if(u.type==="felt.removeListener")Se.get(u.id)?.(),Se.delete(u.id);else try{let _=N.methods[u.type],xe=await _(u.params);b.ports[0]?.postMessage(xe)}catch(_){b.ports[0]?.postMessage(qt(_))}}return i.addEventListener("message",Ze),()=>{i.removeEventListener("message",Ze)}}var Ht={methods:He.map(i=>i.methods??[]).flat(),listeners:He.map(i=>i.listeners??[]).flat()},on=d.discriminatedUnion("eventName",[d.strictObject({eventName:d.literal("")}),d.strictObject({eventName:d.literal("onGenericEvent"),id:d.string(),options:d.object({id:d.string()})}),...Ht.listeners]),rn=d.strictObject({type:d.literal("felt.addListener"),event:on}),nn=d.strictObject({type:d.literal("felt.removeListener"),id:d.string()}),an=d.strictObject({type:d.literal("felt.ready")}),Jt=d.discriminatedUnion("type",[an,rn,nn,...Ht.methods]),sn=d.object({type:d.enum(Jt.options.map(i=>i.shape.type.value))});function qt(i){return{__error__:ln(i)}}function ln(i){return i instanceof Error?i.message:typeof i=="object"&&i!==null&&"message"in i?String(i.message):typeof i=="string"?i:"Unknown error"}export{Ti as createMessageHandler};
1
+ import{z as g}from"zod";import{z as I}from"zod";import{z as V}from"zod";function e(i,q){return V.strictObject({type:V.literal(i),params:q})}function L(i,q){return V.strictObject({eventName:V.literal(i),id:V.string(),options:q})}function d(i){return V.strictObject({eventName:V.literal(i),id:V.string()})}import{z as c}from"zod";var le=c.number(),ce=c.number(),me=c.object({latitude:ce,longitude:le}),w=c.tuple([le,ce]),K=c.object({type:c.literal("Polygon"),coordinates:c.array(c.array(w).min(4).refine(i=>i[0][0]===i[i.length-1][0]&&i[0][1]===i[i.length-1][1],"The last point of each ring must be identical to the first"))}),pe=c.object({type:c.literal("MultiPolygon"),coordinates:c.array(K.shape.coordinates)}),Kt=c.object({type:c.literal("LineString"),coordinates:c.array(w).min(2)}),X=c.object({type:c.literal("MultiLineString"),coordinates:c.array(Kt.shape.coordinates)}),$e=c.number().min(1).max(23),G=c.tuple([le,ce,le,ce]),R=c.object({show:c.array(c.string()).optional(),hide:c.array(c.string()).optional()}),Xt=c.enum(["asc","desc"]),ge=c.object({attribute:c.string(),direction:Xt});import{z as t}from"zod";var M=t.object({id:t.string(),groupId:t.string().nullable(),color:t.string(),name:t.string().nullable(),description:t.string().nullable(),attributes:t.record(t.string(),t.unknown()),interaction:t.enum(["default","locked"]).optional()}),ue=t.object({imageUrl:t.string().nullable()}),Ee=t.object({strokeOpacity:t.number(),strokeWidth:t.number(),strokeStyle:t.enum(["solid","dashed","dotted"])}),Yt=t.enum(["meter","kilometer","foot","mile"]),de=M.extend(ue.shape).extend({type:t.literal("Place"),coordinates:w,symbol:t.string(),frame:t.enum(["frame-circle","frame-square"]).nullable(),hideLabel:t.boolean()}),Y=M.extend(ue.shape).extend(Ee.shape).extend({type:t.literal("Path"),coordinates:X.shape.coordinates,distanceMarker:t.boolean(),routingMode:t.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:t.boolean()}),ee=M.extend(ue.shape).extend(Ee.shape).extend({type:t.literal("Polygon"),coordinates:K.shape.coordinates,fillOpacity:t.number().min(0).max(1),areaMarker:t.boolean()}),ye=M.extend(ue.shape).extend(Ee.shape).extend({type:t.literal("Circle"),center:w,radius:t.number(),radiusMarker:t.boolean(),radiusDisplayAngle:t.number(),radiusDisplayUnit:Yt.nullable(),fillOpacity:t.number().min(0).max(1)}),te=M.extend({type:t.literal("Marker"),coordinates:X.shape.coordinates,opacity:t.number().min(0).max(1),size:t.number().min(0).max(100),zoom:t.number().min(0).max(23)}),oe=M.extend({type:t.literal("Highlighter"),coordinates:pe.shape.coordinates,renderHoles:t.boolean(),opacity:t.number().min(0).max(1)}),Ke=t.object({position:w,rotation:t.number(),scale:t.number(),zoom:t.number().min(0).max(23),text:t.string(),align:t.enum(["left","center","right"]),style:t.enum(["italic","light","regular","caps"]),name:t.string()}),Me=M.extend(Ke.shape).extend({type:t.literal("Text")}),Ie=M.extend(Ke.shape).extend({type:t.literal("Note"),widthScale:t.number().min(0)}),re=M.extend({type:t.literal("Image"),coordinates:X.shape.coordinates,imageUrl:t.string(),opacity:t.number().min(0).max(1)}).omit({color:!0}),eo=M.extend({type:t.literal("Link"),coordinates:X.shape.coordinates,url:t.string()}),H={type:!0,coordinates:!0},z={id:!0},Pe=de.partial().extend(de.pick(H).shape).omit(z),he=Y.partial().extend(Y.pick(H).shape).omit(z),Te=ee.partial().extend(ee.pick(H).shape).omit(z),Ge=ye.partial().extend(ye.pick({type:!0,center:!0,radius:!0}).shape).omit(z),ze=te.partial().extend(te.pick(H).shape).omit(z),Ue=oe.partial().extend(oe.pick(H).shape).omit(z),Fe=Me.partial().omit({...z,name:!0,type:!0}).extend({type:t.literal("Text"),text:t.string()}),ke=Ie.partial().omit({...z,name:!0,type:!0}).extend({type:t.literal("Note"),text:t.string()}),to=re.partial().extend(re.pick({...H,imageUrl:!0}).shape).omit(z),Xe=t.discriminatedUnion("type",[Pe,he,Te,Ge,ze,Ue,to,Fe,ke]);var In=Y.omit({coordinates:!0}),En=ee.omit({coordinates:!0});var Pn=te.omit({coordinates:!0}),Tn=oe.omit({coordinates:!0});var Gn=re.omit({coordinates:!0}),zn=eo.omit({coordinates:!0}),U={type:!0,id:!0},oo=de.partial().extend(de.pick(U).shape),ro=Y.partial().extend(Y.pick(U).shape),no=ee.partial().extend(ee.pick(U).shape),ao=ye.partial().extend(ye.pick(U).shape),io=te.partial().extend(te.pick(U).shape),so=oe.partial().extend(oe.pick(U).shape),lo=Me.partial().extend(Me.pick(U).shape).omit({name:!0}),co=Ie.partial().extend(Ie.pick(U).shape).omit({name:!0}),mo=re.partial().extend(re.pick(U).shape),Ye=t.discriminatedUnion("type",[oo,ro,no,ao,io,so,lo,co,mo]),et=t.object({ids:t.array(t.string()).optional()}),tt=t.object({ids:t.array(t.string()).optional()});var po=e("getElement",I.string()),go=e("getElementGeometry",I.string()),yo=e("getElements",et.optional()),uo=e("getElementGroup",I.string()),ho=e("getElementGroups",tt.optional()),fo=e("setElementGroupVisibility",R),So=L("onElementChange",I.object({id:I.string()})),xo=d("onElementCreate"),bo=d("onElementCreateEnd"),Co=L("onElementDelete",I.object({id:I.string()})),Lo=L("onElementGroupChange",I.object({id:I.string()})),Mo=e("createElement",Xe),Io=e("updateElement",Ye),Eo=e("deleteElement",I.string()),ot={methods:[po,go,yo,uo,ho,fo,Mo,Io,Eo],listeners:[So,xo,bo,Co,Lo]};var Po=d("onPointerClick"),To=d("onPointerMove"),rt={methods:null,listeners:[Po,To]};import{z as a}from"zod";import{z as s}from"zod";var Go=s.enum(["in","ni"]),zo=s.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Rn=s.enum(["and","or"]),nt=s.union([s.number(),s.string(),s.boolean(),s.null()]),at=s.string().or(s.null()),Uo=s.tuple([at,Go,s.array(nt).or(s.null())]),Fo=s.tuple([at,zo,nt]),ve=s.union([Uo,Fo]),je=s.tuple([s.lazy(()=>s.union([je,ve,s.null(),s.boolean()])),s.enum(["and","or"]),s.lazy(()=>s.union([je,ve,s.null(),s.boolean()]))]),F=s.union([je,ve,s.null(),s.boolean()]),k=s.union([G,K,pe,s.array(w)]);import{z as r}from"zod";var it=r.enum(["avg","max","min","sum","median"]),st=r.enum(["avg","max","min","sum","count"]),ko=r.object({method:it,attribute:r.string()}),vo=r.object({methods:r.array(r.union([it,r.literal("count")])),attribute:r.string().optional()}),lt=r.object({boundary:k.optional(),filters:F.optional(),aggregation:ko.optional()}),ct=r.object({layerId:r.string(),attribute:r.string(),limit:r.number().optional(),boundary:k.optional(),filters:F.optional(),values:lt.optional()}),Hn=r.object({key:r.union([r.number(),r.string(),r.boolean()]),value:r.number().nullable()}),jo=r.object({type:r.literal("equal-intervals"),count:r.number()}),Bo=r.object({type:r.literal("time-interval"),interval:r.enum(["hour","day","week","month","year"])}),mt=r.object({layerId:r.string(),attribute:r.string(),steps:r.union([jo,Bo,r.array(r.number())]),boundary:k.optional(),filters:F.optional(),values:lt.optional()}),Jn=r.object({min:r.number(),max:r.number(),value:r.number()}),pt=r.object({layerId:r.string(),boundary:k.optional(),filters:F.optional(),aggregation:vo}),gt=r.enum(["h3"]),Vo=r.object({type:gt,resolution:r.number(),method:st.extract(["count"])}),wo=r.object({type:gt,resolution:r.number(),method:st.exclude(["count"]),attribute:r.string()}),Oo=r.union([Vo,wo]),dt=r.object({layerId:r.string(),boundary:k.optional(),filters:F.optional(),gridConfig:Oo});import{z as n}from"zod";var Qn=n.enum(["processing","completed","failed","incomplete"]),yt=n.object({type:n.literal("geoJsonUrl"),url:n.string().url(),refreshInterval:n.number().min(250).max(5*60*1e3).nullable().optional()}),ut=n.object({type:n.literal("geoJsonData"),data:n.object({}).passthrough().or(n.instanceof(ArrayBuffer))}),ht=n.object({type:n.literal("geoJsonFile"),file:n.instanceof(File)}),ft=n.object({id:n.string(),style:n.object({}).passthrough().optional(),shownInLegend:n.boolean().optional(),name:n.string().optional(),caption:n.string().optional(),description:n.string().optional(),bounds:G.optional(),source:n.union([yt,ut,ht]).optional()}),St=n.object({ids:n.array(n.string()).optional()}),xt=n.object({ids:n.array(n.string()).optional()}),J=n.object({id:n.string(),layerId:n.string()}),bt=n.object({ids:J.array().optional(),layerIds:n.string().array().optional()}),Ct=n.object({layerIds:n.array(n.string()).optional(),areaQuery:n.union([n.object({coordinates:me}),n.object({boundary:G})]).optional()}),Ao=n.object({Point:n.object({}).passthrough().optional(),Line:n.object({}).passthrough().optional(),Polygon:n.object({}).passthrough().optional()}),Lt=n.object({source:n.union([yt,ut,ht]),name:n.string(),bounds:G.optional(),caption:n.string().optional(),description:n.string().optional(),geometryStyles:Ao.optional()});var Ro=e("getLayer",a.string()),Do=e("getLayers",St.optional()),No=e("setLayerVisibility",R),qo=L("onLayerChange",a.object({id:a.string()})),Ho=e("setLayerStyle",a.object({id:a.string(),style:a.object({}).passthrough()})),Jo=e("setLayerLegendVisibility",R),Zo=e("createLayersFromGeoJson",Lt),Wo=e("updateLayer",ft),_o=e("deleteLayer",a.string()),Qo=e("getLayerGroup",a.string()),$o=e("getLayerGroups",xt.optional()),Ko=e("setLayerGroupVisibility",R),Xo=e("setLayerGroupLegendVisibility",R),Yo=L("onLayerGroupChange",a.object({id:a.string()})),er=e("getLegendItem",J),tr=e("getLegendItems",bt.optional()),or=L("onLegendItemChange",J),rr=e("setLegendItemVisibility",a.object({show:J.array().optional(),hide:J.array().optional()})),nr=e("getLayerFilters",a.string()),ar=e("setLayerFilters",a.object({layerId:a.string(),filters:F,note:a.string().optional()})),ir=L("onLayerFiltersChange",a.object({layerId:a.string()})),sr=e("getLayerBoundaries",a.string()),lr=e("setLayerBoundary",a.object({layerIds:a.array(a.string()),boundary:k.nullable()})),cr=L("onLayerBoundariesChange",a.object({layerId:a.string()})),mr=e("getRenderedFeatures",Ct.optional()),pr=e("getFeature",a.object({id:a.string().or(a.number()),layerId:a.string()})),gr=e("getFeatures",a.object({layerId:a.string(),filters:F.optional(),sorting:ge.optional(),boundary:k.optional(),search:a.string().optional(),pagination:a.string().optional().nullish()})),dr=e("getGeoJsonFeature",a.object({id:a.string().or(a.number()),layerId:a.string()})),yr=e("getCategoryData",ct),ur=e("getHistogramData",mt),hr=e("getAggregates",pt),fr=e("getPrecomputedAggregates",dt),Sr=e("getLayerSchema",a.string()),Mt={methods:[Ro,Do,No,Ho,Jo,Zo,_o,Wo,Qo,$o,Ko,Xo,er,tr,rr,nr,ar,sr,lr,mr,pr,gr,dr,yr,ur,hr,fr,Sr],listeners:[qo,Yo,or,ir,cr]};import{z as xr}from"zod";var br=e("getMapDetails",xr.undefined()),It={methods:[br],listeners:[]};import{z as fe}from"zod";import{z as O}from"zod";var Et=O.object({id:O.string().or(O.number()),layerId:O.string(),showPopup:O.boolean().optional(),fitViewport:O.boolean().or(O.object({maxZoom:O.number()})).optional()});var Cr=e("getSelection",fe.undefined()),Lr=d("onSelectionChange"),Mr=e("selectFeature",Et),Ir=e("clearSelection",fe.object({features:fe.boolean().optional(),elements:fe.boolean().optional()}).optional()),Pt={methods:[Cr,Mr,Ir],listeners:[Lr]};import{z as Br}from"zod";import{z as f}from"zod";var Tt=["circle","highlighter","line","marker","note","pin","polygon","route","text"],Er=[...Tt,"link"],Gt=f.enum(Er),zt=f.enum(Tt),Pr=Pe.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:f.enum(["enter name","add another","select"])}).required(),Tr=he.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),Gr=he.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),zr=Te.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Ur=Ge.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Fr=ze.pick({color:!0,opacity:!0,size:!0}).required(),kr=Ue.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:f.number().min(0).max(200)}).required(),vr=Fe.pick({color:!0,align:!0,style:!0}).required(),jr=ke.pick({color:!0,align:!0,style:!0}).required(),Ut=f.discriminatedUnion("tool",[Pr.partial().extend({tool:f.literal("pin")}),Tr.partial().extend({tool:f.literal("line")}),Gr.partial().extend({tool:f.literal("route")}),zr.partial().extend({tool:f.literal("polygon")}),Ur.partial().extend({tool:f.literal("circle")}),Fr.partial().extend({tool:f.literal("marker")}),kr.partial().extend({tool:f.literal("highlighter")}),vr.partial().extend({tool:f.literal("text")}),jr.partial().extend({tool:f.literal("note")})]);var Vr=e("setTool",Gt.nullable()),wr=e("getTool",Br.undefined()),Or=d("onToolChange"),Ar=e("setToolSettings",Ut),Rr=e("getToolSettings",zt),Dr=d("onToolSettingsChange"),Ft={methods:[Vr,wr,Ar,Rr],listeners:[Or,Dr]};import{z as ie}from"zod";import{z as o}from"zod";import{z as D}from"zod";var N=D.union([D.object({after:D.string()}),D.object({before:D.string()}),D.object({at:D.enum(["start","end"])})]);import{z as b}from"zod";import{z as x}from"zod";var kt=x.object({onCreate:x.function().args().returns(x.void()).optional(),onDestroy:x.function().args().returns(x.void()).optional()}),Nr=x.object({onCreate:x.string().optional(),onDestroy:x.string().optional()}),y=kt.extend({id:x.string()}),u=kt.extend({id:x.string().optional()}),h=Nr.extend({id:x.string().optional()}),Be=x.object({label:x.string().optional()}),A={read:y.extend(Be.shape),create:u.extend(Be.shape),clonable:h.extend(Be.shape)};var Ve=b.object({type:b.literal("ActionTrigger"),label:b.string(),disabled:b.boolean().optional()}),ne={read:y.extend(Ve.shape).extend({onTrigger:b.function().returns(b.void())}),create:u.extend(Ve.shape).extend({type:b.undefined()}).extend({onTrigger:b.function().returns(b.void())}),clonable:h.extend(Ve.shape).extend({type:b.undefined()}).extend({onTrigger:b.string()})};import{z as we}from"zod";var v={read:y.extend({type:we.literal("FlexibleSpace")}),create:u.extend({type:we.literal("FlexibleSpace")}),clonable:h.extend({type:we.literal("FlexibleSpace")})};import{z as m}from"zod";import{z as E}from"zod";var Oe=E.object({type:E.literal("Button"),label:E.string(),variant:E.enum(["primary","outlined","transparent","transparentThin"]).optional(),disabled:E.boolean().optional()}),P={read:y.extend(Oe.shape).extend({onClick:E.function().returns(E.void())}),create:u.extend(Oe.shape).extend({onClick:E.function().returns(E.void())}),clonable:h.extend(Oe.shape).extend({onClick:E.string()})};import{z as j}from"zod";import{z as Ae}from"zod";var Re=Ae.object({type:Ae.literal("Text"),content:Ae.string()}),T={read:y.extend(Re.shape),create:u.extend(Re.shape),clonable:h.extend(Re.shape)};var De=j.object({type:j.literal("ButtonGroup"),align:j.enum(["start","end"]).optional()}),Z={read:y.extend(De.shape).extend({items:j.array(j.union([P.read,T.read,v.read]))}),create:u.extend(De.shape).extend({items:j.array(j.union([P.create,T.create,v.create]))}),clonable:h.extend(De.shape).extend({items:j.array(j.union([P.clonable,T.clonable,v.clonable]))})};import{z as Ne}from"zod";var W={read:y.extend({type:Ne.literal("Divider")}),create:u.extend({type:Ne.literal("Divider")}),clonable:h.extend({type:Ne.literal("Divider")})};import{z as p}from"zod";var qe=p.object({type:p.literal("Select"),options:p.array(p.object({label:p.string(),value:p.string()})),value:p.string().optional(),search:p.boolean().optional(),placeholder:p.string().optional()}),_={read:A.read.extend(qe.shape).extend({onChange:p.function().args(p.object({value:p.string()})).returns(p.void())}),create:A.create.extend(qe.shape).extend({onChange:p.function().args(p.object({value:p.string()})).returns(p.void())}),clonable:A.clonable.extend(qe.shape).extend({onChange:p.string()})};import{z as l}from"zod";var He=l.object({type:l.literal("TextInput"),value:l.string(),placeholder:l.string().optional()}),Q={read:A.read.extend(He.shape).extend({onChange:l.function().args(l.string()).returns(l.void()).optional(),onBlur:l.function().args(l.string()).returns(l.void()).optional(),onFocus:l.function().args(l.string()).returns(l.void()).optional()}),create:A.create.extend(He.shape).extend({onChange:l.function().args(l.object({value:l.string()})).returns(l.void()).optional(),onBlur:l.function().args(l.object({value:l.string()})).returns(l.void()).optional(),onFocus:l.function().args(l.object({value:l.string()})).returns(l.void()).optional()}),clonable:A.clonable.extend(He.shape).extend({onChange:l.string().optional(),onBlur:l.string().optional(),onFocus:l.string().optional()})};var B={read:m.discriminatedUnion("type",[T.read,P.read,Q.read,W.read,Z.read,_.read]),create:m.discriminatedUnion("type",[T.create,P.create,Q.create,W.create,Z.create,_.create]),clonable:m.discriminatedUnion("type",[T.clonable,P.clonable,Q.clonable,W.clonable,Z.clonable,_.clonable])},Je=m.object({type:m.literal("Panel"),title:m.string().optional()}),ae={read:y.extend(Je.shape).extend({onClose:m.function().returns(m.void()).optional(),body:m.array(B.read),footer:m.array(B.read).optional()}),create:u.extend(Je.partial().shape).extend({onClose:m.function().returns(m.void()).optional(),body:m.array(B.create),footer:m.array(B.create).optional()}),clonable:h.extend(Je.partial().shape).extend({onClose:m.string().optional(),body:m.array(B.clonable),footer:m.array(B.clonable).optional()})},Ze={create:m.discriminatedUnion("type",[T.create.partial().required({type:!0}),P.create.partial().required({type:!0}),Q.create.partial().required({type:!0}),W.create.partial().required({type:!0}),Z.create.partial().required({type:!0}),_.create.partial().required({type:!0})]),clonable:m.discriminatedUnion("type",[T.clonable.partial().required({type:!0}),P.clonable.partial().required({type:!0}),Q.clonable.partial().required({type:!0}),W.clonable.partial().required({type:!0}),Z.clonable.partial().required({type:!0}),_.clonable.partial().required({type:!0})])};var pi=o.object({actionTrigger:ne.create,placement:N.optional()}),vt=o.object({actionTrigger:ne.clonable,placement:N.optional()}),gi=ne.create.partial().required({id:!0}),jt=ne.clonable.partial().required({id:!0}),di=o.object({panel:ae.create,placement:N.optional()}),Bt=o.object({panel:ae.clonable,placement:N.optional()}),yi=ae.create.partial().required({id:!0}),Vt=ae.clonable.partial().required({id:!0}),ui=o.object({panelId:o.string(),elements:o.array(o.object({element:o.union([B.create,v.create]),container:o.union([o.literal("body"),o.literal("footer"),o.object({id:o.string()})]).optional(),placement:N.optional()}))}),wt=o.object({panelId:o.string(),elements:o.array(o.object({element:o.union([B.clonable,v.clonable]),container:o.union([o.literal("body"),o.literal("footer"),o.object({id:o.string()})]).optional(),placement:N.optional()}))}),hi=o.object({panelId:o.string(),elements:o.record(o.string(),o.union([Ze.create,v.create]))}),Ot=o.object({panelId:o.string(),elements:o.record(o.string(),o.union([Ze.clonable,v.clonable]))}),At=o.object({panelId:o.string(),elements:o.array(o.string())}),Rt=o.object({showLegend:o.boolean().optional(),cooperativeGestures:o.boolean().optional(),fullScreenButton:o.boolean().optional(),geolocation:o.boolean().optional(),zoomControls:o.boolean().optional(),scaleBar:o.boolean().optional()}),Dt=o.object({featureSelectPanel:o.boolean().optional(),featureHoverPanel:o.boolean().optional(),elementSelectPanel:o.boolean().optional(),linkClickOpen:o.boolean().optional(),imageLightboxOpen:o.boolean().optional()});var qr=e("createActionTrigger",vt),Hr=e("updateActionTrigger",jt),Jr=e("deleteActionTrigger",ie.string()),Zr=e("createPanel",Bt),Wr=e("updatePanel",Vt),_r=e("deletePanel",ie.string()),Qr=e("createPanelElements",wt),$r=e("updatePanelElements",Ot),Kr=e("deletePanelElements",At),Xr=e("updateUiControls",Rt),Yr=e("setOnMapInteractionsUi",Dt),en=e("showLayerDataTable",ie.object({layerId:ie.string(),sorting:ge.optional()}).optional()),tn=e("hideLayerDataTable",ie.undefined()),Nt={methods:[qr,Hr,Jr,Zr,Wr,_r,Qr,$r,Kr,Xr,Yr,en,tn],listeners:null};import{z as Zt}from"zod";import{z as xe}from"zod";var Se=xe.object({center:me,zoom:$e}),qt=xe.object({center:Se.shape.center.optional(),zoom:Se.shape.zoom.optional()}),Ht=xe.object({minZoom:Se.shape.zoom.nullish(),maxZoom:Se.shape.zoom.nullish(),bounds:G.nullish()}).nullable(),Jt=xe.object({bounds:G});var on=e("getViewport",Zt.undefined()),rn=e("setViewport",qt),nn=e("getViewportConstraints",Zt.undefined()),an=e("setViewportConstraints",Ht),sn=e("fitViewportToBounds",Jt),ln=d("onViewportMove"),cn=d("onViewportMoveEnd"),mn=d("onMapIdle"),Wt={methods:[rn,on,nn,an,sn],listeners:[ln,cn,mn]};var We=[Nt,Wt,Mt,ot,Pt,rt,Ft,It];function Ni(i,q,_e){let be=new Map;async function Qe(C){if(!un.safeParse(C.data).success){_e?.onUnknownMessage?.(C.data);return}let se=$t.safeParse(C.data);if(!se.success){_e?.onInvalidMessage?.(C.data,se.error),C.ports[0]?.postMessage(_t(se.error.message));return}let{data:S}=se;if(S.type==="felt.ready")C.ports[0]?.postMessage(!0);else if(S.type==="felt.addListener"){if(S.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let $="options"in S.event?{options:"options"in S.event?S.event.options:void 0,handler:Le=>{C.ports[0]?.postMessage(Le)}}:{handler:Le=>{C.ports[0]?.postMessage(Le)}},Ce=q.listeners[S.event.eventName]($);be.set(S.event.id,Ce)}else if(S.type==="felt.removeListener")be.get(S.id)?.(),be.delete(S.id);else try{let $=q.methods[S.type],Ce=await $(S.params);C.ports[0]?.postMessage(Ce)}catch($){C.ports[0]?.postMessage(_t($))}}return i.addEventListener("message",Qe),()=>{i.removeEventListener("message",Qe)}}var Qt={methods:We.map(i=>i.methods??[]).flat(),listeners:We.map(i=>i.listeners??[]).flat()},pn=g.discriminatedUnion("eventName",[g.strictObject({eventName:g.literal("")}),g.strictObject({eventName:g.literal("onGenericEvent"),id:g.string(),options:g.object({id:g.string()})}),...Qt.listeners]),gn=g.strictObject({type:g.literal("felt.addListener"),event:pn}),dn=g.strictObject({type:g.literal("felt.removeListener"),id:g.string()}),yn=g.strictObject({type:g.literal("felt.ready")}),$t=g.discriminatedUnion("type",[yn,gn,dn,...Qt.methods]),un=g.object({type:g.enum($t.options.map(i=>i.shape.type.value))});function _t(i){return{__error__:hn(i)}}function hn(i){return i instanceof Error?i.message:typeof i=="object"&&i!==null&&"message"in i?String(i.message):typeof i=="string"?i:"Unknown error"}export{Ni as createMessageHandler};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feltmaps/js-sdk",
3
- "version": "1.7.0-next.4",
3
+ "version": "1.7.0-next.6",
4
4
  "description": "An SDK for Felt maps",
5
5
  "keywords": [
6
6
  "felt",
@@ -40,8 +40,10 @@
40
40
  "@changesets/cli": "^2.27.9",
41
41
  "@microsoft/api-extractor": "^7.47.9",
42
42
  "@types/node": "^22.7.4",
43
+ "dtsroll": "^1.4.1",
43
44
  "happy-dom": "^15.7.4",
44
45
  "knip": "^5.31.0",
46
+ "patch-package": "^8.0.0",
45
47
  "prettier": "^3.3.3",
46
48
  "prettier-plugin-organize-imports": "^4.1.0",
47
49
  "tsup": "^8.3.0",
@@ -58,7 +60,7 @@
58
60
  "zod": "^3.23.8"
59
61
  },
60
62
  "scripts": {
61
- "build:compile": "tsup",
63
+ "build:compile": "tsup && ./scripts/dtsroll.sh",
62
64
  "build:docs": "typedoc",
63
65
  "build": "npm run build:compile && npm run build:docs",
64
66
  "changeset": "changeset",
@@ -77,6 +79,7 @@
77
79
  "list-changes": "./scripts/list-possible-changes.sh",
78
80
  "local-release:dry": "./scripts/local-release.sh --dry-run",
79
81
  "local-release": "./scripts/local-release.sh",
82
+ "postinstall": "patch-package",
80
83
  "update-api": "npm run build:compile && api-extractor run --local"
81
84
  }
82
85
  }