@ogc-maps/storybook-components 0.5.0 → 0.5.1

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.
Files changed (111) hide show
  1. package/dist/{FeatureDetailPanel-DpcaTS9I.js → FeatureDetailPanel-CkFpdEKW.js} +8 -7
  2. package/dist/{FeatureTooltip-CM0ZTudi.js → FeatureTooltip-Db1LgLQV.js} +9 -7
  3. package/dist/{LayerPanel-BHpb8dbm.js → LayerPanel-SCdJ8948.js} +21 -21
  4. package/dist/{Legend-D4cc1JzQ.js → Legend-BMrkY-rw.js} +4 -4
  5. package/dist/PropertyList-BGXHLVBM.js +33 -0
  6. package/dist/components/BasemapEditor/BasemapEditor.d.ts +7 -0
  7. package/dist/components/BasemapEditor/BasemapEditor.d.ts.map +1 -0
  8. package/dist/components/BasemapEditor/BasemapList.d.ts +7 -0
  9. package/dist/components/BasemapEditor/BasemapList.d.ts.map +1 -0
  10. package/dist/components/BasemapEditor/index.d.ts +5 -0
  11. package/dist/components/BasemapEditor/index.d.ts.map +1 -0
  12. package/dist/components/CollectionBrowser/CollectionBrowser.d.ts +8 -0
  13. package/dist/components/CollectionBrowser/CollectionBrowser.d.ts.map +1 -0
  14. package/dist/components/CollectionBrowser/index.d.ts +3 -0
  15. package/dist/components/CollectionBrowser/index.d.ts.map +1 -0
  16. package/dist/components/ConfigPreview/ConfigPreview.d.ts +5 -0
  17. package/dist/components/ConfigPreview/ConfigPreview.d.ts.map +1 -0
  18. package/dist/components/ConfigPreview/index.d.ts +3 -0
  19. package/dist/components/ConfigPreview/index.d.ts.map +1 -0
  20. package/dist/components/FeatureDetailPanel/FeatureDetailPanel.d.ts +2 -1
  21. package/dist/components/FeatureDetailPanel/FeatureDetailPanel.d.ts.map +1 -1
  22. package/dist/components/FeatureDetailPanel/index.js +1 -1
  23. package/dist/components/FeatureTooltip/FeatureTooltip.d.ts +2 -1
  24. package/dist/components/FeatureTooltip/FeatureTooltip.d.ts.map +1 -1
  25. package/dist/components/FeatureTooltip/index.js +1 -1
  26. package/dist/components/LayerEditor/LayerEditor.d.ts +8 -0
  27. package/dist/components/LayerEditor/LayerEditor.d.ts.map +1 -0
  28. package/dist/components/LayerEditor/LayerList.d.ts +8 -0
  29. package/dist/components/LayerEditor/LayerList.d.ts.map +1 -0
  30. package/dist/components/LayerEditor/index.d.ts +5 -0
  31. package/dist/components/LayerEditor/index.d.ts.map +1 -0
  32. package/dist/components/LayerPanel/index.js +1 -1
  33. package/dist/components/Legend/index.js +1 -1
  34. package/dist/components/LegendEditor/LegendEditor.d.ts +7 -0
  35. package/dist/components/LegendEditor/LegendEditor.d.ts.map +1 -0
  36. package/dist/components/LegendEditor/LegendEntryEditor.d.ts +7 -0
  37. package/dist/components/LegendEditor/LegendEntryEditor.d.ts.map +1 -0
  38. package/dist/components/LegendEditor/index.d.ts +5 -0
  39. package/dist/components/LegendEditor/index.d.ts.map +1 -0
  40. package/dist/components/PropertyDisplayEditor/PropertyDisplayEditor.d.ts +15 -0
  41. package/dist/components/PropertyDisplayEditor/PropertyDisplayEditor.d.ts.map +1 -0
  42. package/dist/components/PropertyDisplayEditor/__tests__/PropertyDisplayEditor.test.d.ts +2 -0
  43. package/dist/components/PropertyDisplayEditor/__tests__/PropertyDisplayEditor.test.d.ts.map +1 -0
  44. package/dist/components/PropertyDisplayEditor/index.d.ts +3 -0
  45. package/dist/components/PropertyDisplayEditor/index.d.ts.map +1 -0
  46. package/dist/components/SearchFieldEditor/SearchFieldEditor.d.ts +8 -0
  47. package/dist/components/SearchFieldEditor/SearchFieldEditor.d.ts.map +1 -0
  48. package/dist/components/SearchFieldEditor/SearchFieldList.d.ts +8 -0
  49. package/dist/components/SearchFieldEditor/SearchFieldList.d.ts.map +1 -0
  50. package/dist/components/SearchFieldEditor/index.d.ts +5 -0
  51. package/dist/components/SearchFieldEditor/index.d.ts.map +1 -0
  52. package/dist/components/SourceEditor/SourceEditor.d.ts +10 -0
  53. package/dist/components/SourceEditor/SourceEditor.d.ts.map +1 -0
  54. package/dist/components/SourceEditor/SourceList.d.ts +7 -0
  55. package/dist/components/SourceEditor/SourceList.d.ts.map +1 -0
  56. package/dist/components/SourceEditor/index.d.ts +5 -0
  57. package/dist/components/SourceEditor/index.d.ts.map +1 -0
  58. package/dist/components/StyleEditor/StyleEditor.d.ts +11 -0
  59. package/dist/components/StyleEditor/StyleEditor.d.ts.map +1 -0
  60. package/dist/components/StyleEditor/index.d.ts +3 -0
  61. package/dist/components/StyleEditor/index.d.ts.map +1 -0
  62. package/dist/components/UIConfigEditor/UIConfigEditor.d.ts +7 -0
  63. package/dist/components/UIConfigEditor/UIConfigEditor.d.ts.map +1 -0
  64. package/dist/components/UIConfigEditor/index.d.ts +3 -0
  65. package/dist/components/UIConfigEditor/index.d.ts.map +1 -0
  66. package/dist/components/ViewEditor/ViewEditor.d.ts +7 -0
  67. package/dist/components/ViewEditor/ViewEditor.d.ts.map +1 -0
  68. package/dist/components/ViewEditor/index.d.ts +3 -0
  69. package/dist/components/ViewEditor/index.d.ts.map +1 -0
  70. package/dist/components/_shared/PropertyList.d.ts +2 -1
  71. package/dist/components/_shared/PropertyList.d.ts.map +1 -1
  72. package/dist/components/admin/ColorPicker.d.ts +7 -0
  73. package/dist/components/admin/ColorPicker.d.ts.map +1 -0
  74. package/dist/components/admin/ConfirmDialog.d.ts +9 -0
  75. package/dist/components/admin/ConfirmDialog.d.ts.map +1 -0
  76. package/dist/components/admin/FormField.d.ts +10 -0
  77. package/dist/components/admin/FormField.d.ts.map +1 -0
  78. package/dist/components/admin/index.d.ts +7 -0
  79. package/dist/components/admin/index.d.ts.map +1 -0
  80. package/dist/components/index.d.ts +24 -0
  81. package/dist/components/index.d.ts.map +1 -1
  82. package/dist/cql2-Dhe6Ny6v.js +352 -0
  83. package/dist/hooks/index.d.ts +5 -2
  84. package/dist/hooks/index.d.ts.map +1 -1
  85. package/dist/hooks/index.js +31 -24
  86. package/dist/hooks/useOgcCollectionDetail.d.ts +14 -0
  87. package/dist/hooks/useOgcCollectionDetail.d.ts.map +1 -0
  88. package/dist/hooks/useOgcQueryables.d.ts +14 -0
  89. package/dist/hooks/useOgcQueryables.d.ts.map +1 -0
  90. package/dist/{index-BLgVA46J.js → index-Bw9lUiuL.js} +152 -146
  91. package/dist/main.js +2090 -79
  92. package/dist/schemas/config.d.ts +81 -5
  93. package/dist/schemas/config.d.ts.map +1 -1
  94. package/dist/schemas/index.js +1 -1
  95. package/dist/style.css +1 -1
  96. package/dist/types/index.d.ts +15 -2
  97. package/dist/types/index.d.ts.map +1 -1
  98. package/dist/types/index.js +15 -13
  99. package/dist/utils/__tests__/propertyDisplay.test.d.ts +2 -0
  100. package/dist/utils/__tests__/propertyDisplay.test.d.ts.map +1 -0
  101. package/dist/utils/index.d.ts +2 -0
  102. package/dist/utils/index.d.ts.map +1 -1
  103. package/dist/utils/ogcApi.d.ts +44 -0
  104. package/dist/utils/ogcApi.d.ts.map +1 -1
  105. package/dist/utils/propertyDisplay.d.ts +6 -0
  106. package/dist/utils/propertyDisplay.d.ts.map +1 -0
  107. package/dist/utils/queryableHelpers.d.ts +35 -0
  108. package/dist/utils/queryableHelpers.d.ts.map +1 -0
  109. package/package.json +1 -1
  110. package/dist/PropertyList-BH_DTkcU.js +0 -32
  111. package/dist/cql2-BaKDic7B.js +0 -288
