@performant-software/geospatial 2.1.0-beta.4 → 2.1.0-beta.41

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 (699) hide show
  1. package/dist/index.cjs.js +1 -1
  2. package/dist/index.cjs10.js +1 -1
  3. package/dist/index.cjs10.js.map +1 -1
  4. package/dist/index.cjs100.js +1 -1
  5. package/dist/index.cjs100.js.map +1 -1
  6. package/dist/index.cjs101.js +1 -1
  7. package/dist/index.cjs101.js.map +1 -1
  8. package/dist/index.cjs102.js +1 -1
  9. package/dist/index.cjs102.js.map +1 -1
  10. package/dist/index.cjs103.js +1 -1
  11. package/dist/index.cjs103.js.map +1 -1
  12. package/dist/index.cjs104.js +1 -1
  13. package/dist/index.cjs104.js.map +1 -1
  14. package/dist/index.cjs105.js +1 -1
  15. package/dist/index.cjs105.js.map +1 -1
  16. package/dist/index.cjs106.js +1 -1
  17. package/dist/index.cjs106.js.map +1 -1
  18. package/dist/index.cjs107.js +1 -1
  19. package/dist/index.cjs107.js.map +1 -1
  20. package/dist/index.cjs108.js +1 -1
  21. package/dist/index.cjs108.js.map +1 -1
  22. package/dist/index.cjs109.js +1 -1
  23. package/dist/index.cjs109.js.map +1 -1
  24. package/dist/index.cjs11.js +1 -1
  25. package/dist/index.cjs11.js.map +1 -1
  26. package/dist/index.cjs110.js +1 -13
  27. package/dist/index.cjs110.js.map +1 -1
  28. package/dist/index.cjs111.js +1 -1
  29. package/dist/index.cjs111.js.map +1 -1
  30. package/dist/index.cjs112.js +1 -1
  31. package/dist/index.cjs112.js.map +1 -1
  32. package/dist/index.cjs113.js +1 -1
  33. package/dist/index.cjs113.js.map +1 -1
  34. package/dist/index.cjs114.js +1 -1
  35. package/dist/index.cjs114.js.map +1 -1
  36. package/dist/index.cjs115.js +1 -1
  37. package/dist/index.cjs115.js.map +1 -1
  38. package/dist/index.cjs116.js +1 -1
  39. package/dist/index.cjs116.js.map +1 -1
  40. package/dist/index.cjs117.js +1 -1
  41. package/dist/index.cjs117.js.map +1 -1
  42. package/dist/index.cjs118.js +1 -1
  43. package/dist/index.cjs118.js.map +1 -1
  44. package/dist/index.cjs119.js +1 -1
  45. package/dist/index.cjs119.js.map +1 -1
  46. package/dist/index.cjs12.js +1 -1
  47. package/dist/index.cjs12.js.map +1 -1
  48. package/dist/index.cjs120.js +1 -1
  49. package/dist/index.cjs120.js.map +1 -1
  50. package/dist/index.cjs121.js +1 -1
  51. package/dist/index.cjs121.js.map +1 -1
  52. package/dist/index.cjs122.js +13 -1
  53. package/dist/index.cjs122.js.map +1 -1
  54. package/dist/index.cjs123.js +1 -1
  55. package/dist/index.cjs123.js.map +1 -1
  56. package/dist/index.cjs124.js +1 -1
  57. package/dist/index.cjs124.js.map +1 -1
  58. package/dist/index.cjs125.js +1 -1
  59. package/dist/index.cjs125.js.map +1 -1
  60. package/dist/index.cjs126.js +1 -1
  61. package/dist/index.cjs126.js.map +1 -1
  62. package/dist/index.cjs127.js +1 -1
  63. package/dist/index.cjs127.js.map +1 -1
  64. package/dist/index.cjs128.js +1 -1
  65. package/dist/index.cjs128.js.map +1 -1
  66. package/dist/index.cjs129.js +1 -1
  67. package/dist/index.cjs129.js.map +1 -1
  68. package/dist/index.cjs13.js +1 -1
  69. package/dist/index.cjs13.js.map +1 -1
  70. package/dist/index.cjs130.js +1 -1
  71. package/dist/index.cjs130.js.map +1 -1
  72. package/dist/index.cjs131.js +1 -1
  73. package/dist/index.cjs131.js.map +1 -1
  74. package/dist/index.cjs132.js +1 -1
  75. package/dist/index.cjs132.js.map +1 -1
  76. package/dist/index.cjs133.js +1 -1
  77. package/dist/index.cjs133.js.map +1 -1
  78. package/dist/index.cjs134.js +1 -1
  79. package/dist/index.cjs134.js.map +1 -1
  80. package/dist/index.cjs135.js +1 -1
  81. package/dist/index.cjs135.js.map +1 -1
  82. package/dist/index.cjs136.js +1 -1
  83. package/dist/index.cjs136.js.map +1 -1
  84. package/dist/index.cjs137.js +1 -1
  85. package/dist/index.cjs137.js.map +1 -1
  86. package/dist/index.cjs138.js +1 -1
  87. package/dist/index.cjs138.js.map +1 -1
  88. package/dist/index.cjs139.js +1 -1
  89. package/dist/index.cjs139.js.map +1 -1
  90. package/dist/index.cjs14.js +1 -1
  91. package/dist/index.cjs14.js.map +1 -1
  92. package/dist/index.cjs140.js +1 -1
  93. package/dist/index.cjs140.js.map +1 -1
  94. package/dist/index.cjs141.js +1 -1
  95. package/dist/index.cjs141.js.map +1 -1
  96. package/dist/index.cjs142.js +1 -1
  97. package/dist/index.cjs142.js.map +1 -1
  98. package/dist/index.cjs143.js +1 -1
  99. package/dist/index.cjs143.js.map +1 -1
  100. package/dist/index.cjs144.js +1 -1
  101. package/dist/index.cjs144.js.map +1 -1
  102. package/dist/index.cjs145.js +1 -1
  103. package/dist/index.cjs145.js.map +1 -1
  104. package/dist/index.cjs146.js +1 -1
  105. package/dist/index.cjs146.js.map +1 -1
  106. package/dist/index.cjs147.js +1 -1
  107. package/dist/index.cjs147.js.map +1 -1
  108. package/dist/index.cjs148.js +1 -1
  109. package/dist/index.cjs148.js.map +1 -1
  110. package/dist/index.cjs149.js +1 -1
  111. package/dist/index.cjs149.js.map +1 -1
  112. package/dist/index.cjs15.js +1 -1
  113. package/dist/index.cjs15.js.map +1 -1
  114. package/dist/index.cjs150.js +1 -1
  115. package/dist/index.cjs150.js.map +1 -1
  116. package/dist/index.cjs151.js +1 -1
  117. package/dist/index.cjs151.js.map +1 -1
  118. package/dist/index.cjs152.js +1 -1
  119. package/dist/index.cjs152.js.map +1 -1
  120. package/dist/index.cjs153.js +1 -1
  121. package/dist/index.cjs153.js.map +1 -1
  122. package/dist/index.cjs154.js +1 -1
  123. package/dist/index.cjs154.js.map +1 -1
  124. package/dist/index.cjs155.js +1 -1
  125. package/dist/index.cjs155.js.map +1 -1
  126. package/dist/index.cjs156.js +1 -1
  127. package/dist/index.cjs156.js.map +1 -1
  128. package/dist/index.cjs157.js +1 -1
  129. package/dist/index.cjs157.js.map +1 -1
  130. package/dist/index.cjs158.js +1 -1
  131. package/dist/index.cjs158.js.map +1 -1
  132. package/dist/index.cjs159.js +1 -1
  133. package/dist/index.cjs159.js.map +1 -1
  134. package/dist/index.cjs16.js +1 -1
  135. package/dist/index.cjs16.js.map +1 -1
  136. package/dist/index.cjs160.js +1 -1
  137. package/dist/index.cjs160.js.map +1 -1
  138. package/dist/index.cjs161.js +1 -1
  139. package/dist/index.cjs161.js.map +1 -1
  140. package/dist/index.cjs162.js +1 -1
  141. package/dist/index.cjs162.js.map +1 -1
  142. package/dist/index.cjs163.js +1 -1
  143. package/dist/index.cjs163.js.map +1 -1
  144. package/dist/index.cjs164.js +1 -1
  145. package/dist/index.cjs164.js.map +1 -1
  146. package/dist/index.cjs165.js +1 -1
  147. package/dist/index.cjs165.js.map +1 -1
  148. package/dist/index.cjs166.js +1 -1
  149. package/dist/index.cjs166.js.map +1 -1
  150. package/dist/index.cjs167.js +1 -1
  151. package/dist/index.cjs167.js.map +1 -1
  152. package/dist/index.cjs168.js +1 -1
  153. package/dist/index.cjs168.js.map +1 -1
  154. package/dist/index.cjs169.js +1 -1
  155. package/dist/index.cjs169.js.map +1 -1
  156. package/dist/index.cjs17.js +1 -1
  157. package/dist/index.cjs17.js.map +1 -1
  158. package/dist/index.cjs170.js +1 -1
  159. package/dist/index.cjs170.js.map +1 -1
  160. package/dist/index.cjs171.js +1 -1
  161. package/dist/index.cjs171.js.map +1 -1
  162. package/dist/index.cjs172.js +1 -1
  163. package/dist/index.cjs172.js.map +1 -1
  164. package/dist/index.cjs173.js +1 -1
  165. package/dist/index.cjs173.js.map +1 -1
  166. package/dist/index.cjs174.js +1 -1
  167. package/dist/index.cjs174.js.map +1 -1
  168. package/dist/index.cjs175.js +1 -1
  169. package/dist/index.cjs175.js.map +1 -1
  170. package/dist/index.cjs18.js +1 -1
  171. package/dist/index.cjs18.js.map +1 -1
  172. package/dist/index.cjs19.js +1 -1
  173. package/dist/index.cjs19.js.map +1 -1
  174. package/dist/index.cjs191.js +1 -1
  175. package/dist/index.cjs199.js +1 -1
  176. package/dist/index.cjs2.js +1 -1
  177. package/dist/index.cjs20.js +1 -1
  178. package/dist/index.cjs20.js.map +1 -1
  179. package/dist/index.cjs200.js +1 -1
  180. package/dist/index.cjs201.js +1 -1
  181. package/dist/index.cjs202.js +1 -1
  182. package/dist/index.cjs203.js +1 -1
  183. package/dist/index.cjs205.js +1 -1
  184. package/dist/index.cjs206.js +1 -1
  185. package/dist/index.cjs208.js +1 -1
  186. package/dist/index.cjs209.js +1 -1
  187. package/dist/index.cjs21.js +1 -1
  188. package/dist/index.cjs21.js.map +1 -1
  189. package/dist/index.cjs211.js +1 -1
  190. package/dist/index.cjs213.js +1 -1
  191. package/dist/index.cjs215.js +1 -1
  192. package/dist/index.cjs215.js.map +1 -1
  193. package/dist/index.cjs216.js +1 -1
  194. package/dist/index.cjs217.js +1 -1
  195. package/dist/index.cjs218.js +1 -1
  196. package/dist/index.cjs22.js +1 -1
  197. package/dist/index.cjs22.js.map +1 -1
  198. package/dist/index.cjs220.js +1 -1
  199. package/dist/index.cjs221.js +1 -1
  200. package/dist/index.cjs222.js +1 -1
  201. package/dist/index.cjs223.js +1 -1
  202. package/dist/index.cjs225.js +1 -1
  203. package/dist/index.cjs226.js +1 -1
  204. package/dist/index.cjs226.js.map +1 -1
  205. package/dist/index.cjs227.js +1 -1
  206. package/dist/index.cjs227.js.map +1 -1
  207. package/dist/index.cjs228.js +1 -1
  208. package/dist/index.cjs228.js.map +1 -1
  209. package/dist/index.cjs229.js +1 -1
  210. package/dist/index.cjs229.js.map +1 -1
  211. package/dist/index.cjs23.js +1 -1
  212. package/dist/index.cjs23.js.map +1 -1
  213. package/dist/index.cjs230.js +1 -1
  214. package/dist/index.cjs230.js.map +1 -1
  215. package/dist/index.cjs24.js +1 -1
  216. package/dist/index.cjs24.js.map +1 -1
  217. package/dist/index.cjs25.js +1 -1
  218. package/dist/index.cjs25.js.map +1 -1
  219. package/dist/index.cjs26.js +1 -1
  220. package/dist/index.cjs26.js.map +1 -1
  221. package/dist/index.cjs27.js +1 -1
  222. package/dist/index.cjs27.js.map +1 -1
  223. package/dist/index.cjs28.js +1 -1
  224. package/dist/index.cjs28.js.map +1 -1
  225. package/dist/index.cjs29.js +1 -1
  226. package/dist/index.cjs29.js.map +1 -1
  227. package/dist/index.cjs3.js +1 -1
  228. package/dist/index.cjs3.js.map +1 -1
  229. package/dist/index.cjs30.js +1 -1
  230. package/dist/index.cjs30.js.map +1 -1
  231. package/dist/index.cjs31.js +1 -1
  232. package/dist/index.cjs31.js.map +1 -1
  233. package/dist/index.cjs32.js +1 -1
  234. package/dist/index.cjs32.js.map +1 -1
  235. package/dist/index.cjs33.js +1 -1
  236. package/dist/index.cjs33.js.map +1 -1
  237. package/dist/index.cjs34.js +1 -1
  238. package/dist/index.cjs34.js.map +1 -1
  239. package/dist/index.cjs35.js +1 -1
  240. package/dist/index.cjs35.js.map +1 -1
  241. package/dist/index.cjs36.js +1 -1
  242. package/dist/index.cjs36.js.map +1 -1
  243. package/dist/index.cjs37.js +1 -1
  244. package/dist/index.cjs37.js.map +1 -1
  245. package/dist/index.cjs38.js +1 -1
  246. package/dist/index.cjs38.js.map +1 -1
  247. package/dist/index.cjs39.js +1 -1
  248. package/dist/index.cjs39.js.map +1 -1
  249. package/dist/index.cjs4.js +1 -1
  250. package/dist/index.cjs40.js +1 -1
  251. package/dist/index.cjs40.js.map +1 -1
  252. package/dist/index.cjs41.js +1 -1
  253. package/dist/index.cjs41.js.map +1 -1
  254. package/dist/index.cjs42.js +1 -1
  255. package/dist/index.cjs42.js.map +1 -1
  256. package/dist/index.cjs43.js +1 -1
  257. package/dist/index.cjs43.js.map +1 -1
  258. package/dist/index.cjs44.js +1 -1
  259. package/dist/index.cjs44.js.map +1 -1
  260. package/dist/index.cjs45.js +1 -1
  261. package/dist/index.cjs45.js.map +1 -1
  262. package/dist/index.cjs5.js +1 -1
  263. package/dist/index.cjs5.js.map +1 -1
  264. package/dist/index.cjs6.js +1 -1
  265. package/dist/index.cjs62.js +1 -1
  266. package/dist/index.cjs62.js.map +1 -1
  267. package/dist/index.cjs63.js +1 -1
  268. package/dist/index.cjs63.js.map +1 -1
  269. package/dist/index.cjs64.js +1 -1
  270. package/dist/index.cjs64.js.map +1 -1
  271. package/dist/index.cjs65.js +1 -1
  272. package/dist/index.cjs65.js.map +1 -1
  273. package/dist/index.cjs66.js +1 -1
  274. package/dist/index.cjs66.js.map +1 -1
  275. package/dist/index.cjs67.js +1 -1
  276. package/dist/index.cjs67.js.map +1 -1
  277. package/dist/index.cjs68.js +1 -1
  278. package/dist/index.cjs68.js.map +1 -1
  279. package/dist/index.cjs69.js +1 -1
  280. package/dist/index.cjs69.js.map +1 -1
  281. package/dist/index.cjs7.js +1 -1
  282. package/dist/index.cjs70.js +1 -1
  283. package/dist/index.cjs70.js.map +1 -1
  284. package/dist/index.cjs71.js +1 -1
  285. package/dist/index.cjs71.js.map +1 -1
  286. package/dist/index.cjs72.js +1 -1
  287. package/dist/index.cjs72.js.map +1 -1
  288. package/dist/index.cjs73.js +1 -1
  289. package/dist/index.cjs73.js.map +1 -1
  290. package/dist/index.cjs74.js +1 -1
  291. package/dist/index.cjs74.js.map +1 -1
  292. package/dist/index.cjs75.js +1 -1
  293. package/dist/index.cjs75.js.map +1 -1
  294. package/dist/index.cjs76.js +1 -1
  295. package/dist/index.cjs76.js.map +1 -1
  296. package/dist/index.cjs77.js +1 -1
  297. package/dist/index.cjs77.js.map +1 -1
  298. package/dist/index.cjs78.js +1 -1
  299. package/dist/index.cjs78.js.map +1 -1
  300. package/dist/index.cjs79.js +1 -1
  301. package/dist/index.cjs79.js.map +1 -1
  302. package/dist/index.cjs8.js +1 -1
  303. package/dist/index.cjs80.js +1 -1
  304. package/dist/index.cjs80.js.map +1 -1
  305. package/dist/index.cjs81.js +1 -1
  306. package/dist/index.cjs81.js.map +1 -1
  307. package/dist/index.cjs82.js +1 -1
  308. package/dist/index.cjs82.js.map +1 -1
  309. package/dist/index.cjs83.js +1 -1
  310. package/dist/index.cjs83.js.map +1 -1
  311. package/dist/index.cjs84.js +1 -1
  312. package/dist/index.cjs84.js.map +1 -1
  313. package/dist/index.cjs85.js +1 -1
  314. package/dist/index.cjs85.js.map +1 -1
  315. package/dist/index.cjs86.js +1 -1
  316. package/dist/index.cjs86.js.map +1 -1
  317. package/dist/index.cjs87.js +1 -1
  318. package/dist/index.cjs87.js.map +1 -1
  319. package/dist/index.cjs88.js +1 -1
  320. package/dist/index.cjs88.js.map +1 -1
  321. package/dist/index.cjs89.js +1 -1
  322. package/dist/index.cjs89.js.map +1 -1
  323. package/dist/index.cjs9.js +1 -1
  324. package/dist/index.cjs9.js.map +1 -1
  325. package/dist/index.cjs90.js +1 -1
  326. package/dist/index.cjs90.js.map +1 -1
  327. package/dist/index.cjs91.js +1 -1
  328. package/dist/index.cjs91.js.map +1 -1
  329. package/dist/index.cjs92.js +1 -1
  330. package/dist/index.cjs92.js.map +1 -1
  331. package/dist/index.cjs93.js +1 -1
  332. package/dist/index.cjs93.js.map +1 -1
  333. package/dist/index.cjs94.js +1 -1
  334. package/dist/index.cjs94.js.map +1 -1
  335. package/dist/index.cjs95.js +1 -1
  336. package/dist/index.cjs95.js.map +1 -1
  337. package/dist/index.cjs96.js +1 -1
  338. package/dist/index.cjs96.js.map +1 -1
  339. package/dist/index.cjs97.js +1 -1
  340. package/dist/index.cjs97.js.map +1 -1
  341. package/dist/index.cjs98.js +1 -1
  342. package/dist/index.cjs98.js.map +1 -1
  343. package/dist/index.cjs99.js +1 -1
  344. package/dist/index.cjs99.js.map +1 -1
  345. package/dist/index.es.js +8 -6
  346. package/dist/index.es.js.map +1 -1
  347. package/dist/index.es10.js +39 -2102
  348. package/dist/index.es10.js.map +1 -1
  349. package/dist/index.es100.js +6 -10
  350. package/dist/index.es100.js.map +1 -1
  351. package/dist/index.es101.js +6 -3
  352. package/dist/index.es101.js.map +1 -1
  353. package/dist/index.es102.js +6 -5
  354. package/dist/index.es102.js.map +1 -1
  355. package/dist/index.es103.js +7 -2
  356. package/dist/index.es103.js.map +1 -1
  357. package/dist/index.es104.js +4 -8
  358. package/dist/index.es104.js.map +1 -1
  359. package/dist/index.es105.js +4 -8
  360. package/dist/index.es105.js.map +1 -1
  361. package/dist/index.es106.js +4 -8
  362. package/dist/index.es106.js.map +1 -1
  363. package/dist/index.es107.js +6 -8
  364. package/dist/index.es107.js.map +1 -1
  365. package/dist/index.es108.js +6 -3
  366. package/dist/index.es108.js.map +1 -1
  367. package/dist/index.es109.js +3 -3
  368. package/dist/index.es109.js.map +1 -1
  369. package/dist/index.es11.js +2102 -19
  370. package/dist/index.es11.js.map +1 -1
  371. package/dist/index.es110.js +7 -57
  372. package/dist/index.es110.js.map +1 -1
  373. package/dist/index.es111.js +11 -12
  374. package/dist/index.es111.js.map +1 -1
  375. package/dist/index.es112.js +10 -5
  376. package/dist/index.es112.js.map +1 -1
  377. package/dist/index.es113.js +2 -4
  378. package/dist/index.es113.js.map +1 -1
  379. package/dist/index.es114.js +4 -7
  380. package/dist/index.es114.js.map +1 -1
  381. package/dist/index.es115.js +2 -16
  382. package/dist/index.es115.js.map +1 -1
  383. package/dist/index.es116.js +7 -13
  384. package/dist/index.es116.js.map +1 -1
  385. package/dist/index.es117.js +7 -4
  386. package/dist/index.es117.js.map +1 -1
  387. package/dist/index.es118.js +6 -4
  388. package/dist/index.es118.js.map +1 -1
  389. package/dist/index.es119.js +8 -8
  390. package/dist/index.es119.js.map +1 -1
  391. package/dist/index.es12.js +19 -12
  392. package/dist/index.es12.js.map +1 -1
  393. package/dist/index.es120.js +3 -6
  394. package/dist/index.es120.js.map +1 -1
  395. package/dist/index.es121.js +4 -7
  396. package/dist/index.es121.js.map +1 -1
  397. package/dist/index.es122.js +57 -8
  398. package/dist/index.es122.js.map +1 -1
  399. package/dist/index.es123.js +14 -3
  400. package/dist/index.es123.js.map +1 -1
  401. package/dist/index.es124.js +6 -3
  402. package/dist/index.es124.js.map +1 -1
  403. package/dist/index.es125.js +5 -10
  404. package/dist/index.es125.js.map +1 -1
  405. package/dist/index.es126.js +9 -5
  406. package/dist/index.es126.js.map +1 -1
  407. package/dist/index.es127.js +17 -4
  408. package/dist/index.es127.js.map +1 -1
  409. package/dist/index.es128.js +13 -8
  410. package/dist/index.es128.js.map +1 -1
  411. package/dist/index.es129.js +4 -5
  412. package/dist/index.es129.js.map +1 -1
  413. package/dist/index.es13.js +12 -6
  414. package/dist/index.es13.js.map +1 -1
  415. package/dist/index.es130.js +5 -16
  416. package/dist/index.es130.js.map +1 -1
  417. package/dist/index.es131.js +8 -11
  418. package/dist/index.es131.js.map +1 -1
  419. package/dist/index.es132.js +7 -3
  420. package/dist/index.es132.js.map +1 -1
  421. package/dist/index.es133.js +7 -3
  422. package/dist/index.es133.js.map +1 -1
  423. package/dist/index.es134.js +8 -8
  424. package/dist/index.es134.js.map +1 -1
  425. package/dist/index.es135.js +3 -7
  426. package/dist/index.es135.js.map +1 -1
  427. package/dist/index.es136.js +3 -13
  428. package/dist/index.es136.js.map +1 -1
  429. package/dist/index.es137.js +9 -11
  430. package/dist/index.es137.js.map +1 -1
  431. package/dist/index.es138.js +5 -7
  432. package/dist/index.es138.js.map +1 -1
  433. package/dist/index.es139.js +4 -6
  434. package/dist/index.es139.js.map +1 -1
  435. package/dist/index.es14.js +6 -5
  436. package/dist/index.es14.js.map +1 -1
  437. package/dist/index.es140.js +8 -5
  438. package/dist/index.es140.js.map +1 -1
  439. package/dist/index.es141.js +5 -16
  440. package/dist/index.es141.js.map +1 -1
  441. package/dist/index.es142.js +16 -16
  442. package/dist/index.es142.js.map +1 -1
  443. package/dist/index.es143.js +11 -4
  444. package/dist/index.es143.js.map +1 -1
  445. package/dist/index.es144.js +3 -17
  446. package/dist/index.es144.js.map +1 -1
  447. package/dist/index.es145.js +3 -23
  448. package/dist/index.es145.js.map +1 -1
  449. package/dist/index.es146.js +9 -6
  450. package/dist/index.es146.js.map +1 -1
  451. package/dist/index.es147.js +7 -5
  452. package/dist/index.es147.js.map +1 -1
  453. package/dist/index.es148.js +13 -6
  454. package/dist/index.es148.js.map +1 -1
  455. package/dist/index.es149.js +13 -5
  456. package/dist/index.es149.js.map +1 -1
  457. package/dist/index.es15.js +6 -28
  458. package/dist/index.es15.js.map +1 -1
  459. package/dist/index.es150.js +6 -11
  460. package/dist/index.es150.js.map +1 -1
  461. package/dist/index.es151.js +4 -4
  462. package/dist/index.es151.js.map +1 -1
  463. package/dist/index.es152.js +5 -4
  464. package/dist/index.es152.js.map +1 -1
  465. package/dist/index.es153.js +16 -4
  466. package/dist/index.es153.js.map +1 -1
  467. package/dist/index.es154.js +16 -4
  468. package/dist/index.es154.js.map +1 -1
  469. package/dist/index.es155.js +4 -4
  470. package/dist/index.es155.js.map +1 -1
  471. package/dist/index.es156.js +16 -4
  472. package/dist/index.es156.js.map +1 -1
  473. package/dist/index.es157.js +22 -4
  474. package/dist/index.es157.js.map +1 -1
  475. package/dist/index.es158.js +6 -13
  476. package/dist/index.es158.js.map +1 -1
  477. package/dist/index.es159.js +5 -15
  478. package/dist/index.es159.js.map +1 -1
  479. package/dist/index.es16.js +6 -8
  480. package/dist/index.es16.js.map +1 -1
  481. package/dist/index.es160.js +6 -9
  482. package/dist/index.es160.js.map +1 -1
  483. package/dist/index.es161.js +5 -7
  484. package/dist/index.es161.js.map +1 -1
  485. package/dist/index.es162.js +11 -6
  486. package/dist/index.es162.js.map +1 -1
  487. package/dist/index.es163.js +5 -8
  488. package/dist/index.es163.js.map +1 -1
  489. package/dist/index.es164.js +4 -27
  490. package/dist/index.es164.js.map +1 -1
  491. package/dist/index.es165.js +4 -54
  492. package/dist/index.es165.js.map +1 -1
  493. package/dist/index.es166.js +6 -47
  494. package/dist/index.es166.js.map +1 -1
  495. package/dist/index.es167.js +6 -38
  496. package/dist/index.es167.js.map +1 -1
  497. package/dist/index.es168.js +6 -11
  498. package/dist/index.es168.js.map +1 -1
  499. package/dist/index.es169.js +6 -11
  500. package/dist/index.es169.js.map +1 -1
  501. package/dist/index.es17.js +5 -5
  502. package/dist/index.es17.js.map +1 -1
  503. package/dist/index.es170.js +14 -29
  504. package/dist/index.es170.js.map +1 -1
  505. package/dist/index.es171.js +16 -11
  506. package/dist/index.es171.js.map +1 -1
  507. package/dist/index.es172.js +10 -13
  508. package/dist/index.es172.js.map +1 -1
  509. package/dist/index.es173.js +6 -50
  510. package/dist/index.es173.js.map +1 -1
  511. package/dist/index.es174.js +6 -64
  512. package/dist/index.es174.js.map +1 -1
  513. package/dist/index.es175.js +9 -4
  514. package/dist/index.es175.js.map +1 -1
  515. package/dist/index.es18.js +28 -10
  516. package/dist/index.es18.js.map +1 -1
  517. package/dist/index.es19.js +8 -17
  518. package/dist/index.es19.js.map +1 -1
  519. package/dist/index.es191.js +2 -2
  520. package/dist/index.es199.js +1 -1
  521. package/dist/index.es2.js +3 -3
  522. package/dist/index.es20.js +5 -5
  523. package/dist/index.es20.js.map +1 -1
  524. package/dist/index.es200.js +1 -1
  525. package/dist/index.es201.js +1 -1
  526. package/dist/index.es202.js +1 -1
  527. package/dist/index.es203.js +1 -1
  528. package/dist/index.es205.js +2 -2
  529. package/dist/index.es206.js +2 -2
  530. package/dist/index.es208.js +2 -2
  531. package/dist/index.es209.js +2 -2
  532. package/dist/index.es21.js +9 -4
  533. package/dist/index.es21.js.map +1 -1
  534. package/dist/index.es211.js +2 -2
  535. package/dist/index.es213.js +1 -1
  536. package/dist/index.es215.js +1 -1
  537. package/dist/index.es216.js +6 -6
  538. package/dist/index.es217.js +1 -1
  539. package/dist/index.es218.js +2 -2
  540. package/dist/index.es22.js +17 -5
  541. package/dist/index.es22.js.map +1 -1
  542. package/dist/index.es220.js +2 -2
  543. package/dist/index.es221.js +1 -1
  544. package/dist/index.es222.js +1 -1
  545. package/dist/index.es223.js +1 -1
  546. package/dist/index.es225.js +1 -1
  547. package/dist/index.es226.js +3 -46
  548. package/dist/index.es226.js.map +1 -1
  549. package/dist/index.es227.js +45 -22
  550. package/dist/index.es227.js.map +1 -1
  551. package/dist/index.es228.js +22 -7
  552. package/dist/index.es228.js.map +1 -1
  553. package/dist/index.es229.js +6 -3
  554. package/dist/index.es229.js.map +1 -1
  555. package/dist/index.es23.js +5 -7
  556. package/dist/index.es23.js.map +1 -1
  557. package/dist/index.es230.js +6 -4
  558. package/dist/index.es230.js.map +1 -1
  559. package/dist/index.es24.js +5 -7
  560. package/dist/index.es24.js.map +1 -1
  561. package/dist/index.es25.js +5 -4
  562. package/dist/index.es25.js.map +1 -1
  563. package/dist/index.es26.js +7 -4
  564. package/dist/index.es26.js.map +1 -1
  565. package/dist/index.es27.js +6 -6
  566. package/dist/index.es27.js.map +1 -1
  567. package/dist/index.es28.js +4 -15
  568. package/dist/index.es28.js.map +1 -1
  569. package/dist/index.es29.js +4 -12
  570. package/dist/index.es29.js.map +1 -1
  571. package/dist/index.es3.js +22 -63
  572. package/dist/index.es3.js.map +1 -1
  573. package/dist/index.es30.js +7 -15
  574. package/dist/index.es30.js.map +1 -1
  575. package/dist/index.es31.js +14 -6
  576. package/dist/index.es31.js.map +1 -1
  577. package/dist/index.es32.js +12 -5
  578. package/dist/index.es32.js.map +1 -1
  579. package/dist/index.es33.js +15 -4
  580. package/dist/index.es33.js.map +1 -1
  581. package/dist/index.es34.js +6 -17
  582. package/dist/index.es34.js.map +1 -1
  583. package/dist/index.es35.js +5 -18
  584. package/dist/index.es35.js.map +1 -1
  585. package/dist/index.es36.js +4 -14
  586. package/dist/index.es36.js.map +1 -1
  587. package/dist/index.es37.js +17 -5
  588. package/dist/index.es37.js.map +1 -1
  589. package/dist/index.es38.js +17 -6
  590. package/dist/index.es38.js.map +1 -1
  591. package/dist/index.es39.js +13 -9
  592. package/dist/index.es39.js.map +1 -1
  593. package/dist/index.es4.js +8 -8
  594. package/dist/index.es40.js +6 -4
  595. package/dist/index.es40.js.map +1 -1
  596. package/dist/index.es41.js +6 -18
  597. package/dist/index.es41.js.map +1 -1
  598. package/dist/index.es42.js +10 -6
  599. package/dist/index.es42.js.map +1 -1
  600. package/dist/index.es43.js +4 -6
  601. package/dist/index.es43.js.map +1 -1
  602. package/dist/index.es44.js +21 -1
  603. package/dist/index.es44.js.map +1 -1
  604. package/dist/index.es45.js +1 -39
  605. package/dist/index.es45.js.map +1 -1
  606. package/dist/index.es5.js +27 -19
  607. package/dist/index.es5.js.map +1 -1
  608. package/dist/index.es6.js +6 -6
  609. package/dist/index.es62.js +28 -273
  610. package/dist/index.es62.js.map +1 -1
  611. package/dist/index.es63.js +53 -13
  612. package/dist/index.es63.js.map +1 -1
  613. package/dist/index.es64.js +47 -20
  614. package/dist/index.es64.js.map +1 -1
  615. package/dist/index.es65.js +38 -6
  616. package/dist/index.es65.js.map +1 -1
  617. package/dist/index.es66.js +11 -5
  618. package/dist/index.es66.js.map +1 -1
  619. package/dist/index.es67.js +11 -5
  620. package/dist/index.es67.js.map +1 -1
  621. package/dist/index.es68.js +29 -6
  622. package/dist/index.es68.js.map +1 -1
  623. package/dist/index.es69.js +11 -5
  624. package/dist/index.es69.js.map +1 -1
  625. package/dist/index.es7.js +7 -7
  626. package/dist/index.es70.js +14 -5
  627. package/dist/index.es70.js.map +1 -1
  628. package/dist/index.es71.js +51 -3
  629. package/dist/index.es71.js.map +1 -1
  630. package/dist/index.es72.js +65 -3
  631. package/dist/index.es72.js.map +1 -1
  632. package/dist/index.es73.js +4 -3
  633. package/dist/index.es73.js.map +1 -1
  634. package/dist/index.es74.js +273 -3
  635. package/dist/index.es74.js.map +1 -1
  636. package/dist/index.es75.js +15 -3
  637. package/dist/index.es75.js.map +1 -1
  638. package/dist/index.es76.js +19 -3
  639. package/dist/index.es76.js.map +1 -1
  640. package/dist/index.es77.js +4 -9
  641. package/dist/index.es77.js.map +1 -1
  642. package/dist/index.es78.js +4 -4
  643. package/dist/index.es78.js.map +1 -1
  644. package/dist/index.es79.js +3 -5
  645. package/dist/index.es79.js.map +1 -1
  646. package/dist/index.es8.js +2 -2
  647. package/dist/index.es80.js +4 -5
  648. package/dist/index.es80.js.map +1 -1
  649. package/dist/index.es81.js +3 -9
  650. package/dist/index.es81.js.map +1 -1
  651. package/dist/index.es82.js +3 -12
  652. package/dist/index.es82.js.map +1 -1
  653. package/dist/index.es83.js +3 -13
  654. package/dist/index.es83.js.map +1 -1
  655. package/dist/index.es84.js +3 -86
  656. package/dist/index.es84.js.map +1 -1
  657. package/dist/index.es85.js +2 -2
  658. package/dist/index.es85.js.map +1 -1
  659. package/dist/index.es86.js +3 -15
  660. package/dist/index.es86.js.map +1 -1
  661. package/dist/index.es87.js +3 -12
  662. package/dist/index.es87.js.map +1 -1
  663. package/dist/index.es88.js +3 -7
  664. package/dist/index.es88.js.map +1 -1
  665. package/dist/index.es89.js +9 -6
  666. package/dist/index.es89.js.map +1 -1
  667. package/dist/index.es9.js +18 -10
  668. package/dist/index.es9.js.map +1 -1
  669. package/dist/index.es90.js +4 -7
  670. package/dist/index.es90.js.map +1 -1
  671. package/dist/index.es91.js +5 -7
  672. package/dist/index.es91.js.map +1 -1
  673. package/dist/index.es92.js +6 -4
  674. package/dist/index.es92.js.map +1 -1
  675. package/dist/index.es93.js +10 -4
  676. package/dist/index.es93.js.map +1 -1
  677. package/dist/index.es94.js +12 -4
  678. package/dist/index.es94.js.map +1 -1
  679. package/dist/index.es95.js +11 -5
  680. package/dist/index.es95.js.map +1 -1
  681. package/dist/index.es96.js +85 -6
  682. package/dist/index.es96.js.map +1 -1
  683. package/dist/index.es97.js +3 -4
  684. package/dist/index.es97.js.map +1 -1
  685. package/dist/index.es98.js +14 -7
  686. package/dist/index.es98.js.map +1 -1
  687. package/dist/index.es99.js +10 -11
  688. package/dist/index.es99.js.map +1 -1
  689. package/package.json +2 -2
  690. package/src/components/GeoJsonLayer.js +10 -66
  691. package/src/components/LocationMarkers.js +63 -9
  692. package/src/index.js +1 -0
  693. package/src/utils/Map.js +29 -1
  694. package/src/utils/MapStyles.js +9 -3
  695. package/types/components/GeoJsonLayer.js.flow +10 -66
  696. package/types/components/LocationMarkers.js.flow +63 -9
  697. package/types/index.js.flow +1 -0
  698. package/types/utils/Map.js.flow +29 -1
  699. package/types/utils/MapStyles.js.flow +9 -3
