@geotrekce/geotrek-rando-widget 0.2.14 → 0.2.16

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 (327) 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 +21 -7
  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_8.cjs.entry.js +37 -24
  9. package/dist/cjs/grw-filter_8.cjs.entry.js.br +0 -0
  10. package/dist/cjs/grw-filter_8.cjs.entry.js.gz +0 -0
  11. package/dist/cjs/grw-filter_8.cjs.entry.js.map +1 -1
  12. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js +4 -4
  13. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.br +0 -0
  14. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.gz +0 -0
  15. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/grw-trek-card.cjs.entry.js +4 -4
  17. package/dist/cjs/grw-trek-card.cjs.entry.js.br +0 -0
  18. package/dist/cjs/grw-trek-card.cjs.entry.js.gz +0 -0
  19. package/dist/cjs/grw-trek-card.cjs.entry.js.map +1 -1
  20. package/dist/cjs/{i18n-c0a655bf.js → i18n-210f453b.js} +3 -1
  21. package/dist/cjs/i18n-210f453b.js.br +0 -0
  22. package/dist/cjs/i18n-210f453b.js.gz +0 -0
  23. package/dist/cjs/i18n-210f453b.js.map +1 -0
  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/cjs/{store-8489a70a.js → store-7461838a.js} +5 -1
  28. package/dist/cjs/store-7461838a.js.br +0 -0
  29. package/dist/cjs/store-7461838a.js.gz +0 -0
  30. package/dist/cjs/store-7461838a.js.map +1 -0
  31. package/dist/cjs/{utils-51ed599a.js → utils-7e65b55d.js} +17 -15
  32. package/dist/cjs/utils-7e65b55d.js.br +0 -0
  33. package/dist/cjs/utils-7e65b55d.js.gz +0 -0
  34. package/dist/cjs/utils-7e65b55d.js.map +1 -0
  35. package/dist/collection/components/grw-app/grw-app.css +64 -6
  36. package/dist/collection/components/grw-app/grw-app.css.br +0 -0
  37. package/dist/collection/components/grw-app/grw-app.css.gz +0 -0
  38. package/dist/collection/components/grw-app/grw-app.js +19 -4
  39. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  40. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  41. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  42. package/dist/collection/components/grw-filter/grw-filter.css +4 -1
  43. package/dist/collection/components/grw-filter/grw-filter.css.br +0 -0
  44. package/dist/collection/components/grw-filter/grw-filter.css.gz +0 -0
  45. package/dist/collection/components/grw-filter/grw-filter.js +26 -3
  46. package/dist/collection/components/grw-filter/grw-filter.js.br +0 -0
  47. package/dist/collection/components/grw-filter/grw-filter.js.gz +0 -0
  48. package/dist/collection/components/grw-filter/grw-filter.js.map +1 -1
  49. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.css +4 -2
  50. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.css.br +0 -0
  51. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.css.gz +0 -0
  52. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.js +1 -1
  53. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.js.br +0 -0
  54. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.js.gz +0 -0
  55. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.js.map +1 -1
  56. package/dist/collection/components/grw-poi-detail/grw-poi-detail.css +16 -2
  57. package/dist/collection/components/grw-poi-detail/grw-poi-detail.css.br +0 -0
  58. package/dist/collection/components/grw-poi-detail/grw-poi-detail.css.gz +0 -0
  59. package/dist/collection/components/grw-search/grw-search.css +4 -1
  60. package/dist/collection/components/grw-search/grw-search.css.br +0 -0
  61. package/dist/collection/components/grw-search/grw-search.css.gz +0 -0
  62. package/dist/collection/components/grw-search/grw-search.js +1 -1
  63. package/dist/collection/components/grw-search/grw-search.js.br +0 -0
  64. package/dist/collection/components/grw-search/grw-search.js.gz +0 -0
  65. package/dist/collection/components/grw-search/grw-search.js.map +1 -1
  66. package/dist/collection/components/grw-select-language/grw-select-language.css +4 -1
  67. package/dist/collection/components/grw-select-language/grw-select-language.css.br +0 -0
  68. package/dist/collection/components/grw-select-language/grw-select-language.css.gz +0 -0
  69. package/dist/collection/components/grw-select-language/grw-select-language.js +1 -1
  70. package/dist/collection/components/grw-select-language/grw-select-language.js.br +0 -0
  71. package/dist/collection/components/grw-select-language/grw-select-language.js.gz +0 -0
  72. package/dist/collection/components/grw-select-language/grw-select-language.js.map +1 -1
  73. package/dist/collection/components/grw-trek-card/grw-trek-card.css +4 -1
  74. package/dist/collection/components/grw-trek-card/grw-trek-card.css.br +0 -0
  75. package/dist/collection/components/grw-trek-card/grw-trek-card.css.gz +0 -0
  76. package/dist/collection/components/grw-trek-card/grw-trek-card.js +1 -1
  77. package/dist/collection/components/grw-trek-card/grw-trek-card.js.br +0 -0
  78. package/dist/collection/components/grw-trek-card/grw-trek-card.js.gz +0 -0
  79. package/dist/collection/components/grw-trek-card/grw-trek-card.js.map +1 -1
  80. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css +24 -6
  81. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css.br +0 -0
  82. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css.gz +0 -0
  83. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +3 -3
  84. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  85. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  86. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  87. package/dist/collection/i18n/i18n.js +2 -0
  88. package/dist/collection/i18n/i18n.js.br +0 -0
  89. package/dist/collection/i18n/i18n.js.gz +0 -0
  90. package/dist/collection/i18n/i18n.js.map +1 -1
  91. package/dist/collection/store/grw-trek-provider.js +13 -8
  92. package/dist/collection/store/grw-trek-provider.js.br +0 -0
  93. package/dist/collection/store/grw-trek-provider.js.gz +0 -0
  94. package/dist/collection/store/grw-trek-provider.js.map +1 -1
  95. package/dist/collection/store/grw-treks-provider.js +4 -2
  96. package/dist/collection/store/grw-treks-provider.js.br +0 -0
  97. package/dist/collection/store/grw-treks-provider.js.gz +0 -0
  98. package/dist/collection/store/grw-treks-provider.js.map +1 -1
  99. package/dist/collection/store/store.js +4 -0
  100. package/dist/collection/store/store.js.br +0 -0
  101. package/dist/collection/store/store.js.gz +0 -0
  102. package/dist/collection/store/store.js.map +1 -1
  103. package/dist/collection/types/types.js.map +1 -1
  104. package/dist/collection/utils/utils.js +14 -13
  105. package/dist/collection/utils/utils.js.br +0 -0
  106. package/dist/collection/utils/utils.js.gz +0 -0
  107. package/dist/collection/utils/utils.js.map +1 -1
  108. package/dist/esm/geotrek-rando-widget.js +1 -1
  109. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  110. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  111. package/dist/esm/grw-app.entry.js +21 -7
  112. package/dist/esm/grw-app.entry.js.br +0 -0
  113. package/dist/esm/grw-app.entry.js.gz +0 -0
  114. package/dist/esm/grw-app.entry.js.map +1 -1
  115. package/dist/esm/grw-filter_8.entry.js +37 -24
  116. package/dist/esm/grw-filter_8.entry.js.br +0 -0
  117. package/dist/esm/grw-filter_8.entry.js.gz +0 -0
  118. package/dist/esm/grw-filter_8.entry.js.map +1 -1
  119. package/dist/esm/grw-information-desk-detail_3.entry.js +4 -4
  120. package/dist/esm/grw-information-desk-detail_3.entry.js.br +0 -0
  121. package/dist/esm/grw-information-desk-detail_3.entry.js.gz +0 -0
  122. package/dist/esm/grw-information-desk-detail_3.entry.js.map +1 -1
  123. package/dist/esm/grw-trek-card.entry.js +4 -4
  124. package/dist/esm/grw-trek-card.entry.js.br +0 -0
  125. package/dist/esm/grw-trek-card.entry.js.gz +0 -0
  126. package/dist/esm/grw-trek-card.entry.js.map +1 -1
  127. package/dist/esm/{i18n-22f5fa38.js → i18n-301409fd.js} +3 -1
  128. package/dist/esm/i18n-301409fd.js.br +0 -0
  129. package/dist/esm/i18n-301409fd.js.gz +0 -0
  130. package/dist/esm/i18n-301409fd.js.map +1 -0
  131. package/dist/esm/loader.js +1 -1
  132. package/dist/esm/loader.js.br +0 -0
  133. package/dist/esm/loader.js.gz +0 -0
  134. package/dist/esm/{store-af9549c8.js → store-23a2ba46.js} +5 -1
  135. package/dist/esm/store-23a2ba46.js.br +0 -0
  136. package/dist/esm/store-23a2ba46.js.gz +0 -0
  137. package/dist/esm/store-23a2ba46.js.map +1 -0
  138. package/dist/esm/{utils-85317c68.js → utils-39d36282.js} +17 -16
  139. package/dist/esm/utils-39d36282.js.br +0 -0
  140. package/dist/esm/utils-39d36282.js.gz +0 -0
  141. package/dist/esm/utils-39d36282.js.map +1 -0
  142. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  143. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  144. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  145. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  146. package/dist/esm-es5/grw-app.entry.js +1 -1
  147. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  148. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  149. package/dist/esm-es5/grw-app.entry.js.map +1 -1
  150. package/dist/esm-es5/grw-filter_8.entry.js +2 -2
  151. package/dist/esm-es5/grw-filter_8.entry.js.br +0 -0
  152. package/dist/esm-es5/grw-filter_8.entry.js.gz +0 -0
  153. package/dist/esm-es5/grw-filter_8.entry.js.map +1 -1
  154. package/dist/esm-es5/grw-information-desk-detail_3.entry.js +1 -1
  155. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.br +0 -0
  156. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.gz +0 -0
  157. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.map +1 -1
  158. package/dist/esm-es5/grw-trek-card.entry.js +1 -1
  159. package/dist/esm-es5/grw-trek-card.entry.js.br +0 -0
  160. package/dist/esm-es5/grw-trek-card.entry.js.gz +0 -0
  161. package/dist/esm-es5/grw-trek-card.entry.js.map +1 -1
  162. package/dist/esm-es5/{i18n-22f5fa38.js → i18n-301409fd.js} +2 -2
  163. package/dist/esm-es5/i18n-301409fd.js.br +0 -0
  164. package/dist/esm-es5/i18n-301409fd.js.gz +0 -0
  165. package/dist/esm-es5/i18n-301409fd.js.map +1 -0
  166. package/dist/esm-es5/loader.js +1 -1
  167. package/dist/esm-es5/loader.js.br +0 -0
  168. package/dist/esm-es5/loader.js.gz +0 -0
  169. package/dist/esm-es5/loader.js.map +1 -1
  170. package/dist/esm-es5/{store-af9549c8.js → store-23a2ba46.js} +2 -2
  171. package/dist/esm-es5/store-23a2ba46.js.br +0 -0
  172. package/dist/esm-es5/store-23a2ba46.js.gz +0 -0
  173. package/dist/{geotrek-rando-widget/p-458ec23b.system.js.map → esm-es5/store-23a2ba46.js.map} +1 -1
  174. package/dist/esm-es5/utils-39d36282.js +2 -0
  175. package/dist/esm-es5/utils-39d36282.js.br +0 -0
  176. package/dist/esm-es5/utils-39d36282.js.gz +0 -0
  177. package/dist/esm-es5/utils-39d36282.js.map +1 -0
  178. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  179. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  180. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  181. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  182. package/dist/geotrek-rando-widget/p-0218dbae.js +2 -0
  183. package/dist/geotrek-rando-widget/p-0218dbae.js.br +0 -0
  184. package/dist/geotrek-rando-widget/p-0218dbae.js.gz +0 -0
  185. package/dist/geotrek-rando-widget/p-0218dbae.js.map +1 -0
  186. package/dist/geotrek-rando-widget/p-029e494f.entry.js +2 -0
  187. package/dist/geotrek-rando-widget/p-029e494f.entry.js.br +0 -0
  188. package/dist/geotrek-rando-widget/p-029e494f.entry.js.gz +0 -0
  189. package/dist/geotrek-rando-widget/p-029e494f.entry.js.map +1 -0
  190. package/dist/geotrek-rando-widget/p-148f5f1d.system.js +1 -1
  191. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.br +0 -0
  192. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.gz +0 -0
  193. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.map +1 -1
  194. package/dist/geotrek-rando-widget/p-21c8e513.system.entry.js +2 -0
  195. package/dist/geotrek-rando-widget/p-21c8e513.system.entry.js.br +0 -0
  196. package/dist/geotrek-rando-widget/p-21c8e513.system.entry.js.gz +0 -0
  197. package/dist/geotrek-rando-widget/p-21c8e513.system.entry.js.map +1 -0
  198. package/dist/geotrek-rando-widget/p-574221ae.entry.js +2 -0
  199. package/dist/geotrek-rando-widget/p-574221ae.entry.js.br +0 -0
  200. package/dist/geotrek-rando-widget/p-574221ae.entry.js.gz +0 -0
  201. package/dist/geotrek-rando-widget/p-574221ae.entry.js.map +1 -0
  202. package/dist/geotrek-rando-widget/p-731c8990.system.js +2 -0
  203. package/dist/geotrek-rando-widget/p-731c8990.system.js.br +0 -0
  204. package/dist/geotrek-rando-widget/p-731c8990.system.js.gz +0 -0
  205. package/dist/geotrek-rando-widget/p-731c8990.system.js.map +1 -0
  206. package/dist/geotrek-rando-widget/p-7c0fdac3.system.entry.js +2 -0
  207. package/dist/geotrek-rando-widget/p-7c0fdac3.system.entry.js.br +0 -0
  208. package/dist/geotrek-rando-widget/p-7c0fdac3.system.entry.js.gz +0 -0
  209. package/dist/geotrek-rando-widget/p-7c0fdac3.system.entry.js.map +1 -0
  210. package/dist/geotrek-rando-widget/p-890b281b.entry.js +2 -0
  211. package/dist/geotrek-rando-widget/p-890b281b.entry.js.br +0 -0
  212. package/dist/geotrek-rando-widget/p-890b281b.entry.js.gz +0 -0
  213. package/dist/geotrek-rando-widget/p-890b281b.entry.js.map +1 -0
  214. package/dist/geotrek-rando-widget/p-9099f1eb.system.entry.js +2 -0
  215. package/dist/geotrek-rando-widget/p-9099f1eb.system.entry.js.br +0 -0
  216. package/dist/geotrek-rando-widget/p-9099f1eb.system.entry.js.gz +0 -0
  217. package/dist/geotrek-rando-widget/p-9099f1eb.system.entry.js.map +1 -0
  218. package/dist/geotrek-rando-widget/{p-93dc4557.system.js → p-a1c76660.system.js} +2 -2
  219. package/dist/geotrek-rando-widget/p-a1c76660.system.js.br +0 -0
  220. package/dist/geotrek-rando-widget/p-a1c76660.system.js.gz +0 -0
  221. package/dist/geotrek-rando-widget/p-a1c76660.system.js.map +1 -0
  222. package/dist/geotrek-rando-widget/{p-458ec23b.system.js → p-a7ce321e.system.js} +2 -2
  223. package/dist/geotrek-rando-widget/p-a7ce321e.system.js.br +0 -0
  224. package/dist/geotrek-rando-widget/p-a7ce321e.system.js.gz +0 -0
  225. package/dist/geotrek-rando-widget/p-a7ce321e.system.js.map +1 -0
  226. package/dist/geotrek-rando-widget/{p-764c52b8.js → p-ad723f74.js} +2 -2
  227. package/dist/geotrek-rando-widget/p-ad723f74.js.br +0 -0
  228. package/dist/geotrek-rando-widget/p-ad723f74.js.gz +0 -0
  229. package/dist/geotrek-rando-widget/p-ad723f74.js.map +1 -0
  230. package/dist/geotrek-rando-widget/{p-efe7fd1b.system.entry.js → p-bae950b8.system.entry.js} +4 -4
  231. package/dist/geotrek-rando-widget/p-bae950b8.system.entry.js.br +0 -0
  232. package/dist/geotrek-rando-widget/p-bae950b8.system.entry.js.gz +0 -0
  233. package/dist/geotrek-rando-widget/p-bae950b8.system.entry.js.map +1 -0
  234. package/dist/geotrek-rando-widget/p-c1eb1f30.js +2 -0
  235. package/dist/geotrek-rando-widget/p-c1eb1f30.js.br +0 -0
  236. package/dist/geotrek-rando-widget/p-c1eb1f30.js.gz +0 -0
  237. package/dist/geotrek-rando-widget/p-c1eb1f30.js.map +1 -0
  238. package/dist/geotrek-rando-widget/{p-54090e7d.entry.js → p-df9a7637.entry.js} +4 -4
  239. package/dist/geotrek-rando-widget/p-df9a7637.entry.js.br +0 -0
  240. package/dist/geotrek-rando-widget/p-df9a7637.entry.js.gz +0 -0
  241. package/dist/geotrek-rando-widget/p-df9a7637.entry.js.map +1 -0
  242. package/dist/types/components/grw-app/grw-app.d.ts +3 -0
  243. package/dist/types/components/grw-filter/grw-filter.d.ts +1 -0
  244. package/dist/types/components.d.ts +2 -0
  245. package/dist/types/i18n/i18n.d.ts +1 -0
  246. package/dist/types/store/store.d.ts +9 -1
  247. package/dist/types/types/types.d.ts +8 -0
  248. package/dist/types/utils/utils.d.ts +2 -1
  249. package/package.json +1 -1
  250. package/dist/cjs/i18n-c0a655bf.js.br +0 -0
  251. package/dist/cjs/i18n-c0a655bf.js.gz +0 -0
  252. package/dist/cjs/i18n-c0a655bf.js.map +0 -1
  253. package/dist/cjs/store-8489a70a.js.br +0 -0
  254. package/dist/cjs/store-8489a70a.js.gz +0 -0
  255. package/dist/cjs/store-8489a70a.js.map +0 -1
  256. package/dist/cjs/utils-51ed599a.js.br +0 -0
  257. package/dist/cjs/utils-51ed599a.js.gz +0 -0
  258. package/dist/cjs/utils-51ed599a.js.map +0 -1
  259. package/dist/esm/i18n-22f5fa38.js.br +0 -0
  260. package/dist/esm/i18n-22f5fa38.js.gz +0 -0
  261. package/dist/esm/i18n-22f5fa38.js.map +0 -1
  262. package/dist/esm/store-af9549c8.js.br +0 -0
  263. package/dist/esm/store-af9549c8.js.gz +0 -0
  264. package/dist/esm/store-af9549c8.js.map +0 -1
  265. package/dist/esm/utils-85317c68.js.br +0 -0
  266. package/dist/esm/utils-85317c68.js.gz +0 -0
  267. package/dist/esm/utils-85317c68.js.map +0 -1
  268. package/dist/esm-es5/i18n-22f5fa38.js.br +0 -0
  269. package/dist/esm-es5/i18n-22f5fa38.js.gz +0 -0
  270. package/dist/esm-es5/i18n-22f5fa38.js.map +0 -1
  271. package/dist/esm-es5/store-af9549c8.js.br +0 -0
  272. package/dist/esm-es5/store-af9549c8.js.gz +0 -0
  273. package/dist/esm-es5/store-af9549c8.js.map +0 -1
  274. package/dist/esm-es5/utils-85317c68.js +0 -2
  275. package/dist/esm-es5/utils-85317c68.js.br +0 -0
  276. package/dist/esm-es5/utils-85317c68.js.gz +0 -0
  277. package/dist/esm-es5/utils-85317c68.js.map +0 -1
  278. package/dist/geotrek-rando-widget/p-00f05696.js +0 -2
  279. package/dist/geotrek-rando-widget/p-00f05696.js.br +0 -0
  280. package/dist/geotrek-rando-widget/p-00f05696.js.gz +0 -0
  281. package/dist/geotrek-rando-widget/p-00f05696.js.map +0 -1
  282. package/dist/geotrek-rando-widget/p-0ec7146e.system.entry.js +0 -2
  283. package/dist/geotrek-rando-widget/p-0ec7146e.system.entry.js.br +0 -0
  284. package/dist/geotrek-rando-widget/p-0ec7146e.system.entry.js.gz +0 -0
  285. package/dist/geotrek-rando-widget/p-0ec7146e.system.entry.js.map +0 -1
  286. package/dist/geotrek-rando-widget/p-458ec23b.system.js.br +0 -0
  287. package/dist/geotrek-rando-widget/p-458ec23b.system.js.gz +0 -0
  288. package/dist/geotrek-rando-widget/p-54090e7d.entry.js.br +0 -0
  289. package/dist/geotrek-rando-widget/p-54090e7d.entry.js.gz +0 -0
  290. package/dist/geotrek-rando-widget/p-54090e7d.entry.js.map +0 -1
  291. package/dist/geotrek-rando-widget/p-75975c2b.entry.js +0 -2
  292. package/dist/geotrek-rando-widget/p-75975c2b.entry.js.br +0 -0
  293. package/dist/geotrek-rando-widget/p-75975c2b.entry.js.gz +0 -0
  294. package/dist/geotrek-rando-widget/p-75975c2b.entry.js.map +0 -1
  295. package/dist/geotrek-rando-widget/p-764c52b8.js.br +0 -0
  296. package/dist/geotrek-rando-widget/p-764c52b8.js.gz +0 -0
  297. package/dist/geotrek-rando-widget/p-764c52b8.js.map +0 -1
  298. package/dist/geotrek-rando-widget/p-93dc4557.system.js.br +0 -0
  299. package/dist/geotrek-rando-widget/p-93dc4557.system.js.gz +0 -0
  300. package/dist/geotrek-rando-widget/p-93dc4557.system.js.map +0 -1
  301. package/dist/geotrek-rando-widget/p-a1530528.js +0 -2
  302. package/dist/geotrek-rando-widget/p-a1530528.js.br +0 -0
  303. package/dist/geotrek-rando-widget/p-a1530528.js.gz +0 -0
  304. package/dist/geotrek-rando-widget/p-a1530528.js.map +0 -1
  305. package/dist/geotrek-rando-widget/p-a7477417.system.entry.js +0 -2
  306. package/dist/geotrek-rando-widget/p-a7477417.system.entry.js.br +0 -0
  307. package/dist/geotrek-rando-widget/p-a7477417.system.entry.js.gz +0 -0
  308. package/dist/geotrek-rando-widget/p-a7477417.system.entry.js.map +0 -1
  309. package/dist/geotrek-rando-widget/p-ccfcc97f.system.entry.js +0 -2
  310. package/dist/geotrek-rando-widget/p-ccfcc97f.system.entry.js.br +0 -0
  311. package/dist/geotrek-rando-widget/p-ccfcc97f.system.entry.js.gz +0 -0
  312. package/dist/geotrek-rando-widget/p-ccfcc97f.system.entry.js.map +0 -1
  313. package/dist/geotrek-rando-widget/p-d7444266.entry.js +0 -2
  314. package/dist/geotrek-rando-widget/p-d7444266.entry.js.br +0 -0
  315. package/dist/geotrek-rando-widget/p-d7444266.entry.js.gz +0 -0
  316. package/dist/geotrek-rando-widget/p-d7444266.entry.js.map +0 -1
  317. package/dist/geotrek-rando-widget/p-d7e384ea.entry.js +0 -2
  318. package/dist/geotrek-rando-widget/p-d7e384ea.entry.js.br +0 -0
  319. package/dist/geotrek-rando-widget/p-d7e384ea.entry.js.gz +0 -0
  320. package/dist/geotrek-rando-widget/p-d7e384ea.entry.js.map +0 -1
  321. package/dist/geotrek-rando-widget/p-dae5ab8a.system.js +0 -2
  322. package/dist/geotrek-rando-widget/p-dae5ab8a.system.js.br +0 -0
  323. package/dist/geotrek-rando-widget/p-dae5ab8a.system.js.gz +0 -0
  324. package/dist/geotrek-rando-widget/p-dae5ab8a.system.js.map +0 -1
  325. package/dist/geotrek-rando-widget/p-efe7fd1b.system.entry.js.br +0 -0
  326. package/dist/geotrek-rando-widget/p-efe7fd1b.system.entry.js.gz +0 -0
  327. package/dist/geotrek-rando-widget/p-efe7fd1b.system.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"file":"utils-7e65b55d.js","mappings":"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","names":["state"],"sources":["./src/utils/utils.ts"],"sourcesContent":["import state from 'store/store';\nimport { Filters, Treks } from 'types/types';\n\nexport function formatDuration(duration: number) {\n let formattedDuration;\n if (duration < 24) {\n formattedDuration = `${Math.floor(duration)}h`;\n if (duration % 1 > 0) {\n formattedDuration += `${Math.round(60 * (duration % 1))}min`;\n }\n } else {\n formattedDuration = `${duration / 24}j`;\n }\n return formattedDuration;\n}\n\nexport function formatLength(length: number) {\n return `${Math.round(length / 1000)}km`;\n}\n\nexport function formatAscent(ascent: number) {\n return `${ascent}m`;\n}\n\nexport const filters: Filters = [\n { property: 'practices', trekProperty: 'practice', trekPropertyIsArray: false, type: 'include', segment: 'selectedOthersFilters' },\n { property: 'difficulties', trekProperty: 'difficulty', trekPropertyIsArray: false, type: 'include', segment: 'selectedOthersFilters' },\n { property: 'durations', trekProperty: 'duration', trekPropertyIsArray: false, type: 'interval', segment: 'selectedOthersFilters' },\n { property: 'lengths', trekProperty: 'length_2d', trekPropertyIsArray: false, type: 'interval', segment: 'selectedOthersFilters' },\n { property: 'elevations', trekProperty: 'ascent', trekPropertyIsArray: false, type: 'interval', segment: 'selectedOthersFilters' },\n { property: 'routes', trekProperty: 'route', trekPropertyIsArray: false, type: 'include', segment: 'selectedOthersFilters' },\n { property: 'accessibilities', trekProperty: 'accessibilities', trekPropertyIsArray: true, type: 'include', segment: 'selectedOthersFilters' },\n { property: 'labels', trekProperty: 'labels', trekPropertyIsArray: true, type: 'include', segment: 'selectedOthersFilters' },\n { property: 'themes', trekProperty: 'themes', trekPropertyIsArray: true, type: 'include', segment: 'selectedThemesFilters' },\n { property: 'cities', trekProperty: 'cities', trekPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n { property: 'districts', trekProperty: 'districts', trekPropertyIsArray: true, type: 'include', segment: 'selectedLocationFilters' },\n];\n\nexport function handleFiltersAndSearch(): Treks {\n let isUsingFilter = false;\n let filtersTreks = [];\n for (const filter of filters) {\n const currentFiltersId: number[] = state[filter.property].filter(currentFilter => currentFilter.selected).map(currentFilter => currentFilter.id);\n if (currentFiltersId.length > 0) {\n if (filtersTreks.length > 0) {\n if (filter.type === 'include') {\n if (filter.trekPropertyIsArray) {\n filtersTreks = [...filtersTreks.filter(trek => trek[filter.trekProperty].some(trekProperty => currentFiltersId.includes(trekProperty)))];\n } else {\n filtersTreks = [...filtersTreks.filter(trek => currentFiltersId.includes(trek[filter.trekProperty]))];\n }\n } else if (filter.type === 'interval') {\n filtersTreks = [\n ...filtersTreks.filter(trek => {\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (trek[filter.trekProperty] >= currentFilter.minValue && trek[filter.trekProperty] <= currentFilter.maxValue) {\n return true;\n }\n }\n return false;\n }),\n ];\n }\n } else {\n if (!isUsingFilter) {\n isUsingFilter = true;\n }\n if (filter.type === 'include') {\n if (filter.trekPropertyIsArray) {\n filtersTreks = [...state.treks.filter(trek => trek[filter.trekProperty].some(trekProperty => currentFiltersId.includes(trekProperty)))];\n } else {\n filtersTreks = [...state.treks.filter(trek => currentFiltersId.includes(trek[filter.trekProperty]))];\n }\n } else if (filter.type === 'interval') {\n let minValue: number;\n let maxValue: number;\n for (const currentFilterId of currentFiltersId) {\n const currentFilter = state[filter.property].find(property => property.id === currentFilterId);\n if (isNaN(minValue) || currentFilter.minValue < minValue) {\n minValue = currentFilter.minValue;\n }\n if (isNaN(maxValue) || currentFilter.maxValue > maxValue) {\n maxValue = currentFilter.maxValue;\n }\n }\n filtersTreks = [...state.treks.filter(trek => trek[filter.trekProperty] >= minValue && trek[filter.trekProperty] <= maxValue)];\n }\n }\n }\n }\n\n const searchTreks = isUsingFilter ? filtersTreks : state.treks;\n return Boolean(state.searchValue) ? searchTreks.filter(currentTrek => currentTrek.name.toLowerCase().includes(state.searchValue.toLowerCase())) : searchTreks;\n}\n"],"version":3}
