@ogc-maps/storybook-components 0.12.1 → 0.12.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SelectionPanel/SelectionPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkBD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,aAAa,EACb,SAAS,GACV,EAAE,mBAAmB,2CAgFrB"}
1
+ {"version":3,"file":"SelectionPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SelectionPanel/SelectionPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoBD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,aAAa,EACb,SAAS,GACV,EAAE,mBAAmB,2CAgFrB"}
package/dist/main.js CHANGED
@@ -1,20 +1,20 @@
1
- import { B as $i } from "./BasemapSwitcher-BW7lyZ2Y.js";
2
- import { C as Bi } from "./CollapsibleControl-qo9daiD8.js";
3
- import { C as Ui, f as Gi, a as qi } from "./CoordinateDisplay-PxPmVjpm.js";
4
- import { E as _i } from "./ExportButton-BsNrOvRE.js";
1
+ import { B as Ri } from "./BasemapSwitcher-BW7lyZ2Y.js";
2
+ import { C as zi } from "./CollapsibleControl-qo9daiD8.js";
3
+ import { C as Gi, f as qi, a as Wi } from "./CoordinateDisplay-PxPmVjpm.js";
4
+ import { E as Vi } from "./ExportButton-BsNrOvRE.js";
5
5
  import { jsx as a, jsxs as l, Fragment as z } from "react/jsx-runtime";
6
6
  import { useState as T, useEffect as q, useRef as H, useCallback as Be, useId as ze, useMemo as Ue } from "react";
