@ogc-maps/storybook-components 0.14.0 → 0.16.0

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 (203) hide show
  1. package/LICENSE +661 -0
  2. package/dist/{BasemapSwitcher-BW7lyZ2Y.js → BasemapSwitcher-DuqVusX0.js} +9 -9
  3. package/dist/CollapsibleControl-BTIkiTmU.js +60 -0
  4. package/dist/CoordinateDisplay-BblQ34mS.js +154 -0
  5. package/dist/{ExportButton-Ck1dESnc.js → ExportButton-C8hCCsav.js} +7 -7
  6. package/dist/{FeatureDetailPanel-CkFpdEKW.js → FeatureDetailPanel-DgCHiNi9.js} +16 -16
  7. package/dist/FeatureTooltip-DHjMZC0u.js +49 -0
  8. package/dist/{LayerPanel-SCdJ8948.js → LayerPanel-BkDbZ66Z.js} +23 -23
  9. package/dist/Legend-CvBd-v0n.js +285 -0
  10. package/dist/PropertyList-0EonV_BQ.js +33 -0
  11. package/dist/SearchPanel-DIb7aYVs.js +725 -0
  12. package/dist/components/BasemapSwitcher/index.js +1 -1
  13. package/dist/components/CollapsibleControl/CollapsibleControl.d.ts +4 -1
  14. package/dist/components/CollapsibleControl/CollapsibleControl.d.ts.map +1 -1
  15. package/dist/components/CollapsibleControl/index.js +1 -1
  16. package/dist/components/CompassControl/CompassControl.d.ts +19 -0
  17. package/dist/components/CompassControl/CompassControl.d.ts.map +1 -0
  18. package/dist/components/CompassControl/index.d.ts +3 -0
  19. package/dist/components/CompassControl/index.d.ts.map +1 -0
  20. package/dist/components/CoordinateDisplay/CoordinateDisplay.d.ts +35 -4
  21. package/dist/components/CoordinateDisplay/CoordinateDisplay.d.ts.map +1 -1
  22. package/dist/components/CoordinateDisplay/CoordinateDisplay.test.d.ts +2 -0
  23. package/dist/components/CoordinateDisplay/CoordinateDisplay.test.d.ts.map +1 -0
  24. package/dist/components/CoordinateDisplay/index.d.ts +1 -1
  25. package/dist/components/CoordinateDisplay/index.d.ts.map +1 -1
  26. package/dist/components/CoordinateDisplay/index.js +5 -3
  27. package/dist/components/Cql2FilterEditor/Cql2FilterEditor.d.ts +9 -0
  28. package/dist/components/Cql2FilterEditor/Cql2FilterEditor.d.ts.map +1 -0
  29. package/dist/components/Cql2FilterEditor/Cql2Preview.d.ts +6 -0
  30. package/dist/components/Cql2FilterEditor/Cql2Preview.d.ts.map +1 -0
  31. package/dist/components/Cql2FilterEditor/FilterRuleEditor.d.ts +9 -0
  32. package/dist/components/Cql2FilterEditor/FilterRuleEditor.d.ts.map +1 -0
  33. package/dist/components/Cql2FilterEditor/FilterRuleGroupEditor.d.ts +10 -0
  34. package/dist/components/Cql2FilterEditor/FilterRuleGroupEditor.d.ts.map +1 -0
  35. package/dist/components/Cql2FilterEditor/FilterValueInput.d.ts +12 -0
  36. package/dist/components/Cql2FilterEditor/FilterValueInput.d.ts.map +1 -0
  37. package/dist/components/Cql2FilterEditor/ParameterizableField.d.ts +30 -0
  38. package/dist/components/Cql2FilterEditor/ParameterizableField.d.ts.map +1 -0
  39. package/dist/components/Cql2FilterEditor/index.d.ts +2 -0
  40. package/dist/components/Cql2FilterEditor/index.d.ts.map +1 -0
  41. package/dist/components/Cql2FilterEditor/operatorOptions.d.ts +9 -0
  42. package/dist/components/Cql2FilterEditor/operatorOptions.d.ts.map +1 -0
  43. package/dist/components/Cql2FilterEditor/styles.d.ts +3 -0
  44. package/dist/components/Cql2FilterEditor/styles.d.ts.map +1 -0
  45. package/dist/components/ExportButton/index.js +1 -1
  46. package/dist/components/ExportModal/ExportModal.d.ts +20 -1
  47. package/dist/components/ExportModal/ExportModal.d.ts.map +1 -1
  48. package/dist/components/ExportModal/index.d.ts +1 -1
  49. package/dist/components/ExportModal/index.d.ts.map +1 -1
  50. package/dist/components/FeatureDetailPanel/index.js +1 -1
  51. package/dist/components/FeatureTooltip/index.js +1 -1
  52. package/dist/components/GlobalSearchBar/GlobalSearchBar.d.ts +25 -0
  53. package/dist/components/GlobalSearchBar/GlobalSearchBar.d.ts.map +1 -0
  54. package/dist/components/GlobalSearchBar/GlobalSearchBar.test.d.ts +2 -0
  55. package/dist/components/GlobalSearchBar/GlobalSearchBar.test.d.ts.map +1 -0
  56. package/dist/components/GlobalSearchBar/index.d.ts +3 -0
  57. package/dist/components/GlobalSearchBar/index.d.ts.map +1 -0
  58. package/dist/components/GlobalSearchConfigEditor/GlobalSearchConfigEditor.d.ts +22 -0
  59. package/dist/components/GlobalSearchConfigEditor/GlobalSearchConfigEditor.d.ts.map +1 -0
  60. package/dist/components/GlobalSearchConfigEditor/GlobalSearchConfigEditor.test.d.ts +2 -0
  61. package/dist/components/GlobalSearchConfigEditor/GlobalSearchConfigEditor.test.d.ts.map +1 -0
  62. package/dist/components/GlobalSearchConfigEditor/index.d.ts +3 -0
  63. package/dist/components/GlobalSearchConfigEditor/index.d.ts.map +1 -0
  64. package/dist/components/ImageryEditor/ImageryEditor.d.ts +0 -1
  65. package/dist/components/ImageryEditor/ImageryEditor.d.ts.map +1 -1
  66. package/dist/components/ImageryEditor/index.d.ts +2 -1
  67. package/dist/components/ImageryEditor/index.d.ts.map +1 -1
  68. package/dist/components/ImageryPanel/ImageryPanel.d.ts.map +1 -1
  69. package/dist/components/InfoControl/InfoControl.d.ts +12 -0
  70. package/dist/components/InfoControl/InfoControl.d.ts.map +1 -0
  71. package/dist/components/InfoControl/InfoModal.d.ts +16 -0
  72. package/dist/components/InfoControl/InfoModal.d.ts.map +1 -0
  73. package/dist/components/InfoControl/index.d.ts +5 -0
  74. package/dist/components/InfoControl/index.d.ts.map +1 -0
  75. package/dist/components/LayerEditor/LayerEditor.d.ts +6 -1
  76. package/dist/components/LayerEditor/LayerEditor.d.ts.map +1 -1
  77. package/dist/components/LayerEditor/LayerList.d.ts +8 -1
  78. package/dist/components/LayerEditor/LayerList.d.ts.map +1 -1
  79. package/dist/components/LayerEditor/index.d.ts +1 -1
  80. package/dist/components/LayerEditor/index.d.ts.map +1 -1
  81. package/dist/components/LayerPanel/index.js +1 -1
  82. package/dist/components/Legend/Legend.d.ts +7 -1
  83. package/dist/components/Legend/Legend.d.ts.map +1 -1
  84. package/dist/components/Legend/index.js +1 -1
  85. package/dist/components/PropertyFilterPanel/PropertyFilterPanel.d.ts +21 -0
  86. package/dist/components/PropertyFilterPanel/PropertyFilterPanel.d.ts.map +1 -0
  87. package/dist/components/PropertyFilterPanel/index.d.ts +3 -0
  88. package/dist/components/PropertyFilterPanel/index.d.ts.map +1 -0
  89. package/dist/components/QueryPanel/QueryPanel.d.ts +14 -0
  90. package/dist/components/QueryPanel/QueryPanel.d.ts.map +1 -0
  91. package/dist/components/QueryPanel/index.d.ts +3 -0
  92. package/dist/components/QueryPanel/index.d.ts.map +1 -0
  93. package/dist/components/ResultsDrawer/ResultsDrawer.d.ts +29 -4
  94. package/dist/components/ResultsDrawer/ResultsDrawer.d.ts.map +1 -1
  95. package/dist/components/ResultsDrawer/index.d.ts +1 -1
  96. package/dist/components/ResultsDrawer/index.d.ts.map +1 -1
  97. package/dist/components/ResultsDrawer/tableUtils.d.ts +11 -0
  98. package/dist/components/ResultsDrawer/tableUtils.d.ts.map +1 -0
  99. package/dist/components/ScaleBarControl/ScaleBarControl.d.ts +32 -0
  100. package/dist/components/ScaleBarControl/ScaleBarControl.d.ts.map +1 -0
  101. package/dist/components/ScaleBarControl/index.d.ts +2 -0
  102. package/dist/components/ScaleBarControl/index.d.ts.map +1 -0
  103. package/dist/components/SearchPanel/SearchPanel.d.ts +15 -2
  104. package/dist/components/SearchPanel/SearchPanel.d.ts.map +1 -1
  105. package/dist/components/SearchPanel/index.js +1 -1
  106. package/dist/components/SelectionPanel/SelectionPanel.d.ts +3 -1
  107. package/dist/components/SelectionPanel/SelectionPanel.d.ts.map +1 -1
  108. package/dist/components/SideMenuPanel/SideMenuPanel.d.ts +51 -0
  109. package/dist/components/SideMenuPanel/SideMenuPanel.d.ts.map +1 -0
  110. package/dist/components/SideMenuPanel/index.d.ts +3 -0
  111. package/dist/components/SideMenuPanel/index.d.ts.map +1 -0
  112. package/dist/components/SourceEditor/SourceEditor.d.ts +3 -1
  113. package/dist/components/SourceEditor/SourceEditor.d.ts.map +1 -1
  114. package/dist/components/SourceEditor/SourceList.d.ts +6 -1
  115. package/dist/components/SourceEditor/SourceList.d.ts.map +1 -1
  116. package/dist/components/SourceEditor/index.d.ts +1 -1
  117. package/dist/components/SourceEditor/index.d.ts.map +1 -1
  118. package/dist/components/StyleEditor/DataDrivenColorEditor.d.ts +8 -3
  119. package/dist/components/StyleEditor/DataDrivenColorEditor.d.ts.map +1 -1
  120. package/dist/components/StyleEditor/PropertyField.d.ts +6 -3
  121. package/dist/components/StyleEditor/PropertyField.d.ts.map +1 -1
  122. package/dist/components/StyleEditor/PropertyGroup.d.ts +6 -3
  123. package/dist/components/StyleEditor/PropertyGroup.d.ts.map +1 -1
  124. package/dist/components/StyleEditor/StyleEditor.d.ts +7 -3
  125. package/dist/components/StyleEditor/StyleEditor.d.ts.map +1 -1
  126. package/dist/components/UIConfigEditor/UIConfigEditor.d.ts +13 -2
  127. package/dist/components/UIConfigEditor/UIConfigEditor.d.ts.map +1 -1
  128. package/dist/components/UserMenu/UserMenu.d.ts +15 -0
  129. package/dist/components/UserMenu/UserMenu.d.ts.map +1 -0
  130. package/dist/components/UserMenu/index.d.ts +3 -0
  131. package/dist/components/UserMenu/index.d.ts.map +1 -0
  132. package/dist/components/ViewEditor/ViewEditor.d.ts.map +1 -1
  133. package/dist/components/index.d.ts +26 -5
  134. package/dist/components/index.d.ts.map +1 -1
  135. package/dist/components/shared/controlIcons.d.ts +10 -0
  136. package/dist/components/shared/controlIcons.d.ts.map +1 -0
  137. package/dist/geo-DUdRIR7u.js +9776 -0
  138. package/dist/hooks/index.d.ts +5 -3
  139. package/dist/hooks/index.d.ts.map +1 -1
  140. package/dist/hooks/index.js +68 -59
  141. package/dist/hooks/useExport.d.ts +7 -7
  142. package/dist/hooks/useExport.d.ts.map +1 -1
  143. package/dist/id-C2J6iu8_.js +11 -0
  144. package/dist/index-BtQnyWPg.js +3718 -0
  145. package/dist/main.js +13801 -2600
  146. package/dist/schemas/config.d.ts +2127 -5011
  147. package/dist/schemas/config.d.ts.map +1 -1
  148. package/dist/schemas/index.d.ts +1 -1
  149. package/dist/schemas/index.d.ts.map +1 -1
  150. package/dist/schemas/index.js +35 -24
  151. package/dist/style.css +1 -1
  152. package/dist/types/index.d.ts +47 -2
  153. package/dist/types/index.d.ts.map +1 -1
  154. package/dist/types/index.js +56 -33
  155. package/dist/useSelection-BFHYsPvU.js +224 -0
  156. package/dist/utils/colorPalettes.d.ts +4 -2
  157. package/dist/utils/colorPalettes.d.ts.map +1 -1
  158. package/dist/utils/colorThemes.d.ts +12 -0
  159. package/dist/utils/colorThemes.d.ts.map +1 -0
  160. package/dist/utils/cql2.d.ts +34 -5
  161. package/dist/utils/cql2.d.ts.map +1 -1
  162. package/dist/utils/exportConverters.d.ts +16 -0
  163. package/dist/utils/exportConverters.d.ts.map +1 -0
  164. package/dist/utils/geo.d.ts +59 -0
  165. package/dist/utils/geo.d.ts.map +1 -1
  166. package/dist/utils/id.d.ts +2 -0
  167. package/dist/utils/id.d.ts.map +1 -0
  168. package/dist/utils/index.d.ts +9 -0
  169. package/dist/utils/index.d.ts.map +1 -1
  170. package/dist/utils/index.js +477 -0
  171. package/dist/utils/ogcApi.d.ts +31 -6
  172. package/dist/utils/ogcApi.d.ts.map +1 -1
  173. package/dist/utils/propertyFilters.d.ts +35 -0
  174. package/dist/utils/propertyFilters.d.ts.map +1 -0
  175. package/dist/utils/queryParameters.d.ts +23 -0
  176. package/dist/utils/queryParameters.d.ts.map +1 -0
  177. package/dist/utils/queryableHelpers.d.ts +4 -0
  178. package/dist/utils/queryableHelpers.d.ts.map +1 -1
  179. package/dist/utils/slugify.d.ts +2 -0
  180. package/dist/utils/slugify.d.ts.map +1 -0
  181. package/package.json +31 -14
  182. package/dist/CollapsibleControl-qo9daiD8.js +0 -53
  183. package/dist/CoordinateDisplay-PxPmVjpm.js +0 -47
  184. package/dist/FeatureTooltip-DxzN-jnp.js +0 -49
  185. package/dist/Legend-BLWBzD7Y.js +0 -275
  186. package/dist/PropertyList-BGXHLVBM.js +0 -33
  187. package/dist/SearchPanel-4Y12jfuP.js +0 -401
  188. package/dist/components/PropertyDisplayEditor/__tests__/PropertyDisplayEditor.test.d.ts +0 -2
  189. package/dist/components/PropertyDisplayEditor/__tests__/PropertyDisplayEditor.test.d.ts.map +0 -1
  190. package/dist/geo-PA_KiJwy.js +0 -1169
  191. package/dist/index-Cz_PEKV1.js +0 -3035
  192. package/dist/schemas/__tests__/config.test.d.ts +0 -2
  193. package/dist/schemas/__tests__/config.test.d.ts.map +0 -1
  194. package/dist/utils/__tests__/cql2.test.d.ts +0 -2
  195. package/dist/utils/__tests__/cql2.test.d.ts.map +0 -1
  196. package/dist/utils/__tests__/expressionColors.test.d.ts +0 -2
  197. package/dist/utils/__tests__/expressionColors.test.d.ts.map +0 -1
  198. package/dist/utils/__tests__/propertyDisplay.test.d.ts +0 -2
  199. package/dist/utils/__tests__/propertyDisplay.test.d.ts.map +0 -1
  200. package/dist/utils/__tests__/queryableHelpers.test.d.ts +0 -2
  201. package/dist/utils/__tests__/queryableHelpers.test.d.ts.map +0 -1
  202. package/dist/utils/__tests__/wkt.test.d.ts +0 -2
  203. package/dist/utils/__tests__/wkt.test.d.ts.map +0 -1
