@maptiler/geocoding-control 2.1.7 → 3.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/CODE_OF_CONDUCT.md +46 -0
  2. package/CONTRIBUTING.md +72 -0
  3. package/README.md +115 -43
  4. package/SECURITY.md +16 -0
  5. package/dist/index.js +860 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/index.umd.js +263 -0
  8. package/dist/index.umd.js.map +1 -0
  9. package/dist/leaflet.public.js +1251 -0
  10. package/dist/leaflet.public.js.map +1 -0
  11. package/dist/leaflet.public.umd.js +276 -0
  12. package/dist/leaflet.public.umd.js.map +1 -0
  13. package/dist/maplibregl.js +1275 -0
  14. package/dist/maplibregl.js.map +1 -0
  15. package/dist/maplibregl.umd.js +276 -0
  16. package/dist/maplibregl.umd.js.map +1 -0
  17. package/dist/maptilersdk.js +1283 -0
  18. package/dist/maptilersdk.js.map +1 -0
  19. package/dist/maptilersdk.umd.js +276 -0
  20. package/dist/maptilersdk.umd.js.map +1 -0
  21. package/dist/src/components/clear-icon.d.ts +10 -0
  22. package/dist/src/components/fail-icon.d.ts +10 -0
  23. package/dist/src/components/loading-icon.d.ts +10 -0
  24. package/dist/src/components/marker.d.ts +10 -0
  25. package/dist/src/components/reverse-geocoding-icon.d.ts +10 -0
  26. package/dist/src/components/search-icon.d.ts +10 -0
  27. package/dist/src/controls/base-control.d.ts +44 -0
  28. package/dist/src/controls/leaflet-control.d.ts +27 -0
  29. package/dist/src/controls/leaflet-events.d.ts +42 -0
  30. package/dist/src/controls/leaflet-options.d.ts +84 -0
  31. package/dist/src/controls/maplibregl-control.d.ts +34 -0
  32. package/dist/src/controls/maplibregl-events.d.ts +44 -0
  33. package/dist/src/controls/maplibregl-options.d.ts +104 -0
  34. package/dist/src/controls/maptilersdk-control.d.ts +7 -0
  35. package/dist/src/controls/maptilersdk-events.d.ts +2 -0
  36. package/dist/src/controls/maptilersdk-options.d.ts +10 -0
  37. package/dist/src/controls/openlayers-control.d.ts +35 -0
  38. package/dist/src/controls/openlayers-events.d.ts +43 -0
  39. package/dist/src/controls/openlayers-options.d.ts +83 -0
  40. package/dist/src/geocoder/geocoder-events.d.ts +46 -0
  41. package/dist/src/geocoder/geocoder-feature-item.d.ts +22 -0
  42. package/{svelte/types.d.ts → dist/src/geocoder/geocoder-options.d.ts} +23 -143
  43. package/dist/src/geocoder/geocoder.d.ts +113 -0
  44. package/dist/src/index.d.ts +9 -0
  45. package/dist/src/leaflet.public.d.ts +7 -0
  46. package/dist/src/maplibregl.d.ts +7 -0
  47. package/dist/src/maptilersdk.d.ts +7 -0
  48. package/dist/src/openlayers.public.d.ts +7 -0
  49. package/dist/src/types.d.ts +46 -0
  50. package/dist/src/utils/geo-utils.d.ts +6 -0
  51. package/dist/src/utils/mask.d.ts +2 -0
  52. package/dist/src/utils/proximity.d.ts +2 -0
  53. package/package.json +84 -112
  54. package/MapLibreBasedGeocodingControl.d.ts +0 -3072
  55. package/geo-coordinates-parser.t.d.ts +0 -8
  56. package/geoUtils.d.ts +0 -3
  57. package/leaflet-controller.d.ts +0 -12
  58. package/leaflet-controller.js +0 -2475
  59. package/leaflet-controller.js.map +0 -1
  60. package/leaflet-controller.umd.js +0 -2
  61. package/leaflet-controller.umd.js.map +0 -1
  62. package/leaflet.d.ts +0 -131
  63. package/leaflet.js +0 -5082
  64. package/leaflet.js.map +0 -1
  65. package/leaflet.umd.js +0 -14
  66. package/leaflet.umd.js.map +0 -1
  67. package/maplibregl-controller.d.ts +0 -19
  68. package/maplibregl-controller.js +0 -2418
  69. package/maplibregl-controller.js.map +0 -1
  70. package/maplibregl-controller.umd.js +0 -2
  71. package/maplibregl-controller.umd.js.map +0 -1
  72. package/maplibregl.d.ts +0 -2509
  73. package/maplibregl.js +0 -5142
  74. package/maplibregl.js.map +0 -1
  75. package/maplibregl.umd.js +0 -14
  76. package/maplibregl.umd.js.map +0 -1
  77. package/maptilersdk.d.ts +0 -2504
  78. package/maptilersdk.js +0 -5152
  79. package/maptilersdk.js.map +0 -1
  80. package/maptilersdk.umd.js +0 -14
  81. package/maptilersdk.umd.js.map +0 -1
  82. package/mask.d.ts +0 -2
  83. package/openlayers-controller.d.ts +0 -15
  84. package/openlayers-controller.js +0 -2174
  85. package/openlayers-controller.js.map +0 -1
  86. package/openlayers-controller.umd.js +0 -2
  87. package/openlayers-controller.umd.js.map +0 -1
  88. package/openlayers.d.ts +0 -109
  89. package/openlayers.js +0 -5045
  90. package/openlayers.js.map +0 -1
  91. package/openlayers.umd.js +0 -14
  92. package/openlayers.umd.js.map +0 -1
  93. package/proximity.d.ts +0 -2
  94. package/react.d.ts +0 -45
  95. package/react.js +0 -2795
  96. package/react.js.map +0 -1
  97. package/react.umd.js +0 -14
  98. package/react.umd.js.map +0 -1
  99. package/style.css +0 -1
  100. package/svelte/ClearIcon.svelte +0 -12
  101. package/svelte/ClearIcon.svelte.d.ts +0 -25
  102. package/svelte/FailIcon.svelte +0 -12
  103. package/svelte/FailIcon.svelte.d.ts +0 -25
  104. package/svelte/FeatureItem.svelte +0 -246
  105. package/svelte/FeatureItem.svelte.d.ts +0 -26
  106. package/svelte/GeocodingControl.svelte +0 -921
  107. package/svelte/GeocodingControl.svelte.d.ts +0 -105
  108. package/svelte/LoadingIcon.svelte +0 -40
  109. package/svelte/LoadingIcon.svelte.d.ts +0 -25
  110. package/svelte/MapLibreBasedGeocodingControl.d.ts +0 -3072
  111. package/svelte/MapLibreBasedGeocodingControl.js +0 -210
  112. package/svelte/MarkerIcon.svelte +0 -71
  113. package/svelte/MarkerIcon.svelte.d.ts +0 -18
  114. package/svelte/ReverseGeocodingIcon.svelte +0 -12
  115. package/svelte/ReverseGeocodingIcon.svelte.d.ts +0 -25
  116. package/svelte/SearchIcon.svelte +0 -26
  117. package/svelte/SearchIcon.svelte.d.ts +0 -25
  118. package/svelte/geo-coordinates-parser.t.d.ts +0 -8
  119. package/svelte/geo-coordinates-parser.t.js +0 -1
  120. package/svelte/geoUtils.d.ts +0 -3
  121. package/svelte/geoUtils.js +0 -18
  122. package/svelte/info.json +0 -1
  123. package/svelte/leaflet-controller.d.ts +0 -12
  124. package/svelte/leaflet-controller.js +0 -274
  125. package/svelte/leaflet.d.ts +0 -131
  126. package/svelte/leaflet.js +0 -116
  127. package/svelte/maplibregl-controller.d.ts +0 -19
  128. package/svelte/maplibregl-controller.js +0 -279
  129. package/svelte/maplibregl.d.ts +0 -2509
  130. package/svelte/maplibregl.js +0 -17
  131. package/svelte/maptilersdk.d.ts +0 -2504
  132. package/svelte/maptilersdk.js +0 -32
  133. package/svelte/mask.d.ts +0 -2
  134. package/svelte/mask.js +0 -54
  135. package/svelte/openlayers-controller.d.ts +0 -15
  136. package/svelte/openlayers-controller.js +0 -283
  137. package/svelte/openlayers.d.ts +0 -109
  138. package/svelte/openlayers.js +0 -178
  139. package/svelte/proximity.d.ts +0 -2
  140. package/svelte/proximity.js +0 -60
  141. package/svelte/react.d.ts +0 -45
  142. package/svelte/react.js +0 -106
  143. package/svelte/types.js +0 -1
  144. package/svelte/vanilla.d.ts +0 -61
  145. package/svelte/vanilla.js +0 -101
  146. package/svelte/vite-env.d.ts +0 -2
  147. package/types.d.ts +0 -391
  148. package/vanilla.d.ts +0 -61
  149. package/vanilla.js +0 -2799
  150. package/vanilla.js.map +0 -1
  151. package/vanilla.umd.js +0 -14
  152. package/vanilla.umd.js.map +0 -1
  153. /package/{icons → dist/icons}/10pin.svg +0 -0
  154. /package/{icons → dist/icons}/9pin.svg +0 -0
  155. /package/{icons → dist/icons}/advertising_column.svg +0 -0
  156. /package/{icons → dist/icons}/aerodrome.svg +0 -0
  157. /package/{icons → dist/icons}/alcohol.svg +0 -0
  158. /package/{icons → dist/icons}/alpine_hut.svg +0 -0
  159. /package/{icons → dist/icons}/amusement_arcade.svg +0 -0
  160. /package/{icons → dist/icons}/amusement_park.svg +0 -0
  161. /package/{icons → dist/icons}/apartment.svg +0 -0
  162. /package/{icons → dist/icons}/archaeological_site.svg +0 -0
  163. /package/{icons → dist/icons}/area.svg +0 -0
  164. /package/{icons → dist/icons}/art.svg +0 -0
  165. /package/{icons → dist/icons}/arts_centre.svg +0 -0
  166. /package/{icons → dist/icons}/artwork.svg +0 -0
  167. /package/{icons → dist/icons}/audioguide.svg +0 -0
  168. /package/{icons → dist/icons}/bag.svg +0 -0
  169. /package/{icons → dist/icons}/beauty.svg +0 -0
  170. /package/{icons → dist/icons}/bed.svg +0 -0
  171. /package/{icons → dist/icons}/bell_tower.svg +0 -0
  172. /package/{icons → dist/icons}/beverages.svg +0 -0
  173. /package/{icons → dist/icons}/bicycle_repair_station.svg +0 -0
  174. /package/{icons → dist/icons}/biergarten.svg +0 -0
  175. /package/{icons → dist/icons}/bird_hide.svg +0 -0
  176. /package/{icons → dist/icons}/boat_rental.svg +0 -0
  177. /package/{icons → dist/icons}/bookmaker.svg +0 -0
  178. /package/{icons → dist/icons}/books.svg +0 -0
  179. /package/{icons → dist/icons}/bowl.svg +0 -0
  180. /package/{icons → dist/icons}/bowling_alley.svg +0 -0
  181. /package/{icons → dist/icons}/bunker.svg +0 -0
  182. /package/{icons → dist/icons}/bureau_de_change.svg +0 -0
  183. /package/{icons → dist/icons}/bus_station.svg +0 -0
  184. /package/{icons → dist/icons}/bust.svg +0 -0
  185. /package/{icons → dist/icons}/camping.svg +0 -0
  186. /package/{icons → dist/icons}/car_parts.svg +0 -0
  187. /package/{icons → dist/icons}/car_wash.svg +0 -0
  188. /package/{icons → dist/icons}/caravan_park.svg +0 -0
  189. /package/{icons → dist/icons}/carpet.svg +0 -0
  190. /package/{icons → dist/icons}/cattle_grid.svg +0 -0
  191. /package/{icons → dist/icons}/cave_entrance.svg +0 -0
  192. /package/{icons → dist/icons}/chalet.svg +0 -0
  193. /package/{icons → dist/icons}/charity.svg +0 -0
  194. /package/{icons → dist/icons}/chemist.svg +0 -0
  195. /package/{icons → dist/icons}/chimney.svg +0 -0
  196. /package/{icons → dist/icons}/church.svg +0 -0
  197. /package/{icons → dist/icons}/city_gate.svg +0 -0
  198. /package/{icons → dist/icons}/clinic.svg +0 -0
  199. /package/{icons → dist/icons}/clothes.svg +0 -0
  200. /package/{icons → dist/icons}/coffee.svg +0 -0
  201. /package/{icons → dist/icons}/community_centre.svg +0 -0
  202. /package/{icons → dist/icons}/computer.svg +0 -0
  203. /package/{icons → dist/icons}/consulate.svg +0 -0
  204. /package/{icons → dist/icons}/copyshop.svg +0 -0
  205. /package/{icons → dist/icons}/cosmetics.svg +0 -0
  206. /package/{icons → dist/icons}/courthouse.svg +0 -0
  207. /package/{icons → dist/icons}/crane.svg +0 -0
  208. /package/{icons → dist/icons}/dairy.svg +0 -0
  209. /package/{icons → dist/icons}/deli.svg +0 -0
  210. /package/{icons → dist/icons}/department_store.svg +0 -0
  211. /package/{icons → dist/icons}/diy.svg +0 -0
  212. /package/{icons → dist/icons}/electronics.svg +0 -0
  213. /package/{icons → dist/icons}/embankment.svg +0 -0
  214. /package/{icons → dist/icons}/embassy.svg +0 -0
  215. /package/{icons → dist/icons}/excrement_bags.svg +0 -0
  216. /package/{icons → dist/icons}/fabric.svg +0 -0
  217. /package/{icons → dist/icons}/farmyard.svg +0 -0
  218. /package/{icons → dist/icons}/ferry.svg +0 -0
  219. /package/{icons → dist/icons}/firepit.svg +0 -0
  220. /package/{icons → dist/icons}/firestation.svg +0 -0
  221. /package/{icons → dist/icons}/fishing.svg +0 -0
  222. /package/{icons → dist/icons}/fitness.svg +0 -0
  223. /package/{icons → dist/icons}/ford.svg +0 -0
  224. /package/{icons → dist/icons}/fort.svg +0 -0
  225. /package/{icons → dist/icons}/fortress.svg +0 -0
  226. /package/{icons → dist/icons}/full-height_turnstile.svg +0 -0
  227. /package/{icons → dist/icons}/generator_wind.svg +0 -0
  228. /package/{icons → dist/icons}/golf_pin.svg +0 -0
  229. /package/{icons → dist/icons}/greengrocer.svg +0 -0
  230. /package/{icons → dist/icons}/guest_house.svg +0 -0
  231. /package/{icons → dist/icons}/helipad.svg +0 -0
  232. /package/{icons → dist/icons}/hifi.svg +0 -0
  233. /package/{icons → dist/icons}/hostel.svg +0 -0
  234. /package/{icons → dist/icons}/hotel.svg +0 -0
  235. /package/{icons → dist/icons}/housenumber.svg +0 -0
  236. /package/{icons → dist/icons}/houseware.svg +0 -0
  237. /package/{icons → dist/icons}/hunting_stand.svg +0 -0
  238. /package/{icons → dist/icons}/interior_decoration.svg +0 -0
  239. /package/{icons → dist/icons}/internet_cafe.svg +0 -0
  240. /package/{icons → dist/icons}/kindergarten.svg +0 -0
  241. /package/{icons → dist/icons}/kissing_gate.svg +0 -0
  242. /package/{icons → dist/icons}/manor.svg +0 -0
  243. /package/{icons → dist/icons}/map.svg +0 -0
  244. /package/{icons → dist/icons}/marker_reverse.svg +0 -0
  245. /package/{icons → dist/icons}/marker_selected.svg +0 -0
  246. /package/{icons → dist/icons}/marker_unselected.svg +0 -0
  247. /package/{icons → dist/icons}/marketplace.svg +0 -0
  248. /package/{icons → dist/icons}/massage.svg +0 -0
  249. /package/{icons → dist/icons}/mast.svg +0 -0
  250. /package/{icons → dist/icons}/mast_communications.svg +0 -0
  251. /package/{icons → dist/icons}/mast_lighting.svg +0 -0
  252. /package/{icons → dist/icons}/medical_supply.svg +0 -0
  253. /package/{icons → dist/icons}/memorial.svg +0 -0
  254. /package/{icons → dist/icons}/miniature_golf.svg +0 -0
  255. /package/{icons → dist/icons}/motel.svg +0 -0
  256. /package/{icons → dist/icons}/mountain_range.svg +0 -0
  257. /package/{icons → dist/icons}/multifaith.svg +0 -0
  258. /package/{icons → dist/icons}/musical_instrument.svg +0 -0
  259. /package/{icons → dist/icons}/newsagent.svg +0 -0
  260. /package/{icons → dist/icons}/nightclub.svg +0 -0
  261. /package/{icons → dist/icons}/ocean.svg +0 -0
  262. /package/{icons → dist/icons}/office.svg +0 -0
  263. /package/{icons → dist/icons}/outdoor_seating.svg +0 -0
  264. /package/{icons → dist/icons}/palace.svg +0 -0
  265. /package/{icons → dist/icons}/parcel_locker.svg +0 -0
  266. /package/{icons → dist/icons}/parking_space.svg +0 -0
  267. /package/{icons → dist/icons}/parking_tickets.svg +0 -0
  268. /package/{icons → dist/icons}/pet.svg +0 -0
  269. /package/{icons → dist/icons}/photo.svg +0 -0
  270. /package/{icons → dist/icons}/picnic.svg +0 -0
  271. /package/{icons → dist/icons}/plaque.svg +0 -0
  272. /package/{icons → dist/icons}/poi.svg +0 -0
  273. /package/{icons → dist/icons}/post_box.svg +0 -0
  274. /package/{icons → dist/icons}/post_office.svg +0 -0
  275. /package/{icons → dist/icons}/postal_code.svg +0 -0
  276. /package/{icons → dist/icons}/pub.svg +0 -0
  277. /package/{icons → dist/icons}/public_bath.svg +0 -0
  278. /package/{icons → dist/icons}/public_bookcase.svg +0 -0
  279. /package/{icons → dist/icons}/public_building.svg +0 -0
  280. /package/{icons → dist/icons}/public_transport_tickets.svg +0 -0
  281. /package/{icons → dist/icons}/reverse.svg +0 -0
  282. /package/{icons → dist/icons}/river.svg +0 -0
  283. /package/{icons → dist/icons}/road.svg +0 -0
  284. /package/{icons → dist/icons}/saddle.svg +0 -0
  285. /package/{icons → dist/icons}/sauna.svg +0 -0
  286. /package/{icons → dist/icons}/sea.svg +0 -0
  287. /package/{icons → dist/icons}/second_hand.svg +0 -0
  288. /package/{icons → dist/icons}/shintoist.svg +0 -0
  289. /package/{icons → dist/icons}/shoe.svg +0 -0
  290. /package/{icons → dist/icons}/shower.svg +0 -0
  291. /package/{icons → dist/icons}/shrine.svg +0 -0
  292. /package/{icons → dist/icons}/sikhist.svg +0 -0
  293. /package/{icons → dist/icons}/slipway.svg +0 -0
  294. /package/{icons → dist/icons}/snowmobile.svg +0 -0
  295. /package/{icons → dist/icons}/social_facility.svg +0 -0
  296. /package/{icons → dist/icons}/sports.svg +0 -0
  297. /package/{icons → dist/icons}/sprite.json +0 -0
  298. /package/{icons → dist/icons}/sprite.png +0 -0
  299. /package/{icons → dist/icons}/sprite@2x.json +0 -0
  300. /package/{icons → dist/icons}/sprite@2x.png +0 -0
  301. /package/{icons → dist/icons}/stationery.svg +0 -0
  302. /package/{icons → dist/icons}/stile.svg +0 -0
  303. /package/{icons → dist/icons}/stone.svg +0 -0
  304. /package/{icons → dist/icons}/storage_tank.svg +0 -0
  305. /package/{icons → dist/icons}/stream.svg +0 -0
  306. /package/{icons → dist/icons}/street.svg +0 -0
  307. /package/{icons → dist/icons}/supermarket.svg +0 -0
  308. /package/{icons → dist/icons}/tea.svg +0 -0
  309. /package/{icons → dist/icons}/telescope_dish.svg +0 -0
  310. /package/{icons → dist/icons}/telescope_dome.svg +0 -0
  311. /package/{icons → dist/icons}/ticket.svg +0 -0
  312. /package/{icons → dist/icons}/tobacco.svg +0 -0
  313. /package/{icons → dist/icons}/tower_cantilever_communication.svg +0 -0
  314. /package/{icons → dist/icons}/tower_cooling.svg +0 -0
  315. /package/{icons → dist/icons}/tower_dish.svg +0 -0
  316. /package/{icons → dist/icons}/tower_dome.svg +0 -0
  317. /package/{icons → dist/icons}/tower_generic.svg +0 -0
  318. /package/{icons → dist/icons}/tower_lattice.svg +0 -0
  319. /package/{icons → dist/icons}/tower_lattice_communication.svg +0 -0
  320. /package/{icons → dist/icons}/tower_lattice_lighting.svg +0 -0
  321. /package/{icons → dist/icons}/tower_lighting.svg +0 -0
  322. /package/{icons → dist/icons}/townhall.svg +0 -0
  323. /package/{icons → dist/icons}/toys.svg +0 -0
  324. /package/{icons → dist/icons}/trade.svg +0 -0
  325. /package/{icons → dist/icons}/traffic_light.svg +0 -0
  326. /package/{icons → dist/icons}/train_station.svg +0 -0
  327. /package/{icons → dist/icons}/travel_agency.svg +0 -0
  328. /package/{icons → dist/icons}/tyres.svg +0 -0
  329. /package/{icons → dist/icons}/university.svg +0 -0
  330. /package/{icons → dist/icons}/variety_store.svg +0 -0
  331. /package/{icons → dist/icons}/vehicle_inspection.svg +0 -0
  332. /package/{icons → dist/icons}/vending_machine.svg +0 -0
  333. /package/{icons → dist/icons}/video.svg +0 -0
  334. /package/{icons → dist/icons}/video_games.svg +0 -0
  335. /package/{icons → dist/icons}/waste_disposal.svg +0 -0
  336. /package/{icons → dist/icons}/water_well.svg +0 -0
  337. /package/{icons → dist/icons}/waterfall.svg +0 -0
  338. /package/{icons → dist/icons}/wilderness_hut.svg +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/@lit/reactive-element/decorators/custom-element.js","../node_modules/@lit/reactive-element/decorators/property.js","../node_modules/@lit/reactive-element/decorators/state.js","../node_modules/@lit/reactive-element/decorators/base.js","../node_modules/@lit/reactive-element/decorators/query.js","../src/components/clear-icon.ts","../src/components/fail-icon.ts","../src/components/loading-icon.ts","../src/components/reverse-geocoding-icon.ts","../src/components/search-icon.ts","../node_modules/geo-coordinates-parser/dist/mjs/regex.js","../node_modules/geo-coordinates-parser/dist/mjs/toCoordinateFormat.js","../node_modules/geo-coordinates-parser/dist/mjs/converter.js","../node_modules/geo-coordinates-parser/dist/mjs/tests/testformats.js","../node_modules/geo-coordinates-parser/dist/mjs/merge.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/class-map.js","../node_modules/lit-html/directive-helpers.js","../node_modules/lit-html/directives/repeat.js","../src/utils/geo-utils.ts","../src/utils/proximity.ts","../node_modules/lit-html/directives/style-map.js","../src/geocoder/geocoder-feature-item.ts","../src/geocoder/geocoder.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.1\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import { LitElement, css, svg } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\n\n@customElement(\"maptiler-geocode-clear-icon\")\nexport class MaptilerGeocodeClearIconElement extends LitElement {\n static styles = css`\n svg {\n display: block;\n fill: var(--color-icon-button);\n }\n `;\n\n render() {\n return svg`\n <svg viewBox=\"0 0 14 14\" width=\"13\" height=\"13\">\n <path\n 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\"\n />\n </svg>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"maptiler-geocode-clear-icon\": MaptilerGeocodeClearIconElement;\n }\n}\n","import { LitElement, css, svg } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\n\n@customElement(\"maptiler-geocode-fail-icon\")\nexport class MaptilerGeocodeFailIconElement extends LitElement {\n static styles = css`\n svg {\n display: block;\n fill: #e15042;\n }\n `;\n\n render() {\n return svg`\n <svg viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n 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\"\n />\n </svg>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"maptiler-geocode-fail-icon\": MaptilerGeocodeFailIconElement;\n }\n}\n","import { LitElement, css, html } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\n\n@customElement(\"maptiler-geocode-loading-icon\")\nexport class MaptilerGeocodeLoadingIconElement extends LitElement {\n static styles = css`\n div {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n pointer-events: none;\n\n display: flex;\n align-items: center;\n }\n\n .loading-icon {\n animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\n }\n\n @keyframes rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n }\n `;\n\n render() {\n return html`\n <div>\n <svg viewBox=\"0 0 18 18\" width=\"24\" height=\"24\" class=\"loading-icon\">\n <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\" />\n <path opacity=\".1\" d=\"M12.8 12.9c-2.1 2.1-5.5 2.1-7.6 0-2.1-2.1-2.1-5.5 0-7.7l-.8-.8c-2.5 2.5-2.5 6.7 0 9.2s6.6 2.5 9.2 0 2.5-6.6 0-9.2l-.8.8c2.2 2.1 2.2 5.6 0 7.7z\" />\n </svg>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"maptiler-geocode-loading-icon\": MaptilerGeocodeLoadingIconElement;\n }\n}\n","import { LitElement, css, svg } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\n\n@customElement(\"maptiler-geocode-reverse-geocoding-icon\")\nexport class MaptilerGeocodeReverseGeocodingIconElement extends LitElement {\n static styles = css`\n svg {\n display: block;\n fill: var(--color-icon-button);\n }\n `;\n\n render() {\n return svg`\n <svg viewBox=\"0 0 60.006 21.412\" width=\"14\" height=\"20\">\n <path\n 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\"\n />\n </svg>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"maptiler-geocode-reverse-geocoding-icon\": MaptilerGeocodeReverseGeocodingIconElement;\n }\n}\n","import { LitElement, css, svg } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\n\n@customElement(\"maptiler-geocode-search-icon\")\nexport class MaptilerGeocodeSearchIconElement extends LitElement {\n static styles = css`\n circle {\n stroke-width: 1.875;\n fill: none;\n }\n\n path {\n stroke-width: 1.875;\n stroke-linecap: round;\n }\n\n svg {\n display: block;\n stroke: var(--color-icon-button);\n }\n `;\n\n render() {\n return svg`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"13\"\n height=\"13\"\n viewBox=\"0 0 13 13\"\n >\n <circle cx=\"4.789\" cy=\"4.787\" r=\"3.85\" />\n <path d=\"M12.063 12.063 7.635 7.635\" />\n </svg>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"maptiler-geocode-search-icon\": MaptilerGeocodeSearchIconElement;\n }\n}\n","//Coordinates pattern matching regex\n//DM with invalid minutes (goes to coords_other); this is just a shortened version of that to create a guard condition\nconst dm_invalid = /^(NORTH|SOUTH|[NS])?\\s*([+-]?[0-8]?[0-9])\\s*([•º°\\.:]|D(?:EG)?(?:REES)?)?\\s*,?([6-9][0-9])\\s*(['′´’\\.:]|M(?:IN)?(?:UTES)?)?\\s*(NORTH|SOUTH|[NS])?(?:\\s*[,/;]\\s*|\\s*)(EAST|WEST|[EW])?\\s*([+-]?[0-1]?[0-9]?[0-9])\\s*([•º°\\.:]|D(?:EG)?(?:REES)?)?\\s*,?([6-9][0-9])\\s*(['′´’\\.:]|M(?:IN)?(?:UTES)?)?\\s*(EAST|WEST|[EW])?$/i;\n//DM as numbers only - see issue #15\nconst dm_numbers = /^([+-]?[0-8]?[0-9])\\s+([0-5]?[0-9]\\.\\d{3,})[\\s,]{1,}([+-]?[0-1]?[0-9]?[0-9])\\s+([0-5]?[0-9]\\.\\d{3,})$/;\n//decimal degrees\nconst dd_re = /^(NORTH|SOUTH|[NS])?[\\s]*([+-]?[0-8]?[0-9](?:[\\.,]\\d{3,}))[\\s]*([•º°]?)[\\s]*(NORTH|SOUTH|[NS])?[\\s]*[,/;]?[\\s]*(EAST|WEST|[EW])?[\\s]*([+-]?[0-1]?[0-9]?[0-9](?:[\\.,]\\d{3,}))[\\s]*([•º°]?)[\\s]*(EAST|WEST|[EW])?$/i;\n//degrees minutes seconds with '.' as separator - gives array with 15 values\nconst dms_periods = /^(NORTH|SOUTH|[NS])?\\s*([+-]?[0-8]?[0-9])\\s*(\\.)\\s*([0-5]?[0-9])\\s*(\\.)\\s*((?:[0-5]?[0-9])(?:[\\.,]\\d{1,3})?)?\\s*(NORTH|SOUTH|[NS])?(?:\\s*[,/;]\\s*|\\s*)(EAST|WEST|[EW])?\\s*([+-]?[0-1]?[0-9]?[0-9])\\s*(\\.)\\s*([0-5]?[0-9])\\s*(\\.)\\s*((?:[0-5]?[0-9])(?:[\\.,]\\d{1,3})?)?\\s*(EAST|WEST|[EW])?$/i;\n//degrees minutes seconds with words 'degrees, minutes, seconds' as separators (needed because the s of seconds messes with the S of SOUTH) - gives array of 17 values\nconst dms_abbr = /^(NORTH|SOUTH|[NS])?\\s*([+-]?[0-8]?[0-9])\\s*(D(?:EG)?(?:REES)?)\\s*([0-5]?[0-9])\\s*(M(?:IN)?(?:UTES)?)\\s*((?:[0-5]?[0-9])(?:[\\.,]\\d{1,3})?)?\\s*(S(?:EC)?(?:ONDS)?)?\\s*(NORTH|SOUTH|[NS])?(?:\\s*[,/;]\\s*|\\s*)(EAST|WEST|[EW])?\\s*([+-]?[0-1]?[0-9]?[0-9])\\s*(D(?:EG)?(?:REES)?)\\s*([0-5]?[0-9])\\s*(M(?:IN)?(?:UTES)?)\\s*((?:[0-5]?[0-9])(?:[\\.,]\\d{1,3})?)?\\s*(S(?:EC)?(?:ONDS)?)\\s*(EAST|WEST|[EW])?$/i;\n//everything else - gives array of 17 values \nconst coords_other = /^(NORTH|SOUTH|[NS])?\\s*([+-]?[0-8]?[0-9])\\s*([•º°\\.:]|D(?:EG)?(?:REES)?)?\\s*,?([0-5]?[0-9](?:[\\.,]\\d{1,})?)?\\s*(['′´’\\.:]|M(?:IN)?(?:UTES)?)?\\s*,?((?:[0-5]?[0-9])(?:[\\.,]\\d{1,3})?)?\\s*(''|′′|’’|´´|[\"″”\\.])?\\s*(NORTH|SOUTH|[NS])?(?:\\s*[,/;]\\s*|\\s*)(EAST|WEST|[EW])?\\s*([+-]?[0-1]?[0-9]?[0-9])\\s*([•º°\\.:]|D(?:EG)?(?:REES)?)?\\s*,?([0-5]?[0-9](?:[\\.,]\\d{1,})?)?\\s*(['′´’\\.:]|M(?:IN)?(?:UTES)?)?\\s*,?((?:[0-5]?[0-9])(?:[\\.,]\\d{1,3})?)?\\s*(''|′′|´´|’’|[\"″”\\.])?\\s*(EAST|WEST|[EW])?$/i;\nexport { dm_invalid, dm_numbers, dd_re, dms_periods, dms_abbr, coords_other };\n","//borrowed from https://www.codegrepper.com/code-examples/javascript/javascript+converting+latitude+longitude+to+gps+coordinates\n/**\n * Converts decimalCoordinates to commonly used string formats\n * Note that this will add degree and direction symbols to decimal coordinates\n * @param {string} format Either DMS or DM\n * @returns {string}\n */\nfunction toCoordinateFormat(format) {\n if (!['DMS', 'DM', 'DD'].includes(format))\n throw new Error('invalid format specified');\n if (this.decimalCoordinates && this.decimalCoordinates.trim()) {\n const parts = this.decimalCoordinates.split(',').map(x => Number(x.trim()));\n const decimalLatitude = Number(parts[0]);\n const decimalLongitude = Number(parts[1]);\n const absoluteLatitude = Math.abs(decimalLatitude);\n const absoluteLongitude = Math.abs(decimalLongitude);\n const latDir = decimalLatitude > 0 ? \"N\" : \"S\";\n const longDir = decimalLongitude > 0 ? \"E\" : \"W\";\n let result;\n if (format == 'DD') {\n result = `${absoluteLatitude}° ${latDir}, ${absoluteLongitude}° ${longDir}`;\n }\n //else we need some more things\n const degreesLatitude = Math.floor(absoluteLatitude);\n const degreesLongitude = Math.floor(absoluteLongitude);\n const minutesLatitudeNotTruncated = (absoluteLatitude - degreesLatitude) * 60;\n const minutesLongitudeNotTruncated = (absoluteLongitude - degreesLongitude) * 60;\n if (format == 'DM') {\n let dmMinsLatitude = round(minutesLatitudeNotTruncated, 3).toFixed(3).padStart(6, '0');\n let dmMinsLongitude = round(minutesLongitudeNotTruncated, 3).toFixed(3).padStart(6, '0');\n if (dmMinsLatitude.endsWith('.000') && dmMinsLongitude.endsWith('.000')) {\n dmMinsLatitude = dmMinsLatitude.replace(/\\.000$/, '');\n dmMinsLongitude = dmMinsLongitude.replace(/\\.000$/, '');\n }\n result = `${degreesLatitude}° ${dmMinsLatitude}' ${latDir}, ${degreesLongitude}° ${dmMinsLongitude}' ${longDir}`;\n }\n if (format == \"DMS\") {\n const latMinutes = Math.floor(minutesLatitudeNotTruncated);\n const longMinutes = Math.floor(minutesLongitudeNotTruncated);\n let latSeconds = ((minutesLatitudeNotTruncated - latMinutes) * 60).toFixed(1).padStart(4, '0');\n let longSeconds = ((minutesLongitudeNotTruncated - longMinutes) * 60).toFixed(1).padStart(4, '0');\n const latMinutesString = latMinutes.toString().padStart(2, '0');\n const longMinutesString = longMinutes.toString().padStart(2, '0');\n // if they both end in .0 we drop the .0\n if (latSeconds.endsWith('.0') && longSeconds.endsWith('.0')) {\n latSeconds = latSeconds.replace(/\\.0$/, '');\n longSeconds = longSeconds.replace(/\\.0$/, '');\n }\n result = `${degreesLatitude}° ${latMinutesString}' ${latSeconds}\" ${latDir}, ${degreesLongitude}° ${longMinutesString}' ${longSeconds}\" ${longDir}`;\n }\n return result;\n }\n else {\n throw new Error('no decimal coordinates to convert');\n }\n}\nfunction round(num, places) {\n const d = Math.pow(10, places);\n return Math.round((num + Number.EPSILON) * d) / d;\n}\nexport default toCoordinateFormat;\n","//function for converting coordinates from a string to decimal and verbatim\n//this is just a comment\nimport { dm_invalid, dm_numbers, dd_re, dms_periods, dms_abbr, coords_other } from './regex.js';\nimport toCoordinateFormat from './toCoordinateFormat.js';\n/**\n * Function for converting coordinates in a variety of formats to decimal coordinates\n * @param {string} coordsString The coordinates string to convert\n * @param {number} [decimalPlaces] The number of decimal places for converted coordinates; default is 5\n * @returns {{verbatimCoordinates: string, decimalCoordinates: string, decimalLatitude: number, decimalLongitude: number, closeEnough: function(string): boolean, toCoordinateFormat: toCoordinateFormat}}\n */\nfunction converter(coordsString, decimalPlaces) {\n //TODO add exact match to entered string, so that it can be used to filter out superflous text around it\n if (!decimalPlaces) {\n decimalPlaces = 5;\n }\n coordsString = coordsString.replace(/\\s+/g, ' ').trim(); //just to tidy up whitespaces\n let ddLat = null;\n let ddLng = null;\n let latdir = \"\";\n let lngdir = \"\";\n let originalFormat = null;\n let match = [];\n let matchSuccess = false;\n if (dm_invalid.test(coordsString)) {\n throw new Error(\"invalid coordinate value\");\n }\n if (dm_numbers.test(coordsString)) {\n match = dm_numbers.exec(coordsString);\n matchSuccess = checkMatch(match);\n if (matchSuccess) {\n ddLat = Math.abs(match[1]) + match[2] / 60;\n if (Number(match[1]) < 0) {\n ddLat *= -1;\n }\n ddLng = Math.abs(match[3]) + match[4] / 60;\n if (Number(match[3]) < 0) {\n ddLng *= -1;\n }\n originalFormat = \"DM\";\n }\n else {\n throw new Error(\"invalid coordinate format\");\n }\n }\n else if (dd_re.test(coordsString)) {\n match = dd_re.exec(coordsString);\n matchSuccess = checkMatch(match);\n if (matchSuccess) {\n ddLat = match[2];\n ddLng = match[6];\n //need to fix if there are ','s instead of '.'\n if (ddLat.includes(',')) {\n ddLat = ddLat.replace(',', '.');\n }\n if (ddLng.includes(',')) {\n ddLng = ddLng.replace(',', '.');\n }\n originalFormat = \"DD\";\n //validation, we don't want things like 23.00000\n //some more validation: no zero coords or degrees only\n if (Number(Math.round(ddLat)) == Number(ddLat)) {\n throw new Error('integer only coordinate provided');\n }\n if (Number(Math.round(ddLng)) == Number(ddLng)) {\n throw new Error('integer only coordinate provided');\n }\n //get directions\n if (match[1]) {\n latdir = match[1];\n lngdir = match[5];\n }\n else if (match[4]) {\n latdir = match[4];\n lngdir = match[8];\n }\n }\n else {\n throw new Error(\"invalid decimal coordinate format\");\n }\n }\n else if (dms_periods.test(coordsString)) {\n match = dms_periods.exec(coordsString);\n matchSuccess = checkMatch(match);\n if (matchSuccess) {\n ddLat = Math.abs(parseInt(match[2]));\n if (match[4]) {\n ddLat += match[4] / 60;\n originalFormat = \"DM\";\n }\n if (match[6]) {\n ddLat += match[6].replace(',', '.') / 3600;\n originalFormat = \"DMS\";\n }\n if (parseInt(match[2]) < 0) {\n ddLat = -1 * ddLat;\n }\n ddLng = Math.abs(parseInt(match[9]));\n if (match[11]) {\n ddLng += match[11] / 60;\n }\n if (match[13]) {\n ddLng += match[13].replace(',', '.') / 3600;\n }\n if (parseInt(match[9]) < 0) {\n ddLng = -1 * ddLng;\n }\n //the compass directions\n if (match[1]) {\n latdir = match[1];\n lngdir = match[8];\n }\n else if (match[7]) {\n latdir = match[7];\n lngdir = match[14];\n }\n }\n else {\n throw new Error(\"invalid DMS coordinates format\");\n }\n }\n else if (dms_abbr.test(coordsString)) {\n match = dms_abbr.exec(coordsString);\n matchSuccess = checkMatch(match);\n if (matchSuccess) {\n ddLat = Math.abs(parseInt(match[2]));\n if (match[4]) {\n ddLat += match[4] / 60;\n originalFormat = \"DM\";\n }\n if (match[6]) {\n ddLat += match[6] / 3600;\n originalFormat = \"DMS\";\n }\n if (parseInt(match[2]) < 0) {\n ddLat = -1 * ddLat;\n }\n ddLng = Math.abs(parseInt(match[10]));\n if (match[12]) {\n ddLng += match[12] / 60;\n }\n if (match[14]) {\n ddLng += match[14] / 3600;\n }\n if (parseInt(match[10]) < 0) {\n ddLng = -1 * ddLng;\n }\n //the compass directions\n if (match[1]) {\n latdir = match[1];\n lngdir = match[9];\n }\n else if (match[8]) {\n latdir = match[8];\n lngdir = match[16];\n }\n }\n else {\n throw new Error(\"invalid DMS coordinates format\");\n }\n }\n else if (coords_other.test(coordsString)) {\n match = coords_other.exec(coordsString);\n matchSuccess = checkMatch(match);\n // we need an extra check here for things that matched that shouldn't have\n if (match.filter(x => x).length <= 5) {\n throw new Error(\"invalid coordinates format\");\n }\n if (matchSuccess) {\n ddLat = Math.abs(parseInt(match[2]));\n if (match[4]) {\n ddLat += match[4].replace(',', '.') / 60;\n originalFormat = \"DM\";\n }\n if (match[6]) {\n ddLat += match[6].replace(',', '.') / 3600;\n originalFormat = \"DMS\";\n }\n if (parseInt(match[2]) < 0) {\n ddLat = -1 * ddLat;\n }\n ddLng = Math.abs(parseInt(match[10]));\n if (match[12]) {\n ddLng += match[12].replace(',', '.') / 60;\n }\n if (match[14]) {\n ddLng += match[14].replace(',', '.') / 3600;\n }\n if (parseInt(match[10]) < 0) {\n ddLng = -1 * ddLng;\n }\n //the compass directions\n if (match[1]) {\n latdir = match[1];\n lngdir = match[9];\n }\n else if (match[8]) {\n latdir = match[8];\n lngdir = match[16];\n }\n }\n else {\n throw new Error(\"invalid coordinates format\");\n }\n }\n if (matchSuccess) {\n //more validation....\n //check longitude value - it can be wrong!\n if (Math.abs(ddLng) >= 180) {\n throw new Error(\"invalid longitude value\");\n }\n //just to be safe check latitude also...\n if (Math.abs(ddLat) >= 90) {\n throw new Error(\"invalid latitude value\");\n }\n //if we have one direction we must have the other\n if ((latdir && !lngdir) || (!latdir && lngdir)) {\n throw new Error(\"invalid coordinates value\");\n }\n //the directions can't be the same\n if (latdir && latdir == lngdir) {\n throw new Error(\"invalid coordinates format\");\n }\n // a bit of tidying up...\n if (ddLat.toString().includes(',')) {\n ddLat = ddLat.replace(',', '.');\n }\n if (ddLng.toString().includes(',')) {\n ddLng = ddLng.replace(',', '.');\n }\n //make sure the signs and cardinal directions match\n let patt = /S|SOUTH/i;\n if (patt.test(latdir)) {\n if (ddLat > 0) {\n ddLat = -1 * ddLat;\n }\n }\n patt = /W|WEST/i;\n if (patt.test(lngdir)) {\n if (ddLng > 0) {\n ddLng = -1 * ddLng;\n }\n }\n //we need to get the verbatim coords from the string\n //we can't split down the middle because if there are decimals they may have different numbers on each side\n //so we need to find the separating character, or if none, use the match values to split down the middle\n const verbatimCoordinates = match[0].trim();\n let verbatimLat;\n let verbatimLng;\n const sepChars = /[,/;\\u0020]/g; //comma, forward slash and spacebar\n const seps = verbatimCoordinates.match(sepChars);\n if (seps == null) {\n //split down the middle\n const middle = Math.floor(coordsString.length / 2);\n verbatimLat = verbatimCoordinates.substring(0, middle).trim();\n verbatimLng = verbatimCoordinates.substring(middle).trim();\n }\n else { //if length is odd then find the index of the middle value\n //get the middle index\n let middle;\n //easy for odd numbers\n if (seps.length % 2 == 1) {\n middle = Math.floor(seps.length / 2);\n }\n else {\n middle = (seps.length / 2) - 1;\n }\n //walk through seps until we get to the middle\n let splitIndex = 0;\n //it might be only one value\n if (middle == 0) {\n splitIndex = verbatimCoordinates.indexOf(seps[0]);\n verbatimLat = verbatimCoordinates.substring(0, splitIndex).trim();\n verbatimLng = verbatimCoordinates.substring(splitIndex + 1).trim();\n }\n else {\n let currSepIndex = 0;\n let startSearchIndex = 0;\n while (currSepIndex <= middle) {\n splitIndex = verbatimCoordinates.indexOf(seps[currSepIndex], startSearchIndex);\n startSearchIndex = splitIndex + 1;\n currSepIndex++;\n }\n verbatimLat = verbatimCoordinates.substring(0, splitIndex).trim();\n verbatimLng = verbatimCoordinates.substring(splitIndex + 1).trim();\n }\n }\n //validation again...\n //we only allow zeros after the period if its DM\n const splitLat = verbatimLat.split('.');\n if (splitLat.length == 2) {\n if (splitLat[1] == 0 && splitLat[1].length != 2) {\n throw new Error('invalid coordinates format');\n }\n }\n const splitLon = verbatimLng.split('.');\n if (splitLon.length == 2) {\n if (splitLon[1] == 0 && splitLon[1].length != 2) {\n throw new Error('invalid coordinates format');\n }\n }\n //no integer coords allowed\n if (/^\\d+$/.test(verbatimLat) || /^\\d+$/.test(verbatimLng)) {\n throw new Error('degree only coordinate/s provided');\n }\n //all done!!\n //just truncate the decimals appropriately\n ddLat = Number(Number(ddLat).toFixed(decimalPlaces));\n ddLng = Number(Number(ddLng).toFixed(decimalPlaces));\n return Object.freeze({\n verbatimCoordinates,\n verbatimLatitude: verbatimLat,\n verbatimLongitude: verbatimLng,\n decimalLatitude: ddLat,\n decimalLongitude: ddLng,\n decimalCoordinates: `${ddLat},${ddLng}`,\n originalFormat,\n closeEnough: coordsCloseEnough,\n toCoordinateFormat\n });\n }\n else {\n throw new Error(\"coordinates pattern match failed\");\n }\n}\nfunction checkMatch(match) {\n if (!isNaN(match[0])) { //we've matched a number, not what we want....\n return false;\n }\n //first remove the empty values from the array\n const filteredMatch = [...match];\n //we need to shift the array because it contains the whole coordinates string in the first item\n filteredMatch.shift();\n //check the array length is an even number\n if (filteredMatch.length % 2 > 0) {\n return false;\n }\n // regex for testing corresponding values match\n const numerictest = /^[-+]?\\d+([\\.,]\\d+)?$/; //for testing numeric values\n const stringtest = /[eastsouthnorthwest]+/i; //for testing string values (north, south, etc)\n const halflen = filteredMatch.length / 2;\n for (let i = 0; i < halflen; i++) {\n const leftside = filteredMatch[i];\n const rightside = filteredMatch[i + halflen];\n const bothAreNumbers = numerictest.test(leftside) && numerictest.test(rightside);\n const bothAreStrings = stringtest.test(leftside) && stringtest.test(rightside);\n const valuesAreEqual = leftside == rightside;\n if (leftside == undefined && rightside == undefined) { //we have to handle undefined because regex converts it to string 'undefined'!!\n continue;\n }\n else if (leftside == undefined || rightside == undefined) { //no we need to handle the case where one is and the other not...\n return false;\n }\n else if (bothAreNumbers || bothAreStrings || valuesAreEqual) {\n continue;\n }\n else {\n return false;\n }\n }\n return true;\n}\n//functions for coordinate validation\n//as decimal arithmetic is not straightforward, we approximate\nfunction decimalsCloseEnough(dec1, dec2) {\n const originaldiff = Math.abs(dec1 - dec2);\n const diff = Number(originaldiff.toFixed(6));\n if (diff <= 0.00001) {\n return true;\n }\n else {\n return false;\n }\n}\nfunction coordsCloseEnough(coordsToTest) {\n if (!coordsToTest) {\n throw new Error('coords must be provided');\n }\n if (coordsToTest.includes(',')) {\n const coords = coordsToTest.split(',');\n if (Number(coords[0]) == NaN || Number(coords[1]) == NaN) {\n throw new Error(\"coords are not valid decimals\");\n }\n else {\n return decimalsCloseEnough(this.decimalLatitude, Number(coords[0])) && decimalsCloseEnough(this.decimalLongitude, coords[1]); //this here will be the converted coordinates object\n }\n }\n else {\n throw new Error(\"coords being tested must be separated by a comma\");\n }\n}\n// An enum for coordinates formats\nconst to = Object.freeze({\n DMS: 'DMS',\n DM: 'DM',\n DD: 'DD'\n});\nconverter.to = to;\nexport default converter;\n","//return an array of coordinate strings for testing\n//coordinations-parser formats\n//https://www.npmjs.com/package/coordinate-parser\nconst coordsParserFormats = [\n {\n verbatimCoordinates: '40.123, -74.123',\n verbatimLatitude: '40.123',\n verbatimLongitude: '-74.123'\n },\n {\n verbatimCoordinates: '40.123° N 74.123° W',\n verbatimLatitude: '40.123° N',\n verbatimLongitude: '74.123° W'\n },\n {\n verbatimCoordinates: '40.123° N 74.123° W',\n verbatimLatitude: '40.123° N',\n verbatimLongitude: '74.123° W'\n },\n {\n verbatimCoordinates: '40° 7´ 22.8\" N 74° 7´ 22.8\" W',\n verbatimLatitude: '40° 7´ 22.8\" N',\n verbatimLongitude: '74° 7´ 22.8\" W'\n },\n {\n verbatimCoordinates: '40° 7.38’ , -74° 7.38’',\n verbatimLatitude: '40° 7.38’',\n verbatimLongitude: '-74° 7.38’'\n },\n {\n verbatimCoordinates: 'N40°7’22.8’’, W74°7’22.8’’',\n verbatimLatitude: 'N40°7’22.8’’',\n verbatimLongitude: 'W74°7’22.8’’'\n },\n {\n verbatimCoordinates: '40°7’22.8\"N, 74°7’22.8\"W',\n verbatimLatitude: '40°7’22.8\"N',\n verbatimLongitude: '74°7’22.8\"W'\n },\n {\n verbatimCoordinates: '40°7\\'22.8\"N, 74°7\\'22.8\"W',\n verbatimLatitude: '40°7\\'22.8\"N',\n verbatimLongitude: '74°7\\'22.8\"W'\n },\n {\n verbatimCoordinates: '40 7 22.8, -74 7 22.8',\n verbatimLatitude: '40 7 22.8',\n verbatimLongitude: '-74 7 22.8'\n },\n {\n verbatimCoordinates: '40.123 -74.123',\n verbatimLatitude: '40.123',\n verbatimLongitude: '-74.123'\n },\n {\n verbatimCoordinates: '40.123°,-74.123°',\n verbatimLatitude: '40.123°',\n verbatimLongitude: '-74.123°'\n },\n {\n verbatimCoordinates: '40.123N74.123W',\n verbatimLatitude: '40.123N',\n verbatimLongitude: '74.123W'\n },\n {\n verbatimCoordinates: '4007.38N7407.38W',\n verbatimLatitude: '4007.38N',\n verbatimLongitude: '7407.38W'\n },\n {\n verbatimCoordinates: '40°7’22.8\"N, 74°7’22.8\"W',\n verbatimLatitude: '40°7’22.8\"N',\n verbatimLongitude: '74°7’22.8\"W'\n },\n {\n verbatimCoordinates: '400722.8N740722.8W',\n verbatimLatitude: '400722.8N',\n verbatimLongitude: '740722.8W'\n },\n {\n verbatimCoordinates: 'N 40 7.38 W 74 7.38',\n verbatimLatitude: 'N 40 7.38',\n verbatimLongitude: 'W 74 7.38'\n },\n {\n verbatimCoordinates: '40:7:22.8N 74:7:22.8W',\n verbatimLatitude: '40:7:22.8N',\n verbatimLongitude: '74:7:22.8W'\n },\n {\n verbatimCoordinates: '40:7:23N,74:7:23W',\n verbatimLatitude: '40:7:23N',\n verbatimLongitude: '74:7:23W',\n decimalLatitude: 40.1230555555,\n decimalLongitude: -74.1230555555\n },\n {\n verbatimCoordinates: '40°7’23\"N 74°7’23\"W',\n verbatimLatitude: '40°7’23\"N',\n verbatimLongitude: '74°7’23\"W',\n decimalLatitude: 40.1230555555,\n decimalLongitude: -74.12305555555555\n },\n {\n verbatimCoordinates: '40°7’23\"S 74°7’23\"E',\n verbatimLatitude: '40°7’23\"S',\n verbatimLongitude: '74°7’23\"E',\n decimalLatitude: -40.1230555555,\n decimalLongitude: 74.12305555555555\n },\n {\n verbatimCoordinates: '40°7’23\" -74°7’23\"',\n verbatimLatitude: '40°7’23\"',\n verbatimLongitude: '-74°7’23\"',\n decimalLatitude: 40.1230555555,\n decimalLongitude: -74.123055555\n },\n {\n verbatimCoordinates: '40d 7’ 23\" N 74d 7’ 23\" W',\n verbatimLatitude: '40d 7’ 23\" N',\n verbatimLongitude: '74d 7’ 23\" W',\n decimalLatitude: 40.1230555555,\n decimalLongitude: -74.123055555\n },\n {\n verbatimCoordinates: '40.123N 74.123W',\n verbatimLatitude: '40.123N',\n verbatimLongitude: '74.123W'\n },\n {\n verbatimCoordinates: '40° 7.38, -74° 7.38',\n verbatimLatitude: '40° 7.38',\n verbatimLongitude: '-74° 7.38'\n },\n {\n verbatimCoordinates: '40° 7.38, -74° 7.38',\n verbatimLatitude: '40° 7.38',\n verbatimLongitude: '-74° 7.38'\n },\n {\n verbatimCoordinates: '40 7 22.8; -74 7 22.8',\n verbatimLatitude: '40 7 22.8',\n verbatimLongitude: '-74 7 22.8'\n }\n];\nconst coordsParserDecimals = {\n decimalLatitude: 40.123,\n decimalLongitude: -74.123\n};\n//formats from https://gist.github.com/moole/3707127/337bd31d813a10abcf55084381803e5bbb0b20dc \nconst coordsRegexFormats = [\n {\n verbatimCoordinates: '50°4\\'17.698\"south, 14°24\\'2.826\"east',\n verbatimLatitude: '50°4\\'17.698\"south',\n verbatimLongitude: '14°24\\'2.826\"east',\n decimalLatitude: -50.0715827777777778,\n decimalLongitude: 14.400785\n },\n {\n verbatimCoordinates: '50d4m17.698S 14d24m2.826E',\n verbatimLatitude: '50d4m17.698S',\n verbatimLongitude: '14d24m2.826E',\n decimalLatitude: -50.0715827777777778,\n decimalLongitude: 14.400785\n },\n {\n verbatimCoordinates: '40:26:46N,79:56:55W',\n verbatimLatitude: '40:26:46N',\n verbatimLongitude: '79:56:55W',\n decimalLatitude: 40.4461111111111111,\n decimalLongitude: -79.9486111111111111\n },\n {\n verbatimCoordinates: '40:26:46.302N 79:56:55.903W',\n verbatimLatitude: '40:26:46.302N',\n verbatimLongitude: '79:56:55.903W',\n decimalLatitude: 40.446195,\n decimalLongitude: -79.9488619444444444\n },\n {\n verbatimCoordinates: '40°26′47″N 79°58′36″W',\n verbatimLatitude: '40°26′47″N',\n verbatimLongitude: '79°58′36″W',\n decimalLatitude: 40.4463888888888889,\n decimalLongitude: -79.9766666666666667\n },\n {\n verbatimCoordinates: '40d 26′ 47″ N 79d 58′ 36″ W',\n verbatimLatitude: '40d 26′ 47″ N',\n verbatimLongitude: '79d 58′ 36″ W',\n decimalLatitude: 40.4463888888888889,\n decimalLongitude: -79.9766666666666667\n },\n {\n verbatimCoordinates: '40.446195N 79.948862W',\n verbatimLatitude: '40.446195N',\n verbatimLongitude: '79.948862W',\n decimalLatitude: 40.446195,\n decimalLongitude: -79.948862\n },\n {\n verbatimCoordinates: '40,446195° 79,948862°',\n verbatimLatitude: '40,446195°',\n verbatimLongitude: '79,948862°',\n decimalLatitude: 40.446195,\n decimalLongitude: 79.948862\n },\n {\n verbatimCoordinates: '40° 26.7717, -79° 56.93172',\n verbatimLatitude: '40° 26.7717',\n verbatimLongitude: '-79° 56.93172',\n decimalLatitude: 40.446195,\n decimalLongitude: -79.948862\n },\n {\n verbatimCoordinates: '40.446195, -79.948862',\n verbatimLatitude: '40.446195',\n verbatimLongitude: '-79.948862',\n decimalLatitude: 40.446195,\n decimalLongitude: -79.948862\n },\n {\n verbatimCoordinates: '40.123256; -74.123256',\n verbatimLatitude: '40.123256',\n verbatimLongitude: '-74.123256',\n decimalLatitude: 40.123256,\n decimalLongitude: -74.123256\n },\n {\n verbatimCoordinates: '18°24S 22°45E',\n verbatimLatitude: '18°24S',\n verbatimLongitude: '22°45E',\n decimalLatitude: -18.4,\n decimalLongitude: 22.75\n }\n];\n// additional formats we've encountered\nconst otherFormats = [\n {\n verbatimCoordinates: '10.432342S 10.6345345E',\n verbatimLatitude: '10.432342S',\n verbatimLongitude: '10.6345345E',\n decimalLatitude: -10.432342,\n decimalLongitude: 10.6345345\n },\n {\n verbatimCoordinates: '10.00S 10.00E',\n verbatimLatitude: '10.00S',\n verbatimLongitude: '10.00E',\n decimalLatitude: -10.00000,\n decimalLongitude: 10.00000\n },\n {\n verbatimCoordinates: '00.00S 01.00E',\n verbatimLatitude: '00.00S',\n verbatimLongitude: '01.00E',\n decimalLatitude: 0.00000,\n decimalLongitude: 1.00000\n },\n {\n verbatimCoordinates: '18.24S 22.45E',\n verbatimLatitude: '18.24S',\n verbatimLongitude: '22.45E',\n decimalLatitude: -18.4,\n decimalLongitude: 22.75\n },\n {\n verbatimCoordinates: '27deg 15min 45.2sec S 18deg 32min 53.7sec E',\n verbatimLatitude: '27deg 15min 45.2sec S',\n verbatimLongitude: '18deg 32min 53.7sec E',\n decimalLatitude: -27.2625555555555556,\n decimalLongitude: 18.54825\n },\n {\n verbatimCoordinates: '-23.3245° S / 28.2344° E',\n verbatimLatitude: '-23.3245° S',\n verbatimLongitude: '28.2344° E',\n decimalLatitude: -23.3245,\n decimalLongitude: 28.2344\n },\n {\n verbatimCoordinates: '40° 26.7717 -79° 56.93172',\n verbatimLatitude: '40° 26.7717',\n verbatimLongitude: '-79° 56.93172',\n decimalLatitude: 40.446195,\n decimalLongitude: -79.948862\n },\n {\n verbatimCoordinates: '27.15.45S 18.32.53E',\n verbatimLatitude: '27.15.45S',\n verbatimLongitude: '18.32.53E',\n decimalLatitude: -27.2625,\n decimalLongitude: 18.548055\n },\n {\n verbatimCoordinates: '-27.15.45 18.32.53',\n verbatimLatitude: '-27.15.45',\n verbatimLongitude: '18.32.53',\n decimalLatitude: -27.2625,\n decimalLongitude: 18.548055\n },\n {\n verbatimCoordinates: '27.15.45.2S 18.32.53.4E',\n verbatimLatitude: '27.15.45.2S',\n verbatimLongitude: '18.32.53.4E',\n decimalLatitude: -27.262556,\n decimalLongitude: 18.548167\n },\n {\n verbatimCoordinates: '27.15.45,2S 18.32.53,4E',\n verbatimLatitude: '27.15.45,2S',\n verbatimLongitude: '18.32.53,4E',\n decimalLatitude: -27.262556,\n decimalLongitude: 18.548167\n },\n {\n verbatimCoordinates: 'S23.43563 ° E22.45634 °',\n verbatimLatitude: 'S23.43563 °',\n verbatimLongitude: 'E22.45634 °',\n decimalLatitude: -23.43563,\n decimalLongitude: 22.45634\n },\n {\n verbatimCoordinates: '27,71372° S 23,07771° E',\n verbatimLatitude: '27,71372° S',\n verbatimLongitude: '23,07771° E',\n decimalLatitude: -27.71372,\n decimalLongitude: 23.07771\n },\n {\n verbatimCoordinates: '27.45.34 S 23.23.23 E',\n verbatimLatitude: '27.45.34 S',\n verbatimLongitude: '23.23.23 E',\n decimalLatitude: -27.759444,\n decimalLongitude: 23.38972222\n },\n {\n verbatimCoordinates: 'S 27.45.34 E 23.23.23',\n verbatimLatitude: 'S 27.45.34',\n verbatimLongitude: 'E 23.23.23',\n decimalLatitude: -27.759444,\n decimalLongitude: 23.38972222\n },\n {\n verbatimCoordinates: '53 16.3863,4 52.8171',\n verbatimLatitude: '53 16.3863',\n verbatimLongitude: '4 52.8171',\n decimalLatitude: 53.273105,\n decimalLongitude: 4.88029\n },\n {\n verbatimCoordinates: '50 8.2914,-5 2.4447',\n verbatimLatitude: '50 8.2914',\n verbatimLongitude: '-5 2.4447',\n decimalLatitude: 50.13819,\n decimalLongitude: -5.040745\n },\n {\n verbatimCoordinates: `N 48° 30,6410', E 18° 57,4583'`,\n verbatimLatitude: `N 48° 30,6410'`,\n verbatimLongitude: `E 18° 57,4583'`,\n decimalLatitude: 48.51068,\n decimalLongitude: 18.95764\n },\n {\n verbatimCoordinates: `1.23456, 18.33453`,\n verbatimLatitude: `1.23456`,\n verbatimLongitude: `18.33453`,\n decimalLatitude: 1.23456,\n decimalLongitude: 18.33453\n }\n];\nfunction getAllTestFormats() {\n const arr1 = [];\n coordsParserFormats.forEach(item => {\n if (item.decimalLatitude) {\n arr1.push(item);\n }\n else {\n arr1.push({ ...item, ...coordsParserDecimals });\n }\n });\n return [...arr1, ...coordsRegexFormats, ...otherFormats];\n}\nexport default getAllTestFormats();\n","//adds the formats to the convert object\n//we need to use this as the source for the npm package so that the formats are not included in the bundle\nimport converter from './converter.js';\nimport testFormats from './tests/testformats.js';\nconverter.formats = testFormats.map(format => format.verbatimCoordinates);\nexport const convert = converter;\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,d=o=>void 0!==o?._$litDirective$,c=o=>o?._$litDirective$,f=o=>void 0===o.strings,r=()=>document.createComment(\"\"),s=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(r(),l),d=e.insertBefore(r(),l);n=new t(i,d,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,d=i!==o;if(d){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||d){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AR(),o._$AA.remove()},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,c as getDirectiveClass,s as insertPart,l as isCompiledTemplateResult,d as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as e}from\"../lit-html.js\";import{directive as s,Directive as t,PartType as r}from\"../directive.js\";import{getCommittedValue as l,setChildPartValue as o,insertPart as i,removePart as n,setCommittedValue as f}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},c=s(class extends t{constructor(e){if(super(e),e.type!==r.CHILD)throw Error(\"repeat() can only be used in text expressions\")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(s,[t,r,c]){const d=l(s),{values:p,keys:a}=this.dt(t,r,c);if(!Array.isArray(d))return this.ut=a,p;const h=this.ut??=[],v=[];let m,y,x=0,j=d.length-1,k=0,w=p.length-1;for(;x<=j&&k<=w;)if(null===d[x])x++;else if(null===d[j])j--;else if(h[x]===a[k])v[k]=o(d[x],p[k]),x++,k++;else if(h[j]===a[w])v[w]=o(d[j],p[w]),j--,w--;else if(h[x]===a[w])v[w]=o(d[x],p[w]),i(s,v[w+1],d[x]),x++,w--;else if(h[j]===a[k])v[k]=o(d[j],p[k]),i(s,d[x],d[j]),j--,k++;else if(void 0===m&&(m=u(a,k,w),y=u(h,x,j)),m.has(h[x]))if(m.has(h[j])){const e=y.get(a[k]),t=void 0!==e?d[e]:null;if(null===t){const e=i(s,d[x]);o(e,p[k]),v[k]=e}else v[k]=o(t,p[k]),i(s,d[x],t),d[e]=null;k++}else n(d[j]),j--;else n(d[x]),x++;for(;k<=w;){const e=i(s,v[w+1]);o(e,p[k]),v[k++]=e}for(;x<=j;){const e=d[x++];null!==e&&n(e)}return this.ut=a,f(s,v),e}});export{c as repeat};\n//# sourceMappingURL=repeat.js.map\n","import clone from \"@turf/clone\";\nimport type { FeatureCollection, MultiPolygon, Polygon, Position } from \"geojson\";\n\nimport type { BBox } from \"../types\";\n\n// taken from Leaflet\nexport function wrapNum(x: number, range: [number, number], includeMax: boolean) {\n const max = range[1],\n min = range[0],\n d = max - min;\n\n return x === max && includeMax ? x : ((((x - min) % d) + d) % d) + min;\n}\n\nexport function unwrapBbox(bbox0: BBox): BBox {\n const bbox = [...bbox0] satisfies BBox;\n\n if (bbox[2] < bbox[0]) {\n if (Math.abs((bbox[0] + bbox[2] + 360) / 2) > Math.abs((bbox[0] - 360 + bbox[2]) / 2)) {\n bbox[0] -= 360;\n } else {\n bbox[2] += 360;\n }\n }\n\n return bbox;\n}\n\nexport function shiftPolyCollection(featureCollection: FeatureCollection<Polygon | MultiPolygon>, distance: number): FeatureCollection<Polygon | MultiPolygon> {\n const cloned = clone(featureCollection);\n\n for (const feature of cloned.features) {\n if (feature.geometry.type == \"MultiPolygon\") {\n for (const poly of feature.geometry.coordinates) {\n shiftPolyCoords(poly, distance);\n }\n } else {\n shiftPolyCoords(feature.geometry.coordinates, distance);\n }\n }\n\n return cloned;\n}\n\nexport function shiftPolyCoords(coordinates: Position[][], distance: number) {\n for (const ring of coordinates) {\n for (const position of ring) {\n position[0] += distance;\n }\n }\n}\n","import type { ProximityRule } from \"../types\";\n\nlet cachedLocation: { time: number; coords: undefined | string } | undefined;\n\nexport async function getProximity(centerAndZoom: [zoom: number, lon: number, lat: number] | undefined, proximity: ProximityRule[] | null | undefined, ac: AbortController) {\n for (const rule of proximity ?? []) {\n if (centerAndZoom && ((rule.minZoom != undefined && rule.minZoom > centerAndZoom[0]) || (rule.maxZoom != undefined && rule.maxZoom < centerAndZoom[0]))) {\n continue;\n }\n\n if (rule.type === \"fixed\") {\n return rule.coordinates.join(\",\");\n }\n\n if (rule.type === \"client-geolocation\") {\n if (cachedLocation && rule.cachedLocationExpiry && cachedLocation.time + rule.cachedLocationExpiry > Date.now()) {\n if (cachedLocation.coords) {\n return cachedLocation.coords;\n }\n } else {\n let coords: string | undefined;\n\n try {\n coords = await new Promise<string>((resolve, reject) => {\n ac.signal.addEventListener(\"abort\", () => {\n reject(Error(\"aborted\"));\n });\n\n navigator.geolocation.getCurrentPosition(\n (pos) => {\n resolve([pos.coords.longitude, pos.coords.latitude].map((c) => c.toFixed(6)).join(\",\"));\n },\n (err) => {\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(err);\n },\n rule,\n );\n });\n\n return coords;\n } catch {\n // ignore\n } finally {\n if (rule.cachedLocationExpiry) {\n cachedLocation = {\n time: Date.now(),\n coords,\n };\n }\n }\n\n if (ac.signal.aborted) {\n return;\n }\n }\n }\n\n if (rule.type === \"server-geolocation\") {\n return \"ip\";\n }\n\n if (centerAndZoom && rule.type === \"map-center\") {\n return centerAndZoom[1].toFixed(6) + \",\" + centerAndZoom[2].toFixed(6);\n }\n }\n}\n","import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=\"important\",i=\" !\"+n,o=e(class extends r{constructor(t){if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||t.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce(((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`}),\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r=\"string\"==typeof e&&e.endsWith(i);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n","/* eslint-disable\n@typescript-eslint/no-unnecessary-condition,\n @typescript-eslint/no-unsafe-assignment,\n @typescript-eslint/no-unsafe-call,\n @typescript-eslint/no-unsafe-member-access,\n @typescript-eslint/no-unsafe-return,\n @typescript-eslint/restrict-template-expressions,\n @typescript-eslint/unbound-method,\n*/\nimport { LitElement, css, html, nothing, unsafeCSS } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\n\nimport type { Feature, ShowPlaceType } from \"../types\";\nimport styles from \"./geocoder-feature-item.css?inline\";\n\ntype SpriteIcon = { width: number; height: number; x: number; y: number };\n\nconst hidpi = typeof devicePixelRatio === \"undefined\" || devicePixelRatio > 1.25;\n\nconst scaleUrl = hidpi ? \"@2x\" : \"\";\n\nconst scaleFactor = hidpi ? 2 : 1;\n\nlet sprites: undefined | null | { width: number; height: number; icons: Record<string, SpriteIcon> };\n\nlet spritePromise: Promise<void> | undefined;\n\n@customElement(\"maptiler-geocoder-feature-item\")\nexport class MaptilerGeocoderFeatureItemElement extends LitElement {\n static styles = css`\n ${unsafeCSS(styles)}\n `;\n\n @property({ type: Object }) feature?: Feature;\n @property({ type: String }) itemStyle: \"selected\" | \"picked\" | \"default\" = \"default\";\n @property({ type: String }) showPlaceType: ShowPlaceType = \"if-needed\";\n @property({ attribute: false }) missingIconsCache: Set<string> = new Set<string>();\n @property({ type: String }) iconsBaseUrl: string = \"\";\n\n get #categories() {\n return this.feature?.properties?.categories;\n }\n get #isReverse() {\n return this.feature?.place_type[0] === \"reverse\";\n }\n get #placeType() {\n return this.feature?.properties?.categories?.join(\", \") ?? this.feature?.place_type_name?.[0] ?? this.feature?.place_type[0];\n }\n\n @state() private category: string | undefined;\n @state() private imageUrl: string | undefined;\n @state() private spriteIcon: SpriteIcon | undefined;\n @state() private index: number = 0;\n\n #loadSprites() {\n spritePromise ??= fetch(`${this.iconsBaseUrl}sprite${scaleUrl}.json`)\n .then((response) => response.json())\n .then((data) => {\n sprites = data;\n })\n .catch(() => {\n sprites = null;\n });\n }\n\n #handleImgError() {\n if (this.imageUrl) {\n this.missingIconsCache.add(this.imageUrl);\n }\n\n this.#loadIcon();\n }\n\n #loadIcon() {\n if (sprites !== undefined) {\n this.#loadIcon2();\n } else {\n this.#loadSprites();\n\n void spritePromise?.then(() => {\n this.#loadIcon2();\n });\n }\n }\n\n #loadIcon2() {\n do {\n this.index--;\n\n this.category = this.#categories?.[this.index];\n\n this.spriteIcon = this.category ? sprites?.icons[this.category] : undefined;\n\n if (this.spriteIcon) {\n break;\n }\n\n this.imageUrl = this.category ? this.iconsBaseUrl + this.category.replace(/ /g, \"_\") + \".svg\" : undefined;\n } while (this.index > -1 && (!this.imageUrl || this.missingIconsCache.has(this.imageUrl)));\n }\n\n willUpdate(changedProperties: Map<string, unknown>) {\n if (changedProperties.has(\"feature\") && this.#categories) {\n this.index = this.#categories.length;\n this.#loadIcon();\n }\n }\n\n render() {\n return html`\n <li\n tabindex=\"-1\"\n role=\"option\"\n aria-selected=${this.itemStyle === \"selected\"}\n aria-checked=${this.itemStyle === \"picked\"}\n class=${this.itemStyle}\n @click=${() => this.dispatchEvent(new CustomEvent(\"select\"))}\n >\n ${sprites && this.spriteIcon\n ? html`\n <div\n class=\"sprite-icon\"\n style=${styleMap({\n width: `${this.spriteIcon.width / scaleFactor}px`,\n height: `${this.spriteIcon.height / scaleFactor}px`,\n backgroundImage: `url(${this.iconsBaseUrl}sprite${scaleUrl}.png)`,\n backgroundPosition: `-${this.spriteIcon.x / scaleFactor}px -${this.spriteIcon.y / scaleFactor}px`,\n backgroundSize: `${sprites.width / scaleFactor}px ${sprites.height / scaleFactor}px`,\n })}\n title=${this.#placeType}\n />\n `\n : this.imageUrl\n ? html` <img src=${this.imageUrl} alt=${this.category} title=${this.#placeType} @error=${this.#handleImgError} />`\n : this.feature?.address\n ? html` <img src=${this.iconsBaseUrl + \"housenumber.svg\"} alt=${this.#placeType} title=${this.#placeType} /> `\n : this.feature?.id.startsWith(\"road.\")\n ? html` <img src=${this.iconsBaseUrl + \"road.svg\"} alt=${this.#placeType} title=${this.#placeType} /> `\n : this.feature?.id.startsWith(\"address.\")\n ? html` <img src=${this.iconsBaseUrl + \"street.svg\"} alt=${this.#placeType} title=${this.#placeType} /> `\n : this.feature?.id.startsWith(\"postal_code.\")\n ? html` <img src=${this.iconsBaseUrl + \"postal_code.svg\"} alt=${this.#placeType} title=${this.#placeType} /> `\n : this.feature?.id.startsWith(\"poi.\")\n ? html` <img src=${this.iconsBaseUrl + \"poi.svg\"} alt=${this.#placeType} title=${this.#placeType} /> `\n : this.#isReverse\n ? html` <img src=${this.iconsBaseUrl + \"reverse.svg\"} alt=${this.#placeType} title=${this.#placeType} /> `\n : html` <img src=${this.iconsBaseUrl + \"area.svg\"} alt=${this.#placeType} title=${this.#placeType} /> `}\n\n <span class=\"texts\">\n <span>\n <span class=\"primary\"> ${this.#isReverse ? this.feature?.place_name : this.feature?.place_name.replace(/,.*/, \"\")} </span>\n\n ${this.showPlaceType === \"always\" ||\n (this.showPlaceType !== \"never\" &&\n !this.feature?.address &&\n !this.feature?.id.startsWith(\"road.\") &&\n !this.feature?.id.startsWith(\"address.\") &&\n !this.feature?.id.startsWith(\"postal_code.\") &&\n (!this.feature?.id.startsWith(\"poi.\") || !this.imageUrl) &&\n !this.#isReverse)\n ? html` <span class=\"secondary\"> ${this.#placeType} </span> `\n : nothing}\n </span>\n\n <span class=\"line2\"> ${this.#isReverse ? this.feature?.text : this.feature?.place_name.replace(/[^,]*,?s*/, \"\")} </span>\n </span>\n </li>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"maptiler-geocoder-feature-item\": MaptilerGeocoderFeatureItemElement;\n }\n}\n","import { convert } from \"geo-coordinates-parser\";\nimport { LitElement, css, html, nothing, unsafeCSS } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { repeat } from \"lit/directives/repeat.js\";\n\nimport type { BBox, EnableReverse, Feature, FeatureCollection, ProximityRule, ShowPlaceType, TypeRule, Worldview } from \"../types\";\nimport { wrapNum } from \"../utils/geo-utils\";\nimport { getProximity } from \"../utils/proximity\";\n\nimport \"../components/clear-icon\";\nimport \"../components/fail-icon\";\nimport \"../components/loading-icon\";\nimport \"../components/reverse-geocoding-icon\";\nimport \"../components/search-icon\";\nimport \"./geocoder-feature-item\";\n\nimport type { MaptilerGeocoderEventName, MaptilerGeocoderEventNameMap } from \"./geocoder-events\";\nimport type { MaptilerGeocoderOptions } from \"./geocoder-options\";\nimport styles from \"./geocoder.css?inline\";\n\n@customElement(\"maptiler-geocoder\")\nexport class MaptilerGeocoderElement extends LitElement implements MaptilerGeocoderOptions {\n static styles = css`\n ${unsafeCSS(styles)}\n `;\n\n @property({ attribute: false }) adjustUrl?: (url: URL) => void;\n @property({ type: String }) apiKey?: string;\n @property({ type: String }) apiUrl?: string;\n @property({ type: Array }) bbox?: BBox;\n @property({ type: String }) clearButtonTitle?: string;\n @property({ type: Boolean }) clearListOnPick: boolean = false;\n @property({ type: Boolean }) clearOnBlur: boolean = false;\n @property({ type: Boolean }) collapsed: boolean = false;\n @property({ attribute: false }) country?: string | string[];\n @property({ type: Number }) debounceSearch?: number;\n @property({ type: String }) enableReverse?: EnableReverse;\n @property({ type: String }) errorMessage?: string;\n @property({ type: Boolean }) excludeTypes: boolean = false;\n @property({ type: Boolean }) exhaustiveReverseGeocoding: boolean = false;\n @property({ type: Boolean }) fetchFullGeometryOnPick: boolean = false;\n @property({ type: Object }) fetchParameters?: RequestInit;\n @property({ attribute: false }) filter?: (feature: Feature) => boolean;\n @property({ type: Object }) fuzzyMatch?: boolean | undefined; // type object because undefined is valid value\n @property({ type: String }) iconsBaseUrl?: string;\n @property({ type: Boolean }) keepListOpen: boolean = false;\n @property({ attribute: false }) language?: string | string[] | null;\n @property({ type: Number }) limit?: number;\n @property({ type: Number }) minLength?: number;\n @property({ type: String }) noResultsMessage?: string;\n @property({ type: Boolean }) openListOnTop: boolean = false;\n @property({ type: String }) placeholder?: string;\n @property({ type: Array }) proximity?: ProximityRule[] | null;\n @property({ type: Boolean }) reverseActive: boolean = false;\n @property({ type: String }) reverseButtonTitle?: string;\n @property({ type: Object }) reverseGeocodingExcludeTypes?: boolean | undefined; // type object because undefined is valid value\n @property({ type: Number }) reverseGeocodingLimit?: number;\n @property({ type: Array }) reverseGeocodingTypes?: TypeRule[];\n @property({ type: Object }) selectFirst?: boolean | undefined; // type object because undefined is valid value\n @property({ type: String }) showPlaceType?: ShowPlaceType;\n @property({ type: Object }) showResultsWhileTyping?: boolean | undefined; // type object because undefined is valid value\n @property({ type: Array }) types?: TypeRule[];\n @property({ type: String }) worldview?: Worldview;\n\n /** Reference to the input element the user can type a query into */\n @query(\"input\") private input!: HTMLInputElement;\n\n /** Value to search via geocoding */\n @state() private searchValue: string = \"\";\n /** Features found via geocoding */\n @state() private listFeatures?: Feature[];\n /** Index of item currently selected from the list of found features */\n @state() private selectedItemIndex: number = -1;\n /** Feature that has been picked by the user */\n @state() private picked?: Feature;\n /** Cached found features to be used to restore the features when loading more data for picked feature */\n @state() private cachedFeatures: Feature[] = [];\n /** Effectively a cache key for cached features */\n @state() private lastSearchUrl: string = \"\";\n /** Last error that happened in geocoding, to be shown to user */\n @state() private error: unknown;\n /** AbortController instance used to potentially cancel the current geocoding request*/\n @state() private abortController?: AbortController;\n /** Focus state of input element */\n @state() private focused: boolean = false;\n /** Focus state of input element, delayed for a moment to not close feature list immediately after losing focus */\n @state() private focusedDelayed: boolean = false;\n\n /** Helps to trigger logic only after this instance gets fully initialized */\n #isInitialized = false;\n /** Helps to trigger logic running when feature list hides only after it gets opened for the first time */\n #wasFeatureListVisible = false;\n /** Timeout ref for debouncing logic */\n #searchTimeoutRef?: number;\n /** Cache for URLs of icons that couldn't be loaded for any reason, as to not try them again unnecessarily */\n #missingIconsCache = new Set<string>();\n /** Center and zoom of a map potentially connected to this instance */\n #centerAndZoom: [zoom: number, lon: number, lat: number] | undefined;\n\n get #selected(): Feature | undefined {\n return this.listFeatures?.[this.selectedItemIndex];\n }\n get #isFeatureListVisible(): boolean {\n return !!this.listFeatures?.length && (this.focusedDelayed || this.keepListOpen);\n }\n get #isLoading(): boolean {\n return this.abortController !== undefined;\n }\n get #isSearchValueTooShort(): boolean {\n return this.searchValue.length < (this.minLength ?? 2);\n }\n\n protected firstUpdated() {\n this.#isInitialized = true;\n }\n\n /**\n * Set the options of this instance.\n *\n * @param options options to set\n */\n setOptions(options: Partial<MaptilerGeocoderOptions>) {\n const elementOptions = { ...options };\n for (const prop of Object.keys(elementOptions) as Array<keyof MaptilerGeocoderOptions>) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n if (!propertyNames.includes(prop)) delete elementOptions[prop];\n }\n Object.assign(this, elementOptions);\n }\n\n /**\n * Set the content of search input box.\n *\n * @param value text to set\n */\n setQuery(value: string) {\n this.#changeSearchValue(value);\n this.#focusInputAndSelectText();\n }\n\n /**\n * Set the content of search input box and immediately submit it.\n *\n * @param value text to set and submit\n */\n submitQuery(value: string) {\n this.#submitSearchValue(value);\n }\n\n /**\n * Clear search result list.\n */\n clearList() {\n this.#clearFeatures();\n this.picked = undefined;\n this.selectedItemIndex = -1;\n }\n\n /**\n * Focus the search input box.\n *\n * @param options [FocusOptions](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)\n */\n override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /**\n * Blur the search input box.\n */\n override blur() {\n this.input.blur();\n }\n\n override addEventListener<E extends MaptilerGeocoderEventName>(\n type: E,\n listener: (this: HTMLElement, e: MaptilerGeocoderEventNameMap[E]) => unknown,\n options?: boolean | AddEventListenerOptions,\n ): void;\n override addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void {\n super.addEventListener(type, listener, options);\n }\n\n override removeEventListener<E extends MaptilerGeocoderEventName>(\n type: E,\n listener: (this: HTMLElement, e: MaptilerGeocoderEventNameMap[E]) => unknown,\n options?: boolean | EventListenerOptions,\n ): void;\n override removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void {\n super.removeEventListener(type, listener, options);\n }\n\n /** @internal */\n handleMapChange(centerAndZoom: [zoom: number, lon: number, lat: number] | undefined): void {\n this.#centerAndZoom = centerAndZoom;\n }\n\n /** @internal */\n handleMapClick(coordinates: [lng: number, lat: number]) {\n if (this.reverseActive) {\n this.#handleReverse(coordinates);\n }\n }\n\n #dispatch<T extends keyof MaptilerGeocoderEventNameMap>(\n type: T,\n ...[detail]: undefined extends MaptilerGeocoderEventNameMap[T][\"detail\"] ? [] : [detail: MaptilerGeocoderEventNameMap[T][\"detail\"]]\n ): void {\n if (!this.#isInitialized) return;\n\n this.dispatchEvent(\n new CustomEvent(type, {\n bubbles: true,\n composed: true,\n detail,\n }),\n );\n }\n\n #handleSubmit(event?: Event) {\n event?.preventDefault();\n\n this.focused = false;\n\n clearTimeout(this.#searchTimeoutRef);\n\n if (this.selectedItemIndex > -1 && this.listFeatures) {\n this.picked = this.listFeatures[this.selectedItemIndex];\n\n this.searchValue = this.picked.place_type[0] === \"reverse\" ? this.picked.place_name : this.picked.place_name.replace(/,.*/, \"\");\n\n this.error = undefined;\n\n this.selectedItemIndex = -1;\n } else if (this.searchValue) {\n this.#search(this.searchValue, { exact: true })\n .then(() => {\n this.picked = undefined;\n })\n .catch((err: unknown) => (this.error = err));\n }\n }\n\n #isQueryReverse(searchValue: string) {\n try {\n return convert(searchValue, 6);\n } catch {\n return false;\n }\n }\n\n #focusInputAndSelectText() {\n setTimeout(() => {\n this.input.focus();\n this.focused = true;\n this.input.select();\n });\n }\n\n #changeSearchValue(searchValue: string) {\n this.searchValue = searchValue;\n this.#dispatch(\"querychange\", { query: this.searchValue, reverseCoords: this.#isQueryReverse(searchValue) });\n\n this.error = undefined;\n this.picked = undefined;\n\n if (this.showResultsWhileTyping !== false) {\n clearTimeout(this.#searchTimeoutRef);\n\n if (this.#isSearchValueTooShort) {\n return;\n }\n\n const sv = this.searchValue;\n\n this.#searchTimeoutRef = window.setTimeout(() => {\n this.#search(sv).catch((err: unknown) => (this.error = err));\n }, this.debounceSearch ?? 200);\n } else {\n this.#clearFeatures();\n }\n }\n\n #clearFeatures() {\n if (this.listFeatures !== undefined) {\n this.listFeatures = undefined;\n this.#dispatch(\"featuresclear\");\n }\n }\n\n #submitSearchValue(searchValue: string) {\n this.searchValue = searchValue;\n this.#dispatch(\"querychange\", { query: this.searchValue, reverseCoords: this.#isQueryReverse(searchValue) });\n\n this.selectedItemIndex = -1;\n this.#handleSubmit();\n }\n\n async #search(searchValue: string, { byId = false, exact = false }: undefined | { byId?: boolean; exact?: boolean } = {}) {\n this.error = undefined;\n\n this.abortController?.abort();\n const ac = new AbortController();\n this.abortController = ac;\n\n try {\n const apiUrl = this.apiUrl ?? import.meta.env.VITE_API_URL;\n const isReverse = this.#isQueryReverse(searchValue);\n\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n const urlObj = new URL(apiUrl + \"/\" + encodeURIComponent(isReverse ? `${isReverse.decimalLongitude},${isReverse.decimalLatitude}` : searchValue) + \".json\");\n\n const sp = urlObj.searchParams;\n\n if (this.language !== undefined) {\n sp.set(\"language\", Array.isArray(this.language) ? this.language.join(\",\") : (this.language ?? \"\"));\n }\n\n const [zoom] = this.#centerAndZoom ?? [undefined];\n\n let effTypes = (!isReverse || this.reverseGeocodingTypes === undefined ? this.types : this.reverseGeocodingTypes)\n ?.map((typeRule) =>\n typeof typeRule === \"string\" ? typeRule : zoom === undefined || ((typeRule[0] ?? 0) <= zoom && zoom < (typeRule[1] ?? Infinity)) ? typeRule[2] : undefined,\n )\n .filter((type) => type !== undefined);\n\n if (effTypes) {\n effTypes = [...new Set(effTypes)];\n\n sp.set(\"types\", effTypes.join(\",\"));\n }\n\n const effExcludeTypes = !isReverse || this.reverseGeocodingExcludeTypes === undefined ? this.excludeTypes : this.reverseGeocodingExcludeTypes;\n\n if (effExcludeTypes) {\n sp.set(\"excludeTypes\", String(effExcludeTypes));\n }\n\n if (this.bbox) {\n sp.set(\"bbox\", this.bbox.map((c) => c.toFixed(6)).join(\",\"));\n }\n\n if (this.country) {\n sp.set(\"country\", Array.isArray(this.country) ? this.country.join(\",\") : this.country);\n }\n\n if (this.worldview) {\n sp.set(\"worldview\", this.worldview);\n }\n\n if (!byId && !isReverse) {\n const proximity = this.proximity ?? [{ type: \"server-geolocation\" }];\n const coords = await getProximity(this.#centerAndZoom, proximity, ac);\n\n if (coords) {\n sp.set(\"proximity\", coords);\n }\n\n if (exact || this.showResultsWhileTyping === false) {\n sp.set(\"autocomplete\", \"false\");\n }\n\n sp.set(\"fuzzyMatch\", String(this.fuzzyMatch !== false));\n }\n\n const limit = this.limit ?? 5;\n const effReverseGeocodingLimit = this.reverseGeocodingLimit ?? limit;\n\n if (effReverseGeocodingLimit > 1 && effTypes?.length !== 1) {\n console.warn(\"[MapTilerGeocodingControl] Warning: For reverse geocoding when limit > 1 then types must contain single value.\");\n }\n\n if (isReverse) {\n if (effReverseGeocodingLimit === 1 || this.exhaustiveReverseGeocoding || effTypes?.length === 1) {\n sp.set(\"limit\", String(effReverseGeocodingLimit));\n }\n } else {\n sp.set(\"limit\", String(limit));\n }\n\n if (this.apiKey) {\n sp.set(\"key\", this.apiKey);\n }\n\n this.adjustUrl?.(urlObj);\n\n const noTypes = urlObj.searchParams.get(\"types\") === \"\" && urlObj.searchParams.get(\"excludeTypes\") !== \"true\";\n\n const url = urlObj.toString();\n\n if (url === this.lastSearchUrl) {\n if (byId) {\n if (this.clearListOnPick) {\n this.#clearFeatures();\n }\n\n this.picked = this.cachedFeatures[0];\n } else {\n this.listFeatures = this.cachedFeatures;\n this.#dispatch(\"featureslisted\", { features: this.listFeatures });\n\n if (this.listFeatures[this.selectedItemIndex]?.id !== this.#selected?.id) {\n this.selectedItemIndex = -1;\n }\n }\n\n return;\n }\n\n this.#dispatch(\"request\", { urlObj });\n\n this.lastSearchUrl = url;\n\n let featureCollection: FeatureCollection;\n\n if (noTypes) {\n featureCollection = { type: \"FeatureCollection\", features: [] };\n } else {\n const res = await fetch(url, {\n signal: ac.signal,\n ...this.fetchParameters,\n });\n\n if (!res.ok) {\n throw new Error(await res.text());\n }\n\n featureCollection = (await res.json()) as FeatureCollection;\n }\n\n this.#dispatch(\"response\", { url, featureCollection });\n\n if (byId) {\n if (this.clearListOnPick) {\n this.#clearFeatures();\n }\n\n this.picked = featureCollection.features[0];\n\n this.cachedFeatures = [this.picked];\n } else {\n this.listFeatures = featureCollection.features.filter(this.filter ?? (() => true));\n\n if (isReverse) {\n this.listFeatures.unshift({\n type: \"Feature\",\n properties: {},\n /* eslint-disable @typescript-eslint/restrict-template-expressions */\n id: `reverse_${isReverse.decimalLongitude}_${isReverse.decimalLatitude}`,\n text: `${isReverse.decimalLatitude}, ${isReverse.decimalLongitude}`,\n place_name: isReverse.toCoordinateFormat(\"DMS\"),\n /* eslint-enable @typescript-eslint/restrict-template-expressions */\n place_type: [\"reverse\"],\n place_type_name: [\"reverse\"],\n center: [isReverse.decimalLongitude, isReverse.decimalLatitude],\n bbox: [isReverse.decimalLongitude, isReverse.decimalLatitude, isReverse.decimalLongitude, isReverse.decimalLatitude],\n geometry: {\n type: \"Point\",\n coordinates: [isReverse.decimalLongitude, isReverse.decimalLatitude],\n },\n });\n }\n\n this.#dispatch(\"featureslisted\", { features: this.listFeatures });\n\n this.cachedFeatures = this.listFeatures;\n\n if (this.listFeatures[this.selectedItemIndex]?.id !== this.#selected?.id) {\n this.selectedItemIndex = -1;\n }\n\n if (isReverse) {\n this.input.focus();\n }\n }\n } catch (e: unknown) {\n if (e && typeof e === \"object\" && \"name\" in e && e.name === \"AbortError\") {\n return;\n }\n\n throw e;\n } finally {\n if (ac === this.abortController) {\n this.abortController = undefined;\n }\n }\n }\n\n #handleReverse(coordinates: [lng: number, lat: number]) {\n this.reverseActive = this.enableReverse === \"always\";\n\n this.#clearFeatures();\n this.picked = undefined;\n\n this.#submitSearchValue(`${coordinates[1].toFixed(6)}, ${wrapNum(coordinates[0], [-180, 180], true).toFixed(6)}`);\n this.#focusInputAndSelectText();\n }\n\n #handleKeyDown(e: KeyboardEvent) {\n if (!this.listFeatures) {\n return;\n }\n\n const dir = e.key === \"ArrowDown\" ? 1 : e.key === \"ArrowUp\" ? -1 : 0;\n\n if (!dir) {\n return;\n }\n\n this.input.focus();\n\n this.focused = true;\n\n e.preventDefault();\n\n if (this.picked && this.selectedItemIndex === -1) {\n this.selectedItemIndex = this.listFeatures.findIndex((listFeature) => listFeature.id === this.picked?.id);\n }\n\n if (this.selectedItemIndex === (this.picked || this.selectFirst !== false ? 0 : -1) && dir === -1) {\n this.selectedItemIndex = this.listFeatures.length;\n }\n\n this.selectedItemIndex += dir;\n\n if (this.selectedItemIndex >= this.listFeatures.length) {\n this.selectedItemIndex = -1;\n }\n\n if (this.selectedItemIndex < 0 && (this.picked || this.selectFirst !== false)) {\n this.selectedItemIndex = 0;\n }\n }\n\n #handleInput(event: InputEvent & { target: HTMLInputElement }) {\n this.#changeSearchValue(event.target.value);\n }\n\n #pick(feature: Feature) {\n if (!this.picked || this.picked.id !== feature.id) {\n this.picked = feature;\n this.searchValue = feature.place_name;\n }\n }\n\n #handleMouseEnter(index: number) {\n this.selectedItemIndex = index;\n }\n\n #handleMouseLeave() {\n if (!this.selectFirst !== false || this.picked) {\n this.selectedItemIndex = -1;\n }\n }\n\n #handleClear() {\n this.searchValue = \"\";\n this.#dispatch(\"queryclear\");\n\n this.picked = undefined;\n this.input.focus();\n }\n\n willUpdate(changedProperties: Map<string, unknown>) {\n if (changedProperties.has(\"error\") && this.error) {\n console.error(\"[MapTilerGeocodingControl] Error:\", this.error);\n }\n\n if (changedProperties.has(\"enableReverse\")) {\n this.reverseActive = this.enableReverse === \"always\";\n }\n\n if ([\"picked\"].some((prop) => changedProperties.has(prop))) {\n if (this.picked) {\n if (this.clearListOnPick) {\n this.#clearFeatures();\n }\n\n this.selectedItemIndex = -1;\n }\n }\n\n if ([\"searchValue\", \"minLength\"].some((prop) => changedProperties.has(prop)) && this.#isSearchValueTooShort) {\n this.#clearFeatures();\n this.error = undefined;\n }\n\n if ([\"focused\"].some((prop) => changedProperties.has(prop))) {\n setTimeout(() => {\n this.focusedDelayed = this.focused;\n\n // close dropdown in the next cycle so that the selected item event has the chance to fire\n if (this.clearOnBlur && !this.focused) {\n this.searchValue = \"\";\n }\n }, 100);\n }\n\n if (\n [\"selectFirst\", \"listFeatures\", \"selectedItemIndex\", \"picked\"].some((prop) => changedProperties.has(prop)) &&\n this.selectFirst !== false &&\n this.listFeatures?.length &&\n this.selectedItemIndex == -1 &&\n !this.picked\n ) {\n this.selectedItemIndex = 0;\n }\n\n if ([\"listFeatures\", \"selectedItemIndex\"].some((prop) => changedProperties.has(prop))) {\n this.#dispatch(\"select\", { feature: this.#selected });\n }\n\n if ([\"picked\"].some((prop) => changedProperties.has(prop))) {\n if (this.picked && this.picked.id !== (changedProperties.get(\"picked\") as Feature | undefined)?.id) {\n (this.fetchFullGeometryOnPick && !this.picked.address && this.picked.geometry.type === \"Point\" && this.picked.place_type[0] !== \"reverse\"\n ? this.#search(this.picked.id, { byId: true })\n : Promise.resolve()\n ).then(\n () => {\n this.#dispatch(\"pick\", { feature: this.picked });\n },\n (e: unknown) => {\n if (e && typeof e === \"object\" && \"name\" in e && e.name === \"AbortError\") return;\n this.error = e;\n this.#dispatch(\"pick\", { feature: this.picked });\n },\n );\n }\n }\n\n if ([\"listFeatures\", \"focusedDelayed\"].some((prop) => changedProperties.has(prop))) {\n if (this.#isFeatureListVisible) {\n this.#dispatch(\"featuresshow\");\n this.#wasFeatureListVisible = true;\n } else if (this.#wasFeatureListVisible) {\n this.#dispatch(\"featureshide\");\n }\n }\n\n if ([\"reverseActive\"].some((prop) => changedProperties.has(prop))) {\n this.#dispatch(\"reversetoggle\", { reverse: this.reverseActive });\n }\n }\n\n render() {\n /* eslint-disable @typescript-eslint/unbound-method */\n return html`\n <form @submit=${this.#handleSubmit} class=${classMap({ \"can-collapse\": this.collapsed && this.searchValue === \"\" })}>\n <div class=\"input-group\">\n <button\n class=\"search-button\"\n type=\"button\"\n @click=${() => {\n this.input.focus();\n }}\n >\n <maptiler-geocode-search-icon></maptiler-geocode-search-icon>\n </button>\n\n <input\n .value=${this.searchValue}\n @focus=${() => (this.focused = true)}\n @blur=${() => (this.focused = false)}\n @click=${() => (this.focused = true)}\n @keydown=${this.#handleKeyDown}\n @input=${this.#handleInput}\n @change=${() => (this.picked = undefined)}\n placeholder=${this.placeholder ?? \"Search\"}\n aria-label=${this.placeholder ?? \"Search\"}\n />\n\n <div class=\"clear-button-container ${classMap({ displayable: this.searchValue !== \"\" })}\">\n ${!this.#isLoading\n ? html`\n <button type=\"button\" @click=${this.#handleClear} title=${this.clearButtonTitle ?? \"clear\"}>\n <maptiler-geocode-clear-icon></maptiler-geocode-clear-icon>\n </button>\n `\n : html`<maptiler-geocode-loading-icon></maptiler-geocode-loading-icon>`}\n </div>\n\n ${this.enableReverse === \"button\"\n ? html`\n <button\n type=\"button\"\n class=${classMap({ active: this.reverseActive })}\n title=${this.reverseButtonTitle ?? \"toggle reverse geocoding\"}\n @click=${() => (this.reverseActive = !this.reverseActive)}\n >\n <maptiler-geocode-reverse-geocoding-icon></maptiler-geocode-reverse-geocoding-icon>\n </button>\n `\n : nothing}\n\n <!-- <slot /> -->\n </div>\n\n ${this.error\n ? html`\n <div class=\"error\">\n <maptiler-geocode-fail-icon></maptiler-geocode-fail-icon>\n\n <div>${this.errorMessage ?? \"Something went wrong…\"}</div>\n\n <button @click=${() => (this.error = undefined)}>\n <maptiler-geocode-clear-icon></maptiler-geocode-clear-icon>\n </button>\n </div>\n `\n : (!this.focusedDelayed && !this.keepListOpen) || this.listFeatures === undefined\n ? nothing\n : this.listFeatures.length === 0\n ? html`\n <div class=\"no-results\">\n <maptiler-geocode-fail-icon></maptiler-geocode-fail-icon>\n\n <div>\n ${this.noResultsMessage ??\n \"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!\"}\n </div>\n </div>\n `\n : html`\n <ul class=\"options ${classMap({ \"open-on-top\": this.openListOnTop })}\" @mouseleave=${this.#handleMouseLeave} @keydown=${this.#handleKeyDown} role=\"listbox\">\n ${repeat(\n this.listFeatures,\n (feature) => feature.id + (feature.address ? \",\" + feature.address : \"\"),\n (feature, i) => html`\n <maptiler-geocoder-feature-item\n .feature=${feature}\n .showPlaceType=${this.showPlaceType ?? \"if-needed\"}\n itemStyle=${this.selectedItemIndex === i ? \"selected\" : this.picked?.id === feature.id ? \"picked\" : \"default\"}\n @mouseenter=${() => {\n this.#handleMouseEnter(i);\n }}\n @select=${() => {\n this.#pick(feature);\n }}\n .missingIconsCache=${this.#missingIconsCache}\n .iconsBaseUrl=${this.iconsBaseUrl ?? `https://cdn.maptiler.com/maptiler-geocoding-control/v${import.meta.env.VITE_LIB_VERSION}/icons/`}\n >\n ${feature.place_name}\n </maptiler-geocoder-feature-item>\n `,\n )}\n </ul>\n `}\n </form>\n `;\n /* eslint-enable @typescript-eslint/unbound-method */\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"maptiler-geocoder\": MaptilerGeocoderElement;\n }\n}\n\nconst propertyNames = [\n \"adjustUrl\",\n \"apiKey\",\n \"apiUrl\",\n \"bbox\",\n \"clearButtonTitle\",\n \"clearListOnPick\",\n \"clearOnBlur\",\n \"collapsed\",\n \"country\",\n \"debounceSearch\",\n \"enableReverse\",\n \"errorMessage\",\n \"excludeTypes\",\n \"reverseGeocodingExcludeTypes\",\n \"exhaustiveReverseGeocoding\",\n \"fetchParameters\",\n \"fetchFullGeometryOnPick\",\n \"filter\",\n \"fuzzyMatch\",\n \"iconsBaseUrl\",\n \"keepListOpen\",\n \"language\",\n \"limit\",\n \"reverseGeocodingLimit\",\n \"minLength\",\n \"noResultsMessage\",\n \"openListOnTop\",\n \"placeholder\",\n \"proximity\",\n \"reverseActive\",\n \"reverseButtonTitle\",\n \"selectFirst\",\n \"showPlaceType\",\n \"showResultsWhileTyping\",\n \"types\",\n \"reverseGeocodingTypes\",\n \"worldview\",\n] as const satisfies readonly (keyof MaptilerGeocoderOptions)[];\n"],"names":["t","e","s","o","n$4","r","n","i","S","c","h","a","l","p","d","u","f","b","y","v","_","m","g","$","x","T","E","A","C","P","V","N","H","I","L","k","R","z","M","Z","j","B","MaptilerGeocodeClearIconElement","LitElement","svg","css","__decorateClass","customElement","MaptilerGeocodeFailIconElement","MaptilerGeocodeLoadingIconElement","html","MaptilerGeocodeReverseGeocodingIconElement","MaptilerGeocodeSearchIconElement","dm_invalid","dm_numbers","dd_re","dms_periods","dms_abbr","coords_other","toCoordinateFormat","format","parts","decimalLatitude","decimalLongitude","absoluteLatitude","absoluteLongitude","latDir","longDir","result","degreesLatitude","degreesLongitude","minutesLatitudeNotTruncated","minutesLongitudeNotTruncated","dmMinsLatitude","round","dmMinsLongitude","latMinutes","longMinutes","latSeconds","longSeconds","latMinutesString","longMinutesString","num","places","converter","coordsString","decimalPlaces","ddLat","ddLng","latdir","lngdir","originalFormat","match","matchSuccess","checkMatch","patt","verbatimCoordinates","verbatimLat","verbatimLng","sepChars","seps","middle","splitIndex","currSepIndex","startSearchIndex","splitLat","splitLon","coordsCloseEnough","filteredMatch","numerictest","stringtest","halflen","leftside","rightside","bothAreNumbers","bothAreStrings","valuesAreEqual","decimalsCloseEnough","dec1","dec2","originaldiff","coordsToTest","coords","to","coordsParserFormats","coordsParserDecimals","coordsRegexFormats","otherFormats","getAllTestFormats","arr1","item","testFormats","convert","i$1","w","wrapNum","range","includeMax","max","min","cachedLocation","getProximity","centerAndZoom","proximity","ac","rule","resolve","reject","pos","err","_MaptilerGeocoderFeatureItemElement_instances","categories_get","isReverse_get","placeType_get","loadSprites_fn","handleImgError_fn","loadIcon_fn","loadIcon2_fn","hidpi","scaleUrl","scaleFactor","sprites","spritePromise","MaptilerGeocoderFeatureItemElement","__privateAdd","changedProperties","__privateGet","__privateMethod","styleMap","nothing","response","data","unsafeCSS","styles","property","state","_isInitialized","_wasFeatureListVisible","_searchTimeoutRef","_missingIconsCache","_centerAndZoom","_MaptilerGeocoderElement_instances","selected_get","isFeatureListVisible_get","isLoading_get","isSearchValueTooShort_get","dispatch_fn","handleSubmit_fn","isQueryReverse_fn","focusInputAndSelectText_fn","changeSearchValue_fn","clearFeatures_fn","submitSearchValue_fn","search_fn","handleReverse_fn","handleKeyDown_fn","handleInput_fn","pick_fn","handleMouseEnter_fn","handleMouseLeave_fn","handleClear_fn","MaptilerGeocoderElement","__privateSet","options","elementOptions","prop","propertyNames","value","type","listener","coordinates","classMap","repeat","feature","detail","event","searchValue","sv","byId","exact","apiUrl","isReverse","urlObj","sp","zoom","effTypes","typeRule","effExcludeTypes","limit","effReverseGeocodingLimit","noTypes","url","featureCollection","res","dir","listFeature","index","query"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,14,15,16,17,18,19,20,21,22,25]}