@geotrekce/geotrek-rando-widget 0.3.5 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/dist/cjs/geotrek-rando-widget.cjs.js +1 -1
  2. package/dist/cjs/geotrek-rando-widget.cjs.js.br +0 -0
  3. package/dist/cjs/geotrek-rando-widget.cjs.js.gz +0 -0
  4. package/dist/cjs/grw-app.cjs.entry.js +4 -26
  5. package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
  6. package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
  7. package/dist/cjs/grw-app.cjs.entry.js.map +1 -1
  8. package/dist/cjs/grw-filter.cjs.entry.js +46 -0
  9. package/dist/cjs/grw-filter.cjs.entry.js.br +0 -0
  10. package/dist/cjs/grw-filter.cjs.entry.js.gz +0 -0
  11. package/dist/cjs/grw-filter.cjs.entry.js.map +1 -0
  12. package/dist/cjs/{grw-filter_7.cjs.entry.js → grw-filters_7.cjs.entry.js} +30 -31
  13. package/dist/cjs/grw-filters_7.cjs.entry.js.br +0 -0
  14. package/dist/cjs/grw-filters_7.cjs.entry.js.gz +0 -0
  15. package/dist/cjs/grw-filters_7.cjs.entry.js.map +1 -0
  16. package/dist/cjs/grw-information-desk_5.cjs.entry.js +2 -2
  17. package/dist/cjs/grw-information-desk_5.cjs.entry.js.br +0 -0
  18. package/dist/cjs/grw-information-desk_5.cjs.entry.js.gz +0 -0
  19. package/dist/cjs/grw-information-desk_5.cjs.entry.js.map +1 -1
  20. package/dist/cjs/grw-select-language.cjs.entry.js +1 -1
  21. package/dist/cjs/grw-select-language.cjs.entry.js.br +0 -0
  22. package/dist/cjs/grw-select-language.cjs.entry.js.gz +0 -0
  23. package/dist/cjs/grw-select-language.cjs.entry.js.map +1 -1
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/cjs/loader.cjs.js.br +0 -0
  26. package/dist/cjs/loader.cjs.js.gz +0 -0
  27. package/dist/collection/collection-manifest.json +1 -0
  28. package/dist/collection/components/grw-app/grw-app.css +0 -116
  29. package/dist/collection/components/grw-app/grw-app.css.br +0 -0
  30. package/dist/collection/components/grw-app/grw-app.css.gz +0 -0
  31. package/dist/collection/components/grw-app/grw-app.js +3 -43
  32. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  33. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  34. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  35. package/dist/collection/components/grw-filter/grw-filter.js +1 -1
  36. package/dist/collection/components/grw-filter/grw-filter.js.br +0 -0
  37. package/dist/collection/components/grw-filter/grw-filter.js.gz +0 -0
  38. package/dist/collection/components/grw-filter/grw-filter.js.map +1 -1
  39. package/dist/collection/components/grw-filters/grw-filters.css +115 -0
  40. package/dist/collection/components/grw-filters/grw-filters.css.br +0 -0
  41. package/dist/collection/components/grw-filters/grw-filters.css.gz +0 -0
  42. package/dist/collection/components/grw-filters/grw-filters.js +91 -0
  43. package/dist/collection/components/grw-filters/grw-filters.js.br +0 -0
  44. package/dist/collection/components/grw-filters/grw-filters.js.gz +0 -0
  45. package/dist/collection/components/grw-filters/grw-filters.js.map +1 -0
  46. package/dist/collection/components/grw-information-desk/grw-information-desk.js +1 -1
  47. package/dist/collection/components/grw-information-desk/grw-information-desk.js.br +0 -0
  48. package/dist/collection/components/grw-information-desk/grw-information-desk.js.gz +0 -0
  49. package/dist/collection/components/grw-information-desk/grw-information-desk.js.map +1 -1
  50. package/dist/collection/components/grw-search/grw-search.js +1 -1
  51. package/dist/collection/components/grw-search/grw-search.js.br +0 -0
  52. package/dist/collection/components/grw-search/grw-search.js.gz +0 -0
  53. package/dist/collection/components/grw-search/grw-search.js.map +1 -1
  54. package/dist/collection/components/grw-select-language/grw-select-language.js +1 -1
  55. package/dist/collection/components/grw-select-language/grw-select-language.js.br +0 -0
  56. package/dist/collection/components/grw-select-language/grw-select-language.js.gz +0 -0
  57. package/dist/collection/components/grw-select-language/grw-select-language.js.map +1 -1
  58. package/dist/collection/components/grw-trek-card/grw-trek-card.js +1 -1
  59. package/dist/collection/components/grw-trek-card/grw-trek-card.js.br +0 -0
  60. package/dist/collection/components/grw-trek-card/grw-trek-card.js.gz +0 -0
  61. package/dist/collection/components/grw-trek-card/grw-trek-card.js.map +1 -1
  62. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +4 -4
  63. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  64. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  65. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  66. package/dist/esm/geotrek-rando-widget.js +3 -3
  67. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  68. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  69. package/dist/esm/grw-app.entry.js +6 -28
  70. package/dist/esm/grw-app.entry.js.br +0 -0
  71. package/dist/esm/grw-app.entry.js.gz +0 -0
  72. package/dist/esm/grw-app.entry.js.map +1 -1
  73. package/dist/esm/grw-filter.entry.js +42 -0
  74. package/dist/esm/grw-filter.entry.js.br +0 -0
  75. package/dist/esm/grw-filter.entry.js.gz +0 -0
  76. package/dist/esm/grw-filter.entry.js.map +1 -0
  77. package/dist/esm/{grw-filter_7.entry.js → grw-filters_7.entry.js} +32 -33
  78. package/dist/esm/grw-filters_7.entry.js.br +0 -0
  79. package/dist/esm/grw-filters_7.entry.js.gz +0 -0
  80. package/dist/esm/grw-filters_7.entry.js.map +1 -0
  81. package/dist/esm/grw-information-desk_5.entry.js +5 -5
  82. package/dist/esm/grw-information-desk_5.entry.js.br +0 -0
  83. package/dist/esm/grw-information-desk_5.entry.js.gz +0 -0
  84. package/dist/esm/grw-information-desk_5.entry.js.map +1 -1
  85. package/dist/esm/grw-select-language.entry.js +3 -3
  86. package/dist/esm/grw-select-language.entry.js.br +0 -0
  87. package/dist/esm/grw-select-language.entry.js.gz +0 -0
  88. package/dist/esm/grw-select-language.entry.js.map +1 -1
  89. package/dist/esm/{index-82644551.js → index-3bfebaa2.js} +2 -2
  90. package/dist/esm/index-3bfebaa2.js.br +0 -0
  91. package/dist/esm/index-3bfebaa2.js.gz +0 -0
  92. package/dist/esm/{index-82644551.js.map → index-3bfebaa2.js.map} +1 -1
  93. package/dist/esm/loader.js +3 -3
  94. package/dist/esm/loader.js.br +0 -0
  95. package/dist/esm/loader.js.gz +0 -0
  96. package/dist/esm/{store-6101ed72.js → store-890ce35c.js} +2 -2
  97. package/dist/esm/store-890ce35c.js.br +0 -0
  98. package/dist/esm/store-890ce35c.js.gz +0 -0
  99. package/dist/esm/{store-6101ed72.js.map → store-890ce35c.js.map} +1 -1
  100. package/dist/esm/{utils-83029b76.js → utils-ffae4b0b.js} +2 -2
  101. package/dist/esm/utils-ffae4b0b.js.br +0 -0
  102. package/dist/esm/utils-ffae4b0b.js.gz +0 -0
  103. package/dist/esm/{utils-83029b76.js.map → utils-ffae4b0b.js.map} +1 -1
  104. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  105. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  106. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  107. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  108. package/dist/esm-es5/grw-app.entry.js +1 -1
  109. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  110. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  111. package/dist/esm-es5/grw-app.entry.js.map +1 -1
  112. package/dist/esm-es5/grw-filter.entry.js +2 -0
  113. package/dist/esm-es5/grw-filter.entry.js.br +0 -0
  114. package/dist/esm-es5/grw-filter.entry.js.gz +0 -0
  115. package/dist/esm-es5/grw-filter.entry.js.map +1 -0
  116. package/dist/esm-es5/{grw-filter_7.entry.js → grw-filters_7.entry.js} +4 -4
  117. package/dist/esm-es5/grw-filters_7.entry.js.br +0 -0
  118. package/dist/esm-es5/grw-filters_7.entry.js.gz +0 -0
  119. package/dist/esm-es5/grw-filters_7.entry.js.map +1 -0
  120. package/dist/esm-es5/grw-information-desk_5.entry.js +1 -1
  121. package/dist/esm-es5/grw-information-desk_5.entry.js.br +0 -0
  122. package/dist/esm-es5/grw-information-desk_5.entry.js.gz +0 -0
  123. package/dist/esm-es5/grw-information-desk_5.entry.js.map +1 -1
  124. package/dist/esm-es5/grw-select-language.entry.js +1 -1
  125. package/dist/esm-es5/grw-select-language.entry.js.br +0 -0
  126. package/dist/esm-es5/grw-select-language.entry.js.gz +0 -0
  127. package/dist/esm-es5/grw-select-language.entry.js.map +1 -1
  128. package/dist/esm-es5/{index-82644551.js → index-3bfebaa2.js} +2 -2
  129. package/dist/esm-es5/index-3bfebaa2.js.br +0 -0
  130. package/dist/esm-es5/index-3bfebaa2.js.gz +0 -0
  131. package/dist/esm-es5/loader.js +1 -1
  132. package/dist/esm-es5/loader.js.br +0 -0
  133. package/dist/esm-es5/loader.js.gz +0 -0
  134. package/dist/esm-es5/loader.js.map +1 -1
  135. package/dist/esm-es5/{store-6101ed72.js → store-890ce35c.js} +2 -2
  136. package/dist/esm-es5/store-890ce35c.js.br +0 -0
  137. package/dist/esm-es5/store-890ce35c.js.gz +0 -0
  138. package/dist/esm-es5/{utils-83029b76.js → utils-ffae4b0b.js} +2 -2
  139. package/dist/esm-es5/utils-ffae4b0b.js.br +0 -0
  140. package/dist/esm-es5/utils-ffae4b0b.js.gz +0 -0
  141. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  142. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  143. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  144. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  145. package/dist/geotrek-rando-widget/geotrek-rando-widget.js +1 -1
  146. package/dist/geotrek-rando-widget/geotrek-rando-widget.js.br +0 -0
  147. package/dist/geotrek-rando-widget/geotrek-rando-widget.js.gz +0 -0
  148. package/dist/geotrek-rando-widget/{p-b4e1f9ae.js → p-16f28b0e.js} +2 -2
  149. package/dist/geotrek-rando-widget/p-16f28b0e.js.br +0 -0
  150. package/dist/geotrek-rando-widget/p-16f28b0e.js.gz +0 -0
  151. package/dist/geotrek-rando-widget/{p-d0083a9b.js → p-1db133d4.js} +2 -2
  152. package/dist/geotrek-rando-widget/p-1db133d4.js.br +0 -0
  153. package/dist/geotrek-rando-widget/p-1db133d4.js.gz +0 -0
  154. package/dist/geotrek-rando-widget/p-265b4eea.system.entry.js +14 -0
  155. package/dist/geotrek-rando-widget/p-265b4eea.system.entry.js.br +0 -0
  156. package/dist/geotrek-rando-widget/p-265b4eea.system.entry.js.gz +0 -0
  157. package/dist/geotrek-rando-widget/p-265b4eea.system.entry.js.map +1 -0
  158. package/dist/geotrek-rando-widget/{p-266b2cee.system.js → p-3eaed9f9.system.js} +2 -2
  159. package/dist/geotrek-rando-widget/p-3eaed9f9.system.js.br +0 -0
  160. package/dist/geotrek-rando-widget/p-3eaed9f9.system.js.gz +0 -0
  161. package/dist/geotrek-rando-widget/p-47ba2866.js +2 -0
  162. package/dist/geotrek-rando-widget/p-47ba2866.js.br +0 -0
  163. package/dist/geotrek-rando-widget/p-47ba2866.js.gz +0 -0
  164. package/dist/geotrek-rando-widget/{p-5a6577cd.js.map → p-47ba2866.js.map} +1 -1
  165. package/dist/geotrek-rando-widget/p-6f514bac.entry.js +2 -0
  166. package/dist/geotrek-rando-widget/p-6f514bac.entry.js.br +0 -0
  167. package/dist/geotrek-rando-widget/p-6f514bac.entry.js.gz +0 -0
  168. package/dist/geotrek-rando-widget/p-6f514bac.entry.js.map +1 -0
  169. package/dist/geotrek-rando-widget/p-737a036f.entry.js +2 -0
  170. package/dist/geotrek-rando-widget/p-737a036f.entry.js.br +0 -0
  171. package/dist/geotrek-rando-widget/p-737a036f.entry.js.gz +0 -0
  172. package/dist/geotrek-rando-widget/p-737a036f.entry.js.map +1 -0
  173. package/dist/geotrek-rando-widget/p-73bf5fea.entry.js +2 -0
  174. package/dist/geotrek-rando-widget/p-73bf5fea.entry.js.br +0 -0
  175. package/dist/geotrek-rando-widget/p-73bf5fea.entry.js.gz +0 -0
  176. package/dist/geotrek-rando-widget/p-73bf5fea.entry.js.map +1 -0
  177. package/dist/geotrek-rando-widget/{p-fe1917d3.system.js → p-7be13480.system.js} +2 -2
  178. package/dist/geotrek-rando-widget/p-7be13480.system.js.br +0 -0
  179. package/dist/geotrek-rando-widget/p-7be13480.system.js.gz +0 -0
  180. package/dist/geotrek-rando-widget/p-7d5414a1.system.entry.js +2 -0
  181. package/dist/geotrek-rando-widget/p-7d5414a1.system.entry.js.br +0 -0
  182. package/dist/geotrek-rando-widget/p-7d5414a1.system.entry.js.gz +0 -0
  183. package/dist/geotrek-rando-widget/p-7d5414a1.system.entry.js.map +1 -0
  184. package/dist/geotrek-rando-widget/p-953f1353.system.entry.js +2 -0
  185. package/dist/geotrek-rando-widget/p-953f1353.system.entry.js.br +0 -0
  186. package/dist/geotrek-rando-widget/p-953f1353.system.entry.js.gz +0 -0
  187. package/dist/geotrek-rando-widget/p-953f1353.system.entry.js.map +1 -0
  188. package/dist/geotrek-rando-widget/p-a5cdfd75.system.entry.js +2 -0
  189. package/dist/geotrek-rando-widget/p-a5cdfd75.system.entry.js.br +0 -0
  190. package/dist/geotrek-rando-widget/p-a5cdfd75.system.entry.js.gz +0 -0
  191. package/dist/geotrek-rando-widget/p-a5cdfd75.system.entry.js.map +1 -0
  192. package/dist/geotrek-rando-widget/{p-ff9cac04.system.js → p-a7fa6233.system.js} +2 -2
  193. package/dist/geotrek-rando-widget/p-a7fa6233.system.js.br +0 -0
  194. package/dist/geotrek-rando-widget/p-a7fa6233.system.js.gz +0 -0
  195. package/dist/geotrek-rando-widget/p-bdaae91a.entry.js +2 -0
  196. package/dist/geotrek-rando-widget/p-bdaae91a.entry.js.br +0 -0
  197. package/dist/geotrek-rando-widget/p-bdaae91a.entry.js.gz +0 -0
  198. package/dist/geotrek-rando-widget/p-bdaae91a.entry.js.map +1 -0
  199. package/dist/geotrek-rando-widget/p-ccc3be5e.system.js +2 -0
  200. package/dist/geotrek-rando-widget/p-ccc3be5e.system.js.br +0 -0
  201. package/dist/geotrek-rando-widget/p-ccc3be5e.system.js.gz +0 -0
  202. package/dist/geotrek-rando-widget/p-ccc3be5e.system.js.map +1 -0
  203. package/dist/geotrek-rando-widget/p-cdf7523f.entry.js +14 -0
  204. package/dist/geotrek-rando-widget/p-cdf7523f.entry.js.br +0 -0
  205. package/dist/geotrek-rando-widget/p-cdf7523f.entry.js.gz +0 -0
  206. package/dist/geotrek-rando-widget/p-cdf7523f.entry.js.map +1 -0
  207. package/dist/geotrek-rando-widget/{p-42a3c374.system.entry.js → p-d2da9a2e.system.entry.js} +2 -2
  208. package/dist/geotrek-rando-widget/p-d2da9a2e.system.entry.js.br +0 -0
  209. package/dist/geotrek-rando-widget/p-d2da9a2e.system.entry.js.gz +0 -0
  210. package/dist/geotrek-rando-widget/p-d2da9a2e.system.entry.js.map +1 -0
  211. package/dist/types/components/grw-app/grw-app.d.ts +0 -7
  212. package/dist/types/components/grw-filters/grw-filters.d.ts +11 -0
  213. package/dist/types/components.d.ts +18 -3
  214. package/package.json +1 -1
  215. package/dist/cjs/grw-filter_7.cjs.entry.js.br +0 -0
  216. package/dist/cjs/grw-filter_7.cjs.entry.js.gz +0 -0
  217. package/dist/cjs/grw-filter_7.cjs.entry.js.map +0 -1
  218. package/dist/esm/grw-filter_7.entry.js.br +0 -0
  219. package/dist/esm/grw-filter_7.entry.js.gz +0 -0
  220. package/dist/esm/grw-filter_7.entry.js.map +0 -1
  221. package/dist/esm/index-82644551.js.br +0 -0
  222. package/dist/esm/index-82644551.js.gz +0 -0
  223. package/dist/esm/store-6101ed72.js.br +0 -0
  224. package/dist/esm/store-6101ed72.js.gz +0 -0
  225. package/dist/esm/utils-83029b76.js.br +0 -0
  226. package/dist/esm/utils-83029b76.js.gz +0 -0
  227. package/dist/esm-es5/grw-filter_7.entry.js.br +0 -0
  228. package/dist/esm-es5/grw-filter_7.entry.js.gz +0 -0
  229. package/dist/esm-es5/grw-filter_7.entry.js.map +0 -1
  230. package/dist/esm-es5/index-82644551.js.br +0 -0
  231. package/dist/esm-es5/index-82644551.js.gz +0 -0
  232. package/dist/esm-es5/store-6101ed72.js.br +0 -0
  233. package/dist/esm-es5/store-6101ed72.js.gz +0 -0
  234. package/dist/esm-es5/utils-83029b76.js.br +0 -0
  235. package/dist/esm-es5/utils-83029b76.js.gz +0 -0
  236. package/dist/geotrek-rando-widget/p-05cd2f4e.system.entry.js +0 -2
  237. package/dist/geotrek-rando-widget/p-05cd2f4e.system.entry.js.br +0 -0
  238. package/dist/geotrek-rando-widget/p-05cd2f4e.system.entry.js.gz +0 -0
  239. package/dist/geotrek-rando-widget/p-05cd2f4e.system.entry.js.map +0 -1
  240. package/dist/geotrek-rando-widget/p-1266b9a7.system.entry.js +0 -2
  241. package/dist/geotrek-rando-widget/p-1266b9a7.system.entry.js.br +0 -0
  242. package/dist/geotrek-rando-widget/p-1266b9a7.system.entry.js.gz +0 -0
  243. package/dist/geotrek-rando-widget/p-1266b9a7.system.entry.js.map +0 -1
  244. package/dist/geotrek-rando-widget/p-148f5f1d.system.js +0 -2
  245. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.br +0 -0
  246. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.gz +0 -0
  247. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.map +0 -1
  248. package/dist/geotrek-rando-widget/p-266b2cee.system.js.br +0 -0
  249. package/dist/geotrek-rando-widget/p-266b2cee.system.js.gz +0 -0
  250. package/dist/geotrek-rando-widget/p-370f741f.entry.js +0 -2
  251. package/dist/geotrek-rando-widget/p-370f741f.entry.js.br +0 -0
  252. package/dist/geotrek-rando-widget/p-370f741f.entry.js.gz +0 -0
  253. package/dist/geotrek-rando-widget/p-370f741f.entry.js.map +0 -1
  254. package/dist/geotrek-rando-widget/p-42a3c374.system.entry.js.br +0 -0
  255. package/dist/geotrek-rando-widget/p-42a3c374.system.entry.js.gz +0 -0
  256. package/dist/geotrek-rando-widget/p-42a3c374.system.entry.js.map +0 -1
  257. package/dist/geotrek-rando-widget/p-5a6577cd.js +0 -2
  258. package/dist/geotrek-rando-widget/p-5a6577cd.js.br +0 -0
  259. package/dist/geotrek-rando-widget/p-5a6577cd.js.gz +0 -0
  260. package/dist/geotrek-rando-widget/p-6d738828.system.entry.js +0 -14
  261. package/dist/geotrek-rando-widget/p-6d738828.system.entry.js.br +0 -0
  262. package/dist/geotrek-rando-widget/p-6d738828.system.entry.js.gz +0 -0
  263. package/dist/geotrek-rando-widget/p-6d738828.system.entry.js.map +0 -1
  264. package/dist/geotrek-rando-widget/p-6fe69455.entry.js +0 -2
  265. package/dist/geotrek-rando-widget/p-6fe69455.entry.js.br +0 -0
  266. package/dist/geotrek-rando-widget/p-6fe69455.entry.js.gz +0 -0
  267. package/dist/geotrek-rando-widget/p-6fe69455.entry.js.map +0 -1
  268. package/dist/geotrek-rando-widget/p-703802d9.entry.js +0 -2
  269. package/dist/geotrek-rando-widget/p-703802d9.entry.js.br +0 -0
  270. package/dist/geotrek-rando-widget/p-703802d9.entry.js.gz +0 -0
  271. package/dist/geotrek-rando-widget/p-703802d9.entry.js.map +0 -1
  272. package/dist/geotrek-rando-widget/p-b4e1f9ae.js.br +0 -0
  273. package/dist/geotrek-rando-widget/p-b4e1f9ae.js.gz +0 -0
  274. package/dist/geotrek-rando-widget/p-bacd6952.entry.js +0 -14
  275. package/dist/geotrek-rando-widget/p-bacd6952.entry.js.br +0 -0
  276. package/dist/geotrek-rando-widget/p-bacd6952.entry.js.gz +0 -0
  277. package/dist/geotrek-rando-widget/p-bacd6952.entry.js.map +0 -1
  278. package/dist/geotrek-rando-widget/p-d0083a9b.js.br +0 -0
  279. package/dist/geotrek-rando-widget/p-d0083a9b.js.gz +0 -0
  280. package/dist/geotrek-rando-widget/p-fe1917d3.system.js.br +0 -0
  281. package/dist/geotrek-rando-widget/p-fe1917d3.system.js.gz +0 -0
  282. package/dist/geotrek-rando-widget/p-ff9cac04.system.js.br +0 -0
  283. package/dist/geotrek-rando-widget/p-ff9cac04.system.js.gz +0 -0
  284. /package/dist/esm-es5/{index-82644551.js.map → index-3bfebaa2.js.map} +0 -0
  285. /package/dist/esm-es5/{store-6101ed72.js.map → store-890ce35c.js.map} +0 -0
  286. /package/dist/esm-es5/{utils-83029b76.js.map → utils-ffae4b0b.js.map} +0 -0
  287. /package/dist/geotrek-rando-widget/{p-b4e1f9ae.js.map → p-16f28b0e.js.map} +0 -0
  288. /package/dist/geotrek-rando-widget/{p-d0083a9b.js.map → p-1db133d4.js.map} +0 -0
  289. /package/dist/geotrek-rando-widget/{p-266b2cee.system.js.map → p-3eaed9f9.system.js.map} +0 -0
  290. /package/dist/geotrek-rando-widget/{p-fe1917d3.system.js.map → p-7be13480.system.js.map} +0 -0
  291. /package/dist/geotrek-rando-widget/{p-ff9cac04.system.js.map → p-a7fa6233.system.js.map} +0 -0