@@ -0,0 +1,477 @@
1
+ import { a as m, k as c, P as b, J as g, O as d, I as h, e as T, a2 as F, a0 as w, a1 as C, m as v } from "../geo-DUdRIR7u.js";
2
+ import { D as X, am as Z, an as Y, ab as ee, ad as te, b as ae, c as re, d as oe, f as se, al as ne, g as le, a6 as ie, a7 as ce, ao as ue, ap as pe, a5 as fe, h as ye, a8 as me, ai as be, aq as ge, aj as de, ar as he, as as Te, i as Fe, j as we, a4 as Ce, at as ve, l as Se, n as Ae, o as Ge, p as Pe, q as Ee, r as Oe, s as De, t as ke, u as Be, v as Me, au as Ne, av as je, w as qe, ac as ze, x as Le, y as Ue, z as _e, aw as Re, ak as $e, A as Je, B as Ke, C as Qe, E as Ve, F as We, G as Ie, H as xe, ax as He, K as Xe, L as Ze, ay as Ye, M as et, N as tt, Q as at, R as rt, S as ot, T as st, az as nt, U as lt, V as it, W as ct, X as ut, Y as pt, Z as ft, a9 as yt, _ as mt, $ as bt, a3 as gt, ah as dt, aA as ht } from "../geo-DUdRIR7u.js";
3
+ import { g as Ft } from "../id-C2J6iu8_.js";
4
+ const u = {
5
+ default: {
6
+ id: "default",
7
+ label: "Default",
8
+ description: "Tableau 10 categorical palette",
9
+ palette: [
10
+ "#4e79a7",
11
+ "#f28e2b",
12
+ "#e15759",
13
+ "#76b7b2",
14
+ "#59a14f",
15
+ "#edc948",
16
+ "#b07aa1",
17
+ "#ff9da7",
18
+ "#9c755f",
19
+ "#bab0ac"
20
+ ]
21
+ },
22
+ earth: {
23
+ id: "earth",
24
+ label: "Earth",
25
+ description: "Browns, greens, and tans",
26
+ palette: [
27
+ "#7b5e3c",
28
+ "#a98158",
29
+ "#c9a36b",
30
+ "#6b8e23",
31
+ "#4e6b30",
32
+ "#8b7355",
33
+ "#d2b48c",
34
+ "#556b2f",
35
+ "#997a58",
36
+ "#3f5a27"
37
+ ]
38
+ },
39
+ ocean: {
40
+ id: "ocean",
41
+ label: "Ocean",
42
+ description: "Blues, teals, and cyans",
43
+ palette: [
44
+ "#023e8a",
45
+ "#0077b6",
46
+ "#0096c7",
47
+ "#00b4d8",
48
+ "#48cae4",
49
+ "#90e0ef",
50
+ "#168aad",
51
+ "#1a759f",
52
+ "#34a0a4",
53
+ "#76c893"
54
+ ]
55
+ },
56
+ warm: {
57
+ id: "warm",
58
+ label: "Warm",
59
+ description: "Reds, oranges, and yellows",
60
+ palette: [
61
+ "#9e1b1b",
62
+ "#c1292e",
63
+ "#e94e1b",
64
+ "#f28e2b",
65
+ "#f4a261",
66
+ "#f6bd60",
67
+ "#e9c46a",
68
+ "#c96f4a",
69
+ "#b4452a",
70
+ "#d68c45"
71
+ ]
72
+ },
73
+ cool: {
74
+ id: "cool",
75
+ label: "Cool",
76
+ description: "Blues, purples, and greens",
77
+ palette: [
78
+ "#1d3557",
79
+ "#2a9d8f",
80
+ "#457b9d",
81
+ "#5a4fcf",
82
+ "#6a4c93",
83
+ "#8d6e96",
84
+ "#a8dadc",
85
+ "#4cc9f0",
86
+ "#7209b7",
87
+ "#3a0ca3"
88
+ ]
89
+ },
90
+ monochrome: {
91
+ id: "monochrome",
92
+ label: "Monochrome",
93
+ description: "Shades of gray",
94
+ palette: [
95
+ "#1a1a1a",
96
+ "#333333",
97
+ "#4d4d4d",
98
+ "#666666",
99
+ "#808080",
100
+ "#999999",
101
+ "#b3b3b3",
102
+ "#cccccc",
103
+ "#e0e0e0",
104
+ "#f0f0f0"
105
+ ]
106
+ },
107
+ accessible: {
108
+ id: "accessible",
109
+ label: "Accessible",
110
+ description: "Colorblind-safe (Wong 2011)",
111
+ palette: [
112
+ "#000000",
113
+ "#e69f00",
114
+ "#56b4e9",
115
+ "#009e73",
116
+ "#f0e442",
117
+ "#0072b2",
118
+ "#d55e00",
119
+ "#cc79a7"
120
+ ]
121
+ }
122
+ }, q = [
123
+ "default",
124
+ "earth",
125
+ "ocean",
126
+ "warm",
127
+ "cool",
128
+ "monochrome",
129
+ "accessible"
130
+ ];
131
+ function S(e) {
132
+ var t;
133
+ return e ? ((t = u[e]) == null ? void 0 : t.palette) ?? u.default.palette : u.default.palette;
134
+ }
135
+ function A(e, t) {
136
+ const a = S(t);
137
+ return a[e % a.length];
138
+ }
139
+ function z(e, t) {
140
+ return A(e, t);
141
+ }
142
+ function L(e) {
143
+ return Array.isArray(e);
144
+ }
145
+ function U(e) {
146
+ return e[0] === "match" ? "match" : e[0] === "interpolate" ? "interpolate" : null;
147
+ }
148
+ function _(e) {
149
+ if (e[0] === "match") {
150
+ const t = [];
151
+ for (let r = 3; r < e.length; r += 2)
152
+ typeof e[r] == "string" && t.push(e[r]);
153
+ const a = e[e.length - 1];
154
+ return typeof a == "string" && t.push(a), t;
155
+ }
156
+ if (e[0] === "interpolate") {
157
+ const t = [];
158
+ for (let a = 4; a < e.length; a += 2)
159
+ typeof e[a] == "string" && t.push(e[a]);
160
+ return t;
161
+ }
162
+ return [];
163
+ }
164
+ function R(e) {
165
+ if (e[0] === "match") {
166
+ const t = [];
167
+ for (let r = 2; r < e.length - 1; r += 2) {
168
+ const o = String(e[r]), s = e[r + 1];
169
+ typeof s == "string" && t.push({ label: o, color: s });
170
+ }
171
+ const a = e[e.length - 1];
172
+ return typeof a == "string" && t.push({ label: "Other", color: a }), t;
173
+ }
174
+ if (e[0] === "interpolate") {
175
+ const t = [];
176
+ for (let a = 3; a < e.length; a += 2) {
177
+ const r = String(e[a]), o = e[a + 1];
178
+ typeof o == "string" && t.push({ label: r, color: o });
179
+ }
180
+ return t;
181
+ }
182
+ return [];
183
+ }
184
+ function $(e) {
185
+ const t = e[0] === "match" ? e[1] : e[0] === "interpolate" ? e[2] : null;
186
+ if (Array.isArray(t)) {
187
+ if (t[0] === "get" && typeof t[1] == "string") return t[1];
188
+ if (t[0] === "to-number" && Array.isArray(t[1]) && t[1][0] === "get")
189
+ return t[1][1] ?? null;
190
+ }
191
+ return null;
192
+ }
193
+ function J(e) {
194
+ switch (e.type) {
195
+ case "fill":
196
+ return e.paint["fill-color"] ?? "#000000";
197
+ case "line":
198
+ return e.paint["line-color"] ?? "#000000";
199
+ case "circle":
200
+ return e.paint["circle-color"] ?? "#000000";
201
+ case "symbol":
202
+ return e.paint["text-color"] ?? e.paint["icon-color"] ?? "#000000";
203
+ }
204
+ }
205
+ function K(e) {
206
+ switch (e.type) {
207
+ case "fill":
208
+ return "square";
209
+ case "line":
210
+ return "line";
211
+ case "circle":
212
+ case "symbol":
213
+ return "circle";
214
+ }
215
+ }
216
+ function Q(e) {
217
+ return e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
218
+ }
219
+ function G(e) {
220
+ if (!e.property) return !1;
221
+ const t = e.value;
222
+ return typeof t == "string" ? t !== "" : typeof t == "object" && "operator" in t ? t.value !== void 0 : typeof t == "object" && "min" in t ? !0 : typeof t == "object" && "start" in t ? !!t.start || !!t.end : !1;
223
+ }
224
+ function P(e) {
225
+ const t = e.value;
226
+ if (typeof t == "string") {
227
+ if (t === "") return null;
228
+ if (e.propertyType === "number") {
229
+ const a = Number(t);
230
+ return Number.isNaN(a) ? null : c(e.property, a);
231
+ }
232
+ return c(e.property, t);
233
+ }
234
+ if (typeof t == "object" && "operator" in t) {
235
+ const { value: a, operator: r } = t;
236
+ if (a == null) return null;
237
+ switch (r) {
238
+ case "gt":
239
+ return h(e.property, a);
240
+ case "lt":
241
+ return d(e.property, a);
242
+ case "gte":
243
+ return g(e.property, a);
244
+ case "lte":
245
+ return b(e.property, a);
246
+ default:
247
+ return c(e.property, a);
248
+ }
249
+ }
250
+ if (typeof t == "object" && "min" in t) {
251
+ const { min: a, max: r } = t;
252
+ return T(e.property, a, r);
253
+ }
254
+ if (typeof t == "object" && "start" in t) {
255
+ const { start: a, end: r } = t;
256
+ return a && r ? F(e.property, { timestamp: a }, { timestamp: r }) : a ? w(e.property, { timestamp: a }) : r ? C(e.property, { timestamp: r }) : null;
257
+ }
258
+ return null;
259
+ }
260
+ function V(e, t) {
261
+ const a = e.filter((r) => r.layerId === t && G(r));
262
+ return a.length === 0 ? null : m(...a.map(P));
263
+ }
264
+ function E(e, t) {
265
+ const [a, r] = e, [o, s] = t;
266
+ return {
267
+ type: "Polygon",
268
+ coordinates: [[
269
+ [a, r],
270
+ [o, r],
271
+ [o, s],
272
+ [a, s],
273
+ [a, r]
274
+ ]]
275
+ };
276
+ }
277
+ function W(e, t) {
278
+ return {
279
+ type: "Feature",
280
+ properties: {},
281
+ geometry: E(e, t)
282
+ };
283
+ }
284
+ function i(e) {
285
+ return {
286
+ type: "FeatureCollection",
287
+ features: e.map((t) => ({
288
+ type: "Feature",
289
+ geometry: t.geometry,
290
+ properties: t.properties ?? {}
291
+ }))
292
+ };
293
+ }
294
+ const O = (e, t) => {
295
+ const a = v(e);
296
+ return {
297
+ blob: new Blob([a], { type: "text/csv;charset=utf-8;" }),
298
+ filename: `${t}.csv`
299
+ };
300
+ }, D = (e, t) => {
301
+ const a = i(e);
302
+ return {
303
+ blob: new Blob([JSON.stringify(a, null, 2)], { type: "application/geo+json" }),
304
+ filename: `${t}.geojson`
305
+ };
306
+ }, k = async (e, t) => {
307
+ const { toKML: a } = await import("@tmcw/tokml"), r = i(e), o = a(r);
308
+ return {
309
+ blob: new Blob([o], { type: "application/vnd.google-earth.kml+xml" }),
310
+ filename: `${t}.kml`
311
+ };
312
+ }, B = async (e, t) => {
313
+ var n;
314
+ if (e.length === 0)
315
+ throw new Error("Cannot export an empty feature collection to shapefile");
316
+ const r = await import("@mapbox/shp-write"), o = r.zip ?? ((n = r.default) == null ? void 0 : n.zip);
317
+ if (typeof o != "function")
318
+ throw new Error(
319
+ "Shapefile export is unavailable: @mapbox/shp-write did not load correctly"
320
+ );
321
+ const s = i(e);
322
+ if (!s.features.some((y) => y.geometry != null))
323
+ throw new Error("Cannot export features without geometry to shapefile");
324
+ const l = await o(s, {
325
+ outputType: "blob",
326
+ compression: "DEFLATE",
327
+ types: {
328
+ point: t,
329
+ polygon: t,
330
+ line: t,
331
+ multipolygon: t,
332
+ multiline: t
333
+ }
334
+ });
335
+ return {
336
+ blob: l instanceof Blob ? l : new Blob([l], { type: "application/zip" }),
337
+ filename: `${t}.zip`
338
+ };
339
+ }, M = async (e, t) => {
340
+ const { serialize: a } = await import("flatgeobuf/lib/mjs/geojson.js"), r = i(e), o = a(r);
341
+ return {
342
+ blob: new Blob([o], { type: "application/flatgeobuf" }),
343
+ filename: `${t}.fgb`
344
+ };
345
+ }, N = async (e, t) => {
346
+ const { GeoPackageAPI: a, setSqljsWasmLocateFile: r } = await import("@ngageoint/geopackage");
347
+ r((n) => `/${n}`);
348
+ const o = await a.create(), p = [...new Set(e.flatMap((n) => Object.keys(n.properties ?? {})))].map((n) => ({ name: n, dataType: "TEXT" }));
349
+ o.createFeatureTableFromProperties(t, p);
350
+ const l = i(e).features;
351
+ await o.addGeoJSONFeaturesToGeoPackage(l, t);
352
+ const f = await o.export();
353
+ return o.close(), {
354
+ blob: new Blob([f], { type: "application/geopackage+sqlite3" }),
355
+ filename: `${t}.gpkg`
356
+ };
357
+ }, I = {
358
+ csv: O,
359
+ geojson: D,
360
+ kml: k,
361
+ shapefile: B,
362
+ flatgeobuf: M,
363
+ geopackage: N
364
+ };
365
+ export {
366
+ u as COLOR_THEMES,
367
+ q as COLOR_THEME_IDS,
368
+ X as DEFAULT_EXPORT_FORMATS,
369
+ Z as DEFAULT_POINT_ZOOM,
370
+ Y as DEFAULT_POLYGON_MAX_ZOOM,
371
+ ee as UNITS_FOR_MODE,
372
+ te as UNIT_LABELS,
373
+ m as and,
374
+ ae as appendAuth,
375
+ re as authHeaders,
376
+ oe as bboxFromGeometry,
377
+ T as between,
378
+ W as buildBoxDrawData,
379
+ E as buildBoxPolygon,
380
+ se as buildCql2Query,
381
+ ne as buildDefaultStylesForGeometryTypes,
382
+ le as buildGeometryFilter,
383
+ ie as buildMeasureGeometryData,
384
+ ce as buildMeasurePointsData,
385
+ ue as calculateArea,
386
+ pe as calculateDistance,
387
+ fe as calculateMeasurement,
388
+ ye as combineGeometries,
389
+ O as csvConverter,
390
+ me as defaultUnitForMode,
391
+ be as detectGeometryStyleTypesFromQueryables,
392
+ ge as detectGeometryTypeFromQueryables,
393
+ de as detectGeometryTypesFromFeatures,
394
+ he as detectStyleTypeForCollection,
395
+ Te as detectStyleTypesForCollection,
396
+ Fe as detectTileSourceType,
397
+ we as downloadBlob,
398
+ Ce as downloadCsv,
399
+ c as eq,
400
+ I as exportConverters,
401
+ _ as expressionColors,
402
+ R as expressionEntries,
403
+ $ as expressionPropertyName,
404
+ U as expressionType,
405
+ ve as extractGeometryType,
406
+ Se as extractQueryParameters,
407
+ v as featuresToCsv,
408
+ Ae as fetchCollectionDetail,
409
+ Ge as fetchCollections,
410
+ Pe as fetchConformance,
411
+ Ee as fetchDistinctValues,
412
+ Oe as fetchFeatureById,
413
+ De as fetchFeatureCount,
414
+ ke as fetchFeatures,
415
+ Be as fetchGenericTileJson,
416
+ Me as fetchQueryables,
417
+ Ne as fetchSpriteNames,
418
+ je as fetchSpriteUrlFromStyle,
419
+ qe as fetchTileJson,
420
+ M as flatgeobufConverter,
421
+ ze as formatMeasurement,
422
+ Le as fromFilterRuleGroup,
423
+ Ue as fromSimpleFilters,
424
+ _e as fromStructuredFilters,
425
+ Ft as generateId,
426
+ D as geojsonConverter,
427
+ Re as geometryTypeToStyleType,
428
+ $e as geometryTypeToStyleTypes,
429
+ N as geopackageConverter,
430
+ z as getColorFromPalette,
431
+ A as getColorFromTheme,
432
+ Je as getCql2FilteredVectorTileUrl,
433
+ Ke as getFilteredVectorTileUrl,
434
+ Qe as getGeometryPropertyNames,
435
+ Ve as getImageryTileUrl,
436
+ J as getPrimaryColor,
437
+ K as getShapeForStyleType,
438
+ S as getThemePalette,
439
+ We as getTileJsonUrl,
440
+ Ie as getVectorTileSourceKey,
441
+ xe as getVectorTileUrl,
442
+ h as gt,
443
+ g as gte,
444
+ He as humanizePropertyName,
445
+ Xe as inList,
446
+ L as isExpression,
447
+ Ze as isFilterRuleGroup,
448
+ Ye as isGeometryProperty,
449
+ et as isNull,
450
+ k as kmlConverter,
451
+ tt as like,
452
+ d as lt,
453
+ b as lte,
454
+ at as neq,
455
+ rt as not,
456
+ ot as or,
457
+ V as propertyFiltersToCql2,
458
+ st as queryRequiresGeometry,
459
+ nt as resolveAvailableIcons,
460
+ lt as resolvePropertyDisplay,
461
+ it as resolveRelativeDate,
462
+ ct as resolveStyleWithSprites,
463
+ ut as sDwithin,
464
+ pt as sIntersects,
465
+ ft as sWithin,
466
+ yt as selectedFeatureKey,
467
+ mt as serializeCql2,
468
+ B as shapefileConverter,
469
+ Q as slugify,
470
+ bt as stripTrailingSlash,
471
+ w as tAfter,
472
+ C as tBefore,
473
+ F as tDuring,
474
+ gt as tileSizeFromTileJson,
475
+ dt as toAvailableProperties,
476
+ ht as zoomToFeature
477
+ };
@@ -105,6 +105,11 @@ export interface FetchFeaturesOptions {
105
105
  filter?: Record<string, string | number>;
106
106
  /** CQL2 JSON filter expression. When provided, takes precedence over filter. */
107
107
  cql2Filter?: CQL2Expression;
108
+ /** Sort fields for OGC API sortby parameter. */
109
+ sortby?: Array<{
110
+ property: string;
111
+ direction: 'asc' | 'desc';
112
+ }>;
108
113
  }
