@geotrekce/geotrek-rando-widget 0.7.0 → 0.8.0

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 (145) 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 +5 -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-common-button_21.cjs.entry.js +2 -2
  9. package/dist/cjs/grw-common-button_21.cjs.entry.js.br +0 -0
  10. package/dist/cjs/grw-common-button_21.cjs.entry.js.gz +0 -0
  11. package/dist/cjs/grw-common-button_21.cjs.entry.js.map +1 -1
  12. package/dist/cjs/grw-information-desk_6.cjs.entry.js +11 -5
  13. package/dist/cjs/grw-information-desk_6.cjs.entry.js.br +0 -0
  14. package/dist/cjs/grw-information-desk_6.cjs.entry.js.gz +0 -0
  15. package/dist/cjs/grw-information-desk_6.cjs.entry.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/loader.cjs.js.br +0 -0
  18. package/dist/cjs/loader.cjs.js.gz +0 -0
  19. package/dist/collection/components/grw-app/grw-app.css +1 -1
  20. package/dist/collection/components/grw-app/grw-app.css.br +0 -0
  21. package/dist/collection/components/grw-app/grw-app.css.gz +0 -0
  22. package/dist/collection/components/grw-app/grw-app.js +22 -2
  23. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  24. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  25. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  26. package/dist/collection/components/grw-filters/grw-filters.css +1 -1
  27. package/dist/collection/components/grw-filters/grw-filters.css.br +0 -0
  28. package/dist/collection/components/grw-filters/grw-filters.css.gz +0 -0
  29. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.css +2 -0
  30. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.css.br +0 -0
  31. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.css.gz +0 -0
  32. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js +4 -1
  33. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.br +0 -0
  34. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.gz +0 -0
  35. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.map +1 -1
  36. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.css +2 -0
  37. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.css.br +0 -0
  38. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.css.gz +0 -0
  39. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js +4 -1
  40. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.br +0 -0
  41. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.gz +0 -0
  42. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.map +1 -1
  43. package/dist/collection/components/grw-trek-card/grw-trek-card.css +3 -1
  44. package/dist/collection/components/grw-trek-card/grw-trek-card.css.br +0 -0
  45. package/dist/collection/components/grw-trek-card/grw-trek-card.css.gz +0 -0
  46. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +1 -1
  47. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  48. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  49. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  50. package/dist/esm/geotrek-rando-widget.js +1 -1
  51. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  52. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  53. package/dist/esm/grw-app.entry.js +5 -3
  54. package/dist/esm/grw-app.entry.js.br +0 -0
  55. package/dist/esm/grw-app.entry.js.gz +0 -0
  56. package/dist/esm/grw-app.entry.js.map +1 -1
  57. package/dist/esm/grw-common-button_21.entry.js +2 -2
  58. package/dist/esm/grw-common-button_21.entry.js.br +0 -0
  59. package/dist/esm/grw-common-button_21.entry.js.gz +0 -0
  60. package/dist/esm/grw-common-button_21.entry.js.map +1 -1
  61. package/dist/esm/grw-information-desk_6.entry.js +11 -5
  62. package/dist/esm/grw-information-desk_6.entry.js.br +0 -0
  63. package/dist/esm/grw-information-desk_6.entry.js.gz +0 -0
  64. package/dist/esm/grw-information-desk_6.entry.js.map +1 -1
  65. package/dist/esm/loader.js +1 -1
  66. package/dist/esm/loader.js.br +0 -0
  67. package/dist/esm/loader.js.gz +0 -0
  68. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  69. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  70. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  71. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  72. package/dist/esm-es5/grw-app.entry.js +1 -1
  73. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  74. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  75. package/dist/esm-es5/grw-app.entry.js.map +1 -1
  76. package/dist/esm-es5/grw-common-button_21.entry.js +2 -2
  77. package/dist/esm-es5/grw-common-button_21.entry.js.br +0 -0
  78. package/dist/esm-es5/grw-common-button_21.entry.js.gz +0 -0
  79. package/dist/esm-es5/grw-common-button_21.entry.js.map +1 -1
  80. package/dist/esm-es5/grw-information-desk_6.entry.js +1 -1
  81. package/dist/esm-es5/grw-information-desk_6.entry.js.br +0 -0
  82. package/dist/esm-es5/grw-information-desk_6.entry.js.gz +0 -0
  83. package/dist/esm-es5/grw-information-desk_6.entry.js.map +1 -1
  84. package/dist/esm-es5/loader.js +1 -1
  85. package/dist/esm-es5/loader.js.br +0 -0
  86. package/dist/esm-es5/loader.js.gz +0 -0
  87. package/dist/esm-es5/loader.js.map +1 -1
  88. package/dist/geotrek-rando-widget/geotrek-rando-widget.css +1 -1
  89. package/dist/geotrek-rando-widget/geotrek-rando-widget.css.br +0 -0
  90. package/dist/geotrek-rando-widget/geotrek-rando-widget.css.gz +0 -0
  91. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  92. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  93. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  94. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  95. package/dist/geotrek-rando-widget/{p-e2a73eac.entry.js → p-40e69a46.entry.js} +4 -4
  96. package/dist/geotrek-rando-widget/p-40e69a46.entry.js.br +0 -0
  97. package/dist/geotrek-rando-widget/p-40e69a46.entry.js.gz +0 -0
  98. package/dist/geotrek-rando-widget/p-40e69a46.entry.js.map +1 -0
  99. package/dist/geotrek-rando-widget/{p-d2fb6fb4.system.entry.js → p-4c85680a.system.entry.js} +2 -2
  100. package/dist/geotrek-rando-widget/p-4c85680a.system.entry.js.br +0 -0
  101. package/dist/geotrek-rando-widget/p-4c85680a.system.entry.js.gz +0 -0
  102. package/dist/geotrek-rando-widget/p-4c85680a.system.entry.js.map +1 -0
  103. package/dist/geotrek-rando-widget/p-83f9c2c2.entry.js +2 -0
  104. package/dist/geotrek-rando-widget/p-83f9c2c2.entry.js.br +0 -0
  105. package/dist/geotrek-rando-widget/p-83f9c2c2.entry.js.gz +0 -0
  106. package/dist/geotrek-rando-widget/p-83f9c2c2.entry.js.map +1 -0
  107. package/dist/geotrek-rando-widget/{p-9d826a4c.entry.js → p-ae129a99.entry.js} +2 -2
  108. package/dist/geotrek-rando-widget/p-ae129a99.entry.js.br +0 -0
  109. package/dist/geotrek-rando-widget/p-ae129a99.entry.js.gz +0 -0
  110. package/dist/geotrek-rando-widget/p-ae129a99.entry.js.map +1 -0
  111. package/dist/geotrek-rando-widget/p-b02ae30d.system.js +1 -1
  112. package/dist/geotrek-rando-widget/p-b02ae30d.system.js.br +0 -0
  113. package/dist/geotrek-rando-widget/p-b02ae30d.system.js.gz +0 -0
  114. package/dist/geotrek-rando-widget/p-b02ae30d.system.js.map +1 -1
  115. package/dist/geotrek-rando-widget/p-ced23fd3.system.entry.js +2 -0
  116. package/dist/geotrek-rando-widget/p-ced23fd3.system.entry.js.br +0 -0
  117. package/dist/geotrek-rando-widget/p-ced23fd3.system.entry.js.gz +0 -0
  118. package/dist/geotrek-rando-widget/p-ced23fd3.system.entry.js.map +1 -0
  119. package/dist/geotrek-rando-widget/{p-05f3277d.system.entry.js → p-dfd293bb.system.entry.js} +3 -3
  120. package/dist/geotrek-rando-widget/p-dfd293bb.system.entry.js.br +0 -0
  121. package/dist/geotrek-rando-widget/p-dfd293bb.system.entry.js.gz +0 -0
  122. package/dist/geotrek-rando-widget/p-dfd293bb.system.entry.js.map +1 -0
  123. package/dist/types/components/grw-app/grw-app.d.ts +1 -0
  124. package/dist/types/components.d.ts +2 -0
  125. package/package.json +1 -1
  126. package/dist/geotrek-rando-widget/p-05f3277d.system.entry.js.br +0 -0
  127. package/dist/geotrek-rando-widget/p-05f3277d.system.entry.js.gz +0 -0
  128. package/dist/geotrek-rando-widget/p-05f3277d.system.entry.js.map +0 -1
  129. package/dist/geotrek-rando-widget/p-9d826a4c.entry.js.br +0 -0
  130. package/dist/geotrek-rando-widget/p-9d826a4c.entry.js.gz +0 -0
  131. package/dist/geotrek-rando-widget/p-9d826a4c.entry.js.map +0 -1
  132. package/dist/geotrek-rando-widget/p-ae17f2a9.entry.js +0 -2
  133. package/dist/geotrek-rando-widget/p-ae17f2a9.entry.js.br +0 -0
  134. package/dist/geotrek-rando-widget/p-ae17f2a9.entry.js.gz +0 -0
  135. package/dist/geotrek-rando-widget/p-ae17f2a9.entry.js.map +0 -1
  136. package/dist/geotrek-rando-widget/p-d2fb6fb4.system.entry.js.br +0 -0
  137. package/dist/geotrek-rando-widget/p-d2fb6fb4.system.entry.js.gz +0 -0
  138. package/dist/geotrek-rando-widget/p-d2fb6fb4.system.entry.js.map +0 -1
  139. package/dist/geotrek-rando-widget/p-e2a73eac.entry.js.br +0 -0
  140. package/dist/geotrek-rando-widget/p-e2a73eac.entry.js.gz +0 -0
  141. package/dist/geotrek-rando-widget/p-e2a73eac.entry.js.map +0 -1
  142. package/dist/geotrek-rando-widget/p-f2af961a.system.entry.js +0 -2
  143. package/dist/geotrek-rando-widget/p-f2af961a.system.entry.js.br +0 -0
  144. package/dist/geotrek-rando-widget/p-f2af961a.system.entry.js.gz +0 -0
  145. package/dist/geotrek-rando-widget/p-f2af961a.system.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"grw-trek-detail.js","sourceRoot":"","sources":["../../../src/components/grw-trek-detail/grw-trek-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Event, EventEmitter, Build, Listen, getAssetPath } from '@stencil/core';\nimport Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel, Scrollbar } from 'swiper';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange } from 'store/store';\nimport { Accessibilities, AccessibilityLevel, Difficulty, Labels, Practice, Route, Sources, Themes, Trek, Option, Options, Treks } from 'types/types';\nimport { formatDuration, formatLength, formatAscent, formatDescent, imagesRegExp } from 'utils/utils';\nimport { getAllDataInStore, getDataInStore, writeOrUpdateDataInStore, writeOrUpdateFilesInStore, writeOrUpdateTilesInStore } from 'services/grw-db.service';\nimport { tileLayerOffline } from 'leaflet.offline';\nimport L from 'leaflet';\nimport { getDistricts, getTrek, getTreksList } from 'services/treks.service';\nimport { getTouristicContentsNearTrek } from 'services/touristic-contents.service';\nimport { getTouristicEventsNearTrek } from 'services/touristic-events.service';\n\nconst threshold = 1;\nconst presentation: Option = {\n visible: true,\n indicator: false,\n ref: 'presentationOptionRef',\n};\nconst steps: Option = {\n visible: false,\n indicator: false,\n ref: 'stepsOptionRef',\n};\nconst description: Option = {\n visible: false,\n indicator: false,\n ref: 'descriptionOptionRef',\n};\nconst pois: Option = {\n visible: false,\n indicator: false,\n ref: 'poisOptionRef',\n};\nconst recommendations: Option = {\n visible: false,\n indicator: false,\n ref: 'recommendationsOptionRef',\n};\nconst sensitiveArea: Option = {\n visible: false,\n indicator: false,\n ref: 'sensitiveAreaOptionRef',\n};\nconst informationPlaces: Option = {\n visible: false,\n indicator: false,\n ref: 'informationPlacesOptionRef',\n};\nconst accessibility: Option = {\n visible: false,\n indicator: false,\n ref: 'accessibilityOptionRef',\n};\nconst touristicContents: Option = {\n visible: false,\n indicator: false,\n ref: 'touristicContentsOptionRef',\n};\nconst touristicEvents: Option = {\n visible: false,\n indicator: false,\n ref: 'touristicEventsOptionRef',\n};\nconst options: Options = {\n presentation,\n steps,\n description,\n pois,\n recommendations,\n sensitiveArea,\n informationPlaces,\n accessibility,\n touristicContents,\n touristicEvents,\n};\n\n@Component({\n tag: 'grw-trek-detail',\n styleUrl: 'grw-trek-detail.scss',\n shadow: true,\n})\nexport class GrwTrekDetail {\n swiperImages?: Swiper;\n swiperStep?: Swiper;\n swiperPois?: Swiper;\n swiperInformationDesks?: Swiper;\n swiperTouristicContents?: Swiper;\n swiperTouristicEvents?: Swiper;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n swiperStepRef?: HTMLDivElement;\n swiperPoisRef?: HTMLDivElement;\n swiperInformationDesksRef?: HTMLDivElement;\n swiperTouristicContentsRef?: HTMLDivElement;\n swiperTouristicEventsRef?: HTMLDivElement;\n trekDetailContainerRef?: HTMLElement;\n presentationRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n parkingRef?: HTMLDivElement;\n recommendationRef?: HTMLDivElement;\n sensitiveAreaRef?: HTMLDivElement;\n informationPlacesRef?: HTMLDivElement;\n poiRef?: HTMLDivElement;\n stepsRef?: HTMLDivElement;\n accessibilityRef?: HTMLDivElement;\n touristicContentsRef?: HTMLDivElement;\n touristicEventsRef?: HTMLDivElement;\n presentationOptionRef?: HTMLAnchorElement;\n stepsOptionRef?: HTMLAnchorElement;\n descriptionOptionRef?: HTMLAnchorElement;\n recommendationsOptionRef?: HTMLAnchorElement;\n accessibilityOptionRef?: HTMLAnchorElement;\n OptionRef?: HTMLAnchorElement;\n sensitiveAreaOptionRef?: HTMLAnchorElement;\n informationPlacesOptionRef?: HTMLAnchorElement;\n poisOptionRef?: HTMLAnchorElement;\n touristicContentsOptionRef?: HTMLAnchorElement;\n touristicEventsOptionRef?: HTMLAnchorElement;\n stepSwiperScrollbar?: HTMLDivElement;\n poisSwiperScrollbar?: HTMLDivElement;\n informationDesksContentsSwiperScrollbar?: HTMLDivElement;\n touristicContentsSwiperScrollbar?: HTMLDivElement;\n touristicEventsSwiperScrollbar?: HTMLDivElement;\n\n presentationObserver: IntersectionObserver;\n stepsObserver: IntersectionObserver;\n descriptionObserver: IntersectionObserver;\n recommendationsObserver: IntersectionObserver;\n parkingObserver: IntersectionObserver;\n sensitiveAreaObserver: IntersectionObserver;\n informationPlacesObserver: IntersectionObserver;\n accessibilityObserve: IntersectionObserver;\n poiObserver: IntersectionObserver;\n accessibilityObserver: IntersectionObserver;\n touristicContentObserver: IntersectionObserver;\n touristicEventObserver: IntersectionObserver;\n\n hasStep?: boolean;\n\n defaultOptions: Options;\n @Event() descriptionIsInViewport: EventEmitter<boolean>;\n @Event() parkingIsInViewport: EventEmitter<boolean>;\n @Event() sensitiveAreaIsInViewport: EventEmitter<boolean>;\n @Event() informationPlacesIsInViewport: EventEmitter<boolean>;\n @Event() poiIsInViewport: EventEmitter<boolean>;\n @Event() stepsIsInViewport: EventEmitter<boolean>;\n @Event() touristicContentsIsInViewport: EventEmitter<boolean>;\n @Event() touristicEventsIsInViewport: EventEmitter<boolean>;\n @Event() parentTrekPress: EventEmitter<number>;\n @State() currentTrek: Trek;\n @State() difficulty: Difficulty;\n @State() route: Route;\n @State() practice: Practice;\n @State() themes: Themes;\n @State() labels: Labels;\n @State() sources: Sources;\n @State() accessibilities: Accessibilities;\n @State() accessibilityLevel: AccessibilityLevel;\n @State() displayFullscreen = false;\n @State() cities: string[];\n @State() options: Options;\n @State() offline = false;\n\n @Prop() trek: Trek;\n @Prop() emergencyNumber: number;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n\n @Prop() weather = false;\n @Prop() isLargeView = false;\n\n @Prop() defaultBackgroundLayerUrl;\n @Prop() defaultBackgroundLayerAttribution;\n\n @Prop() enableOffline = false;\n @Prop() globalTilesMinZoomOffline = 0;\n @Prop() globalTilesMaxZoomOffline = 11;\n @Prop() trekTilesMinZoomOffline = 12;\n @Prop() trekTilesMaxZoomOffline = 16;\n\n @Event() trekDownloadConfirm: EventEmitter<number>;\n @Event() trekDownloadedSuccessConfirm: EventEmitter<number>;\n\n @Event() trekDeleteConfirm: EventEmitter<number>;\n @Event() trekDeleteSuccessConfirm: EventEmitter<number>;\n\n indicatorSelectedTrekOption = { translateX: null, width: null, backgroundSize: null, ref: null };\n\n componentDidLoad() {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen && !this.offline ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n this.swiperStep = new Swiper(this.swiperStepRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n initialSlide: this.getCurrentStepIndex(),\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.stepSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperPois = new Swiper(this.swiperPoisRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.poisSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperInformationDesks = new Swiper(this.swiperInformationDesksRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.informationDesksContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperTouristicContents = new Swiper(this.swiperTouristicContentsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperTouristicEvents = new Swiper(this.swiperTouristicEventsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicEventsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n if (this.presentationRef) {\n this.presentationObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.options = { ...this.options, presentation: { ...this.defaultOptions.presentation, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.presentationObserver.observe(this.presentationRef);\n }\n if (this.stepsRef) {\n this.stepsObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.stepsIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, steps: { ...this.defaultOptions.steps, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.stepsObserver.observe(this.stepsRef);\n }\n if (this.descriptionRef) {\n this.descriptionObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.descriptionIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, description: { ...this.defaultOptions.description, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.descriptionObserver.observe(this.descriptionRef);\n }\n if (this.recommendationRef) {\n this.recommendationsObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.options = { ...this.options, recommendations: { ...this.defaultOptions.recommendations, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.recommendationsObserver.observe(this.recommendationRef);\n }\n if (this.parkingRef) {\n this.parkingObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.parkingIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.parkingObserver.observe(this.parkingRef);\n }\n\n if (this.sensitiveAreaRef) {\n this.sensitiveAreaObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.sensitiveAreaIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, sensitiveArea: { ...this.defaultOptions.sensitiveArea, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.sensitiveAreaObserver.observe(this.sensitiveAreaRef);\n }\n\n if (this.informationPlacesRef) {\n this.informationPlacesObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.informationPlacesIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, informationPlaces: { ...this.defaultOptions.informationPlaces, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.informationPlacesObserver.observe(this.informationPlacesRef);\n }\n\n if (this.accessibilityRef) {\n this.accessibilityObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.options = { ...this.options, accessibility: { ...this.defaultOptions.accessibility, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.accessibilityObserver.observe(this.accessibilityRef);\n }\n\n if (this.poiRef) {\n this.poiObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.poiIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, pois: { ...this.defaultOptions.pois, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.poiObserver.observe(this.poiRef);\n }\n\n if (this.touristicContentsRef) {\n this.touristicContentObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicContentsIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, touristicContents: { ...this.defaultOptions.touristicContents, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.touristicContentObserver.observe(this.touristicContentsRef);\n }\n if (this.touristicEventsRef) {\n this.touristicEventObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicEventsIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, touristicEvents: { ...this.defaultOptions.touristicEvents, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.touristicEventObserver.observe(this.touristicContentsRef);\n }\n }\n\n async connectedCallback() {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.offline = this.currentTrek.offline;\n this.defaultOptions = this.handleOptions();\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: true } };\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => this.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => this.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => this.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => this.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n this.cities = this.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n this.hasStep = this.currentTrek.children.length > 0;\n }\n onChange('currentTrek', async () => {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.offline = this.currentTrek.offline;\n this.defaultOptions = this.handleOptions();\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: true } };\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => this.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => this.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => this.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => this.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n this.cities = this.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n this.hasStep = this.currentTrek.children.length > 0;\n }\n });\n }\n\n disconnectedCallback() {\n this.presentationObserver && this.presentationObserver.disconnect();\n this.stepsObserver && this.stepsObserver.disconnect();\n this.descriptionObserver && this.descriptionObserver.disconnect();\n this.recommendationsObserver && this.recommendationsObserver.disconnect();\n this.parkingObserver && this.parkingObserver.disconnect();\n this.sensitiveAreaObserver && this.sensitiveAreaObserver.disconnect();\n this.informationPlacesObserver && this.informationPlacesObserver.disconnect();\n this.accessibilityObserver && this.accessibilityObserver.disconnect();\n this.poiObserver && this.poiObserver.disconnect();\n this.accessibilityObserver && this.accessibilityObserver.disconnect();\n this.touristicContentObserver && this.touristicContentObserver.disconnect();\n this.touristicEventObserver && this.touristicEventObserver.disconnect();\n }\n\n handleOptions() {\n return {\n ...options,\n presentation: { ...presentation },\n steps: { ...steps, visible: Boolean(state.parentTrek) },\n description: { ...description, visible: Boolean(this.currentTrek.description) },\n pois: { ...pois, visible: Boolean(state.currentPois && state.currentPois.length > 0) },\n recommendations: { ...recommendations, visible: Boolean(this.currentTrek.advice || (this.labels && this.labels.length > 0)) },\n sensitiveArea: { ...sensitiveArea, visible: Boolean(state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) },\n informationPlaces: {\n ...informationPlaces,\n visible: Boolean(\n state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0,\n ),\n },\n accessibility: {\n ...accessibility,\n visible: Boolean(\n this.currentTrek.disabled_infrastructure ||\n (this.accessibilities && this.accessibilities.length > 0) ||\n this.currentTrek.accessibility_level ||\n this.currentTrek.accessibility_slope ||\n this.currentTrek.accessibility_width ||\n this.currentTrek.accessibility_signage ||\n this.currentTrek.accessibility_covering ||\n this.currentTrek.accessibility_exposure ||\n this.currentTrek.accessibility_advice ||\n this.emergencyNumber,\n ),\n },\n touristicContents: { ...touristicContents, visible: Boolean(state.trekTouristicContents && state.trekTouristicContents.length > 0) },\n touristicEvents: { ...touristicEvents, visible: Boolean(state.trekTouristicEvents && state.trekTouristicEvents.length > 0) },\n };\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (this.currentTrek.attachments && this.currentTrek.attachments[0] && this.currentTrek.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n handleIndicatorSelectedTrekOption() {\n let currentOption: Option;\n let previousVisibleOptions = 0;\n let previousWidthOptions = 0;\n let elementWidth = 0;\n\n const options: Option[] = Object.values(this.options);\n let index = 0;\n while (!currentOption && index < options.length) {\n if (options[index].indicator) {\n currentOption = options[index];\n } else {\n if (options[index].visible) {\n previousVisibleOptions += 1;\n previousWidthOptions += this[options[index].ref].clientWidth;\n }\n }\n index++;\n }\n if (currentOption && this[currentOption.ref]) {\n elementWidth = this[currentOption.ref].clientWidth;\n this.indicatorSelectedTrekOption = {\n translateX: `${previousWidthOptions + 16 * previousVisibleOptions - elementWidth / 2}px`,\n width: `${elementWidth * 2}px`,\n backgroundSize: `${elementWidth}px 100%`,\n ref: currentOption.ref,\n };\n }\n }\n\n handleScrollTo(element: HTMLDivElement) {\n this.trekDetailContainerRef.scrollTo({ top: element.offsetTop - 64 });\n }\n\n getCurrentStepIndex(): number {\n return state.currentTrekSteps ? state.currentTrekSteps.findIndex(step => step.id === this.currentTrek.id) : 0;\n }\n\n async downloadGlobalTiles(url, attribution) {\n const offlineLayer = tileLayerOffline(url, { attribution });\n\n const treksDepartureCoordinates = [];\n\n if (state.treks) {\n for (const trek of state.treks) {\n treksDepartureCoordinates.push(trek.departure_geom);\n }\n }\n\n const bounds = L.latLngBounds(treksDepartureCoordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n\n await writeOrUpdateTilesInStore(offlineLayer, bounds, this.globalTilesMinZoomOffline, this.globalTilesMaxZoomOffline);\n }\n\n async downloadTrekTiles(url, attribution) {\n const offlineLayer = tileLayerOffline(url, { attribution });\n\n const bounds = L.latLngBounds(this.currentTrek.geometry.coordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n\n await writeOrUpdateTilesInStore(offlineLayer, bounds, this.trekTilesMinZoomOffline, this.trekTilesMaxZoomOffline);\n }\n\n async downloadTrek() {\n // download treks list data\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: signal };\n const offlineTreks = (await getAllDataInStore('treks')).filter(trek => trek.offline === true);\n let treks;\n if (!state.treks) {\n const treksList = await getTreksList(\n state.api,\n state.language,\n state.inBboxFromProviders,\n state.citiesFromProviders,\n state.districts,\n state.structuresFromProviders,\n state.themesFromProviders,\n state.portalsFromProviders,\n state.routesFromProviders,\n state.practicesFromProviders,\n init,\n );\n state.treks = (await treksList.json()).results;\n }\n treks = state.treks;\n treks = treks.filter(trek => offlineTreks.findIndex(offlineTrek => offlineTrek.id === trek.id) === -1);\n\n if (!state.districts) {\n const districtsList = await getDistricts(state.api, state.language, init);\n state.districts = (await districtsList.json()).results;\n }\n\n await writeOrUpdateDataInStore('treks', treks);\n await writeOrUpdateDataInStore('districts', state.districts);\n\n // download global tiles\n // await this.downloadGlobalTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution);\n\n // download trek tiles\n // await this.downloadTrekTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution);\n\n // download global medias\n await writeOrUpdateFilesInStore(state.difficulties, imagesRegExp);\n await writeOrUpdateFilesInStore(state.routes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.practices, imagesRegExp);\n await writeOrUpdateFilesInStore(state.themes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.labels, imagesRegExp);\n await writeOrUpdateFilesInStore(state.districts, imagesRegExp);\n await writeOrUpdateFilesInStore(state.sources, imagesRegExp);\n await writeOrUpdateFilesInStore(state.accessibilities, imagesRegExp);\n await writeOrUpdateFilesInStore(state.poiTypes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp);\n await writeOrUpdateFilesInStore(state.touristicContentCategories, imagesRegExp);\n await writeOrUpdateFilesInStore(state.touristicEventTypes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.networks, imagesRegExp);\n\n // // download trek images\n await writeOrUpdateFilesInStore(this.currentTrek, imagesRegExp, true);\n\n // // download trek data\n await writeOrUpdateDataInStore('difficulties', state.difficulties);\n await writeOrUpdateDataInStore('routes', state.routes);\n await writeOrUpdateDataInStore(\n 'practices',\n state.practices.map(practice => ({ ...practice, selected: false })),\n );\n await writeOrUpdateDataInStore('themes', state.themes);\n await writeOrUpdateDataInStore('cities', state.cities);\n await writeOrUpdateDataInStore('accessibilities', state.accessibilities);\n await writeOrUpdateDataInStore('ratings', state.ratings);\n await writeOrUpdateDataInStore('ratingsScale', state.ratingsScale);\n await writeOrUpdateDataInStore('sensitiveAreas', state.currentSensitiveAreas);\n await writeOrUpdateDataInStore('labels', state.labels);\n await writeOrUpdateDataInStore('sources', state.sources);\n await writeOrUpdateDataInStore('accessibilitiesLevel', state.accessibilitiesLevel);\n await writeOrUpdateDataInStore('touristicContentCategories', state.touristicContentCategories);\n await writeOrUpdateDataInStore('touristicEvents', state.trekTouristicEvents);\n await writeOrUpdateDataInStore('touristicEventTypes', state.touristicEventTypes);\n await writeOrUpdateDataInStore('networks', state.networks);\n await writeOrUpdateDataInStore('pois', state.currentPois);\n await writeOrUpdateDataInStore('poiTypes', state.poiTypes);\n await writeOrUpdateDataInStore('informationDesks', state.currentInformationDesks);\n\n await writeOrUpdateDataInStore('treks', [{ ...this.currentTrek, offline: true }]);\n\n await writeOrUpdateFilesInStore(state.currentPois, imagesRegExp, true);\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp, true);\n\n // download items data\n await writeOrUpdateFilesInStore(state.trekTouristicContents, imagesRegExp, true);\n state.trekTouristicContents.forEach(trekTouristicContent => {\n trekTouristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', state.trekTouristicContents);\n\n await writeOrUpdateFilesInStore(state.trekTouristicEvents, imagesRegExp, true);\n state.trekTouristicEvents.forEach(trekTouristicEvent => {\n trekTouristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', state.trekTouristicEvents);\n\n // download itinerancy\n if (this.currentTrek.children && this.currentTrek.children.length > 0) {\n // fetch and store children treks\n const steps: number[] = [];\n steps.push(...this.currentTrek.children);\n const stepRequests = [];\n const stepsTouristicContentsRequests = [];\n const stepsTouristicEventsRequests = [];\n\n steps.forEach(stepId => {\n stepRequests.push(getTrek(state.api, state.language, stepId, init));\n stepsTouristicContentsRequests.push(getTouristicContentsNearTrek(state.api, state.language, stepId, init));\n stepsTouristicEventsRequests.push(getTouristicEventsNearTrek(state.api, state.language, stepId, init));\n });\n\n const trekSteps: Treks = await Promise.all([...stepRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n\n const stepsTouristicContentsResponses = await Promise.all([...stepsTouristicContentsRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n\n const stepsTouristicEventsResponses = await Promise.all([...stepsTouristicEventsRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n\n for (let index = 0; index < trekSteps.length; index++) {\n trekSteps[index].offline = true;\n await writeOrUpdateDataInStore('treks', [trekSteps[index]]);\n await writeOrUpdateFilesInStore(trekSteps[index], imagesRegExp, true);\n }\n\n for (let index = 0; index < stepsTouristicContentsResponses.length; index++) {\n const stepsTouristicContentsResponse = stepsTouristicContentsResponses[index];\n for (let index = 0; index < stepsTouristicContentsResponse.results.length; index++) {\n stepsTouristicContentsResponse.results[index].offline = true;\n await writeOrUpdateDataInStore('touristicContents', [stepsTouristicContentsResponse.results[index]]);\n await writeOrUpdateFilesInStore(stepsTouristicContentsResponse.results[index], imagesRegExp, true);\n }\n }\n\n for (let index = 0; index < stepsTouristicEventsResponses.length; index++) {\n const stepsTouristicEventsResponse = stepsTouristicEventsResponses[index];\n for (let index = 0; index < stepsTouristicEventsResponse.results.length; index++) {\n stepsTouristicEventsResponse[index].offline = true;\n await writeOrUpdateDataInStore('touristicEvents', [stepsTouristicEventsResponse[index]]);\n await writeOrUpdateFilesInStore(stepsTouristicEventsResponse[index], imagesRegExp, true);\n }\n }\n }\n\n state.treks.find(trek => trek.id === this.currentTrek.id).offline = true;\n if (!state.currentTreks) {\n state.currentTreks = state.treks;\n }\n state.currentTreks.find(trek => trek.id === this.currentTrek.id).offline = true;\n this.swiperImages.slideTo(0);\n this.offline = true;\n this.trekDownloadedSuccessConfirm.emit();\n }\n\n async deleteTrek() {\n const treksInStore: Treks = [];\n const trekInStore = await getDataInStore('treks', this.currentTrek.id);\n this.deleteOfflineTrekProperties(trekInStore);\n treksInStore.push(trekInStore);\n if (this.currentTrek.children.length > 0) {\n for (let index = 0; index < this.currentTrek.children.length; index++) {\n const trekInStore = await getDataInStore('treks', this.currentTrek.children[index]);\n this.deleteOfflineTrekProperties(trekInStore);\n treksInStore.push(trekInStore);\n }\n }\n await writeOrUpdateDataInStore('treks', treksInStore);\n\n if (state.treks) {\n delete state.treks.find(trek => trek.id === this.currentTrek.id).offline;\n\n if (!state.currentTreks) {\n state.currentTreks = state.treks;\n }\n delete state.currentTreks.find(trek => trek.id === this.currentTrek.id).offline;\n }\n\n if (state.parentTrek) {\n delete state.parentTrek.offline;\n }\n\n if (state.currentTrekSteps) {\n state.currentTrekSteps.forEach(currentTrekStep => {\n delete currentTrekStep.offline;\n });\n }\n\n this.offline = false;\n this.trekDeleteSuccessConfirm.emit();\n }\n\n displayTrekDownloadModal() {\n this.trekDownloadConfirm.emit();\n }\n\n displayTrekDeleteModal() {\n this.trekDeleteConfirm.emit();\n }\n\n @Listen('trekDownloadPress', { target: 'window' })\n onTrekDownloadPress() {\n this.downloadTrek();\n }\n\n @Listen('trekDeletePress', { target: 'window' })\n onTrekDeletePress() {\n this.deleteTrek();\n }\n\n deleteOfflineTrekProperties(trekInStore) {\n delete trekInStore.descent;\n delete trekInStore.geometry;\n delete trekInStore.gpx;\n delete trekInStore.kml;\n delete trekInStore.pdf;\n delete trekInStore.parking_location;\n delete trekInStore.arrival;\n delete trekInStore.ambiance;\n delete trekInStore.access;\n delete trekInStore.public_transport;\n delete trekInStore.advice;\n delete trekInStore.advised_parking;\n delete trekInStore.gear;\n delete trekInStore.source;\n delete trekInStore.points_reference;\n delete trekInStore.disabled_infrastructure;\n delete trekInStore.accessibility_level;\n delete trekInStore.accessibility_slope;\n delete trekInStore.accessibility_width;\n delete trekInStore.accessibility_signage;\n delete trekInStore.accessibility_covering;\n delete trekInStore.accessibility_exposure;\n delete trekInStore.accessibility_advice;\n delete trekInStore.ratings;\n delete trekInStore.ratings_description;\n delete trekInStore.children;\n delete trekInStore.networks;\n delete trekInStore.web_links;\n delete trekInStore.update_datetime;\n delete trekInStore.offline;\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '244px'\n : '204px',\n }}\n >\n {this.currentTrek && (\n <div part=\"trek-options\" class=\"trek-options\">\n <a\n part=\"trek-option\"\n class={`presentation trek-option${this.indicatorSelectedTrekOption.ref === 'presentationOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.presentationOptionRef = el)}\n onClick={() => this.handleScrollTo(this.presentationRef)}\n >\n {translate[state.language].options.presentation}\n </a>\n {this.options.steps.visible && (\n <a\n part=\"trek-option\"\n class={`steps trek-option${this.options.steps.indicator ? ' selected-trek-option' : ''}`}\n ref={el => (this.stepsOptionRef = el)}\n onClick={() => this.handleScrollTo(this.stepsRef)}\n >\n {translate[state.language].options.steps}\n </a>\n )}\n {this.options.description.visible && (\n <a\n part=\"trek-option\"\n class={`description trek-option${this.indicatorSelectedTrekOption.ref === 'descriptionOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.descriptionOptionRef = el)}\n onClick={() => this.handleScrollTo(this.descriptionRef)}\n >\n {translate[state.language].options.description}\n </a>\n )}\n {this.options.pois.visible && (\n <a\n part=\"trek-option\"\n class={`pois trek-option${this.indicatorSelectedTrekOption.ref === 'poisOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.poisOptionRef = el)}\n onClick={() => this.handleScrollTo(this.poiRef)}\n >\n {translate[state.language].options.pois}\n </a>\n )}\n {this.options.recommendations.visible && (\n <a\n part=\"trek-option\"\n class={`recommendations trek-option${this.indicatorSelectedTrekOption.ref === 'recommendationsOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.recommendationsOptionRef = el)}\n onClick={() => this.handleScrollTo(this.recommendationRef)}\n >\n {translate[state.language].options.recommendations}\n </a>\n )}\n {this.options.sensitiveArea.visible && (\n <a\n part=\"trek-option\"\n class={`sensitive-areas trek-option${this.indicatorSelectedTrekOption.ref === 'sensitiveAreaOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.sensitiveAreaOptionRef = el)}\n onClick={() => this.handleScrollTo(this.sensitiveAreaRef)}\n >\n {translate[state.language].options.environmentalSensitiveAreas}\n </a>\n )}\n {this.options.informationPlaces.visible && (\n <a\n part=\"trek-option\"\n class={`information-places trek-option${this.indicatorSelectedTrekOption.ref === 'informationPlacesOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.informationPlacesOptionRef = el)}\n onClick={() => this.handleScrollTo(this.informationPlacesRef)}\n >\n {translate[state.language].options.informationPlaces}\n </a>\n )}\n {this.options.accessibility.visible && (\n <a\n part=\"trek-option\"\n class={`accessibility trek-option${this.indicatorSelectedTrekOption.ref === 'accessibilityOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.accessibilityOptionRef = el)}\n onClick={() => this.handleScrollTo(this.accessibilityRef)}\n >\n {translate[state.language].options.accessibility}\n </a>\n )}\n {this.options.touristicContents.visible && (\n <a\n part=\"trek-option\"\n class={`touristic-content trek-option${this.indicatorSelectedTrekOption.ref === 'touristicContentsOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.touristicContentsOptionRef = el)}\n onClick={() => this.handleScrollTo(this.touristicContentsRef)}\n >\n {translate[state.language].options.touristicContents}\n </a>\n )}\n {this.options.touristicEvents.visible && (\n <a\n part=\"trek-option\"\n class={`touristic-event trek-option${this.indicatorSelectedTrekOption.ref === 'touristicEventsOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.touristicEventsOptionRef = el)}\n onClick={() => this.handleScrollTo(this.touristicEventsRef)}\n >\n {translate[state.language].options.touristicEvents}\n </a>\n )}\n {this.presentationOptionRef && (\n <span\n part=\"trek-indicator-selected-trek-option\"\n class=\"trek-indicator-selected-trek-option\"\n style={{\n transform: `translateX(${this.indicatorSelectedTrekOption.translateX})`,\n width: this.indicatorSelectedTrekOption.width,\n backgroundSize: this.indicatorSelectedTrekOption.backgroundSize,\n }}\n ></span>\n )}\n </div>\n )}\n {this.currentTrek && (\n <div part=\"trek-detail-container\" class=\"trek-detail-container\" ref={el => (this.trekDetailContainerRef = el)}>\n <div part=\"trek-images\" class=\"trek-images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.currentTrek.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n this.currentTrek.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"trek-close-fullscreen-button\" class=\"trek-close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n {/* @ts-ignore */}\n <span part=\"trek-close-fullcreen-icon\" class=\"trek-close-fullcreen-icon material-symbols material-symbols-outlined\" translate={false}>\n close\n </span>\n </div>\n )}\n <div part=\"trek-image-legend\" class=\"trek-image-legend\">\n {legend}\n </div>\n <img\n part=\"trek-img\"\n class=\"trek-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'trek-img default-trek-img';\n event.target.src = defaultImageSrc;\n }}\n />\n </div>\n );\n })\n ) : (\n <img\n part=\"trek-img\"\n class=\"trek-img default-trek-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n )}\n </div>\n <div style={{ display: this.offline ? 'none' : 'flex' }}>\n <div part=\"swiper-pagination\" class=\"swiper-pagination\" ref={el => (this.paginationElImagesRef = el)}></div>\n <div part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElImagesRef = el)}></div>\n <div part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElImagesRef = el)}></div>\n </div>\n </div>\n </div>\n <div part=\"trek-name\" class=\"trek-name\">\n {this.currentTrek.name}\n </div>\n {this.themes.length > 0 && (\n <div part=\"themes-container\" class=\"themes-container\">\n {this.themes.map(theme => (\n <div part=\"theme\" class=\"theme\">\n {theme.label}\n </div>\n ))}\n </div>\n )}\n <div part=\"sub-container\" class=\"sub-container\">\n <div part=\"icons-labels-container\" class=\"icons-labels-container\">\n {this.difficulty && (\n <div part=\"icon-label\" class=\"icon-label difficulty\">\n {this.difficulty.pictogram && (\n <img\n part=\"icon\"\n class=\"icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.difficulty.pictogram}\n />\n )}\n <span part=\"label\" class=\"label\">\n {this.difficulty.label}\n </span>\n </div>\n )}\n <div part=\"icon-label\" class=\"icon-label duration\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"icon material-symbols material-symbols-outlined\" translate={false}>\n timelapse\n </span>\n <span part=\"label\" class=\"label\">\n {formatDuration(this.currentTrek?.duration)}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label route\">\n {this.route?.pictogram && (\n <img\n part=\"icon\"\n class=\"icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.route.pictogram}\n />\n )}\n <span part=\"label\" class=\"label\">\n {this.route?.route}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label length\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"icon material-symbols material-symbols-outlined\" translate={false}>\n open_in_full\n </span>\n <span part=\"label\" class=\"label\">\n {formatLength(this.currentTrek.length_2d)}\n </span>\n </div>\n {this.currentTrek.ascent && (\n <div part=\"icon-label\" class=\"icon-label ascent\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"icon material-symbols material-symbols-outlined\" translate={false}>\n moving\n </span>\n <span part=\"label\" class=\"label\">\n {formatAscent(this.currentTrek.ascent)}\n </span>\n </div>\n )}\n {this.currentTrek.descent && (\n <div part=\"icon-label\" class=\"icon-label descent\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"icon material-symbols material-symbols-outlined\" translate={false}>\n moving\n </span>\n <span part=\"label\" class=\"label\">\n {formatDescent(this.currentTrek.descent)}\n </span>\n </div>\n )}\n <div part=\"icon-label\" class=\"icon-label practice\">\n {this.practice?.pictogram && (\n <img\n part=\"icon\"\n class=\"icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.practice.pictogram}\n />\n )}\n <span part=\"label\" class=\"label\">\n {this.practice?.name}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label networks\">\n {this.currentTrek.networks.map(networkId => {\n const currentNetwork = state.networks.find(network => network.id === networkId);\n return (\n <div part=\"network\" class=\"network\">\n <img\n part=\"icon\"\n class=\"icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={currentNetwork.pictogram}\n />\n <span part=\"label\" class=\"label\">\n {currentNetwork.label}\n </span>\n </div>\n );\n })}\n </div>\n {this.currentTrek.ratings.map(trekRating => (\n <div part=\"row\" class=\"row\">\n {`${state.ratingsScale.find(ratingScale => ratingScale.id === state.ratings.find(rating => rating.id === trekRating).scale).name} : ${\n state.ratings.find(rating => rating.id === trekRating).name\n }`}\n </div>\n ))}\n {this.currentTrek.ratings_description && this.currentTrek.ratings_description !== '' && (\n <div part=\"row\" class=\"row\" innerHTML={this.currentTrek.ratings_description}></div>\n )}\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].downloads}\n </div>\n {this.enableOffline && !this.offline && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayTrekDownloadModal()}>\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n download_for_offline\n </span>\n <span part=\"label\" class=\"label\">\n RENDRE DISPONIBLE HORS LIGNE\n </span>\n </button>\n )}\n {this.enableOffline && this.offline && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayTrekDeleteModal()}>\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n delete\n </span>\n <span part=\"label\" class=\"label\">\n SUPPRIMER DU HORS LIGNE\n </span>\n </button>\n )}\n <div part=\"links-container\" class=\"links-container\">\n <a href={`${this.currentTrek.gpx}`} target=\"_blank\" rel=\"noopener noreferrer\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n download\n </span>\n <span part=\"label\" class=\"label\">\n GPX\n </span>\n </a>\n <a href={`${this.currentTrek.kml}`} target=\"_blank\" rel=\"noopener noreferrer\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n download\n </span>\n <span part=\"label\" class=\"label\">\n KML\n </span>\n </a>\n <a href={`${this.currentTrek.pdf}`} target=\"_blank\" rel=\"noopener noreferrer\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n download\n </span>\n <span part=\"label\" class=\"label\">\n PDF\n </span>\n </a>\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentTrek.description_teaser && <div part=\"description-teaser\" class=\"description-teaser\" innerHTML={this.currentTrek.description_teaser}></div>}\n {this.currentTrek.ambiance && <div part=\"ambiance\" class=\"ambiance\" innerHTML={this.currentTrek.ambiance}></div>}\n {state.parentTrekId && state.parentTrek && this.currentTrek.id !== state.parentTrekId && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"parent-trek-container\" class=\"parent-trek-container\">\n <button part=\"parent-trek-title\" class=\"parent-trek-title\" onClick={() => this.parentTrekPress.emit(state.parentTrekId)}>\n <div>&lt;</div>\n {state.parentTrek.name}\n </button>\n </div>\n </div>\n )}\n {state.currentTrekSteps && (\n <div part=\"step-container\" class=\"step-container\">\n <div part=\"step-title\" class=\"step-title\" ref={el => (this.stepsRef = el)}>{`${state.currentTrekSteps.length} ${translate[state.language].steps}`}</div>\n <div part=\"swiper-step\" class=\"swiper swiper-step\" ref={el => (this.swiperStepRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentTrekSteps &&\n state.currentTrekSteps.map(trek => {\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-trek-card\n exportparts=\"trek-card,trek-img-container,trek-img,trek-sub-container,trek-departure,trek-name,trek-themes-container,trek-theme,trek-icons-labels-container,trek-icon-label,trek-icon,trek-label\"\n key={`trek-${trek.id}`}\n trek={trek}\n is-large-view={false}\n is-step={true}\n fontFamily={this.fontFamily}\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-trek-card>\n </div>\n );\n })}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.stepSwiperScrollbar = el)}></div>\n </div>\n </div>\n )}\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentTrek.description && (\n <div part=\"description-container\" class=\"description-container\">\n <div part=\"description-title\" class=\"description-title\" ref={el => (this.descriptionRef = el)}>\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={this.currentTrek.description}></div>\n </div>\n )}\n {this.currentTrek.departure && (\n <div part=\"departure-container\" class=\"departure-container\">\n <div part=\"departure-title\" class=\"departure-title\">\n {translate[state.language].departure} :&nbsp;\n </div>\n <div part=\"departure\" innerHTML={this.currentTrek.departure}></div>\n </div>\n )}\n {this.currentTrek.arrival && (\n <div part=\"arrival-container\" class=\"arrival-container\">\n <div part=\"arrival-title\" class=\"arrival-title\">\n {translate[state.language].arrival} :&nbsp;\n </div>\n <div part=\"arrival\" innerHTML={this.currentTrek.arrival}></div>\n </div>\n )}\n {this.currentTrek.cities && this.currentTrek.cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].crossedCities} :&nbsp;\n </div>\n <div part=\"cities\" innerHTML={this.cities.join(', ')}></div>\n </div>\n )}\n {state.currentPois && state.currentPois.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"pois-container\" class=\"pois-container\">\n <div part=\"pois-title\" class=\"pois-title\" ref={el => (this.poiRef = el)}>\n {translate[state.language].pois(state.currentPois.length)}\n </div>\n <div part=\"swiper-pois\" class=\"swiper swiper-pois\" ref={el => (this.swiperPoisRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentPois.map(poi => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-poi\n exportparts=\"poi-type-img-container,poi-type,swiper-poi,swiper-wrapper,swiper-slide,poi-img,default-poi-img,swiper-pagination,swiper-button-prev,swiper-button-next,poi-sub-container,poi-name,poi-description,handle-poi-description\"\n poi={poi}\n ></grw-poi>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.poisSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.weather && this.currentTrek.departure_city && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weather-container\" class=\"weather-container\">\n <iframe height=\"150\" frameborder=\"0\" src={`https://meteofrance.com/widget/prevision/${this.currentTrek.departure_city}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n </div>\n )}\n {this.currentTrek.access && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"access-container\" class=\"access-container\">\n <div part=\"access-title\" class=\"access-title\">\n {translate[state.language].roadAccessAndParking}\n </div>\n <div part=\"access\" class=\"access\" innerHTML={this.currentTrek.access}></div>\n {this.currentTrek.advised_parking && (\n <div>\n <div part=\"advised-parking-title\" class=\"advised-parking-title\" ref={el => (this.parkingRef = el)}>\n {translate[state.language].recommendedParking}\n </div>\n <div part=\"advised-parking\" class=\"advised-parking\" innerHTML={this.currentTrek.advised_parking}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {this.currentTrek.public_transport && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"public-transport-container\" class=\"public-transport-container\">\n <div part=\"public-transport-title\" class=\"public-transport-title\">\n {translate[state.language].transport}\n </div>\n <div part=\"public-transport\" class=\"public-transport\" innerHTML={this.currentTrek.public_transport}></div>\n </div>\n </div>\n )}\n {(this.currentTrek.advice || this.currentTrek.gear || this.labels.length > 0) && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"advice-container\" class=\"advice-container\">\n <div part=\"advice-title\" class=\"advice-title\" ref={el => (this.recommendationRef = el)}>\n {translate[state.language].recommendations}\n </div>\n {this.currentTrek.advice && (\n <div part=\"current-advice-container\" class=\"current-advice-container\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n warning\n </span>\n <div part=\"advice\" class=\"advice\" innerHTML={this.currentTrek.advice}></div>\n </div>\n )}\n {this.currentTrek.gear && (\n <div part=\"gear-container\" class=\"gear-container\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n backpack\n </span>\n <div part=\"gear\" class=\"gear\" innerHTML={this.currentTrek.gear}></div>\n </div>\n )}\n {this.labels.map(label => (\n <div part=\"label-container\" class=\"label-container\">\n <div part=\"label-sub-container\" class=\"label-sub-container\">\n {label.pictogram && (\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={label.pictogram}\n />\n )}\n <div part=\"label-name\" class=\"label-name\" innerHTML={label.name}></div>\n </div>\n <div part=\"label-advice\" class=\"label-advice\" innerHTML={label.advice}></div>\n </div>\n ))}\n </div>\n </div>\n )}\n {state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"sensitive-areas-container\" class=\"sensitive-areas-container\">\n <div part=\"ensitive-areas-title\" class=\"sensitive-areas-title\" ref={el => (this.sensitiveAreaRef = el)}>\n {translate[state.language].environmentalSensitiveAreas}\n </div>\n <div part=\"sensitive-areas-description\" class=\"sensitive-areas-description\">\n {translate[state.language].sensitiveAreasDescription}\n </div>\n {state.currentSensitiveAreas.map(sensitiveArea => (\n <grw-sensitive-area-detail\n exportparts=\"sensitive-area-title-container,sensitive-area-color-container,sensitive-area-title,sensitive-area-description,sensitive-area-practice-container,sensitive-area-practice-title,sensitive-area-practices,sensitive-area-practice,sensitive-area-period-container,sensitive-area-period-title,sensitive-area-periods,sensitive-area-period,sensitive-area-contact-container,sensitive-area-contact-title,sensitive-area-contact-value\"\n sensitiveArea={sensitiveArea}\n ></grw-sensitive-area-detail>\n ))}\n </div>\n </div>\n )}\n {state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"information-desks-container\" class=\"information-desks-container\">\n <div part=\"information-desks-title\" class=\"information-desks-title\" ref={el => (this.informationPlacesRef = el)}>\n {translate[state.language].informationPlaces}\n </div>\n <div part=\"swiper-information-desks\" class=\"swiper swiper-information-desks\" ref={el => (this.swiperInformationDesksRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentInformationDesks\n .filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id))\n .map(informationDesk => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-information-desk\n exportparts=\"information-desk-img-container,information-desk-img,information-desk-sub-container,information-desk-name,center-on-map-button,icon,label,information-desk-informations,phone-container,mail-container,link-container,information-desk-description-container,information-desk-description,handle-information-desk-description\"\n informationDesk={informationDesk}\n ></grw-information-desk>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.informationDesksContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {(this.currentTrek.disabled_infrastructure ||\n (this.accessibilities && this.accessibilities.length > 0) ||\n this.currentTrek.accessibility_level ||\n this.currentTrek.accessibility_slope ||\n this.currentTrek.accessibility_width ||\n this.currentTrek.accessibility_signage ||\n this.currentTrek.accessibility_covering ||\n this.currentTrek.accessibility_exposure ||\n this.currentTrek.accessibility_advice ||\n this.emergencyNumber) && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"accessibilities-container\" class=\"accessibilities-container\">\n <div part=\"accessibilities-title\" class=\"accessibilities-title\" ref={el => (this.accessibilityRef = el)}>\n {translate[state.language].accessibility}\n </div>\n {this.currentTrek.disabled_infrastructure && <div part=\"disabled-infrastructure\" innerHTML={this.currentTrek.disabled_infrastructure}></div>}\n {this.accessibilities && this.accessibilities.length > 0 && (\n <div part=\"accessibilities-content-container\" class=\"accessibilities-content-container\">\n {this.accessibilities.map(accessibility => (\n <div part=\"accessibility-content-container\" class=\"accessibility-content-container\">\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={accessibility.pictogram}\n ></img>\n <div part=\"accessibility-name\" innerHTML={accessibility.name}></div>\n </div>\n ))}\n </div>\n )}\n {this.emergencyNumber && (\n <div part=\"accessibility-emergency-number-container\" class=\"accessibility-emergency-number-container\">\n <div part=\"accessibility-emergency-number-title\" class=\"accessibility-emergency-number-title\">\n {translate[state.language].emergencyNumber}\n </div>\n <div part=\"accessibility-emergency-number-content\" class=\"accessibility-emergency-number-content\">\n {\n <a href={`tel:${this.emergencyNumber.toString()}`}>\n <span\n part=\"icon\"\n class=\"material-symbols material-symbols-outlined icon\"\n /* @ts-ignore */\n translate={false}\n >\n call\n </span>\n <span part=\"emergency-number\" class=\"emergency-number\">\n {this.emergencyNumber.toString()}\n </span>\n </a>\n }\n </div>\n </div>\n )}\n {this.currentTrek.accessibility_level && (\n <div part=\"accessibility-level-container\" class=\"accessibility-level-container\">\n <div part=\"accessibility-level-title\" class=\"accessibility-level-title\">\n {translate[state.language].accessibilityLevel}\n </div>\n <div part=\"accessibility-level-name\" innerHTML={this.accessibilityLevel.name}></div>\n </div>\n )}\n {this.currentTrek.accessibility_slope && (\n <div part=\"accessibility-slope-container\" class=\"accessibility-slope-container\">\n <div part=\"accessibility-slope-title\" class=\"accessibility-slope-title\">\n {translate[state.language].accessibilitySlope}\n </div>\n <div part=\"accessibility-slope\" innerHTML={this.currentTrek.accessibility_slope}></div>\n </div>\n )}\n {this.currentTrek.accessibility_width && (\n <div part=\"accessibility-width-container\" class=\"accessibility-width-container\">\n <div part=\"accessibility-width-title\" class=\"accessibility-width-title\">\n {translate[state.language].accessibilityWidth}\n </div>\n <div part=\"accessibility-width\" innerHTML={this.currentTrek.accessibility_width}></div>\n </div>\n )}\n {this.currentTrek.accessibility_signage && (\n <div part=\"accessibility-signage-container\" class=\"accessibility-signage-container\">\n <div part=\"accessibility-signage-title\" class=\"accessibility-signage-title\">\n {translate[state.language].accessibilitySignage}\n </div>\n <div part=\"accessibility-signage\" innerHTML={this.currentTrek.accessibility_signage}></div>\n </div>\n )}\n {this.currentTrek.accessibility_covering && (\n <div part=\"accessibility-covering-container\" class=\"accessibility-covering-container\">\n <div part=\"accessibility-covering-title\" class=\"accessibility-covering-title\">\n {translate[state.language].accessibilityCovering}\n </div>\n <div part=\"accessibility-covering\" innerHTML={this.currentTrek.accessibility_covering}></div>\n </div>\n )}\n {this.currentTrek.accessibility_exposure && (\n <div part=\"accessibility-exposure-container\" class=\"accessibility-exposure-container\">\n <div part=\"accessibility-exposure-title\" class=\"accessibility-exposure-title\">\n {translate[state.language].accessibilityExposure}\n </div>\n <div part=\"accessibility-exposure\" innerHTML={this.currentTrek.accessibility_exposure}></div>\n </div>\n )}\n {this.currentTrek.accessibility_advice && (\n <div part=\"accessibility-advice-container\" class=\"accessibility-advice-container\">\n <div part=\"accessibility-advice-title\" class=\"accessibility-advice-title\">\n {translate[state.language].accessibilityAdvices}\n </div>\n <div part=\"accessibility-advice\" innerHTML={this.currentTrek.accessibility_advice}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {state.trekTouristicContents && state.trekTouristicContents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-content-container\" class=\"touristic-content-container\">\n <div part=\"touristic-content-title\" class=\"touristic-content-title\" ref={el => (this.touristicContentsRef = el)}>\n {translate[state.language].touristicContents(state.trekTouristicContents.length)}\n </div>\n <div part=\"swiper-touristic-content\" class=\"swiper swiper-touristic-content\" ref={el => (this.swiperTouristicContentsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicContents.map(touristicContent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-content-card\n exportparts=\"touristic-content-card,touristic-content-img-container,swiper-touristic-content,swiper-wrapper,swiper-slide,touristic-content-img,default-touristic-content-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-content-sub-container,touristic-content-category-container,touristic-content-category-img,touristic-content-category-name,touristic-content-name,touristic-content-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicContent={touristicContent}\n isInsideHorizontalList={true}\n ></grw-touristic-content-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.trekTouristicEvents && state.trekTouristicEvents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-event-container\" class=\"touristic-event-container\">\n <div part=\"touristic-event-title\" class=\"touristic-event-title\" ref={el => (this.touristicEventsRef = el)}>\n {translate[state.language].touristicEvents(state.trekTouristicEvents.length)}\n </div>\n <div part=\"swiper-touristic-event\" class=\"swiper swiper-touristic-event\" ref={el => (this.swiperTouristicEventsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicEvents.map(touristicEvent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-event-card\n exportparts=\"touristic-event-card,touristic-event-img-container,swiper-touristic-event,swiper-wrapper,swiper-slide,touristic-event-img,default-touristic-event-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-event-sub-container,touristic-event-sub-container,touristic-event-type-img,touristic-event-type-name,touristic-event-name,touristic-event-date-container,touristic-event-date,touristic-event-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicEvent={touristicEvent}\n ></grw-touristic-event-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicEventsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.currentTrek.web_links && this.currentTrek.web_links.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weblinks-container\" class=\"weblinks-container\">\n <div part=\"weblinks-title\" class=\"weblinks-title\">\n {translate[state.language].learnMore}\n </div>\n {this.currentTrek.web_links.map(weblink => (\n <a part=\"weblink-container\" class=\"weblink-container\" href={weblink.url} target=\"_blank\" rel=\"noopener noreferrer\">\n {weblink.category && weblink.category.pictogram && (\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={weblink.category.pictogram}\n />\n )}\n {weblink.name}\n </a>\n ))}\n </div>\n </div>\n )}\n {this.currentTrek.source && this.currentTrek.source.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"source-container\" class=\"source-container\">\n <div part=\"source-title\" class=\"source-title\">\n {translate[state.language].sources}\n </div>\n {this.sources.map(source => (\n <div part=\"source-sub-container\" class=\"source-sub-container\">\n {source.pictogram && (\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={source.pictogram}\n />\n )}\n <div>\n <div part=\"source-name\" class=\"source-name\" innerHTML={source.name}></div>\n <a part=\"source-advice\" class=\"source-advice\" href={source.website} innerHTML={source.website}></a>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"grw-trek-detail.js","sourceRoot":"","sources":["../../../src/components/grw-trek-detail/grw-trek-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Event, EventEmitter, Build, Listen, getAssetPath } from '@stencil/core';\nimport Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel, Scrollbar } from 'swiper';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange } from 'store/store';\nimport { Accessibilities, AccessibilityLevel, Difficulty, Labels, Practice, Route, Sources, Themes, Trek, Option, Options, Treks } from 'types/types';\nimport { formatDuration, formatLength, formatAscent, formatDescent, imagesRegExp } from 'utils/utils';\nimport { getAllDataInStore, getDataInStore, writeOrUpdateDataInStore, writeOrUpdateFilesInStore, writeOrUpdateTilesInStore } from 'services/grw-db.service';\nimport { tileLayerOffline } from 'leaflet.offline';\nimport L from 'leaflet';\nimport { getDistricts, getTrek, getTreksList } from 'services/treks.service';\nimport { getTouristicContentsNearTrek } from 'services/touristic-contents.service';\nimport { getTouristicEventsNearTrek } from 'services/touristic-events.service';\n\nconst threshold = 1;\nconst presentation: Option = {\n visible: true,\n indicator: false,\n ref: 'presentationOptionRef',\n};\nconst steps: Option = {\n visible: false,\n indicator: false,\n ref: 'stepsOptionRef',\n};\nconst description: Option = {\n visible: false,\n indicator: false,\n ref: 'descriptionOptionRef',\n};\nconst pois: Option = {\n visible: false,\n indicator: false,\n ref: 'poisOptionRef',\n};\nconst recommendations: Option = {\n visible: false,\n indicator: false,\n ref: 'recommendationsOptionRef',\n};\nconst sensitiveArea: Option = {\n visible: false,\n indicator: false,\n ref: 'sensitiveAreaOptionRef',\n};\nconst informationPlaces: Option = {\n visible: false,\n indicator: false,\n ref: 'informationPlacesOptionRef',\n};\nconst accessibility: Option = {\n visible: false,\n indicator: false,\n ref: 'accessibilityOptionRef',\n};\nconst touristicContents: Option = {\n visible: false,\n indicator: false,\n ref: 'touristicContentsOptionRef',\n};\nconst touristicEvents: Option = {\n visible: false,\n indicator: false,\n ref: 'touristicEventsOptionRef',\n};\nconst options: Options = {\n presentation,\n steps,\n description,\n pois,\n recommendations,\n sensitiveArea,\n informationPlaces,\n accessibility,\n touristicContents,\n touristicEvents,\n};\n\n@Component({\n tag: 'grw-trek-detail',\n styleUrl: 'grw-trek-detail.scss',\n shadow: true,\n})\nexport class GrwTrekDetail {\n swiperImages?: Swiper;\n swiperStep?: Swiper;\n swiperPois?: Swiper;\n swiperInformationDesks?: Swiper;\n swiperTouristicContents?: Swiper;\n swiperTouristicEvents?: Swiper;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n swiperStepRef?: HTMLDivElement;\n swiperPoisRef?: HTMLDivElement;\n swiperInformationDesksRef?: HTMLDivElement;\n swiperTouristicContentsRef?: HTMLDivElement;\n swiperTouristicEventsRef?: HTMLDivElement;\n trekDetailContainerRef?: HTMLElement;\n presentationRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n parkingRef?: HTMLDivElement;\n recommendationRef?: HTMLDivElement;\n sensitiveAreaRef?: HTMLDivElement;\n informationPlacesRef?: HTMLDivElement;\n poiRef?: HTMLDivElement;\n stepsRef?: HTMLDivElement;\n accessibilityRef?: HTMLDivElement;\n touristicContentsRef?: HTMLDivElement;\n touristicEventsRef?: HTMLDivElement;\n presentationOptionRef?: HTMLAnchorElement;\n stepsOptionRef?: HTMLAnchorElement;\n descriptionOptionRef?: HTMLAnchorElement;\n recommendationsOptionRef?: HTMLAnchorElement;\n accessibilityOptionRef?: HTMLAnchorElement;\n OptionRef?: HTMLAnchorElement;\n sensitiveAreaOptionRef?: HTMLAnchorElement;\n informationPlacesOptionRef?: HTMLAnchorElement;\n poisOptionRef?: HTMLAnchorElement;\n touristicContentsOptionRef?: HTMLAnchorElement;\n touristicEventsOptionRef?: HTMLAnchorElement;\n stepSwiperScrollbar?: HTMLDivElement;\n poisSwiperScrollbar?: HTMLDivElement;\n informationDesksContentsSwiperScrollbar?: HTMLDivElement;\n touristicContentsSwiperScrollbar?: HTMLDivElement;\n touristicEventsSwiperScrollbar?: HTMLDivElement;\n\n presentationObserver: IntersectionObserver;\n stepsObserver: IntersectionObserver;\n descriptionObserver: IntersectionObserver;\n recommendationsObserver: IntersectionObserver;\n parkingObserver: IntersectionObserver;\n sensitiveAreaObserver: IntersectionObserver;\n informationPlacesObserver: IntersectionObserver;\n accessibilityObserve: IntersectionObserver;\n poiObserver: IntersectionObserver;\n accessibilityObserver: IntersectionObserver;\n touristicContentObserver: IntersectionObserver;\n touristicEventObserver: IntersectionObserver;\n\n hasStep?: boolean;\n\n defaultOptions: Options;\n @Event() descriptionIsInViewport: EventEmitter<boolean>;\n @Event() parkingIsInViewport: EventEmitter<boolean>;\n @Event() sensitiveAreaIsInViewport: EventEmitter<boolean>;\n @Event() informationPlacesIsInViewport: EventEmitter<boolean>;\n @Event() poiIsInViewport: EventEmitter<boolean>;\n @Event() stepsIsInViewport: EventEmitter<boolean>;\n @Event() touristicContentsIsInViewport: EventEmitter<boolean>;\n @Event() touristicEventsIsInViewport: EventEmitter<boolean>;\n @Event() parentTrekPress: EventEmitter<number>;\n @State() currentTrek: Trek;\n @State() difficulty: Difficulty;\n @State() route: Route;\n @State() practice: Practice;\n @State() themes: Themes;\n @State() labels: Labels;\n @State() sources: Sources;\n @State() accessibilities: Accessibilities;\n @State() accessibilityLevel: AccessibilityLevel;\n @State() displayFullscreen = false;\n @State() cities: string[];\n @State() options: Options;\n @State() offline = false;\n\n @Prop() trek: Trek;\n @Prop() emergencyNumber: number;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n\n @Prop() weather = false;\n @Prop() isLargeView = false;\n\n @Prop() defaultBackgroundLayerUrl;\n @Prop() defaultBackgroundLayerAttribution;\n\n @Prop() enableOffline = false;\n @Prop() globalTilesMinZoomOffline = 0;\n @Prop() globalTilesMaxZoomOffline = 11;\n @Prop() trekTilesMinZoomOffline = 12;\n @Prop() trekTilesMaxZoomOffline = 16;\n\n @Event() trekDownloadConfirm: EventEmitter<number>;\n @Event() trekDownloadedSuccessConfirm: EventEmitter<number>;\n\n @Event() trekDeleteConfirm: EventEmitter<number>;\n @Event() trekDeleteSuccessConfirm: EventEmitter<number>;\n\n indicatorSelectedTrekOption = { translateX: null, width: null, backgroundSize: null, ref: null };\n\n componentDidLoad() {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen && !this.offline ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n this.swiperStep = new Swiper(this.swiperStepRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n initialSlide: this.getCurrentStepIndex(),\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.stepSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperPois = new Swiper(this.swiperPoisRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.poisSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperInformationDesks = new Swiper(this.swiperInformationDesksRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.informationDesksContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperTouristicContents = new Swiper(this.swiperTouristicContentsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperTouristicEvents = new Swiper(this.swiperTouristicEventsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicEventsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n if (this.presentationRef) {\n this.presentationObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.options = { ...this.options, presentation: { ...this.defaultOptions.presentation, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.presentationObserver.observe(this.presentationRef);\n }\n if (this.stepsRef) {\n this.stepsObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.stepsIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, steps: { ...this.defaultOptions.steps, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.stepsObserver.observe(this.stepsRef);\n }\n if (this.descriptionRef) {\n this.descriptionObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.descriptionIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, description: { ...this.defaultOptions.description, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.descriptionObserver.observe(this.descriptionRef);\n }\n if (this.recommendationRef) {\n this.recommendationsObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.options = { ...this.options, recommendations: { ...this.defaultOptions.recommendations, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.recommendationsObserver.observe(this.recommendationRef);\n }\n if (this.parkingRef) {\n this.parkingObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.parkingIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.parkingObserver.observe(this.parkingRef);\n }\n\n if (this.sensitiveAreaRef) {\n this.sensitiveAreaObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.sensitiveAreaIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, sensitiveArea: { ...this.defaultOptions.sensitiveArea, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.sensitiveAreaObserver.observe(this.sensitiveAreaRef);\n }\n\n if (this.informationPlacesRef) {\n this.informationPlacesObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.informationPlacesIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, informationPlaces: { ...this.defaultOptions.informationPlaces, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.informationPlacesObserver.observe(this.informationPlacesRef);\n }\n\n if (this.accessibilityRef) {\n this.accessibilityObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.options = { ...this.options, accessibility: { ...this.defaultOptions.accessibility, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.accessibilityObserver.observe(this.accessibilityRef);\n }\n\n if (this.poiRef) {\n this.poiObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.poiIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, pois: { ...this.defaultOptions.pois, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.poiObserver.observe(this.poiRef);\n }\n\n if (this.touristicContentsRef) {\n this.touristicContentObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicContentsIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, touristicContents: { ...this.defaultOptions.touristicContents, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.touristicContentObserver.observe(this.touristicContentsRef);\n }\n if (this.touristicEventsRef) {\n this.touristicEventObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicEventsIsInViewport.emit(isIntersecting);\n this.options = { ...this.options, touristicEvents: { ...this.defaultOptions.touristicEvents, indicator: isIntersecting } };\n this.handleIndicatorSelectedTrekOption();\n },\n { threshold },\n );\n this.touristicEventObserver.observe(this.touristicContentsRef);\n }\n }\n\n async connectedCallback() {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.offline = this.currentTrek.offline;\n this.defaultOptions = this.handleOptions();\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: true } };\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => this.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => this.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => this.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => this.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n this.cities = this.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n this.hasStep = this.currentTrek.children.length > 0;\n }\n onChange('currentTrek', async () => {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.offline = this.currentTrek.offline;\n this.defaultOptions = this.handleOptions();\n this.options = { ...this.defaultOptions, presentation: { ...this.defaultOptions.presentation, indicator: true } };\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => this.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => this.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => this.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => this.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n this.cities = this.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n this.hasStep = this.currentTrek.children.length > 0;\n }\n });\n }\n\n disconnectedCallback() {\n this.presentationObserver && this.presentationObserver.disconnect();\n this.stepsObserver && this.stepsObserver.disconnect();\n this.descriptionObserver && this.descriptionObserver.disconnect();\n this.recommendationsObserver && this.recommendationsObserver.disconnect();\n this.parkingObserver && this.parkingObserver.disconnect();\n this.sensitiveAreaObserver && this.sensitiveAreaObserver.disconnect();\n this.informationPlacesObserver && this.informationPlacesObserver.disconnect();\n this.accessibilityObserver && this.accessibilityObserver.disconnect();\n this.poiObserver && this.poiObserver.disconnect();\n this.accessibilityObserver && this.accessibilityObserver.disconnect();\n this.touristicContentObserver && this.touristicContentObserver.disconnect();\n this.touristicEventObserver && this.touristicEventObserver.disconnect();\n }\n\n handleOptions() {\n return {\n ...options,\n presentation: { ...presentation },\n steps: { ...steps, visible: Boolean(state.parentTrek) },\n description: { ...description, visible: Boolean(this.currentTrek.description) },\n pois: { ...pois, visible: Boolean(state.currentPois && state.currentPois.length > 0) },\n recommendations: { ...recommendations, visible: Boolean(this.currentTrek.advice || (this.labels && this.labels.length > 0)) },\n sensitiveArea: { ...sensitiveArea, visible: Boolean(state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) },\n informationPlaces: {\n ...informationPlaces,\n visible: Boolean(\n state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0,\n ),\n },\n accessibility: {\n ...accessibility,\n visible: Boolean(\n this.currentTrek.disabled_infrastructure ||\n (this.accessibilities && this.accessibilities.length > 0) ||\n this.currentTrek.accessibility_level ||\n this.currentTrek.accessibility_slope ||\n this.currentTrek.accessibility_width ||\n this.currentTrek.accessibility_signage ||\n this.currentTrek.accessibility_covering ||\n this.currentTrek.accessibility_exposure ||\n this.currentTrek.accessibility_advice ||\n this.emergencyNumber,\n ),\n },\n touristicContents: { ...touristicContents, visible: Boolean(state.trekTouristicContents && state.trekTouristicContents.length > 0) },\n touristicEvents: { ...touristicEvents, visible: Boolean(state.trekTouristicEvents && state.trekTouristicEvents.length > 0) },\n };\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (this.currentTrek.attachments && this.currentTrek.attachments[0] && this.currentTrek.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n handleIndicatorSelectedTrekOption() {\n let currentOption: Option;\n let previousVisibleOptions = 0;\n let previousWidthOptions = 0;\n let elementWidth = 0;\n\n const options: Option[] = Object.values(this.options);\n let index = 0;\n while (!currentOption && index < options.length) {\n if (options[index].indicator) {\n currentOption = options[index];\n } else {\n if (options[index].visible) {\n previousVisibleOptions += 1;\n previousWidthOptions += this[options[index].ref].clientWidth;\n }\n }\n index++;\n }\n if (currentOption && this[currentOption.ref]) {\n elementWidth = this[currentOption.ref].clientWidth;\n this.indicatorSelectedTrekOption = {\n translateX: `${previousWidthOptions + 16 * previousVisibleOptions - elementWidth / 2}px`,\n width: `${elementWidth * 2}px`,\n backgroundSize: `${elementWidth}px 100%`,\n ref: currentOption.ref,\n };\n }\n }\n\n handleScrollTo(element: HTMLDivElement) {\n this.trekDetailContainerRef.scrollTo({ top: element.offsetTop - 64 });\n }\n\n getCurrentStepIndex(): number {\n return state.currentTrekSteps ? state.currentTrekSteps.findIndex(step => step.id === this.currentTrek.id) : 0;\n }\n\n async downloadGlobalTiles(url, attribution) {\n const offlineLayer = tileLayerOffline(url, { attribution });\n\n const treksDepartureCoordinates = [];\n\n if (state.treks) {\n for (const trek of state.treks) {\n treksDepartureCoordinates.push(trek.departure_geom);\n }\n }\n\n const bounds = L.latLngBounds(treksDepartureCoordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n\n await writeOrUpdateTilesInStore(offlineLayer, bounds, this.globalTilesMinZoomOffline, this.globalTilesMaxZoomOffline);\n }\n\n async downloadTrekTiles(url, attribution) {\n const offlineLayer = tileLayerOffline(url, { attribution });\n\n const bounds = L.latLngBounds(this.currentTrek.geometry.coordinates.map(coordinate => [coordinate[1], coordinate[0]]));\n\n await writeOrUpdateTilesInStore(offlineLayer, bounds, this.trekTilesMinZoomOffline, this.trekTilesMaxZoomOffline);\n }\n\n async downloadTrek() {\n // download treks list data\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: signal };\n const offlineTreks = (await getAllDataInStore('treks')).filter(trek => trek.offline === true);\n let treks;\n if (!state.treks) {\n const treksList = await getTreksList(\n state.api,\n state.language,\n state.inBboxFromProviders,\n state.citiesFromProviders,\n state.districts,\n state.structuresFromProviders,\n state.themesFromProviders,\n state.portalsFromProviders,\n state.routesFromProviders,\n state.practicesFromProviders,\n init,\n );\n state.treks = (await treksList.json()).results;\n }\n treks = state.treks;\n treks = treks.filter(trek => offlineTreks.findIndex(offlineTrek => offlineTrek.id === trek.id) === -1);\n\n if (!state.districts) {\n const districtsList = await getDistricts(state.api, state.language, init);\n state.districts = (await districtsList.json()).results;\n }\n\n await writeOrUpdateDataInStore('treks', treks);\n await writeOrUpdateDataInStore('districts', state.districts);\n\n // download global tiles\n // await this.downloadGlobalTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution);\n\n // download trek tiles\n // await this.downloadTrekTiles(this.defaultBackgroundLayerUrl, this.defaultBackgroundLayerAttribution);\n\n // download global medias\n await writeOrUpdateFilesInStore(state.difficulties, imagesRegExp);\n await writeOrUpdateFilesInStore(state.routes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.practices, imagesRegExp);\n await writeOrUpdateFilesInStore(state.themes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.labels, imagesRegExp);\n await writeOrUpdateFilesInStore(state.districts, imagesRegExp);\n await writeOrUpdateFilesInStore(state.sources, imagesRegExp);\n await writeOrUpdateFilesInStore(state.accessibilities, imagesRegExp);\n await writeOrUpdateFilesInStore(state.poiTypes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp);\n await writeOrUpdateFilesInStore(state.touristicContentCategories, imagesRegExp);\n await writeOrUpdateFilesInStore(state.touristicEventTypes, imagesRegExp);\n await writeOrUpdateFilesInStore(state.networks, imagesRegExp);\n\n // // download trek images\n await writeOrUpdateFilesInStore(this.currentTrek, imagesRegExp, true);\n\n // // download trek data\n await writeOrUpdateDataInStore('difficulties', state.difficulties);\n await writeOrUpdateDataInStore('routes', state.routes);\n await writeOrUpdateDataInStore(\n 'practices',\n state.practices.map(practice => ({ ...practice, selected: false })),\n );\n await writeOrUpdateDataInStore('themes', state.themes);\n await writeOrUpdateDataInStore('cities', state.cities);\n await writeOrUpdateDataInStore('accessibilities', state.accessibilities);\n await writeOrUpdateDataInStore('ratings', state.ratings);\n await writeOrUpdateDataInStore('ratingsScale', state.ratingsScale);\n await writeOrUpdateDataInStore('sensitiveAreas', state.currentSensitiveAreas);\n await writeOrUpdateDataInStore('labels', state.labels);\n await writeOrUpdateDataInStore('sources', state.sources);\n await writeOrUpdateDataInStore('accessibilitiesLevel', state.accessibilitiesLevel);\n await writeOrUpdateDataInStore('touristicContentCategories', state.touristicContentCategories);\n await writeOrUpdateDataInStore('touristicEvents', state.trekTouristicEvents);\n await writeOrUpdateDataInStore('touristicEventTypes', state.touristicEventTypes);\n await writeOrUpdateDataInStore('networks', state.networks);\n await writeOrUpdateDataInStore('pois', state.currentPois);\n await writeOrUpdateDataInStore('poiTypes', state.poiTypes);\n await writeOrUpdateDataInStore('informationDesks', state.currentInformationDesks);\n\n await writeOrUpdateDataInStore('treks', [{ ...this.currentTrek, offline: true }]);\n\n await writeOrUpdateFilesInStore(state.currentPois, imagesRegExp, true);\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp, true);\n\n // download items data\n await writeOrUpdateFilesInStore(state.trekTouristicContents, imagesRegExp, true);\n state.trekTouristicContents.forEach(trekTouristicContent => {\n trekTouristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', state.trekTouristicContents);\n\n await writeOrUpdateFilesInStore(state.trekTouristicEvents, imagesRegExp, true);\n state.trekTouristicEvents.forEach(trekTouristicEvent => {\n trekTouristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', state.trekTouristicEvents);\n\n // download itinerancy\n if (this.currentTrek.children && this.currentTrek.children.length > 0) {\n // fetch and store children treks\n const steps: number[] = [];\n steps.push(...this.currentTrek.children);\n const stepRequests = [];\n const stepsTouristicContentsRequests = [];\n const stepsTouristicEventsRequests = [];\n\n steps.forEach(stepId => {\n stepRequests.push(getTrek(state.api, state.language, stepId, init));\n stepsTouristicContentsRequests.push(getTouristicContentsNearTrek(state.api, state.language, stepId, init));\n stepsTouristicEventsRequests.push(getTouristicEventsNearTrek(state.api, state.language, stepId, init));\n });\n\n const trekSteps: Treks = await Promise.all([...stepRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n\n const stepsTouristicContentsResponses = await Promise.all([...stepsTouristicContentsRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n\n const stepsTouristicEventsResponses = await Promise.all([...stepsTouristicEventsRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n\n for (let index = 0; index < trekSteps.length; index++) {\n trekSteps[index].offline = true;\n await writeOrUpdateDataInStore('treks', [trekSteps[index]]);\n await writeOrUpdateFilesInStore(trekSteps[index], imagesRegExp, true);\n }\n\n for (let index = 0; index < stepsTouristicContentsResponses.length; index++) {\n const stepsTouristicContentsResponse = stepsTouristicContentsResponses[index];\n for (let index = 0; index < stepsTouristicContentsResponse.results.length; index++) {\n stepsTouristicContentsResponse.results[index].offline = true;\n await writeOrUpdateDataInStore('touristicContents', [stepsTouristicContentsResponse.results[index]]);\n await writeOrUpdateFilesInStore(stepsTouristicContentsResponse.results[index], imagesRegExp, true);\n }\n }\n\n for (let index = 0; index < stepsTouristicEventsResponses.length; index++) {\n const stepsTouristicEventsResponse = stepsTouristicEventsResponses[index];\n for (let index = 0; index < stepsTouristicEventsResponse.results.length; index++) {\n stepsTouristicEventsResponse[index].offline = true;\n await writeOrUpdateDataInStore('touristicEvents', [stepsTouristicEventsResponse[index]]);\n await writeOrUpdateFilesInStore(stepsTouristicEventsResponse[index], imagesRegExp, true);\n }\n }\n }\n\n state.treks.find(trek => trek.id === this.currentTrek.id).offline = true;\n if (!state.currentTreks) {\n state.currentTreks = state.treks;\n }\n state.currentTreks.find(trek => trek.id === this.currentTrek.id).offline = true;\n this.swiperImages.slideTo(0);\n this.offline = true;\n this.trekDownloadedSuccessConfirm.emit();\n }\n\n async deleteTrek() {\n const treksInStore: Treks = [];\n const trekInStore = await getDataInStore('treks', this.currentTrek.id);\n this.deleteOfflineTrekProperties(trekInStore);\n treksInStore.push(trekInStore);\n if (this.currentTrek.children.length > 0) {\n for (let index = 0; index < this.currentTrek.children.length; index++) {\n const trekInStore = await getDataInStore('treks', this.currentTrek.children[index]);\n this.deleteOfflineTrekProperties(trekInStore);\n treksInStore.push(trekInStore);\n }\n }\n await writeOrUpdateDataInStore('treks', treksInStore);\n\n if (state.treks) {\n delete state.treks.find(trek => trek.id === this.currentTrek.id).offline;\n\n if (!state.currentTreks) {\n state.currentTreks = state.treks;\n }\n delete state.currentTreks.find(trek => trek.id === this.currentTrek.id).offline;\n }\n\n if (state.parentTrek) {\n delete state.parentTrek.offline;\n }\n\n if (state.currentTrekSteps) {\n state.currentTrekSteps.forEach(currentTrekStep => {\n delete currentTrekStep.offline;\n });\n }\n\n this.offline = false;\n this.trekDeleteSuccessConfirm.emit();\n }\n\n displayTrekDownloadModal() {\n this.trekDownloadConfirm.emit();\n }\n\n displayTrekDeleteModal() {\n this.trekDeleteConfirm.emit();\n }\n\n @Listen('trekDownloadPress', { target: 'window' })\n onTrekDownloadPress() {\n this.downloadTrek();\n }\n\n @Listen('trekDeletePress', { target: 'window' })\n onTrekDeletePress() {\n this.deleteTrek();\n }\n\n deleteOfflineTrekProperties(trekInStore) {\n delete trekInStore.descent;\n delete trekInStore.geometry;\n delete trekInStore.gpx;\n delete trekInStore.kml;\n delete trekInStore.pdf;\n delete trekInStore.parking_location;\n delete trekInStore.arrival;\n delete trekInStore.ambiance;\n delete trekInStore.access;\n delete trekInStore.public_transport;\n delete trekInStore.advice;\n delete trekInStore.advised_parking;\n delete trekInStore.gear;\n delete trekInStore.source;\n delete trekInStore.points_reference;\n delete trekInStore.disabled_infrastructure;\n delete trekInStore.accessibility_level;\n delete trekInStore.accessibility_slope;\n delete trekInStore.accessibility_width;\n delete trekInStore.accessibility_signage;\n delete trekInStore.accessibility_covering;\n delete trekInStore.accessibility_exposure;\n delete trekInStore.accessibility_advice;\n delete trekInStore.ratings;\n delete trekInStore.ratings_description;\n delete trekInStore.children;\n delete trekInStore.networks;\n delete trekInStore.web_links;\n delete trekInStore.update_datetime;\n delete trekInStore.offline;\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '244px'\n : '204px',\n }}\n >\n {this.currentTrek && (\n <div part=\"trek-options\" class=\"trek-options\">\n <a\n part=\"trek-option\"\n class={`presentation trek-option${this.indicatorSelectedTrekOption.ref === 'presentationOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.presentationOptionRef = el)}\n onClick={() => this.handleScrollTo(this.presentationRef)}\n >\n {translate[state.language].options.presentation}\n </a>\n {this.options.steps.visible && (\n <a\n part=\"trek-option\"\n class={`steps trek-option${this.options.steps.indicator ? ' selected-trek-option' : ''}`}\n ref={el => (this.stepsOptionRef = el)}\n onClick={() => this.handleScrollTo(this.stepsRef)}\n >\n {translate[state.language].options.steps}\n </a>\n )}\n {this.options.description.visible && (\n <a\n part=\"trek-option\"\n class={`description trek-option${this.indicatorSelectedTrekOption.ref === 'descriptionOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.descriptionOptionRef = el)}\n onClick={() => this.handleScrollTo(this.descriptionRef)}\n >\n {translate[state.language].options.description}\n </a>\n )}\n {this.options.pois.visible && (\n <a\n part=\"trek-option\"\n class={`pois trek-option${this.indicatorSelectedTrekOption.ref === 'poisOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.poisOptionRef = el)}\n onClick={() => this.handleScrollTo(this.poiRef)}\n >\n {translate[state.language].options.pois}\n </a>\n )}\n {this.options.recommendations.visible && (\n <a\n part=\"trek-option\"\n class={`recommendations trek-option${this.indicatorSelectedTrekOption.ref === 'recommendationsOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.recommendationsOptionRef = el)}\n onClick={() => this.handleScrollTo(this.recommendationRef)}\n >\n {translate[state.language].options.recommendations}\n </a>\n )}\n {this.options.sensitiveArea.visible && (\n <a\n part=\"trek-option\"\n class={`sensitive-areas trek-option${this.indicatorSelectedTrekOption.ref === 'sensitiveAreaOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.sensitiveAreaOptionRef = el)}\n onClick={() => this.handleScrollTo(this.sensitiveAreaRef)}\n >\n {translate[state.language].options.environmentalSensitiveAreas}\n </a>\n )}\n {this.options.informationPlaces.visible && (\n <a\n part=\"trek-option\"\n class={`information-places trek-option${this.indicatorSelectedTrekOption.ref === 'informationPlacesOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.informationPlacesOptionRef = el)}\n onClick={() => this.handleScrollTo(this.informationPlacesRef)}\n >\n {translate[state.language].options.informationPlaces}\n </a>\n )}\n {this.options.accessibility.visible && (\n <a\n part=\"trek-option\"\n class={`accessibility trek-option${this.indicatorSelectedTrekOption.ref === 'accessibilityOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.accessibilityOptionRef = el)}\n onClick={() => this.handleScrollTo(this.accessibilityRef)}\n >\n {translate[state.language].options.accessibility}\n </a>\n )}\n {this.options.touristicContents.visible && (\n <a\n part=\"trek-option\"\n class={`touristic-content trek-option${this.indicatorSelectedTrekOption.ref === 'touristicContentsOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.touristicContentsOptionRef = el)}\n onClick={() => this.handleScrollTo(this.touristicContentsRef)}\n >\n {translate[state.language].options.touristicContents}\n </a>\n )}\n {this.options.touristicEvents.visible && (\n <a\n part=\"trek-option\"\n class={`touristic-event trek-option${this.indicatorSelectedTrekOption.ref === 'touristicEventsOptionRef' ? ' selected-trek-option' : ''}`}\n ref={el => (this.touristicEventsOptionRef = el)}\n onClick={() => this.handleScrollTo(this.touristicEventsRef)}\n >\n {translate[state.language].options.touristicEvents}\n </a>\n )}\n {this.presentationOptionRef && (\n <span\n part=\"trek-indicator-selected-trek-option\"\n class=\"trek-indicator-selected-trek-option\"\n style={{\n transform: `translateX(${this.indicatorSelectedTrekOption.translateX})`,\n width: this.indicatorSelectedTrekOption.width,\n backgroundSize: this.indicatorSelectedTrekOption.backgroundSize,\n }}\n ></span>\n )}\n </div>\n )}\n {this.currentTrek && (\n <div part=\"trek-detail-container\" class=\"trek-detail-container\" ref={el => (this.trekDetailContainerRef = el)}>\n <div part=\"trek-images\" class=\"trek-images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.currentTrek.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n this.currentTrek.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"trek-close-fullscreen-button\" class=\"trek-close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n {/* @ts-ignore */}\n <span part=\"trek-close-fullcreen-icon\" class=\"trek-close-fullcreen-icon material-symbols material-symbols-outlined\" translate={false}>\n close\n </span>\n </div>\n )}\n <div part=\"trek-image-legend\" class=\"trek-image-legend\">\n {legend}\n </div>\n <img\n part=\"trek-img\"\n class=\"trek-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'trek-img default-trek-img';\n event.target.src = defaultImageSrc;\n }}\n />\n </div>\n );\n })\n ) : (\n <img\n part=\"trek-img\"\n class=\"trek-img default-trek-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n )}\n </div>\n <div style={{ display: this.offline ? 'none' : 'flex' }}>\n <div part=\"swiper-pagination\" class=\"swiper-pagination\" ref={el => (this.paginationElImagesRef = el)}></div>\n <div part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElImagesRef = el)}></div>\n <div part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElImagesRef = el)}></div>\n </div>\n </div>\n </div>\n <div part=\"trek-name\" class=\"trek-name\">\n {this.currentTrek.name}\n </div>\n {this.themes.length > 0 && (\n <div part=\"themes-container\" class=\"themes-container\">\n {this.themes.map(theme => (\n <div part=\"theme\" class=\"theme\">\n {theme.label}\n </div>\n ))}\n </div>\n )}\n <div part=\"sub-container\" class=\"sub-container\">\n <div part=\"icons-labels-container\" class=\"icons-labels-container\">\n {this.difficulty && (\n <div part=\"icon-label\" class=\"icon-label difficulty\">\n {this.difficulty.pictogram && (\n <img\n part=\"icon\"\n class=\"icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.difficulty.pictogram}\n />\n )}\n <span part=\"label\" class=\"label\">\n {this.difficulty.label}\n </span>\n </div>\n )}\n <div part=\"icon-label\" class=\"icon-label duration\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"icon material-symbols material-symbols-outlined\" translate={false}>\n timelapse\n </span>\n <span part=\"label\" class=\"label\">\n {formatDuration(this.currentTrek?.duration)}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label route\">\n {this.route?.pictogram && (\n <img\n part=\"icon\"\n class=\"icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.route.pictogram}\n />\n )}\n <span part=\"label\" class=\"label\">\n {this.route?.route}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label length\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"icon material-symbols material-symbols-outlined\" translate={false}>\n open_in_full\n </span>\n <span part=\"label\" class=\"label\">\n {formatLength(this.currentTrek.length_2d)}\n </span>\n </div>\n {this.currentTrek.ascent && (\n <div part=\"icon-label\" class=\"icon-label ascent\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"icon material-symbols material-symbols-outlined\" translate={false}>\n moving\n </span>\n <span part=\"label\" class=\"label\">\n {formatAscent(this.currentTrek.ascent)}\n </span>\n </div>\n )}\n {this.currentTrek.descent && (\n <div part=\"icon-label\" class=\"icon-label descent\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"icon material-symbols material-symbols-outlined\" translate={false}>\n moving\n </span>\n <span part=\"label\" class=\"label\">\n {formatDescent(this.currentTrek.descent)}\n </span>\n </div>\n )}\n <div part=\"icon-label\" class=\"icon-label practice\">\n {this.practice?.pictogram && (\n <img\n part=\"icon\"\n class=\"icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.practice.pictogram}\n />\n )}\n <span part=\"label\" class=\"label\">\n {this.practice?.name}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label networks\">\n {this.currentTrek.networks.map(networkId => {\n const currentNetwork = state.networks.find(network => network.id === networkId);\n return (\n <div part=\"network\" class=\"network\">\n <img\n part=\"icon\"\n class=\"icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={currentNetwork.pictogram}\n />\n <span part=\"label\" class=\"label\">\n {currentNetwork.label}\n </span>\n </div>\n );\n })}\n </div>\n {this.currentTrek.ratings.map(trekRating => (\n <div part=\"row\" class=\"row\">\n {`${state.ratingsScale.find(ratingScale => ratingScale.id === state.ratings.find(rating => rating.id === trekRating).scale).name} : ${\n state.ratings.find(rating => rating.id === trekRating).name\n }`}\n </div>\n ))}\n {this.currentTrek.ratings_description && this.currentTrek.ratings_description !== '' && (\n <div part=\"row\" class=\"row\" innerHTML={this.currentTrek.ratings_description}></div>\n )}\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].downloads}\n </div>\n {this.enableOffline && !this.offline && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayTrekDownloadModal()}>\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n download_for_offline\n </span>\n <span part=\"label\" class=\"label\">\n RENDRE DISPONIBLE HORS LIGNE\n </span>\n </button>\n )}\n {this.enableOffline && this.offline && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayTrekDeleteModal()}>\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n delete\n </span>\n <span part=\"label\" class=\"label\">\n SUPPRIMER DU HORS LIGNE\n </span>\n </button>\n )}\n <div part=\"links-container\" class=\"links-container\">\n <a href={`${this.currentTrek.gpx}`} target=\"_blank\" rel=\"noopener noreferrer\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n download\n </span>\n <span part=\"label\" class=\"label\">\n GPX\n </span>\n </a>\n <a href={`${this.currentTrek.kml}`} target=\"_blank\" rel=\"noopener noreferrer\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n download\n </span>\n <span part=\"label\" class=\"label\">\n KML\n </span>\n </a>\n <a\n href={`${this.currentTrek.pdf}${state.portalsFromProviders && state.portalsFromProviders.length === 1 ? '?portal=' + state.portalsFromProviders[0] : ''}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n download\n </span>\n <span part=\"label\" class=\"label\">\n PDF\n </span>\n </a>\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentTrek.description_teaser && <div part=\"description-teaser\" class=\"description-teaser\" innerHTML={this.currentTrek.description_teaser}></div>}\n {this.currentTrek.ambiance && <div part=\"ambiance\" class=\"ambiance\" innerHTML={this.currentTrek.ambiance}></div>}\n {state.parentTrekId && state.parentTrek && this.currentTrek.id !== state.parentTrekId && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"parent-trek-container\" class=\"parent-trek-container\">\n <button part=\"parent-trek-title\" class=\"parent-trek-title\" onClick={() => this.parentTrekPress.emit(state.parentTrekId)}>\n <div>&lt;</div>\n {state.parentTrek.name}\n </button>\n </div>\n </div>\n )}\n {state.currentTrekSteps && (\n <div part=\"step-container\" class=\"step-container\">\n <div part=\"step-title\" class=\"step-title\" ref={el => (this.stepsRef = el)}>{`${state.currentTrekSteps.length} ${translate[state.language].steps}`}</div>\n <div part=\"swiper-step\" class=\"swiper swiper-step\" ref={el => (this.swiperStepRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentTrekSteps &&\n state.currentTrekSteps.map(trek => {\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-trek-card\n exportparts=\"trek-card,trek-img-container,trek-img,trek-sub-container,trek-departure,trek-name,trek-themes-container,trek-theme,trek-icons-labels-container,trek-icon-label,trek-icon,trek-label\"\n key={`trek-${trek.id}`}\n trek={trek}\n is-large-view={false}\n is-step={true}\n fontFamily={this.fontFamily}\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-trek-card>\n </div>\n );\n })}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.stepSwiperScrollbar = el)}></div>\n </div>\n </div>\n )}\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentTrek.description && (\n <div part=\"description-container\" class=\"description-container\">\n <div part=\"description-title\" class=\"description-title\" ref={el => (this.descriptionRef = el)}>\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={this.currentTrek.description}></div>\n </div>\n )}\n {this.currentTrek.departure && (\n <div part=\"departure-container\" class=\"departure-container\">\n <div part=\"departure-title\" class=\"departure-title\">\n {translate[state.language].departure} :&nbsp;\n </div>\n <div part=\"departure\" innerHTML={this.currentTrek.departure}></div>\n </div>\n )}\n {this.currentTrek.arrival && (\n <div part=\"arrival-container\" class=\"arrival-container\">\n <div part=\"arrival-title\" class=\"arrival-title\">\n {translate[state.language].arrival} :&nbsp;\n </div>\n <div part=\"arrival\" innerHTML={this.currentTrek.arrival}></div>\n </div>\n )}\n {this.currentTrek.cities && this.currentTrek.cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].crossedCities} :&nbsp;\n </div>\n <div part=\"cities\" innerHTML={this.cities.join(', ')}></div>\n </div>\n )}\n {state.currentPois && state.currentPois.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"pois-container\" class=\"pois-container\">\n <div part=\"pois-title\" class=\"pois-title\" ref={el => (this.poiRef = el)}>\n {translate[state.language].pois(state.currentPois.length)}\n </div>\n <div part=\"swiper-pois\" class=\"swiper swiper-pois\" ref={el => (this.swiperPoisRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentPois.map(poi => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-poi\n exportparts=\"poi-type-img-container,poi-type,swiper-poi,swiper-wrapper,swiper-slide,poi-img,default-poi-img,swiper-pagination,swiper-button-prev,swiper-button-next,poi-sub-container,poi-name,poi-description,handle-poi-description\"\n poi={poi}\n ></grw-poi>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.poisSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.weather && this.currentTrek.departure_city && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weather-container\" class=\"weather-container\">\n <iframe height=\"150\" frameborder=\"0\" src={`https://meteofrance.com/widget/prevision/${this.currentTrek.departure_city}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n </div>\n )}\n {this.currentTrek.access && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"access-container\" class=\"access-container\">\n <div part=\"access-title\" class=\"access-title\">\n {translate[state.language].roadAccessAndParking}\n </div>\n <div part=\"access\" class=\"access\" innerHTML={this.currentTrek.access}></div>\n {this.currentTrek.advised_parking && (\n <div>\n <div part=\"advised-parking-title\" class=\"advised-parking-title\" ref={el => (this.parkingRef = el)}>\n {translate[state.language].recommendedParking}\n </div>\n <div part=\"advised-parking\" class=\"advised-parking\" innerHTML={this.currentTrek.advised_parking}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {this.currentTrek.public_transport && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"public-transport-container\" class=\"public-transport-container\">\n <div part=\"public-transport-title\" class=\"public-transport-title\">\n {translate[state.language].transport}\n </div>\n <div part=\"public-transport\" class=\"public-transport\" innerHTML={this.currentTrek.public_transport}></div>\n </div>\n </div>\n )}\n {(this.currentTrek.advice || this.currentTrek.gear || this.labels.length > 0) && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"advice-container\" class=\"advice-container\">\n <div part=\"advice-title\" class=\"advice-title\" ref={el => (this.recommendationRef = el)}>\n {translate[state.language].recommendations}\n </div>\n {this.currentTrek.advice && (\n <div part=\"current-advice-container\" class=\"current-advice-container\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n warning\n </span>\n <div part=\"advice\" class=\"advice\" innerHTML={this.currentTrek.advice}></div>\n </div>\n )}\n {this.currentTrek.gear && (\n <div part=\"gear-container\" class=\"gear-container\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n backpack\n </span>\n <div part=\"gear\" class=\"gear\" innerHTML={this.currentTrek.gear}></div>\n </div>\n )}\n {this.labels.map(label => (\n <div part=\"label-container\" class=\"label-container\">\n <div part=\"label-sub-container\" class=\"label-sub-container\">\n {label.pictogram && (\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={label.pictogram}\n />\n )}\n <div part=\"label-name\" class=\"label-name\" innerHTML={label.name}></div>\n </div>\n <div part=\"label-advice\" class=\"label-advice\" innerHTML={label.advice}></div>\n </div>\n ))}\n </div>\n </div>\n )}\n {state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"sensitive-areas-container\" class=\"sensitive-areas-container\">\n <div part=\"ensitive-areas-title\" class=\"sensitive-areas-title\" ref={el => (this.sensitiveAreaRef = el)}>\n {translate[state.language].environmentalSensitiveAreas}\n </div>\n <div part=\"sensitive-areas-description\" class=\"sensitive-areas-description\">\n {translate[state.language].sensitiveAreasDescription}\n </div>\n {state.currentSensitiveAreas.map(sensitiveArea => (\n <grw-sensitive-area-detail\n exportparts=\"sensitive-area-title-container,sensitive-area-color-container,sensitive-area-title,sensitive-area-description,sensitive-area-practice-container,sensitive-area-practice-title,sensitive-area-practices,sensitive-area-practice,sensitive-area-period-container,sensitive-area-period-title,sensitive-area-periods,sensitive-area-period,sensitive-area-contact-container,sensitive-area-contact-title,sensitive-area-contact-value\"\n sensitiveArea={sensitiveArea}\n ></grw-sensitive-area-detail>\n ))}\n </div>\n </div>\n )}\n {state.currentInformationDesks &&\n state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"information-desks-container\" class=\"information-desks-container\">\n <div part=\"information-desks-title\" class=\"information-desks-title\" ref={el => (this.informationPlacesRef = el)}>\n {translate[state.language].informationPlaces}\n </div>\n <div part=\"swiper-information-desks\" class=\"swiper swiper-information-desks\" ref={el => (this.swiperInformationDesksRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentInformationDesks\n .filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id))\n .map(informationDesk => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-information-desk\n exportparts=\"information-desk-img-container,information-desk-img,information-desk-sub-container,information-desk-name,center-on-map-button,icon,label,information-desk-informations,phone-container,mail-container,link-container,information-desk-description-container,information-desk-description,handle-information-desk-description\"\n informationDesk={informationDesk}\n ></grw-information-desk>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.informationDesksContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {(this.currentTrek.disabled_infrastructure ||\n (this.accessibilities && this.accessibilities.length > 0) ||\n this.currentTrek.accessibility_level ||\n this.currentTrek.accessibility_slope ||\n this.currentTrek.accessibility_width ||\n this.currentTrek.accessibility_signage ||\n this.currentTrek.accessibility_covering ||\n this.currentTrek.accessibility_exposure ||\n this.currentTrek.accessibility_advice ||\n this.emergencyNumber) && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"accessibilities-container\" class=\"accessibilities-container\">\n <div part=\"accessibilities-title\" class=\"accessibilities-title\" ref={el => (this.accessibilityRef = el)}>\n {translate[state.language].accessibility}\n </div>\n {this.currentTrek.disabled_infrastructure && <div part=\"disabled-infrastructure\" innerHTML={this.currentTrek.disabled_infrastructure}></div>}\n {this.accessibilities && this.accessibilities.length > 0 && (\n <div part=\"accessibilities-content-container\" class=\"accessibilities-content-container\">\n {this.accessibilities.map(accessibility => (\n <div part=\"accessibility-content-container\" class=\"accessibility-content-container\">\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={accessibility.pictogram}\n ></img>\n <div part=\"accessibility-name\" innerHTML={accessibility.name}></div>\n </div>\n ))}\n </div>\n )}\n {this.emergencyNumber && (\n <div part=\"accessibility-emergency-number-container\" class=\"accessibility-emergency-number-container\">\n <div part=\"accessibility-emergency-number-title\" class=\"accessibility-emergency-number-title\">\n {translate[state.language].emergencyNumber}\n </div>\n <div part=\"accessibility-emergency-number-content\" class=\"accessibility-emergency-number-content\">\n {\n <a href={`tel:${this.emergencyNumber.toString()}`}>\n <span\n part=\"icon\"\n class=\"material-symbols material-symbols-outlined icon\"\n /* @ts-ignore */\n translate={false}\n >\n call\n </span>\n <span part=\"emergency-number\" class=\"emergency-number\">\n {this.emergencyNumber.toString()}\n </span>\n </a>\n }\n </div>\n </div>\n )}\n {this.currentTrek.accessibility_level && (\n <div part=\"accessibility-level-container\" class=\"accessibility-level-container\">\n <div part=\"accessibility-level-title\" class=\"accessibility-level-title\">\n {translate[state.language].accessibilityLevel}\n </div>\n <div part=\"accessibility-level-name\" innerHTML={this.accessibilityLevel.name}></div>\n </div>\n )}\n {this.currentTrek.accessibility_slope && (\n <div part=\"accessibility-slope-container\" class=\"accessibility-slope-container\">\n <div part=\"accessibility-slope-title\" class=\"accessibility-slope-title\">\n {translate[state.language].accessibilitySlope}\n </div>\n <div part=\"accessibility-slope\" innerHTML={this.currentTrek.accessibility_slope}></div>\n </div>\n )}\n {this.currentTrek.accessibility_width && (\n <div part=\"accessibility-width-container\" class=\"accessibility-width-container\">\n <div part=\"accessibility-width-title\" class=\"accessibility-width-title\">\n {translate[state.language].accessibilityWidth}\n </div>\n <div part=\"accessibility-width\" innerHTML={this.currentTrek.accessibility_width}></div>\n </div>\n )}\n {this.currentTrek.accessibility_signage && (\n <div part=\"accessibility-signage-container\" class=\"accessibility-signage-container\">\n <div part=\"accessibility-signage-title\" class=\"accessibility-signage-title\">\n {translate[state.language].accessibilitySignage}\n </div>\n <div part=\"accessibility-signage\" innerHTML={this.currentTrek.accessibility_signage}></div>\n </div>\n )}\n {this.currentTrek.accessibility_covering && (\n <div part=\"accessibility-covering-container\" class=\"accessibility-covering-container\">\n <div part=\"accessibility-covering-title\" class=\"accessibility-covering-title\">\n {translate[state.language].accessibilityCovering}\n </div>\n <div part=\"accessibility-covering\" innerHTML={this.currentTrek.accessibility_covering}></div>\n </div>\n )}\n {this.currentTrek.accessibility_exposure && (\n <div part=\"accessibility-exposure-container\" class=\"accessibility-exposure-container\">\n <div part=\"accessibility-exposure-title\" class=\"accessibility-exposure-title\">\n {translate[state.language].accessibilityExposure}\n </div>\n <div part=\"accessibility-exposure\" innerHTML={this.currentTrek.accessibility_exposure}></div>\n </div>\n )}\n {this.currentTrek.accessibility_advice && (\n <div part=\"accessibility-advice-container\" class=\"accessibility-advice-container\">\n <div part=\"accessibility-advice-title\" class=\"accessibility-advice-title\">\n {translate[state.language].accessibilityAdvices}\n </div>\n <div part=\"accessibility-advice\" innerHTML={this.currentTrek.accessibility_advice}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {state.trekTouristicContents && state.trekTouristicContents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-content-container\" class=\"touristic-content-container\">\n <div part=\"touristic-content-title\" class=\"touristic-content-title\" ref={el => (this.touristicContentsRef = el)}>\n {translate[state.language].touristicContents(state.trekTouristicContents.length)}\n </div>\n <div part=\"swiper-touristic-content\" class=\"swiper swiper-touristic-content\" ref={el => (this.swiperTouristicContentsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicContents.map(touristicContent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-content-card\n exportparts=\"touristic-content-card,touristic-content-img-container,swiper-touristic-content,swiper-wrapper,swiper-slide,touristic-content-img,default-touristic-content-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-content-sub-container,touristic-content-category-container,touristic-content-category-img,touristic-content-category-name,touristic-content-name,touristic-content-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicContent={touristicContent}\n isInsideHorizontalList={true}\n ></grw-touristic-content-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.trekTouristicEvents && state.trekTouristicEvents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-event-container\" class=\"touristic-event-container\">\n <div part=\"touristic-event-title\" class=\"touristic-event-title\" ref={el => (this.touristicEventsRef = el)}>\n {translate[state.language].touristicEvents(state.trekTouristicEvents.length)}\n </div>\n <div part=\"swiper-touristic-event\" class=\"swiper swiper-touristic-event\" ref={el => (this.swiperTouristicEventsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicEvents.map(touristicEvent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-event-card\n exportparts=\"touristic-event-card,touristic-event-img-container,swiper-touristic-event,swiper-wrapper,swiper-slide,touristic-event-img,default-touristic-event-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-event-sub-container,touristic-event-sub-container,touristic-event-type-img,touristic-event-type-name,touristic-event-name,touristic-event-date-container,touristic-event-date,touristic-event-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicEvent={touristicEvent}\n ></grw-touristic-event-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicEventsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.currentTrek.web_links && this.currentTrek.web_links.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weblinks-container\" class=\"weblinks-container\">\n <div part=\"weblinks-title\" class=\"weblinks-title\">\n {translate[state.language].learnMore}\n </div>\n {this.currentTrek.web_links.map(weblink => (\n <a part=\"weblink-container\" class=\"weblink-container\" href={weblink.url} target=\"_blank\" rel=\"noopener noreferrer\">\n {weblink.category && weblink.category.pictogram && (\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={weblink.category.pictogram}\n />\n )}\n {weblink.name}\n </a>\n ))}\n </div>\n </div>\n )}\n {this.currentTrek.source && this.currentTrek.source.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"source-container\" class=\"source-container\">\n <div part=\"source-title\" class=\"source-title\">\n {translate[state.language].sources}\n </div>\n {this.sources.map(source => (\n <div part=\"source-sub-container\" class=\"source-sub-container\">\n {source.pictogram && (\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={source.pictogram}\n />\n )}\n <div>\n <div part=\"source-name\" class=\"source-name\" innerHTML={source.name}></div>\n <a part=\"source-advice\" class=\"source-advice\" href={source.website} innerHTML={source.website}></a>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}