@@ -1,7 +1,6 @@
1
1
  import { Host, h } from '@stencil/core';
2
2
  import { translate } from 'i18n/i18n';
3
3
  import state, { onChange, reset } from 'store/store';
4
- import { filters, handleFiltersAndSearch } from 'utils/utils';
5
4
  export class GrwApp {
6
5
  constructor() {
7
6
  this.largeViewSize = 1024;
@@ -11,7 +10,6 @@ export class GrwApp {
11
10
  this.showTrekMap = false;
12
11
  this.showFilters = false;
13
12
  this.isLargeView = false;
14
- this.selectedSegment = 'selectedActivitiesFilters';
15
13
  this.currentTrekId = undefined;
16
14
  this.appWidth = '100%';
17
15
  this.appHeight = '100vh';
@@ -155,29 +153,10 @@ export class GrwApp {
155
153
  this.showTreksMap = !this.showTreksMap;
156
154
  }
157
155
  }
158
- handleEraseFilters() {
159
- filters.forEach(filter => {
160
- state[filter.property].forEach(currentFilter => (currentFilter.selected = false));
161
- });
162
- state.selectedActivitiesFilters = 0;
163
- state.selectedThemesFilters = 0;
164
- state.selectedLocationFilters = 0;
165
- state.currentTreks = handleFiltersAndSearch();
166
- this.resetFilter.emit();
167
- }
168
- handleOkFilters() {
169
- this.handleFilters();
170
- }
171
156
  disconnectedCallback() {
172
157
  reset();
173
158
  window.removeEventListener('popstate', this.handlePopStateBind);
174
159
  }
175
- handleSelectedSegment(selectedSegment) {
176
- this.selectedSegment = selectedSegment;
177
- }
178
- handleSegment(segment) {
179
- return filters.filter(filter => filter.segment === segment).some(filter => state[filter.property] && state[filter.property].length > 0);
180
- }
181
160
  render() {
182
161
  return (h(Host, { style: {
183
162
  '--color-primary-app': this.colorPrimaryApp,
@@ -197,19 +176,19 @@ export class GrwApp {
197
176
  '--fab-color': this.fabColor,
198
177
  '--app-width': this.appWidth,
199
178
  '--app-height': this.appHeight,
200
- } }, !state.currentTreks && !state.currentTrek && (h("div", { class: "init-loader-container" }, h("span", { class: "loader" }))), !this.showTrek && !state.treks && (h("grw-treks-provider", { api: this.api, languages: this.languages, "in-bbox": this.inBbox, cities: this.cities, districts: this.districts, structures: this.structures, themes: this.themes, portals: this.portals, routes: this.routes, practices: this.practices })), this.showTrek && this.currentTrekId && !state.currentTrek && (h("grw-trek-provider", { api: this.api, languages: this.languages, "trek-id": this.currentTrekId })), (state.currentTreks || state.currentTrek) && (h("div", { class: "app-container" }, h("div", { class: this.isLargeView ? 'large-view-header-container' : 'header-container' }, !this.showTrek ? (h("div", { class: "handle-search-filters-container" }, h("div", { class: "handle-search-container" }, h("grw-search", null)), h("div", { class: "handle-filters-container" }, h("button", { onClick: () => this.handleFilters(), class: "handle-filters-button" }, h("span", { class: "material-symbols material-symbols-outlined margin-right-icon" }, "filter_list"), translate[state.language].filter)))) : (h("div", { class: "arrow-back-container" }, h("button", { onClick: () => this.handleBackButton(), class: "arrow-back-icon" }, h("span", { class: "material-symbols material-symbols-outlined" }, "arrow_back"))))), h("div", { class: `content-container ${this.showTrek ? 'content-trek' : 'content-treks'}` }, h("div", { class: this.isLargeView ? 'large-view-app-treks-list-container' : 'app-treks-list-container', style: { display: this.showTrek ? 'none' : 'flex', position: this.showTrek ? 'absolute' : 'relative' } }, h("grw-treks-list", { "reset-store-on-disconnected": "false", "is-large-view": this.isLargeView, "color-primary-app": this.colorPrimaryApp, "color-on-surface": this.colorOnSurface, "color-secondary-container": this.colorSecondaryContainer, "color-on-secondary-container": this.colorOnSecondaryContainer, "color-surface-container-low": this.colorSurfaceContainerLow })), this.showTrek && !state.currentTrek && (h("div", { class: this.isLargeView ? 'large-view-loader-container' : 'loader-container' }, h("span", { class: "loader" }))), state.currentTrek && (h("div", { class: this.isLargeView ? 'large-view-app-trek-detail-container' : 'app-trek-detail-container' }, h("grw-trek-detail", { style: {
179
+ } }, !state.currentTreks && !state.currentTrek && (h("div", { class: "init-loader-container" }, h("span", { class: "loader" }))), !this.showTrek && !state.treks && (h("grw-treks-provider", { api: this.api, languages: this.languages, "in-bbox": this.inBbox, cities: this.cities, districts: this.districts, structures: this.structures, themes: this.themes, portals: this.portals, routes: this.routes, practices: this.practices })), this.showTrek && this.currentTrekId && !state.currentTrek && (h("grw-trek-provider", { api: this.api, languages: this.languages, "trek-id": this.currentTrekId })), (state.currentTreks || state.currentTrek) && (h("div", { class: "app-container" }, h("div", { class: this.isLargeView ? 'large-view-header-container' : 'header-container' }, !this.showTrek ? (h("div", { class: "handle-search-filters-container" }, h("div", { class: "handle-search-container" }, h("grw-search", null)), h("div", { class: "handle-filters-container" }, h("button", { onClick: () => this.handleFilters(), class: "handle-filters-button" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined margin-right-icon" }, "filter_list"), translate[state.language].filter)))) : (h("div", { class: "arrow-back-container" }, h("button", { onClick: () => this.handleBackButton(), class: "arrow-back-icon" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "arrow_back"))))), h("div", { class: `content-container ${this.showTrek ? 'content-trek' : 'content-treks'}` }, h("div", { class: this.isLargeView ? 'large-view-app-treks-list-container' : 'app-treks-list-container', style: { display: this.showTrek ? 'none' : 'flex', position: this.showTrek ? 'absolute' : 'relative' } }, h("grw-treks-list", { "reset-store-on-disconnected": "false", "is-large-view": this.isLargeView, "color-primary-app": this.colorPrimaryApp, "color-on-surface": this.colorOnSurface, "color-secondary-container": this.colorSecondaryContainer, "color-on-secondary-container": this.colorOnSecondaryContainer, "color-surface-container-low": this.colorSurfaceContainerLow })), this.showTrek && !state.currentTrek && (h("div", { class: this.isLargeView ? 'large-view-loader-container' : 'loader-container' }, h("span", { class: "loader" }))), state.currentTrek && (h("div", { class: this.isLargeView ? 'large-view-app-trek-detail-container' : 'app-trek-detail-container' }, h("grw-trek-detail", { style: {
201
180
  visibility: (!this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',
202
181
  zIndex: !this.showTrekMap ? '1' : '0',
203
182
  }, "reset-store-on-disconnected": "false", "color-primary-app": this.colorPrimaryApp, "color-on-surface": this.colorOnSurface, "color-primary-container": this.colorPrimaryContainer, "color-on-primary-container": this.colorOnPrimaryContainer, "color-secondary-container": this.colorSecondaryContainer, "color-on-secondary-container": this.colorOnSecondaryContainer, "color-surface-container-low": this.colorSurfaceContainerLow, "color-background": this.colorBackground, weather: this.weather, "is-large-view": this.isLargeView }))), h("grw-map", { "reset-store-on-disconnected": "false", class: this.isLargeView ? 'large-view-app-map-container' : 'app-map-container', style: {
204
183
  visibility: (this.showTreksMap && !this.showTrek) || (this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',
205
184
  zIndex: this.showTrekMap ? '1' : '0',
206
- }, center: this.center, zoom: this.zoom, "name-layer": this.nameLayer, "url-layer": this.urlLayer, "attribution-layer": this.attributionLayer, "color-primary-app": this.colorPrimaryApp, "color-on-surface": this.colorOnSurface, "color-primary-container": this.colorPrimaryContainer, "color-on-primary-container": this.colorOnPrimaryContainer, "color-background": this.colorBackground, "color-trek-line": this.colorTrekLine, "color-sensitive-area": this.colorSensitiveArea, "color-poi-icon": this.colorPoiIcon, "is-large-view": this.isLargeView, "use-gradient": this.useGradient })), (!this.showTrek || (this.showTrek && state.currentTrek)) && (h("div", { class: "map-visibility-button-container" }, h("button", { onClick: () => this.handleShowMap(), class: "map-visibility-button", style: { display: this.isLargeView ? 'none' : 'flex' } }, h("span", { class: "material-symbols material-symbols-outlined" }, this.showTrek ? (this.showTrekMap ? 'summarize' : 'map') : this.showTreksMap ? 'list' : 'map'), this.showTrek
185
+ }, center: this.center, zoom: this.zoom, "name-layer": this.nameLayer, "url-layer": this.urlLayer, "attribution-layer": this.attributionLayer, "color-primary-app": this.colorPrimaryApp, "color-on-surface": this.colorOnSurface, "color-primary-container": this.colorPrimaryContainer, "color-on-primary-container": this.colorOnPrimaryContainer, "color-background": this.colorBackground, "color-trek-line": this.colorTrekLine, "color-sensitive-area": this.colorSensitiveArea, "color-poi-icon": this.colorPoiIcon, "is-large-view": this.isLargeView, "use-gradient": this.useGradient })), (!this.showTrek || (this.showTrek && state.currentTrek)) && (h("div", { class: "map-visibility-button-container" }, h("button", { onClick: () => this.handleShowMap(), class: "map-visibility-button", style: { display: this.isLargeView ? 'none' : 'flex' } }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, this.showTrek ? (this.showTrekMap ? 'summarize' : 'map') : this.showTreksMap ? 'list' : 'map'), this.showTrek
207
186
  ? this.showTrekMap
208
187
  ? translate[state.language].showDetails
209
188
  : translate[state.language].showRoute
210
189
  : this.showTreksMap
211
190
  ? translate[state.language].showList
212
- : translate[state.language].showMap))))), !this.showTrek && this.showFilters && (h("div", { class: "options-container" }, h("div", { class: "filters-container" }, h("div", { class: "filters-options-container" }, state.treksWithinBounds && (h("div", { class: "current-treks-within-bounds-length" }, `${state.treksWithinBounds.length} ${state.treksWithinBounds.length > 1 ? translate[state.language].treks : translate[state.language].trek}`)), h("div", { class: "filters-options-buttons-container" }, h("button", { class: "filter-option-button", onClick: () => this.handleEraseFilters() }, translate[state.language].erase), h("button", { class: "filter-option-button", onClick: () => this.handleOkFilters() }, translate[state.language].ok))), h("div", { class: "segmented-buttons-container" }, this.handleSegment('selectedActivitiesFilters') && (h("label", { class: `segment${this.selectedSegment === 'selectedActivitiesFilters' ? ' selected-segment' : ''}`, onClick: () => this.handleSelectedSegment('selectedActivitiesFilters') }, translate[state.language].activities, " ", state.selectedActivitiesFilters !== 0 && `(${state.selectedActivitiesFilters})`)), this.handleSegment('selectedThemesFilters') && (h("label", { class: `segment${this.selectedSegment === 'selectedThemesFilters' ? ' selected-segment' : ''}`, onClick: () => this.handleSelectedSegment('selectedThemesFilters') }, translate[state.language].themes, " ", state.selectedThemesFilters !== 0 && `(${state.selectedThemesFilters})`)), this.handleSegment('selectedLocationFilters') && (h("label", { class: `segment${this.selectedSegment === 'selectedLocationFilters' ? ' selected-segment' : ''}`, onClick: () => this.handleSelectedSegment('selectedLocationFilters') }, translate[state.language].location, " ", state.selectedLocationFilters !== 0 && `(${state.selectedLocationFilters})`))), h("div", { class: "filters-segment-container" }, this.selectedSegment === 'selectedActivitiesFilters' && (h("div", { class: "segment-container" }, state['practices'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].practice, filterType: "practices", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['difficulties'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].difficulty, filterType: "difficulties", filterNameProperty: "label", segment: "selectedActivitiesFilters" }))), state['durations'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].duration, filterType: "durations", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['lengths'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].length, filterType: "lengths", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['elevations'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].elevation, filterType: "elevations", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['routes'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].routes, filterType: "routes", filterNameProperty: "route", segment: "selectedActivitiesFilters" }))), state['accessibilities'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].accessibility, filterType: "accessibilities", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['labels'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].activities, filterType: "labels", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))))), this.selectedSegment === 'selectedThemesFilters' && (h("div", { class: "segment-container" }, state['themes'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].themes, filterType: "themes", filterNameProperty: "label", segment: "selectedThemesFilters" }))))), this.selectedSegment === 'selectedLocationFilters' && (h("div", { class: "segment-container" }, state['districts'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].districts, filterType: "districts", filterNameProperty: "name", segment: "selectedLocationFilters" }))), state['cities'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].cities, filterType: "cities", filterNameProperty: "name", segment: "selectedLocationFilters" }))))))), h("div", { onClick: () => this.handleFilters(), class: "back-filters-container" })))));
191
+ : translate[state.language].showMap))))), !this.showTrek && this.showFilters && h("grw-filters", { handleFilters: () => this.handleFilters() })));
213
192
  }
