@geotrekce/geotrek-rando-widget 0.30.2 → 0.30.4

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 (419) hide show
  1. package/dist/cjs/{call-422e2bf4.js → call-c5b389c7.js} +2 -2
  2. package/dist/cjs/call-c5b389c7.js.br +0 -0
  3. package/dist/cjs/call-c5b389c7.js.gz +0 -0
  4. package/dist/cjs/{call-422e2bf4.js.map → call-c5b389c7.js.map} +1 -1
  5. package/dist/cjs/grw-app.cjs.entry.js +2 -2
  6. package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
  7. package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
  8. package/dist/cjs/grw-common-button_23.cjs.entry.js +83 -69
  9. package/dist/cjs/grw-common-button_23.cjs.entry.js.br +0 -0
  10. package/dist/cjs/grw-common-button_23.cjs.entry.js.gz +0 -0
  11. package/dist/cjs/grw-common-button_23.cjs.entry.js.map +1 -1
  12. package/dist/cjs/{grw-db.service-dde227e0.js → grw-db.service-51e2fba4.js} +2 -2
  13. package/dist/cjs/grw-db.service-51e2fba4.js.br +0 -0
  14. package/dist/cjs/grw-db.service-51e2fba4.js.gz +0 -0
  15. package/dist/cjs/{grw-db.service-dde227e0.js.map → grw-db.service-51e2fba4.js.map} +1 -1
  16. package/dist/cjs/grw-details-modal_8.cjs.entry.js +25 -11
  17. package/dist/cjs/grw-details-modal_8.cjs.entry.js.br +0 -0
  18. package/dist/cjs/grw-details-modal_8.cjs.entry.js.gz +0 -0
  19. package/dist/cjs/grw-details-modal_8.cjs.entry.js.map +1 -1
  20. package/dist/cjs/grw-filter.cjs.entry.js +2 -2
  21. package/dist/cjs/grw-filter.cjs.entry.js.br +0 -0
  22. package/dist/cjs/grw-filter.cjs.entry.js.gz +0 -0
  23. package/dist/cjs/grw-outdoor-courses-provider.cjs.entry.js +5 -5
  24. package/dist/cjs/grw-outdoor-courses-provider.cjs.entry.js.br +0 -0
  25. package/dist/cjs/grw-outdoor-courses-provider.cjs.entry.js.gz +0 -0
  26. package/dist/cjs/grw-poi_3.cjs.entry.js +3 -3
  27. package/dist/cjs/grw-poi_3.cjs.entry.js.br +0 -0
  28. package/dist/cjs/grw-poi_3.cjs.entry.js.gz +0 -0
  29. package/dist/cjs/grw-sensitive-area-detail_2.cjs.entry.js +4 -4
  30. package/dist/cjs/grw-sensitive-area-detail_2.cjs.entry.js.br +0 -0
  31. package/dist/cjs/grw-sensitive-area-detail_2.cjs.entry.js.gz +0 -0
  32. package/dist/cjs/grw-toggle-slot-visibility.cjs.entry.js +1 -1
  33. package/dist/cjs/grw-toggle-slot-visibility.cjs.entry.js.br +0 -0
  34. package/dist/cjs/grw-toggle-slot-visibility.cjs.entry.js.gz +0 -0
  35. package/dist/cjs/{outdoor-courses.service-083411f5.js → outdoor-courses.service-9ba0da7e.js} +2 -2
  36. package/dist/cjs/outdoor-courses.service-9ba0da7e.js.br +0 -0
  37. package/dist/cjs/outdoor-courses.service-9ba0da7e.js.gz +0 -0
  38. package/dist/cjs/{outdoor-courses.service-083411f5.js.map → outdoor-courses.service-9ba0da7e.js.map} +1 -1
  39. package/dist/cjs/{store-65aa11bc.js → store-8c47b811.js} +2 -2
  40. package/dist/cjs/store-8c47b811.js.br +0 -0
  41. package/dist/cjs/store-8c47b811.js.gz +0 -0
  42. package/dist/cjs/{store-65aa11bc.js.map → store-8c47b811.js.map} +1 -1
  43. package/dist/cjs/{treks.service-14b5765a.js → treks.service-ae2960c8.js} +4 -4
  44. package/dist/cjs/treks.service-ae2960c8.js.br +0 -0
  45. package/dist/cjs/treks.service-ae2960c8.js.gz +0 -0
  46. package/dist/cjs/{treks.service-14b5765a.js.map → treks.service-ae2960c8.js.map} +1 -1
  47. package/dist/cjs/{utils-5c5c3fee.js → utils-fef97420.js} +3 -3
  48. package/dist/cjs/utils-fef97420.js.br +0 -0
  49. package/dist/cjs/utils-fef97420.js.gz +0 -0
  50. package/dist/cjs/{utils-5c5c3fee.js.map → utils-fef97420.js.map} +1 -1
  51. package/dist/cjs/{web-87e6d345.js → web-e27fac22.js} +3 -3
  52. package/dist/cjs/web-e27fac22.js.br +0 -0
  53. package/dist/cjs/web-e27fac22.js.gz +0 -0
  54. package/dist/cjs/{web-87e6d345.js.map → web-e27fac22.js.map} +1 -1
  55. package/dist/collection/components/grw-map/grw-map.js +62 -56
  56. package/dist/collection/components/grw-map/grw-map.js.br +0 -0
  57. package/dist/collection/components/grw-map/grw-map.js.gz +0 -0
  58. package/dist/collection/components/grw-map/grw-map.js.map +1 -1
  59. package/dist/collection/store/grw-outdoor-site-provider.js +4 -4
  60. package/dist/collection/store/grw-outdoor-site-provider.js.br +0 -0
  61. package/dist/collection/store/grw-outdoor-site-provider.js.gz +0 -0
  62. package/dist/collection/store/grw-outdoor-site-provider.js.map +1 -1
  63. package/dist/collection/store/grw-touristic-content-provider.js +11 -3
  64. package/dist/collection/store/grw-touristic-content-provider.js.br +0 -0
  65. package/dist/collection/store/grw-touristic-content-provider.js.gz +0 -0
  66. package/dist/collection/store/grw-touristic-content-provider.js.map +1 -1
  67. package/dist/collection/store/grw-touristic-event-provider.js +9 -3
  68. package/dist/collection/store/grw-touristic-event-provider.js.br +0 -0
  69. package/dist/collection/store/grw-touristic-event-provider.js.gz +0 -0
  70. package/dist/collection/store/grw-touristic-event-provider.js.map +1 -1
  71. package/dist/collection/store/grw-trek-provider.js +11 -3
  72. package/dist/collection/store/grw-trek-provider.js.br +0 -0
  73. package/dist/collection/store/grw-trek-provider.js.gz +0 -0
  74. package/dist/collection/store/grw-trek-provider.js.map +1 -1
  75. package/dist/collection/store/store.js +1 -1
  76. package/dist/collection/store/store.js.br +0 -0
  77. package/dist/collection/store/store.js.gz +0 -0
  78. package/dist/collection/store/store.js.map +1 -1
  79. package/dist/esm/{call-c0c920b0.js → call-df62b17b.js} +2 -2
  80. package/dist/esm/call-df62b17b.js.br +0 -0
  81. package/dist/esm/call-df62b17b.js.gz +0 -0
  82. package/dist/esm/{call-c0c920b0.js.map → call-df62b17b.js.map} +1 -1
  83. package/dist/esm/grw-app.entry.js +2 -2
  84. package/dist/esm/grw-app.entry.js.br +0 -0
  85. package/dist/esm/grw-app.entry.js.gz +0 -0
  86. package/dist/esm/grw-common-button_23.entry.js +83 -69
  87. package/dist/esm/grw-common-button_23.entry.js.br +0 -0
  88. package/dist/esm/grw-common-button_23.entry.js.gz +0 -0
  89. package/dist/esm/grw-common-button_23.entry.js.map +1 -1
  90. package/dist/esm/{grw-db.service-83da38c9.js → grw-db.service-a2b2fc8e.js} +2 -2
  91. package/dist/esm/grw-db.service-a2b2fc8e.js.br +0 -0
  92. package/dist/esm/grw-db.service-a2b2fc8e.js.gz +0 -0
  93. package/dist/esm/{grw-db.service-83da38c9.js.map → grw-db.service-a2b2fc8e.js.map} +1 -1
  94. package/dist/esm/grw-details-modal_8.entry.js +25 -11
  95. package/dist/esm/grw-details-modal_8.entry.js.br +0 -0
  96. package/dist/esm/grw-details-modal_8.entry.js.gz +0 -0
  97. package/dist/esm/grw-details-modal_8.entry.js.map +1 -1
  98. package/dist/esm/grw-filter.entry.js +2 -2
  99. package/dist/esm/grw-filter.entry.js.br +0 -0
  100. package/dist/esm/grw-filter.entry.js.gz +0 -0
  101. package/dist/esm/grw-outdoor-courses-provider.entry.js +5 -5
  102. package/dist/esm/grw-outdoor-courses-provider.entry.js.br +0 -0
  103. package/dist/esm/grw-outdoor-courses-provider.entry.js.gz +0 -0
  104. package/dist/esm/grw-poi_3.entry.js +3 -3
  105. package/dist/esm/grw-poi_3.entry.js.br +0 -0
  106. package/dist/esm/grw-poi_3.entry.js.gz +0 -0
  107. package/dist/esm/grw-sensitive-area-detail_2.entry.js +4 -4
  108. package/dist/esm/grw-sensitive-area-detail_2.entry.js.br +0 -0
  109. package/dist/esm/grw-sensitive-area-detail_2.entry.js.gz +0 -0
  110. package/dist/esm/grw-toggle-slot-visibility.entry.js +1 -1
  111. package/dist/esm/grw-toggle-slot-visibility.entry.js.br +0 -0
  112. package/dist/esm/grw-toggle-slot-visibility.entry.js.gz +0 -0
  113. package/dist/esm/{outdoor-courses.service-d2397066.js → outdoor-courses.service-c7fe26df.js} +2 -2
  114. package/dist/esm/outdoor-courses.service-c7fe26df.js.br +0 -0
  115. package/dist/esm/outdoor-courses.service-c7fe26df.js.gz +0 -0
  116. package/dist/esm/{outdoor-courses.service-d2397066.js.map → outdoor-courses.service-c7fe26df.js.map} +1 -1
  117. package/dist/esm/{store-882ab9be.js → store-aa921ea2.js} +2 -2
  118. package/dist/esm/store-aa921ea2.js.br +0 -0
  119. package/dist/esm/store-aa921ea2.js.gz +0 -0
  120. package/dist/esm/{store-882ab9be.js.map → store-aa921ea2.js.map} +1 -1
  121. package/dist/esm/{treks.service-a3ce33ef.js → treks.service-0b98455e.js} +4 -4
  122. package/dist/esm/treks.service-0b98455e.js.br +0 -0
  123. package/dist/esm/treks.service-0b98455e.js.gz +0 -0
  124. package/dist/esm/{treks.service-a3ce33ef.js.map → treks.service-0b98455e.js.map} +1 -1
  125. package/dist/esm/{utils-5feb9281.js → utils-b1ca48b3.js} +3 -3
  126. package/dist/esm/utils-b1ca48b3.js.br +0 -0
  127. package/dist/esm/utils-b1ca48b3.js.gz +0 -0
  128. package/dist/esm/{utils-5feb9281.js.map → utils-b1ca48b3.js.map} +1 -1
  129. package/dist/esm/{web-9ea89c85.js → web-08ea09e6.js} +3 -3
  130. package/dist/esm/web-08ea09e6.js.br +0 -0
  131. package/dist/esm/web-08ea09e6.js.gz +0 -0
  132. package/dist/esm/{web-9ea89c85.js.map → web-08ea09e6.js.map} +1 -1
  133. package/dist/esm-es5/{call-c0c920b0.js → call-df62b17b.js} +2 -2
  134. package/dist/esm-es5/call-df62b17b.js.br +0 -0
  135. package/dist/esm-es5/{call-c0c920b0.js.gz → call-df62b17b.js.gz} +0 -0
  136. package/dist/esm-es5/grw-app.entry.js +1 -1
  137. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  138. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  139. package/dist/esm-es5/grw-common-button_23.entry.js +2 -2
  140. package/dist/esm-es5/grw-common-button_23.entry.js.br +0 -0
  141. package/dist/esm-es5/grw-common-button_23.entry.js.gz +0 -0
  142. package/dist/esm-es5/grw-common-button_23.entry.js.map +1 -1
  143. package/dist/esm-es5/{grw-db.service-83da38c9.js → grw-db.service-a2b2fc8e.js} +2 -2
  144. package/dist/esm-es5/grw-db.service-a2b2fc8e.js.br +0 -0
  145. package/dist/esm-es5/grw-db.service-a2b2fc8e.js.gz +0 -0
  146. package/dist/esm-es5/grw-details-modal_8.entry.js +1 -1
  147. package/dist/esm-es5/grw-details-modal_8.entry.js.br +0 -0
  148. package/dist/esm-es5/grw-details-modal_8.entry.js.gz +0 -0
  149. package/dist/esm-es5/grw-details-modal_8.entry.js.map +1 -1
  150. package/dist/esm-es5/grw-filter.entry.js +1 -1
  151. package/dist/esm-es5/grw-filter.entry.js.br +0 -0
  152. package/dist/esm-es5/grw-filter.entry.js.gz +0 -0
  153. package/dist/esm-es5/grw-outdoor-courses-provider.entry.js +1 -1
  154. package/dist/esm-es5/grw-outdoor-courses-provider.entry.js.br +0 -0
  155. package/dist/esm-es5/grw-outdoor-courses-provider.entry.js.gz +0 -0
  156. package/dist/esm-es5/grw-poi_3.entry.js +1 -1
  157. package/dist/esm-es5/grw-poi_3.entry.js.br +0 -0
  158. package/dist/esm-es5/grw-poi_3.entry.js.gz +0 -0
  159. package/dist/esm-es5/grw-sensitive-area-detail_2.entry.js +1 -1
  160. package/dist/esm-es5/grw-sensitive-area-detail_2.entry.js.br +0 -0
  161. package/dist/esm-es5/grw-sensitive-area-detail_2.entry.js.gz +0 -0
  162. package/dist/esm-es5/grw-toggle-slot-visibility.entry.js +1 -1
  163. package/dist/esm-es5/grw-toggle-slot-visibility.entry.js.br +0 -0
  164. package/dist/esm-es5/grw-toggle-slot-visibility.entry.js.gz +0 -0
  165. package/dist/esm-es5/{outdoor-courses.service-d2397066.js → outdoor-courses.service-c7fe26df.js} +2 -2
  166. package/dist/esm-es5/outdoor-courses.service-c7fe26df.js.br +0 -0
  167. package/dist/esm-es5/outdoor-courses.service-c7fe26df.js.gz +0 -0
  168. package/dist/esm-es5/{store-882ab9be.js → store-aa921ea2.js} +2 -2
  169. package/dist/esm-es5/store-aa921ea2.js.br +0 -0
  170. package/dist/esm-es5/store-aa921ea2.js.gz +0 -0
  171. package/dist/esm-es5/{store-882ab9be.js.map → store-aa921ea2.js.map} +1 -1
  172. package/dist/esm-es5/{treks.service-a3ce33ef.js → treks.service-0b98455e.js} +2 -2
  173. package/dist/esm-es5/treks.service-0b98455e.js.br +0 -0
  174. package/dist/esm-es5/treks.service-0b98455e.js.gz +0 -0
  175. package/dist/esm-es5/{utils-5feb9281.js → utils-b1ca48b3.js} +3 -3
  176. package/dist/esm-es5/utils-b1ca48b3.js.br +0 -0
  177. package/dist/esm-es5/utils-b1ca48b3.js.gz +0 -0
  178. package/dist/esm-es5/{web-9ea89c85.js → web-08ea09e6.js} +2 -2
  179. package/dist/esm-es5/web-08ea09e6.js.br +0 -0
  180. package/dist/esm-es5/web-08ea09e6.js.gz +0 -0
  181. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  182. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  183. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  184. package/dist/geotrek-rando-widget/{p-31cd5fb6.system.js → p-06ec8b64.system.js} +2 -2
  185. package/dist/geotrek-rando-widget/p-06ec8b64.system.js.br +0 -0
  186. package/dist/geotrek-rando-widget/p-06ec8b64.system.js.gz +0 -0
  187. package/dist/geotrek-rando-widget/{p-e6471529.system.js → p-0e29bbf9.system.js} +2 -2
  188. package/dist/geotrek-rando-widget/p-0e29bbf9.system.js.br +0 -0
  189. package/dist/geotrek-rando-widget/p-0e29bbf9.system.js.gz +0 -0
  190. package/dist/geotrek-rando-widget/{p-e6471529.system.js.map → p-0e29bbf9.system.js.map} +1 -1
  191. package/dist/geotrek-rando-widget/{p-5a1c21ad.system.js → p-11622ab2.system.js} +3 -3
  192. package/dist/geotrek-rando-widget/p-11622ab2.system.js.br +0 -0
  193. package/dist/geotrek-rando-widget/p-11622ab2.system.js.gz +0 -0
  194. package/dist/geotrek-rando-widget/{p-346b21fe.system.entry.js → p-28048cef.system.entry.js} +2 -2
  195. package/dist/geotrek-rando-widget/p-28048cef.system.entry.js.br +0 -0
  196. package/dist/geotrek-rando-widget/p-28048cef.system.entry.js.gz +0 -0
  197. package/dist/geotrek-rando-widget/{p-f0d965b9.system.entry.js → p-2939026a.system.entry.js} +2 -2
  198. package/dist/geotrek-rando-widget/p-2939026a.system.entry.js.br +0 -0
  199. package/dist/geotrek-rando-widget/p-2939026a.system.entry.js.gz +0 -0
  200. package/dist/geotrek-rando-widget/p-2939026a.system.entry.js.map +1 -0
  201. package/dist/geotrek-rando-widget/{p-63c3d14c.system.entry.js → p-35fa0752.system.entry.js} +2 -2
  202. package/dist/geotrek-rando-widget/p-35fa0752.system.entry.js.br +0 -0
  203. package/dist/geotrek-rando-widget/{p-63c3d14c.system.entry.js.gz → p-35fa0752.system.entry.js.gz} +0 -0
  204. package/dist/geotrek-rando-widget/{p-0dc681ee.system.js → p-3834a184.system.js} +2 -2
  205. package/dist/geotrek-rando-widget/p-3834a184.system.js.br +0 -0
  206. package/dist/geotrek-rando-widget/p-3834a184.system.js.gz +0 -0
  207. package/dist/geotrek-rando-widget/{p-111e4a10.entry.js → p-4450a6e3.entry.js} +2 -2
  208. package/dist/geotrek-rando-widget/p-4450a6e3.entry.js.br +0 -0
  209. package/dist/geotrek-rando-widget/p-4450a6e3.entry.js.gz +0 -0
  210. package/dist/geotrek-rando-widget/p-4450a6e3.entry.js.map +1 -0
  211. package/dist/geotrek-rando-widget/p-5517eb99.system.js +1 -1
  212. package/dist/geotrek-rando-widget/p-5517eb99.system.js.br +0 -0
  213. package/dist/geotrek-rando-widget/p-5517eb99.system.js.gz +0 -0
  214. package/dist/geotrek-rando-widget/p-551b6c64.entry.js +4 -0
  215. package/dist/geotrek-rando-widget/p-551b6c64.entry.js.br +0 -0
  216. package/dist/geotrek-rando-widget/p-551b6c64.entry.js.gz +0 -0
  217. package/dist/geotrek-rando-widget/p-551b6c64.entry.js.map +1 -0
  218. package/dist/geotrek-rando-widget/{p-c8f5ce61.js → p-5feca333.js} +2 -2
  219. package/dist/geotrek-rando-widget/p-5feca333.js.br +0 -0
  220. package/dist/geotrek-rando-widget/p-5feca333.js.gz +0 -0
  221. package/dist/geotrek-rando-widget/{p-928cafc2.system.entry.js → p-643b34f4.system.entry.js} +2 -2
  222. package/dist/geotrek-rando-widget/p-643b34f4.system.entry.js.br +0 -0
  223. package/dist/geotrek-rando-widget/p-643b34f4.system.entry.js.gz +0 -0
  224. package/dist/geotrek-rando-widget/p-6cd88edc.system.entry.js +4 -0
  225. package/dist/geotrek-rando-widget/p-6cd88edc.system.entry.js.br +0 -0
  226. package/dist/geotrek-rando-widget/p-6cd88edc.system.entry.js.gz +0 -0
  227. package/dist/geotrek-rando-widget/p-6cd88edc.system.entry.js.map +1 -0
  228. package/dist/geotrek-rando-widget/{p-844f4321.js → p-6d0668a6.js} +3 -3
  229. package/dist/geotrek-rando-widget/p-6d0668a6.js.br +0 -0
  230. package/dist/geotrek-rando-widget/p-6d0668a6.js.gz +0 -0
  231. package/dist/geotrek-rando-widget/{p-d95cfb6f.js → p-7207c87a.js} +2 -2
  232. package/dist/geotrek-rando-widget/p-7207c87a.js.br +0 -0
  233. package/dist/geotrek-rando-widget/p-7207c87a.js.gz +0 -0
  234. package/dist/geotrek-rando-widget/{p-d95cfb6f.js.map → p-7207c87a.js.map} +1 -1
  235. package/dist/geotrek-rando-widget/{p-ebec2cdc.system.js → p-722468a0.system.js} +2 -2
  236. package/dist/geotrek-rando-widget/p-722468a0.system.js.br +0 -0
  237. package/dist/geotrek-rando-widget/p-722468a0.system.js.gz +0 -0
  238. package/dist/geotrek-rando-widget/{p-91d62770.entry.js → p-83e76a62.entry.js} +2 -2
  239. package/dist/geotrek-rando-widget/p-83e76a62.entry.js.br +0 -0
  240. package/dist/geotrek-rando-widget/p-83e76a62.entry.js.gz +0 -0
  241. package/dist/geotrek-rando-widget/{p-38d31358.entry.js → p-9ac8e3ac.entry.js} +2 -2
  242. package/dist/geotrek-rando-widget/p-9ac8e3ac.entry.js.br +0 -0
  243. package/dist/geotrek-rando-widget/p-9ac8e3ac.entry.js.gz +0 -0
  244. package/dist/geotrek-rando-widget/{p-20fa1207.entry.js → p-9c461972.entry.js} +2 -2
  245. package/dist/geotrek-rando-widget/p-9c461972.entry.js.br +0 -0
  246. package/dist/geotrek-rando-widget/p-9c461972.entry.js.gz +0 -0
  247. package/dist/geotrek-rando-widget/{p-6287495f.entry.js → p-ad644267.entry.js} +2 -2
  248. package/dist/geotrek-rando-widget/p-ad644267.entry.js.br +0 -0
  249. package/dist/geotrek-rando-widget/p-ad644267.entry.js.gz +0 -0
  250. package/dist/geotrek-rando-widget/{p-6a4d2050.system.entry.js → p-ad6e02a4.system.entry.js} +2 -2
  251. package/dist/geotrek-rando-widget/p-ad6e02a4.system.entry.js.br +0 -0
  252. package/dist/geotrek-rando-widget/p-ad6e02a4.system.entry.js.gz +0 -0
  253. package/dist/geotrek-rando-widget/{p-315f99d3.system.js → p-ae0a8dc1.system.js} +2 -2
  254. package/dist/geotrek-rando-widget/p-ae0a8dc1.system.js.br +0 -0
  255. package/dist/geotrek-rando-widget/p-ae0a8dc1.system.js.gz +0 -0
  256. package/dist/geotrek-rando-widget/{p-fcbe4bb6.js → p-b0b7e072.js} +2 -2
  257. package/dist/geotrek-rando-widget/p-b0b7e072.js.br +0 -0
  258. package/dist/geotrek-rando-widget/p-b0b7e072.js.gz +0 -0
  259. package/dist/geotrek-rando-widget/{p-b1ed0255.js → p-bc36f8a6.js} +2 -2
  260. package/dist/geotrek-rando-widget/p-bc36f8a6.js.br +0 -0
  261. package/dist/geotrek-rando-widget/p-bc36f8a6.js.gz +0 -0
  262. package/dist/geotrek-rando-widget/{p-51c64ff4.entry.js → p-cf6d1b66.entry.js} +2 -2
  263. package/dist/geotrek-rando-widget/p-cf6d1b66.entry.js.br +0 -0
  264. package/dist/geotrek-rando-widget/p-cf6d1b66.entry.js.gz +0 -0
  265. package/dist/geotrek-rando-widget/{p-46cbc796.system.entry.js → p-d8126403.system.entry.js} +2 -2
  266. package/dist/geotrek-rando-widget/p-d8126403.system.entry.js.br +0 -0
  267. package/dist/geotrek-rando-widget/p-d8126403.system.entry.js.gz +0 -0
  268. package/dist/geotrek-rando-widget/{p-c61425f6.js → p-e5086616.js} +2 -2
  269. package/dist/geotrek-rando-widget/p-e5086616.js.br +0 -0
  270. package/dist/geotrek-rando-widget/p-e5086616.js.gz +0 -0
  271. package/dist/geotrek-rando-widget/{p-eeedb77e.entry.js → p-e9483fdf.entry.js} +2 -2
  272. package/dist/geotrek-rando-widget/p-e9483fdf.entry.js.br +0 -0
  273. package/dist/geotrek-rando-widget/p-e9483fdf.entry.js.gz +0 -0
  274. package/dist/geotrek-rando-widget/{p-0213328a.system.entry.js → p-ec9a42ab.system.entry.js} +2 -2
  275. package/dist/geotrek-rando-widget/p-ec9a42ab.system.entry.js.br +0 -0
  276. package/dist/geotrek-rando-widget/p-ec9a42ab.system.entry.js.gz +0 -0
  277. package/dist/geotrek-rando-widget/{p-fbfffb5d.system.js → p-f152b476.system.js} +2 -2
  278. package/dist/geotrek-rando-widget/p-f152b476.system.js.br +0 -0
  279. package/dist/geotrek-rando-widget/p-f152b476.system.js.gz +0 -0
  280. package/dist/geotrek-rando-widget/{p-76467e71.js → p-f92d0101.js} +2 -2
  281. package/dist/geotrek-rando-widget/p-f92d0101.js.br +0 -0
  282. package/dist/geotrek-rando-widget/p-f92d0101.js.gz +0 -0
  283. package/package.json +1 -1
  284. package/dist/cjs/call-422e2bf4.js.br +0 -0
  285. package/dist/cjs/call-422e2bf4.js.gz +0 -0
  286. package/dist/cjs/grw-db.service-dde227e0.js.br +0 -0
  287. package/dist/cjs/grw-db.service-dde227e0.js.gz +0 -0
  288. package/dist/cjs/outdoor-courses.service-083411f5.js.br +0 -0
  289. package/dist/cjs/outdoor-courses.service-083411f5.js.gz +0 -0
  290. package/dist/cjs/store-65aa11bc.js.br +0 -0
  291. package/dist/cjs/store-65aa11bc.js.gz +0 -0
  292. package/dist/cjs/treks.service-14b5765a.js.br +0 -0
  293. package/dist/cjs/treks.service-14b5765a.js.gz +0 -0
  294. package/dist/cjs/utils-5c5c3fee.js.br +0 -0
  295. package/dist/cjs/utils-5c5c3fee.js.gz +0 -0
  296. package/dist/cjs/web-87e6d345.js.br +0 -0
  297. package/dist/cjs/web-87e6d345.js.gz +0 -0
  298. package/dist/esm/call-c0c920b0.js.br +0 -0
  299. package/dist/esm/call-c0c920b0.js.gz +0 -0
  300. package/dist/esm/grw-db.service-83da38c9.js.br +0 -0
  301. package/dist/esm/grw-db.service-83da38c9.js.gz +0 -0
  302. package/dist/esm/outdoor-courses.service-d2397066.js.br +0 -0
  303. package/dist/esm/outdoor-courses.service-d2397066.js.gz +0 -0
  304. package/dist/esm/store-882ab9be.js.br +0 -0
  305. package/dist/esm/store-882ab9be.js.gz +0 -0
  306. package/dist/esm/treks.service-a3ce33ef.js.br +0 -0
  307. package/dist/esm/treks.service-a3ce33ef.js.gz +0 -0
  308. package/dist/esm/utils-5feb9281.js.br +0 -0
  309. package/dist/esm/utils-5feb9281.js.gz +0 -0
  310. package/dist/esm/web-9ea89c85.js.br +0 -0
  311. package/dist/esm/web-9ea89c85.js.gz +0 -0
  312. package/dist/esm-es5/call-c0c920b0.js.br +0 -0
  313. package/dist/esm-es5/grw-db.service-83da38c9.js.br +0 -0
  314. package/dist/esm-es5/grw-db.service-83da38c9.js.gz +0 -0
  315. package/dist/esm-es5/outdoor-courses.service-d2397066.js.br +0 -0
  316. package/dist/esm-es5/outdoor-courses.service-d2397066.js.gz +0 -0
  317. package/dist/esm-es5/store-882ab9be.js.br +0 -0
  318. package/dist/esm-es5/store-882ab9be.js.gz +0 -0
  319. package/dist/esm-es5/treks.service-a3ce33ef.js.br +0 -0
  320. package/dist/esm-es5/treks.service-a3ce33ef.js.gz +0 -0
  321. package/dist/esm-es5/utils-5feb9281.js.br +0 -0
  322. package/dist/esm-es5/utils-5feb9281.js.gz +0 -0
  323. package/dist/esm-es5/web-9ea89c85.js.br +0 -0
  324. package/dist/esm-es5/web-9ea89c85.js.gz +0 -0
  325. package/dist/geotrek-rando-widget/p-0213328a.system.entry.js.br +0 -0
  326. package/dist/geotrek-rando-widget/p-0213328a.system.entry.js.gz +0 -0
  327. package/dist/geotrek-rando-widget/p-0dc681ee.system.js.br +0 -0
  328. package/dist/geotrek-rando-widget/p-0dc681ee.system.js.gz +0 -0
  329. package/dist/geotrek-rando-widget/p-111e4a10.entry.js.br +0 -0
  330. package/dist/geotrek-rando-widget/p-111e4a10.entry.js.gz +0 -0
  331. package/dist/geotrek-rando-widget/p-111e4a10.entry.js.map +0 -1
  332. package/dist/geotrek-rando-widget/p-20fa1207.entry.js.br +0 -0
  333. package/dist/geotrek-rando-widget/p-20fa1207.entry.js.gz +0 -0
  334. package/dist/geotrek-rando-widget/p-315f99d3.system.js.br +0 -0
  335. package/dist/geotrek-rando-widget/p-315f99d3.system.js.gz +0 -0
  336. package/dist/geotrek-rando-widget/p-31cd5fb6.system.js.br +0 -0
  337. package/dist/geotrek-rando-widget/p-31cd5fb6.system.js.gz +0 -0
  338. package/dist/geotrek-rando-widget/p-346b21fe.system.entry.js.br +0 -0
  339. package/dist/geotrek-rando-widget/p-346b21fe.system.entry.js.gz +0 -0
  340. package/dist/geotrek-rando-widget/p-38d31358.entry.js.br +0 -0
  341. package/dist/geotrek-rando-widget/p-38d31358.entry.js.gz +0 -0
  342. package/dist/geotrek-rando-widget/p-46cbc796.system.entry.js.br +0 -0
  343. package/dist/geotrek-rando-widget/p-46cbc796.system.entry.js.gz +0 -0
  344. package/dist/geotrek-rando-widget/p-51c64ff4.entry.js.br +0 -0
  345. package/dist/geotrek-rando-widget/p-51c64ff4.entry.js.gz +0 -0
  346. package/dist/geotrek-rando-widget/p-5a1c21ad.system.js.br +0 -0
  347. package/dist/geotrek-rando-widget/p-5a1c21ad.system.js.gz +0 -0
  348. package/dist/geotrek-rando-widget/p-6287495f.entry.js.br +0 -0
  349. package/dist/geotrek-rando-widget/p-6287495f.entry.js.gz +0 -0
  350. package/dist/geotrek-rando-widget/p-63c3d14c.system.entry.js.br +0 -0
  351. package/dist/geotrek-rando-widget/p-65c5fa1a.system.entry.js +0 -4
  352. package/dist/geotrek-rando-widget/p-65c5fa1a.system.entry.js.br +0 -0
  353. package/dist/geotrek-rando-widget/p-65c5fa1a.system.entry.js.gz +0 -0
  354. package/dist/geotrek-rando-widget/p-65c5fa1a.system.entry.js.map +0 -1
  355. package/dist/geotrek-rando-widget/p-6a4d2050.system.entry.js.br +0 -0
  356. package/dist/geotrek-rando-widget/p-6a4d2050.system.entry.js.gz +0 -0
  357. package/dist/geotrek-rando-widget/p-76467e71.js.br +0 -0
  358. package/dist/geotrek-rando-widget/p-76467e71.js.gz +0 -0
  359. package/dist/geotrek-rando-widget/p-844f4321.js.br +0 -0
  360. package/dist/geotrek-rando-widget/p-844f4321.js.gz +0 -0
  361. package/dist/geotrek-rando-widget/p-91d62770.entry.js.br +0 -0
  362. package/dist/geotrek-rando-widget/p-91d62770.entry.js.gz +0 -0
  363. package/dist/geotrek-rando-widget/p-928cafc2.system.entry.js.br +0 -0
  364. package/dist/geotrek-rando-widget/p-928cafc2.system.entry.js.gz +0 -0
  365. package/dist/geotrek-rando-widget/p-b1ed0255.js.br +0 -0
  366. package/dist/geotrek-rando-widget/p-b1ed0255.js.gz +0 -0
  367. package/dist/geotrek-rando-widget/p-c0721af7.entry.js +0 -4
  368. package/dist/geotrek-rando-widget/p-c0721af7.entry.js.br +0 -0
  369. package/dist/geotrek-rando-widget/p-c0721af7.entry.js.gz +0 -0
  370. package/dist/geotrek-rando-widget/p-c0721af7.entry.js.map +0 -1
  371. package/dist/geotrek-rando-widget/p-c61425f6.js.br +0 -0
  372. package/dist/geotrek-rando-widget/p-c61425f6.js.gz +0 -0
  373. package/dist/geotrek-rando-widget/p-c8f5ce61.js.br +0 -0
  374. package/dist/geotrek-rando-widget/p-c8f5ce61.js.gz +0 -0
  375. package/dist/geotrek-rando-widget/p-d95cfb6f.js.br +0 -0
  376. package/dist/geotrek-rando-widget/p-d95cfb6f.js.gz +0 -0
  377. package/dist/geotrek-rando-widget/p-e6471529.system.js.br +0 -0
  378. package/dist/geotrek-rando-widget/p-e6471529.system.js.gz +0 -0
  379. package/dist/geotrek-rando-widget/p-ebec2cdc.system.js.br +0 -0
  380. package/dist/geotrek-rando-widget/p-ebec2cdc.system.js.gz +0 -0
  381. package/dist/geotrek-rando-widget/p-eeedb77e.entry.js.br +0 -0
  382. package/dist/geotrek-rando-widget/p-eeedb77e.entry.js.gz +0 -0
  383. package/dist/geotrek-rando-widget/p-f0d965b9.system.entry.js.br +0 -0
  384. package/dist/geotrek-rando-widget/p-f0d965b9.system.entry.js.gz +0 -0
  385. package/dist/geotrek-rando-widget/p-f0d965b9.system.entry.js.map +0 -1
  386. package/dist/geotrek-rando-widget/p-fbfffb5d.system.js.br +0 -0
  387. package/dist/geotrek-rando-widget/p-fbfffb5d.system.js.gz +0 -0
  388. package/dist/geotrek-rando-widget/p-fcbe4bb6.js.br +0 -0
  389. package/dist/geotrek-rando-widget/p-fcbe4bb6.js.gz +0 -0
  390. /package/dist/esm-es5/{call-c0c920b0.js.map → call-df62b17b.js.map} +0 -0
  391. /package/dist/esm-es5/{grw-db.service-83da38c9.js.map → grw-db.service-a2b2fc8e.js.map} +0 -0
  392. /package/dist/esm-es5/{outdoor-courses.service-d2397066.js.map → outdoor-courses.service-c7fe26df.js.map} +0 -0
  393. /package/dist/esm-es5/{treks.service-a3ce33ef.js.map → treks.service-0b98455e.js.map} +0 -0
  394. /package/dist/esm-es5/{utils-5feb9281.js.map → utils-b1ca48b3.js.map} +0 -0
  395. /package/dist/esm-es5/{web-9ea89c85.js.map → web-08ea09e6.js.map} +0 -0
  396. /package/dist/geotrek-rando-widget/{p-31cd5fb6.system.js.map → p-06ec8b64.system.js.map} +0 -0
  397. /package/dist/geotrek-rando-widget/{p-5a1c21ad.system.js.map → p-11622ab2.system.js.map} +0 -0
  398. /package/dist/geotrek-rando-widget/{p-346b21fe.system.entry.js.map → p-28048cef.system.entry.js.map} +0 -0
  399. /package/dist/geotrek-rando-widget/{p-63c3d14c.system.entry.js.map → p-35fa0752.system.entry.js.map} +0 -0
  400. /package/dist/geotrek-rando-widget/{p-0dc681ee.system.js.map → p-3834a184.system.js.map} +0 -0
  401. /package/dist/geotrek-rando-widget/{p-c8f5ce61.js.map → p-5feca333.js.map} +0 -0
  402. /package/dist/geotrek-rando-widget/{p-928cafc2.system.entry.js.map → p-643b34f4.system.entry.js.map} +0 -0
  403. /package/dist/geotrek-rando-widget/{p-844f4321.js.map → p-6d0668a6.js.map} +0 -0
  404. /package/dist/geotrek-rando-widget/{p-ebec2cdc.system.js.map → p-722468a0.system.js.map} +0 -0
  405. /package/dist/geotrek-rando-widget/{p-91d62770.entry.js.map → p-83e76a62.entry.js.map} +0 -0
  406. /package/dist/geotrek-rando-widget/{p-38d31358.entry.js.map → p-9ac8e3ac.entry.js.map} +0 -0
  407. /package/dist/geotrek-rando-widget/{p-20fa1207.entry.js.map → p-9c461972.entry.js.map} +0 -0
  408. /package/dist/geotrek-rando-widget/{p-6287495f.entry.js.map → p-ad644267.entry.js.map} +0 -0
  409. /package/dist/geotrek-rando-widget/{p-6a4d2050.system.entry.js.map → p-ad6e02a4.system.entry.js.map} +0 -0
  410. /package/dist/geotrek-rando-widget/{p-315f99d3.system.js.map → p-ae0a8dc1.system.js.map} +0 -0
  411. /package/dist/geotrek-rando-widget/{p-fcbe4bb6.js.map → p-b0b7e072.js.map} +0 -0
  412. /package/dist/geotrek-rando-widget/{p-b1ed0255.js.map → p-bc36f8a6.js.map} +0 -0
  413. /package/dist/geotrek-rando-widget/{p-51c64ff4.entry.js.map → p-cf6d1b66.entry.js.map} +0 -0
  414. /package/dist/geotrek-rando-widget/{p-46cbc796.system.entry.js.map → p-d8126403.system.entry.js.map} +0 -0
  415. /package/dist/geotrek-rando-widget/{p-c61425f6.js.map → p-e5086616.js.map} +0 -0
  416. /package/dist/geotrek-rando-widget/{p-eeedb77e.entry.js.map → p-e9483fdf.entry.js.map} +0 -0
  417. /package/dist/geotrek-rando-widget/{p-0213328a.system.entry.js.map → p-ec9a42ab.system.entry.js.map} +0 -0
  418. /package/dist/geotrek-rando-widget/{p-fbfffb5d.system.js.map → p-f152b476.system.js.map} +0 -0
  419. /package/dist/geotrek-rando-widget/{p-76467e71.js.map → p-f92d0101.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"grw-details-modal.grw-information-desk.grw-outdoor-course-card.grw-outdoor-site-card.grw-touristic-content-detail.grw-touristic-content-provider.grw-touristic-event-detail.grw-touristic-event-provider.entry.cjs.js","mappings":"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","names":["h","Host","CloseIcon","state","getDataInStore","getAssetPath","translate","CallIcon","Swiper","Navigation","Pagination","Keyboard","FreeMode","Mousewheel","DownloadIcon","getAllDataInStore","getTouristicContentCategory","getTouristicContent","getCities","getTouristicEventType","getTouristicEvent"],"sources":["src/components/grw-details-modal/grw-details-modal.scss?tag=grw-details-modal","src/components/grw-details-modal/grw-details-modal.tsx","src/components/grw-information-desk/grw-information-desk.scss?tag=grw-information-desk&encapsulation=shadow","src/components/grw-information-desk/grw-information-desk.tsx","src/components/grw-outdoor-course-card/grw-outdoor-course-card.scss?tag=grw-outdoor-course-card&encapsulation=shadow","src/components/grw-outdoor-course-card/grw-outdoor-course-card.tsx","src/components/grw-outdoor-site-card/grw-outdoor-site-card.scss?tag=grw-outdoor-site-card&encapsulation=shadow","src/components/grw-outdoor-site-card/grw-outdoor-site-card.tsx","src/components/grw-touristic-content-detail/grw-touristic-content-detail.scss?tag=grw-touristic-content-detail&encapsulation=shadow","src/components/grw-touristic-content-detail/grw-touristic-content-detail.tsx","src/store/grw-touristic-content-provider.tsx","src/components/grw-touristic-event-detail/grw-touristic-event-detail.scss?tag=grw-touristic-event-detail&encapsulation=shadow","src/components/grw-touristic-event-detail/grw-touristic-event-detail.tsx","src/store/grw-touristic-event-provider.tsx"],"sourcesContent":[".modal-container {\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0px;\n left: 0px;\n width: 100vw;\n height: 100vh;\n z-index: 40000;\n font-family: var(--font-family);\n background-color: rgba(0, 0, 0, 0.6);\n .grw-details-modal {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: var(--color-background);\n }\n .grw-content-modal {\n overflow-y: hidden;\n padding-bottom: 24px;\n background-color: var(--color-background);\n }\n .grw-arrow-back-container {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n background-color: var(--color-primary-container);\n .grw-arrow-back-icon {\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n color: var(--color-on-primary);\n border: none;\n border-radius: var(--border-radius, 50%);\n height: 48px;\n width: 48px;\n background-color: transparent;\n margin-left: 4px;\n padding: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n .icon {\n height: 24px;\n width: 24px;\n }\n }\n }\n}\n\n@media (min-width: 1024px) {\n .modal-container {\n .grw-details-modal {\n width: 60%;\n height: 80%;\n border-radius: var(--border-radius, 8px);\n }\n }\n}\n","import { Component, Host, h, Event, EventEmitter, Prop } from '@stencil/core';\nimport CloseIcon from '../../assets/close.svg';\n\n@Component({\n tag: 'grw-details-modal',\n styleUrl: 'grw-details-modal.scss',\n shadow: false,\n})\nexport class GrwDetailsModal {\n @Event() closeDetailsModal: EventEmitter<number>;\n @Prop() fontFamily = 'Roboto';\n @Prop() colorBackground = '#fef7ff';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#49454e';\n @Prop() rounded = true;\n\n handleCloseButton() {\n this.closeDetailsModal.emit();\n }\n\n render() {\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-background': this.colorBackground,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--border-radius': this.rounded ? '' : '0px',\n }}\n >\n <div part=\"modal-container\" class=\"modal-container\">\n <div part=\"details-modal\" class=\"grw-details-modal\">\n <div part=\"arrow-back-container\" class=\"grw-arrow-back-container\">\n <button part=\"arrow-back-icon\" onClick={() => this.handleCloseButton()} class=\"grw-arrow-back-icon\">\n <span part=\"icon\" class=\"icon\" innerHTML={CloseIcon}></span>\n </button>\n </div>\n <div part=\"content-modal\" class=\"grw-content-modal\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid gray;\n border-radius: var(--border-radius, 12px);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n a {\n color: var(--color-primary-app);\n }\n}\n\n.information-desk-img-container {\n position: relative;\n .information-desk-img {\n width: 100%;\n height: 200px;\n object-fit: cover;\n }\n}\n\n.information-desk-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n}\n\n.information-desk-sub-container-short {\n max-height: 200px;\n overflow: hidden;\n}\n\n.information-desk-name {\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n}\n\n.information-desk-description {\n font-size: 14px;\n line-height: 20px;\n}\n\n.handle-information-desk-description {\n cursor: pointer;\n color: var(--color-primary-app);\n text-decoration: underline;\n margin-top: 12px;\n}\n\n.phone-container,\n.mail-container,\n.link-container {\n display: flex;\n align-items: center;\n .icon {\n display: flex;\n font-size: 16px;\n margin-right: 8px;\n }\n}\n\n.center-on-map-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 4px 8px;\n box-shadow: var(--elevation-1);\n min-height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n margin: 12px auto;\n &:hover {\n box-shadow: var(--elevation-2);\n }\n .icon {\n display: flex;\n }\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter, getAssetPath, Build } from '@stencil/core';\nimport state from 'store/store';\nimport { translate } from 'i18n/i18n';\nimport { InformationDesk, OutdoorSite, Trek } from 'types/types';\nimport { getDataInStore } from 'services/grw-db.service';\nimport LocationSearchingIcon from '../../assets/location_searching.svg';\nimport CallIcon from '../../assets/call.svg';\nimport MailIcon from '../../assets/mail.svg';\nimport LinkIcon from '../../assets/link.svg';\n\n@Component({\n tag: 'grw-information-desk',\n styleUrl: 'grw-information-desk.scss',\n shadow: true,\n})\nexport class GrwInformationDeskDetail {\n descriptionRef?: HTMLDivElement;\n @Event() centerOnMap: EventEmitter<{ latitude: number; longitude: number }>;\n @State() displayShortDescription = true;\n @State() showInformationDeskDescriptionButton = false;\n @Prop() informationDesk: InformationDesk;\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n\n @State() offline = false;\n @State() showDefaultImage = false;\n\n componentDidLoad() {\n this.handleOffline();\n if (this.descriptionRef) {\n this.showInformationDeskDescriptionButton = this.descriptionRef.clientHeight < this.descriptionRef.scrollHeight;\n }\n }\n\n handleInformationDeskDescription() {\n this.displayShortDescription = !this.displayShortDescription;\n }\n\n handleCenterOnMap() {\n this.centerOnMap.emit({ latitude: this.informationDesk.latitude, longitude: this.informationDesk.longitude });\n }\n\n async handleOffline() {\n if (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n if (trekInStore && trekInStore.offline) {\n const informationDeskInStore: InformationDesk = await getDataInStore('informationDesks', this.informationDesk.id);\n this.offline = Boolean(informationDeskInStore);\n }\n } else if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const informationDeskInStore: InformationDesk = await getDataInStore('informationDesks', this.informationDesk.id);\n this.offline = Boolean(informationDeskInStore);\n }\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n\n return (\n <Host style={{ '--color-surface-container-low': this.colorSurfaceContainerLow }}>\n {this.informationDesk.photo_url && (\n <div part=\"information-desk-img-container\" class=\"information-desk-img-container\">\n <img\n part=\"information-desk-img\"\n class=\"information-desk-img\"\n src={this.informationDesk.photo_url}\n alt={this.informationDesk.name}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.src = defaultImageSrc;\n }}\n />\n </div>\n )}\n <div part=\"information-desk-sub-container\" class=\"information-desk-sub-container\">\n <div class={this.displayShortDescription ? 'information-desk-sub-container-short' : ''}>\n {this.informationDesk.name && (\n <div part=\"information-desk-name\" class=\"information-desk-name\">\n {this.informationDesk.name}\n </div>\n )}\n {this.informationDesk.latitude && this.informationDesk.longitude && (\n <button part=\"center-on-map-button\" class=\"center-on-map-button\" onClick={() => this.handleCenterOnMap()}>\n <span part=\"icon\" class=\"icon\" innerHTML={LocationSearchingIcon}></span>\n <span part=\"label\">{translate[state.language].centerOnMap}</span>\n </button>\n )}\n {(this.informationDesk.postal_code || this.informationDesk.municipality || this.informationDesk.street) && (\n <div part=\"information-desk-informations\" class=\"information-desk-informations\">\n {this.informationDesk.postal_code && this.informationDesk.postal_code}\n {this.informationDesk.municipality && ` ${this.informationDesk.municipality}`}\n {this.informationDesk.street && ` ${this.informationDesk.street}`}\n </div>\n )}\n {this.informationDesk.phone && (\n <div class=\"phone-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={CallIcon}></span>\n <a part=\"label\" class=\"label\" href={`tel:${this.informationDesk.phone}`}>\n {this.informationDesk.phone}\n </a>\n </div>\n )}\n {this.informationDesk.email && (\n <div part=\"mail-container\" class=\"mail-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={MailIcon}></span>\n <a part=\"label\" class=\"label\" href={`mailto:${this.informationDesk.email}`}>\n {this.informationDesk.email}\n </a>\n </div>\n )}\n {this.informationDesk.website && (\n <div part=\"link-container\" class=\"link-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={LinkIcon}></span>\n <a part=\"label\" class=\"label\" href={`${this.informationDesk.website}`}>\n {this.informationDesk.website}\n </a>\n </div>\n )}\n {this.informationDesk.description && (\n <div part=\"information-desk-description-container\" class=\"information-desk-description-container\">\n <div\n part=\"information-desk-description\"\n class=\"information-desk-description\"\n innerHTML={this.informationDesk.description}\n ref={el => (this.descriptionRef = el)}\n ></div>\n </div>\n )}\n </div>\n {this.informationDesk.description && (\n <div part=\"handle-information-desk-description\" class=\"handle-information-desk-description\" onClick={() => this.handleInformationDeskDescription()}>\n {this.displayShortDescription ? translate[state.language].readMore : translate[state.language].readLess}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n",":host {\n a {\n color: var(--color-primary-app);\n }\n}\n\n.outdoor-course-img-container {\n position: relative;\n height: 200px;\n .outdoor-course-img,\n .default-outdoor-course-img {\n width: 100%;\n height: 100%;\n max-height: 200px;\n object-fit: cover;\n }\n .outdoor-course-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-outdoor-course-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain !important;\n }\n .outdoor-course-practice {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.outdoor-course-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n .outdoor-course-practice-container {\n display: flex;\n align-items: center;\n margin-bottom: 12px;\n .outdoor-course-practice-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .outdoor-course-name {\n font-size: 16px;\n line-height: 24px;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 48px;\n }\n}\n\n.outdoor-course-more-detail-container {\n padding: 0px 12px 12px 12px;\n .more-details-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n width: 100%;\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n span {\n font-size: 18px;\n }\n }\n}\n\n.outdoor-course-card-container,\n.outdoor-course-card-large-view-container {\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n .outdoor-course-img {\n height: 100%;\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n}\n\n.outdoor-course-card-container {\n width: 100%;\n max-width: 350px;\n .outdoor-course-img {\n width: 100%;\n height: 100%;\n }\n}\n\n.outdoor-course-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .outdoor-course-img {\n width: 250px;\n height: 100%;\n border-bottom-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 0px);\n }\n}\n\n.is-inside-vertical-list {\n cursor: pointer;\n border: none;\n .touristic-content-img,\n .default-touristic-content-img {\n height: 100%;\n }\n}\n\n.selected-outdoor-course-card {\n box-shadow: var(--elevation-2);\n}\n","import { Component, Host, Prop, h, Event, EventEmitter, Listen, getAssetPath, Build, State } from '@stencil/core';\nimport { getDataInStore } from 'services/grw-db.service';\nimport state from 'store/store';\nimport { OutdoorCourse, OutdoorSite } from 'types/types';\nimport { translate } from 'i18n/i18n';\n\n@Component({\n tag: 'grw-outdoor-course-card',\n styleUrl: 'grw-outdoor-course-card.scss',\n shadow: true,\n})\nexport class GrwOutdoorCourseCard {\n @Event() outdoorCourseCardPress: EventEmitter<number>;\n\n @Prop() outdoorCourse: OutdoorCourse;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() isLargeView = false;\n @Prop() isInsideHorizontalList = false;\n\n @Event() cardOutdoorCourseMouseOver: EventEmitter<number>;\n @Event() cardOutdoorCourseMouseLeave: EventEmitter;\n\n @State() offline = false;\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardOutdoorCourseMouseOver.emit(this.outdoorCourse.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardOutdoorCourseMouseLeave.emit();\n }\n\n async handleOffline() {\n if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const outdoorCourseInStore: OutdoorCourse = await getDataInStore('outdoorCourses', this.outdoorCourse.id);\n this.offline = Boolean(outdoorCourseInStore);\n }\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const outdoorPractice = null;\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\n }}\n >\n <div\n part=\"outdoor-course-card\"\n class={\n this.isLargeView\n ? `outdoor-course-card outdoor-course-card-large-view-container${state.selectedOutdoorCourseId === this.outdoorCourse.id ? ' selected-outdoor-course-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n : ` outdoor-course-card outdoor-course-card-container${state.selectedOutdoorCourseId === this.outdoorCourse.id ? ' selected-outdoor-course-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n }\n onClick={() => {\n if (!this.isInsideHorizontalList) {\n this.outdoorCourseCardPress.emit(this.outdoorCourse.id);\n }\n }}\n >\n <div part=\"outdoor-course-img-container\" class=\"outdoor-course-img-container\">\n {this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"outdoor-course-img\"\n class=\"outdoor-course-img\"\n src={`${\n this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail !== ''\n ? this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail\n : this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image')[0].url\n }`}\n alt={`${this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image')[0].legend}`}\n loading=\"lazy\"\n />\n ) : (\n <img class=\"image default-outdoor-course-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n )}\n </div>\n <div part=\"outdoor-course-sub-container\" class=\"outdoor-course-sub-container\">\n <div part=\"outdoor-course-practice-container\" class=\"outdoor-course-practice-container\">\n {outdoorPractice && outdoorPractice.pictogram && (\n <img\n part=\"outdoor-course-type-img\"\n class=\"outdoor-course-type-img\"\n /* @ts-ignore */\n src={outdoorPractice.pictogram}\n alt=\"\"\n />\n )}\n {outdoorPractice && outdoorPractice.name && (\n <div part=\"outdoor-course-practice-name\" class=\"outdoor-course-practice-name\">\n {outdoorPractice.name}\n </div>\n )}\n </div>\n <div part=\"outdoor-course-name\" class=\"outdoor-course-name\">\n {this.outdoorCourse.name}\n </div>\n </div>\n {this.isInsideHorizontalList && (\n <div part=\"outdoor-course-more-detail-container\" class=\"outdoor-course-more-detail-container\">\n <button part=\"more-details-button\" class=\"more-details-button\" onClick={() => this.outdoorCourseCardPress.emit(this.outdoorCourse.id)}>\n {translate[state.language].moreDetails}\n </button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n",":host {\n a {\n color: var(--color-primary-app);\n }\n}\n\n.outdoor-site-img-container {\n position: relative;\n height: 200px;\n .outdoor-site-img,\n .default-outdoor-site-img {\n width: 100%;\n height: 100%;\n max-height: 200px;\n object-fit: cover;\n }\n .outdoor-site-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-outdoor-site-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain !important;\n }\n .outdoor-site-practice {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.outdoor-site-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n .outdoor-site-practice-container {\n display: flex;\n align-items: center;\n margin-bottom: 12px;\n .outdoor-site-practice-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .outdoor-site-name {\n font-size: 16px;\n line-height: 24px;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 48px;\n }\n}\n\n.outdoor-site-more-detail-container {\n padding: 0px 12px 12px 12px;\n .more-details-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n width: 100%;\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n span {\n font-size: 18px;\n }\n }\n}\n\n.outdoor-site-card-container,\n.outdoor-site-card-large-view-container {\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n .outdoor-site-img {\n height: 100%;\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n}\n\n.outdoor-site-card-container {\n width: 100%;\n max-width: 350px;\n .outdoor-site-img {\n width: 100%;\n height: 100%;\n }\n}\n\n.outdoor-site-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .outdoor-site-img {\n width: 250px;\n height: 100%;\n border-bottom-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 0px);\n }\n}\n\n.is-inside-vertical-list {\n cursor: pointer;\n border: none;\n .touristic-content-img,\n .default-touristic-content-img {\n height: 100%;\n }\n}\n\n.selected-outdoor-site-card {\n box-shadow: var(--elevation-2);\n}\n\n.themes-container {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n .theme {\n background-color: var(--color-secondary-container);\n color: var(--color-on-secondary-container);\n border-radius: var(--border-radius, 40px);\n padding: 8px 16px;\n margin: 0px 8px 8px 0px;\n box-shadow: var(--elevation-0);\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n }\n}\n","import { Component, Host, Prop, h, Event, EventEmitter, Listen, getAssetPath, Build, State } from '@stencil/core';\nimport { getDataInStore } from 'services/grw-db.service';\nimport state from 'store/store';\nimport { OutdoorSite } from 'types/types';\nimport { translate } from 'i18n/i18n';\n\n@Component({\n tag: 'grw-outdoor-site-card',\n styleUrl: 'grw-outdoor-site-card.scss',\n shadow: true,\n})\nexport class GrwOutdoorSiteCard {\n @Event() outdoorSiteCardPress: EventEmitter<number>;\n\n @Prop() outdoorSite: OutdoorSite;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() isLargeView = false;\n @Prop() isInsideHorizontalList = false;\n\n @Event() cardOutdoorSiteMouseOver: EventEmitter<number>;\n @Event() cardOutdoorSiteMouseLeave: EventEmitter;\n\n @State() offline = false;\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardOutdoorSiteMouseOver.emit(this.outdoorSite.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardOutdoorSiteMouseLeave.emit();\n }\n\n async handleOffline() {\n if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n this.offline = outdoorSiteInStore && outdoorSiteInStore.offline;\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const outdoorPractice = state.outdoorPractices.find(outdoorPractice => outdoorPractice.id === this.outdoorSite.practice);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\n }}\n >\n <div\n part=\"outdoor-site-card\"\n class={\n this.isLargeView\n ? `outdoor-site-card outdoor-site-card-large-view-container${state.selectedOutdoorSiteId === this.outdoorSite.id ? ' selected-outdoor-site-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n : ` outdoor-site-card outdoor-site-card-container${state.selectedOutdoorSiteId === this.outdoorSite.id ? ' selected-outdoor-site-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n }\n onClick={() => {\n if (!this.isInsideHorizontalList) {\n this.outdoorSiteCardPress.emit(this.outdoorSite.id);\n }\n }}\n >\n <div part=\"outdoor-site-img-container\" class=\"outdoor-site-img-container\">\n {this.outdoorSite.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"outdoor-site-img\"\n class=\"outdoor-site-img\"\n src={`${\n this.outdoorSite.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail !== ''\n ? this.outdoorSite.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail\n : this.outdoorSite.attachments.filter(attachment => attachment.type === 'image')[0].url\n }`}\n alt={`${this.outdoorSite.attachments.filter(attachment => attachment.type === 'image')[0].legend}`}\n loading=\"lazy\"\n />\n ) : (\n <img class=\"image default-outdoor-site-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n )}\n </div>\n <div part=\"outdoor-site-sub-container\" class=\"outdoor-site-sub-container\">\n <div part=\"outdoor-site-practice-container\" class=\"outdoor-site-practice-container\">\n {outdoorPractice && outdoorPractice.pictogram && (\n <img\n part=\"outdoor-site-type-img\"\n class=\"outdoor-site-type-img\"\n /* @ts-ignore */\n src={outdoorPractice.pictogram}\n alt=\"\"\n />\n )}\n {outdoorPractice && outdoorPractice.name && (\n <div part=\"outdoor-site-practice-name\" class=\"outdoor-site-practice-name\">\n {outdoorPractice.name}\n </div>\n )}\n </div>\n <div part=\"outdoor-site-name\" class=\"outdoor-site-name\">\n {this.outdoorSite.name}\n </div>\n {!this.isInsideHorizontalList && state.themes && state.themes.filter(theme => this.outdoorSite.themes.includes(theme.id)).length > 0 && (\n <div part=\"themes-container\" class=\"themes-container\">\n {state.themes\n .filter(theme => this.outdoorSite.themes.includes(theme.id))\n .map(theme => (\n <div part=\"theme\" class=\"theme\">\n {theme.label}\n </div>\n ))}\n </div>\n )}\n </div>\n {this.isInsideHorizontalList && (\n <div part=\"outdoor-site-more-detail-container\" class=\"outdoor-site-more-detail-container\">\n <button part=\"more-details-button\" class=\"more-details-button\" onClick={() => this.outdoorSiteCardPress.emit(this.outdoorSite.id)}>\n {translate[state.language].moreDetails}\n </button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n:host {\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\ngrw-touristic-content-detail {\n overflow: hidden;\n}\n\n.touristic-content-detail-container {\n font-family: var(--font-family);\n color: var(--color-on-surface);\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n overflow-y: auto;\n padding-bottom: 24px;\n .touristic-content-category-container {\n display: flex;\n align-items: center;\n padding: 0px 24px;\n margin: 8px 0px;\n .touristic-content-category-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .name {\n color: var(--color-on-surface);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n padding: 0px 24px;\n margin: 8px 0px;\n }\n .image,\n .default-poi-img {\n cursor: pointer;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .default-poi-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .description-teaser,\n .description-container,\n .useful-information-container,\n .contact-container {\n padding: 0px 24px 0px 24px;\n }\n .description-container,\n .useful-information-container,\n .contact-container {\n font-size: 16px;\n line-height: 24px;\n font-weight: 400;\n a {\n color: var(--color-primary-app);\n }\n }\n .description-title,\n .useful-information-title,\n .contact-title {\n color: var(--color-on-surface);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n font-weight: bold;\n margin-bottom: 16px;\n }\n}\n\n.detail-bottom-space {\n min-height: var(--detail-bottom-space-height);\n height: var(--detail-bottom-space-height);\n width: 100%;\n background-color: var(--color-background);\n}\n\n.images-container {\n display: flex;\n max-width: 100%;\n max-height: 400px;\n}\n\n.divider {\n margin: 16px;\n border-top: 1px solid var(--color-outline);\n}\n\n.cities-container {\n display: flex;\n align-items: center;\n padding: 24px 24px 0px 24px;\n .cities-title {\n color: var(--color-on-surface);\n font-weight: bold;\n white-space: nowrap;\n margin-right: 8px;\n }\n}\n\n.downloads-container {\n padding: 0px 24px 0px 24px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n .download-title {\n color: var(--color-on-surface);\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n }\n .links-container {\n display: flex;\n flex-wrap: wrap;\n a {\n margin-top: 8px;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n text-decoration: none;\n &:nth-child(2) {\n margin: 8px 12px 0px 12px;\n }\n &:hover {\n box-shadow: var(--elevation-2);\n }\n .icon {\n display: flex;\n }\n }\n }\n}\n\n.email-container,\n.website-container {\n display: flex;\n flex-wrap: wrap;\n}\n\n.legend-container {\n position: absolute;\n top: 16px;\n font-size: 12px;\n color: #ffffff;\n width: 100%;\n text-align: center;\n}\n\n.close-fullscreen-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 40;\n top: 16px;\n right: 16px;\n color: var(--swiper-navigation-color, var(--swiper-theme-color));\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n cursor: pointer;\n}\n\n.touristic-content-category-img {\n border-radius: 100%;\n padding: 2px;\n max-height: 20px;\n max-width: 20px;\n}\n","import { Build, Component, Host, Prop, State, getAssetPath, h } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state from 'store/store';\nimport Swiper, { FreeMode, Keyboard, Mousewheel, Navigation, Pagination } from 'swiper';\nimport CloseIcon from '../../assets/close.svg';\nimport DownloadIcon from '../../assets/download.svg';\n\n@Component({\n tag: 'grw-touristic-content-detail',\n styleUrl: 'grw-touristic-content-detail.scss',\n shadow: true,\n})\nexport class GrwTouristicContentDetail {\n swiperImages?: Swiper;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n presentationRef?: HTMLDivElement;\n\n @State() displayFullscreen = false;\n @State() offline = false;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n @Prop() isLargeView = false;\n @Prop() grwApp = false;\n\n descriptionRef?: HTMLDivElement;\n touristicContentDetailContainerRef?: HTMLElement;\n\n handleSwipers() {\n if (this.swiperImagesRef && !this.swiperImages) {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen && !this.offline ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n }\n }\n\n componentDidUpdate() {\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.offline = state.currentTouristicContent && state.currentTouristicContent.offline;\n this.handleSwipers();\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (state.currentTouristicContent.attachments && state.currentTouristicContent.attachments[0] && state.currentTouristicContent.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const touristicContentCategory =\n state.touristicContentCategories &&\n state.currentTouristicContent &&\n state.touristicContentCategories.find(touristicContentCategory => touristicContentCategory.id === state.currentTouristicContent.category);\n const cities = state.currentTouristicContent && state.currentTouristicContent.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n const displayPaginationAndNavigation =\n (state.currentTouristicContent && state.currentTouristicContent.attachments.filter(attachment => attachment.type === 'image').length > 1) || this.offline;\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '164px'\n : '124px',\n }}\n >\n {state.currentTouristicContent && (\n <div part=\"touristic-content-detail-container\" class=\"touristic-content-detail-container\" ref={el => (this.touristicContentDetailContainerRef = el)}>\n <div part=\"images-container\" class=\"images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentTouristicContent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n state.currentTouristicContent.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"close-fullscreen-button\" class=\"close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n <span part=\"icon\" class=\"icon\" innerHTML={CloseIcon}></span>\n </div>\n )}\n <div part=\"legend-container\" class=\"legend-container\">\n {legend}\n </div>\n <img\n part=\"image\"\n class=\"image\"\n src={this.offline && attachment.thumbnail !== '' ? attachment.thumbnail : attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img part=\"default-poi-img\" class=\"default-poi-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n </div>\n )}\n </div>\n <div\n style={{ display: 'block', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElImagesRef = el)}\n ></div>\n </div>\n </div>\n <div part=\"touristic-content-category-container\" class=\"touristic-content-category-container\">\n <img\n part=\"touristic-content-category-img\"\n class=\"touristic-content-category-img\"\n /* @ts-ignore */\n\n src={touristicContentCategory.pictogram}\n alt=\"\"\n />\n <div part=\"touristic-content-category-name\" class=\"touristic-content-category-name\">\n {touristicContentCategory.label}\n </div>\n </div>\n <div part=\"name\" class=\"name\">\n {state.currentTouristicContent.name}\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].download}\n </div>\n <div part=\"links-container\" class=\"links-container\">\n <a part=\"link-container\" class=\"link-container\" href={`${state.currentTouristicContent.pdf}`} target=\"_blank\" rel=\"noopener noreferrer\">\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"\">\n PDF\n </span>\n </a>\n </div>\n </div>\n {state.currentTouristicContent.description_teaser && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"description-teaser\" class=\"description-teaser\" innerHTML={state.currentTouristicContent.description_teaser}></div>\n </div>\n )}\n <div part=\"divider\" class=\"divider\"></div>\n {state.currentTouristicContent.practical_info && (\n <div part=\"description-container\" class=\"description-container\" ref={el => (this.descriptionRef = el)}>\n <div part=\"description-title\" class=\"description-title\">\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={state.currentTouristicContent.description}></div>\n </div>\n )}\n {cities && cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].city} :&nbsp;\n </div>\n <div part=\"cities\" class=\"cities\" innerHTML={cities.join(', ')}></div>\n </div>\n )}\n {state.currentTouristicContent.practical_info && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"useful-information-container\" class=\"useful-information-container\">\n <div part=\"useful-information-title\" class=\"useful-information-title\">\n {translate[state.language].usefulInformation} :&nbsp;\n </div>\n <div part=\"useful-information\" innerHTML={state.currentTouristicContent.practical_info}></div>\n </div>\n </div>\n )}\n {(state.currentTouristicContent.contact || state.currentTouristicContent.email || state.currentTouristicContent.website) && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"contact-container\" class=\"contact-container\">\n <div part=\"contact-title\" class=\"contact-title\">\n {translate[state.language].contact} :&nbsp;\n </div>\n {state.currentTouristicContent.contact && <div part=\"contact\" class=\"contact\" innerHTML={state.currentTouristicContent.contact}></div>}\n {state.currentTouristicContent.email && (\n <div part=\"email-container\" class=\"email-container\">\n <div part=\"email-title\" class=\"email-title\">\n {translate[state.language].email} :&nbsp;\n </div>\n <a href={'mailto:' + state.currentTouristicContent.email} part=\"email\" class=\"email\" innerHTML={state.currentTouristicContent.email}></a>\n </div>\n )}\n {state.currentTouristicContent.website && (\n <div part=\"website-container\" class=\"website-container\">\n <div part=\"website-title\" class=\"website-title\">\n {translate[state.language].website} :&nbsp;\n </div>\n <a href={state.currentTouristicContent.website} part=\"website\" class=\"website\" innerHTML={state.currentTouristicContent.website}></a>\n </div>\n )}\n </div>\n </div>\n )}\n {this.grwApp && <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>}\n </div>\n )}\n </Host>\n );\n }\n}\n","import { Build, Component, h, Host, Prop } from '@stencil/core';\nimport { getAllDataInStore, getDataInStore } from 'services/grw-db.service';\nimport { getTouristicContent, getTouristicContentCategory } from 'services/touristic-contents.service';\nimport { getCities } from 'services/treks.service';\nimport state from 'store/store';\nimport { TouristicContent } from 'types/types';\n\n@Component({\n tag: 'grw-touristic-content-provider',\n shadow: true,\n})\nexport class GrwTouristicContentProvider {\n @Prop() languages = 'fr';\n @Prop() api: string;\n @Prop() touristicContentId: number;\n @Prop() portals: string;\n\n controller = new AbortController();\n signal = this.controller.signal;\n init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: this.signal };\n\n connectedCallback() {\n if (!state.api) {\n state.api = this.api;\n state.languages = this.languages.split(',');\n state.language = state.languages[0];\n }\n this.handleTouristicContent();\n }\n\n async handleTouristicContent() {\n const touristicContentInStore: TouristicContent = await getDataInStore('touristicContents', this.touristicContentId);\n if (touristicContentInStore && touristicContentInStore.offline) {\n this.handleOfflineTouristicContent(touristicContentInStore);\n } else {\n this.handleOnlineTouristicContent();\n }\n }\n\n async handleOfflineTouristicContent(touristicContent: TouristicContent) {\n if (!state.cities) {\n state.cities = await getAllDataInStore('cities');\n }\n if (!state.touristicContentCategories) {\n state.touristicContentCategories = await getAllDataInStore('touristicContentCategories');\n }\n state.currentTouristicContent = touristicContent;\n }\n\n handleOnlineTouristicContent() {\n const requests = [];\n requests.push(!state.touristicContentCategories ? getTouristicContentCategory(state.api, state.language, this.portals, this.init) : new Response('null'));\n try {\n Promise.all([...requests, getTouristicContent(state.api, state.language, this.touristicContentId, this.init)])\n .then(responses => Promise.all(responses.map(response => response.json())))\n .then(async ([touristicContentCategory, touristicContent]) => {\n state.networkError = false;\n\n let citiesToLoad = [...touristicContent.cities];\n\n if (state.cities) {\n const cityIds = state.cities.map(city => city.id);\n citiesToLoad = citiesToLoad.filter(city => city);\n citiesToLoad = citiesToLoad.filter(city => !cityIds.includes(city));\n }\n\n if (citiesToLoad.length > 0) {\n const cities = (await getCities(state.api, state.language, this.init, citiesToLoad).then(response => response.json())).results;\n if (cities) {\n state.cities = [...state.cities, ...cities];\n }\n }\n\n if (touristicContentCategory) {\n state.touristicContentCategories = touristicContentCategory.results;\n }\n state.currentTouristicContent = touristicContent;\n });\n } catch (error) {\n if (!(error.code === DOMException.ABORT_ERR)) {\n state.networkError = true;\n }\n }\n }\n\n disconnectedCallback() {\n this.controller.abort();\n state.networkError = false;\n }\n\n render() {\n return <Host></Host>;\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n:host {\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\ngrw-touristic-event-detail {\n overflow: hidden;\n}\n\n.touristic-event-detail-container {\n font-family: var(--font-family);\n color: var(--color-on-surface);\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n overflow-y: auto;\n padding-bottom: 24px;\n .touristic-event-category-container {\n display: flex;\n align-items: center;\n padding: 0px 24px;\n margin: 8px 0px;\n .touristic-event-category-name {\n display: -webkit-box;\n line-clamp: 1;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .name {\n color: var(--color-on-surface);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n padding: 0px 24px;\n margin: 8px 0px;\n }\n .touristic-event-date-container {\n color: var(--color-on-surface);\n font-size: 16px;\n line-height: 28px;\n font-weight: 400;\n padding: 0px 24px;\n margin: 8px 0px;\n }\n .image,\n .default-poi-img {\n cursor: pointer;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .default-poi-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .description-teaser,\n .description-container,\n .useful-information-container,\n .contact-container {\n padding: 0px 24px 0px 24px;\n }\n .description-container,\n .useful-information-container,\n .contact-container {\n font-size: 16px;\n line-height: 24px;\n font-weight: 400;\n a {\n color: var(--color-primary-app);\n }\n }\n .description-title,\n .useful-information-title,\n .contact-title {\n color: var(--color-on-surface);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n font-weight: bold;\n margin-bottom: 16px;\n }\n}\n\n.detail-bottom-space {\n min-height: var(--detail-bottom-space-height);\n height: var(--detail-bottom-space-height);\n width: 100%;\n background-color: var(--color-background);\n}\n\n.images-container {\n display: flex;\n max-width: 100%;\n max-height: 400px;\n}\n\n.divider {\n margin: 16px;\n border-top: 1px solid var(--color-outline);\n}\n\n.cities-container {\n display: flex;\n align-items: center;\n padding: 24px 24px 0px 24px;\n .cities-title {\n color: var(--color-on-surface);\n font-weight: bold;\n white-space: nowrap;\n margin-right: 8px;\n }\n}\n\n.downloads-container {\n padding: 0px 24px 0px 24px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n .download-title {\n color: var(--color-on-surface);\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n }\n .links-container {\n display: flex;\n flex-wrap: wrap;\n a {\n margin-top: 8px;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n text-decoration: none;\n &:nth-child(2) {\n margin: 8px 12px 0px 12px;\n }\n &:hover {\n box-shadow: var(--elevation-2);\n }\n .icon {\n display: flex;\n }\n }\n }\n}\n\n.email-container,\n.website-container {\n display: flex;\n flex-wrap: wrap;\n}\n\n.legend-container {\n position: absolute;\n top: 16px;\n font-size: 12px;\n color: #ffffff;\n width: 100%;\n text-align: center;\n}\n\n.close-fullscreen-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 40;\n top: 16px;\n right: 16px;\n color: var(--swiper-navigation-color, var(--swiper-theme-color));\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n cursor: pointer;\n}\n","import { Build, Component, Host, Prop, State, getAssetPath, h } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state from 'store/store';\nimport Swiper, { FreeMode, Keyboard, Mousewheel, Navigation, Pagination } from 'swiper';\nimport CloseIcon from '../../assets/close.svg';\nimport DownloadIcon from '../../assets/download.svg';\n\n@Component({\n tag: 'grw-touristic-event-detail',\n styleUrl: 'grw-touristic-event-detail.scss',\n shadow: true,\n})\nexport class GrwTouristicEventDetail {\n swiperImages?: Swiper;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n presentationRef?: HTMLDivElement;\n\n @State() displayFullscreen = false;\n @State() offline = false;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n @Prop() isLargeView = false;\n @Prop() grwApp = false;\n\n descriptionRef?: HTMLDivElement;\n touristicEventDetailContainerRef?: HTMLElement;\n\n handleSwipers() {\n if (this.swiperImagesRef && !this.swiperImages) {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen && !this.offline ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n }\n }\n\n componentDidUpdate() {\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.offline = state.currentTouristicEvent && state.currentTouristicEvent.offline;\n this.handleSwipers();\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (state.currentTouristicEvent.attachments && state.currentTouristicEvent.attachments[0] && state.currentTouristicEvent.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n\n const touristicEventType =\n state.touristicEventTypes &&\n state.currentTouristicEvent &&\n state.touristicEventTypes.find(touristicEventCategory => touristicEventCategory.id === state.currentTouristicEvent.type);\n const cities = state.currentTouristicEvent && state.currentTouristicEvent.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n const displayPaginationAndNavigation =\n (state.currentTouristicEvent && state.currentTouristicEvent.attachments.filter(attachment => attachment.type === 'image').length > 1) || this.offline;\n\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '164px'\n : '124px',\n }}\n >\n {state.currentTouristicEvent && (\n <div part=\"touristic-event-detail-container\" class=\"touristic-event-detail-container\" ref={el => (this.touristicEventDetailContainerRef = el)}>\n <div part=\"images-container\" class=\"images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentTouristicEvent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n state.currentTouristicEvent.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"close-fullscreen-button\" class=\"close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n <span part=\"icon\" class=\"icon\" innerHTML={CloseIcon}></span>\n </div>\n )}\n <div part=\"legend-container\" class=\"legend-container\">\n {legend}\n </div>\n <img\n part=\"image\"\n class=\"image\"\n src={this.offline && attachment.thumbnail !== '' ? attachment.thumbnail : attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"default-poi-img\"\n class=\"default-poi-img\"\n /* @ts-ignore */\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n <div\n style={{ display: 'block', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElImagesRef = el)}\n ></div>\n </div>\n </div>\n <div part=\"touristic-event-category-container\" class=\"touristic-event-category-container\">\n {touristicEventType && touristicEventType.pictogram && (\n <img part=\"touristic-event-category-img\" class=\"touristic-event-category-img\" src={touristicEventType.pictogram} />\n )}\n {touristicEventType && touristicEventType.type && (\n <div part=\"touristic-event-category-name\" class=\"touristic-event-category-name\">\n {touristicEventType.type}\n </div>\n )}\n </div>\n <div part=\"name\" class=\"name\">\n {state.currentTouristicEvent.name}\n </div>\n {(state.currentTouristicEvent.begin_date || state.currentTouristicEvent.end_date) && (\n <div part=\"touristic-event-date-container\" class=\"touristic-event-date-container\">\n {state.currentTouristicEvent.begin_date === state.currentTouristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].date} : {state.currentTouristicEvent.begin_date}\n </div>\n )}\n {state.currentTouristicEvent.begin_date && state.currentTouristicEvent.begin_date !== state.currentTouristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].startDate} : {state.currentTouristicEvent.begin_date}\n </div>\n )}\n {state.currentTouristicEvent.end_date && state.currentTouristicEvent.begin_date !== state.currentTouristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].endDate} : {state.currentTouristicEvent.end_date}\n </div>\n )}\n </div>\n )}\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].download}\n </div>\n <div part=\"links-container\" class=\"links-container\">\n <a part=\"link\" class=\"link\" href={`${state.currentTouristicEvent.pdf}`} target=\"_blank\" rel=\"noopener noreferrer\">\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n PDF\n </span>\n </a>\n </div>\n </div>\n {state.currentTouristicEvent.description_teaser && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"description-teaser\" class=\"description-teaser\" innerHTML={state.currentTouristicEvent.description_teaser}></div>\n </div>\n )}\n <div part=\"divider\" class=\"divider\"></div>\n {state.currentTouristicEvent.practical_info && (\n <div part=\"description-container\" class=\"description-container\" ref={el => (this.descriptionRef = el)}>\n <div part=\"description-title\" class=\"description-title\">\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={state.currentTouristicEvent.description}></div>\n </div>\n )}\n {cities && cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].city} :&nbsp;\n </div>\n <div part=\"cities\" class=\"cities\" innerHTML={cities.join(', ')}></div>\n </div>\n )}\n {state.currentTouristicEvent.practical_info && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"useful-information-container\" class=\"useful-information-container\">\n <div part=\"useful-information-title\" class=\"useful-information-title\">\n {translate[state.language].usefulInformation} :&nbsp;\n </div>\n <div part=\"useful-information\" class=\"useful-information\" innerHTML={state.currentTouristicEvent.practical_info}></div>\n </div>\n </div>\n )}\n {(state.currentTouristicEvent.contact || state.currentTouristicEvent.email || state.currentTouristicEvent.website) && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"contact-container\" class=\"contact-container\">\n <div part=\"contact-title\" class=\"contact-title\">\n {translate[state.language].contact} :&nbsp;\n </div>\n {state.currentTouristicEvent.contact && <div part=\"contact\" class=\"contact\" innerHTML={state.currentTouristicEvent.contact}></div>}\n {state.currentTouristicEvent.email && (\n <div part=\"email-container\" class=\"email-container\">\n <div part=\"email-title\" class=\"email-title\">\n {translate[state.language].email} :&nbsp;\n </div>\n <a href={'mailto:' + state.currentTouristicEvent.email} part=\"email\" class=\"email\" innerHTML={state.currentTouristicEvent.email}></a>\n </div>\n )}\n {state.currentTouristicEvent.website && (\n <div part=\"website-container\" class=\"website-container\">\n <div part=\"website-title\" class=\"website-title\">\n {translate[state.language].website} :&nbsp;\n </div>\n <a href={state.currentTouristicEvent.website} part=\"website\" class=\"website\" innerHTML={state.currentTouristicEvent.website}></a>\n </div>\n )}\n </div>\n </div>\n )}\n {this.grwApp && <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>}\n </div>\n )}\n </Host>\n );\n }\n}\n","import { Build, Component, h, Host, Prop } from '@stencil/core';\nimport { TouristicEvent } from 'components';\nimport { getAllDataInStore, getDataInStore } from 'services/grw-db.service';\nimport { getTouristicEvent, getTouristicEventType } from 'services/touristic-events.service';\nimport { getCities } from 'services/treks.service';\nimport state from 'store/store';\n\n@Component({\n tag: 'grw-touristic-event-provider',\n shadow: true,\n})\nexport class GrwTouristicEventProvider {\n @Prop() languages = 'fr';\n @Prop() api: string;\n @Prop() touristicEventId: number;\n @Prop() portals: string;\n\n controller = new AbortController();\n signal = this.controller.signal;\n init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: this.signal };\n\n connectedCallback() {\n if (!state.api) {\n state.api = this.api;\n state.languages = this.languages.split(',');\n state.language = state.languages[0];\n }\n this.handleTouristicEvent();\n }\n\n async handleTouristicEvent() {\n const touristicEventInStore: TouristicEvent = await getDataInStore('touristicEvents', this.touristicEventId);\n if (touristicEventInStore && touristicEventInStore.offline) {\n this.handleOfflineTouristicEvent(touristicEventInStore);\n } else {\n this.handleOnlineTouristicEvent();\n }\n }\n\n async handleOfflineTouristicEvent(touristicEvent: TouristicEvent) {\n if (!state.cities) {\n state.cities = await getAllDataInStore('cities');\n }\n if (!state.touristicEventTypes) {\n state.touristicEventTypes = await getAllDataInStore('touristicEventTypes');\n }\n state.currentTouristicEvent = touristicEvent;\n }\n\n handleOnlineTouristicEvent() {\n const requests = [];\n requests.push(!state.touristicEventTypes ? getTouristicEventType(state.api, state.language, this.portals, this.init) : new Response('null'));\n\n try {\n Promise.all([...requests, getTouristicEvent(state.api, state.language, this.touristicEventId, this.init)])\n .then(responses => Promise.all(responses.map(response => response.json())))\n .then(async ([touristicEventTypes, touristicEvent]) => {\n state.networkError = false;\n\n let citiesToLoad = [...touristicEvent.cities];\n\n if (state.cities) {\n const cityIds = state.cities.map(city => city.id);\n citiesToLoad = citiesToLoad.filter(city => city);\n citiesToLoad = citiesToLoad.filter(city => !cityIds.includes(city));\n }\n\n if (citiesToLoad.length > 0) {\n const cities = (await getCities(state.api, state.language, this.init, citiesToLoad).then(response => response.json())).results;\n if (cities) {\n state.cities = [...state.cities, ...cities];\n }\n }\n\n if (touristicEventTypes) {\n state.touristicEventTypes = touristicEventTypes.results;\n }\n state.currentTouristicEvent = touristicEvent;\n });\n } catch (error) {\n if (!(error.code === DOMException.ABORT_ERR)) {\n state.networkError = true;\n }\n }\n }\n\n disconnectedCallback() {\n this.controller.abort();\n state.networkError = false;\n }\n\n render() {\n return <Host></Host>;\n }\n}\n"],"version":3}