109
114
  export type { SourceAuth };
110
115
  export declare function stripTrailingSlash(url: string): string;
@@ -114,37 +119,50 @@ export declare function appendAuth(url: string, auth?: SourceAuth): string;
114
119
  export declare function authHeaders(auth?: SourceAuth): Record<string, string>;
115
120
  /**
116
121
  * Fetch the list of collections from an OGC API endpoint.
122
+ * @throws {Error} If the request fails or the response status is not OK.
117
123
  */
118
124
  export declare function fetchCollections(baseUrl: string, auth?: SourceAuth): Promise<OgcCollection[]>;
119
125
  /**
120
126
  * Fetch GeoJSON features from an OGC API collection.
127
+ * @throws {Error} If the request fails or the response status is not OK.
121
128
  */
122
- export declare function fetchFeatures(baseUrl: string, collection: string, options?: FetchFeaturesOptions, auth?: SourceAuth): Promise<OgcFeatureCollection>;
129
+ export declare function fetchFeatures(baseUrl: string, collection: string, options?: FetchFeaturesOptions, auth?: SourceAuth, signal?: AbortSignal): Promise<OgcFeatureCollection>;
123
130
  /**
124
131
  * Fetch a single feature by ID from an OGC API collection.
125
- * Returns null if the feature is not found or the request fails.
132
+ *
133
+ * Unlike other fetch functions in this module, this function catches errors
134
+ * and returns `null` instead of throwing. This is intentional: "find by ID"
135
+ * is a lookup pattern where not-found (404) is an expected outcome, not an
136
+ * exceptional condition.
137
+ *
138
+ * @returns The feature if found, or `null` if not found or the request fails.
126
139
  */
