@geotrekce/geotrek-rando-widget 0.24.2 → 0.26.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 (288) 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 +1 -1
  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-common-button_23.cjs.entry.js +241 -205
  8. package/dist/cjs/grw-common-button_23.cjs.entry.js.br +0 -0
  9. package/dist/cjs/grw-common-button_23.cjs.entry.js.gz +0 -0
  10. package/dist/cjs/grw-common-button_23.cjs.entry.js.map +1 -1
  11. package/dist/cjs/grw-details-modal_8.cjs.entry.js +1 -1
  12. package/dist/cjs/grw-details-modal_8.cjs.entry.js.br +0 -0
  13. package/dist/cjs/grw-details-modal_8.cjs.entry.js.gz +0 -0
  14. package/dist/cjs/grw-outdoor-courses-provider.cjs.entry.js +1 -1
  15. package/dist/cjs/grw-outdoor-courses-provider.cjs.entry.js.br +0 -0
  16. package/dist/cjs/grw-outdoor-courses-provider.cjs.entry.js.gz +0 -0
  17. package/dist/cjs/grw-poi_3.cjs.entry.js +1 -1
  18. package/dist/cjs/grw-poi_3.cjs.entry.js.br +0 -0
  19. package/dist/cjs/grw-poi_3.cjs.entry.js.gz +0 -0
  20. package/dist/cjs/grw-sensitive-area-detail_2.cjs.entry.js +1 -1
  21. package/dist/cjs/grw-sensitive-area-detail_2.cjs.entry.js.br +0 -0
  22. package/dist/cjs/grw-sensitive-area-detail_2.cjs.entry.js.gz +0 -0
  23. package/dist/cjs/grw-toggle-slot-visibility.cjs.entry.js +1 -1
  24. package/dist/cjs/grw-toggle-slot-visibility.cjs.entry.js.br +0 -0
  25. package/dist/cjs/grw-toggle-slot-visibility.cjs.entry.js.gz +0 -0
  26. package/dist/cjs/{i18n-ceda6815.js → i18n-d757c0bf.js} +61 -1
  27. package/dist/cjs/i18n-d757c0bf.js.br +0 -0
  28. package/dist/cjs/i18n-d757c0bf.js.gz +0 -0
  29. package/dist/cjs/i18n-d757c0bf.js.map +1 -0
  30. package/dist/cjs/loader.cjs.js +1 -1
  31. package/dist/cjs/loader.cjs.js.br +0 -0
  32. package/dist/cjs/loader.cjs.js.gz +0 -0
  33. package/dist/cjs/{treks.service-829e772f.js → treks.service-3e1c0220.js} +2 -2
  34. package/dist/cjs/treks.service-3e1c0220.js.br +0 -0
  35. package/dist/cjs/treks.service-3e1c0220.js.gz +0 -0
  36. package/dist/cjs/{treks.service-829e772f.js.map → treks.service-3e1c0220.js.map} +1 -1
  37. package/dist/collection/components/grw-map/grw-map.css +14 -0
  38. package/dist/collection/components/grw-map/grw-map.css.br +0 -0
  39. package/dist/collection/components/grw-map/grw-map.css.gz +0 -0
  40. package/dist/collection/components/grw-map/grw-map.js +5 -5
  41. package/dist/collection/components/grw-map/grw-map.js.br +0 -0
  42. package/dist/collection/components/grw-map/grw-map.js.gz +0 -0
  43. package/dist/collection/components/grw-map/grw-map.js.map +1 -1
  44. package/dist/collection/components/grw-offline-confirm-modal/grw-offline-confirm-modal.js +36 -7
  45. package/dist/collection/components/grw-offline-confirm-modal/grw-offline-confirm-modal.js.br +0 -0
  46. package/dist/collection/components/grw-offline-confirm-modal/grw-offline-confirm-modal.js.gz +0 -0
  47. package/dist/collection/components/grw-offline-confirm-modal/grw-offline-confirm-modal.js.map +1 -1
  48. package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js +87 -47
  49. package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js.br +0 -0
  50. package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js.gz +0 -0
  51. package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js.map +1 -1
  52. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +179 -139
  53. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  54. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  55. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  56. package/dist/collection/i18n/i18n.js +60 -0
  57. package/dist/collection/i18n/i18n.js.br +0 -0
  58. package/dist/collection/i18n/i18n.js.gz +0 -0
  59. package/dist/collection/i18n/i18n.js.map +1 -1
  60. package/dist/collection/services/treks.service.js +1 -1
  61. package/dist/collection/services/treks.service.js.br +0 -0
  62. package/dist/collection/services/treks.service.js.gz +0 -0
  63. package/dist/collection/services/treks.service.js.map +1 -1
  64. package/dist/collection/store/grw-trek-provider.js +2 -4
  65. package/dist/collection/store/grw-trek-provider.js.br +0 -0
  66. package/dist/collection/store/grw-trek-provider.js.gz +0 -0
  67. package/dist/collection/store/grw-trek-provider.js.map +1 -1
  68. package/dist/esm/geotrek-rando-widget.js +1 -1
  69. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  70. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  71. package/dist/esm/grw-app.entry.js +1 -1
  72. package/dist/esm/grw-app.entry.js.br +0 -0
  73. package/dist/esm/grw-app.entry.js.gz +0 -0
  74. package/dist/esm/grw-common-button_23.entry.js +241 -205
  75. package/dist/esm/grw-common-button_23.entry.js.br +0 -0
  76. package/dist/esm/grw-common-button_23.entry.js.gz +0 -0
  77. package/dist/esm/grw-common-button_23.entry.js.map +1 -1
  78. package/dist/esm/grw-details-modal_8.entry.js +1 -1
  79. package/dist/esm/grw-details-modal_8.entry.js.br +0 -0
  80. package/dist/esm/grw-details-modal_8.entry.js.gz +0 -0
  81. package/dist/esm/grw-outdoor-courses-provider.entry.js +1 -1
  82. package/dist/esm/grw-outdoor-courses-provider.entry.js.br +0 -0
  83. package/dist/esm/grw-outdoor-courses-provider.entry.js.gz +0 -0
  84. package/dist/esm/grw-poi_3.entry.js +1 -1
  85. package/dist/esm/grw-poi_3.entry.js.br +0 -0
  86. package/dist/esm/grw-poi_3.entry.js.gz +0 -0
  87. package/dist/esm/grw-sensitive-area-detail_2.entry.js +1 -1
  88. package/dist/esm/grw-sensitive-area-detail_2.entry.js.br +0 -0
  89. package/dist/esm/grw-sensitive-area-detail_2.entry.js.gz +0 -0
  90. package/dist/esm/grw-toggle-slot-visibility.entry.js +1 -1
  91. package/dist/esm/grw-toggle-slot-visibility.entry.js.br +0 -0
  92. package/dist/esm/grw-toggle-slot-visibility.entry.js.gz +0 -0
  93. package/dist/esm/{i18n-4ec6fb16.js → i18n-d4785001.js} +61 -1
  94. package/dist/esm/i18n-d4785001.js.br +0 -0
  95. package/dist/esm/i18n-d4785001.js.gz +0 -0
  96. package/dist/esm/i18n-d4785001.js.map +1 -0
  97. package/dist/esm/loader.js +1 -1
  98. package/dist/esm/loader.js.br +0 -0
  99. package/dist/esm/loader.js.gz +0 -0
  100. package/dist/esm/{treks.service-a59a05d5.js → treks.service-53203dbb.js} +2 -2
  101. package/dist/esm/treks.service-53203dbb.js.br +0 -0
  102. package/dist/esm/treks.service-53203dbb.js.gz +0 -0
  103. package/dist/esm/{treks.service-a59a05d5.js.map → treks.service-53203dbb.js.map} +1 -1
  104. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  105. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  106. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  107. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  108. package/dist/esm-es5/grw-app.entry.js +1 -1
  109. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  110. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  111. package/dist/esm-es5/grw-common-button_23.entry.js +2 -2
  112. package/dist/esm-es5/grw-common-button_23.entry.js.br +0 -0
  113. package/dist/esm-es5/grw-common-button_23.entry.js.gz +0 -0
  114. package/dist/esm-es5/grw-common-button_23.entry.js.map +1 -1
  115. package/dist/esm-es5/grw-details-modal_8.entry.js +1 -1
  116. package/dist/esm-es5/grw-details-modal_8.entry.js.br +0 -0
  117. package/dist/esm-es5/grw-details-modal_8.entry.js.gz +0 -0
  118. package/dist/esm-es5/grw-outdoor-courses-provider.entry.js +1 -1
  119. package/dist/esm-es5/grw-outdoor-courses-provider.entry.js.br +0 -0
  120. package/dist/esm-es5/grw-outdoor-courses-provider.entry.js.gz +0 -0
  121. package/dist/esm-es5/grw-poi_3.entry.js +1 -1
  122. package/dist/esm-es5/grw-poi_3.entry.js.br +0 -0
  123. package/dist/esm-es5/grw-poi_3.entry.js.gz +0 -0
  124. package/dist/esm-es5/grw-sensitive-area-detail_2.entry.js +1 -1
  125. package/dist/esm-es5/grw-sensitive-area-detail_2.entry.js.br +0 -0
  126. package/dist/esm-es5/grw-sensitive-area-detail_2.entry.js.gz +0 -0
  127. package/dist/esm-es5/grw-toggle-slot-visibility.entry.js +1 -1
  128. package/dist/esm-es5/grw-toggle-slot-visibility.entry.js.br +0 -0
  129. package/dist/esm-es5/grw-toggle-slot-visibility.entry.js.gz +0 -0
  130. package/dist/esm-es5/i18n-d4785001.js +2 -0
  131. package/dist/esm-es5/i18n-d4785001.js.br +0 -0
  132. package/dist/esm-es5/i18n-d4785001.js.gz +0 -0
  133. package/dist/esm-es5/i18n-d4785001.js.map +1 -0
  134. package/dist/esm-es5/loader.js +1 -1
  135. package/dist/esm-es5/loader.js.br +0 -0
  136. package/dist/esm-es5/loader.js.gz +0 -0
  137. package/dist/esm-es5/loader.js.map +1 -1
  138. package/dist/esm-es5/{treks.service-a59a05d5.js → treks.service-53203dbb.js} +2 -2
  139. package/dist/esm-es5/treks.service-53203dbb.js.br +0 -0
  140. package/dist/esm-es5/treks.service-53203dbb.js.gz +0 -0
  141. package/dist/{geotrek-rando-widget/p-d64a208b.system.js.map → esm-es5/treks.service-53203dbb.js.map} +1 -1
  142. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  143. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  144. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  145. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  146. package/dist/geotrek-rando-widget/{p-94f1ea91.system.entry.js → p-1ecac760.system.entry.js} +2 -2
  147. package/dist/geotrek-rando-widget/p-1ecac760.system.entry.js.br +0 -0
  148. package/dist/geotrek-rando-widget/p-1ecac760.system.entry.js.gz +0 -0
  149. package/dist/geotrek-rando-widget/p-1f5afac7.js +2 -0
  150. package/dist/geotrek-rando-widget/p-1f5afac7.js.br +0 -0
  151. package/dist/geotrek-rando-widget/p-1f5afac7.js.gz +0 -0
  152. package/dist/geotrek-rando-widget/p-1f5afac7.js.map +1 -0
  153. package/dist/geotrek-rando-widget/{p-a0027314.system.entry.js → p-24e8475f.system.entry.js} +2 -2
  154. package/dist/geotrek-rando-widget/p-24e8475f.system.entry.js.br +0 -0
  155. package/dist/geotrek-rando-widget/p-24e8475f.system.entry.js.gz +0 -0
  156. package/dist/geotrek-rando-widget/{p-20a73813.entry.js → p-2990b91c.entry.js} +2 -2
  157. package/dist/geotrek-rando-widget/p-2990b91c.entry.js.br +0 -0
  158. package/dist/geotrek-rando-widget/p-2990b91c.entry.js.gz +0 -0
  159. package/dist/geotrek-rando-widget/p-3208ccea.system.js +2 -0
  160. package/dist/geotrek-rando-widget/p-3208ccea.system.js.br +0 -0
  161. package/dist/geotrek-rando-widget/p-3208ccea.system.js.gz +0 -0
  162. package/dist/geotrek-rando-widget/p-3208ccea.system.js.map +1 -0
  163. package/dist/geotrek-rando-widget/{p-033910ba.system.entry.js → p-34a34d74.system.entry.js} +2 -2
  164. package/dist/geotrek-rando-widget/p-34a34d74.system.entry.js.br +0 -0
  165. package/dist/geotrek-rando-widget/p-34a34d74.system.entry.js.gz +0 -0
  166. package/dist/geotrek-rando-widget/{p-a9f81664.system.entry.js → p-3566b43b.system.entry.js} +2 -2
  167. package/dist/geotrek-rando-widget/p-3566b43b.system.entry.js.br +0 -0
  168. package/dist/geotrek-rando-widget/p-3566b43b.system.entry.js.gz +0 -0
  169. package/dist/geotrek-rando-widget/p-3c53fc59.system.js +1 -1
  170. package/dist/geotrek-rando-widget/p-3c53fc59.system.js.br +0 -0
  171. package/dist/geotrek-rando-widget/p-3c53fc59.system.js.gz +0 -0
  172. package/dist/geotrek-rando-widget/p-3c53fc59.system.js.map +1 -1
  173. package/dist/geotrek-rando-widget/{p-805e2ba0.js → p-4cf52b6c.js} +2 -2
  174. package/dist/geotrek-rando-widget/p-4cf52b6c.js.br +0 -0
  175. package/dist/geotrek-rando-widget/p-4cf52b6c.js.gz +0 -0
  176. package/dist/geotrek-rando-widget/{p-805e2ba0.js.map → p-4cf52b6c.js.map} +1 -1
  177. package/dist/geotrek-rando-widget/{p-9844030a.entry.js → p-5a073c3e.entry.js} +2 -2
  178. package/dist/geotrek-rando-widget/p-5a073c3e.entry.js.br +0 -0
  179. package/dist/geotrek-rando-widget/p-5a073c3e.entry.js.gz +0 -0
  180. package/dist/geotrek-rando-widget/{p-d64a208b.system.js → p-7d139984.system.js} +2 -2
  181. package/dist/geotrek-rando-widget/p-7d139984.system.js.br +0 -0
  182. package/dist/geotrek-rando-widget/p-7d139984.system.js.gz +0 -0
  183. package/dist/{esm-es5/treks.service-a59a05d5.js.map → geotrek-rando-widget/p-7d139984.system.js.map} +1 -1
  184. package/dist/geotrek-rando-widget/p-862c76ff.entry.js +4 -0
  185. package/dist/geotrek-rando-widget/p-862c76ff.entry.js.br +0 -0
  186. package/dist/geotrek-rando-widget/p-862c76ff.entry.js.gz +0 -0
  187. package/dist/geotrek-rando-widget/p-862c76ff.entry.js.map +1 -0
  188. package/dist/geotrek-rando-widget/{p-422bb6de.entry.js → p-87558980.entry.js} +2 -2
  189. package/dist/geotrek-rando-widget/p-87558980.entry.js.br +0 -0
  190. package/dist/geotrek-rando-widget/p-87558980.entry.js.gz +0 -0
  191. package/dist/geotrek-rando-widget/{p-45f46d33.entry.js → p-875e71d3.entry.js} +2 -2
  192. package/dist/geotrek-rando-widget/p-875e71d3.entry.js.br +0 -0
  193. package/dist/geotrek-rando-widget/p-875e71d3.entry.js.gz +0 -0
  194. package/dist/geotrek-rando-widget/{p-2a4d46f7.entry.js → p-87eb3dcc.entry.js} +2 -2
  195. package/dist/geotrek-rando-widget/p-87eb3dcc.entry.js.br +0 -0
  196. package/dist/geotrek-rando-widget/p-87eb3dcc.entry.js.gz +0 -0
  197. package/dist/geotrek-rando-widget/p-90ee8d15.system.entry.js +4 -0
  198. package/dist/geotrek-rando-widget/p-90ee8d15.system.entry.js.br +0 -0
  199. package/dist/geotrek-rando-widget/p-90ee8d15.system.entry.js.gz +0 -0
  200. package/dist/geotrek-rando-widget/p-90ee8d15.system.entry.js.map +1 -0
  201. package/dist/geotrek-rando-widget/{p-aa1ff056.system.entry.js → p-9bcb7645.system.entry.js} +2 -2
  202. package/dist/geotrek-rando-widget/p-9bcb7645.system.entry.js.br +0 -0
  203. package/dist/geotrek-rando-widget/p-9bcb7645.system.entry.js.gz +0 -0
  204. package/dist/geotrek-rando-widget/{p-75f7d534.system.entry.js → p-d47a130a.system.entry.js} +2 -2
  205. package/dist/geotrek-rando-widget/p-d47a130a.system.entry.js.br +0 -0
  206. package/dist/geotrek-rando-widget/p-d47a130a.system.entry.js.gz +0 -0
  207. package/dist/geotrek-rando-widget/{p-beba3e06.entry.js → p-d92ca7f1.entry.js} +2 -2
  208. package/dist/geotrek-rando-widget/p-d92ca7f1.entry.js.br +0 -0
  209. package/dist/geotrek-rando-widget/p-d92ca7f1.entry.js.gz +0 -0
  210. package/dist/types/components/grw-offline-confirm-modal/grw-offline-confirm-modal.d.ts +3 -0
  211. package/dist/types/components/grw-outdoor-site-detail/grw-outdoor-site-detail.d.ts +2 -0
  212. package/dist/types/components/grw-trek-detail/grw-trek-detail.d.ts +2 -0
  213. package/dist/types/components.d.ts +8 -0
  214. package/dist/types/i18n/i18n.d.ts +20 -0
  215. package/package.json +1 -1
  216. package/readme.md +75 -29
  217. package/dist/cjs/i18n-ceda6815.js.br +0 -0
  218. package/dist/cjs/i18n-ceda6815.js.gz +0 -0
  219. package/dist/cjs/i18n-ceda6815.js.map +0 -1
  220. package/dist/cjs/treks.service-829e772f.js.br +0 -0
  221. package/dist/cjs/treks.service-829e772f.js.gz +0 -0
  222. package/dist/esm/i18n-4ec6fb16.js.br +0 -0
  223. package/dist/esm/i18n-4ec6fb16.js.gz +0 -0
  224. package/dist/esm/i18n-4ec6fb16.js.map +0 -1
  225. package/dist/esm/treks.service-a59a05d5.js.br +0 -0
  226. package/dist/esm/treks.service-a59a05d5.js.gz +0 -0
  227. package/dist/esm-es5/i18n-4ec6fb16.js +0 -2
  228. package/dist/esm-es5/i18n-4ec6fb16.js.br +0 -0
  229. package/dist/esm-es5/i18n-4ec6fb16.js.gz +0 -0
  230. package/dist/esm-es5/i18n-4ec6fb16.js.map +0 -1
  231. package/dist/esm-es5/treks.service-a59a05d5.js.br +0 -0
  232. package/dist/esm-es5/treks.service-a59a05d5.js.gz +0 -0
  233. package/dist/geotrek-rando-widget/p-033910ba.system.entry.js.br +0 -0
  234. package/dist/geotrek-rando-widget/p-033910ba.system.entry.js.gz +0 -0
  235. package/dist/geotrek-rando-widget/p-046d4502.system.js +0 -2
  236. package/dist/geotrek-rando-widget/p-046d4502.system.js.br +0 -0
  237. package/dist/geotrek-rando-widget/p-046d4502.system.js.gz +0 -0
  238. package/dist/geotrek-rando-widget/p-046d4502.system.js.map +0 -1
  239. package/dist/geotrek-rando-widget/p-0a37c6c9.entry.js +0 -4
  240. package/dist/geotrek-rando-widget/p-0a37c6c9.entry.js.br +0 -0
  241. package/dist/geotrek-rando-widget/p-0a37c6c9.entry.js.gz +0 -0
  242. package/dist/geotrek-rando-widget/p-0a37c6c9.entry.js.map +0 -1
  243. package/dist/geotrek-rando-widget/p-0a3fc934.js +0 -2
  244. package/dist/geotrek-rando-widget/p-0a3fc934.js.br +0 -0
  245. package/dist/geotrek-rando-widget/p-0a3fc934.js.gz +0 -0
  246. package/dist/geotrek-rando-widget/p-0a3fc934.js.map +0 -1
  247. package/dist/geotrek-rando-widget/p-20a73813.entry.js.br +0 -0
  248. package/dist/geotrek-rando-widget/p-20a73813.entry.js.gz +0 -0
  249. package/dist/geotrek-rando-widget/p-2a4d46f7.entry.js.br +0 -0
  250. package/dist/geotrek-rando-widget/p-2a4d46f7.entry.js.gz +0 -0
  251. package/dist/geotrek-rando-widget/p-422bb6de.entry.js.br +0 -0
  252. package/dist/geotrek-rando-widget/p-422bb6de.entry.js.gz +0 -0
  253. package/dist/geotrek-rando-widget/p-45f46d33.entry.js.br +0 -0
  254. package/dist/geotrek-rando-widget/p-45f46d33.entry.js.gz +0 -0
  255. package/dist/geotrek-rando-widget/p-75f7d534.system.entry.js.br +0 -0
  256. package/dist/geotrek-rando-widget/p-75f7d534.system.entry.js.gz +0 -0
  257. package/dist/geotrek-rando-widget/p-805e2ba0.js.br +0 -0
  258. package/dist/geotrek-rando-widget/p-805e2ba0.js.gz +0 -0
  259. package/dist/geotrek-rando-widget/p-89cd66dc.system.entry.js +0 -4
  260. package/dist/geotrek-rando-widget/p-89cd66dc.system.entry.js.br +0 -0
  261. package/dist/geotrek-rando-widget/p-89cd66dc.system.entry.js.gz +0 -0
  262. package/dist/geotrek-rando-widget/p-89cd66dc.system.entry.js.map +0 -1
  263. package/dist/geotrek-rando-widget/p-94f1ea91.system.entry.js.br +0 -0
  264. package/dist/geotrek-rando-widget/p-94f1ea91.system.entry.js.gz +0 -0
  265. package/dist/geotrek-rando-widget/p-9844030a.entry.js.br +0 -0
  266. package/dist/geotrek-rando-widget/p-9844030a.entry.js.gz +0 -0
  267. package/dist/geotrek-rando-widget/p-a0027314.system.entry.js.br +0 -0
  268. package/dist/geotrek-rando-widget/p-a0027314.system.entry.js.gz +0 -0
  269. package/dist/geotrek-rando-widget/p-a9f81664.system.entry.js.br +0 -0
  270. package/dist/geotrek-rando-widget/p-a9f81664.system.entry.js.gz +0 -0
  271. package/dist/geotrek-rando-widget/p-aa1ff056.system.entry.js.br +0 -0
  272. package/dist/geotrek-rando-widget/p-aa1ff056.system.entry.js.gz +0 -0
  273. package/dist/geotrek-rando-widget/p-beba3e06.entry.js.br +0 -0
  274. package/dist/geotrek-rando-widget/p-beba3e06.entry.js.gz +0 -0
  275. package/dist/geotrek-rando-widget/p-d64a208b.system.js.br +0 -0
  276. package/dist/geotrek-rando-widget/p-d64a208b.system.js.gz +0 -0
  277. /package/dist/geotrek-rando-widget/{p-94f1ea91.system.entry.js.map → p-1ecac760.system.entry.js.map} +0 -0
  278. /package/dist/geotrek-rando-widget/{p-a0027314.system.entry.js.map → p-24e8475f.system.entry.js.map} +0 -0
  279. /package/dist/geotrek-rando-widget/{p-20a73813.entry.js.map → p-2990b91c.entry.js.map} +0 -0
  280. /package/dist/geotrek-rando-widget/{p-033910ba.system.entry.js.map → p-34a34d74.system.entry.js.map} +0 -0
  281. /package/dist/geotrek-rando-widget/{p-a9f81664.system.entry.js.map → p-3566b43b.system.entry.js.map} +0 -0
  282. /package/dist/geotrek-rando-widget/{p-9844030a.entry.js.map → p-5a073c3e.entry.js.map} +0 -0
  283. /package/dist/geotrek-rando-widget/{p-422bb6de.entry.js.map → p-87558980.entry.js.map} +0 -0
  284. /package/dist/geotrek-rando-widget/{p-45f46d33.entry.js.map → p-875e71d3.entry.js.map} +0 -0
  285. /package/dist/geotrek-rando-widget/{p-2a4d46f7.entry.js.map → p-87eb3dcc.entry.js.map} +0 -0
  286. /package/dist/geotrek-rando-widget/{p-aa1ff056.system.entry.js.map → p-9bcb7645.system.entry.js.map} +0 -0
  287. /package/dist/geotrek-rando-widget/{p-75f7d534.system.entry.js.map → p-d47a130a.system.entry.js.map} +0 -0
  288. /package/dist/geotrek-rando-widget/{p-beba3e06.entry.js.map → p-d92ca7f1.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"grw-outdoor-site-detail.js","sourceRoot":"","sources":["../../../src/components/grw-outdoor-site-detail/grw-outdoor-site-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Build, Component, Host, Prop, State, getAssetPath, h, Event, EventEmitter, Listen, Fragment } from '@stencil/core';\nimport { OutdoorSite } from 'components';\nimport state, { onChange } from 'store/store';\nimport Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel, Scrollbar } from 'swiper';\nimport CloseIcon from '../../assets/close.svg';\nimport { translate } from 'i18n/i18n';\nimport DownloadIcon from '../../assets/download.svg';\nimport EventIcon from '../../assets/event.svg';\nimport WarningIcon from '../../assets/warning.svg';\nimport AirIcon from '../../assets/air.svg';\nimport ExploreIcon from '../../assets/explore.svg';\nimport DownloadForOfflineIcon from '../../assets/download_for_offline.svg';\nimport DeleteIcon from '../../assets/delete.svg';\nimport { getAllDataInStore, getDataInStore, writeOrUpdateDataInStore, writeOrUpdateFilesInStore, writeOrUpdateTilesInStore } from 'services/grw-db.service';\nimport { imagesRegExp } from 'utils/utils';\nimport { getOutdoorSite, getOutdoorSites, getPoisNearSite } from 'services/outdoor-sites.service';\nimport { tileLayerOffline } from 'leaflet.offline';\nimport L from 'leaflet';\nimport bbox from '@turf/bbox';\nimport pointOnFeature from '@turf/point-on-feature';\nimport { OutdoorSites, Sources } from 'types/types';\nimport { getTouristicContentsNearOutdoorCourse, getTouristicContentsNearOutdoorSite } from 'services/touristic-contents.service';\nimport { getTouristicEventsNearOutdoorCourse, getTouristicEventsNearOutdoorSite } from 'services/touristic-events.service';\nimport { getOutdoorCourse, getPoisNearCourse } from 'services/outdoor-courses.service';\n\nconst threshold = 1;\n\n@Component({\n tag: 'grw-outdoor-site-detail',\n styleUrl: 'grw-outdoor-site-detail.scss',\n shadow: true,\n})\nexport class GrwOutdoorSiteDetail {\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n @Prop() isLargeView = false;\n @Prop() weather = false;\n @Prop() enableOffline = false;\n @Prop() defaultBackgroundLayerUrl;\n @Prop() defaultBackgroundLayerAttribution;\n @Prop() globalTilesMinZoomOffline = 0;\n @Prop() globalTilesMaxZoomOffline = 11;\n @Prop() tilesMinZoomOffline = 12;\n @Prop() tilesMaxZoomOffline = 16;\n @Prop() grwApp = false;\n @Prop() rounded = true;\n\n @State() offline = false;\n @State() displayFullscreen = false;\n @State() currentOutdoorSite: OutdoorSite;\n @State() sources: Sources;\n\n @Event() informationPlacesIsInViewport: EventEmitter<boolean>;\n @Event() poiIsInViewport: EventEmitter<boolean>;\n @Event() touristicContentsIsInViewport: EventEmitter<boolean>;\n @Event() touristicEventsIsInViewport: EventEmitter<boolean>;\n @Event() sitesIsInViewport: EventEmitter<boolean>;\n @Event() coursesIsInViewport: EventEmitter<boolean>;\n\n outdoorSiteDetailContainerRef?: HTMLElement;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n swiperImages?: Swiper;\n\n relatedOutdoorSitesRef: HTMLDivElement;\n swiperRelatedOutdoorSitesRef: HTMLDivElement;\n swiperRelatedOutdoorSites: Swiper;\n relatedOutdoorSitesSwiperScrollbar: HTMLDivElement;\n\n relatedOutdoorCoursesRef: HTMLDivElement;\n swiperRelatedOutdoorCoursesRef: HTMLDivElement;\n swiperRelatedOutdoorCourses: Swiper;\n relatedOutdoorCoursesSwiperScrollbar: HTMLDivElement;\n\n informationPlacesRef: HTMLDivElement;\n swiperInformationDesksRef: HTMLDivElement;\n swiperInformationDesks: Swiper;\n informationDesksContentsSwiperScrollbar: HTMLDivElement;\n\n swiperTouristicContents?: Swiper;\n swiperTouristicEvents?: Swiper;\n swiperTouristicContentsRef?: HTMLDivElement;\n swiperTouristicEventsRef?: HTMLDivElement;\n touristicContentsRef?: HTMLDivElement;\n touristicEventsRef?: HTMLDivElement;\n sitesRef?: HTMLDivElement;\n coursesRef?: HTMLDivElement;\n\n touristicContentsSwiperScrollbar?: HTMLDivElement;\n touristicEventsSwiperScrollbar?: HTMLDivElement;\n swiperPois?: Swiper;\n swiperPoisRef?: HTMLDivElement;\n poiRef?: HTMLDivElement;\n poisOptionRef?: HTMLAnchorElement;\n poisSwiperScrollbar?: HTMLDivElement;\n\n presentationRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n recommendationRef?: HTMLDivElement;\n\n informationPlacesObserver: IntersectionObserver;\n poiObserver: IntersectionObserver;\n touristicContentObserver: IntersectionObserver;\n touristicEventObserver: IntersectionObserver;\n siteObserver: IntersectionObserver;\n courseObserver: IntersectionObserver;\n\n @Event() downloadConfirm: EventEmitter<number>;\n @Event() downloadedSuccessConfirm: EventEmitter<number>;\n\n @Event() deleteConfirm: EventEmitter<number>;\n @Event() deleteSuccessConfirm: EventEmitter<number>;\n\n @State() showTouristicContentDetailsModal = false;\n @State() showTouristicEventDetailsModal = false;\n @State() modalDetailsId = null;\n\n @Listen('closeDetailsModal', { target: 'window' })\n onCloseDetailsModal() {\n document.body.style.overflow = `visible`;\n state.currentTouristicContent = null;\n state.currentTouristicEvent = null;\n this.modalDetailsId = null;\n if (this.showTouristicContentDetailsModal) {\n this.showTouristicContentDetailsModal = false;\n } else {\n this.showTouristicEventDetailsModal = false;\n }\n document.body.getElementsByTagName('grw-details-modal')[0].remove();\n }\n\n @Listen('touristicEventCardPress', { target: 'window' })\n onTouristiceEventCardPress(touristicEventId) {\n if (!this.grwApp) {\n this.modalDetailsId = touristicEventId.detail;\n this.onOpenDetailsModal('TouristicContent');\n const modal = document.createElement('grw-details-modal');\n modal.setAttribute('font-family', this.fontFamily);\n modal.setAttribute('color-background', this.colorBackground);\n modal.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modal.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modal.setAttribute('rounded', this.rounded.toString());\n const modalContent = document.createElement('grw-touristic-event-detail');\n modalContent.setAttribute('font-family', this.fontFamily);\n modalContent.setAttribute('color-primary-app', this.colorPrimaryApp);\n modalContent.setAttribute('color-on-surface', this.colorOnSurface);\n modalContent.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modalContent.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modalContent.setAttribute('color-secondary-container', this.colorSecondaryContainer);\n modalContent.setAttribute('color-on-secondary-container', this.colorOnSecondaryContainer);\n modalContent.setAttribute('color-surface-container-low', this.colorSurfaceContainerLow);\n modalContent.setAttribute('color-background', this.colorBackground);\n modal.append(modalContent);\n document.body.append(modal);\n }\n }\n\n @Listen('touristicContentCardPress', { target: 'window' })\n onTouristicContentCardPress(touristicContentId) {\n if (!this.grwApp) {\n this.modalDetailsId = touristicContentId.detail;\n this.onOpenDetailsModal('touristicContent');\n const modal = document.createElement('grw-details-modal');\n modal.setAttribute('font-family', this.fontFamily);\n modal.setAttribute('color-background', this.colorBackground);\n modal.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modal.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modal.setAttribute('rounded', this.rounded.toString());\n const modalContent = document.createElement('grw-touristic-content-detail');\n modalContent.setAttribute('font-family', this.fontFamily);\n modalContent.setAttribute('color-primary-app', this.colorPrimaryApp);\n modalContent.setAttribute('color-on-surface', this.colorOnSurface);\n modalContent.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modalContent.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modalContent.setAttribute('color-secondary-container', this.colorSecondaryContainer);\n modalContent.setAttribute('color-on-secondary-container', this.colorOnSecondaryContainer);\n modalContent.setAttribute('color-surface-container-low', this.colorSurfaceContainerLow);\n modalContent.setAttribute('color-background', this.colorBackground);\n modal.append(modalContent);\n document.body.append(modal);\n }\n }\n\n onOpenDetailsModal(modalDetails: 'touristicContent' | 'TouristicContent') {\n document.body.style.overflow = `hidden`;\n if (modalDetails === 'touristicContent') {\n this.showTouristicContentDetailsModal = true;\n } else {\n this.showTouristicEventDetailsModal = true;\n }\n }\n\n @Listen('downloadPress', { target: 'window' })\n onDownloadPress() {\n this.downloadRootOutdoorSite();\n }\n\n @Listen('deletePress', { target: 'window' })\n onDeletePress() {\n this.deleteOutdoorSite();\n }\n\n handleObservers() {\n if (this.informationPlacesRef && !this.informationPlacesObserver) {\n this.informationPlacesObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.informationPlacesIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.informationPlacesObserver.observe(this.informationPlacesRef);\n }\n\n if (this.poiRef && !this.poiObserver) {\n this.poiObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.poiIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.poiObserver.observe(this.poiRef);\n }\n\n if (this.touristicContentsRef && !this.touristicContentObserver) {\n this.touristicContentObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicContentsIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.touristicContentObserver.observe(this.touristicContentsRef);\n }\n if (this.touristicEventsRef && !this.touristicEventObserver) {\n this.touristicEventObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicEventsIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.touristicEventObserver.observe(this.touristicEventsRef);\n }\n if (this.sitesRef && !this.siteObserver) {\n this.siteObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.sitesIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.siteObserver.observe(this.sitesRef);\n }\n if (this.coursesRef && !this.courseObserver) {\n this.courseObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.coursesIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.courseObserver.observe(this.coursesRef);\n }\n }\n\n handleSwipers() {\n if (this.swiperImagesRef && !this.swiperImages) {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n }\n if (this.swiperRelatedOutdoorSitesRef && !this.swiperRelatedOutdoorSites) {\n this.swiperRelatedOutdoorSites = new Swiper(this.swiperRelatedOutdoorSitesRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.relatedOutdoorSitesSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperInformationDesksRef && !this.swiperInformationDesks) {\n this.swiperInformationDesks = new Swiper(this.swiperInformationDesksRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.informationDesksContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperRelatedOutdoorCoursesRef && !this.swiperRelatedOutdoorCourses) {\n this.swiperRelatedOutdoorCourses = new Swiper(this.swiperRelatedOutdoorCoursesRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.relatedOutdoorCoursesSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperTouristicContentsRef && !this.swiperTouristicContents) {\n this.swiperTouristicContents = new Swiper(this.swiperTouristicContentsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperTouristicEventsRef && !this.swiperTouristicEvents) {\n this.swiperTouristicEvents = new Swiper(this.swiperTouristicEventsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicEventsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperPoisRef && !this.swiperPois) {\n this.swiperPois = new Swiper(this.swiperPoisRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.poisSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n }\n\n componentDidUpdate() {\n this.handleObservers();\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.handleObservers();\n this.handleSwipers();\n }\n\n async connectedCallback() {\n if (state.currentOutdoorSite) {\n this.sources = state.sources.filter(source => state.currentOutdoorSite.source.includes(source.id));\n this.currentOutdoorSite = state.currentOutdoorSite;\n this.offline = this.currentOutdoorSite.offline;\n }\n\n onChange('currentOutdoorSite', async () => {\n if (state.currentOutdoorSite) {\n this.sources = state.sources.filter(source => state.currentOutdoorSite.source.includes(source.id));\n this.currentOutdoorSite = state.currentOutdoorSite;\n this.offline = this.currentOutdoorSite.offline;\n }\n });\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (this.currentOutdoorSite.attachments && this.currentOutdoorSite.attachments[0] && this.currentOutdoorSite.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n displayDownloadModal() {\n this.downloadConfirm.emit();\n }\n\n displayDeleteModal() {\n this.deleteConfirm.emit();\n }\n\n async downloadRootOutdoorSite() {\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: signal };\n\n if (!state.outdoorSites) {\n const outdoorSitesList = await getOutdoorSites(\n state.api,\n state.language,\n state.inBboxFromProviders,\n state.citiesFromProviders,\n state.districtsFromProviders,\n state.structuresFromProviders,\n state.themesFromProviders,\n state.portalsFromProviders,\n init,\n );\n state.outdoorSites = (await outdoorSitesList.json()).results;\n state.currentOutdoorSites = state.outdoorSites;\n }\n\n const offlineOutdoorSites = (await getAllDataInStore('outdoorSites')).filter(outdoorSite => outdoorSite.offline === true);\n let outdoorSites;\n outdoorSites = state.outdoorSites;\n outdoorSites = outdoorSites.filter(outdoorSite => offlineOutdoorSites.findIndex(offlineOutdoorSites => offlineOutdoorSites.id === outdoorSite.id) === -1);\n await writeOrUpdateDataInStore('outdoorSites', outdoorSites);\n\n await this.downloadGlobalTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution);\n await this.downloadOutdoorSiteTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution, this.currentOutdoorSite.geometry);\n\n await writeOrUpdateFilesInStore(state.themes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.outdoorSiteTypes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.outdoorPractices, imagesRegExp);\n await writeOrUpdateFilesInStore(state.sources, imagesRegExp);\n\n await writeOrUpdateFilesInStore(this.currentOutdoorSite, imagesRegExp, true, ['url']);\n\n await writeOrUpdateDataInStore('cities', state.cities);\n await writeOrUpdateDataInStore('districts', state.districts);\n await writeOrUpdateDataInStore('themes', state.themes);\n await writeOrUpdateDataInStore('outdoorSiteTypes', state.outdoorSiteTypes);\n await writeOrUpdateDataInStore('outdoorPractices', state.outdoorPractices);\n await writeOrUpdateDataInStore('outdoorRatings', state.outdoorRatings);\n await writeOrUpdateDataInStore('outdoorRatingsScale', state.outdoorRatingsScale);\n await writeOrUpdateDataInStore('pois', state.currentPois);\n await writeOrUpdateDataInStore('poiTypes', state.poiTypes);\n await writeOrUpdateDataInStore('informationDesks', state.currentInformationDesks);\n await writeOrUpdateDataInStore('outdoorCourseTypes', state.outdoorCourseTypes);\n await writeOrUpdateDataInStore('touristicEventTypes', state.touristicEventTypes);\n await writeOrUpdateDataInStore('touristicContentCategories', state.touristicContentCategories);\n await writeOrUpdateDataInStore('sources', state.sources);\n\n await writeOrUpdateFilesInStore(state.currentPois, imagesRegExp, true, ['url']);\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp, true);\n await writeOrUpdateFilesInStore(state.outdoorCourseTypes, imagesRegExp, true);\n await writeOrUpdateFilesInStore(state.touristicContentCategories, imagesRegExp, true);\n\n await writeOrUpdateFilesInStore(state.trekTouristicContents, imagesRegExp, true, ['url']);\n state.trekTouristicContents.forEach(trekTouristicContent => {\n trekTouristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', state.trekTouristicContents);\n\n await writeOrUpdateFilesInStore(state.trekTouristicEvents, imagesRegExp, true, ['url']);\n state.trekTouristicEvents.forEach(trekTouristicEvent => {\n trekTouristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', state.trekTouristicEvents);\n\n if (state.currentOutdoorSite.courses && state.currentOutdoorSite.courses.length > 0) {\n for (let index = 0; index < state.currentOutdoorSite.courses.length; index++) {\n const outdoorCourseId = state.currentOutdoorSite.courses[index];\n await this.downloadOutdoorCourse(outdoorCourseId);\n }\n }\n\n if (this.currentOutdoorSite.children && this.currentOutdoorSite.children.length > 0) {\n for (let index = 0; index < this.currentOutdoorSite.children.length; index++) {\n const outdoorSiteId = this.currentOutdoorSite.children[index];\n await this.downloadOutdoorSite(outdoorSiteId);\n }\n }\n\n await writeOrUpdateDataInStore('outdoorSites', [\n {\n ...this.currentOutdoorSite,\n offline: true,\n pois: state.currentPois.map(poi => poi.id),\n touristicContents: state.trekTouristicContents.map(trekTouristicContent => trekTouristicContent.id),\n touristicEvents: state.trekTouristicEvents.map(trekTouristicEvent => trekTouristicEvent.id),\n },\n ]);\n\n state.outdoorSites.find(outdoorSite => outdoorSite.id === this.currentOutdoorSite.id).offline = true;\n state.currentOutdoorSites.find(currentOutdoorSite => currentOutdoorSite.id === this.currentOutdoorSite.id).offline = true;\n if (this.swiperImages) {\n this.swiperImages.slideTo(0);\n }\n this.offline = true;\n this.downloadedSuccessConfirm.emit();\n }\n\n async downloadOutdoorSite(outdoorSiteId) {\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: signal };\n\n const outdoorSite: OutdoorSite = await getOutdoorSite(state.api, state.language, outdoorSiteId, init).then(response => response.json());\n await this.downloadOutdoorSiteTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution, outdoorSite.geometry);\n await writeOrUpdateFilesInStore(outdoorSite, imagesRegExp, true, ['url']);\n\n const pois = (await getPoisNearSite(state.api, state.language, outdoorSiteId, init).then(response => response.json())).results;\n await writeOrUpdateDataInStore('pois', pois);\n await writeOrUpdateFilesInStore(pois, imagesRegExp, true, ['url']);\n\n const touristicContents = (await getTouristicContentsNearOutdoorSite(state.api, state.language, outdoorSiteId, init).then(response => response.json())).results;\n await writeOrUpdateFilesInStore(touristicContents, imagesRegExp, true, ['url']);\n touristicContents.forEach(touristicContent => {\n touristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', touristicContents);\n const touristicEvents = (await getTouristicEventsNearOutdoorSite(state.api, state.language, outdoorSiteId, init).then(response => response.json())).results;\n await writeOrUpdateFilesInStore(touristicEvents, imagesRegExp, true, ['url']);\n touristicEvents.forEach(touristicEvent => {\n touristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', touristicEvents);\n\n await writeOrUpdateDataInStore('outdoorSites', [\n {\n ...outdoorSite,\n offline: true,\n pois: pois.map(poi => poi.id),\n touristicContents: touristicContents.map(trekTouristicContent => trekTouristicContent.id),\n touristicEvents: touristicEvents.map(trekTouristicEvent => trekTouristicEvent.id),\n },\n ]);\n\n if (outdoorSite.courses && outdoorSite.courses.length > 0) {\n for (let index = 0; index < outdoorSite.courses.length; index++) {\n const outdoorCourseId = outdoorSite.courses[index];\n await this.downloadOutdoorCourse(outdoorCourseId);\n }\n }\n\n if (outdoorSite.children && outdoorSite.children.length > 0) {\n for (let index = 0; index < outdoorSite.children.length; index++) {\n const outdoorSiteId = outdoorSite.children[index];\n await this.downloadOutdoorSite(outdoorSiteId);\n }\n }\n }\n\n async downloadOutdoorCourse(outdoorCourseId) {\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: signal };\n const outdoorCourse = await getOutdoorCourse(state.api, state.language, outdoorCourseId, init).then(response => response.json());\n await this.downloadOutdoorSiteTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution, outdoorCourse.geometry);\n await writeOrUpdateFilesInStore(outdoorCourse, imagesRegExp, true, ['url']);\n\n const pois = (await getPoisNearCourse(state.api, state.language, outdoorCourseId, init).then(response => response.json())).results;\n await writeOrUpdateDataInStore('pois', pois);\n await writeOrUpdateFilesInStore(pois, imagesRegExp, true, ['url']);\n\n const touristicContents = (await getTouristicContentsNearOutdoorCourse(state.api, state.language, outdoorCourseId, init).then(response => response.json())).results;\n await writeOrUpdateFilesInStore(touristicContents, imagesRegExp, true, ['url']);\n touristicContents.forEach(touristicContent => {\n touristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', touristicContents);\n const touristicEvents = (await getTouristicEventsNearOutdoorCourse(state.api, state.language, outdoorCourseId, init).then(response => response.json())).results;\n await writeOrUpdateFilesInStore(touristicEvents, imagesRegExp, true, ['url']);\n touristicEvents.forEach(touristicEvent => {\n touristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', touristicEvents);\n\n await writeOrUpdateDataInStore('outdoorCourses', [\n {\n ...outdoorCourse,\n offline: true,\n pois: pois.map(poi => poi.id),\n touristicContents: touristicContents.map(trekTouristicContent => trekTouristicContent.id),\n touristicEvents: touristicEvents.map(trekTouristicEvent => trekTouristicEvent.id),\n },\n ]);\n }\n\n async deleteOutdoorSite() {\n const outdoorSitesInStore: OutdoorSites = [];\n const outdoorSiteInStore = await getDataInStore('outdoorSites', this.currentOutdoorSite.id);\n this.deleteOfflineOutdoorSiteProperties(outdoorSiteInStore);\n outdoorSitesInStore.push(outdoorSiteInStore);\n\n await writeOrUpdateDataInStore('outdoorSites', outdoorSitesInStore);\n\n if (state.outdoorSites) {\n delete state.outdoorSites.find(outdoorSite => outdoorSite.id === this.currentOutdoorSite.id).offline;\n\n if (!state.currentOutdoorSites) {\n state.currentOutdoorSites = state.outdoorSites;\n }\n delete state.currentOutdoorSites.find(trek => trek.id === this.currentOutdoorSite.id).offline;\n }\n\n this.offline = false;\n this.deleteSuccessConfirm.emit();\n }\n\n async downloadGlobalTiles(url, attribution) {\n const offlineLayer = tileLayerOffline(url, { attribution });\n\n const coordinates = [];\n\n if (state.outdoorSites) {\n for (const outdoorSite of state.outdoorSites) {\n coordinates.push(pointOnFeature(outdoorSite.geometry as any).geometry.coordinates);\n }\n }\n\n const bounds = L.latLngBounds(coordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n\n await writeOrUpdateTilesInStore(offlineLayer, bounds, this.globalTilesMinZoomOffline, this.globalTilesMaxZoomOffline);\n }\n\n async downloadOutdoorSiteTiles(url, attribution, geometry) {\n const offlineLayer = tileLayerOffline(url, { attribution });\n const outdoorSiteBbox = bbox(geometry);\n const bounds = L.latLngBounds([outdoorSiteBbox[1], outdoorSiteBbox[0]], [outdoorSiteBbox[3], outdoorSiteBbox[2]]);\n\n await writeOrUpdateTilesInStore(offlineLayer, bounds, this.tilesMinZoomOffline, this.tilesMaxZoomOffline);\n }\n\n deleteOfflineOutdoorSiteProperties(outdoorSiteInStore) {\n delete outdoorSiteInStore.offline;\n delete outdoorSiteInStore.pois;\n delete outdoorSiteInStore.touristicContents;\n delete outdoorSiteInStore.touristicEvents;\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const practice = state.outdoorPractices && this.currentOutdoorSite && state.outdoorPractices.find(practice => practice.id === this.currentOutdoorSite.practice);\n const city = state.cities && this.currentOutdoorSite && state.cities.find(city => city.id === this.currentOutdoorSite.cities[0]);\n const outdoorRatings =\n state.outdoorRatings && this.currentOutdoorSite && state.outdoorRatings.filter(outdoorRating => this.currentOutdoorSite.ratings.includes(outdoorRating.id));\n const currentOutdoorSitesRatingsScales = outdoorRatings && [...new Set(outdoorRatings.map(outdoorRating => outdoorRating.scale))];\n const outdoorRatingsScales =\n currentOutdoorSitesRatingsScales && state.outdoorRatingsScale.filter(outdoorRatingsScale => currentOutdoorSitesRatingsScales.includes(outdoorRatingsScale.id));\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '164px'\n : '124px',\n }}\n >\n {this.currentOutdoorSite && (\n <div part=\"outdoor-site-detail-container\" class=\"outdoor-site-detail-container\" ref={el => (this.outdoorSiteDetailContainerRef = el)}>\n <div part=\"outdoor-site-images-container\" class=\"outdoor-site-images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.currentOutdoorSite.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n this.currentOutdoorSite.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"outdoor-site-close-fullscreen-button\" class=\"outdoor-site-close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n <span part=\"outdoor-site-close-fullcreen-icon\" class=\"outdoor-site-close-fullcreen-icon\" innerHTML={CloseIcon}></span>\n </div>\n )}\n <div part=\"outdoor-site-image-legend\" class=\"outdoor-site-image-legend\">\n {legend}\n </div>\n <img\n part=\"outdoor-site-img\"\n class=\"outdoor-site-img\"\n src={this.offline && attachment.thumbnail !== '' ? attachment.thumbnail : attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'outdoor-site-img default-outdoor-site-img';\n event.target.src = defaultImageSrc;\n }}\n alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <img part=\"outdoor-site-img\" class=\"outdoor-site-img default-outdoor-site-img\" src={defaultImageSrc} loading=\"lazy\" alt=\"\" />\n )}\n </div>\n <div>\n <div part=\"swiper-pagination\" class=\"swiper-pagination\" ref={el => (this.paginationElImagesRef = el)}></div>\n <div part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElImagesRef = el)}></div>\n <div part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElImagesRef = el)}></div>\n </div>\n </div>\n </div>\n <div part=\"outdoor-site-name\" class=\"outdoor-site-name\">\n {this.currentOutdoorSite.name}\n </div>\n {state.themes && state.themes.filter(theme => this.currentOutdoorSite.themes.includes(theme.id)).length > 0 && (\n <div part=\"themes-container\" class=\"themes-container\">\n {state.themes\n .filter(theme => this.currentOutdoorSite.themes.includes(theme.id))\n .map(theme => (\n <div part=\"theme\" class=\"theme\">\n {theme.label}\n </div>\n ))}\n </div>\n )}\n <div part=\"sub-container\" class=\"sub-container\">\n <div part=\"icons-labels-container\" class=\"icons-labels-container\">\n {practice && (\n <div part=\"icon-label\" class=\"icon-label practice\">\n {practice.pictogram && <img part=\"icon\" class=\"icon\" src={practice.pictogram} alt=\"\" />}\n <span part=\"label\" class=\"label\">\n {practice.name}\n </span>\n </div>\n )}\n {this.currentOutdoorSite.orientation && this.currentOutdoorSite.orientation.length > 0 && (\n <div part=\"row\" class=\"row\">\n <span part=\"icon\" class=\"icon\" innerHTML={ExploreIcon}></span>\n <span part=\"label\" class=\"label\">\n {this.currentOutdoorSite.orientation.map(orientation => translate[state.language].cardinalPoints[orientation.toLowerCase()]).join(', ')}\n </span>\n </div>\n )}\n {this.currentOutdoorSite.wind && this.currentOutdoorSite.wind.length > 0 && (\n <div part=\"row\" class=\"row\">\n <span part=\"icon\" class=\"icon\" innerHTML={AirIcon}></span>\n <span part=\"label\" class=\"label\">\n {this.currentOutdoorSite.wind.map(wind => translate[state.language].cardinalPoints[wind.toLowerCase()]).join(', ')}\n </span>\n </div>\n )}\n {this.currentOutdoorSite.period && (\n <div part=\"row\" class=\"row\">\n <span part=\"icon\" class=\"icon\" innerHTML={EventIcon}></span>\n <span part=\"label\" class=\"label\">\n {this.currentOutdoorSite.period}\n </span>\n </div>\n )}\n {outdoorRatings &&\n outdoorRatingsScales.map(outdoorRatingsScale => (\n <div part=\"row\" class=\"row\">\n {`${outdoorRatingsScale.name} : ${outdoorRatings\n .filter(outdoorRating => outdoorRating.scale === outdoorRatingsScale.id)\n .map(rating => rating.name)\n .join(', ')}`}\n </div>\n ))}\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].downloads}\n </div>\n {this.enableOffline && !this.offline && (!this.currentOutdoorSite.parents || this.currentOutdoorSite.parents.length === 0) && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayDownloadModal()}>\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadForOfflineIcon}></span>\n <span part=\"label\" class=\"label\">\n RENDRE DISPONIBLE HORS LIGNE\n </span>\n </button>\n )}\n {this.enableOffline && this.offline && (!this.currentOutdoorSite.parents || this.currentOutdoorSite.parents.length === 0) && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayDeleteModal()}>\n <span part=\"icon\" class=\"icon\" innerHTML={DeleteIcon}></span>\n <span part=\"label\" class=\"label\">\n SUPPRIMER DU HORS LIGNE\n </span>\n </button>\n )}\n <div part=\"links-container\" class=\"links-container\">\n <a\n href={`${this.currentOutdoorSite.pdf}${state.portalsFromProviders && state.portalsFromProviders.length === 1 ? '?portal=' + state.portalsFromProviders[0] : ''}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n PDF\n </span>\n </a>\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentOutdoorSite.description_teaser && <div part=\"description-teaser\" class=\"description-teaser\" innerHTML={this.currentOutdoorSite.description_teaser}></div>}\n {this.currentOutdoorSite.ambiance && <div part=\"ambiance\" class=\"ambiance\" innerHTML={this.currentOutdoorSite.ambiance}></div>}\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentOutdoorSite.description && (\n <div part=\"description-container\" class=\"description-container\">\n <div part=\"description-title\" class=\"description-title\" ref={el => (this.descriptionRef = el)}>\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={this.currentOutdoorSite.description}></div>\n </div>\n )}\n {this.currentOutdoorSite.cities && this.currentOutdoorSite.cities.length > 0 && (\n <div part=\"departure-container\" class=\"departure-container\">\n <div part=\"departure-title\" class=\"departure-title\">\n {translate[state.language].departure} :&nbsp;\n </div>\n <div part=\"departure\" innerHTML={city.name}></div>\n </div>\n )}\n {this.currentOutdoorSite.cities && this.currentOutdoorSite.cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].crossedCities} :&nbsp;\n </div>\n <div part=\"cities\" innerHTML={this.currentOutdoorSite.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name).join(', ')}></div>\n </div>\n )}\n {state.currentPois && state.currentPois.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"pois-container\" class=\"pois-container\">\n <div part=\"pois-title\" class=\"pois-title\" ref={el => (this.poiRef = el)}>\n {translate[state.language].pois(state.currentPois.length)}\n </div>\n <div part=\"swiper-pois\" class=\"swiper swiper-pois\" ref={el => (this.swiperPoisRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentPois.map(poi => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-poi\n exportparts=\"poi-type-img-container,poi-type,swiper-poi,swiper-wrapper,swiper-slide,poi-img,default-poi-img,swiper-pagination,swiper-button-prev,swiper-button-next,poi-sub-container,poi-name,poi-description,handle-poi-description\"\n poi={poi}\n ></grw-poi>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.poisSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.currentOutdoorSite.advice && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"advice-container\" class=\"advice-container\">\n <div part=\"advice-title\" class=\"advice-title\" ref={el => (this.recommendationRef = el)}>\n {translate[state.language].recommendations}\n </div>\n {this.currentOutdoorSite.advice && (\n <div part=\"current-advice-container\" class=\"current-advice-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={WarningIcon}></span>\n <div part=\"advice\" class=\"advice\" innerHTML={this.currentOutdoorSite.advice}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {this.currentOutdoorSite.accessibility && this.currentOutdoorSite.accessibility !== '' && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"accessibilities-container\" class=\"accessibilities-container\">\n <div part=\"accessibilites-title\" class=\"accessibilities-title\">\n {translate[state.language].accessibility}\n </div>\n <div part=\"accessibilities\" innerHTML={this.currentOutdoorSite.accessibility}></div>\n </div>\n </div>\n )}\n {state.currentRelatedOutdoorSites && state.currentRelatedOutdoorSites.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"related-outdoor-sites-container\" class=\"related-outdoor-sites-container\">\n <div part=\"related-outdoor-sites-title\" class=\"related-outdoor-sites-title\" ref={el => (this.sitesRef = el)}>\n {translate[state.language].relatedOutdoorSites(state.currentRelatedOutdoorSites.length)}\n </div>\n <div part=\"swiper-related-outdoor-sites\" class=\"swiper swiper-related-outdoor-sites\" ref={el => (this.swiperRelatedOutdoorSitesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentRelatedOutdoorSites.map(relatedOutdoorSite => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-outdoor-site-card\n exportparts=\"related-outdoor-sites-card,related-outdoor-sites-img-container,swiper-related-outdoor-sites,swiper-wrapper,swiper-slide,related-outdoor-sites-img,default-related-outdoor-sites-img,swiper-pagination,swiper-button-prev,swiper-button-next,related-outdoor-sites-sub-container,related-outdoor-sites-sub-container,related-outdoor-sites-type-img,related-outdoor-sites-type-name,related-outdoor-sites-name,related-outdoor-sites-date-container,related-outdoor-sites-date,related-outdoor-sites-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n outdoorSite={relatedOutdoorSite}\n isInsideHorizontalList={true}\n ></grw-outdoor-site-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.relatedOutdoorSitesSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.currentRelatedOutdoorCourses && state.currentRelatedOutdoorCourses.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"related-outdoor-courses-container\" class=\"related-outdoor-courses-container\">\n <div part=\"related-outdoor-courses-title\" class=\"related-outdoor-courses-title\" ref={el => (this.coursesRef = el)}>\n {translate[state.language].relatedOutdoorCourses(state.currentRelatedOutdoorCourses.length)}\n </div>\n <div part=\"swiper-related-outdoor-courses\" class=\"swiper swiper-related-outdoor-courses\" ref={el => (this.swiperRelatedOutdoorCoursesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentRelatedOutdoorCourses.map(relatedOutdoorCourse => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-outdoor-course-card\n exportparts=\"related-outdoor-courses-card,related-outdoor-courses-img-container,swiper-related-outdoor-courses,swiper-wrapper,swiper-slide,related-outdoor-courses-img,default-related-outdoor-courses-img,swiper-pagination,swiper-button-prev,swiper-button-next,related-outdoor-courses-sub-container,related-outdoor-courses-sub-container,related-outdoor-courses-type-img,related-outdoor-courses-type-name,related-outdoor-courses-name,related-outdoor-courses-date-container,related-outdoor-courses-date,related-outdoor-courses-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n outdoorCourse={relatedOutdoorCourse}\n isInsideHorizontalList={true}\n ></grw-outdoor-course-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.relatedOutdoorCoursesSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentOutdoorSite.information_desks.includes(currentInformationDesks.id)).length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"information-desks-container\" class=\"information-desks-container\">\n <div part=\"information-desks-title\" class=\"information-desks-title\" ref={el => (this.informationPlacesRef = el)}>\n {translate[state.language].informationPlaces}\n </div>\n <div part=\"swiper-information-desks\" class=\"swiper swiper-information-desks\" ref={el => (this.swiperInformationDesksRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentInformationDesks\n .filter(currentInformationDesks => this.currentOutdoorSite.information_desks.includes(currentInformationDesks.id))\n .map(informationDesk => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-information-desk\n exportparts=\"information-desk-img-container,information-desk-img,information-desk-sub-container,information-desk-name,center-on-map-button,icon,label,information-desk-informations,phone-container,mail-container,link-container,information-desk-description-container,information-desk-description,handle-information-desk-description\"\n informationDesk={informationDesk}\n ></grw-information-desk>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.informationDesksContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.trekTouristicContents && state.trekTouristicContents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-content-container\" class=\"touristic-content-container\">\n <div part=\"touristic-content-title\" class=\"touristic-content-title\" ref={el => (this.touristicContentsRef = el)}>\n {translate[state.language].touristicContents(state.trekTouristicContents.length)}\n </div>\n <div part=\"swiper-touristic-content\" class=\"swiper swiper-touristic-content\" ref={el => (this.swiperTouristicContentsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicContents.map(touristicContent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-content-card\n exportparts=\"touristic-content-card,touristic-content-img-container,swiper-touristic-content,swiper-wrapper,swiper-slide,touristic-content-img,default-touristic-content-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-content-sub-container,touristic-content-category-container,touristic-content-category-img,touristic-content-category-name,touristic-content-name,touristic-content-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicContent={touristicContent}\n isInsideHorizontalList={true}\n colorSurfaceContainerLow={this.colorSurfaceContainerLow}\n ></grw-touristic-content-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.trekTouristicEvents && state.trekTouristicEvents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-event-container\" class=\"touristic-event-container\">\n <div part=\"touristic-event-title\" class=\"touristic-event-title\" ref={el => (this.touristicEventsRef = el)}>\n {translate[state.language].touristicEvents(state.trekTouristicEvents.length)}\n </div>\n <div part=\"swiper-touristic-event\" class=\"swiper swiper-touristic-event\" ref={el => (this.swiperTouristicEventsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicEvents.map(touristicEvent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-event-card\n exportparts=\"touristic-event-card,touristic-event-img-container,swiper-touristic-event,swiper-wrapper,swiper-slide,touristic-event-img,default-touristic-event-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-event-sub-container,touristic-event-sub-container,touristic-event-type-img,touristic-event-type-name,touristic-event-name,touristic-event-date-container,touristic-event-date,touristic-event-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicEvent={touristicEvent}\n isInsideHorizontalList={true}\n colorSurfaceContainerLow={this.colorSurfaceContainerLow}\n ></grw-touristic-event-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicEventsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.weather && city && !this.offline && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weather-container\" class=\"weather-container\">\n <iframe height=\"150\" frameborder=\"0\" src={`https://meteofrance.com/widget/prevision/${city.id}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n </div>\n )}\n {this.currentOutdoorSite.web_links && this.currentOutdoorSite.web_links.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weblinks-container\" class=\"weblinks-container\">\n <div part=\"weblinks-title\" class=\"weblinks-title\">\n {translate[state.language].learnMore}\n </div>\n {this.currentOutdoorSite.web_links.map(weblink => (\n <a part=\"weblink-container\" class=\"weblink-container\" href={weblink.url} target=\"_blank\" rel=\"noopener noreferrer\">\n {weblink.category && weblink.category.pictogram && <img src={weblink.category.pictogram} alt={weblink.category.label} />}\n {weblink.name}\n </a>\n ))}\n </div>\n </div>\n )}\n {this.currentOutdoorSite.source && this.currentOutdoorSite.source.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"source-container\" class=\"source-container\">\n <div part=\"source-title\" class=\"source-title\">\n {translate[state.language].sources}\n </div>\n {this.sources.map(source => (\n <div part=\"source-sub-container\" class=\"source-sub-container\">\n {source.pictogram && <img src={source.pictogram} alt=\"\" />}\n <div>\n <div part=\"source-name\" class=\"source-name\" innerHTML={source.name}></div>\n <a part=\"source-advice\" class=\"source-advice\" href={source.website} innerHTML={source.website}></a>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n {this.grwApp && <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>}\n </div>\n )}\n {this.modalDetailsId && (\n <Fragment>\n {this.showTouristicContentDetailsModal && <grw-touristic-content-provider api={state.api} touristic-content-id={this.modalDetailsId}></grw-touristic-content-provider>}\n {this.showTouristicEventDetailsModal && <grw-touristic-event-provider api={state.api} touristic-event-id={this.modalDetailsId}></grw-touristic-event-provider>}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"grw-outdoor-site-detail.js","sourceRoot":"","sources":["../../../src/components/grw-outdoor-site-detail/grw-outdoor-site-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Build, Component, Host, Prop, State, getAssetPath, h, Event, EventEmitter, Listen, Fragment } from '@stencil/core';\nimport { OutdoorSite } from 'components';\nimport state, { onChange } from 'store/store';\nimport Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel, Scrollbar } from 'swiper';\nimport CloseIcon from '../../assets/close.svg';\nimport { translate } from 'i18n/i18n';\nimport DownloadIcon from '../../assets/download.svg';\nimport EventIcon from '../../assets/event.svg';\nimport WarningIcon from '../../assets/warning.svg';\nimport AirIcon from '../../assets/air.svg';\nimport ExploreIcon from '../../assets/explore.svg';\nimport DownloadForOfflineIcon from '../../assets/download_for_offline.svg';\nimport DeleteIcon from '../../assets/delete.svg';\nimport { getAllDataInStore, getDataInStore, writeOrUpdateDataInStore, writeOrUpdateFilesInStore, writeOrUpdateTilesInStore } from 'services/grw-db.service';\nimport { imagesRegExp } from 'utils/utils';\nimport { getOutdoorSite, getOutdoorSites, getPoisNearSite } from 'services/outdoor-sites.service';\nimport { tileLayerOffline } from 'leaflet.offline';\nimport L from 'leaflet';\nimport bbox from '@turf/bbox';\nimport pointOnFeature from '@turf/point-on-feature';\nimport { OutdoorSites, Sources } from 'types/types';\nimport { getTouristicContentsNearOutdoorCourse, getTouristicContentsNearOutdoorSite } from 'services/touristic-contents.service';\nimport { getTouristicEventsNearOutdoorCourse, getTouristicEventsNearOutdoorSite } from 'services/touristic-events.service';\nimport { getOutdoorCourse, getPoisNearCourse } from 'services/outdoor-courses.service';\n\nconst threshold = 1;\n\n@Component({\n tag: 'grw-outdoor-site-detail',\n styleUrl: 'grw-outdoor-site-detail.scss',\n shadow: true,\n})\nexport class GrwOutdoorSiteDetail {\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n @Prop() isLargeView = false;\n @Prop() weather = false;\n @Prop() enableOffline = false;\n @Prop() defaultBackgroundLayerUrl;\n @Prop() defaultBackgroundLayerAttribution;\n @Prop() globalTilesMinZoomOffline = 0;\n @Prop() globalTilesMaxZoomOffline = 11;\n @Prop() tilesMinZoomOffline = 12;\n @Prop() tilesMaxZoomOffline = 16;\n @Prop() grwApp = false;\n @Prop() rounded = true;\n\n @State() offline = false;\n @State() displayFullscreen = false;\n @State() currentOutdoorSite: OutdoorSite;\n @State() sources: Sources;\n\n @Event() informationPlacesIsInViewport: EventEmitter<boolean>;\n @Event() poiIsInViewport: EventEmitter<boolean>;\n @Event() touristicContentsIsInViewport: EventEmitter<boolean>;\n @Event() touristicEventsIsInViewport: EventEmitter<boolean>;\n @Event() sitesIsInViewport: EventEmitter<boolean>;\n @Event() coursesIsInViewport: EventEmitter<boolean>;\n\n outdoorSiteDetailContainerRef?: HTMLElement;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n swiperImages?: Swiper;\n\n relatedOutdoorSitesRef: HTMLDivElement;\n swiperRelatedOutdoorSitesRef: HTMLDivElement;\n swiperRelatedOutdoorSites: Swiper;\n relatedOutdoorSitesSwiperScrollbar: HTMLDivElement;\n\n relatedOutdoorCoursesRef: HTMLDivElement;\n swiperRelatedOutdoorCoursesRef: HTMLDivElement;\n swiperRelatedOutdoorCourses: Swiper;\n relatedOutdoorCoursesSwiperScrollbar: HTMLDivElement;\n\n informationPlacesRef: HTMLDivElement;\n swiperInformationDesksRef: HTMLDivElement;\n swiperInformationDesks: Swiper;\n informationDesksContentsSwiperScrollbar: HTMLDivElement;\n\n swiperTouristicContents?: Swiper;\n swiperTouristicEvents?: Swiper;\n swiperTouristicContentsRef?: HTMLDivElement;\n swiperTouristicEventsRef?: HTMLDivElement;\n touristicContentsRef?: HTMLDivElement;\n touristicEventsRef?: HTMLDivElement;\n sitesRef?: HTMLDivElement;\n coursesRef?: HTMLDivElement;\n\n touristicContentsSwiperScrollbar?: HTMLDivElement;\n touristicEventsSwiperScrollbar?: HTMLDivElement;\n swiperPois?: Swiper;\n swiperPoisRef?: HTMLDivElement;\n poiRef?: HTMLDivElement;\n poisOptionRef?: HTMLAnchorElement;\n poisSwiperScrollbar?: HTMLDivElement;\n\n presentationRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n recommendationRef?: HTMLDivElement;\n\n informationPlacesObserver: IntersectionObserver;\n poiObserver: IntersectionObserver;\n touristicContentObserver: IntersectionObserver;\n touristicEventObserver: IntersectionObserver;\n siteObserver: IntersectionObserver;\n courseObserver: IntersectionObserver;\n\n @Event() downloadConfirm: EventEmitter<number>;\n @Event() downloadedSuccessConfirm: EventEmitter<number>;\n @Event() downloadedErrorConfirm: EventEmitter<number>;\n\n @Event() deleteConfirm: EventEmitter<number>;\n @Event() deleteSuccessConfirm: EventEmitter<number>;\n @Event() deleteErrorConfirm: EventEmitter<number>;\n\n @State() showTouristicContentDetailsModal = false;\n @State() showTouristicEventDetailsModal = false;\n @State() modalDetailsId = null;\n\n @Listen('closeDetailsModal', { target: 'window' })\n onCloseDetailsModal() {\n document.body.style.overflow = `visible`;\n state.currentTouristicContent = null;\n state.currentTouristicEvent = null;\n this.modalDetailsId = null;\n if (this.showTouristicContentDetailsModal) {\n this.showTouristicContentDetailsModal = false;\n } else {\n this.showTouristicEventDetailsModal = false;\n }\n document.body.getElementsByTagName('grw-details-modal')[0].remove();\n }\n\n @Listen('touristicEventCardPress', { target: 'window' })\n onTouristiceEventCardPress(touristicEventId) {\n if (!this.grwApp) {\n this.modalDetailsId = touristicEventId.detail;\n this.onOpenDetailsModal('TouristicContent');\n const modal = document.createElement('grw-details-modal');\n modal.setAttribute('font-family', this.fontFamily);\n modal.setAttribute('color-background', this.colorBackground);\n modal.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modal.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modal.setAttribute('rounded', this.rounded.toString());\n const modalContent = document.createElement('grw-touristic-event-detail');\n modalContent.setAttribute('font-family', this.fontFamily);\n modalContent.setAttribute('color-primary-app', this.colorPrimaryApp);\n modalContent.setAttribute('color-on-surface', this.colorOnSurface);\n modalContent.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modalContent.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modalContent.setAttribute('color-secondary-container', this.colorSecondaryContainer);\n modalContent.setAttribute('color-on-secondary-container', this.colorOnSecondaryContainer);\n modalContent.setAttribute('color-surface-container-low', this.colorSurfaceContainerLow);\n modalContent.setAttribute('color-background', this.colorBackground);\n modal.append(modalContent);\n document.body.append(modal);\n }\n }\n\n @Listen('touristicContentCardPress', { target: 'window' })\n onTouristicContentCardPress(touristicContentId) {\n if (!this.grwApp) {\n this.modalDetailsId = touristicContentId.detail;\n this.onOpenDetailsModal('touristicContent');\n const modal = document.createElement('grw-details-modal');\n modal.setAttribute('font-family', this.fontFamily);\n modal.setAttribute('color-background', this.colorBackground);\n modal.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modal.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modal.setAttribute('rounded', this.rounded.toString());\n const modalContent = document.createElement('grw-touristic-content-detail');\n modalContent.setAttribute('font-family', this.fontFamily);\n modalContent.setAttribute('color-primary-app', this.colorPrimaryApp);\n modalContent.setAttribute('color-on-surface', this.colorOnSurface);\n modalContent.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modalContent.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modalContent.setAttribute('color-secondary-container', this.colorSecondaryContainer);\n modalContent.setAttribute('color-on-secondary-container', this.colorOnSecondaryContainer);\n modalContent.setAttribute('color-surface-container-low', this.colorSurfaceContainerLow);\n modalContent.setAttribute('color-background', this.colorBackground);\n modal.append(modalContent);\n document.body.append(modal);\n }\n }\n\n onOpenDetailsModal(modalDetails: 'touristicContent' | 'TouristicContent') {\n document.body.style.overflow = `hidden`;\n if (modalDetails === 'touristicContent') {\n this.showTouristicContentDetailsModal = true;\n } else {\n this.showTouristicEventDetailsModal = true;\n }\n }\n\n @Listen('downloadPress', { target: 'window' })\n onDownloadPress() {\n this.downloadRootOutdoorSite();\n }\n\n @Listen('deletePress', { target: 'window' })\n onDeletePress() {\n this.deleteOutdoorSite();\n }\n\n handleObservers() {\n if (this.informationPlacesRef && !this.informationPlacesObserver) {\n this.informationPlacesObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.informationPlacesIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.informationPlacesObserver.observe(this.informationPlacesRef);\n }\n\n if (this.poiRef && !this.poiObserver) {\n this.poiObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.poiIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.poiObserver.observe(this.poiRef);\n }\n\n if (this.touristicContentsRef && !this.touristicContentObserver) {\n this.touristicContentObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicContentsIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.touristicContentObserver.observe(this.touristicContentsRef);\n }\n if (this.touristicEventsRef && !this.touristicEventObserver) {\n this.touristicEventObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicEventsIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.touristicEventObserver.observe(this.touristicEventsRef);\n }\n if (this.sitesRef && !this.siteObserver) {\n this.siteObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.sitesIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.siteObserver.observe(this.sitesRef);\n }\n if (this.coursesRef && !this.courseObserver) {\n this.courseObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.coursesIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.courseObserver.observe(this.coursesRef);\n }\n }\n\n handleSwipers() {\n if (this.swiperImagesRef && !this.swiperImages) {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n }\n if (this.swiperRelatedOutdoorSitesRef && !this.swiperRelatedOutdoorSites) {\n this.swiperRelatedOutdoorSites = new Swiper(this.swiperRelatedOutdoorSitesRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.relatedOutdoorSitesSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperInformationDesksRef && !this.swiperInformationDesks) {\n this.swiperInformationDesks = new Swiper(this.swiperInformationDesksRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.informationDesksContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperRelatedOutdoorCoursesRef && !this.swiperRelatedOutdoorCourses) {\n this.swiperRelatedOutdoorCourses = new Swiper(this.swiperRelatedOutdoorCoursesRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.relatedOutdoorCoursesSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperTouristicContentsRef && !this.swiperTouristicContents) {\n this.swiperTouristicContents = new Swiper(this.swiperTouristicContentsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperTouristicEventsRef && !this.swiperTouristicEvents) {\n this.swiperTouristicEvents = new Swiper(this.swiperTouristicEventsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicEventsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperPoisRef && !this.swiperPois) {\n this.swiperPois = new Swiper(this.swiperPoisRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.poisSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n }\n\n componentDidUpdate() {\n this.handleObservers();\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.handleObservers();\n this.handleSwipers();\n }\n\n async connectedCallback() {\n if (state.currentOutdoorSite) {\n this.sources = state.sources.filter(source => state.currentOutdoorSite.source.includes(source.id));\n this.currentOutdoorSite = state.currentOutdoorSite;\n this.offline = this.currentOutdoorSite.offline;\n }\n\n onChange('currentOutdoorSite', async () => {\n if (state.currentOutdoorSite) {\n this.sources = state.sources.filter(source => state.currentOutdoorSite.source.includes(source.id));\n this.currentOutdoorSite = state.currentOutdoorSite;\n this.offline = this.currentOutdoorSite.offline;\n }\n });\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (this.currentOutdoorSite.attachments && this.currentOutdoorSite.attachments[0] && this.currentOutdoorSite.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n displayDownloadModal() {\n this.downloadConfirm.emit();\n }\n\n displayDeleteModal() {\n this.deleteConfirm.emit();\n }\n\n async downloadRootOutdoorSite() {\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: signal };\n\n if (!state.outdoorSites) {\n const outdoorSitesList = await getOutdoorSites(\n state.api,\n state.language,\n state.inBboxFromProviders,\n state.citiesFromProviders,\n state.districtsFromProviders,\n state.structuresFromProviders,\n state.themesFromProviders,\n state.portalsFromProviders,\n init,\n );\n state.outdoorSites = (await outdoorSitesList.json()).results;\n state.currentOutdoorSites = state.outdoorSites;\n }\n\n const offlineOutdoorSites = (await getAllDataInStore('outdoorSites')).filter(outdoorSite => outdoorSite.offline === true);\n let outdoorSites;\n outdoorSites = state.outdoorSites;\n outdoorSites = outdoorSites.filter(outdoorSite => offlineOutdoorSites.findIndex(offlineOutdoorSites => offlineOutdoorSites.id === outdoorSite.id) === -1);\n await writeOrUpdateDataInStore('outdoorSites', outdoorSites);\n\n await this.downloadGlobalTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution);\n await this.downloadOutdoorSiteTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution, this.currentOutdoorSite.geometry);\n\n await writeOrUpdateFilesInStore(state.themes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.outdoorSiteTypes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.outdoorPractices, imagesRegExp);\n await writeOrUpdateFilesInStore(state.sources, imagesRegExp);\n\n await writeOrUpdateFilesInStore(this.currentOutdoorSite, imagesRegExp, true, ['url']);\n\n await writeOrUpdateDataInStore('cities', state.cities);\n await writeOrUpdateDataInStore('districts', state.districts);\n await writeOrUpdateDataInStore('themes', state.themes);\n await writeOrUpdateDataInStore('outdoorSiteTypes', state.outdoorSiteTypes);\n await writeOrUpdateDataInStore('outdoorPractices', state.outdoorPractices);\n await writeOrUpdateDataInStore('outdoorRatings', state.outdoorRatings);\n await writeOrUpdateDataInStore('outdoorRatingsScale', state.outdoorRatingsScale);\n await writeOrUpdateDataInStore('pois', state.currentPois);\n await writeOrUpdateDataInStore('poiTypes', state.poiTypes);\n await writeOrUpdateDataInStore('informationDesks', state.currentInformationDesks);\n await writeOrUpdateDataInStore('outdoorCourseTypes', state.outdoorCourseTypes);\n await writeOrUpdateDataInStore('touristicEventTypes', state.touristicEventTypes);\n await writeOrUpdateDataInStore('touristicContentCategories', state.touristicContentCategories);\n await writeOrUpdateDataInStore('sources', state.sources);\n\n await writeOrUpdateFilesInStore(state.currentPois, imagesRegExp, true, ['url']);\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp, true);\n await writeOrUpdateFilesInStore(state.outdoorCourseTypes, imagesRegExp, true);\n await writeOrUpdateFilesInStore(state.touristicContentCategories, imagesRegExp, true);\n\n await writeOrUpdateFilesInStore(state.trekTouristicContents, imagesRegExp, true, ['url']);\n state.trekTouristicContents.forEach(trekTouristicContent => {\n trekTouristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', state.trekTouristicContents);\n\n await writeOrUpdateFilesInStore(state.trekTouristicEvents, imagesRegExp, true, ['url']);\n state.trekTouristicEvents.forEach(trekTouristicEvent => {\n trekTouristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', state.trekTouristicEvents);\n\n if (state.currentOutdoorSite.courses && state.currentOutdoorSite.courses.length > 0) {\n for (let index = 0; index < state.currentOutdoorSite.courses.length; index++) {\n const outdoorCourseId = state.currentOutdoorSite.courses[index];\n await this.downloadOutdoorCourse(outdoorCourseId);\n }\n }\n\n if (this.currentOutdoorSite.children && this.currentOutdoorSite.children.length > 0) {\n for (let index = 0; index < this.currentOutdoorSite.children.length; index++) {\n const outdoorSiteId = this.currentOutdoorSite.children[index];\n await this.downloadOutdoorSite(outdoorSiteId);\n }\n }\n\n await writeOrUpdateDataInStore('outdoorSites', [\n {\n ...this.currentOutdoorSite,\n offline: true,\n pois: state.currentPois.map(poi => poi.id),\n touristicContents: state.trekTouristicContents.map(trekTouristicContent => trekTouristicContent.id),\n touristicEvents: state.trekTouristicEvents.map(trekTouristicEvent => trekTouristicEvent.id),\n },\n ]);\n\n state.outdoorSites.find(outdoorSite => outdoorSite.id === this.currentOutdoorSite.id).offline = true;\n state.currentOutdoorSites.find(currentOutdoorSite => currentOutdoorSite.id === this.currentOutdoorSite.id).offline = true;\n if (this.swiperImages) {\n this.swiperImages.slideTo(0);\n }\n this.offline = true;\n this.downloadedSuccessConfirm.emit();\n }\n\n async downloadOutdoorSite(outdoorSiteId) {\n try {\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: signal };\n\n const outdoorSite: OutdoorSite = await getOutdoorSite(state.api, state.language, outdoorSiteId, init).then(response => response.json());\n await this.downloadOutdoorSiteTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution, outdoorSite.geometry);\n await writeOrUpdateFilesInStore(outdoorSite, imagesRegExp, true, ['url']);\n\n const pois = (await getPoisNearSite(state.api, state.language, outdoorSiteId, init).then(response => response.json())).results;\n await writeOrUpdateDataInStore('pois', pois);\n await writeOrUpdateFilesInStore(pois, imagesRegExp, true, ['url']);\n\n const touristicContents = (await getTouristicContentsNearOutdoorSite(state.api, state.language, outdoorSiteId, init).then(response => response.json())).results;\n await writeOrUpdateFilesInStore(touristicContents, imagesRegExp, true, ['url']);\n touristicContents.forEach(touristicContent => {\n touristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', touristicContents);\n const touristicEvents = (await getTouristicEventsNearOutdoorSite(state.api, state.language, outdoorSiteId, init).then(response => response.json())).results;\n await writeOrUpdateFilesInStore(touristicEvents, imagesRegExp, true, ['url']);\n touristicEvents.forEach(touristicEvent => {\n touristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', touristicEvents);\n\n await writeOrUpdateDataInStore('outdoorSites', [\n {\n ...outdoorSite,\n offline: true,\n pois: pois.map(poi => poi.id),\n touristicContents: touristicContents.map(trekTouristicContent => trekTouristicContent.id),\n touristicEvents: touristicEvents.map(trekTouristicEvent => trekTouristicEvent.id),\n },\n ]);\n\n if (outdoorSite.courses && outdoorSite.courses.length > 0) {\n for (let index = 0; index < outdoorSite.courses.length; index++) {\n const outdoorCourseId = outdoorSite.courses[index];\n await this.downloadOutdoorCourse(outdoorCourseId);\n }\n }\n\n if (outdoorSite.children && outdoorSite.children.length > 0) {\n for (let index = 0; index < outdoorSite.children.length; index++) {\n const outdoorSiteId = outdoorSite.children[index];\n await this.downloadOutdoorSite(outdoorSiteId);\n }\n }\n } catch (error) {\n this.downloadedSuccessConfirm.emit(this.currentOutdoorSite.id);\n }\n }\n\n async downloadOutdoorCourse(outdoorCourseId) {\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: signal };\n const outdoorCourse = await getOutdoorCourse(state.api, state.language, outdoorCourseId, init).then(response => response.json());\n await this.downloadOutdoorSiteTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution, outdoorCourse.geometry);\n await writeOrUpdateFilesInStore(outdoorCourse, imagesRegExp, true, ['url']);\n\n const pois = (await getPoisNearCourse(state.api, state.language, outdoorCourseId, init).then(response => response.json())).results;\n await writeOrUpdateDataInStore('pois', pois);\n await writeOrUpdateFilesInStore(pois, imagesRegExp, true, ['url']);\n\n const touristicContents = (await getTouristicContentsNearOutdoorCourse(state.api, state.language, outdoorCourseId, init).then(response => response.json())).results;\n await writeOrUpdateFilesInStore(touristicContents, imagesRegExp, true, ['url']);\n touristicContents.forEach(touristicContent => {\n touristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', touristicContents);\n const touristicEvents = (await getTouristicEventsNearOutdoorCourse(state.api, state.language, outdoorCourseId, init).then(response => response.json())).results;\n await writeOrUpdateFilesInStore(touristicEvents, imagesRegExp, true, ['url']);\n touristicEvents.forEach(touristicEvent => {\n touristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', touristicEvents);\n\n await writeOrUpdateDataInStore('outdoorCourses', [\n {\n ...outdoorCourse,\n offline: true,\n pois: pois.map(poi => poi.id),\n touristicContents: touristicContents.map(trekTouristicContent => trekTouristicContent.id),\n touristicEvents: touristicEvents.map(trekTouristicEvent => trekTouristicEvent.id),\n },\n ]);\n }\n\n async deleteOutdoorSite() {\n try {\n const outdoorSitesInStore: OutdoorSites = [];\n const outdoorSiteInStore = await getDataInStore('outdoorSites', this.currentOutdoorSite.id);\n this.deleteOfflineOutdoorSiteProperties(outdoorSiteInStore);\n outdoorSitesInStore.push(outdoorSiteInStore);\n\n await writeOrUpdateDataInStore('outdoorSites', outdoorSitesInStore);\n\n if (state.outdoorSites) {\n delete state.outdoorSites.find(outdoorSite => outdoorSite.id === this.currentOutdoorSite.id).offline;\n\n if (!state.currentOutdoorSites) {\n state.currentOutdoorSites = state.outdoorSites;\n }\n delete state.currentOutdoorSites.find(trek => trek.id === this.currentOutdoorSite.id).offline;\n }\n\n this.offline = false;\n this.deleteSuccessConfirm.emit();\n } catch (error) {\n this.deleteErrorConfirm.emit(this.currentOutdoorSite.id);\n }\n }\n\n async downloadGlobalTiles(url, attribution) {\n const offlineLayer = tileLayerOffline(url, { attribution });\n\n const coordinates = [];\n\n if (state.outdoorSites) {\n for (const outdoorSite of state.outdoorSites) {\n coordinates.push(pointOnFeature(outdoorSite.geometry as any).geometry.coordinates);\n }\n }\n\n const bounds = L.latLngBounds(coordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n\n await writeOrUpdateTilesInStore(offlineLayer, bounds, this.globalTilesMinZoomOffline, this.globalTilesMaxZoomOffline);\n }\n\n async downloadOutdoorSiteTiles(url, attribution, geometry) {\n const offlineLayer = tileLayerOffline(url, { attribution });\n const outdoorSiteBbox = bbox(geometry);\n const bounds = L.latLngBounds([outdoorSiteBbox[1], outdoorSiteBbox[0]], [outdoorSiteBbox[3], outdoorSiteBbox[2]]);\n\n await writeOrUpdateTilesInStore(offlineLayer, bounds, this.tilesMinZoomOffline, this.tilesMaxZoomOffline);\n }\n\n deleteOfflineOutdoorSiteProperties(outdoorSiteInStore) {\n delete outdoorSiteInStore.offline;\n delete outdoorSiteInStore.pois;\n delete outdoorSiteInStore.touristicContents;\n delete outdoorSiteInStore.touristicEvents;\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const practice = state.outdoorPractices && this.currentOutdoorSite && state.outdoorPractices.find(practice => practice.id === this.currentOutdoorSite.practice);\n const city = state.cities && this.currentOutdoorSite && state.cities.find(city => city.id === this.currentOutdoorSite.cities[0]);\n const outdoorRatings =\n state.outdoorRatings && this.currentOutdoorSite && state.outdoorRatings.filter(outdoorRating => this.currentOutdoorSite.ratings.includes(outdoorRating.id));\n const currentOutdoorSitesRatingsScales = outdoorRatings && [...new Set(outdoorRatings.map(outdoorRating => outdoorRating.scale))];\n const outdoorRatingsScales =\n currentOutdoorSitesRatingsScales && state.outdoorRatingsScale.filter(outdoorRatingsScale => currentOutdoorSitesRatingsScales.includes(outdoorRatingsScale.id));\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '164px'\n : '124px',\n }}\n >\n {this.currentOutdoorSite && (\n <div part=\"outdoor-site-detail-container\" class=\"outdoor-site-detail-container\" ref={el => (this.outdoorSiteDetailContainerRef = el)}>\n <div part=\"outdoor-site-images-container\" class=\"outdoor-site-images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.currentOutdoorSite.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n this.currentOutdoorSite.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"outdoor-site-close-fullscreen-button\" class=\"outdoor-site-close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n <span part=\"outdoor-site-close-fullcreen-icon\" class=\"outdoor-site-close-fullcreen-icon\" innerHTML={CloseIcon}></span>\n </div>\n )}\n <div part=\"outdoor-site-image-legend\" class=\"outdoor-site-image-legend\">\n {legend}\n </div>\n <img\n part=\"outdoor-site-img\"\n class=\"outdoor-site-img\"\n src={this.offline && attachment.thumbnail !== '' ? attachment.thumbnail : attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'outdoor-site-img default-outdoor-site-img';\n event.target.src = defaultImageSrc;\n }}\n alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <img part=\"outdoor-site-img\" class=\"outdoor-site-img default-outdoor-site-img\" src={defaultImageSrc} loading=\"lazy\" alt=\"\" />\n )}\n </div>\n <div>\n <div part=\"swiper-pagination\" class=\"swiper-pagination\" ref={el => (this.paginationElImagesRef = el)}></div>\n <div part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElImagesRef = el)}></div>\n <div part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElImagesRef = el)}></div>\n </div>\n </div>\n </div>\n <div part=\"outdoor-site-name\" class=\"outdoor-site-name\">\n {this.currentOutdoorSite.name}\n </div>\n {state.themes && state.themes.filter(theme => this.currentOutdoorSite.themes.includes(theme.id)).length > 0 && (\n <div part=\"themes-container\" class=\"themes-container\">\n {state.themes\n .filter(theme => this.currentOutdoorSite.themes.includes(theme.id))\n .map(theme => (\n <div part=\"theme\" class=\"theme\">\n {theme.label}\n </div>\n ))}\n </div>\n )}\n <div part=\"sub-container\" class=\"sub-container\">\n <div part=\"icons-labels-container\" class=\"icons-labels-container\">\n {practice && (\n <div part=\"icon-label\" class=\"icon-label practice\">\n {practice.pictogram && <img part=\"icon\" class=\"icon\" src={practice.pictogram} alt=\"\" />}\n <span part=\"label\" class=\"label\">\n {practice.name}\n </span>\n </div>\n )}\n {this.currentOutdoorSite.orientation && this.currentOutdoorSite.orientation.length > 0 && (\n <div part=\"row\" class=\"row\">\n <span part=\"icon\" class=\"icon\" innerHTML={ExploreIcon}></span>\n <span part=\"label\" class=\"label\">\n {this.currentOutdoorSite.orientation.map(orientation => translate[state.language].cardinalPoints[orientation.toLowerCase()]).join(', ')}\n </span>\n </div>\n )}\n {this.currentOutdoorSite.wind && this.currentOutdoorSite.wind.length > 0 && (\n <div part=\"row\" class=\"row\">\n <span part=\"icon\" class=\"icon\" innerHTML={AirIcon}></span>\n <span part=\"label\" class=\"label\">\n {this.currentOutdoorSite.wind.map(wind => translate[state.language].cardinalPoints[wind.toLowerCase()]).join(', ')}\n </span>\n </div>\n )}\n {this.currentOutdoorSite.period && (\n <div part=\"row\" class=\"row\">\n <span part=\"icon\" class=\"icon\" innerHTML={EventIcon}></span>\n <span part=\"label\" class=\"label\">\n {this.currentOutdoorSite.period}\n </span>\n </div>\n )}\n {outdoorRatings &&\n outdoorRatingsScales.map(outdoorRatingsScale => (\n <div part=\"row\" class=\"row\">\n {`${outdoorRatingsScale.name} : ${outdoorRatings\n .filter(outdoorRating => outdoorRating.scale === outdoorRatingsScale.id)\n .map(rating => rating.name)\n .join(', ')}`}\n </div>\n ))}\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].downloads}\n </div>\n {this.enableOffline && !this.offline && (!this.currentOutdoorSite.parents || this.currentOutdoorSite.parents.length === 0) && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayDownloadModal()}>\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadForOfflineIcon}></span>\n <span part=\"label\" class=\"label\">\n {translate[state.language].offline.downloadOffline}\n </span>\n </button>\n )}\n {this.enableOffline && this.offline && (!this.currentOutdoorSite.parents || this.currentOutdoorSite.parents.length === 0) && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayDeleteModal()}>\n <span part=\"icon\" class=\"icon\" innerHTML={DeleteIcon}></span>\n <span part=\"label\" class=\"label\">\n {translate[state.language].offline.deleteOffline}\n </span>\n </button>\n )}\n <div part=\"links-container\" class=\"links-container\">\n <a\n href={`${this.currentOutdoorSite.pdf}${state.portalsFromProviders && state.portalsFromProviders.length === 1 ? '?portal=' + state.portalsFromProviders[0] : ''}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n PDF\n </span>\n </a>\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentOutdoorSite.description_teaser && <div part=\"description-teaser\" class=\"description-teaser\" innerHTML={this.currentOutdoorSite.description_teaser}></div>}\n {this.currentOutdoorSite.ambiance && <div part=\"ambiance\" class=\"ambiance\" innerHTML={this.currentOutdoorSite.ambiance}></div>}\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentOutdoorSite.description && (\n <div part=\"description-container\" class=\"description-container\">\n <div part=\"description-title\" class=\"description-title\" ref={el => (this.descriptionRef = el)}>\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={this.currentOutdoorSite.description}></div>\n </div>\n )}\n {this.currentOutdoorSite.cities && this.currentOutdoorSite.cities.length > 0 && (\n <div part=\"departure-container\" class=\"departure-container\">\n <div part=\"departure-title\" class=\"departure-title\">\n {translate[state.language].departure} :&nbsp;\n </div>\n <div part=\"departure\" innerHTML={city.name}></div>\n </div>\n )}\n {this.currentOutdoorSite.cities && this.currentOutdoorSite.cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].crossedCities} :&nbsp;\n </div>\n <div part=\"cities\" innerHTML={this.currentOutdoorSite.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name).join(', ')}></div>\n </div>\n )}\n {state.currentPois && state.currentPois.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"pois-container\" class=\"pois-container\">\n <div part=\"pois-title\" class=\"pois-title\" ref={el => (this.poiRef = el)}>\n {translate[state.language].pois(state.currentPois.length)}\n </div>\n <div part=\"swiper-pois\" class=\"swiper swiper-pois\" ref={el => (this.swiperPoisRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentPois.map(poi => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-poi\n exportparts=\"poi-type-img-container,poi-type,swiper-poi,swiper-wrapper,swiper-slide,poi-img,default-poi-img,swiper-pagination,swiper-button-prev,swiper-button-next,poi-sub-container,poi-name,poi-description,handle-poi-description\"\n poi={poi}\n ></grw-poi>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.poisSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.currentOutdoorSite.advice && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"advice-container\" class=\"advice-container\">\n <div part=\"advice-title\" class=\"advice-title\" ref={el => (this.recommendationRef = el)}>\n {translate[state.language].recommendations}\n </div>\n {this.currentOutdoorSite.advice && (\n <div part=\"current-advice-container\" class=\"current-advice-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={WarningIcon}></span>\n <div part=\"advice\" class=\"advice\" innerHTML={this.currentOutdoorSite.advice}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {this.currentOutdoorSite.accessibility && this.currentOutdoorSite.accessibility !== '' && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"accessibilities-container\" class=\"accessibilities-container\">\n <div part=\"accessibilites-title\" class=\"accessibilities-title\">\n {translate[state.language].accessibility}\n </div>\n <div part=\"accessibilities\" innerHTML={this.currentOutdoorSite.accessibility}></div>\n </div>\n </div>\n )}\n {state.currentRelatedOutdoorSites && state.currentRelatedOutdoorSites.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"related-outdoor-sites-container\" class=\"related-outdoor-sites-container\">\n <div part=\"related-outdoor-sites-title\" class=\"related-outdoor-sites-title\" ref={el => (this.sitesRef = el)}>\n {translate[state.language].relatedOutdoorSites(state.currentRelatedOutdoorSites.length)}\n </div>\n <div part=\"swiper-related-outdoor-sites\" class=\"swiper swiper-related-outdoor-sites\" ref={el => (this.swiperRelatedOutdoorSitesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentRelatedOutdoorSites.map(relatedOutdoorSite => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-outdoor-site-card\n exportparts=\"related-outdoor-sites-card,related-outdoor-sites-img-container,swiper-related-outdoor-sites,swiper-wrapper,swiper-slide,related-outdoor-sites-img,default-related-outdoor-sites-img,swiper-pagination,swiper-button-prev,swiper-button-next,related-outdoor-sites-sub-container,related-outdoor-sites-sub-container,related-outdoor-sites-type-img,related-outdoor-sites-type-name,related-outdoor-sites-name,related-outdoor-sites-date-container,related-outdoor-sites-date,related-outdoor-sites-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n outdoorSite={relatedOutdoorSite}\n isInsideHorizontalList={true}\n ></grw-outdoor-site-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.relatedOutdoorSitesSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.currentRelatedOutdoorCourses && state.currentRelatedOutdoorCourses.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"related-outdoor-courses-container\" class=\"related-outdoor-courses-container\">\n <div part=\"related-outdoor-courses-title\" class=\"related-outdoor-courses-title\" ref={el => (this.coursesRef = el)}>\n {translate[state.language].relatedOutdoorCourses(state.currentRelatedOutdoorCourses.length)}\n </div>\n <div part=\"swiper-related-outdoor-courses\" class=\"swiper swiper-related-outdoor-courses\" ref={el => (this.swiperRelatedOutdoorCoursesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentRelatedOutdoorCourses.map(relatedOutdoorCourse => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-outdoor-course-card\n exportparts=\"related-outdoor-courses-card,related-outdoor-courses-img-container,swiper-related-outdoor-courses,swiper-wrapper,swiper-slide,related-outdoor-courses-img,default-related-outdoor-courses-img,swiper-pagination,swiper-button-prev,swiper-button-next,related-outdoor-courses-sub-container,related-outdoor-courses-sub-container,related-outdoor-courses-type-img,related-outdoor-courses-type-name,related-outdoor-courses-name,related-outdoor-courses-date-container,related-outdoor-courses-date,related-outdoor-courses-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n outdoorCourse={relatedOutdoorCourse}\n isInsideHorizontalList={true}\n ></grw-outdoor-course-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.relatedOutdoorCoursesSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentOutdoorSite.information_desks.includes(currentInformationDesks.id)).length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"information-desks-container\" class=\"information-desks-container\">\n <div part=\"information-desks-title\" class=\"information-desks-title\" ref={el => (this.informationPlacesRef = el)}>\n {translate[state.language].informationPlaces}\n </div>\n <div part=\"swiper-information-desks\" class=\"swiper swiper-information-desks\" ref={el => (this.swiperInformationDesksRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentInformationDesks\n .filter(currentInformationDesks => this.currentOutdoorSite.information_desks.includes(currentInformationDesks.id))\n .map(informationDesk => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-information-desk\n exportparts=\"information-desk-img-container,information-desk-img,information-desk-sub-container,information-desk-name,center-on-map-button,icon,label,information-desk-informations,phone-container,mail-container,link-container,information-desk-description-container,information-desk-description,handle-information-desk-description\"\n informationDesk={informationDesk}\n ></grw-information-desk>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.informationDesksContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.trekTouristicContents && state.trekTouristicContents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-content-container\" class=\"touristic-content-container\">\n <div part=\"touristic-content-title\" class=\"touristic-content-title\" ref={el => (this.touristicContentsRef = el)}>\n {translate[state.language].touristicContents(state.trekTouristicContents.length)}\n </div>\n <div part=\"swiper-touristic-content\" class=\"swiper swiper-touristic-content\" ref={el => (this.swiperTouristicContentsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicContents.map(touristicContent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-content-card\n exportparts=\"touristic-content-card,touristic-content-img-container,swiper-touristic-content,swiper-wrapper,swiper-slide,touristic-content-img,default-touristic-content-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-content-sub-container,touristic-content-category-container,touristic-content-category-img,touristic-content-category-name,touristic-content-name,touristic-content-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicContent={touristicContent}\n isInsideHorizontalList={true}\n colorSurfaceContainerLow={this.colorSurfaceContainerLow}\n ></grw-touristic-content-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.trekTouristicEvents && state.trekTouristicEvents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-event-container\" class=\"touristic-event-container\">\n <div part=\"touristic-event-title\" class=\"touristic-event-title\" ref={el => (this.touristicEventsRef = el)}>\n {translate[state.language].touristicEvents(state.trekTouristicEvents.length)}\n </div>\n <div part=\"swiper-touristic-event\" class=\"swiper swiper-touristic-event\" ref={el => (this.swiperTouristicEventsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicEvents.map(touristicEvent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-event-card\n exportparts=\"touristic-event-card,touristic-event-img-container,swiper-touristic-event,swiper-wrapper,swiper-slide,touristic-event-img,default-touristic-event-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-event-sub-container,touristic-event-sub-container,touristic-event-type-img,touristic-event-type-name,touristic-event-name,touristic-event-date-container,touristic-event-date,touristic-event-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicEvent={touristicEvent}\n isInsideHorizontalList={true}\n colorSurfaceContainerLow={this.colorSurfaceContainerLow}\n ></grw-touristic-event-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicEventsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.weather && city && !this.offline && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weather-container\" class=\"weather-container\">\n <iframe height=\"150\" frameborder=\"0\" src={`https://meteofrance.com/widget/prevision/${city.id}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n </div>\n )}\n {this.currentOutdoorSite.web_links && this.currentOutdoorSite.web_links.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weblinks-container\" class=\"weblinks-container\">\n <div part=\"weblinks-title\" class=\"weblinks-title\">\n {translate[state.language].learnMore}\n </div>\n {this.currentOutdoorSite.web_links.map(weblink => (\n <a part=\"weblink-container\" class=\"weblink-container\" href={weblink.url} target=\"_blank\" rel=\"noopener noreferrer\">\n {weblink.category && weblink.category.pictogram && <img src={weblink.category.pictogram} alt={weblink.category.label} />}\n {weblink.name}\n </a>\n ))}\n </div>\n </div>\n )}\n {this.currentOutdoorSite.source && this.currentOutdoorSite.source.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"source-container\" class=\"source-container\">\n <div part=\"source-title\" class=\"source-title\">\n {translate[state.language].sources}\n </div>\n {this.sources.map(source => (\n <div part=\"source-sub-container\" class=\"source-sub-container\">\n {source.pictogram && <img src={source.pictogram} alt=\"\" />}\n <div>\n <div part=\"source-name\" class=\"source-name\" innerHTML={source.name}></div>\n <a part=\"source-advice\" class=\"source-advice\" href={source.website} innerHTML={source.website}></a>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n {this.grwApp && <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>}\n </div>\n )}\n {this.modalDetailsId && (\n <Fragment>\n {this.showTouristicContentDetailsModal && <grw-touristic-content-provider api={state.api} touristic-content-id={this.modalDetailsId}></grw-touristic-content-provider>}\n {this.showTouristicEventDetailsModal && <grw-touristic-event-provider api={state.api} touristic-event-id={this.modalDetailsId}></grw-touristic-event-provider>}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"]}