@geotrekce/geotrek-rando-widget 0.35.0 → 0.35.2

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 (152) hide show
  1. package/dist/cjs/grw-common-button_23.cjs.entry.js +35 -19
  2. package/dist/cjs/grw-common-button_23.cjs.entry.js.br +0 -0
  3. package/dist/cjs/grw-common-button_23.cjs.entry.js.gz +0 -0
  4. package/dist/cjs/grw-common-button_23.cjs.entry.js.map +1 -1
  5. package/dist/cjs/grw-details-modal_8.cjs.entry.js +1 -1
  6. package/dist/cjs/grw-details-modal_8.cjs.entry.js.br +0 -0
  7. package/dist/cjs/grw-details-modal_8.cjs.entry.js.gz +0 -0
  8. package/dist/cjs/grw-outdoor-courses-provider.cjs.entry.js +1 -1
  9. package/dist/cjs/grw-outdoor-courses-provider.cjs.entry.js.br +0 -0
  10. package/dist/cjs/grw-outdoor-courses-provider.cjs.entry.js.gz +0 -0
  11. package/dist/cjs/grw-sensitive-area-detail_2.cjs.entry.js +1 -1
  12. package/dist/cjs/grw-sensitive-area-detail_2.cjs.entry.js.br +0 -0
  13. package/dist/cjs/grw-sensitive-area-detail_2.cjs.entry.js.gz +0 -0
  14. package/dist/cjs/{treks.service-DLzUYSSG.js → treks.service-DIrQ6UUF.js} +10 -2
  15. package/dist/cjs/treks.service-DIrQ6UUF.js.br +0 -0
  16. package/dist/cjs/treks.service-DIrQ6UUF.js.gz +0 -0
  17. package/dist/{esm/treks.service-K3GUcd85.js.map → cjs/treks.service-DIrQ6UUF.js.map} +1 -1
  18. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +22 -8
  19. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  20. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  21. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  22. package/dist/collection/services/outdoor-sites.service.js +6 -0
  23. package/dist/collection/services/outdoor-sites.service.js.br +0 -0
  24. package/dist/collection/services/outdoor-sites.service.js.gz +0 -0
  25. package/dist/collection/services/outdoor-sites.service.js.map +1 -1
  26. package/dist/collection/services/treks.service.js +6 -0
  27. package/dist/collection/services/treks.service.js.br +0 -0
  28. package/dist/collection/services/treks.service.js.gz +0 -0
  29. package/dist/collection/services/treks.service.js.map +1 -1
  30. package/dist/collection/store/grw-outdoor-site-provider.js +4 -6
  31. package/dist/collection/store/grw-outdoor-site-provider.js.br +0 -0
  32. package/dist/collection/store/grw-outdoor-site-provider.js.gz +0 -0
  33. package/dist/collection/store/grw-outdoor-site-provider.js.map +1 -1
  34. package/dist/collection/store/grw-trek-provider.js +4 -6
  35. package/dist/collection/store/grw-trek-provider.js.br +0 -0
  36. package/dist/collection/store/grw-trek-provider.js.gz +0 -0
  37. package/dist/collection/store/grw-trek-provider.js.map +1 -1
  38. package/dist/esm/grw-common-button_23.entry.js +35 -19
  39. package/dist/esm/grw-common-button_23.entry.js.br +0 -0
  40. package/dist/esm/grw-common-button_23.entry.js.gz +0 -0
  41. package/dist/esm/grw-common-button_23.entry.js.map +1 -1
  42. package/dist/esm/grw-details-modal_8.entry.js +1 -1
  43. package/dist/esm/grw-details-modal_8.entry.js.br +0 -0
  44. package/dist/esm/grw-details-modal_8.entry.js.gz +0 -0
  45. package/dist/esm/grw-outdoor-courses-provider.entry.js +1 -1
  46. package/dist/esm/grw-outdoor-courses-provider.entry.js.br +0 -0
  47. package/dist/esm/grw-outdoor-courses-provider.entry.js.gz +0 -0
  48. package/dist/esm/grw-sensitive-area-detail_2.entry.js +1 -1
  49. package/dist/esm/grw-sensitive-area-detail_2.entry.js.br +0 -0
  50. package/dist/esm/grw-sensitive-area-detail_2.entry.js.gz +0 -0
  51. package/dist/esm/{treks.service-K3GUcd85.js → treks.service-DifXYB3R.js} +9 -3
  52. package/dist/esm/treks.service-DifXYB3R.js.br +0 -0
  53. package/dist/esm/treks.service-DifXYB3R.js.gz +0 -0
  54. package/dist/{esm-es5/treks.service-K3GUcd85.js.map → esm/treks.service-DifXYB3R.js.map} +1 -1
  55. package/dist/esm-es5/grw-common-button_23.entry.js +2 -2
  56. package/dist/esm-es5/grw-common-button_23.entry.js.br +0 -0
  57. package/dist/esm-es5/grw-common-button_23.entry.js.gz +0 -0
  58. package/dist/esm-es5/grw-common-button_23.entry.js.map +1 -1
  59. package/dist/esm-es5/grw-details-modal_8.entry.js +1 -1
  60. package/dist/esm-es5/grw-details-modal_8.entry.js.br +0 -0
  61. package/dist/esm-es5/grw-details-modal_8.entry.js.gz +0 -0
  62. package/dist/esm-es5/grw-outdoor-courses-provider.entry.js +1 -1
  63. package/dist/esm-es5/grw-outdoor-courses-provider.entry.js.br +0 -0
  64. package/dist/esm-es5/grw-outdoor-courses-provider.entry.js.gz +0 -0
  65. package/dist/esm-es5/grw-sensitive-area-detail_2.entry.js +1 -1
  66. package/dist/esm-es5/grw-sensitive-area-detail_2.entry.js.br +0 -0
  67. package/dist/esm-es5/grw-sensitive-area-detail_2.entry.js.gz +0 -0
  68. package/dist/esm-es5/{treks.service-K3GUcd85.js → treks.service-DifXYB3R.js} +2 -2
  69. package/dist/esm-es5/treks.service-DifXYB3R.js.br +0 -0
  70. package/dist/esm-es5/treks.service-DifXYB3R.js.gz +0 -0
  71. package/dist/{cjs/treks.service-DLzUYSSG.js.map → esm-es5/treks.service-DifXYB3R.js.map} +1 -1
  72. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  73. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  74. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  75. package/dist/geotrek-rando-widget/{p-eaf2f807.system.entry.js → p-0092f089.system.entry.js} +2 -2
  76. package/dist/geotrek-rando-widget/p-0092f089.system.entry.js.br +0 -0
  77. package/dist/geotrek-rando-widget/p-0092f089.system.entry.js.gz +0 -0
  78. package/dist/geotrek-rando-widget/p-03eb939f.entry.js +4 -0
  79. package/dist/geotrek-rando-widget/p-03eb939f.entry.js.br +0 -0
  80. package/dist/geotrek-rando-widget/p-03eb939f.entry.js.gz +0 -0
  81. package/dist/geotrek-rando-widget/p-03eb939f.entry.js.map +1 -0
  82. package/dist/geotrek-rando-widget/{p-fe40978d.entry.js → p-69fb7f1e.entry.js} +2 -2
  83. package/dist/geotrek-rando-widget/p-69fb7f1e.entry.js.br +0 -0
  84. package/dist/geotrek-rando-widget/p-69fb7f1e.entry.js.gz +0 -0
  85. package/dist/geotrek-rando-widget/{p-4e73782e.entry.js → p-79c4e262.entry.js} +2 -2
  86. package/dist/geotrek-rando-widget/p-79c4e262.entry.js.br +0 -0
  87. package/dist/geotrek-rando-widget/p-79c4e262.entry.js.gz +0 -0
  88. package/dist/geotrek-rando-widget/{p-0ef90984.system.entry.js → p-7aa740cd.system.entry.js} +2 -2
  89. package/dist/geotrek-rando-widget/p-7aa740cd.system.entry.js.br +0 -0
  90. package/dist/geotrek-rando-widget/p-7aa740cd.system.entry.js.gz +0 -0
  91. package/dist/geotrek-rando-widget/{p-bab9f0a3.system.entry.js → p-91ea991e.system.entry.js} +2 -2
  92. package/dist/geotrek-rando-widget/p-91ea991e.system.entry.js.br +0 -0
  93. package/dist/geotrek-rando-widget/p-91ea991e.system.entry.js.gz +0 -0
  94. package/dist/geotrek-rando-widget/p-SVBG_B0V.system.js +2 -0
  95. package/dist/geotrek-rando-widget/p-SVBG_B0V.system.js.br +0 -0
  96. package/dist/geotrek-rando-widget/p-SVBG_B0V.system.js.gz +0 -0
  97. package/dist/geotrek-rando-widget/{p-BYS7HSfN.system.js.map → p-SVBG_B0V.system.js.map} +1 -1
  98. package/dist/geotrek-rando-widget/p-SrqKQbd3.system.js +1 -1
  99. package/dist/geotrek-rando-widget/p-SrqKQbd3.system.js.br +0 -0
  100. package/dist/geotrek-rando-widget/p-SrqKQbd3.system.js.gz +0 -0
  101. package/dist/geotrek-rando-widget/p-acb4209f.system.entry.js +4 -0
  102. package/dist/geotrek-rando-widget/p-acb4209f.system.entry.js.br +0 -0
  103. package/dist/geotrek-rando-widget/p-acb4209f.system.entry.js.gz +0 -0
  104. package/dist/geotrek-rando-widget/p-acb4209f.system.entry.js.map +1 -0
  105. package/dist/geotrek-rando-widget/{p-21da6c6c.entry.js → p-bca02612.entry.js} +2 -2
  106. package/dist/geotrek-rando-widget/p-bca02612.entry.js.br +0 -0
  107. package/dist/geotrek-rando-widget/p-bca02612.entry.js.gz +0 -0
  108. package/dist/geotrek-rando-widget/p-uOIHIMe2.js +2 -0
  109. package/dist/geotrek-rando-widget/p-uOIHIMe2.js.br +0 -0
  110. package/dist/geotrek-rando-widget/p-uOIHIMe2.js.gz +0 -0
  111. package/dist/geotrek-rando-widget/{p-BKep_oL6.js.map → p-uOIHIMe2.js.map} +1 -1
  112. package/dist/types/services/outdoor-sites.service.d.ts +2 -0
  113. package/dist/types/services/treks.service.d.ts +2 -0
  114. package/package.json +1 -1
  115. package/dist/cjs/treks.service-DLzUYSSG.js.br +0 -0
  116. package/dist/cjs/treks.service-DLzUYSSG.js.gz +0 -0
  117. package/dist/esm/treks.service-K3GUcd85.js.br +0 -0
  118. package/dist/esm/treks.service-K3GUcd85.js.gz +0 -0
  119. package/dist/esm-es5/treks.service-K3GUcd85.js.br +0 -0
  120. package/dist/esm-es5/treks.service-K3GUcd85.js.gz +0 -0
  121. package/dist/geotrek-rando-widget/p-0ef90984.system.entry.js.br +0 -0
  122. package/dist/geotrek-rando-widget/p-0ef90984.system.entry.js.gz +0 -0
  123. package/dist/geotrek-rando-widget/p-1041807e.system.entry.js +0 -4
  124. package/dist/geotrek-rando-widget/p-1041807e.system.entry.js.br +0 -0
  125. package/dist/geotrek-rando-widget/p-1041807e.system.entry.js.gz +0 -0
  126. package/dist/geotrek-rando-widget/p-1041807e.system.entry.js.map +0 -1
  127. package/dist/geotrek-rando-widget/p-21da6c6c.entry.js.br +0 -0
  128. package/dist/geotrek-rando-widget/p-21da6c6c.entry.js.gz +0 -0
  129. package/dist/geotrek-rando-widget/p-4e73782e.entry.js.br +0 -0
  130. package/dist/geotrek-rando-widget/p-4e73782e.entry.js.gz +0 -0
  131. package/dist/geotrek-rando-widget/p-BKep_oL6.js +0 -2
  132. package/dist/geotrek-rando-widget/p-BKep_oL6.js.br +0 -0
  133. package/dist/geotrek-rando-widget/p-BKep_oL6.js.gz +0 -0
  134. package/dist/geotrek-rando-widget/p-BYS7HSfN.system.js +0 -2
  135. package/dist/geotrek-rando-widget/p-BYS7HSfN.system.js.br +0 -0
  136. package/dist/geotrek-rando-widget/p-BYS7HSfN.system.js.gz +0 -0
  137. package/dist/geotrek-rando-widget/p-bab9f0a3.system.entry.js.br +0 -0
  138. package/dist/geotrek-rando-widget/p-bab9f0a3.system.entry.js.gz +0 -0
  139. package/dist/geotrek-rando-widget/p-d03e5a79.entry.js +0 -4
  140. package/dist/geotrek-rando-widget/p-d03e5a79.entry.js.br +0 -0
  141. package/dist/geotrek-rando-widget/p-d03e5a79.entry.js.gz +0 -0
  142. package/dist/geotrek-rando-widget/p-d03e5a79.entry.js.map +0 -1
  143. package/dist/geotrek-rando-widget/p-eaf2f807.system.entry.js.br +0 -0
  144. package/dist/geotrek-rando-widget/p-eaf2f807.system.entry.js.gz +0 -0
  145. package/dist/geotrek-rando-widget/p-fe40978d.entry.js.br +0 -0
  146. package/dist/geotrek-rando-widget/p-fe40978d.entry.js.gz +0 -0
  147. /package/dist/geotrek-rando-widget/{p-eaf2f807.system.entry.js.map → p-0092f089.system.entry.js.map} +0 -0
  148. /package/dist/geotrek-rando-widget/{p-fe40978d.entry.js.map → p-69fb7f1e.entry.js.map} +0 -0
  149. /package/dist/geotrek-rando-widget/{p-4e73782e.entry.js.map → p-79c4e262.entry.js.map} +0 -0
  150. /package/dist/geotrek-rando-widget/{p-0ef90984.system.entry.js.map → p-7aa740cd.system.entry.js.map} +0 -0
  151. /package/dist/geotrek-rando-widget/{p-bab9f0a3.system.entry.js.map → p-91ea991e.system.entry.js.map} +0 -0
  152. /package/dist/geotrek-rando-widget/{p-21da6c6c.entry.js.map → p-bca02612.entry.js.map} +0 -0