214
193
  static get is() { return "grw-app"; }
215
194
  static get originalStyleUrls() {
@@ -885,28 +864,9 @@ export class GrwApp {
885
864
  "showTrekMap": {},
886
865
  "showFilters": {},
887
866
  "isLargeView": {},
888
- "selectedSegment": {},
889
867
  "currentTrekId": {}
890
868
  };
891
869
  }
892
- static get events() {
893
- return [{
894
- "method": "resetFilter",
895
- "name": "resetFilter",
896
- "bubbles": true,
897
- "cancelable": true,
898
- "composed": true,
899
- "docs": {
900
- "tags": [],
901
- "text": ""
902
- },
903
- "complexType": {
904
- "original": "any",
905
- "resolved": "any",
906
- "references": {}
907
- }
908
- }];
909
- }
910
870
  static get elementRef() { return "appElement"; }
911
871
  static get watchers() {
912
872
  return [{
@@ -1 +1 @@
1
- {"version":3,"file":"grw-app.js","sourceRoot":"","sources":["../../../src/components/grw-app/grw-app.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Listen, State, Prop, Element, Watch, Event, EventEmitter } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange, reset } from 'store/store';\nimport { filters, handleFiltersAndSearch } from 'utils/utils';\n\n@Component({\n tag: 'grw-app',\n styleUrls: ['grw-app.scss'],\n shadow: false,\n})\nexport class GrwApp {\n @Element() appElement: HTMLElement;\n @Event() resetFilter: EventEmitter;\n @State() showTrek = false;\n @State() showTreksMap = false;\n @State() showTrekMap = false;\n @State() showFilters = false;\n @State() isLargeView = false;\n @State() selectedSegment = 'selectedActivitiesFilters';\n @State() currentTrekId: number;\n @Prop() appWidth: string = '100%';\n @Prop() appHeight: string = '100vh';\n @Prop() api: string;\n @Prop() languages = 'fr';\n @Prop() inBbox: string;\n @Prop() cities: string;\n @Prop() districts: string;\n @Prop() structures: string;\n @Prop() themes: string;\n @Prop() portals: string;\n @Prop() routes: string;\n @Prop() practices: string;\n @Prop() center: string;\n @Prop() zoom: number;\n @Prop() nameLayer: string;\n @Prop() urlLayer: string;\n @Prop() attributionLayer: string;\n @Prop() weather = false;\n\n @Prop() colorPrimaryApp = '#6750a4';\n @Prop() colorOnPrimary = '#ffffff';\n @Prop() colorSurface = '#1c1b1f';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSurfaceVariant = '#fef7ff';\n @Prop() colorOnSurfaceVariant = '#1c1b1f';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorBackground = '#fef7ff';\n @Prop() colorSurfaceContainerHigh = '#ece6f0';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() fabBackgroundColor = '#eaddff';\n @Prop() fabColor = '#21005d';\n\n @Prop() colorTrekLine = '#6b0030';\n @Prop() colorSensitiveArea = '#4974a5';\n @Prop() colorPoiIcon = '#974c6e';\n @Prop() useGradient = false;\n\n largeViewSize = 1024;\n handlePopStateBind: (event: any) => void = this.handlePopState.bind(this);\n\n @Listen('trekCardPress', { target: 'window' })\n onTrekCardPress(event: CustomEvent<number>) {\n const parentTrek = state.parentTrekId ? state.parentTrekId : state.currentTrekSteps ? this.currentTrekId : null;\n state.currentTrek = null;\n this.currentTrekId = event.detail;\n this.showTrek = true;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\n if (state.currentTrekSteps) {\n url.searchParams.set('parentTrek', parentTrek.toString());\n }\n window.history.pushState({}, '', url);\n }\n\n @Listen('parentTrekPress', { target: 'window' })\n onParentTrekPress(event: CustomEvent<number>) {\n state.currentTrek = null;\n this.currentTrekId = event.detail;\n this.showTrek = true;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\n url.searchParams.delete('parentTrek');\n window.history.pushState({}, '', url);\n }\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.handleView();\n }\n\n @Listen('centerOnMap', { target: 'window' })\n onCenterOnMap() {\n if (!this.isLargeView) {\n this.showTrekMap = true;\n }\n }\n\n @Watch('isLargeView')\n watchPropHandler() {\n window.dispatchEvent(new window.Event('resize'));\n }\n\n componentWillLoad() {\n const url = new URL(window.location.toString());\n const trekParam = url.searchParams.get('trek');\n const parentTrekId = url.searchParams.get('parentTrek');\n if (trekParam) {\n window.history.replaceState({ isInitialHistoryWithTrek: true }, '', url);\n state.parentTrekId = parentTrekId ? Number(parentTrekId) : null;\n this.currentTrekId = Number(trekParam);\n this.showTrek = !this.showTrek;\n }\n }\n\n componentDidLoad() {\n onChange('trekNetworkError', () => {\n if (state.trekNetworkError) {\n const urlRedirect = new URL(window.location.toString());\n urlRedirect.searchParams.delete('trek');\n urlRedirect.searchParams.delete('parentTrek');\n window.history.replaceState({}, '', urlRedirect);\n this.onTrekDetailsClose();\n }\n });\n window.addEventListener('popstate', this.handlePopStateBind, false);\n this.handleView();\n }\n\n onTrekDetailsClose() {\n state.currentTrek = null;\n state.currentTrekSteps = null;\n state.parentTrekId = null;\n this.currentTrekId = null;\n this.showTrek = !this.showTrek;\n }\n\n handleView() {\n this.isLargeView = this.appElement.getBoundingClientRect().width >= this.largeViewSize;\n this.showTreksMap = this.isLargeView;\n this.showTrekMap = this.isLargeView;\n }\n\n handleFilters() {\n this.showFilters = !this.showFilters;\n }\n\n handleBackButton() {\n if (window.history.state && window.history.state.isInitialHistoryWithTrek) {\n this.onTrekDetailsClose();\n const url = new URL(window.location.toString());\n url.searchParams.delete('trek');\n window.history.pushState({}, '', url);\n } else {\n window.history.back();\n }\n }\n\n handlePopState() {\n const url = new URL(window.location.toString());\n const trekParam = Number(url.searchParams.get('trek'));\n if (trekParam && this.currentTrekId !== trekParam) {\n state.currentTrek = null;\n this.currentTrekId = trekParam;\n this.showTrek = true;\n } else if (!trekParam) {\n this.onTrekDetailsClose();\n }\n }\n\n handleShowMap() {\n if (this.currentTrekId) {\n this.showTrekMap = !this.showTrekMap;\n } else {\n this.showTreksMap = !this.showTreksMap;\n }\n }\n\n handleEraseFilters() {\n filters.forEach(filter => {\n state[filter.property].forEach(currentFilter => (currentFilter.selected = false));\n });\n state.selectedActivitiesFilters = 0;\n state.selectedThemesFilters = 0;\n state.selectedLocationFilters = 0;\n state.currentTreks = handleFiltersAndSearch();\n this.resetFilter.emit();\n }\n\n handleOkFilters() {\n this.handleFilters();\n }\n\n disconnectedCallback() {\n reset();\n window.removeEventListener('popstate', this.handlePopStateBind);\n }\n\n handleSelectedSegment(selectedSegment) {\n this.selectedSegment = selectedSegment;\n }\n\n handleSegment(segment) {\n return filters.filter(filter => filter.segment === segment).some(filter => state[filter.property] && state[filter.property].length > 0);\n }\n\n render() {\n return (\n <Host\n style={{\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-primary': this.colorOnPrimary,\n '--color-surface': this.colorSurface,\n '--color-on-surface': this.colorOnSurface,\n '--color-surface-variant': this.colorSurfaceVariant,\n '--color-on-surface-variant': this.colorOnSurfaceVariant,\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 '--color-surface-container-high': this.colorSurfaceContainerHigh,\n '--color-surface-container-low': this.colorSurfaceContainerLow,\n '--fab-background-color': this.fabBackgroundColor,\n '--fab-color': this.fabColor,\n '--app-width': this.appWidth,\n '--app-height': this.appHeight,\n }}\n >\n {!state.currentTreks && !state.currentTrek && (\n <div class=\"init-loader-container\">\n <span class=\"loader\"></span>\n </div>\n )}\n {!this.showTrek && !state.treks && (\n <grw-treks-provider\n api={this.api}\n languages={this.languages}\n in-bbox={this.inBbox}\n cities={this.cities}\n districts={this.districts}\n structures={this.structures}\n themes={this.themes}\n portals={this.portals}\n routes={this.routes}\n practices={this.practices}\n ></grw-treks-provider>\n )}\n {this.showTrek && this.currentTrekId && !state.currentTrek && (\n <grw-trek-provider api={this.api} languages={this.languages} trek-id={this.currentTrekId}></grw-trek-provider>\n )}\n {(state.currentTreks || state.currentTrek) && (\n <div class=\"app-container\">\n <div class={this.isLargeView ? 'large-view-header-container' : 'header-container'}>\n {!this.showTrek ? (\n <div class=\"handle-search-filters-container\">\n <div class=\"handle-search-container\">\n <grw-search></grw-search>\n </div>\n <div class=\"handle-filters-container\">\n <button onClick={() => this.handleFilters()} class=\"handle-filters-button\">\n <span class=\"material-symbols material-symbols-outlined margin-right-icon\">filter_list</span>\n {translate[state.language].filter}\n </button>\n </div>\n </div>\n ) : (\n <div class=\"arrow-back-container\">\n <button onClick={() => this.handleBackButton()} class=\"arrow-back-icon\">\n <span class=\"material-symbols material-symbols-outlined\">arrow_back</span>\n </button>\n </div>\n )}\n </div>\n\n <div class={`content-container ${this.showTrek ? 'content-trek' : 'content-treks'}`}>\n <div\n class={this.isLargeView ? 'large-view-app-treks-list-container' : 'app-treks-list-container'}\n style={{ display: this.showTrek ? 'none' : 'flex', position: this.showTrek ? 'absolute' : 'relative' }}\n >\n <grw-treks-list\n reset-store-on-disconnected=\"false\"\n is-large-view={this.isLargeView}\n color-primary-app={this.colorPrimaryApp}\n color-on-surface={this.colorOnSurface}\n color-secondary-container={this.colorSecondaryContainer}\n color-on-secondary-container={this.colorOnSecondaryContainer}\n color-surface-container-low={this.colorSurfaceContainerLow}\n ></grw-treks-list>\n </div>\n {this.showTrek && !state.currentTrek && (\n <div class={this.isLargeView ? 'large-view-loader-container' : 'loader-container'}>\n <span class=\"loader\"></span>\n </div>\n )}\n {state.currentTrek && (\n <div class={this.isLargeView ? 'large-view-app-trek-detail-container' : 'app-trek-detail-container'}>\n <grw-trek-detail\n style={{\n visibility: (!this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',\n zIndex: !this.showTrekMap ? '1' : '0',\n }}\n reset-store-on-disconnected=\"false\"\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-surface-container-low={this.colorSurfaceContainerLow}\n color-background={this.colorBackground}\n weather={this.weather}\n is-large-view={this.isLargeView}\n ></grw-trek-detail>\n </div>\n )}\n <grw-map\n reset-store-on-disconnected=\"false\"\n class={this.isLargeView ? 'large-view-app-map-container' : 'app-map-container'}\n style={{\n visibility: (this.showTreksMap && !this.showTrek) || (this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',\n zIndex: this.showTrekMap ? '1' : '0',\n }}\n center={this.center}\n zoom={this.zoom}\n name-layer={this.nameLayer}\n url-layer={this.urlLayer}\n attribution-layer={this.attributionLayer}\n color-primary-app={this.colorPrimaryApp}\n color-on-surface={this.colorOnSurface}\n color-primary-container={this.colorPrimaryContainer}\n color-on-primary-container={this.colorOnPrimaryContainer}\n color-background={this.colorBackground}\n color-trek-line={this.colorTrekLine}\n color-sensitive-area={this.colorSensitiveArea}\n color-poi-icon={this.colorPoiIcon}\n is-large-view={this.isLargeView}\n use-gradient={this.useGradient}\n ></grw-map>\n </div>\n {(!this.showTrek || (this.showTrek && state.currentTrek)) && (\n <div class=\"map-visibility-button-container\">\n <button onClick={() => this.handleShowMap()} class=\"map-visibility-button\" style={{ display: this.isLargeView ? 'none' : 'flex' }}>\n <span class=\"material-symbols material-symbols-outlined\">{this.showTrek ? (this.showTrekMap ? 'summarize' : 'map') : this.showTreksMap ? 'list' : 'map'}</span>\n {this.showTrek\n ? this.showTrekMap\n ? translate[state.language].showDetails\n : translate[state.language].showRoute\n : this.showTreksMap\n ? translate[state.language].showList\n : translate[state.language].showMap}\n </button>\n </div>\n )}\n </div>\n )}\n {!this.showTrek && this.showFilters && (\n <div class=\"options-container\">\n <div class=\"filters-container\">\n <div class=\"filters-options-container\">\n {state.treksWithinBounds && (\n <div class=\"current-treks-within-bounds-length\">{`${state.treksWithinBounds.length} ${\n state.treksWithinBounds.length > 1 ? translate[state.language].treks : translate[state.language].trek\n }`}</div>\n )}\n <div class=\"filters-options-buttons-container\">\n <button class=\"filter-option-button\" onClick={() => this.handleEraseFilters()}>\n {translate[state.language].erase}\n </button>\n <button class=\"filter-option-button\" onClick={() => this.handleOkFilters()}>\n {translate[state.language].ok}\n </button>\n </div>\n </div>\n <div class=\"segmented-buttons-container\">\n {this.handleSegment('selectedActivitiesFilters') && (\n <label\n class={`segment${this.selectedSegment === 'selectedActivitiesFilters' ? ' selected-segment' : ''}`}\n onClick={() => this.handleSelectedSegment('selectedActivitiesFilters')}\n >\n {translate[state.language].activities} {state.selectedActivitiesFilters !== 0 && `(${state.selectedActivitiesFilters})`}\n </label>\n )}\n {this.handleSegment('selectedThemesFilters') && (\n <label\n class={`segment${this.selectedSegment === 'selectedThemesFilters' ? ' selected-segment' : ''}`}\n onClick={() => this.handleSelectedSegment('selectedThemesFilters')}\n >\n {translate[state.language].themes} {state.selectedThemesFilters !== 0 && `(${state.selectedThemesFilters})`}\n </label>\n )}\n {this.handleSegment('selectedLocationFilters') && (\n <label\n class={`segment${this.selectedSegment === 'selectedLocationFilters' ? ' selected-segment' : ''}`}\n onClick={() => this.handleSelectedSegment('selectedLocationFilters')}\n >\n {translate[state.language].location} {state.selectedLocationFilters !== 0 && `(${state.selectedLocationFilters})`}\n </label>\n )}\n </div>\n <div class=\"filters-segment-container\">\n {this.selectedSegment === 'selectedActivitiesFilters' && (\n <div class=\"segment-container\">\n {state['practices'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].practice}\n filterType=\"practices\"\n filterNameProperty=\"name\"\n segment=\"selectedActivitiesFilters\"\n ></grw-filter>\n </div>\n )}\n {state['difficulties'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].difficulty}\n filterType=\"difficulties\"\n filterNameProperty=\"label\"\n segment=\"selectedActivitiesFilters\"\n ></grw-filter>\n </div>\n )}\n {state['durations'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].duration}\n filterType=\"durations\"\n filterNameProperty=\"name\"\n segment=\"selectedActivitiesFilters\"\n ></grw-filter>\n </div>\n )}\n {state['lengths'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].length} filterType=\"lengths\" filterNameProperty=\"name\" segment=\"selectedActivitiesFilters\"></grw-filter>\n </div>\n )}\n {state['elevations'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].elevation}\n filterType=\"elevations\"\n filterNameProperty=\"name\"\n segment=\"selectedActivitiesFilters\"\n ></grw-filter>\n </div>\n )}\n {state['routes'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].routes} filterType=\"routes\" filterNameProperty=\"route\" segment=\"selectedActivitiesFilters\"></grw-filter>\n </div>\n )}\n {state['accessibilities'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].accessibility}\n filterType=\"accessibilities\"\n filterNameProperty=\"name\"\n segment=\"selectedActivitiesFilters\"\n ></grw-filter>\n </div>\n )}\n {state['labels'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].activities}\n filterType=\"labels\"\n filterNameProperty=\"name\"\n segment=\"selectedActivitiesFilters\"\n ></grw-filter>\n </div>\n )}\n </div>\n )}\n {this.selectedSegment === 'selectedThemesFilters' && (\n <div class=\"segment-container\">\n {state['themes'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].themes} filterType=\"themes\" filterNameProperty=\"label\" segment=\"selectedThemesFilters\"></grw-filter>\n </div>\n )}\n </div>\n )}\n {this.selectedSegment === 'selectedLocationFilters' && (\n <div class=\"segment-container\">\n {state['districts'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].districts}\n filterType=\"districts\"\n filterNameProperty=\"name\"\n segment=\"selectedLocationFilters\"\n ></grw-filter>\n </div>\n )}\n {state['cities'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].cities} filterType=\"cities\" filterNameProperty=\"name\" segment=\"selectedLocationFilters\"></grw-filter>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n <div onClick={() => this.handleFilters()} class=\"back-filters-container\"></div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"grw-app.js","sourceRoot":"","sources":["../../../src/components/grw-app/grw-app.tsx"],"names":[],"mappings":"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B,CACxG,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Listen, State, Prop, Element, Watch } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange, reset } from 'store/store';\n\n@Component({\n tag: 'grw-app',\n styleUrls: ['grw-app.scss'],\n shadow: false,\n})\nexport class GrwApp {\n @Element() appElement: HTMLElement;\n @State() showTrek = false;\n @State() showTreksMap = false;\n @State() showTrekMap = false;\n @State() showFilters = false;\n @State() isLargeView = false;\n @State() currentTrekId: number;\n @Prop() appWidth: string = '100%';\n @Prop() appHeight: string = '100vh';\n @Prop() api: string;\n @Prop() languages = 'fr';\n @Prop() inBbox: string;\n @Prop() cities: string;\n @Prop() districts: string;\n @Prop() structures: string;\n @Prop() themes: string;\n @Prop() portals: string;\n @Prop() routes: string;\n @Prop() practices: string;\n @Prop() center: string;\n @Prop() zoom: number;\n @Prop() nameLayer: string;\n @Prop() urlLayer: string;\n @Prop() attributionLayer: string;\n @Prop() weather = false;\n\n @Prop() colorPrimaryApp = '#6750a4';\n @Prop() colorOnPrimary = '#ffffff';\n @Prop() colorSurface = '#1c1b1f';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSurfaceVariant = '#fef7ff';\n @Prop() colorOnSurfaceVariant = '#1c1b1f';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorBackground = '#fef7ff';\n @Prop() colorSurfaceContainerHigh = '#ece6f0';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() fabBackgroundColor = '#eaddff';\n @Prop() fabColor = '#21005d';\n\n @Prop() colorTrekLine = '#6b0030';\n @Prop() colorSensitiveArea = '#4974a5';\n @Prop() colorPoiIcon = '#974c6e';\n @Prop() useGradient = false;\n\n largeViewSize = 1024;\n handlePopStateBind: (event: any) => void = this.handlePopState.bind(this);\n\n @Listen('trekCardPress', { target: 'window' })\n onTrekCardPress(event: CustomEvent<number>) {\n const parentTrek = state.parentTrekId ? state.parentTrekId : state.currentTrekSteps ? this.currentTrekId : null;\n state.currentTrek = null;\n this.currentTrekId = event.detail;\n this.showTrek = true;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\n if (state.currentTrekSteps) {\n url.searchParams.set('parentTrek', parentTrek.toString());\n }\n window.history.pushState({}, '', url);\n }\n\n @Listen('parentTrekPress', { target: 'window' })\n onParentTrekPress(event: CustomEvent<number>) {\n state.currentTrek = null;\n this.currentTrekId = event.detail;\n this.showTrek = true;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\n url.searchParams.delete('parentTrek');\n window.history.pushState({}, '', url);\n }\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.handleView();\n }\n\n @Listen('centerOnMap', { target: 'window' })\n onCenterOnMap() {\n if (!this.isLargeView) {\n this.showTrekMap = true;\n }\n }\n\n @Watch('isLargeView')\n watchPropHandler() {\n window.dispatchEvent(new window.Event('resize'));\n }\n\n componentWillLoad() {\n const url = new URL(window.location.toString());\n const trekParam = url.searchParams.get('trek');\n const parentTrekId = url.searchParams.get('parentTrek');\n if (trekParam) {\n window.history.replaceState({ isInitialHistoryWithTrek: true }, '', url);\n state.parentTrekId = parentTrekId ? Number(parentTrekId) : null;\n this.currentTrekId = Number(trekParam);\n this.showTrek = !this.showTrek;\n }\n }\n\n componentDidLoad() {\n onChange('trekNetworkError', () => {\n if (state.trekNetworkError) {\n const urlRedirect = new URL(window.location.toString());\n urlRedirect.searchParams.delete('trek');\n urlRedirect.searchParams.delete('parentTrek');\n window.history.replaceState({}, '', urlRedirect);\n this.onTrekDetailsClose();\n }\n });\n window.addEventListener('popstate', this.handlePopStateBind, false);\n this.handleView();\n }\n\n onTrekDetailsClose() {\n state.currentTrek = null;\n state.currentTrekSteps = null;\n state.parentTrekId = null;\n this.currentTrekId = null;\n this.showTrek = !this.showTrek;\n }\n\n handleView() {\n this.isLargeView = this.appElement.getBoundingClientRect().width >= this.largeViewSize;\n this.showTreksMap = this.isLargeView;\n this.showTrekMap = this.isLargeView;\n }\n\n handleFilters() {\n this.showFilters = !this.showFilters;\n }\n\n handleBackButton() {\n if (window.history.state && window.history.state.isInitialHistoryWithTrek) {\n this.onTrekDetailsClose();\n const url = new URL(window.location.toString());\n url.searchParams.delete('trek');\n window.history.pushState({}, '', url);\n } else {\n window.history.back();\n }\n }\n\n handlePopState() {\n const url = new URL(window.location.toString());\n const trekParam = Number(url.searchParams.get('trek'));\n if (trekParam && this.currentTrekId !== trekParam) {\n state.currentTrek = null;\n this.currentTrekId = trekParam;\n this.showTrek = true;\n } else if (!trekParam) {\n this.onTrekDetailsClose();\n }\n }\n\n handleShowMap() {\n if (this.currentTrekId) {\n this.showTrekMap = !this.showTrekMap;\n } else {\n this.showTreksMap = !this.showTreksMap;\n }\n }\n\n disconnectedCallback() {\n reset();\n window.removeEventListener('popstate', this.handlePopStateBind);\n }\n\n render() {\n return (\n <Host\n style={{\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-primary': this.colorOnPrimary,\n '--color-surface': this.colorSurface,\n '--color-on-surface': this.colorOnSurface,\n '--color-surface-variant': this.colorSurfaceVariant,\n '--color-on-surface-variant': this.colorOnSurfaceVariant,\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 '--color-surface-container-high': this.colorSurfaceContainerHigh,\n '--color-surface-container-low': this.colorSurfaceContainerLow,\n '--fab-background-color': this.fabBackgroundColor,\n '--fab-color': this.fabColor,\n '--app-width': this.appWidth,\n '--app-height': this.appHeight,\n }}\n >\n {!state.currentTreks && !state.currentTrek && (\n <div class=\"init-loader-container\">\n <span class=\"loader\"></span>\n </div>\n )}\n {!this.showTrek && !state.treks && (\n <grw-treks-provider\n api={this.api}\n languages={this.languages}\n in-bbox={this.inBbox}\n cities={this.cities}\n districts={this.districts}\n structures={this.structures}\n themes={this.themes}\n portals={this.portals}\n routes={this.routes}\n practices={this.practices}\n ></grw-treks-provider>\n )}\n {this.showTrek && this.currentTrekId && !state.currentTrek && (\n <grw-trek-provider api={this.api} languages={this.languages} trek-id={this.currentTrekId}></grw-trek-provider>\n )}\n {(state.currentTreks || state.currentTrek) && (\n <div class=\"app-container\">\n <div class={this.isLargeView ? 'large-view-header-container' : 'header-container'}>\n {!this.showTrek ? (\n <div class=\"handle-search-filters-container\">\n <div class=\"handle-search-container\">\n <grw-search></grw-search>\n </div>\n <div class=\"handle-filters-container\">\n <button onClick={() => this.handleFilters()} class=\"handle-filters-button\">\n {/* @ts-ignore */}\n <span translate={false} class=\"material-symbols material-symbols-outlined margin-right-icon\">\n filter_list\n </span>\n {translate[state.language].filter}\n </button>\n </div>\n </div>\n ) : (\n <div class=\"arrow-back-container\">\n <button onClick={() => this.handleBackButton()} class=\"arrow-back-icon\">\n {/* @ts-ignore */}\n <span translate={false} class=\"material-symbols material-symbols-outlined\">\n arrow_back\n </span>\n </button>\n </div>\n )}\n </div>\n\n <div class={`content-container ${this.showTrek ? 'content-trek' : 'content-treks'}`}>\n <div\n class={this.isLargeView ? 'large-view-app-treks-list-container' : 'app-treks-list-container'}\n style={{ display: this.showTrek ? 'none' : 'flex', position: this.showTrek ? 'absolute' : 'relative' }}\n >\n <grw-treks-list\n reset-store-on-disconnected=\"false\"\n is-large-view={this.isLargeView}\n color-primary-app={this.colorPrimaryApp}\n color-on-surface={this.colorOnSurface}\n color-secondary-container={this.colorSecondaryContainer}\n color-on-secondary-container={this.colorOnSecondaryContainer}\n color-surface-container-low={this.colorSurfaceContainerLow}\n ></grw-treks-list>\n </div>\n {this.showTrek && !state.currentTrek && (\n <div class={this.isLargeView ? 'large-view-loader-container' : 'loader-container'}>\n <span class=\"loader\"></span>\n </div>\n )}\n {state.currentTrek && (\n <div class={this.isLargeView ? 'large-view-app-trek-detail-container' : 'app-trek-detail-container'}>\n <grw-trek-detail\n style={{\n visibility: (!this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',\n zIndex: !this.showTrekMap ? '1' : '0',\n }}\n reset-store-on-disconnected=\"false\"\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-surface-container-low={this.colorSurfaceContainerLow}\n color-background={this.colorBackground}\n weather={this.weather}\n is-large-view={this.isLargeView}\n ></grw-trek-detail>\n </div>\n )}\n <grw-map\n reset-store-on-disconnected=\"false\"\n class={this.isLargeView ? 'large-view-app-map-container' : 'app-map-container'}\n style={{\n visibility: (this.showTreksMap && !this.showTrek) || (this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',\n zIndex: this.showTrekMap ? '1' : '0',\n }}\n center={this.center}\n zoom={this.zoom}\n name-layer={this.nameLayer}\n url-layer={this.urlLayer}\n attribution-layer={this.attributionLayer}\n color-primary-app={this.colorPrimaryApp}\n color-on-surface={this.colorOnSurface}\n color-primary-container={this.colorPrimaryContainer}\n color-on-primary-container={this.colorOnPrimaryContainer}\n color-background={this.colorBackground}\n color-trek-line={this.colorTrekLine}\n color-sensitive-area={this.colorSensitiveArea}\n color-poi-icon={this.colorPoiIcon}\n is-large-view={this.isLargeView}\n use-gradient={this.useGradient}\n ></grw-map>\n </div>\n {(!this.showTrek || (this.showTrek && state.currentTrek)) && (\n <div class=\"map-visibility-button-container\">\n <button onClick={() => this.handleShowMap()} class=\"map-visibility-button\" style={{ display: this.isLargeView ? 'none' : 'flex' }}>\n {/* @ts-ignore */}\n <span translate={false} class=\"material-symbols material-symbols-outlined\">\n {this.showTrek ? (this.showTrekMap ? 'summarize' : 'map') : this.showTreksMap ? 'list' : 'map'}\n </span>\n {this.showTrek\n ? this.showTrekMap\n ? translate[state.language].showDetails\n : translate[state.language].showRoute\n : this.showTreksMap\n ? translate[state.language].showList\n : translate[state.language].showMap}\n </button>\n </div>\n )}\n </div>\n )}\n {!this.showTrek && this.showFilters && <grw-filters handleFilters={() => this.handleFilters()}></grw-filters>}\n </Host>\n );\n }\n}\n"]}
@@ -28,7 +28,7 @@ export class GrwFilter {
28
28
  forceUpdate(this.filterRef);
29
29
  }
30
30
  render() {
31
- return (h(Host, { ref: el => (this.filterRef = el) }, h("div", { class: "filter-name display-large" }, this.filterName), h("div", { class: "filter-button-container" }, state[this.filterType].map(currentFilter => (h("button", { onClick: event => this.handleFilter(event, currentFilter), class: currentFilter.selected ? 'selected-filter-button' : 'filter-button' }, currentFilter.selected && h("span", { class: "material-symbols material-symbols-outlined" }, "check"), currentFilter[this.filterNameProperty]))))));
31
+ return (h(Host, { ref: el => (this.filterRef = el) }, h("div", { class: "filter-name display-large" }, this.filterName), h("div", { class: "filter-button-container" }, state[this.filterType].map(currentFilter => (h("button", { onClick: event => this.handleFilter(event, currentFilter), class: currentFilter.selected ? 'selected-filter-button' : 'filter-button' }, currentFilter.selected && h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "check"), currentFilter[this.filterNameProperty]))))));
32
32
  }
33
33
  static get is() { return "grw-filter"; }
34
34
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"grw-filter.js","sourceRoot":"","sources":["../../../src/components/grw-filter/grw-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAO9D,MAAM,OAAO,SAAS;;;;;;;EAOpB,aAAa;IACX,IAAI,CAAC,WAAW,EAAE,CAAC;EACrB,CAAC;EAED,YAAY,CAAC,MAAkB,EAAE,cAAmB;IAClD,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpD,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC;OACpK,QAAQ,CAAC;IACZ,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC;IAEzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO;OACJ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;OACjD,OAAO,CAAC,MAAM,CAAC,EAAE;MAChB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACzF,CAAC,CAAC,CAAC;IAEL,KAAK,CAAC,YAAY,GAAG,sBAAsB,EAAE,CAAC;EAChD,CAAC;EAED,WAAW;IACT,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EAC9B,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;MACpC,WAAK,KAAK,EAAC,2BAA2B,IAAE,IAAI,CAAC,UAAU,CAAO;MAC9D,WAAK,KAAK,EAAC,yBAAyB,IACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAC3C,cAAQ,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,eAAe;QAC1I,aAAa,CAAC,QAAQ,IAAI,YAAM,KAAK,EAAC,4CAA4C,YAAa;QAC/F,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAChC,CACV,CAAC,CACE,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop, Listen, forceUpdate } from '@stencil/core';\nimport state from 'store/store';\nimport { filters, handleFiltersAndSearch } from 'utils/utils';\n\n@Component({\n tag: 'grw-filter',\n styleUrl: 'grw-filter.scss',\n shadow: true,\n})\nexport class GrwFilter {\n filterRef: HTMLElement;\n @Prop() filterType: string;\n @Prop() filterName: string;\n @Prop() filterNameProperty: string;\n @Prop() segment: string;\n @Listen('resetFilter', { target: 'window' })\n onResetFilter() {\n this.resetFilter();\n }\n\n handleFilter(_event: MouseEvent, filterToHandle: any) {\n const filterFromState = [...state[this.filterType]];\n filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id).selected = !filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id)\n .selected;\n state[this.filterType] = filterFromState;\n\n state[this.segment] = 0;\n filters\n .filter(filter => filter.segment === this.segment)\n .forEach(filter => {\n state[this.segment] += state[filter.property].filter(filter => filter.selected).length;\n });\n\n state.currentTreks = handleFiltersAndSearch();\n }\n\n resetFilter() {\n forceUpdate(this.filterRef);\n }\n\n render() {\n return (\n <Host ref={el => (this.filterRef = el)}>\n <div class=\"filter-name display-large\">{this.filterName}</div>\n <div class=\"filter-button-container\">\n {state[this.filterType].map(currentFilter => (\n <button onClick={event => this.handleFilter(event, currentFilter)} class={currentFilter.selected ? 'selected-filter-button' : 'filter-button'}>\n {currentFilter.selected && <span class=\"material-symbols material-symbols-outlined\">check</span>}\n {currentFilter[this.filterNameProperty]}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"grw-filter.js","sourceRoot":"","sources":["../../../src/components/grw-filter/grw-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAO9D,MAAM,OAAO,SAAS;;;;;;;EAOpB,aAAa;IACX,IAAI,CAAC,WAAW,EAAE,CAAC;EACrB,CAAC;EAED,YAAY,CAAC,MAAkB,EAAE,cAAmB;IAClD,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpD,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC;OACpK,QAAQ,CAAC;IACZ,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC;IAEzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO;OACJ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;OACjD,OAAO,CAAC,MAAM,CAAC,EAAE;MAChB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACzF,CAAC,CAAC,CAAC;IAEL,KAAK,CAAC,YAAY,GAAG,sBAAsB,EAAE,CAAC;EAChD,CAAC;EAED,WAAW;IACT,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EAC9B,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;MACpC,WAAK,KAAK,EAAC,2BAA2B,IAAE,IAAI,CAAC,UAAU,CAAO;MAC9D,WAAK,KAAK,EAAC,yBAAyB,IACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAC3C,cAAQ,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,eAAe;QAE1I,aAAa,CAAC,QAAQ,IAAI,YAAM,SAAS,EAAE,KAAK,EAAE,KAAK,EAAC,4CAA4C,YAAa;QACjH,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAChC,CACV,CAAC,CACE,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop, Listen, forceUpdate } from '@stencil/core';\nimport state from 'store/store';\nimport { filters, handleFiltersAndSearch } from 'utils/utils';\n\n@Component({\n tag: 'grw-filter',\n styleUrl: 'grw-filter.scss',\n shadow: true,\n})\nexport class GrwFilter {\n filterRef: HTMLElement;\n @Prop() filterType: string;\n @Prop() filterName: string;\n @Prop() filterNameProperty: string;\n @Prop() segment: string;\n @Listen('resetFilter', { target: 'window' })\n onResetFilter() {\n this.resetFilter();\n }\n\n handleFilter(_event: MouseEvent, filterToHandle: any) {\n const filterFromState = [...state[this.filterType]];\n filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id).selected = !filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id)\n .selected;\n state[this.filterType] = filterFromState;\n\n state[this.segment] = 0;\n filters\n .filter(filter => filter.segment === this.segment)\n .forEach(filter => {\n state[this.segment] += state[filter.property].filter(filter => filter.selected).length;\n });\n\n state.currentTreks = handleFiltersAndSearch();\n }\n\n resetFilter() {\n forceUpdate(this.filterRef);\n }\n\n render() {\n return (\n <Host ref={el => (this.filterRef = el)}>\n <div class=\"filter-name display-large\">{this.filterName}</div>\n <div class=\"filter-button-container\">\n {state[this.filterType].map(currentFilter => (\n <button onClick={event => this.handleFilter(event, currentFilter)} class={currentFilter.selected ? 'selected-filter-button' : 'filter-button'}>\n {/* @ts-ignore */}\n {currentFilter.selected && <span translate={false} class=\"material-symbols material-symbols-outlined\">check</span>}\n {currentFilter[this.filterNameProperty]}\n </button>\n ))}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,115 @@
1
+ .options-container {
2
+ height: 100%;
3
+ position: absolute;
4
+ width: 100%;
5
+ z-index: 1100;
6
+ top: 0px;
7
+ }
8
+
9
+ .filters-container {
10
+ background-color: var(--color-background);
11
+ position: relative;
12
+ width: 100%;
13
+ height: 100%;
14
+ z-index: 1100;
15
+ }
16
+ .filters-container .segmented-buttons-container {
17
+ display: flex;
18
+ justify-content: center;
19
+ width: calc(100% - 32px);
20
+ height: 40px;
21
+ margin: 16px;
22
+ border: 1px solid var(--color-outline);
23
+ border-radius: 20px;
24
+ line-height: 20px;
25
+ }
26
+ .filters-container .segmented-buttons-container .segment {
27
+ cursor: pointer;
28
+ user-select: none;
29
+ font-size: 14px;
30
+ font-weight: 500;
31
+ -webkit-tap-highlight-color: transparent;
32
+ color: var(--color-on-surface-variant);
33
+ background-color: transparent;
34
+ border-radius: 0px;
35
+ min-width: 40px;
36
+ display: flex;
37
+ align-items: center;
38
+ justify-content: center;
39
+ width: 100%;
40
+ height: 100%;
41
+ }
42
+ .filters-container .segmented-buttons-container .segment:first-child {
43
+ border-top-left-radius: 20px;
44
+ border-bottom-left-radius: 20px;
45
+ }
46
+ .filters-container .segmented-buttons-container .segment:not(:last-child) {
47
+ border-right: 1px solid var(--color-outline);
48
+ }
49
+ .filters-container .segmented-buttons-container .segment:last-child {
50
+ border-top-right-radius: 20px;
51
+ border-bottom-right-radius: 20px;
52
+ }
53
+ .filters-container .segmented-buttons-container .selected-segment {
54
+ color: var(--color-on-secondary-container);
55
+ background-color: var(--color-secondary-container);
56
+ }
57
+
58
+ .filters-segment-container {
59
+ overflow-y: scroll;
60
+ padding-bottom: 32px;
61
+ max-height: calc(100% - 64px - 32px);
62
+ }
63
+
64
+ .back-filters-container {
65
+ background-color: rgba(0, 0, 0, 0.5);
66
+ width: 100%;
67
+ height: 100%;
68
+ position: absolute;
69
+ z-index: 1099;
70
+ }
71
+
72
+ .divider {
73
+ margin: 16px;
74
+ border-top: 1px solid var(--color-outline);
75
+ }
76
+
77
+ .filters-options-container {
78
+ display: flex;
79
+ justify-content: space-between;
80
+ align-items: center;
81
+ height: 64px;
82
+ margin: 0px 16px;
83
+ }
84
+ .filters-options-container .filters-options-buttons-container {
85
+ display: flex;
86
+ }
87
+ .filters-options-container .filters-options-buttons-container .filter-option-button {
88
+ cursor: pointer;
89
+ user-select: none;
90
+ font-size: 14px;
91
+ font-weight: 500;
92
+ margin: 8px 0px 0px 8px;
93
+ padding: 8px 16px;
94
+ height: 32px;
95
+ display: flex;
96
+ align-items: center;
97
+ justify-content: center;
98
+ box-shadow: var(--elevation-0);
99
+ border: none;
100
+ -webkit-tap-highlight-color: transparent;
101
+ line-height: 20px;
102
+ color: var(--color-primary);
103
+ background-color: transparent;
104
+ }
105
+
106
+ .segment-container {
107
+ margin-bottom: 64px;
108
+ }
109
+
110
+ .filter-container:not(:last-child)::after {
111
+ content: "";
112
+ display: block;
113
+ margin: 16px;
114
+ border-top: 1px solid var(--color-outline);
115
+ }
@@ -0,0 +1,91 @@
1
+ import { Host, h } from '@stencil/core';
2
+ import { translate } from 'i18n/i18n';
3
+ import state from 'store/store';
4
+ import { filters, handleFiltersAndSearch } from 'utils/utils';
5
+ export class GrwFilters {
6
+ constructor() {
7
+ this.selectedSegment = 'selectedActivitiesFilters';
8
+ this.handleFilters = undefined;
9
+ }
10
+ handleEraseFilters() {
11
+ filters.forEach(filter => {
12
+ state[filter.property].forEach(currentFilter => (currentFilter.selected = false));
13
+ });
14
+ state.selectedActivitiesFilters = 0;
15
+ state.selectedThemesFilters = 0;
16
+ state.selectedLocationFilters = 0;
17
+ state.currentTreks = handleFiltersAndSearch();
18
+ this.resetFilter.emit();
19
+ }
20
+ handleSelectedSegment(selectedSegment) {
21
+ this.selectedSegment = selectedSegment;
22
+ }
23
+ handleSegment(segment) {
24
+ return filters.filter(filter => filter.segment === segment).some(filter => state[filter.property] && state[filter.property].length > 0);
25
+ }
26
+ handleOkFilters() {
27
+ this.handleFilters();
28
+ }
29
+ render() {
30
+ return (h(Host, null, h("div", { class: "options-container" }, h("div", { class: "filters-container" }, h("div", { class: "filters-options-container" }, state.treksWithinBounds && (h("div", { class: "current-treks-within-bounds-length" }, `${state.treksWithinBounds.length} ${state.treksWithinBounds.length > 1 ? translate[state.language].treks : translate[state.language].trek}`)), h("div", { class: "filters-options-buttons-container" }, h("button", { class: "filter-option-button", onClick: () => this.handleEraseFilters() }, translate[state.language].erase), h("button", { class: "filter-option-button", onClick: () => this.handleOkFilters() }, translate[state.language].ok))), h("div", { class: "segmented-buttons-container" }, this.handleSegment('selectedActivitiesFilters') && (h("label", { class: `segment${this.selectedSegment === 'selectedActivitiesFilters' ? ' selected-segment' : ''}`, onClick: () => this.handleSelectedSegment('selectedActivitiesFilters') }, translate[state.language].activities, " ", state.selectedActivitiesFilters !== 0 && `(${state.selectedActivitiesFilters})`)), this.handleSegment('selectedThemesFilters') && (h("label", { class: `segment${this.selectedSegment === 'selectedThemesFilters' ? ' selected-segment' : ''}`, onClick: () => this.handleSelectedSegment('selectedThemesFilters') }, translate[state.language].themes, " ", state.selectedThemesFilters !== 0 && `(${state.selectedThemesFilters})`)), this.handleSegment('selectedLocationFilters') && (h("label", { class: `segment${this.selectedSegment === 'selectedLocationFilters' ? ' selected-segment' : ''}`, onClick: () => this.handleSelectedSegment('selectedLocationFilters') }, translate[state.language].location, " ", state.selectedLocationFilters !== 0 && `(${state.selectedLocationFilters})`))), h("div", { class: "filters-segment-container" }, this.selectedSegment === 'selectedActivitiesFilters' && (h("div", { class: "segment-container" }, state['practices'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].practice, filterType: "practices", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['difficulties'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].difficulty, filterType: "difficulties", filterNameProperty: "label", segment: "selectedActivitiesFilters" }))), state['durations'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].duration, filterType: "durations", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['lengths'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].length, filterType: "lengths", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['elevations'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].elevation, filterType: "elevations", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['routes'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].routes, filterType: "routes", filterNameProperty: "route", segment: "selectedActivitiesFilters" }))), state['accessibilities'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].accessibility, filterType: "accessibilities", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))), state['labels'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].activities, filterType: "labels", filterNameProperty: "name", segment: "selectedActivitiesFilters" }))))), this.selectedSegment === 'selectedThemesFilters' && (h("div", { class: "segment-container" }, state['themes'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].themes, filterType: "themes", filterNameProperty: "label", segment: "selectedThemesFilters" }))))), this.selectedSegment === 'selectedLocationFilters' && (h("div", { class: "segment-container" }, state['districts'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].districts, filterType: "districts", filterNameProperty: "name", segment: "selectedLocationFilters" }))), state['cities'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].cities, filterType: "cities", filterNameProperty: "name", segment: "selectedLocationFilters" }))))))), h("div", { onClick: () => this.handleFilters(), class: "back-filters-container" }))));
31
+ }
32
+ static get is() { return "grw-filters"; }
33
+ static get encapsulation() { return "shadow"; }
34
+ static get originalStyleUrls() {
35
+ return {
36
+ "$": ["grw-filters.scss"]
37
+ };
38
+ }
39
+ static get styleUrls() {
40
+ return {
41
+ "$": ["grw-filters.css"]
42
+ };
43
+ }
44
+ static get properties() {
45
+ return {
46
+ "handleFilters": {
47
+ "type": "unknown",
48
+ "mutable": false,
49
+ "complexType": {
50
+ "original": "Function",
51
+ "resolved": "Function",
52
+ "references": {
53
+ "Function": {
54
+ "location": "global"
55
+ }
56
+ }
57
+ },
58
+ "required": false,
59
+ "optional": false,
60
+ "docs": {
61
+ "tags": [],
62
+ "text": ""
63
+ }
64
+ }
65
+ };
66
+ }
67
+ static get states() {
68
+ return {
69
+ "selectedSegment": {}
70
+ };
71
+ }
72
+ static get events() {
73
+ return [{
74
+ "method": "resetFilter",
75
+ "name": "resetFilter",
76
+ "bubbles": true,
77
+ "cancelable": true,
78
+ "composed": true,
79
+ "docs": {
80
+ "tags": [],
81
+ "text": ""
82
+ },
83
+ "complexType": {
84
+ "original": "any",
85
+ "resolved": "any",
86
+ "references": {}
87
+ }
88
+ }];
89
+ }
90
+ }
91
+ //# sourceMappingURL=grw-filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grw-filters.js","sourceRoot":"","sources":["../../../src/components/grw-filters/grw-filters.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state from 'store/store';\nimport { filters, handleFiltersAndSearch } from 'utils/utils';\n\n@Component({\n tag: 'grw-filters',\n styleUrl: 'grw-filters.scss',\n shadow: true,\n})\nexport class GrwFilters {\n @Event() resetFilter: EventEmitter;\n\n @State() selectedSegment = 'selectedActivitiesFilters';\n\n @Prop() handleFilters: Function;\n\n handleEraseFilters() {\n filters.forEach(filter => {\n state[filter.property].forEach(currentFilter => (currentFilter.selected = false));\n });\n state.selectedActivitiesFilters = 0;\n state.selectedThemesFilters = 0;\n state.selectedLocationFilters = 0;\n state.currentTreks = handleFiltersAndSearch();\n this.resetFilter.emit();\n }\n\n handleSelectedSegment(selectedSegment) {\n this.selectedSegment = selectedSegment;\n }\n\n handleSegment(segment) {\n return filters.filter(filter => filter.segment === segment).some(filter => state[filter.property] && state[filter.property].length > 0);\n }\n\n handleOkFilters() {\n this.handleFilters();\n }\n\n render() {\n return (\n <Host>\n <div class=\"options-container\">\n <div class=\"filters-container\">\n <div class=\"filters-options-container\">\n {state.treksWithinBounds && (\n <div class=\"current-treks-within-bounds-length\">{`${state.treksWithinBounds.length} ${\n state.treksWithinBounds.length > 1 ? translate[state.language].treks : translate[state.language].trek\n }`}</div>\n )}\n <div class=\"filters-options-buttons-container\">\n <button class=\"filter-option-button\" onClick={() => this.handleEraseFilters()}>\n {translate[state.language].erase}\n </button>\n <button class=\"filter-option-button\" onClick={() => this.handleOkFilters()}>\n {translate[state.language].ok}\n </button>\n </div>\n </div>\n <div class=\"segmented-buttons-container\">\n {this.handleSegment('selectedActivitiesFilters') && (\n <label\n class={`segment${this.selectedSegment === 'selectedActivitiesFilters' ? ' selected-segment' : ''}`}\n onClick={() => this.handleSelectedSegment('selectedActivitiesFilters')}\n >\n {translate[state.language].activities} {state.selectedActivitiesFilters !== 0 && `(${state.selectedActivitiesFilters})`}\n </label>\n )}\n {this.handleSegment('selectedThemesFilters') && (\n <label\n class={`segment${this.selectedSegment === 'selectedThemesFilters' ? ' selected-segment' : ''}`}\n onClick={() => this.handleSelectedSegment('selectedThemesFilters')}\n >\n {translate[state.language].themes} {state.selectedThemesFilters !== 0 && `(${state.selectedThemesFilters})`}\n </label>\n )}\n {this.handleSegment('selectedLocationFilters') && (\n <label\n class={`segment${this.selectedSegment === 'selectedLocationFilters' ? ' selected-segment' : ''}`}\n onClick={() => this.handleSelectedSegment('selectedLocationFilters')}\n >\n {translate[state.language].location} {state.selectedLocationFilters !== 0 && `(${state.selectedLocationFilters})`}\n </label>\n )}\n </div>\n <div class=\"filters-segment-container\">\n {this.selectedSegment === 'selectedActivitiesFilters' && (\n <div class=\"segment-container\">\n {state['practices'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].practice} filterType=\"practices\" filterNameProperty=\"name\" segment=\"selectedActivitiesFilters\"></grw-filter>\n </div>\n )}\n {state['difficulties'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].difficulty}\n filterType=\"difficulties\"\n filterNameProperty=\"label\"\n segment=\"selectedActivitiesFilters\"\n ></grw-filter>\n </div>\n )}\n {state['durations'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].duration} filterType=\"durations\" filterNameProperty=\"name\" segment=\"selectedActivitiesFilters\"></grw-filter>\n </div>\n )}\n {state['lengths'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].length} filterType=\"lengths\" filterNameProperty=\"name\" segment=\"selectedActivitiesFilters\"></grw-filter>\n </div>\n )}\n {state['elevations'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].elevation}\n filterType=\"elevations\"\n filterNameProperty=\"name\"\n segment=\"selectedActivitiesFilters\"\n ></grw-filter>\n </div>\n )}\n {state['routes'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].routes} filterType=\"routes\" filterNameProperty=\"route\" segment=\"selectedActivitiesFilters\"></grw-filter>\n </div>\n )}\n {state['accessibilities'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter\n filterName={translate[state.language].accessibility}\n filterType=\"accessibilities\"\n filterNameProperty=\"name\"\n segment=\"selectedActivitiesFilters\"\n ></grw-filter>\n </div>\n )}\n {state['labels'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].activities} filterType=\"labels\" filterNameProperty=\"name\" segment=\"selectedActivitiesFilters\"></grw-filter>\n </div>\n )}\n </div>\n )}\n {this.selectedSegment === 'selectedThemesFilters' && (\n <div class=\"segment-container\">\n {state['themes'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].themes} filterType=\"themes\" filterNameProperty=\"label\" segment=\"selectedThemesFilters\"></grw-filter>\n </div>\n )}\n </div>\n )}\n {this.selectedSegment === 'selectedLocationFilters' && (\n <div class=\"segment-container\">\n {state['districts'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].districts} filterType=\"districts\" filterNameProperty=\"name\" segment=\"selectedLocationFilters\"></grw-filter>\n </div>\n )}\n {state['cities'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].cities} filterType=\"cities\" filterNameProperty=\"name\" segment=\"selectedLocationFilters\"></grw-filter>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n <div onClick={() => this.handleFilters()} class=\"back-filters-container\"></div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -11,7 +11,7 @@ export class GrwInformationDeskDetail {
11
11
  this.centerOnMap.emit({ latitude: this.informationDesk.latitude, longitude: this.informationDesk.longitude });