@@ -1,288 +0,0 @@
1
- import { useState as f, useEffect as U, useCallback as O } from "react";
2
- function h(e) {
3
- return e.endsWith("/") ? e.slice(0, -1) : e;
4
- }
5
- async function j(e) {
6
- const t = await fetch(e);
7
- if (!t.ok)
8
- throw new Error(`OGC API request failed: ${t.status} ${t.statusText} (${e})`);
9
- return t.json();
10
- }
11
- async function R(e) {
12
- const t = `${h(e)}/collections?f=json`;
13
- return (await j(t)).collections;
14
- }
15
- async function w(e, t, n = {}) {
16
- var a;
17
- const o = h(e), r = new URLSearchParams({ f: "geojson" });
18
- if (n.limit != null && r.set("limit", String(n.limit)), n.offset != null && r.set("offset", String(n.offset)), n.bbox && r.set("bbox", n.bbox.join(",")), (a = n.properties) != null && a.length && r.set("properties", n.properties.join(",")), n.datetime && r.set("datetime", n.datetime), n.cql2Filter)
19
- r.set("filter-lang", "cql2-json"), r.set("filter", JSON.stringify(n.cql2Filter));
20
- else if (n.filter)
21
- for (const [c, i] of Object.entries(n.filter))
22
- r.set(c, String(i));
23
- const s = `${o}/collections/${encodeURIComponent(t)}/items?${r}`;
24
- return j(s);
25
- }
26
- async function Q(e, t) {
27
- const o = `${h(e)}/collections/${encodeURIComponent(t)}/queryables?f=schemajson`;
28
- return j(o);
29
- }
30
- function V(e, t, n = "WebMercatorQuad") {
31
- return `${h(e)}/collections/${encodeURIComponent(t)}/tiles/${encodeURIComponent(n)}/tilejson.json`;
32
- }
33
- function W(e, t, n = "WebMercatorQuad") {
34
- return `${h(e)}/collections/${encodeURIComponent(t)}/tiles/${encodeURIComponent(n)}/{z}/{x}/{y}`;
35
- }
36
- function A(e, t, n, o = "WebMercatorQuad") {
37
- const s = `${h(e)}/collections/${encodeURIComponent(t)}/tiles/${encodeURIComponent(o)}/{z}/{x}/{y}`;
38
- if (!n || Object.keys(n).length === 0) return s;
39
- const a = new URLSearchParams();
40
- for (const [c, i] of Object.entries(n))
41
- a.set(c, String(i));
42
- return `${s}?${a}`;
43
- }
44
- async function B(e, t, n, o) {
45
- var c;
46
- const r = o != null && o.query ? { op: "like", args: [{ property: n }, `%${o.query}%`] } : void 0, s = await w(e, t, {
47
- properties: [n],
48
- limit: (o == null ? void 0 : o.limit) ?? 50,
49
- cql2Filter: r
50
- }), a = /* @__PURE__ */ new Set();
51
- for (const i of s.features) {
52
- const u = (c = i.properties) == null ? void 0 : c[n];
53
- u != null && typeof u == "string" && a.add(u);
54
- }
55
- return Array.from(a).sort();
56
- }
57
- function D(e, t, n, o = "WebMercatorQuad") {
58
- const s = `${h(e)}/collections/${encodeURIComponent(t)}/tiles/${encodeURIComponent(o)}/{z}/{x}/{y}`;
59
- if (!n) return s;
60
- const a = new URLSearchParams({
61
- "filter-lang": "cql2-json",
62
- filter: JSON.stringify(n)
63
- });
64
- return `${s}?${a}`;
65
- }
66
- function _(e) {
67
- const [t, n] = f([]), [o, r] = f(!1), [s, a] = f(null);
68
- return U(() => {
69
- if (!e) return;
70
- let c = !1;
71
- return r(!0), a(null), R(e).then((i) => {
72
- c || n(i);
73
- }).catch((i) => {
74
- c || a(i instanceof Error ? i : new Error(String(i)));
75
- }).finally(() => {
76
- c || r(!1);
77
- }), () => {
78
- c = !0;
79
- };
80
- }, [e]), { collections: t, loading: o, error: s };
81
- }
82
- function G(e, t, n = {}) {
83
- const [o, r] = f([]), [s, a] = f(!1), [c, i] = f(null), [u, g] = f(!1), d = JSON.stringify(n);
84
- return U(() => {
85
- if (!e || !t) return;
86
- let b = !1;
87
- a(!0), i(null);
88
- const m = JSON.parse(d);
89
- return w(e, t, m).then((l) => {
90
- if (!b) {
91
- r(l.features);
92
- const $ = m.limit ?? 10, S = m.offset ?? 0;
93
- l.numberMatched != null ? g(S + l.features.length < l.numberMatched) : g(l.features.length >= $);
94
- }
95
- }).catch((l) => {
96
- b || (i(l instanceof Error ? l : new Error(String(l))), r([]), g(!1));
97
- }).finally(() => {
98
- b || a(!1);
99
- }), () => {
100
- b = !0;
101
- };
102
- }, [e, t, d]), { features: o, loading: s, error: c, hasMore: u };
103
- }
104
- function C(e, t) {
105
- return e.includes('"') || e.includes(t) || e.includes(`
106
- `) ? `"${e.replace(/"/g, '""')}"` : e;
107
- }
108
- function M(e, t) {
109
- const n = (e.properties ?? {})[t];
110
- return n == null ? "" : typeof n == "object" ? JSON.stringify(n) : String(n);
111
- }
112
- function k(e, t = {}) {
113
- const { fields: n, includeGeometry: o = !1, delimiter: r = "," } = t;
114
- if (e.length === 0) return "";
115
- const s = n ?? [...new Set(e.flatMap((i) => Object.keys(i.properties ?? {})))], a = o ? [...s, "geometry"] : s, c = e.map((i) => {
116
- const u = s.map(
117
- (g) => C(M(i, g), r)
118
- );
119
- return o && u.push(C(JSON.stringify(i.geometry), r)), u.join(r);
120
- });
121
- return [a.map((i) => C(i, r)).join(r), ...c].join(`
122
- `);
123
- }
124
- function E(e, t) {
125
- const n = new Blob([e], { type: "text/csv;charset=utf-8;" }), o = URL.createObjectURL(n), r = document.createElement("a");
126
- r.href = o, r.download = t, r.style.display = "none", document.body.appendChild(r), r.click(), document.body.removeChild(r), URL.revokeObjectURL(o);
127
- }
128
- function K({
129
- baseUrl: e,
130
- limit: t = 1e3,
131
- csvOptions: n
132
- }) {
133
- const [o, r] = f(!1), [s, a] = f(null);
134
- return { exportCsv: O(
135
- async (i, u = `${i}.csv`, g) => {
136
- r(!0), a(null);
137
- const d = [], b = Math.min(t, 1e3);
138
- let m = 0;
139
- try {
140
- for (; d.length < t; ) {
141
- const $ = t - d.length, S = Math.min(b, $), p = await w(e, i, {
142
- limit: S,
143
- offset: m,
144
- cql2Filter: g
145
- });
146
- if (d.push(...p.features), m += p.features.length, p.features.length < S || p.numberMatched != null && m >= p.numberMatched) break;
147
- }
148
- const l = k(d, n);
149
- E(l, u);
150
- } catch (l) {
151
- a(l instanceof Error ? l : new Error(String(l)));
152
- } finally {
153
- r(!1);
154
- }
155
- },
156
- [e, t, n]
157
- ), loading: o, error: s };
158
- }
159
- function y(e, t) {
160
- return { op: "=", args: [{ property: e }, t] };
161
- }
162
- function H(e, t) {
163
- return { op: "<>", args: [{ property: e }, t] };
164
- }
165
- function q(e, t) {
166
- return { op: ">", args: [{ property: e }, t] };
167
- }
168
- function L(e, t) {
169
- return { op: ">=", args: [{ property: e }, t] };
170
- }
171
- function F(e, t) {
172
- return { op: "<", args: [{ property: e }, t] };
173
- }
174
- function I(e, t) {
175
- return { op: "<=", args: [{ property: e }, t] };
176
- }
177
- function J(e, t, n) {
178
- return { op: "between", args: [{ property: e }, t, n] };
179
- }
180
- function X(e, t) {
181
- return { op: "like", args: [{ property: e }, t] };
182
- }
183
- function Y(e, t) {
184
- return { op: "in", args: [{ property: e }, t] };
185
- }
186
- function Z(e) {
187
- return { op: "isNull", args: [{ property: e }] };
188
- }
189
- function x(...e) {
190
- const t = e.filter((n) => n != null);
191
- return t.length === 0 ? null : t.length === 1 ? t[0] : { op: "and", args: t };
192
- }
193
- function ee(...e) {
194
- const t = e.filter((n) => n != null);
195
- return t.length === 0 ? null : t.length === 1 ? t[0] : { op: "or", args: t };
196
- }
197
- function te(e) {
198
- return { op: "not", args: [e] };
199
- }
200
- function N(e, t) {
201
- return { op: "t_after", args: [{ property: e }, t] };
202
- }
203
- function z(e, t) {
204
- return { op: "t_before", args: [{ property: e }, t] };
205
- }
206
- function T(e, t, n) {
207
- const o = "date" in t ? t.date : t.timestamp, r = "date" in n ? n.date : n.timestamp;
208
- return { op: "t_during", args: [{ property: e }, { interval: [o, r] }] };
209
- }
210
- function ne(e) {
211
- const t = Object.entries(e).filter(([, n]) => n !== void 0 && n !== "").map(([n, o]) => y(n, o));
212
- return x(...t);
213
- }
214
- function re(e, t) {
215
- const n = new Map(t.map((r) => [r.property, r])), o = Object.entries(e).map(([r, s]) => {
216
- if (s === void 0) return null;
217
- const a = n.get(r);
218
- if (typeof s == "string")
219
- return s === "" ? null : (a == null ? void 0 : a.type) === "datetime" ? y(r, { timestamp: s }) : y(r, s);
220
- if (typeof s == "number")
221
- return y(r, s);
222
- if (typeof s == "object") {
223
- if ("start" in s || "end" in s) {
224
- const { start: c, end: i } = s;
225
- return c && i ? T(r, { timestamp: c }, { timestamp: i }) : c ? N(r, { timestamp: c }) : i ? z(r, { timestamp: i }) : null;
226
- }
227
- if ("value" in s && "operator" in s) {
228
- const { value: c, operator: i } = s;
229
- if (c == null || String(c) === "") return null;
230
- switch (i) {
231
- case "gt":
232
- return q(r, c);
233
- case "lt":
234
- return F(r, c);
235
- case "gte":
236
- return L(r, c);
237
- case "lte":
238
- return I(r, c);
239
- default:
240
- return y(r, c);
241
- }
242
- }
243
- if ("min" in s && "max" in s) {
244
- const { min: c, max: i } = s;
245
- return c === void 0 || i === void 0 ? null : J(r, c, i);
246
- }
247
- }
248
- return null;
249
- });
250
- return x(...o);
251
- }
252
- function se(e) {
253
- return JSON.stringify(e);
254
- }
255
- export {
256
- T as A,
257
- K as B,
258
- _ as C,
259
- G as D,
260
- E,
261
- k as F,
262
- x as a,
263
- J as b,
264
- B as c,
265
- w as d,
266
- y as e,
267
- R as f,
268
- Q as g,
269
- ne as h,
270
- re as i,
271
- D as j,
272
- A as k,
273
- V as l,
274
- W as m,
275
- q as n,
276
- L as o,
277
- Y as p,
278
- Z as q,
279
- X as r,
280
- F as s,
281
- I as t,
282
- H as u,
283
- te as v,
284
- ee as w,
285
- se as x,
286
- N as y,
287
- z
288
- };