@geotrekce/geotrek-rando-widget 0.5.2 → 0.5.4

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 (156) hide show
  1. package/dist/cjs/geotrek-rando-widget.cjs.js +1 -1
  2. package/dist/cjs/geotrek-rando-widget.cjs.js.br +0 -0
  3. package/dist/cjs/geotrek-rando-widget.cjs.js.gz +0 -0
  4. package/dist/cjs/grw-app_28.cjs.entry.js +572 -85
  5. package/dist/cjs/grw-app_28.cjs.entry.js.br +0 -0
  6. package/dist/cjs/grw-app_28.cjs.entry.js.gz +0 -0
  7. package/dist/cjs/grw-app_28.cjs.entry.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js.br +0 -0
  10. package/dist/cjs/loader.cjs.js.gz +0 -0
  11. package/dist/collection/assets/parking.svg +5 -0
  12. package/dist/collection/assets/parking.svg.br +0 -0
  13. package/dist/collection/assets/parking.svg.gz +0 -0
  14. package/dist/collection/collection-manifest.json +2 -2
  15. package/dist/collection/components/grw-app/grw-app.css +8 -5
  16. package/dist/collection/components/grw-app/grw-app.css.br +0 -0
  17. package/dist/collection/components/grw-app/grw-app.css.gz +0 -0
  18. package/dist/collection/components/grw-app/grw-app.js +20 -1
  19. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  20. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  21. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  22. package/dist/collection/components/grw-filters/grw-filters.js +1 -1
  23. package/dist/collection/components/grw-filters/grw-filters.js.br +0 -0
  24. package/dist/collection/components/grw-filters/grw-filters.js.gz +0 -0
  25. package/dist/collection/components/grw-filters/grw-filters.js.map +1 -1
  26. package/dist/collection/components/grw-information-desk/grw-information-desk.js +3 -1
  27. package/dist/collection/components/grw-information-desk/grw-information-desk.js.br +0 -0
  28. package/dist/collection/components/grw-information-desk/grw-information-desk.js.gz +0 -0
  29. package/dist/collection/components/grw-information-desk/grw-information-desk.js.map +1 -1
  30. package/dist/collection/components/grw-map/grw-map.css +15 -12
  31. package/dist/collection/components/grw-map/grw-map.css.br +0 -0
  32. package/dist/collection/components/grw-map/grw-map.css.gz +0 -0
  33. package/dist/collection/components/grw-map/grw-map.js +28 -18
  34. package/dist/collection/components/grw-map/grw-map.js.br +0 -0
  35. package/dist/collection/components/grw-map/grw-map.js.gz +0 -0
  36. package/dist/collection/components/grw-map/grw-map.js.map +1 -1
  37. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.css +27 -4
  38. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.css.br +0 -0
  39. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.css.gz +0 -0
  40. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.js +1 -1
  41. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.js.br +0 -0
  42. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.js.gz +0 -0
  43. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.js.map +1 -1
  44. package/dist/collection/components/{grw-touristic-content → grw-touristic-content-card}/grw-touristic-content-card.css +5 -2
  45. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.css.br +0 -0
  46. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.css.gz +0 -0
  47. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.map +1 -0
  48. package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js +1 -1
  49. package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js.br +0 -0
  50. package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js.gz +0 -0
  51. package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js.map +1 -1
  52. package/dist/collection/components/{grw-touristic-event → grw-touristic-event-card}/grw-touristic-event-card.css +0 -1
  53. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.css.br +0 -0
  54. package/dist/collection/components/{grw-touristic-event → grw-touristic-event-card}/grw-touristic-event-card.css.gz +0 -0
  55. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.map +1 -0
  56. package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js +1 -1
  57. package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js.br +0 -0
  58. package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js.gz +0 -0
  59. package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js.map +1 -1
  60. package/dist/collection/components/grw-trek-card/grw-trek-card.js +1 -1
  61. package/dist/collection/components/grw-trek-card/grw-trek-card.js.br +0 -0
  62. package/dist/collection/components/grw-trek-card/grw-trek-card.js.gz +0 -0
  63. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css +172 -35
  64. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css.br +0 -0
  65. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css.gz +0 -0
  66. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +135 -44
  67. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  68. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  69. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  70. package/dist/collection/i18n/i18n.js +16 -10
  71. package/dist/collection/i18n/i18n.js.br +0 -0
  72. package/dist/collection/i18n/i18n.js.gz +0 -0
  73. package/dist/collection/i18n/i18n.js.map +1 -1
  74. package/dist/collection/store/grw-trek-provider.js +8 -4
  75. package/dist/collection/store/grw-trek-provider.js.br +0 -0
  76. package/dist/collection/store/grw-trek-provider.js.gz +0 -0
  77. package/dist/collection/store/grw-trek-provider.js.map +1 -1
  78. package/dist/collection/store/store.js +1 -0
  79. package/dist/collection/store/store.js.br +0 -0
  80. package/dist/collection/store/store.js.gz +0 -0
  81. package/dist/collection/store/store.js.map +1 -1
  82. package/dist/collection/types/types.js.map +1 -1
  83. package/dist/collection/utils/utils.js +4 -1
  84. package/dist/collection/utils/utils.js.br +0 -0
  85. package/dist/collection/utils/utils.js.gz +0 -0
  86. package/dist/collection/utils/utils.js.map +1 -1
  87. package/dist/esm/geotrek-rando-widget.js +1 -1
  88. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  89. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  90. package/dist/esm/grw-app_28.entry.js +572 -85
  91. package/dist/esm/grw-app_28.entry.js.br +0 -0
  92. package/dist/esm/grw-app_28.entry.js.gz +0 -0
  93. package/dist/esm/grw-app_28.entry.js.map +1 -1
  94. package/dist/esm/loader.js +1 -1
  95. package/dist/esm/loader.js.br +0 -0
  96. package/dist/esm/loader.js.gz +0 -0
  97. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  98. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  99. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  100. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  101. package/dist/esm-es5/grw-app_28.entry.js +4 -4
  102. package/dist/esm-es5/grw-app_28.entry.js.br +0 -0
  103. package/dist/esm-es5/grw-app_28.entry.js.gz +0 -0
  104. package/dist/esm-es5/grw-app_28.entry.js.map +1 -1
  105. package/dist/esm-es5/loader.js +1 -1
  106. package/dist/esm-es5/loader.js.br +0 -0
  107. package/dist/esm-es5/loader.js.gz +0 -0
  108. package/dist/esm-es5/loader.js.map +1 -1
  109. package/dist/geotrek-rando-widget/assets/parking.svg +5 -0
  110. package/dist/geotrek-rando-widget/assets/parking.svg.br +0 -0
  111. package/dist/geotrek-rando-widget/assets/parking.svg.gz +0 -0
  112. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  113. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  114. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  115. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  116. package/dist/geotrek-rando-widget/{p-37932796.entry.js → p-675fb39a.entry.js} +5 -5
  117. package/dist/geotrek-rando-widget/p-675fb39a.entry.js.br +0 -0
  118. package/dist/geotrek-rando-widget/p-675fb39a.entry.js.gz +0 -0
  119. package/dist/geotrek-rando-widget/p-675fb39a.entry.js.map +1 -0
  120. package/dist/geotrek-rando-widget/p-cdb81098.system.entry.js +15 -0
  121. package/dist/geotrek-rando-widget/p-cdb81098.system.entry.js.br +0 -0
  122. package/dist/geotrek-rando-widget/p-cdb81098.system.entry.js.gz +0 -0
  123. package/dist/geotrek-rando-widget/p-cdb81098.system.entry.js.map +1 -0
  124. package/dist/geotrek-rando-widget/p-cea4d6a2.system.js +1 -1
  125. package/dist/geotrek-rando-widget/p-cea4d6a2.system.js.br +0 -0
  126. package/dist/geotrek-rando-widget/p-cea4d6a2.system.js.gz +0 -0
  127. package/dist/geotrek-rando-widget/p-cea4d6a2.system.js.map +1 -1
  128. package/dist/types/components/grw-app/grw-app.d.ts +1 -0
  129. package/dist/types/components/grw-map/grw-map.d.ts +1 -0
  130. package/dist/types/components/grw-trek-detail/grw-trek-detail.d.ts +26 -1
  131. package/dist/types/components.d.ts +4 -0
  132. package/dist/types/i18n/i18n.d.ts +5 -2
  133. package/dist/types/store/store.d.ts +3 -1
  134. package/dist/types/types/types.d.ts +21 -1
  135. package/dist/types/utils/utils.d.ts +1 -0
  136. package/package.json +2 -1
  137. package/dist/collection/components/grw-touristic-content/grw-touristic-content-card.css.br +0 -0
  138. package/dist/collection/components/grw-touristic-content/grw-touristic-content-card.css.gz +0 -0
  139. package/dist/collection/components/grw-touristic-content/grw-touristic-content-card.js.map +0 -1
  140. package/dist/collection/components/grw-touristic-event/grw-touristic-event-card.css.br +0 -0
  141. package/dist/collection/components/grw-touristic-event/grw-touristic-event-card.js.map +0 -1
  142. package/dist/geotrek-rando-widget/p-37932796.entry.js.br +0 -0
  143. package/dist/geotrek-rando-widget/p-37932796.entry.js.gz +0 -0
  144. package/dist/geotrek-rando-widget/p-37932796.entry.js.map +0 -1
  145. package/dist/geotrek-rando-widget/p-46c11f88.system.entry.js +0 -15
  146. package/dist/geotrek-rando-widget/p-46c11f88.system.entry.js.br +0 -0
  147. package/dist/geotrek-rando-widget/p-46c11f88.system.entry.js.gz +0 -0
  148. package/dist/geotrek-rando-widget/p-46c11f88.system.entry.js.map +0 -1
  149. /package/dist/collection/components/{grw-touristic-content → grw-touristic-content-card}/grw-touristic-content-card.js +0 -0
  150. /package/dist/collection/components/{grw-touristic-content → grw-touristic-content-card}/grw-touristic-content-card.js.br +0 -0
  151. /package/dist/collection/components/{grw-touristic-content → grw-touristic-content-card}/grw-touristic-content-card.js.gz +0 -0
  152. /package/dist/collection/components/{grw-touristic-event → grw-touristic-event-card}/grw-touristic-event-card.js +0 -0
  153. /package/dist/collection/components/{grw-touristic-event → grw-touristic-event-card}/grw-touristic-event-card.js.br +0 -0
  154. /package/dist/collection/components/{grw-touristic-event → grw-touristic-event-card}/grw-touristic-event-card.js.gz +0 -0
  155. /package/dist/types/components/{grw-touristic-content → grw-touristic-content-card}/grw-touristic-content-card.d.ts +0 -0
  156. /package/dist/types/components/{grw-touristic-event → grw-touristic-event-card}/grw-touristic-event-card.d.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import { Host, h } from '@stencil/core';
