@geotrekce/geotrek-rando-widget 0.2.5 → 0.2.6

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 (219) hide show
  1. package/dist/cjs/geotrek-rando-widget.cjs.js +2 -2
  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 +10 -4
  5. package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
  6. package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
  7. package/dist/cjs/grw-app.cjs.entry.js.map +1 -1
  8. package/dist/cjs/grw-filter_7.cjs.entry.js +22 -13
  9. package/dist/cjs/grw-filter_7.cjs.entry.js.br +0 -0
  10. package/dist/cjs/grw-filter_7.cjs.entry.js.gz +0 -0
  11. package/dist/cjs/grw-filter_7.cjs.entry.js.map +1 -1
  12. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js +2 -2
  13. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.br +0 -0
  14. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.gz +0 -0
  15. package/dist/cjs/grw-trek-card.cjs.entry.js +2 -2
  16. package/dist/cjs/grw-trek-card.cjs.entry.js.br +0 -0
  17. package/dist/cjs/grw-trek-card.cjs.entry.js.gz +0 -0
  18. package/dist/cjs/{index-37f5c77b.js → index-4965ff38.js} +4 -1
  19. package/dist/cjs/index-4965ff38.js.br +0 -0
  20. package/dist/cjs/index-4965ff38.js.gz +0 -0
  21. package/dist/cjs/index-4965ff38.js.map +1 -0
  22. package/dist/cjs/loader.cjs.js +2 -2
  23. package/dist/cjs/loader.cjs.js.br +0 -0
  24. package/dist/cjs/loader.cjs.js.gz +0 -0
  25. package/dist/cjs/{store-6ec4d0d2.js → store-dea1bb76.js} +2 -2
  26. package/dist/cjs/store-dea1bb76.js.br +0 -0
  27. package/dist/cjs/store-dea1bb76.js.gz +0 -0
  28. package/dist/cjs/{store-6ec4d0d2.js.map → store-dea1bb76.js.map} +1 -1
  29. package/dist/collection/components/grw-app/grw-app.css +8 -0
  30. package/dist/collection/components/grw-app/grw-app.css.br +0 -0
  31. package/dist/collection/components/grw-app/grw-app.css.gz +0 -0
  32. package/dist/collection/components/grw-app/grw-app.js +7 -1
  33. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  34. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  35. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  36. package/dist/collection/components/grw-map/grw-map.js +20 -10
  37. package/dist/collection/components/grw-map/grw-map.js.br +0 -0
  38. package/dist/collection/components/grw-map/grw-map.js.gz +0 -0
  39. package/dist/collection/components/grw-map/grw-map.js.map +1 -1
  40. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css +3 -2
  41. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css.br +0 -0
  42. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css.gz +0 -0
  43. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +1 -1
  44. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  45. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  46. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  47. package/dist/esm/geotrek-rando-widget.js +3 -3
  48. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  49. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  50. package/dist/esm/grw-app.entry.js +10 -4
  51. package/dist/esm/grw-app.entry.js.br +0 -0
  52. package/dist/esm/grw-app.entry.js.gz +0 -0
  53. package/dist/esm/grw-app.entry.js.map +1 -1
  54. package/dist/esm/grw-filter_7.entry.js +22 -13
  55. package/dist/esm/grw-filter_7.entry.js.br +0 -0
  56. package/dist/esm/grw-filter_7.entry.js.gz +0 -0
  57. package/dist/esm/grw-filter_7.entry.js.map +1 -1
  58. package/dist/esm/grw-information-desk-detail_3.entry.js +2 -2
  59. package/dist/esm/grw-information-desk-detail_3.entry.js.br +0 -0
  60. package/dist/esm/grw-information-desk-detail_3.entry.js.gz +0 -0
  61. package/dist/esm/grw-trek-card.entry.js +2 -2
  62. package/dist/esm/grw-trek-card.entry.js.br +0 -0
  63. package/dist/esm/grw-trek-card.entry.js.gz +0 -0
  64. package/dist/esm/{index-3bfebaa2.js → index-e3b2b3c7.js} +4 -1
  65. package/dist/esm/index-e3b2b3c7.js.br +0 -0
  66. package/dist/esm/index-e3b2b3c7.js.gz +0 -0
  67. package/dist/esm/index-e3b2b3c7.js.map +1 -0
  68. package/dist/esm/loader.js +3 -3
  69. package/dist/esm/loader.js.br +0 -0
  70. package/dist/esm/loader.js.gz +0 -0
  71. package/dist/esm/{store-8a967dc3.js → store-c65221a3.js} +2 -2
  72. package/dist/esm/store-c65221a3.js.br +0 -0
  73. package/dist/esm/store-c65221a3.js.gz +0 -0
  74. package/dist/esm/{store-8a967dc3.js.map → store-c65221a3.js.map} +1 -1
  75. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  76. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  77. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  78. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  79. package/dist/esm-es5/grw-app.entry.js +1 -1
  80. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  81. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  82. package/dist/esm-es5/grw-app.entry.js.map +1 -1
  83. package/dist/esm-es5/grw-filter_7.entry.js +2 -2
  84. package/dist/esm-es5/grw-filter_7.entry.js.br +0 -0
  85. package/dist/esm-es5/grw-filter_7.entry.js.gz +0 -0
  86. package/dist/esm-es5/grw-filter_7.entry.js.map +1 -1
  87. package/dist/esm-es5/grw-information-desk-detail_3.entry.js +1 -1
  88. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.br +0 -0
  89. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.gz +0 -0
  90. package/dist/esm-es5/grw-trek-card.entry.js +1 -1
  91. package/dist/esm-es5/grw-trek-card.entry.js.br +0 -0
  92. package/dist/esm-es5/grw-trek-card.entry.js.gz +0 -0
  93. package/dist/esm-es5/{index-3bfebaa2.js → index-e3b2b3c7.js} +2 -2
  94. package/dist/esm-es5/index-e3b2b3c7.js.br +0 -0
  95. package/dist/esm-es5/index-e3b2b3c7.js.gz +0 -0
  96. package/dist/esm-es5/index-e3b2b3c7.js.map +1 -0
  97. package/dist/esm-es5/loader.js +1 -1
  98. package/dist/esm-es5/loader.js.br +0 -0
  99. package/dist/esm-es5/loader.js.gz +0 -0
  100. package/dist/esm-es5/loader.js.map +1 -1
  101. package/dist/esm-es5/{store-8a967dc3.js → store-c65221a3.js} +2 -2
  102. package/dist/esm-es5/store-c65221a3.js.br +0 -0
  103. package/dist/esm-es5/store-c65221a3.js.gz +0 -0
  104. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  105. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  106. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  107. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  108. package/dist/geotrek-rando-widget/geotrek-rando-widget.js +1 -1
  109. package/dist/geotrek-rando-widget/geotrek-rando-widget.js.br +0 -0
  110. package/dist/geotrek-rando-widget/geotrek-rando-widget.js.gz +0 -0
  111. package/dist/geotrek-rando-widget/{p-4549b320.entry.js → p-58780538.entry.js} +2 -2
  112. package/dist/geotrek-rando-widget/p-58780538.entry.js.br +0 -0
  113. package/dist/geotrek-rando-widget/p-58780538.entry.js.gz +0 -0
  114. package/dist/geotrek-rando-widget/{p-4827455b.system.entry.js → p-5d3b30cf.system.entry.js} +2 -2
  115. package/dist/geotrek-rando-widget/p-5d3b30cf.system.entry.js.br +0 -0
  116. package/dist/geotrek-rando-widget/p-5d3b30cf.system.entry.js.gz +0 -0
  117. package/dist/geotrek-rando-widget/p-6d698d25.system.entry.js +2 -0
  118. package/dist/geotrek-rando-widget/p-6d698d25.system.entry.js.br +0 -0
  119. package/dist/geotrek-rando-widget/p-6d698d25.system.entry.js.gz +0 -0
  120. package/dist/geotrek-rando-widget/p-6d698d25.system.entry.js.map +1 -0
  121. package/dist/geotrek-rando-widget/{p-06603116.entry.js → p-739b3529.entry.js} +2 -2
  122. package/dist/geotrek-rando-widget/p-739b3529.entry.js.br +0 -0
  123. package/dist/geotrek-rando-widget/p-739b3529.entry.js.gz +0 -0
  124. package/dist/geotrek-rando-widget/p-7505c6d0.entry.js +2 -0
  125. package/dist/geotrek-rando-widget/p-7505c6d0.entry.js.br +0 -0
  126. package/dist/geotrek-rando-widget/p-7505c6d0.entry.js.gz +0 -0
  127. package/dist/geotrek-rando-widget/p-7505c6d0.entry.js.map +1 -0
  128. package/dist/geotrek-rando-widget/{p-11732b6a.system.entry.js → p-9347e4aa.system.entry.js} +2 -2
  129. package/dist/geotrek-rando-widget/p-9347e4aa.system.entry.js.br +0 -0
  130. package/dist/geotrek-rando-widget/p-9347e4aa.system.entry.js.gz +0 -0
  131. package/dist/geotrek-rando-widget/{p-aefb821d.system.entry.js → p-94ff5569.system.entry.js} +3 -3
  132. package/dist/geotrek-rando-widget/p-94ff5569.system.entry.js.br +0 -0
  133. package/dist/geotrek-rando-widget/p-94ff5569.system.entry.js.gz +0 -0
  134. package/dist/geotrek-rando-widget/p-94ff5569.system.entry.js.map +1 -0
  135. package/dist/geotrek-rando-widget/p-b3dbf860.js +3 -0
  136. package/dist/geotrek-rando-widget/p-b3dbf860.js.br +0 -0
  137. package/dist/geotrek-rando-widget/p-b3dbf860.js.gz +0 -0
  138. package/dist/geotrek-rando-widget/p-b3dbf860.js.map +1 -0
  139. package/dist/geotrek-rando-widget/p-b6f2002a.system.js +3 -0
  140. package/dist/geotrek-rando-widget/p-b6f2002a.system.js.br +0 -0
  141. package/dist/geotrek-rando-widget/p-b6f2002a.system.js.gz +0 -0
  142. package/dist/geotrek-rando-widget/p-b6f2002a.system.js.map +1 -0
  143. package/dist/geotrek-rando-widget/{p-c74b5417.entry.js → p-c321886e.entry.js} +3 -3
  144. package/dist/geotrek-rando-widget/p-c321886e.entry.js.br +0 -0
  145. package/dist/geotrek-rando-widget/p-c321886e.entry.js.gz +0 -0
  146. package/dist/geotrek-rando-widget/p-c321886e.entry.js.map +1 -0
  147. package/dist/geotrek-rando-widget/p-dbc7b7b1.system.js +2 -0
  148. package/dist/geotrek-rando-widget/p-dbc7b7b1.system.js.br +0 -0
  149. package/dist/geotrek-rando-widget/p-dbc7b7b1.system.js.gz +0 -0
  150. package/dist/geotrek-rando-widget/{p-e9e878ef.js → p-dffaf93c.js} +2 -2
  151. package/dist/geotrek-rando-widget/p-dffaf93c.js.br +0 -0
  152. package/dist/geotrek-rando-widget/p-dffaf93c.js.gz +0 -0
  153. package/dist/geotrek-rando-widget/{p-ccc3be5e.system.js → p-edf31fdc.system.js} +2 -2
  154. package/dist/geotrek-rando-widget/p-edf31fdc.system.js.br +0 -0
  155. package/dist/geotrek-rando-widget/p-edf31fdc.system.js.gz +0 -0
  156. package/dist/geotrek-rando-widget/p-edf31fdc.system.js.map +1 -0
  157. package/dist/types/components/grw-app/grw-app.d.ts +2 -0
  158. package/dist/types/components/grw-map/grw-map.d.ts +6 -0
  159. package/package.json +1 -1
  160. package/dist/cjs/index-37f5c77b.js.br +0 -0
  161. package/dist/cjs/index-37f5c77b.js.gz +0 -0
  162. package/dist/cjs/index-37f5c77b.js.map +0 -1
  163. package/dist/cjs/store-6ec4d0d2.js.br +0 -0
  164. package/dist/cjs/store-6ec4d0d2.js.gz +0 -0
  165. package/dist/esm/index-3bfebaa2.js.br +0 -0
  166. package/dist/esm/index-3bfebaa2.js.gz +0 -0
  167. package/dist/esm/index-3bfebaa2.js.map +0 -1
  168. package/dist/esm/store-8a967dc3.js.br +0 -0
  169. package/dist/esm/store-8a967dc3.js.gz +0 -0
  170. package/dist/esm-es5/index-3bfebaa2.js.br +0 -0
  171. package/dist/esm-es5/index-3bfebaa2.js.gz +0 -0
  172. package/dist/esm-es5/index-3bfebaa2.js.map +0 -1
  173. package/dist/esm-es5/store-8a967dc3.js.br +0 -0
  174. package/dist/esm-es5/store-8a967dc3.js.gz +0 -0
  175. package/dist/geotrek-rando-widget/p-06603116.entry.js.br +0 -0
  176. package/dist/geotrek-rando-widget/p-06603116.entry.js.gz +0 -0
  177. package/dist/geotrek-rando-widget/p-11732b6a.system.entry.js.br +0 -0
  178. package/dist/geotrek-rando-widget/p-11732b6a.system.entry.js.gz +0 -0
  179. package/dist/geotrek-rando-widget/p-16f28b0e.js +0 -3
  180. package/dist/geotrek-rando-widget/p-16f28b0e.js.br +0 -0
  181. package/dist/geotrek-rando-widget/p-16f28b0e.js.gz +0 -0
  182. package/dist/geotrek-rando-widget/p-16f28b0e.js.map +0 -1
  183. package/dist/geotrek-rando-widget/p-3eaed9f9.system.js +0 -3
  184. package/dist/geotrek-rando-widget/p-3eaed9f9.system.js.br +0 -0
  185. package/dist/geotrek-rando-widget/p-3eaed9f9.system.js.gz +0 -0
  186. package/dist/geotrek-rando-widget/p-3eaed9f9.system.js.map +0 -1
  187. package/dist/geotrek-rando-widget/p-4549b320.entry.js.br +0 -0
  188. package/dist/geotrek-rando-widget/p-4549b320.entry.js.gz +0 -0
  189. package/dist/geotrek-rando-widget/p-4827455b.system.entry.js.br +0 -0
  190. package/dist/geotrek-rando-widget/p-4827455b.system.entry.js.gz +0 -0
  191. package/dist/geotrek-rando-widget/p-4a818914.system.entry.js +0 -2
  192. package/dist/geotrek-rando-widget/p-4a818914.system.entry.js.br +0 -0
  193. package/dist/geotrek-rando-widget/p-4a818914.system.entry.js.gz +0 -0
  194. package/dist/geotrek-rando-widget/p-4a818914.system.entry.js.map +0 -1
  195. package/dist/geotrek-rando-widget/p-51b07d4b.system.js +0 -2
  196. package/dist/geotrek-rando-widget/p-51b07d4b.system.js.br +0 -0
  197. package/dist/geotrek-rando-widget/p-51b07d4b.system.js.gz +0 -0
  198. package/dist/geotrek-rando-widget/p-586ce7f8.entry.js +0 -2
  199. package/dist/geotrek-rando-widget/p-586ce7f8.entry.js.br +0 -0
  200. package/dist/geotrek-rando-widget/p-586ce7f8.entry.js.gz +0 -0
  201. package/dist/geotrek-rando-widget/p-586ce7f8.entry.js.map +0 -1
  202. package/dist/geotrek-rando-widget/p-aefb821d.system.entry.js.br +0 -0
  203. package/dist/geotrek-rando-widget/p-aefb821d.system.entry.js.gz +0 -0
  204. package/dist/geotrek-rando-widget/p-aefb821d.system.entry.js.map +0 -1
  205. package/dist/geotrek-rando-widget/p-c74b5417.entry.js.br +0 -0
  206. package/dist/geotrek-rando-widget/p-c74b5417.entry.js.gz +0 -0
  207. package/dist/geotrek-rando-widget/p-c74b5417.entry.js.map +0 -1
  208. package/dist/geotrek-rando-widget/p-ccc3be5e.system.js.br +0 -0
  209. package/dist/geotrek-rando-widget/p-ccc3be5e.system.js.gz +0 -0
  210. package/dist/geotrek-rando-widget/p-ccc3be5e.system.js.map +0 -1
  211. package/dist/geotrek-rando-widget/p-e9e878ef.js.br +0 -0
  212. package/dist/geotrek-rando-widget/p-e9e878ef.js.gz +0 -0
  213. /package/dist/esm-es5/{store-8a967dc3.js.map → store-c65221a3.js.map} +0 -0
  214. /package/dist/geotrek-rando-widget/{p-4549b320.entry.js.map → p-58780538.entry.js.map} +0 -0
  215. /package/dist/geotrek-rando-widget/{p-4827455b.system.entry.js.map → p-5d3b30cf.system.entry.js.map} +0 -0
  216. /package/dist/geotrek-rando-widget/{p-06603116.entry.js.map → p-739b3529.entry.js.map} +0 -0
  217. /package/dist/geotrek-rando-widget/{p-11732b6a.system.entry.js.map → p-9347e4aa.system.entry.js.map} +0 -0
  218. /package/dist/geotrek-rando-widget/{p-51b07d4b.system.js.map → p-dbc7b7b1.system.js.map} +0 -0
  219. /package/dist/geotrek-rando-widget/{p-e9e878ef.js.map → p-dffaf93c.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"grw-map.js","sourceRoot":"","sources":["../../../src/components/grw-map/grw-map.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Event, EventEmitter, getAssetPath, Build, Listen } from '@stencil/core';\nimport { Feature, FeatureCollection } from 'geojson';\nimport L from 'leaflet';\nimport 'leaflet.locatecontrol';\nimport '@raruto/leaflet-elevation/dist/leaflet-elevation.min.js';\nimport state, { onChange, reset } from 'store/store';\nimport { translate } from 'i18n/i18n';\n\n@Component({\n tag: 'grw-map',\n styleUrl: 'grw-map.scss',\n})\nexport class GrwMap {\n mapRef: HTMLElement;\n elevationRef: HTMLElement;\n @Event() trekCardPress: EventEmitter<number>;\n @State() mapIsReady = false;\n @Prop() urlLayer: string;\n @Prop() attribution: string;\n @Prop() center = '1, 1';\n @Prop() zoom = 10;\n\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorBackground = '#fef7ff';\n\n @Prop() colorTrekLine = '#6b0030';\n @Prop() colorDepartureIcon = '#006b3b';\n @Prop() colorArrivalIcon = '#85003b';\n @Prop() colorSensitiveArea = '\t#4974a5';\n @Prop() colorPoiIcon = '#974c6e';\n\n @Prop() resetStoreOnDisconnected = true;\n @Prop() isLargeView = false;\n map: L.Map;\n treksLayer: L.GeoJSON<any>;\n currentTrekLayer: L.GeoJSON<any>;\n currentDepartureArrivalLayer: L.GeoJSON<any>;\n currentPointsReferenceLayer: L.GeoJSON<any>;\n currentParkingLayer: L.GeoJSON<any>;\n currentSensitiveAreasLayer: L.GeoJSON<any>;\n currentPoisLayer: L.GeoJSON<any>;\n currentInformationDesksLayer: L.GeoJSON<any>;\n elevationControl: L.Control.Layers;\n layersControl: L.Control.Layers;\n userLayersState: {\n [key: number]: boolean;\n } = {};\n\n handleTreksWithinBoundsBind: (event: any) => void = this.handleTreksWithinBounds.bind(this);\n\n @Listen('centerOnMap', { target: 'window' })\n onCenterOnMap(event: CustomEvent<{ latitude: number; longitude: number }>) {\n this.map.setView(new L.LatLng(event.detail.latitude, event.detail.longitude), 17, { animate: false });\n }\n\n @Listen('descriptionReferenceIsInViewport', { target: 'window' })\n descriptionReferenceIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentPointsReferenceLayer) {\n this.handleLayerVisibility(event.detail, this.currentPointsReferenceLayer);\n }\n }\n\n @Listen('parkingIsInViewport', { target: 'window' })\n parkingIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentParkingLayer) {\n this.handleLayerVisibility(event.detail, this.currentParkingLayer);\n }\n }\n\n @Listen('informationDeskIsInViewport', { target: 'window' })\n onInformationDesksIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentInformationDesksLayer) {\n this.handleLayerVisibility(event.detail, this.currentInformationDesksLayer);\n }\n }\n\n @Listen('sensitiveAreaIsInViewport', { target: 'window' })\n sensitiveAreaIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentSensitiveAreasLayer) {\n this.handleLayerVisibility(event.detail, this.currentSensitiveAreasLayer);\n }\n }\n\n @Listen('poiIsInViewport', { target: 'window' })\n poiIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentPoisLayer) {\n this.handleLayerVisibility(event.detail, this.currentPoisLayer);\n }\n }\n\n componentDidLoad() {\n this.map = L.map(this.mapRef, {\n center: this.center.split(',').map(Number) as L.LatLngExpression,\n zoom: this.zoom,\n });\n\n L.control.scale({ metric: true, imperial: false }).addTo(this.map);\n (L.control as any).locate({ showPopup: false }).addTo(this.map);\n\n L.tileLayer(this.urlLayer, {\n maxZoom: 19,\n attribution: this.attribution,\n }).addTo(this.map);\n\n if (state.currentTrek) {\n this.addTrek();\n } else if (state.currentTreks) {\n this.addTreks();\n }\n\n onChange('currentTreks', () => {\n if (state.currentTrek) {\n this.removeTreks();\n this.addTrek();\n } else if (state.currentTreks) {\n this.removeTrek();\n this.addTreks();\n }\n });\n\n onChange('currentTrek', () => {\n if (state.currentTrek) {\n this.removeTreks();\n this.addTrek();\n } else {\n this.removeTrek();\n this.addTreks();\n }\n });\n }\n\n handleLayerVisibility(visible: boolean, layer: L.GeoJSON) {\n if (visible && !this.map.hasLayer(layer)) {\n layer.addTo(this.map);\n } else if (this.map.hasLayer(layer) && !this.userLayersState[(layer as any)._leaflet_id]) {\n this.map.removeLayer(layer);\n }\n this.handleLayersControlEvent();\n }\n\n addTreks() {\n const trekscurrentDepartureCoordinates = [];\n const treksFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n if (state.currentTreks) {\n for (const trek of state.currentTreks) {\n trekscurrentDepartureCoordinates.push(trek.departure_geom);\n treksFeatureCollection.features.push({\n type: 'Feature',\n geometry: { type: 'Point', coordinates: trek.departure_geom },\n properties: {\n id: trek.id,\n name: trek.name,\n practice: state.practices.find(practice => practice.id === trek.practice)?.pictogram,\n imgSrc: trek.attachments && trek.attachments.length > 0 && trek.attachments[0].thumbnail,\n },\n });\n }\n }\n let bounds;\n if (!this.treksLayer) {\n if (trekscurrentDepartureCoordinates.length > 0 && !state.currentMapTreksBounds) {\n bounds = L.latLngBounds(trekscurrentDepartureCoordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n } else {\n if (state.currentMapTreksBounds) {\n bounds = state.currentMapTreksBounds;\n }\n }\n this.treksLayer = L.geoJSON(treksFeatureCollection, {\n pointToLayer: (geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: geoJsonPoint.properties.practice ? `<img src=${geoJsonPoint.properties.practice} />` : `<img />`,\n className: 'trek-marker',\n iconSize: 48,\n } as any),\n autoPanOnFocus: false,\n } as any),\n onEachFeature: (geoJsonPoint, layer) => {\n layer.once('click', () => {\n const trekDeparturePopup = L.DomUtil.create('div');\n trekDeparturePopup.className = 'trek-departure-popup';\n trekDeparturePopup.onclick = () => this.trekCardPress.emit(geoJsonPoint.properties.id);\n const trekName = L.DomUtil.create('div');\n trekName.innerHTML = geoJsonPoint.properties.name;\n trekName.className = 'trek-name';\n if (geoJsonPoint.properties.imgSrc) {\n trekName.className += ' trek-name-margin-top';\n const trekImg = L.DomUtil.create('img');\n trekImg.src = geoJsonPoint.properties.imgSrc;\n trekDeparturePopup.appendChild(trekImg);\n }\n trekDeparturePopup.appendChild(trekName);\n layer.bindPopup(trekDeparturePopup, { interactive: true, autoPan: false, closeButton: false } as any).openPopup();\n });\n },\n }).addTo(this.map);\n } else {\n if (trekscurrentDepartureCoordinates.length > 0) {\n bounds = L.latLngBounds(trekscurrentDepartureCoordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n } else {\n this.map.fire('moveend');\n }\n this.treksLayer.clearLayers();\n this.treksLayer.addData(treksFeatureCollection);\n }\n\n bounds && this.map.fitBounds(bounds);\n\n !this.mapIsReady && (this.mapIsReady = !this.mapIsReady);\n\n this.map.on('moveend', this.handleTreksWithinBoundsBind);\n }\n\n removeTreks() {\n if (this.treksLayer) {\n state.currentMapTreksBounds = this.map.getBounds();\n this.map.removeLayer(this.treksLayer);\n this.treksLayer = null;\n this.map.off('moveend', this.handleTreksWithinBoundsBind);\n }\n }\n\n handleTreksWithinBounds() {\n if (\n (state.currentTreks && !state.currentMapTreksBounds) ||\n (state.currentTreks && state.currentMapTreksBounds && state.currentMapTreksBounds.toBBoxString() !== this.map.getBounds().toBBoxString())\n ) {\n state.treksWithinBounds = state.currentTreks.filter(trek => this.map.getBounds().contains(L.latLng(trek.departure_geom[1], trek.departure_geom[0])));\n }\n }\n\n addTrek() {\n const departureArrivalImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/departure-arrival.svg`);\n const currentTrekFeature: Feature = {\n type: 'Feature',\n geometry: state.currentTrek.geometry,\n properties: {},\n };\n\n this.currentTrekLayer = L.geoJSON(currentTrekFeature, {\n style: () => ({\n color: 'transparent',\n }),\n interactive: false,\n }).addTo(this.map);\n\n const currentDepartureCoordinates = [state.currentTrek.geometry.coordinates.at(0)[0], state.currentTrek.geometry.coordinates.at(0)[1]];\n const currentArrivalCoordinates = [state.currentTrek.geometry.coordinates.at(-1)[0], state.currentTrek.geometry.coordinates.at(-1)[1]];\n const currentDepartureArrivalFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [\n {\n type: 'Feature',\n properties: { type: 'departure' },\n geometry: { type: 'Point', coordinates: currentDepartureCoordinates },\n },\n ],\n };\n\n if (currentDepartureCoordinates[0] !== currentArrivalCoordinates[0] || currentDepartureCoordinates[1] !== currentArrivalCoordinates[1]) {\n currentDepartureArrivalFeatureCollection.features.push({\n type: 'Feature',\n properties: { type: 'arrival' },\n geometry: { type: 'Point', coordinates: currentArrivalCoordinates },\n });\n }\n\n this.currentDepartureArrivalLayer = L.geoJSON(currentDepartureArrivalFeatureCollection, {\n pointToLayer: (geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: `<img src=${departureArrivalImageSrc}>`,\n className: geoJsonPoint.properties.type === 'departure' ? 'departure-icon' : 'arrival-icon',\n iconSize: 48,\n iconAnchor: [0, 48],\n } as any),\n autoPanOnFocus: false,\n interactive: false,\n } as any),\n }).addTo(this.map);\n\n if (state.currentTrek.parking_location) {\n const currentParking: Feature = {\n type: 'Feature',\n properties: {},\n geometry: { type: 'Point', coordinates: state.currentTrek.parking_location },\n };\n this.currentParkingLayer = L.geoJSON(currentParking, {\n pointToLayer: (_geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: '<div>P</div>',\n className: 'parking-icon',\n iconSize: 48,\n iconAnchor: [0, 48],\n } as any),\n autoPanOnFocus: false,\n interactive: false,\n } as any),\n });\n }\n\n if (state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) {\n const currentSensitiveAreasFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n for (const sensitiveArea of state.currentSensitiveAreas) {\n currentSensitiveAreasFeatureCollection.features.push({\n type: 'Feature',\n properties: { name: sensitiveArea.name },\n geometry: sensitiveArea.geometry,\n });\n }\n\n this.currentSensitiveAreasLayer = L.geoJSON(currentSensitiveAreasFeatureCollection, {\n onEachFeature: (geoJsonPoint, layer) => {\n layer.once('mouseover', () => {\n const sensitiveAreaTooltip = L.DomUtil.create('div');\n sensitiveAreaTooltip.className = 'sensitive-area-tooltip';\n const sensitiveAreaName = L.DomUtil.create('div');\n sensitiveAreaName.innerHTML = geoJsonPoint.properties.name;\n sensitiveAreaName.className = 'sensitive-area-name';\n sensitiveAreaTooltip.appendChild(sensitiveAreaName);\n layer.bindTooltip(sensitiveAreaTooltip).openTooltip();\n });\n },\n style: () => ({ color: this.colorSensitiveArea }),\n });\n }\n\n if (state.currentPois && state.currentPois.length > 0) {\n const currentPoisFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n for (const currentPoi of state.currentPois) {\n currentPoisFeatureCollection.features.push({\n type: 'Feature',\n properties: { name: currentPoi.name, type_pictogram: state.poiTypes.find(poiType => poiType.id === currentPoi.type)?.pictogram },\n geometry: currentPoi.geometry,\n });\n }\n\n this.currentPoisLayer = L.geoJSON(currentPoisFeatureCollection, {\n pointToLayer: (geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: geoJsonPoint.properties.type_pictogram ? `<img src=${geoJsonPoint.properties.type_pictogram} />` : `<img />`,\n className: 'poi-icon',\n iconSize: 48,\n } as any),\n autoPanOnFocus: false,\n } as any),\n onEachFeature: (geoJsonPoint, layer) => {\n layer.once('mouseover', () => {\n const poiTooltip = L.DomUtil.create('div');\n poiTooltip.className = 'poi-tooltip';\n const poiName = L.DomUtil.create('div');\n poiName.innerHTML = geoJsonPoint.properties.name;\n poiName.className = 'poi-name';\n poiTooltip.appendChild(poiName);\n layer.bindTooltip(poiTooltip).openTooltip();\n });\n },\n });\n }\n\n if (state.currentInformationDesks && state.currentInformationDesks.length > 0) {\n const currentInformationDesksFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n for (const currentInformationDesk of state.currentInformationDesks.filter(currentInformationDesks =>\n state.currentTrek.information_desks.includes(currentInformationDesks.id),\n )) {\n if (currentInformationDesk.latitude && currentInformationDesk.longitude) {\n currentInformationDesksFeatureCollection.features.push({\n type: 'Feature',\n properties: { name: currentInformationDesk.name, type_pictogram: currentInformationDesk.type.pictogram },\n geometry: { type: 'Point', coordinates: [Number(currentInformationDesk.longitude), Number(currentInformationDesk.latitude)] },\n });\n }\n }\n\n this.currentInformationDesksLayer = L.geoJSON(currentInformationDesksFeatureCollection, {\n pointToLayer: (geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: geoJsonPoint.properties.type_pictogram ? `<img src=${geoJsonPoint.properties.type_pictogram} />` : `<img />`,\n className: 'information-desks-icon',\n iconSize: 48,\n } as any),\n autoPanOnFocus: false,\n } as any),\n onEachFeature: (geoJsonPoint, layer) => {\n layer.once('mouseover', () => {\n const informationDesksTooltip = L.DomUtil.create('div');\n informationDesksTooltip.className = 'information-desks-tooltip';\n const informationDesksName = L.DomUtil.create('div');\n informationDesksName.innerHTML = geoJsonPoint.properties.name;\n informationDesksName.className = 'information-desks-name';\n informationDesksTooltip.appendChild(informationDesksName);\n layer.bindTooltip(informationDesksTooltip).openTooltip();\n });\n },\n });\n }\n\n if (state.currentTrek.points_reference) {\n const currentPointsReferenceFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n currentPointsReferenceFeatureCollection.features.push({\n type: 'Feature',\n properties: {},\n geometry: state.currentTrek.points_reference,\n });\n\n let index = 0;\n this.currentPointsReferenceLayer = L.geoJSON(currentPointsReferenceFeatureCollection, {\n pointToLayer: (_geoJsonPoint, latlng) => {\n index += 1;\n return L.marker(latlng, {\n icon: L.divIcon({\n html: index,\n className: 'point-reference-icon',\n iconSize: 24,\n } as any),\n autoPanOnFocus: false,\n interactive: false,\n } as any);\n },\n });\n }\n const elevationOptions = {\n srcFolder: 'https://unpkg.com/@raruto/leaflet-elevation/src/',\n elevationDiv: `#${this.elevationRef.id}`,\n theme: 'custom-theme',\n detached: true,\n height: 250,\n wptIcons: false,\n wptLabels: false,\n collapsed: false,\n autohide: false,\n distanceMarkers: false,\n hotline: false,\n closeBtn: false,\n summary: false,\n time: false,\n timestamps: false,\n legend: false,\n downloadLink: false,\n autofitBounds: false,\n ruler: false,\n edgeScale: false,\n waypoints: false,\n almostOver: false,\n speed: false,\n slope: false,\n acceleration: false,\n reverseCoords: false,\n imperial: false,\n };\n this.elevationControl = (L.control as any).elevation({ ...elevationOptions }).addTo(this.map);\n const elevation = JSON.stringify({\n name: `${state.currentTrek.name}`,\n type: 'FeatureCollection',\n features: [{ type: 'Feature', geometry: { type: 'LineString', coordinates: state.currentTrek.geometry.coordinates }, properties: null }],\n });\n (this.elevationControl as any).load(elevation);\n\n const overlays = {};\n if (this.currentPointsReferenceLayer) {\n overlays[translate[state.language].layers.pointsReference] = this.currentPointsReferenceLayer;\n }\n if (this.currentParkingLayer) {\n overlays[translate[state.language].layers.parking] = this.currentParkingLayer;\n }\n if (this.currentSensitiveAreasLayer) {\n overlays[translate[state.language].layers.sensitiveArea] = this.currentSensitiveAreasLayer;\n }\n if (this.currentInformationDesksLayer) {\n overlays[translate[state.language].layers.informationPlaces] = this.currentInformationDesksLayer;\n }\n if (this.currentPoisLayer) {\n overlays[translate[state.language].layers.pois] = this.currentPoisLayer;\n }\n this.layersControl = L.control.layers(null, overlays, { collapsed: true }).addTo(this.map);\n this.handleLayersControlEvent();\n\n const bounds = L.latLngBounds(state.currentTrek.geometry.coordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n bounds && this.map.fitBounds(bounds);\n\n !this.mapIsReady && (this.mapIsReady = !this.mapIsReady);\n }\n\n handleLayersControlEvent() {\n const userLayersState: HTMLInputElement[] = (this.layersControl as any)._layerControlInputs;\n userLayersState.forEach((userLayerState: any) => {\n userLayerState.onchange = event => {\n this.userLayersState[userLayerState.layerId] = (event.target as any).checked;\n };\n });\n }\n\n removeTrek() {\n if (this.layersControl) {\n this.map.removeControl(this.layersControl);\n this.layersControl = null;\n }\n\n if (this.elevationControl) {\n (this.elevationControl as any).clear();\n this.map.removeControl(this.elevationControl);\n this.elevationControl = null;\n }\n\n if (this.currentTrekLayer) {\n this.map.removeLayer(this.currentTrekLayer);\n this.currentTrekLayer = null;\n }\n\n if (this.currentDepartureArrivalLayer) {\n this.map.removeLayer(this.currentDepartureArrivalLayer);\n this.currentDepartureArrivalLayer = null;\n }\n\n if (this.currentParkingLayer) {\n this.map.removeLayer(this.currentParkingLayer);\n this.currentParkingLayer = null;\n }\n\n if (this.currentSensitiveAreasLayer) {\n this.map.removeLayer(this.currentSensitiveAreasLayer);\n this.currentSensitiveAreasLayer = null;\n }\n\n if (this.currentPoisLayer) {\n this.map.removeLayer(this.currentPoisLayer);\n this.currentPoisLayer = null;\n }\n\n if (this.currentInformationDesksLayer) {\n this.map.removeLayer(this.currentInformationDesksLayer);\n this.currentInformationDesksLayer = null;\n }\n\n if (this.currentPointsReferenceLayer) {\n this.map.removeLayer(this.currentPointsReferenceLayer);\n this.currentPointsReferenceLayer = null;\n }\n }\n\n disconnectedCallback() {\n if (this.resetStoreOnDisconnected) {\n reset();\n }\n }\n\n render() {\n const layersImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/layers.svg`);\n return (\n <Host\n style={{\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-background': this.colorBackground,\n '--color-departure-icon': this.colorDepartureIcon,\n '--color-arrival-icon': this.colorArrivalIcon,\n '--color-poi-icon': this.colorPoiIcon,\n '--color-trek-line': this.colorTrekLine,\n '--layers-image-src': `url(${layersImageSrc})`,\n '--map-bottom-space-height': this.isLargeView ? '0px' : '70px',\n }}\n >\n <div id=\"map\" class={state.currentTrek ? 'trek-map' : 'treks-map'} ref={el => (this.mapRef = el)}></div>\n <div id=\"elevation\" ref={el => (this.elevationRef = el)}></div>\n <div class=\"map-bottom-space\"></div>\n {!this.mapIsReady && (\n <div class=\"map-loader-container\">\n <span class=\"loader\"></span>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"grw-map.js","sourceRoot":"","sources":["../../../src/components/grw-map/grw-map.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Event, EventEmitter, getAssetPath, Build, Listen, Element } from '@stencil/core';\nimport { Feature, FeatureCollection } from 'geojson';\nimport L from 'leaflet';\nimport 'leaflet.locatecontrol';\nimport '@raruto/leaflet-elevation/dist/leaflet-elevation.min.js';\nimport state, { onChange, reset } from 'store/store';\nimport { translate } from 'i18n/i18n';\n\n@Component({\n tag: 'grw-map',\n styleUrl: 'grw-map.scss',\n})\nexport class GrwMap {\n @Element() mapElement: HTMLElement;\n mapRef: HTMLElement;\n elevationRef: HTMLElement;\n @Event() trekCardPress: EventEmitter<number>;\n @State() mapIsReady = false;\n @Prop() urlLayer: string;\n @Prop() attribution: string;\n @Prop() center = '1, 1';\n @Prop() zoom = 10;\n\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorBackground = '#fef7ff';\n\n @Prop() colorTrekLine = '#6b0030';\n @Prop() colorDepartureIcon = '#006b3b';\n @Prop() colorArrivalIcon = '#85003b';\n @Prop() colorSensitiveArea = '\t#4974a5';\n @Prop() colorPoiIcon = '#974c6e';\n\n @Prop() resetStoreOnDisconnected = true;\n @Prop() isLargeView = false;\n map: L.Map;\n @State() mapHeight = undefined;\n resizeObserver: ResizeObserver;\n bounds;\n treksLayer: L.GeoJSON<any>;\n currentTrekLayer: L.GeoJSON<any>;\n currentDepartureArrivalLayer: L.GeoJSON<any>;\n currentPointsReferenceLayer: L.GeoJSON<any>;\n currentParkingLayer: L.GeoJSON<any>;\n currentSensitiveAreasLayer: L.GeoJSON<any>;\n currentPoisLayer: L.GeoJSON<any>;\n currentInformationDesksLayer: L.GeoJSON<any>;\n elevationControl: L.Control.Layers;\n layersControl: L.Control.Layers;\n userLayersState: {\n [key: number]: boolean;\n } = {};\n\n handleTreksWithinBoundsBind: (event: any) => void = this.handleTreksWithinBounds.bind(this);\n\n @Listen('centerOnMap', { target: 'window' })\n onCenterOnMap(event: CustomEvent<{ latitude: number; longitude: number }>) {\n this.map.setView(new L.LatLng(event.detail.latitude, event.detail.longitude), 17, { animate: false });\n }\n\n @Listen('descriptionReferenceIsInViewport', { target: 'window' })\n descriptionReferenceIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentPointsReferenceLayer) {\n this.handleLayerVisibility(event.detail, this.currentPointsReferenceLayer);\n }\n }\n\n @Listen('parkingIsInViewport', { target: 'window' })\n parkingIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentParkingLayer) {\n this.handleLayerVisibility(event.detail, this.currentParkingLayer);\n }\n }\n\n @Listen('informationDeskIsInViewport', { target: 'window' })\n onInformationDesksIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentInformationDesksLayer) {\n this.handleLayerVisibility(event.detail, this.currentInformationDesksLayer);\n }\n }\n\n @Listen('sensitiveAreaIsInViewport', { target: 'window' })\n sensitiveAreaIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentSensitiveAreasLayer) {\n this.handleLayerVisibility(event.detail, this.currentSensitiveAreasLayer);\n }\n }\n\n @Listen('poiIsInViewport', { target: 'window' })\n poiIsInViewport(event: CustomEvent<boolean>) {\n if (this.currentPoisLayer) {\n this.handleLayerVisibility(event.detail, this.currentPoisLayer);\n }\n }\n\n componentDidLoad() {\n this.mapHeight = this.mapElement.parentElement.clientHeight.toString();\n }\n\n componentDidRender() {\n if (this.mapHeight && !this.map) this.onMapHeight();\n }\n\n onMapHeight() {\n this.map = L.map(this.mapRef, {\n center: this.center.split(',').map(Number) as L.LatLngExpression,\n zoom: this.zoom,\n });\n\n L.control.scale({ metric: true, imperial: false }).addTo(this.map);\n (L.control as any).locate({ showPopup: false }).addTo(this.map);\n\n L.tileLayer(this.urlLayer, {\n maxZoom: 19,\n attribution: this.attribution,\n }).addTo(this.map);\n\n if (state.currentTrek) {\n this.addTrek();\n } else if (state.currentTreks) {\n this.addTreks();\n }\n\n onChange('currentTreks', () => {\n if (state.currentTrek) {\n this.removeTreks();\n this.addTrek();\n } else if (state.currentTreks) {\n this.removeTrek();\n this.addTreks();\n }\n });\n\n onChange('currentTrek', () => {\n if (state.currentTrek) {\n this.removeTreks();\n this.addTrek();\n } else {\n this.removeTrek();\n this.addTreks();\n }\n });\n }\n\n handleLayerVisibility(visible: boolean, layer: L.GeoJSON) {\n if (visible && !this.map.hasLayer(layer)) {\n layer.addTo(this.map);\n } else if (this.map.hasLayer(layer) && !this.userLayersState[(layer as any)._leaflet_id]) {\n this.map.removeLayer(layer);\n }\n this.handleLayersControlEvent();\n }\n\n addTreks() {\n const trekscurrentDepartureCoordinates = [];\n const treksFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n if (state.currentTreks) {\n for (const trek of state.currentTreks) {\n trekscurrentDepartureCoordinates.push(trek.departure_geom);\n treksFeatureCollection.features.push({\n type: 'Feature',\n geometry: { type: 'Point', coordinates: trek.departure_geom },\n properties: {\n id: trek.id,\n name: trek.name,\n practice: state.practices.find(practice => practice.id === trek.practice)?.pictogram,\n imgSrc: trek.attachments && trek.attachments.length > 0 && trek.attachments[0].thumbnail,\n },\n });\n }\n }\n\n if (!this.treksLayer) {\n if (trekscurrentDepartureCoordinates.length > 0 && !state.currentMapTreksBounds) {\n this.bounds = L.latLngBounds(trekscurrentDepartureCoordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n } else {\n if (state.currentMapTreksBounds) {\n this.bounds = state.currentMapTreksBounds;\n }\n }\n this.treksLayer = L.geoJSON(treksFeatureCollection, {\n pointToLayer: (geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: geoJsonPoint.properties.practice ? `<img src=${geoJsonPoint.properties.practice} />` : `<img />`,\n className: 'trek-marker',\n iconSize: 48,\n } as any),\n autoPanOnFocus: false,\n } as any),\n onEachFeature: (geoJsonPoint, layer) => {\n layer.once('click', () => {\n const trekDeparturePopup = L.DomUtil.create('div');\n trekDeparturePopup.className = 'trek-departure-popup';\n trekDeparturePopup.onclick = () => this.trekCardPress.emit(geoJsonPoint.properties.id);\n const trekName = L.DomUtil.create('div');\n trekName.innerHTML = geoJsonPoint.properties.name;\n trekName.className = 'trek-name';\n if (geoJsonPoint.properties.imgSrc) {\n trekName.className += ' trek-name-margin-top';\n const trekImg = L.DomUtil.create('img');\n trekImg.src = geoJsonPoint.properties.imgSrc;\n trekDeparturePopup.appendChild(trekImg);\n }\n trekDeparturePopup.appendChild(trekName);\n layer.bindPopup(trekDeparturePopup, { interactive: true, autoPan: false, closeButton: false } as any).openPopup();\n });\n },\n }).addTo(this.map);\n } else {\n if (trekscurrentDepartureCoordinates.length > 0) {\n this.bounds = L.latLngBounds(trekscurrentDepartureCoordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n } else {\n this.map.fire('moveend');\n }\n this.treksLayer.clearLayers();\n this.treksLayer.addData(treksFeatureCollection);\n }\n\n this.bounds && this.map.fitBounds(this.bounds);\n\n !this.mapIsReady && (this.mapIsReady = !this.mapIsReady);\n\n this.map.on('moveend', this.handleTreksWithinBoundsBind);\n }\n\n removeTreks() {\n if (this.treksLayer) {\n state.currentMapTreksBounds = this.map.getBounds();\n this.map.removeLayer(this.treksLayer);\n this.treksLayer = null;\n this.map.off('moveend', this.handleTreksWithinBoundsBind);\n }\n }\n\n handleTreksWithinBounds() {\n if (\n (state.currentTreks && !state.currentMapTreksBounds) ||\n (state.currentTreks && state.currentMapTreksBounds && state.currentMapTreksBounds.toBBoxString() !== this.map.getBounds().toBBoxString())\n ) {\n state.treksWithinBounds = state.currentTreks.filter(trek => this.map.getBounds().contains(L.latLng(trek.departure_geom[1], trek.departure_geom[0])));\n }\n }\n\n addTrek() {\n const departureArrivalImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/departure-arrival.svg`);\n const currentTrekFeature: Feature = {\n type: 'Feature',\n geometry: state.currentTrek.geometry,\n properties: {},\n };\n\n this.currentTrekLayer = L.geoJSON(currentTrekFeature, {\n style: () => ({\n color: 'transparent',\n }),\n interactive: false,\n }).addTo(this.map);\n\n const currentDepartureCoordinates = [state.currentTrek.geometry.coordinates.at(0)[0], state.currentTrek.geometry.coordinates.at(0)[1]];\n const currentArrivalCoordinates = [state.currentTrek.geometry.coordinates.at(-1)[0], state.currentTrek.geometry.coordinates.at(-1)[1]];\n const currentDepartureArrivalFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [\n {\n type: 'Feature',\n properties: { type: 'departure' },\n geometry: { type: 'Point', coordinates: currentDepartureCoordinates },\n },\n ],\n };\n\n if (currentDepartureCoordinates[0] !== currentArrivalCoordinates[0] || currentDepartureCoordinates[1] !== currentArrivalCoordinates[1]) {\n currentDepartureArrivalFeatureCollection.features.push({\n type: 'Feature',\n properties: { type: 'arrival' },\n geometry: { type: 'Point', coordinates: currentArrivalCoordinates },\n });\n }\n\n this.currentDepartureArrivalLayer = L.geoJSON(currentDepartureArrivalFeatureCollection, {\n pointToLayer: (geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: `<img src=${departureArrivalImageSrc}>`,\n className: geoJsonPoint.properties.type === 'departure' ? 'departure-icon' : 'arrival-icon',\n iconSize: 48,\n iconAnchor: [0, 48],\n } as any),\n autoPanOnFocus: false,\n interactive: false,\n } as any),\n }).addTo(this.map);\n\n if (state.currentTrek.parking_location) {\n const currentParking: Feature = {\n type: 'Feature',\n properties: {},\n geometry: { type: 'Point', coordinates: state.currentTrek.parking_location },\n };\n this.currentParkingLayer = L.geoJSON(currentParking, {\n pointToLayer: (_geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: '<div>P</div>',\n className: 'parking-icon',\n iconSize: 48,\n iconAnchor: [0, 48],\n } as any),\n autoPanOnFocus: false,\n interactive: false,\n } as any),\n });\n }\n\n if (state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) {\n const currentSensitiveAreasFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n for (const sensitiveArea of state.currentSensitiveAreas) {\n currentSensitiveAreasFeatureCollection.features.push({\n type: 'Feature',\n properties: { name: sensitiveArea.name },\n geometry: sensitiveArea.geometry,\n });\n }\n\n this.currentSensitiveAreasLayer = L.geoJSON(currentSensitiveAreasFeatureCollection, {\n onEachFeature: (geoJsonPoint, layer) => {\n layer.once('mouseover', () => {\n const sensitiveAreaTooltip = L.DomUtil.create('div');\n sensitiveAreaTooltip.className = 'sensitive-area-tooltip';\n const sensitiveAreaName = L.DomUtil.create('div');\n sensitiveAreaName.innerHTML = geoJsonPoint.properties.name;\n sensitiveAreaName.className = 'sensitive-area-name';\n sensitiveAreaTooltip.appendChild(sensitiveAreaName);\n layer.bindTooltip(sensitiveAreaTooltip).openTooltip();\n });\n },\n style: () => ({ color: this.colorSensitiveArea }),\n });\n }\n\n if (state.currentPois && state.currentPois.length > 0) {\n const currentPoisFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n for (const currentPoi of state.currentPois) {\n currentPoisFeatureCollection.features.push({\n type: 'Feature',\n properties: { name: currentPoi.name, type_pictogram: state.poiTypes.find(poiType => poiType.id === currentPoi.type)?.pictogram },\n geometry: currentPoi.geometry,\n });\n }\n\n this.currentPoisLayer = L.geoJSON(currentPoisFeatureCollection, {\n pointToLayer: (geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: geoJsonPoint.properties.type_pictogram ? `<img src=${geoJsonPoint.properties.type_pictogram} />` : `<img />`,\n className: 'poi-icon',\n iconSize: 48,\n } as any),\n autoPanOnFocus: false,\n } as any),\n onEachFeature: (geoJsonPoint, layer) => {\n layer.once('mouseover', () => {\n const poiTooltip = L.DomUtil.create('div');\n poiTooltip.className = 'poi-tooltip';\n const poiName = L.DomUtil.create('div');\n poiName.innerHTML = geoJsonPoint.properties.name;\n poiName.className = 'poi-name';\n poiTooltip.appendChild(poiName);\n layer.bindTooltip(poiTooltip).openTooltip();\n });\n },\n });\n }\n\n if (state.currentInformationDesks && state.currentInformationDesks.length > 0) {\n const currentInformationDesksFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n for (const currentInformationDesk of state.currentInformationDesks.filter(currentInformationDesks =>\n state.currentTrek.information_desks.includes(currentInformationDesks.id),\n )) {\n if (currentInformationDesk.latitude && currentInformationDesk.longitude) {\n currentInformationDesksFeatureCollection.features.push({\n type: 'Feature',\n properties: { name: currentInformationDesk.name, type_pictogram: currentInformationDesk.type.pictogram },\n geometry: { type: 'Point', coordinates: [Number(currentInformationDesk.longitude), Number(currentInformationDesk.latitude)] },\n });\n }\n }\n\n this.currentInformationDesksLayer = L.geoJSON(currentInformationDesksFeatureCollection, {\n pointToLayer: (geoJsonPoint, latlng) =>\n L.marker(latlng, {\n icon: L.divIcon({\n html: geoJsonPoint.properties.type_pictogram ? `<img src=${geoJsonPoint.properties.type_pictogram} />` : `<img />`,\n className: 'information-desks-icon',\n iconSize: 48,\n } as any),\n autoPanOnFocus: false,\n } as any),\n onEachFeature: (geoJsonPoint, layer) => {\n layer.once('mouseover', () => {\n const informationDesksTooltip = L.DomUtil.create('div');\n informationDesksTooltip.className = 'information-desks-tooltip';\n const informationDesksName = L.DomUtil.create('div');\n informationDesksName.innerHTML = geoJsonPoint.properties.name;\n informationDesksName.className = 'information-desks-name';\n informationDesksTooltip.appendChild(informationDesksName);\n layer.bindTooltip(informationDesksTooltip).openTooltip();\n });\n },\n });\n }\n\n if (state.currentTrek.points_reference) {\n const currentPointsReferenceFeatureCollection: FeatureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n currentPointsReferenceFeatureCollection.features.push({\n type: 'Feature',\n properties: {},\n geometry: state.currentTrek.points_reference,\n });\n\n let index = 0;\n this.currentPointsReferenceLayer = L.geoJSON(currentPointsReferenceFeatureCollection, {\n pointToLayer: (_geoJsonPoint, latlng) => {\n index += 1;\n return L.marker(latlng, {\n icon: L.divIcon({\n html: index,\n className: 'point-reference-icon',\n iconSize: 24,\n } as any),\n autoPanOnFocus: false,\n interactive: false,\n } as any);\n },\n });\n }\n const elevationOptions = {\n srcFolder: 'https://unpkg.com/@raruto/leaflet-elevation/src/',\n elevationDiv: `#elevation`,\n theme: 'custom-theme',\n detached: true,\n height: 250,\n wptIcons: false,\n wptLabels: false,\n collapsed: false,\n autohide: false,\n distanceMarkers: false,\n hotline: false,\n closeBtn: false,\n summary: false,\n time: false,\n timestamps: false,\n legend: false,\n downloadLink: false,\n autofitBounds: false,\n ruler: false,\n edgeScale: false,\n waypoints: false,\n almostOver: false,\n speed: false,\n slope: false,\n acceleration: false,\n reverseCoords: false,\n imperial: false,\n };\n this.elevationControl = (L.control as any).elevation({ ...elevationOptions }).addTo(this.map);\n const elevation = JSON.stringify({\n name: `${state.currentTrek.name}`,\n type: 'FeatureCollection',\n features: [{ type: 'Feature', geometry: { type: 'LineString', coordinates: state.currentTrek.geometry.coordinates }, properties: null }],\n });\n (this.elevationControl as any).load(elevation);\n\n const overlays = {};\n if (this.currentPointsReferenceLayer) {\n overlays[translate[state.language].layers.pointsReference] = this.currentPointsReferenceLayer;\n }\n if (this.currentParkingLayer) {\n overlays[translate[state.language].layers.parking] = this.currentParkingLayer;\n }\n if (this.currentSensitiveAreasLayer) {\n overlays[translate[state.language].layers.sensitiveArea] = this.currentSensitiveAreasLayer;\n }\n if (this.currentInformationDesksLayer) {\n overlays[translate[state.language].layers.informationPlaces] = this.currentInformationDesksLayer;\n }\n if (this.currentPoisLayer) {\n overlays[translate[state.language].layers.pois] = this.currentPoisLayer;\n }\n this.layersControl = L.control.layers(null, overlays, { collapsed: true }).addTo(this.map);\n this.handleLayersControlEvent();\n\n this.bounds = L.latLngBounds(state.currentTrek.geometry.coordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n this.bounds && this.map.fitBounds(this.bounds);\n\n !this.mapIsReady && (this.mapIsReady = !this.mapIsReady);\n }\n\n handleLayersControlEvent() {\n const userLayersState: HTMLInputElement[] = (this.layersControl as any)._layerControlInputs;\n userLayersState.forEach((userLayerState: any) => {\n userLayerState.onchange = event => {\n this.userLayersState[userLayerState.layerId] = (event.target as any).checked;\n };\n });\n }\n\n removeTrek() {\n if (this.layersControl) {\n this.map.removeControl(this.layersControl);\n this.layersControl = null;\n }\n\n if (this.elevationControl) {\n (this.elevationControl as any).clear();\n this.map.removeControl(this.elevationControl);\n this.elevationControl = null;\n }\n\n if (this.currentTrekLayer) {\n this.map.removeLayer(this.currentTrekLayer);\n this.currentTrekLayer = null;\n }\n\n if (this.currentDepartureArrivalLayer) {\n this.map.removeLayer(this.currentDepartureArrivalLayer);\n this.currentDepartureArrivalLayer = null;\n }\n\n if (this.currentParkingLayer) {\n this.map.removeLayer(this.currentParkingLayer);\n this.currentParkingLayer = null;\n }\n\n if (this.currentSensitiveAreasLayer) {\n this.map.removeLayer(this.currentSensitiveAreasLayer);\n this.currentSensitiveAreasLayer = null;\n }\n\n if (this.currentPoisLayer) {\n this.map.removeLayer(this.currentPoisLayer);\n this.currentPoisLayer = null;\n }\n\n if (this.currentInformationDesksLayer) {\n this.map.removeLayer(this.currentInformationDesksLayer);\n this.currentInformationDesksLayer = null;\n }\n\n if (this.currentPointsReferenceLayer) {\n this.map.removeLayer(this.currentPointsReferenceLayer);\n this.currentPointsReferenceLayer = null;\n }\n }\n\n disconnectedCallback() {\n if (this.resetStoreOnDisconnected) {\n reset();\n }\n }\n\n render() {\n const layersImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/layers.svg`);\n return (\n <Host\n style={{\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-background': this.colorBackground,\n '--color-departure-icon': this.colorDepartureIcon,\n '--color-arrival-icon': this.colorArrivalIcon,\n '--color-poi-icon': this.colorPoiIcon,\n '--color-trek-line': this.colorTrekLine,\n '--layers-image-src': `url(${layersImageSrc})`,\n '--map-bottom-space-height': this.isLargeView ? '0px' : '70px',\n 'height': `${this.mapHeight}px`,\n }}\n >\n <div id=\"map\" style={{}} class={state.currentTrek ? 'trek-map' : 'treks-map'} ref={el => (this.mapRef = el)}></div>\n {state.currentTrek && (\n <div>\n <div id=\"elevation\" ref={el => (this.elevationRef = el)}></div>\n <div class=\"map-bottom-space\"></div>\n </div>\n )}\n\n {!this.mapIsReady && (\n <div class=\"map-loader-container\">\n <span class=\"loader\"></span>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -684,12 +684,13 @@ grw-trek-detail {
684
684
  font-size: 16px;
685
685
  line-height: 24px;
686
686
  font-weight: 500;
687
- margin-bottom: 8px;
688
687
  }