@@ -1,3 +1,7 @@
1
+ .material-symbols {
2
+ font-family: "Material Symbols Outlined";
3
+ }
4
+
1
5
  .material-symbols-outlined {
2
6
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
3
7
  }
@@ -115,7 +119,6 @@ grw-app {
115
119
  }
116
120
  .handle-search-filters-container .handle-filters-button span {
117
121
  font-size: 18px;
118
- font-family: "Material Symbols Outlined";
119
122
  }
120
123
 
121
124
  .filters-container {
@@ -125,8 +128,49 @@ grw-app {
125
128
  height: 100%;
126
129
  z-index: 1100;
127
130
  }
131
+ .filters-container .segmented-buttons-container {
132
+ display: flex;
133
+ justify-content: center;
134
+ width: calc(100% - 32px);
135
+ height: 40px;
136
+ margin: 16px;
137
+ border: 1px solid var(--color-outline);
138
+ border-radius: 20px;
139
+ line-height: 20px;
140
+ }
141
+ .filters-container .segmented-buttons-container .segment {
142
+ cursor: pointer;
143
+ user-select: none;
144
+ font-size: 14px;
145
+ font-weight: 500;
146
+ -webkit-tap-highlight-color: transparent;
147
+ color: var(--color-on-surface-variant);
148
+ background-color: transparent;
149
+ border-radius: 0px;
150
+ min-width: 40px;
151
+ display: flex;
152
+ align-items: center;
153
+ justify-content: center;
154
+ width: 100%;
155
+ height: 100%;
156
+ }
157
+ .filters-container .segmented-buttons-container .segment:first-child {
158
+ border-top-left-radius: 20px;
159
+ border-bottom-left-radius: 20px;
160
+ }
161
+ .filters-container .segmented-buttons-container .segment:not(:last-child) {
162
+ border-right: 1px solid var(--color-outline);
163
+ }
164
+ .filters-container .segmented-buttons-container .segment:last-child {
165
+ border-top-right-radius: 20px;
166
+ border-bottom-right-radius: 20px;
167
+ }
168
+ .filters-container .segmented-buttons-container .selected-segment {
169
+ color: var(--color-on-secondary-container);
170
+ background-color: var(--color-secondary-container);
171
+ }
128
172
 
129
- .filters-options-container {
173
+ .filters-segment-container {
130
174
  overflow-y: scroll;
131
175
  padding-bottom: 32px;
132
176
  max-height: calc(100% - 48px - 32px);
@@ -236,7 +280,6 @@ grw-app {
236
280
  box-shadow: var(--elevation-4);
237
281
  }
238
282
  .map-visibility-button-container .map-visibility-button span {
239
- font-family: "Material Symbols Outlined";
240
283
  font-size: 24px;
241
284
  margin-right: 8px;
242
285
  color: var(--color-on-primary-container);
@@ -279,13 +322,17 @@ grw-trek-detail {
279
322
  width: 50%;
280
323
  }
281
324
 
282
- .filters-options-buttons-container {
325
+ .filters-options-container {
283
326
  display: flex;
284
- justify-content: flex-end;
327
+ justify-content: space-between;
285
328
  align-items: center;
286
329
  height: 48px;
330
+ margin: 0px 16px;
331
+ }
332
+ .filters-options-container .filters-options-buttons-container {
333
+ display: flex;
287
334
  }
288
- .filters-options-buttons-container .filter-option-button {
335
+ .filters-options-container .filters-options-buttons-container .filter-option-button {
289
336
  cursor: pointer;
290
337
  user-select: none;
291
338
  font-size: 14px;
@@ -302,4 +349,15 @@ grw-trek-detail {
302
349
  line-height: 20px;
303
350
  color: var(--color-primary);
304
351
  background-color: transparent;
352
+ }
353
+
354
+ .segment-container {
355
+ margin-bottom: 64px;
356
+ }
357
+
358
+ .filter-container:not(:last-child)::after {
359
+ content: "";
360
+ display: block;
361
+ margin: 16px;
362
+ border-top: 1px solid var(--color-outline);
305
363
  }
@@ -1,6 +1,7 @@
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 } from 'utils/utils';
4
5
  export class GrwApp {
5
6
  constructor() {
6
7
  this.largeViewSize = 1024;
@@ -10,6 +11,7 @@ export class GrwApp {
10
11
  this.showTrekMap = false;
11
12
  this.showFilters = false;
12
13
  this.isLargeView = false;
14
+ this.selectedSegment = 'selectedOthersFilters';
13
15
  this.currentTrekId = undefined;
14
16
  this.appWidth = '100%';
15
17
  this.appHeight = '100vh';
@@ -134,8 +136,14 @@ export class GrwApp {
134
136
  }
135
137
  }
136
138
  handleEraseFilters() {
137
- this.resetFilter.emit();
139
+ filters.forEach(filter => {
140
+ state[filter.property].forEach(currentFilter => (currentFilter.selected = false));
141
+ });
142
+ state.selectedOthersFilters = 0;
143
+ state.selectedThemesFilters = 0;
144
+ state.selectedLocationFilters = 0;
138
145
  state.currentTreks = state.treks;
146
+ this.resetFilter.emit();
139
147
  }
140
148
  handleOkFilters() {
141
149
  this.handleFilters();
@@ -144,6 +152,12 @@ export class GrwApp {
144
152
  reset();
145
153
  window.removeEventListener('popstate', this.handlePopStateBind);
146
154
  }
155
+ handleSelectedSegment(selectedSegment) {
156
+ this.selectedSegment = selectedSegment;
157
+ }
158
+ handleSegment(segment) {
159
+ return filters.filter(filter => filter.segment === segment).some(filter => state[filter.property] && state[filter.property].length > 0);
160
+ }
147
161
  render() {
148
162
  return (h(Host, { style: {
149
163
  '--color-primary-app': this.colorPrimaryApp,
@@ -163,19 +177,19 @@ export class GrwApp {
163
177
  '--fab-color': this.fabColor,
164
178
  '--app-width': this.appWidth,
165
179
  '--app-height': this.appHeight,
166
- } }, !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' }, h("div", { class: "header-top" }, h("div", { class: "header-left-container" }, this.showTrek ? (h("button", { onClick: () => this.handleBackButton(), class: "arrow-back-icon" }, h("span", { class: "material-symbols-outlined" }, "arrow_back"))) : (h("div", { class: "attribution-container" }, h("a", { target: "_blank", href: this.linkTarget }, this.linkName)))), h("div", { class: "header-right-container" }, state.languages.length > 1 && h("grw-select-language", null))), !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-outlined margin-right-icon" }, "filter_list"), translate[state.language].filter))))), 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: {
180
+ } }, !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' }, h("div", { class: "header-top" }, h("div", { class: "header-left-container" }, this.showTrek ? (h("button", { onClick: () => this.handleBackButton(), class: "arrow-back-icon" }, h("span", { class: "material-symbols material-symbols-outlined" }, "arrow_back"))) : (h("div", { class: "attribution-container" }, h("a", { target: "_blank", href: this.linkTarget }, this.linkName)))), h("div", { class: "header-right-container" }, state.languages.length > 1 && h("grw-select-language", null))), !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: `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: {
167
181
  visibility: (!this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',
168
182
  zIndex: !this.showTrekMap ? '1' : '0',
169
183
  }, "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-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: {
170
184
  visibility: (this.showTreksMap && !this.showTrek) || (this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',
171
185
  zIndex: this.showTrekMap ? '1' : '0',
172
- }, "url-layer": this.urlLayer, center: this.center, zoom: this.zoom, attribution: this.attribution, "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-outlined" }, this.showTrek ? (this.showTrekMap ? 'summarize' : 'map') : this.showTreksMap ? 'list' : 'map'), this.showTrek
186
+ }, "url-layer": this.urlLayer, center: this.center, zoom: this.zoom, attribution: this.attribution, "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
173
187
  ? this.showTrekMap
174
188
  ? translate[state.language].showDetails
175
189
  : translate[state.language].showRoute
176
190
  : this.showTreksMap
177
191
  ? translate[state.language].showList
178
- : translate[state.language].showMap))))), !this.showTrek && this.showFilters && (h("div", { class: "options-container" }, h("div", { class: "filters-container" }, h("div", { class: "filters-options-buttons-container" }, h("button", { class: "filter-option-button", onClick: () => this.handleEraseFilters() }, "Effacer"), h("button", { class: "filter-option-button", onClick: () => this.handleOkFilters() }, "Ok")), h("div", { class: "filters-options-container" }, h("grw-filter", { filterName: translate[state.language].practice, filterType: "practices", filterNameProperty: "name" }), h("div", { class: "divider" }), h("grw-filter", { filterName: translate[state.language].difficulty, filterType: "difficulties", filterNameProperty: "label" }), h("div", { class: "divider" }), h("grw-filter", { filterName: translate[state.language].duration, filterType: "durations", filterNameProperty: "name" }), h("div", { class: "divider" }), h("grw-filter", { filterName: translate[state.language].length, filterType: "lengths", filterNameProperty: "name" }), h("div", { class: "divider" }), h("grw-filter", { filterName: translate[state.language].elevation, filterType: "elevations", filterNameProperty: "name" }), h("div", { class: "divider" }), h("grw-filter", { filterName: translate[state.language].themes, filterType: "themes", filterNameProperty: "label" }), h("div", { class: "divider" }), h("grw-filter", { filterName: translate[state.language].routes, filterType: "routes", filterNameProperty: "route" }), h("div", { class: "divider" }), h("grw-filter", { filterName: translate[state.language].accessibility, filterType: "accessibilities", filterNameProperty: "name" }), h("div", { class: "divider" }), h("grw-filter", { filterName: translate[state.language].others, filterType: "labels", filterNameProperty: "name" }), h("div", { class: "divider" }), h("grw-filter", { filterName: translate[state.language].cities, filterType: "cities", filterNameProperty: "name" }))), h("div", { onClick: () => this.handleFilters(), class: "back-filters-container" })))));
192
+ : 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() }, "Effacer"), h("button", { class: "filter-option-button", onClick: () => this.handleOkFilters() }, "Ok"))), h("div", { class: "segmented-buttons-container" }, this.handleSegment('selectedOthersFilters') && (h("label", { class: `segment${this.selectedSegment === 'selectedOthersFilters' ? ' selected-segment' : ''}`, onClick: () => this.handleSelectedSegment('selectedOthersFilters') }, "Autres ", state.selectedOthersFilters !== 0 && `(${state.selectedOthersFilters})`)), this.handleSegment('selectedThemesFilters') && (h("label", { class: `segment${this.selectedSegment === 'selectedThemesFilters' ? ' selected-segment' : ''}`, onClick: () => this.handleSelectedSegment('selectedThemesFilters') }, "Th\u00E8mes ", state.selectedThemesFilters !== 0 && `(${state.selectedThemesFilters})`)), this.handleSegment('selectedLocationFilters') && (h("label", { class: `segment${this.selectedSegment === 'selectedLocationFilters' ? ' selected-segment' : ''}`, onClick: () => this.handleSelectedSegment('selectedLocationFilters') }, "Localisation ", state.selectedLocationFilters !== 0 && `(${state.selectedLocationFilters})`))), h("div", { class: "filters-segment-container" }, this.selectedSegment === 'selectedOthersFilters' && (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: "selectedOthersFilters" }))), state['difficulties'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].difficulty, filterType: "difficulties", filterNameProperty: "label", segment: "selectedOthersFilters" }))), state['durations'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].duration, filterType: "durations", filterNameProperty: "name", segment: "selectedOthersFilters" }))), state['lengths'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].length, filterType: "lengths", filterNameProperty: "name", segment: "selectedOthersFilters" }))), state['elevations'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].elevation, filterType: "elevations", filterNameProperty: "name", segment: "selectedOthersFilters" }))), state['routes'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].routes, filterType: "routes", filterNameProperty: "route", segment: "selectedOthersFilters" }))), state['accessibilities'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].accessibility, filterType: "accessibilities", filterNameProperty: "name", segment: "selectedOthersFilters" }))), state['labels'].length > 0 && (h("div", { class: "filter-container" }, h("grw-filter", { filterName: translate[state.language].others, filterType: "labels", filterNameProperty: "name", segment: "selectedOthersFilters" }))))), 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" })))));
179
193
  }