2
- import Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel } from 'swiper';
2
+ import Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel, Scrollbar } from 'swiper';
3
3
  import { translate } from 'i18n/i18n';
4
4
  import state, { onChange, reset } from 'store/store';
5
- import { formatDuration, formatLength, formatAscent } from 'utils/utils';
5
+ import { formatDuration, formatLength, formatAscent, formatDescent } from 'utils/utils';
6
6
  const threshold = 1;
7
7
  const presentation = {
8
8
  visible: true,
@@ -19,6 +19,11 @@ const description = {
19
19
  indicator: false,
20
20
  ref: 'descriptionOptionRef',
21
21
  };
22
+ const pois = {
23
+ visible: false,
24
+ indicator: false,
25
+ ref: 'poisOptionRef',
26
+ };
22
27
  const recommendations = {
23
28
  visible: false,
24
29
  indicator: false,
@@ -34,10 +39,10 @@ const informationPlaces = {
34
39
  indicator: false,
35
40
  ref: 'informationPlacesOptionRef',
36
41
  };
37
- const pois = {
42
+ const accessibility = {
38
43
  visible: false,
39
44
  indicator: false,
40
- ref: 'poisOptionRef',
45
+ ref: 'accessibilityOptionRef',
41
46
  };
42
47
  const touristicContents = {
43
48
  visible: false,
@@ -53,10 +58,11 @@ const options = {
53
58
  presentation,
54
59
  steps,
55
60
  description,
61
+ pois,
56
62
  recommendations,
57
63
  sensitiveArea,
58
64
  informationPlaces,
59
- pois,
65
+ accessibility,
60
66
  touristicContents,
61
67
  touristicEvents,
62
68
  };
@@ -76,6 +82,7 @@ export class GrwTrekDetail {
76
82
  this.cities = undefined;
77
83
  this.options = undefined;
78
84
  this.trek = undefined;
85
+ this.emergencyNumber = undefined;
79
86
  this.fontFamily = 'Roboto';
80
87
  this.colorPrimaryApp = '#6b0030';
81
88
  this.colorOnSurface = '#49454e';
@@ -105,12 +112,17 @@ export class GrwTrekDetail {
105
112
  this.displayFullscreen ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();
106
113
  };
107
114
  this.swiperStep = new Swiper(this.swiperStepRef, {
108
- modules: [FreeMode, Mousewheel],
115
+ modules: [FreeMode, Mousewheel, Scrollbar],
109
116
  slidesPerView: 1.5,
110
117
  spaceBetween: 20,
111
118
  grabCursor: true,
112
119
  freeMode: true,
113
120
  mousewheel: { forceToAxis: true },
121
+ scrollbar: {
122
+ draggable: true,
123
+ hide: false,
124
+ el: this.stepSwiperScrollbar,
125
+ },
114
126
  breakpointsBase: 'container',
115
127
  breakpoints: {
116
128
  '540': {
@@ -119,12 +131,17 @@ export class GrwTrekDetail {
119
131
  },
120
132
  });
121
133
  this.swiperPois = new Swiper(this.swiperPoisRef, {
122
- modules: [FreeMode, Mousewheel],
134
+ modules: [FreeMode, Mousewheel, Scrollbar],
123
135
  slidesPerView: 1.5,
124
136
  spaceBetween: 20,
125
137
  grabCursor: true,
126
138
  freeMode: true,
127
139
  mousewheel: { forceToAxis: true },
140
+ scrollbar: {
141
+ draggable: true,
142
+ hide: false,
143
+ el: this.poisSwiperScrollbar,
144
+ },
128
145
  breakpointsBase: 'container',
129
146
  breakpoints: {
130
147
  '540': {
@@ -133,12 +150,17 @@ export class GrwTrekDetail {
133
150
  },
134
151
  });
135
152
  this.swiperInformationDesks = new Swiper(this.swiperInformationDesksRef, {
136
- modules: [FreeMode, Mousewheel],
153
+ modules: [FreeMode, Mousewheel, Scrollbar],
137
154
  slidesPerView: 1.5,
138
155
  spaceBetween: 20,
139
156
  grabCursor: true,
140
157
  freeMode: true,
141
158
  mousewheel: { forceToAxis: true },
159
+ scrollbar: {
160
+ draggable: true,
161
+ hide: false,
162
+ el: this.informationDesksContentsSwiperScrollbar,
163
+ },
142
164
  breakpointsBase: 'container',
143
165
  breakpoints: {
144
166
  '540': {
@@ -147,12 +169,17 @@ export class GrwTrekDetail {
147
169
  },
148
170
  });
149
171
  this.swiperTouristicContents = new Swiper(this.swiperTouristicContentsRef, {
150
- modules: [FreeMode, Mousewheel],
172
+ modules: [FreeMode, Mousewheel, Scrollbar],
151
173
  slidesPerView: 1.5,
152
174
  spaceBetween: 20,
153
175
  grabCursor: true,
154
176
  freeMode: true,
155
177
  mousewheel: { forceToAxis: true },
178
+ scrollbar: {
179
+ draggable: true,
180
+ hide: false,
181
+ el: this.touristicContentsSwiperScrollbar,
182
+ },
156
183
  breakpointsBase: 'container',
157
184
  breakpoints: {
158
185
  '540': {
@@ -161,12 +188,17 @@ export class GrwTrekDetail {
161
188
  },
162
189
  });
163
190
  this.swiperTouristicEvents = new Swiper(this.swiperTouristicEventsRef, {
164
- modules: [FreeMode, Mousewheel],
191
+ modules: [FreeMode, Mousewheel, Scrollbar],
165
192
  slidesPerView: 1.5,
166
193
  spaceBetween: 20,
167
194
  grabCursor: true,
168
195
  freeMode: true,
169
196
  mousewheel: { forceToAxis: true },
197
+ scrollbar: {
198
+ draggable: true,
199
+ hide: false,
200
+ el: this.touristicEventsSwiperScrollbar,
201
+ },
170
202
  breakpointsBase: 'container',
171
203
  breakpoints: {
172
204
  '540': {
@@ -175,90 +207,98 @@ export class GrwTrekDetail {
175
207
  },
176
208
  });
177
209
  if (this.presentationRef) {
178
- const presentationObserver = new IntersectionObserver(entries => {
210
+ this.presentationObserver = new IntersectionObserver(entries => {
179
211
  const isIntersecting = entries[0].isIntersecting;
180
212
  this.options = Object.assign(Object.assign({}, this.options), { presentation: Object.assign(Object.assign({}, this.defaultOptions.presentation), { indicator: isIntersecting }) });
181
213
  this.handleIndicatorSelectedTrekOption();
182
214
  }, { threshold });
183
- presentationObserver.observe(this.presentationRef);
215
+ this.presentationObserver.observe(this.presentationRef);
184
216
  }
185
217
  if (this.stepsRef) {
186
- const stepsObserver = new IntersectionObserver(entries => {
218
+ this.stepsObserver = new IntersectionObserver(entries => {
187
219
  const isIntersecting = entries[0].isIntersecting;
188
220
  this.stepsIsInViewport.emit(isIntersecting);
189
221
  this.options = Object.assign(Object.assign({}, this.options), { steps: Object.assign(Object.assign({}, this.defaultOptions.steps), { indicator: isIntersecting }) });
190
222
  this.handleIndicatorSelectedTrekOption();
191
223
  }, { threshold });
192
- stepsObserver.observe(this.stepsRef);
224
+ this.stepsObserver.observe(this.stepsRef);
193
225
  }
194
226
  if (this.descriptionRef) {
195
- const descriptionObserver = new IntersectionObserver(entries => {
227
+ this.descriptionObserver = new IntersectionObserver(entries => {
196
228
  const isIntersecting = entries[0].isIntersecting;
197
229
  this.descriptionIsInViewport.emit(isIntersecting);
198
230
  this.options = Object.assign(Object.assign({}, this.options), { description: Object.assign(Object.assign({}, this.defaultOptions.description), { indicator: isIntersecting }) });
199
231
  this.handleIndicatorSelectedTrekOption();
200
232
  }, { threshold });
201
- descriptionObserver.observe(this.descriptionRef);
233
+ this.descriptionObserver.observe(this.descriptionRef);
202
234
  }
203
235
  if (this.recommendationRef) {
204
- const recommendationsObserver = new IntersectionObserver(entries => {
236
+ this.recommendationsObserver = new IntersectionObserver(entries => {
205
237
  const isIntersecting = entries[0].isIntersecting;
206
238
  this.options = Object.assign(Object.assign({}, this.options), { recommendations: Object.assign(Object.assign({}, this.defaultOptions.recommendations), { indicator: isIntersecting }) });
207
239
  this.handleIndicatorSelectedTrekOption();
208
240
  }, { threshold });
209
- recommendationsObserver.observe(this.recommendationRef);
241
+ this.recommendationsObserver.observe(this.recommendationRef);
210
242
  }
211
243
  if (this.parkingRef) {
212
- const parkingObserver = new IntersectionObserver(entries => {
244
+ this.parkingObserver = new IntersectionObserver(entries => {
213
245
  const isIntersecting = entries[0].isIntersecting;
214
246
  this.parkingIsInViewport.emit(isIntersecting);
215
247
  }, { threshold });
216
- parkingObserver.observe(this.parkingRef);
248
+ this.parkingObserver.observe(this.parkingRef);
217
249
  }
218
250
  if (this.sensitiveAreaRef) {
219
- const sensitiveAreaRefObserver = new IntersectionObserver(entries => {
251
+ this.sensitiveAreaObserver = new IntersectionObserver(entries => {
220
252
  const isIntersecting = entries[0].isIntersecting;
221
253
  this.sensitiveAreaIsInViewport.emit(isIntersecting);
222
254
  this.options = Object.assign(Object.assign({}, this.options), { sensitiveArea: Object.assign(Object.assign({}, this.defaultOptions.sensitiveArea), { indicator: isIntersecting }) });
223
255
  this.handleIndicatorSelectedTrekOption();
224
256
  }, { threshold });
225
- sensitiveAreaRefObserver.observe(this.sensitiveAreaRef);
257
+ this.sensitiveAreaObserver.observe(this.sensitiveAreaRef);
226
258
  }
227
259
  if (this.informationPlacesRef) {
228
- const informationPlacesObserver = new IntersectionObserver(entries => {
260
+ this.informationPlacesObserver = new IntersectionObserver(entries => {
229
261
  const isIntersecting = entries[0].isIntersecting;
230
262
  this.informationPlacesIsInViewport.emit(isIntersecting);
231
263
  this.options = Object.assign(Object.assign({}, this.options), { informationPlaces: Object.assign(Object.assign({}, this.defaultOptions.informationPlaces), { indicator: isIntersecting }) });
232
264
  this.handleIndicatorSelectedTrekOption();
233
265
  }, { threshold });
234
- informationPlacesObserver.observe(this.informationPlacesRef);
266
+ this.informationPlacesObserver.observe(this.informationPlacesRef);
267
+ }
268
+ if (this.accessibilityRef) {
269
+ this.accessibilityObserver = new IntersectionObserver(entries => {
270
+ const isIntersecting = entries[0].isIntersecting;
271
+ this.options = Object.assign(Object.assign({}, this.options), { accessibility: Object.assign(Object.assign({}, this.defaultOptions.accessibility), { indicator: isIntersecting }) });
272
+ this.handleIndicatorSelectedTrekOption();
273
+ }, { threshold });
274
+ this.accessibilityObserver.observe(this.accessibilityRef);
235
275
  }
236
276
  if (this.poiRef) {
237
- const poiObserver = new IntersectionObserver(entries => {
277
+ this.poiObserver = new IntersectionObserver(entries => {
238
278
  const isIntersecting = entries[0].isIntersecting;
239
279
  this.poiIsInViewport.emit(isIntersecting);
240
280
  this.options = Object.assign(Object.assign({}, this.options), { pois: Object.assign(Object.assign({}, this.defaultOptions.pois), { indicator: isIntersecting }) });
241
281
  this.handleIndicatorSelectedTrekOption();
242
282
  }, { threshold });
243
- poiObserver.observe(this.poiRef);
283
+ this.poiObserver.observe(this.poiRef);
244
284
  }
245
285
  if (this.touristicContentsRef) {
246
- const touristicContentObserver = new IntersectionObserver(entries => {
286
+ this.touristicContentObserver = new IntersectionObserver(entries => {
247
287
  const isIntersecting = entries[0].isIntersecting;
248
288
  this.touristicContentsIsInViewport.emit(isIntersecting);
249
289
  this.options = Object.assign(Object.assign({}, this.options), { touristicContents: Object.assign(Object.assign({}, this.defaultOptions.touristicContents), { indicator: isIntersecting }) });
250
290
  this.handleIndicatorSelectedTrekOption();
251
291
  }, { threshold });
252
- touristicContentObserver.observe(this.touristicContentsRef);
292
+ this.touristicContentObserver.observe(this.touristicContentsRef);
253
293
  }
254
294
  if (this.touristicEventsRef) {
255
- const touristicEventObserver = new IntersectionObserver(entries => {
295
+ this.touristicEventObserver = new IntersectionObserver(entries => {
256
296
  const isIntersecting = entries[0].isIntersecting;
257
297
  this.touristicEventsIsInViewport.emit(isIntersecting);
258
298
  this.options = Object.assign(Object.assign({}, this.options), { touristicEvents: Object.assign(Object.assign({}, this.defaultOptions.touristicEvents), { indicator: isIntersecting }) });
259
299
  this.handleIndicatorSelectedTrekOption();
260
300
  }, { threshold });
261
- touristicEventObserver.observe(this.touristicContentsRef);
301
+ this.touristicEventObserver.observe(this.touristicContentsRef);
262
302
  }
263
303
  }
264
304
  connectedCallback() {
@@ -300,13 +340,34 @@ export class GrwTrekDetail {
300
340
  });
301
341
  }
302
342
  disconnectedCallback() {
343
+ this.presentationObserver && this.presentationObserver.disconnect();
344
+ this.stepsObserver && this.stepsObserver.disconnect();
345
+ this.descriptionObserver && this.descriptionObserver.disconnect();
346
+ this.recommendationsObserver && this.recommendationsObserver.disconnect();
347
+ this.parkingObserver && this.parkingObserver.disconnect();
348
+ this.sensitiveAreaObserver && this.sensitiveAreaObserver.disconnect();
349
+ this.informationPlacesObserver && this.informationPlacesObserver.disconnect();
350
+ this.accessibilityObserver && this.accessibilityObserver.disconnect();
351
+ this.poiObserver && this.poiObserver.disconnect();
352
+ this.accessibilityObserver && this.accessibilityObserver.disconnect();
353
+ this.touristicContentObserver && this.touristicContentObserver.disconnect();
354
+ this.touristicEventObserver && this.touristicEventObserver.disconnect();
303
355
  if (this.resetStoreOnDisconnected) {
304
356
  reset();
305
357
  }
306
358
  }
307
359
  handleOptions() {
308
- return Object.assign(Object.assign({}, options), { presentation: Object.assign({}, presentation), steps: Object.assign(Object.assign({}, steps), { visible: Boolean(state.parentTrek) }), description: Object.assign(Object.assign({}, description), { visible: Boolean(this.currentTrek.description) }), recommendations: Object.assign(Object.assign({}, recommendations), { visible: Boolean(this.currentTrek.advice || (this.labels && this.labels.length > 0)) }), sensitiveArea: Object.assign(Object.assign({}, sensitiveArea), { visible: Boolean(state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) }), informationPlaces: Object.assign(Object.assign({}, informationPlaces), { visible: Boolean(state.currentInformationDesks &&
309
- state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0) }), pois: Object.assign(Object.assign({}, pois), { visible: Boolean(state.currentPois && state.currentPois.length > 0) }), touristicContents: Object.assign(Object.assign({}, touristicContents), { visible: Boolean(state.trekTouristicContents && state.trekTouristicContents.length > 0) }), touristicEvents: Object.assign(Object.assign({}, touristicEvents), { visible: Boolean(state.touristicEvents && state.touristicEvents.length > 0) }) });
360
+ return Object.assign(Object.assign({}, options), { presentation: Object.assign({}, presentation), steps: Object.assign(Object.assign({}, steps), { visible: Boolean(state.parentTrek) }), description: Object.assign(Object.assign({}, description), { visible: Boolean(this.currentTrek.description) }), pois: Object.assign(Object.assign({}, pois), { visible: Boolean(state.currentPois && state.currentPois.length > 0) }), recommendations: Object.assign(Object.assign({}, recommendations), { visible: Boolean(this.currentTrek.advice || (this.labels && this.labels.length > 0)) }), sensitiveArea: Object.assign(Object.assign({}, sensitiveArea), { visible: Boolean(state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0) }), informationPlaces: Object.assign(Object.assign({}, informationPlaces), { visible: Boolean(state.currentInformationDesks &&
361
+ state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0) }), accessibility: Object.assign(Object.assign({}, accessibility), { visible: Boolean(this.currentTrek.disabled_infrastructure ||
362
+ (this.accessibilities && this.accessibilities.length > 0) ||
363
+ this.currentTrek.accessibility_level ||
364
+ this.currentTrek.accessibility_slope ||
365
+ this.currentTrek.accessibility_width ||
366
+ this.currentTrek.accessibility_signage ||
367
+ this.currentTrek.accessibility_covering ||
368
+ this.currentTrek.accessibility_exposure ||
369
+ this.currentTrek.accessibility_advice ||
370
+ this.emergencyNumber) }), touristicContents: Object.assign(Object.assign({}, touristicContents), { visible: Boolean(state.trekTouristicContents && state.trekTouristicContents.length > 0) }), touristicEvents: Object.assign(Object.assign({}, touristicEvents), { visible: Boolean(state.touristicEvents && state.touristicEvents.length > 0) }) });
310
371
  }
311
372
  handleFullscreen() {
312
373
  if (this.currentTrek.attachments && this.currentTrek.attachments[0] && this.currentTrek.attachments[0].url) {
@@ -356,8 +417,8 @@ export class GrwTrekDetail {
356
417
  '--color-secondary-container': this.colorSecondaryContainer,
357
418
  '--color-on-secondary-container': this.colorOnSecondaryContainer,
358
419
  '--color-background': this.colorBackground,
359
- '--detail-bottom-space-height': this.isLargeView ? '8px' : '104px',
360
- } }, this.currentTrek && (h("div", { class: "trek-options" }, h("a", { ref: el => (this.presentationOptionRef = el), onClick: () => this.handleScrollTo(this.presentationRef), class: `presentation trek-option${this.indicatorSelectedTrekOption.ref === 'presentationOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.presentation), this.options.steps.visible && (h("a", { ref: el => (this.stepsOptionRef = el), onClick: () => this.handleScrollTo(this.stepsRef), class: `steps trek-option${this.options.steps.indicator ? ' selected-trek-option' : ''}` }, translate[state.language].options.steps)), this.options.description.visible && (h("a", { ref: el => (this.descriptionOptionRef = el), onClick: () => this.handleScrollTo(this.descriptionRef), class: `description trek-option${this.indicatorSelectedTrekOption.ref === 'descriptionOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.description)), this.options.recommendations.visible && (h("a", { ref: el => (this.recommendationsOptionRef = el), onClick: () => this.handleScrollTo(this.recommendationRef), class: `recommendations trek-option${this.indicatorSelectedTrekOption.ref === 'recommendationsOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.recommendations)), this.options.sensitiveArea.visible && (h("a", { ref: el => (this.sensitiveAreaOptionRef = el), onClick: () => this.handleScrollTo(this.sensitiveAreaRef), class: `sensitive-areas trek-option${this.indicatorSelectedTrekOption.ref === 'sensitiveAreaOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.environmentalSensitiveAreas)), this.options.informationPlaces.visible && (h("a", { ref: el => (this.informationPlacesOptionRef = el), onClick: () => this.handleScrollTo(this.informationPlacesRef), class: `information-places trek-option${this.indicatorSelectedTrekOption.ref === 'informationPlacesOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.informationPlaces)), this.options.pois.visible && (h("a", { ref: el => (this.poisOptionRef = el), onClick: () => this.handleScrollTo(this.poiRef), class: `pois trek-option${this.indicatorSelectedTrekOption.ref === 'poisOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.pois)), this.options.touristicContents.visible && (h("a", { ref: el => (this.touristicContentsOptionRef = el), onClick: () => this.handleScrollTo(this.touristicContentsRef), class: `touristic-content trek-option${this.indicatorSelectedTrekOption.ref === 'touristicContentsOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.touristicContents)), this.options.touristicEvents.visible && (h("a", { ref: el => (this.touristicEventsOptionRef = el), onClick: () => this.handleScrollTo(this.touristicEventsRef), class: `touristic-event trek-option${this.indicatorSelectedTrekOption.ref === 'touristicEventsOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.touristicEvents)), this.presentationOptionRef && (h("span", { class: "indicator-selected-trek-option", style: {
420
+ '--detail-bottom-space-height': this.isLargeView ? '8px' : '200px',
421
+ } }, this.currentTrek && (h("div", { class: "trek-options" }, h("a", { ref: el => (this.presentationOptionRef = el), onClick: () => this.handleScrollTo(this.presentationRef), class: `presentation trek-option${this.indicatorSelectedTrekOption.ref === 'presentationOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.presentation), this.options.steps.visible && (h("a", { ref: el => (this.stepsOptionRef = el), onClick: () => this.handleScrollTo(this.stepsRef), class: `steps trek-option${this.options.steps.indicator ? ' selected-trek-option' : ''}` }, translate[state.language].options.steps)), this.options.description.visible && (h("a", { ref: el => (this.descriptionOptionRef = el), onClick: () => this.handleScrollTo(this.descriptionRef), class: `description trek-option${this.indicatorSelectedTrekOption.ref === 'descriptionOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.description)), this.options.pois.visible && (h("a", { ref: el => (this.poisOptionRef = el), onClick: () => this.handleScrollTo(this.poiRef), class: `pois trek-option${this.indicatorSelectedTrekOption.ref === 'poisOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.pois)), this.options.recommendations.visible && (h("a", { ref: el => (this.recommendationsOptionRef = el), onClick: () => this.handleScrollTo(this.recommendationRef), class: `recommendations trek-option${this.indicatorSelectedTrekOption.ref === 'recommendationsOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.recommendations)), this.options.sensitiveArea.visible && (h("a", { ref: el => (this.sensitiveAreaOptionRef = el), onClick: () => this.handleScrollTo(this.sensitiveAreaRef), class: `sensitive-areas trek-option${this.indicatorSelectedTrekOption.ref === 'sensitiveAreaOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.environmentalSensitiveAreas)), this.options.informationPlaces.visible && (h("a", { ref: el => (this.informationPlacesOptionRef = el), onClick: () => this.handleScrollTo(this.informationPlacesRef), class: `information-places trek-option${this.indicatorSelectedTrekOption.ref === 'informationPlacesOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.informationPlaces)), this.options.accessibility.visible && (h("a", { ref: el => (this.accessibilityOptionRef = el), onClick: () => this.handleScrollTo(this.accessibilityRef), class: `accessibility trek-option${this.indicatorSelectedTrekOption.ref === 'accessibilityOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.accessibility)), this.options.touristicContents.visible && (h("a", { ref: el => (this.touristicContentsOptionRef = el), onClick: () => this.handleScrollTo(this.touristicContentsRef), class: `touristic-content trek-option${this.indicatorSelectedTrekOption.ref === 'touristicContentsOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.touristicContents)), this.options.touristicEvents.visible && (h("a", { ref: el => (this.touristicEventsOptionRef = el), onClick: () => this.handleScrollTo(this.touristicEventsRef), class: `touristic-event trek-option${this.indicatorSelectedTrekOption.ref === 'touristicEventsOptionRef' ? ' selected-trek-option' : ''}` }, translate[state.language].options.touristicEvents)), this.presentationOptionRef && (h("span", { class: "indicator-selected-trek-option", style: {
361
422
  transform: `translateX(${this.indicatorSelectedTrekOption.translateX})`,
362
423
  width: this.indicatorSelectedTrekOption.width,
363
424
  backgroundSize: this.indicatorSelectedTrekOption.backgroundSize,
@@ -366,7 +427,7 @@ export class GrwTrekDetail {
366
427
  .map(attachment => (h("div", { class: "swiper-slide" }, h("img", {
367
428
  /* @ts-ignore */
368
429
  crossorigin: "anonymous", class: "image", src: attachment.url, loading: "lazy", onClick: () => this.handleFullscreen()
369
- }))))), h("div", { class: "swiper-pagination", ref: el => (this.paginationElImagesRef = el) }), h("div", { class: "swiper-button-prev", ref: el => (this.prevElImagesRef = el) }), h("div", { class: "swiper-button-next", ref: el => (this.nextElImagesRef = el) }))), h("div", { class: "name" }, this.currentTrek.name), this.themes.length > 0 && (h("div", { class: "themes-container" }, this.themes.map(theme => (h("div", { class: "theme" }, theme.label))))), h("div", { class: "sub-container" }, h("div", { class: "icons-labels-container" }, h("div", { class: "row" }, h("div", { class: "icon-label difficulty" }, ((_a = this.difficulty) === null || _a === void 0 ? void 0 : _a.pictogram) && (h("img", {
430
+ }))))), h("div", { class: "swiper-pagination", ref: el => (this.paginationElImagesRef = el) }), h("div", { class: "swiper-button-prev", ref: el => (this.prevElImagesRef = el) }), h("div", { class: "swiper-button-next", ref: el => (this.nextElImagesRef = el) }))), h("div", { class: "name" }, this.currentTrek.name), this.themes.length > 0 && (h("div", { class: "themes-container" }, this.themes.map(theme => (h("div", { class: "theme" }, theme.label))))), h("div", { class: "sub-container" }, h("div", { class: "icons-labels-container" }, h("div", { class: "icon-label difficulty" }, ((_a = this.difficulty) === null || _a === void 0 ? void 0 : _a.pictogram) && (h("img", {
370
431
  /* @ts-ignore */
371
432
  crossorigin: "anonymous", src: this.difficulty.pictogram
372
433
  })), (_b = this.difficulty) === null || _b === void 0 ? void 0 :
@@ -374,20 +435,26 @@ export class GrwTrekDetail {
374
435
  /* @ts-ignore */
375
436
  crossorigin: "anonymous", src: this.route.pictogram
376
437
  })), (_e = this.route) === null || _e === void 0 ? void 0 :
377
- _e.route)), h("div", { class: "row" }, h("div", { class: "icon-label length" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "open_in_full"), formatLength(this.currentTrek.length_2d)), h("div", { class: "icon-label ascent" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "moving"), formatAscent(this.currentTrek.ascent)), h("div", { class: "icon-label practice" }, ((_f = this.practice) === null || _f === void 0 ? void 0 : _f.pictogram) && (h("img", {
438
+ _e.route), h("div", { class: "icon-label length" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "open_in_full"), formatLength(this.currentTrek.length_2d)), this.currentTrek.ascent && (h("div", { class: "icon-label ascent" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "moving"), formatAscent(this.currentTrek.ascent))), this.currentTrek.descent && (h("div", { class: "icon-label descent" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "moving"), formatDescent(this.currentTrek.descent))), h("div", { class: "icon-label practice" }, ((_f = this.practice) === null || _f === void 0 ? void 0 : _f.pictogram) && (h("img", {
378
439
  /* @ts-ignore */
379
440
  crossorigin: "anonymous", src: this.practice.pictogram
380
441
  })), (_g = this.practice) === null || _g === void 0 ? void 0 :
381
- _g.name)), this.currentTrek.ratings.map(trekRating => (h("div", { class: "row" }, `${state.ratingsScale.find(ratingScale => ratingScale.id === state.ratings.find(rating => rating.id === trekRating).scale).name} : ${state.ratings.find(rating => rating.id === trekRating).name}`))), this.currentTrek.ratings_description && this.currentTrek.ratings_description !== '' && h("div", { class: "row" }, this.currentTrek.ratings_description))), h("div", { class: "divider" }), h("div", { class: "downloads-container" }, h("div", { class: "download-title" }, translate[state.language].downloads), h("div", { class: "links-container" }, h("a", { href: `${this.currentTrek.gpx}`, target: "_blank", rel: "noopener noreferrer" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "download"), "GPX"), h("a", { href: `${this.currentTrek.kml}`, target: "_blank", rel: "noopener noreferrer" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "download"), "KML"), h("a", { href: `${this.currentTrek.pdf}`, target: "_blank", rel: "noopener noreferrer" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "download"), "PDF"))), h("div", { class: "divider" }), this.currentTrek.description_teaser && h("div", { class: "description-teaser", innerHTML: this.currentTrek.description_teaser }), this.currentTrek.ambiance && h("div", { class: "ambiance", innerHTML: this.currentTrek.ambiance }), state.parentTrekId && state.parentTrek && this.currentTrek.id !== state.parentTrekId && (h("div", null, h("div", { class: "divider" }), h("div", { class: "parent-trek-container" }, h("button", { class: "parent-trek-title", onClick: () => this.parentTrekPress.emit(state.parentTrekId) }, h("div", null, "<"), state.parentTrek.name)))), state.currentTrekSteps && (h("div", { class: "step-container" }, h("div", { class: "step-title", ref: el => (this.stepsRef = el) }, `${state.currentTrekSteps.length} ${translate[state.language].steps}`), h("div", { class: "swiper swiper-step", ref: el => (this.swiperStepRef = el) }, h("div", { class: "swiper-wrapper" }, state.currentTrekSteps &&
442
+ _g.name), h("div", { class: "icon-label networks" }, this.currentTrek.networks.map(networkId => {
443
+ const currentNetwork = state.networks.find(network => network.id === networkId);
444
+ return (h("div", { class: "network" }, h("img", {
445
+ /* @ts-ignore */
446
+ crossorigin: "anonymous", src: currentNetwork.pictogram
447
+ }), currentNetwork.label));
448
+ })), this.currentTrek.ratings.map(trekRating => (h("div", { class: "row" }, `${state.ratingsScale.find(ratingScale => ratingScale.id === state.ratings.find(rating => rating.id === trekRating).scale).name} : ${state.ratings.find(rating => rating.id === trekRating).name}`))), this.currentTrek.ratings_description && this.currentTrek.ratings_description !== '' && h("div", { class: "row" }, this.currentTrek.ratings_description))), h("div", { class: "divider" }), h("div", { class: "downloads-container" }, h("div", { class: "download-title" }, translate[state.language].downloads), h("div", { class: "links-container" }, h("a", { href: `${this.currentTrek.gpx}`, target: "_blank", rel: "noopener noreferrer" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "download"), "GPX"), h("a", { href: `${this.currentTrek.kml}`, target: "_blank", rel: "noopener noreferrer" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "download"), "KML"), h("a", { href: `${this.currentTrek.pdf}`, target: "_blank", rel: "noopener noreferrer" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "download"), "PDF"))), h("div", { class: "divider" }), this.currentTrek.description_teaser && h("div", { class: "description-teaser", innerHTML: this.currentTrek.description_teaser }), this.currentTrek.ambiance && h("div", { class: "ambiance", innerHTML: this.currentTrek.ambiance }), state.parentTrekId && state.parentTrek && this.currentTrek.id !== state.parentTrekId && (h("div", null, h("div", { class: "divider" }), h("div", { class: "parent-trek-container" }, h("button", { class: "parent-trek-title", onClick: () => this.parentTrekPress.emit(state.parentTrekId) }, h("div", null, "<"), state.parentTrek.name)))), state.currentTrekSteps && (h("div", { class: "step-container" }, h("div", { class: "step-title", ref: el => (this.stepsRef = el) }, `${state.currentTrekSteps.length} ${translate[state.language].steps}`), h("div", { class: "swiper swiper-step", ref: el => (this.swiperStepRef = el) }, h("div", { class: "swiper-wrapper" }, state.currentTrekSteps &&
382
449
  state.currentTrekSteps.map(trek => {
383
- return (h("div", { class: "swiper-slide" }, h("grw-trek-card", { "reset-store-on-disconnected": "false", key: `trek-${trek.id}`, trek: trek, "is-large-view": false, "is-step": true, fontFamily: this.fontFamily, "color-primary-app": this.colorPrimaryApp, "color-on-surface": this.colorOnSurface, "color-secondary-container": this.colorSecondaryContainer, "color-on-secondary-container": this.colorOnSecondaryContainer, "color-surface-container-low": this.colorSurfaceContainerLow })));
384
- }))))), h("div", { class: "divider" }), this.currentTrek.description && (h("div", { class: "description-container" }, h("div", { class: "description-title", ref: el => (this.descriptionRef = el) }, translate[state.language].description), h("div", { class: "description", innerHTML: this.currentTrek.description }))), this.currentTrek.departure && (h("div", { class: "departure-container" }, h("div", { class: "departure-title" }, translate[state.language].departure, " :\u00A0"), h("div", { innerHTML: this.currentTrek.departure }))), this.currentTrek.arrival && (h("div", { class: "arrival-container" }, h("div", { class: "arrival-title" }, translate[state.language].arrival, " :\u00A0"), h("div", { innerHTML: this.currentTrek.arrival }))), this.currentTrek.cities && this.currentTrek.cities.length > 0 && (h("div", { class: "cities-container" }, h("div", { class: "cities-title" }, translate[state.language].crossedCities, " :\u00A0"), h("div", { innerHTML: this.cities.join(', ') }))), this.weather && this.currentTrek.departure_city && (h("div", { class: "weather-container" }, h("iframe", { height: "150", frameborder: "0", src: `https://meteofrance.com/widget/prevision/${this.currentTrek.departure_city}0#${this.colorPrimaryApp}` }))), this.currentTrek.access && (h("div", null, h("div", { class: "divider" }), h("div", { class: "access-container" }, h("div", { class: "access-title" }, translate[state.language].roadAccess), h("div", { class: "access", innerHTML: this.currentTrek.access })))), this.currentTrek.public_transport && (h("div", null, h("div", { class: "divider" }), h("div", { class: "public-transport-container" }, h("div", { class: "public-transport-title" }, translate[state.language].transport), h("div", { class: "public-transport", innerHTML: this.currentTrek.public_transport })))), (this.currentTrek.advice || this.labels.length > 0) && (h("div", null, h("div", { class: "divider" }), h("div", { class: "advice-container" }, h("div", { class: "advice-title", ref: el => (this.recommendationRef = el) }, translate[state.language].recommendations), this.currentTrek.advice && (h("div", { class: "current-advice-container" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "warning"), h("div", { class: "advice", innerHTML: this.currentTrek.advice }))), this.labels.map(label => (h("div", { class: "label-container" }, h("div", { class: "label-sub-container" }, label.pictogram && (h("img", {
450
+ return (h("div", { class: "swiper-slide" }, h("grw-trek-card", { key: `trek-${trek.id}`, trek: trek, "is-large-view": false, "is-step": true, fontFamily: this.fontFamily, "color-primary-app": this.colorPrimaryApp, "color-on-surface": this.colorOnSurface, "color-secondary-container": this.colorSecondaryContainer, "color-on-secondary-container": this.colorOnSecondaryContainer, "color-surface-container-low": this.colorSurfaceContainerLow })));
451
+ })), h("div", { class: "swiper-scrollbar", ref: el => (this.stepSwiperScrollbar = el) })))), h("div", { class: "divider" }), this.currentTrek.description && (h("div", { class: "description-container" }, h("div", { class: "description-title", ref: el => (this.descriptionRef = el) }, translate[state.language].description), h("div", { class: "description", innerHTML: this.currentTrek.description }))), this.currentTrek.departure && (h("div", { class: "departure-container" }, h("div", { class: "departure-title" }, translate[state.language].departure, " :\u00A0"), h("div", { innerHTML: this.currentTrek.departure }))), this.currentTrek.arrival && (h("div", { class: "arrival-container" }, h("div", { class: "arrival-title" }, translate[state.language].arrival, " :\u00A0"), h("div", { innerHTML: this.currentTrek.arrival }))), this.currentTrek.cities && this.currentTrek.cities.length > 0 && (h("div", { class: "cities-container" }, h("div", { class: "cities-title" }, translate[state.language].crossedCities, " :\u00A0"), h("div", { innerHTML: this.cities.join(', ') }))), state.currentPois && state.currentPois.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "pois-container" }, h("div", { class: "pois-title", ref: el => (this.poiRef = el) }, translate[state.language].pois(state.currentPois.length)), h("div", { class: "swiper swiper-pois", ref: el => (this.swiperPoisRef = el) }, h("div", { class: "swiper-wrapper" }, state.currentPois.map(poi => (h("div", { class: "swiper-slide" }, h("grw-poi", { poi: poi }))))), h("div", { class: "swiper-scrollbar", ref: el => (this.poisSwiperScrollbar = el) }))))), this.weather && this.currentTrek.departure_city && (h("div", null, h("div", { class: "divider" }), h("div", { class: "weather-container" }, h("iframe", { height: "150", frameborder: "0", src: `https://meteofrance.com/widget/prevision/${this.currentTrek.departure_city}0#${this.colorPrimaryApp}` })))), this.currentTrek.access && (h("div", null, h("div", { class: "divider" }), h("div", { class: "access-container" }, h("div", { class: "access-title" }, translate[state.language].roadAccessAndParking), h("div", { class: "access", innerHTML: this.currentTrek.access }), this.currentTrek.advised_parking && (h("div", null, h("div", { class: "advised-parking-title", ref: el => (this.parkingRef = el) }, translate[state.language].recommendedParking), h("div", { class: "advised-parking", innerHTML: this.currentTrek.advised_parking })))))), this.currentTrek.public_transport && (h("div", null, h("div", { class: "divider" }), h("div", { class: "public-transport-container" }, h("div", { class: "public-transport-title" }, translate[state.language].transport), h("div", { class: "public-transport", innerHTML: this.currentTrek.public_transport })))), (this.currentTrek.advice || this.currentTrek.gear || this.labels.length > 0) && (h("div", null, h("div", { class: "divider" }), h("div", { class: "advice-container" }, h("div", { class: "advice-title", ref: el => (this.recommendationRef = el) }, translate[state.language].recommendations), this.currentTrek.advice && (h("div", { class: "current-advice-container" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "warning"), h("div", { class: "advice", innerHTML: this.currentTrek.advice }))), this.currentTrek.gear && (h("div", { class: "gear-container" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "backpack"), h("div", { class: "gear", innerHTML: this.currentTrek.gear }))), this.labels.map(label => (h("div", { class: "label-container" }, h("div", { class: "label-sub-container" }, label.pictogram && (h("img", {
385
452
  /* @ts-ignore */
386
453
  crossorigin: "anonymous", src: label.pictogram
387
- })), h("div", { class: "label-name", innerHTML: label.name })), h("div", { class: "label-advice", innerHTML: label.advice }))))))), this.currentTrek.advised_parking && (h("div", null, h("div", { class: "divider" }), h("div", { class: "advised-parking-container" }, h("div", { class: "advised-parking-title", ref: el => (this.parkingRef = el) }, translate[state.language].recommendedParking), h("div", { class: "advised-parking", innerHTML: this.currentTrek.advised_parking })))), this.currentTrek.gear && (h("div", null, h("div", { class: "divider" }), h("div", { class: "gear-container" }, h("div", { class: "gear-title" }, translate[state.language].equipments), h("div", { class: "gear", innerHTML: this.currentTrek.gear })))), state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "sensitive-areas-container" }, h("div", { class: "sensitive-areas-title", ref: el => (this.sensitiveAreaRef = el) }, translate[state.language].environmentalSensitiveAreas), state.currentSensitiveAreas.map(sensitiveArea => (h("grw-sensitive-area-detail", { sensitiveArea: sensitiveArea })))))), state.currentInformationDesks &&
454
+ })), h("div", { class: "label-name", innerHTML: label.name })), h("div", { class: "label-advice", innerHTML: label.advice }))))))), state.currentSensitiveAreas && state.currentSensitiveAreas.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "sensitive-areas-container" }, h("div", { class: "sensitive-areas-title", ref: el => (this.sensitiveAreaRef = el) }, translate[state.language].environmentalSensitiveAreas), h("div", { class: "sensitive-areas-description" }, translate[state.language].sensitiveAreasDescription), state.currentSensitiveAreas.map(sensitiveArea => (h("grw-sensitive-area-detail", { sensitiveArea: sensitiveArea })))))), state.currentInformationDesks &&
388
455
  state.currentInformationDesks.filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id)).length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "information-desks-container" }, h("div", { class: "information-desks-title", ref: el => (this.informationPlacesRef = el) }, translate[state.language].informationPlaces), h("div", { class: "swiper swiper-information-desks", ref: el => (this.swiperInformationDesksRef = el) }, h("div", { class: "swiper-wrapper" }, state.currentInformationDesks
389
456
  .filter(currentInformationDesks => this.currentTrek.information_desks.includes(currentInformationDesks.id))
390
- .map(informationDesk => (h("div", { class: "swiper-slide" }, h("grw-information-desk", { informationDesk: informationDesk }))))))))), (this.currentTrek.disabled_infrastructure ||
457
+ .map(informationDesk => (h("div", { class: "swiper-slide" }, h("grw-information-desk", { informationDesk: informationDesk }))))), h("div", { class: "swiper-scrollbar", ref: el => (this.informationDesksContentsSwiperScrollbar = el) }))))), (this.currentTrek.disabled_infrastructure ||
391
458
  (this.accessibilities && this.accessibilities.length > 0) ||
392
459
  this.currentTrek.accessibility_level ||
393
460
  this.currentTrek.accessibility_slope ||
@@ -395,10 +462,17 @@ export class GrwTrekDetail {
395
462
  this.currentTrek.accessibility_signage ||
396
463
  this.currentTrek.accessibility_covering ||
397
464
  this.currentTrek.accessibility_exposure ||
398
- this.currentTrek.accessibility_advice) && (h("div", null, h("div", { class: "divider" }), h("div", { class: "accessibilities-container" }, h("div", { class: "accessibilities-title" }, translate[state.language].accessibility), this.currentTrek.disabled_infrastructure && h("div", { innerHTML: this.currentTrek.disabled_infrastructure }), h("div", { class: "accessibilities-content-container" }, this.accessibilities.map(accessibility => (h("div", { class: "accessibility-content-container" }, h("img", {
465
+ this.currentTrek.accessibility_advice ||
466
+ this.emergencyNumber) && (h("div", null, h("div", { class: "divider" }), h("div", { class: "accessibilities-container" }, h("div", { class: "accessibilities-title", ref: el => (this.accessibilityRef = el) }, translate[state.language].accessibility), this.currentTrek.disabled_infrastructure && h("div", { innerHTML: this.currentTrek.disabled_infrastructure }), this.accessibilities && this.accessibilities.length > 0 && (h("div", { class: "accessibilities-content-container" }, this.accessibilities.map(accessibility => (h("div", { class: "accessibility-content-container" }, h("img", {
399
467
  /* @ts-ignore */
400
468
  crossorigin: "anonymous", src: accessibility.pictogram
401
- }), h("div", { innerHTML: accessibility.name }))))), this.currentTrek.accessibility_level && (h("div", { class: "accessibility-level-container" }, h("div", { class: "accessibility-level-title" }, translate[state.language].accessibilityLevel), h("div", { innerHTML: this.accessibilityLevel.name }))), this.currentTrek.accessibility_slope && (h("div", { class: "accessibility-slope-container" }, h("div", { class: "accessibility-slope-title" }, translate[state.language].accessibilitySlope), h("div", { innerHTML: this.currentTrek.accessibility_slope }))), this.currentTrek.accessibility_width && (h("div", { class: "accessibility-width-container" }, h("div", { class: "accessibility-width-title" }, translate[state.language].accessibilityWidth), h("div", { innerHTML: this.currentTrek.accessibility_width }))), this.currentTrek.accessibility_signage && (h("div", { class: "accessibility-signage-container" }, h("div", { class: "accessibility-signage-title" }, translate[state.language].accessibilitySignage), h("div", { innerHTML: this.currentTrek.accessibility_signage }))), this.currentTrek.accessibility_covering && (h("div", { class: "accessibility-covering-container" }, h("div", { class: "accessibility-covering-title" }, translate[state.language].accessibilityCovering), h("div", { innerHTML: this.currentTrek.accessibility_covering }))), this.currentTrek.accessibility_exposure && (h("div", { class: "accessibility-exposure-container" }, h("div", { class: "accessibility-exposure-title" }, translate[state.language].accessibilityExposure), h("div", { innerHTML: this.currentTrek.accessibility_exposure }))), this.currentTrek.accessibility_advice && (h("div", { class: "accessibility-advice-container" }, h("div", { class: "accessibility-advice-title" }, translate[state.language].accessibilityAdvices), h("div", { innerHTML: this.currentTrek.accessibility_advice })))))), state.currentPois && state.currentPois.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "pois-container" }, h("div", { class: "pois-title", ref: el => (this.poiRef = el) }, translate[state.language].pois(state.currentPois.length)), h("div", { class: "swiper swiper-pois", ref: el => (this.swiperPoisRef = el) }, h("div", { class: "swiper-wrapper" }, state.currentPois.map(poi => (h("div", { class: "swiper-slide" }, h("grw-poi", { poi: poi }))))))))), state.trekTouristicContents && state.trekTouristicContents.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "touristic-content-container" }, h("div", { class: "touristic-content-title", ref: el => (this.touristicContentsRef = el) }, translate[state.language].touristicContents(state.trekTouristicContents.length)), h("div", { class: "swiper swiper-touristic-content", ref: el => (this.swiperTouristicContentsRef = el) }, h("div", { class: "swiper-wrapper" }, state.trekTouristicContents.map(touristicContent => (h("div", { class: "swiper-slide" }, h("grw-touristic-content-card", { fontFamily: this.fontFamily, touristicContent: touristicContent, isInsideHorizontalList: true }))))))))), state.touristicEvents && state.touristicEvents.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "touristic-event-container" }, h("div", { class: "touristic-event-title", ref: el => (this.touristicEventsRef = el) }, translate[state.language].touristicEvents(state.touristicEvents.length)), h("div", { class: "swiper swiper-touristic-event", ref: el => (this.swiperTouristicEventsRef = el) }, h("div", { class: "swiper-wrapper" }, state.touristicEvents.map(touristicEvent => (h("div", { class: "swiper-slide" }, h("grw-touristic-event-card", { fontFamily: this.fontFamily, touristicEvent: touristicEvent }))))))))), this.currentTrek.source && this.currentTrek.source.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "source-container" }, h("div", { class: "source-title" }, translate[state.language].sources), this.sources.map(source => (h("div", { class: "source-sub-container" }, source.pictogram && (h("img", {
469
+ }), h("div", { innerHTML: accessibility.name })))))), this.emergencyNumber && (h("div", { class: "accessibility-emergency-number-container" }, h("div", { class: "accessibility-emergency-number-title" }, translate[state.language].emergencyNumber), h("div", { class: "accessibility-emergency-number-content" }, h("a", { href: `tel:${this.emergencyNumber.toString()}` }, h("span", {
470
+ /* @ts-ignore */
471
+ translate: false, class: "material-symbols material-symbols-outlined"
472
+ }, "call"), this.emergencyNumber.toString())))), this.currentTrek.accessibility_level && (h("div", { class: "accessibility-level-container" }, h("div", { class: "accessibility-level-title" }, translate[state.language].accessibilityLevel), h("div", { innerHTML: this.accessibilityLevel.name }))), this.currentTrek.accessibility_slope && (h("div", { class: "accessibility-slope-container" }, h("div", { class: "accessibility-slope-title" }, translate[state.language].accessibilitySlope), h("div", { innerHTML: this.currentTrek.accessibility_slope }))), this.currentTrek.accessibility_width && (h("div", { class: "accessibility-width-container" }, h("div", { class: "accessibility-width-title" }, translate[state.language].accessibilityWidth), h("div", { innerHTML: this.currentTrek.accessibility_width }))), this.currentTrek.accessibility_signage && (h("div", { class: "accessibility-signage-container" }, h("div", { class: "accessibility-signage-title" }, translate[state.language].accessibilitySignage), h("div", { innerHTML: this.currentTrek.accessibility_signage }))), this.currentTrek.accessibility_covering && (h("div", { class: "accessibility-covering-container" }, h("div", { class: "accessibility-covering-title" }, translate[state.language].accessibilityCovering), h("div", { innerHTML: this.currentTrek.accessibility_covering }))), this.currentTrek.accessibility_exposure && (h("div", { class: "accessibility-exposure-container" }, h("div", { class: "accessibility-exposure-title" }, translate[state.language].accessibilityExposure), h("div", { innerHTML: this.currentTrek.accessibility_exposure }))), this.currentTrek.accessibility_advice && (h("div", { class: "accessibility-advice-container" }, h("div", { class: "accessibility-advice-title" }, translate[state.language].accessibilityAdvices), h("div", { innerHTML: this.currentTrek.accessibility_advice })))))), state.trekTouristicContents && state.trekTouristicContents.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "touristic-content-container" }, h("div", { class: "touristic-content-title", ref: el => (this.touristicContentsRef = el) }, translate[state.language].touristicContents(state.trekTouristicContents.length)), h("div", { class: "swiper swiper-touristic-content", ref: el => (this.swiperTouristicContentsRef = el) }, h("div", { class: "swiper-wrapper" }, state.trekTouristicContents.map(touristicContent => (h("div", { class: "swiper-slide" }, h("grw-touristic-content-card", { fontFamily: this.fontFamily, touristicContent: touristicContent, isInsideHorizontalList: true }))))), h("div", { class: "swiper-scrollbar", ref: el => (this.touristicContentsSwiperScrollbar = el) }))))), state.touristicEvents && state.touristicEvents.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "touristic-event-container" }, h("div", { class: "touristic-event-title", ref: el => (this.touristicEventsRef = el) }, translate[state.language].touristicEvents(state.touristicEvents.length)), h("div", { class: "swiper swiper-touristic-event", ref: el => (this.swiperTouristicEventsRef = el) }, h("div", { class: "swiper-wrapper" }, state.touristicEvents.map(touristicEvent => (h("div", { class: "swiper-slide" }, h("grw-touristic-event-card", { fontFamily: this.fontFamily, touristicEvent: touristicEvent }))))), h("div", { class: "swiper-scrollbar", ref: el => (this.touristicEventsSwiperScrollbar = el) }))))), this.currentTrek.web_links && this.currentTrek.web_links.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "weblinks-container" }, h("div", { class: "weblinks-title" }, translate[state.language].learnMore), this.currentTrek.web_links.map(weblink => (h("a", { class: "weblink-container", href: weblink.url, target: "_blank", rel: "noopener noreferrer" }, weblink.category && weblink.category.pictogram && (h("img", {
473
+ /* @ts-ignore */
474
+ crossorigin: "anonymous", src: weblink.category.pictogram
475
+ })), weblink.name)))))), this.currentTrek.source && this.currentTrek.source.length > 0 && (h("div", null, h("div", { class: "divider" }), h("div", { class: "source-container" }, h("div", { class: "source-title" }, translate[state.language].sources), this.sources.map(source => (h("div", { class: "source-sub-container" }, source.pictogram && (h("img", {
402
476
  /* @ts-ignore */
403
477
  crossorigin: "anonymous", src: source.pictogram
404
478
  })), h("div", null, h("div", { class: "source-name", innerHTML: source.name }), h("a", { class: "source-advice", href: source.website, innerHTML: source.website })))))))), h("div", { class: "detail-bottom-space" })))));
