@maptiler/geocoding-control 3.0.0-rc.5 → 3.0.0-rc.7

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,24 +1,24 @@
1
- import { css as I, LitElement as M, svg as R, html as m, unsafeCSS as ce, nothing as J } from "lit";
2
- import { customElement as O, property as p, state as b, query as Ae } from "lit/decorators.js";
3
- import { convert as We } from "geo-coordinates-parser";
4
- import { classMap as A } from "lit/directives/class-map.js";
5
- import { repeat as Ve } from "lit/directives/repeat.js";
6
- import qe from "@turf/clone";
7
- import { styleMap as Ne } from "lit/directives/style-map.js";
8
- import X from "@turf/bbox";
9
- import { featureCollection as q, polygon as Ze, feature as Qe } from "@turf/helpers";
1
+ import { css as F, LitElement as O, svg as W, html as g, unsafeCSS as le, nothing as H } from "lit";
2
+ import { customElement as C, property as p, state as b, query as Ae } from "lit/decorators.js";
3
+ import { convert as Ve } from "geo-coordinates-parser";
4
+ import { classMap as D } from "lit/directives/class-map.js";
5
+ import { repeat as qe } from "lit/directives/repeat.js";
6
+ import Ne from "@turf/clone";
7
+ import { styleMap as Ze } from "lit/directives/style-map.js";
8
+ import Y from "@turf/bbox";
9
+ import { featureCollection as A, polygon as Qe, feature as Ke } from "@turf/helpers";
10
10
  import _e from "@turf/union";