689
688
  .trek-detail-container .downloads-container .links-container {
690
689
  display: flex;
690
+ flex-wrap: wrap;
691
691
  }
692
692
  .trek-detail-container .downloads-container .links-container a {
693
+ margin-top: 8px;
693
694
  background-color: var(--color-primary-container);
694
695
  color: var(--color-on-primary-container);
695
696
  border-radius: 8px;
@@ -708,7 +709,7 @@ grw-trek-detail {
708
709
  text-decoration: none;
709
710
  }
710
711
  .trek-detail-container .downloads-container .links-container a:nth-child(2) {
711
- margin: 0px 12px;
712
+ margin: 8px 12px 0px 12px;
712
713
  }
713
714
  .trek-detail-container .downloads-container .links-container a:hover {
714
715
  box-shadow: var(--elevation-2);
@@ -219,7 +219,7 @@ export class GrwTrekDetail {
219
219
  }
220
220
  }
221
221
  handleOptions() {
222
- return Object.assign(Object.assign({}, options), { presentation: Object.assign({}, presentation), description: Object.assign(Object.assign({}, description), { visible: Boolean(this.currentTrek.description) }), recommendations: Object.assign(Object.assign({}, recommendations), { visible: Boolean(this.currentTrek.advice || this.labels.length > 0) }), sensitiveArea: Object.assign(Object.assign({}, sensitiveArea), { visible: Boolean(state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) }), informationPlaces: Object.assign(Object.assign({}, informationPlaces), { visible: Boolean(state.currentInformationDesks &&
222
+ return Object.assign(Object.assign({}, options), { presentation: Object.assign({}, presentation), description: Object.assign(Object.assign({}, description), { visible: Boolean(this.currentTrek.description) }), recommendations: Object.assign(Object.assign({}, recommendations), { visible: Boolean(this.currentTrek.advice || (this.labels && this.labels.length > 0)) }), sensitiveArea: Object.assign(Object.assign({}, sensitiveArea), { visible: Boolean(state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) }), informationPlaces: Object.assign(Object.assign({}, informationPlaces), { visible: Boolean(state.currentInformationDesks &&
223
223
  state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0) }), pois: Object.assign(Object.assign({}, pois), { visible: Boolean(state.currentPois && state.currentPois.length > 0) }) });
224
224
  }
225
225
  handleFullscreen() {
@@ -1 +1 @@
1
- {"version":3,"file":"grw-trek-detail.js","sourceRoot":"","sources":["../../../src/components/grw-trek-detail/grw-trek-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Event, EventEmitter } from '@stencil/core';\nimport Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel } from 'swiper';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange, reset } from 'store/store';\nimport { Accessibilities, AccessibilityLevel, Difficulty, Labels, Practice, Route, Sources, Themes, Trek, Option, Options } from 'types/types';\nimport { formatDuration, formatLength, formatAscent } from 'utils/utils';\n\nconst threshold = 0.5;\n\nconst presentation: Option = {\n visible: true,\n width: 120,\n indicator: false,\n};\nconst description: Option = {\n visible: false,\n width: 120,\n indicator: false,\n};\nconst recommendations: Option = {\n visible: false,\n width: 190,\n indicator: false,\n};\nconst sensitiveArea: Option = {\n visible: false,\n width: 160,\n indicator: false,\n};\nconst informationPlaces: Option = {\n visible: false,\n width: 200,\n indicator: false,\n};\nconst pois: Option = {\n visible: false,\n width: 120,\n indicator: false,\n};\nconst options: Options = {\n presentation,\n description,\n recommendations,\n sensitiveArea,\n informationPlaces,\n pois,\n};\n\n@Component({\n tag: 'grw-trek-detail',\n styleUrl: 'grw-trek-detail.scss',\n shadow: false,\n})\nexport class GrwTrekDetail {\n swiperImages?: Swiper;\n swiperPois?: Swiper;\n swiperInformationDesks?: Swiper;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n swiperPoisRef?: HTMLDivElement;\n swiperInformationDesksRef?: HTMLDivElement;\n presentationRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n parkingRef?: HTMLDivElement;\n recommendationRef?: HTMLDivElement;\n sensitiveAreaRef?: HTMLDivElement;\n informationDeskRef?: HTMLDivElement;\n poiRef?: HTMLDivElement;\n trekDetailContainerRef?: HTMLElement;\n\n defaultOptions: Options;\n @Event() descriptionReferenceIsInViewport: EventEmitter<boolean>;\n @Event() parkingIsInViewport: EventEmitter<boolean>;\n @Event() sensitiveAreaIsInViewport: EventEmitter<boolean>;\n @Event() informationDeskIsInViewport: EventEmitter<boolean>;\n @Event() poiIsInViewport: EventEmitter<boolean>;\n @State() currentTrek: Trek;\n @State() difficulty: Difficulty;\n @State() route: Route;\n @State() practice: Practice;\n @State() themes: Themes;\n @State() labels: Labels;\n @State() sources: Sources;\n @State() accessibilities: Accessibilities;\n @State() accessibilityLevel: AccessibilityLevel;\n @State() displayFullscreen = false;\n @State() cities: string[];\n @State() options: Options;\n @Prop() trek: Trek;\n\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() colorBackground = '#fef7ff';\n\n @Prop() resetStoreOnDisconnected = true;\n @Prop() weather = false;\n @Prop() isLargeView = false;\n\n componentDidLoad() {\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 });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n this.swiperPois = new Swiper(this.swiperPoisRef, {\n modules: [FreeMode, Mousewheel],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n });\n this.swiperInformationDesks = new Swiper(this.swiperInformationDesksRef, {\n modules: [FreeMode, Mousewheel],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n });\n if (this.presentationRef) {\n const presentationObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n presentationObserver.observe(this.presentationRef);\n }\n if (this.descriptionRef) {\n const descriptionReferenceObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.descriptionReferenceIsInViewport.emit(intersectionRatio);\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, description: { ...this.defaultOptions.description, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n descriptionReferenceObserver.observe(this.descriptionRef);\n }\n if (this.recommendationRef) {\n const recommendationsObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, recommendations: { ...this.defaultOptions.recommendations, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n recommendationsObserver.observe(this.recommendationRef);\n }\n if (this.parkingRef) {\n const parkingObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.parkingIsInViewport.emit(intersectionRatio);\n },\n { threshold },\n );\n parkingObserver.observe(this.parkingRef);\n }\n\n if (this.sensitiveAreaRef) {\n const sensitiveAreaRefObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.sensitiveAreaIsInViewport.emit(intersectionRatio);\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, sensitiveArea: { ...this.defaultOptions.sensitiveArea, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n sensitiveAreaRefObserver.observe(this.sensitiveAreaRef);\n }\n\n if (this.informationDeskRef) {\n const informationDeskObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.informationDeskIsInViewport.emit(intersectionRatio);\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, informationPlaces: { ...this.defaultOptions.informationPlaces, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n informationDeskObserver.observe(this.informationDeskRef);\n }\n\n if (this.poiRef) {\n const poiObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.poiIsInViewport.emit(intersectionRatio);\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, pois: { ...this.defaultOptions.pois, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n poiObserver.observe(this.poiRef);\n }\n }\n\n connectedCallback() {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.defaultOptions = this.handleOptions();\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: true } };\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => this.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => this.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => this.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => this.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n this.cities = this.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n }\n onChange('currentTrek', () => {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.defaultOptions = this.handleOptions();\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: true } };\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => this.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => this.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => this.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => this.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n this.cities = this.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n }\n });\n }\n\n disconnectedCallback() {\n if (this.resetStoreOnDisconnected) {\n reset();\n }\n }\n\n handleOptions() {\n return {\n ...options,\n presentation: { ...presentation },\n description: { ...description, visible: Boolean(this.currentTrek.description) },\n recommendations: { ...recommendations, visible: Boolean(this.currentTrek.advice || this.labels.length > 0) },\n sensitiveArea: { ...sensitiveArea, visible: Boolean(state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) },\n informationPlaces: {\n ...informationPlaces,\n visible: Boolean(\n state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0,\n ),\n },\n pois: { ...pois, visible: Boolean(state.currentPois && state.currentPois.length > 0) },\n };\n }\n\n handleFullscreen() {\n if (this.currentTrek.attachments && this.currentTrek.attachments[0] && this.currentTrek.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n }\n\n handleIndicatorSelectedTrekOption() {\n let previousVisibleOptions = 0;\n let currentOption: Option;\n let previousWidthOptions = 0;\n const options: Option[] = Object.values(this.options);\n let index = 0;\n while (!currentOption && index < options.length) {\n if (options[index].indicator) {\n currentOption = options[index];\n } else {\n if (options[index].visible) {\n previousVisibleOptions += 1;\n previousWidthOptions += options[index].width;\n }\n }\n index++;\n }\n return `${previousWidthOptions + 16 * previousVisibleOptions - currentOption.width / 2}px`;\n }\n\n handleScrollTo(element: HTMLDivElement) {\n this.trekDetailContainerRef.scrollTo({ top: element.offsetTop - 48 });\n }\n\n render() {\n return (\n <Host\n style={{\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 ? '8px' : '104px',\n }}\n >\n {this.currentTrek && (\n <div class=\"trek-options\">\n <a onClick={() => this.handleScrollTo(this.presentationRef)} class={`presentation trek-option${this.options.presentation.indicator ? ' selected-trek-option' : ''}`}>\n {translate[state.language].options.presentation}\n </a>\n {this.options.description.visible && (\n <a onClick={() => this.handleScrollTo(this.descriptionRef)} class={`description trek-option${this.options.description.indicator ? ' selected-trek-option' : ''}`}>\n {translate[state.language].options.description}\n </a>\n )}\n {this.options.recommendations.visible && (\n <a\n onClick={() => this.handleScrollTo(this.recommendationRef)}\n class={`recommendations trek-option${this.options.recommendations.indicator ? ' selected-trek-option' : ''}`}\n >\n {translate[state.language].options.recommendations}\n </a>\n )}\n {this.options.sensitiveArea.visible && (\n <a\n onClick={() => this.handleScrollTo(this.sensitiveAreaRef)}\n class={`sensitive-areas trek-option${this.options.sensitiveArea.indicator ? ' selected-trek-option' : ''}`}\n >\n {translate[state.language].options.environmentalSensitiveAreas}\n </a>\n )}\n {this.options.informationPlaces.visible && (\n <a\n onClick={() => this.handleScrollTo(this.informationDeskRef)}\n class={`information-places trek-option${this.options.informationPlaces.indicator ? ' selected-trek-option' : ''}`}\n >\n {translate[state.language].options.informationPlaces}\n </a>\n )}\n {this.options.pois.visible && (\n <a onClick={() => this.handleScrollTo(this.poiRef)} class={`pois trek-option${this.options.pois.indicator ? ' selected-trek-option' : ''}`}>\n {translate[state.language].options.pois}\n </a>\n )}\n <span class=\"indicator-selected-trek-option\" style={{ transform: `translateX(${this.handleIndicatorSelectedTrekOption()})` }}></span>\n </div>\n )}\n {this.currentTrek && (\n <div class=\"trek-detail-container\" ref={el => (this.trekDetailContainerRef = el)}>\n <div class=\"images-container\" ref={el => (this.presentationRef = el)}>\n <div class=\"swiper\" ref={el => (this.swiperImagesRef = el)}>\n <div class=\"swiper-wrapper\">\n {this.currentTrek.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => (\n <div class=\"swiper-slide\">\n <img class=\"image\" src={attachment.url} loading=\"lazy\" onClick={() => this.handleFullscreen()} />\n </div>\n ))}\n </div>\n <div class=\"swiper-pagination\" ref={el => (this.paginationElImagesRef = el)}></div>\n <div class=\"swiper-button-prev\" ref={el => (this.prevElImagesRef = el)}></div>\n <div class=\"swiper-button-next\" ref={el => (this.nextElImagesRef = el)}></div>\n </div>\n </div>\n <div class=\"name\">{this.currentTrek.name}</div>\n {this.themes.length > 0 && (\n <div class=\"themes-container\">\n {this.themes.map(theme => (\n <div class=\"theme\">{theme.label}</div>\n ))}\n </div>\n )}\n <div class=\"sub-container\">\n <div class=\"icons-labels-container\">\n <div class=\"row\">\n <div class=\"icon-label difficulty\">\n {this.difficulty?.pictogram && <img src={this.difficulty.pictogram} />}\n {this.difficulty?.label}\n </div>\n <div class=\"icon-label duration\">\n <span class=\"material-symbols-outlined\">timelapse</span>\n {formatDuration(this.currentTrek?.duration)}\n </div>\n <div class=\"icon-label route\">\n {this.route?.pictogram && <img src={this.route.pictogram} />}\n {this.route?.route}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"icon-label length\">\n <span class=\"material-symbols-outlined\">open_in_full</span>\n {formatLength(this.currentTrek.length_2d)}\n </div>\n <div class=\"icon-label ascent\">\n <span class=\"material-symbols-outlined\">moving</span>\n {formatAscent(this.currentTrek.ascent)}\n </div>\n <div class=\"icon-label practice\">\n {this.practice?.pictogram && <img src={this.practice.pictogram} />}\n {this.practice?.name}\n </div>\n </div>\n </div>\n </div>\n <div class=\"divider\"></div>\n <div class=\"downloads-container\">\n <div class=\"download-title\">{translate[state.language].downloads}</div>\n <div class=\"links-container\">\n <a href={`${this.currentTrek.gpx}`}>\n <span class=\"material-symbols-outlined\">download</span>GPX\n </a>\n <a href={`${this.currentTrek.kml}`}>\n <span class=\"material-symbols-outlined\">download</span>KML\n </a>\n <a href={`${this.currentTrek.pdf}`}>\n <span class=\"material-symbols-outlined\">download</span>PDF\n </a>\n </div>\n </div>\n <div class=\"divider\"></div>\n {this.currentTrek.description_teaser && <div class=\"description-teaser\" innerHTML={this.currentTrek.description_teaser}></div>}\n {this.currentTrek.ambiance && <div class=\"ambiance\" innerHTML={this.currentTrek.ambiance}></div>}\n <div class=\"divider\"></div>\n {this.currentTrek.description && (\n <div class=\"description-container\" ref={el => (this.descriptionRef = el)}>\n <div class=\"description-title\">{translate[state.language].description}</div>\n <div class=\"description\" innerHTML={this.currentTrek.description}></div>\n </div>\n )}\n {this.currentTrek.departure && (\n <div class=\"departure-container\">\n <div class=\"departure-title\">{translate[state.language].departure} :&nbsp;</div>\n <div innerHTML={this.currentTrek.departure}></div>\n </div>\n )}\n {this.currentTrek.arrival && (\n <div class=\"arrival-container\">\n <div class=\"arrival-title\">{translate[state.language].arrival} :&nbsp;</div>\n <div innerHTML={this.currentTrek.arrival}></div>\n </div>\n )}\n {this.currentTrek.cities && (\n <div class=\"cities-container\">\n <div class=\"cities-title\">{translate[state.language].cities} :&nbsp;</div>\n <div innerHTML={this.cities.join(', ')}></div>\n </div>\n )}\n {this.weather && this.currentTrek.departure_city && (\n <div class=\"weather-container\">\n <iframe height=\"150\" frameborder=\"0\" src={`https://meteofrance.com/widget/prevision/${this.currentTrek.departure_city}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n )}\n {this.currentTrek.access && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"access-container\">\n <div class=\"access-title\">{translate[state.language].roadAccess}</div>\n <div class=\"access\" innerHTML={this.currentTrek.access}></div>\n </div>\n </div>\n )}\n {this.currentTrek.public_transport && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"public-transport-container\">\n <div class=\"public-transport-title\">{translate[state.language].transport}</div>\n <div class=\"public-transport\" innerHTML={this.currentTrek.public_transport}></div>\n </div>\n </div>\n )}\n {(this.currentTrek.advice || this.labels.length > 0) && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"advice-container\" ref={el => (this.recommendationRef = el)}>\n <div class=\"advice-title\">{translate[state.language].recommendations}</div>\n {this.currentTrek.advice && (\n <div class=\"current-advice-container\">\n <span class=\"material-symbols-outlined\">warning</span>\n <div class=\"advice\" innerHTML={this.currentTrek.advice}></div>\n </div>\n )}\n {this.labels.map(label => (\n <div class=\"label-container\">\n <div class=\"label-sub-container\">\n {label.pictogram && <img src={label.pictogram} />}\n <div class=\"label-name\" innerHTML={label.name}></div>\n </div>\n <div class=\"label-advice\" innerHTML={label.advice}></div>\n </div>\n ))}\n </div>\n </div>\n )}\n {this.currentTrek.advised_parking && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"advised-parking-container\" ref={el => (this.parkingRef = el)}>\n <div class=\"advised-parking-title\">{translate[state.language].recommendedParking}</div>\n <div class=\"advised-parking\" innerHTML={this.currentTrek.advised_parking}></div>\n </div>\n </div>\n )}\n {this.currentTrek.gear && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"gear-container\">\n <div class=\"gear-title\">{translate[state.language].equipments}</div>\n <div class=\"gear\" innerHTML={this.currentTrek.gear}></div>\n </div>\n </div>\n )}\n {state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0 && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"sensitive-areas-container\" ref={el => (this.sensitiveAreaRef = el)}>\n <div class=\"sensitive-areas-title\">{translate[state.language].environmentalSensitiveAreas}</div>\n {state.currentSensitiveAreas.map(sensitiveArea => (\n <grw-sensitive-area-detail sensitiveArea={sensitiveArea}></grw-sensitive-area-detail>\n ))}\n </div>\n </div>\n )}\n {state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0 && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"information-desks-container\" ref={el => (this.informationDeskRef = el)}>\n <div class=\"information-desks-title\">{translate[state.language].informationPlaces}</div>\n <div class=\"swiper swiper-information-desks\" ref={el => (this.swiperInformationDesksRef = el)}>\n <div class=\"swiper-wrapper\">\n {state.currentInformationDesks\n .filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id))\n .map(informationDesk => (\n <div class=\"swiper-slide\">\n <grw-information-desk-detail informationDesk={informationDesk}></grw-information-desk-detail>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )}\n {(this.currentTrek.disabled_infrastructure ||\n (this.accessibilities && this.accessibilities.length > 0) ||\n this.currentTrek.accessibility_level ||\n this.currentTrek.accessibility_slope ||\n this.currentTrek.accessibility_width ||\n this.currentTrek.accessibility_signage ||\n this.currentTrek.accessibility_covering ||\n this.currentTrek.accessibility_exposure ||\n this.currentTrek.accessibility_advice) && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"accessibilities-container\">\n <div class=\"accessibilities-title\">{translate[state.language].accessibility}</div>\n {this.currentTrek.disabled_infrastructure && <div innerHTML={this.currentTrek.disabled_infrastructure}></div>}\n <div class=\"accessibilities-content-container\">\n {this.accessibilities.map(accessibility => (\n <div class=\"accessibility-content-container\">\n <img src={accessibility.pictogram}></img>\n <div innerHTML={accessibility.name}></div>\n </div>\n ))}\n </div>\n {this.currentTrek.accessibility_level && (\n <div class=\"accessibility-level-container\">\n <div class=\"accessibility-level-title\">{translate[state.language].accessibilityLevel}</div>\n <div innerHTML={this.accessibilityLevel.name}></div>\n </div>\n )}\n {this.currentTrek.accessibility_slope && (\n <div class=\"accessibility-slope-container\">\n <div class=\"accessibility-slope-title\">{translate[state.language].accessibilitySlope}</div>\n <div innerHTML={this.currentTrek.accessibility_slope}></div>\n </div>\n )}\n {this.currentTrek.accessibility_width && (\n <div class=\"accessibility-width-container\">\n <div class=\"accessibility-width-title\">{translate[state.language].accessibilityWidth}</div>\n <div innerHTML={this.currentTrek.accessibility_width}></div>\n </div>\n )}\n {this.currentTrek.accessibility_signage && (\n <div class=\"accessibility-signage-container\">\n <div class=\"accessibility-signage-title\">{translate[state.language].accessibilitySignage}</div>\n <div innerHTML={this.currentTrek.accessibility_signage}></div>\n </div>\n )}\n {this.currentTrek.accessibility_covering && (\n <div class=\"accessibility-covering-container\">\n <div class=\"accessibility-covering-title\">{translate[state.language].accessibilityCovering}</div>\n <div innerHTML={this.currentTrek.accessibility_covering}></div>\n </div>\n )}\n {this.currentTrek.accessibility_exposure && (\n <div class=\"accessibility-exposure-container\">\n <div class=\"accessibility-exposure-title\">{translate[state.language].accessibilityExposure}</div>\n <div innerHTML={this.currentTrek.accessibility_exposure}></div>\n </div>\n )}\n {this.currentTrek.accessibility_advice && (\n <div class=\"accessibility-advice-container\">\n <div class=\"accessibility-advice-title\">{translate[state.language].accessibilityAdvices}</div>\n <div innerHTML={this.currentTrek.accessibility_advice}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {state.currentPois && state.currentPois.length > 0 && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"pois-container\" ref={el => (this.poiRef = el)}>\n <div class=\"pois-title\">{translate[state.language].pois(state.currentPois.length)}</div>\n <div class=\"swiper swiper-pois\" ref={el => (this.swiperPoisRef = el)}>\n <div class=\"swiper-wrapper\">\n {state.currentPois.map(poi => (\n <div class=\"swiper-slide\">\n <grw-poi-detail poi={poi}></grw-poi-detail>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )}\n {this.currentTrek.source && this.currentTrek.source.length > 0 && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"source-container\">\n <div class=\"source-title\">{translate[state.language].sources}</div>\n {this.sources.map(source => (\n <div class=\"source-sub-container\">\n {source.pictogram && <img src={source.pictogram} />}\n <div>\n <div class=\"source-name\" innerHTML={source.name}></div>\n <a class=\"source-advice\" href={source.website} innerHTML={source.website}></a>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n <div class=\"detail-bottom-space\"></div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"grw-trek-detail.js","sourceRoot":"","sources":["../../../src/components/grw-trek-detail/grw-trek-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Event, EventEmitter } from '@stencil/core';\nimport Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel } from 'swiper';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange, reset } from 'store/store';\nimport { Accessibilities, AccessibilityLevel, Difficulty, Labels, Practice, Route, Sources, Themes, Trek, Option, Options } from 'types/types';\nimport { formatDuration, formatLength, formatAscent } from 'utils/utils';\n\nconst threshold = 0.5;\n\nconst presentation: Option = {\n visible: true,\n width: 120,\n indicator: false,\n};\nconst description: Option = {\n visible: false,\n width: 120,\n indicator: false,\n};\nconst recommendations: Option = {\n visible: false,\n width: 190,\n indicator: false,\n};\nconst sensitiveArea: Option = {\n visible: false,\n width: 160,\n indicator: false,\n};\nconst informationPlaces: Option = {\n visible: false,\n width: 200,\n indicator: false,\n};\nconst pois: Option = {\n visible: false,\n width: 120,\n indicator: false,\n};\nconst options: Options = {\n presentation,\n description,\n recommendations,\n sensitiveArea,\n informationPlaces,\n pois,\n};\n\n@Component({\n tag: 'grw-trek-detail',\n styleUrl: 'grw-trek-detail.scss',\n shadow: false,\n})\nexport class GrwTrekDetail {\n swiperImages?: Swiper;\n swiperPois?: Swiper;\n swiperInformationDesks?: Swiper;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n swiperPoisRef?: HTMLDivElement;\n swiperInformationDesksRef?: HTMLDivElement;\n presentationRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n parkingRef?: HTMLDivElement;\n recommendationRef?: HTMLDivElement;\n sensitiveAreaRef?: HTMLDivElement;\n informationDeskRef?: HTMLDivElement;\n poiRef?: HTMLDivElement;\n trekDetailContainerRef?: HTMLElement;\n\n defaultOptions: Options;\n @Event() descriptionReferenceIsInViewport: EventEmitter<boolean>;\n @Event() parkingIsInViewport: EventEmitter<boolean>;\n @Event() sensitiveAreaIsInViewport: EventEmitter<boolean>;\n @Event() informationDeskIsInViewport: EventEmitter<boolean>;\n @Event() poiIsInViewport: EventEmitter<boolean>;\n @State() currentTrek: Trek;\n @State() difficulty: Difficulty;\n @State() route: Route;\n @State() practice: Practice;\n @State() themes: Themes;\n @State() labels: Labels;\n @State() sources: Sources;\n @State() accessibilities: Accessibilities;\n @State() accessibilityLevel: AccessibilityLevel;\n @State() displayFullscreen = false;\n @State() cities: string[];\n @State() options: Options;\n @Prop() trek: Trek;\n\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() colorBackground = '#fef7ff';\n\n @Prop() resetStoreOnDisconnected = true;\n @Prop() weather = false;\n @Prop() isLargeView = false;\n\n componentDidLoad() {\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 });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n this.swiperPois = new Swiper(this.swiperPoisRef, {\n modules: [FreeMode, Mousewheel],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n });\n this.swiperInformationDesks = new Swiper(this.swiperInformationDesksRef, {\n modules: [FreeMode, Mousewheel],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n });\n if (this.presentationRef) {\n const presentationObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n presentationObserver.observe(this.presentationRef);\n }\n if (this.descriptionRef) {\n const descriptionReferenceObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.descriptionReferenceIsInViewport.emit(intersectionRatio);\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, description: { ...this.defaultOptions.description, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n descriptionReferenceObserver.observe(this.descriptionRef);\n }\n if (this.recommendationRef) {\n const recommendationsObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, recommendations: { ...this.defaultOptions.recommendations, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n recommendationsObserver.observe(this.recommendationRef);\n }\n if (this.parkingRef) {\n const parkingObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.parkingIsInViewport.emit(intersectionRatio);\n },\n { threshold },\n );\n parkingObserver.observe(this.parkingRef);\n }\n\n if (this.sensitiveAreaRef) {\n const sensitiveAreaRefObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.sensitiveAreaIsInViewport.emit(intersectionRatio);\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, sensitiveArea: { ...this.defaultOptions.sensitiveArea, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n sensitiveAreaRefObserver.observe(this.sensitiveAreaRef);\n }\n\n if (this.informationDeskRef) {\n const informationDeskObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.informationDeskIsInViewport.emit(intersectionRatio);\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, informationPlaces: { ...this.defaultOptions.informationPlaces, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n informationDeskObserver.observe(this.informationDeskRef);\n }\n\n if (this.poiRef) {\n const poiObserver = new IntersectionObserver(\n entries => {\n const intersectionRatio = entries[0].intersectionRatio >= threshold;\n this.poiIsInViewport.emit(intersectionRatio);\n if (intersectionRatio) {\n this.options = { ...this.defaultOptions, pois: { ...this.defaultOptions.pois, indicator: intersectionRatio } };\n }\n },\n { threshold },\n );\n poiObserver.observe(this.poiRef);\n }\n }\n\n connectedCallback() {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.defaultOptions = this.handleOptions();\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: true } };\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => this.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => this.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => this.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => this.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n this.cities = this.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n }\n onChange('currentTrek', () => {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.defaultOptions = this.handleOptions();\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: true } };\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => this.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => this.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => this.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => this.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n this.cities = this.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n }\n });\n }\n\n disconnectedCallback() {\n if (this.resetStoreOnDisconnected) {\n reset();\n }\n }\n\n handleOptions() {\n return {\n ...options,\n presentation: { ...presentation },\n description: { ...description, visible: Boolean(this.currentTrek.description) },\n recommendations: { ...recommendations, visible: Boolean(this.currentTrek.advice || (this.labels && this.labels.length > 0)) },\n sensitiveArea: { ...sensitiveArea, visible: Boolean(state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) },\n informationPlaces: {\n ...informationPlaces,\n visible: Boolean(\n state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0,\n ),\n },\n pois: { ...pois, visible: Boolean(state.currentPois && state.currentPois.length > 0) },\n };\n }\n\n handleFullscreen() {\n if (this.currentTrek.attachments && this.currentTrek.attachments[0] && this.currentTrek.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n }\n\n handleIndicatorSelectedTrekOption() {\n let previousVisibleOptions = 0;\n let currentOption: Option;\n let previousWidthOptions = 0;\n const options: Option[] = Object.values(this.options);\n let index = 0;\n while (!currentOption && index < options.length) {\n if (options[index].indicator) {\n currentOption = options[index];\n } else {\n if (options[index].visible) {\n previousVisibleOptions += 1;\n previousWidthOptions += options[index].width;\n }\n }\n index++;\n }\n return `${previousWidthOptions + 16 * previousVisibleOptions - currentOption.width / 2}px`;\n }\n\n handleScrollTo(element: HTMLDivElement) {\n this.trekDetailContainerRef.scrollTo({ top: element.offsetTop - 48 });\n }\n\n render() {\n return (\n <Host\n style={{\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 ? '8px' : '104px',\n }}\n >\n {this.currentTrek && (\n <div class=\"trek-options\">\n <a onClick={() => this.handleScrollTo(this.presentationRef)} class={`presentation trek-option${this.options.presentation.indicator ? ' selected-trek-option' : ''}`}>\n {translate[state.language].options.presentation}\n </a>\n {this.options.description.visible && (\n <a onClick={() => this.handleScrollTo(this.descriptionRef)} class={`description trek-option${this.options.description.indicator ? ' selected-trek-option' : ''}`}>\n {translate[state.language].options.description}\n </a>\n )}\n {this.options.recommendations.visible && (\n <a\n onClick={() => this.handleScrollTo(this.recommendationRef)}\n class={`recommendations trek-option${this.options.recommendations.indicator ? ' selected-trek-option' : ''}`}\n >\n {translate[state.language].options.recommendations}\n </a>\n )}\n {this.options.sensitiveArea.visible && (\n <a\n onClick={() => this.handleScrollTo(this.sensitiveAreaRef)}\n class={`sensitive-areas trek-option${this.options.sensitiveArea.indicator ? ' selected-trek-option' : ''}`}\n >\n {translate[state.language].options.environmentalSensitiveAreas}\n </a>\n )}\n {this.options.informationPlaces.visible && (\n <a\n onClick={() => this.handleScrollTo(this.informationDeskRef)}\n class={`information-places trek-option${this.options.informationPlaces.indicator ? ' selected-trek-option' : ''}`}\n >\n {translate[state.language].options.informationPlaces}\n </a>\n )}\n {this.options.pois.visible && (\n <a onClick={() => this.handleScrollTo(this.poiRef)} class={`pois trek-option${this.options.pois.indicator ? ' selected-trek-option' : ''}`}>\n {translate[state.language].options.pois}\n </a>\n )}\n <span class=\"indicator-selected-trek-option\" style={{ transform: `translateX(${this.handleIndicatorSelectedTrekOption()})` }}></span>\n </div>\n )}\n {this.currentTrek && (\n <div class=\"trek-detail-container\" ref={el => (this.trekDetailContainerRef = el)}>\n <div class=\"images-container\" ref={el => (this.presentationRef = el)}>\n <div class=\"swiper\" ref={el => (this.swiperImagesRef = el)}>\n <div class=\"swiper-wrapper\">\n {this.currentTrek.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => (\n <div class=\"swiper-slide\">\n <img class=\"image\" src={attachment.url} loading=\"lazy\" onClick={() => this.handleFullscreen()} />\n </div>\n ))}\n </div>\n <div class=\"swiper-pagination\" ref={el => (this.paginationElImagesRef = el)}></div>\n <div class=\"swiper-button-prev\" ref={el => (this.prevElImagesRef = el)}></div>\n <div class=\"swiper-button-next\" ref={el => (this.nextElImagesRef = el)}></div>\n </div>\n </div>\n <div class=\"name\">{this.currentTrek.name}</div>\n {this.themes.length > 0 && (\n <div class=\"themes-container\">\n {this.themes.map(theme => (\n <div class=\"theme\">{theme.label}</div>\n ))}\n </div>\n )}\n <div class=\"sub-container\">\n <div class=\"icons-labels-container\">\n <div class=\"row\">\n <div class=\"icon-label difficulty\">\n {this.difficulty?.pictogram && <img src={this.difficulty.pictogram} />}\n {this.difficulty?.label}\n </div>\n <div class=\"icon-label duration\">\n <span class=\"material-symbols-outlined\">timelapse</span>\n {formatDuration(this.currentTrek?.duration)}\n </div>\n <div class=\"icon-label route\">\n {this.route?.pictogram && <img src={this.route.pictogram} />}\n {this.route?.route}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"icon-label length\">\n <span class=\"material-symbols-outlined\">open_in_full</span>\n {formatLength(this.currentTrek.length_2d)}\n </div>\n <div class=\"icon-label ascent\">\n <span class=\"material-symbols-outlined\">moving</span>\n {formatAscent(this.currentTrek.ascent)}\n </div>\n <div class=\"icon-label practice\">\n {this.practice?.pictogram && <img src={this.practice.pictogram} />}\n {this.practice?.name}\n </div>\n </div>\n </div>\n </div>\n <div class=\"divider\"></div>\n <div class=\"downloads-container\">\n <div class=\"download-title\">{translate[state.language].downloads}</div>\n <div class=\"links-container\">\n <a href={`${this.currentTrek.gpx}`}>\n <span class=\"material-symbols-outlined\">download</span>GPX\n </a>\n <a href={`${this.currentTrek.kml}`}>\n <span class=\"material-symbols-outlined\">download</span>KML\n </a>\n <a href={`${this.currentTrek.pdf}`}>\n <span class=\"material-symbols-outlined\">download</span>PDF\n </a>\n </div>\n </div>\n <div class=\"divider\"></div>\n {this.currentTrek.description_teaser && <div class=\"description-teaser\" innerHTML={this.currentTrek.description_teaser}></div>}\n {this.currentTrek.ambiance && <div class=\"ambiance\" innerHTML={this.currentTrek.ambiance}></div>}\n <div class=\"divider\"></div>\n {this.currentTrek.description && (\n <div class=\"description-container\" ref={el => (this.descriptionRef = el)}>\n <div class=\"description-title\">{translate[state.language].description}</div>\n <div class=\"description\" innerHTML={this.currentTrek.description}></div>\n </div>\n )}\n {this.currentTrek.departure && (\n <div class=\"departure-container\">\n <div class=\"departure-title\">{translate[state.language].departure} :&nbsp;</div>\n <div innerHTML={this.currentTrek.departure}></div>\n </div>\n )}\n {this.currentTrek.arrival && (\n <div class=\"arrival-container\">\n <div class=\"arrival-title\">{translate[state.language].arrival} :&nbsp;</div>\n <div innerHTML={this.currentTrek.arrival}></div>\n </div>\n )}\n {this.currentTrek.cities && (\n <div class=\"cities-container\">\n <div class=\"cities-title\">{translate[state.language].cities} :&nbsp;</div>\n <div innerHTML={this.cities.join(', ')}></div>\n </div>\n )}\n {this.weather && this.currentTrek.departure_city && (\n <div class=\"weather-container\">\n <iframe height=\"150\" frameborder=\"0\" src={`https://meteofrance.com/widget/prevision/${this.currentTrek.departure_city}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n )}\n {this.currentTrek.access && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"access-container\">\n <div class=\"access-title\">{translate[state.language].roadAccess}</div>\n <div class=\"access\" innerHTML={this.currentTrek.access}></div>\n </div>\n </div>\n )}\n {this.currentTrek.public_transport && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"public-transport-container\">\n <div class=\"public-transport-title\">{translate[state.language].transport}</div>\n <div class=\"public-transport\" innerHTML={this.currentTrek.public_transport}></div>\n </div>\n </div>\n )}\n {(this.currentTrek.advice || this.labels.length > 0) && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"advice-container\" ref={el => (this.recommendationRef = el)}>\n <div class=\"advice-title\">{translate[state.language].recommendations}</div>\n {this.currentTrek.advice && (\n <div class=\"current-advice-container\">\n <span class=\"material-symbols-outlined\">warning</span>\n <div class=\"advice\" innerHTML={this.currentTrek.advice}></div>\n </div>\n )}\n {this.labels.map(label => (\n <div class=\"label-container\">\n <div class=\"label-sub-container\">\n {label.pictogram && <img src={label.pictogram} />}\n <div class=\"label-name\" innerHTML={label.name}></div>\n </div>\n <div class=\"label-advice\" innerHTML={label.advice}></div>\n </div>\n ))}\n </div>\n </div>\n )}\n {this.currentTrek.advised_parking && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"advised-parking-container\" ref={el => (this.parkingRef = el)}>\n <div class=\"advised-parking-title\">{translate[state.language].recommendedParking}</div>\n <div class=\"advised-parking\" innerHTML={this.currentTrek.advised_parking}></div>\n </div>\n </div>\n )}\n {this.currentTrek.gear && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"gear-container\">\n <div class=\"gear-title\">{translate[state.language].equipments}</div>\n <div class=\"gear\" innerHTML={this.currentTrek.gear}></div>\n </div>\n </div>\n )}\n {state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0 && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"sensitive-areas-container\" ref={el => (this.sensitiveAreaRef = el)}>\n <div class=\"sensitive-areas-title\">{translate[state.language].environmentalSensitiveAreas}</div>\n {state.currentSensitiveAreas.map(sensitiveArea => (\n <grw-sensitive-area-detail sensitiveArea={sensitiveArea}></grw-sensitive-area-detail>\n ))}\n </div>\n </div>\n )}\n {state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0 && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"information-desks-container\" ref={el => (this.informationDeskRef = el)}>\n <div class=\"information-desks-title\">{translate[state.language].informationPlaces}</div>\n <div class=\"swiper swiper-information-desks\" ref={el => (this.swiperInformationDesksRef = el)}>\n <div class=\"swiper-wrapper\">\n {state.currentInformationDesks\n .filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id))\n .map(informationDesk => (\n <div class=\"swiper-slide\">\n <grw-information-desk-detail informationDesk={informationDesk}></grw-information-desk-detail>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )}\n {(this.currentTrek.disabled_infrastructure ||\n (this.accessibilities && this.accessibilities.length > 0) ||\n this.currentTrek.accessibility_level ||\n this.currentTrek.accessibility_slope ||\n this.currentTrek.accessibility_width ||\n this.currentTrek.accessibility_signage ||\n this.currentTrek.accessibility_covering ||\n this.currentTrek.accessibility_exposure ||\n this.currentTrek.accessibility_advice) && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"accessibilities-container\">\n <div class=\"accessibilities-title\">{translate[state.language].accessibility}</div>\n {this.currentTrek.disabled_infrastructure && <div innerHTML={this.currentTrek.disabled_infrastructure}></div>}\n <div class=\"accessibilities-content-container\">\n {this.accessibilities.map(accessibility => (\n <div class=\"accessibility-content-container\">\n <img src={accessibility.pictogram}></img>\n <div innerHTML={accessibility.name}></div>\n </div>\n ))}\n </div>\n {this.currentTrek.accessibility_level && (\n <div class=\"accessibility-level-container\">\n <div class=\"accessibility-level-title\">{translate[state.language].accessibilityLevel}</div>\n <div innerHTML={this.accessibilityLevel.name}></div>\n </div>\n )}\n {this.currentTrek.accessibility_slope && (\n <div class=\"accessibility-slope-container\">\n <div class=\"accessibility-slope-title\">{translate[state.language].accessibilitySlope}</div>\n <div innerHTML={this.currentTrek.accessibility_slope}></div>\n </div>\n )}\n {this.currentTrek.accessibility_width && (\n <div class=\"accessibility-width-container\">\n <div class=\"accessibility-width-title\">{translate[state.language].accessibilityWidth}</div>\n <div innerHTML={this.currentTrek.accessibility_width}></div>\n </div>\n )}\n {this.currentTrek.accessibility_signage && (\n <div class=\"accessibility-signage-container\">\n <div class=\"accessibility-signage-title\">{translate[state.language].accessibilitySignage}</div>\n <div innerHTML={this.currentTrek.accessibility_signage}></div>\n </div>\n )}\n {this.currentTrek.accessibility_covering && (\n <div class=\"accessibility-covering-container\">\n <div class=\"accessibility-covering-title\">{translate[state.language].accessibilityCovering}</div>\n <div innerHTML={this.currentTrek.accessibility_covering}></div>\n </div>\n )}\n {this.currentTrek.accessibility_exposure && (\n <div class=\"accessibility-exposure-container\">\n <div class=\"accessibility-exposure-title\">{translate[state.language].accessibilityExposure}</div>\n <div innerHTML={this.currentTrek.accessibility_exposure}></div>\n </div>\n )}\n {this.currentTrek.accessibility_advice && (\n <div class=\"accessibility-advice-container\">\n <div class=\"accessibility-advice-title\">{translate[state.language].accessibilityAdvices}</div>\n <div innerHTML={this.currentTrek.accessibility_advice}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {state.currentPois && state.currentPois.length > 0 && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"pois-container\" ref={el => (this.poiRef = el)}>\n <div class=\"pois-title\">{translate[state.language].pois(state.currentPois.length)}</div>\n <div class=\"swiper swiper-pois\" ref={el => (this.swiperPoisRef = el)}>\n <div class=\"swiper-wrapper\">\n {state.currentPois.map(poi => (\n <div class=\"swiper-slide\">\n <grw-poi-detail poi={poi}></grw-poi-detail>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )}\n {this.currentTrek.source && this.currentTrek.source.length > 0 && (\n <div>\n <div class=\"divider\"></div>\n <div class=\"source-container\">\n <div class=\"source-title\">{translate[state.language].sources}</div>\n {this.sources.map(source => (\n <div class=\"source-sub-container\">\n {source.pictogram && <img src={source.pictogram} />}\n <div>\n <div class=\"source-name\" innerHTML={source.name}></div>\n <a class=\"source-advice\" href={source.website} innerHTML={source.website}></a>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n <div class=\"detail-bottom-space\"></div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { p as plt, w as win, d as doc, N as NAMESPACE, a as promiseResolve, b as bootstrapLazy } from './index-3bfebaa2.js';
2
- export { s as setNonce } from './index-3bfebaa2.js';
1
+ import { p as plt, w as win, d as doc, N as NAMESPACE, a as promiseResolve, b as bootstrapLazy } from './index-e3b2b3c7.js';
2
+ export { s as setNonce } from './index-e3b2b3c7.js';
3
3
 
4
4
  /*
5
5
  Stencil Client Patch Browser v3.4.1 | MIT Licensed | https://stenciljs.com
@@ -110,7 +110,7 @@ const patchDynamicImport = (base, orgScriptElm) => {
110
110
  };
111
111
 
112
112
  patchBrowser().then(options => {
113
- return bootstrapLazy([["grw-trek-card",[[1,"grw-trek-card",{"trek":[16],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"isLargeView":[4,"is-large-view"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"currentTrek":[32],"difficulty":[32],"route":[32],"practice":[32],"themes":[32],"departureCity":[32]}]]],["grw-information-desk-detail_3",[[1,"grw-information-desk-detail",{"informationDesk":[16],"displayShortDescription":[32]}],[1,"grw-poi-detail",{"poi":[16],"displayShortDescription":[32],"displayFullscreen":[32]}],[1,"grw-sensitive-area-detail",{"sensitiveArea":[16]}]]],["grw-filter_7",[[0,"grw-trek-detail",{"trek":[16],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorBackground":[1,"color-background"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"weather":[4],"isLargeView":[4,"is-large-view"],"currentTrek":[32],"difficulty":[32],"route":[32],"practice":[32],"themes":[32],"labels":[32],"sources":[32],"accessibilities":[32],"accessibilityLevel":[32],"displayFullscreen":[32],"cities":[32],"options":[32]}],[1,"grw-treks-list",{"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"isLargeView":[4,"is-large-view"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"treksToDisplay":[32]}],[1,"grw-filter",{"filterType":[1,"filter-type"],"filterName":[1,"filter-name"],"filterNameProperty":[1,"filter-name-property"]}],[0,"grw-map",{"urlLayer":[1,"url-layer"],"attribution":[1],"center":[1],"zoom":[2],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorBackground":[1,"color-background"],"colorTrekLine":[1,"color-trek-line"],"colorDepartureIcon":[1,"color-departure-icon"],"colorArrivalIcon":[1,"color-arrival-icon"],"colorSensitiveArea":[1,"color-sensitive-area"],"colorPoiIcon":[1,"color-poi-icon"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"isLargeView":[4,"is-large-view"],"mapIsReady":[32]},[[8,"centerOnMap","onCenterOnMap"],[8,"descriptionReferenceIsInViewport","descriptionReferenceIsInViewport"],[8,"parkingIsInViewport","parkingIsInViewport"],[8,"informationDeskIsInViewport","onInformationDesksIsInViewport"],[8,"sensitiveAreaIsInViewport","sensitiveAreaIsInViewport"],[8,"poiIsInViewport","poiIsInViewport"]]],[1,"grw-select-language"],[1,"grw-trek-provider",{"languages":[1],"api":[1],"trekId":[1,"trek-id"]}],[1,"grw-treks-provider",{"languages":[1],"api":[1],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1],"routes":[1],"practices":[1]}]]],["grw-app",[[0,"grw-app",{"api":[1],"languages":[1],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1],"routes":[1],"practices":[1],"urlLayer":[1,"url-layer"],"center":[1],"zoom":[2],"attribution":[1],"linkName":[1,"link-name"],"linkTarget":[1,"link-target"],"weather":[4],"colorPrimaryApp":[1,"color-primary-app"],"colorOnPrimary":[1,"color-on-primary"],"colorSurface":[1,"color-surface"],"colorOnSurface":[1,"color-on-surface"],"colorSurfaceVariant":[1,"color-surface-variant"],"colorOnSurfaceVariant":[1,"color-on-surface-variant"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorBackground":[1,"color-background"],"colorSurfaceContainerHigh":[1,"color-surface-container-high"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"fabBackgroundColor":[1,"fab-background-color"],"fabColor":[1,"fab-color"],"colorTrekLine":[1,"color-trek-line"],"colorDepartureIcon":[1,"color-departure-icon"],"colorArrivalIcon":[1,"color-arrival-icon"],"colorSensitiveArea":[1,"color-sensitive-area"],"colorPoiIcon":[1,"color-poi-icon"],"showTrek":[32],"showTreksMap":[32],"showTrekMap":[32],"showFilters":[32],"isLargeView":[32],"currentTrekId":[32]},[[8,"trekCardPress","onTrekCardPress"],[9,"resize","onWindowResize"],[8,"centerOnMap","onCenterOnMap"]]]]]], options);
113
+ return bootstrapLazy([["grw-trek-card",[[1,"grw-trek-card",{"trek":[16],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"isLargeView":[4,"is-large-view"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"currentTrek":[32],"difficulty":[32],"route":[32],"practice":[32],"themes":[32],"departureCity":[32]}]]],["grw-information-desk-detail_3",[[1,"grw-information-desk-detail",{"informationDesk":[16],"displayShortDescription":[32]}],[1,"grw-poi-detail",{"poi":[16],"displayShortDescription":[32],"displayFullscreen":[32]}],[1,"grw-sensitive-area-detail",{"sensitiveArea":[16]}]]],["grw-filter_7",[[0,"grw-trek-detail",{"trek":[16],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorBackground":[1,"color-background"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"weather":[4],"isLargeView":[4,"is-large-view"],"currentTrek":[32],"difficulty":[32],"route":[32],"practice":[32],"themes":[32],"labels":[32],"sources":[32],"accessibilities":[32],"accessibilityLevel":[32],"displayFullscreen":[32],"cities":[32],"options":[32]}],[1,"grw-treks-list",{"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"isLargeView":[4,"is-large-view"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"treksToDisplay":[32]}],[1,"grw-filter",{"filterType":[1,"filter-type"],"filterName":[1,"filter-name"],"filterNameProperty":[1,"filter-name-property"]}],[0,"grw-map",{"urlLayer":[1,"url-layer"],"attribution":[1],"center":[1],"zoom":[2],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorBackground":[1,"color-background"],"colorTrekLine":[1,"color-trek-line"],"colorDepartureIcon":[1,"color-departure-icon"],"colorArrivalIcon":[1,"color-arrival-icon"],"colorSensitiveArea":[1,"color-sensitive-area"],"colorPoiIcon":[1,"color-poi-icon"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"isLargeView":[4,"is-large-view"],"mapIsReady":[32],"mapHeight":[32]},[[8,"centerOnMap","onCenterOnMap"],[8,"descriptionReferenceIsInViewport","descriptionReferenceIsInViewport"],[8,"parkingIsInViewport","parkingIsInViewport"],[8,"informationDeskIsInViewport","onInformationDesksIsInViewport"],[8,"sensitiveAreaIsInViewport","sensitiveAreaIsInViewport"],[8,"poiIsInViewport","poiIsInViewport"]]],[1,"grw-select-language"],[1,"grw-trek-provider",{"languages":[1],"api":[1],"trekId":[1,"trek-id"]}],[1,"grw-treks-provider",{"languages":[1],"api":[1],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1],"routes":[1],"practices":[1]}]]],["grw-app",[[0,"grw-app",{"api":[1],"languages":[1],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1],"routes":[1],"practices":[1],"urlLayer":[1,"url-layer"],"center":[1],"zoom":[2],"attribution":[1],"linkName":[1,"link-name"],"linkTarget":[1,"link-target"],"weather":[4],"colorPrimaryApp":[1,"color-primary-app"],"colorOnPrimary":[1,"color-on-primary"],"colorSurface":[1,"color-surface"],"colorOnSurface":[1,"color-on-surface"],"colorSurfaceVariant":[1,"color-surface-variant"],"colorOnSurfaceVariant":[1,"color-on-surface-variant"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorBackground":[1,"color-background"],"colorSurfaceContainerHigh":[1,"color-surface-container-high"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"fabBackgroundColor":[1,"fab-background-color"],"fabColor":[1,"fab-color"],"colorTrekLine":[1,"color-trek-line"],"colorDepartureIcon":[1,"color-departure-icon"],"colorArrivalIcon":[1,"color-arrival-icon"],"colorSensitiveArea":[1,"color-sensitive-area"],"colorPoiIcon":[1,"color-poi-icon"],"showTrek":[32],"showTreksMap":[32],"showTrekMap":[32],"showFilters":[32],"isLargeView":[32],"currentTrekId":[32]},[[8,"trekCardPress","onTrekCardPress"],[9,"resize","onWindowResize"],[8,"centerOnMap","onCenterOnMap"]]]]]], options);
114
114
  });
115
115
 
116
116
  //# sourceMappingURL=geotrek-rando-widget.js.map
Binary file
Binary file