127
140
  export declare function fetchFeatureById(baseUrl: string, collection: string, featureId: string | number, auth?: SourceAuth): Promise<GeoJsonFeature | null>;
128
141
  /**
129
142
  * Fetch queryable properties for a collection.
143
+ * @throws {Error} If the request fails or the response status is not OK.
130
144
  */
131
145
  export declare function fetchQueryables(baseUrl: string, collection: string, auth?: SourceAuth): Promise<OgcQueryables>;
132
146
  /**
133
147
  * Fetch metadata for a single OGC API collection.
148
+ * @throws {Error} If the request fails or the response status is not OK.
134
149
  */
135
150
  export declare function fetchCollectionDetail(baseUrl: string, collectionId: string, auth?: SourceAuth): Promise<OgcCollection>;
136
151
  /**
137
152
  * Fetch the OGC API conformance declaration to discover server capabilities.
153
+ * @throws {Error} If the request fails or the response status is not OK.
138
154
  */
139
155
  export declare function fetchConformance(baseUrl: string, auth?: SourceAuth): Promise<OgcConformance>;
140
156
  /**
141
157
  * Fetch the TileJSON document for a collection's vector tiles.
158
+ * @throws {Error} If the request fails or the response status is not OK.
142
159
  */
143
160
  export declare function fetchTileJson(baseUrl: string, collection: string, tileMatrixSetId?: string, auth?: SourceAuth): Promise<TileJson>;
