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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/handler.js CHANGED
@@ -1 +1 @@
1
- import{z as g}from"zod";import{z as h}from"zod";import{z as M}from"zod";function t(a,T){return M.strictObject({type:M.literal(a),params:T})}function d(a,T){return M.strictObject({eventName:M.literal(a),id:M.string(),options:T})}function l(a){return M.strictObject({eventName:M.literal(a),id:M.string()})}import{z as s}from"zod";var R=s.number(),N=s.number(),A=s.object({latitude:N,longitude:R}),C=s.tuple([R,N]),F=s.object({type:s.literal("Polygon"),coordinates:s.array(s.array(C).min(4).refine(a=>a[0][0]===a[a.length-1][0]&&a[0][1]===a[a.length-1][1],"The last point of each ring must be identical to the first"))}),B=s.object({type:s.literal("MultiPolygon"),coordinates:s.array(F.shape.coordinates)}),lt=s.object({type:s.literal("LineString"),coordinates:s.array(C).min(2)}),k=s.object({type:s.literal("MultiLineString"),coordinates:s.array(lt.shape.coordinates)}),ue=s.number().min(1).max(23),f=s.tuple([R,N,R,N]),I=s.object({show:s.array(s.string()).optional(),hide:s.array(s.string()).optional()}),pt=s.enum(["asc","desc"]),D=s.object({attribute:s.string(),direction:pt});import{z as e}from"zod";var u=e.object({id:e.string(),groupId:e.string().nullable(),color:e.string(),name:e.string().nullable(),description:e.string().nullable(),attributes:e.record(e.string(),e.unknown()),interaction:e.enum(["default","locked"]).optional()}),Z=e.object({imageUrl:e.string().nullable()}),te=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),ct=e.enum(["meter","kilometer","foot","mile"]),H=u.extend(Z.shape).extend({type:e.literal("Place"),coordinates:C,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),V=u.extend(Z.shape).extend(te.shape).extend({type:e.literal("Path"),coordinates:k.shape.coordinates,distanceMarker:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:e.boolean()}),w=u.extend(Z.shape).extend(te.shape).extend({type:e.literal("Polygon"),coordinates:F.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),J=u.extend(Z.shape).extend(te.shape).extend({type:e.literal("Circle"),center:C,radius:e.number(),radiusMarker:e.boolean(),radiusDisplayAngle:e.number(),radiusDisplayUnit:ct.nullable(),fillOpacity:e.number().min(0).max(1)}),U=u.extend({type:e.literal("Marker"),coordinates:k.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),O=u.extend({type:e.literal("Highlighter"),coordinates:B.shape.coordinates,renderHoles:e.boolean(),opacity:e.number().min(0).max(1)}),he=e.object({position:C,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),Y=u.extend(he.shape).extend({type:e.literal("Text")}),ee=u.extend(he.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),j=u.extend({type:e.literal("Image"),coordinates:k.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),mt=u.extend({type:e.literal("Link"),coordinates:k.shape.coordinates,url:e.string()}),P={type:!0,coordinates:!0},S={id:!0},oe=H.partial().extend(H.pick(P).shape).omit(S),q=V.partial().extend(V.pick(P).shape).omit(S),re=w.partial().extend(w.pick(P).shape).omit(S),ne=J.partial().extend(J.pick({type:!0,center:!0,radius:!0}).shape).omit(S),ae=U.partial().extend(U.pick(P).shape).omit(S),ie=O.partial().extend(O.pick(P).shape).omit(S),se=Y.partial().omit({...S,name:!0,type:!0}).extend({type:e.literal("Text"),text:e.string()}),le=ee.partial().omit({...S,name:!0,type:!0}).extend({type:e.literal("Note"),text:e.string()}),gt=j.partial().extend(j.pick({...P,imageUrl:!0}).shape).omit(S),fe=e.discriminatedUnion("type",[oe,q,re,ne,ae,ie,gt,se,le]);var Gr=V.omit({coordinates:!0}),Ir=w.omit({coordinates:!0});var Tr=U.omit({coordinates:!0}),Pr=O.omit({coordinates:!0});var Er=j.omit({coordinates:!0}),zr=mt.omit({coordinates:!0}),x={type:!0,id:!0},yt=H.partial().extend(H.pick(x).shape),dt=V.partial().extend(V.pick(x).shape),ut=w.partial().extend(w.pick(x).shape),ht=J.partial().extend(J.pick(x).shape),ft=U.partial().extend(U.pick(x).shape),St=O.partial().extend(O.pick(x).shape),xt=Y.partial().extend(Y.pick(x).shape).omit({name:!0}),Lt=ee.partial().extend(ee.pick(x).shape).omit({name:!0}),bt=j.partial().extend(j.pick(x).shape),Se=e.discriminatedUnion("type",[yt,dt,ut,ht,ft,St,xt,Lt,bt]),xe=e.object({ids:e.array(e.string()).optional()}),Le=e.object({ids:e.array(e.string()).optional()});var Mt=t("getElement",h.string()),Ct=t("getElementGeometry",h.string()),Gt=t("getElements",xe.optional()),It=t("getElementGroup",h.string()),Tt=t("getElementGroups",Le.optional()),Pt=t("setElementGroupVisibility",I),Et=d("onElementChange",h.object({id:h.string()})),zt=l("onElementCreate"),Ft=l("onElementCreateEnd"),kt=d("onElementDelete",h.object({id:h.string()})),Vt=d("onElementGroupChange",h.object({id:h.string()})),wt=t("createElement",fe),Ut=t("updateElement",Se),Ot=t("deleteElement",h.string()),be={methods:[Mt,Ct,Gt,It,Tt,Pt,wt,Ut,Ot],listeners:[Et,zt,Ft,kt,Vt]};var jt=l("onPointerClick"),vt=l("onPointerMove"),Me={methods:null,listeners:[jt,vt]};import{z as n}from"zod";import{z as i}from"zod";var Rt=i.enum(["in","ni"]),Nt=i.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Ar=i.enum(["and","or"]),Ce=i.union([i.number(),i.string(),i.boolean(),i.null()]),Ge=i.string().or(i.null()),At=i.tuple([Ge,Rt,i.array(Ce).or(i.null())]),Bt=i.tuple([Ge,Nt,Ce]),pe=i.union([At,Bt]),ce=i.tuple([i.lazy(()=>i.union([ce,pe,i.null(),i.boolean()])),i.enum(["and","or"]),i.lazy(()=>i.union([ce,pe,i.null(),i.boolean()]))]),L=i.union([ce,pe,i.null(),i.boolean()]),b=i.union([f,F,B,i.array(C)]);import{z as o}from"zod";var Ie=o.enum(["avg","max","min","sum","median"]),Te=o.enum(["avg","max","min","sum","count"]),Dt=o.object({method:Ie,attribute:o.string()}),Ht=o.object({methods:o.array(o.union([Ie,o.literal("count")])),attribute:o.string().optional()}),Pe=o.object({boundary:b.optional(),filters:L.optional(),aggregation:Dt.optional()}),Ee=o.object({layerId:o.string(),attribute:o.string(),limit:o.number().optional(),boundary:b.optional(),filters:L.optional(),values:Pe.optional()}),Jr=o.object({key:o.union([o.number(),o.string(),o.boolean()]),value:o.number().nullable()}),Jt=o.object({type:o.literal("equal-intervals"),count:o.number()}),Zt=o.object({type:o.literal("time-interval"),interval:o.enum(["hour","day","week","month","year"])}),ze=o.object({layerId:o.string(),attribute:o.string(),steps:o.union([Jt,Zt,o.array(o.number())]),boundary:b.optional(),filters:L.optional(),values:Pe.optional()}),Zr=o.object({min:o.number(),max:o.number(),value:o.number()}),Fe=o.object({layerId:o.string(),boundary:b.optional(),filters:L.optional(),aggregation:Ht}),ke=o.enum(["h3"]),qt=o.object({type:ke,resolution:o.number(),method:Te.extract(["count"])}),Wt=o.object({type:ke,resolution:o.number(),method:Te.exclude(["count"]),attribute:o.string()}),_t=o.union([qt,Wt]),Ve=o.object({layerId:o.string(),boundary:b.optional(),filters:L.optional(),gridConfig:_t});import{z as r}from"zod";var Qr=r.enum(["processing","completed","failed","incomplete"]),we=r.object({type:r.literal("geoJsonUrl"),url:r.string().url(),refreshInterval:r.number().min(250).max(5*60*1e3).nullable().optional()}),Ue=r.object({type:r.literal("geoJsonData"),data:r.object({}).passthrough().or(r.instanceof(ArrayBuffer))}),Oe=r.object({type:r.literal("geoJsonFile"),file:r.instanceof(File)}),je=r.object({id:r.string(),style:r.object({}).passthrough().optional(),shownInLegend:r.boolean().optional(),name:r.string().optional(),caption:r.string().optional(),description:r.string().optional(),bounds:f.optional(),source:r.union([we,Ue,Oe]).optional()}),ve=r.object({ids:r.array(r.string()).optional()}),Re=r.object({ids:r.array(r.string()).optional()}),E=r.object({id:r.string(),layerId:r.string()}),Ne=r.object({ids:E.array().optional(),layerIds:r.string().array().optional()}),Ae=r.object({layerIds:r.array(r.string()).optional(),areaQuery:r.union([r.object({coordinates:A}),r.object({boundary:f})]).optional()}),Qt=r.object({Point:r.object({}).passthrough().optional(),Line:r.object({}).passthrough().optional(),Polygon:r.object({}).passthrough().optional()}),Be=r.object({source:r.union([we,Ue,Oe]),name:r.string(),bounds:f.optional(),caption:r.string().optional(),description:r.string().optional(),geometryStyles:Qt.optional()});var $t=t("getLayer",n.string()),Kt=t("getLayers",ve.optional()),Xt=t("setLayerVisibility",I),Yt=d("onLayerChange",n.object({id:n.string()})),eo=t("setLayerStyle",n.object({id:n.string(),style:n.object({}).passthrough()})),to=t("setLayerLegendVisibility",I),oo=t("createLayersFromGeoJson",Be),ro=t("updateLayer",je),no=t("deleteLayer",n.string()),ao=t("getLayerGroup",n.string()),io=t("getLayerGroups",Re.optional()),so=t("setLayerGroupVisibility",I),lo=t("setLayerGroupLegendVisibility",I),po=d("onLayerGroupChange",n.object({id:n.string()})),co=t("getLegendItem",E),mo=t("getLegendItems",Ne.optional()),go=d("onLegendItemChange",E),yo=t("setLegendItemVisibility",n.object({show:E.array().optional(),hide:E.array().optional()})),uo=t("getLayerFilters",n.string()),ho=t("setLayerFilters",n.object({layerId:n.string(),filters:L,note:n.string().optional()})),fo=d("onLayerFiltersChange",n.object({layerId:n.string()})),So=t("getLayerBoundaries",n.string()),xo=t("setLayerBoundary",n.object({layerIds:n.array(n.string()),boundary:b.nullable()})),Lo=d("onLayerBoundariesChange",n.object({layerId:n.string()})),bo=t("getRenderedFeatures",Ae.optional()),Mo=t("getFeature",n.object({id:n.string().or(n.number()),layerId:n.string()})),Co=t("getFeatures",n.object({layerId:n.string(),filters:L.optional(),sorting:D.optional(),boundary:b.optional(),search:n.string().optional(),pagination:n.string().optional().nullish()})),Go=t("getGeoJsonFeature",n.object({id:n.string().or(n.number()),layerId:n.string()})),Io=t("getCategoryData",Ee),To=t("getHistogramData",ze),Po=t("getAggregates",Fe),Eo=t("getPrecomputedAggregates",Ve),zo=t("getLayerSchema",n.string()),De={methods:[$t,Kt,Xt,eo,to,oo,no,ro,ao,io,so,lo,co,mo,yo,uo,ho,So,xo,bo,Mo,Co,Go,Io,To,Po,Eo,zo],listeners:[Yt,po,go,fo,Lo]};import{z as Fo}from"zod";var ko=t("getMapDetails",Fo.undefined()),He={methods:[ko],listeners:[]};import{z as W}from"zod";import{z as G}from"zod";var Je=G.object({id:G.string().or(G.number()),layerId:G.string(),showPopup:G.boolean().optional(),fitViewport:G.boolean().or(G.object({maxZoom:G.number()})).optional()});var Vo=t("getSelection",W.undefined()),wo=l("onSelectionChange"),Uo=t("selectFeature",Je),Oo=t("clearSelection",W.object({features:W.boolean().optional(),elements:W.boolean().optional()}).optional()),Ze={methods:[Vo,Uo,Oo],listeners:[wo]};import{z as qo}from"zod";import{z as p}from"zod";var qe=["circle","highlighter","line","marker","note","pin","polygon","route","text"],jo=[...qe,"link"],We=p.enum(jo),_e=p.enum(qe),vo=oe.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:p.enum(["enter name","add another","select"])}).required(),Ro=q.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),No=q.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Ao=re.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Bo=ne.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Do=ae.pick({color:!0,opacity:!0,size:!0}).required(),Ho=ie.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:p.number().min(0).max(200)}).required(),Jo=se.pick({color:!0,align:!0,style:!0}).required(),Zo=le.pick({color:!0,align:!0,style:!0}).required(),Qe=p.discriminatedUnion("tool",[vo.partial().extend({tool:p.literal("pin")}),Ro.partial().extend({tool:p.literal("line")}),No.partial().extend({tool:p.literal("route")}),Ao.partial().extend({tool:p.literal("polygon")}),Bo.partial().extend({tool:p.literal("circle")}),Do.partial().extend({tool:p.literal("marker")}),Ho.partial().extend({tool:p.literal("highlighter")}),Jo.partial().extend({tool:p.literal("text")}),Zo.partial().extend({tool:p.literal("note")})]);var Wo=t("setTool",We.nullable()),_o=t("getTool",qo.undefined()),Qo=l("onToolChange"),$o=t("setToolSettings",Qe),Ko=t("getToolSettings",_e),Xo=l("onToolSettingsChange"),$e={methods:[Wo,_o,$o,Ko],listeners:[Qo,Xo]};import{z as me}from"zod";import{z as m}from"zod";var Ke=m.object({showLegend:m.boolean().optional(),cooperativeGestures:m.boolean().optional(),fullScreenButton:m.boolean().optional(),geolocation:m.boolean().optional(),zoomControls:m.boolean().optional(),scaleBar:m.boolean().optional()}),Xe=m.object({featureSelectPanel:m.boolean().optional(),featureHoverPanel:m.boolean().optional(),elementSelectPanel:m.boolean().optional(),linkClickOpen:m.boolean().optional(),imageLightboxOpen:m.boolean().optional()});var Yo=t("updateUiControls",Ke),er=t("setOnMapInteractionsUi",Xe),tr=t("showLayerDataTable",me.object({layerId:me.string(),sorting:D.optional()}).optional()),or=t("hideLayerDataTable",me.undefined()),Ye={methods:[Yo,er,tr,or],listeners:null};import{z as rt}from"zod";import{z as Q}from"zod";var _=Q.object({center:A,zoom:ue}),et=Q.object({center:_.shape.center.optional(),zoom:_.shape.zoom.optional()}),tt=Q.object({minZoom:_.shape.zoom.nullish(),maxZoom:_.shape.zoom.nullish(),bounds:f.nullish()}).nullable(),ot=Q.object({bounds:f});var rr=t("getViewport",rt.undefined()),nr=t("setViewport",et),ar=t("getViewportConstraints",rt.undefined()),ir=t("setViewportConstraints",tt),sr=t("fitViewportToBounds",ot),lr=l("onViewportMove"),pr=l("onViewportMoveEnd"),cr=l("onMapIdle"),nt={methods:[nr,rr,ar,ir,sr],listeners:[lr,pr,cr]};var ge=[Ye,nt,De,be,Ze,Me,$e,He];function Wn(a,T,ye){let $=new Map;async function de(y){if(!ur.safeParse(y.data).success){ye?.onUnknownMessage?.(y.data);return}let v=st.safeParse(y.data);if(!v.success){ye?.onInvalidMessage?.(y.data,v.error),y.ports[0]?.postMessage(at(v.error.message));return}let{data:c}=v;if(c.type==="felt.ready")y.ports[0]?.postMessage(!0);else if(c.type==="felt.addListener"){if(c.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let z="options"in c.event?{options:"options"in c.event?c.event.options:void 0,handler:X=>{y.ports[0]?.postMessage(X)}}:{handler:X=>{y.ports[0]?.postMessage(X)}},K=T.listeners[c.event.eventName](z);$.set(c.event.id,K)}else if(c.type==="felt.removeListener")$.get(c.id)?.(),$.delete(c.id);else try{let z=T.methods[c.type],K=await z(c.params);y.ports[0]?.postMessage(K)}catch(z){y.ports[0]?.postMessage(at(z))}}return a.addEventListener("message",de),()=>{a.removeEventListener("message",de)}}var it={methods:ge.map(a=>a.methods??[]).flat(),listeners:ge.map(a=>a.listeners??[]).flat()},mr=g.discriminatedUnion("eventName",[g.strictObject({eventName:g.literal("")}),...it.listeners]),gr=g.strictObject({type:g.literal("felt.addListener"),event:mr}),yr=g.strictObject({type:g.literal("felt.removeListener"),id:g.string()}),dr=g.strictObject({type:g.literal("felt.ready")}),st=g.discriminatedUnion("type",[dr,gr,yr,...it.methods]),ur=g.object({type:g.enum(st.options.map(a=>a.shape.type.value))});function at(a){return{__error__:hr(a)}}function hr(a){return a instanceof Error?a.message:typeof a=="object"&&a!==null&&"message"in a?String(a.message):typeof a=="string"?a:"Unknown error"}export{Wn as createMessageHandler};
1
+ import{z as 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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feltmaps/js-sdk",
3
- "version": "1.7.0-next.2",
3
+ "version": "1.7.0-next.4",
4
4
  "description": "An SDK for Felt maps",
5
5
  "keywords": [
6
6
  "felt",