@feltmaps/js-sdk 1.5.0-next.21 → 1.5.0-next.22

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.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z, ZodError } from 'zod';
2
- import { O as zInfer, E as Element, G as GeoJsonGeometry, b as ElementGroup, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, M as MapInteractionEvent, L as Layer, j as LayerGroup, n as LegendItem, q as LayerFilters, s as LayerFeature, t as GeoJsonFeature, v as GetLayerCategoriesGroup, x as GetLayerHistogramBin, A as AggregationMethod, z as LayerSchema, i as LayerChangeCallbackParams, l as LayerGroupChangeCallbackParams, p as LegendItemChangeCallbackParams, aI as FilterTernary, B as MapDetails, D as EntityNode, T as ToolType, K as ToolSettingsMap, N as ToolSettingsChangeEvent, V as ViewportState, R as ViewportConstraints, bd as UnionToIntersection, be as PromiseOrNot } from './types-f_Zc32jS.js';
2
+ import { O as zInfer, E as Element, G as GeoJsonGeometry, b as ElementGroup, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, M as MapInteractionEvent, L as Layer, j as LayerGroup, n as LegendItem, q as LayerFilters, s as LayerFeature, t as GeoJsonFeature, v as GetLayerCategoriesGroup, x as GetLayerHistogramBin, A as AggregationMethod, z as LayerSchema, i as LayerChangeCallbackParams, l as LayerGroupChangeCallbackParams, p as LegendItemChangeCallbackParams, aJ as FilterTernary, B as MapDetails, D as EntityNode, T as ToolType, K as ToolSettingsMap, N as ToolSettingsChangeEvent, V as ViewportState, R as ViewportConstraints, be as UnionToIntersection, bf as PromiseOrNot } from './types-CnYUajGG.js';
3
3
 
