@geotrekce/geotrek-rando-widget 0.2.15 → 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 (228) 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 +18 -4
  5. package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
  6. package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
  7. package/dist/cjs/grw-app.cjs.entry.js.map +1 -1
  8. package/dist/cjs/grw-filter_8.cjs.entry.js +10 -4
  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 +1 -1
  13. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.br +0 -0
  14. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.gz +0 -0
  15. package/dist/cjs/grw-trek-card.cjs.entry.js +2 -2
  16. package/dist/cjs/grw-trek-card.cjs.entry.js.br +0 -0
  17. package/dist/cjs/grw-trek-card.cjs.entry.js.gz +0 -0
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/cjs/loader.cjs.js.br +0 -0
  20. package/dist/cjs/loader.cjs.js.gz +0 -0
  21. package/dist/cjs/{store-b6d5fcad.js → store-7461838a.js} +4 -1
  22. package/dist/cjs/store-7461838a.js.br +0 -0
  23. package/dist/cjs/store-7461838a.js.gz +0 -0
  24. package/dist/cjs/store-7461838a.js.map +1 -0
  25. package/dist/cjs/{utils-1dd4bcbd.js → utils-7e65b55d.js} +17 -16
  26. package/dist/cjs/utils-7e65b55d.js.br +0 -0
  27. package/dist/cjs/utils-7e65b55d.js.gz +0 -0
  28. package/dist/cjs/utils-7e65b55d.js.map +1 -0
  29. package/dist/collection/components/grw-app/grw-app.css +60 -4
  30. package/dist/collection/components/grw-app/grw-app.css.br +0 -0
  31. package/dist/collection/components/grw-app/grw-app.css.gz +0 -0
  32. package/dist/collection/components/grw-app/grw-app.js +17 -2
  33. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  34. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  35. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  36. package/dist/collection/components/grw-filter/grw-filter.js +25 -2
  37. package/dist/collection/components/grw-filter/grw-filter.js.br +0 -0
  38. package/dist/collection/components/grw-filter/grw-filter.js.gz +0 -0
  39. package/dist/collection/components/grw-filter/grw-filter.js.map +1 -1
  40. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +1 -1
  41. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  42. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  43. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  44. package/dist/collection/store/store.js +3 -0
  45. package/dist/collection/store/store.js.br +0 -0
  46. package/dist/collection/store/store.js.gz +0 -0
  47. package/dist/collection/store/store.js.map +1 -1
  48. package/dist/collection/types/types.js.map +1 -1
  49. package/dist/collection/utils/utils.js +14 -14
  50. package/dist/collection/utils/utils.js.br +0 -0
  51. package/dist/collection/utils/utils.js.gz +0 -0
  52. package/dist/collection/utils/utils.js.map +1 -1
  53. package/dist/esm/geotrek-rando-widget.js +1 -1
  54. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  55. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  56. package/dist/esm/grw-app.entry.js +18 -4
  57. package/dist/esm/grw-app.entry.js.br +0 -0
  58. package/dist/esm/grw-app.entry.js.gz +0 -0
  59. package/dist/esm/grw-app.entry.js.map +1 -1
  60. package/dist/esm/grw-filter_8.entry.js +10 -4
  61. package/dist/esm/grw-filter_8.entry.js.br +0 -0
  62. package/dist/esm/grw-filter_8.entry.js.gz +0 -0
  63. package/dist/esm/grw-filter_8.entry.js.map +1 -1
  64. package/dist/esm/grw-information-desk-detail_3.entry.js +1 -1
  65. package/dist/esm/grw-information-desk-detail_3.entry.js.br +0 -0
  66. package/dist/esm/grw-information-desk-detail_3.entry.js.gz +0 -0
  67. package/dist/esm/grw-trek-card.entry.js +2 -2
  68. package/dist/esm/grw-trek-card.entry.js.br +0 -0
  69. package/dist/esm/grw-trek-card.entry.js.gz +0 -0
  70. package/dist/esm/loader.js +1 -1
  71. package/dist/esm/loader.js.br +0 -0
  72. package/dist/esm/loader.js.gz +0 -0
  73. package/dist/esm/{store-2a612007.js → store-23a2ba46.js} +4 -1
  74. package/dist/esm/store-23a2ba46.js.br +0 -0
  75. package/dist/esm/store-23a2ba46.js.gz +0 -0
  76. package/dist/esm/store-23a2ba46.js.map +1 -0
  77. package/dist/esm/{utils-4b2144e3.js → utils-39d36282.js} +17 -17
  78. package/dist/esm/utils-39d36282.js.br +0 -0
  79. package/dist/esm/utils-39d36282.js.gz +0 -0
  80. package/dist/esm/utils-39d36282.js.map +1 -0
  81. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  82. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  83. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  84. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  85. package/dist/esm-es5/grw-app.entry.js +1 -1
  86. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  87. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  88. package/dist/esm-es5/grw-app.entry.js.map +1 -1
  89. package/dist/esm-es5/grw-filter_8.entry.js +2 -2
  90. package/dist/esm-es5/grw-filter_8.entry.js.br +0 -0
  91. package/dist/esm-es5/grw-filter_8.entry.js.gz +0 -0
  92. package/dist/esm-es5/grw-filter_8.entry.js.map +1 -1
  93. package/dist/esm-es5/grw-information-desk-detail_3.entry.js +1 -1
  94. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.br +0 -0
  95. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.gz +0 -0
  96. package/dist/esm-es5/grw-trek-card.entry.js +1 -1
  97. package/dist/esm-es5/grw-trek-card.entry.js.br +0 -0
  98. package/dist/esm-es5/grw-trek-card.entry.js.gz +0 -0
  99. package/dist/esm-es5/loader.js +1 -1
  100. package/dist/esm-es5/loader.js.br +0 -0
  101. package/dist/esm-es5/loader.js.gz +0 -0
  102. package/dist/esm-es5/loader.js.map +1 -1
  103. package/dist/esm-es5/{store-2a612007.js → store-23a2ba46.js} +2 -2
  104. package/dist/esm-es5/store-23a2ba46.js.br +0 -0
  105. package/dist/esm-es5/store-23a2ba46.js.gz +0 -0
  106. package/dist/esm-es5/store-23a2ba46.js.map +1 -0
  107. package/dist/esm-es5/utils-39d36282.js +2 -0
  108. package/dist/esm-es5/utils-39d36282.js.br +0 -0
  109. package/dist/esm-es5/utils-39d36282.js.gz +0 -0
  110. package/dist/esm-es5/utils-39d36282.js.map +1 -0
  111. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  112. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  113. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  114. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  115. package/dist/geotrek-rando-widget/p-029e494f.entry.js +2 -0
  116. package/dist/geotrek-rando-widget/p-029e494f.entry.js.br +0 -0
  117. package/dist/geotrek-rando-widget/p-029e494f.entry.js.gz +0 -0
  118. package/dist/geotrek-rando-widget/p-029e494f.entry.js.map +1 -0
  119. package/dist/geotrek-rando-widget/p-148f5f1d.system.js +1 -1
  120. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.br +0 -0
  121. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.gz +0 -0
  122. package/dist/geotrek-rando-widget/p-148f5f1d.system.js.map +1 -1
  123. package/dist/geotrek-rando-widget/{p-e4dba310.system.entry.js → p-21c8e513.system.entry.js} +2 -2
  124. package/dist/geotrek-rando-widget/p-21c8e513.system.entry.js.br +0 -0
  125. package/dist/geotrek-rando-widget/p-21c8e513.system.entry.js.gz +0 -0
  126. package/dist/geotrek-rando-widget/{p-165684be.entry.js → p-574221ae.entry.js} +2 -2
  127. package/dist/geotrek-rando-widget/p-574221ae.entry.js.br +0 -0
  128. package/dist/geotrek-rando-widget/p-574221ae.entry.js.gz +0 -0
  129. package/dist/geotrek-rando-widget/p-731c8990.system.js +2 -0
  130. package/dist/geotrek-rando-widget/p-731c8990.system.js.br +0 -0
  131. package/dist/geotrek-rando-widget/p-731c8990.system.js.gz +0 -0
  132. package/dist/geotrek-rando-widget/p-731c8990.system.js.map +1 -0
  133. package/dist/geotrek-rando-widget/{p-5194053a.system.entry.js → p-7c0fdac3.system.entry.js} +2 -2
  134. package/dist/geotrek-rando-widget/p-7c0fdac3.system.entry.js.br +0 -0
  135. package/dist/geotrek-rando-widget/p-7c0fdac3.system.entry.js.gz +0 -0
  136. package/dist/geotrek-rando-widget/{p-4d95a8f3.entry.js → p-890b281b.entry.js} +2 -2
  137. package/dist/geotrek-rando-widget/p-890b281b.entry.js.br +0 -0
  138. package/dist/geotrek-rando-widget/p-890b281b.entry.js.gz +0 -0
  139. package/dist/geotrek-rando-widget/p-9099f1eb.system.entry.js +2 -0
  140. package/dist/geotrek-rando-widget/p-9099f1eb.system.entry.js.br +0 -0
  141. package/dist/geotrek-rando-widget/p-9099f1eb.system.entry.js.gz +0 -0
  142. package/dist/geotrek-rando-widget/p-9099f1eb.system.entry.js.map +1 -0
  143. package/dist/geotrek-rando-widget/{p-a9b9dd2a.system.js → p-a7ce321e.system.js} +2 -2
  144. package/dist/geotrek-rando-widget/p-a7ce321e.system.js.br +0 -0
  145. package/dist/geotrek-rando-widget/p-a7ce321e.system.js.gz +0 -0
  146. package/dist/geotrek-rando-widget/p-a7ce321e.system.js.map +1 -0
  147. package/dist/geotrek-rando-widget/{p-06df20f8.js → p-ad723f74.js} +2 -2
  148. package/dist/geotrek-rando-widget/p-ad723f74.js.br +0 -0
  149. package/dist/geotrek-rando-widget/p-ad723f74.js.gz +0 -0
  150. package/dist/geotrek-rando-widget/p-ad723f74.js.map +1 -0
  151. package/dist/geotrek-rando-widget/{p-896227f5.system.entry.js → p-bae950b8.system.entry.js} +4 -4
  152. package/dist/geotrek-rando-widget/p-bae950b8.system.entry.js.br +0 -0
  153. package/dist/geotrek-rando-widget/p-bae950b8.system.entry.js.gz +0 -0
  154. package/dist/geotrek-rando-widget/p-bae950b8.system.entry.js.map +1 -0
  155. package/dist/geotrek-rando-widget/p-c1eb1f30.js +2 -0
  156. package/dist/geotrek-rando-widget/p-c1eb1f30.js.br +0 -0
  157. package/dist/geotrek-rando-widget/p-c1eb1f30.js.gz +0 -0
  158. package/dist/geotrek-rando-widget/p-c1eb1f30.js.map +1 -0
  159. package/dist/geotrek-rando-widget/{p-d92c9342.entry.js → p-df9a7637.entry.js} +4 -4
  160. package/dist/geotrek-rando-widget/p-df9a7637.entry.js.br +0 -0
  161. package/dist/geotrek-rando-widget/p-df9a7637.entry.js.gz +0 -0
  162. package/dist/geotrek-rando-widget/p-df9a7637.entry.js.map +1 -0
  163. package/dist/types/components/grw-app/grw-app.d.ts +3 -0
  164. package/dist/types/components/grw-filter/grw-filter.d.ts +1 -0
  165. package/dist/types/components.d.ts +2 -0
  166. package/dist/types/store/store.d.ts +6 -0
  167. package/dist/types/types/types.d.ts +1 -0
  168. package/dist/types/utils/utils.d.ts +2 -1
  169. package/package.json +1 -1
  170. package/dist/cjs/store-b6d5fcad.js.br +0 -0
  171. package/dist/cjs/store-b6d5fcad.js.gz +0 -0
  172. package/dist/cjs/store-b6d5fcad.js.map +0 -1
  173. package/dist/cjs/utils-1dd4bcbd.js.br +0 -0
  174. package/dist/cjs/utils-1dd4bcbd.js.gz +0 -0
  175. package/dist/cjs/utils-1dd4bcbd.js.map +0 -1
  176. package/dist/esm/store-2a612007.js.br +0 -0
  177. package/dist/esm/store-2a612007.js.gz +0 -0
  178. package/dist/esm/store-2a612007.js.map +0 -1
  179. package/dist/esm/utils-4b2144e3.js.br +0 -0
  180. package/dist/esm/utils-4b2144e3.js.gz +0 -0
  181. package/dist/esm/utils-4b2144e3.js.map +0 -1
  182. package/dist/esm-es5/store-2a612007.js.br +0 -0
  183. package/dist/esm-es5/store-2a612007.js.gz +0 -0
  184. package/dist/esm-es5/store-2a612007.js.map +0 -1
  185. package/dist/esm-es5/utils-4b2144e3.js +0 -2
  186. package/dist/esm-es5/utils-4b2144e3.js.br +0 -0
  187. package/dist/esm-es5/utils-4b2144e3.js.gz +0 -0
  188. package/dist/esm-es5/utils-4b2144e3.js.map +0 -1
  189. package/dist/geotrek-rando-widget/p-06df20f8.js.br +0 -0
  190. package/dist/geotrek-rando-widget/p-06df20f8.js.gz +0 -0
  191. package/dist/geotrek-rando-widget/p-06df20f8.js.map +0 -1
  192. package/dist/geotrek-rando-widget/p-165684be.entry.js.br +0 -0
  193. package/dist/geotrek-rando-widget/p-165684be.entry.js.gz +0 -0
  194. package/dist/geotrek-rando-widget/p-4d95a8f3.entry.js.br +0 -0
  195. package/dist/geotrek-rando-widget/p-4d95a8f3.entry.js.gz +0 -0
  196. package/dist/geotrek-rando-widget/p-5194053a.system.entry.js.br +0 -0
  197. package/dist/geotrek-rando-widget/p-5194053a.system.entry.js.gz +0 -0
  198. package/dist/geotrek-rando-widget/p-55569971.system.js +0 -2
  199. package/dist/geotrek-rando-widget/p-55569971.system.js.br +0 -0
  200. package/dist/geotrek-rando-widget/p-55569971.system.js.gz +0 -0
  201. package/dist/geotrek-rando-widget/p-55569971.system.js.map +0 -1
  202. package/dist/geotrek-rando-widget/p-896227f5.system.entry.js.br +0 -0
  203. package/dist/geotrek-rando-widget/p-896227f5.system.entry.js.gz +0 -0
  204. package/dist/geotrek-rando-widget/p-896227f5.system.entry.js.map +0 -1
  205. package/dist/geotrek-rando-widget/p-a2575e40.js +0 -2
  206. package/dist/geotrek-rando-widget/p-a2575e40.js.br +0 -0
  207. package/dist/geotrek-rando-widget/p-a2575e40.js.gz +0 -0
  208. package/dist/geotrek-rando-widget/p-a2575e40.js.map +0 -1
  209. package/dist/geotrek-rando-widget/p-a9b9dd2a.system.js.br +0 -0
  210. package/dist/geotrek-rando-widget/p-a9b9dd2a.system.js.gz +0 -0
  211. package/dist/geotrek-rando-widget/p-a9b9dd2a.system.js.map +0 -1
  212. package/dist/geotrek-rando-widget/p-c7bb2715.system.entry.js +0 -2
  213. package/dist/geotrek-rando-widget/p-c7bb2715.system.entry.js.br +0 -0
  214. package/dist/geotrek-rando-widget/p-c7bb2715.system.entry.js.gz +0 -0
  215. package/dist/geotrek-rando-widget/p-c7bb2715.system.entry.js.map +0 -1
  216. package/dist/geotrek-rando-widget/p-d92c9342.entry.js.br +0 -0
  217. package/dist/geotrek-rando-widget/p-d92c9342.entry.js.gz +0 -0
  218. package/dist/geotrek-rando-widget/p-d92c9342.entry.js.map +0 -1
  219. package/dist/geotrek-rando-widget/p-e4dba310.system.entry.js.br +0 -0
  220. package/dist/geotrek-rando-widget/p-e4dba310.system.entry.js.gz +0 -0
  221. package/dist/geotrek-rando-widget/p-fa9a840a.entry.js +0 -2
  222. package/dist/geotrek-rando-widget/p-fa9a840a.entry.js.br +0 -0
  223. package/dist/geotrek-rando-widget/p-fa9a840a.entry.js.gz +0 -0
  224. package/dist/geotrek-rando-widget/p-fa9a840a.entry.js.map +0 -1
  225. /package/dist/geotrek-rando-widget/{p-e4dba310.system.entry.js.map → p-21c8e513.system.entry.js.map} +0 -0
  226. /package/dist/geotrek-rando-widget/{p-165684be.entry.js.map → p-574221ae.entry.js.map} +0 -0
  227. /package/dist/geotrek-rando-widget/{p-5194053a.system.entry.js.map → p-7c0fdac3.system.entry.js.map} +0 -0
  228. /package/dist/geotrek-rando-widget/{p-4d95a8f3.entry.js.map → p-890b281b.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["grwAppCss","GrwApp","this","largeViewSize","handlePopStateBind","handlePopState","bind","prototype","onTrekCardPress","event","currentTrekId","detail","showTrek","showTrekMap","url","URL","window","location","toString","searchParams","set","history","pushState","onWindowResize","handleView","onCenterOnMap","isLargeView","watchPropHandler","dispatchEvent","Event","componentWillLoad","trekParam","get","replaceState","isInitialHistoryWithTrek","Number","componentDidLoad","_this","onChange","state","trekNetworkError","urlRedirect","delete","onTrekDetailsClose","addEventListener","currentTrek","appElement","getBoundingClientRect","width","showTreksMap","handleFilters","showFilters","handleBackButton","back","handleShowMap","handleEraseFilters","resetFilter","emit","currentTreks","treks","handleOkFilters","disconnectedCallback","reset","removeEventListener","render","h","Host","style","colorPrimaryApp","colorOnPrimary","colorSurface","colorOnSurface","colorSurfaceVariant","colorOnSurfaceVariant","colorPrimaryContainer","colorOnPrimaryContainer","colorSecondaryContainer","colorOnSecondaryContainer","colorBackground","colorSurfaceContainerHigh","colorSurfaceContainerLow","fabBackgroundColor","fabColor","appWidth","appHeight","class","api","languages","inBbox","cities","districts","structures","themes","portals","routes","practices","onClick","target","href","linkTarget","linkName","length","translate","language","filter","concat","display","position","visibility","zIndex","weather","urlLayer","center","zoom","attribution","colorTrekLine","colorSensitiveArea","colorPoiIcon","useGradient","showDetails","showRoute","showList","showMap","filterName","practice","filterType","filterNameProperty","difficulty","duration","elevation","accessibility","others"],"sources":["src/components/grw-app/grw-app.scss?tag=grw-app","src/components/grw-app/grw-app.tsx"],"sourcesContent":[".material-symbols {\n font-family: 'Material Symbols Outlined';\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\ngrw-app {\n display: block;\n position: relative;\n width: var(--app-width);\n height: var(--app-height);\n font-family: 'Roboto';\n color: var(--color-on-surface);\n overflow: hidden;\n line-height: initial;\n max-width: 100vw;\n max-height: 100vh;\n}\n\n.app-container {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.header-container,\n.large-view-header-container {\n background-color: var(--color-background);\n box-shadow: var(--elevation-2);\n .header-top {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n height: 64px;\n }\n .arrow-back-icon {\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n color: var(--color-on-surface);\n border: none;\n background-color: var(--color-background);\n border-radius: 50%;\n height: 48px;\n width: 48px;\n padding: 12px;\n &:hover {\n box-shadow: var(--elevation-1);\n }\n }\n .header-left-container {\n margin-left: 8px;\n }\n .header-right-container {\n display: flex;\n align-items: center;\n margin-right: 8px;\n .margin-right-icon {\n margin-right: 8px;\n }\n }\n .attribution-container {\n a {\n font-size: 24px;\n font-weight: 400;\n line-height: 40px;\n color: var(--color-on-surface);\n text-decoration: none;\n }\n }\n}\n\n.options-container {\n height: calc(100% - 64px);\n position: absolute;\n width: 100%;\n z-index: 1100;\n top: 64px;\n}\n\n.handle-search-filters-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0px 16px;\n height: 64px;\n .handle-filters-button {\n user-select: none;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border: none;\n background-color: var(--color-background);\n color: var(--color-on-surface);\n padding: 12px 24px;\n border-radius: 20px;\n box-sizing: border-box;\n position: relative;\n gap: 8px;\n white-space: nowrap;\n line-height: 20px;\n letter-spacing: 0.10000000149011612px;\n font-size: 14px;\n font-weight: 500;\n box-shadow: var(--elevation-1);\n transition: box-shadow 0.2s ease-in-out 0s;\n span {\n font-size: 18px;\n }\n }\n}\n\n.filters-container {\n background-color: var(--color-background);\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1100;\n}\n\n.filters-options-container {\n overflow-y: scroll;\n padding-bottom: 32px;\n max-height: calc(100% - 48px - 32px);\n}\n\n.back-filters-container {\n background-color: rgba(0, 0, 0, 0.5);\n width: 100%;\n height: 100%;\n position: absolute;\n z-index: 1099;\n}\n\n.divider {\n margin: 16px;\n border-top: 1px solid var(--color-outline);\n}\n\n.init-loader-container,\n.loader-container,\n.large-view-loader-container {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n background-color: var(--color-background);\n .loader {\n width: 48px;\n height: 48px;\n border: 5px solid var(--color-primary-container);\n border-bottom-color: var(--color-on-primary-container);\n border-radius: 50%;\n display: inline-block;\n box-sizing: border-box;\n animation: rotation 1s linear infinite;\n }\n\n @keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n}\n\n.content-container {\n position: relative;\n display: flex;\n height: calc(100% - 64px - 64px);\n background-color: var(--color-background);\n}\n\n.content-treks {\n height: calc(100% - 64px - 64px);\n}\n\n.content-trek {\n height: calc(100% - 64px);\n}\n\n.app-treks-list-container,\n.app-trek-detail-container,\n.large-view-app-treks-list-container,\n.large-view-app-trek-detail-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.app-map-container,\n.large-view-app-map-container {\n width: 100%;\n height: 100%;\n}\n\n.map-visibility-button-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n position: absolute;\n bottom: 24px;\n z-index: 4;\n .map-visibility-button {\n cursor: pointer;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border: none;\n text-decoration: none;\n padding: 16px;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n box-shadow: var(--elevation-1);\n border-radius: 12px;\n height: 56px;\n font-size: 16px;\n width: unset;\n &:hover {\n box-shadow: var(--elevation-4);\n }\n span {\n font-size: 24px;\n margin-right: 8px;\n color: var(--color-on-primary-container);\n }\n }\n}\n\n.init-loader-container,\n.loader-container {\n width: 100%;\n}\n\n.app-treks-list-container,\n.app-trek-detail-container {\n width: 100%;\n}\n\ngrw-treks-list {\n max-height: calc(100vh - 64px - 64px);\n}\n\ngrw-trek-detail {\n max-height: calc(100vh - 64px - 48px);\n}\n\n.app-map-container {\n width: 100%;\n position: absolute;\n}\n\n.large-view-loader-container {\n width: 50%;\n}\n\n.large-view-app-treks-list-container,\n.large-view-app-trek-detail-container {\n width: 50%;\n}\n\n.large-view-app-map-container {\n position: relative;\n width: 50%;\n}\n\n.filters-options-buttons-container {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n height: 48px;\n .filter-option-button {\n cursor: pointer;\n user-select: none;\n font-size: 14px;\n font-weight: 500;\n margin: 8px 0px 0px 8px;\n padding: 8px 16px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: var(--elevation-0);\n border: none;\n -webkit-tap-highlight-color: transparent;\n line-height: 20px;\n color: var(--color-primary);\n background-color: transparent;\n }\n}\n","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 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-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].districts} filterType=\"districts\" 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"],"mappings":"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"}