@@ -1,13 +1,11 @@
1
1
  // @flow
2
2
 
3
3
  import React, {
4
- useCallback,
5
4
  useEffect,
6
- useMemo,
7
5
  useState
8
6
  } from 'react';
9
7
  import { Layer, Source } from 'react-map-gl';
10
- import _ from 'underscore';
8
+ import MapStyles from '../utils/MapStyles';
11
9
 
12
10
  type Props = {
13
11
  data?: { [key: string]: any },
@@ -17,69 +15,9 @@ type Props = {
17
15
  url?: string
18
16
  };
19
17
 
20
- const DEFAULT_COLOR = '#CC3333';
21
- const HIGHLIGHT_COLOR = '#990000';
22
-
23
- const DEFAULT_FILL_STYLES = {
24
- 'fill-color': DEFAULT_COLOR,
25
- 'fill-opacity': 0.2
26
- };
27
-
28
- const DEFAULT_LINE_STYLES = {
29
- 'line-color': HIGHLIGHT_COLOR,
30
- 'line-opacity': 0.6
31
- };
32
-
33
- const DEFAULT_POINT_STYLES = {
34
- 'circle-radius': [
35
- 'interpolate',
36
- ['linear'],
37
- ['number', ['get', 'point_count'], 1],
38
- 0, 4,
39
- 10, 14
40
- ],
41
- 'circle-stroke-width': 1,
42
- 'circle-color': DEFAULT_COLOR,
43
- 'circle-stroke-color': HIGHLIGHT_COLOR
44
- };
45
-
46
18
  const GeoJsonLayer = (props: Props) => {
47
19
  const [data, setData] = useState(props.data);
48
20
 
49
- /**
50
- * Returns the layer style for the passed style and default.
51
- *
52
- * @type {function(*, *): *}
53
- */
54
- const getLayerStyles = useCallback((style, defaultStyle) => _.defaults(style, defaultStyle), []);
55
-
56
- /**
57
- * Sets the fill layer style.
58
- *
59
- * @type {*}
60
- */
61
- const fillStyle = useMemo(() => (
62
- getLayerStyles(props.fillStyle, DEFAULT_FILL_STYLES)
63
- ), [getLayerStyles, props.fillStyle]);
64
-
65
- /**
66
- * Sets the line layer style.
67
- *
68
- * @type {*}
69
- */
70
- const lineStyle = useMemo(() => (
71
- getLayerStyles(props.lineStyle, DEFAULT_LINE_STYLES)
72
- ), [getLayerStyles, props.lineStyle]);
73
-
74
- /**
75
- * Sets the point layer style.
76
- *
77
- * @type {*}
78
- */
79
- const pointStyle = useMemo(() => (
80
- getLayerStyles(props.pointStyle, DEFAULT_POINT_STYLES)
81
- ), [getLayerStyles, props.pointStyle]);
82
-
83
21
  /**
84
22
  * If the data is passed as a URL, fetches the passed URL and sets the response on the state.
85
23
  */
@@ -98,21 +36,27 @@ const GeoJsonLayer = (props: Props) => {
98
36
  >
99
37
  <Layer
100
38
  filter={['!=', '$type', 'Point']}
101
- paint={fillStyle}
39
+ paint={props.fillStyle}
102
40
  type='fill'
103
41
  />
104
42
  <Layer
105
43
  filter={['!=', '$type', 'Point']}
106
- paint={lineStyle}
44
+ paint={props.lineStyle}
107
45
  type='line'
108
46
  />
109
47
  <Layer
110
48
  filter={['==', '$type', 'Point']}
111
- paint={pointStyle}
49
+ paint={props.pointStyle}
112
50
  type='circle'
113
51
  />
114
52
  </Source>
115
53
  );
116
54
  };
117
55
 
56
+ GeoJsonLayer.defaultProps = {
57
+ fillStyle: MapStyles.fill,
58
+ pointStyle: MapStyles.point,
59
+ strokeStyle: MapStyles.stroke
60
+ };
61
+
118
62
  export default GeoJsonLayer;
@@ -1,8 +1,8 @@
1
1
  // @flow
2
2
 
3
- import { MixedGeoJSONLayer, PulsingMarkerLayer, useMap } from '@peripleo/maplibre';
3
+ import { GeoJSONLayer, PulsingMarkerLayer, useMap } from '@peripleo/maplibre';
4
4
  import React, { useEffect } from 'react';
5
- import { DEFAULT_FILL_STYLE, DEFAULT_POINT_STYLE, DEFAULT_STROKE_STYLE } from '../utils/MapStyles';
5
+ import MapStyles from '../utils/MapStyles';
6
6
  import MapUtils from '../utils/Map';
7
7
 
8
8
  type Props = {
@@ -11,11 +11,47 @@ type Props = {
11
11
  */
12
12
  animate?: boolean,
13
13
 
14
+ /**
15
+ * (Optional) data to pass to the fitToBounds function.
16
+ */
17
+ boundingBoxData?: any,
18
+
19
+ /**
20
+ * (Optional) options to pass to the fitToBounds function.
21
+ * See [spec](https://maplibre.org/maplibre-gl-js/docs/API/types/FitBoundsOptions/).
22
+ */
23
+ boundingBoxOptions?: any,
24
+
14
25
  /**
15
26
  * The number of miles to buffer the GeoJSON data.
16
27
  */
17
28
  buffer: number,
18
29
 
30
+ /**
31
+ * If true, markers will be clustered before the specified zoom level.
32
+ */
33
+ cluster?: boolean,
34
+
35
+ /**
36
+ * Max zoom to cluster points on.
37
+ */
38
+ clusterMaxZoom?: number,
39
+
40
+ /**
41
+ * Minimum number of points necessary to form a cluster.
42
+ */
43
+ clusterMinPoints?: number,
44
+
45
+ /**
46
+ * An object defining custom properties on the generated clusters.
47
+ */
48
+ clusterProperties?: any,
49
+
50
+ /**
51
+ * Radius of each cluster when clustering point.
52
+ */
53
+ clusterRadius?: number,
54
+
19
55
  /**
20
56
  * The GeoJSON data representing the location.
21
57
  */
@@ -26,6 +62,16 @@ type Props = {
26
62
  */
27
63
  fillStyle?: { [key: string]: any },
28
64
 
65
+ /**
66
+ * If `true`, the map will fit the bounding box around the passed data.
67
+ */
68
+ fitBoundingBox?: boolean,
69
+
70
+ /**
71
+ * An ID value to apply to the layer.
72
+ */
73
+ layerId?: string,
74
+
29
75
  /**
30
76
  * GeoJSON layer point style.
31
77
  */
@@ -49,22 +95,29 @@ const LocationMarkers = (props: Props) => {
49
95
  * Sets the bounding box on the map.
50
96
  */
51
97
  useEffect(() => {
52
- if (map && props.data) {
98
+ if (map && props.data && props.fitBoundingBox) {
53
99
  const boundingBox = MapUtils.getBoundingBox(props.data, props.buffer);
54
- map.fitBounds(boundingBox);
100
+ map.fitBounds(boundingBox, props.boundingBoxOptions, props.boundingBoxData);
55
101
  }
56
- }, [map, props.buffer, props.data]);
102
+ }, [map, props.buffer, props.data, props.boundingBoxData, props.boundingBoxOptions, props.fitBoundingBox]);
57
103
 
58
104
  return (
59
105
  <>
60
106
  { props.animate && (
61
107
  <PulsingMarkerLayer
62
108
  data={props.data}
109
+ id={props.layerId}
63
110
  />
64
111
  )}
65
- <MixedGeoJSONLayer
112
+ <GeoJSONLayer
113
+ cluster={props.cluster}
114
+ clusterMaxZoom={props.clusterMaxZoom}
115
+ clusterMinPoints={props.clusterMinPoints}
116
+ clusterProperties={props.clusterProperties}
117
+ clusterRadius={props.clusterRadius}
66
118
  data={props.data}
67
119
  fillStyle={props.fillStyle}
120
+ id={props.layerId}
68
121
  strokeStyle={props.strokeStyle}
69
122
  pointStyle={props.pointStyle}
70
123
  />
@@ -74,9 +127,10 @@ const LocationMarkers = (props: Props) => {
74
127
 
75
128
  LocationMarkers.defaultProps = {
76
129
  buffer: DEFAULT_BUFFER,
77
- fillStyle: DEFAULT_FILL_STYLE,
78
- pointStyle: DEFAULT_POINT_STYLE,
79
- strokeStyle: DEFAULT_STROKE_STYLE
130
+ fillStyle: MapStyles.fill,
131
+ fitBoundingBox: true,
132
+ pointStyle: MapStyles.point,
133
+ strokeStyle: MapStyles.stroke
80
134
  };
81
135
 
82
136
  export default LocationMarkers;
package/src/index.js CHANGED
@@ -11,3 +11,4 @@ export { default as RasterLayer } from './components/RasterLayer';
11
11
 
12
12
  // Utils
13
13
  export { default as Map } from './utils/Map';
14
+ export { default as MapStyles } from './utils/MapStyles';
package/src/utils/Map.js CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  import { bbox, bboxPolygon, buffer } from '@turf/turf';
4
4
 
5
+ const MIN_LATITUDE = -90;
6
+ const MAX_LATITUDE = 90;
7
+ const MIN_LONGITUDE = -180;
8
+ const MAX_LONGITUDE = 180;
9
+
5
10
  /**
6
11
  * Returns a bounding box for the passed geometry (with optional buffer).
7
12
  *
@@ -30,6 +35,29 @@ const getBoundingBox = (geometry, bufferDistance = null) => {
30
35
  return bbox(polygonBuffer);
31
36
  };
32
37
 
38
+ /**
39
+ * Returns true if the passed coordinates are valid.
40
+ *
41
+ * @param coordinates
42
+ *
43
+ * @returns {boolean}
44
+ */
45
+ const validateCoordinates = (coordinates) => {
46
+ let valid = false;
47
+
48
+ if (coordinates) {
49
+ const [latitude, longitude] = coordinates;
50
+
51
+ valid = latitude >= MIN_LATITUDE
52
+ && latitude <= MAX_LATITUDE
53
+ && longitude >= MIN_LONGITUDE
54
+ && longitude <= MAX_LONGITUDE;
55
+ }
56
+
57
+ return valid;
58
+ };
59
+
33
60
  export default {
34
- getBoundingBox
61
+ getBoundingBox,
62
+ validateCoordinates
35
63
  };
@@ -1,6 +1,6 @@
1
1
  // @flow
2
2
 
3
- export const DEFAULT_POINT_STYLE = {
3
+ const point = {
4
4
  type: 'circle',
5
5
  paint: {
6
6
  'circle-radius': [
@@ -21,7 +21,7 @@ export const DEFAULT_POINT_STYLE = {
21
21
  }
22
22
  };
23
23
 
24
- export const DEFAULT_FILL_STYLE = {
24
+ const fill = {
25
25
  type: 'fill',
26
26
  paint: {
27
27
  'fill-color': '#ff623b',
@@ -29,10 +29,16 @@ export const DEFAULT_FILL_STYLE = {
29
29
  }
30
30
  };
31
31
 
32
- export const DEFAULT_STROKE_STYLE = {
32
+ const stroke = {
33
33
  type: 'line',
34
34
  paint: {
35
35
  'line-color': '#ff623b',
36
36
  'line-opacity': 0.6
37
37
  }
38
38
  };
39
+
40
+ export default {
41
+ point,
42
+ fill,
43
+ stroke
44
+ };
@@ -1,13 +1,11 @@
1
1
  // @flow
2
2
 
3
3
  import React, {
4
- useCallback,
5
4
  useEffect,
6
- useMemo,
7
5
  useState
8
6
  } from 'react';
9
7
  import { Layer, Source } from 'react-map-gl';
10
- import _ from 'underscore';
8
+ import MapStyles from '../utils/MapStyles';
11
9
 
12
10
  type Props = {
13
11
  data?: { [key: string]: any },
@@ -17,69 +15,9 @@ type Props = {
17
15
  url?: string
18
16
  };
19
17
 
20
- const DEFAULT_COLOR = '#CC3333';
21
- const HIGHLIGHT_COLOR = '#990000';
22
-
23
- const DEFAULT_FILL_STYLES = {
24
- 'fill-color': DEFAULT_COLOR,
25
- 'fill-opacity': 0.2
26
- };
27
-
28
- const DEFAULT_LINE_STYLES = {
29
- 'line-color': HIGHLIGHT_COLOR,
30
- 'line-opacity': 0.6
31
- };
32
-
33
- const DEFAULT_POINT_STYLES = {
34
- 'circle-radius': [
35
- 'interpolate',
36
- ['linear'],
37
- ['number', ['get', 'point_count'], 1],
38
- 0, 4,
39
- 10, 14
40
- ],
41
- 'circle-stroke-width': 1,
42
- 'circle-color': DEFAULT_COLOR,
43
- 'circle-stroke-color': HIGHLIGHT_COLOR
44
- };
45
-
46
18
  const GeoJsonLayer = (props: Props) => {
47
19
  const [data, setData] = useState(props.data);
48
20
 
49
- /**
50
- * Returns the layer style for the passed style and default.
51
- *
52
- * @type {function(*, *): *}
53
- */
54
- const getLayerStyles = useCallback((style, defaultStyle) => _.defaults(style, defaultStyle), []);
55
-
56
- /**
57
- * Sets the fill layer style.
58
- *
59
- * @type {*}
60
- */
61
- const fillStyle = useMemo(() => (
62
- getLayerStyles(props.fillStyle, DEFAULT_FILL_STYLES)
63
- ), [getLayerStyles, props.fillStyle]);
64
-
65
- /**
66
- * Sets the line layer style.
67
- *
68
- * @type {*}
69
- */
70
- const lineStyle = useMemo(() => (
71
- getLayerStyles(props.lineStyle, DEFAULT_LINE_STYLES)
72
- ), [getLayerStyles, props.lineStyle]);
73
-
74
- /**
75
- * Sets the point layer style.
76
- *
77
- * @type {*}
78
- */
79
- const pointStyle = useMemo(() => (
80
- getLayerStyles(props.pointStyle, DEFAULT_POINT_STYLES)
81
- ), [getLayerStyles, props.pointStyle]);
82
-
83
21
  /**
84
22
  * If the data is passed as a URL, fetches the passed URL and sets the response on the state.
85
23
  */
@@ -98,21 +36,27 @@ const GeoJsonLayer = (props: Props) => {
98
36
  >
99
37
  <Layer
100
38
  filter={['!=', '$type', 'Point']}
101
- paint={fillStyle}
39
+ paint={props.fillStyle}
102
40
  type='fill'
103
41
  />
104
42
  <Layer
105
43
  filter={['!=', '$type', 'Point']}
106
- paint={lineStyle}
44
+ paint={props.lineStyle}
107
45
  type='line'
108
46
  />
109
47
  <Layer
110
48
  filter={['==', '$type', 'Point']}
111
- paint={pointStyle}
49
+ paint={props.pointStyle}
112
50
  type='circle'
113
51
  />
114
52
  </Source>
115
53
  );
116
54
  };
117
55
 
56
+ GeoJsonLayer.defaultProps = {
57
+ fillStyle: MapStyles.fill,
58
+ pointStyle: MapStyles.point,
59
+ strokeStyle: MapStyles.stroke
60
+ };
61
+
118
62
  export default GeoJsonLayer;
@@ -1,8 +1,8 @@
1
1
  // @flow
2
2
 
3
- import { MixedGeoJSONLayer, PulsingMarkerLayer, useMap } from '@peripleo/maplibre';
3
+ import { GeoJSONLayer, PulsingMarkerLayer, useMap } from '@peripleo/maplibre';
4
4
  import React, { useEffect } from 'react';
5
- import { DEFAULT_FILL_STYLE, DEFAULT_POINT_STYLE, DEFAULT_STROKE_STYLE } from '../utils/MapStyles';
5
+ import MapStyles from '../utils/MapStyles';
6
6
  import MapUtils from '../utils/Map';
7
7
 
8
8
  type Props = {
@@ -11,11 +11,47 @@ type Props = {
11
11
  */
12
12
  animate?: boolean,
13
13
 
14
+ /**
15
+ * (Optional) data to pass to the fitToBounds function.
16
+ */
17
+ boundingBoxData?: any,
18
+
19
+ /**
20
+ * (Optional) options to pass to the fitToBounds function.
21
+ * See [spec](https://maplibre.org/maplibre-gl-js/docs/API/types/FitBoundsOptions/).
22
+ */
23
+ boundingBoxOptions?: any,
24
+
14
25
  /**
15
26
  * The number of miles to buffer the GeoJSON data.
16
27
  */
17
28
  buffer: number,
18
29
 
30
+ /**
31
+ * If true, markers will be clustered before the specified zoom level.
32
+ */
33
+ cluster?: boolean,
34
+
35
+ /**
36
+ * Max zoom to cluster points on.
37
+ */
38
+ clusterMaxZoom?: number,
39
+
40
+ /**
41
+ * Minimum number of points necessary to form a cluster.
42
+ */
43
+ clusterMinPoints?: number,
44
+
45
+ /**
46
+ * An object defining custom properties on the generated clusters.
47
+ */
48
+ clusterProperties?: any,
49
+
50
+ /**
51
+ * Radius of each cluster when clustering point.
52
+ */
53
+ clusterRadius?: number,
54
+
19
55
  /**
20
56
  * The GeoJSON data representing the location.
21
57
  */
@@ -26,6 +62,16 @@ type Props = {
26
62
  */
27
63
  fillStyle?: { [key: string]: any },
28
64
 
65
+ /**
66
+ * If `true`, the map will fit the bounding box around the passed data.
67
+ */
68
+ fitBoundingBox?: boolean,
69
+
70
+ /**
71
+ * An ID value to apply to the layer.
72
+ */
73
+ layerId?: string,
74
+
29
75
  /**
30
76
  * GeoJSON layer point style.
31
77
  */
@@ -49,22 +95,29 @@ const LocationMarkers = (props: Props) => {
49
95
  * Sets the bounding box on the map.
50
96
  */
51
97
  useEffect(() => {
52
- if (map && props.data) {
98
+ if (map && props.data && props.fitBoundingBox) {
53
99
  const boundingBox = MapUtils.getBoundingBox(props.data, props.buffer);
54
- map.fitBounds(boundingBox);
100
+ map.fitBounds(boundingBox, props.boundingBoxOptions, props.boundingBoxData);
55
101
  }
56
- }, [map, props.buffer, props.data]);
102
+ }, [map, props.buffer, props.data, props.boundingBoxData, props.boundingBoxOptions, props.fitBoundingBox]);
57
103
 
58
104
  return (
59
105
  <>
60
106
  { props.animate && (
61
107
  <PulsingMarkerLayer
62
108
  data={props.data}
109
+ id={props.layerId}
63
110
  />
64
111
  )}
65
- <MixedGeoJSONLayer
112
+ <GeoJSONLayer
113
+ cluster={props.cluster}
114
+ clusterMaxZoom={props.clusterMaxZoom}
115
+ clusterMinPoints={props.clusterMinPoints}
116
+ clusterProperties={props.clusterProperties}
117
+ clusterRadius={props.clusterRadius}
66
118
  data={props.data}
67
119
  fillStyle={props.fillStyle}
120
+ id={props.layerId}
68
121
  strokeStyle={props.strokeStyle}
69
122
  pointStyle={props.pointStyle}
70
123
  />
@@ -74,9 +127,10 @@ const LocationMarkers = (props: Props) => {
74
127
 
75
128
  LocationMarkers.defaultProps = {
76
129
  buffer: DEFAULT_BUFFER,
77
- fillStyle: DEFAULT_FILL_STYLE,
78
- pointStyle: DEFAULT_POINT_STYLE,
79
- strokeStyle: DEFAULT_STROKE_STYLE
130
+ fillStyle: MapStyles.fill,
131
+ fitBoundingBox: true,
132
+ pointStyle: MapStyles.point,
133
+ strokeStyle: MapStyles.stroke
80
134
  };
81
135
 
82
136
  export default LocationMarkers;
@@ -11,3 +11,4 @@ export { default as RasterLayer } from './components/RasterLayer';
11
11
 
12
12
  // Utils
13
13
  export { default as Map } from './utils/Map';
14
+ export { default as MapStyles } from './utils/MapStyles';
@@ -2,6 +2,11 @@
2
2
 
3
3
  import { bbox, bboxPolygon, buffer } from '@turf/turf';
4
4
 
5
+ const MIN_LATITUDE = -90;
6
+ const MAX_LATITUDE = 90;
7
+ const MIN_LONGITUDE = -180;
8
+ const MAX_LONGITUDE = 180;
9
+
5
10
  /**
6
11
  * Returns a bounding box for the passed geometry (with optional buffer).
7
12
  *
@@ -30,6 +35,29 @@ const getBoundingBox = (geometry, bufferDistance = null) => {
30
35
  return bbox(polygonBuffer);
31
36
  };
32
37
 
38
+ /**
39
+ * Returns true if the passed coordinates are valid.
40
+ *
41
+ * @param coordinates
42
+ *
43
+ * @returns {boolean}
44
+ */
45
+ const validateCoordinates = (coordinates) => {
46
+ let valid = false;
47
+
48
+ if (coordinates) {
49
+ const [latitude, longitude] = coordinates;
50
+
51
+ valid = latitude >= MIN_LATITUDE
52
+ && latitude <= MAX_LATITUDE
53
+ && longitude >= MIN_LONGITUDE
54
+ && longitude <= MAX_LONGITUDE;
55
+ }
56
+
57
+ return valid;
58
+ };
59
+
33
60
  export default {
34
- getBoundingBox
61
+ getBoundingBox,
62
+ validateCoordinates
35
63
  };
@@ -1,6 +1,6 @@
1
1
  // @flow
2
2
 
3
- export const DEFAULT_POINT_STYLE = {
3
+ const point = {
4
4
  type: 'circle',
5
5
  paint: {
6
6
  'circle-radius': [
@@ -21,7 +21,7 @@ export const DEFAULT_POINT_STYLE = {
21
21
  }
22
22
  };
23
23
 
24
- export const DEFAULT_FILL_STYLE = {
24
+ const fill = {
25
25
  type: 'fill',
26
26
  paint: {
27
27
  'fill-color': '#ff623b',
@@ -29,10 +29,16 @@ export const DEFAULT_FILL_STYLE = {
29
29
  }
30
30
  };
31
31
 
32
- export const DEFAULT_STROKE_STYLE = {
32
+ const stroke = {
33
33
  type: 'line',
34
34
  paint: {
35
35
  'line-color': '#ff623b',
36
36
  'line-opacity': 0.6
37
37
  }
38
38
  };
39
+
40
+ export default {
41
+ point,
42
+ fill,
43
+ stroke
44
+ };