@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,46 @@
1
+ import { convert } from 'geo-coordinates-parser';
2
+ import { Feature, FeatureCollection } from '../types';
3
+ export type ReverseToggleEvent = CustomEvent<{
4
+ reverse: boolean;
5
+ }>;
6
+ export type QueryChangeEvent = CustomEvent<{
7
+ query: string;
8
+ reverseCoords: ReturnType<typeof convert> | false;
9
+ }>;
10
+ export type QueryClearEvent = CustomEvent<void>;
11
+ export type RequestEvent = CustomEvent<{
12
+ urlObj: URL;
13
+ }>;
14
+ export type ResponseEvent = CustomEvent<{
15
+ url: string;
16
+ featureCollection: FeatureCollection;
17
+ }>;
18
+ export type SelectEvent = CustomEvent<{
19
+ feature: Feature | undefined;
20
+ }>;
21
+ export type PickEvent = CustomEvent<{
22
+ feature: Feature | undefined;
23
+ }>;
24
+ export type FeaturesShowEvent = CustomEvent<void>;
25
+ export type FeaturesHideEvent = CustomEvent<void>;
26
+ export type FeaturesListedEvent = CustomEvent<{
27
+ features: Feature[] | undefined;
28
+ }>;
29
+ export type FeaturesClearEvent = CustomEvent<void>;
30
+ export type MaptilerGeocoderEventNameMap = {
31
+ reversetoggle: ReverseToggleEvent;
32
+ querychange: QueryChangeEvent;
33
+ queryclear: QueryClearEvent;
34
+ request: RequestEvent;
35
+ response: ResponseEvent;
36
+ select: SelectEvent;
37
+ pick: PickEvent;
38
+ featuresshow: FeaturesShowEvent;
39
+ featureshide: FeaturesHideEvent;
40
+ featureslisted: FeaturesListedEvent;
41
+ featuresclear: FeaturesClearEvent;
42
+ focusin: FocusEvent;
43
+ focusout: FocusEvent;
44
+ };
45
+ export type MaptilerGeocoderEvent = MaptilerGeocoderEventNameMap[keyof MaptilerGeocoderEventNameMap];
46
+ export type MaptilerGeocoderEventName = keyof MaptilerGeocoderEventNameMap;
@@ -0,0 +1,22 @@
1
+ import { LitElement } from 'lit';
2
+ import { Feature, ShowPlaceType } from '../types';
3
+ export declare class MaptilerGeocoderFeatureItemElement extends LitElement {
4
+ #private;
5
+ static styles: import('lit').CSSResult;
6
+ feature?: Feature;
7
+ itemStyle: "selected" | "picked" | "default";
8
+ showPlaceType: ShowPlaceType;
9
+ missingIconsCache: Set<string>;
10
+ iconsBaseUrl: string;
11
+ private category;
12
+ private imageUrl;
13
+ private spriteIcon;
14
+ private index;
15
+ willUpdate(changedProperties: Map<string, unknown>): void;
16
+ render(): import('lit-html').TemplateResult<1>;
17
+ }
18
+ declare global {
19
+ interface HTMLElementTagNameMap {
20
+ "maptiler-geocoder-feature-item": MaptilerGeocoderFeatureItemElement;
21
+ }
22
+ }
@@ -1,74 +1,5 @@
1
- import type { Feature as FeatureType, Geometry } from "geojson";
2
- export type BBox = [minx: number, miny: number, maxx: number, maxy: number];
3
- export type Position = [x: number, y: number];
4
- export type Feature<T extends Geometry = Geometry> = FeatureType<T> & {
5
- id: string;
6
- text: string;
7
- place_name: string;
8
- place_type: string[];
9
- center: Position;
10
- bbox: BBox;
11
- address?: string;
12
- matching_text?: string;
13
- };
14
- export type FeatureCollection<T extends Geometry = Geometry> = {
15
- type: "FeatureCollection";
16
- features: Feature<T>[];
17
- };
18
- export type MapEvent = {
19
- type: "mapClick";
20
- coordinates: Position;
21
- } | {
22
- type: "markerClick";
23
- id: string;
24
- } | {
25
- type: "markerMouseEnter";
26
- id: string;
27
- } | {
28
- type: "markerMouseLeave";
29
- id: string;
30
- };
31
- export type MapController = {
32
- setEventHandler(handler: undefined | ((e: MapEvent) => void)): void;
33
- flyTo(center: Position, zoom?: number): void;
34
- fitBounds(bbox: BBox, padding: number, maxZoom?: number): void;
35
- indicateReverse(reverse: boolean): void;
36
- setFeatures(features: Feature[] | undefined, picked: Feature | undefined, showPolygonMarker: boolean): void;
37
- setReverseMarker(coordinates?: Position): void;
38
- setSelectedMarker(index: number): void;
39
- getCenterAndZoom(): [zoom: number, lon: number, lat: number] | undefined;
40
- };
41
- export type ProximityRule = {
42
- /** minimal map zoom for the rule to be used */
43
- minZoom?: number;
44
- /** maximal map zoom for the rule to be used */
45
- maxZoom?: number;
46
- } & ({
47
- /** fixed proximity */
48
- type: "fixed";
49
- /** coordinates of the fixed proximity */
50
- coordinates: Position;
51
- } | {
52
- /** use map center coordinates for the proximity */
53
- type: "map-center";
54
- } | {
55
- /** resolve proximity by geolocating IP of the geocoding API call */
56
- type: "server-geolocation";
57
- } | ({
58
- /** use browser's geolocation API for proximity. If it fails, following proximity rules are iterated. */
59
- type: "client-geolocation";
60
- /** how long should the geolocation result be cached, in milliseconds */
61
- cachedLocationExpiry?: number;
62
- } & PositionOptions));
63
- export type ControlOptions = {
64
- /**
65
- * Callback function to adjust URL search parameters.
66
- *
67
- * Default: Empty function.
68
- *
69
- * @deprecated Use `adjustUrl` instead.
70
- */
71
- adjustUrlQuery?: (sp: URLSearchParams) => void;
1
+ import { BBox, EnableReverse, Feature, ProximityRule, ShowPlaceType, TypeRule, Worldview } from '../types';
2
+ export type MaptilerGeocoderOptions = {
72
3
  /**
73
4
  * Callback function to adjust the geocoding URL before fetching.
74
5
  *
@@ -93,12 +24,6 @@ export type ControlOptions = {
93
24
  * Default: `undefined`.
94
25
  */
95
26
  bbox?: BBox;
96
- /**
97
- * CSS class for the root element.
98
- *
99
- * Default: `undefined`.
100
- */
101
- class?: string;
102
27
  /**
103
28
  * Title of the clear button.
104
29
  *
@@ -166,6 +91,12 @@ export type ControlOptions = {
166
91
  * Default: `false`.
167
92
  */
168
93
  exhaustiveReverseGeocoding?: boolean;
94
+ /**
95
+ * Enables fetching the full geometry (polygon etc.) instead of just a point on a picked feature.
96
+ *
97
+ * Default: `false`.
98
+ */
99
+ fetchFullGeometryOnPick?: boolean;
169
100
  /**
170
101
  * Additional parameters for fetch requests.
171
102
  *
@@ -179,12 +110,6 @@ export type ControlOptions = {
179
110
  * Default: A function that always returns `true`.
180
111
  */
181
112
  filter?: (feature: Feature) => boolean;
182
- /**
183
- * Animates the map to the selected feature from the result list.
184
- *
185
- * Default: `false`.
186
- */
187
- flyToSelected?: boolean;
188
113
  /**
189
114
  * Enables fuzzy search.
190
115
  *
@@ -221,12 +146,6 @@ export type ControlOptions = {
221
146
  * Default: `5`.
222
147
  */
223
148
  limit?: number;
224
- /**
225
- * Displays a marker on the selected feature from the result list.
226
- *
227
- * Default: `true`.
228
- */
229
- markerOnSelected?: boolean;
230
149
  /**
231
150
  * Minimum number of characters required to start a search.
232
151
  *
@@ -245,14 +164,11 @@ export type ControlOptions = {
245
164
  */
246
165
  noResultsMessage?: string;
247
166
  /**
248
- * Style of the picked result on the map:
249
- * - `"marker-only"`: Show only a marker at the center of the feature.
250
- * - `"full-geometry"`: Display the full feature geometry.
251
- * - `"full-geometry-including-polygon-center-marker"`: Display full geometry with a marker at the polygon center.
167
+ * Opens the result list above the query input instead of below. Used when mounted at the bottom of a map.
252
168
  *
253
- * Default: `"full-geometry"`.
169
+ * Default: `false`.
254
170
  */
255
- pickedResultStyle?: PickedResultStyle;
171
+ openListOnTop?: boolean;
256
172
  /**
257
173
  * Custom placeholder for the input box.
258
174
  *
@@ -337,55 +253,19 @@ export type ControlOptions = {
337
253
  */
338
254
  types?: TypeRule[];
339
255
  /**
340
- * Specifies the zoom level to animate the map to for a geocoded result when no bounding box is present or when the result is a point.
341
- * If a bounding box is present and not a point, the map will fit to the bounding box.
256
+ * Some of the geographical boundaries and names are disputed. When worldview option is
257
+ * selected, the Geocoding API responses will be aligned with the borders and names recognized
258
+ * by the selected country. This affects filtering by country, the context returned with
259
+ * the given feature and also some of the labels (e.g., Gulf of Mexico vs. Gulf of America).
342
260
  *
343
- * Values are key-value pairs where the key is a `<type>` or `<type>.<category>` and the value is the zoom level.
261
+ * Available options:
262
+ * - `"ch"`: Use the worldview of Switzerland
263
+ * - `"us"`: Use the worldview of US
264
+ * - `"auto"`: Automatically determine the worldview by the location of the client
265
+ * - `undefined`: Do not use any particular worldview (disputed areas are returned without country information,
266
+ * countries with disputed borders are returned without full geometry)
344
267
  *
345
- * Default: `GeocodingControl.ZOOM_DEFAULTS`.
268
+ * Default: `undefined` (no worldview).
346
269
  */
347
- zoom?: Record<string, number>;
348
- };
349
- export type PickedResultStyle = "marker-only" | "full-geometry" | "full-geometry-including-polygon-center-marker";
350
- export type EnableReverse = "never" | "always" | "button";
351
- export type ShowPlaceType = "never" | "always" | "if-needed";
352
- export type DispatcherTypeCC = {
353
- featuresListed: {
354
- features: Feature[] | undefined;
355
- };
356
- featuresMarked: {
357
- features: Feature[] | undefined;
358
- };
359
- optionsVisibilityChange: {
360
- optionsVisible: boolean;
361
- };
362
- pick: {
363
- feature: Feature | undefined;
364
- };
365
- queryChange: {
366
- query: string;
367
- };
368
- response: {
369
- url: string;
370
- featureCollection: FeatureCollection;
371
- };
372
- reverseToggle: {
373
- reverse: boolean;
374
- };
375
- select: {
376
- feature: Feature | undefined;
377
- };
378
- };
379
- export type DispatcherType = {
380
- [T in keyof DispatcherTypeCC as Lowercase<T>]: DispatcherTypeCC[T];
270
+ worldview?: Worldview;
381
271
  };
382
- export type RedefineType<OriginalType, UpdatedType extends {
383
- [K in keyof OriginalType]: OriginalType[K];
384
- } & {
385
- [K in Exclude<keyof UpdatedType, keyof OriginalType>]: never;
386
- }> = UpdatedType;
387
- export type TypeRule = string | [
388
- minZoom: number | null | undefined,
389
- maxZoom: number | null | undefined,
390
- type: string
391
- ];
@@ -0,0 +1,113 @@
1
+ import { LitElement } from 'lit';
2
+ import { BBox, EnableReverse, Feature, ProximityRule, ShowPlaceType, TypeRule, Worldview } from '../types';
3
+ import { MaptilerGeocoderEventName, MaptilerGeocoderEventNameMap } from './geocoder-events';
4
+ import { MaptilerGeocoderOptions } from './geocoder-options';
5
+ export declare class MaptilerGeocoderElement extends LitElement implements MaptilerGeocoderOptions {
6
+ #private;
7
+ static styles: import('lit').CSSResult;
8
+ adjustUrl?: (url: URL) => void;
9
+ apiKey?: string;
10
+ apiUrl?: string;
11
+ bbox?: BBox;
12
+ clearButtonTitle?: string;
13
+ clearListOnPick: boolean;
14
+ clearOnBlur: boolean;
15
+ collapsed: boolean;
16
+ country?: string | string[];
17
+ debounceSearch?: number;
18
+ enableReverse?: EnableReverse;
19
+ errorMessage?: string;
20
+ excludeTypes: boolean;
21
+ exhaustiveReverseGeocoding: boolean;
22
+ fetchFullGeometryOnPick: boolean;
23
+ fetchParameters?: RequestInit;
24
+ filter?: (feature: Feature) => boolean;
25
+ fuzzyMatch?: boolean | undefined;
26
+ iconsBaseUrl?: string;
27
+ keepListOpen: boolean;
28
+ language?: string | string[] | null;
29
+ limit?: number;
30
+ minLength?: number;
31
+ noResultsMessage?: string;
32
+ openListOnTop: boolean;
33
+ placeholder?: string;
34
+ proximity?: ProximityRule[] | null;
35
+ reverseActive: boolean;
36
+ reverseButtonTitle?: string;
37
+ reverseGeocodingExcludeTypes?: boolean | undefined;
38
+ reverseGeocodingLimit?: number;
39
+ reverseGeocodingTypes?: TypeRule[];
40
+ selectFirst?: boolean | undefined;
41
+ showPlaceType?: ShowPlaceType;
42
+ showResultsWhileTyping?: boolean | undefined;
43
+ types?: TypeRule[];
44
+ worldview?: Worldview;
45
+ /** Reference to the input element the user can type a query into */
46
+ private input;
47
+ /** Value to search via geocoding */
48
+ private searchValue;
49
+ /** Features found via geocoding */
50
+ private listFeatures?;
51
+ /** Index of item currently selected from the list of found features */
52
+ private selectedItemIndex;
53
+ /** Feature that has been picked by the user */
54
+ private picked?;
55
+ /** Cached found features to be used to restore the features when loading more data for picked feature */
56
+ private cachedFeatures;
57
+ /** Effectively a cache key for cached features */
58
+ private lastSearchUrl;
59
+ /** Last error that happened in geocoding, to be shown to user */
60
+ private error;
61
+ /** AbortController instance used to potentially cancel the current geocoding request*/
62
+ private abortController?;
63
+ /** Focus state of input element */
64
+ private focused;
65
+ /** Focus state of input element, delayed for a moment to not close feature list immediately after losing focus */
66
+ private focusedDelayed;
67
+ protected firstUpdated(): void;
68
+ /**
69
+ * Set the options of this instance.
70
+ *
71
+ * @param options options to set
72
+ */
73
+ setOptions(options: Partial<MaptilerGeocoderOptions>): void;
74
+ /**
75
+ * Set the content of search input box.
76
+ *
77
+ * @param value text to set
78
+ */
79
+ setQuery(value: string): void;
80
+ /**
81
+ * Set the content of search input box and immediately submit it.
82
+ *
83
+ * @param value text to set and submit
84
+ */
85
+ submitQuery(value: string): void;
86
+ /**
87
+ * Clear search result list.
88
+ */
89
+ clearList(): void;
90
+ /**
91
+ * Focus the search input box.
92
+ *
93
+ * @param options [FocusOptions](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
94
+ */
95
+ focus(options?: FocusOptions): void;
96
+ /**
97
+ * Blur the search input box.
98
+ */
99
+ blur(): void;
100
+ addEventListener<E extends MaptilerGeocoderEventName>(type: E, listener: (this: HTMLElement, e: MaptilerGeocoderEventNameMap[E]) => unknown, options?: boolean | AddEventListenerOptions): void;
101
+ removeEventListener<E extends MaptilerGeocoderEventName>(type: E, listener: (this: HTMLElement, e: MaptilerGeocoderEventNameMap[E]) => unknown, options?: boolean | EventListenerOptions): void;
102
+ /** @internal */
103
+ handleMapChange(centerAndZoom: [zoom: number, lon: number, lat: number] | undefined): void;
104
+ /** @internal */
105
+ handleMapClick(coordinates: [lng: number, lat: number]): void;
106
+ willUpdate(changedProperties: Map<string, unknown>): void;
107
+ render(): import('lit-html').TemplateResult<1>;
108
+ }
109
+ declare global {
110
+ interface HTMLElementTagNameMap {
111
+ "maptiler-geocoder": MaptilerGeocoderElement;
112
+ }
113
+ }
@@ -0,0 +1,9 @@
1
+ export * from './components/clear-icon';
2
+ export * from './components/fail-icon';
3
+ export * from './components/loading-icon';
4
+ export * from './components/reverse-geocoding-icon';
5
+ export * from './components/search-icon';
6
+ export * from './geocoder/geocoder';
7
+ export * from './geocoder/geocoder-events';
8
+ export * from './geocoder/geocoder-options';
9
+ export * from './types';
@@ -0,0 +1,7 @@
1
+ export * from '.';
2
+ export * from './components/marker';
3
+ export * from './controls/leaflet-control';
4
+ export { LeafletGeocodingControl as GeocodingControl } from './controls/leaflet-control';
5
+ export type * as GeocodingControlEvent from './controls/leaflet-events';
6
+ export * from './controls/leaflet-options';
7
+ export type { LeafletGeocodingControlOptions as GeocodingControlOptions } from './controls/leaflet-options';
@@ -0,0 +1,7 @@
1
+ export * from '.';
2
+ export * from './components/marker';
3
+ export * from './controls/maplibregl-control';
4
+ export { MaplibreglGeocodingControl as GeocodingControl } from './controls/maplibregl-control';
5
+ export type * as GeocodingControlEvent from './controls/maplibregl-events';
6
+ export * from './controls/maplibregl-options';
7
+ export type { MaplibreglGeocodingControlOptions as GeocodingControlOptions } from './controls/maplibregl-options';
@@ -0,0 +1,7 @@
1
+ export * from '.';
2
+ export * from './components/marker';
3
+ export * from './controls/maptilersdk-control';
4
+ export { MaptilerGeocodingControl as GeocodingControl } from './controls/maptilersdk-control';
5
+ export type * as GeocodingControlEvent from './controls/maptilersdk-events';
6
+ export * from './controls/maptilersdk-options';
7
+ export type { MaptilerGeocodingControlOptions as GeocodingControlOptions } from './controls/maptilersdk-options';
@@ -0,0 +1,7 @@
1
+ export * from '.';
2
+ export * from './components/marker';
3
+ export * from './controls/openlayers-control';
4
+ export { OpenLayersGeocodingControl as GeocodingControl } from './controls/openlayers-control';
5
+ export type * as GeocodingControlEvent from './controls/openlayers-events';
6
+ export * from './controls/openlayers-options';
7
+ export type { OpenLayersGeocodingControlOptions as GeocodingControlOptions } from './controls/openlayers-options';
@@ -0,0 +1,46 @@
1
+ import { Feature as FeatureType, Geometry } from 'geojson';
2
+ export type BBox = [minx: number, miny: number, maxx: number, maxy: number];
3
+ export type Position = [x: number, y: number];
4
+ export type Feature<T extends Geometry = Geometry> = FeatureType<T> & {
5
+ id: string;
6
+ text: string;
7
+ place_name: string;
8
+ place_type: string[];
9
+ place_type_name: string[];
10
+ center: Position;
11
+ bbox: BBox;
12
+ address?: string;
13
+ matching_text?: string;
14
+ };
15
+ export type FeatureCollection<T extends Geometry = Geometry> = {
16
+ type: "FeatureCollection";
17
+ features: Feature<T>[];
18
+ };
19
+ export type ProximityRule = {
20
+ /** minimal map zoom for the rule to be used */
21
+ minZoom?: number;
22
+ /** maximal map zoom for the rule to be used */
23
+ maxZoom?: number;
24
+ } & ({
25
+ /** fixed proximity */
26
+ type: "fixed";
27
+ /** coordinates of the fixed proximity */
28
+ coordinates: Position;
29
+ } | {
30
+ /** use map center coordinates for the proximity */
31
+ type: "map-center";
32
+ } | {
33
+ /** resolve proximity by geolocating IP of the geocoding API call */
34
+ type: "server-geolocation";
35
+ } | ({
36
+ /** use browser's geolocation API for proximity. If it fails, following proximity rules are iterated. */
37
+ type: "client-geolocation";
38
+ /** how long should the geolocation result be cached, in milliseconds */
39
+ cachedLocationExpiry?: number;
40
+ } & PositionOptions));
41
+ export type PickedResultStyle = "marker-only" | "full-geometry" | "full-geometry-including-polygon-center-marker";
42
+ export type EnableReverse = "never" | "always" | "button";
43
+ export type ShowPlaceType = "never" | "always" | "if-needed";
44
+ export type TypeRule = PlaceType | [minZoom: number | null | undefined, maxZoom: number | null | undefined, type: PlaceType];
45
+ export type PlaceType = "continental_marine" | "country" | "major_landform" | "region" | "subregion" | "county" | "joint_municipality" | "joint_submunicipality" | "municipality" | "municipal_district" | "locality" | "neighbourhood" | "place" | "postal_code" | "address" | "road" | "poi";
46
+ export type Worldview = "ch" | "us" | "auto";
@@ -0,0 +1,6 @@
1
+ import { FeatureCollection, MultiPolygon, Polygon, Position } from 'geojson';
2
+ import { BBox } from '../types';
3
+ export declare function wrapNum(x: number, range: [number, number], includeMax: boolean): number;
4
+ export declare function unwrapBbox(bbox0: BBox): BBox;
5
+ export declare function shiftPolyCollection(featureCollection: FeatureCollection<Polygon | MultiPolygon>, distance: number): FeatureCollection<Polygon | MultiPolygon>;
6
+ export declare function shiftPolyCoords(coordinates: Position[][], distance: number): void;
@@ -0,0 +1,2 @@
1
+ import { Feature, FeatureCollection, MultiPolygon, Polygon } from 'geojson';
2
+ export declare function getMask(picked: Feature<Polygon | MultiPolygon>): FeatureCollection<Polygon | MultiPolygon> | undefined;
@@ -0,0 +1,2 @@
1
+ import { ProximityRule } from '../types';
2
+ export declare function getProximity(centerAndZoom: [zoom: number, lon: number, lat: number] | undefined, proximity: ProximityRule[] | null | undefined, ac: AbortController): Promise<string | undefined>;