4
4
  type Method<TRequest extends {
5
5
  type: string;
@@ -1960,25 +1960,24 @@ declare const CreateLayersFromGeoJsonMessage: z.ZodObject<{
1960
1960
  source: z.ZodUnion<[z.ZodObject<{
1961
1961
  type: z.ZodLiteral<"geoJsonUrl">;
1962
1962
  url: z.ZodString;
1963
+ refreshInterval: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1963
1964
  }, "strip", z.ZodTypeAny, {
1964
1965
  type: "geoJsonUrl";
1965
1966
  url: string;
1967
+ refreshInterval?: number | null | undefined;
1966
1968
  }, {
1967
1969
  type: "geoJsonUrl";
1968
1970
  url: string;
1971
+ refreshInterval?: number | null | undefined;
1969
1972
  }>, z.ZodObject<{
1970
1973
  type: z.ZodLiteral<"geoJsonData">;
1971
- data: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
1974
+ data: z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodType<ArrayBuffer, z.ZodTypeDef, ArrayBuffer>]>;
1972
1975
  }, "strip", z.ZodTypeAny, {
1973
1976
  type: "geoJsonData";
1974
- data: {} & {
1975
- [k: string]: unknown;
1976
- };
1977
+ data: ArrayBuffer | z.objectOutputType<{}, z.ZodTypeAny, "passthrough">;
1977
1978
  }, {
1978
1979
  type: "geoJsonData";
1979
- data: {} & {
1980
- [k: string]: unknown;
1981
- };
1980
+ data: ArrayBuffer | z.objectInputType<{}, z.ZodTypeAny, "passthrough">;
1982
1981
  }>, z.ZodObject<{
1983
1982
  type: z.ZodLiteral<"geoJsonFile">;
1984
1983
  file: z.ZodType<File, z.ZodTypeDef, File>;
@@ -1990,6 +1989,9 @@ declare const CreateLayersFromGeoJsonMessage: z.ZodObject<{
1990
1989
  file: File;
1991
1990
  }>]>;
1992
1991
  name: z.ZodString;
1992
+ bounds: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1993
+ caption: z.ZodOptional<z.ZodString>;
1994
+ description: z.ZodOptional<z.ZodString>;
1993
1995
  geometryStyles: z.ZodOptional<z.ZodObject<{
1994
1996
  Point: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
1995
1997
  Line: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
@@ -2008,15 +2010,17 @@ declare const CreateLayersFromGeoJsonMessage: z.ZodObject<{
2008
2010
  source: {
2009
2011
  type: "geoJsonUrl";
2010
2012
  url: string;
2011
- } | {
2012
- type: "geoJsonData";
2013
- data: {} & {
2014
- [k: string]: unknown;
2015
- };
2013
+ refreshInterval?: number | null | undefined;
2016
2014
  } | {
2017
2015
  type: "geoJsonFile";
2018
2016
  file: File;
2017
+ } | {
2018
+ type: "geoJsonData";
2019
+ data: ArrayBuffer | z.objectOutputType<{}, z.ZodTypeAny, "passthrough">;
2019
2020
  };
2021
+ description?: string | undefined;
2022
+ bounds?: [number, number, number, number] | undefined;
2023
+ caption?: string | undefined;
2020
2024
  geometryStyles?: {
2021
2025
  Point?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
2022
2026
  Polygon?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
@@ -2027,15 +2031,17 @@ declare const CreateLayersFromGeoJsonMessage: z.ZodObject<{
2027
2031
  source: {
2028
2032
  type: "geoJsonUrl";
2029
2033
  url: string;
2030
- } | {
2031
- type: "geoJsonData";
2032
- data: {} & {
2033
- [k: string]: unknown;
2034
- };
2034
+ refreshInterval?: number | null | undefined;
2035
2035
  } | {
2036
2036
  type: "geoJsonFile";
2037
2037
  file: File;
2038
+ } | {
2039
+ type: "geoJsonData";
2040
+ data: ArrayBuffer | z.objectInputType<{}, z.ZodTypeAny, "passthrough">;
2038
2041
  };
2042
+ description?: string | undefined;
2043
+ bounds?: [number, number, number, number] | undefined;
2044
+ caption?: string | undefined;
2039
2045
  geometryStyles?: {
2040
2046
  Point?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
2041
2047
  Polygon?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
@@ -2048,15 +2054,17 @@ declare const CreateLayersFromGeoJsonMessage: z.ZodObject<{
2048
2054
  source: {
2049
2055
  type: "geoJsonUrl";
2050
2056
  url: string;
2051
- } | {
2052
- type: "geoJsonData";
2053
- data: {} & {
2054
- [k: string]: unknown;
2055
- };
2057
+ refreshInterval?: number | null | undefined;
2056
2058
  } | {
2057
2059
  type: "geoJsonFile";
2058
2060
  file: File;
2061
+ } | {
2062
+ type: "geoJsonData";
2063
+ data: ArrayBuffer | z.objectOutputType<{}, z.ZodTypeAny, "passthrough">;
2059
2064
  };
2065
+ description?: string | undefined;
2066
+ bounds?: [number, number, number, number] | undefined;
2067
+ caption?: string | undefined;
2060
2068
  geometryStyles?: {
2061
2069
  Point?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
2062
2070
  Polygon?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
@@ -2070,15 +2078,17 @@ declare const CreateLayersFromGeoJsonMessage: z.ZodObject<{
2070
2078
  source: {
2071
2079
  type: "geoJsonUrl";
2072
2080
  url: string;
2073
- } | {
2074
- type: "geoJsonData";
2075
- data: {} & {
2076
- [k: string]: unknown;
2077
- };
2081
+ refreshInterval?: number | null | undefined;
2078
2082
  } | {
2079
2083
  type: "geoJsonFile";
2080
2084
  file: File;
2085
+ } | {
2086
+ type: "geoJsonData";
2087
+ data: ArrayBuffer | z.objectInputType<{}, z.ZodTypeAny, "passthrough">;
2081
2088
  };
2089
+ description?: string | undefined;
2090
+ bounds?: [number, number, number, number] | undefined;
2091
+ caption?: string | undefined;
2082
2092
  geometryStyles?: {
2083
2093
  Point?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
2084
2094
  Polygon?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
@@ -2087,6 +2097,131 @@ declare const CreateLayersFromGeoJsonMessage: z.ZodObject<{
2087
2097
  };
2088
2098
  type: "createLayersFromGeoJson";
2089
2099
  }>;
2100
+ declare const UpdateLayerMessage: z.ZodObject<{
2101
+ type: z.ZodLiteral<"updateLayer">;
2102
+ params: z.ZodObject<{
2103
+ id: z.ZodString;
2104
+ style: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
2105
+ shownInLegend: z.ZodOptional<z.ZodBoolean>;
2106
+ name: z.ZodOptional<z.ZodString>;
2107
+ caption: z.ZodOptional<z.ZodString>;
2108
+ description: z.ZodOptional<z.ZodString>;
2109
+ bounds: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
2110
+ source: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
2111
+ type: z.ZodLiteral<"geoJsonUrl">;
2112
+ url: z.ZodString;
2113
+ refreshInterval: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2114
+ }, "strip", z.ZodTypeAny, {
2115
+ type: "geoJsonUrl";
2116
+ url: string;
2117
+ refreshInterval?: number | null | undefined;
2118
+ }, {
2119
+ type: "geoJsonUrl";
2120
+ url: string;
2121
+ refreshInterval?: number | null | undefined;
2122
+ }>, z.ZodObject<{
2123
+ type: z.ZodLiteral<"geoJsonData">;
2124
+ data: z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodType<ArrayBuffer, z.ZodTypeDef, ArrayBuffer>]>;
2125
+ }, "strip", z.ZodTypeAny, {
2126
+ type: "geoJsonData";
2127
+ data: ArrayBuffer | z.objectOutputType<{}, z.ZodTypeAny, "passthrough">;
2128
+ }, {
2129
+ type: "geoJsonData";
2130
+ data: ArrayBuffer | z.objectInputType<{}, z.ZodTypeAny, "passthrough">;
2131
+ }>, z.ZodObject<{
2132
+ type: z.ZodLiteral<"geoJsonFile">;
2133
+ file: z.ZodType<File, z.ZodTypeDef, File>;
2134
+ }, "strip", z.ZodTypeAny, {
2135
+ type: "geoJsonFile";
2136
+ file: File;
2137
+ }, {
2138
+ type: "geoJsonFile";
2139
+ file: File;
2140
+ }>]>>;
2141
+ }, "strip", z.ZodTypeAny, {
2142
+ id: string;
2143
+ name?: string | undefined;
2144
+ description?: string | undefined;
2145
+ style?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
2146
+ source?: {
2147
+ type: "geoJsonUrl";
2148
+ url: string;
2149
+ refreshInterval?: number | null | undefined;
2150
+ } | {
2151
+ type: "geoJsonFile";
2152
+ file: File;
2153
+ } | {
2154
+ type: "geoJsonData";
2155
+ data: ArrayBuffer | z.objectOutputType<{}, z.ZodTypeAny, "passthrough">;
2156
+ } | undefined;
2157
+ bounds?: [number, number, number, number] | undefined;
2158
+ caption?: string | undefined;
2159
+ shownInLegend?: boolean | undefined;
2160
+ }, {
2161
+ id: string;
2162
+ name?: string | undefined;
2163
+ description?: string | undefined;
2164
+ style?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
2165
+ source?: {
2166
+ type: "geoJsonUrl";
2167
+ url: string;
2168
+ refreshInterval?: number | null | undefined;
2169
+ } | {
2170
+ type: "geoJsonFile";
2171
+ file: File;
2172
+ } | {
2173
+ type: "geoJsonData";
2174
+ data: ArrayBuffer | z.objectInputType<{}, z.ZodTypeAny, "passthrough">;
2175
+ } | undefined;
2176
+ bounds?: [number, number, number, number] | undefined;
2177
+ caption?: string | undefined;
2178
+ shownInLegend?: boolean | undefined;
2179
+ }>;
2180
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2181
+ params: {
2182
+ id: string;
2183
+ name?: string | undefined;
2184
+ description?: string | undefined;
2185
+ style?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
2186
+ source?: {
2187
+ type: "geoJsonUrl";
2188
+ url: string;
2189
+ refreshInterval?: number | null | undefined;
2190
+ } | {
2191
+ type: "geoJsonFile";
2192
+ file: File;
2193
+ } | {
2194
+ type: "geoJsonData";
2195
+ data: ArrayBuffer | z.objectOutputType<{}, z.ZodTypeAny, "passthrough">;
2196
+ } | undefined;
2197
+ bounds?: [number, number, number, number] | undefined;
2198
+ caption?: string | undefined;
2199
+ shownInLegend?: boolean | undefined;
2200
+ };
2201
+ type: "updateLayer";
2202
+ }, {
2203
+ params: {
2204
+ id: string;
2205
+ name?: string | undefined;
2206
+ description?: string | undefined;
2207
+ style?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
2208
+ source?: {
2209
+ type: "geoJsonUrl";
2210
+ url: string;
2211
+ refreshInterval?: number | null | undefined;
2212
+ } | {
2213
+ type: "geoJsonFile";
2214
+ file: File;
2215
+ } | {
2216
+ type: "geoJsonData";
2217
+ data: ArrayBuffer | z.objectInputType<{}, z.ZodTypeAny, "passthrough">;
2218
+ } | undefined;
2219
+ bounds?: [number, number, number, number] | undefined;
2220
+ caption?: string | undefined;
2221
+ shownInLegend?: boolean | undefined;
2222
+ };
2223
+ type: "updateLayer";
2224
+ }>;
2090
2225
  declare const DeleteLayerMessage: z.ZodObject<{
2091
2226
  type: z.ZodLiteral<"deleteLayer">;
2092
2227
  params: z.ZodString;
@@ -3112,6 +3247,7 @@ type LayersSchema = {
3112
3247
  layerGroup: LayerGroup;
3113
3248
  layers: Array<Layer>;
3114
3249
  } | null>;
3250
+ updateLayer: Method<zInfer<typeof UpdateLayerMessage>, Layer>;
3115
3251
  deleteLayer: Method<zInfer<typeof DeleteLayerMessage>, void>;
3116
3252
  getLayerGroup: Method<zInfer<typeof GetGroupMessage>, LayerGroup | null>;
3117
3253
  getLayerGroups: Method<zInfer<typeof GetGroupsMessage>, Array<LayerGroup | null>>;
package/dist/handler.js CHANGED
@@ -1 +1 @@
1
- import{z as y}from"zod";import{z as u}from"zod";import{z as x}from"zod";function t(n,I){return x.strictObject({type:x.literal(n),params:I})}function h(n,I){return x.strictObject({eventName:x.literal(n),id:x.string(),options:I})}function l(n){return x.strictObject({eventName:x.literal(n),id:x.string()})}import{z as i}from"zod";var R=i.number(),j=i.number(),N=i.object({latitude:j,longitude:R}),L=i.tuple([R,j]),P=i.object({type:i.literal("Polygon"),coordinates:i.array(i.array(L).min(4).refine(n=>n[0][0]===n[n.length-1][0]&&n[0][1]===n[n.length-1][1],"The last point of each ring must be identical to the first"))}),A=i.object({type:i.literal("MultiPolygon"),coordinates:i.array(P.shape.coordinates)}),tt=i.object({type:i.literal("LineString"),coordinates:i.array(L).min(2)}),F=i.object({type:i.literal("MultiLineString"),coordinates:i.array(tt.shape.coordinates)}),de=i.number().min(1).max(23),M=i.tuple([R,j,R,j]),C=i.object({show:i.array(i.string()).optional(),hide:i.array(i.string()).optional()}),ot=i.enum(["asc","desc"]),ue=i.object({attribute:i.string(),direction:ot});import{z as e}from"zod";var d=e.object({id:e.string(),groupId:e.string().nullable(),color:e.string(),name:e.string().nullable(),description:e.string().nullable(),attributes:e.record(e.string(),e.unknown()),interaction:e.enum(["default","locked"]).optional()}),J=e.object({imageUrl:e.string().nullable()}),ee=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),rt=e.enum(["meter","kilometer","foot","mile"]),D=d.extend(J.shape).extend({type:e.literal("Place"),coordinates:L,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),k=d.extend(J.shape).extend(ee.shape).extend({type:e.literal("Path"),coordinates:F.shape.coordinates,distanceMarker:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:e.boolean()}),V=d.extend(J.shape).extend(ee.shape).extend({type:e.literal("Polygon"),coordinates:P.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),H=d.extend(J.shape).extend(ee.shape).extend({type:e.literal("Circle"),center:L,radius:e.number(),radiusMarker:e.boolean(),radiusDisplayAngle:e.number(),radiusDisplayUnit:rt.nullable(),fillOpacity:e.number().min(0).max(1)}),v=d.extend({type:e.literal("Marker"),coordinates:F.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),w=d.extend({type:e.literal("Highlighter"),coordinates:A.shape.coordinates,renderHoles:e.boolean(),opacity:e.number().min(0).max(1)}),he=e.object({position:L,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),X=d.extend(he.shape).extend({type:e.literal("Text")}),Y=d.extend(he.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),O=d.extend({type:e.literal("Image"),coordinates:F.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),nt=d.extend({type:e.literal("Link"),coordinates:F.shape.coordinates,url:e.string()}),T={type:!0,coordinates:!0},f={id:!0},te=D.partial().extend(D.pick(T).shape).omit(f),B=k.partial().extend(k.pick(T).shape).omit(f),oe=V.partial().extend(V.pick(T).shape).omit(f),re=H.partial().extend(H.pick({type:!0,center:!0,radius:!0}).shape).omit(f),ne=v.partial().extend(v.pick(T).shape).omit(f),ae=w.partial().extend(w.pick(T).shape).omit(f),ie=X.partial().omit({...f,name:!0,type:!0}).extend({type:e.literal("Text"),text:e.string()}),se=Y.partial().omit({...f,name:!0,type:!0}).extend({type:e.literal("Note"),text:e.string()}),at=O.partial().extend(O.pick({...T,imageUrl:!0}).shape).omit(f),fe=e.discriminatedUnion("type",[te,B,oe,re,ne,ae,at,ie,se]);var mr=k.omit({coordinates:!0}),cr=V.omit({coordinates:!0});var yr=v.omit({coordinates:!0}),gr=w.omit({coordinates:!0});var dr=O.omit({coordinates:!0}),ur=nt.omit({coordinates:!0}),S={type:!0,id:!0},it=D.partial().extend(D.pick(S).shape),st=k.partial().extend(k.pick(S).shape),lt=V.partial().extend(V.pick(S).shape),pt=H.partial().extend(H.pick(S).shape),mt=v.partial().extend(v.pick(S).shape),ct=w.partial().extend(w.pick(S).shape),yt=X.partial().extend(X.pick(S).shape).omit({name:!0}),gt=Y.partial().extend(Y.pick(S).shape).omit({name:!0}),dt=O.partial().extend(O.pick(S).shape),Se=e.discriminatedUnion("type",[it,st,lt,pt,mt,ct,yt,gt,dt]),xe=e.object({ids:e.array(e.string()).optional()}),Le=e.object({ids:e.array(e.string()).optional()});var ut=t("getElement",u.string()),ht=t("getElementGeometry",u.string()),ft=t("getElements",xe.optional()),St=t("getElementGroup",u.string()),xt=t("getElementGroups",Le.optional()),Lt=t("setElementGroupVisibility",C),bt=h("onElementChange",u.object({id:u.string()})),Mt=l("onElementCreate"),Ct=l("onElementCreateEnd"),Gt=h("onElementDelete",u.object({id:u.string()})),It=h("onElementGroupChange",u.object({id:u.string()})),Tt=t("createElement",fe),Et=t("updateElement",Se),zt=t("deleteElement",u.string()),be={methods:[ut,ht,ft,St,xt,Lt,Tt,Et,zt],listeners:[bt,Mt,Ct,Gt,It]};var Pt=l("onPointerClick"),Ft=l("onPointerMove"),Me={methods:null,listeners:[Pt,Ft]};import{z as s}from"zod";import{z as a}from"zod";var kt=a.enum(["in","ni"]),Vt=a.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Ir=a.enum(["and","or"]),Ce=a.union([a.number(),a.string(),a.boolean(),a.null()]),Ge=a.string().or(a.null()),vt=a.tuple([Ge,kt,a.array(Ce).or(a.null())]),wt=a.tuple([Ge,Vt,Ce]),le=a.union([vt,wt]),pe=a.tuple([a.lazy(()=>a.union([pe,le,a.null(),a.boolean()])),a.enum(["and","or"]),a.lazy(()=>a.union([pe,le,a.null(),a.boolean()]))]),G=a.union([pe,le,a.null(),a.boolean()]);import{z as o}from"zod";var Ie=o.enum(["avg","max","min","sum","median"]),Ot=o.object({method:Ie,attribute:o.string()}),Ut=o.object({methods:o.array(o.union([Ie,o.literal("count")])),attribute:o.string().optional()}),Z=o.union([M,P,A,o.array(L)]),Te=o.object({boundary:Z.optional(),filters:G.optional(),aggregation:Ot.optional()}),Ee=o.object({layerId:o.string(),attribute:o.string(),limit:o.number().optional(),boundary:Z.optional(),filters:G.optional(),values:Te.optional()}),Fr=o.object({key:o.union([o.number(),o.string(),o.boolean()]),value:o.number().nullable()}),Rt=o.object({type:o.literal("equal-intervals"),count:o.number()}),jt=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([Rt,jt,o.array(o.number())]),boundary:Z.optional(),filters:G.optional(),values:Te.optional()}),kr=o.object({min:o.number(),max:o.number(),value:o.number()}),Pe=o.object({layerId:o.string(),boundary:Z.optional(),filters:G.optional(),aggregation:Ut});import{z as r}from"zod";var Or=r.enum(["processing","completed","failed","incomplete"]),Nt=r.object({type:r.literal("geoJsonUrl"),url:r.string().url()}),At=r.object({type:r.literal("geoJsonData"),data:r.object({}).passthrough()}),Dt=r.object({type:r.literal("geoJsonFile"),file:r.instanceof(File)}),Fe=r.object({ids:r.array(r.string()).optional()}),ke=r.object({ids:r.array(r.string()).optional()}),E=r.object({id:r.string(),layerId:r.string()}),Ve=r.object({ids:E.array().optional(),layerIds:r.string().array().optional()}),ve=r.object({layerIds:r.array(r.string()).optional(),areaQuery:r.union([r.object({coordinates:N}),r.object({boundary:M})]).optional()}),Ht=r.object({Point:r.object({}).passthrough().optional(),Line:r.object({}).passthrough().optional(),Polygon:r.object({}).passthrough().optional()}),we=r.object({source:r.union([Nt,At,Dt]),name:r.string(),geometryStyles:Ht.optional()});var Jt=t("getLayer",s.string()),Bt=t("getLayers",Fe.optional()),Zt=t("setLayerVisibility",C),qt=h("onLayerChange",s.object({id:s.string()})),Wt=t("setLayerStyle",s.object({id:s.string(),style:s.object({}).passthrough()})),_t=t("setLayerLegendVisibility",C),Qt=t("createLayersFromGeoJson",we),$t=t("deleteLayer",s.string()),Kt=t("getLayerGroup",s.string()),Xt=t("getLayerGroups",ke.optional()),Yt=t("setLayerGroupVisibility",C),eo=t("setLayerGroupLegendVisibility",C),to=h("onLayerGroupChange",s.object({id:s.string()})),oo=t("getLegendItem",E),ro=t("getLegendItems",Ve.optional()),no=h("onLegendItemChange",E),ao=t("setLegendItemVisibility",s.object({show:E.array().optional(),hide:E.array().optional()})),io=t("getLayerFilters",s.string()),so=t("setLayerFilters",s.object({layerId:s.string(),filters:G,note:s.string().optional()})),lo=h("onLayerFiltersChange",s.object({layerId:s.string()})),po=t("getRenderedFeatures",ve.optional()),mo=t("getFeature",s.object({id:s.string().or(s.number()),layerId:s.string()})),co=t("getGeoJsonFeature",s.object({id:s.string().or(s.number()),layerId:s.string()})),yo=t("getCategoryData",Ee),go=t("getHistogramData",ze),uo=t("getAggregates",Pe),ho=t("getLayerSchema",s.string()),Oe={methods:[Jt,Bt,Zt,Wt,_t,Qt,$t,Kt,Xt,Yt,eo,oo,ro,ao,io,so,po,mo,co,yo,go,uo,ho],listeners:[qt,to,no,lo]};import{z as fo}from"zod";var So=t("getMapDetails",fo.undefined()),Ue={methods:[So],listeners:[]};import{z as q}from"zod";import{z as b}from"zod";var Re=b.object({id:b.string().or(b.number()),layerId:b.string(),showPopup:b.boolean().optional(),fitViewport:b.boolean().or(b.object({maxZoom:b.number()})).optional()});var xo=t("getSelection",q.undefined()),Lo=l("onSelectionChange"),bo=t("selectFeature",Re),Mo=t("clearSelection",q.object({features:q.boolean().optional(),elements:q.boolean().optional()}).optional()),je={methods:[xo,bo,Mo],listeners:[Lo]};import{z as Vo}from"zod";import{z as p}from"zod";var Ne=["pin","line","route","polygon","circle","marker","highlighter","text","note"],Ae=p.enum([...Ne,"link"]),De=p.enum(Ne),Co=te.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:p.enum(["enter name","add another","select"])}).required(),Go=B.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),Io=B.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),To=oe.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Eo=re.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),zo=ne.pick({color:!0,opacity:!0,size:!0}).required(),Po=ae.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:p.number().min(0).max(200)}).required(),Fo=ie.pick({color:!0,align:!0,style:!0}).required(),ko=se.pick({color:!0,align:!0,style:!0}).required(),He=p.discriminatedUnion("tool",[Co.partial().extend({tool:p.literal("pin")}),Go.partial().extend({tool:p.literal("line")}),Io.partial().extend({tool:p.literal("route")}),To.partial().extend({tool:p.literal("polygon")}),Eo.partial().extend({tool:p.literal("circle")}),zo.partial().extend({tool:p.literal("marker")}),Po.partial().extend({tool:p.literal("highlighter")}),Fo.partial().extend({tool:p.literal("text")}),ko.partial().extend({tool:p.literal("note")})]);var vo=t("setTool",Ae.nullable()),wo=t("getTool",Vo.undefined()),Oo=l("onToolChange"),Uo=t("setToolSettings",He),Ro=t("getToolSettings",De),jo=l("onToolSettingsChange"),Je={methods:[vo,wo,Uo,Ro],listeners:[Oo,jo]};import{z as me}from"zod";import{z as c}from"zod";var Be=c.object({showLegend:c.boolean().optional(),cooperativeGestures:c.boolean().optional(),fullScreenButton:c.boolean().optional(),geolocation:c.boolean().optional(),zoomControls:c.boolean().optional(),scaleBar:c.boolean().optional()}),Ze=c.object({featureSelectPanel:c.boolean().optional(),featureHoverPanel:c.boolean().optional(),elementSelectPanel:c.boolean().optional(),linkClickOpen:c.boolean().optional(),imageLightboxOpen:c.boolean().optional()});var No=t("updateUiControls",Be),Ao=t("setOnMapInteractionsUi",Ze),Do=t("showLayerDataTable",me.object({layerId:me.string(),sorting:ue.optional()}).optional()),Ho=t("hideLayerDataTable",me.undefined()),qe={methods:[No,Ao,Do,Ho],listeners:null};import{z as $e}from"zod";import{z as _}from"zod";var W=_.object({center:N,zoom:de}),We=_.object({center:W.shape.center.optional(),zoom:W.shape.zoom.optional()}),_e=_.object({minZoom:W.shape.zoom.nullish(),maxZoom:W.shape.zoom.nullish(),bounds:M.nullish()}).nullable(),Qe=_.object({bounds:M});var Jo=t("getViewport",$e.undefined()),Bo=t("setViewport",We),Zo=t("getViewportConstraints",$e.undefined()),qo=t("setViewportConstraints",_e),Wo=t("fitViewportToBounds",Qe),_o=l("onViewportMove"),Qo=l("onViewportMoveEnd"),$o=l("onMapIdle"),Ke={methods:[Bo,Jo,Zo,qo,Wo],listeners:[_o,Qo,$o]};var ce=[qe,Ke,Oe,be,je,Me,Je,Ue];function vn(n,I,ye){let Q=new Map;async function ge(g){if(!tr.safeParse(g.data).success){ye?.onUnknownMessage?.(g.data);return}let U=et.safeParse(g.data);if(!U.success){ye?.onInvalidMessage?.(g.data,U.error),g.ports[0]?.postMessage(Xe(U.error.message));return}let{data:m}=U;if(m.type==="felt.ready")g.ports[0]?.postMessage(!0);else if(m.type==="felt.addListener"){if(m.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let z="options"in m.event?{options:"options"in m.event?m.event.options:void 0,handler:K=>{g.ports[0]?.postMessage(K)}}:{handler:K=>{g.ports[0]?.postMessage(K)}},$=I.listeners[m.event.eventName](z);Q.set(m.event.id,$)}else if(m.type==="felt.removeListener")Q.get(m.id)?.(),Q.delete(m.id);else try{let z=I.methods[m.type],$=await z(m.params);g.ports[0]?.postMessage($)}catch(z){g.ports[0]?.postMessage(Xe(z))}}return n.addEventListener("message",ge),()=>{n.removeEventListener("message",ge)}}var Ye={methods:ce.map(n=>n.methods??[]).flat(),listeners:ce.map(n=>n.listeners??[]).flat()},Ko=y.discriminatedUnion("eventName",[y.strictObject({eventName:y.literal("")}),...Ye.listeners]),Xo=y.strictObject({type:y.literal("felt.addListener"),event:Ko}),Yo=y.strictObject({type:y.literal("felt.removeListener"),id:y.string()}),er=y.strictObject({type:y.literal("felt.ready")}),et=y.discriminatedUnion("type",[er,Xo,Yo,...Ye.methods]),tr=y.object({type:y.enum(et.options.map(n=>n.shape.type.value))});function Xe(n){return{__error__:or(n)}}function or(n){return n instanceof Error?n.message:typeof n=="object"&&n!==null&&"message"in n?String(n.message):typeof n=="string"?n:"Unknown error"}export{vn as createMessageHandler};
1
+ import{z as y}from"zod";import{z as u}from"zod";import{z as L}from"zod";function t(n,I){return L.strictObject({type:L.literal(n),params:I})}function h(n,I){return L.strictObject({eventName:L.literal(n),id:L.string(),options:I})}function l(n){return L.strictObject({eventName:L.literal(n),id:L.string()})}import{z as i}from"zod";var j=i.number(),R=i.number(),N=i.object({latitude:R,longitude:j}),b=i.tuple([j,R]),P=i.object({type:i.literal("Polygon"),coordinates:i.array(i.array(b).min(4).refine(n=>n[0][0]===n[n.length-1][0]&&n[0][1]===n[n.length-1][1],"The last point of each ring must be identical to the first"))}),A=i.object({type:i.literal("MultiPolygon"),coordinates:i.array(P.shape.coordinates)}),at=i.object({type:i.literal("LineString"),coordinates:i.array(b).min(2)}),F=i.object({type:i.literal("MultiLineString"),coordinates:i.array(at.shape.coordinates)}),de=i.number().min(1).max(23),f=i.tuple([j,R,j,R]),C=i.object({show:i.array(i.string()).optional(),hide:i.array(i.string()).optional()}),it=i.enum(["asc","desc"]),ue=i.object({attribute:i.string(),direction:it});import{z as e}from"zod";var d=e.object({id:e.string(),groupId:e.string().nullable(),color:e.string(),name:e.string().nullable(),description:e.string().nullable(),attributes:e.record(e.string(),e.unknown()),interaction:e.enum(["default","locked"]).optional()}),J=e.object({imageUrl:e.string().nullable()}),ee=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),st=e.enum(["meter","kilometer","foot","mile"]),D=d.extend(J.shape).extend({type:e.literal("Place"),coordinates:b,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),k=d.extend(J.shape).extend(ee.shape).extend({type:e.literal("Path"),coordinates:F.shape.coordinates,distanceMarker:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable(),endCaps:e.boolean()}),V=d.extend(J.shape).extend(ee.shape).extend({type:e.literal("Polygon"),coordinates:P.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),H=d.extend(J.shape).extend(ee.shape).extend({type:e.literal("Circle"),center:b,radius:e.number(),radiusMarker:e.boolean(),radiusDisplayAngle:e.number(),radiusDisplayUnit:st.nullable(),fillOpacity:e.number().min(0).max(1)}),v=d.extend({type:e.literal("Marker"),coordinates:F.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),w=d.extend({type:e.literal("Highlighter"),coordinates:A.shape.coordinates,renderHoles:e.boolean(),opacity:e.number().min(0).max(1)}),he=e.object({position:b,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),X=d.extend(he.shape).extend({type:e.literal("Text")}),Y=d.extend(he.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),U=d.extend({type:e.literal("Image"),coordinates:F.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),lt=d.extend({type:e.literal("Link"),coordinates:F.shape.coordinates,url:e.string()}),T={type:!0,coordinates:!0},S={id:!0},te=D.partial().extend(D.pick(T).shape).omit(S),B=k.partial().extend(k.pick(T).shape).omit(S),oe=V.partial().extend(V.pick(T).shape).omit(S),re=H.partial().extend(H.pick({type:!0,center:!0,radius:!0}).shape).omit(S),ne=v.partial().extend(v.pick(T).shape).omit(S),ae=w.partial().extend(w.pick(T).shape).omit(S),ie=X.partial().omit({...S,name:!0,type:!0}).extend({type:e.literal("Text"),text:e.string()}),se=Y.partial().omit({...S,name:!0,type:!0}).extend({type:e.literal("Note"),text:e.string()}),pt=U.partial().extend(U.pick({...T,imageUrl:!0}).shape).omit(S),fe=e.discriminatedUnion("type",[te,B,oe,re,ne,ae,pt,ie,se]);var yr=k.omit({coordinates:!0}),gr=V.omit({coordinates:!0});var dr=v.omit({coordinates:!0}),ur=w.omit({coordinates:!0});var hr=U.omit({coordinates:!0}),fr=lt.omit({coordinates:!0}),x={type:!0,id:!0},mt=D.partial().extend(D.pick(x).shape),ct=k.partial().extend(k.pick(x).shape),yt=V.partial().extend(V.pick(x).shape),gt=H.partial().extend(H.pick(x).shape),dt=v.partial().extend(v.pick(x).shape),ut=w.partial().extend(w.pick(x).shape),ht=X.partial().extend(X.pick(x).shape).omit({name:!0}),ft=Y.partial().extend(Y.pick(x).shape).omit({name:!0}),St=U.partial().extend(U.pick(x).shape),Se=e.discriminatedUnion("type",[mt,ct,yt,gt,dt,ut,ht,ft,St]),xe=e.object({ids:e.array(e.string()).optional()}),Le=e.object({ids:e.array(e.string()).optional()});var xt=t("getElement",u.string()),Lt=t("getElementGeometry",u.string()),bt=t("getElements",xe.optional()),Mt=t("getElementGroup",u.string()),Ct=t("getElementGroups",Le.optional()),Gt=t("setElementGroupVisibility",C),It=h("onElementChange",u.object({id:u.string()})),Tt=l("onElementCreate"),Et=l("onElementCreateEnd"),zt=h("onElementDelete",u.object({id:u.string()})),Pt=h("onElementGroupChange",u.object({id:u.string()})),Ft=t("createElement",fe),kt=t("updateElement",Se),Vt=t("deleteElement",u.string()),be={methods:[xt,Lt,bt,Mt,Ct,Gt,Ft,kt,Vt],listeners:[It,Tt,Et,zt,Pt]};var vt=l("onPointerClick"),wt=l("onPointerMove"),Me={methods:null,listeners:[vt,wt]};import{z as s}from"zod";import{z as a}from"zod";var Ut=a.enum(["in","ni"]),Ot=a.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Er=a.enum(["and","or"]),Ce=a.union([a.number(),a.string(),a.boolean(),a.null()]),Ge=a.string().or(a.null()),jt=a.tuple([Ge,Ut,a.array(Ce).or(a.null())]),Rt=a.tuple([Ge,Ot,Ce]),le=a.union([jt,Rt]),pe=a.tuple([a.lazy(()=>a.union([pe,le,a.null(),a.boolean()])),a.enum(["and","or"]),a.lazy(()=>a.union([pe,le,a.null(),a.boolean()]))]),G=a.union([pe,le,a.null(),a.boolean()]);import{z as r}from"zod";var Ie=r.enum(["avg","max","min","sum","median"]),Nt=r.object({method:Ie,attribute:r.string()}),At=r.object({methods:r.array(r.union([Ie,r.literal("count")])),attribute:r.string().optional()}),Z=r.union([f,P,A,r.array(b)]),Te=r.object({boundary:Z.optional(),filters:G.optional(),aggregation:Nt.optional()}),Ee=r.object({layerId:r.string(),attribute:r.string(),limit:r.number().optional(),boundary:Z.optional(),filters:G.optional(),values:Te.optional()}),Vr=r.object({key:r.union([r.number(),r.string(),r.boolean()]),value:r.number().nullable()}),Dt=r.object({type:r.literal("equal-intervals"),count:r.number()}),Ht=r.object({type:r.literal("time-interval"),interval:r.enum(["hour","day","week","month","year"])}),ze=r.object({layerId:r.string(),attribute:r.string(),steps:r.union([Dt,Ht,r.array(r.number())]),boundary:Z.optional(),filters:G.optional(),values:Te.optional()}),vr=r.object({min:r.number(),max:r.number(),value:r.number()}),Pe=r.object({layerId:r.string(),boundary:Z.optional(),filters:G.optional(),aggregation:At});import{z as o}from"zod";var jr=o.enum(["processing","completed","failed","incomplete"]),Fe=o.object({type:o.literal("geoJsonUrl"),url:o.string().url(),refreshInterval:o.number().min(250).max(5*60*1e3).nullable().optional()}),ke=o.object({type:o.literal("geoJsonData"),data:o.object({}).passthrough().or(o.instanceof(ArrayBuffer))}),Ve=o.object({type:o.literal("geoJsonFile"),file:o.instanceof(File)}),ve=o.object({id:o.string(),style:o.object({}).passthrough().optional(),shownInLegend:o.boolean().optional(),name:o.string().optional(),caption:o.string().optional(),description:o.string().optional(),bounds:f.optional(),source:o.union([Fe,ke,Ve]).optional()}),we=o.object({ids:o.array(o.string()).optional()}),Ue=o.object({ids:o.array(o.string()).optional()}),E=o.object({id:o.string(),layerId:o.string()}),Oe=o.object({ids:E.array().optional(),layerIds:o.string().array().optional()}),je=o.object({layerIds:o.array(o.string()).optional(),areaQuery:o.union([o.object({coordinates:N}),o.object({boundary:f})]).optional()}),Jt=o.object({Point:o.object({}).passthrough().optional(),Line:o.object({}).passthrough().optional(),Polygon:o.object({}).passthrough().optional()}),Re=o.object({source:o.union([Fe,ke,Ve]),name:o.string(),bounds:f.optional(),caption:o.string().optional(),description:o.string().optional(),geometryStyles:Jt.optional()});var Bt=t("getLayer",s.string()),Zt=t("getLayers",we.optional()),qt=t("setLayerVisibility",C),Wt=h("onLayerChange",s.object({id:s.string()})),_t=t("setLayerStyle",s.object({id:s.string(),style:s.object({}).passthrough()})),Qt=t("setLayerLegendVisibility",C),$t=t("createLayersFromGeoJson",Re),Kt=t("updateLayer",ve),Xt=t("deleteLayer",s.string()),Yt=t("getLayerGroup",s.string()),eo=t("getLayerGroups",Ue.optional()),to=t("setLayerGroupVisibility",C),oo=t("setLayerGroupLegendVisibility",C),ro=h("onLayerGroupChange",s.object({id:s.string()})),no=t("getLegendItem",E),ao=t("getLegendItems",Oe.optional()),io=h("onLegendItemChange",E),so=t("setLegendItemVisibility",s.object({show:E.array().optional(),hide:E.array().optional()})),lo=t("getLayerFilters",s.string()),po=t("setLayerFilters",s.object({layerId:s.string(),filters:G,note:s.string().optional()})),mo=h("onLayerFiltersChange",s.object({layerId:s.string()})),co=t("getRenderedFeatures",je.optional()),yo=t("getFeature",s.object({id:s.string().or(s.number()),layerId:s.string()})),go=t("getGeoJsonFeature",s.object({id:s.string().or(s.number()),layerId:s.string()})),uo=t("getCategoryData",Ee),ho=t("getHistogramData",ze),fo=t("getAggregates",Pe),So=t("getLayerSchema",s.string()),Ne={methods:[Bt,Zt,qt,_t,Qt,$t,Xt,Kt,Yt,eo,to,oo,no,ao,so,lo,po,co,yo,go,uo,ho,fo,So],listeners:[Wt,ro,io,mo]};import{z as xo}from"zod";var Lo=t("getMapDetails",xo.undefined()),Ae={methods:[Lo],listeners:[]};import{z as q}from"zod";import{z as M}from"zod";var De=M.object({id:M.string().or(M.number()),layerId:M.string(),showPopup:M.boolean().optional(),fitViewport:M.boolean().or(M.object({maxZoom:M.number()})).optional()});var bo=t("getSelection",q.undefined()),Mo=l("onSelectionChange"),Co=t("selectFeature",De),Go=t("clearSelection",q.object({features:q.boolean().optional(),elements:q.boolean().optional()}).optional()),He={methods:[bo,Co,Go],listeners:[Mo]};import{z as wo}from"zod";import{z as p}from"zod";var Je=["pin","line","route","polygon","circle","marker","highlighter","text","note"],Be=p.enum([...Je,"link"]),Ze=p.enum(Je),Io=te.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:p.enum(["enter name","add another","select"])}).required(),To=B.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),Eo=B.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),zo=oe.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Po=re.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Fo=ne.pick({color:!0,opacity:!0,size:!0}).required(),ko=ae.pick({color:!0,opacity:!0,renderHoles:!0}).extend({size:p.number().min(0).max(200)}).required(),Vo=ie.pick({color:!0,align:!0,style:!0}).required(),vo=se.pick({color:!0,align:!0,style:!0}).required(),qe=p.discriminatedUnion("tool",[Io.partial().extend({tool:p.literal("pin")}),To.partial().extend({tool:p.literal("line")}),Eo.partial().extend({tool:p.literal("route")}),zo.partial().extend({tool:p.literal("polygon")}),Po.partial().extend({tool:p.literal("circle")}),Fo.partial().extend({tool:p.literal("marker")}),ko.partial().extend({tool:p.literal("highlighter")}),Vo.partial().extend({tool:p.literal("text")}),vo.partial().extend({tool:p.literal("note")})]);var Uo=t("setTool",Be.nullable()),Oo=t("getTool",wo.undefined()),jo=l("onToolChange"),Ro=t("setToolSettings",qe),No=t("getToolSettings",Ze),Ao=l("onToolSettingsChange"),We={methods:[Uo,Oo,Ro,No],listeners:[jo,Ao]};import{z as me}from"zod";import{z as c}from"zod";var _e=c.object({showLegend:c.boolean().optional(),cooperativeGestures:c.boolean().optional(),fullScreenButton:c.boolean().optional(),geolocation:c.boolean().optional(),zoomControls:c.boolean().optional(),scaleBar:c.boolean().optional()}),Qe=c.object({featureSelectPanel:c.boolean().optional(),featureHoverPanel:c.boolean().optional(),elementSelectPanel:c.boolean().optional(),linkClickOpen:c.boolean().optional(),imageLightboxOpen:c.boolean().optional()});var Do=t("updateUiControls",_e),Ho=t("setOnMapInteractionsUi",Qe),Jo=t("showLayerDataTable",me.object({layerId:me.string(),sorting:ue.optional()}).optional()),Bo=t("hideLayerDataTable",me.undefined()),$e={methods:[Do,Ho,Jo,Bo],listeners:null};import{z as et}from"zod";import{z as _}from"zod";var W=_.object({center:N,zoom:de}),Ke=_.object({center:W.shape.center.optional(),zoom:W.shape.zoom.optional()}),Xe=_.object({minZoom:W.shape.zoom.nullish(),maxZoom:W.shape.zoom.nullish(),bounds:f.nullish()}).nullable(),Ye=_.object({bounds:f});var Zo=t("getViewport",et.undefined()),qo=t("setViewport",Ke),Wo=t("getViewportConstraints",et.undefined()),_o=t("setViewportConstraints",Xe),Qo=t("fitViewportToBounds",Ye),$o=l("onViewportMove"),Ko=l("onViewportMoveEnd"),Xo=l("onMapIdle"),tt={methods:[qo,Zo,Wo,_o,Qo],listeners:[$o,Ko,Xo]};var ce=[$e,tt,Ne,be,He,Me,We,Ae];function Un(n,I,ye){let Q=new Map;async function ge(g){if(!rr.safeParse(g.data).success){ye?.onUnknownMessage?.(g.data);return}let O=nt.safeParse(g.data);if(!O.success){ye?.onInvalidMessage?.(g.data,O.error),g.ports[0]?.postMessage(ot(O.error.message));return}let{data:m}=O;if(m.type==="felt.ready")g.ports[0]?.postMessage(!0);else if(m.type==="felt.addListener"){if(m.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let z="options"in m.event?{options:"options"in m.event?m.event.options:void 0,handler:K=>{g.ports[0]?.postMessage(K)}}:{handler:K=>{g.ports[0]?.postMessage(K)}},$=I.listeners[m.event.eventName](z);Q.set(m.event.id,$)}else if(m.type==="felt.removeListener")Q.get(m.id)?.(),Q.delete(m.id);else try{let z=I.methods[m.type],$=await z(m.params);g.ports[0]?.postMessage($)}catch(z){g.ports[0]?.postMessage(ot(z))}}return n.addEventListener("message",ge),()=>{n.removeEventListener("message",ge)}}var rt={methods:ce.map(n=>n.methods??[]).flat(),listeners:ce.map(n=>n.listeners??[]).flat()},Yo=y.discriminatedUnion("eventName",[y.strictObject({eventName:y.literal("")}),...rt.listeners]),er=y.strictObject({type:y.literal("felt.addListener"),event:Yo}),tr=y.strictObject({type:y.literal("felt.removeListener"),id:y.string()}),or=y.strictObject({type:y.literal("felt.ready")}),nt=y.discriminatedUnion("type",[or,er,tr,...rt.methods]),rr=y.object({type:y.enum(nt.options.map(n=>n.shape.type.value))});function ot(n){return{__error__:nr(n)}}function nr(n){return n instanceof Error?n.message:typeof n=="object"&&n!==null&&"message"in n?String(n.message):typeof n=="string"?n:"Unknown error"}export{Un as createMessageHandler};