144
161
  /**
145
162
  * Fetch the total feature count for a collection (optionally filtered).
146
163
  * Uses limit=0 and reads `numberMatched` from the response.
147
164
  * Returns null if the server does not report numberMatched.
165
+ * @throws {Error} If the request fails or the response status is not OK.
148
166
  */
149
167
  export declare function fetchFeatureCount(baseUrl: string, collection: string, options?: Omit<FetchFeaturesOptions, 'limit' | 'offset' | 'properties'>, auth?: SourceAuth): Promise<number | null>;
150
168
  /**
@@ -164,13 +182,14 @@ export declare function getFilteredVectorTileUrl(baseUrl: string, collection: st
164
182
  /**
165
183
  * Fetch distinct non-null string values for a property in an OGC API collection.
166
184
  * Optionally filters by a substring query using a CQL2 `like` filter.
185
+ * @throws {Error} If the request fails or the response status is not OK.
167
186
  */
168
187
  export declare function fetchDistinctValues(baseUrl: string, collection: string, property: string, options?: {
169
188
  query?: string;
170
189
  limit?: number;
171
190
  fetchAll?: boolean;
172
191
  maxFeatures?: number;
173
- }, auth?: SourceAuth): Promise<string[]>;
192
+ }, auth?: SourceAuth, signal?: AbortSignal): Promise<string[]>;
174
193
  /**
175
194
  * Build a vector tile URL template with a CQL2 JSON filter applied.
176
195
  * Returns a URL with `{z}/{x}/{y}` placeholders suitable for MapLibre.
@@ -195,13 +214,19 @@ export declare function getImageryTileUrl(baseUrl: string, collection: string, t
195
214
  /**
196
215
  * Fetch a TileJSON document from any URL (not OGC-specific).
197
216
  * Works with MapTiler, Mapbox, and any TileJSON-compliant endpoint.
217
+ * @throws {Error} If the request fails or the response status is not OK.
198
218
  */
