@geotrekce/geotrek-rando-widget 0.2.15 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/dist/cjs/geotrek-rando-widget.cjs.js +1 -1
  2. package/dist/cjs/geotrek-rando-widget.cjs.js.br +0 -0
  3. package/dist/cjs/geotrek-rando-widget.cjs.js.gz +0 -0
  4. package/dist/cjs/grw-app.cjs.entry.js +24 -11
  5. package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
  6. package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
  7. package/dist/cjs/grw-app.cjs.entry.js.map +1 -1
  8. package/dist/cjs/{grw-filter_8.cjs.entry.js → grw-filter_7.cjs.entry.js} +236 -46
  9. package/dist/cjs/grw-filter_7.cjs.entry.js.br +0 -0
  10. package/dist/cjs/grw-filter_7.cjs.entry.js.gz +0 -0
  11. package/dist/cjs/grw-filter_7.cjs.entry.js.map +1 -0
  12. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js +1 -1
  13. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.br +0 -0
  14. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.gz +0 -0
  15. package/dist/cjs/grw-select-language.cjs.entry.js +28 -0
  16. package/dist/cjs/grw-select-language.cjs.entry.js.br +0 -0
  17. package/dist/cjs/grw-select-language.cjs.entry.js.gz +0 -0
  18. package/dist/cjs/grw-select-language.cjs.entry.js.map +1 -0
  19. package/dist/cjs/grw-trek-card.cjs.entry.js +14 -4
  20. package/dist/cjs/grw-trek-card.cjs.entry.js.br +0 -0
  21. package/dist/cjs/grw-trek-card.cjs.entry.js.gz +0 -0
  22. package/dist/cjs/grw-trek-card.cjs.entry.js.map +1 -1
  23. package/dist/cjs/{i18n-210f453b.js → i18n-69f2bef1.js} +7 -3
  24. package/dist/cjs/i18n-69f2bef1.js.br +0 -0
  25. package/dist/cjs/i18n-69f2bef1.js.gz +0 -0
  26. package/dist/cjs/i18n-69f2bef1.js.map +1 -0
  27. package/dist/cjs/loader.cjs.js +1 -1
  28. package/dist/cjs/loader.cjs.js.br +0 -0
  29. package/dist/cjs/loader.cjs.js.gz +0 -0
  30. package/dist/cjs/{store-b6d5fcad.js → store-a37c979e.js} +5 -1
  31. package/dist/cjs/store-a37c979e.js.br +0 -0
  32. package/dist/cjs/store-a37c979e.js.gz +0 -0
  33. package/dist/cjs/store-a37c979e.js.map +1 -0
  34. package/dist/cjs/{utils-1dd4bcbd.js → utils-fb618f73.js} +17 -16
  35. package/dist/cjs/utils-fb618f73.js.br +0 -0
  36. package/dist/cjs/utils-fb618f73.js.gz +0 -0
  37. package/dist/cjs/utils-fb618f73.js.map +1 -0
  38. package/dist/collection/assets/contract.svg +1 -0
  39. package/dist/collection/assets/contract.svg.br +2 -0
  40. package/dist/collection/assets/contract.svg.gz +0 -0
  41. package/dist/collection/components/grw-app/grw-app.css +82 -46
  42. package/dist/collection/components/grw-app/grw-app.css.br +0 -0
  43. package/dist/collection/components/grw-app/grw-app.css.gz +0 -0
  44. package/dist/collection/components/grw-app/grw-app.js +30 -35
  45. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  46. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  47. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  48. package/dist/collection/components/grw-filter/grw-filter.js +25 -2
  49. package/dist/collection/components/grw-filter/grw-filter.js.br +0 -0
  50. package/dist/collection/components/grw-filter/grw-filter.js.gz +0 -0
  51. package/dist/collection/components/grw-filter/grw-filter.js.map +1 -1
  52. package/dist/collection/components/grw-map/grw-map.css +79 -10
  53. package/dist/collection/components/grw-map/grw-map.css.br +0 -0
  54. package/dist/collection/components/grw-map/grw-map.css.gz +0 -0
  55. package/dist/collection/components/grw-map/grw-map.js +247 -22
  56. package/dist/collection/components/grw-map/grw-map.js.br +0 -0
  57. package/dist/collection/components/grw-map/grw-map.js.gz +0 -0
  58. package/dist/collection/components/grw-map/grw-map.js.map +1 -1
  59. package/dist/collection/components/grw-trek-card/grw-trek-card.css +4 -0
  60. package/dist/collection/components/grw-trek-card/grw-trek-card.css.br +0 -0
  61. package/dist/collection/components/grw-trek-card/grw-trek-card.css.gz +0 -0
  62. package/dist/collection/components/grw-trek-card/grw-trek-card.js +54 -1
  63. package/dist/collection/components/grw-trek-card/grw-trek-card.js.br +0 -0
  64. package/dist/collection/components/grw-trek-card/grw-trek-card.js.gz +0 -0
  65. package/dist/collection/components/grw-trek-card/grw-trek-card.js.map +1 -1
  66. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +1 -1
  67. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  68. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  69. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  70. package/dist/collection/i18n/i18n.js +6 -2
  71. package/dist/collection/i18n/i18n.js.br +0 -0
  72. package/dist/collection/i18n/i18n.js.gz +0 -0
  73. package/dist/collection/i18n/i18n.js.map +1 -1
  74. package/dist/collection/services/treks.service.js +6 -0
  75. package/dist/collection/services/treks.service.js.br +0 -0
  76. package/dist/collection/services/treks.service.js.gz +0 -0
  77. package/dist/collection/services/treks.service.js.map +1 -0
  78. package/dist/collection/store/store.js +4 -0
  79. package/dist/collection/store/store.js.br +0 -0
  80. package/dist/collection/store/store.js.gz +0 -0
  81. package/dist/collection/store/store.js.map +1 -1
  82. package/dist/collection/stories/App.js +4 -6
  83. package/dist/collection/stories/App.js.br +0 -0
  84. package/dist/collection/stories/App.js.gz +0 -0
  85. package/dist/collection/stories/App.stories.js +6 -5
  86. package/dist/collection/stories/App.stories.js.br +0 -0
  87. package/dist/collection/stories/App.stories.js.gz +0 -0
  88. package/dist/collection/stories/TrekMap.js +6 -3
  89. package/dist/collection/stories/TrekMap.js.br +0 -0
  90. package/dist/collection/stories/TrekMap.js.gz +0 -0
  91. package/dist/collection/stories/TrekMap.stories.js +6 -3
  92. package/dist/collection/stories/TrekMap.stories.js.br +0 -0
  93. package/dist/collection/stories/TrekMap.stories.js.gz +0 -0
  94. package/dist/collection/stories/TreksMap.js +16 -3
  95. package/dist/collection/stories/TreksMap.js.br +0 -0
  96. package/dist/collection/stories/TreksMap.js.gz +0 -0
  97. package/dist/collection/stories/TreksMap.stories.js +6 -3
  98. package/dist/collection/stories/TreksMap.stories.js.br +0 -0
  99. package/dist/collection/stories/TreksMap.stories.js.gz +0 -0
  100. package/dist/collection/types/types.js.map +1 -1
  101. package/dist/collection/utils/utils.js +14 -14
  102. package/dist/collection/utils/utils.js.br +0 -0
  103. package/dist/collection/utils/utils.js.gz +0 -0
  104. package/dist/collection/utils/utils.js.map +1 -1
  105. package/dist/esm/geotrek-rando-widget.js +1 -1
  106. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  107. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  108. package/dist/esm/grw-app.entry.js +24 -11
  109. package/dist/esm/grw-app.entry.js.br +0 -0
  110. package/dist/esm/grw-app.entry.js.gz +0 -0
  111. package/dist/esm/grw-app.entry.js.map +1 -1
  112. package/dist/esm/{grw-filter_8.entry.js → grw-filter_7.entry.js} +237 -46
  113. package/dist/esm/grw-filter_7.entry.js.br +0 -0
  114. package/dist/esm/grw-filter_7.entry.js.gz +0 -0
  115. package/dist/esm/grw-filter_7.entry.js.map +1 -0
  116. package/dist/esm/grw-information-desk-detail_3.entry.js +1 -1
  117. package/dist/esm/grw-information-desk-detail_3.entry.js.br +0 -0
  118. package/dist/esm/grw-information-desk-detail_3.entry.js.gz +0 -0
  119. package/dist/esm/grw-select-language.entry.js +24 -0
  120. package/dist/esm/grw-select-language.entry.js.br +0 -0
  121. package/dist/esm/grw-select-language.entry.js.gz +0 -0
  122. package/dist/esm/grw-select-language.entry.js.map +1 -0
  123. package/dist/esm/grw-trek-card.entry.js +14 -4
  124. package/dist/esm/grw-trek-card.entry.js.br +0 -0
  125. package/dist/esm/grw-trek-card.entry.js.gz +0 -0
  126. package/dist/esm/grw-trek-card.entry.js.map +1 -1
  127. package/dist/esm/{i18n-301409fd.js → i18n-3554af6e.js} +7 -3
  128. package/dist/esm/i18n-3554af6e.js.br +0 -0
  129. package/dist/esm/i18n-3554af6e.js.gz +0 -0
  130. package/dist/esm/i18n-3554af6e.js.map +1 -0
  131. package/dist/esm/loader.js +1 -1
  132. package/dist/esm/loader.js.br +0 -0
  133. package/dist/esm/loader.js.gz +0 -0
  134. package/dist/esm/{store-2a612007.js → store-d82e965e.js} +5 -1
  135. package/dist/esm/store-d82e965e.js.br +0 -0
  136. package/dist/esm/store-d82e965e.js.gz +0 -0
  137. package/dist/esm/store-d82e965e.js.map +1 -0
  138. package/dist/esm/{utils-4b2144e3.js → utils-f5faa5c9.js} +17 -17
  139. package/dist/esm/utils-f5faa5c9.js.br +0 -0
  140. package/dist/esm/utils-f5faa5c9.js.gz +0 -0
  141. package/dist/esm/utils-f5faa5c9.js.map +1 -0
  142. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  143. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  144. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  145. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  146. package/dist/esm-es5/grw-app.entry.js +1 -1
  147. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  148. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  149. package/dist/esm-es5/grw-app.entry.js.map +1 -1
  150. package/dist/esm-es5/{grw-filter_8.entry.js → grw-filter_7.entry.js} +4 -4
  151. package/dist/esm-es5/grw-filter_7.entry.js.br +0 -0
  152. package/dist/esm-es5/grw-filter_7.entry.js.gz +0 -0
  153. package/dist/{esm/grw-filter_8.entry.js.map → esm-es5/grw-filter_7.entry.js.map} +1 -1
  154. package/dist/esm-es5/grw-information-desk-detail_3.entry.js +1 -1
  155. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.br +0 -0
  156. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.gz +0 -0
  157. package/dist/esm-es5/grw-select-language.entry.js +2 -0
  158. package/dist/esm-es5/grw-select-language.entry.js.br +0 -0
  159. package/dist/esm-es5/grw-select-language.entry.js.gz +0 -0
  160. package/dist/esm-es5/grw-select-language.entry.js.map +1 -0
  161. package/dist/esm-es5/grw-trek-card.entry.js +1 -1
  162. package/dist/esm-es5/grw-trek-card.entry.js.br +0 -0
  163. package/dist/esm-es5/grw-trek-card.entry.js.gz +0 -0
  164. package/dist/esm-es5/grw-trek-card.entry.js.map +1 -1
  165. package/dist/esm-es5/i18n-3554af6e.js +2 -0
  166. package/dist/esm-es5/i18n-3554af6e.js.br +0 -0
  167. package/dist/esm-es5/i18n-3554af6e.js.gz +0 -0
  168. package/dist/esm-es5/i18n-3554af6e.js.map +1 -0
  169. package/dist/esm-es5/loader.js +1 -1
  170. package/dist/esm-es5/loader.js.br +0 -0
  171. package/dist/esm-es5/loader.js.gz +0 -0
  172. package/dist/esm-es5/loader.js.map +1 -1
  173. package/dist/esm-es5/{store-2a612007.js → store-d82e965e.js} +2 -2
  174. package/dist/esm-es5/store-d82e965e.js.br +0 -0
  175. package/dist/esm-es5/store-d82e965e.js.gz +0 -0
  176. package/dist/esm-es5/store-d82e965e.js.map +1 -0
  177. package/dist/esm-es5/utils-f5faa5c9.js +2 -0
  178. package/dist/esm-es5/utils-f5faa5c9.js.br +0 -0
  179. package/dist/esm-es5/utils-f5faa5c9.js.gz +0 -0
  180. package/dist/esm-es5/utils-f5faa5c9.js.map +1 -0
  181. package/dist/geotrek-rando-widget/assets/contract.svg +1 -0
  182. package/dist/geotrek-rando-widget/assets/contract.svg.br +2 -0
  183. package/dist/geotrek-rando-widget/assets/contract.svg.gz +0 -0
  184. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  185. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  186. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  187. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  188. package/dist/geotrek-rando-widget/p-148f5f1d.system.js +1 -1
  189. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.br +0 -0
  190. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.gz +0 -0
  191. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.map +1 -1
  192. package/dist/geotrek-rando-widget/p-28e64e05.system.entry.js +2 -0
  193. package/dist/geotrek-rando-widget/p-28e64e05.system.entry.js.br +0 -0
  194. package/dist/geotrek-rando-widget/p-28e64e05.system.entry.js.gz +0 -0
  195. package/dist/geotrek-rando-widget/p-28e64e05.system.entry.js.map +1 -0
  196. package/dist/geotrek-rando-widget/p-29f7ed0b.system.entry.js +2 -0
  197. package/dist/geotrek-rando-widget/p-29f7ed0b.system.entry.js.br +0 -0
  198. package/dist/geotrek-rando-widget/p-29f7ed0b.system.entry.js.gz +0 -0
  199. package/dist/geotrek-rando-widget/p-29f7ed0b.system.entry.js.map +1 -0
  200. package/dist/geotrek-rando-widget/p-2f1cdad9.system.js +2 -0
  201. package/dist/geotrek-rando-widget/p-2f1cdad9.system.js.br +0 -0
  202. package/dist/geotrek-rando-widget/p-2f1cdad9.system.js.gz +0 -0
  203. package/dist/geotrek-rando-widget/p-2f1cdad9.system.js.map +1 -0
  204. package/dist/geotrek-rando-widget/{p-165684be.entry.js → p-39bfe711.entry.js} +2 -2
  205. package/dist/geotrek-rando-widget/p-39bfe711.entry.js.br +0 -0
  206. package/dist/geotrek-rando-widget/p-39bfe711.entry.js.gz +0 -0
  207. package/dist/geotrek-rando-widget/p-466996c5.entry.js +14 -0
  208. package/dist/geotrek-rando-widget/p-466996c5.entry.js.br +0 -0
  209. package/dist/geotrek-rando-widget/p-466996c5.entry.js.gz +0 -0
  210. package/dist/geotrek-rando-widget/p-466996c5.entry.js.map +1 -0
  211. package/dist/geotrek-rando-widget/p-501ad139.system.js +2 -0
  212. package/dist/geotrek-rando-widget/p-501ad139.system.js.br +0 -0
  213. package/dist/geotrek-rando-widget/p-501ad139.system.js.gz +0 -0
  214. package/dist/geotrek-rando-widget/p-501ad139.system.js.map +1 -0
  215. package/dist/geotrek-rando-widget/p-61ec76a2.entry.js +2 -0
  216. package/dist/geotrek-rando-widget/p-61ec76a2.entry.js.br +0 -0
  217. package/dist/geotrek-rando-widget/p-61ec76a2.entry.js.gz +0 -0
  218. package/dist/geotrek-rando-widget/p-61ec76a2.entry.js.map +1 -0
  219. package/dist/geotrek-rando-widget/p-75dd3023.entry.js +2 -0
  220. package/dist/geotrek-rando-widget/p-75dd3023.entry.js.br +0 -0
  221. package/dist/geotrek-rando-widget/p-75dd3023.entry.js.gz +0 -0
  222. package/dist/geotrek-rando-widget/p-75dd3023.entry.js.map +1 -0
  223. package/dist/geotrek-rando-widget/p-79b7f905.system.js +2 -0
  224. package/dist/geotrek-rando-widget/p-79b7f905.system.js.br +0 -0
  225. package/dist/geotrek-rando-widget/p-79b7f905.system.js.gz +0 -0
  226. package/dist/geotrek-rando-widget/p-79b7f905.system.js.map +1 -0
  227. package/dist/geotrek-rando-widget/p-84df84a9.system.entry.js +14 -0
  228. package/dist/geotrek-rando-widget/p-84df84a9.system.entry.js.br +0 -0
  229. package/dist/geotrek-rando-widget/p-84df84a9.system.entry.js.gz +0 -0
  230. package/dist/geotrek-rando-widget/p-84df84a9.system.entry.js.map +1 -0
  231. package/dist/geotrek-rando-widget/p-90bdf63f.entry.js +2 -0
  232. package/dist/geotrek-rando-widget/p-90bdf63f.entry.js.br +0 -0
  233. package/dist/geotrek-rando-widget/p-90bdf63f.entry.js.gz +0 -0
  234. package/dist/geotrek-rando-widget/p-90bdf63f.entry.js.map +1 -0
  235. package/dist/geotrek-rando-widget/p-98765517.js +2 -0
  236. package/dist/geotrek-rando-widget/p-98765517.js.br +0 -0
  237. package/dist/geotrek-rando-widget/p-98765517.js.gz +0 -0
  238. package/dist/geotrek-rando-widget/p-98765517.js.map +1 -0
  239. package/dist/geotrek-rando-widget/{p-e4dba310.system.entry.js → p-bbe147a7.system.entry.js} +2 -2
  240. package/dist/geotrek-rando-widget/p-bbe147a7.system.entry.js.br +0 -0
  241. package/dist/geotrek-rando-widget/p-bbe147a7.system.entry.js.gz +0 -0
  242. package/dist/geotrek-rando-widget/{p-06df20f8.js → p-beebe2d4.js} +2 -2
  243. package/dist/geotrek-rando-widget/p-beebe2d4.js.br +0 -0
  244. package/dist/geotrek-rando-widget/p-beebe2d4.js.gz +0 -0
  245. package/dist/geotrek-rando-widget/p-beebe2d4.js.map +1 -0
  246. package/dist/geotrek-rando-widget/p-dc700e75.system.entry.js +2 -0
  247. package/dist/geotrek-rando-widget/p-dc700e75.system.entry.js.br +0 -0
  248. package/dist/geotrek-rando-widget/p-dc700e75.system.entry.js.gz +0 -0
  249. package/dist/geotrek-rando-widget/p-dc700e75.system.entry.js.map +1 -0
  250. package/dist/geotrek-rando-widget/p-f0117cb8.js +2 -0
  251. package/dist/geotrek-rando-widget/p-f0117cb8.js.br +0 -0
  252. package/dist/geotrek-rando-widget/p-f0117cb8.js.gz +0 -0
  253. package/dist/geotrek-rando-widget/p-f0117cb8.js.map +1 -0
  254. package/dist/types/components/grw-app/grw-app.d.ts +6 -4
  255. package/dist/types/components/grw-filter/grw-filter.d.ts +1 -0
  256. package/dist/types/components/grw-map/grw-map.d.ts +18 -2
  257. package/dist/types/components/grw-trek-card/grw-trek-card.d.ts +4 -0
  258. package/dist/types/components.d.ts +12 -8
  259. package/dist/types/i18n/i18n.d.ts +3 -1
  260. package/dist/types/services/treks.service.d.ts +1 -0
  261. package/dist/types/store/store.d.ts +8 -0
  262. package/dist/types/types/types.d.ts +1 -0
  263. package/dist/types/utils/utils.d.ts +2 -1
  264. package/package.json +3 -1
  265. package/dist/cjs/grw-filter_8.cjs.entry.js.br +0 -0
  266. package/dist/cjs/grw-filter_8.cjs.entry.js.gz +0 -0
  267. package/dist/cjs/grw-filter_8.cjs.entry.js.map +0 -1
  268. package/dist/cjs/i18n-210f453b.js.br +0 -0
  269. package/dist/cjs/i18n-210f453b.js.gz +0 -0
  270. package/dist/cjs/i18n-210f453b.js.map +0 -1
  271. package/dist/cjs/store-b6d5fcad.js.br +0 -0
  272. package/dist/cjs/store-b6d5fcad.js.gz +0 -0
  273. package/dist/cjs/store-b6d5fcad.js.map +0 -1
  274. package/dist/cjs/utils-1dd4bcbd.js.br +0 -0
  275. package/dist/cjs/utils-1dd4bcbd.js.gz +0 -0
  276. package/dist/cjs/utils-1dd4bcbd.js.map +0 -1
  277. package/dist/esm/grw-filter_8.entry.js.br +0 -0
  278. package/dist/esm/grw-filter_8.entry.js.gz +0 -0
  279. package/dist/esm/i18n-301409fd.js.br +0 -0
  280. package/dist/esm/i18n-301409fd.js.gz +0 -0
  281. package/dist/esm/i18n-301409fd.js.map +0 -1
  282. package/dist/esm/store-2a612007.js.br +0 -0
  283. package/dist/esm/store-2a612007.js.gz +0 -0
  284. package/dist/esm/store-2a612007.js.map +0 -1
  285. package/dist/esm/utils-4b2144e3.js.br +0 -0
  286. package/dist/esm/utils-4b2144e3.js.gz +0 -0
  287. package/dist/esm/utils-4b2144e3.js.map +0 -1
  288. package/dist/esm-es5/grw-filter_8.entry.js.br +0 -0
  289. package/dist/esm-es5/grw-filter_8.entry.js.gz +0 -0
  290. package/dist/esm-es5/grw-filter_8.entry.js.map +0 -1
  291. package/dist/esm-es5/i18n-301409fd.js +0 -2
  292. package/dist/esm-es5/i18n-301409fd.js.br +0 -0
  293. package/dist/esm-es5/i18n-301409fd.js.gz +0 -0
  294. package/dist/esm-es5/i18n-301409fd.js.map +0 -1
  295. package/dist/esm-es5/store-2a612007.js.br +0 -0
  296. package/dist/esm-es5/store-2a612007.js.gz +0 -0
  297. package/dist/esm-es5/store-2a612007.js.map +0 -1
  298. package/dist/esm-es5/utils-4b2144e3.js +0 -2
  299. package/dist/esm-es5/utils-4b2144e3.js.br +0 -0
  300. package/dist/esm-es5/utils-4b2144e3.js.gz +0 -0
  301. package/dist/esm-es5/utils-4b2144e3.js.map +0 -1
  302. package/dist/geotrek-rando-widget/p-0218dbae.js +0 -2
  303. package/dist/geotrek-rando-widget/p-0218dbae.js.br +0 -0
  304. package/dist/geotrek-rando-widget/p-0218dbae.js.gz +0 -0
  305. package/dist/geotrek-rando-widget/p-0218dbae.js.map +0 -1
  306. package/dist/geotrek-rando-widget/p-06df20f8.js.br +0 -0
  307. package/dist/geotrek-rando-widget/p-06df20f8.js.gz +0 -0
  308. package/dist/geotrek-rando-widget/p-06df20f8.js.map +0 -1
  309. package/dist/geotrek-rando-widget/p-165684be.entry.js.br +0 -0
  310. package/dist/geotrek-rando-widget/p-165684be.entry.js.gz +0 -0
  311. package/dist/geotrek-rando-widget/p-4d95a8f3.entry.js +0 -2
  312. package/dist/geotrek-rando-widget/p-4d95a8f3.entry.js.br +0 -0
  313. package/dist/geotrek-rando-widget/p-4d95a8f3.entry.js.gz +0 -0
  314. package/dist/geotrek-rando-widget/p-4d95a8f3.entry.js.map +0 -1
  315. package/dist/geotrek-rando-widget/p-5194053a.system.entry.js +0 -2
  316. package/dist/geotrek-rando-widget/p-5194053a.system.entry.js.br +0 -0
  317. package/dist/geotrek-rando-widget/p-5194053a.system.entry.js.gz +0 -0
  318. package/dist/geotrek-rando-widget/p-5194053a.system.entry.js.map +0 -1
  319. package/dist/geotrek-rando-widget/p-55569971.system.js +0 -2
  320. package/dist/geotrek-rando-widget/p-55569971.system.js.br +0 -0
  321. package/dist/geotrek-rando-widget/p-55569971.system.js.gz +0 -0
  322. package/dist/geotrek-rando-widget/p-55569971.system.js.map +0 -1
  323. package/dist/geotrek-rando-widget/p-896227f5.system.entry.js +0 -14
  324. package/dist/geotrek-rando-widget/p-896227f5.system.entry.js.br +0 -0
  325. package/dist/geotrek-rando-widget/p-896227f5.system.entry.js.gz +0 -0
  326. package/dist/geotrek-rando-widget/p-896227f5.system.entry.js.map +0 -1
  327. package/dist/geotrek-rando-widget/p-a1c76660.system.js +0 -2
  328. package/dist/geotrek-rando-widget/p-a1c76660.system.js.br +0 -0
  329. package/dist/geotrek-rando-widget/p-a1c76660.system.js.gz +0 -0
  330. package/dist/geotrek-rando-widget/p-a1c76660.system.js.map +0 -1
  331. package/dist/geotrek-rando-widget/p-a2575e40.js +0 -2
  332. package/dist/geotrek-rando-widget/p-a2575e40.js.br +0 -0
  333. package/dist/geotrek-rando-widget/p-a2575e40.js.gz +0 -0
  334. package/dist/geotrek-rando-widget/p-a2575e40.js.map +0 -1
  335. package/dist/geotrek-rando-widget/p-a9b9dd2a.system.js +0 -2
  336. package/dist/geotrek-rando-widget/p-a9b9dd2a.system.js.br +0 -0
  337. package/dist/geotrek-rando-widget/p-a9b9dd2a.system.js.gz +0 -0
  338. package/dist/geotrek-rando-widget/p-a9b9dd2a.system.js.map +0 -1
  339. package/dist/geotrek-rando-widget/p-c7bb2715.system.entry.js +0 -2
  340. package/dist/geotrek-rando-widget/p-c7bb2715.system.entry.js.br +0 -0
  341. package/dist/geotrek-rando-widget/p-c7bb2715.system.entry.js.gz +0 -0
  342. package/dist/geotrek-rando-widget/p-c7bb2715.system.entry.js.map +0 -1
  343. package/dist/geotrek-rando-widget/p-d92c9342.entry.js +0 -14
  344. package/dist/geotrek-rando-widget/p-d92c9342.entry.js.br +0 -0
  345. package/dist/geotrek-rando-widget/p-d92c9342.entry.js.gz +0 -0
  346. package/dist/geotrek-rando-widget/p-d92c9342.entry.js.map +0 -1
  347. package/dist/geotrek-rando-widget/p-e4dba310.system.entry.js.br +0 -0
  348. package/dist/geotrek-rando-widget/p-e4dba310.system.entry.js.gz +0 -0
  349. package/dist/geotrek-rando-widget/p-fa9a840a.entry.js +0 -2
  350. package/dist/geotrek-rando-widget/p-fa9a840a.entry.js.br +0 -0
  351. package/dist/geotrek-rando-widget/p-fa9a840a.entry.js.gz +0 -0
  352. package/dist/geotrek-rando-widget/p-fa9a840a.entry.js.map +0 -1
  353. /package/dist/geotrek-rando-widget/{p-165684be.entry.js.map → p-39bfe711.entry.js.map} +0 -0
  354. /package/dist/geotrek-rando-widget/{p-e4dba310.system.entry.js.map → p-bbe147a7.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"grw-filter.js","sourceRoot":"","sources":["../../../src/components/grw-filter/grw-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAOrD,MAAM,OAAO,SAAS;;;;;;EAMpB,aAAa;IACX,IAAI,CAAC,WAAW,EAAE,CAAC;EACrB,CAAC;EAED,YAAY,CAAC,MAAkB,EAAE,cAAmB;IAClD,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpD,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC;OACpK,QAAQ,CAAC;IACZ,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC;IACzC,KAAK,CAAC,YAAY,GAAG,sBAAsB,EAAE,CAAC;EAChD,CAAC;EAED,WAAW;IACT,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;IAClF,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EAC9B,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;MACpC,WAAK,KAAK,EAAC,2BAA2B,IAAE,IAAI,CAAC,UAAU,CAAO;MAC9D,WAAK,KAAK,EAAC,yBAAyB,IACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAC3C,cAAQ,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,eAAe;QAC1I,aAAa,CAAC,QAAQ,IAAI,YAAM,KAAK,EAAC,4CAA4C,YAAa;QAC/F,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAChC,CACV,CAAC,CACE,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop, Listen, forceUpdate } from '@stencil/core';\nimport state from 'store/store';\nimport { handleFiltersAndSearch } from 'utils/utils';\n\n@Component({\n tag: 'grw-filter',\n styleUrl: 'grw-filter.scss',\n shadow: true,\n})\nexport class GrwFilter {\n filterRef: HTMLElement;\n @Prop() filterType: string;\n @Prop() filterName: string;\n @Prop() filterNameProperty: string;\n @Listen('resetFilter', { target: 'window' })\n onResetFilter() {\n this.resetFilter();\n }\n\n handleFilter(_event: MouseEvent, filterToHandle: any) {\n const filterFromState = [...state[this.filterType]];\n filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id).selected = !filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id)\n .selected;\n state[this.filterType] = filterFromState;\n state.currentTreks = handleFiltersAndSearch();\n }\n\n resetFilter() {\n state[this.filterType].forEach(currentFilter => (currentFilter.selected = false));\n forceUpdate(this.filterRef);\n }\n\n render() {\n return (\n <Host ref={el => (this.filterRef = el)}>\n <div class=\"filter-name display-large\">{this.filterName}</div>\n <div class=\"filter-button-container\">\n {state[this.filterType].map(currentFilter => (\n <button onClick={event => this.handleFilter(event, currentFilter)} class={currentFilter.selected ? 'selected-filter-button' : 'filter-button'}>\n {currentFilter.selected && <span class=\"material-symbols material-symbols-outlined\">check</span>}\n {currentFilter[this.filterNameProperty]}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"grw-filter.js","sourceRoot":"","sources":["../../../src/components/grw-filter/grw-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAO9D,MAAM,OAAO,SAAS;;;;;;;EAOpB,aAAa;IACX,IAAI,CAAC,WAAW,EAAE,CAAC;EACrB,CAAC;EAED,YAAY,CAAC,MAAkB,EAAE,cAAmB;IAClD,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpD,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC;OACpK,QAAQ,CAAC;IACZ,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC;IAEzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO;OACJ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;OACjD,OAAO,CAAC,MAAM,CAAC,EAAE;MAChB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACzF,CAAC,CAAC,CAAC;IAEL,KAAK,CAAC,YAAY,GAAG,sBAAsB,EAAE,CAAC;EAChD,CAAC;EAED,WAAW;IACT,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EAC9B,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;MACpC,WAAK,KAAK,EAAC,2BAA2B,IAAE,IAAI,CAAC,UAAU,CAAO;MAC9D,WAAK,KAAK,EAAC,yBAAyB,IACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAC3C,cAAQ,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,eAAe;QAC1I,aAAa,CAAC,QAAQ,IAAI,YAAM,KAAK,EAAC,4CAA4C,YAAa;QAC/F,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAChC,CACV,CAAC,CACE,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop, Listen, forceUpdate } from '@stencil/core';\nimport state from 'store/store';\nimport { filters, handleFiltersAndSearch } from 'utils/utils';\n\n@Component({\n tag: 'grw-filter',\n styleUrl: 'grw-filter.scss',\n shadow: true,\n})\nexport class GrwFilter {\n filterRef: HTMLElement;\n @Prop() filterType: string;\n @Prop() filterName: string;\n @Prop() filterNameProperty: string;\n @Prop() segment: string;\n @Listen('resetFilter', { target: 'window' })\n onResetFilter() {\n this.resetFilter();\n }\n\n handleFilter(_event: MouseEvent, filterToHandle: any) {\n const filterFromState = [...state[this.filterType]];\n filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id).selected = !filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id)\n .selected;\n state[this.filterType] = filterFromState;\n\n state[this.segment] = 0;\n filters\n .filter(filter => filter.segment === this.segment)\n .forEach(filter => {\n state[this.segment] += state[filter.property].filter(filter => filter.selected).length;\n });\n\n state.currentTreks = handleFiltersAndSearch();\n }\n\n resetFilter() {\n forceUpdate(this.filterRef);\n }\n\n render() {\n return (\n <Host ref={el => (this.filterRef = el)}>\n <div class=\"filter-name display-large\">{this.filterName}</div>\n <div class=\"filter-button-container\">\n {state[this.filterType].map(currentFilter => (\n <button onClick={event => this.handleFilter(event, currentFilter)} class={currentFilter.selected ? 'selected-filter-button' : 'filter-button'}>\n {currentFilter.selected && <span class=\"material-symbols material-symbols-outlined\">check</span>}\n {currentFilter[this.filterNameProperty]}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1119,6 +1119,21 @@ svg.leaflet-image-layer.leaflet-interactive path {
1119
1119
  text-align: center;
1120
1120
  }
1121
1121
 
1122
+ .leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
1123
+ -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
1124
+ -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
1125
+ -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
1126
+ transition: transform 0.3s ease-out, opacity 0.3s ease-in;
1127
+ }
1128
+
1129
+ .leaflet-cluster-spider-leg {
1130
+ /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
1131
+ -webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
1132
+ -moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
1133
+ -o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
1134
+ transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
1135
+ }
1136
+
1122
1137
  .material-symbols-outlined {
1123
1138
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
1124
1139
  }