180
194
  static get is() { return "grw-app"; }
181
195
  static get originalStyleUrls() {
@@ -870,6 +884,7 @@ export class GrwApp {
870
884
  "showTrekMap": {},
871
885
  "showFilters": {},
872
886
  "isLargeView": {},
887
+ "selectedSegment": {},
873
888
  "currentTrekId": {}
874
889
  };
875
890
  }
@@ -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';\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() 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() urlLayer: string;\n @Prop() center: string;\n @Prop() zoom: number;\n @Prop() attribution: string;\n @Prop() linkName = 'GEOTREK';\n @Prop() linkTarget = 'https://geotrek.fr';\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 this.currentTrekId = event.detail;\n this.showTrek = !this.showTrek;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\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 if (trekParam) {\n window.history.replaceState({ isInitialHistoryWithTrek: true }, '', url);\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 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 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 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 this.resetFilter.emit();\n state.currentTreks = state.treks;\n }\n\n handleOkFilters() {\n this.handleFilters();\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 <div class=\"header-top\">\n <div class=\"header-left-container\">\n {this.showTrek ? (\n <button onClick={() => this.handleBackButton()} class=\"arrow-back-icon\">\n <span class=\"material-symbols-outlined\">arrow_back</span>\n </button>\n ) : (\n <div class=\"attribution-container\">\n <a target=\"_blank\" href={this.linkTarget}>\n {this.linkName}\n </a>\n </div>\n )}\n </div>\n <div class=\"header-right-container\">{state.languages.length > 1 && <grw-select-language></grw-select-language>}</div>\n </div>\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-outlined margin-right-icon\">filter_list</span>\n {translate[state.language].filter}\n </button>\n </div>\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-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 url-layer={this.urlLayer}\n center={this.center}\n zoom={this.zoom}\n attribution={this.attribution}\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-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-buttons-container\">\n <button class=\"filter-option-button\" onClick={() => this.handleEraseFilters()}>\n Effacer\n </button>\n <button class=\"filter-option-button\" onClick={() => this.handleOkFilters()}>\n Ok\n </button>\n </div>\n <div class=\"filters-options-container\">\n <grw-filter filterName={translate[state.language].practice} filterType=\"practices\" filterNameProperty=\"name\"></grw-filter>\n <div class=\"divider\"></div>\n <grw-filter filterName={translate[state.language].difficulty} filterType=\"difficulties\" filterNameProperty=\"label\"></grw-filter>\n <div class=\"divider\"></div>\n <grw-filter filterName={translate[state.language].duration} filterType=\"durations\" filterNameProperty=\"name\"></grw-filter>\n <div class=\"divider\"></div>\n <grw-filter filterName={translate[state.language].length} filterType=\"lengths\" filterNameProperty=\"name\"></grw-filter>\n <div class=\"divider\"></div>\n <grw-filter filterName={translate[state.language].elevation} filterType=\"elevations\" filterNameProperty=\"name\"></grw-filter>\n <div class=\"divider\"></div>\n <grw-filter filterName={translate[state.language].themes} filterType=\"themes\" filterNameProperty=\"label\"></grw-filter>\n <div class=\"divider\"></div>\n <grw-filter filterName={translate[state.language].routes} filterType=\"routes\" filterNameProperty=\"route\"></grw-filter>\n <div class=\"divider\"></div>\n <grw-filter filterName={translate[state.language].accessibility} filterType=\"accessibilities\" filterNameProperty=\"name\"></grw-filter>\n <div class=\"divider\"></div>\n <grw-filter filterName={translate[state.language].others} filterType=\"labels\" filterNameProperty=\"name\"></grw-filter>\n <div class=\"divider\"></div>\n <grw-filter filterName={translate[state.language].cities} filterType=\"cities\" filterNameProperty=\"name\"></grw-filter>\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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","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 } 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 = 'selectedOthersFilters';\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() urlLayer: string;\n @Prop() center: string;\n @Prop() zoom: number;\n @Prop() attribution: string;\n @Prop() linkName = 'GEOTREK';\n @Prop() linkTarget = 'https://geotrek.fr';\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 this.currentTrekId = event.detail;\n this.showTrek = !this.showTrek;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\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 if (trekParam) {\n window.history.replaceState({ isInitialHistoryWithTrek: true }, '', url);\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 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 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 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.selectedOthersFilters = 0;\n state.selectedThemesFilters = 0;\n state.selectedLocationFilters = 0;\n state.currentTreks = state.treks;\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 <div class=\"header-top\">\n <div class=\"header-left-container\">\n {this.showTrek ? (\n <button onClick={() => this.handleBackButton()} class=\"arrow-back-icon\">\n <span class=\"material-symbols material-symbols-outlined\">arrow_back</span>\n </button>\n ) : (\n <div class=\"attribution-container\">\n <a target=\"_blank\" href={this.linkTarget}>\n {this.linkName}\n </a>\n </div>\n )}\n </div>\n <div class=\"header-right-container\">{state.languages.length > 1 && <grw-select-language></grw-select-language>}</div>\n </div>\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>\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-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 url-layer={this.urlLayer}\n center={this.center}\n zoom={this.zoom}\n attribution={this.attribution}\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 Effacer\n </button>\n <button class=\"filter-option-button\" onClick={() => this.handleOkFilters()}>\n Ok\n </button>\n </div>\n </div>\n <div class=\"segmented-buttons-container\">\n {this.handleSegment('selectedOthersFilters') && (\n <label\n class={`segment${this.selectedSegment === 'selectedOthersFilters' ? ' selected-segment' : ''}`}\n onClick={() => this.handleSelectedSegment('selectedOthersFilters')}\n >\n Autres {state.selectedOthersFilters !== 0 && `(${state.selectedOthersFilters})`}\n </label>\n )}\n {this.handleSegment('selectedThemesFilters') && (\n <label\n class={`segment${this.selectedSegment === 'selectedThemesFilters' ? ' selected-segment' : ''}`}\n onClick={() => this.handleSelectedSegment('selectedThemesFilters')}\n >\n Thèmes {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 Localisation {state.selectedLocationFilters !== 0 && `(${state.selectedLocationFilters})`}\n </label>\n )}\n </div>\n <div class=\"filters-segment-container\">\n {this.selectedSegment === 'selectedOthersFilters' && (\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=\"selectedOthersFilters\"></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=\"selectedOthersFilters\"\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=\"selectedOthersFilters\"></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=\"selectedOthersFilters\"></grw-filter>\n </div>\n )}\n {state['elevations'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].elevation} filterType=\"elevations\" filterNameProperty=\"name\" segment=\"selectedOthersFilters\"></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=\"selectedOthersFilters\"></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=\"selectedOthersFilters\"\n ></grw-filter>\n </div>\n )}\n {state['labels'].length > 0 && (\n <div class=\"filter-container\">\n <grw-filter filterName={translate[state.language].others} filterType=\"labels\" filterNameProperty=\"name\" segment=\"selectedOthersFilters\"></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,3 +1,7 @@
1
+ .material-symbols {
2
+ font-family: "Material Symbols Outlined";
3
+ }
4
+
1
5
  .material-symbols-outlined {
2
6
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
3
7
  }