199
219
  export declare function fetchGenericTileJson(tileJsonUrl: string, auth?: SourceAuth): Promise<TileJson>;
200
220
  /**
201
221
  * Detect the type of a tile source URL.
202
- * Returns 'tilejson' if URL likely points to a TileJSON document,
203
- * 'xyz' if it contains {z}/{x}/{y} placeholders,
222
+ * Returns 'xyz' if it contains {z}/{x}/{y} placeholders,
223
+ * 'tilejson' if URL likely points to a TileJSON document,
224
+ * 'style' if the URL path ends in `style.json` (a MapLibre/Mapbox GL style document),
204
225
  * or 'ogc-api' otherwise.
226
+ *
227
+ * Note: a 'style' URL is NOT a valid imagery source — it describes a whole basemap
228
+ * (multiple sources + layers). Callers should route style URLs to basemap handling
229
+ * instead of the imagery inspector.
205
230
  */
206
- export declare function detectTileSourceType(url: string): 'tilejson' | 'xyz' | 'ogc-api';
231
+ export declare function detectTileSourceType(url: string): 'tilejson' | 'xyz' | 'style' | 'ogc-api';
207
232
  //# sourceMappingURL=ogcApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ogcApi.d.ts","sourceRoot":"","sources":["../../src/utils/ogcApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ogcApi.d.ts","sourceRoot":"","sources":["../../src/utils/ogcApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { CQL2Expression } from './cql2';