@@ -1196,15 +1211,42 @@ svg.leaflet-image-layer.leaflet-interactive path {
1196
1211
  display: none;
1197
1212
  }
1198
1213
 
1199
- .trek-marker {
1214
+ .treks-marker-cluster-group-icon {
1200
1215
  background-color: var(--color-primary-app);
1201
1216
  border-radius: 50%;
1202
1217
  display: flex;
1203
1218
  justify-content: center;
1204
1219
  align-items: center;
1220
+ color: var(--color-on-primary);
1221
+ font-size: 16px;
1205
1222
  }
1206
- .trek-marker img {
1207
- width: 36px !important;
1223
+
1224
+ .trek-marker div,
1225
+ .selected-trek-marker div {
1226
+ display: flex;
1227
+ justify-content: center;
1228
+ align-items: center;
1229
+ border-radius: 50% 50% 50% 0;
1230
+ border: 2px solid #ffffff;
1231
+ width: 32px;
1232
+ height: 32px;
1233
+ transform: rotate(-45deg);
1234
+ background-color: var(--color-surface);
1235
+ }
1236
+ .trek-marker div img,
1237
+ .selected-trek-marker div img {
1238
+ transform: rotate(45deg);
1239
+ position: absolute;
1240
+ z-index: 20;
1241
+ width: 24px !important;
1242
+ }
1243
+
1244
+ .selected-trek-marker div {
1245
+ width: 64px;
1246
+ height: 64px;
1247
+ }
1248
+ .selected-trek-marker div img {
1249
+ width: 48px !important;
1208
1250
  }
1209
1251
 
1210
1252
  .map-loader-container {
@@ -1245,21 +1287,41 @@ svg.leaflet-image-layer.leaflet-interactive path {
1245
1287
  position: relative;
1246
1288
  display: flex;
1247
1289
  flex-direction: column;
1248
- width: 100px;
1249
- height: auto;
1250
- padding: 24px;
1251
1290
  }
1252
1291
  .trek-departure-popup img {
1253
- border-radius: 8px;
1292
+ border-top-left-radius: 8px;
1293
+ border-top-right-radius: 8px;
1254
1294
  }
1255
1295
  .trek-departure-popup .trek-name {
1256
- color: var(--color-primary-app);
1257
1296
  font-weight: 400;
1258
1297
  font-size: 16px;
1259
1298
  line-height: 24px;
1299
+ padding: 8px;
1260
1300
  }
1261
- .trek-departure-popup .trek-name-margin-top {
1262
- margin-top: 12px;
1301
+ .trek-departure-popup .trek-button {
1302
+ margin: 0px 8px 8px 8px;
1303
+ user-select: none;
1304
+ cursor: pointer;
1305
+ -webkit-tap-highlight-color: transparent;
1306
+ display: flex;
1307
+ flex-direction: row;
1308
+ align-items: center;
1309
+ justify-content: center;
1310
+ border: none;
1311
+ background-color: var(--color-background);
1312
+ color: var(--color-on-surface);
1313
+ padding: 12px 24px;
1314
+ border-radius: 20px;
1315
+ box-sizing: border-box;
1316
+ position: relative;
1317
+ gap: 8px;
1318
+ white-space: nowrap;
1319
+ line-height: 20px;
1320
+ letter-spacing: 0.1000000015px;
1321
+ font-size: 14px;
1322
+ font-weight: 500;
1323
+ box-shadow: var(--elevation-1);
1324
+ transition: box-shadow 0.2s ease-in-out 0s;
1263
1325
  }
1264
1326
 
1265
1327
  .poi-tooltip .poi-name,
@@ -1340,4 +1402,11 @@ svg.leaflet-image-layer.leaflet-interactive path {
1340
1402
  height: var(--map-bottom-space-height);
1341
1403
  width: 100%;
1342
1404
  background-color: var(--color-background);
1405
+ }
1406
+
1407
+ .leaflet-popup-content-wrapper {
1408
+ cursor: default;
1409
+ padding: 0px;
1410
+ background-color: var(--color-background);
1411
+ box-shadow: var(--elevation-2);
1343
1412
  }
@@ -3,15 +3,19 @@ import L from 'leaflet';
3
3
  import 'leaflet-rotate';
4
4
  import 'leaflet.locatecontrol';
5
5
  import '@raruto/leaflet-elevation/dist/leaflet-elevation.min.js';
6
+ import 'leaflet.markercluster/dist/leaflet.markercluster.js';
6
7
  import state, { onChange, reset } from 'store/store';
7
8
  import { translate } from 'i18n/i18n';
9
+ import { getTrekGeometry } from 'services/treks.service';
8
10
  export class GrwMap {
9
11
  constructor() {
10
12
  this.userLayersState = {};
13
+ this.tileLayer = [];
11
14
  this.handleTreksWithinBoundsBind = this.handleTreksWithinBounds.bind(this);
12
15
  this.mapIsReady = false;
16
+ this.nameLayer = undefined;
13
17
  this.urlLayer = undefined;
14
- this.attribution = undefined;
18
+ this.attributionLayer = undefined;
15
19
  this.center = '1, 1';
16
20
  this.zoom = 10;
17
21
  this.colorPrimaryApp = '#6b0030';
@@ -54,6 +58,22 @@ export class GrwMap {
54
58
  this.handleLayerVisibility(event.detail, this.currentPoisLayer);
55
59
  }
56
60
  }
61
+ onCardTrekMouseOver(event) {
62
+ if (!state.selectedTrekId || state.selectedTrekId !== event.detail) {
63
+ state.selectedTrekId = event.detail;
64
+ this.hideTrekLine();
65
+ this.showTrekLine(event.detail);
66
+ this.addSelectedCurrentTrek(event.detail);
67
+ }
68
+ }
69
+ oncardTrekMouseLeave() {
70
+ if (!this.trekPopupIsOpen) {
71
+ this.trekPopupIsOpen = false;
72
+ state.selectedTrekId = null;
73
+ this.hideTrekLine();
74
+ this.removeSelectedCurrentTrek();
75
+ }
76
+ }
57
77
  componentDidLoad() {
58
78
  this.map = L.map(this.mapRef, {
59
79
  center: this.center.split(',').map(Number),
@@ -61,10 +81,42 @@ export class GrwMap {
61
81
  });
62
82
  L.control.scale({ metric: true, imperial: false }).addTo(this.map);
63
83
  L.control.locate({ showPopup: false }).addTo(this.map);
64
- L.tileLayer(this.urlLayer, {
65
- maxZoom: 19,
66
- attribution: this.attribution,
67
- }).addTo(this.map);
84
+ const nameLayers = this.nameLayer.split(',');
85
+ const urlLayers = this.urlLayer.split(',http').map((url, index) => (index === 0 ? url : 'http' + url));
86
+ const attributionLayers = this.attributionLayer.split(',');
87
+ urlLayers.forEach((urlLayer, index) => {
88
+ this.tileLayer.push({
89
+ key: `${nameLayers[index]}`,
90
+ value: L.tileLayer(urlLayer, {
91
+ maxZoom: 19,
92
+ attribution: `${attributionLayers[index] && attributionLayers[index] !== '' ? attributionLayers[index].concat(' | ') : ''}Powered by <a target="_blank" href="https://geotrek.fr/">Geotrek</a>`,
93
+ }),
94
+ });
95
+ });
96
+ this.tileLayer[0].value.addTo(this.map);
97
+ if (urlLayers.length > 1) {
98
+ this.layersControl = L.control
99
+ .layers(this.tileLayer.reduce((tileLayers, tileLayer) => Object.assign(tileLayers, { [tileLayer.key]: tileLayer.value }), {}), {}, { collapsed: true })
100
+ .addTo(this.map);
101
+ L.Control.Contract = L.Control.extend({
102
+ onAdd: () => {
103
+ const contractContainer = L.DomUtil.create('div');
104
+ contractContainer.className = 'leaflet-bar leaflet-control';
105
+ const contract = contractContainer.appendChild(L.DomUtil.create('a'));
106
+ contract.href = '#';
107
+ contract.style.backgroundImage = `var(--contract-image-src)`;
108
+ contractContainer.onclick = e => {
109
+ this.bounds && this.map.fitBounds(this.bounds);
110
+ e.preventDefault();
111
+ };
112
+ return contractContainer;
113
+ },
114
+ });
115
+ L.control.contract = opts => {
116
+ return new L.Control.Contract(opts);
117
+ };
118
+ L.control.contract({ position: 'topleft' }).addTo(this.map);
119
+ }
68
120
  if (state.currentTrek) {
69
121
  this.addTrek();
70
122
  }
@@ -135,9 +187,10 @@ export class GrwMap {
135
187
  this.treksLayer = L.geoJSON(treksFeatureCollection, {
136
188
  pointToLayer: (geoJsonPoint, latlng) => L.marker(latlng, {
137
189
  icon: L.divIcon({
138
- html: geoJsonPoint.properties.practice ? `<img src=${geoJsonPoint.properties.practice} />` : `<img />`,
190
+ html: geoJsonPoint.properties.practice ? `<div><img src=${geoJsonPoint.properties.practice} /><img/></div>` : `<div/></div>`,
139
191
  className: 'trek-marker',
140
- iconSize: 48,
192
+ iconSize: 32,
193
+ iconAnchor: [18, 0],
141
194
  }),
142
195
  autoPanOnFocus: false,
143
196
  }),
@@ -145,21 +198,38 @@ export class GrwMap {
145
198
  layer.once('click', () => {
146
199
  const trekDeparturePopup = L.DomUtil.create('div');
147
200
  trekDeparturePopup.className = 'trek-departure-popup';
148
- trekDeparturePopup.onclick = () => this.trekCardPress.emit(geoJsonPoint.properties.id);
149
- const trekName = L.DomUtil.create('div');
150
- trekName.innerHTML = geoJsonPoint.properties.name;
151
- trekName.className = 'trek-name';
152
201
  if (geoJsonPoint.properties.imgSrc) {
153
- trekName.className += ' trek-name-margin-top';
154
202
  const trekImg = L.DomUtil.create('img');
155
203
  trekImg.src = geoJsonPoint.properties.imgSrc;
156
204
  trekDeparturePopup.appendChild(trekImg);
157
205
  }
206
+ const trekName = L.DomUtil.create('div');
207
+ trekName.innerHTML = geoJsonPoint.properties.name;
208
+ trekName.className = 'trek-name';
158
209
  trekDeparturePopup.appendChild(trekName);
210
+ const trekButton = L.DomUtil.create('button');
211
+ trekButton.innerHTML = 'Afficher le détail';
212
+ trekButton.className = 'trek-button';
213
+ trekButton.onclick = () => this.trekCardPress.emit(geoJsonPoint.properties.id);
214
+ trekDeparturePopup.appendChild(trekButton);
159
215
  layer.bindPopup(trekDeparturePopup, { interactive: true, autoPan: false, closeButton: false }).openPopup();
160
216
  });
217
+ layer.on('mouseover', e => {
218
+ this.hideTrekLine();
219
+ this.showTrekLine(geoJsonPoint.properties.id);
220
+ this.addSelectedCurrentTrek(geoJsonPoint.properties.id, e.latlng);
221
+ });
161
222
  },
162
- }).addTo(this.map);
223
+ });
224
+ this.treksMarkerClusterGroup = L.markerClusterGroup({
225
+ showCoverageOnHover: false,
226
+ removeOutsideVisibleBounds: false,
227
+ iconCreateFunction: cluster => {
228
+ return L.divIcon({ html: '<div>' + cluster.getChildCount() + '</div>', className: 'treks-marker-cluster-group-icon', iconSize: 48, iconAnchor: [24, 24] });
229
+ },
230
+ });
231
+ this.treksMarkerClusterGroup.addLayer(this.treksLayer);
232
+ this.map.addLayer(this.treksMarkerClusterGroup);
163
233
  }
164
234
  else {
165
235
  if (trekscurrentDepartureCoordinates.length > 0) {
@@ -170,6 +240,8 @@ export class GrwMap {
170
240
  }
171
241
  this.treksLayer.clearLayers();
172
242
  this.treksLayer.addData(treksFeatureCollection);
243
+ this.treksMarkerClusterGroup.clearLayers();
244
+ this.treksMarkerClusterGroup.addLayer(this.treksLayer);
173
245
  }
174
246
  this.bounds && this.map.fitBounds(this.bounds);
175
247
  !this.mapIsReady && (this.mapIsReady = !this.mapIsReady);
@@ -178,8 +250,9 @@ export class GrwMap {
178
250
  removeTreks() {
179
251
  if (this.treksLayer) {
180
252
  state.currentMapTreksBounds = this.map.getBounds();
181
- this.map.removeLayer(this.treksLayer);
253
+ this.map.removeLayer(this.treksMarkerClusterGroup);
182
254
  this.treksLayer = null;
255
+ this.treksMarkerClusterGroup = null;
183
256
  this.map.off('moveend', this.handleTreksWithinBoundsBind);
184
257
  }
185
258
  }
@@ -191,6 +264,10 @@ export class GrwMap {
191
264
  }
192
265
  addTrek() {
193
266
  var _a;
267
+ this.trekPopupIsOpen = false;
268
+ state.selectedTrekId = null;
269
+ this.hideTrekLine();
270
+ this.removeSelectedCurrentTrek();
194
271
  const currentTrekFeature = {
195
272
  type: 'Feature',
196
273
  geometry: state.currentTrek.geometry,
@@ -406,24 +483,120 @@ export class GrwMap {
406
483
  if (this.currentPoisLayer) {
407
484
  overlays[translate[state.language].layers.pois] = this.currentPoisLayer;
408
485
  }
409
- this.layersControl = L.control.layers(null, overlays, { collapsed: true }).addTo(this.map);
486
+ if (this.layersControl) {
487
+ Object.keys(overlays).forEach(key => {
488
+ this.layersControl.addOverlay(overlays[key], key);
489
+ });
490
+ }
491
+ else {
492
+ this.layersControl = L.control.layers({}, overlays, { collapsed: true }).addTo(this.map);
493
+ }
410
494
  this.handleLayersControlEvent();
411
495
  this.bounds = L.latLngBounds(state.currentTrek.geometry.coordinates.map(coordinate => [coordinate[1], coordinate[0]]));
412
496
  this.bounds && this.map.fitBounds(this.bounds);
413
497
  !this.mapIsReady && (this.mapIsReady = !this.mapIsReady);
414
498
  }
499
+ addSelectedCurrentTrek(id, customCoordinates) {
500
+ var _a;
501
+ const treksFeatureCollection = {
502
+ type: 'FeatureCollection',
503
+ features: [],
504
+ };
505
+ if (state.currentTreks) {
506
+ const trek = state.currentTreks.find(trek => trek.id === id);
507
+ treksFeatureCollection.features.push({
508
+ type: 'Feature',
509
+ geometry: { type: 'Point', coordinates: customCoordinates ? [customCoordinates.lng, customCoordinates.lat] : trek.departure_geom },
510
+ properties: {
511
+ id: trek.id,
512
+ name: trek.name,
513
+ practice: (_a = state.practices.find(practice => practice.id === trek.practice)) === null || _a === void 0 ? void 0 : _a.pictogram,
514
+ imgSrc: trek.attachments && trek.attachments.length > 0 && trek.attachments[0].thumbnail,
515
+ },
516
+ });
517
+ }
518
+ this.removeSelectedCurrentTrek();
519
+ state.selectedTrekId = id;
520
+ this.selectedCurrentTrekLayer = L.geoJSON(treksFeatureCollection, {
521
+ pointToLayer: (geoJsonPoint, latlng) => L.marker(latlng, {
522
+ zIndexOffset: 4000000,
523
+ icon: L.divIcon({
524
+ html: geoJsonPoint.properties.practice ? `<div><img src=${geoJsonPoint.properties.practice} /><img/></div>` : `<div/></div>`,
525
+ className: 'selected-trek-marker',
526
+ iconSize: 64,
527
+ iconAnchor: [36, 36],
528
+ }),
529
+ autoPanOnFocus: false,
530
+ }),
531
+ onEachFeature: (geoJsonPoint, layer) => {
532
+ layer.once('click', () => {
533
+ const trekDeparturePopup = L.DomUtil.create('div');
534
+ trekDeparturePopup.className = 'trek-departure-popup';
535
+ if (geoJsonPoint.properties.imgSrc) {
536
+ const trekImg = L.DomUtil.create('img');
537
+ trekImg.src = geoJsonPoint.properties.imgSrc;
538
+ trekDeparturePopup.appendChild(trekImg);
539
+ }
540
+ const trekName = L.DomUtil.create('div');
541
+ trekName.innerHTML = geoJsonPoint.properties.name;
542
+ trekName.className = 'trek-name';
543
+ trekDeparturePopup.appendChild(trekName);
544
+ const trekButton = L.DomUtil.create('button');
545
+ trekButton.innerHTML = 'Afficher le détail';
546
+ trekButton.className = 'trek-button';
547
+ trekButton.onclick = () => this.trekCardPress.emit(geoJsonPoint.properties.id);
548
+ trekDeparturePopup.appendChild(trekButton);
549
+ layer.bindPopup(trekDeparturePopup, { interactive: true, autoPan: false, closeButton: false }).openPopup();
550
+ });
551
+ layer.on('mouseout', () => {
552
+ if (!this.trekPopupIsOpen) {
553
+ state.selectedTrekId = null;
554
+ this.hideTrekLine();
555
+ this.removeSelectedCurrentTrek();
556
+ }
557
+ });
558
+ layer.on('popupopen', () => {
559
+ this.trekPopupIsOpen = Boolean(state.selectedTrekId);
560
+ });
561
+ layer.on('popupclose', () => {
562
+ if (state.selectedTrekId) {
563
+ this.trekPopupIsOpen = false;
564
+ state.selectedTrekId = null;
565
+ this.hideTrekLine();
566
+ this.removeSelectedCurrentTrek();
567
+ }
568
+ });
569
+ },
570
+ }).addTo(this.map);
571
+ }
572
+ removeSelectedCurrentTrek() {
573
+ state.selectedTrekId = null;
574
+ this.selectedCurrentTrekLayer && this.map.removeLayer(this.selectedCurrentTrekLayer);
575
+ this.selectedCurrentTrekLayer = null;
576
+ }
415
577
  handleLayersControlEvent() {
416
578
  const userLayersState = this.layersControl._layerControlInputs;
417
579
  userLayersState.forEach((userLayerState) => {
418
- userLayerState.onchange = event => {
419
- this.userLayersState[userLayerState.layerId] = event.target.checked;
420
- };
580
+ if (this.layersControl._layers.find(layer => layer.layer._leaflet_id === userLayerState.layerId).overlay) {
581
+ userLayerState.onchange = event => {
582
+ this.userLayersState[userLayerState.layerId] = event.target.checked;
583
+ };
584
+ }
421
585
  });
422
586
  }
423
587
  removeTrek() {
424
588
  if (this.layersControl) {
425
- this.map.removeControl(this.layersControl);
426
- this.layersControl = null;
589
+ if (!this.layersControl._layers.some(layer => !layer.overlay)) {
590
+ this.map.removeControl(this.layersControl);
591
+ this.layersControl = null;
592
+ }
593
+ else {
594
+ this.layersControl._layers
595
+ .filter(layer => layer.overlay)
596
+ .forEach(layer => {
597
+ this.layersControl.removeLayer(layer.layer);
598
+ });
599
+ }
427
600
  }
428
601
  if (this.elevationControl) {
429
602
  this.elevationControl.clear();
@@ -460,8 +633,30 @@ export class GrwMap {
460
633
  reset();
461
634
  }
462
635
  }
636
+ showTrekLine(id) {
637
+ getTrekGeometry(id).then(response => {
638
+ const currentTrekFeature = {
639
+ type: 'Feature',
640
+ geometry: response.geometry,
641
+ properties: {},
642
+ };
643
+ this.currentTrekLayer = L.geoJSON(currentTrekFeature, {
644
+ style: () => ({
645
+ color: this.colorTrekLine,
646
+ }),
647
+ interactive: false,
648
+ }).addTo(this.map);
649
+ });
650
+ }
651
+ hideTrekLine() {
652
+ if (this.currentTrekLayer) {
653
+ this.map.removeLayer(this.currentTrekLayer);
654
+ this.currentTrekLayer = null;
655
+ }
656
+ }
463
657
  render() {
464
658
  const layersImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/layers.svg`);
659
+ const contractImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/contract.svg`);
465
660
  return (h(Host, { style: {
466
661
  '--color-primary-app': this.colorPrimaryApp,
467
662
  '--color-on-surface': this.colorOnSurface,
@@ -471,6 +666,7 @@ export class GrwMap {
471
666
  '--color-poi-icon': this.colorPoiIcon,
472
667
  '--color-trek-line': this.colorTrekLine,
473
668
  '--layers-image-src': `url(${layersImageSrc})`,
669
+ '--contract-image-src': `url(${contractImageSrc})`,
474
670
  '--map-bottom-space-height': this.isLargeView ? '0px' : '70px',
475
671
  } }, h("div", { id: "map", style: {}, class: state.currentTrek ? 'trek-map' : 'treks-map', ref: el => (this.mapRef = el) }), state.currentTrek && (h("div", null, h("div", { id: "elevation", ref: el => (this.elevationRef = el) }), h("div", { class: "map-bottom-space" }))), !this.mapIsReady && (h("div", { class: "map-loader-container" }, h("span", { class: "loader" })))));
476
672
  }
@@ -487,6 +683,23 @@ export class GrwMap {
487
683
  }
488
684
  static get properties() {
489
685
  return {
686
+ "nameLayer": {
687
+ "type": "string",
688
+ "mutable": false,
689
+ "complexType": {
690
+ "original": "string",
691
+ "resolved": "string",
692
+ "references": {}
693
+ },
694
+ "required": false,
695
+ "optional": false,
696
+ "docs": {
697
+ "tags": [],
698
+ "text": ""
699
+ },
700
+ "attribute": "name-layer",
701
+ "reflect": false
702
+ },
490
703
  "urlLayer": {
491
704
  "type": "string",
492
705
  "mutable": false,
@@ -504,7 +717,7 @@ export class GrwMap {
504
717
  "attribute": "url-layer",
505
718
  "reflect": false
506
719
  },
507
- "attribution": {
720
+ "attributionLayer": {
508
721
  "type": "string",
509
722
  "mutable": false,
510
723
  "complexType": {
@@ -518,7 +731,7 @@ export class GrwMap {
518
731
  "tags": [],
519
732
  "text": ""
520
733
  },
521
- "attribute": "attribution",
734
+ "attribute": "attribution-layer",
522
735
  "reflect": false
523
736
  },
524
737
  "center": {
@@ -817,6 +1030,18 @@ export class GrwMap {
817
1030
  "target": "window",
818
1031
  "capture": false,
819
1032
  "passive": false
1033
+ }, {
1034
+ "name": "cardTrekMouseOver",
1035
+ "method": "onCardTrekMouseOver",
1036
+ "target": "window",
1037
+ "capture": false,
1038
+ "passive": false
1039
+ }, {
1040
+ "name": "cardTrekMouseLeave",
1041
+ "method": "oncardTrekMouseLeave",
1042
+ "target": "window",
1043
+ "capture": false,
1044
+ "passive": false
820
1045
  }];
821
1046
  }
822
1047
  }