@@ -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, Fragment } 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, getCacheMode, 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 { getCities, getDistricts, getPoisNearTrek, getSensitiveAreasNearTrek, getTrek, getTreksList } from 'services/treks.service';\nimport { getTouristicContentCategory, getTouristicContentsNearTrek } from 'services/touristic-contents.service';\nimport { getTouristicEventsNearTrek, getTouristicEventType } from 'services/touristic-events.service';\nimport CloseIcon from '../../assets/close.svg';\nimport TimelapseIcon from '../../assets/timelapse.svg';\nimport OpenInFullIcon from '../../assets/open_in_full.svg';\nimport MovingIcon from '../../assets/moving.svg';\nimport DownloadForOfflineIcon from '../../assets/download_for_offline.svg';\nimport DeleteIcon from '../../assets/delete.svg';\nimport DownloadIcon from '../../assets/download.svg';\nimport WarningIcon from '../../assets/warning.svg';\nimport BackpackIcon from '../../assets/backpack.svg';\nimport CallIcon from '../../assets/call.svg';\n\nconst observerOptions = { threshold: 0 };\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 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() detailScrolled: EventEmitter<void>;\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() 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 @Prop() rounded = true;\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() tilesMinZoomOffline = 12;\n @Prop() tilesMaxZoomOffline = 16;\n\n @Prop() grwApp = false;\n\n @Event() downloadConfirm: EventEmitter<number>;\n @Event() downloadedSuccessConfirm: EventEmitter<number>;\n @Event() downloadedErrorConfirm: EventEmitter<number>;\n\n @Event() deleteConfirm: EventEmitter<number>;\n @Event() deleteSuccessConfirm: EventEmitter<number>;\n @Event() deleteErrorConfirm: EventEmitter<number>;\n\n indicatorSelectedTrekOption = { translateX: null, width: null, backgroundSize: null, ref: null };\n\n @State() showTouristicContentDetailsModal = false;\n @State() showTouristicEventDetailsModal = false;\n @State() modalDetailsId = null;\n\n @Listen('closeDetailsModal', { target: 'window' })\n onCloseDetailsModal() {\n document.body.style.overflow = `visible`;\n state.currentTouristicContent = null;\n state.currentTouristicEvent = null;\n this.modalDetailsId = null;\n if (this.showTouristicContentDetailsModal) {\n this.showTouristicContentDetailsModal = false;\n } else {\n this.showTouristicEventDetailsModal = false;\n }\n document.body.getElementsByTagName('grw-details-modal')[0].remove();\n }\n\n @Listen('touristicEventCardPress', { target: 'window' })\n onTouristiceEventCardPress(touristicEventId) {\n if (!this.grwApp) {\n this.modalDetailsId = touristicEventId.detail;\n this.onOpenDetailsModal('TouristicContent');\n const modal = document.createElement('grw-details-modal');\n modal.setAttribute('font-family', this.fontFamily);\n modal.setAttribute('color-background', this.colorBackground);\n modal.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modal.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modal.setAttribute('rounded', this.rounded.toString());\n const modalContent = document.createElement('grw-touristic-event-detail');\n modalContent.setAttribute('font-family', this.fontFamily);\n modalContent.setAttribute('color-primary-app', this.colorPrimaryApp);\n modalContent.setAttribute('color-on-surface', this.colorOnSurface);\n modalContent.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modalContent.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modalContent.setAttribute('color-secondary-container', this.colorSecondaryContainer);\n modalContent.setAttribute('color-on-secondary-container', this.colorOnSecondaryContainer);\n modalContent.setAttribute('color-surface-container-low', this.colorSurfaceContainerLow);\n modalContent.setAttribute('color-background', this.colorBackground);\n modal.append(modalContent);\n document.body.append(modal);\n }\n }\n\n @Listen('touristicContentCardPress', { target: 'window' })\n onTouristicContentCardPress(touristicContentId) {\n if (!this.grwApp) {\n this.modalDetailsId = touristicContentId.detail;\n this.onOpenDetailsModal('touristicContent');\n const modal = document.createElement('grw-details-modal');\n modal.setAttribute('font-family', this.fontFamily);\n modal.setAttribute('color-background', this.colorBackground);\n modal.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modal.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modal.setAttribute('rounded', this.rounded.toString());\n const modalContent = document.createElement('grw-touristic-content-detail');\n modalContent.setAttribute('font-family', this.fontFamily);\n modalContent.setAttribute('color-primary-app', this.colorPrimaryApp);\n modalContent.setAttribute('color-on-surface', this.colorOnSurface);\n modalContent.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modalContent.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modalContent.setAttribute('color-secondary-container', this.colorSecondaryContainer);\n modalContent.setAttribute('color-on-secondary-container', this.colorOnSecondaryContainer);\n modalContent.setAttribute('color-surface-container-low', this.colorSurfaceContainerLow);\n modalContent.setAttribute('color-background', this.colorBackground);\n modal.append(modalContent);\n document.body.append(modal);\n }\n }\n\n onOpenDetailsModal(modalDetails: 'touristicContent' | 'TouristicContent') {\n document.body.style.overflow = `hidden`;\n if (modalDetails === 'touristicContent') {\n this.showTouristicContentDetailsModal = true;\n } else {\n this.showTouristicEventDetailsModal = true;\n }\n }\n\n componentDidUpdate() {\n this.handleObservers();\n this.handleSwipers();\n }\n\n handleSwipers() {\n if (this.swiperImagesRef && !this.swiperImages) {\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 if (this.swiperImagesRef) {\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen && !this.offline ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n }\n }\n if (this.swiperStepRef && !this.swiperStep) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperPoisRef && !this.swiperPois) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperInformationDesksRef && !this.swiperInformationDesks) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperTouristicContentsRef && !this.swiperTouristicContents) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperTouristicEventsRef && !this.swiperTouristicEvents) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n }\n\n handleObservers() {\n if (this.presentationRef && !this.presentationObserver) {\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 observerOptions,\n );\n this.presentationObserver.observe(this.presentationRef);\n }\n if (this.stepsRef && !this.stepsObserver) {\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 observerOptions,\n );\n this.stepsObserver.observe(this.stepsRef);\n }\n if (this.descriptionRef && !this.descriptionObserver) {\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 observerOptions,\n );\n this.descriptionObserver.observe(this.descriptionRef);\n }\n if (this.recommendationRef && !this.recommendationsObserver) {\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 observerOptions,\n );\n this.recommendationsObserver.observe(this.recommendationRef);\n }\n if (this.parkingRef && !this.parkingObserver) {\n this.parkingObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.parkingIsInViewport.emit(isIntersecting);\n },\n observerOptions,\n );\n this.parkingObserver.observe(this.parkingRef);\n }\n\n if (this.sensitiveAreaRef && !this.sensitiveAreaObserver) {\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 observerOptions,\n );\n this.sensitiveAreaObserver.observe(this.sensitiveAreaRef);\n }\n\n if (this.informationPlacesRef && !this.informationPlacesObserver) {\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 observerOptions,\n );\n this.informationPlacesObserver.observe(this.informationPlacesRef);\n }\n\n if (this.accessibilityRef && !this.accessibilityObserver) {\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 observerOptions,\n );\n this.accessibilityObserver.observe(this.accessibilityRef);\n }\n\n if (this.poiRef && !this.poiObserver) {\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 observerOptions,\n );\n this.poiObserver.observe(this.poiRef);\n }\n\n if (this.touristicContentsRef && !this.touristicContentObserver) {\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 observerOptions,\n );\n this.touristicContentObserver.observe(this.touristicContentsRef);\n }\n if (this.touristicEventsRef && !this.touristicEventObserver) {\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 observerOptions,\n );\n this.touristicEventObserver.observe(this.touristicEventsRef);\n }\n }\n\n componentDidLoad() {\n this.handleObservers();\n this.handleSwipers();\n this.setupScrollListener();\n }\n\n setupScrollListener() {\n const container = this.trekDetailContainerRef;\n if (container) {\n const onScroll = () => {\n this.detailScrolled.emit();\n container.removeEventListener('scroll', onScroll);\n };\n container.addEventListener('scroll', onScroll);\n } else {\n const onScroll = () => {\n this.detailScrolled.emit();\n window.removeEventListener('scroll', onScroll);\n };\n window.addEventListener('scroll', onScroll);\n }\n }\n\n async connectedCallback() {\n if (state.currentTrek) {\n this.offline = state.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 === state.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === state.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === state.currentTrek.practice);\n this.themes = state.themes.filter(theme => state.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => state.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => state.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => state.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => state.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n if (state.cities) {\n this.cities = state.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n }\n this.hasStep = state.currentTrek.children.length > 0;\n this.currentTrek = state.currentTrek;\n }\n\n onChange('currentTrek', async () => {\n if (state.currentTrek) {\n this.offline = state.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 === state.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === state.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === state.currentTrek.practice);\n this.themes = state.themes.filter(theme => state.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => state.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => state.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => state.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => state.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n if (state.cities) {\n this.cities = state.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n }\n this.hasStep = state.currentTrek.children.length > 0;\n this.currentTrek = state.currentTrek;\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(state.currentTrek.description) },\n pois: { ...pois, visible: state.poisData > 0 },\n recommendations: { ...recommendations, visible: Boolean(state.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 => state.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0,\n ),\n },\n accessibility: {\n ...accessibility,\n visible: Boolean(\n state.currentTrek.disabled_infrastructure ||\n (this.accessibilities && this.accessibilities.length > 0) ||\n state.currentTrek.accessibility_level ||\n state.currentTrek.accessibility_slope ||\n state.currentTrek.accessibility_width ||\n state.currentTrek.accessibility_signage ||\n state.currentTrek.accessibility_covering ||\n state.currentTrek.accessibility_exposure ||\n state.currentTrek.accessibility_advice ||\n this.emergencyNumber,\n ),\n },\n touristicContents: { ...touristicContents, visible: state.touristicContentsData > 0 },\n touristicEvents: { ...touristicEvents, visible: state.touristicEventsData > 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 currentOptionIndex = -1;\n\n const options: Option[] = Object.values(this.options);\n\n for (let i = 0; i < options.length; i++) {\n if (options[i].indicator) {\n currentOption = options[i];\n currentOptionIndex = i;\n break;\n }\n }\n\n if (currentOption && this[currentOption.ref]) {\n let previousVisibleOptions = 0;\n let previousWidthOptions = 0;\n for (let i = 0; i < currentOptionIndex; i++) {\n if (options[i].visible) {\n previousVisibleOptions += 1;\n previousWidthOptions += this[options[i].ref].clientWidth;\n }\n }\n const 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 const scrollbarFromElement = this.trekDetailContainerRef.scrollHeight > this.trekDetailContainerRef.clientHeight;\n if (scrollbarFromElement) {\n this.trekDetailContainerRef.scrollTo({ top: element.offsetTop - 64 });\n } else {\n window.scrollTo({ top: element.offsetTop - 64 });\n }\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.tilesMinZoomOffline, this.tilesMaxZoomOffline);\n }\n\n async downloadTrek() {\n try {\n // download treks list data\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: getCacheMode(), 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 state.labelsFromProviders,\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\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp);\n await writeOrUpdateFilesInStore(state.networks, imagesRegExp);\n\n // download trek images\n await writeOrUpdateFilesInStore(this.currentTrek, imagesRegExp, true, ['url']);\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('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('networks', state.networks);\n await writeOrUpdateDataInStore('signages', state.currentSignages);\n await writeOrUpdateDataInStore('informationDesks', state.currentInformationDesks);\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp, true);\n\n const cities = (await getCities(state.api, state.language, init).then(response => response.json())).results;\n await writeOrUpdateDataInStore('cities', cities);\n\n let currentPois = [];\n let trekTouristicContents = [];\n let trekTouristicEvents = [];\n if (state.poisData > 0) {\n currentPois = (await getPoisNearTrek(state.api, state.language, this.currentTrek.id, init).then(response => response.json())).results;\n const poiTypes = (await fetch(`${state.api}poi_type/?language=${state.language}&fields=id,pictogram`, init).then(response => response.json())).results;\n await writeOrUpdateDataInStore('pois', currentPois);\n await writeOrUpdateDataInStore('poiTypes', poiTypes);\n await writeOrUpdateFilesInStore(currentPois, imagesRegExp, true, ['url']);\n await writeOrUpdateFilesInStore(poiTypes, imagesRegExp);\n }\n if (state.touristicContentsData > 0) {\n trekTouristicContents = (await getTouristicContentsNearTrek(state.api, state.language, this.currentTrek.id, init).then(response => response.json())).results;\n const touristicContentCategories = (await getTouristicContentCategory(state.api, state.language, null, init).then(response => response.json())).results;\n trekTouristicContents.forEach(trekTouristicContent => {\n trekTouristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', trekTouristicContents);\n await writeOrUpdateDataInStore('touristicContentCategories', touristicContentCategories);\n await writeOrUpdateFilesInStore(trekTouristicContents, imagesRegExp, true, ['url']);\n await writeOrUpdateFilesInStore(touristicContentCategories, imagesRegExp);\n }\n if (state.touristicEventsData > 0) {\n trekTouristicEvents = (await getTouristicEventsNearTrek(state.api, state.language, this.currentTrek.id, init).then(response => response.json())).results;\n const touristicEventTypes = (await getTouristicEventType(state.api, state.language, null, init).then(response => response.json())).results;\n trekTouristicEvents.forEach(trekTouristicEvent => {\n trekTouristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', trekTouristicEvents);\n await writeOrUpdateDataInStore('touristicEventTypes', touristicEventTypes);\n await writeOrUpdateFilesInStore(touristicEventTypes, imagesRegExp);\n await writeOrUpdateFilesInStore(trekTouristicEvents, imagesRegExp, true, ['url']);\n }\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 const stepsPoisRequests = [];\n const stepsSensitiveAreasRequests = [];\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 stepsPoisRequests.push(getPoisNearTrek(state.api, state.language, stepId, init));\n stepsSensitiveAreasRequests.push(getSensitiveAreasNearTrek(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 const stepsTouristicEventsResponses = await Promise.all([...stepsTouristicEventsRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n const stepsPoisResponses = await Promise.all([...stepsPoisRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n const stepsSensitiveAreasResponses = await Promise.all([...stepsSensitiveAreasRequests]).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 trekSteps[index].pois = stepsPoisResponses[index].results.map(poi => poi.id);\n trekSteps[index].touristicContents = stepsTouristicContentsResponses[index].results.map(trekTouristicContent => trekTouristicContent.id);\n trekSteps[index].touristicEvents = stepsTouristicEventsResponses[index].results.map(trekTouristicEvent => trekTouristicEvent.id);\n trekSteps[index].sensitiveAreas = stepsSensitiveAreasResponses[index].results.map(currentSensitiveArea => currentSensitiveArea.id);\n await writeOrUpdateDataInStore('treks', [trekSteps[index]]);\n await writeOrUpdateFilesInStore(trekSteps[index], imagesRegExp, true, ['url']);\n }\n }\n\n await writeOrUpdateDataInStore('treks', [\n {\n ...this.currentTrek,\n offline: true,\n pois: currentPois.map(poi => poi.id),\n signages: state.currentSignages.map(signage => signage.id),\n touristicContents: trekTouristicContents.map(trekTouristicContent => trekTouristicContent.id),\n touristicEvents: trekTouristicEvents.map(trekTouristicEvent => trekTouristicEvent.id),\n sensitiveAreas: state.currentSensitiveAreas ? state.currentSensitiveAreas.map(currentSensitiveArea => currentSensitiveArea.id) : [],\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 if (this.swiperImages) {\n this.swiperImages.slideTo(0);\n }\n\n this.offline = true;\n this.downloadedSuccessConfirm.emit(this.currentTrek.id);\n } catch (error) {\n this.downloadedErrorConfirm.emit(this.currentTrek.id);\n }\n }\n\n async deleteTrek() {\n try {\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.deleteSuccessConfirm.emit(this.currentTrek.id);\n } catch (error) {\n this.deleteErrorConfirm.emit(this.currentTrek.id);\n }\n }\n\n displayDownloadModal() {\n this.downloadConfirm.emit();\n }\n\n displayDeleteModal() {\n this.deleteConfirm.emit();\n }\n\n @Listen('downloadPress', { target: 'window' })\n onDownloadPress() {\n this.downloadTrek();\n }\n\n @Listen('deletePress', { target: 'window' })\n onDeletePress() {\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.information_desks;\n delete trekInStore.pois;\n delete trekInStore.touristicContents;\n delete trekInStore.touristicEvents;\n delete trekInStore.sensitiveAreas;\n delete trekInStore.offline;\n }\n\n getDepartureCityCode() {\n const departureCity = state.cities.find(currentCity => currentCity.id === state.currentTrek.departure_city);\n return departureCity.code ?? departureCity.id;\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const displayPaginationAndNavigation = (this.currentTrek && this.currentTrek.attachments.filter(attachment => attachment.type === 'image').length > 1) || this.offline;\n\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 ? '164px'\n : '124px',\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.indicatorSelectedTrekOption.ref === 'stepsOptionRef' ? ' 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 <span part=\"trek-close-fullcreen-icon\" class=\"trek-close-fullcreen-icon\" innerHTML={CloseIcon}></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 src={this.offline && attachment.thumbnail !== '' ? attachment.thumbnail : 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 alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <img part=\"trek-img\" class=\"trek-img default-trek-img\" src={defaultImageSrc} loading=\"lazy\" alt=\"\" />\n )}\n </div>\n <div\n style={{ display: 'block', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElImagesRef = el)}\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 && <img part=\"icon\" class=\"icon\" src={this.difficulty.pictogram} alt=\"\" />}\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 <span part=\"icon\" class=\"icon\" innerHTML={TimelapseIcon}></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 && <img part=\"icon\" class=\"icon\" src={this.route.pictogram} alt=\"\" />}\n <span part=\"label\" class=\"label\">\n {this.route?.route}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label length\">\n <span part=\"icon\" class=\"icon\" innerHTML={OpenInFullIcon}></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 <span part=\"icon\" class=\"icon\" innerHTML={MovingIcon}></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 <span part=\"icon\" class=\"icon\" innerHTML={MovingIcon}></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 && <img part=\"icon\" class=\"icon\" src={this.practice.pictogram} alt=\"\" />}\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 part=\"icon\" class=\"icon\" src={currentNetwork.pictogram} alt=\"\" />\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} : ${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 && (!this.currentTrek.parents || this.currentTrek.parents.length === 0) && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayDownloadModal()}>\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadForOfflineIcon}></span>\n <span part=\"label\" class=\"label\">\n {translate[state.language].offline.downloadOffline}\n </span>\n </button>\n )}\n {this.enableOffline && this.offline && (!this.currentTrek.parents || this.currentTrek.parents.length === 0) && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayDeleteModal()}>\n <span part=\"icon\" class=\"icon\" innerHTML={DeleteIcon}></span>\n <span part=\"label\" class=\"label\">\n {translate[state.language].offline.deleteOffline}\n </span>\n </button>\n )}\n <div part=\"links-container\" class=\"links-container\">\n <a part=\"download-gpx-button\" href={`${this.currentTrek.gpx}`} target=\"_blank\" rel=\"noopener noreferrer\">\n <span part=\"icon\" class=\" icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n GPX\n </span>\n </a>\n <a part=\"download-kml-button\" href={`${this.currentTrek.kml}`} target=\"_blank\" rel=\"noopener noreferrer\">\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n KML\n </span>\n </a>\n <a\n part=\"download-pdf-button\"\n href={`${this.currentTrek.pdf}${state.portalsFromProviders && state.portalsFromProviders.length === 1 ? '?portal=' + state.portalsFromProviders[0] : ''}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></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\" ref={el => (this.stepsRef = el)}>\n <div part=\"step-title\" class=\"step-title\">{`${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-app={this.grwApp}\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\" ref={el => (this.descriptionRef = el)}>\n <div part=\"description-title\" class=\"description-title\">\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.cities && this.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 {this.options.pois.visible && (\n <div part=\"divider-and-pois-container\" class=\"divider-and-pois-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"pois-container\" class=\"pois-container\" ref={el => (this.poiRef = el)}>\n <div part=\"pois-title\" class=\"pois-title\">\n {translate[state.language].pois(state.poisData)}\n </div>\n {!state.currentPois ? (\n <div class=\"loader-container\">\n <span part=\"loader\" class=\"loader\"></span>\n </div>\n ) : (\n <Fragment>\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 colorSurfaceContainerLow={this.colorSurfaceContainerLow}\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 </Fragment>\n )}\n </div>\n </div>\n )}\n {this.weather && this.currentTrek.departure_city && !this.offline && (\n <div part=\"divider-and-weather-container\" class=\"divider-and-weather-container\">\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.getDepartureCityCode()}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n </div>\n )}\n {this.currentTrek.access && (\n <div part=\"divider-and-access-container\" class=\"divider-and-access-container\">\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 part=\"divider-and-public-transport-container\" class=\"divider-and-public-transport-container\">\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 part=\"divider-and-advice-container\" class=\"divider-and-advice-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"advice-container\" class=\"advice-container\" ref={el => (this.recommendationRef = el)}>\n <div part=\"advice-title\" class=\"advice-title\">\n {translate[state.language].recommendations}\n </div>\n {this.currentTrek.advice && (\n <div part=\"current-advice-container\" class=\"current-advice-container\">\n <span part=\"advice-icon\" class=\"icon\" innerHTML={WarningIcon}></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 <span part=\"gear-icon\" class=\"icon\" innerHTML={BackpackIcon}></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 && <img src={label.pictogram} alt=\"\" />}\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 part=\"divider-and-sensitive-areas-container\" class=\"divider-and-sensitive-areas-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"sensitive-areas-container\" class=\"sensitive-areas-container\" ref={el => (this.sensitiveAreaRef = el)}>\n <div part=\"ensitive-areas-title\" class=\"sensitive-areas-title\">\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,sensitive-area-rules-container,sensitive-area-rules-title,sensitive-area-rules,sensitive-area-rule,sensitive-area-rule-name,sensitive-area-rule-description\"\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 part=\"divider-and-information-desks-container\" class=\"divider-and-information-desks-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"information-desks-container\" class=\"information-desks-container\" ref={el => (this.informationPlacesRef = el)}>\n <div part=\"information-desks-title\" class=\"information-desks-title\">\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 colorSurfaceContainerLow={this.colorSurfaceContainerLow}\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 part=\"divider-and-accessibilities-container\" class=\"divider-and-accessibilities-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"accessibilities-container\" class=\"accessibilities-container\" ref={el => (this.accessibilityRef = el)}>\n <div part=\"accessibilities-title\" class=\"accessibilities-title\">\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 src={accessibility.pictogram} alt=\"\"></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 part=\"icon\" class=\"icon\" innerHTML={CallIcon}></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 {this.options.touristicContents.visible && (\n <div part=\"divider-and-touristic-content-container\" class=\"divider-and-touristic-content-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-content-container\" class=\"touristic-content-container\" ref={el => (this.touristicContentsRef = el)}>\n <div part=\"touristic-content-title\" class=\"touristic-content-title\">\n {translate[state.language].touristicContents(state.touristicContentsData)}\n </div>\n {!state.trekTouristicContents ? (\n <div class=\"loader-container\">\n <span part=\"loader\" class=\"loader\"></span>\n </div>\n ) : (\n <Fragment>\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 color-surface-container-low={this.colorSurfaceContainerLow}\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 </Fragment>\n )}\n </div>\n </div>\n )}\n {this.options.touristicEvents.visible && (\n <div part=\"divider-and-touristic-event-container\" class=\"divider-and-touristic-event-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-event-container\" class=\"touristic-event-container\" ref={el => (this.touristicEventsRef = el)}>\n <div part=\"touristic-event-title\" class=\"touristic-event-title\">\n {translate[state.language].touristicEvents(state.touristicEventsData)}\n </div>\n {!state.trekTouristicEvents ? (\n <div class=\"loader-container\">\n <span part=\"loader\" class=\"loader\"></span>\n </div>\n ) : (\n <Fragment>\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 isInsideHorizontalList={true}\n colorSurfaceContainerLow={this.colorSurfaceContainerLow}\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 </Fragment>\n )}\n </div>\n </div>\n )}\n {this.currentTrek.web_links && this.currentTrek.web_links.length > 0 && (\n <div part=\"divider-and-weblinks-container\" class=\"divider-and-weblinks-container\">\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 && <img src={weblink.category.pictogram} alt={weblink.category.label} />}\n {weblink.name}\n </a>\n ))}\n </div>\n </div>\n )}\n {this.currentTrek.source && this.currentTrek.source.length > 0 && (\n <div part=\"divider-and-source-container\" class=\"divider-and-source-container\">\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 && <img src={source.pictogram} alt=\"\" />}\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 {this.grwApp && <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>}\n </div>\n )}\n {this.modalDetailsId && (\n <Fragment>\n {this.showTouristicContentDetailsModal && <grw-touristic-content-provider api={state.api} touristic-content-id={this.modalDetailsId}></grw-touristic-content-provider>}\n {this.showTouristicEventDetailsModal && <grw-touristic-event-provider api={state.api} touristic-event-id={this.modalDetailsId}></grw-touristic-event-provider>}\n </Fragment>\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, Fragment } 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, getCacheMode, 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 { getCities, getDistricts, getPoisNearTrek, getSensitiveAreasNearTrek, getTrek, getTreksList } from 'services/treks.service';\nimport { getTouristicContentCategory, getTouristicContentsNearTrek } from 'services/touristic-contents.service';\nimport { getTouristicEventsNearTrek, getTouristicEventType } from 'services/touristic-events.service';\nimport CloseIcon from '../../assets/close.svg';\nimport TimelapseIcon from '../../assets/timelapse.svg';\nimport OpenInFullIcon from '../../assets/open_in_full.svg';\nimport MovingIcon from '../../assets/moving.svg';\nimport DownloadForOfflineIcon from '../../assets/download_for_offline.svg';\nimport DeleteIcon from '../../assets/delete.svg';\nimport DownloadIcon from '../../assets/download.svg';\nimport WarningIcon from '../../assets/warning.svg';\nimport BackpackIcon from '../../assets/backpack.svg';\nimport CallIcon from '../../assets/call.svg';\n\nconst observerOptions = { threshold: 0 };\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 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() detailScrolled: EventEmitter<void>;\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() 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 @Prop() rounded = true;\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() tilesMinZoomOffline = 12;\n @Prop() tilesMaxZoomOffline = 16;\n\n @Prop() grwApp = false;\n\n @Event() downloadConfirm: EventEmitter<number>;\n @Event() downloadedSuccessConfirm: EventEmitter<number>;\n @Event() downloadedErrorConfirm: EventEmitter<number>;\n\n @Event() deleteConfirm: EventEmitter<number>;\n @Event() deleteSuccessConfirm: EventEmitter<number>;\n @Event() deleteErrorConfirm: EventEmitter<number>;\n\n indicatorSelectedTrekOption = { translateX: null, width: null, backgroundSize: null, ref: null };\n\n @State() showTouristicContentDetailsModal = false;\n @State() showTouristicEventDetailsModal = false;\n @State() modalDetailsId = null;\n\n @Listen('closeDetailsModal', { target: 'window' })\n onCloseDetailsModal() {\n document.body.style.overflow = `visible`;\n state.currentTouristicContent = null;\n state.currentTouristicEvent = null;\n this.modalDetailsId = null;\n if (this.showTouristicContentDetailsModal) {\n this.showTouristicContentDetailsModal = false;\n } else {\n this.showTouristicEventDetailsModal = false;\n }\n document.body.getElementsByTagName('grw-details-modal')[0].remove();\n }\n\n @Listen('touristicEventCardPress', { target: 'window' })\n onTouristiceEventCardPress(touristicEventId) {\n if (!this.grwApp) {\n this.modalDetailsId = touristicEventId.detail;\n this.onOpenDetailsModal('TouristicContent');\n const modal = document.createElement('grw-details-modal');\n modal.setAttribute('font-family', this.fontFamily);\n modal.setAttribute('color-background', this.colorBackground);\n modal.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modal.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modal.setAttribute('rounded', this.rounded.toString());\n const modalContent = document.createElement('grw-touristic-event-detail');\n modalContent.setAttribute('font-family', this.fontFamily);\n modalContent.setAttribute('color-primary-app', this.colorPrimaryApp);\n modalContent.setAttribute('color-on-surface', this.colorOnSurface);\n modalContent.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modalContent.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modalContent.setAttribute('color-secondary-container', this.colorSecondaryContainer);\n modalContent.setAttribute('color-on-secondary-container', this.colorOnSecondaryContainer);\n modalContent.setAttribute('color-surface-container-low', this.colorSurfaceContainerLow);\n modalContent.setAttribute('color-background', this.colorBackground);\n modal.append(modalContent);\n document.body.append(modal);\n }\n }\n\n @Listen('touristicContentCardPress', { target: 'window' })\n onTouristicContentCardPress(touristicContentId) {\n if (!this.grwApp) {\n this.modalDetailsId = touristicContentId.detail;\n this.onOpenDetailsModal('touristicContent');\n const modal = document.createElement('grw-details-modal');\n modal.setAttribute('font-family', this.fontFamily);\n modal.setAttribute('color-background', this.colorBackground);\n modal.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modal.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modal.setAttribute('rounded', this.rounded.toString());\n const modalContent = document.createElement('grw-touristic-content-detail');\n modalContent.setAttribute('font-family', this.fontFamily);\n modalContent.setAttribute('color-primary-app', this.colorPrimaryApp);\n modalContent.setAttribute('color-on-surface', this.colorOnSurface);\n modalContent.setAttribute('color-primary-container', this.colorPrimaryContainer);\n modalContent.setAttribute('color-on-primary-container', this.colorOnPrimaryContainer);\n modalContent.setAttribute('color-secondary-container', this.colorSecondaryContainer);\n modalContent.setAttribute('color-on-secondary-container', this.colorOnSecondaryContainer);\n modalContent.setAttribute('color-surface-container-low', this.colorSurfaceContainerLow);\n modalContent.setAttribute('color-background', this.colorBackground);\n modal.append(modalContent);\n document.body.append(modal);\n }\n }\n\n onOpenDetailsModal(modalDetails: 'touristicContent' | 'TouristicContent') {\n document.body.style.overflow = `hidden`;\n if (modalDetails === 'touristicContent') {\n this.showTouristicContentDetailsModal = true;\n } else {\n this.showTouristicEventDetailsModal = true;\n }\n }\n\n componentDidUpdate() {\n this.handleObservers();\n this.handleSwipers();\n }\n\n handleSwipers() {\n if (this.swiperImagesRef && !this.swiperImages) {\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 if (this.swiperImagesRef) {\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen && !this.offline ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n }\n }\n if (this.swiperStepRef && !this.swiperStep) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperPoisRef && !this.swiperPois) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperInformationDesksRef && !this.swiperInformationDesks) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperTouristicContentsRef && !this.swiperTouristicContents) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperTouristicEventsRef && !this.swiperTouristicEvents) {\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 '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n }\n\n handleObservers() {\n if (this.presentationRef && !this.presentationObserver) {\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 observerOptions,\n );\n this.presentationObserver.observe(this.presentationRef);\n }\n if (this.stepsRef && !this.stepsObserver) {\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 observerOptions,\n );\n this.stepsObserver.observe(this.stepsRef);\n }\n if (this.descriptionRef && !this.descriptionObserver) {\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 observerOptions,\n );\n this.descriptionObserver.observe(this.descriptionRef);\n }\n if (this.recommendationRef && !this.recommendationsObserver) {\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 observerOptions,\n );\n this.recommendationsObserver.observe(this.recommendationRef);\n }\n if (this.parkingRef && !this.parkingObserver) {\n this.parkingObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.parkingIsInViewport.emit(isIntersecting);\n },\n observerOptions,\n );\n this.parkingObserver.observe(this.parkingRef);\n }\n\n if (this.sensitiveAreaRef && !this.sensitiveAreaObserver) {\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 observerOptions,\n );\n this.sensitiveAreaObserver.observe(this.sensitiveAreaRef);\n }\n\n if (this.informationPlacesRef && !this.informationPlacesObserver) {\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 observerOptions,\n );\n this.informationPlacesObserver.observe(this.informationPlacesRef);\n }\n\n if (this.accessibilityRef && !this.accessibilityObserver) {\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 observerOptions,\n );\n this.accessibilityObserver.observe(this.accessibilityRef);\n }\n\n if (this.poiRef && !this.poiObserver) {\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 observerOptions,\n );\n this.poiObserver.observe(this.poiRef);\n }\n\n if (this.touristicContentsRef && !this.touristicContentObserver) {\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 observerOptions,\n );\n this.touristicContentObserver.observe(this.touristicContentsRef);\n }\n if (this.touristicEventsRef && !this.touristicEventObserver) {\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 observerOptions,\n );\n this.touristicEventObserver.observe(this.touristicEventsRef);\n }\n }\n\n componentDidLoad() {\n this.handleObservers();\n this.handleSwipers();\n this.setupScrollListener();\n }\n\n setupScrollListener() {\n const container = this.trekDetailContainerRef;\n if (container) {\n const onScroll = () => {\n this.detailScrolled.emit();\n container.removeEventListener('scroll', onScroll);\n };\n container.addEventListener('scroll', onScroll);\n } else {\n const onScroll = () => {\n this.detailScrolled.emit();\n window.removeEventListener('scroll', onScroll);\n };\n window.addEventListener('scroll', onScroll);\n }\n }\n\n async connectedCallback() {\n if (state.currentTrek) {\n this.offline = state.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 === state.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === state.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === state.currentTrek.practice);\n this.themes = state.themes.filter(theme => state.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => state.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => state.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => state.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => state.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n if (state.cities) {\n this.cities = state.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n }\n this.hasStep = state.currentTrek.children.length > 0;\n this.currentTrek = state.currentTrek;\n }\n\n onChange('currentTrek', async () => {\n if (state.currentTrek) {\n this.offline = state.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 === state.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === state.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === state.currentTrek.practice);\n this.themes = state.themes.filter(theme => state.currentTrek.themes.includes(theme.id));\n this.labels = state.labels.filter(label => state.currentTrek.labels.includes(label.id));\n this.sources = state.sources.filter(source => state.currentTrek.source.includes(source.id));\n this.accessibilities = state.accessibilities.filter(accessibility => state.currentTrek.accessibilities.includes(accessibility.id));\n if (state.accessibilitiesLevel) {\n this.accessibilityLevel = state.accessibilitiesLevel.find(accessibilityLevel => state.currentTrek.accessibility_level === accessibilityLevel.id);\n }\n if (state.cities) {\n this.cities = state.currentTrek.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name);\n }\n this.hasStep = state.currentTrek.children.length > 0;\n this.currentTrek = state.currentTrek;\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(state.currentTrek.description) },\n pois: { ...pois, visible: state.poisData > 0 },\n recommendations: { ...recommendations, visible: Boolean(state.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 => state.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0,\n ),\n },\n accessibility: {\n ...accessibility,\n visible: Boolean(\n state.currentTrek.disabled_infrastructure ||\n (this.accessibilities && this.accessibilities.length > 0) ||\n state.currentTrek.accessibility_level ||\n state.currentTrek.accessibility_slope ||\n state.currentTrek.accessibility_width ||\n state.currentTrek.accessibility_signage ||\n state.currentTrek.accessibility_covering ||\n state.currentTrek.accessibility_exposure ||\n state.currentTrek.accessibility_advice ||\n this.emergencyNumber,\n ),\n },\n touristicContents: { ...touristicContents, visible: state.touristicContentsData > 0 },\n touristicEvents: { ...touristicEvents, visible: state.touristicEventsData > 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 currentOptionIndex = -1;\n\n const options: Option[] = Object.values(this.options);\n\n for (let i = 0; i < options.length; i++) {\n if (options[i].indicator) {\n currentOption = options[i];\n currentOptionIndex = i;\n break;\n }\n }\n\n if (currentOption && this[currentOption.ref]) {\n let previousVisibleOptions = 0;\n let previousWidthOptions = 0;\n for (let i = 0; i < currentOptionIndex; i++) {\n if (options[i].visible) {\n previousVisibleOptions += 1;\n previousWidthOptions += this[options[i].ref].clientWidth;\n }\n }\n const 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 const scrollbarFromElement = this.trekDetailContainerRef.scrollHeight > this.trekDetailContainerRef.clientHeight;\n if (scrollbarFromElement) {\n this.trekDetailContainerRef.scrollTo({ top: element.offsetTop - 64 });\n } else {\n window.scrollTo({ top: element.offsetTop - 64 });\n }\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.tilesMinZoomOffline, this.tilesMaxZoomOffline);\n }\n\n async downloadTrek() {\n try {\n // download treks list data\n const controller = new AbortController();\n const signal = controller.signal;\n const init: RequestInit = { cache: getCacheMode(), 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 state.labelsFromProviders,\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\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp);\n await writeOrUpdateFilesInStore(state.networks, imagesRegExp);\n\n // download trek images\n await writeOrUpdateFilesInStore(this.currentTrek, imagesRegExp, true, ['url']);\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('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('networks', state.networks);\n await writeOrUpdateDataInStore('signages', state.currentSignages);\n await writeOrUpdateDataInStore('informationDesks', state.currentInformationDesks);\n await writeOrUpdateFilesInStore(state.currentInformationDesks, imagesRegExp, true);\n\n const cities = (await getCities(state.api, state.language, init).then(response => response.json())).results;\n await writeOrUpdateDataInStore('cities', cities);\n\n let currentPois = [];\n let trekTouristicContents = [];\n let trekTouristicEvents = [];\n if (state.poisData > 0) {\n currentPois = (await getPoisNearTrek(state.api, state.language, this.currentTrek.id, init).then(response => response.json())).results;\n const poiTypes = (await fetch(`${state.api}poi_type/?language=${state.language}&fields=id,pictogram`, init).then(response => response.json())).results;\n await writeOrUpdateDataInStore('pois', currentPois);\n await writeOrUpdateDataInStore('poiTypes', poiTypes);\n await writeOrUpdateFilesInStore(currentPois, imagesRegExp, true, ['url']);\n await writeOrUpdateFilesInStore(poiTypes, imagesRegExp);\n }\n if (state.touristicContentsData > 0) {\n trekTouristicContents = (await getTouristicContentsNearTrek(state.api, state.language, this.currentTrek.id, init).then(response => response.json())).results;\n const touristicContentCategories = (await getTouristicContentCategory(state.api, state.language, null, init).then(response => response.json())).results;\n trekTouristicContents.forEach(trekTouristicContent => {\n trekTouristicContent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicContents', trekTouristicContents);\n await writeOrUpdateDataInStore('touristicContentCategories', touristicContentCategories);\n await writeOrUpdateFilesInStore(trekTouristicContents, imagesRegExp, true, ['url']);\n await writeOrUpdateFilesInStore(touristicContentCategories, imagesRegExp);\n }\n if (state.touristicEventsData > 0) {\n trekTouristicEvents = (await getTouristicEventsNearTrek(state.api, state.language, this.currentTrek.id, init).then(response => response.json())).results;\n const touristicEventTypes = (await getTouristicEventType(state.api, state.language, null, init).then(response => response.json())).results;\n trekTouristicEvents.forEach(trekTouristicEvent => {\n trekTouristicEvent.offline = true;\n });\n await writeOrUpdateDataInStore('touristicEvents', trekTouristicEvents);\n await writeOrUpdateDataInStore('touristicEventTypes', touristicEventTypes);\n await writeOrUpdateFilesInStore(touristicEventTypes, imagesRegExp);\n await writeOrUpdateFilesInStore(trekTouristicEvents, imagesRegExp, true, ['url']);\n }\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 const stepsPoisRequests = [];\n const stepsSensitiveAreasRequests = [];\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 stepsPoisRequests.push(getPoisNearTrek(state.api, state.language, stepId, init));\n stepsSensitiveAreasRequests.push(getSensitiveAreasNearTrek(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 const stepsTouristicEventsResponses = await Promise.all([...stepsTouristicEventsRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n const stepsPoisResponses = await Promise.all([...stepsPoisRequests]).then(responses => Promise.all(responses.map(response => response.json())));\n const stepsSensitiveAreasResponses = await Promise.all([...stepsSensitiveAreasRequests]).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 trekSteps[index].pois = stepsPoisResponses[index].results.map(poi => poi.id);\n trekSteps[index].touristicContents = stepsTouristicContentsResponses[index].results.map(trekTouristicContent => trekTouristicContent.id);\n trekSteps[index].touristicEvents = stepsTouristicEventsResponses[index].results.map(trekTouristicEvent => trekTouristicEvent.id);\n trekSteps[index].sensitiveAreas = stepsSensitiveAreasResponses[index].results.map(currentSensitiveArea => currentSensitiveArea.id);\n await writeOrUpdateDataInStore('treks', [trekSteps[index]]);\n await writeOrUpdateFilesInStore(trekSteps[index], imagesRegExp, true, ['url']);\n }\n }\n\n await writeOrUpdateDataInStore('treks', [\n {\n ...this.currentTrek,\n offline: true,\n pois: currentPois.map(poi => poi.id),\n signages: state.currentSignages.map(signage => signage.id),\n touristicContents: trekTouristicContents.map(trekTouristicContent => trekTouristicContent.id),\n touristicEvents: trekTouristicEvents.map(trekTouristicEvent => trekTouristicEvent.id),\n sensitiveAreas: state.currentSensitiveAreas ? state.currentSensitiveAreas.map(currentSensitiveArea => currentSensitiveArea.id) : [],\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 if (this.swiperImages) {\n this.swiperImages.slideTo(0);\n }\n\n this.offline = true;\n this.downloadedSuccessConfirm.emit(this.currentTrek.id);\n } catch (error) {\n this.downloadedErrorConfirm.emit(this.currentTrek.id);\n }\n }\n\n async deleteTrek() {\n try {\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.deleteSuccessConfirm.emit(this.currentTrek.id);\n } catch (error) {\n this.deleteErrorConfirm.emit(this.currentTrek.id);\n }\n }\n\n displayDownloadModal() {\n this.downloadConfirm.emit();\n }\n\n displayDeleteModal() {\n this.deleteConfirm.emit();\n }\n\n @Listen('downloadPress', { target: 'window' })\n onDownloadPress() {\n this.downloadTrek();\n }\n\n @Listen('deletePress', { target: 'window' })\n onDeletePress() {\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.information_desks;\n delete trekInStore.pois;\n delete trekInStore.touristicContents;\n delete trekInStore.touristicEvents;\n delete trekInStore.sensitiveAreas;\n delete trekInStore.offline;\n }\n\n getDepartureCityCode() {\n const departureCity = state.cities.find(currentCity => currentCity.id === state.currentTrek.departure_city);\n return departureCity.code ?? departureCity.id;\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const displayPaginationAndNavigation = (this.currentTrek && this.currentTrek.attachments.filter(attachment => attachment.type === 'image').length > 1) || this.offline;\n\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 ? '164px'\n : '124px',\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.indicatorSelectedTrekOption.ref === 'stepsOptionRef' ? ' 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 <span part=\"trek-close-fullcreen-icon\" class=\"trek-close-fullcreen-icon\" innerHTML={CloseIcon}></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 src={this.offline && attachment.thumbnail !== '' ? attachment.thumbnail : 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 alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <img part=\"trek-img\" class=\"trek-img default-trek-img\" src={defaultImageSrc} loading=\"lazy\" alt=\"\" />\n )}\n </div>\n <div\n style={{ display: 'block', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElImagesRef = el)}\n ></div>\n <div\n style={{ display: 'flex', visibility: displayPaginationAndNavigation ? 'visible' : 'hidden' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElImagesRef = el)}\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 && <img part=\"icon\" class=\"icon\" src={this.difficulty.pictogram} alt=\"\" />}\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 <span part=\"icon\" class=\"icon\" innerHTML={TimelapseIcon}></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 && <img part=\"icon\" class=\"icon\" src={this.route.pictogram} alt=\"\" />}\n <span part=\"label\" class=\"label\">\n {this.route?.route}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label length\">\n <span part=\"icon\" class=\"icon\" innerHTML={OpenInFullIcon}></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 <span part=\"icon\" class=\"icon\" innerHTML={MovingIcon}></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 <span part=\"icon\" class=\"icon\" innerHTML={MovingIcon}></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 && <img part=\"icon\" class=\"icon\" src={this.practice.pictogram} alt=\"\" />}\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 if (!currentNetwork) return null;\n return (\n <div part=\"network\" class=\"network\">\n <img part=\"icon\" class=\"icon\" src={currentNetwork.pictogram} alt=\"\" />\n <span part=\"label\" class=\"label\">\n {currentNetwork.label}\n </span>\n </div>\n );\n })}\n </div>\n {this.currentTrek.ratings &&\n state.ratings &&\n state.ratingsScale &&\n this.currentTrek.ratings.map(trekRating => {\n const rating = state.ratings.find(r => r.id === trekRating);\n if (!rating) return null;\n const scale = state.ratingsScale.find(rs => rs.id === rating.scale);\n if (!scale) return null;\n return (\n <div part=\"row\" class=\"row\">\n {`${scale.name} : ${rating.name}`}\n </div>\n );\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 && (!this.currentTrek.parents || this.currentTrek.parents.length === 0) && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayDownloadModal()}>\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadForOfflineIcon}></span>\n <span part=\"label\" class=\"label\">\n {translate[state.language].offline.downloadOffline}\n </span>\n </button>\n )}\n {this.enableOffline && this.offline && (!this.currentTrek.parents || this.currentTrek.parents.length === 0) && (\n <button part=\"offline-button\" class=\"offline-button\" onClick={() => this.displayDeleteModal()}>\n <span part=\"icon\" class=\"icon\" innerHTML={DeleteIcon}></span>\n <span part=\"label\" class=\"label\">\n {translate[state.language].offline.deleteOffline}\n </span>\n </button>\n )}\n <div part=\"links-container\" class=\"links-container\">\n <a part=\"download-gpx-button\" href={`${this.currentTrek.gpx}`} target=\"_blank\" rel=\"noopener noreferrer\">\n <span part=\"icon\" class=\" icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n GPX\n </span>\n </a>\n <a part=\"download-kml-button\" href={`${this.currentTrek.kml}`} target=\"_blank\" rel=\"noopener noreferrer\">\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n KML\n </span>\n </a>\n <a\n part=\"download-pdf-button\"\n href={`${this.currentTrek.pdf}${state.portalsFromProviders && state.portalsFromProviders.length === 1 ? '?portal=' + state.portalsFromProviders[0] : ''}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></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\" ref={el => (this.stepsRef = el)}>\n <div part=\"step-title\" class=\"step-title\">{`${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-app={this.grwApp}\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\" ref={el => (this.descriptionRef = el)}>\n <div part=\"description-title\" class=\"description-title\">\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.cities && this.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 {this.options.pois.visible && (\n <div part=\"divider-and-pois-container\" class=\"divider-and-pois-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"pois-container\" class=\"pois-container\" ref={el => (this.poiRef = el)}>\n <div part=\"pois-title\" class=\"pois-title\">\n {translate[state.language].pois(state.poisData)}\n </div>\n {!state.currentPois ? (\n <div class=\"loader-container\">\n <span part=\"loader\" class=\"loader\"></span>\n </div>\n ) : (\n <Fragment>\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 colorSurfaceContainerLow={this.colorSurfaceContainerLow}\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 </Fragment>\n )}\n </div>\n </div>\n )}\n {this.weather && this.currentTrek.departure_city && !this.offline && (\n <div part=\"divider-and-weather-container\" class=\"divider-and-weather-container\">\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.getDepartureCityCode()}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n </div>\n )}\n {this.currentTrek.access && (\n <div part=\"divider-and-access-container\" class=\"divider-and-access-container\">\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 part=\"divider-and-public-transport-container\" class=\"divider-and-public-transport-container\">\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 part=\"divider-and-advice-container\" class=\"divider-and-advice-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"advice-container\" class=\"advice-container\" ref={el => (this.recommendationRef = el)}>\n <div part=\"advice-title\" class=\"advice-title\">\n {translate[state.language].recommendations}\n </div>\n {this.currentTrek.advice && (\n <div part=\"current-advice-container\" class=\"current-advice-container\">\n <span part=\"advice-icon\" class=\"icon\" innerHTML={WarningIcon}></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 <span part=\"gear-icon\" class=\"icon\" innerHTML={BackpackIcon}></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 && <img src={label.pictogram} alt=\"\" />}\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 part=\"divider-and-sensitive-areas-container\" class=\"divider-and-sensitive-areas-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"sensitive-areas-container\" class=\"sensitive-areas-container\" ref={el => (this.sensitiveAreaRef = el)}>\n <div part=\"ensitive-areas-title\" class=\"sensitive-areas-title\">\n {translate[state.language].environmentalSensitiveAreas}\n </div>\n <div\n part=\"sensitive-areas-description\"\n class=\"sensitive-areas-description\"\n innerHTML={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,sensitive-area-rules-container,sensitive-area-rules-title,sensitive-area-rules,sensitive-area-rule,sensitive-area-rule-name,sensitive-area-rule-description\"\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 part=\"divider-and-information-desks-container\" class=\"divider-and-information-desks-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"information-desks-container\" class=\"information-desks-container\" ref={el => (this.informationPlacesRef = el)}>\n <div part=\"information-desks-title\" class=\"information-desks-title\">\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 colorSurfaceContainerLow={this.colorSurfaceContainerLow}\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 part=\"divider-and-accessibilities-container\" class=\"divider-and-accessibilities-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"accessibilities-container\" class=\"accessibilities-container\" ref={el => (this.accessibilityRef = el)}>\n <div part=\"accessibilities-title\" class=\"accessibilities-title\">\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 src={accessibility.pictogram} alt=\"\"></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 part=\"icon\" class=\"icon\" innerHTML={CallIcon}></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 {this.options.touristicContents.visible && (\n <div part=\"divider-and-touristic-content-container\" class=\"divider-and-touristic-content-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-content-container\" class=\"touristic-content-container\" ref={el => (this.touristicContentsRef = el)}>\n <div part=\"touristic-content-title\" class=\"touristic-content-title\">\n {translate[state.language].touristicContents(state.touristicContentsData)}\n </div>\n {!state.trekTouristicContents ? (\n <div class=\"loader-container\">\n <span part=\"loader\" class=\"loader\"></span>\n </div>\n ) : (\n <Fragment>\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 color-surface-container-low={this.colorSurfaceContainerLow}\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 </Fragment>\n )}\n </div>\n </div>\n )}\n {this.options.touristicEvents.visible && (\n <div part=\"divider-and-touristic-event-container\" class=\"divider-and-touristic-event-container\">\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-event-container\" class=\"touristic-event-container\" ref={el => (this.touristicEventsRef = el)}>\n <div part=\"touristic-event-title\" class=\"touristic-event-title\">\n {translate[state.language].touristicEvents(state.touristicEventsData)}\n </div>\n {!state.trekTouristicEvents ? (\n <div class=\"loader-container\">\n <span part=\"loader\" class=\"loader\"></span>\n </div>\n ) : (\n <Fragment>\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 isInsideHorizontalList={true}\n colorSurfaceContainerLow={this.colorSurfaceContainerLow}\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 </Fragment>\n )}\n </div>\n </div>\n )}\n {this.currentTrek.web_links && this.currentTrek.web_links.length > 0 && (\n <div part=\"divider-and-weblinks-container\" class=\"divider-and-weblinks-container\">\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 && <img src={weblink.category.pictogram} alt={weblink.category.label} />}\n {weblink.name}\n </a>\n ))}\n </div>\n </div>\n )}\n {this.currentTrek.source && this.currentTrek.source.length > 0 && (\n <div part=\"divider-and-source-container\" class=\"divider-and-source-container\">\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 && <img src={source.pictogram} alt=\"\" />}\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 {this.grwApp && <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>}\n </div>\n )}\n {this.modalDetailsId && (\n <Fragment>\n {this.showTouristicContentDetailsModal && <grw-touristic-content-provider api={state.api} touristic-content-id={this.modalDetailsId}></grw-touristic-content-provider>}\n {this.showTouristicEventDetailsModal && <grw-touristic-event-provider api={state.api} touristic-event-id={this.modalDetailsId}></grw-touristic-event-provider>}\n </Fragment>\n )}\n </Host>\n );\n }\n}\n"]}