11
- import { Evented as Ke, Control as He, DomEvent as xe, Popup as Ye, GeoJSON as Je, DivIcon as Xe, Marker as et } from "leaflet";
12
- import tt from "@turf/difference";
13
- import it from "@turf/flatten";
14
- var st = Object.getOwnPropertyDescriptor, ot = (t, e, i, r) => {
15
- for (var o = r > 1 ? void 0 : r ? st(e, i) : e, s = t.length - 1, a; s >= 0; s--)
16
- (a = t[s]) && (o = a(o) || o);
17
- return o;
11
+ import { Evented as He, Control as Ye, DomEvent as xe, Popup as Je, GeoJSON as Xe, DivIcon as et, Marker as tt } from "leaflet";
12
+ import it from "@turf/difference";
13
+ import st from "@turf/flatten";
14
+ var rt = Object.getOwnPropertyDescriptor, ot = (t, e, i, o) => {
15
+ for (var s = o > 1 ? void 0 : o ? rt(e, i) : e, a = t.length - 1, r; a >= 0; a--)
16
+ (r = t[a]) && (s = r(s) || s);
17
+ return s;
18
18
  };
19
- let ee = class extends M {
19
+ let J = class extends O {
20
20
  render() {
21
- return R`
21
+ return W`
22
22
  <svg viewBox="0 0 14 14" width="13" height="13">
23
23
  <path
24
24
  d="M13.12.706a.982.982 0 0 0-1.391 0L6.907 5.517 2.087.696a.982.982 0 1 0-1.391 1.39l4.821 4.821L.696 11.73a.982.982 0 1 0 1.39 1.39l4.821-4.821 4.822 4.821a.982.982 0 1 0 1.39-1.39L8.298 6.908l4.821-4.822a.988.988 0 0 0 0-1.38Z"
@@ -27,23 +27,23 @@ let ee = class extends M {
27
27
  `;
28
28
  }
29
29
  };
30
- ee.styles = I`
30
+ J.styles = F`
31
31
  svg {
32
32
  display: block;
33
33
  fill: var(--color-icon-button);
34
34
  }
35
35
  `;
36
- ee = ot([
37
- O("maptiler-geocode-clear-icon")
38
- ], ee);
39
- var rt = Object.getOwnPropertyDescriptor, at = (t, e, i, r) => {
40
- for (var o = r > 1 ? void 0 : r ? rt(e, i) : e, s = t.length - 1, a; s >= 0; s--)
41
- (a = t[s]) && (o = a(o) || o);
42
- return o;
36
+ J = ot([
37
+ C("maptiler-geocode-clear-icon")
38
+ ], J);
39
+ var at = Object.getOwnPropertyDescriptor, nt = (t, e, i, o) => {
40
+ for (var s = o > 1 ? void 0 : o ? at(e, i) : e, a = t.length - 1, r; a >= 0; a--)
41
+ (r = t[a]) && (s = r(s) || s);
42
+ return s;
43
43
  };
44
- let te = class extends M {
44
+ let X = class extends O {
45
45
  render() {
46
- return R`
46
+ return W`
47
47
  <svg viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
48
48
  <path
49
49
  d="M15 0C6.705 0 0 6.705 0 15C0 23.295 6.705 30 15 30C23.295 30 30 23.295 30 15C30 6.705 23.295 0 15 0ZM22.5 20.385L20.385 22.5L15 17.115L9.615 22.5L7.5 20.385L12.885 15L7.5 9.615L9.615 7.5L15 12.885L20.385 7.5L22.5 9.615L17.115 15L22.5 20.385Z"
@@ -52,23 +52,23 @@ let te = class extends M {
52
52
  `;
53
53
  }
54
54
  };
55
- te.styles = I`
55
+ X.styles = F`
56
56
  svg {
57
57
  display: block;
58
58
  fill: #e15042;
59
59
  }
60
60
  `;
61
- te = at([
62
- O("maptiler-geocode-fail-icon")
63
- ], te);
64
- var nt = Object.getOwnPropertyDescriptor, lt = (t, e, i, r) => {
65
- for (var o = r > 1 ? void 0 : r ? nt(e, i) : e, s = t.length - 1, a; s >= 0; s--)
66
- (a = t[s]) && (o = a(o) || o);
67
- return o;
61
+ X = nt([
62
+ C("maptiler-geocode-fail-icon")
63
+ ], X);
64
+ var lt = Object.getOwnPropertyDescriptor, ct = (t, e, i, o) => {
65
+ for (var s = o > 1 ? void 0 : o ? lt(e, i) : e, a = t.length - 1, r; a >= 0; a--)
66
+ (r = t[a]) && (s = r(s) || s);
67
+ return s;
68
68
  };
69
- let ie = class extends M {
69
+ let ee = class extends O {
70
70
  render() {
71
- return m`
71
+ return g`
72
72
  <div>
73
73
  <svg viewBox="0 0 18 18" width="24" height="24" class="loading-icon">
74
74
  <path fill="#333" d="M4.4 4.4l.8.8c2.1-2.1 5.5-2.1 7.6 0l.8-.8c-2.5-2.5-6.7-2.5-9.2 0z" />
@@ -78,7 +78,7 @@ let ie = class extends M {
78
78
  `;
79
79
  }
80
80
  };
81
- ie.styles = I`
81
+ ee.styles = F`
82
82
  div {
83
83
  position: absolute;
84
84
  left: 50%;
@@ -105,17 +105,17 @@ ie.styles = I`
105
105
  }
106
106
  }
107
107
  `;
108
- ie = lt([
109
- O("maptiler-geocode-loading-icon")
110
- ], ie);
111
- var ct = Object.getOwnPropertyDescriptor, ht = (t, e, i, r) => {
112
- for (var o = r > 1 ? void 0 : r ? ct(e, i) : e, s = t.length - 1, a; s >= 0; s--)
113
- (a = t[s]) && (o = a(o) || o);
114
- return o;
108
+ ee = ct([
109
+ C("maptiler-geocode-loading-icon")
110
+ ], ee);
111
+ var ht = Object.getOwnPropertyDescriptor, pt = (t, e, i, o) => {
112
+ for (var s = o > 1 ? void 0 : o ? ht(e, i) : e, a = t.length - 1, r; a >= 0; a--)
113
+ (r = t[a]) && (s = r(s) || s);
114
+ return s;
115
115
  };
116
- let se = class extends M {
116
+ let te = class extends O {
117
117
  render() {
118
- return R`
118
+ return W`
119
119
  <svg viewBox="0 0 60.006 21.412" width="14" height="20">
120
120
  <path
121
121
  d="M30.003-26.765C13.46-26.765 0-14.158 0 1.337c0 23.286 24.535 42.952 28.39 46.04.24.192.402.316.471.376.323.282.732.424 1.142.424.41 0 .82-.142 1.142-.424.068-.06.231-.183.471-.376 3.856-3.09 28.39-22.754 28.39-46.04 0-15.495-13.46-28.102-30.003-28.102Zm1.757 12.469c4.38 0 7.858 1.052 10.431 3.158 2.595 2.105 3.89 4.913 3.89 8.422 0 2.34-.53 4.362-1.593 6.063-1.063 1.702-3.086 3.616-6.063 5.742-2.042 1.51-3.337 2.659-3.89 3.446-.532.787-.8 1.82-.8 3.096v1.914h-8.449V15.18c0-2.041.434-3.815 1.306-5.325.872-1.51 2.467-3.118 4.785-4.82 2.233-1.594 3.7-2.89 4.402-3.889a5.582 5.582 0 0 0 1.087-3.35c0-1.382-.51-2.435-1.531-3.158-1.02-.723-2.45-1.087-4.28-1.087-3.19 0-6.826 1.047-10.91 3.131l-3.472-6.986c4.742-2.659 9.77-3.992 15.087-3.992Zm-1.88 37.324c1.765 0 3.124.472 4.08 1.408.98.936 1.47 2.276 1.47 4.02 0 1.68-.49 3.007-1.47 3.985-.977.957-2.336 1.435-4.08 1.435-1.787 0-3.171-.465-4.15-1.4-.978-.958-1.47-2.298-1.47-4.02 0-1.787.48-3.14 1.436-4.054.957-.915 2.355-1.374 4.184-1.374Z"
@@ -124,23 +124,23 @@ let se = class extends M {
124
124
  `;
125
125
  }
126
126
  };
127
- se.styles = I`
127
+ te.styles = F`
128
128
  svg {
129
129
  display: block;
130
130
  fill: var(--color-icon-button);
131
131
  }
132
132
  `;
133
- se = ht([
134
- O("maptiler-geocode-reverse-geocoding-icon")
135
- ], se);
136
- var pt = Object.getOwnPropertyDescriptor, dt = (t, e, i, r) => {
137
- for (var o = r > 1 ? void 0 : r ? pt(e, i) : e, s = t.length - 1, a; s >= 0; s--)
138
- (a = t[s]) && (o = a(o) || o);
139
- return o;
133
+ te = pt([
134
+ C("maptiler-geocode-reverse-geocoding-icon")
135
+ ], te);
136
+ var dt = Object.getOwnPropertyDescriptor, ut = (t, e, i, o) => {
137
+ for (var s = o > 1 ? void 0 : o ? dt(e, i) : e, a = t.length - 1, r; a >= 0; a--)
138
+ (r = t[a]) && (s = r(s) || s);
139
+ return s;
140
140
  };
141
- let oe = class extends M {
141
+ let ie = class extends O {
142
142
  render() {
143
- return R`
143
+ return W`
144
144
  <svg
145
145
  xmlns="http://www.w3.org/2000/svg"
146
146
  width="13"
@@ -153,7 +153,7 @@ let oe = class extends M {
153
153
  `;
154
154
  }
155
155
  };
156
- oe.styles = I`
156
+ ie.styles = F`
157
157
  circle {
158
158
  stroke-width: 1.875;
159
159
  fill: none;
@@ -169,92 +169,92 @@ oe.styles = I`
169
169
  stroke: var(--color-icon-button);
170
170
  }
171
171
  `;
172
- oe = dt([
173
- O("maptiler-geocode-search-icon")
174
- ], oe);
175
- function ut(t, e, i) {
176
- const r = e[1], o = e[0], s = r - o;
177
- return t === r && i ? t : ((t - o) % s + s) % s + o;
172
+ ie = ut([
173
+ C("maptiler-geocode-search-icon")
174
+ ], ie);
175
+ function ft(t, e, i) {
176
+ const o = e[1], s = e[0], a = o - s;
177
+ return t === o && i ? t : ((t - s) % a + a) % a + s;
178
178
  }
179
- function U(t) {
179
+ function G(t) {
180
180
  const e = [...t];
181
181
  return e[2] < e[0] && (Math.abs((e[0] + e[2] + 360) / 2) > Math.abs((e[0] - 360 + e[2]) / 2) ? e[0] -= 360 : e[2] += 360), e;
182
182
  }
183
183
  function be(t, e) {
184
- const i = qe(t);
185
- for (const r of i.features)
186
- if (r.geometry.type == "MultiPolygon")
187
- for (const o of r.geometry.coordinates)
188
- we(o, e);
184
+ const i = Ne(t);
185
+ for (const o of i.features)
186
+ if (o.geometry.type == "MultiPolygon")
187
+ for (const s of o.geometry.coordinates)
188
+ we(s, e);
189
189
  else
190
- we(r.geometry.coordinates, e);
190
+ we(o.geometry.coordinates, e);
191
191
  return i;
192
192
  }
193
193
  function we(t, e) {
194
194
  for (const i of t)
195
- for (const r of i)
196
- r[0] += e;
195
+ for (const o of i)
196
+ o[0] += e;
197
197
  }
198
- let B;
199
- async function ft(t, e, i) {
200
- for (const r of e ?? [])
201
- if (!(t && (r.minZoom != null && r.minZoom > t[0] || r.maxZoom != null && r.maxZoom < t[0]))) {
202
- if (r.type === "fixed")
203
- return r.coordinates.join(",");
204
- if (r.type === "client-geolocation")
205
- if (B && r.cachedLocationExpiry && B.time + r.cachedLocationExpiry > Date.now()) {
206
- if (B.coords)
207
- return B.coords;
198
+ let P;
199
+ async function mt(t, e, i) {
200
+ for (const o of e ?? [])
201
+ if (!(t && (o.minZoom != null && o.minZoom > t[0] || o.maxZoom != null && o.maxZoom < t[0]))) {
202
+ if (o.type === "fixed")
203
+ return o.coordinates.join(",");
204
+ if (o.type === "client-geolocation")
205
+ if (P && o.cachedLocationExpiry && P.time + o.cachedLocationExpiry > Date.now()) {
206
+ if (P.coords)
207
+ return P.coords;
208
208
  } else {
209
- let o;
209
+ let s;
210
210
  try {
211
- return o = await new Promise((s, a) => {
211
+ return s = await new Promise((a, r) => {
212
212
  i.signal.addEventListener("abort", () => {
213
- a(Error("aborted"));
213
+ r(Error("aborted"));
214
214
  }), navigator.geolocation.getCurrentPosition(
215
215
  (u) => {
216
- s([u.coords.longitude, u.coords.latitude].map((w) => w.toFixed(6)).join(","));
216
+ a([u.coords.longitude, u.coords.latitude].map((m) => m.toFixed(6)).join(","));
217
217
  },
218
218
  (u) => {
219
- a(u);
219
+ r(u);
220
220
  },
221
- r
221
+ o
222
222
  );
223
- }), o;
223
+ }), s;
224
224
  } catch {
225
225
  } finally {
226
- r.cachedLocationExpiry && (B = {
226
+ o.cachedLocationExpiry && (P = {
227
227
  time: Date.now(),
228
- coords: o
228
+ coords: s
229
229
  });
230
230
  }
231
231
  if (i.signal.aborted)
232
232
  return;
233
233
  }
234
- if (r.type === "server-geolocation")
234
+ if (o.type === "server-geolocation")
235
235
  return "ip";
236
- if (t && r.type === "map-center")
236
+ if (t && o.type === "map-center")
237
237
  return t[1].toFixed(6) + "," + t[2].toFixed(6);
238
238
  }
239
239
  }
240
- const mt = ".sprite-icon{align-self:center;justify-self:center;opacity:.75;background-repeat:no-repeat}li{text-align:left;cursor:default;display:grid;grid-template-columns:40px 1fr;color:var(--color-text);padding:8px 0;font-size:14px;line-height:18px;min-width:fit-content;outline:0}li:first-child{padding-top:10px}li:last-child{padding-bottom:10px}li.picked{background-color:#e7edff}li.picked .secondary{color:#96a4c7;padding-left:4px}li.picked .line2{color:#96a4c7}li.selected{background-color:#f3f6ff;animation:backAndForth 5s linear infinite}li.selected .primary{color:#2b8bfb}li.selected .secondary{color:#a2adc7;padding-left:4px}li.selected .line2{color:#a2adc7}li>img{align-self:center;justify-self:center;opacity:.75}.texts{padding:0 17px 0 0}.texts>*{white-space:nowrap;display:block;min-width:fit-content}.primary{font-weight:600}.secondary{color:#aeb6c7;padding-left:4px}.line2{color:#aeb6c7}@keyframes backAndForth{0%{transform:translate(0)}10%{transform:translate(0)}45%{transform:translate(calc(-100% + 270px))}55%{transform:translate(calc(-100% + 270px))}90%{transform:translate(0)}to{transform:translate(0)}}";
241
- var gt = Object.defineProperty, yt = Object.getOwnPropertyDescriptor, $e = (t) => {
240
+ const gt = ".sprite-icon{align-self:center;justify-self:center;opacity:.75;background-repeat:no-repeat}li{text-align:left;cursor:default;display:grid;grid-template-columns:40px 1fr;color:var(--color-text);padding:8px 0;font-size:14px;line-height:18px;min-width:fit-content;outline:0}li:first-child{padding-top:10px}li:last-child{padding-bottom:10px}li.picked{background-color:#e7edff}li.picked .secondary{color:#96a4c7;padding-left:4px}li.picked .line2{color:#96a4c7}li.selected{background-color:#f3f6ff;animation:backAndForth 5s linear infinite}li.selected .primary{color:#2b8bfb}li.selected .secondary{color:#a2adc7;padding-left:4px}li.selected .line2{color:#a2adc7}li>img{align-self:center;justify-self:center;opacity:.75}.texts{padding:0 17px 0 0}.texts>*{white-space:nowrap;display:block;min-width:fit-content}.primary{font-weight:600}.secondary{color:#aeb6c7;padding-left:4px}.line2{color:#aeb6c7}@keyframes backAndForth{0%{transform:translate(0)}10%{transform:translate(0)}45%{transform:translate(calc(-100% + 270px))}55%{transform:translate(calc(-100% + 270px))}90%{transform:translate(0)}to{transform:translate(0)}}";
241
+ var yt = Object.defineProperty, vt = Object.getOwnPropertyDescriptor, Le = (t) => {
242
242
  throw TypeError(t);
243
- }, $ = (t, e, i, r) => {
244
- for (var o = r > 1 ? void 0 : r ? yt(e, i) : e, s = t.length - 1, a; s >= 0; s--)
245
- (a = t[s]) && (o = (r ? a(e, i, o) : a(o)) || o);
246
- return r && o && gt(e, i, o), o;
247
- }, Le = (t, e, i) => e.has(t) || $e("Cannot " + i), f = (t, e, i) => (Le(t, e, "read from private field"), i ? i.call(t) : e.get(t)), vt = (t, e, i) => e.has(t) ? $e("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, i), E = (t, e, i) => (Le(t, e, "access private method"), i), d, N, G, g, Ie, Me, he, re;
248
- const Oe = typeof devicePixelRatio > "u" || devicePixelRatio > 1.25, Ce = Oe ? "@2x" : "", F = Oe ? 2 : 1;
249
- let C, Te, _ = class extends M {
243
+ }, $ = (t, e, i, o) => {
244
+ for (var s = o > 1 ? void 0 : o ? vt(e, i) : e, a = t.length - 1, r; a >= 0; a--)
245
+ (r = t[a]) && (s = (o ? r(e, i, s) : r(s)) || s);
246
+ return o && s && yt(e, i, s), s;
247
+ }, $e = (t, e, i) => e.has(t) || Le("Cannot " + i), f = (t, e, i) => ($e(t, e, "read from private field"), i ? i.call(t) : e.get(t)), xt = (t, e, i) => e.has(t) ? Le("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, i), S = (t, e, i) => ($e(t, e, "access private method"), i), d, V, U, y, Ie, Fe, ce, se;
248
+ const Oe = typeof devicePixelRatio > "u" || devicePixelRatio > 1.25, Ce = Oe ? "@2x" : "", T = Oe ? 2 : 1;
249
+ let M, Me, k = class extends O {
250
250
  constructor() {
251
- super(...arguments), vt(this, d), this.itemStyle = "default", this.showPlaceType = "if-needed", this.missingIconsCache = /* @__PURE__ */ new Set(), this.iconsBaseUrl = "", this.index = 0;
251
+ super(...arguments), xt(this, d), this.itemStyle = "default", this.showPlaceType = "if-needed", this.missingIconsCache = /* @__PURE__ */ new Set(), this.iconsBaseUrl = "", this.index = 0;
252
252
  }
253
253
  willUpdate(t) {
254
- t.has("feature") && f(this, d, N) && (this.index = f(this, d, N).length, E(this, d, he).call(this));
254
+ t.has("feature") && f(this, d, V) && (this.index = f(this, d, V).length, S(this, d, ce).call(this));
255
255
  }
256
256
  render() {
257
- return m`
257
+ return g`
258
258
  <li
259
259
  tabindex="-1"
260
260
  role="option"
@@ -263,112 +263,112 @@ let C, Te, _ = class extends M {
263
263
  class=${this.itemStyle}
264
264
  @click=${() => this.dispatchEvent(new CustomEvent("select"))}
265
265
  >
266
- ${C && this.spriteIcon ? m`
266
+ ${M && this.spriteIcon ? g`
267
267
  <div
268
268
  class="sprite-icon"
269
- style=${Ne({
270
- width: `${this.spriteIcon.width / F}px`,
271
- height: `${this.spriteIcon.height / F}px`,
269
+ style=${Ze({
270
+ width: `${this.spriteIcon.width / T}px`,
271
+ height: `${this.spriteIcon.height / T}px`,
272
272
  backgroundImage: `url(${this.iconsBaseUrl}sprite${Ce}.png)`,
273
- backgroundPosition: `-${this.spriteIcon.x / F}px -${this.spriteIcon.y / F}px`,
274
- backgroundSize: `${C.width / F}px ${C.height / F}px`
273
+ backgroundPosition: `-${this.spriteIcon.x / T}px -${this.spriteIcon.y / T}px`,
274
+ backgroundSize: `${M.width / T}px ${M.height / T}px`
275
275
  })}
276
- title=${f(this, d, g)}
276
+ title=${f(this, d, y)}
277
277
  />
278
- ` : this.imageUrl ? m` <img src=${this.imageUrl} alt=${this.category} title=${f(this, d, g)} @error=${E(this, d, Me)} />` : this.feature?.address ? m` <img src=${this.iconsBaseUrl + "housenumber.svg"} alt=${f(this, d, g)} title=${f(this, d, g)} /> ` : this.feature?.id.startsWith("road.") ? m` <img src=${this.iconsBaseUrl + "road.svg"} alt=${f(this, d, g)} title=${f(this, d, g)} /> ` : this.feature?.id.startsWith("address.") ? m` <img src=${this.iconsBaseUrl + "street.svg"} alt=${f(this, d, g)} title=${f(this, d, g)} /> ` : this.feature?.id.startsWith("postal_code.") ? m` <img src=${this.iconsBaseUrl + "postal_code.svg"} alt=${f(this, d, g)} title=${f(this, d, g)} /> ` : this.feature?.id.startsWith("poi.") ? m` <img src=${this.iconsBaseUrl + "poi.svg"} alt=${f(this, d, g)} title=${f(this, d, g)} /> ` : f(this, d, G) ? m` <img src=${this.iconsBaseUrl + "reverse.svg"} alt=${f(this, d, g)} title=${f(this, d, g)} /> ` : m` <img src=${this.iconsBaseUrl + "area.svg"} alt=${f(this, d, g)} title=${f(this, d, g)} /> `}
278
+ ` : this.imageUrl ? g` <img src=${this.imageUrl} alt=${this.category} title=${f(this, d, y)} @error=${S(this, d, Fe)} />` : this.feature?.address ? g` <img src=${this.iconsBaseUrl + "housenumber.svg"} alt=${f(this, d, y)} title=${f(this, d, y)} /> ` : this.feature?.id.startsWith("road.") ? g` <img src=${this.iconsBaseUrl + "road.svg"} alt=${f(this, d, y)} title=${f(this, d, y)} /> ` : this.feature?.id.startsWith("address.") ? g` <img src=${this.iconsBaseUrl + "street.svg"} alt=${f(this, d, y)} title=${f(this, d, y)} /> ` : this.feature?.id.startsWith("postal_code.") ? g` <img src=${this.iconsBaseUrl + "postal_code.svg"} alt=${f(this, d, y)} title=${f(this, d, y)} /> ` : this.feature?.id.startsWith("poi.") ? g` <img src=${this.iconsBaseUrl + "poi.svg"} alt=${f(this, d, y)} title=${f(this, d, y)} /> ` : f(this, d, U) ? g` <img src=${this.iconsBaseUrl + "reverse.svg"} alt=${f(this, d, y)} title=${f(this, d, y)} /> ` : g` <img src=${this.iconsBaseUrl + "area.svg"} alt=${f(this, d, y)} title=${f(this, d, y)} /> `}
279
279
 
280
280
  <span class="texts">
281
281
  <span>
282
- <span class="primary"> ${f(this, d, G) ? this.feature?.place_name : this.feature?.place_name.replace(/,.*/, "")} </span>
282
+ <span class="primary"> ${f(this, d, U) ? this.feature?.place_name : this.feature?.place_name.replace(/,.*/, "")} </span>
283
283
 
284
- ${this.showPlaceType === "always" || this.showPlaceType !== "never" && !this.feature?.address && !this.feature?.id.startsWith("road.") && !this.feature?.id.startsWith("address.") && !this.feature?.id.startsWith("postal_code.") && (!this.feature?.id.startsWith("poi.") || !this.imageUrl) && !f(this, d, G) ? m` <span class="secondary"> ${f(this, d, g)} </span> ` : J}
284
+ ${this.showPlaceType === "always" || this.showPlaceType !== "never" && !this.feature?.address && !this.feature?.id.startsWith("road.") && !this.feature?.id.startsWith("address.") && !this.feature?.id.startsWith("postal_code.") && (!this.feature?.id.startsWith("poi.") || !this.imageUrl) && !f(this, d, U) ? g` <span class="secondary"> ${f(this, d, y)} </span> ` : H}
285
285
  </span>
286
286
 
287
- <span class="line2"> ${f(this, d, G) ? this.feature?.text : this.feature?.place_name.replace(/[^,]*,?s*/, "")} </span>
287
+ <span class="line2"> ${f(this, d, U) ? this.feature?.text : this.feature?.place_name.replace(/[^,]*,?s*/, "")} </span>
288
288
  </span>
289
289
  </li>
290
290
  `;
291
291
  }
292
292
  };
293
293
  d = /* @__PURE__ */ new WeakSet();
294
- N = function() {
294
+ V = function() {
295
295
  return this.feature?.properties?.categories;
296
296
  };
297
- G = function() {
297
+ U = function() {
298
298
  return this.feature?.place_type[0] === "reverse";
299
299
  };
300
- g = function() {
300
+ y = function() {
301
301
  return this.feature?.properties?.categories?.join(", ") ?? this.feature?.place_type_name?.[0] ?? this.feature?.place_type[0];
302
302
  };
303
303
  Ie = function() {
304
- Te ??= fetch(`${this.iconsBaseUrl}sprite${Ce}.json`).then((t) => t.json()).then((t) => {
305
- C = t;
304
+ Me ??= fetch(`${this.iconsBaseUrl}sprite${Ce}.json`).then((t) => t.json()).then((t) => {
305
+ M = t;
306
306
  }).catch(() => {
307
- C = null;
307
+ M = null;
308
308
  });
309
309
  };
310
- Me = function() {
311
- this.imageUrl && this.missingIconsCache.add(this.imageUrl), E(this, d, he).call(this);
310
+ Fe = function() {
311
+ this.imageUrl && this.missingIconsCache.add(this.imageUrl), S(this, d, ce).call(this);
312
312
  };
313
- he = function() {
314
- C !== void 0 ? E(this, d, re).call(this) : (E(this, d, Ie).call(this), Te?.then(() => {
315
- E(this, d, re).call(this);
313
+ ce = function() {
314
+ M !== void 0 ? S(this, d, se).call(this) : (S(this, d, Ie).call(this), Me?.then(() => {
315
+ S(this, d, se).call(this);
316
316
  }));
317
317
  };
318
- re = function() {
318
+ se = function() {
319
319
  do {
320
- if (this.index--, this.category = f(this, d, N)?.[this.index], this.spriteIcon = this.category ? C?.icons[this.category] : void 0, this.spriteIcon)
320
+ if (this.index--, this.category = f(this, d, V)?.[this.index], this.spriteIcon = this.category ? M?.icons[this.category] : void 0, this.spriteIcon)
321
321
  break;
322
322
  this.imageUrl = this.category ? this.iconsBaseUrl + this.category.replace(/ /g, "_") + ".svg" : void 0;
323
323
  } while (this.index > -1 && (!this.imageUrl || this.missingIconsCache.has(this.imageUrl)));
324
324
  };
325
- _.styles = I`
326
- ${ce(mt)}
325
+ k.styles = F`
326
+ ${le(gt)}
327
327
  `;
328
328
  $([
329
329
  p({ type: Object })
330
- ], _.prototype, "feature", 2);
330
+ ], k.prototype, "feature", 2);
331
331
  $([
332
332
  p({ type: String })
333
- ], _.prototype, "itemStyle", 2);
333
+ ], k.prototype, "itemStyle", 2);
334
334
  $([
335
335
  p({ type: String })
336
- ], _.prototype, "showPlaceType", 2);
336
+ ], k.prototype, "showPlaceType", 2);
337
337
  $([
338
338
  p({ attribute: !1 })
339
- ], _.prototype, "missingIconsCache", 2);
339
+ ], k.prototype, "missingIconsCache", 2);
340
340
  $([
341
341
  p({ type: String })
342
- ], _.prototype, "iconsBaseUrl", 2);
342
+ ], k.prototype, "iconsBaseUrl", 2);
343
343
  $([
344
344
  b()
345
- ], _.prototype, "category", 2);
345
+ ], k.prototype, "category", 2);
346
346
  $([
347
347
  b()
348
- ], _.prototype, "imageUrl", 2);
348
+ ], k.prototype, "imageUrl", 2);
349
349
  $([
350
350
  b()
351
- ], _.prototype, "spriteIcon", 2);
351
+ ], k.prototype, "spriteIcon", 2);
352
352
  $([
353
353
  b()
354
- ], _.prototype, "index", 2);
355
- _ = $([
356
- O("maptiler-geocoder-feature-item")
357
- ], _);
358
- const xt = "form{font-family:Open Sans,Ubuntu,Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;background-color:#fff;z-index:10;border-radius:4px;margin:0;transition:max-width .25s;box-shadow:0 2px 5px #33335926;--color-text: #444952;--color-icon-button: #444952;pointer-events:all}form,form *,form *:after,form *:before{box-sizing:border-box}form.can-collapse{max-width:29px}form.can-collapse input::placeholder{transition:opacity .25s;opacity:0}form{width:270px;max-width:270px}form:focus-within,form:hover{width:270px;max-width:270px}form input::placeholder,form:focus-within input::placeholder,form:hover input::placeholder{opacity:1}input{font:inherit;font-size:14px;flex-grow:1;min-height:29px;background-color:transparent;color:#444952;white-space:nowrap;overflow:hidden;border:0;margin:0;padding:0}input:focus{color:#444952;outline:0;outline:none;box-shadow:none}ul,div.error,div.no-results{background-color:#fff;border-radius:4px;left:0;list-style:none;margin:0;padding:0;position:absolute;width:100%;top:calc(100% + 6px);overflow:hidden}ul{font-size:14px;line-height:16px;box-shadow:0 5px 10px #33335926}div.error,div.no-results{font:inherit;line-height:18px;font-size:12px;display:flex;gap:16px}div.error{padding:16px;font-weight:600;color:#e25041;background-color:#fbeae8}div.error div{flex-grow:1}div.error maptiler-geocode-fail-icon{flex-shrink:0;width:20px;height:20px}div.error button{flex-shrink:0}div.error button maptiler-geocode-clear-icon{--color-icon-button: #e25041}div.error button:hover maptiler-geocode-clear-icon,div.error button:active maptiler-geocode-clear-icon{--color-icon-button: inherit}div.no-results{padding:14px 24px 14px 16px;font-weight:400;color:#6b7c93;box-shadow:0 5px 10px #33335926}div.no-results maptiler-geocode-fail-icon{margin-top:4px;flex-shrink:0;width:20px;height:20px}ul.options.open-on-top{top:auto;bottom:calc(100% + 6px)}button{padding:0;margin:0;border:0;background-color:transparent;height:auto;width:auto}button:hover{background-color:transparent}button:hover,button:active{--color-icon-button: #2b8bfb}.input-group{display:flex;align-items:stretch;gap:7px;padding-inline:8px;border-radius:4px;overflow:hidden}.input-group:focus-within{outline:#2b8bfb solid 2px}.search-button{flex-shrink:0}.clear-button-container{display:flex;display:none;position:relative;align-items:stretch}.clear-button-container.displayable{display:flex;flex-shrink:0}:host(.maptiler-geocoder):not(:empty){box-shadow:none}:host(.maptiler-geocoder) .input-group{border:white solid 2px}:host(.maptiler-geocoder) .input-group:focus-within{border:#2b8bfb solid 2px;outline:0;outline:none}:host(.maptiler-geocoder) form.can-collapse{max-width:33px}:host(.maptiler-geocoder) form,:host(.maptiler-geocoder) form:focus-within,:host(.maptiler-geocoder) form:hover{width:270px;max-width:270px}:host(.leaflet-geocoder) .input-group{border:white solid 1px}:host(.leaflet-geocoder) form.can-collapse{max-width:30px}";
359
- var bt = Object.defineProperty, wt = Object.getOwnPropertyDescriptor, Fe = (t) => {
354
+ ], k.prototype, "index", 2);
355
+ k = $([
356
+ C("maptiler-geocoder-feature-item")
357
+ ], k);
358
+ const bt = "form{font-family:Open Sans,Ubuntu,Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;background-color:#fff;z-index:10;border-radius:4px;margin:0;transition:max-width .25s;box-shadow:0 2px 5px #33335926;--color-text: #444952;--color-icon-button: #444952;pointer-events:all}form,form *,form *:after,form *:before{box-sizing:border-box}form.can-collapse{max-width:29px}form.can-collapse input::placeholder{transition:opacity .25s;opacity:0}form{width:270px;max-width:270px}form:focus-within,form:hover{width:270px;max-width:270px}form input::placeholder,form:focus-within input::placeholder,form:hover input::placeholder{opacity:1}input{font:inherit;font-size:14px;flex-grow:1;min-height:29px;background-color:transparent;color:#444952;white-space:nowrap;overflow:hidden;border:0;margin:0;padding:0}input:focus{color:#444952;outline:0;outline:none;box-shadow:none}ul,div.error,div.no-results{background-color:#fff;border-radius:4px;left:0;list-style:none;margin:0;padding:0;position:absolute;width:100%;top:calc(100% + 6px);overflow:hidden}ul{font-size:14px;line-height:16px;box-shadow:0 5px 10px #33335926}div.error,div.no-results{font:inherit;line-height:18px;font-size:12px;display:flex;gap:16px}div.error{padding:16px;font-weight:600;color:#e25041;background-color:#fbeae8}div.error div{flex-grow:1}div.error maptiler-geocode-fail-icon{flex-shrink:0;width:20px;height:20px}div.error button{flex-shrink:0}div.error button maptiler-geocode-clear-icon{--color-icon-button: #e25041}div.error button:hover maptiler-geocode-clear-icon,div.error button:active maptiler-geocode-clear-icon{--color-icon-button: inherit}div.no-results{padding:14px 24px 14px 16px;font-weight:400;color:#6b7c93;box-shadow:0 5px 10px #33335926}div.no-results maptiler-geocode-fail-icon{margin-top:4px;flex-shrink:0;width:20px;height:20px}ul.options.open-on-top{top:auto;bottom:calc(100% + 6px)}button{padding:0;margin:0;border:0;background-color:transparent;height:auto;width:auto}button:hover{background-color:transparent}button:hover,button:active{--color-icon-button: #2b8bfb}.input-group{display:flex;align-items:stretch;gap:7px;padding-inline:8px;border-radius:4px;overflow:hidden}.input-group:focus-within{outline:#2b8bfb solid 2px}.search-button{flex-shrink:0}.clear-button-container{display:flex;display:none;position:relative;align-items:stretch}.clear-button-container.displayable{display:flex;flex-shrink:0}:host(.maptiler-geocoder):not(:empty){box-shadow:none}:host(.maptiler-geocoder) .input-group{border:white solid 2px}:host(.maptiler-geocoder) .input-group:focus-within{border:#2b8bfb solid 2px;outline:0;outline:none}:host(.maptiler-geocoder) form.can-collapse{max-width:33px}:host(.maptiler-geocoder) form,:host(.maptiler-geocoder) form:focus-within,:host(.maptiler-geocoder) form:hover{width:270px;max-width:270px}:host(.leaflet-geocoder) .input-group{border:white solid 1px}:host(.leaflet-geocoder) form.can-collapse{max-width:30px}";
359
+ var wt = Object.defineProperty, kt = Object.getOwnPropertyDescriptor, Te = (t) => {
360
360
  throw TypeError(t);
361
- }, c = (t, e, i, r) => {
362
- for (var o = r > 1 ? void 0 : r ? wt(e, i) : e, s = t.length - 1, a; s >= 0; s--)
363
- (a = t[s]) && (o = (r ? a(e, i, o) : a(o)) || o);
364
- return r && o && bt(e, i, o), o;
365
- }, pe = (t, e, i) => e.has(t) || Fe("Cannot " + i), x = (t, e, i) => (pe(t, e, "read from private field"), i ? i.call(t) : e.get(t)), S = (t, e, i) => e.has(t) ? Fe("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, i), W = (t, e, i, r) => (pe(t, e, "write to private field"), e.set(t, i), i), h = (t, e, i) => (pe(t, e, "access private method"), i), Z, V, z, ae, D, n, Q, Se, Ee, de, v, ue, K, fe, me, L, ge, H, Pe, ne, Be, Ge, Ue, ze, De;
366
- let l = class extends M {
361
+ }, c = (t, e, i, o) => {
362
+ for (var s = o > 1 ? void 0 : o ? kt(e, i) : e, a = t.length - 1, r; a >= 0; a--)
363
+ (r = t[a]) && (s = (o ? r(e, i, s) : r(s)) || s);
364
+ return o && s && wt(e, i, s), s;
365
+ }, he = (t, e, i) => e.has(t) || Te("Cannot " + i), w = (t, e, i) => (he(t, e, "read from private field"), i ? i.call(t) : e.get(t)), B = (t, e, i) => e.has(t) ? Te("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, i), re = (t, e, i, o) => (he(t, e, "write to private field"), e.set(t, i), i), h = (t, e, i) => (he(t, e, "access private method"), i), q, z, oe, R, n, N, Se, pe, x, de, Z, ue, fe, I, me, Q, Ee, ae, Pe, Be, Ue, Ge, ze, Re, We;
366
+ let l = class extends O {
367
367
  constructor() {
368
- super(...arguments), S(this, n), this.clearListOnPick = !1, this.clearOnBlur = !1, this.collapsed = !1, this.excludeTypes = !1, this.exhaustiveReverseGeocoding = !1, this.fetchFullGeometryOnPick = !1, this.keepListOpen = !1, this.openListOnTop = !1, this.reverseActive = !1, this.searchValue = "", this.selectedItemIndex = -1, this.cachedFeatures = [], this.lastSearchUrl = "", this.focused = !1, this.focusedDelayed = !1, S(this, Z, !1), S(this, V, !1), S(this, z), S(this, ae, /* @__PURE__ */ new Set()), S(this, D);
368
+ super(...arguments), B(this, n), this.clearListOnPick = !1, this.clearOnBlur = !1, this.collapsed = !1, this.excludeTypes = !1, this.exhaustiveReverseGeocoding = !1, this.fetchFullGeometryOnPick = !1, this.keepListOpen = !1, this.openListOnTop = !1, this.reverseActive = !1, this.searchValue = "", this.selectedItemIndex = -1, this.cachedFeatures = [], this.lastSearchUrl = "", this.focused = !1, this.isFeatureListVisible = !1, this.isFeatureListInteractedWith = !1, B(this, q, !1), B(this, z), B(this, oe, /* @__PURE__ */ new Set()), B(this, R);
369
369
  }
370
370
  firstUpdated() {
371
- W(this, Z, !0);
371
+ re(this, q, !0);
372
372
  }
373
373
  /**
374
374
  * Set the options of this instance.
@@ -378,7 +378,7 @@ let l = class extends M {
378
378
  setOptions(t) {
379
379
  const e = { ...t };
380
380
  for (const i of Object.keys(e))
381
- kt.includes(i) || delete e[i];
381
+ _t.includes(i) || delete e[i];
382
382
  Object.assign(this, e);
383
383
  }
384
384
  /**
@@ -387,7 +387,7 @@ let l = class extends M {
387
387
  * @param value text to set
388
388
  */
389
389
  setQuery(t) {
390
- h(this, n, me).call(this, t), h(this, n, fe).call(this);
390
+ h(this, n, fe).call(this, t, { external: !0 }), h(this, n, ue).call(this);
391
391
  }
392
392
  /**
393
393
  * Set the content of search input box and immediately submit it.
@@ -395,13 +395,13 @@ let l = class extends M {
395
395
  * @param value text to set and submit
396
396
  */
397
397
  submitQuery(t) {
398
- h(this, n, ge).call(this, t);
398
+ h(this, n, me).call(this, t);
399
399
  }
400
400
  /**
401
401
  * Clear search result list.
402
402
  */
403
403
  clearList() {
404
- h(this, n, L).call(this), this.picked = void 0, this.selectedItemIndex = -1;
404
+ h(this, n, I).call(this), this.picked = void 0, this.selectedItemIndex = -1;
405
405
  }
406
406
  /**
407
407
  * Focus the search input box.
@@ -425,27 +425,25 @@ let l = class extends M {
425
425
  }
426
426
  /** @internal */
427
427
  handleMapChange(t) {
428
- W(this, D, t);
428
+ re(this, R, t);
429
429
  }
430
430
  /** @internal */
431
431
  handleMapClick(t) {
432
- this.reverseActive && h(this, n, Pe).call(this, t);
432
+ this.reverseActive && h(this, n, Ee).call(this, t);
433
433
  }
434
434
  willUpdate(t) {
435
- t.has("error") && this.error && console.error("[MapTilerGeocodingControl] Error:", this.error), t.has("enableReverse") && (this.reverseActive = this.enableReverse === "always"), ["picked"].some((e) => t.has(e)) && this.picked && (this.clearListOnPick && h(this, n, L).call(this), this.selectedItemIndex = -1), ["searchValue", "minLength"].some((e) => t.has(e)) && x(this, n, de) && (h(this, n, L).call(this), this.error = void 0), ["focused"].some((e) => t.has(e)) && setTimeout(() => {
436
- this.focusedDelayed = this.focused, this.clearOnBlur && !this.focused && (this.searchValue = "");
437
- }, 100), ["selectFirst", "listFeatures", "selectedItemIndex", "picked"].some((e) => t.has(e)) && this.selectFirst !== !1 && this.listFeatures?.length && this.selectedItemIndex == -1 && !this.picked && (this.selectedItemIndex = 0), ["listFeatures", "selectedItemIndex"].some((e) => t.has(e)) && h(this, n, v).call(this, "select", { feature: x(this, n, Q) }), ["picked"].some((e) => t.has(e)) && this.picked && this.picked.id !== t.get("picked")?.id && (this.fetchFullGeometryOnPick && !this.picked.address && this.picked.geometry.type === "Point" && this.picked.place_type[0] !== "reverse" ? h(this, n, H).call(this, this.picked.id, { byId: !0 }) : Promise.resolve()).then(
435
+ t.has("error") && this.error && console.error("[MapTilerGeocodingControl] Error:", this.error), t.has("enableReverse") && (this.reverseActive = this.enableReverse === "always"), ["picked"].some((e) => t.has(e)) && this.picked && (this.clearListOnPick && h(this, n, I).call(this), this.selectedItemIndex = -1), ["searchValue", "minLength"].some((e) => t.has(e)) && w(this, n, pe) && (h(this, n, I).call(this), this.error = void 0), ["focused", "listIsInteractedWith"].some((e) => t.has(e)) && this.clearOnBlur && !this.focused && !this.isFeatureListInteractedWith && (this.searchValue = ""), ["selectFirst", "listFeatures", "selectedItemIndex", "picked"].some((e) => t.has(e)) && this.selectFirst !== !1 && this.listFeatures?.length && this.selectedItemIndex == -1 && !this.picked && (this.selectedItemIndex = 0), ["listFeatures", "selectedItemIndex"].some((e) => t.has(e)) && h(this, n, x).call(this, "select", { feature: w(this, n, N) }), ["picked"].some((e) => t.has(e)) && this.picked && this.picked.id !== t.get("picked")?.id && (this.fetchFullGeometryOnPick && !this.picked.address && this.picked.geometry.type === "Point" && this.picked.place_type[0] !== "reverse" ? h(this, n, Q).call(this, this.picked.id, { byId: !0 }) : Promise.resolve()).then(
438
436
  () => {
439
- h(this, n, v).call(this, "pick", { feature: this.picked });
437
+ h(this, n, x).call(this, "pick", { feature: this.picked });
440
438
  },
441
439
  (e) => {
442
- e && typeof e == "object" && "name" in e && e.name === "AbortError" || (this.error = e, h(this, n, v).call(this, "pick", { feature: this.picked }));
440
+ e && typeof e == "object" && "name" in e && e.name === "AbortError" || (this.error = e, h(this, n, x).call(this, "pick", { feature: this.picked }));
443
441
  }
444
- ), ["listFeatures", "focusedDelayed"].some((e) => t.has(e)) && (x(this, n, Se) ? (h(this, n, v).call(this, "featuresshow"), W(this, V, !0)) : x(this, V) && h(this, n, v).call(this, "featureshide")), ["reverseActive"].some((e) => t.has(e)) && h(this, n, v).call(this, "reversetoggle", { reverse: this.reverseActive });
442
+ ), ["listFeatures", "focused", "isFeatureListInteractedWith", "keepListOpen"].some((e) => t.has(e)) && (this.isFeatureListVisible = !!this.listFeatures?.length && (this.focused || this.isFeatureListInteractedWith || this.keepListOpen)), ["isFeatureListVisible"].some((e) => t.has(e)) && (this.isFeatureListVisible ? h(this, n, x).call(this, "featuresshow") : h(this, n, x).call(this, "featureshide")), ["reverseActive"].some((e) => t.has(e)) && h(this, n, x).call(this, "reversetoggle", { reverse: this.reverseActive });
445
443
  }
446
444
  render() {
447
- return m`
448
- <form @submit=${h(this, n, ue)} class=${A({ "can-collapse": this.collapsed && this.searchValue === "" })}>
445
+ return g`
446
+ <form @submit=${h(this, n, de)} class=${D({ "can-collapse": this.collapsed && this.searchValue === "" })}>
449
447
  <div class="input-group">
450
448
  <button
451
449
  class="search-button"
@@ -462,36 +460,36 @@ let l = class extends M {
462
460
  @focus=${() => this.focused = !0}
463
461
  @blur=${() => this.focused = !1}
464
462
  @click=${() => this.focused = !0}
465
- @keydown=${h(this, n, ne)}
466
- @input=${h(this, n, Be)}
463
+ @keydown=${h(this, n, ae)}
464
+ @input=${h(this, n, Pe)}
467
465
  @change=${() => this.picked = void 0}
468
466
  placeholder=${this.placeholder ?? "Search"}
469
467
  aria-label=${this.placeholder ?? "Search"}
470
468
  />
471
469
 
472
- <div class="clear-button-container ${A({ displayable: this.searchValue !== "" })}">
473
- ${x(this, n, Ee) ? m`<maptiler-geocode-loading-icon></maptiler-geocode-loading-icon>` : m`
474
- <button type="button" @click=${h(this, n, De)} title=${this.clearButtonTitle ?? "clear"}>
470
+ <div class="clear-button-container ${D({ displayable: this.searchValue !== "" })}">
471
+ ${w(this, n, Se) ? g`<maptiler-geocode-loading-icon></maptiler-geocode-loading-icon>` : g`
472
+ <button type="button" @click=${h(this, n, We)} title=${this.clearButtonTitle ?? "clear"}>
475
473
  <maptiler-geocode-clear-icon></maptiler-geocode-clear-icon>
476
474
  </button>
477
475
  `}
478
476
  </div>
479
477
 
480
- ${this.enableReverse === "button" ? m`
478
+ ${this.enableReverse === "button" ? g`
481
479
  <button
482
480
  type="button"
483
- class=${A({ active: this.reverseActive })}
481
+ class=${D({ active: this.reverseActive })}
484
482
  title=${this.reverseButtonTitle ?? "toggle reverse geocoding"}
485
483
  @click=${() => this.reverseActive = !this.reverseActive}
486
484
  >
487
485
  <maptiler-geocode-reverse-geocoding-icon></maptiler-geocode-reverse-geocoding-icon>
488
486
  </button>
489
- ` : J}
487
+ ` : H}
490
488
 
491
489
  <!-- <slot /> -->
492
490
  </div>
493
491
 
494
- ${this.error ? m`
492
+ ${this.error ? g`
495
493
  <div class="error">
496
494
  <maptiler-geocode-fail-icon></maptiler-geocode-fail-icon>
497
495
 
@@ -501,7 +499,7 @@ let l = class extends M {
501
499
  <maptiler-geocode-clear-icon></maptiler-geocode-clear-icon>
502
500
  </button>
503
501
  </div>
504
- ` : !this.focusedDelayed && !this.keepListOpen || this.listFeatures === void 0 ? J : this.listFeatures.length === 0 ? m`
502
+ ` : !this.focused && !this.isFeatureListInteractedWith && !this.keepListOpen || this.listFeatures === void 0 ? H : this.listFeatures.length === 0 ? g`
505
503
  <div class="no-results">
506
504
  <maptiler-geocode-fail-icon></maptiler-geocode-fail-icon>
507
505
 
@@ -509,27 +507,32 @@ let l = class extends M {
509
507
  ${this.noResultsMessage ?? "Oops! Looks like you're trying to predict something that's not quite right. We can't seem to find what you're looking for. Maybe try double-checking your spelling or try a different search term. Keep on typing - we'll do our best to get you where you need to go!"}
510
508
  </div>
511
509
  </div>
512
- ` : m`
513
- <ul class="options ${A({ "open-on-top": this.openListOnTop })}" @mouseleave=${h(this, n, ze)} @keydown=${h(this, n, ne)} role="listbox">
514
- ${Ve(
510
+ ` : g`
511
+ <ul
512
+ class="options ${D({ "open-on-top": this.openListOnTop })}"
513
+ @pointerleave=${h(this, n, Ge)}
514
+ @pointerdown=${h(this, n, ze)}
515
+ @pointerup=${h(this, n, Re)}
516
+ @keydown=${h(this, n, ae)}
517
+ role="listbox"
518
+ >
519
+ ${qe(
515
520
  this.listFeatures,
516
521
  (t) => t.id + (t.address ? "," + t.address : ""),
517
- (t, e) => m`
522
+ (t, e) => g`
518
523
  <maptiler-geocoder-feature-item
519
524
  .feature=${t}
520
525
  .showPlaceType=${this.showPlaceType ?? "if-needed"}
521
526
  itemStyle=${this.selectedItemIndex === e ? "selected" : this.picked?.id === t.id ? "picked" : "default"}
522
- @mouseenter=${() => {
527
+ @pointerenter=${() => {
523
528
  h(this, n, Ue).call(this, e);
524
529
  }}
525
530
  @select=${() => {
526
- h(this, n, Ge).call(this, t);
531
+ h(this, n, Be).call(this, t);
527
532
  }}
528
- .missingIconsCache=${x(this, ae)}
529
- .iconsBaseUrl=${this.iconsBaseUrl ?? "https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.5/icons/"}
530
- >
531
- ${t.place_name}
532
- </maptiler-geocoder-feature-item>
533
+ .missingIconsCache=${w(this, oe)}
534
+ .iconsBaseUrl=${this.iconsBaseUrl ?? "https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.7/icons/"}
535
+ />
533
536
  `
534
537
  )}
535
538
  </ul>
@@ -538,26 +541,22 @@ let l = class extends M {
538
541
  `;
539
542
  }
540
543
  };
541
- Z = /* @__PURE__ */ new WeakMap();
542
- V = /* @__PURE__ */ new WeakMap();
544
+ q = /* @__PURE__ */ new WeakMap();
543
545
  z = /* @__PURE__ */ new WeakMap();
544
- ae = /* @__PURE__ */ new WeakMap();
545
- D = /* @__PURE__ */ new WeakMap();
546
+ oe = /* @__PURE__ */ new WeakMap();
547
+ R = /* @__PURE__ */ new WeakMap();
546
548
  n = /* @__PURE__ */ new WeakSet();
547
- Q = function() {
549
+ N = function() {
548
550
  return this.listFeatures?.[this.selectedItemIndex];
549
551
  };
550
552
  Se = function() {
551
- return !!this.listFeatures?.length && (this.focusedDelayed || this.keepListOpen);
552
- };
553
- Ee = function() {
554
553
  return this.abortController !== void 0;
555
554
  };
556
- de = function() {
555
+ pe = function() {
557
556
  return this.searchValue.length < (this.minLength ?? 2);
558
557
  };
559
- v = function(t, ...[e]) {
560
- x(this, Z) && this.dispatchEvent(
558
+ x = function(t, ...[e]) {
559
+ w(this, q) && this.dispatchEvent(
561
560
  new CustomEvent(t, {
562
561
  bubbles: !0,
563
562
  composed: !0,
@@ -565,128 +564,136 @@ v = function(t, ...[e]) {
565
564
  })
566
565
  );
567
566
  };
568
- ue = function(t) {
569
- t?.preventDefault(), this.focused = !1, clearTimeout(x(this, z)), this.selectedItemIndex > -1 && this.listFeatures ? (this.picked = this.listFeatures[this.selectedItemIndex], this.searchValue = this.picked.place_type[0] === "reverse" ? this.picked.place_name : this.picked.place_name.replace(/,.*/, ""), this.error = void 0, this.selectedItemIndex = -1) : this.searchValue && h(this, n, H).call(this, this.searchValue, { exact: !0 }).then(() => {
567
+ de = function(t) {
568
+ t?.preventDefault(), this.focused = !1, clearTimeout(w(this, z)), this.selectedItemIndex > -1 && this.listFeatures ? (this.picked = this.listFeatures[this.selectedItemIndex], this.searchValue = this.picked.place_type[0] === "reverse" ? this.picked.place_name : this.picked.place_name.replace(/,.*/, ""), this.error = void 0, this.selectedItemIndex = -1) : this.searchValue && h(this, n, Q).call(this, this.searchValue, { exact: !0, external: t === void 0 }).then(() => {
570
569
  this.picked = void 0;
571
570
  }).catch((e) => this.error = e);
572
571
  };
573
- K = function(t) {
572
+ Z = function(t) {
574
573
  try {
575
- return We(t, 6);
574
+ return Ve(t, 6);
576
575
  } catch {
577
576
  return !1;
578
577
  }
579
578
  };
580
- fe = function() {
579
+ ue = function() {
581
580
  setTimeout(() => {
582
581
  this.input.focus(), this.focused = !0, this.input.select();
583
582
  });
584
583
  };
585
- me = function(t) {
586
- if (this.searchValue = t, h(this, n, v).call(this, "querychange", { query: this.searchValue, reverseCoords: h(this, n, K).call(this, t) }), this.error = void 0, this.picked = void 0, this.showResultsWhileTyping !== !1) {
587
- if (clearTimeout(x(this, z)), x(this, n, de))
584
+ fe = function(t, { external: e = !1 } = {}) {
585
+ if (this.searchValue = t, h(this, n, x).call(this, "querychange", { query: this.searchValue, reverseCoords: h(this, n, Z).call(this, t) }), this.error = void 0, this.picked = void 0, this.showResultsWhileTyping !== !1) {
586
+ if (clearTimeout(w(this, z)), w(this, n, pe))
588
587
  return;
589
- const e = this.searchValue;
590
- W(this, z, window.setTimeout(() => {
591
- h(this, n, H).call(this, e).catch((i) => this.error = i);
588
+ const i = this.searchValue;
589
+ re(this, z, window.setTimeout(() => {
590
+ h(this, n, Q).call(this, i, { external: e }).catch((o) => this.error = o);
592
591
  }, this.debounceSearch ?? 200));
593
592
  } else
594
- h(this, n, L).call(this);
593
+ h(this, n, I).call(this);
595
594
  };
596
- L = function() {
597
- this.listFeatures !== void 0 && (this.listFeatures = void 0, h(this, n, v).call(this, "featuresclear"));
595
+ I = function() {
596
+ this.listFeatures !== void 0 && (this.listFeatures = void 0, h(this, n, x).call(this, "featuresclear"));
598
597
  };
599
- ge = function(t) {
600
- this.searchValue = t, h(this, n, v).call(this, "querychange", { query: this.searchValue, reverseCoords: h(this, n, K).call(this, t) }), this.selectedItemIndex = -1, h(this, n, ue).call(this);
598
+ me = function(t) {
599
+ this.searchValue = t, h(this, n, x).call(this, "querychange", { query: this.searchValue, reverseCoords: h(this, n, Z).call(this, t) }), this.selectedItemIndex = -1, h(this, n, de).call(this);
601
600
  };
602
- H = async function(t, { byId: e = !1, exact: i = !1 } = {}) {
601
+ Q = async function(t, { byId: e = !1, exact: i = !1, external: o = !1 } = {}) {
603
602
  this.error = void 0, this.abortController?.abort();
604
- const r = new AbortController();
605
- this.abortController = r;
603
+ const s = new AbortController();
604
+ this.abortController = s;
606
605
  try {
607
- const o = this.apiUrl ?? "https://api.maptiler.com/geocoding", s = h(this, n, K).call(this, t), a = new URL(o + "/" + encodeURIComponent(s ? `${s.decimalLongitude},${s.decimalLatitude}` : t) + ".json"), u = a.searchParams;
608
- this.language !== void 0 && u.set("language", Array.isArray(this.language) ? this.language.join(",") : this.language ?? "");
609
- const [w] = x(this, D) ?? [void 0];
610
- let k = (!s || this.reverseGeocodingTypes === void 0 ? this.types : this.reverseGeocodingTypes)?.map(
611
- (y) => typeof y == "string" ? y : w === void 0 || (y[0] ?? 0) <= w && w < (y[1] ?? 1 / 0) ? y[2] : void 0
612
- ).filter((y) => y !== void 0);
613
- k && (k = [...new Set(k)], u.set("types", k.join(",")));
614
- const T = !s || this.reverseGeocodingExcludeTypes === void 0 ? this.excludeTypes : this.reverseGeocodingExcludeTypes;
615
- if (T && u.set("excludeTypes", String(T)), this.bbox && u.set("bbox", this.bbox.map((y) => y.toFixed(6)).join(",")), this.country && u.set("country", Array.isArray(this.country) ? this.country.join(",") : this.country), this.worldview && u.set("worldview", this.worldview), !e && !s) {
616
- const y = this.proximity ?? [{ type: "server-geolocation" }], ve = await ft(x(this, D), y, r);
617
- ve && u.set("proximity", ve), (i || this.showResultsWhileTyping === !1) && u.set("autocomplete", "false"), u.set("fuzzyMatch", String(this.fuzzyMatch !== !1));
606
+ const a = this.apiUrl ?? "https://api.maptiler.com/geocoding", r = h(this, n, Z).call(this, t), u = new URL(a + "/" + encodeURIComponent(r ? `${r.decimalLongitude},${r.decimalLatitude}` : t) + ".json"), m = u.searchParams;
607
+ this.language !== void 0 && m.set("language", Array.isArray(this.language) ? this.language.join(",") : this.language ?? "");
608
+ const [_] = w(this, R) ?? [void 0];
609
+ let L = (!r || this.reverseGeocodingTypes === void 0 ? this.types : this.reverseGeocodingTypes)?.map(
610
+ (v) => typeof v == "string" ? v : _ === void 0 || (v[0] ?? 0) <= _ && _ < (v[1] ?? 1 / 0) ? v[2] : void 0
611
+ ).filter((v) => v !== void 0);
612
+ L && (L = [...new Set(L)], m.set("types", L.join(",")));
613
+ const ge = !r || this.reverseGeocodingExcludeTypes === void 0 ? this.excludeTypes : this.reverseGeocodingExcludeTypes;
614
+ if (ge && m.set("excludeTypes", String(ge)), this.bbox && m.set("bbox", this.bbox.map((v) => v.toFixed(6)).join(",")), this.country && m.set("country", Array.isArray(this.country) ? this.country.join(",") : this.country), this.worldview && m.set("worldview", this.worldview), !e && !r) {
615
+ const v = this.proximity ?? [{ type: "server-geolocation" }], ve = await mt(w(this, R), v, s);
616
+ ve && m.set("proximity", ve), (i || this.showResultsWhileTyping === !1) && m.set("autocomplete", "false"), m.set("fuzzyMatch", String(this.fuzzyMatch !== !1));
618
617
  }
619
- const ye = this.limit ?? 5, Y = this.reverseGeocodingLimit ?? ye;
620
- Y > 1 && k?.length !== 1 && console.warn("[MapTilerGeocodingControl] Warning: For reverse geocoding when limit > 1 then types must contain single value."), s ? (Y === 1 || this.exhaustiveReverseGeocoding || k?.length === 1) && u.set("limit", String(Y)) : u.set("limit", String(ye)), this.apiKey && u.set("key", this.apiKey), this.adjustUrl?.(a);
621
- const je = a.searchParams.get("types") === "" && a.searchParams.get("excludeTypes") !== "true", j = a.toString();
618
+ const ye = this.limit ?? 5, K = this.reverseGeocodingLimit ?? ye;
619
+ K > 1 && L?.length !== 1 && console.warn("[MapTilerGeocodingControl] Warning: For reverse geocoding when limit > 1 then types must contain single value."), r ? (K === 1 || this.exhaustiveReverseGeocoding || L?.length === 1) && m.set("limit", String(K)) : m.set("limit", String(ye)), this.apiKey && m.set("key", this.apiKey), this.adjustUrl?.(u);
620
+ const De = u.searchParams.get("types") === "" && u.searchParams.get("excludeTypes") !== "true", j = u.toString();
622
621
  if (j === this.lastSearchUrl) {
623
- e ? (this.clearListOnPick && h(this, n, L).call(this), this.picked = this.cachedFeatures[0]) : (this.listFeatures = this.cachedFeatures, h(this, n, v).call(this, "featureslisted", { features: this.listFeatures }), this.listFeatures[this.selectedItemIndex]?.id !== x(this, n, Q)?.id && (this.selectedItemIndex = -1));
622
+ e ? (this.clearListOnPick && h(this, n, I).call(this), this.picked = this.cachedFeatures[0]) : (this.listFeatures = this.cachedFeatures, h(this, n, x).call(this, "featureslisted", { features: this.listFeatures, external: o }), this.listFeatures[this.selectedItemIndex]?.id !== w(this, n, N)?.id && (this.selectedItemIndex = -1));
624
623
  return;
625
624
  }
626
- h(this, n, v).call(this, "request", { urlObj: a }), this.lastSearchUrl = j;
627
- let P;
628
- if (je)
629
- P = { type: "FeatureCollection", features: [] };
625
+ h(this, n, x).call(this, "request", { urlObj: u }), this.lastSearchUrl = j;
626
+ let E;
627
+ if (De)
628
+ E = { type: "FeatureCollection", features: [] };
630
629
  else {
631
- const y = await fetch(j, {
632
- signal: r.signal,
630
+ const v = await fetch(j, {
631
+ signal: s.signal,
633
632
  ...this.fetchParameters
634
633
  });
635
- if (!y.ok)
636
- throw new Error(await y.text());
637
- P = await y.json();
634
+ if (!v.ok)
635
+ throw new Error(await v.text());
636
+ E = await v.json();
638
637
  }
639
- h(this, n, v).call(this, "response", { url: j, featureCollection: P }), e ? (this.clearListOnPick && h(this, n, L).call(this), this.picked = P.features[0], this.cachedFeatures = [this.picked]) : (this.listFeatures = P.features.filter(this.filter ?? (() => !0)), s && this.listFeatures.unshift({
638
+ h(this, n, x).call(this, "response", { url: j, featureCollection: E }), e ? (this.clearListOnPick && h(this, n, I).call(this), this.picked = E.features[0], this.cachedFeatures = [this.picked]) : (this.listFeatures = E.features.filter(this.filter ?? (() => !0)), r && this.listFeatures.unshift({
640
639
  type: "Feature",
641
640
  properties: {},
642
641
  /* eslint-disable @typescript-eslint/restrict-template-expressions */
643
- id: `reverse_${s.decimalLongitude}_${s.decimalLatitude}`,
644
- text: `${s.decimalLatitude}, ${s.decimalLongitude}`,
645
- place_name: s.toCoordinateFormat("DMS"),
642
+ id: `reverse_${r.decimalLongitude}_${r.decimalLatitude}`,
643
+ text: `${r.decimalLatitude}, ${r.decimalLongitude}`,
644
+ place_name: r.toCoordinateFormat("DMS"),
646
645
  /* eslint-enable @typescript-eslint/restrict-template-expressions */
647
646
  place_type: ["reverse"],
648
647
  place_type_name: ["reverse"],
649
- center: [s.decimalLongitude, s.decimalLatitude],
650
- bbox: [s.decimalLongitude, s.decimalLatitude, s.decimalLongitude, s.decimalLatitude],
648
+ center: [r.decimalLongitude, r.decimalLatitude],
649
+ bbox: [r.decimalLongitude, r.decimalLatitude, r.decimalLongitude, r.decimalLatitude],
651
650
  geometry: {
652
651
  type: "Point",
653
- coordinates: [s.decimalLongitude, s.decimalLatitude]
652
+ coordinates: [r.decimalLongitude, r.decimalLatitude]
654
653
  }
655
- }), h(this, n, v).call(this, "featureslisted", { features: this.listFeatures }), this.cachedFeatures = this.listFeatures, this.listFeatures[this.selectedItemIndex]?.id !== x(this, n, Q)?.id && (this.selectedItemIndex = -1), s && this.input.focus());
656
- } catch (o) {
657
- if (o && typeof o == "object" && "name" in o && o.name === "AbortError")
654
+ }), h(this, n, x).call(this, "featureslisted", { features: this.listFeatures, external: o }), this.cachedFeatures = this.listFeatures, this.listFeatures[this.selectedItemIndex]?.id !== w(this, n, N)?.id && (this.selectedItemIndex = -1), r && this.input.focus());
655
+ } catch (a) {
656
+ if (a && typeof a == "object" && "name" in a && a.name === "AbortError")
658
657
  return;
659
- throw o;
658
+ throw a;
660
659
  } finally {
661
- r === this.abortController && (this.abortController = void 0);
660
+ s === this.abortController && (this.abortController = void 0);
662
661
  }
663
662
  };
664
- Pe = function(t) {
665
- this.reverseActive = this.enableReverse === "always", h(this, n, L).call(this), this.picked = void 0, h(this, n, ge).call(this, `${t[1].toFixed(6)}, ${ut(t[0], [-180, 180], !0).toFixed(6)}`), h(this, n, fe).call(this);
663
+ Ee = function(t) {
664
+ this.reverseActive = this.enableReverse === "always", h(this, n, I).call(this), this.picked = void 0, h(this, n, me).call(this, `${t[1].toFixed(6)}, ${ft(t[0], [-180, 180], !0).toFixed(6)}`), h(this, n, ue).call(this);
666
665
  };
667
- ne = function(t) {
666
+ ae = function(t) {
668
667
  if (!this.listFeatures)
669
668
  return;
670
669
  const e = t.key === "ArrowDown" ? 1 : t.key === "ArrowUp" ? -1 : 0;
671
670
  e && (this.input.focus(), this.focused = !0, t.preventDefault(), this.picked && this.selectedItemIndex === -1 && (this.selectedItemIndex = this.listFeatures.findIndex((i) => i.id === this.picked?.id)), this.selectedItemIndex === (this.picked || this.selectFirst !== !1 ? 0 : -1) && e === -1 && (this.selectedItemIndex = this.listFeatures.length), this.selectedItemIndex += e, this.selectedItemIndex >= this.listFeatures.length && (this.selectedItemIndex = -1), this.selectedItemIndex < 0 && (this.picked || this.selectFirst !== !1) && (this.selectedItemIndex = 0));
672
671
  };
673
- Be = function(t) {
674
- h(this, n, me).call(this, t.target.value);
672
+ Pe = function(t) {
673
+ h(this, n, fe).call(this, t.target.value);
675
674
  };
676
- Ge = function(t) {
675
+ Be = function(t) {
677
676
  (!this.picked || this.picked.id !== t.id) && (this.picked = t, this.searchValue = t.place_name);
678
677
  };
679
678
  Ue = function(t) {
680
679
  this.selectedItemIndex = t;
681
680
  };
681
+ Ge = function() {
682
+ (!this.selectFirst || this.picked) && (this.selectedItemIndex = -1), this.isFeatureListInteractedWith && (this.isFeatureListInteractedWith = !1);
683
+ };
682
684
  ze = function() {
683
- (!this.selectFirst || this.picked) && (this.selectedItemIndex = -1);
685
+ this.isFeatureListInteractedWith = !0;
684
686
  };
685
- De = function() {
686
- this.searchValue = "", h(this, n, v).call(this, "queryclear"), this.picked = void 0, this.input.focus();
687
+ Re = function() {
688
+ setTimeout(() => {
689
+ this.isFeatureListInteractedWith = !1;
690
+ });
691
+ };
692
+ We = function() {
693
+ this.searchValue = "", h(this, n, x).call(this, "queryclear"), this.picked = void 0, this.input.focus();
687
694
  };
688
- l.styles = I`
689
- ${ce(xt)}
695
+ l.styles = F`
696
+ ${le(bt)}
690
697
  `;
691
698
  c([
692
699
  p({ attribute: !1 })
@@ -831,11 +838,14 @@ c([
831
838
  ], l.prototype, "focused", 2);
832
839
  c([
833
840
  b()
834
- ], l.prototype, "focusedDelayed", 2);
841
+ ], l.prototype, "isFeatureListVisible", 2);
842
+ c([
843
+ b()
844
+ ], l.prototype, "isFeatureListInteractedWith", 2);
835
845
  l = c([
836
- O("maptiler-geocoder")
846
+ C("maptiler-geocoder")
837
847
  ], l);
838
- const kt = [
848
+ const _t = [
839
849
  "adjustUrl",
840
850
  "apiKey",
841
851
  "apiUrl",
@@ -873,15 +883,15 @@ const kt = [
873
883
  "types",
874
884
  "reverseGeocodingTypes",
875
885
  "worldview"
876
- ], _t = "svg{display:block;fill:var(--maptiler-geocode-marker-fill, #3170fe);stroke:var(--maptiler-geocode-marker-stroke, #3170fe);height:30px}:host(.marker-selected){z-index:2}:host(.marker-selected) svg path{fill:var(--maptiler-geocode-marker-selected-fill, #98b7ff);stroke:var(--maptiler-geocode-marker-selected-stroke, #3170fe)}:host(.marker-reverse) svg path{fill:var(--maptiler-geocode-marker-reverse-fill, silver);stroke:var(--maptiler-geocode-marker-reverse-stroke, gray)}:host(.marker-interactive){cursor:pointer!important}:host(.marker-fuzzy) svg path{fill:var(--maptiler-geocode-marker-fuzzy-fill, silver);stroke:var(--maptiler-geocode-marker-fuzzy-stroke, gray)}:host(.marker-fuzzy.marker-selected) svg path{fill:var(--maptiler-geocode-marker-selected-fuzzy-fill, #ddd);stroke:var(--maptiler-geocode-marker-selected-fuzzy-stroke, silver)}";
877
- var $t = Object.getOwnPropertyDescriptor, Lt = (t, e, i, r) => {
878
- for (var o = r > 1 ? void 0 : r ? $t(e, i) : e, s = t.length - 1, a; s >= 0; s--)
879
- (a = t[s]) && (o = a(o) || o);
880
- return o;
886
+ ], Lt = "svg{display:block;fill:var(--maptiler-geocode-marker-fill, #3170fe);stroke:var(--maptiler-geocode-marker-stroke, #3170fe);height:30px}:host(.marker-selected){z-index:2}:host(.marker-selected) svg path{fill:var(--maptiler-geocode-marker-selected-fill, #98b7ff);stroke:var(--maptiler-geocode-marker-selected-stroke, #3170fe)}:host(.marker-reverse) svg path{fill:var(--maptiler-geocode-marker-reverse-fill, silver);stroke:var(--maptiler-geocode-marker-reverse-stroke, gray)}:host(.marker-interactive){cursor:pointer!important}:host(.marker-fuzzy) svg path{fill:var(--maptiler-geocode-marker-fuzzy-fill, silver);stroke:var(--maptiler-geocode-marker-fuzzy-stroke, gray)}:host(.marker-fuzzy.marker-selected) svg path{fill:var(--maptiler-geocode-marker-selected-fuzzy-fill, #ddd);stroke:var(--maptiler-geocode-marker-selected-fuzzy-stroke, silver)}";
887
+ var $t = Object.getOwnPropertyDescriptor, It = (t, e, i, o) => {
888
+ for (var s = o > 1 ? void 0 : o ? $t(e, i) : e, a = t.length - 1, r; a >= 0; a--)
889
+ (r = t[a]) && (s = r(s) || s);
890
+ return s;
881
891
  };
882
- let le = class extends M {
892
+ let ne = class extends O {
883
893
  render() {
884
- return R`
894
+ return W`
885
895
  <svg
886
896
  viewBox="0 0 70 85"
887
897
  fill="none"
@@ -895,16 +905,16 @@ let le = class extends M {
895
905
  `;
896
906
  }
897
907
  };
898
- le.styles = I`
899
- ${ce(_t)}
908
+ ne.styles = F`
909
+ ${le(Lt)}
900
910
  `;
901
- le = Lt([
902
- O("maptiler-geocode-marker")
903
- ], le);
911
+ ne = It([
912
+ C("maptiler-geocode-marker")
913
+ ], ne);
904
914
  function ke(t) {
905
- const e = tt(
906
- q([
907
- Ze([
915
+ const e = it(
916
+ A([
917
+ Qe([
908
918
  [
909
919
  [180, 90],
910
920
  [-180, 90],
@@ -919,22 +929,22 @@ function ke(t) {
919
929
  if (!e)
920
930
  return;
921
931
  e.properties = { isMask: !0 };
922
- const i = U(X(t)), r = (i[2] - i[0]) / 360 / 1e3, o = i[0] < -180, s = i[2] > 180, a = it(t);
923
- if (a.features.length > 1 && (o || s))
924
- for (const u of a.features) {
925
- const w = U(X(u));
926
- if (s && w[0] < -180 + r)
927
- for (const k of u.geometry.coordinates)
928
- for (const T of k)
929
- T[0] += 360 - r;
930
- if (o && w[2] > 180 - r)
931
- for (const k of u.geometry.coordinates)
932
- for (const T of k)
933
- T[0] -= 360 - r;
932
+ const i = G(Y(t)), o = (i[2] - i[0]) / 360 / 1e3, s = i[0] < -180, a = i[2] > 180, r = st(t);
933
+ if (r.features.length > 1 && (s || a))
934
+ for (const u of r.features) {
935
+ const m = G(Y(u));
936
+ if (a && m[0] < -180 + o)
937
+ for (const _ of u.geometry.coordinates)
938
+ for (const L of _)
939
+ L[0] += 360 - o;
940
+ if (s && m[2] > 180 - o)
941
+ for (const _ of u.geometry.coordinates)
942
+ for (const L of _)
943
+ L[0] -= 360 - o;
934
944
  }
935
- return q([a.features.length < 2 ? t : _e(a) ?? t, e]);
945
+ return A([r.features.length < 2 ? t : _e(r) ?? t, e]);
936
946
  }
937
- const It = {
947
+ const Ft = {
938
948
  continental_marine: 4,
939
949
  country: 4,
940
950
  major_landform: 8,
@@ -958,21 +968,21 @@ const It = {
958
968
  "poi.restaurant": 18,
959
969
  "poi.aerodrome": 13
960
970
  // TODO add many more
961
- }, Mt = (t) => {
962
- const e = t?.geometry.type, i = t?.properties?.isMask, r = i ? 0 : e === "LineString" || e === "MultiLineString" ? 3 : 2;
971
+ }, Ot = (t) => {
972
+ const e = t?.geometry.type, i = t?.properties?.isMask, o = i ? 0 : e === "LineString" || e === "MultiLineString" ? 3 : 2;
963
973
  return {
964
974
  color: "#3170fe",
965
975
  fillColor: "#000",
966
976
  fillOpacity: i ? 0.1 : 0,
967
- weight: r,
968
- dashArray: [r, r],
977
+ weight: o,
978
+ dashArray: [o, o],
969
979
  lineCap: "butt"
970
980
  };
971
981
  };
972
- class Re extends He {
982
+ class je extends Ye {
973
983
  }
974
- Object.assign(Re.prototype, Ke.prototype);
975
- class jt extends Re {
984
+ Object.assign(je.prototype, He.prototype);
985
+ class Dt extends je {
976
986
  #e;
977
987
  #t;
978
988
  constructor(e = {}) {
@@ -986,7 +996,7 @@ class jt extends Re {
986
996
  }
987
997
  /** @internal Not to be called directly */
988
998
  onRemove() {
989
- this.#b(), this.#M(), this.#e = void 0, this.#t = void 0;
999
+ this.#b(), this.#F(), this.#e = void 0, this.#t = void 0;
990
1000
  }
991
1001
  getOptions() {
992
1002
  return { ...this.options };
@@ -1001,7 +1011,7 @@ class jt extends Re {
1001
1011
  this.#t?.submitQuery(e);
1002
1012
  }
1003
1013
  clearMap() {
1004
- this.#r = [], this.#c(void 0, void 0);
1014
+ this.#o = [], this.#c(void 0, void 0);
1005
1015
  }
1006
1016
  clearList() {
1007
1017
  this.#t?.clearList();
@@ -1020,9 +1030,9 @@ class jt extends Re {
1020
1030
  /** Marker representing the selected feature */
1021
1031
  #n;
1022
1032
  /** Marker representing the picked feature */
1023
- #o;
1024
- /** Features currently marked on the map */
1025
1033
  #r;
1034
+ /** Features currently marked on the map */
1035
+ #o;
1026
1036
  /** Remember last feature that the map flew to as to not do it again */
1027
1037
  #d;
1028
1038
  /** Layer used for showing geometry results */
@@ -1047,11 +1057,11 @@ class jt extends Re {
1047
1057
  },
1048
1058
  select: (e) => {
1049
1059
  const i = e.detail.feature;
1050
- i && this.#h && this.options.flyToSelected && this.#g({ lng: i.center[0], lat: i.center[1] }, this.#l(i)), this.#r && i && this.#L(i), this.#i("select", e.detail);
1060
+ i && this.#h && this.options.flyToSelected && this.#g({ lng: i.center[0], lat: i.center[1] }, this.#l(i)), this.#o && i && this.#$(i), this.#i("select", e.detail);
1051
1061
  },
1052
1062
  pick: (e) => {
1053
1063
  const i = e.detail.feature;
1054
- i && i.id !== this.#d && this.#h && (this.#w(i), this.#c(this.#r, i)), this.#d = i?.id, this.#i("pick", e.detail);
1064
+ i && i.id !== this.#d && this.#h && (this.#w(i), this.#c(this.#o, i)), this.#d = i?.id, this.#i("pick", e.detail);
1055
1065
  },
1056
1066
  featuresshow: () => {
1057
1067
  this.#i("featuresshow");
@@ -1061,10 +1071,10 @@ class jt extends Re {
1061
1071
  },
1062
1072
  featureslisted: (e) => {
1063
1073
  const i = e.detail.features;
1064
- this.#r = i, this.#c(this.#r, void 0), this.#k(i), this.#i("featureslisted", e.detail);
1074
+ this.#o = i, this.#c(this.#o, void 0), this.#k(e), this.#i("featureslisted", e.detail);
1065
1075
  },
1066
1076
  featuresclear: () => {
1067
- this.#r = void 0, this.#c(void 0, void 0), this.#i("featuresclear");
1077
+ this.#o = void 0, this.#c(void 0, void 0), this.#i("featuresclear");
1068
1078
  },
1069
1079
  focusin: () => {
1070
1080
  this.#i("focusin");
@@ -1103,24 +1113,25 @@ class jt extends Re {
1103
1113
  return super.fire(e, i);
1104
1114
  }
1105
1115
  #w(e) {
1106
- e.bbox[0] === e.bbox[2] && e.bbox[1] === e.bbox[3] ? this.#g({ lng: e.center[0], lat: e.center[1] }, this.#l(e)) : this.#y(U(e.bbox), 50, this.#l(e));
1116
+ e.bbox[0] === e.bbox[2] && e.bbox[1] === e.bbox[3] ? this.#g({ lng: e.center[0], lat: e.center[1] }, this.#l(e)) : this.#y(G(e.bbox), 50, this.#l(e));
1107
1117
  }
1108
- #k(e) {
1109
- if (!e || e.length === 0 || !this.#h) return;
1110
- const i = e.every((s) => s.matching_text), r = e.reduce(
1111
- (s, a) => i || !a.matching_text ? [Math.min(s[0], a.bbox[0]), Math.min(s[1], a.bbox[1]), Math.max(s[2], a.bbox[2]), Math.max(s[3], a.bbox[3])] : s,
1118
+ #k({ detail: { features: e, external: i } }) {
1119
+ if (!e || e.length === 0 || !this.#h || this.options.flyToFeatures === !1 || this.options.flyToFeatures === "never" || !i && (this.options.flyToFeatures === void 0 || this.options.flyToFeatures === "external"))
1120
+ return;
1121
+ const o = e.every((r) => r.matching_text), s = e.reduce(
1122
+ (r, u) => o || !u.matching_text ? [Math.min(r[0], u.bbox[0]), Math.min(r[1], u.bbox[1]), Math.max(r[2], u.bbox[2]), Math.max(r[3], u.bbox[3])] : r,
1112
1123
  [180, 90, -180, -90]
1113
- ), o = e.map((s) => this.#l(s)).filter((s) => s !== void 0).reduce((s, a) => s === void 0 ? a : Math.max(s, a), void 0);
1114
- this.#y(U(r), 50, o);
1124
+ ), a = e.map((r) => this.#l(r)).filter((r) => r !== void 0).reduce((r, u) => r === void 0 ? u : Math.max(r, u), void 0);
1125
+ this.#y(G(s), 50, a);
1115
1126
  }
1116
1127
  #l(e) {
1117
1128
  if (e.bbox[0] !== e.bbox[2] || e.bbox[1] !== e.bbox[3])
1118
1129
  return;
1119
- const i = e.id.replace(/\..*/, ""), r = this.options.zoom ?? It;
1120
- return (Array.isArray(e.properties?.categories) ? e.properties.categories.reduce((o, s) => {
1121
- const a = r[i + "." + s];
1122
- return o === void 0 ? a : a === void 0 ? o : Math.max(o, a);
1123
- }, void 0) : void 0) ?? r[i];
1130
+ const i = e.id.replace(/\..*/, ""), o = this.options.zoom ?? Ft;
1131
+ return (Array.isArray(e.properties?.categories) ? e.properties.categories.reduce((s, a) => {
1132
+ const r = o[i + "." + a];
1133
+ return s === void 0 ? r : r === void 0 ? s : Math.max(s, r);
1134
+ }, void 0) : void 0) ?? o[i];
1124
1135
  }
1125
1136
  get #h() {
1126
1137
  return !!this.options.flyTo || this.options.flyTo === void 0;
@@ -1128,127 +1139,127 @@ class jt extends Re {
1128
1139
  get #_() {
1129
1140
  return typeof this.options.flyTo == "boolean" ? {} : this.options.flyTo;
1130
1141
  }
1131
- get #$() {
1142
+ get #L() {
1132
1143
  return typeof this.options.flyTo == "boolean" ? {} : this.options.flyTo;
1133
1144
  }
1134
1145
  #g(e, i) {
1135
1146
  this.#e?.flyTo(e, i, this.#_ ?? void 0);
1136
1147
  }
1137
- #y(e, i, r) {
1148
+ #y(e, i, o) {
1138
1149
  this.#e?.fitBounds(
1139
1150
  [
1140
1151
  [e[1], e[0]],
1141
1152
  [e[3], e[2]]
1142
1153
  ],
1143
- { padding: [i, i], ...r ? { maxZoom: r } : {}, ...this.#$ }
1154
+ { padding: [i, i], ...o ? { maxZoom: o } : {}, ...this.#L }
1144
1155
  );
1145
1156
  }
1146
1157
  #v(e) {
1147
1158
  if (!(this.options.marker === !1 || this.options.marker === null || !this.#e)) {
1148
1159
  if (!e) {
1149
- this.#o?.remove(), this.#o = void 0;
1160
+ this.#r?.remove(), this.#r = void 0;
1150
1161
  return;
1151
1162
  }
1152
- this.#o || (this.options.marker instanceof Function ? this.#o = this.options.marker(this.#e) ?? void 0 : (this.#o = this.#p(e, this.options.marker).addTo(this.#e), this.#o.getElement()?.classList.add("marker-reverse"))), this.#o?.setLatLng(e);
1163
+ this.#r || (this.options.marker instanceof Function ? this.#r = this.options.marker(this.#e) ?? void 0 : (this.#r = this.#p(e, this.options.marker).addTo(this.#e), this.#r.getElement()?.classList.add("marker-reverse"))), this.#r?.setLatLng(e);
1153
1164
  }
1154
1165
  }
1155
1166
  #c(e, i) {
1156
1167
  if (!this.#e)
1157
1168
  return;
1158
- for (const o of this.#a.values())
1159
- o.remove();
1169
+ for (const s of this.#a.values())
1170
+ s.remove();
1160
1171
  this.#a = /* @__PURE__ */ new Map(), this.#s?.clearLayers();
1161
- const r = () => {
1172
+ const o = () => {
1162
1173
  if (!i || !this.#e || this.options.marker === !1 || this.options.marker === null) return;
1163
- const o = this.options.marker instanceof Function ? this.options.marker(this.#e, i) : this.#p({ lng: i.center[0], lat: i.center[1] }, this.options.marker).addTo(this.#e);
1164
- o && this.#a.set(i, o);
1174
+ const s = this.options.marker instanceof Function ? this.options.marker(this.#e, i) : this.#p({ lng: i.center[0], lat: i.center[1] }, this.options.marker).addTo(this.#e);
1175
+ s && this.#a.set(i, s);
1165
1176
  };
1166
1177
  if (i?.geometry.type === "GeometryCollection") {
1167
- const o = i.geometry.geometries.filter(
1168
- (s) => s.type === "Polygon" || s.type === "MultiPolygon"
1178
+ const s = i.geometry.geometries.filter(
1179
+ (a) => a.type === "Polygon" || a.type === "MultiPolygon"
1169
1180
  );
1170
- if (o.length > 0) {
1171
- const s = _e(q(o.map((a) => Qe(a))));
1172
- if (s) {
1173
- const a = ke({ ...i, geometry: s.geometry });
1174
- if (a) {
1175
- const u = [...a.features], w = U(X(i)), k = w[2] - w[0];
1176
- w[0] - k / 4 < -180 && u.push(...be(a, -360).features), w[2] + k / 4 > 180 && u.push(...be(a, 360).features), this.#s?.addData(q(u));
1181
+ if (s.length > 0) {
1182
+ const a = _e(A(s.map((r) => Ke(r))));
1183
+ if (a) {
1184
+ const r = ke({ ...i, geometry: a.geometry });
1185
+ if (r) {
1186
+ const u = [...r.features], m = G(Y(i)), _ = m[2] - m[0];
1187
+ m[0] - _ / 4 < -180 && u.push(...be(r, -360).features), m[2] + _ / 4 > 180 && u.push(...be(r, 360).features), this.#s?.addData(A(u));
1177
1188
  }
1178
1189
  }
1179
1190
  } else {
1180
- const s = i.geometry.geometries.filter(
1181
- (a) => a.type === "LineString" || a.type === "MultiLineString"
1191
+ const a = i.geometry.geometries.filter(
1192
+ (r) => r.type === "LineString" || r.type === "MultiLineString"
1182
1193
  );
1183
- s.length > 0 && this.#s?.addData({
1194
+ a.length > 0 && this.#s?.addData({
1184
1195
  ...i,
1185
- geometry: { type: "GeometryCollection", geometries: s }
1196
+ geometry: { type: "GeometryCollection", geometries: a }
1186
1197
  });
1187
1198
  }
1188
1199
  } else if (i?.geometry.type.endsWith("Polygon")) {
1189
- const o = ke(i);
1190
- o && this.#s?.addData(o), this.options.pickedResultStyle === "full-geometry-including-polygon-center-marker" && r();
1191
- } else i?.geometry.type.endsWith("LineString") ? this.#s?.addData(i) : i?.geometry.type.endsWith("Point") && r();
1200
+ const s = ke(i);
1201
+ s && this.#s?.addData(s), this.options.pickedResultStyle === "full-geometry-including-polygon-center-marker" && o();
1202
+ } else i?.geometry.type.endsWith("LineString") ? this.#s?.addData(i) : i?.geometry.type.endsWith("Point") && o();
1192
1203
  if (this.options.showResultMarkers !== !1 && this.options.showResultMarkers !== null)
1193
- for (const o of e ?? []) {
1194
- if (o.id === i?.id || o.place_type.includes("reverse"))
1204
+ for (const s of e ?? []) {
1205
+ if (s.id === i?.id || s.place_type.includes("reverse"))
1195
1206
  continue;
1196
- let s;
1207
+ let a;
1197
1208
  if (this.options.showResultMarkers instanceof Function) {
1198
- if (s = this.options.showResultMarkers(this.#e, o), !s)
1209
+ if (a = this.options.showResultMarkers(this.#e, s), !a)
1199
1210
  continue;
1200
1211
  } else
1201
- s = this.#p({ lng: o.center[0], lat: o.center[1] }, this.options.showResultMarkers).bindPopup(
1202
- new Ye({
1212
+ a = this.#p({ lng: s.center[0], lat: s.center[1] }, this.options.showResultMarkers).bindPopup(
1213
+ new Je({
1203
1214
  offset: [0.3, -21],
1204
1215
  closeButton: !1,
1205
1216
  closeOnMove: !0,
1206
1217
  className: "maptiler-gc-popup"
1207
- }).setContent(o.place_type[0] === "reverse" ? o.place_name : o.place_name.replace(/,.*/, ""))
1208
- ).addTo(this.#e), s.getElement()?.classList.add("marker-interactive");
1209
- const a = s.getElement();
1210
- a?.addEventListener("click", (u) => {
1211
- u.stopPropagation(), this.#i("markerclick", { feature: o, marker: s });
1212
- }), a?.addEventListener("mouseenter", () => {
1213
- this.#i("markermouseenter", { feature: o, marker: s }), s.togglePopup();
1214
- }), a?.addEventListener("mouseleave", () => {
1215
- this.#i("markermouseleave", { feature: o, marker: s }), s.togglePopup();
1216
- }), a?.classList.toggle("marker-fuzzy", !!o.matching_text), this.#a.set(o, s);
1218
+ }).setContent(s.place_type[0] === "reverse" ? s.place_name : s.place_name.replace(/,.*/, ""))
1219
+ ).addTo(this.#e), a.getElement()?.classList.add("marker-interactive");
1220
+ const r = a.getElement();
1221
+ r?.addEventListener("click", (u) => {
1222
+ u.stopPropagation(), this.#i("markerclick", { feature: s, marker: a });
1223
+ }), r?.addEventListener("mouseenter", () => {
1224
+ this.#i("markermouseenter", { feature: s, marker: a }), a.togglePopup();
1225
+ }), r?.addEventListener("mouseleave", () => {
1226
+ this.#i("markermouseleave", { feature: s, marker: a }), a.togglePopup();
1227
+ }), r?.classList.toggle("marker-fuzzy", !!s.matching_text), this.#a.set(s, a);
1217
1228
  }
1218
1229
  }
1219
- #L(e) {
1230
+ #$(e) {
1220
1231
  this.#n?.getElement()?.classList.toggle("marker-selected", !1), this.#n = void 0, this.options.markerOnSelected !== !1 && (this.#n = this.#a.get(e), this.#n?.getElement()?.classList.toggle("marker-selected", !0));
1221
1232
  }
1222
1233
  #I() {
1223
- this.#e && (this.#s = new Je(void 0, {
1234
+ this.#e && (this.#s = new Xe(void 0, {
1224
1235
  style: this.#O(),
1225
1236
  interactive: !1
1226
1237
  }).addTo(this.#e));
1227
1238
  }
1228
- #M() {
1239
+ #F() {
1229
1240
  this.#e && (this.#s?.removeFrom(this.#e), this.#s = void 0);
1230
1241
  }
1231
1242
  #p(e, i) {
1232
- return typeof i != "object" && (i = { icon: new Xe({ html: this.#e?.getContainer().ownerDocument.createElement("maptiler-geocode-marker"), iconAnchor: [12.3, 30], className: "" }) }), new et(e, i);
1243
+ return typeof i != "object" && (i = { icon: new et({ html: this.#e?.getContainer().ownerDocument.createElement("maptiler-geocode-marker"), iconAnchor: [12.3, 30], className: "" }) }), new tt(e, i);
1233
1244
  }
1234
1245
  #O() {
1235
1246
  const { fullGeometryStyle: e } = this.options;
1236
- if (e === !0 || e === void 0) return Mt;
1247
+ if (e === !0 || e === void 0) return Ot;
1237
1248
  if (!(e === !1 || e === null))
1238
1249
  return e;
1239
1250
  }
1240
1251
  }
1241
1252
  export {
1242
- Mt as DEFAULT_GEOMETRY_STYLE,
1243
- jt as GeocodingControl,
1244
- jt as LeafletGeocodingControl,
1245
- ee as MaptilerGeocodeClearIconElement,
1246
- te as MaptilerGeocodeFailIconElement,
1247
- ie as MaptilerGeocodeLoadingIconElement,
1248
- le as MaptilerGeocodeMarkerElement,
1249
- se as MaptilerGeocodeReverseGeocodingIconElement,
1250
- oe as MaptilerGeocodeSearchIconElement,
1253
+ Ot as DEFAULT_GEOMETRY_STYLE,
1254
+ Dt as GeocodingControl,
1255
+ Dt as LeafletGeocodingControl,
1256
+ J as MaptilerGeocodeClearIconElement,
1257
+ X as MaptilerGeocodeFailIconElement,
1258
+ ee as MaptilerGeocodeLoadingIconElement,
1259
+ ne as MaptilerGeocodeMarkerElement,
1260
+ te as MaptilerGeocodeReverseGeocodingIconElement,
1261
+ ie as MaptilerGeocodeSearchIconElement,
1251
1262
  l as MaptilerGeocoderElement,
1252
- It as ZOOM_DEFAULTS
1263
+ Ft as ZOOM_DEFAULTS
1253
1264
  };
1254
1265
  //# sourceMappingURL=leaflet.public.js.map