1
+ {"version":3,"names":["grwAppCss","GrwApp","this","largeViewSize","handlePopStateBind","handlePopState","bind","prototype","onTrekCardPress","event","currentTrekId","detail","showTrek","showTrekMap","url","URL","window","location","toString","searchParams","set","history","pushState","onWindowResize","handleView","onCenterOnMap","isLargeView","watchPropHandler","dispatchEvent","Event","componentWillLoad","trekParam","get","replaceState","isInitialHistoryWithTrek","Number","componentDidLoad","_this","onChange","state","trekNetworkError","urlRedirect","delete","onTrekDetailsClose","addEventListener","currentTrek","appElement","getBoundingClientRect","width","showTreksMap","handleFilters","showFilters","handleBackButton","back","handleShowMap","handleEraseFilters","filters","forEach","filter","property","currentFilter","selected","selectedOthersFilters","selectedThemesFilters","selectedLocationFilters","currentTreks","treks","resetFilter","emit","handleOkFilters","disconnectedCallback","reset","removeEventListener","handleSelectedSegment","selectedSegment","handleSegment","segment","some","length","render","h","Host","style","colorPrimaryApp","colorOnPrimary","colorSurface","colorOnSurface","colorSurfaceVariant","colorOnSurfaceVariant","colorPrimaryContainer","colorOnPrimaryContainer","colorSecondaryContainer","colorOnSecondaryContainer","colorBackground","colorSurfaceContainerHigh","colorSurfaceContainerLow","fabBackgroundColor","fabColor","appWidth","appHeight","class","api","languages","inBbox","cities","districts","structures","themes","portals","routes","practices","onClick","target","href","linkTarget","linkName","translate","language","concat","display","position","visibility","zIndex","weather","urlLayer","center","zoom","attribution","colorTrekLine","colorSensitiveArea","colorPoiIcon","useGradient","showDetails","showRoute","showList","showMap","treksWithinBounds","trek","filterName","practice","filterType","filterNameProperty","difficulty","duration","elevation","accessibility","others"],"sources":["src/components/grw-app/grw-app.scss?tag=grw-app","src/components/grw-app/grw-app.tsx"],"sourcesContent":[".material-symbols {\n font-family: 'Material Symbols Outlined';\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\ngrw-app {\n display: block;\n position: relative;\n width: var(--app-width);\n height: var(--app-height);\n font-family: 'Roboto';\n color: var(--color-on-surface);\n overflow: hidden;\n line-height: initial;\n max-width: 100vw;\n max-height: 100vh;\n}\n\n.app-container {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.header-container,\n.large-view-header-container {\n background-color: var(--color-background);\n box-shadow: var(--elevation-2);\n .header-top {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n height: 64px;\n }\n .arrow-back-icon {\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n color: var(--color-on-surface);\n border: none;\n background-color: var(--color-background);\n border-radius: 50%;\n height: 48px;\n width: 48px;\n padding: 12px;\n &:hover {\n box-shadow: var(--elevation-1);\n }\n }\n .header-left-container {\n margin-left: 8px;\n }\n .header-right-container {\n display: flex;\n align-items: center;\n margin-right: 8px;\n .margin-right-icon {\n margin-right: 8px;\n }\n }\n .attribution-container {\n a {\n font-size: 24px;\n font-weight: 400;\n line-height: 40px;\n color: var(--color-on-surface);\n text-decoration: none;\n }\n }\n}\n\n.options-container {\n height: calc(100% - 64px);\n position: absolute;\n width: 100%;\n z-index: 1100;\n top: 64px;\n}\n\n.handle-search-filters-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0px 16px;\n height: 64px;\n .handle-filters-button {\n user-select: none;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border: none;\n background-color: var(--color-background);\n color: var(--color-on-surface);\n padding: 12px 24px;\n border-radius: 20px;\n box-sizing: border-box;\n position: relative;\n gap: 8px;\n white-space: nowrap;\n line-height: 20px;\n letter-spacing: 0.10000000149011612px;\n font-size: 14px;\n font-weight: 500;\n box-shadow: var(--elevation-1);\n transition: box-shadow 0.2s ease-in-out 0s;\n span {\n font-size: 18px;\n }\n }\n}\n\n.filters-container {\n background-color: var(--color-background);\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1100;\n .segmented-buttons-container {\n display: flex;\n justify-content: center;\n width: calc(100% - 32px);\n height: 40px;\n margin: 16px;\n border: 1px solid var(--color-outline);\n border-radius: 20px;\n line-height: 20px;\n .segment {\n cursor: pointer;\n user-select: none;\n font-size: 14px;\n font-weight: 500;\n -webkit-tap-highlight-color: transparent;\n color: var(--color-on-surface-variant);\n background-color: transparent;\n border-radius: 0px;\n min-width: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n &:first-child {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n }\n &:not(:last-child) {\n border-right: 1px solid var(--color-outline);\n }\n &:last-child {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n }\n }\n .selected-segment {\n color: var(--color-on-secondary-container);\n background-color: var(--color-secondary-container);\n }\n }\n}\n\n.filters-segment-container {\n overflow-y: scroll;\n padding-bottom: 32px;\n max-height: calc(100% - 48px - 32px);\n}\n\n.back-filters-container {\n background-color: rgba(0, 0, 0, 0.5);\n width: 100%;\n height: 100%;\n position: absolute;\n z-index: 1099;\n}\n\n.divider {\n margin: 16px;\n border-top: 1px solid var(--color-outline);\n}\n\n.init-loader-container,\n.loader-container,\n.large-view-loader-container {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n background-color: var(--color-background);\n .loader {\n width: 48px;\n height: 48px;\n border: 5px solid var(--color-primary-container);\n border-bottom-color: var(--color-on-primary-container);\n border-radius: 50%;\n display: inline-block;\n box-sizing: border-box;\n animation: rotation 1s linear infinite;\n }\n\n @keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n}\n\n.content-container {\n position: relative;\n display: flex;\n height: calc(100% - 64px - 64px);\n background-color: var(--color-background);\n}\n\n.content-treks {\n height: calc(100% - 64px - 64px);\n}\n\n.content-trek {\n height: calc(100% - 64px);\n}\n\n.app-treks-list-container,\n.app-trek-detail-container,\n.large-view-app-treks-list-container,\n.large-view-app-trek-detail-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.app-map-container,\n.large-view-app-map-container {\n width: 100%;\n height: 100%;\n}\n\n.map-visibility-button-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n position: absolute;\n bottom: 24px;\n z-index: 4;\n .map-visibility-button {\n cursor: pointer;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border: none;\n text-decoration: none;\n padding: 16px;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n box-shadow: var(--elevation-1);\n border-radius: 12px;\n height: 56px;\n font-size: 16px;\n width: unset;\n &:hover {\n box-shadow: var(--elevation-4);\n }\n span {\n font-size: 24px;\n margin-right: 8px;\n color: var(--color-on-primary-container);\n }\n }\n}\n\n.init-loader-container,\n.loader-container {\n width: 100%;\n}\n\n.app-treks-list-container,\n.app-trek-detail-container {\n width: 100%;\n}\n\ngrw-treks-list {\n max-height: calc(100vh - 64px - 64px);\n}\n\ngrw-trek-detail {\n max-height: calc(100vh - 64px - 48px);\n}\n\n.app-map-container {\n width: 100%;\n position: absolute;\n}\n\n.large-view-loader-container {\n width: 50%;\n}\n\n.large-view-app-treks-list-container,\n.large-view-app-trek-detail-container {\n width: 50%;\n}\n\n.large-view-app-map-container {\n position: relative;\n width: 50%;\n}\n\n.filters-options-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 48px;\n margin: 0px 16px;\n .filters-options-buttons-container {\n display: flex;\n .filter-option-button {\n cursor: pointer;\n user-select: none;\n font-size: 14px;\n font-weight: 500;\n margin: 8px 0px 0px 8px;\n padding: 8px 16px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: var(--elevation-0);\n border: none;\n -webkit-tap-highlight-color: transparent;\n line-height: 20px;\n color: var(--color-primary);\n background-color: transparent;\n }\n }\n}\n\n.segment-container {\n margin-bottom: 64px;\n}\n\n.filter-container {\n &:not(:last-child) {\n &::after {\n content: '';\n display: block;\n margin: 16px;\n border-top: 1px solid var(--color-outline);\n }\n }\n}\n","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"],"mappings":"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"}