@@ -422,7 +496,7 @@ export class GrwTrekDetail {
422
496
  "mutable": false,
423
497
  "complexType": {
424
498
  "original": "Trek",
425
- "resolved": "{ id: number; name: string; attachments: Attachments; description?: string; description_teaser: string; difficulty: number; route: number; practice: number; themes: number[]; duration: number; length_2d: number; ascent: number; departure: string; departure_city: string; arrival?: string; geometry?: LineString; departure_geom?: Position; gpx?: string; kml?: string; pdf?: string; parking_location?: Position; ambiance?: string; access?: string; public_transport?: string; advice?: string; advised_parking?: string; gear?: string; labels?: number[]; points_reference?: MultiPoint; source?: number[]; structure?: number; disabled_infrastructure?: string; accessibilities?: number[]; accessibility_level?: number; accessibility_slope?: string; accessibility_width?: string; accessibility_signage?: string; accessibility_covering?: string; accessibility_exposure?: string; accessibility_advice?: string; cities?: string[]; information_desks?: number[]; children?: number[]; ratings?: number[]; ratings_description?: string; }",
499
+ "resolved": "{ id: number; name: string; attachments: Attachments; description?: string; description_teaser: string; difficulty: number; route: number; practice: number; themes: number[]; duration: number; length_2d: number; ascent: number; descent: number; departure: string; departure_city: string; arrival?: string; geometry?: LineString; departure_geom?: Position; gpx?: string; kml?: string; pdf?: string; parking_location?: Position; ambiance?: string; access?: string; public_transport?: string; advice?: string; advised_parking?: string; gear?: string; labels?: number[]; points_reference?: MultiPoint; source?: number[]; structure?: number; disabled_infrastructure?: string; accessibilities?: number[]; accessibility_level?: number; accessibility_slope?: string; accessibility_width?: string; accessibility_signage?: string; accessibility_covering?: string; accessibility_exposure?: string; accessibility_advice?: string; cities?: string[]; information_desks?: number[]; children?: number[]; ratings?: number[]; ratings_description?: string; networks: number[]; web_links: Weblink[]; }",
426
500
  "references": {
427
501
  "Trek": {
428
502
  "location": "import",
@@ -437,6 +511,23 @@ export class GrwTrekDetail {
437
511
  "text": ""
438
512
  }
439
513
  },
514
+ "emergencyNumber": {
515
+ "type": "number",
516
+ "mutable": false,
517
+ "complexType": {
518
+ "original": "number",
519
+ "resolved": "number",
520
+ "references": {}
521
+ },
522
+ "required": false,
523
+ "optional": false,
524
+ "docs": {
525
+ "tags": [],
526
+ "text": ""
527
+ },
528
+ "attribute": "emergency-number",
529
+ "reflect": false
530
+ },
440
531
  "fontFamily": {
441
532
  "type": "string",
442
533
  "mutable": false,