7
- import { F as Hi } from "./FeatureDetailPanel-CkFpdEKW.js";
8
- import { F as Xi } from "./FeatureTooltip-DxzN-jnp.js";
9
- import { L as Ji } from "./LayerPanel-SCdJ8948.js";
10
- import { L as Qi } from "./Legend-BLWBzD7Y.js";
11
- import { LuRuler as Ke, LuPentagon as Qe, LuTrash2 as be, LuMousePointer2 as ea, LuSquareDashedMousePointer as aa, LuList as ia, LuGripHorizontal as ta, LuDownload as ra, LuX as la, LuInfo as pa } from "react-icons/lu";
12
- import { Y as na, Z as ua, _ as xe, U as Ge, o as qe, n as ye, W as oa, k as ma } from "./geo--Ta-t__y.js";
13
- import { a as at, b as it, c as tt, d as rt, $ as lt, a0 as pt, a1 as nt, a2 as ut, a3 as ot, a4 as mt, e as st, a5 as ct, f as dt, g as ht, h as gt, i as bt, j as yt, l as ft, m as xt, a6 as wt, a7 as Nt, p as vt, q as kt, r as Ct, s as St, t as Tt, u as Dt, v as Lt, w as At, x as Et, y as It, z as Mt, A as Ft, B as Pt, C as Ot, D as jt, E as $t, F as Rt, G as Bt, a8 as zt, H as Ut, I as Gt, J as qt, K as Wt, L as _t, a9 as Vt, M as Ht, N as Yt, O as Xt, P as Zt, Q as Jt, R as Kt, S as Qt, T as er, V as ar, X as ir } from "./geo--Ta-t__y.js";
14
- import { S as rr } from "./SearchPanel-4Y12jfuP.js";
15
- import { s as sa } from "./index-CtbLVsqD.js";
16
- import { B as pr, a as nr, C as ur, b as or, c as mr, D as sr, d as cr, F as dr, e as hr, f as gr, g as br, G as yr, L as fr, h as xr, i as wr, j as Nr, k as vr, l as kr, M as Cr, N as Sr, O as Tr, P as Dr, m as Lr, S as Ar, n as Er, o as Ir, p as Mr, q as Fr, r as Pr, t as Or, u as jr, T as $r, U as Rr, V as Br, v as zr } from "./index-CtbLVsqD.js";
17
- import './style.css';function xi({
7
+ import { F as Yi } from "./FeatureDetailPanel-CkFpdEKW.js";
8
+ import { F as Zi } from "./FeatureTooltip-DxzN-jnp.js";
9
+ import { L as Ki } from "./LayerPanel-SCdJ8948.js";
10
+ import { L as et } from "./Legend-BLWBzD7Y.js";
11
+ import { LuRuler as Ke, LuPentagon as Qe, LuTrash2 as be, LuMousePointer2 as ea, LuSquareDashedMousePointer as aa, LuPenTool as ia, LuList as ta, LuGripHorizontal as ra, LuDownload as la, LuX as pa, LuInfo as na } from "react-icons/lu";
12
+ import { Y as ua, Z as oa, _ as xe, U as Ge, o as qe, n as ye, W as ma, k as sa } from "./geo--Ta-t__y.js";
13
+ import { a as it, b as tt, c as rt, d as lt, $ as pt, a0 as nt, a1 as ut, a2 as ot, a3 as mt, a4 as st, e as ct, a5 as dt, f as ht, g as gt, h as bt, i as yt, j as ft, l as xt, m as wt, a6 as Nt, a7 as vt, p as kt, q as Ct, r as St, s as Tt, t as Dt, u as Lt, v as At, w as Et, x as It, y as Mt, z as Ft, A as Pt, B as Ot, C as jt, D as $t, E as Rt, F as Bt, G as zt, a8 as Ut, H as Gt, I as qt, J as Wt, K as _t, L as Vt, a9 as Ht, M as Yt, N as Xt, O as Zt, P as Jt, Q as Kt, R as Qt, S as er, T as ar, V as ir, X as tr } from "./geo--Ta-t__y.js";
14
+ import { S as lr } from "./SearchPanel-4Y12jfuP.js";
15
+ import { s as ca } from "./index-CtbLVsqD.js";
16
+ import { B as nr, a as ur, C as or, b as mr, c as sr, D as cr, d as dr, F as hr, e as gr, f as br, g as yr, G as fr, L as xr, h as wr, i as Nr, j as vr, k as kr, l as Cr, M as Sr, N as Tr, O as Dr, P as Lr, m as Ar, S as Er, n as Ir, o as Mr, p as Fr, q as Pr, r as Or, t as jr, u as $r, T as Rr, U as Br, V as zr, v as Ur } from "./index-CtbLVsqD.js";
17
+ import './style.css';function wi({
18
18
  open: e,
19
19
  layers: i,
20
20
  availableFormats: t,
@@ -148,14 +148,14 @@ import './style.css';function xi({
148
148
  }
149
149
  );
150
150
  }
151
- const ca = [
151
+ const da = [
152
152
  { mode: "distance", icon: Ke, label: "Distance" },
153
153
  { mode: "area", icon: Qe, label: "Area" }
154
154
  ];
155
- function da(e, i) {
155
+ function ha(e, i) {
156
156
  return e ? i === 0 ? "Click on the map to start measuring" : e === "distance" ? "Click to add points, double-click to finish" : i < 3 ? "Click to add points (min 3 for area)" : "Click to add points, double-click to close" : "Select a measurement mode";
157
157
  }
158
- function wi({
158
+ function Ni({
159
159
  mode: e,
160
160
  onModeChange: i,
161
161
  points: t,
@@ -165,9 +165,9 @@ function wi({
165
165
  onClear: n,
166
166
  className: x
167
167
  }) {
168
- const s = e ? na[e] : [];
168
+ const s = e ? ua[e] : [];
169
169
  return /* @__PURE__ */ l("div", { className: `mapui:flex mapui:flex-col mapui:gap-3 ${x ?? ""}`, children: [
170
- /* @__PURE__ */ a("div", { className: "mapui:flex mapui:gap-1", children: ca.map(({ mode: g, icon: d, label: w }) => {
170
+ /* @__PURE__ */ a("div", { className: "mapui:flex mapui:gap-1", children: da.map(({ mode: g, icon: d, label: w }) => {
171
171
  const c = e === g;
172
172
  return /* @__PURE__ */ l(
173
173
  "button",
@@ -189,7 +189,7 @@ function wi({
189
189
  );
190
190
  }) }),
191
191
  e && /* @__PURE__ */ l(z, { children: [
192
- /* @__PURE__ */ a("div", { className: "mapui:text-center", children: /* @__PURE__ */ a("div", { className: "mapui:text-2xl mapui:font-semibold mapui:text-gray-900", children: r ? ua(r) : "—" }) }),
192
+ /* @__PURE__ */ a("div", { className: "mapui:text-center", children: /* @__PURE__ */ a("div", { className: "mapui:text-2xl mapui:font-semibold mapui:text-gray-900", children: r ? oa(r) : "—" }) }),
193
193
  /* @__PURE__ */ a("div", { className: "mapui:flex mapui:gap-1", children: s.map((g) => {
194
194
  const d = p === g;
195
195
  return /* @__PURE__ */ a(
@@ -207,7 +207,7 @@ function wi({
207
207
  g
208
208
  );
209
209
  }) }),
210
- /* @__PURE__ */ a("p", { className: "mapui:m-0 mapui:text-center mapui:text-xs mapui:text-gray-500", children: da(e, t.length) }),
210
+ /* @__PURE__ */ a("p", { className: "mapui:m-0 mapui:text-center mapui:text-xs mapui:text-gray-500", children: ha(e, t.length) }),
211
211
  t.length > 0 && /* @__PURE__ */ l(
212
212
  "button",
213
213
  {
@@ -223,14 +223,15 @@ function wi({
223
223
  ] })
224
224
  ] });
225
225
  }
226
- const ha = [
226
+ const ga = [
227
227
  { mode: "click", icon: ea, label: "Click" },
228
- { mode: "box", icon: aa, label: "Box" }
228
+ { mode: "box", icon: aa, label: "Box" },
229
+ { mode: "polygon", icon: ia, label: "Polygon" }
229
230
  ];
230
- function ga(e, i, t) {
231
- return i ? e ? t === 0 ? e === "click" ? "Click on features to select them" : "Click and drag to draw a selection box" : `${t} feature${t !== 1 ? "s" : ""} selected` : "Choose a selection mode" : "Select a layer to begin";
231
+ function ba(e, i, t) {
232
+ return i ? e ? t === 0 ? e === "click" ? "Click on features to select them" : e === "box" ? "Click and drag to draw a selection box" : e === "polygon" ? "Click to add points, double-click to finish" : "Choose a selection mode" : `${t} feature${t !== 1 ? "s" : ""} selected` : "Choose a selection mode" : "Select a layer to begin";
232
233
  }
233
- function Ni({
234
+ function vi({
234
235
  mode: e,
235
236
  onModeChange: i,
236
237
  layers: t,
@@ -259,7 +260,7 @@ function Ni({
259
260
  )
260
261
  ] }),
261
262
  r && /* @__PURE__ */ l(z, { children: [
262
- /* @__PURE__ */ a("div", { className: "mapui:flex mapui:gap-1", children: ha.map(({ mode: d, icon: w, label: c }) => {
263
+ /* @__PURE__ */ a("div", { className: "mapui:flex mapui:gap-1", children: ga.map(({ mode: d, icon: w, label: c }) => {
263
264
  const o = e === d;
264
265
  return /* @__PURE__ */ l(
265
266
  "button",
@@ -280,7 +281,7 @@ function Ni({
280
281
  d
281
282
  );
282
283
  }) }),
283
- /* @__PURE__ */ a("p", { className: "mapui:m-0 mapui:text-center mapui:text-xs mapui:text-gray-500", children: ga(e, r, u) }),
284
+ /* @__PURE__ */ a("p", { className: "mapui:m-0 mapui:text-center mapui:text-xs mapui:text-gray-500", children: ba(e, r, u) }),
284
285
  u > 0 && /* @__PURE__ */ l("div", { className: "mapui:flex mapui:gap-2", children: [
285
286
  /* @__PURE__ */ l(
286
287
  "button",
@@ -289,7 +290,7 @@ function Ni({
289
290
  onClick: x,
290
291
  className: "mapui:flex mapui:flex-1 mapui:items-center mapui:justify-center mapui:gap-1.5 mapui:rounded mapui:bg-blue-600 mapui:px-3 mapui:py-1.5 mapui:text-xs mapui:font-medium mapui:text-white hover:mapui:bg-blue-700",
291
292
  children: [
292
- /* @__PURE__ */ a(ia, { size: 14 }),
293
+ /* @__PURE__ */ a(ta, { size: 14 }),
293
294
  "View Results"
294
295
  ]
295
296
  }
@@ -310,11 +311,11 @@ function Ni({
310
311
  ] })
311
312
  ] });
312
313
  }
313
- function ba(e) {
314
+ function ya(e) {
314
315
  return e == null ? "--" : typeof e == "boolean" ? e ? "Yes" : "No" : typeof e == "object" ? JSON.stringify(e) : String(e);
315
316
  }
316
- const ya = 200, fa = 0.6, xa = 300;
317
- function vi({
317
+ const fa = 200, xa = 0.6, wa = 300;
318
+ function ki({
318
319
  open: e,
319
320
  features: i,
320
321
  columns: t,
@@ -324,14 +325,14 @@ function vi({
324
325
  onFeatureClick: n,
325
326
  onClearSelection: x
326
327
  }) {
327
- const [s, g] = T(xa), d = H(!1), w = H(0), c = H(0), o = Be((N) => {
328
+ const [s, g] = T(wa), d = H(!1), w = H(0), c = H(0), o = Be((N) => {
328
329
  N.preventDefault(), d.current = !0, w.current = N.clientY, c.current = s;
329
330
  }, [s]);
330
331
  if (q(() => {
331
332
  if (!e) return;
332
333
  const N = (C) => {
333
334
  if (!d.current) return;
334
- const E = window.innerHeight * fa, O = w.current - C.clientY, m = Math.min(E, Math.max(ya, c.current + O));
335
+ const E = window.innerHeight * xa, O = w.current - C.clientY, m = Math.min(E, Math.max(fa, c.current + O));
335
336
  g(m);
336
337
  }, v = () => {
337
338
  d.current = !1;
@@ -352,7 +353,7 @@ function vi({
352
353
  {
353
354
  className: "mapui:flex mapui:items-center mapui:justify-center mapui:h-3 mapui:cursor-ns-resize mapui:bg-gray-100 mapui:border-b mapui:border-gray-200 hover:mapui:bg-gray-200",
354
355
  onMouseDown: o,
355
- children: /* @__PURE__ */ a(ta, { size: 14, className: "mapui:text-gray-400" })
356
+ children: /* @__PURE__ */ a(ra, { size: 14, className: "mapui:text-gray-400" })
356
357
  }
357
358
  ),
358
359
  /* @__PURE__ */ l("div", { className: "mapui:flex mapui:items-center mapui:justify-between mapui:px-4 mapui:py-2 mapui:border-b mapui:border-gray-200 mapui:shrink-0", children: [
@@ -368,7 +369,7 @@ function vi({
368
369
  onClick: u,
369
370
  title: "Export",
370
371
  className: "mapui:flex mapui:items-center mapui:justify-center mapui:w-7 mapui:h-7 mapui:rounded hover:mapui:bg-gray-100 mapui:text-gray-500",
371
- children: /* @__PURE__ */ a(ra, { size: 16 })
372
+ children: /* @__PURE__ */ a(la, { size: 16 })
372
373
  }
373
374
  ),
374
375
  x && /* @__PURE__ */ a(
@@ -388,7 +389,7 @@ function vi({
388
389
  onClick: p,
389
390
  title: "Close",
390
391
  className: "mapui:flex mapui:items-center mapui:justify-center mapui:w-7 mapui:h-7 mapui:rounded hover:mapui:bg-gray-100 mapui:text-gray-500",
391
- children: /* @__PURE__ */ a(la, { size: 16 })
392
+ children: /* @__PURE__ */ a(pa, { size: 16 })
392
393
  }
393
394
  )
394
395
  ] })
@@ -420,7 +421,7 @@ function vi({
420
421
  "td",
421
422
  {
422
423
  className: "mapui:px-3 mapui:py-1.5 mapui:text-gray-700 mapui:border-b mapui:border-gray-100 mapui:whitespace-nowrap",
423
- children: ba(N.properties[C])
424
+ children: ya(N.properties[C])
424
425
  },
425
426
  C
426
427
  ))
@@ -433,7 +434,7 @@ function vi({
433
434
  }
434
435
  );
435
436
  }
436
- function wa({ text: e, id: i }) {
437
+ function Na({ text: e, id: i }) {
437
438
  const t = ze(), r = i ?? t;
438
439
  return /* @__PURE__ */ l("span", { className: "mapui:relative mapui:inline-flex mapui:group", children: [
439
440
  /* @__PURE__ */ a(
@@ -443,7 +444,7 @@ function wa({ text: e, id: i }) {
443
444
  "aria-label": "Info",
444
445
  "aria-describedby": r,
445
446
  className: "mapui:inline-flex mapui:items-center mapui:text-gray-400 mapui:cursor-default hover:mapui:text-gray-600 focus:mapui:text-gray-600 focus:mapui:outline-none",
446
- children: /* @__PURE__ */ a(pa, { className: "mapui:h-3.5 mapui:w-3.5" })
447
+ children: /* @__PURE__ */ a(na, { className: "mapui:h-3.5 mapui:w-3.5" })
447
448
  }
448
449
  ),
449
450
  /* @__PURE__ */ l(
@@ -467,7 +468,7 @@ function S({ label: e, error: i, required: t, description: r, htmlFor: p, childr
467
468
  e,
468
469
  t && /* @__PURE__ */ a("span", { className: "mapui:ml-0.5 mapui:text-red-500", "aria-hidden": "true", children: "*" })
469
470
  ] }),
470
- r && /* @__PURE__ */ a(wa, { text: r })
471
+ r && /* @__PURE__ */ a(Na, { text: r })
471
472
  ] }),
472
473
  u,
473
474
  i && /* @__PURE__ */ a("p", { className: "mapui:m-0 mapui:text-xs mapui:text-red-600", role: "alert", children: i })
@@ -644,7 +645,7 @@ const le = () => ({
644
645
  label: void 0,
645
646
  tileMatrixSetId: "WebMercatorQuad"
646
647
  });
647
- function ki({ sources: e, onChange: i }) {
648
+ function Ci({ sources: e, onChange: i }) {
648
649
  const [t, r] = T(null), [p, u] = T(null), [n, x] = T(!1), [s, g] = T(le()), [d, w] = T({}), [c, o] = T({}), [h, N] = T(null), v = async (m, L) => {
649
650
  w((F) => ({ ...F, [m]: "loading" }));
650
651
  try {
@@ -795,7 +796,7 @@ function ki({ sources: e, onChange: i }) {
795
796
  )
796
797
  ] });
797
798
  }
798
- function Ci({
799
+ function Si({
799
800
  sourceUrl: e,
800
801
  selectedCollectionIds: i,
801
802
  onSelect: t,
@@ -843,7 +844,7 @@ function Ci({
843
844
  );
844
845
  }) });
845
846
  }
846
- function Na({ value: e, onChange: i, availableIcons: t }) {
847
+ function va({ value: e, onChange: i, availableIcons: t }) {
847
848
  const [r, p] = T(!1), [u, n] = T(-1), x = H(null), s = ze(), g = u >= 0 ? `${s}-option-${u}` : void 0, d = Ue(() => {
848
849
  if (!t || t.length === 0) return [];
849
850
  if (!e) return t;
@@ -932,10 +933,10 @@ const Ne = [
932
933
  function pe(e) {
933
934
  return Ne[e % Ne.length];
934
935
  }
935
- function va(e) {
936
+ function ka(e) {
936
937
  return e[0] === "interpolate" ? "interpolate" : "match";
937
938
  }
938
- function ka(e) {
939
+ function Ca(e) {
939
940
  const i = Array.isArray(e[1]) ? e[1][1] ?? "" : "", t = e[e.length - 1] ?? "#000000", r = [];
940
941
  for (let p = 2; p < e.length - 1; p += 2)
941
942
  r.push({ value: String(e[p] ?? ""), color: e[p + 1] ?? "#000000" });
@@ -965,7 +966,7 @@ function ke(e, i) {
965
966
  function Ce(e) {
966
967
  return e.map((i) => ({ stopText: String(i.stop), color: i.color }));
967
968
  }
968
- function Ca(e) {
969
+ function Sa(e) {
969
970
  return e.map((i, t) => {
970
971
  if (i.stopText.trim() === "") return "Value required";
971
972
  const r = parseFloat(i.stopText);
@@ -977,7 +978,7 @@ function Ca(e) {
977
978
  return "";
978
979
  });
979
980
  }
980
- function Sa(e) {
981
+ function Ta(e) {
981
982
  const i = [];
982
983
  for (const t of e) {
983
984
  const r = parseFloat(t.stopText);
@@ -987,13 +988,13 @@ function Sa(e) {
987
988
  return i;
988
989
  }
989
990
  const ae = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500", ue = "mapui:cursor-pointer mapui:rounded mapui:border mapui:border-gray-300 mapui:bg-white mapui:px-2 mapui:py-1 mapui:text-xs mapui:text-gray-700 hover:mapui:bg-gray-50", Se = "mapui:cursor-pointer mapui:rounded mapui:border mapui:border-red-200 mapui:bg-white mapui:px-2 mapui:py-1 mapui:text-xs mapui:text-red-600 hover:mapui:bg-red-50";
990
- function Ta({
991
+ function Da({
991
992
  value: e,
992
993
  onChange: i,
993
994
  availableProperties: t = [],
994
995
  onFetchDistinctValues: r
995
996
  }) {
996
- const [p, u] = T(() => va(e)), [n, x] = T(!1), s = ka(e), g = p === "match" ? s.property : "", d = p === "match" ? s.pairs : [], w = p === "match" ? s.fallback : "#000000", [c, o] = T(() => {
997
+ const [p, u] = T(() => ka(e)), [n, x] = T(!1), s = Ca(e), g = p === "match" ? s.property : "", d = p === "match" ? s.pairs : [], w = p === "match" ? s.fallback : "#000000", [c, o] = T(() => {
997
998
  const f = ne(e);
998
999
  return Ce(f.stops);
999
1000
  }), [h, N] = T(() => p === "interpolate" ? ne(e).property : ""), [v, C] = T([]), E = H(e);
@@ -1040,9 +1041,9 @@ function Ta({
1040
1041
  }
1041
1042
  }
1042
1043
  }, R = (f, D) => {
1043
- const I = Ca(D);
1044
+ const I = Sa(D);
1044
1045
  if (C(I), f && D.length >= 2 && I.every((A) => !A)) {
1045
- const A = Sa(D);
1046
+ const A = Ta(D);
1046
1047
  A && i(ke(f, A));
1047
1048
  }
1048
1049
  }, W = (f) => {
@@ -1176,7 +1177,7 @@ function Ta({
1176
1177
  ] });
1177
1178
  }
1178
1179
  const Y = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500";
1179
- function Da({
1180
+ function La({
1180
1181
  value: e,
1181
1182
  onChange: i
1182
1183
  }) {
@@ -1208,7 +1209,7 @@ function Da({
1208
1209
  )
1209
1210
  ] });
1210
1211
  }
1211
- function La({
1212
+ function Aa({
1212
1213
  value: e,
1213
1214
  onChange: i
1214
1215
  }) {
@@ -1259,7 +1260,7 @@ function Te({
1259
1260
  }
1260
1261
  ) }),
1261
1262
  s ? /* @__PURE__ */ a(
1262
- Ta,
1263
+ Da,
1263
1264
  {
1264
1265
  value: i,
1265
1266
  onChange: (d) => t(d),
@@ -1278,7 +1279,7 @@ function Te({
1278
1279
  }
1279
1280
  case "opacity":
1280
1281
  return /* @__PURE__ */ a(
1281
- La,
1282
+ Aa,
1282
1283
  {
1283
1284
  value: i,
1284
1285
  onChange: t
@@ -1319,7 +1320,7 @@ function Te({
1319
1320
  );
1320
1321
  case "translate":
1321
1322
  return /* @__PURE__ */ a(
1322
- Da,
1323
+ La,
1323
1324
  {
1324
1325
  value: i,
1325
1326
  onChange: t
@@ -1364,7 +1365,7 @@ function Te({
1364
1365
  );
1365
1366
  case "icon-image":
1366
1367
  return /* @__PURE__ */ a(
1367
- Na,
1368
+ va,
1368
1369
  {
1369
1370
  value: i ?? "",
1370
1371
  onChange: (s) => t(s ?? void 0),
@@ -1375,7 +1376,7 @@ function Te({
1375
1376
  return null;
1376
1377
  }
1377
1378
  }
1378
- function Aa({ def: e, value: i, onChange: t, availableIcons: r, availableProperties: p, onFetchDistinctValues: u }) {
1379
+ function Ea({ def: e, value: i, onChange: t, availableIcons: r, availableProperties: p, onFetchDistinctValues: u }) {
1379
1380
  const n = e.enableDefault !== void 0, x = i !== void 0;
1380
1381
  if (n && e.widget === "boolean") {
1381
1382
  const s = !e.enableDefault;
@@ -1440,7 +1441,7 @@ function De({
1440
1441
  (g) => g.enableDefault !== void 0 && t[g.key] !== void 0
1441
1442
  ).length;
1442
1443
  return /* @__PURE__ */ a(X, { title: e, defaultOpen: p, badge: s || void 0, children: /* @__PURE__ */ a("div", { className: "mapui:flex mapui:flex-col mapui:gap-2", children: i.map((g) => /* @__PURE__ */ a(
1443
- Aa,
1444
+ Ea,
1444
1445
  {
1445
1446
  def: g,
1446
1447
  value: t[g.key],
@@ -1455,7 +1456,7 @@ function De({
1455
1456
  function V(e) {
1456
1457
  return Array.isArray(e);
1457
1458
  }
1458
- function Ea(e) {
1459
+ function Ia(e) {
1459
1460
  return e[0] === "match" ? "match" : e[0] === "interpolate" ? "interpolate" : null;
1460
1461
  }
1461
1462
  function We(e) {
@@ -1474,7 +1475,7 @@ function We(e) {
1474
1475
  }
1475
1476
  return [];
1476
1477
  }
1477
- function Ia(e) {
1478
+ function Ma(e) {
1478
1479
  if (e[0] === "match") {
1479
1480
  const i = [];
1480
1481
  for (let r = 2; r < e.length - 1; r += 2) {
@@ -1494,7 +1495,7 @@ function Ia(e) {
1494
1495
  }
1495
1496
  return [];
1496
1497
  }
1497
- function Ma(e) {
1498
+ function Fa(e) {
1498
1499
  const i = e[0] === "match" ? e[1] : e[0] === "interpolate" ? e[2] : null;
1499
1500
  if (Array.isArray(i)) {
1500
1501
  if (i[0] === "get" && typeof i[1] == "string") return i[1];
@@ -1503,7 +1504,7 @@ function Ma(e) {
1503
1504
  }
1504
1505
  return null;
1505
1506
  }
1506
- function Fa(e) {
1507
+ function Pa(e) {
1507
1508
  switch (e.type) {
1508
1509
  case "fill":
1509
1510
  return e.paint["fill-color"] ?? "#000000";
@@ -1515,7 +1516,7 @@ function Fa(e) {
1515
1516
  return e.paint["text-color"] ?? e.paint["icon-color"] ?? "#000000";
1516
1517
  }
1517
1518
  }
1518
- function Pa(e) {
1519
+ function Oa(e) {
1519
1520
  switch (e.type) {
1520
1521
  case "fill":
1521
1522
  return "square";
@@ -1553,7 +1554,7 @@ function oe({ expr: e, height: i }) {
1553
1554
  function Le(e, i) {
1554
1555
  return typeof e == "string" ? e : V(e) ? We(e)[0] ?? i : i;
1555
1556
  }
1556
- function Oa({ style: e }) {
1557
+ function ja({ style: e }) {
1557
1558
  if (e.type === "fill") {
1558
1559
  const r = e.paint["fill-color"];
1559
1560
  return /* @__PURE__ */ a(
@@ -1640,7 +1641,7 @@ function Oa({ style: e }) {
1640
1641
  }
1641
1642
  );
1642
1643
  }
1643
- const ja = [
1644
+ const $a = [
1644
1645
  // Appearance (paint)
1645
1646
  { key: "fill-color", label: "Fill Color", widget: "color", group: "Appearance", category: "paint" },
1646
1647
  { key: "fill-opacity", label: "Fill Opacity", widget: "opacity", group: "Appearance", category: "paint" },
@@ -1652,7 +1653,7 @@ const ja = [
1652
1653
  { key: "fill-translate-anchor", label: "Translate Anchor", widget: "enum", group: "Transform", category: "paint", options: ["map", "viewport"], enableDefault: "map", description: '"map" moves the fill with the map when panning; "viewport" keeps the offset fixed on screen.' },
1653
1654
  // Sorting (layout)
1654
1655
  { key: "fill-sort-key", label: "Sort Key", widget: "number", group: "Sorting", category: "layout", step: 1, enableDefault: 0, description: "Features with a higher sort key are drawn on top of features with a lower sort key within this layer." }
1655
- ], $a = [
1656
+ ], Ra = [
1656
1657
  // Appearance (paint)
1657
1658
  { key: "line-color", label: "Line Color", widget: "color", group: "Appearance", category: "paint" },
1658
1659
  { key: "line-width", label: "Line Width", widget: "number", group: "Appearance", category: "paint", min: 0, step: 0.5 },
@@ -1673,7 +1674,7 @@ const ja = [
1673
1674
  { key: "line-round-limit", label: "Round Limit", widget: "number", group: "Cap & Join", category: "layout", step: 0.1, enableDefault: 1.05, description: 'When line-join is "round", angles sharper than this threshold (in radians) are bevelled instead of rounded.' },
1674
1675
  // Sorting (layout)
1675
1676
  { key: "line-sort-key", label: "Sort Key", widget: "number", group: "Sorting", category: "layout", step: 1, enableDefault: 0, description: "Features with a higher sort key are drawn on top of features with a lower sort key within this layer." }
1676
- ], Ra = [
1677
+ ], Ba = [
1677
1678
  // Appearance (paint)
1678
1679
  { key: "circle-color", label: "Circle Color", widget: "color", group: "Appearance", category: "paint" },
1679
1680
  { key: "circle-radius", label: "Radius", widget: "number", group: "Appearance", category: "paint", min: 0, step: 1 },
@@ -1691,7 +1692,7 @@ const ja = [
1691
1692
  { key: "circle-pitch-alignment", label: "Pitch Alignment", widget: "enum", group: "Alignment", category: "paint", options: ["map", "viewport"], enableDefault: "viewport", description: '"map" orients circles flat on the map surface; "viewport" keeps circles facing the screen (default).' },
1692
1693
  // Sorting (layout)
1693
1694
  { key: "circle-sort-key", label: "Sort Key", widget: "number", group: "Sorting", category: "layout", step: 1, enableDefault: 0, description: "Features with a higher sort key are drawn on top of features with a lower sort key within this layer." }
1694
- ], Ba = [
1695
+ ], za = [
1695
1696
  // Icon Appearance (paint)
1696
1697
  { key: "icon-color", label: "Icon Color", widget: "color", group: "Icon Appearance", category: "paint", enableDefault: "#000000" },
1697
1698
  { key: "icon-opacity", label: "Icon Opacity", widget: "opacity", group: "Icon Appearance", category: "paint", enableDefault: 1 },
@@ -1740,14 +1741,14 @@ const ja = [
1740
1741
  { key: "symbol-avoid-edges", label: "Avoid Edges", widget: "boolean", group: "Placement", category: "layout", enableDefault: !1, description: "When enabled, symbols near tile edges are hidden to avoid being clipped or doubled at tile boundaries." },
1741
1742
  { key: "symbol-sort-key", label: "Sort Key", widget: "number", group: "Placement", category: "layout", step: 1, enableDefault: 0, description: "Features with a higher sort key are prioritised in collision detection and drawn on top within this layer." },
1742
1743
  { key: "symbol-z-order", label: "Z-Order", widget: "enum", group: "Placement", category: "layout", options: ["auto", "viewport-y", "source"], enableDefault: "auto", description: '"viewport-y" renders symbols in top-to-bottom screen order (closer = higher); "source" preserves data source order; "auto" uses "viewport-y" when sort-key is unset.' }
1743
- ], za = {
1744
- fill: ja,
1745
- line: $a,
1746
- circle: Ra,
1747
- symbol: Ba
1744
+ ], Ua = {
1745
+ fill: $a,
1746
+ line: Ra,
1747
+ circle: Ba,
1748
+ symbol: za
1748
1749
  };
1749
- function Ua(e) {
1750
- return za[e] ?? [];
1750
+ function Ga(e) {
1751
+ return Ua[e] ?? [];
1751
1752
  }
1752
1753
  function Ae(e) {
1753
1754
  const i = {};
@@ -1758,17 +1759,17 @@ function Ae(e) {
1758
1759
  const ge = {
1759
1760
  type: "fill",
1760
1761
  paint: { "fill-color": "#4a90d9", "fill-opacity": 0.6, "fill-outline-color": "transparent", "fill-antialias": !0 }
1761
- }, Ga = {
1762
+ }, qa = {
1762
1763
  type: "line",
1763
1764
  paint: { "line-color": "#2980b9", "line-width": 2, "line-opacity": 1 }
1764
1765
  }, _e = {
1765
1766
  type: "circle",
1766
1767
  paint: { "circle-color": "#e74c3c", "circle-radius": 5, "circle-opacity": 0.9 }
1767
- }, qa = {
1768
+ }, Wa = {
1768
1769
  type: "symbol",
1769
1770
  paint: { "text-color": "#333333" },
1770
1771
  layout: { "text-field": "{name}", "text-size": 14 }
1771
- }, Wa = {
1772
+ }, _a = {
1772
1773
  layout: { "icon-image": "" }
1773
1774
  };
1774
1775
  function Ee(e) {
@@ -1776,24 +1777,24 @@ function Ee(e) {
1776
1777
  const i = e.layout ?? {}, t = "icon-image" in i, r = "text-field" in i;
1777
1778
  return t && r ? "both" : t ? "icon" : "text";
1778
1779
  }
1779
- const _a = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500", ie = {
1780
+ const Va = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500", ie = {
1780
1781
  fill: "Fill",
1781
1782
  line: "Line",
1782
1783
  circle: "Circle",
1783
1784
  symbol: "Symbol"
1784
- }, Va = ["text", "icon", "both"];
1785
- function Ha({ value: e, onChange: i, suggestedType: t, suggestedTypes: r, availableIcons: p, availableProperties: u, onFetchDistinctValues: n }) {
1785
+ }, Ha = ["text", "icon", "both"];
1786
+ function Ya({ value: e, onChange: i, suggestedType: t, suggestedTypes: r, availableIcons: p, availableProperties: u, onFetchDistinctValues: n }) {
1786
1787
  const x = r ?? (t ? [t] : []), [s, g] = T(() => Ee(e));
1787
1788
  q(() => {
1788
1789
  g(Ee(e));
1789
1790
  }, [e.type]);
1790
1791
  const d = (b) => {
1791
- i(b === "fill" ? ge : b === "line" ? Ga : b === "circle" ? _e : qa);
1792
+ i(b === "fill" ? ge : b === "line" ? qa : b === "circle" ? _e : Wa);
1792
1793
  }, w = (b) => {
1793
1794
  if (b === s) return;
1794
1795
  const M = e.paint ?? {}, P = e.layout ?? {};
1795
1796
  let y = { ...M }, k = { ...P };
1796
- b === "icon" ? (y = Object.fromEntries(Object.entries(y).filter(([j]) => !j.startsWith("text-"))), k = Object.fromEntries(Object.entries(k).filter(([j]) => !j.startsWith("text-"))), "icon-image" in k || (k["icon-image"] = Wa.layout["icon-image"])) : b === "text" && (y = Object.fromEntries(Object.entries(y).filter(([j]) => !j.startsWith("icon-"))), k = Object.fromEntries(Object.entries(k).filter(([j]) => !j.startsWith("icon-"))), "text-field" in k || (k["text-field"] = "{name}"), "text-size" in k || (k["text-size"] = 14), "text-color" in y || (y["text-color"] = "#333333")), g(b), i({
1797
+ b === "icon" ? (y = Object.fromEntries(Object.entries(y).filter(([j]) => !j.startsWith("text-"))), k = Object.fromEntries(Object.entries(k).filter(([j]) => !j.startsWith("text-"))), "icon-image" in k || (k["icon-image"] = _a.layout["icon-image"])) : b === "text" && (y = Object.fromEntries(Object.entries(y).filter(([j]) => !j.startsWith("icon-"))), k = Object.fromEntries(Object.entries(k).filter(([j]) => !j.startsWith("icon-"))), "text-field" in k || (k["text-field"] = "{name}"), "text-size" in k || (k["text-size"] = 14), "text-color" in y || (y["text-color"] = "#333333")), g(b), i({
1797
1798
  ...e,
1798
1799
  paint: y,
1799
1800
  layout: Object.keys(k).length > 0 ? k : void 0
@@ -1812,7 +1813,7 @@ function Ha({ value: e, onChange: i, suggestedType: t, suggestedTypes: r, availa
1812
1813
  layout: Object.keys(y).length > 0 ? y : void 0
1813
1814
  });
1814
1815
  };
1815
- let h = Ua(e.type);
1816
+ let h = Ga(e.type);
1816
1817
  e.type === "symbol" && (s === "text" ? h = h.filter((b) => !b.key.startsWith("icon-")) : s === "icon" && (h = h.filter((b) => !b.key.startsWith("text-"))));
1817
1818
  const N = h.filter((b) => b.category === "paint"), v = h.filter((b) => b.category === "layout"), C = Ae(N), E = Ae(v), O = e.paint, m = e.layout ?? {}, L = Object.keys(C), F = Object.keys(E);
1818
1819
  return /* @__PURE__ */ l("div", { className: "mapui:flex mapui:flex-col mapui:gap-3", children: [
@@ -1843,11 +1844,11 @@ function Ha({ value: e, onChange: i, suggestedType: t, suggestedTypes: r, availa
1843
1844
  {
1844
1845
  value: e.type,
1845
1846
  onChange: (b) => d(b.target.value),
1846
- className: _a,
1847
+ className: Va,
1847
1848
  children: Object.keys(ie).map((b) => /* @__PURE__ */ a("option", { value: b, children: ie[b] }, b))
1848
1849
  }
1849
1850
  ) }),
1850
- e.type === "symbol" && /* @__PURE__ */ a(S, { label: "Symbol Mode", children: /* @__PURE__ */ a("div", { className: "mapui:flex mapui:overflow-hidden mapui:rounded mapui:border mapui:border-gray-300", children: Va.map((b) => /* @__PURE__ */ a(
1851
+ e.type === "symbol" && /* @__PURE__ */ a(S, { label: "Symbol Mode", children: /* @__PURE__ */ a("div", { className: "mapui:flex mapui:overflow-hidden mapui:rounded mapui:border mapui:border-gray-300", children: Ha.map((b) => /* @__PURE__ */ a(
1851
1852
  "button",
1852
1853
  {
1853
1854
  type: "button",
@@ -1863,7 +1864,7 @@ function Ha({ value: e, onChange: i, suggestedType: t, suggestedTypes: r, availa
1863
1864
  )) }) }),
1864
1865
  /* @__PURE__ */ l("div", { className: "mapui:rounded mapui:border mapui:border-gray-100 mapui:p-2", children: [
1865
1866
  /* @__PURE__ */ a("p", { className: "mapui:m-0 mapui:mb-1 mapui:text-xs mapui:text-gray-500", children: "Preview" }),
1866
- /* @__PURE__ */ a(Oa, { style: e })
1867
+ /* @__PURE__ */ a(ja, { style: e })
1867
1868
  ] }),
1868
1869
  F.length > 0 && /* @__PURE__ */ l("div", { className: "mapui:flex mapui:flex-col mapui:gap-2", children: [
1869
1870
  /* @__PURE__ */ a("p", { className: "mapui:m-0 mapui:text-xs mapui:font-medium mapui:uppercase mapui:tracking-wide mapui:text-gray-500", children: "Layout" }),
@@ -1902,7 +1903,7 @@ function Ha({ value: e, onChange: i, suggestedType: t, suggestedTypes: r, availa
1902
1903
  ] });
1903
1904
  }
1904
1905
  const Ie = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500";
1905
- function Ya({ value: e, onChange: i }) {
1906
+ function Xa({ value: e, onChange: i }) {
1906
1907
  return /* @__PURE__ */ l("div", { className: "mapui:flex mapui:flex-col mapui:gap-2", children: [
1907
1908
  /* @__PURE__ */ a(S, { label: "Label", children: /* @__PURE__ */ a(
1908
1909
  "input",
@@ -1938,18 +1939,18 @@ function Ya({ value: e, onChange: i }) {
1938
1939
  ] });
1939
1940
  }
1940
1941
  const Me = () => ({ label: "", color: "#4a90d9", shape: "square" }), me = 8, Fe = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500";
1941
- function Xa({ value: e, onChange: i, styles: t }) {
1942
+ function Za({ value: e, onChange: i, styles: t }) {
1942
1943
  const r = (e == null ? void 0 : e.entries) ?? [], p = (e == null ? void 0 : e.displayMode) ?? "simple", u = Ue(() => {
1943
1944
  if (!t || t.length === 0) return null;
1944
1945
  const c = [];
1945
1946
  let o = "simple", h = null;
1946
1947
  for (const N of t) {
1947
- const v = Fa(N), C = Pa(N);
1948
+ const v = Pa(N), C = Oa(N);
1948
1949
  if (V(v)) {
1949
- const E = Ea(v);
1950
+ const E = Ia(v);
1950
1951
  if (!E) continue;
1951
- const O = Ia(v).map((m) => ({ label: m.label, color: m.color, shape: C }));
1952
- c.push(...O), E === "interpolate" ? (o = "gradient", h || (h = Ma(v))) : o === "simple" && (o = "categorical");
1952
+ const O = Ma(v).map((m) => ({ label: m.label, color: m.color, shape: C }));
1953
+ c.push(...O), E === "interpolate" ? (o = "gradient", h || (h = Fa(v))) : o === "simple" && (o = "categorical");
1953
1954
  } else typeof v == "string" && c.length === 0 && c.push({ label: N.type, color: v, shape: C });
1954
1955
  }
1955
1956
  return c.length === 0 ? null : { entries: c, mode: o, property: h };
@@ -2118,7 +2119,7 @@ function Xa({ value: e, onChange: i, styles: t }) {
2118
2119
  )
2119
2120
  ] }),
2120
2121
  /* @__PURE__ */ a(
2121
- Ya,
2122
+ Xa,
2122
2123
  {
2123
2124
  value: c,
2124
2125
  onChange: (h) => x(o, h)
@@ -2179,15 +2180,15 @@ function Pe({
2179
2180
  }
2180
2181
  );
2181
2182
  }
2182
- const $ = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500", Za = {
2183
+ const $ = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500", Ja = {
2183
2184
  text: { type: "text", property: "", label: "", autocomplete: !1 },
2184
2185
  number: { type: "number", property: "", label: "", inputMode: "input", operator: "eq" },
2185
2186
  datetime: { type: "datetime", property: "", label: "", range: !1 },
2186
2187
  select: { type: "select", property: "", label: "" }
2187
2188
  };
2188
- function Ja({ value: e, onChange: i, availableProperties: t }) {
2189
+ function Ka({ value: e, onChange: i, availableProperties: t }) {
2189
2190
  const r = (n) => {
2190
- i({ ...Za[n], property: e.property, label: e.label });
2191
+ i({ ...Ja[n], property: e.property, label: e.label });
2191
2192
  }, p = (n) => i({ ...e, ...n }), u = t && t.length > 0;
2192
2193
  return /* @__PURE__ */ l("div", { className: "mapui:flex mapui:flex-col mapui:gap-3", children: [
2193
2194
  /* @__PURE__ */ a(S, { label: "Field Type", children: /* @__PURE__ */ l(
@@ -2449,15 +2450,15 @@ function Ja({ value: e, onChange: i, availableProperties: t }) {
2449
2450
  ] })
2450
2451
  ] });
2451
2452
  }
2452
- const Ka = () => ({
2453
+ const Qa = () => ({
2453
2454
  type: "text",
2454
2455
  property: "",
2455
2456
  label: "",
2456
2457
  autocomplete: !1
2457
2458
  });
2458
- function Qa({ fields: e, onChange: i, availableProperties: t }) {
2459
+ function ei({ fields: e, onChange: i, availableProperties: t }) {
2459
2460
  const [r, p] = T(null), u = () => {
2460
- const d = [...e, Ka()];
2461
+ const d = [...e, Qa()];
2461
2462
  i(d), p(d.length - 1);
2462
2463
  }, n = (d, w) => {
2463
2464
  i(e.map((c, o) => o === d ? w : c));
@@ -2524,7 +2525,7 @@ function Qa({ fields: e, onChange: i, availableProperties: t }) {
2524
2525
  )
2525
2526
  ] }),
2526
2527
  r === w && /* @__PURE__ */ a("div", { className: "mapui:border-t mapui:border-gray-100 mapui:p-3", children: /* @__PURE__ */ a(
2527
- Ja,
2528
+ Ka,
2528
2529
  {
2529
2530
  value: d,
2530
2531
  onChange: (c) => n(w, c),
@@ -2543,14 +2544,14 @@ function Qa({ fields: e, onChange: i, availableProperties: t }) {
2543
2544
  )
2544
2545
  ] });
2545
2546
  }
2546
- function ei(e) {
2547
+ function ai(e) {
2547
2548
  return Object.entries(e).map(([i, t]) => ({
2548
2549
  key: i,
2549
2550
  label: t.label ?? "",
2550
2551
  visible: t.visible ?? !0
2551
2552
  }));
2552
2553
  }
2553
- function ai(e) {
2554
+ function ii(e) {
2554
2555
  const i = {};
2555
2556
  for (const t of e)
2556
2557
  i[t.key] = {
@@ -2560,8 +2561,8 @@ function ai(e) {
2560
2561
  return i;
2561
2562
  }
2562
2563
  const se = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500";
2563
- function ii({ value: e, onChange: i, availableProperties: t }) {
2564
- const r = ei(e), p = t && t.length > 0, u = (o) => i(ai(o)), n = () => {
2564
+ function ti({ value: e, onChange: i, availableProperties: t }) {
2565
+ const r = ai(e), p = t && t.length > 0, u = (o) => i(ii(o)), n = () => {
2565
2566
  u([...r, { key: "", label: "", visible: !0 }]);
2566
2567
  }, x = (o) => {
2567
2568
  u(r.filter((h, N) => N !== o));
@@ -2700,7 +2701,7 @@ function ii({ value: e, onChange: i, availableProperties: t }) {
2700
2701
  ] });
2701
2702
  }
2702
2703
  const Ve = /geojson\.org\/schema\/(\w+)\.json/;
2703
- function ti(e) {
2704
+ function ri(e) {
2704
2705
  return !!e.$ref && Ve.test(e.$ref);
2705
2706
  }
2706
2707
  function He(e) {
@@ -2715,7 +2716,7 @@ function fe(e) {
2715
2716
  const i = e.toLowerCase();
2716
2717
  return i.includes("polygon") ? ["fill", "line"] : i.includes("linestring") ? ["line"] : i.includes("point") ? ["circle", "symbol"] : [];
2717
2718
  }
2718
- function ri(e) {
2719
+ function li(e) {
2719
2720
  for (const i of Object.values(e.properties))
2720
2721
  if (i.$ref) {
2721
2722
  const t = He(i.$ref);
@@ -2731,8 +2732,8 @@ function Xe(e) {
2731
2732
  }
2732
2733
  return [];
2733
2734
  }
2734
- function li(e) {
2735
- return Object.entries(e.properties).filter(([, i]) => !ti(i)).map(([i, t]) => ({
2735
+ function pi(e) {
2736
+ return Object.entries(e.properties).filter(([, i]) => !ri(i)).map(([i, t]) => ({
2736
2737
  name: i,
2737
2738
  title: t.title,
2738
2739
  type: t.type,
@@ -2749,7 +2750,7 @@ function Ze(e) {
2749
2750
  (t = r.geometry) != null && t.type && i.add(r.geometry.type);
2750
2751
  return Array.from(i);
2751
2752
  }
2752
- function pi(e) {
2753
+ function ni(e) {
2753
2754
  const i = /* @__PURE__ */ new Set();
2754
2755
  for (const p of e) {
2755
2756
  const u = p.toLowerCase();
@@ -2770,10 +2771,10 @@ function pi(e) {
2770
2771
  ...t ? { geometryFilter: ["Point", "MultiPoint"] } : {}
2771
2772
  }), r;
2772
2773
  }
2773
- async function Si(e, i) {
2774
+ async function Ti(e, i) {
2774
2775
  var t, r;
2775
2776
  try {
2776
- const p = await qe(e, i), u = ri(p);
2777
+ const p = await qe(e, i), u = li(p);
2777
2778
  if (u) return u;
2778
2779
  } catch {
2779
2780
  }
@@ -2784,7 +2785,7 @@ async function Si(e, i) {
2784
2785
  }
2785
2786
  return null;
2786
2787
  }
2787
- async function Ti(e, i) {
2788
+ async function Di(e, i) {
2788
2789
  try {
2789
2790
  const t = await qe(e, i), r = Xe(t);
2790
2791
  if (r.length > 0) return r;
@@ -2800,14 +2801,14 @@ async function Ti(e, i) {
2800
2801
  }
2801
2802
  return [];
2802
2803
  }
2803
- function Di(e) {
2804
+ function Li(e) {
2804
2805
  return e.replace(/_/g, " ").replace(/([a-z])([A-Z])/g, "$1 $2").replace(/\b\w/g, (i) => i.toUpperCase());
2805
2806
  }
2806
- function ni(e, i, t) {
2807
+ function ui(e, i, t) {
2807
2808
  const r = [...e ?? []];
2808
2809
  return r[i] = t, r;
2809
2810
  }
2810
- function ui(e, i) {
2811
+ function oi(e, i) {
2811
2812
  return (e ?? []).filter((t, r) => r !== i);
2812
2813
  }
2813
2814
  const _ = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500";
@@ -2817,7 +2818,7 @@ function Oe({ value: e, onChange: i, availableSources: t, availableIcons: r }) {
2817
2818
  u.current = e;
2818
2819
  const n = H(i);
2819
2820
  n.current = i;
2820
- const x = t.find((m) => m.id === e.sourceId), s = (x == null ? void 0 : x.url) ?? null, g = e.collection || null, { collections: d, loading: w } = Ge(s), { queryables: c, loading: o } = oa(s, g), h = c ? li(c) : [], [N, v] = T([]), [C, E] = T([]);
2821
+ const x = t.find((m) => m.id === e.sourceId), s = (x == null ? void 0 : x.url) ?? null, g = e.collection || null, { collections: d, loading: w } = Ge(s), { queryables: c, loading: o } = ma(s, g), h = c ? pi(c) : [], [N, v] = T([]), [C, E] = T([]);
2821
2822
  return q(() => {
2822
2823
  if (!c) {
2823
2824
  v([]), E([]);
@@ -2825,7 +2826,7 @@ function Oe({ value: e, onChange: i, availableSources: t, availableIcons: r }) {
2825
2826
  }
2826
2827
  const m = (b, M) => {
2827
2828
  var y;
2828
- const P = pi(b);
2829
+ const P = ni(b);
2829
2830
  v(P), E(M), P.length > 0 && !((y = u.current.styles) != null && y.length) && n.current({ ...u.current, styles: P });
2830
2831
  }, L = Xe(c);
2831
2832
  if (L.length > 0) {
@@ -3016,21 +3017,21 @@ function Oe({ value: e, onChange: i, availableSources: t, availableIcons: r }) {
3016
3017
  b
3017
3018
  )) }),
3018
3019
  /* @__PURE__ */ a(
3019
- Ha,
3020
+ Ya,
3020
3021
  {
3021
3022
  value: m,
3022
- onChange: (b) => p({ styles: ni(e.styles, L, b) }),
3023
+ onChange: (b) => p({ styles: ui(e.styles, L, b) }),
3023
3024
  suggestedTypes: C,
3024
3025
  availableIcons: r,
3025
3026
  availableProperties: h,
3026
- onFetchDistinctValues: s && g ? (b) => ma(s, g, b, { fetchAll: !0 }) : void 0
3027
+ onFetchDistinctValues: s && g ? (b) => sa(s, g, b, { fetchAll: !0 }) : void 0
3027
3028
  }
3028
3029
  ),
3029
3030
  (((F = e.styles) == null ? void 0 : F.length) ?? 0) > 0 && /* @__PURE__ */ a(
3030
3031
  "button",
3031
3032
  {
3032
3033
  type: "button",
3033
- onClick: () => p({ styles: ui(e.styles, L) }),
3034
+ onClick: () => p({ styles: oi(e.styles, L) }),
3034
3035
  className: "mapui:cursor-pointer mapui:self-start mapui:rounded mapui:border mapui:border-red-200 mapui:bg-white mapui:px-2 mapui:py-1 mapui:text-xs mapui:text-red-600 hover:mapui:bg-red-50",
3035
3036
  children: "Remove style"
3036
3037
  }
@@ -3048,7 +3049,7 @@ function Oe({ value: e, onChange: i, availableSources: t, availableIcons: r }) {
3048
3049
  )
3049
3050
  ] }) }),
3050
3051
  /* @__PURE__ */ a(X, { title: "Legend", children: /* @__PURE__ */ a(
3051
- Xa,
3052
+ Za,
3052
3053
  {
3053
3054
  value: e.legend,
3054
3055
  onChange: (m) => p({ legend: m }),
@@ -3056,7 +3057,7 @@ function Oe({ value: e, onChange: i, availableSources: t, availableIcons: r }) {
3056
3057
  }
3057
3058
  ) }),
3058
3059
  /* @__PURE__ */ a(X, { title: "Search Fields", children: /* @__PURE__ */ a(
3059
- Qa,
3060
+ ei,
3060
3061
  {
3061
3062
  fields: ((O = e.search) == null ? void 0 : O.fields) ?? [],
3062
3063
  onChange: (m) => p({ search: m.length > 0 ? { fields: m } : void 0 }),
@@ -3064,7 +3065,7 @@ function Oe({ value: e, onChange: i, availableSources: t, availableIcons: r }) {
3064
3065
  }
3065
3066
  ) }),
3066
3067
  /* @__PURE__ */ a(X, { title: "Property Display", children: /* @__PURE__ */ a(
3067
- ii,
3068
+ ti,
3068
3069
  {
3069
3070
  value: e.propertyDisplay ?? {},
3070
3071
  onChange: (m) => p({ propertyDisplay: Object.keys(m).length > 0 ? m : void 0 }),
@@ -3081,7 +3082,7 @@ const ce = () => ({
3081
3082
  visible: !0,
3082
3083
  dataMode: "vector-tiles"
3083
3084
  });
3084
- function Li({ layers: e, onChange: i, availableSources: t, availableIcons: r }) {
3085
+ function Ai({ layers: e, onChange: i, availableSources: t, availableIcons: r }) {
3085
3086
  const [p, u] = T(null), [n, x] = T(!1), [s, g] = T(ce()), [d, w] = T(null), [c, o] = T(null), [h, N] = T(null), v = () => {
3086
3087
  i([...e, s]), x(!1), g(ce());
3087
3088
  }, C = (y) => {
@@ -3342,7 +3343,7 @@ function je({ value: e, onChange: i }) {
3342
3343
  ] });
3343
3344
  }
3344
3345
  const de = () => ({ id: "", label: "", url: "" });
3345
- function Ai({ basemaps: e, onChange: i }) {
3346
+ function Ei({ basemaps: e, onChange: i }) {
3346
3347
  const [t, r] = T(null), [p, u] = T(!1), [n, x] = T(de()), [s, g] = T(null), d = (o) => {
3347
3348
  i(e.map((h) => h.id === t ? o : h));
3348
3349
  }, w = () => {
@@ -3482,14 +3483,14 @@ function Re({ value: e, onChange: i }) {
3482
3483
  ] })
3483
3484
  ] });
3484
3485
  }
3485
- const he = () => ({ id: "", url: "" }), oi = (e) => {
3486
+ const he = () => ({ id: "", url: "" }), mi = (e) => {
3486
3487
  try {
3487
3488
  return new URL(e), !0;
3488
3489
  } catch {
3489
3490
  return !1;
3490
3491
  }
3491
3492
  };
3492
- function Ei({ sprites: e, onChange: i }) {
3493
+ function Ii({ sprites: e, onChange: i }) {
3493
3494
  const [t, r] = T(null), [p, u] = T(!1), [n, x] = T(he()), [s, g] = T(null), d = (o) => {
3494
3495
  i(e.map((h, N) => N === t ? o : h));
3495
3496
  }, w = () => {
@@ -3559,7 +3560,7 @@ function Ei({ sprites: e, onChange: i }) {
3559
3560
  {
3560
3561
  type: "button",
3561
3562
  onClick: w,
3562
- disabled: !n.id || !n.url || !oi(n.url) || e.some((o) => o.id === n.id),
3563
+ disabled: !n.id || !n.url || !mi(n.url) || e.some((o) => o.id === n.id),
3563
3564
  className: "mapui:cursor-pointer mapui:rounded mapui:bg-blue-600 mapui:px-3 mapui:py-1 mapui:text-xs mapui:font-medium mapui:text-white hover:mapui:bg-blue-700 disabled:mapui:cursor-not-allowed disabled:mapui:opacity-50",
3564
3565
  children: "Save"
3565
3566
  }
@@ -3587,7 +3588,7 @@ function Ei({ sprites: e, onChange: i }) {
3587
3588
  )
3588
3589
  ] });
3589
3590
  }
3590
- const mi = [
3591
+ const si = [
3591
3592
  { key: "showLayerPanel", label: "Layer Panel", description: "Toggle layer visibility" },
3592
3593
  { key: "showLegend", label: "Legend", description: "Map legend" },
3593
3594
  { key: "showBasemapSwitcher", label: "Basemap Switcher", description: "Switch basemap styles" },
@@ -3600,13 +3601,13 @@ const mi = [
3600
3601
  { key: "showMeasureTool", label: "Measure Tool", description: "Measure distances and areas on the map" },
3601
3602
  { key: "showSelectionTool", label: "Selection Tool", description: "Select features by click or box draw" }
3602
3603
  ];
3603
- function Ii({ value: e, onChange: i }) {
3604
+ function Mi({ value: e, onChange: i }) {
3604
3605
  const t = (r, p) => {
3605
3606
  i({ ...e, [r]: p });
3606
3607
  };
3607
3608
  return /* @__PURE__ */ l("div", { className: "mapui:flex mapui:flex-col mapui:gap-1", children: [
3608
3609
  /* @__PURE__ */ a("p", { className: "mapui:m-0 mapui:mb-2 mapui:text-xs mapui:text-gray-500", children: "Enable or disable UI panels and controls." }),
3609
- /* @__PURE__ */ a("div", { className: "mapui:grid mapui:grid-cols-1 mapui:gap-2 sm:mapui:grid-cols-2", children: mi.map(({ key: r, label: p, description: u }) => {
3610
+ /* @__PURE__ */ a("div", { className: "mapui:grid mapui:grid-cols-1 mapui:gap-2 sm:mapui:grid-cols-2", children: si.map(({ key: r, label: p, description: u }) => {
3610
3611
  const n = e[r];
3611
3612
  return /* @__PURE__ */ l(
3612
3613
  "label",
@@ -3661,7 +3662,7 @@ const Je = [
3661
3662
  { key: "pitch", label: "Pitch (°)", min: 0, max: 85, step: 1, placeholder: "0" },
3662
3663
  { key: "bearing", label: "Bearing (°)", min: -180, max: 180, step: 1, placeholder: "0" }
3663
3664
  ];
3664
- function si(e, i) {
3665
+ function ci(e, i) {
3665
3666
  const t = Je.find((r) => r.key === e);
3666
3667
  if (t) {
3667
3668
  if (isNaN(i)) return "Must be a number";
@@ -3669,14 +3670,14 @@ function si(e, i) {
3669
3670
  if (i > t.max) return `Must be at most ${t.max}`;
3670
3671
  }
3671
3672
  }
3672
- const ci = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500";
3673
- function Mi({ value: e, onChange: i }) {
3673
+ const di = "mapui:rounded mapui:border mapui:border-gray-300 mapui:px-2 mapui:py-1 mapui:text-sm mapui:outline-none focus:mapui:border-blue-500 focus:mapui:ring-1 focus:mapui:ring-blue-500";
3674
+ function Fi({ value: e, onChange: i }) {
3674
3675
  const t = (r, p) => {
3675
3676
  const u = parseFloat(p);
3676
3677
  i({ ...e, [r]: isNaN(u) ? 0 : u });
3677
3678
  };
3678
3679
  return /* @__PURE__ */ a("div", { className: "mapui:grid mapui:grid-cols-2 mapui:gap-3", children: Je.map(({ key: r, label: p, min: u, max: n, step: x, placeholder: s }) => {
3679
- const g = si(r, e[r]);
3680
+ const g = ci(r, e[r]);
3680
3681
  return /* @__PURE__ */ a(S, { label: p, error: g, children: /* @__PURE__ */ a(
3681
3682
  "input",
3682
3683
  {
@@ -3687,13 +3688,13 @@ function Mi({ value: e, onChange: i }) {
3687
3688
  value: e[r],
3688
3689
  placeholder: s,
3689
3690
  onChange: (d) => t(r, d.target.value),
3690
- className: `${ci} ${g ? "mapui:border-red-400" : ""}`
3691
+ className: `${di} ${g ? "mapui:border-red-400" : ""}`
3691
3692
  }
3692
3693
  ) }, r);
3693
3694
  }) });
3694
3695
  }
3695
- function Fi({ config: e }) {
3696
- const i = sa(e);
3696
+ function Pi({ config: e }) {
3697
+ const i = ca(e);
3697
3698
  return /* @__PURE__ */ l("div", { className: "mapui:flex mapui:flex-col mapui:gap-3", children: [
3698
3699
  /* @__PURE__ */ l("div", { className: "mapui:flex mapui:items-center mapui:gap-2", children: [
3699
3700
  /* @__PURE__ */ a(
@@ -3718,7 +3719,7 @@ function Fi({ config: e }) {
3718
3719
  /* @__PURE__ */ a("div", { className: "mapui:overflow-auto mapui:rounded mapui:border mapui:border-gray-200 mapui:bg-gray-50", children: /* @__PURE__ */ a("pre", { className: "mapui:m-0 mapui:p-3 mapui:text-xs mapui:text-gray-800 mapui:whitespace-pre", children: JSON.stringify(e, null, 2) }) })
3719
3720
  ] });
3720
3721
  }
3721
- function di(e, i) {
3722
+ function hi(e, i) {
3722
3723
  const [t, r] = e, [p, u] = i;
3723
3724
  return {
3724
3725
  type: "Polygon",
@@ -3731,175 +3732,175 @@ function di(e, i) {
3731
3732
  ]]
3732
3733
  };
3733
3734
  }
3734
- function Pi(e, i) {
3735
+ function Oi(e, i) {
3735
3736
  return {
3736
3737
  type: "Feature",
3737
3738
  properties: {},
3738
- geometry: di(e, i)
3739
+ geometry: hi(e, i)
3739
3740
  };
3740
3741
  }
3741
3742
  export {
3742
- pr as BasemapConfigSchema,
3743
+ nr as BasemapConfigSchema,
3743
3744
  je as BasemapEditor,
3744
- Ai as BasemapList,
3745
- $i as BasemapSwitcher,
3746
- nr as BrandingConfigSchema,
3747
- ur as CircleLayoutSchema,
3748
- or as CirclePaintSchema,
3749
- mr as CircleStyleSchema,
3750
- Bi as CollapsibleControl,
3745
+ Ei as BasemapList,
3746
+ Ri as BasemapSwitcher,
3747
+ ur as BrandingConfigSchema,
3748
+ or as CircleLayoutSchema,
3749
+ mr as CirclePaintSchema,
3750
+ sr as CircleStyleSchema,
3751
+ zi as CollapsibleControl,
3751
3752
  X as CollapsibleSection,
3752
- Ci as CollectionBrowser,
3753
+ Si as CollectionBrowser,
3753
3754
  Z as ColorPicker,
3754
- Fi as ConfigPreview,
3755
+ Pi as ConfigPreview,
3755
3756
  re as ConfirmDialog,
3756
- Ui as CoordinateDisplay,
3757
- sr as DEFAULT_HEADER_COLOR,
3758
- cr as DatetimeSearchFieldSchema,
3759
- _i as ExportButton,
3760
- xi as ExportModal,
3761
- Hi as FeatureDetailPanel,
3762
- Xi as FeatureTooltip,
3763
- dr as FillLayoutSchema,
3764
- hr as FillPaintSchema,
3765
- gr as FillStyleSchema,
3766
- br as FilterConfigSchema,
3757
+ Gi as CoordinateDisplay,
3758
+ cr as DEFAULT_HEADER_COLOR,
3759
+ dr as DatetimeSearchFieldSchema,
3760
+ Vi as ExportButton,
3761
+ wi as ExportModal,
3762
+ Yi as FeatureDetailPanel,
3763
+ Zi as FeatureTooltip,
3764
+ hr as FillLayoutSchema,
3765
+ gr as FillPaintSchema,
3766
+ br as FillStyleSchema,
3767
+ yr as FilterConfigSchema,
3767
3768
  S as FormField,
3768
- yr as GeometryTypeSchema,
3769
- fr as LayerConfigSchema,
3769
+ fr as GeometryTypeSchema,
3770
+ xr as LayerConfigSchema,
3770
3771
  Oe as LayerEditor,
3771
- Li as LayerList,
3772
- Ji as LayerPanel,
3773
- Qi as Legend,
3774
- xr as LegendConfigSchema,
3775
- Xa as LegendEditor,
3776
- Ya as LegendEntryEditor,
3777
- wr as LegendEntrySchema,
3778
- Nr as LineLayoutSchema,
3779
- vr as LinePaintSchema,
3780
- kr as LineStyleSchema,
3781
- Cr as MapConfigSchema,
3782
- wi as MeasurePanel,
3783
- Sr as NumberSearchFieldSchema,
3784
- Tr as OgcApiSourceSchema,
3785
- Dr as PropertyDisplayConfigSchema,
3786
- ii as PropertyDisplayEditor,
3787
- Lr as PropertyDisplaySchema,
3788
- vi as ResultsDrawer,
3789
- Ar as SearchConfigSchema,
3790
- Ja as SearchFieldEditor,
3791
- Qa as SearchFieldList,
3792
- Er as SearchFieldSchema,
3793
- rr as SearchPanel,
3794
- Ir as SelectSearchFieldSchema,
3795
- Ni as SelectionPanel,
3772
+ Ai as LayerList,
3773
+ Ki as LayerPanel,
3774
+ et as Legend,
3775
+ wr as LegendConfigSchema,
3776
+ Za as LegendEditor,
3777
+ Xa as LegendEntryEditor,
3778
+ Nr as LegendEntrySchema,
3779
+ vr as LineLayoutSchema,
3780
+ kr as LinePaintSchema,
3781
+ Cr as LineStyleSchema,
3782
+ Sr as MapConfigSchema,
3783
+ Ni as MeasurePanel,
3784
+ Tr as NumberSearchFieldSchema,
3785
+ Dr as OgcApiSourceSchema,
3786
+ Lr as PropertyDisplayConfigSchema,
3787
+ ti as PropertyDisplayEditor,
3788
+ Ar as PropertyDisplaySchema,
3789
+ ki as ResultsDrawer,
3790
+ Er as SearchConfigSchema,
3791
+ Ka as SearchFieldEditor,
3792
+ ei as SearchFieldList,
3793
+ Ir as SearchFieldSchema,
3794
+ lr as SearchPanel,
3795
+ Mr as SelectSearchFieldSchema,
3796
+ vi as SelectionPanel,
3796
3797
  we as SourceEditor,
3797
- ki as SourceList,
3798
+ Ci as SourceList,
3798
3799
  Re as SpriteSourceEditor,
3799
- Ei as SpriteSourceList,
3800
- Mr as SpriteSourceSchema,
3801
- Fr as StyleConfigSchema,
3802
- Ha as StyleEditor,
3803
- Pr as SymbolLayoutSchema,
3804
- Or as SymbolPaintSchema,
3805
- jr as SymbolStyleSchema,
3806
- $r as TextSearchFieldSchema,
3807
- Ii as UIConfigEditor,
3808
- Rr as UIConfigSchema,
3809
- na as UNITS_FOR_MODE,
3800
+ Ii as SpriteSourceList,
3801
+ Fr as SpriteSourceSchema,
3802
+ Pr as StyleConfigSchema,
3803
+ Ya as StyleEditor,
3804
+ Or as SymbolLayoutSchema,
3805
+ jr as SymbolPaintSchema,
3806
+ $r as SymbolStyleSchema,
3807
+ Rr as TextSearchFieldSchema,
3808
+ Mi as UIConfigEditor,
3809
+ Br as UIConfigSchema,
3810
+ ua as UNITS_FOR_MODE,
3810
3811
  xe as UNIT_LABELS,
3811
- Br as ViewConfigSchema,
3812
- Mi as ViewEditor,
3813
- at as and,
3814
- it as bboxFromGeometry,
3815
- tt as between,
3816
- Pi as buildBoxDrawData,
3817
- di as buildBoxPolygon,
3818
- pi as buildDefaultStylesForGeometryTypes,
3819
- rt as buildGeometryFilter,
3820
- lt as buildMeasureGeometryData,
3821
- pt as buildMeasurePointsData,
3822
- nt as calculateArea,
3823
- ut as calculateDistance,
3824
- ot as calculateMeasurement,
3812
+ zr as ViewConfigSchema,
3813
+ Fi as ViewEditor,
3814
+ it as and,
3815
+ tt as bboxFromGeometry,
3816
+ rt as between,
3817
+ Oi as buildBoxDrawData,
3818
+ hi as buildBoxPolygon,
3819
+ ni as buildDefaultStylesForGeometryTypes,
3820
+ lt as buildGeometryFilter,
3821
+ pt as buildMeasureGeometryData,
3822
+ nt as buildMeasurePointsData,
3823
+ ut as calculateArea,
3824
+ ot as calculateDistance,
3825
+ mt as calculateMeasurement,
3825
3826
  _e as defaultCircle,
3826
3827
  ge as defaultFill,
3827
- Ga as defaultLine,
3828
- qa as defaultSymbol,
3829
- mt as defaultUnitForMode,
3828
+ qa as defaultLine,
3829
+ Wa as defaultSymbol,
3830
+ st as defaultUnitForMode,
3830
3831
  Xe as detectGeometryStyleTypesFromQueryables,
3831
- ri as detectGeometryTypeFromQueryables,
3832
+ li as detectGeometryTypeFromQueryables,
3832
3833
  Ze as detectGeometryTypesFromFeatures,
3833
- Si as detectStyleTypeForCollection,
3834
- Ti as detectStyleTypesForCollection,
3835
- st as downloadBlob,
3836
- ct as downloadCsv,
3837
- dt as eq,
3834
+ Ti as detectStyleTypeForCollection,
3835
+ Di as detectStyleTypesForCollection,
3836
+ ct as downloadBlob,
3837
+ dt as downloadCsv,
3838
+ ht as eq,
3838
3839
  We as expressionColors,
3839
- Ia as expressionEntries,
3840
- Ma as expressionPropertyName,
3841
- Ea as expressionType,
3840
+ Ma as expressionEntries,
3841
+ Fa as expressionPropertyName,
3842
+ Ia as expressionType,
3842
3843
  He as extractGeometryType,
3843
- ht as featuresToCsv,
3844
- gt as fetchCollectionDetail,
3845
- bt as fetchCollections,
3846
- yt as fetchConformance,
3847
- ma as fetchDistinctValues,
3848
- ft as fetchFeatureById,
3849
- xt as fetchFeatureCount,
3844
+ gt as featuresToCsv,
3845
+ bt as fetchCollectionDetail,
3846
+ yt as fetchCollections,
3847
+ ft as fetchConformance,
3848
+ sa as fetchDistinctValues,
3849
+ xt as fetchFeatureById,
3850
+ wt as fetchFeatureCount,
3850
3851
  ye as fetchFeatures,
3851
3852
  qe as fetchQueryables,
3852
- wt as fetchSpriteNames,
3853
- Nt as fetchSpriteUrlFromStyle,
3854
- vt as fetchTileJson,
3855
- Gi as formatDMS,
3856
- qi as formatDecimal,
3857
- ua as formatMeasurement,
3858
- kt as fromSimpleFilters,
3859
- Ct as fromStructuredFilters,
3853
+ Nt as fetchSpriteNames,
3854
+ vt as fetchSpriteUrlFromStyle,
3855
+ kt as fetchTileJson,
3856
+ qi as formatDMS,
3857
+ Wi as formatDecimal,
3858
+ oa as formatMeasurement,
3859
+ Ct as fromSimpleFilters,
3860
+ St as fromStructuredFilters,
3860
3861
  Ye as geometryTypeToStyleType,
3861
3862
  fe as geometryTypeToStyleTypes,
3862
3863
  pe as getColorFromPalette,
3863
- St as getCql2FilteredVectorTileUrl,
3864
- Tt as getFilteredVectorTileUrl,
3865
- Fa as getPrimaryColor,
3866
- Pa as getShapeForStyleType,
3867
- Dt as getTileJsonUrl,
3868
- Lt as getVectorTileSourceKey,
3869
- At as getVectorTileUrl,
3870
- Et as gt,
3871
- It as gte,
3872
- Di as humanizePropertyName,
3873
- Mt as inList,
3864
+ Tt as getCql2FilteredVectorTileUrl,
3865
+ Dt as getFilteredVectorTileUrl,
3866
+ Pa as getPrimaryColor,
3867
+ Oa as getShapeForStyleType,
3868
+ Lt as getTileJsonUrl,
3869
+ At as getVectorTileSourceKey,
3870
+ Et as getVectorTileUrl,
3871
+ It as gt,
3872
+ Mt as gte,
3873
+ Li as humanizePropertyName,
3874
+ Ft as inList,
3874
3875
  V as isExpression,
3875
- ti as isGeometryProperty,
3876
- Ft as isNull,
3877
- Pt as like,
3878
- Ot as lt,
3879
- jt as lte,
3880
- $t as neq,
3881
- Rt as not,
3882
- Bt as or,
3883
- zt as resolveAvailableIcons,
3884
- Ut as resolvePropertyDisplay,
3885
- Gt as resolveStyleWithSprites,
3886
- qt as sDwithin,
3887
- Wt as sIntersects,
3888
- _t as sWithin,
3889
- sa as safeValidateMapConfig,
3890
- Vt as selectedFeatureKey,
3891
- Ht as serializeCql2,
3892
- Yt as tAfter,
3893
- Xt as tBefore,
3894
- Zt as tDuring,
3895
- li as toAvailableProperties,
3896
- Jt as useCsvExport,
3897
- Kt as useExport,
3898
- Qt as useMeasure,
3899
- er as useOgcCollectionDetail,
3876
+ ri as isGeometryProperty,
3877
+ Pt as isNull,
3878
+ Ot as like,
3879
+ jt as lt,
3880
+ $t as lte,
3881
+ Rt as neq,
3882
+ Bt as not,
3883
+ zt as or,
3884
+ Ut as resolveAvailableIcons,
3885
+ Gt as resolvePropertyDisplay,
3886
+ qt as resolveStyleWithSprites,
3887
+ Wt as sDwithin,
3888
+ _t as sIntersects,
3889
+ Vt as sWithin,
3890
+ ca as safeValidateMapConfig,
3891
+ Ht as selectedFeatureKey,
3892
+ Yt as serializeCql2,
3893
+ Xt as tAfter,
3894
+ Zt as tBefore,
3895
+ Jt as tDuring,
3896
+ pi as toAvailableProperties,
3897
+ Kt as useCsvExport,
3898
+ Qt as useExport,
3899
+ er as useMeasure,
3900
+ ar as useOgcCollectionDetail,
3900
3901
  Ge as useOgcCollections,
3901
- ar as useOgcFeatures,
3902
- oa as useOgcQueryables,
3903
- ir as useSelection,
3904
- zr as validateMapConfig
3902
+ ir as useOgcFeatures,
3903
+ ma as useOgcQueryables,
3904
+ tr as useSelection,
3905
+ Ur as validateMapConfig
3905
3906
  };
@@ -1,5 +1,5 @@
1
1
  /** Mode for selecting features on the map. */
2
- export type SelectionMode = 'click' | 'box';
2
+ export type SelectionMode = 'click' | 'box' | 'polygon';
3
3
  /** A feature selected on the map. */
4
4
  export interface SelectedFeature {
5
5
  id: string | number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/utils/selection.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5C,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAGnE"}
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/utils/selection.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;AAExD,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAGnE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ogc-maps/storybook-components",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "publishConfig": {