@geotrekce/geotrek-rando-widget 0.2.3 → 0.2.5

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 (204) 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 +3 -3
  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_7.cjs.entry.js +6 -6
  9. package/dist/cjs/grw-filter_7.cjs.entry.js.br +0 -0
  10. package/dist/cjs/grw-filter_7.cjs.entry.js.gz +0 -0
  11. package/dist/cjs/grw-filter_7.cjs.entry.js.map +1 -1
  12. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js +2 -2
  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/{index-965985fa.js → index-37f5c77b.js} +13 -395
  19. package/dist/cjs/index-37f5c77b.js.br +0 -0
  20. package/dist/cjs/index-37f5c77b.js.gz +0 -0
  21. package/dist/cjs/index-37f5c77b.js.map +1 -0
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/cjs/loader.cjs.js.br +0 -0
  24. package/dist/cjs/loader.cjs.js.gz +0 -0
  25. package/dist/cjs/{store-002456b2.js → store-6ec4d0d2.js} +2 -2
  26. package/dist/cjs/store-6ec4d0d2.js.br +0 -0
  27. package/dist/cjs/store-6ec4d0d2.js.gz +0 -0
  28. package/dist/cjs/{store-002456b2.js.map → store-6ec4d0d2.js.map} +1 -1
  29. package/dist/collection/components/grw-app/grw-app.js +1 -1
  30. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  31. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  32. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  33. package/dist/collection/components/grw-map/grw-map.js +2 -2
  34. package/dist/collection/components/grw-map/grw-map.js.br +0 -0
  35. package/dist/collection/components/grw-map/grw-map.js.gz +0 -0
  36. package/dist/collection/components/grw-map/grw-map.js.map +1 -1
  37. package/dist/collection/components/grw-select-language/grw-select-language.css +8 -0
  38. package/dist/collection/components/grw-select-language/grw-select-language.css.br +0 -0
  39. package/dist/collection/components/grw-select-language/grw-select-language.css.gz +0 -0
  40. package/dist/collection/components/grw-select-language/grw-select-language.js +1 -1
  41. package/dist/collection/components/grw-select-language/grw-select-language.js.br +0 -0
  42. package/dist/collection/components/grw-select-language/grw-select-language.js.gz +0 -0
  43. package/dist/collection/components/grw-select-language/grw-select-language.js.map +1 -1
  44. package/dist/esm/geotrek-rando-widget.js +2 -2
  45. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  46. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  47. package/dist/esm/grw-app.entry.js +3 -3
  48. package/dist/esm/grw-app.entry.js.br +0 -0
  49. package/dist/esm/grw-app.entry.js.gz +0 -0
  50. package/dist/esm/grw-app.entry.js.map +1 -1
  51. package/dist/esm/grw-filter_7.entry.js +6 -6
  52. package/dist/esm/grw-filter_7.entry.js.br +0 -0
  53. package/dist/esm/grw-filter_7.entry.js.gz +0 -0
  54. package/dist/esm/grw-filter_7.entry.js.map +1 -1
  55. package/dist/esm/grw-information-desk-detail_3.entry.js +2 -2
  56. package/dist/esm/grw-information-desk-detail_3.entry.js.br +0 -0
  57. package/dist/esm/grw-information-desk-detail_3.entry.js.gz +0 -0
  58. package/dist/esm/grw-trek-card.entry.js +2 -2
  59. package/dist/esm/grw-trek-card.entry.js.br +0 -0
  60. package/dist/esm/grw-trek-card.entry.js.gz +0 -0
  61. package/dist/esm/{index-57c9193c.js → index-3bfebaa2.js} +13 -395
  62. package/dist/esm/index-3bfebaa2.js.br +0 -0
  63. package/dist/esm/index-3bfebaa2.js.gz +0 -0
  64. package/dist/esm/index-3bfebaa2.js.map +1 -0
  65. package/dist/esm/loader.js +2 -2
  66. package/dist/esm/loader.js.br +0 -0
  67. package/dist/esm/loader.js.gz +0 -0
  68. package/dist/esm/{store-b2d579d9.js → store-8a967dc3.js} +2 -2
  69. package/dist/esm/store-8a967dc3.js.br +0 -0
  70. package/dist/esm/store-8a967dc3.js.gz +0 -0
  71. package/dist/esm/{store-b2d579d9.js.map → store-8a967dc3.js.map} +1 -1
  72. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  73. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  74. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  75. package/dist/esm-es5/grw-app.entry.js +1 -1
  76. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  77. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  78. package/dist/esm-es5/grw-app.entry.js.map +1 -1
  79. package/dist/esm-es5/grw-filter_7.entry.js +2 -2
  80. package/dist/esm-es5/grw-filter_7.entry.js.br +0 -0
  81. package/dist/esm-es5/grw-filter_7.entry.js.gz +0 -0
  82. package/dist/esm-es5/grw-filter_7.entry.js.map +1 -1
  83. package/dist/esm-es5/grw-information-desk-detail_3.entry.js +1 -1
  84. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.br +0 -0
  85. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.gz +0 -0
  86. package/dist/esm-es5/grw-trek-card.entry.js +1 -1
  87. package/dist/esm-es5/grw-trek-card.entry.js.br +0 -0
  88. package/dist/esm-es5/grw-trek-card.entry.js.gz +0 -0
  89. package/dist/esm-es5/index-3bfebaa2.js +3 -0
  90. package/dist/esm-es5/index-3bfebaa2.js.br +0 -0
  91. package/dist/esm-es5/index-3bfebaa2.js.gz +0 -0
  92. package/dist/esm-es5/index-3bfebaa2.js.map +1 -0
  93. package/dist/esm-es5/loader.js +1 -1
  94. package/dist/esm-es5/loader.js.br +0 -0
  95. package/dist/esm-es5/loader.js.gz +0 -0
  96. package/dist/esm-es5/{store-b2d579d9.js → store-8a967dc3.js} +2 -2
  97. package/dist/esm-es5/store-8a967dc3.js.br +0 -0
  98. package/dist/esm-es5/store-8a967dc3.js.gz +0 -0
  99. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  100. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  101. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  102. package/dist/geotrek-rando-widget/geotrek-rando-widget.js +1 -1
  103. package/dist/geotrek-rando-widget/geotrek-rando-widget.js.br +0 -0
  104. package/dist/geotrek-rando-widget/geotrek-rando-widget.js.gz +0 -0
  105. package/dist/geotrek-rando-widget/{p-718dfb75.entry.js → p-06603116.entry.js} +2 -2
  106. package/dist/geotrek-rando-widget/p-06603116.entry.js.br +0 -0
  107. package/dist/geotrek-rando-widget/p-06603116.entry.js.gz +0 -0
  108. package/dist/geotrek-rando-widget/{p-631e4237.system.entry.js → p-11732b6a.system.entry.js} +2 -2
  109. package/dist/geotrek-rando-widget/p-11732b6a.system.entry.js.br +0 -0
  110. package/dist/geotrek-rando-widget/p-11732b6a.system.entry.js.gz +0 -0
  111. package/dist/geotrek-rando-widget/p-16f28b0e.js +3 -0
  112. package/dist/geotrek-rando-widget/p-16f28b0e.js.br +0 -0
  113. package/dist/geotrek-rando-widget/p-16f28b0e.js.gz +0 -0
  114. package/dist/geotrek-rando-widget/p-16f28b0e.js.map +1 -0
  115. package/dist/geotrek-rando-widget/p-3eaed9f9.system.js +3 -0
  116. package/dist/geotrek-rando-widget/p-3eaed9f9.system.js.br +0 -0
  117. package/dist/geotrek-rando-widget/p-3eaed9f9.system.js.gz +0 -0
  118. package/dist/{esm/index-57c9193c.js.map → geotrek-rando-widget/p-3eaed9f9.system.js.map} +1 -1
  119. package/dist/geotrek-rando-widget/{p-f3de5419.entry.js → p-4549b320.entry.js} +2 -2
  120. package/dist/geotrek-rando-widget/p-4549b320.entry.js.br +0 -0
  121. package/dist/geotrek-rando-widget/p-4549b320.entry.js.gz +0 -0
  122. package/dist/geotrek-rando-widget/{p-a6e9f1a8.system.entry.js → p-4827455b.system.entry.js} +2 -2
  123. package/dist/geotrek-rando-widget/p-4827455b.system.entry.js.br +0 -0
  124. package/dist/geotrek-rando-widget/p-4827455b.system.entry.js.gz +0 -0
  125. package/dist/geotrek-rando-widget/{p-272fd685.system.entry.js → p-4a818914.system.entry.js} +2 -2
  126. package/dist/geotrek-rando-widget/p-4a818914.system.entry.js.br +0 -0
  127. package/dist/geotrek-rando-widget/p-4a818914.system.entry.js.gz +0 -0
  128. package/dist/geotrek-rando-widget/{p-272fd685.system.entry.js.map → p-4a818914.system.entry.js.map} +1 -1
  129. package/dist/geotrek-rando-widget/p-51b07d4b.system.js +2 -0
  130. package/dist/geotrek-rando-widget/p-51b07d4b.system.js.br +0 -0
  131. package/dist/geotrek-rando-widget/p-51b07d4b.system.js.gz +0 -0
  132. package/dist/geotrek-rando-widget/{p-ce3e1d4a.entry.js → p-586ce7f8.entry.js} +2 -2
  133. package/dist/geotrek-rando-widget/p-586ce7f8.entry.js.br +0 -0
  134. package/dist/geotrek-rando-widget/p-586ce7f8.entry.js.gz +0 -0
  135. package/dist/geotrek-rando-widget/{p-ce3e1d4a.entry.js.map → p-586ce7f8.entry.js.map} +1 -1
  136. package/dist/geotrek-rando-widget/{p-fc1b1be0.system.entry.js → p-aefb821d.system.entry.js} +3 -3
  137. package/dist/geotrek-rando-widget/p-aefb821d.system.entry.js.br +0 -0
  138. package/dist/geotrek-rando-widget/p-aefb821d.system.entry.js.gz +0 -0
  139. package/dist/geotrek-rando-widget/{p-fc1b1be0.system.entry.js.map → p-aefb821d.system.entry.js.map} +1 -1
  140. package/dist/geotrek-rando-widget/{p-3471da6b.entry.js → p-c74b5417.entry.js} +3 -3
  141. package/dist/geotrek-rando-widget/p-c74b5417.entry.js.br +0 -0
  142. package/dist/geotrek-rando-widget/p-c74b5417.entry.js.gz +0 -0
  143. package/dist/geotrek-rando-widget/{p-3471da6b.entry.js.map → p-c74b5417.entry.js.map} +1 -1
  144. package/dist/geotrek-rando-widget/{p-8e38db57.system.js → p-ccc3be5e.system.js} +2 -2
  145. package/dist/geotrek-rando-widget/p-ccc3be5e.system.js.br +0 -0
  146. package/dist/geotrek-rando-widget/p-ccc3be5e.system.js.gz +0 -0
  147. package/dist/geotrek-rando-widget/{p-58cf0dd0.js → p-e9e878ef.js} +2 -2
  148. package/dist/geotrek-rando-widget/p-e9e878ef.js.br +0 -0
  149. package/dist/geotrek-rando-widget/p-e9e878ef.js.gz +0 -0
  150. package/package.json +1 -1
  151. package/dist/cjs/index-965985fa.js.br +0 -0
  152. package/dist/cjs/index-965985fa.js.gz +0 -0
  153. package/dist/cjs/index-965985fa.js.map +0 -1
  154. package/dist/cjs/store-002456b2.js.br +0 -0
  155. package/dist/cjs/store-002456b2.js.gz +0 -0
  156. package/dist/esm/index-57c9193c.js.br +0 -0
  157. package/dist/esm/index-57c9193c.js.gz +0 -0
  158. package/dist/esm/store-b2d579d9.js.br +0 -0
  159. package/dist/esm/store-b2d579d9.js.gz +0 -0
  160. package/dist/esm-es5/index-57c9193c.js +0 -3
  161. package/dist/esm-es5/index-57c9193c.js.br +0 -0
  162. package/dist/esm-es5/index-57c9193c.js.gz +0 -0
  163. package/dist/esm-es5/index-57c9193c.js.map +0 -1
  164. package/dist/esm-es5/store-b2d579d9.js.br +0 -0
  165. package/dist/esm-es5/store-b2d579d9.js.gz +0 -0
  166. package/dist/geotrek-rando-widget/p-272fd685.system.entry.js.br +0 -0
  167. package/dist/geotrek-rando-widget/p-272fd685.system.entry.js.gz +0 -0
  168. package/dist/geotrek-rando-widget/p-3471da6b.entry.js.br +0 -0
  169. package/dist/geotrek-rando-widget/p-3471da6b.entry.js.gz +0 -0
  170. package/dist/geotrek-rando-widget/p-4f746b28.js +0 -3
  171. package/dist/geotrek-rando-widget/p-4f746b28.js.br +0 -0
  172. package/dist/geotrek-rando-widget/p-4f746b28.js.gz +0 -0
  173. package/dist/geotrek-rando-widget/p-4f746b28.js.map +0 -1
  174. package/dist/geotrek-rando-widget/p-58cf0dd0.js.br +0 -0
  175. package/dist/geotrek-rando-widget/p-58cf0dd0.js.gz +0 -0
  176. package/dist/geotrek-rando-widget/p-631e4237.system.entry.js.br +0 -0
  177. package/dist/geotrek-rando-widget/p-631e4237.system.entry.js.gz +0 -0
  178. package/dist/geotrek-rando-widget/p-718dfb75.entry.js.br +0 -0
  179. package/dist/geotrek-rando-widget/p-718dfb75.entry.js.gz +0 -0
  180. package/dist/geotrek-rando-widget/p-758bdb7e.system.js +0 -2
  181. package/dist/geotrek-rando-widget/p-758bdb7e.system.js.br +0 -0
  182. package/dist/geotrek-rando-widget/p-758bdb7e.system.js.gz +0 -0
  183. package/dist/geotrek-rando-widget/p-8e38db57.system.js.br +0 -0
  184. package/dist/geotrek-rando-widget/p-8e38db57.system.js.gz +0 -0
  185. package/dist/geotrek-rando-widget/p-a6e9f1a8.system.entry.js.br +0 -0
  186. package/dist/geotrek-rando-widget/p-a6e9f1a8.system.entry.js.gz +0 -0
  187. package/dist/geotrek-rando-widget/p-ce3e1d4a.entry.js.br +0 -0
  188. package/dist/geotrek-rando-widget/p-ce3e1d4a.entry.js.gz +0 -0
  189. package/dist/geotrek-rando-widget/p-d5094323.system.js +0 -3
  190. package/dist/geotrek-rando-widget/p-d5094323.system.js.br +0 -0
  191. package/dist/geotrek-rando-widget/p-d5094323.system.js.gz +0 -0
  192. package/dist/geotrek-rando-widget/p-d5094323.system.js.map +0 -1
  193. package/dist/geotrek-rando-widget/p-f3de5419.entry.js.br +0 -0
  194. package/dist/geotrek-rando-widget/p-f3de5419.entry.js.gz +0 -0
  195. package/dist/geotrek-rando-widget/p-fc1b1be0.system.entry.js.br +0 -0
  196. package/dist/geotrek-rando-widget/p-fc1b1be0.system.entry.js.gz +0 -0
  197. /package/dist/esm-es5/{store-b2d579d9.js.map → store-8a967dc3.js.map} +0 -0
  198. /package/dist/geotrek-rando-widget/{p-718dfb75.entry.js.map → p-06603116.entry.js.map} +0 -0
  199. /package/dist/geotrek-rando-widget/{p-631e4237.system.entry.js.map → p-11732b6a.system.entry.js.map} +0 -0
  200. /package/dist/geotrek-rando-widget/{p-f3de5419.entry.js.map → p-4549b320.entry.js.map} +0 -0
  201. /package/dist/geotrek-rando-widget/{p-a6e9f1a8.system.entry.js.map → p-4827455b.system.entry.js.map} +0 -0
  202. /package/dist/geotrek-rando-widget/{p-758bdb7e.system.js.map → p-51b07d4b.system.js.map} +0 -0
  203. /package/dist/geotrek-rando-widget/{p-8e38db57.system.js.map → p-ccc3be5e.system.js.map} +0 -0
  204. /package/dist/geotrek-rando-widget/{p-58cf0dd0.js.map → p-e9e878ef.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["grwAppCss","GrwApp","this","largeViewSize","handlePopStateBind","handlePopState","bind","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","onChange","state","trekNetworkError","urlRedirect","delete","onTrekDetailsClose","addEventListener","currentTrek","element","getBoundingClientRect","width","showTreksMap","handleFilters","showFilters","handleBackButton","back","handleShowMap","disconnectedCallback","reset","removeEventListener","render","h","Host","style","colorPrimaryApp","colorOnPrimary","colorSurface","colorOnSurface","colorSurfaceVariant","colorOnSurfaceVariant","colorPrimaryContainer","colorOnPrimaryContainer","colorSecondaryContainer","colorOnSecondaryContainer","colorBackground","colorSurfaceContainerHigh","colorSurfaceContainerLow","fabBackgroundColor","fabColor","currentTreks","class","treks","api","languages","inBbox","cities","districts","structures","themes","portals","routes","practices","onClick","target","href","linkTarget","linkName","length","treksWithinBounds","translate","language","trek","filter","display","position","weather","zIndex","visibility","urlLayer","center","zoom","attribution","colorTrekLine","colorDepartureIcon","colorArrivalIcon","colorSensitiveArea","colorPoiIcon","showDetails","showRoute","showList","showMap","filterName","practice","filterType","filterNameProperty","difficulty","duration"],"sources":["./src/components/grw-app/grw-app.scss?tag=grw-app","./src/components/grw-app/grw-app.tsx"],"sourcesContent":[".material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\ngrw-app {\n position: relative;\n width: 100%;\n height: 100%;\n font-family: 'Roboto';\n color: var(--color-on-surface);\n overflow: hidden;\n line-height: initial;\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-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 font-family: 'Material Symbols Outlined';\n }\n }\n .current-treks-within-bounds-length {\n margin-left: 12px;\n color: var(--color-on-surface);\n }\n}\n\n.filters-container {\n background-color: var(--color-background);\n position: absolute;\n width: 100%;\n padding: 16px 0px 32px 0px;\n z-index: 1100;\n}\n\n.back-filters-container {\n background-color: rgba(0, 0, 0, 0.5);\n width: 100%;\n height: calc(100% - 64px);\n position: absolute;\n z-index: 1099;\n top: 64px;\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-family: 'Material Symbols Outlined';\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\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","import { Component, Host, h, Listen, State, Prop, Element, Watch } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange, reset } from 'store/store';\n\n@Component({\n tag: 'grw-app',\n styleUrls: ['grw-app.scss'],\n shadow: false,\n})\nexport class GrwApp {\n @Element() element: HTMLElement;\n @State() showTrek = false;\n @State() showTreksMap = false;\n @State() showTrekMap = false;\n @State() showFilters = false;\n @State() isLargeView = false;\n @State() currentTrekId: number;\n @Prop() 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() colorDepartureIcon = '#006b3b';\n @Prop() colorArrivalIcon = '#85003b';\n @Prop() colorSensitiveArea = '#4974a5';\n @Prop() colorPoiIcon = '#974c6e';\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.element.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 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 }}\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\">\n <span class=\"material-symbols-outlined margin-right-icon\">translate</span>\n {state.languages.length > 1 && <grw-select-language></grw-select-language>}\n </div>\n </div>\n {!this.showTrek && (\n <div class=\"handle-filters-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 <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 )}\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 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 style={{ zIndex: this.showTrekMap ? '0' : '1' }}\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-departure-icon={this.colorDepartureIcon}\n color-arrival-icon={this.colorArrivalIcon}\n color-sensitive-area={this.colorSensitiveArea}\n color-poi-icon={this.colorPoiIcon}\n is-large-view={this.isLargeView}\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 <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>\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","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","onChange","state","trekNetworkError","urlRedirect","delete","onTrekDetailsClose","addEventListener","currentTrek","element","getBoundingClientRect","width","showTreksMap","handleFilters","showFilters","handleBackButton","back","handleShowMap","disconnectedCallback","reset","removeEventListener","render","h","Host","style","colorPrimaryApp","colorOnPrimary","colorSurface","colorOnSurface","colorSurfaceVariant","colorOnSurfaceVariant","colorPrimaryContainer","colorOnPrimaryContainer","colorSecondaryContainer","colorOnSecondaryContainer","colorBackground","colorSurfaceContainerHigh","colorSurfaceContainerLow","fabBackgroundColor","fabColor","currentTreks","class","treks","api","languages","inBbox","cities","districts","structures","themes","portals","routes","practices","onClick","target","href","linkTarget","linkName","length","treksWithinBounds","translate","language","trek","filter","display","position","weather","zIndex","visibility","urlLayer","center","zoom","attribution","colorTrekLine","colorDepartureIcon","colorArrivalIcon","colorSensitiveArea","colorPoiIcon","showDetails","showRoute","showList","showMap","filterName","practice","filterType","filterNameProperty","difficulty","duration"],"sources":["./src/components/grw-app/grw-app.scss?tag=grw-app","./src/components/grw-app/grw-app.tsx"],"sourcesContent":[".material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\ngrw-app {\n position: relative;\n width: 100%;\n height: 100%;\n font-family: 'Roboto';\n color: var(--color-on-surface);\n overflow: hidden;\n line-height: initial;\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-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 font-family: 'Material Symbols Outlined';\n }\n }\n .current-treks-within-bounds-length {\n margin-left: 12px;\n color: var(--color-on-surface);\n }\n}\n\n.filters-container {\n background-color: var(--color-background);\n position: absolute;\n width: 100%;\n padding: 16px 0px 32px 0px;\n z-index: 1100;\n}\n\n.back-filters-container {\n background-color: rgba(0, 0, 0, 0.5);\n width: 100%;\n height: calc(100% - 64px);\n position: absolute;\n z-index: 1099;\n top: 64px;\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-family: 'Material Symbols Outlined';\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\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","import { Component, Host, h, Listen, State, Prop, Element, Watch } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange, reset } from 'store/store';\n\n@Component({\n tag: 'grw-app',\n styleUrls: ['grw-app.scss'],\n shadow: false,\n})\nexport class GrwApp {\n @Element() element: HTMLElement;\n @State() showTrek = false;\n @State() showTreksMap = false;\n @State() showTrekMap = false;\n @State() showFilters = false;\n @State() isLargeView = false;\n @State() currentTrekId: number;\n @Prop() 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() colorDepartureIcon = '#006b3b';\n @Prop() colorArrivalIcon = '#85003b';\n @Prop() colorSensitiveArea = '#4974a5';\n @Prop() colorPoiIcon = '#974c6e';\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.element.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 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 }}\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-filters-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 <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 )}\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 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 style={{ zIndex: this.showTrekMap ? '0' : '1' }}\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-departure-icon={this.colorDepartureIcon}\n color-arrival-icon={this.colorArrivalIcon}\n color-sensitive-area={this.colorSensitiveArea}\n color-poi-icon={this.colorPoiIcon}\n is-large-view={this.isLargeView}\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 <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>\n <div onClick={() => this.handleFilters()} class=\"back-filters-container\"></div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}