@@ -55,7 +59,6 @@
55
59
  background-color: var(--color-secondary-container);
56
60
  }
57
61
  .filter-button-container .selected-filter-button span {
58
- font-family: "Material Symbols Outlined";
59
62
  font-size: 24px;
60
63
  margin-right: 8px;
61
64
  color: var(--color-on-secondary-container);
@@ -1,11 +1,12 @@
1
1
  import { Host, h, forceUpdate } from '@stencil/core';
2
2
  import state from 'store/store';
3
- import { handleFiltersAndSearch } from 'utils/utils';
3
+ import { filters, handleFiltersAndSearch } from 'utils/utils';
4
4
  export class GrwFilter {
5
5
  constructor() {
6
6
  this.filterType = undefined;
7
7
  this.filterName = undefined;
8
8
  this.filterNameProperty = undefined;
9
+ this.segment = undefined;
9
10
  }
10
11
  onResetFilter() {
11
12
  this.resetFilter();
@@ -15,14 +16,19 @@ export class GrwFilter {
15
16
  filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id).selected = !filterFromState.find(currentFilter => currentFilter.id === filterToHandle.id)
16
17
  .selected;
17
18
  state[this.filterType] = filterFromState;
19
+ state[this.segment] = 0;
20
+ filters
21
+ .filter(filter => filter.segment === this.segment)
22
+ .forEach(filter => {
23
+ state[this.segment] += state[filter.property].filter(filter => filter.selected).length;
24
+ });
18
25
  state.currentTreks = handleFiltersAndSearch();
19
26
  }
20
27
  resetFilter() {
21
- state[this.filterType].forEach(currentFilter => (currentFilter.selected = false));
22
28
  forceUpdate(this.filterRef);
23
29
  }
24
30
  render() {
25
- 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-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", { class: "material-symbols material-symbols-outlined" }, "check"), currentFilter[this.filterNameProperty]))))));
26
32
  }
27
33
  static get is() { return "grw-filter"; }
28
34
  static get encapsulation() { return "shadow"; }
@@ -88,6 +94,23 @@ export class GrwFilter {
88
94
  },
89
95
  "attribute": "filter-name-property",
90
96
  "reflect": false
97
+ },
98
+ "segment": {
99
+ "type": "string",
100
+ "mutable": false,
101
+ "complexType": {
102
+ "original": "string",
103
+ "resolved": "string",
104
+ "references": {}
105
+ },
106
+ "required": false,
107
+ "optional": false,
108
+ "docs": {
109
+ "tags": [],
110
+ "text": ""
111
+ },
112
+ "attribute": "segment",
113
+ "reflect": false
91
114
  }
92
115
  };
