@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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["grwDetailsModalCss","GrwDetailsModalStyle0","GrwDetailsModal","exports","class_1","hostRef","this","fontFamily","colorBackground","colorPrimaryContainer","colorOnPrimaryContainer","rounded","prototype","handleCloseButton","closeDetailsModal","emit","render","_this","h","Host","key","style","part","class","onClick","innerHTML","CloseIcon","grwInformationDeskCss","GrwInformationDeskStyle0","GrwInformationDeskDetail","class_2","displayShortDescription","showInformationDeskDescriptionButton","colorSurfaceContainerLow","offline","showDefaultImage","componentDidLoad","handleOffline","descriptionRef","clientHeight","scrollHeight","handleInformationDeskDescription","handleCenterOnMap","centerOnMap","latitude","informationDesk","longitude","state","currentTrek","getDataInStore","id","trekInStore","_b","sent","informationDeskInStore","Boolean","currentOutdoorSite","outdoorSiteInStore","defaultImageSrc","getAssetPath","concat","photo_url","src","alt","name","loading","onerror","event","target","LocationSearchingIcon","translate","language","postal_code","municipality","street","phone","CallIcon","href","email","MailIcon","website","LinkIcon","description","ref","el","readMore","readLess","grwOutdoorCourseCardCss","GrwOutdoorCourseCardStyle0","GrwOutdoorCourseCard","class_3","colorPrimaryApp","colorOnSurface","colorSecondaryContainer","colorOnSecondaryContainer","isLargeView","isInsideHorizontalList","handleMouseOver","cardOutdoorCourseMouseOver","outdoorCourse","handleMouseLeave","cardOutdoorCourseMouseLeave","outdoorCourseInStore","outdoorPractice","width","selectedOutdoorCourseId","outdoorCourseCardPress","attachments","filter","attachment","type","length","thumbnail","url","legend","moreDetails","grwOutdoorSiteCardCss","GrwOutdoorSiteCardStyle0","GrwOutdoorSiteCard","class_4","cardOutdoorSiteMouseOver","outdoorSite","cardOutdoorSiteMouseLeave","outdoorPractices","find","practice","selectedOutdoorSiteId","outdoorSiteCardPress","pictogram","themes","theme","includes","map","label","grwTouristicContentDetailCss","GrwTouristicContentDetailStyle0","GrwTouristicContentDetail","class_5","displayFullscreen","grwApp","handleSwipers","swiperImagesRef","swiperImages","Swiper","modules","Navigation","Pagination","Keyboard","FreeMode","Mousewheel","navigation","prevEl","prevElImagesRef","nextEl","nextElImagesRef","pagination","paginationElImagesRef","allowTouchMove","keyboard","loop","onfullscreenchange","enable","disable","componentDidUpdate","currentTouristicContent","handleFullscreen","close","requestFullscreen","document","exitFullscreen","touristicContentCategory","touristicContentCategories","category","cities","currentCity","_a","city","displayPaginationAndNavigation","languages","touristicContentDetailContainerRef","presentationRef","author","join","display","visibility","download","pdf","rel","DownloadIcon","description_teaser","practical_info","usefulInformation","contact","GrwTouristicContentProvider","class_6","controller","AbortController","signal","init","cache","connectedCallback","api","split","handleTouristicContent","touristicContentId","touristicContentInStore","handleOfflineTouristicContent","handleOnlineTouristicContent","touristicContent","getAllDataInStore","_d","_c","requests","push","getTouristicContentCategory","portals","Response","Promise","all","__spreadArray","getTouristicContent","then","responses","response","json","__awaiter","networkError","citiesToLoad","cityIds_1","Set","getCities","results","error","code","DOMException","ABORT_ERR","disconnectedCallback","abort","grwTouristicEventDetailCss","GrwTouristicEventDetailStyle0","GrwTouristicEventDetail","class_7","currentTouristicEvent","touristicEventType","touristicEventTypes","touristicEventCategory","touristicEventDetailContainerRef","begin_date","end_date","date","startDate","endDate","GrwTouristicEventProvider","class_8","handleTouristicEvent","touristicEventId","touristicEventInStore","handleOfflineTouristicEvent","handleOnlineTouristicEvent","touristicEvent","getTouristicEventType","getTouristicEvent","cityIds_2"],"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"],"mappings":"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","ignoreList":[]}