1
+ {"file":"grw-details-modal.grw-information-desk.grw-outdoor-course-card.grw-outdoor-site-card.grw-touristic-content-detail.grw-touristic-content-provider.grw-touristic-event-detail.grw-touristic-event-provider.entry.cjs.js","mappings":"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","names":["h","Host","CloseIcon","state","getDataInStore","getAssetPath","translate","CallIcon","Swiper","Navigation","Pagination","Keyboard","FreeMode","Mousewheel","DownloadIcon","getAllDataInStore","getTouristicContentCategory","getTouristicContent","getCities","getTouristicEventType","getTouristicEvent"],"sources":["src/components/grw-details-modal/grw-details-modal.scss?tag=grw-details-modal","src/components/grw-details-modal/grw-details-modal.tsx","src/components/grw-information-desk/grw-information-desk.scss?tag=grw-information-desk&encapsulation=shadow","src/components/grw-information-desk/grw-information-desk.tsx","src/components/grw-outdoor-course-card/grw-outdoor-course-card.scss?tag=grw-outdoor-course-card&encapsulation=shadow","src/components/grw-outdoor-course-card/grw-outdoor-course-card.tsx","src/components/grw-outdoor-site-card/grw-outdoor-site-card.scss?tag=grw-outdoor-site-card&encapsulation=shadow","src/components/grw-outdoor-site-card/grw-outdoor-site-card.tsx","src/components/grw-touristic-content-detail/grw-touristic-content-detail.scss?tag=grw-touristic-content-detail&encapsulation=shadow","src/components/grw-touristic-content-detail/grw-touristic-content-detail.tsx","src/store/grw-touristic-content-provider.tsx","src/components/grw-touristic-event-detail/grw-touristic-event-detail.scss?tag=grw-touristic-event-detail&encapsulation=shadow","src/components/grw-touristic-event-detail/grw-touristic-event-detail.tsx","src/store/grw-touristic-event-provider.tsx"],"sourcesContent":[".modal-container {\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0px;\n left: 0px;\n width: 100vw;\n height: 100vh;\n z-index: 40000;\n font-family: var(--font-family);\n background-color: rgba(0, 0, 0, 0.6);\n .grw-details-modal {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: var(--color-background);\n }\n .grw-content-modal {\n overflow-y: hidden;\n padding-bottom: 24px;\n background-color: var(--color-background);\n }\n .grw-arrow-back-container {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n background-color: var(--color-primary-container);\n .grw-arrow-back-icon {\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n color: var(--color-on-primary);\n border: none;\n border-radius: var(--border-radius, 50%);\n height: 48px;\n width: 48px;\n background-color: transparent;\n margin-left: 4px;\n padding: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n .icon {\n height: 24px;\n width: 24px;\n }\n }\n }\n}\n\n@media (min-width: 1024px) {\n .modal-container {\n .grw-details-modal {\n width: 60%;\n height: 80%;\n border-radius: var(--border-radius, 8px);\n }\n }\n}\n","import { Component, Host, h, Event, EventEmitter, Prop } from '@stencil/core';\nimport CloseIcon from '../../assets/close.svg';\n\n@Component({\n tag: 'grw-details-modal',\n styleUrl: 'grw-details-modal.scss',\n shadow: false,\n})\nexport class GrwDetailsModal {\n @Event() closeDetailsModal: EventEmitter<number>;\n @Prop() fontFamily = 'Roboto';\n @Prop() colorBackground = '#fef7ff';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#49454e';\n @Prop() rounded = true;\n\n handleCloseButton() {\n this.closeDetailsModal.emit();\n }\n\n render() {\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-background': this.colorBackground,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--border-radius': this.rounded ? '' : '0px',\n }}\n >\n <div part=\"modal-container\" class=\"modal-container\">\n <div part=\"details-modal\" class=\"grw-details-modal\">\n <div part=\"arrow-back-container\" class=\"grw-arrow-back-container\">\n <button part=\"arrow-back-icon\" onClick={() => this.handleCloseButton()} class=\"grw-arrow-back-icon\">\n <span part=\"icon\" class=\"icon\" innerHTML={CloseIcon}></span>\n </button>\n </div>\n <div part=\"content-modal\" class=\"grw-content-modal\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid gray;\n border-radius: var(--border-radius, 12px);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n a {\n color: var(--color-primary-app);\n }\n}\n\n.information-desk-img-container {\n position: relative;\n .information-desk-img {\n width: 100%;\n height: 200px;\n object-fit: cover;\n }\n}\n\n.information-desk-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n}\n\n.information-desk-sub-container-short {\n max-height: 200px;\n overflow: hidden;\n}\n\n.information-desk-name {\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n}\n\n.information-desk-description {\n font-size: 14px;\n line-height: 20px;\n}\n\n.handle-information-desk-description {\n cursor: pointer;\n color: var(--color-primary-app);\n text-decoration: underline;\n margin-top: 12px;\n}\n\n.phone-container,\n.mail-container,\n.link-container {\n display: flex;\n align-items: center;\n .icon {\n display: flex;\n font-size: 16px;\n margin-right: 8px;\n }\n}\n\n.center-on-map-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 4px 8px;\n box-shadow: var(--elevation-1);\n min-height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n margin: 12px auto;\n &:hover {\n box-shadow: var(--elevation-2);\n }\n .icon {\n display: flex;\n }\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter, getAssetPath, Build } from '@stencil/core';\nimport state from 'store/store';\nimport { translate } from 'i18n/i18n';\nimport { InformationDesk, OutdoorSite, Trek } from 'types/types';\nimport { getDataInStore } from 'services/grw-db.service';\nimport LocationSearchingIcon from '../../assets/location_searching.svg';\nimport CallIcon from '../../assets/call.svg';\nimport MailIcon from '../../assets/mail.svg';\nimport LinkIcon from '../../assets/link.svg';\n\n@Component({\n tag: 'grw-information-desk',\n styleUrl: 'grw-information-desk.scss',\n shadow: true,\n})\nexport class GrwInformationDeskDetail {\n descriptionRef?: HTMLDivElement;\n @Event() centerOnMap: EventEmitter<{ latitude: number; longitude: number }>;\n @State() displayShortDescription = true;\n @State() showInformationDeskDescriptionButton = false;\n @Prop() informationDesk: InformationDesk;\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n\n @State() offline = false;\n @State() showDefaultImage = false;\n\n componentDidLoad() {\n this.handleOffline();\n if (this.descriptionRef) {\n this.showInformationDeskDescriptionButton = this.descriptionRef.clientHeight < this.descriptionRef.scrollHeight;\n }\n }\n\n handleInformationDeskDescription() {\n this.displayShortDescription = !this.displayShortDescription;\n }\n\n handleCenterOnMap() {\n this.centerOnMap.emit({ latitude: this.informationDesk.latitude, longitude: this.informationDesk.longitude });\n }\n\n async handleOffline() {\n if (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n if (trekInStore && trekInStore.offline) {\n const informationDeskInStore: InformationDesk = await getDataInStore('informationDesks', this.informationDesk.id);\n this.offline = Boolean(informationDeskInStore);\n }\n } else if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const informationDeskInStore: InformationDesk = await getDataInStore('informationDesks', this.informationDesk.id);\n this.offline = Boolean(informationDeskInStore);\n }\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n\n return (\n <Host style={{ '--color-surface-container-low': this.colorSurfaceContainerLow }}>\n {this.informationDesk.photo_url && (\n <div part=\"information-desk-img-container\" class=\"information-desk-img-container\">\n <img\n part=\"information-desk-img\"\n class=\"information-desk-img\"\n src={this.informationDesk.photo_url}\n alt={this.informationDesk.name}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.src = defaultImageSrc;\n }}\n />\n </div>\n )}\n <div part=\"information-desk-sub-container\" class=\"information-desk-sub-container\">\n <div class={this.displayShortDescription ? 'information-desk-sub-container-short' : ''}>\n {this.informationDesk.name && (\n <div part=\"information-desk-name\" class=\"information-desk-name\">\n {this.informationDesk.name}\n </div>\n )}\n {this.informationDesk.latitude && this.informationDesk.longitude && (\n <button part=\"center-on-map-button\" class=\"center-on-map-button\" onClick={() => this.handleCenterOnMap()}>\n <span part=\"icon\" class=\"icon\" innerHTML={LocationSearchingIcon}></span>\n <span part=\"label\">{translate[state.language].centerOnMap}</span>\n </button>\n )}\n {(this.informationDesk.postal_code || this.informationDesk.municipality || this.informationDesk.street) && (\n <div part=\"information-desk-informations\" class=\"information-desk-informations\">\n {this.informationDesk.postal_code && this.informationDesk.postal_code}\n {this.informationDesk.municipality && ` ${this.informationDesk.municipality}`}\n {this.informationDesk.street && ` ${this.informationDesk.street}`}\n </div>\n )}\n {this.informationDesk.phone && (\n <div class=\"phone-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={CallIcon}></span>\n <a part=\"label\" class=\"label\" href={`tel:${this.informationDesk.phone}`}>\n {this.informationDesk.phone}\n </a>\n </div>\n )}\n {this.informationDesk.email && (\n <div part=\"mail-container\" class=\"mail-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={MailIcon}></span>\n <a part=\"label\" class=\"label\" href={`mailto:${this.informationDesk.email}`}>\n {this.informationDesk.email}\n </a>\n </div>\n )}\n {this.informationDesk.website && (\n <div part=\"link-container\" class=\"link-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={LinkIcon}></span>\n <a part=\"label\" class=\"label\" href={`${this.informationDesk.website}`}>\n {this.informationDesk.website}\n </a>\n </div>\n )}\n {this.informationDesk.description && (\n <div part=\"information-desk-description-container\" class=\"information-desk-description-container\">\n <div\n part=\"information-desk-description\"\n class=\"information-desk-description\"\n innerHTML={this.informationDesk.description}\n ref={el => (this.descriptionRef = el)}\n ></div>\n </div>\n )}\n </div>\n {this.informationDesk.description && (\n <div part=\"handle-information-desk-description\" class=\"handle-information-desk-description\" onClick={() => this.handleInformationDeskDescription()}>\n {this.displayShortDescription ? translate[state.language].readMore : translate[state.language].readLess}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n",":host {\n a {\n color: var(--color-primary-app);\n }\n}\n\n.outdoor-course-img-container {\n position: relative;\n height: 200px;\n .outdoor-course-img,\n .default-outdoor-course-img {\n width: 100%;\n height: 100%;\n max-height: 200px;\n object-fit: cover;\n }\n .outdoor-course-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-outdoor-course-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain !important;\n }\n .outdoor-course-practice {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.outdoor-course-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n .outdoor-course-practice-container {\n display: flex;\n align-items: center;\n margin-bottom: 12px;\n .outdoor-course-practice-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .outdoor-course-name {\n font-size: 16px;\n line-height: 24px;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 48px;\n }\n}\n\n.outdoor-course-more-detail-container {\n padding: 0px 12px 12px 12px;\n .more-details-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n width: 100%;\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n span {\n font-size: 18px;\n }\n }\n}\n\n.outdoor-course-card-container,\n.outdoor-course-card-large-view-container {\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n .outdoor-course-img {\n height: 100%;\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n}\n\n.outdoor-course-card-container {\n width: 100%;\n max-width: 350px;\n .outdoor-course-img {\n width: 100%;\n height: 100%;\n }\n}\n\n.outdoor-course-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .outdoor-course-img {\n width: 250px;\n height: 100%;\n border-bottom-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 0px);\n }\n}\n\n.is-inside-vertical-list {\n cursor: pointer;\n border: none;\n .touristic-content-img,\n .default-touristic-content-img {\n height: 100%;\n }\n}\n\n.selected-outdoor-course-card {\n box-shadow: var(--elevation-2);\n}\n","import { Component, Host, Prop, h, Event, EventEmitter, Listen, getAssetPath, Build, State } from '@stencil/core';\nimport { getDataInStore } from 'services/grw-db.service';\nimport state from 'store/store';\nimport { OutdoorCourse, OutdoorSite } from 'types/types';\nimport { translate } from 'i18n/i18n';\n\n@Component({\n tag: 'grw-outdoor-course-card',\n styleUrl: 'grw-outdoor-course-card.scss',\n shadow: true,\n})\nexport class GrwOutdoorCourseCard {\n @Event() outdoorCourseCardPress: EventEmitter<number>;\n\n @Prop() outdoorCourse: OutdoorCourse;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() isLargeView = false;\n @Prop() isInsideHorizontalList = false;\n\n @Event() cardOutdoorCourseMouseOver: EventEmitter<number>;\n @Event() cardOutdoorCourseMouseLeave: EventEmitter;\n\n @State() offline = false;\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardOutdoorCourseMouseOver.emit(this.outdoorCourse.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardOutdoorCourseMouseLeave.emit();\n }\n\n async handleOffline() {\n if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const outdoorCourseInStore: OutdoorCourse = await getDataInStore('outdoorCourses', this.outdoorCourse.id);\n this.offline = Boolean(outdoorCourseInStore);\n }\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const outdoorPractice = null;\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\n }}\n >\n <div\n part=\"outdoor-course-card\"\n class={\n this.isLargeView\n ? `outdoor-course-card outdoor-course-card-large-view-container${state.selectedOutdoorCourseId === this.outdoorCourse.id ? ' selected-outdoor-course-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n : ` outdoor-course-card outdoor-course-card-container${state.selectedOutdoorCourseId === this.outdoorCourse.id ? ' selected-outdoor-course-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n }\n onClick={() => {\n if (!this.isInsideHorizontalList) {\n this.outdoorCourseCardPress.emit(this.outdoorCourse.id);\n }\n }}\n >\n <div part=\"outdoor-course-img-container\" class=\"outdoor-course-img-container\">\n {this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"outdoor-course-img\"\n class=\"outdoor-course-img\"\n src={`${\n this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail !== ''\n ? this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail\n : this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image')[0].url\n }`}\n alt={`${this.outdoorCourse.attachments.filter(attachment => attachment.type === 'image')[0].legend}`}\n loading=\"lazy\"\n />\n ) : (\n <img class=\"image default-outdoor-course-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n )}\n </div>\n <div part=\"outdoor-course-sub-container\" class=\"outdoor-course-sub-container\">\n <div part=\"outdoor-course-practice-container\" class=\"outdoor-course-practice-container\">\n {outdoorPractice && outdoorPractice.pictogram && (\n <img\n part=\"outdoor-course-type-img\"\n class=\"outdoor-course-type-img\"\n /* @ts-ignore */\n src={outdoorPractice.pictogram}\n alt=\"\"\n />\n )}\n {outdoorPractice && outdoorPractice.name && (\n <div part=\"outdoor-course-practice-name\" class=\"outdoor-course-practice-name\">\n {outdoorPractice.name}\n </div>\n )}\n </div>\n <div part=\"outdoor-course-name\" class=\"outdoor-course-name\">\n {this.outdoorCourse.name}\n </div>\n </div>\n {this.isInsideHorizontalList && (\n <div part=\"outdoor-course-more-detail-container\" class=\"outdoor-course-more-detail-container\">\n <button part=\"more-details-button\" class=\"more-details-button\" onClick={() => this.outdoorCourseCardPress.emit(this.outdoorCourse.id)}>\n {translate[state.language].moreDetails}\n </button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n",":host {\n a {\n color: var(--color-primary-app);\n }\n}\n\n.outdoor-site-img-container {\n position: relative;\n height: 200px;\n .outdoor-site-img,\n .default-outdoor-site-img {\n width: 100%;\n height: 100%;\n max-height: 200px;\n object-fit: cover;\n }\n .outdoor-site-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-outdoor-site-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain !important;\n }\n .outdoor-site-practice {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.outdoor-site-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n .outdoor-site-practice-container {\n display: flex;\n align-items: center;\n margin-bottom: 12px;\n .outdoor-site-practice-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .outdoor-site-name {\n font-size: 16px;\n line-height: 24px;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 48px;\n }\n}\n\n.outdoor-site-more-detail-container {\n padding: 0px 12px 12px 12px;\n .more-details-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n width: 100%;\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n span {\n font-size: 18px;\n }\n }\n}\n\n.outdoor-site-card-container,\n.outdoor-site-card-large-view-container {\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n .outdoor-site-img {\n height: 100%;\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n}\n\n.outdoor-site-card-container {\n width: 100%;\n max-width: 350px;\n .outdoor-site-img {\n width: 100%;\n height: 100%;\n }\n}\n\n.outdoor-site-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .outdoor-site-img {\n width: 250px;\n height: 100%;\n border-bottom-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 0px);\n }\n}\n\n.is-inside-vertical-list {\n cursor: pointer;\n border: none;\n .touristic-content-img,\n .default-touristic-content-img {\n height: 100%;\n }\n}\n\n.selected-outdoor-site-card {\n box-shadow: var(--elevation-2);\n}\n\n.themes-container {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n .theme {\n background-color: var(--color-secondary-container);\n color: var(--color-on-secondary-container);\n border-radius: var(--border-radius, 40px);\n padding: 8px 16px;\n margin: 0px 8px 8px 0px;\n box-shadow: var(--elevation-0);\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n }\n}\n","import { Component, Host, Prop, h, Event, EventEmitter, Listen, getAssetPath, Build, State } from '@stencil/core';\nimport { getDataInStore } from 'services/grw-db.service';\nimport state from 'store/store';\nimport { OutdoorSite } from 'types/types';\nimport { translate } from 'i18n/i18n';\n\n@Component({\n tag: 'grw-outdoor-site-card',\n styleUrl: 'grw-outdoor-site-card.scss',\n shadow: true,\n})\nexport class GrwOutdoorSiteCard {\n @Event() outdoorSiteCardPress: EventEmitter<number>;\n\n @Prop() outdoorSite: OutdoorSite;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() isLargeView = false;\n @Prop() isInsideHorizontalList = false;\n\n @Event() cardOutdoorSiteMouseOver: EventEmitter<number>;\n @Event() cardOutdoorSiteMouseLeave: EventEmitter;\n\n @State() offline = false;\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardOutdoorSiteMouseOver.emit(this.outdoorSite.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardOutdoorSiteMouseLeave.emit();\n }\n\n async handleOffline() {\n if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n this.offline = outdoorSiteInStore && outdoorSiteInStore.offline;\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const outdoorPractice = state.outdoorPractices.find(outdoorPractice => outdoorPractice.id === this.outdoorSite.practice);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\n }}\n >\n <div\n part=\"outdoor-site-card\"\n class={\n this.isLargeView\n ? `outdoor-site-card outdoor-site-card-large-view-container${state.selectedOutdoorSiteId === this.outdoorSite.id ? ' selected-outdoor-site-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n : ` outdoor-site-card outdoor-site-card-container${state.selectedOutdoorSiteId === this.outdoorSite.id ? ' selected-outdoor-site-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n }\n onClick={() => {\n if (!this.isInsideHorizontalList) {\n this.outdoorSiteCardPress.emit(this.outdoorSite.id);\n }\n }}\n >\n <div part=\"outdoor-site-img-container\" class=\"outdoor-site-img-container\">\n {this.outdoorSite.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"outdoor-site-img\"\n class=\"outdoor-site-img\"\n src={`${\n this.outdoorSite.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail !== ''\n ? this.outdoorSite.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail\n : this.outdoorSite.attachments.filter(attachment => attachment.type === 'image')[0].url\n }`}\n alt={`${this.outdoorSite.attachments.filter(attachment => attachment.type === 'image')[0].legend}`}\n loading=\"lazy\"\n />\n ) : (\n <img class=\"image default-outdoor-site-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n )}\n </div>\n <div part=\"outdoor-site-sub-container\" class=\"outdoor-site-sub-container\">\n <div part=\"outdoor-site-practice-container\" class=\"outdoor-site-practice-container\">\n {outdoorPractice && outdoorPractice.pictogram && (\n <img\n part=\"outdoor-site-type-img\"\n class=\"outdoor-site-type-img\"\n /* @ts-ignore */\n src={outdoorPractice.pictogram}\n alt=\"\"\n />\n )}\n {outdoorPractice && outdoorPractice.name && (\n <div part=\"outdoor-site-practice-name\" class=\"outdoor-site-practice-name\">\n {outdoorPractice.name}\n </div>\n )}\n </div>\n <div part=\"outdoor-site-name\" class=\"outdoor-site-name\">\n {this.outdoorSite.name}\n </div>\n {!this.isInsideHorizontalList && state.themes && state.themes.filter(theme => this.outdoorSite.themes.includes(theme.id)).length > 0 && (\n <div part=\"themes-container\" class=\"themes-container\">\n {state.themes\n .filter(theme => this.outdoorSite.themes.includes(theme.id))\n .map(theme => (\n <div part=\"theme\" class=\"theme\">\n {theme.label}\n </div>\n ))}\n </div>\n )}\n </div>\n {this.isInsideHorizontalList && (\n <div part=\"outdoor-site-more-detail-container\" class=\"outdoor-site-more-detail-container\">\n <button part=\"more-details-button\" class=\"more-details-button\" onClick={() => this.outdoorSiteCardPress.emit(this.outdoorSite.id)}>\n {translate[state.language].moreDetails}\n </button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n:host {\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\ngrw-touristic-content-detail {\n overflow: hidden;\n}\n\n.touristic-content-detail-container {\n font-family: var(--font-family);\n color: var(--color-on-surface);\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n overflow-y: auto;\n padding-bottom: 24px;\n .touristic-content-category-container {\n display: flex;\n align-items: center;\n padding: 0px 24px;\n margin: 8px 0px;\n .touristic-content-category-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .name {\n color: var(--color-on-surface);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n padding: 0px 24px;\n margin: 8px 0px;\n }\n .image,\n .default-poi-img {\n cursor: pointer;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .default-poi-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .description-teaser,\n .description-container,\n .useful-information-container,\n .contact-container {\n padding: 0px 24px 0px 24px;\n }\n .description-container,\n .useful-information-container,\n .contact-container {\n font-size: 16px;\n line-height: 24px;\n font-weight: 400;\n a {\n color: var(--color-primary-app);\n }\n }\n .description-title,\n .useful-information-title,\n .contact-title {\n color: var(--color-on-surface);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n font-weight: bold;\n margin-bottom: 16px;\n }\n}\n\n.detail-bottom-space {\n min-height: var(--detail-bottom-space-height);\n height: var(--detail-bottom-space-height);\n width: 100%;\n background-color: var(--color-background);\n}\n\n.images-container {\n display: flex;\n max-width: 100%;\n max-height: 400px;\n}\n\n.divider {\n margin: 16px;\n border-top: 1px solid var(--color-outline);\n}\n\n.cities-container {\n display: flex;\n align-items: center;\n padding: 24px 24px 0px 24px;\n .cities-title {\n color: var(--color-on-surface);\n font-weight: bold;\n white-space: nowrap;\n margin-right: 8px;\n }\n}\n\n.downloads-container {\n padding: 0px 24px 0px 24px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n .download-title {\n color: var(--color-on-surface);\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n }\n .links-container {\n display: flex;\n flex-wrap: wrap;\n a {\n margin-top: 8px;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n text-decoration: none;\n &:nth-child(2) {\n margin: 8px 12px 0px 12px;\n }\n &:hover {\n box-shadow: var(--elevation-2);\n }\n .icon {\n display: flex;\n }\n }\n }\n}\n\n.email-container,\n.website-container {\n display: flex;\n flex-wrap: wrap;\n}\n\n.legend-container {\n position: absolute;\n top: 16px;\n font-size: 12px;\n color: #ffffff;\n width: 100%;\n text-align: center;\n}\n\n.close-fullscreen-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 40;\n top: 16px;\n right: 16px;\n color: var(--swiper-navigation-color, var(--swiper-theme-color));\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n cursor: pointer;\n}\n\n.touristic-content-category-img {\n border-radius: 100%;\n padding: 2px;\n max-height: 20px;\n max-width: 20px;\n}\n","import { Build, Component, Host, Prop, State, getAssetPath, h } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state from 'store/store';\nimport Swiper, { FreeMode, Keyboard, Mousewheel, Navigation, Pagination } from 'swiper';\nimport CloseIcon from '../../assets/close.svg';\nimport DownloadIcon from '../../assets/download.svg';\n\n@Component({\n tag: 'grw-touristic-content-detail',\n styleUrl: 'grw-touristic-content-detail.scss',\n shadow: true,\n})\nexport class GrwTouristicContentDetail {\n swiperImages?: Swiper;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n presentationRef?: HTMLDivElement;\n\n @State() displayFullscreen = false;\n @State() offline = false;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n @Prop() isLargeView = false;\n @Prop() grwApp = false;\n\n descriptionRef?: HTMLDivElement;\n touristicContentDetailContainerRef?: HTMLElement;\n\n handleSwipers() {\n if (this.swiperImagesRef && !this.swiperImages) {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen && !this.offline ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n }\n }\n\n componentDidUpdate() {\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.offline = state.currentTouristicContent && state.currentTouristicContent.offline;\n this.handleSwipers();\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (state.currentTouristicContent.attachments && state.currentTouristicContent.attachments[0] && state.currentTouristicContent.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const touristicContentCategory =\n state.touristicContentCategories &&\n state.currentTouristicContent &&\n state.touristicContentCategories.find(touristicContentCategory => touristicContentCategory.id === state.currentTouristicContent.category);\n const cities = state.currentTouristicContent && state.currentTouristicContent.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n const displayPaginationAndNavigation =\n (state.currentTouristicContent && state.currentTouristicContent.attachments.filter(attachment => attachment.type === 'image').length > 1) || this.offline;\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '164px'\n : '124px',\n }}\n >\n {state.currentTouristicContent && (\n <div part=\"touristic-content-detail-container\" class=\"touristic-content-detail-container\" ref={el => (this.touristicContentDetailContainerRef = el)}>\n <div part=\"images-container\" class=\"images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentTouristicContent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n state.currentTouristicContent.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"close-fullscreen-button\" class=\"close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n <span part=\"icon\" class=\"icon\" innerHTML={CloseIcon}></span>\n </div>\n )}\n <div part=\"legend-container\" class=\"legend-container\">\n {legend}\n </div>\n <img\n part=\"image\"\n class=\"image\"\n src={this.offline && attachment.thumbnail !== '' ? attachment.thumbnail : attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img part=\"default-poi-img\" class=\"default-poi-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n </div>\n )}\n </div>\n <div\n style={{ display: 'block', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElImagesRef = el)}\n ></div>\n </div>\n </div>\n <div part=\"touristic-content-category-container\" class=\"touristic-content-category-container\">\n <img\n part=\"touristic-content-category-img\"\n class=\"touristic-content-category-img\"\n /* @ts-ignore */\n\n src={touristicContentCategory.pictogram}\n alt=\"\"\n />\n <div part=\"touristic-content-category-name\" class=\"touristic-content-category-name\">\n {touristicContentCategory.label}\n </div>\n </div>\n <div part=\"name\" class=\"name\">\n {state.currentTouristicContent.name}\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].download}\n </div>\n <div part=\"links-container\" class=\"links-container\">\n <a part=\"link-container\" class=\"link-container\" href={`${state.currentTouristicContent.pdf}`} target=\"_blank\" rel=\"noopener noreferrer\">\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"\">\n PDF\n </span>\n </a>\n </div>\n </div>\n {state.currentTouristicContent.description_teaser && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"description-teaser\" class=\"description-teaser\" innerHTML={state.currentTouristicContent.description_teaser}></div>\n </div>\n )}\n <div part=\"divider\" class=\"divider\"></div>\n {state.currentTouristicContent.practical_info && (\n <div part=\"description-container\" class=\"description-container\" ref={el => (this.descriptionRef = el)}>\n <div part=\"description-title\" class=\"description-title\">\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={state.currentTouristicContent.description}></div>\n </div>\n )}\n {cities && cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].city} :&nbsp;\n </div>\n <div part=\"cities\" class=\"cities\" innerHTML={cities.join(', ')}></div>\n </div>\n )}\n {state.currentTouristicContent.practical_info && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"useful-information-container\" class=\"useful-information-container\">\n <div part=\"useful-information-title\" class=\"useful-information-title\">\n {translate[state.language].usefulInformation} :&nbsp;\n </div>\n <div part=\"useful-information\" innerHTML={state.currentTouristicContent.practical_info}></div>\n </div>\n </div>\n )}\n {(state.currentTouristicContent.contact || state.currentTouristicContent.email || state.currentTouristicContent.website) && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"contact-container\" class=\"contact-container\">\n <div part=\"contact-title\" class=\"contact-title\">\n {translate[state.language].contact} :&nbsp;\n </div>\n {state.currentTouristicContent.contact && <div part=\"contact\" class=\"contact\" innerHTML={state.currentTouristicContent.contact}></div>}\n {state.currentTouristicContent.email && (\n <div part=\"email-container\" class=\"email-container\">\n <div part=\"email-title\" class=\"email-title\">\n {translate[state.language].email} :&nbsp;\n </div>\n <a href={'mailto:' + state.currentTouristicContent.email} part=\"email\" class=\"email\" innerHTML={state.currentTouristicContent.email}></a>\n </div>\n )}\n {state.currentTouristicContent.website && (\n <div part=\"website-container\" class=\"website-container\">\n <div part=\"website-title\" class=\"website-title\">\n {translate[state.language].website} :&nbsp;\n </div>\n <a href={state.currentTouristicContent.website} part=\"website\" class=\"website\" innerHTML={state.currentTouristicContent.website}></a>\n </div>\n )}\n </div>\n </div>\n )}\n {this.grwApp && <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>}\n </div>\n )}\n </Host>\n );\n }\n}\n","import { Build, Component, h, Host, Prop } from '@stencil/core';\nimport { getAllDataInStore, getDataInStore } from 'services/grw-db.service';\nimport { getTouristicContent, getTouristicContentCategory } from 'services/touristic-contents.service';\nimport { getCities } from 'services/treks.service';\nimport state from 'store/store';\nimport { TouristicContent } from 'types/types';\n\n@Component({\n tag: 'grw-touristic-content-provider',\n shadow: true,\n})\nexport class GrwTouristicContentProvider {\n @Prop() languages = 'fr';\n @Prop() api: string;\n @Prop() touristicContentId: number;\n @Prop() portals: string;\n\n controller = new AbortController();\n signal = this.controller.signal;\n init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: this.signal };\n\n connectedCallback() {\n if (!state.api) {\n state.api = this.api;\n state.languages = this.languages.split(',');\n state.language = state.languages[0];\n }\n this.handleTouristicContent();\n }\n\n async handleTouristicContent() {\n const touristicContentInStore: TouristicContent = await getDataInStore('touristicContents', this.touristicContentId);\n if (touristicContentInStore && touristicContentInStore.offline) {\n this.handleOfflineTouristicContent(touristicContentInStore);\n } else {\n this.handleOnlineTouristicContent();\n }\n }\n\n async handleOfflineTouristicContent(touristicContent: TouristicContent) {\n if (!state.cities) {\n state.cities = await getAllDataInStore('cities');\n }\n if (!state.touristicContentCategories) {\n state.touristicContentCategories = await getAllDataInStore('touristicContentCategories');\n }\n state.currentTouristicContent = touristicContent;\n }\n\n handleOnlineTouristicContent() {\n const requests = [];\n requests.push(!state.touristicContentCategories ? getTouristicContentCategory(state.api, state.language, this.portals, this.init) : new Response('null'));\n try {\n Promise.all([...requests, getTouristicContent(state.api, state.language, this.touristicContentId, this.init)])\n .then(responses => Promise.all(responses.map(response => response.json())))\n .then(async ([touristicContentCategory, touristicContent]) => {\n state.networkError = false;\n\n let citiesToLoad = [...touristicContent.cities];\n\n if (state.cities) {\n const cityIds = state.cities.map(city => city.id);\n citiesToLoad = citiesToLoad.filter(city => !cityIds.includes(city));\n }\n\n citiesToLoad = [...new Set(citiesToLoad.filter(Boolean))];\n\n if (citiesToLoad.length > 0) {\n const cities = (await getCities(state.api, state.language, this.init, citiesToLoad).then(response => response.json())).results;\n if (cities) {\n if (state.cities) {\n state.cities = [...state.cities, ...cities];\n } else {\n state.cities = cities;\n }\n }\n }\n\n if (!state.cities) {\n state.cities = [];\n }\n\n if (touristicContentCategory) {\n state.touristicContentCategories = touristicContentCategory.results;\n }\n state.currentTouristicContent = touristicContent;\n });\n } catch (error) {\n if (!(error.code === DOMException.ABORT_ERR)) {\n state.networkError = true;\n }\n }\n }\n\n disconnectedCallback() {\n this.controller.abort();\n state.networkError = false;\n }\n\n render() {\n return <Host></Host>;\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n:host {\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\ngrw-touristic-event-detail {\n overflow: hidden;\n}\n\n.touristic-event-detail-container {\n font-family: var(--font-family);\n color: var(--color-on-surface);\n display: flex;\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n overflow-y: auto;\n padding-bottom: 24px;\n .touristic-event-category-container {\n display: flex;\n align-items: center;\n padding: 0px 24px;\n margin: 8px 0px;\n .touristic-event-category-name {\n display: -webkit-box;\n line-clamp: 1;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .name {\n color: var(--color-on-surface);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n padding: 0px 24px;\n margin: 8px 0px;\n }\n .touristic-event-date-container {\n color: var(--color-on-surface);\n font-size: 16px;\n line-height: 28px;\n font-weight: 400;\n padding: 0px 24px;\n margin: 8px 0px;\n }\n .image,\n .default-poi-img {\n cursor: pointer;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .default-poi-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .description-teaser,\n .description-container,\n .useful-information-container,\n .contact-container {\n padding: 0px 24px 0px 24px;\n }\n .description-container,\n .useful-information-container,\n .contact-container {\n font-size: 16px;\n line-height: 24px;\n font-weight: 400;\n a {\n color: var(--color-primary-app);\n }\n }\n .description-title,\n .useful-information-title,\n .contact-title {\n color: var(--color-on-surface);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n font-weight: bold;\n margin-bottom: 16px;\n }\n}\n\n.detail-bottom-space {\n min-height: var(--detail-bottom-space-height);\n height: var(--detail-bottom-space-height);\n width: 100%;\n background-color: var(--color-background);\n}\n\n.images-container {\n display: flex;\n max-width: 100%;\n max-height: 400px;\n}\n\n.divider {\n margin: 16px;\n border-top: 1px solid var(--color-outline);\n}\n\n.cities-container {\n display: flex;\n align-items: center;\n padding: 24px 24px 0px 24px;\n .cities-title {\n color: var(--color-on-surface);\n font-weight: bold;\n white-space: nowrap;\n margin-right: 8px;\n }\n}\n\n.downloads-container {\n padding: 0px 24px 0px 24px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n .download-title {\n color: var(--color-on-surface);\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n }\n .links-container {\n display: flex;\n flex-wrap: wrap;\n a {\n margin-top: 8px;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n text-decoration: none;\n &:nth-child(2) {\n margin: 8px 12px 0px 12px;\n }\n &:hover {\n box-shadow: var(--elevation-2);\n }\n .icon {\n display: flex;\n }\n }\n }\n}\n\n.email-container,\n.website-container {\n display: flex;\n flex-wrap: wrap;\n}\n\n.legend-container {\n position: absolute;\n top: 16px;\n font-size: 12px;\n color: #ffffff;\n width: 100%;\n text-align: center;\n}\n\n.close-fullscreen-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 40;\n top: 16px;\n right: 16px;\n color: var(--swiper-navigation-color, var(--swiper-theme-color));\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n cursor: pointer;\n}\n","import { Build, Component, Host, Prop, State, getAssetPath, h } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state from 'store/store';\nimport Swiper, { FreeMode, Keyboard, Mousewheel, Navigation, Pagination } from 'swiper';\nimport CloseIcon from '../../assets/close.svg';\nimport DownloadIcon from '../../assets/download.svg';\n\n@Component({\n tag: 'grw-touristic-event-detail',\n styleUrl: 'grw-touristic-event-detail.scss',\n shadow: true,\n})\nexport class GrwTouristicEventDetail {\n swiperImages?: Swiper;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n presentationRef?: HTMLDivElement;\n\n @State() displayFullscreen = false;\n @State() offline = false;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n @Prop() isLargeView = false;\n @Prop() grwApp = false;\n\n descriptionRef?: HTMLDivElement;\n touristicEventDetailContainerRef?: HTMLElement;\n\n handleSwipers() {\n if (this.swiperImagesRef && !this.swiperImages) {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen && !this.offline ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n }\n }\n\n componentDidUpdate() {\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.offline = state.currentTouristicEvent && state.currentTouristicEvent.offline;\n this.handleSwipers();\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (state.currentTouristicEvent.attachments && state.currentTouristicEvent.attachments[0] && state.currentTouristicEvent.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n\n const touristicEventType =\n state.touristicEventTypes &&\n state.currentTouristicEvent &&\n state.touristicEventTypes.find(touristicEventCategory => touristicEventCategory.id === state.currentTouristicEvent.type);\n const cities = state.currentTouristicEvent && state.currentTouristicEvent.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n const displayPaginationAndNavigation =\n (state.currentTouristicEvent && state.currentTouristicEvent.attachments.filter(attachment => attachment.type === 'image').length > 1) || this.offline;\n\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '164px'\n : '124px',\n }}\n >\n {state.currentTouristicEvent && (\n <div part=\"touristic-event-detail-container\" class=\"touristic-event-detail-container\" ref={el => (this.touristicEventDetailContainerRef = el)}>\n <div part=\"images-container\" class=\"images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentTouristicEvent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n state.currentTouristicEvent.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"close-fullscreen-button\" class=\"close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n <span part=\"icon\" class=\"icon\" innerHTML={CloseIcon}></span>\n </div>\n )}\n <div part=\"legend-container\" class=\"legend-container\">\n {legend}\n </div>\n <img\n part=\"image\"\n class=\"image\"\n src={this.offline && attachment.thumbnail !== '' ? attachment.thumbnail : attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"default-poi-img\"\n class=\"default-poi-img\"\n /* @ts-ignore */\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n <div\n style={{ display: 'block', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElImagesRef = el)}\n ></div>\n </div>\n </div>\n <div part=\"touristic-event-category-container\" class=\"touristic-event-category-container\">\n {touristicEventType && touristicEventType.pictogram && (\n <img part=\"touristic-event-category-img\" class=\"touristic-event-category-img\" src={touristicEventType.pictogram} />\n )}\n {touristicEventType && touristicEventType.type && (\n <div part=\"touristic-event-category-name\" class=\"touristic-event-category-name\">\n {touristicEventType.type}\n </div>\n )}\n </div>\n <div part=\"name\" class=\"name\">\n {state.currentTouristicEvent.name}\n </div>\n {(state.currentTouristicEvent.begin_date || state.currentTouristicEvent.end_date) && (\n <div part=\"touristic-event-date-container\" class=\"touristic-event-date-container\">\n {state.currentTouristicEvent.begin_date === state.currentTouristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].date} : {state.currentTouristicEvent.begin_date}\n </div>\n )}\n {state.currentTouristicEvent.begin_date && state.currentTouristicEvent.begin_date !== state.currentTouristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].startDate} : {state.currentTouristicEvent.begin_date}\n </div>\n )}\n {state.currentTouristicEvent.end_date && state.currentTouristicEvent.begin_date !== state.currentTouristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].endDate} : {state.currentTouristicEvent.end_date}\n </div>\n )}\n </div>\n )}\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].download}\n </div>\n <div part=\"links-container\" class=\"links-container\">\n <a part=\"link\" class=\"link\" href={`${state.currentTouristicEvent.pdf}`} target=\"_blank\" rel=\"noopener noreferrer\">\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n PDF\n </span>\n </a>\n </div>\n </div>\n {state.currentTouristicEvent.description_teaser && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"description-teaser\" class=\"description-teaser\" innerHTML={state.currentTouristicEvent.description_teaser}></div>\n </div>\n )}\n <div part=\"divider\" class=\"divider\"></div>\n {state.currentTouristicEvent.practical_info && (\n <div part=\"description-container\" class=\"description-container\" ref={el => (this.descriptionRef = el)}>\n <div part=\"description-title\" class=\"description-title\">\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={state.currentTouristicEvent.description}></div>\n </div>\n )}\n {cities && cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].city} :&nbsp;\n </div>\n <div part=\"cities\" class=\"cities\" innerHTML={cities.join(', ')}></div>\n </div>\n )}\n {state.currentTouristicEvent.practical_info && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"useful-information-container\" class=\"useful-information-container\">\n <div part=\"useful-information-title\" class=\"useful-information-title\">\n {translate[state.language].usefulInformation} :&nbsp;\n </div>\n <div part=\"useful-information\" class=\"useful-information\" innerHTML={state.currentTouristicEvent.practical_info}></div>\n </div>\n </div>\n )}\n {(state.currentTouristicEvent.contact || state.currentTouristicEvent.email || state.currentTouristicEvent.website) && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"contact-container\" class=\"contact-container\">\n <div part=\"contact-title\" class=\"contact-title\">\n {translate[state.language].contact} :&nbsp;\n </div>\n {state.currentTouristicEvent.contact && <div part=\"contact\" class=\"contact\" innerHTML={state.currentTouristicEvent.contact}></div>}\n {state.currentTouristicEvent.email && (\n <div part=\"email-container\" class=\"email-container\">\n <div part=\"email-title\" class=\"email-title\">\n {translate[state.language].email} :&nbsp;\n </div>\n <a href={'mailto:' + state.currentTouristicEvent.email} part=\"email\" class=\"email\" innerHTML={state.currentTouristicEvent.email}></a>\n </div>\n )}\n {state.currentTouristicEvent.website && (\n <div part=\"website-container\" class=\"website-container\">\n <div part=\"website-title\" class=\"website-title\">\n {translate[state.language].website} :&nbsp;\n </div>\n <a href={state.currentTouristicEvent.website} part=\"website\" class=\"website\" innerHTML={state.currentTouristicEvent.website}></a>\n </div>\n )}\n </div>\n </div>\n )}\n {this.grwApp && <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>}\n </div>\n )}\n </Host>\n );\n }\n}\n","import { Build, Component, h, Host, Prop } from '@stencil/core';\nimport { TouristicEvent } from 'components';\nimport { getAllDataInStore, getDataInStore } from 'services/grw-db.service';\nimport { getTouristicEvent, getTouristicEventType } from 'services/touristic-events.service';\nimport { getCities } from 'services/treks.service';\nimport state from 'store/store';\n\n@Component({\n tag: 'grw-touristic-event-provider',\n shadow: true,\n})\nexport class GrwTouristicEventProvider {\n @Prop() languages = 'fr';\n @Prop() api: string;\n @Prop() touristicEventId: number;\n @Prop() portals: string;\n\n controller = new AbortController();\n signal = this.controller.signal;\n init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: this.signal };\n\n connectedCallback() {\n if (!state.api) {\n state.api = this.api;\n state.languages = this.languages.split(',');\n state.language = state.languages[0];\n }\n this.handleTouristicEvent();\n }\n\n async handleTouristicEvent() {\n const touristicEventInStore: TouristicEvent = await getDataInStore('touristicEvents', this.touristicEventId);\n if (touristicEventInStore && touristicEventInStore.offline) {\n this.handleOfflineTouristicEvent(touristicEventInStore);\n } else {\n this.handleOnlineTouristicEvent();\n }\n }\n\n async handleOfflineTouristicEvent(touristicEvent: TouristicEvent) {\n if (!state.cities) {\n state.cities = await getAllDataInStore('cities');\n }\n if (!state.touristicEventTypes) {\n state.touristicEventTypes = await getAllDataInStore('touristicEventTypes');\n }\n state.currentTouristicEvent = touristicEvent;\n }\n\n handleOnlineTouristicEvent() {\n const requests = [];\n requests.push(!state.touristicEventTypes ? getTouristicEventType(state.api, state.language, this.portals, this.init) : new Response('null'));\n\n try {\n Promise.all([...requests, getTouristicEvent(state.api, state.language, this.touristicEventId, this.init)])\n .then(responses => Promise.all(responses.map(response => response.json())))\n .then(async ([touristicEventTypes, touristicEvent]) => {\n state.networkError = false;\n\n let citiesToLoad = [...touristicEvent.cities];\n\n if (state.cities) {\n const cityIds = state.cities.map(city => city.id);\n citiesToLoad = citiesToLoad.filter(city => !cityIds.includes(city));\n }\n\n citiesToLoad = [...new Set(citiesToLoad.filter(Boolean))];\n\n if (citiesToLoad.length > 0) {\n const cities = (await getCities(state.api, state.language, this.init, citiesToLoad).then(response => response.json())).results;\n if (state.cities) {\n state.cities = [...state.cities, ...cities];\n } else {\n state.cities = cities;\n }\n }\n\n if (!state.cities) {\n state.cities = [];\n }\n\n if (touristicEventTypes) {\n state.touristicEventTypes = touristicEventTypes.results;\n }\n state.currentTouristicEvent = touristicEvent;\n });\n } catch (error) {\n if (!(error.code === DOMException.ABORT_ERR)) {\n state.networkError = true;\n }\n }\n }\n\n disconnectedCallback() {\n this.controller.abort();\n state.networkError = false;\n }\n\n render() {\n return <Host></Host>;\n }\n}\n"],"version":3}