93
116
  }
@@ -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,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAOrD,MAAM,OAAO,SAAS;;;;;;EAMpB,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;IACzC,KAAK,CAAC,YAAY,GAAG,sBAAsB,EAAE,CAAC;EAChD,CAAC;EAED,WAAW;IACT,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;IAClF,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,2BAA2B,YAAa;QAC9E,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 { 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 @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 state.currentTreks = handleFiltersAndSearch();\n }\n\n resetFilter() {\n state[this.filterType].forEach(currentFilter => (currentFilter.selected = false));\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-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;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,3 +1,7 @@
1
+ .material-symbols {
2
+ font-family: "Material Symbols Outlined";
3
+ }
4
+
1
5
  .material-symbols-outlined {
2
6
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
3
7
  }
@@ -67,7 +71,6 @@
67
71
  .phone-container span,
68
72
  .mail-container span,
69
73
  .link-container span {
70
- font-family: "Material Symbols Outlined";
71
74
  font-size: 16px;
72
75
  margin-right: 8px;
73
76
  }
@@ -97,6 +100,5 @@
97
100
  box-shadow: var(--elevation-2);
98
101
  }
99
102
  .center-on-map-button span {
100
- font-family: "Material Symbols Outlined";
101
103
  font-size: 18px;
102
104
  }