12
12
  }
13
13
  render() {
14
- return (h(Host, null, this.informationDesk.photo_url && (h("div", { class: "information-desk-img" }, h("img", { src: this.informationDesk.photo_url, loading: "lazy" }))), h("div", { class: "information-desk-sub-container" }, this.informationDesk.name && h("div", { class: "information-desk-name" }, this.informationDesk.name), this.informationDesk.latitude && this.informationDesk.longitude && (h("button", { class: "center-on-map-button", onClick: () => this.handleCenterOnMap() }, h("span", { class: "material-symbols material-symbols-outlined" }, "location_searching"), "Centrer sur la carte")), (this.informationDesk.postal_code || this.informationDesk.municipality || this.informationDesk.street) && (h("div", null, this.informationDesk.postal_code && this.informationDesk.postal_code, this.informationDesk.municipality && ` ${this.informationDesk.municipality}`, this.informationDesk.street && ` ${this.informationDesk.street}`)), this.informationDesk.phone && (h("div", { class: "phone-container" }, h("span", { class: "material-symbols material-symbols-outlined" }, "call"), h("a", { href: `tel:${this.informationDesk.phone}` }, this.informationDesk.phone))), this.informationDesk.email && (h("div", { class: "mail-container" }, h("span", { class: "material-symbols material-symbols-outlined" }, "mail"), h("a", { href: `mailto:${this.informationDesk.email}` }, this.informationDesk.email))), this.informationDesk.website && (h("div", { class: "link-container" }, h("span", { class: "material-symbols material-symbols-outlined" }, "link"), h("a", { href: `${this.informationDesk.website}` }, this.informationDesk.website))), this.informationDesk.description && (h("div", { class: "information-desk-description-container" }, h("div", { class: this.displayShortDescription ? 'information-desk-description-short' : 'information-desk-description', innerHTML: this.informationDesk.description }), h("div", { class: "handle-information-desk-description", onClick: () => this.handleInformationDeskDescription() }, this.displayShortDescription ? 'Lire plus' : 'Lire moins'))))));
14
+ return (h(Host, null, this.informationDesk.photo_url && (h("div", { class: "information-desk-img" }, h("img", { src: this.informationDesk.photo_url, loading: "lazy" }))), h("div", { class: "information-desk-sub-container" }, this.informationDesk.name && h("div", { class: "information-desk-name" }, this.informationDesk.name), this.informationDesk.latitude && this.informationDesk.longitude && (h("button", { class: "center-on-map-button", onClick: () => this.handleCenterOnMap() }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "location_searching"), "Centrer sur la carte")), (this.informationDesk.postal_code || this.informationDesk.municipality || this.informationDesk.street) && (h("div", null, this.informationDesk.postal_code && this.informationDesk.postal_code, this.informationDesk.municipality && ` ${this.informationDesk.municipality}`, this.informationDesk.street && ` ${this.informationDesk.street}`)), this.informationDesk.phone && (h("div", { class: "phone-container" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "call"), h("a", { href: `tel:${this.informationDesk.phone}` }, this.informationDesk.phone))), this.informationDesk.email && (h("div", { class: "mail-container" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "mail"), h("a", { href: `mailto:${this.informationDesk.email}` }, this.informationDesk.email))), this.informationDesk.website && (h("div", { class: "link-container" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "link"), h("a", { href: `${this.informationDesk.website}` }, this.informationDesk.website))), this.informationDesk.description && (h("div", { class: "information-desk-description-container" }, h("div", { class: this.displayShortDescription ? 'information-desk-description-short' : 'information-desk-description', innerHTML: this.informationDesk.description }), h("div", { class: "handle-information-desk-description", onClick: () => this.handleInformationDeskDescription() }, this.displayShortDescription ? 'Lire plus' : 'Lire moins'))))));
15
15
  }
16
16
  static get is() { return "grw-information-desk"; }
17
17
  static get encapsulation() { return "shadow"; }