2
+ /**
3
+ * The structured value for a property filter row. Matches the shapes already
4
+ * used by SearchFilterValue so CQL2 conversion logic stays consistent.
5
+ */
6
+ export type PropertyFilterValue = string | {
7
+ value: number;
8
+ operator: string;
9
+ } | {
10
+ min: number;
11
+ max: number;
12
+ } | {
13
+ start: string;
14
+ end: string;
15
+ };
16
+ /**
17
+ * A flat filter rule: pick a layer, pick a property, enter a value.
18
+ * The propertyType drives which input the UI renders and how the value
19
+ * is compiled to CQL2.
20
+ */
21
+ export interface PropertyFilter {
22
+ id: string;
23
+ layerId: string;
24
+ property: string;
25
+ propertyType: 'string' | 'number' | 'datetime';
26
+ value: PropertyFilterValue;
27
+ }
28
+ /**
29
+ * Compiles the flat filter list for a single layer down to a CQL2 expression.
30
+ * Returns `null` when the layer has no usable rows (empty property or empty
31
+ * value rows are skipped so drafting a rule doesn't accidentally hide every
32
+ * feature).
33
+ */
34
+ export declare function propertyFiltersToCql2(filters: PropertyFilter[], layerId: string): CQL2Expression | null;
35
+ //# sourceMappingURL=propertyFilters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propertyFilters.d.ts","sourceRoot":"","sources":["../../src/utils/propertyFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE3G;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC/C,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AA2DD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,EAAE,MAAM,GACd,cAAc,GAAG,IAAI,CAIvB"}
@@ -0,0 +1,23 @@
1
+ import { FilterRuleGroup } from '../types';
2
+ /**
3
+ * A user-facing parameter extracted from a CQL2 filter template.
4
+ * Used to render input fields in the QueryPanel.
5
+ */
6
+ export interface QueryParameter {
7
+ name: string;
8
+ label: string;
9
+ inputType: 'text' | 'number' | 'date' | 'select';
10
+ default?: string | number;
11
+ options?: string[];
12
+ }
13
+ /**
14
+ * Walks a FilterRuleGroup tree and extracts all parameterized values
15
+ * that the user needs to fill in at runtime. Deduplicates by name.
16
+ */
17
+ export declare function extractQueryParameters(group: FilterRuleGroup): QueryParameter[];
18
+ /**
19
+ * Returns true if the filter group contains any spatial operators
20
+ * that require a selection geometry at runtime.
21
+ */
22
+ export declare function queryRequiresGeometry(group: FilterRuleGroup): boolean;
23
+ //# sourceMappingURL=queryParameters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryParameters.d.ts","sourceRoot":"","sources":["../../src/utils/queryParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,eAAe,EAAE,MAAM,UAAU,CAAC;AAO5D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,EAAE,CAqE/E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAYrE"}
@@ -29,6 +29,10 @@ export declare function detectGeometryTypeFromQueryables(queryables: OgcQueryabl
29
29
  * returns all suitable style types, or an empty array if none found.
30
30
  */
31
31
  export declare function detectGeometryStyleTypesFromQueryables(queryables: OgcQueryables): ('fill' | 'line' | 'circle' | 'symbol')[];
32
+ /**
33
+ * Returns the names of all geometry properties in a queryables document.
34
+ */
35
+ export declare function getGeometryPropertyNames(queryables: OgcQueryables): string[];
32
36
  /**
33
37
  * Filters out geometry properties and maps the rest to AvailableProperty[].
34
38
  */