@@ -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-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-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-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-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", { 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'))))));
15
15
  }
16
16
  static get is() { return "grw-information-desk-detail"; }
17
17
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"grw-information-desk-detail.js","sourceRoot":"","sources":["../../../src/components/grw-information-desk-detail/grw-information-desk-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Event, EventEmitter } from '@stencil/core';\nimport { InformationDesk } from 'types/types';\n\n@Component({\n tag: 'grw-information-desk-detail',\n styleUrl: 'grw-information-desk-detail.scss',\n shadow: true,\n})\nexport class GrwInformationDeskDetail {\n @Event() centerOnMap: EventEmitter<{ latitude: number; longitude: number }>;\n @State() displayShortDescription = true;\n @Prop() informationDesk: InformationDesk;\n\n handleInformationDeskDescription() {\n this.displayShortDescription = !this.displayShortDescription;\n }\n\n handleCenterOnMap() {\n this.centerOnMap.emit({ latitude: this.informationDesk.latitude, longitude: this.informationDesk.longitude });\n }\n\n render() {\n return (\n <Host>\n {this.informationDesk.photo_url && (\n <div class=\"information-desk-img\">\n <img src={this.informationDesk.photo_url} loading=\"lazy\" />\n </div>\n )}\n <div class=\"information-desk-sub-container\">\n {this.informationDesk.name && <div class=\"information-desk-name\">{this.informationDesk.name}</div>}\n {this.informationDesk.latitude && this.informationDesk.longitude && (\n <button class=\"center-on-map-button\" onClick={() => this.handleCenterOnMap()}>\n <span class=\"material-symbols-outlined\">location_searching</span>\n Centrer sur la carte\n </button>\n )}\n {(this.informationDesk.postal_code || this.informationDesk.municipality || this.informationDesk.street) && (\n <div>\n {this.informationDesk.postal_code && this.informationDesk.postal_code}\n {this.informationDesk.municipality && ` ${this.informationDesk.municipality}`}\n {this.informationDesk.street && ` ${this.informationDesk.street}`}\n </div>\n )}\n {this.informationDesk.phone && (\n <div class=\"phone-container\">\n <span class=\"material-symbols-outlined\">call</span>\n <a href={`tel:${this.informationDesk.phone}`}>{this.informationDesk.phone}</a>\n </div>\n )}\n {this.informationDesk.email && (\n <div class=\"mail-container\">\n <span class=\"material-symbols-outlined\">mail</span>\n <a href={`mailto:${this.informationDesk.email}`}>{this.informationDesk.email}</a>\n </div>\n )}\n {this.informationDesk.website && (\n <div class=\"link-container\">\n <span class=\"material-symbols-outlined\">link</span>\n <a href={`${this.informationDesk.website}`}>{this.informationDesk.website}</a>\n </div>\n )}\n {this.informationDesk.description && (\n <div class=\"information-desk-description-container\">\n <div class={this.displayShortDescription ? 'information-desk-description-short' : 'information-desk-description'} innerHTML={this.informationDesk.description}></div>\n <div class=\"handle-information-desk-description\" onClick={() => this.handleInformationDeskDescription()}>\n {this.displayShortDescription ? 'Lire plus' : 'Lire moins'}\n </div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"grw-information-desk-detail.js","sourceRoot":"","sources":["../../../src/components/grw-information-desk-detail/grw-information-desk-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Event, EventEmitter } from '@stencil/core';\nimport { InformationDesk } from 'types/types';\n\n@Component({\n tag: 'grw-information-desk-detail',\n styleUrl: 'grw-information-desk-detail.scss',\n shadow: true,\n})\nexport class GrwInformationDeskDetail {\n @Event() centerOnMap: EventEmitter<{ latitude: number; longitude: number }>;\n @State() displayShortDescription = true;\n @Prop() informationDesk: InformationDesk;\n\n handleInformationDeskDescription() {\n this.displayShortDescription = !this.displayShortDescription;\n }\n\n handleCenterOnMap() {\n this.centerOnMap.emit({ latitude: this.informationDesk.latitude, longitude: this.informationDesk.longitude });\n }\n\n render() {\n return (\n <Host>\n {this.informationDesk.photo_url && (\n <div class=\"information-desk-img\">\n <img src={this.informationDesk.photo_url} loading=\"lazy\" />\n </div>\n )}\n <div class=\"information-desk-sub-container\">\n {this.informationDesk.name && <div class=\"information-desk-name\">{this.informationDesk.name}</div>}\n {this.informationDesk.latitude && this.informationDesk.longitude && (\n <button class=\"center-on-map-button\" onClick={() => this.handleCenterOnMap()}>\n <span class=\"material-symbols material-symbols-outlined\">location_searching</span>\n Centrer sur la carte\n </button>\n )}\n {(this.informationDesk.postal_code || this.informationDesk.municipality || this.informationDesk.street) && (\n <div>\n {this.informationDesk.postal_code && this.informationDesk.postal_code}\n {this.informationDesk.municipality && ` ${this.informationDesk.municipality}`}\n {this.informationDesk.street && ` ${this.informationDesk.street}`}\n </div>\n )}\n {this.informationDesk.phone && (\n <div class=\"phone-container\">\n <span class=\"material-symbols material-symbols-outlined\">call</span>\n <a href={`tel:${this.informationDesk.phone}`}>{this.informationDesk.phone}</a>\n </div>\n )}\n {this.informationDesk.email && (\n <div class=\"mail-container\">\n <span class=\"material-symbols material-symbols-outlined\">mail</span>\n <a href={`mailto:${this.informationDesk.email}`}>{this.informationDesk.email}</a>\n </div>\n )}\n {this.informationDesk.website && (\n <div class=\"link-container\">\n <span class=\"material-symbols material-symbols-outlined\">link</span>\n <a href={`${this.informationDesk.website}`}>{this.informationDesk.website}</a>\n </div>\n )}\n {this.informationDesk.description && (\n <div class=\"information-desk-description-container\">\n <div class={this.displayShortDescription ? 'information-desk-description-short' : 'information-desk-description'} innerHTML={this.informationDesk.description}></div>\n <div class=\"handle-information-desk-description\" onClick={() => this.handleInformationDeskDescription()}>\n {this.displayShortDescription ? 'Lire plus' : 'Lire moins'}\n </div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}