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

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