@geotrekce/geotrek-rando-widget 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/cjs/geotrek-rando-widget.cjs.js +1 -1
  2. package/dist/cjs/geotrek-rando-widget.cjs.js.br +0 -0
  3. package/dist/cjs/geotrek-rando-widget.cjs.js.gz +0 -0
  4. package/dist/cjs/grw-app.cjs.entry.js +5 -3
  5. package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
  6. package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
  7. package/dist/cjs/grw-app.cjs.entry.js.map +1 -1
  8. package/dist/cjs/grw-common-button_21.cjs.entry.js +2 -2
  9. package/dist/cjs/grw-common-button_21.cjs.entry.js.br +0 -0
  10. package/dist/cjs/grw-common-button_21.cjs.entry.js.gz +0 -0
  11. package/dist/cjs/grw-common-button_21.cjs.entry.js.map +1 -1
  12. package/dist/cjs/grw-information-desk_6.cjs.entry.js +11 -5
  13. package/dist/cjs/grw-information-desk_6.cjs.entry.js.br +0 -0
  14. package/dist/cjs/grw-information-desk_6.cjs.entry.js.gz +0 -0
  15. package/dist/cjs/grw-information-desk_6.cjs.entry.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/loader.cjs.js.br +0 -0
  18. package/dist/cjs/loader.cjs.js.gz +0 -0
  19. package/dist/collection/components/grw-app/grw-app.css +1 -1
  20. package/dist/collection/components/grw-app/grw-app.css.br +0 -0
  21. package/dist/collection/components/grw-app/grw-app.css.gz +0 -0
  22. package/dist/collection/components/grw-app/grw-app.js +22 -2
  23. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  24. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  25. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  26. package/dist/collection/components/grw-filters/grw-filters.css +1 -1
  27. package/dist/collection/components/grw-filters/grw-filters.css.br +0 -0
  28. package/dist/collection/components/grw-filters/grw-filters.css.gz +0 -0
  29. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.css +2 -0
  30. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.css.br +0 -0
  31. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.css.gz +0 -0
  32. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js +4 -1
  33. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.br +0 -0
  34. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.gz +0 -0
  35. package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.map +1 -1
  36. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.css +2 -0
  37. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.css.br +0 -0
  38. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.css.gz +0 -0
  39. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js +4 -1
  40. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.br +0 -0
  41. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.gz +0 -0
  42. package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.map +1 -1
  43. package/dist/collection/components/grw-trek-card/grw-trek-card.css +3 -1
  44. package/dist/collection/components/grw-trek-card/grw-trek-card.css.br +0 -0
  45. package/dist/collection/components/grw-trek-card/grw-trek-card.css.gz +0 -0
  46. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +1 -1
  47. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  48. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  49. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  50. package/dist/esm/geotrek-rando-widget.js +1 -1
  51. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  52. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  53. package/dist/esm/grw-app.entry.js +5 -3
  54. package/dist/esm/grw-app.entry.js.br +0 -0
  55. package/dist/esm/grw-app.entry.js.gz +0 -0
  56. package/dist/esm/grw-app.entry.js.map +1 -1
  57. package/dist/esm/grw-common-button_21.entry.js +2 -2
  58. package/dist/esm/grw-common-button_21.entry.js.br +0 -0
  59. package/dist/esm/grw-common-button_21.entry.js.gz +0 -0
  60. package/dist/esm/grw-common-button_21.entry.js.map +1 -1
  61. package/dist/esm/grw-information-desk_6.entry.js +11 -5
  62. package/dist/esm/grw-information-desk_6.entry.js.br +0 -0
  63. package/dist/esm/grw-information-desk_6.entry.js.gz +0 -0
  64. package/dist/esm/grw-information-desk_6.entry.js.map +1 -1
  65. package/dist/esm/loader.js +1 -1
  66. package/dist/esm/loader.js.br +0 -0
  67. package/dist/esm/loader.js.gz +0 -0
  68. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  69. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  70. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  71. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  72. package/dist/esm-es5/grw-app.entry.js +1 -1
  73. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  74. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  75. package/dist/esm-es5/grw-app.entry.js.map +1 -1
  76. package/dist/esm-es5/grw-common-button_21.entry.js +2 -2
  77. package/dist/esm-es5/grw-common-button_21.entry.js.br +0 -0
  78. package/dist/esm-es5/grw-common-button_21.entry.js.gz +0 -0
  79. package/dist/esm-es5/grw-common-button_21.entry.js.map +1 -1
  80. package/dist/esm-es5/grw-information-desk_6.entry.js +1 -1
  81. package/dist/esm-es5/grw-information-desk_6.entry.js.br +0 -0
  82. package/dist/esm-es5/grw-information-desk_6.entry.js.gz +0 -0
  83. package/dist/esm-es5/grw-information-desk_6.entry.js.map +1 -1
  84. package/dist/esm-es5/loader.js +1 -1
  85. package/dist/esm-es5/loader.js.br +0 -0
  86. package/dist/esm-es5/loader.js.gz +0 -0
  87. package/dist/esm-es5/loader.js.map +1 -1
  88. package/dist/geotrek-rando-widget/geotrek-rando-widget.css +1 -1
  89. package/dist/geotrek-rando-widget/geotrek-rando-widget.css.br +0 -0
  90. package/dist/geotrek-rando-widget/geotrek-rando-widget.css.gz +0 -0
  91. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  92. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  93. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  94. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  95. package/dist/geotrek-rando-widget/{p-e2a73eac.entry.js → p-40e69a46.entry.js} +4 -4
  96. package/dist/geotrek-rando-widget/p-40e69a46.entry.js.br +0 -0
  97. package/dist/geotrek-rando-widget/p-40e69a46.entry.js.gz +0 -0
  98. package/dist/geotrek-rando-widget/p-40e69a46.entry.js.map +1 -0
  99. package/dist/geotrek-rando-widget/{p-d2fb6fb4.system.entry.js → p-4c85680a.system.entry.js} +2 -2
  100. package/dist/geotrek-rando-widget/p-4c85680a.system.entry.js.br +0 -0
  101. package/dist/geotrek-rando-widget/p-4c85680a.system.entry.js.gz +0 -0
  102. package/dist/geotrek-rando-widget/p-4c85680a.system.entry.js.map +1 -0
  103. package/dist/geotrek-rando-widget/p-83f9c2c2.entry.js +2 -0
  104. package/dist/geotrek-rando-widget/p-83f9c2c2.entry.js.br +0 -0
  105. package/dist/geotrek-rando-widget/p-83f9c2c2.entry.js.gz +0 -0
  106. package/dist/geotrek-rando-widget/p-83f9c2c2.entry.js.map +1 -0
  107. package/dist/geotrek-rando-widget/{p-9d826a4c.entry.js → p-ae129a99.entry.js} +2 -2
  108. package/dist/geotrek-rando-widget/p-ae129a99.entry.js.br +0 -0
  109. package/dist/geotrek-rando-widget/p-ae129a99.entry.js.gz +0 -0
  110. package/dist/geotrek-rando-widget/p-ae129a99.entry.js.map +1 -0
  111. package/dist/geotrek-rando-widget/p-b02ae30d.system.js +1 -1
  112. package/dist/geotrek-rando-widget/p-b02ae30d.system.js.br +0 -0
  113. package/dist/geotrek-rando-widget/p-b02ae30d.system.js.gz +0 -0
  114. package/dist/geotrek-rando-widget/p-b02ae30d.system.js.map +1 -1
  115. package/dist/geotrek-rando-widget/p-ced23fd3.system.entry.js +2 -0
  116. package/dist/geotrek-rando-widget/p-ced23fd3.system.entry.js.br +0 -0
  117. package/dist/geotrek-rando-widget/p-ced23fd3.system.entry.js.gz +0 -0
  118. package/dist/geotrek-rando-widget/p-ced23fd3.system.entry.js.map +1 -0
  119. package/dist/geotrek-rando-widget/{p-05f3277d.system.entry.js → p-dfd293bb.system.entry.js} +3 -3
  120. package/dist/geotrek-rando-widget/p-dfd293bb.system.entry.js.br +0 -0
  121. package/dist/geotrek-rando-widget/p-dfd293bb.system.entry.js.gz +0 -0
  122. package/dist/geotrek-rando-widget/p-dfd293bb.system.entry.js.map +1 -0
  123. package/dist/types/components/grw-app/grw-app.d.ts +1 -0
  124. package/dist/types/components.d.ts +2 -0
  125. package/package.json +1 -1
  126. package/dist/geotrek-rando-widget/p-05f3277d.system.entry.js.br +0 -0
  127. package/dist/geotrek-rando-widget/p-05f3277d.system.entry.js.gz +0 -0
  128. package/dist/geotrek-rando-widget/p-05f3277d.system.entry.js.map +0 -1
  129. package/dist/geotrek-rando-widget/p-9d826a4c.entry.js.br +0 -0
  130. package/dist/geotrek-rando-widget/p-9d826a4c.entry.js.gz +0 -0
  131. package/dist/geotrek-rando-widget/p-9d826a4c.entry.js.map +0 -1
  132. package/dist/geotrek-rando-widget/p-ae17f2a9.entry.js +0 -2
  133. package/dist/geotrek-rando-widget/p-ae17f2a9.entry.js.br +0 -0
  134. package/dist/geotrek-rando-widget/p-ae17f2a9.entry.js.gz +0 -0
  135. package/dist/geotrek-rando-widget/p-ae17f2a9.entry.js.map +0 -1
  136. package/dist/geotrek-rando-widget/p-d2fb6fb4.system.entry.js.br +0 -0
  137. package/dist/geotrek-rando-widget/p-d2fb6fb4.system.entry.js.gz +0 -0
  138. package/dist/geotrek-rando-widget/p-d2fb6fb4.system.entry.js.map +0 -1
  139. package/dist/geotrek-rando-widget/p-e2a73eac.entry.js.br +0 -0
  140. package/dist/geotrek-rando-widget/p-e2a73eac.entry.js.gz +0 -0
  141. package/dist/geotrek-rando-widget/p-e2a73eac.entry.js.map +0 -1
  142. package/dist/geotrek-rando-widget/p-f2af961a.system.entry.js +0 -2
  143. package/dist/geotrek-rando-widget/p-f2af961a.system.entry.js.br +0 -0
  144. package/dist/geotrek-rando-widget/p-f2af961a.system.entry.js.gz +0 -0
  145. package/dist/geotrek-rando-widget/p-f2af961a.system.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"grw-information-desk.grw-poi.grw-sensitive-area-detail.grw-touristic-content-card.grw-touristic-event-card.grw-trek-card.entry.cjs.js","mappings":"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","names":["getDataInStore","state","getAssetPath","h","Host","translate","Swiper","Navigation","Pagination","Keyboard","index","onChange","trekIsAvailableOffline","formatDuration","formatLength","formatAscent","Fragment"],"sources":["./src/components/grw-information-desk/grw-information-desk.scss?tag=grw-information-desk&encapsulation=shadow","./src/components/grw-information-desk/grw-information-desk.tsx","./src/components/grw-poi-detail/grw-poi.scss?tag=grw-poi&encapsulation=shadow","./src/components/grw-poi-detail/grw-poi.tsx","./src/components/grw-sensitive-area-detail/grw-sensitive-area-detail.scss?tag=grw-sensitive-area-detail&encapsulation=shadow","./src/components/grw-sensitive-area-detail/grw-sensitive-area-detail.tsx","./src/components/grw-touristic-content-card/grw-touristic-content-card.scss?tag=grw-touristic-content-card&encapsulation=shadow","./src/components/grw-touristic-content-card/grw-touristic-content-card.tsx","./src/components/grw-touristic-event-card/grw-touristic-event-card.scss?tag=grw-touristic-event-card&encapsulation=shadow","./src/components/grw-touristic-event-card/grw-touristic-event-card.tsx","./src/components/grw-trek-card/grw-trek-card.scss?tag=grw-trek-card&encapsulation=shadow","./src/components/grw-trek-card/grw-trek-card.tsx"],"sourcesContent":[".material-symbols {\n font-family: 'Material Symbols Outlined';\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n:host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid gray;\n border-radius: var(--border-radius, 12px);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n a {\n color: var(--color-primary-app);\n }\n}\n\n.information-desk-img-container {\n position: relative;\n .information-desk-img {\n width: 100%;\n height: 100%;\n max-height: 200px;\n object-fit: cover;\n }\n}\n\n.information-desk-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n}\n\n.information-desk-name {\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n}\n\n.information-desk-description {\n font-size: 14px;\n line-height: 20px;\n}\n\n.information-desk-description-short {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 4;\n overflow: hidden;\n}\n\n.handle-information-desk-description {\n cursor: pointer;\n color: var(--color-primary-app);\n text-decoration: underline;\n margin-top: 12px;\n}\n\n.phone-container,\n.mail-container,\n.link-container {\n display: flex;\n align-items: center;\n .icon {\n font-size: 16px;\n margin-right: 8px;\n }\n}\n\n.center-on-map-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 4px 8px;\n box-shadow: var(--elevation-1);\n min-height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n margin: 12px 0px;\n &:hover {\n box-shadow: var(--elevation-2);\n }\n .icon {\n font-size: 18px;\n }\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter, getAssetPath, Build } from '@stencil/core';\nimport state from 'store/store';\nimport { translate } from 'i18n/i18n';\nimport { InformationDesk, Trek } from 'types/types';\nimport { getDataInStore } from 'services/grw-db.service';\n\n@Component({\n tag: 'grw-information-desk',\n styleUrl: 'grw-information-desk.scss',\n shadow: true,\n})\nexport class GrwInformationDeskDetail {\n descriptionRef?: HTMLDivElement;\n @Event() centerOnMap: EventEmitter<{ latitude: number; longitude: number }>;\n @State() displayShortDescription = true;\n @State() showInformationDeskDescriptionButton = false;\n @Prop() informationDesk: InformationDesk;\n\n @State() offline = false;\n @State() showDefaultImage = false;\n\n componentDidLoad() {\n this.handleOffline();\n if (this.descriptionRef) {\n this.showInformationDeskDescriptionButton = this.descriptionRef.clientHeight < this.descriptionRef.scrollHeight;\n }\n }\n\n handleInformationDeskDescription() {\n this.displayShortDescription = !this.displayShortDescription;\n }\n\n handleCenterOnMap() {\n this.centerOnMap.emit({ latitude: this.informationDesk.latitude, longitude: this.informationDesk.longitude });\n }\n\n async handleOffline() {\n if (this.informationDesk) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const informationDeskInStore: InformationDesk = await getDataInStore('informationDesks', this.informationDesk.id);\n this.offline = trekInStore && trekInStore.offline && Boolean(informationDeskInStore);\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n return (\n <Host>\n {this.informationDesk.photo_url && (\n <div part=\"information-desk-img-container\" class=\"information-desk-img-container\">\n <img\n part=\"information-desk-img\"\n class=\"information-desk-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.informationDesk.photo_url}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.src = defaultImageSrc;\n }}\n />\n </div>\n )}\n <div part=\"information-desk-sub-container\" class=\"information-desk-sub-container\">\n {this.informationDesk.name && (\n <div part=\"information-desk-name\" class=\"information-desk-name\">\n {this.informationDesk.name}\n </div>\n )}\n {this.informationDesk.latitude && this.informationDesk.longitude && (\n <button part=\"center-on-map-button\" class=\"center-on-map-button\" onClick={() => this.handleCenterOnMap()}>\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"material-symbols material-symbols-outlined icon\" translate={false}>\n location_searching\n </span>\n <span part=\"label\">{translate[state.language].centerOnMap}</span>\n </button>\n )}\n {(this.informationDesk.postal_code || this.informationDesk.municipality || this.informationDesk.street) && (\n <div part=\"information-desk-informations\" class=\"information-desk-informations\">\n {this.informationDesk.postal_code && this.informationDesk.postal_code}\n {this.informationDesk.municipality && ` ${this.informationDesk.municipality}`}\n {this.informationDesk.street && ` ${this.informationDesk.street}`}\n </div>\n )}\n {this.informationDesk.phone && (\n <div class=\"phone-container\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"material-symbols material-symbols-outlined icon\" translate={false}>\n call\n </span>\n <a part=\"label\" class=\"label\" href={`tel:${this.informationDesk.phone}`}>\n {this.informationDesk.phone}\n </a>\n </div>\n )}\n {this.informationDesk.email && (\n <div part=\"mail-container\" class=\"mail-container\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"material-symbols material-symbols-outlined icon\" translate={false}>\n mail\n </span>\n <a part=\"label\" class=\"label\" href={`mailto:${this.informationDesk.email}`}>\n {this.informationDesk.email}\n </a>\n </div>\n )}\n {this.informationDesk.website && (\n <div part=\"link-container\" class=\"link-container\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"material-symbols material-symbols-outlined icon\" translate={false}>\n link\n </span>\n <a part=\"label\" class=\"label\" href={`${this.informationDesk.website}`}>\n {this.informationDesk.website}\n </a>\n </div>\n )}\n {this.informationDesk.description && (\n <div part=\"information-desk-description-container\" class=\"information-desk-description-container\">\n <div\n part=\"information-desk-description\"\n class={this.displayShortDescription ? 'information-desk-description information-desk-description-short' : 'information-desk-description'}\n innerHTML={this.informationDesk.description}\n ref={el => (this.descriptionRef = el)}\n ></div>\n {false && (\n <div part=\"handle-information-desk-description\" class=\"handle-information-desk-description\" onClick={() => this.handleInformationDeskDescription()}>\n {this.displayShortDescription ? translate[state.language].readMore : translate[state.language].readLess}\n </div>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n:host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid gray;\n border-radius: var(--border-radius, 12px);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n a {\n color: var(--color-primary-app);\n }\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\n.poi-type-img-container {\n position: relative;\n .poi-img,\n .default-poi-img {\n width: 100%;\n height: 100%;\n height: 200px;\n object-fit: cover;\n }\n .poi-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-poi-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain;\n }\n .poi-type {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.poi-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n}\n\n.poi-name {\n font-size: 16px;\n line-height: 24px;\n height: 64px;\n}\n\n.poi-description {\n font-size: 14px;\n line-height: 20px;\n}\n\n.poi-description-short {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 4;\n overflow: hidden;\n}\n\n.handle-poi-description {\n cursor: pointer;\n color: var(--color-primary-app);\n text-decoration: underline;\n margin-top: 12px;\n height: 22px;\n}\n\np {\n margin: 0;\n}\n","import { Component, Host, h, Prop, State, Build, getAssetPath, Listen } from '@stencil/core';\nimport Swiper, { Navigation, Pagination, Keyboard } from 'swiper';\nimport state from 'store/store';\nimport { Poi, Trek } from 'types/types';\nimport { translate } from 'i18n/i18n';\nimport { getDataInStore } from 'services/grw-db.service';\n\n@Component({\n tag: 'grw-poi',\n styleUrl: 'grw-poi.scss',\n shadow: true,\n})\nexport class GrwPoiDetail {\n swiperPoi?: Swiper;\n swiperPoiRef?: HTMLDivElement;\n prevElPoiRef?: HTMLDivElement;\n nextElPoiRef?: HTMLDivElement;\n paginationElPoiRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n\n @Prop() poi: Poi;\n @State() displayShortDescription = true;\n @State() showPoiDescriptionButton = false;\n @State() displayFullscreen = false;\n\n @State() offline = false;\n\n @Listen('trekDownloadedSuccessConfirm', { target: 'window' })\n onTrekDownloadedSuccessConfirm() {\n this.swiperPoi.slideTo(0);\n this.offline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.offline = false;\n }\n\n componentDidLoad() {\n this.handleOffline();\n this.swiperPoi = new Swiper(this.swiperPoiRef, {\n modules: [Navigation, Pagination, Keyboard],\n navigation: {\n prevEl: this.prevElPoiRef,\n nextEl: this.nextElPoiRef,\n },\n pagination: { el: this.paginationElPoiRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperPoiRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen && !this.offline;\n if (this.displayFullscreen) {\n this.swiperPoi.keyboard.enable();\n } else {\n this.swiperPoi.keyboard.disable();\n }\n };\n this.showPoiDescriptionButton = this.descriptionRef.clientHeight < this.descriptionRef.scrollHeight;\n }\n\n handlePoiDescription() {\n this.displayShortDescription = !this.displayShortDescription;\n }\n\n handleFullscreen() {\n if (this.poi.attachments && this.poi.attachments[0] && this.poi.attachments[0].url) {\n this.swiperPoiRef.requestFullscreen();\n }\n }\n\n async handleOffline() {\n if (this.poi) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const poiInStore: Poi = await getDataInStore('pois', this.poi.id);\n this.offline = trekInStore && trekInStore.offline && Boolean(poiInStore);\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n return (\n <Host>\n <div part=\"poi-type-img-container\" class=\"poi-type-img-container\">\n <img\n part=\"poi-type\"\n class=\"poi-type\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={`${state.poiTypes.find(poiType => poiType.id === this.poi.type)?.pictogram}`}\n />\n <div part=\"swiper-poi\" class=\"swiper swiper-poi\" ref={el => (this.swiperPoiRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.poi.attachments.length > 0 ? (\n this.poi.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"poi-img\"\n class={`poi-img${this.displayFullscreen ? ' img-fullscreen' : ''}`}\n src={this.displayFullscreen ? attachment.url : attachment.thumbnail}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'default-poi-img';\n event.target.src = defaultImageSrc;\n }}\n onClick={() => this.handleFullscreen()}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"default-poi-img\"\n class=\"default-poi-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-pagination\" class=\"swiper-pagination\" ref={el => (this.paginationElPoiRef = el)}></div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElPoiRef = el)}></div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElPoiRef = el)}></div>\n </div>\n </div>\n <div part=\"poi-sub-container\" class=\"poi-sub-container\">\n <div part=\"poi-name\" class=\"poi-name\">\n {this.poi.name}\n </div>\n <div\n part=\"poi-description\"\n class={this.displayShortDescription ? 'poi-description poi-description-short' : 'poi-description'}\n innerHTML={this.poi.description}\n ref={el => (this.descriptionRef = el)}\n ></div>\n <div part=\"handle-poi-description\" class=\"handle-poi-description\" onClick={() => this.handlePoiDescription()}>\n {this.showPoiDescriptionButton && (this.displayShortDescription ? translate[state.language].readMore : translate[state.language].readLess)}\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: flex;\n flex-direction: column;\n color: var(--color-on-surface);\n a {\n color: var(--color-primary-app);\n }\n}\n\n.sensitive-area-title-container {\n display: flex;\n align-items: center;\n .sensitive-area-color-container {\n width: 20px;\n height: 20px;\n margin-right: 8px;\n border: 3px solid var(--color-sensitive-area);\n position: relative;\n &:before {\n content: '';\n width: 20px;\n height: 20px;\n background-color: var(--color-sensitive-area);\n opacity: 0.2;\n position: absolute;\n }\n }\n .sensitive-area-title {\n font-size: 20px;\n line-height: 28px;\n padding: 12px 0px;\n font-weight: 600;\n }\n}\n\n.sensitive-area-description {\n font-size: 16px;\n line-height: 24px;\n p:first-child {\n margin-top: 0;\n }\n}\n\n.sensitive-area-period-container,\n.sensitive-area-practice-container,\n.sensitive-area-contact-container {\n .sensitive-area-period-title,\n .sensitive-area-practice-title,\n .sensitive-area-contact-title {\n font-size: 18px;\n line-height: 24px;\n padding: 12px 0px;\n font-weight: 600;\n }\n .sensitive-area-periods,\n .sensitive-area-practices {\n display: flex;\n flex-wrap: wrap;\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport state from 'store/store';\nimport { SensitiveArea } from 'types/types';\n\n@Component({\n tag: 'grw-sensitive-area-detail',\n styleUrl: 'grw-sensitive-area-detail.scss',\n shadow: true,\n})\nexport class GrwSensitiveAreaDetail {\n @Prop() sensitiveArea: SensitiveArea;\n\n render() {\n return (\n <Host>\n <div part=\"sensitive-area-title-container\" class=\"sensitive-area-title-container\">\n <div part=\"sensitive-area-color-container\" class=\"sensitive-area-color-container\"></div>\n <div part=\"sensitive-area-title\" class=\"sensitive-area-title\">\n {this.sensitiveArea.name}\n </div>\n </div>\n\n <div part=\"sensitive-area-description\" class=\"sensitive-area-description\" innerHTML={this.sensitiveArea.description}></div>\n {this.sensitiveArea.practices && this.sensitiveArea.practices.length > 0 && (\n <div part=\"sensitive-area-practice-container\" class=\"sensitive-area-practice-container\">\n <div part=\"sensitive-area-practice-title\" class=\"sensitive-area-practice-title\">\n Domaines d'activités concernés\n </div>\n <div part=\"sensitive-area-practices\" class=\"sensitive-area-practices\">\n {this.sensitiveArea.practices.map((sensitiveAreaPractice, index) => {\n const practice = state.practices.find(statePractice => statePractice.id === sensitiveAreaPractice);\n if (practice) {\n return (\n <div\n part=\"sensitive-area-practice\"\n class=\"sensitive-area-practice\"\n innerHTML={`${practice.name.toUpperCase()}${index + 1 !== this.sensitiveArea.practices.length ? ' -&nbsp;' : ''}`}\n ></div>\n );\n }\n })}\n </div>\n </div>\n )}\n {this.sensitiveArea.period && this.sensitiveArea.period.length > 0 && (\n <div part=\"sensitive-area-period-container\" class=\"sensitive-area-period-container\">\n <div part=\"sensitive-area-period-title\" class=\"sensitive-area-period-title\">\n Périodes de sensibilité\n </div>\n <div part=\"sensitive-area-periods\" class=\"sensitive-area-periods\">\n {this.sensitiveArea.period.map((month, index) => {\n if (month) {\n return (\n <div\n part=\"sensitive-area-period\"\n class=\"sensitive-area-period\"\n innerHTML={`${new Date(0, index + 1, 0).toLocaleDateString('fr', { month: 'long' }).toUpperCase()}${\n this.sensitiveArea.period.slice(index + 1).find(month => month) ? ' -&nbsp;' : ''\n }`}\n ></div>\n );\n }\n })}\n </div>\n </div>\n )}\n <div part=\"sensitive-area-contact-container\" class=\"sensitive-area-contact-container\">\n <div part=\"sensitive-area-contact-title\" class=\"sensitive-area-contact-title\">\n Contact\n </div>\n <div part=\"sensitive-area-contact-value\" class=\"sensitive-area-contact-value\" innerHTML={this.sensitiveArea.contact}></div>\n </div>\n </Host>\n );\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n:host {\n a {\n color: var(--color-primary-app);\n }\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper {\n height: 200px;\n }\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\n.touristic-content-img-container {\n position: relative;\n height: 200px;\n .touristic-content-img,\n .default-touristic-content-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .touristic-content-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-touristic-content-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain;\n }\n .touristic-content-type {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.touristic-content-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n .touristic-content-category-container {\n display: flex;\n align-items: center;\n margin-bottom: 12px;\n .touristic-content-category-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .touristic-content-name {\n font-size: 16px;\n line-height: 24px;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 48px;\n }\n}\n\n.touristic-content-more-detail-container {\n padding: 0px 12px 12px 12px;\n .more-details-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n width: 100%;\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n span {\n font-size: 18px;\n }\n }\n}\n\n.touristic-content-card-container,\n.touristic-content-card-large-view-container {\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n .touristic-content-img {\n height: 100%;\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n}\n\n.touristic-content-card-container {\n width: 100%;\n max-width: 350px;\n .touristic-content-img {\n width: 100%;\n height: 100%;\n }\n}\n\n.touristic-content-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .touristic-content-img {\n width: 250px;\n height: 100%;\n }\n}\n\n.is-inside-vertical-list {\n cursor: pointer;\n border: none;\n .touristic-event-img,\n .default-touristic-event-img {\n height: 100%;\n }\n}\n\n.selected-touristic-content-card {\n box-shadow: var(--elevation-2);\n}\n\n.touristic-content-category-img {\n border-radius: 100%;\n padding: 2px;\n max-height: 20px;\n max-width: 20px;\n}\n","import { Build, Component, Host, getAssetPath, h, State, Prop, Event, EventEmitter, Listen } from '@stencil/core';\nimport { getDataInStore } from 'services/grw-db.service';\nimport state from 'store/store';\nimport Swiper, { Keyboard, Navigation, Pagination } from 'swiper';\nimport { TouristicContent, Trek } from 'types/types';\n\n@Component({\n tag: 'grw-touristic-content-card',\n styleUrl: 'grw-touristic-content-card.scss',\n shadow: true,\n})\nexport class GrwTouristicContentCard {\n @Event() touristicContentCardPress: EventEmitter<number>;\n swiperTouristicContent?: Swiper;\n swiperTouristicContentRef?: HTMLDivElement;\n prevElTouristicContentRef?: HTMLDivElement;\n nextElTouristicContentRef?: HTMLDivElement;\n paginationElTouristicContentRef?: HTMLDivElement;\n\n @Prop() fontFamily = 'Roboto';\n\n @Prop() touristicContent: TouristicContent;\n @Prop() isLargeView = false;\n @Prop() isInsideHorizontalList = false;\n @State() displayFullscreen = false;\n\n @Event() cardTouristicContentMouseOver: EventEmitter<number>;\n @Event() cardTouristicContentMouseLeave: EventEmitter;\n\n @State() offline = false;\n\n @Listen('trekDownloadedSuccessConfirm', { target: 'window' })\n onTrekDownloadedSuccessConfirm() {\n this.swiperTouristicContent.slideTo(0);\n this.offline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.offline = false;\n }\n\n componentDidLoad() {\n this.handleOffline();\n if (this.swiperTouristicContentRef) {\n this.swiperTouristicContent = new Swiper(this.swiperTouristicContentRef, {\n modules: [Navigation, Pagination, Keyboard],\n navigation: {\n prevEl: this.prevElTouristicContentRef,\n nextEl: this.nextElTouristicContentRef,\n },\n pagination: { el: this.paginationElTouristicContentRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperTouristicContentRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen && !this.offline;\n if (this.displayFullscreen) {\n this.swiperTouristicContent.keyboard.enable();\n } else {\n this.swiperTouristicContent.keyboard.disable();\n }\n };\n }\n }\n\n async handleOffline() {\n if (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const touristicContentInStore: TouristicContent = await getDataInStore('touristicContents', this.touristicContent.id);\n this.offline = trekInStore && trekInStore.offline && touristicContentInStore && touristicContentInStore.offline;\n }\n }\n\n handleFullscreen() {\n if (this.touristicContent.attachments && this.touristicContent.attachments[0] && this.touristicContent.attachments[0].url) {\n this.swiperTouristicContentRef.requestFullscreen();\n }\n }\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardTouristicContentMouseOver.emit(this.touristicContent.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardTouristicContentMouseLeave.emit();\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const touristicContentCategory = state.touristicContentCategories.find(touristicContentCategory => touristicContentCategory.id === this.touristicContent.category);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\n }}\n >\n <div\n part=\"touristic-content-card\"\n class={\n this.isLargeView\n ? `touristic-content-card touristic-content-card-large-view-container${\n state.selectedTouristicContentId === this.touristicContent.id ? ' selected-touristic-content-card' : ''\n }${!this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''}`\n : `touristic-content-card touristic-content-card-container${state.selectedTouristicContentId === this.touristicContent.id ? ' selected-touristic-content-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n }\n onClick={() => {\n if (!this.isInsideHorizontalList) {\n this.touristicContentCardPress.emit(this.touristicContent.id);\n }\n }}\n >\n <div part=\"touristic-content-img-container\" class=\"touristic-content-img-container\">\n {this.isInsideHorizontalList ? (\n <div part=\"swiper-touristic-content\" class=\"swiper swiper-touristic-content\" ref={el => (this.swiperTouristicContentRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.touristicContent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n this.touristicContent.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"touristic-content-img\"\n class={`touristic-content-img${this.displayFullscreen ? ' img-fullscreen' : ''}`}\n src={this.displayFullscreen ? attachment.url : attachment.thumbnail}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'default-touristic-event-img';\n event.target.src = defaultImageSrc;\n }}\n onClick={() => this.handleFullscreen()}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"default-touristic-event-img\"\n class=\"default-touristic-content-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n <div\n style={{ display: this.offline ? 'none' : 'flex' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElTouristicContentRef = el)}\n ></div>\n <div\n style={{ display: this.offline ? 'none' : 'flex' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElTouristicContentRef = el)}\n ></div>\n <div\n style={{ display: this.offline ? 'none' : 'flex' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElTouristicContentRef = el)}\n ></div>\n </div>\n ) : this.touristicContent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"touristic-content-img\"\n class=\"touristic-content-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={`${this.touristicContent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n loading=\"lazy\"\n />\n ) : (\n <div></div>\n )}\n </div>\n <div part=\"touristic-content-sub-container\" class=\"touristic-content-sub-container\">\n <div part=\"touristic-content-category-container\" class=\"touristic-content-category-container\">\n {touristicContentCategory && touristicContentCategory.pictogram && (\n <img\n part=\"touristic-content-category-img\"\n class=\"touristic-content-category-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={touristicContentCategory.pictogram}\n />\n )}\n <div part=\"touristic-content-category-name\" class=\"touristic-content-category-name\">\n {touristicContentCategory.label}\n </div>\n </div>\n <div part=\"touristic-content-name\" class=\"touristic-content-name\">\n {this.touristicContent.name}\n </div>\n </div>\n {this.isInsideHorizontalList && (\n <div part=\"touristic-content-more-detail-container\" class=\"touristic-content-more-detail-container\">\n <button part=\"more-details-button\" class=\"more-details-button\" onClick={() => this.touristicContentCardPress.emit(this.touristicContent.id)}>\n Plus de détails\n </button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n:host {\n a {\n color: var(--color-primary-app);\n }\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper {\n height: 200px;\n }\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\n.touristic-event-img-container {\n position: relative;\n height: 200px;\n .touristic-event-img,\n .default-touristic-event-img {\n width: 100%;\n height: 100%;\n max-height: 200px;\n object-fit: cover;\n }\n .touristic-event-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-touristic-event-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain;\n }\n .touristic-event-type {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.touristic-event-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n .touristic-event-type-container {\n display: flex;\n align-items: center;\n margin-bottom: 12px;\n .touristic-event-type-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .touristic-event-name {\n font-size: 16px;\n line-height: 24px;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 48px;\n }\n}\n\n.touristic-event-more-detail-container {\n padding: 0px 12px 12px 12px;\n .more-details-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n width: 100%;\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n span {\n font-size: 18px;\n }\n }\n}\n\n.touristic-event-card-container,\n.touristic-event-card-large-view-container {\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n .touristic-event-img {\n height: 100%;\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n}\n\n.touristic-event-card-container {\n width: 100%;\n max-width: 350px;\n .touristic-event-img {\n width: 100%;\n height: 100%;\n }\n}\n\n.touristic-event-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .touristic-event-img {\n width: 250px;\n height: 100%;\n }\n}\n\n.is-inside-vertical-list {\n cursor: pointer;\n border: none;\n .touristic-content-img,\n .default-touristic-content-img {\n height: 100%;\n }\n}\n\n.selected-touristic-event-card {\n box-shadow: var(--elevation-2);\n}\n\n.touristic-event-date-container {\n margin-top: 12px;\n}\n","import { Build, Component, Host, getAssetPath, h, State, Prop, Event, EventEmitter, Listen } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport { getDataInStore } from 'services/grw-db.service';\nimport state from 'store/store';\nimport Swiper, { Keyboard, Navigation, Pagination } from 'swiper';\nimport { TouristicEvent, Trek } from 'types/types';\n\n@Component({\n tag: 'grw-touristic-event-card',\n styleUrl: 'grw-touristic-event-card.scss',\n shadow: true,\n})\nexport class GrwTouristicEvent {\n @Event() touristicEventCardPress: EventEmitter<number>;\n swiperTouristicEvent?: Swiper;\n swiperTouristicEventRef?: HTMLDivElement;\n prevElTouristicEventRef?: HTMLDivElement;\n nextElTouristicEventRef?: HTMLDivElement;\n paginationElTouristicEventRef?: HTMLDivElement;\n\n @Prop() fontFamily = 'Roboto';\n\n @Prop() touristicEvent: TouristicEvent;\n @Prop() isLargeView = false;\n @Prop() isInsideHorizontalList = false;\n @State() displayFullscreen = false;\n\n @Event() cardTouristicEventMouseOver: EventEmitter<number>;\n @Event() cardTouristicEventMouseLeave: EventEmitter;\n\n @State() offline = false;\n\n @Listen('trekDownloadedSuccessConfirm', { target: 'window' })\n onTrekDownloadedSuccessConfirm() {\n this.swiperTouristicEvent.slideTo(0);\n this.offline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.offline = false;\n }\n\n componentDidLoad() {\n this.handleOffline();\n if (this.swiperTouristicEventRef) {\n this.swiperTouristicEvent = new Swiper(this.swiperTouristicEventRef, {\n modules: [Navigation, Pagination, Keyboard],\n navigation: {\n prevEl: this.prevElTouristicEventRef,\n nextEl: this.nextElTouristicEventRef,\n },\n pagination: { el: this.paginationElTouristicEventRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperTouristicEventRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen && !this.offline;\n if (this.displayFullscreen) {\n this.swiperTouristicEvent.keyboard.enable();\n } else {\n this.swiperTouristicEvent.keyboard.disable();\n }\n };\n }\n }\n\n async handleOffline() {\n if (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const touristicEventInStore: TouristicEvent = await getDataInStore('touristicEvents', this.touristicEvent.id);\n this.offline = trekInStore && trekInStore.offline && touristicEventInStore && touristicEventInStore.offline;\n }\n }\n\n handleFullscreen() {\n if (this.touristicEvent.attachments && this.touristicEvent.attachments[0] && this.touristicEvent.attachments[0].url) {\n this.swiperTouristicEventRef.requestFullscreen();\n }\n }\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardTouristicEventMouseOver.emit(this.touristicEvent.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardTouristicEventMouseLeave.emit();\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const touristicEventType = state.touristicEventTypes.find(touristicEventType => touristicEventType.id === this.touristicEvent.type);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\n }}\n >\n <div\n part=\"touristic-event-card\"\n class={\n this.isLargeView\n ? `touristic-event-card touristic-event-card-large-view-container${\n state.selectedTouristicEventId === this.touristicEvent.id ? ' selected-touristic-event-card' : ''\n }${!this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''}`\n : ` touristic-event-card touristic-event-card-container${state.selectedTouristicEventId === this.touristicEvent.id ? ' selected-touristic-event-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n }\n onClick={() => {\n if (!this.isInsideHorizontalList) {\n this.touristicEventCardPress.emit(this.touristicEvent.id);\n }\n }}\n >\n <div part=\"touristic-event-img-container\" class=\"touristic-event-img-container\">\n {this.isInsideHorizontalList ? (\n <div part=\"swiper-touristic-event\" class=\"swiper swiper-touristic-event\" ref={el => (this.swiperTouristicEventRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.touristicEvent.attachments.length > 0 ? (\n this.touristicEvent.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"touristic-event-img\"\n class={`touristic-event-img${this.displayFullscreen ? ' img-fullscreen' : ''}`}\n src={this.displayFullscreen ? attachment.url : attachment.thumbnail}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'default-touristic-event-img';\n event.target.src = defaultImageSrc;\n }}\n onClick={() => this.handleFullscreen()}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"default-touristic-event-img\"\n class=\"default-touristic-event-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n <div\n style={{ display: this.offline ? 'none' : 'flex' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElTouristicEventRef = el)}\n ></div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElTouristicEventRef = el)}></div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElTouristicEventRef = el)}></div>\n </div>\n ) : this.touristicEvent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"touristic-event-img\"\n class=\"touristic-event-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={`${this.touristicEvent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n loading=\"lazy\"\n />\n ) : (\n <div></div>\n )}\n </div>\n <div part=\"touristic-event-sub-container\" class=\"touristic-event-sub-container\">\n <div part=\"touristic-event-type-container\" class=\"touristic-event-type-container\">\n {touristicEventType && touristicEventType.pictogram && (\n <img\n part=\"touristic-event-type-img\"\n class=\"touristic-event-type-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={touristicEventType.pictogram}\n />\n )}\n {touristicEventType && touristicEventType.type && (\n <div part=\"touristic-event-type-name\" class=\"touristic-event-type-name\">\n {touristicEventType.type}\n </div>\n )}\n </div>\n <div part=\"touristic-event-name\" class=\"touristic-event-name\">\n {this.touristicEvent.name}\n </div>\n {(this.touristicEvent.begin_date || this.touristicEvent.end_date) && (\n <div part=\"touristic-event-date-container\" class=\"touristic-event-date-container\">\n {this.touristicEvent.begin_date === this.touristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].date} : {this.touristicEvent.begin_date}\n </div>\n )}\n {this.touristicEvent.begin_date && this.touristicEvent.begin_date !== this.touristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].startDate} : {this.touristicEvent.begin_date}\n </div>\n )}\n {this.touristicEvent.end_date && this.touristicEvent.begin_date !== this.touristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].endDate} : {this.touristicEvent.end_date}\n </div>\n )}\n </div>\n )}\n </div>\n\n {this.isInsideHorizontalList && (\n <div part=\"touristic-event-more-detail-container\" class=\"touristic-event-more-detail-container\">\n <button part=\"more-details-button\" class=\"more-details-button\" onClick={() => this.touristicEventCardPress.emit(this.touristicEvent.id)}>\n Plus de détails\n </button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n",".material-symbols {\n font-family: 'Material Symbols Outlined';\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n.trek-card-container,\n.trek-card-large-view-container {\n cursor: pointer;\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n .trek-img {\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n .default-trek-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .trek-sub-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 8px 16px;\n .trek-name {\n color: var(--color-primary-app);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n margin-bottom: 8px;\n }\n .trek-departure {\n color: var(--color-on-surface);\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n margin-bottom: 4px;\n }\n .trek-themes-container {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n .trek-theme {\n background-color: var(--color-secondary-container);\n color: var(--color-on-secondary-container);\n border-radius: var(--border-radius, 40px);\n padding: 8px 16px;\n margin: 0px 8px 8px 0px;\n box-shadow: var(--elevation-0);\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n text-wrap: nowrap;\n }\n }\n .trek-icons-labels-container {\n padding: 0px 0px 8px 0px;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n gap: 16px;\n .trek-icon-label {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: calc((100% / 2) - 16px);\n .trek-icon {\n font-size: 24px;\n width: 24px;\n height: auto;\n color: var(--color-primary-app);\n margin-right: 8px;\n }\n .network {\n &:not(:last-child) {\n margin-right: 16px;\n }\n }\n .trek-label {\n text-overflow: ellipsis;\n overflow: hidden;\n }\n }\n .practice {\n img {\n background-color: var(--color-primary-app);\n }\n }\n }\n }\n}\n\n.selected-trek-card {\n box-shadow: var(--elevation-2);\n}\n\n.trek-card-container {\n width: 100%;\n max-width: 350px;\n .trek-img-container {\n height: 200px;\n .trek-img {\n width: 100%;\n height: 100%;\n }\n }\n}\n\n.trek-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .trek-img-container {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n .trek-img {\n width: 250px;\n height: 200px;\n }\n }\n}\n\n.trek-step-card {\n width: auto;\n}\n\n.trek-card-container .trek-sub-container .trek-departure {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 56px;\n}\n\n.trek-card-container .trek-sub-container .trek-name {\n height: 56px;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n}\n\n.is-current-step {\n background-color: var(--color-surface-variant);\n}\n\n.practice {\n .trek-icon {\n border-radius: 100%;\n padding: 2px;\n max-height: 20px;\n max-width: 20px;\n }\n}\n\n.trek-img-container {\n position: relative;\n .offline-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n background: #ffffff;\n border-radius: 24px;\n height: 24px;\n width: 24px;\n top: 16px;\n right: 16px;\n position: absolute;\n font-size: 24px;\n color: var(--color-on-surface);\n }\n}\n","import { Component, Host, h, Prop, Event, EventEmitter, State, Listen, Fragment, getAssetPath, Build } from '@stencil/core';\nimport { trekIsAvailableOffline } from 'services/treks.service';\nimport state, { onChange } from 'store/store';\nimport { City, Difficulty, Practice, Route, Themes, Trek } from 'types/types';\nimport { formatDuration, formatLength, formatAscent } from 'utils/utils';\n\n@Component({\n tag: 'grw-trek-card',\n styleUrl: 'grw-trek-card.scss',\n shadow: true,\n})\nexport class GrwTrekCard {\n @Event() trekCardPress: EventEmitter<number>;\n @State() currentTrek: Trek;\n @State() difficulty: Difficulty;\n @State() route: Route;\n @State() practice: Practice;\n @State() themes: Themes;\n @State() departureCity: City;\n @Prop() trek: Trek;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() isLargeView = false;\n @Prop() isStep: false;\n\n @Event() cardTrekMouseOver: EventEmitter<number>;\n @Event() cardTrekMouseLeave: EventEmitter;\n\n @State() isAvailableOffline = false;\n @State() showDefaultImage = false;\n\n @Listen('trekDownloadedSuccessConfirm', { target: 'window' })\n onTrekDownloadedSuccessConfirm() {\n this.isAvailableOffline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.isAvailableOffline = false;\n }\n\n connectedCallback() {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.departureCity = state.cities.find(city => city.id === this.currentTrek.departure_city);\n this.handleOffline(this.currentTrek.id);\n }\n onChange('currentTrek', () => {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.difficulty = this.currentTrek.difficulty && state.difficulties ? state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty) : null;\n this.route = this.currentTrek.route && state.routes ? state.routes.find(route => route.id === this.currentTrek.route) : null;\n this.practice = this.currentTrek.practice && state.practices ? state.practices.find(practice => practice.id === this.currentTrek.practice) : null;\n this.themes = this.currentTrek.themes && state.themes ? state.themes.filter(theme => this.currentTrek.themes.includes(theme.id)) : null;\n this.departureCity = this.currentTrek.departure_city && state.cities ? state.cities.find(city => city.id === this.currentTrek.departure_city) : null;\n this.handleOffline(this.currentTrek.id);\n }\n });\n }\n\n async handleOffline(trekId) {\n this.isAvailableOffline = await trekIsAvailableOffline(trekId);\n }\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardTrekMouseOver.emit(this.currentTrek.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardTrekMouseLeave.emit();\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\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 }}\n >\n {this.currentTrek && (\n <div\n part=\"trek-card\"\n class={\n this.isStep\n ? `trek-card trek-card-container trek-step-card${state.selectedStepId === this.currentTrek.id ? ' selected-trek-card' : ''} ${\n state.currentTrek.id === this.currentTrek.id ? 'is-current-step' : ''\n }`\n : this.isLargeView\n ? `trek-card trek-card-large-view-container${state.selectedTrekId === this.currentTrek.id ? ' selected-trek-card' : ''}`\n : `trek-card trek-card-container${state.selectedTrekId === this.currentTrek.id ? ' selected-trek-card' : ''}`\n }\n onClick={() => this.trekCardPress.emit(this.currentTrek.id)}\n >\n <div part=\"trek-img-container\" class=\"trek-img-container\">\n {this.isAvailableOffline && (\n <div part=\"offline-indicator\" class=\"offline-indicator\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n offline_pin\n </span>\n </div>\n )}\n {this.currentTrek.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"trek-img\"\n class=\"trek-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={`${this.currentTrek.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'trek-img default-trek-img';\n event.target.src = defaultImageSrc;\n }}\n />\n ) : (\n <img\n part=\"trek-img\"\n class=\"trek-img default-trek-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n )}\n </div>\n <div part=\"trek-sub-container\" class=\"trek-sub-container\">\n {this.departureCity && (\n <div part=\"trek-departure\" class=\"trek-departure\">\n {this.departureCity.name}\n </div>\n )}\n <div part=\"trek-name\" class=\"trek-name\">\n {this.currentTrek?.name}\n </div>\n {!this.isStep && this.themes && (\n <div part=\"trek-themes-container\" class=\"trek-themes-container\">\n {this.themes.map(theme => (\n <div part=\"trek-theme\" class=\"trek-theme\">\n {theme.label}\n </div>\n ))}\n </div>\n )}\n <div part=\"trek-icons-labels-container\" class=\"trek-icons-labels-container\">\n {this.difficulty && (\n <div part=\"trek-icon-label\" class=\"trek-icon-label difficulty\">\n {this.difficulty.pictogram && (\n <img\n part=\"trek-icon\"\n class=\"trek-icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.difficulty.pictogram}\n />\n )}\n <span part=\"trek-label\" class=\"trek-label\">\n {this.difficulty.label}\n </span>\n </div>\n )}\n <div part=\"trek-icon-label\" class=\"trek-icon-label duration\">\n {/* @ts-ignore */}\n <span part=\"trek-icon\" class=\"trek-icon material-symbols material-symbols-outlined\" translate={false}>\n timelapse\n </span>\n <span part=\"trek-label\" class=\"trek-label\">\n {formatDuration(this.currentTrek.duration)}\n </span>\n </div>\n <div part=\"trek-icon-label\" class=\"trek-icon-label length\">\n {/* @ts-ignore */}\n <span part=\"trek-icon\" class=\"trek-icon material-symbols material-symbols-outlined\" translate={false}>\n open_in_full\n </span>\n <span part=\"trek-label\" class=\"trek-label\">\n {formatLength(this.currentTrek.length_2d)}\n </span>\n </div>\n <div part=\"trek-icon-label\" class=\"trek-icon-label ascent\">\n {/* @ts-ignore */}\n <span part=\"trek-icon\" class=\"trek-icon material-symbols material-symbols-outlined\" translate={false}>\n moving\n </span>\n <span part=\"trek-label\" class=\"trek-label\">\n {formatAscent(this.currentTrek.ascent)}\n </span>\n </div>\n {!this.isStep && (\n <Fragment>\n <div part=\"trek-icon-label\" class=\"trek-icon-label route\">\n {this.route?.pictogram && (\n <img\n part=\"trek-icon\"\n class=\"trek-icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.route.pictogram}\n />\n )}\n <span part=\"trek-label\" class=\"trek-label\">\n {this.route?.route}\n </span>\n </div>\n <div part=\"trek-icon-label\" class=\"trek-icon-label practice\">\n {this.practice?.pictogram && (\n <img\n part=\"trek-icon\"\n class=\"trek-icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.practice.pictogram}\n />\n )}\n <span part=\"trek-label\" class=\"trek-label\">\n {this.practice?.name}\n </span>\n </div>\n </Fragment>\n )}\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"grw-information-desk.grw-poi.grw-sensitive-area-detail.grw-touristic-content-card.grw-touristic-event-card.grw-trek-card.entry.cjs.js","mappings":"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","names":["getDataInStore","state","getAssetPath","h","Host","translate","Swiper","Navigation","Pagination","Keyboard","index","onChange","trekIsAvailableOffline","formatDuration","formatLength","formatAscent","Fragment"],"sources":["./src/components/grw-information-desk/grw-information-desk.scss?tag=grw-information-desk&encapsulation=shadow","./src/components/grw-information-desk/grw-information-desk.tsx","./src/components/grw-poi-detail/grw-poi.scss?tag=grw-poi&encapsulation=shadow","./src/components/grw-poi-detail/grw-poi.tsx","./src/components/grw-sensitive-area-detail/grw-sensitive-area-detail.scss?tag=grw-sensitive-area-detail&encapsulation=shadow","./src/components/grw-sensitive-area-detail/grw-sensitive-area-detail.tsx","./src/components/grw-touristic-content-card/grw-touristic-content-card.scss?tag=grw-touristic-content-card&encapsulation=shadow","./src/components/grw-touristic-content-card/grw-touristic-content-card.tsx","./src/components/grw-touristic-event-card/grw-touristic-event-card.scss?tag=grw-touristic-event-card&encapsulation=shadow","./src/components/grw-touristic-event-card/grw-touristic-event-card.tsx","./src/components/grw-trek-card/grw-trek-card.scss?tag=grw-trek-card&encapsulation=shadow","./src/components/grw-trek-card/grw-trek-card.tsx"],"sourcesContent":[".material-symbols {\n font-family: 'Material Symbols Outlined';\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n:host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid gray;\n border-radius: var(--border-radius, 12px);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n a {\n color: var(--color-primary-app);\n }\n}\n\n.information-desk-img-container {\n position: relative;\n .information-desk-img {\n width: 100%;\n height: 100%;\n max-height: 200px;\n object-fit: cover;\n }\n}\n\n.information-desk-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n}\n\n.information-desk-name {\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n}\n\n.information-desk-description {\n font-size: 14px;\n line-height: 20px;\n}\n\n.information-desk-description-short {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 4;\n overflow: hidden;\n}\n\n.handle-information-desk-description {\n cursor: pointer;\n color: var(--color-primary-app);\n text-decoration: underline;\n margin-top: 12px;\n}\n\n.phone-container,\n.mail-container,\n.link-container {\n display: flex;\n align-items: center;\n .icon {\n font-size: 16px;\n margin-right: 8px;\n }\n}\n\n.center-on-map-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 4px 8px;\n box-shadow: var(--elevation-1);\n min-height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n margin: 12px 0px;\n &:hover {\n box-shadow: var(--elevation-2);\n }\n .icon {\n font-size: 18px;\n }\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter, getAssetPath, Build } from '@stencil/core';\nimport state from 'store/store';\nimport { translate } from 'i18n/i18n';\nimport { InformationDesk, Trek } from 'types/types';\nimport { getDataInStore } from 'services/grw-db.service';\n\n@Component({\n tag: 'grw-information-desk',\n styleUrl: 'grw-information-desk.scss',\n shadow: true,\n})\nexport class GrwInformationDeskDetail {\n descriptionRef?: HTMLDivElement;\n @Event() centerOnMap: EventEmitter<{ latitude: number; longitude: number }>;\n @State() displayShortDescription = true;\n @State() showInformationDeskDescriptionButton = false;\n @Prop() informationDesk: InformationDesk;\n\n @State() offline = false;\n @State() showDefaultImage = false;\n\n componentDidLoad() {\n this.handleOffline();\n if (this.descriptionRef) {\n this.showInformationDeskDescriptionButton = this.descriptionRef.clientHeight < this.descriptionRef.scrollHeight;\n }\n }\n\n handleInformationDeskDescription() {\n this.displayShortDescription = !this.displayShortDescription;\n }\n\n handleCenterOnMap() {\n this.centerOnMap.emit({ latitude: this.informationDesk.latitude, longitude: this.informationDesk.longitude });\n }\n\n async handleOffline() {\n if (this.informationDesk) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const informationDeskInStore: InformationDesk = await getDataInStore('informationDesks', this.informationDesk.id);\n this.offline = trekInStore && trekInStore.offline && Boolean(informationDeskInStore);\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n return (\n <Host>\n {this.informationDesk.photo_url && (\n <div part=\"information-desk-img-container\" class=\"information-desk-img-container\">\n <img\n part=\"information-desk-img\"\n class=\"information-desk-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.informationDesk.photo_url}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.src = defaultImageSrc;\n }}\n />\n </div>\n )}\n <div part=\"information-desk-sub-container\" class=\"information-desk-sub-container\">\n {this.informationDesk.name && (\n <div part=\"information-desk-name\" class=\"information-desk-name\">\n {this.informationDesk.name}\n </div>\n )}\n {this.informationDesk.latitude && this.informationDesk.longitude && (\n <button part=\"center-on-map-button\" class=\"center-on-map-button\" onClick={() => this.handleCenterOnMap()}>\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"material-symbols material-symbols-outlined icon\" translate={false}>\n location_searching\n </span>\n <span part=\"label\">{translate[state.language].centerOnMap}</span>\n </button>\n )}\n {(this.informationDesk.postal_code || this.informationDesk.municipality || this.informationDesk.street) && (\n <div part=\"information-desk-informations\" class=\"information-desk-informations\">\n {this.informationDesk.postal_code && this.informationDesk.postal_code}\n {this.informationDesk.municipality && ` ${this.informationDesk.municipality}`}\n {this.informationDesk.street && ` ${this.informationDesk.street}`}\n </div>\n )}\n {this.informationDesk.phone && (\n <div class=\"phone-container\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"material-symbols material-symbols-outlined icon\" translate={false}>\n call\n </span>\n <a part=\"label\" class=\"label\" href={`tel:${this.informationDesk.phone}`}>\n {this.informationDesk.phone}\n </a>\n </div>\n )}\n {this.informationDesk.email && (\n <div part=\"mail-container\" class=\"mail-container\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"material-symbols material-symbols-outlined icon\" translate={false}>\n mail\n </span>\n <a part=\"label\" class=\"label\" href={`mailto:${this.informationDesk.email}`}>\n {this.informationDesk.email}\n </a>\n </div>\n )}\n {this.informationDesk.website && (\n <div part=\"link-container\" class=\"link-container\">\n {/* @ts-ignore */}\n <span part=\"icon\" class=\"material-symbols material-symbols-outlined icon\" translate={false}>\n link\n </span>\n <a part=\"label\" class=\"label\" href={`${this.informationDesk.website}`}>\n {this.informationDesk.website}\n </a>\n </div>\n )}\n {this.informationDesk.description && (\n <div part=\"information-desk-description-container\" class=\"information-desk-description-container\">\n <div\n part=\"information-desk-description\"\n class={this.displayShortDescription ? 'information-desk-description information-desk-description-short' : 'information-desk-description'}\n innerHTML={this.informationDesk.description}\n ref={el => (this.descriptionRef = el)}\n ></div>\n {false && (\n <div part=\"handle-information-desk-description\" class=\"handle-information-desk-description\" onClick={() => this.handleInformationDeskDescription()}>\n {this.displayShortDescription ? translate[state.language].readMore : translate[state.language].readLess}\n </div>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n:host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid gray;\n border-radius: var(--border-radius, 12px);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n a {\n color: var(--color-primary-app);\n }\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\n.poi-type-img-container {\n position: relative;\n .poi-img,\n .default-poi-img {\n width: 100%;\n height: 100%;\n height: 200px;\n object-fit: cover;\n }\n .poi-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-poi-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain;\n }\n .poi-type {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.poi-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n}\n\n.poi-name {\n font-size: 16px;\n line-height: 24px;\n height: 64px;\n}\n\n.poi-description {\n font-size: 14px;\n line-height: 20px;\n}\n\n.poi-description-short {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 4;\n overflow: hidden;\n}\n\n.handle-poi-description {\n cursor: pointer;\n color: var(--color-primary-app);\n text-decoration: underline;\n margin-top: 12px;\n height: 22px;\n}\n\np {\n margin: 0;\n}\n","import { Component, Host, h, Prop, State, Build, getAssetPath, Listen } from '@stencil/core';\nimport Swiper, { Navigation, Pagination, Keyboard } from 'swiper';\nimport state from 'store/store';\nimport { Poi, Trek } from 'types/types';\nimport { translate } from 'i18n/i18n';\nimport { getDataInStore } from 'services/grw-db.service';\n\n@Component({\n tag: 'grw-poi',\n styleUrl: 'grw-poi.scss',\n shadow: true,\n})\nexport class GrwPoiDetail {\n swiperPoi?: Swiper;\n swiperPoiRef?: HTMLDivElement;\n prevElPoiRef?: HTMLDivElement;\n nextElPoiRef?: HTMLDivElement;\n paginationElPoiRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n\n @Prop() poi: Poi;\n @State() displayShortDescription = true;\n @State() showPoiDescriptionButton = false;\n @State() displayFullscreen = false;\n\n @State() offline = false;\n\n @Listen('trekDownloadedSuccessConfirm', { target: 'window' })\n onTrekDownloadedSuccessConfirm() {\n this.swiperPoi.slideTo(0);\n this.offline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.offline = false;\n }\n\n componentDidLoad() {\n this.handleOffline();\n this.swiperPoi = new Swiper(this.swiperPoiRef, {\n modules: [Navigation, Pagination, Keyboard],\n navigation: {\n prevEl: this.prevElPoiRef,\n nextEl: this.nextElPoiRef,\n },\n pagination: { el: this.paginationElPoiRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperPoiRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen && !this.offline;\n if (this.displayFullscreen) {\n this.swiperPoi.keyboard.enable();\n } else {\n this.swiperPoi.keyboard.disable();\n }\n };\n this.showPoiDescriptionButton = this.descriptionRef.clientHeight < this.descriptionRef.scrollHeight;\n }\n\n handlePoiDescription() {\n this.displayShortDescription = !this.displayShortDescription;\n }\n\n handleFullscreen() {\n if (this.poi.attachments && this.poi.attachments[0] && this.poi.attachments[0].url) {\n this.swiperPoiRef.requestFullscreen();\n }\n }\n\n async handleOffline() {\n if (this.poi) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const poiInStore: Poi = await getDataInStore('pois', this.poi.id);\n this.offline = trekInStore && trekInStore.offline && Boolean(poiInStore);\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n return (\n <Host>\n <div part=\"poi-type-img-container\" class=\"poi-type-img-container\">\n <img\n part=\"poi-type\"\n class=\"poi-type\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={`${state.poiTypes.find(poiType => poiType.id === this.poi.type)?.pictogram}`}\n />\n <div part=\"swiper-poi\" class=\"swiper swiper-poi\" ref={el => (this.swiperPoiRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.poi.attachments.length > 0 ? (\n this.poi.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"poi-img\"\n class={`poi-img${this.displayFullscreen ? ' img-fullscreen' : ''}`}\n src={this.displayFullscreen ? attachment.url : attachment.thumbnail}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'default-poi-img';\n event.target.src = defaultImageSrc;\n }}\n onClick={() => this.handleFullscreen()}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"default-poi-img\"\n class=\"default-poi-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-pagination\" class=\"swiper-pagination\" ref={el => (this.paginationElPoiRef = el)}></div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElPoiRef = el)}></div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElPoiRef = el)}></div>\n </div>\n </div>\n <div part=\"poi-sub-container\" class=\"poi-sub-container\">\n <div part=\"poi-name\" class=\"poi-name\">\n {this.poi.name}\n </div>\n <div\n part=\"poi-description\"\n class={this.displayShortDescription ? 'poi-description poi-description-short' : 'poi-description'}\n innerHTML={this.poi.description}\n ref={el => (this.descriptionRef = el)}\n ></div>\n <div part=\"handle-poi-description\" class=\"handle-poi-description\" onClick={() => this.handlePoiDescription()}>\n {this.showPoiDescriptionButton && (this.displayShortDescription ? translate[state.language].readMore : translate[state.language].readLess)}\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: flex;\n flex-direction: column;\n color: var(--color-on-surface);\n a {\n color: var(--color-primary-app);\n }\n}\n\n.sensitive-area-title-container {\n display: flex;\n align-items: center;\n .sensitive-area-color-container {\n width: 20px;\n height: 20px;\n margin-right: 8px;\n border: 3px solid var(--color-sensitive-area);\n position: relative;\n &:before {\n content: '';\n width: 20px;\n height: 20px;\n background-color: var(--color-sensitive-area);\n opacity: 0.2;\n position: absolute;\n }\n }\n .sensitive-area-title {\n font-size: 20px;\n line-height: 28px;\n padding: 12px 0px;\n font-weight: 600;\n }\n}\n\n.sensitive-area-description {\n font-size: 16px;\n line-height: 24px;\n p:first-child {\n margin-top: 0;\n }\n}\n\n.sensitive-area-period-container,\n.sensitive-area-practice-container,\n.sensitive-area-contact-container {\n .sensitive-area-period-title,\n .sensitive-area-practice-title,\n .sensitive-area-contact-title {\n font-size: 18px;\n line-height: 24px;\n padding: 12px 0px;\n font-weight: 600;\n }\n .sensitive-area-periods,\n .sensitive-area-practices {\n display: flex;\n flex-wrap: wrap;\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport state from 'store/store';\nimport { SensitiveArea } from 'types/types';\n\n@Component({\n tag: 'grw-sensitive-area-detail',\n styleUrl: 'grw-sensitive-area-detail.scss',\n shadow: true,\n})\nexport class GrwSensitiveAreaDetail {\n @Prop() sensitiveArea: SensitiveArea;\n\n render() {\n return (\n <Host>\n <div part=\"sensitive-area-title-container\" class=\"sensitive-area-title-container\">\n <div part=\"sensitive-area-color-container\" class=\"sensitive-area-color-container\"></div>\n <div part=\"sensitive-area-title\" class=\"sensitive-area-title\">\n {this.sensitiveArea.name}\n </div>\n </div>\n\n <div part=\"sensitive-area-description\" class=\"sensitive-area-description\" innerHTML={this.sensitiveArea.description}></div>\n {this.sensitiveArea.practices && this.sensitiveArea.practices.length > 0 && (\n <div part=\"sensitive-area-practice-container\" class=\"sensitive-area-practice-container\">\n <div part=\"sensitive-area-practice-title\" class=\"sensitive-area-practice-title\">\n Domaines d'activités concernés\n </div>\n <div part=\"sensitive-area-practices\" class=\"sensitive-area-practices\">\n {this.sensitiveArea.practices.map((sensitiveAreaPractice, index) => {\n const practice = state.practices.find(statePractice => statePractice.id === sensitiveAreaPractice);\n if (practice) {\n return (\n <div\n part=\"sensitive-area-practice\"\n class=\"sensitive-area-practice\"\n innerHTML={`${practice.name.toUpperCase()}${index + 1 !== this.sensitiveArea.practices.length ? ' -&nbsp;' : ''}`}\n ></div>\n );\n }\n })}\n </div>\n </div>\n )}\n {this.sensitiveArea.period && this.sensitiveArea.period.length > 0 && (\n <div part=\"sensitive-area-period-container\" class=\"sensitive-area-period-container\">\n <div part=\"sensitive-area-period-title\" class=\"sensitive-area-period-title\">\n Périodes de sensibilité\n </div>\n <div part=\"sensitive-area-periods\" class=\"sensitive-area-periods\">\n {this.sensitiveArea.period.map((month, index) => {\n if (month) {\n return (\n <div\n part=\"sensitive-area-period\"\n class=\"sensitive-area-period\"\n innerHTML={`${new Date(0, index + 1, 0).toLocaleDateString('fr', { month: 'long' }).toUpperCase()}${\n this.sensitiveArea.period.slice(index + 1).find(month => month) ? ' -&nbsp;' : ''\n }`}\n ></div>\n );\n }\n })}\n </div>\n </div>\n )}\n <div part=\"sensitive-area-contact-container\" class=\"sensitive-area-contact-container\">\n <div part=\"sensitive-area-contact-title\" class=\"sensitive-area-contact-title\">\n Contact\n </div>\n <div part=\"sensitive-area-contact-value\" class=\"sensitive-area-contact-value\" innerHTML={this.sensitiveArea.contact}></div>\n </div>\n </Host>\n );\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n:host {\n a {\n color: var(--color-primary-app);\n }\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper {\n height: 200px;\n }\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\n.touristic-content-img-container {\n position: relative;\n height: 200px;\n .touristic-content-img,\n .default-touristic-content-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .touristic-content-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-touristic-content-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain;\n }\n .touristic-content-type {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.touristic-content-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n .touristic-content-category-container {\n display: flex;\n align-items: center;\n margin-bottom: 12px;\n .touristic-content-category-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .touristic-content-name {\n font-size: 16px;\n line-height: 24px;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 48px;\n }\n}\n\n.touristic-content-more-detail-container {\n padding: 0px 12px 12px 12px;\n .more-details-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n width: 100%;\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n span {\n font-size: 18px;\n }\n }\n}\n\n.touristic-content-card-container,\n.touristic-content-card-large-view-container {\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n .touristic-content-img {\n height: 100%;\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n}\n\n.touristic-content-card-container {\n width: 100%;\n max-width: 350px;\n .touristic-content-img {\n width: 100%;\n height: 100%;\n }\n}\n\n.touristic-content-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .touristic-content-img {\n width: 250px;\n height: 100%;\n border-bottom-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 0px);\n }\n}\n\n.is-inside-vertical-list {\n cursor: pointer;\n border: none;\n .touristic-event-img,\n .default-touristic-event-img {\n height: 100%;\n }\n}\n\n.selected-touristic-content-card {\n box-shadow: var(--elevation-2);\n}\n\n.touristic-content-category-img {\n border-radius: 100%;\n padding: 2px;\n max-height: 20px;\n max-width: 20px;\n}\n","import { Build, Component, Host, getAssetPath, h, State, Prop, Event, EventEmitter, Listen } from '@stencil/core';\nimport { getDataInStore } from 'services/grw-db.service';\nimport state from 'store/store';\nimport Swiper, { Keyboard, Navigation, Pagination } from 'swiper';\nimport { TouristicContent, Trek } from 'types/types';\n\n@Component({\n tag: 'grw-touristic-content-card',\n styleUrl: 'grw-touristic-content-card.scss',\n shadow: true,\n})\nexport class GrwTouristicContentCard {\n @Event() touristicContentCardPress: EventEmitter<number>;\n swiperTouristicContent?: Swiper;\n swiperTouristicContentRef?: HTMLDivElement;\n prevElTouristicContentRef?: HTMLDivElement;\n nextElTouristicContentRef?: HTMLDivElement;\n paginationElTouristicContentRef?: HTMLDivElement;\n\n @Prop() fontFamily = 'Roboto';\n\n @Prop() touristicContent: TouristicContent;\n @Prop() isLargeView = false;\n @Prop() isInsideHorizontalList = false;\n @State() displayFullscreen = false;\n\n @Event() cardTouristicContentMouseOver: EventEmitter<number>;\n @Event() cardTouristicContentMouseLeave: EventEmitter;\n\n @State() offline = false;\n\n @Listen('trekDownloadedSuccessConfirm', { target: 'window' })\n onTrekDownloadedSuccessConfirm() {\n this.swiperTouristicContent.slideTo(0);\n this.offline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.offline = false;\n }\n\n componentDidLoad() {\n this.handleOffline();\n if (this.swiperTouristicContentRef) {\n this.swiperTouristicContent = new Swiper(this.swiperTouristicContentRef, {\n modules: [Navigation, Pagination, Keyboard],\n navigation: {\n prevEl: this.prevElTouristicContentRef,\n nextEl: this.nextElTouristicContentRef,\n },\n pagination: { el: this.paginationElTouristicContentRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperTouristicContentRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen && !this.offline;\n if (this.displayFullscreen) {\n this.swiperTouristicContent.keyboard.enable();\n } else {\n this.swiperTouristicContent.keyboard.disable();\n }\n };\n }\n }\n\n async handleOffline() {\n if (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const touristicContentInStore: TouristicContent = await getDataInStore('touristicContents', this.touristicContent.id);\n this.offline = trekInStore && trekInStore.offline && touristicContentInStore && touristicContentInStore.offline;\n }\n }\n\n handleFullscreen() {\n if (this.touristicContent.attachments && this.touristicContent.attachments[0] && this.touristicContent.attachments[0].url) {\n this.swiperTouristicContentRef.requestFullscreen();\n }\n }\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardTouristicContentMouseOver.emit(this.touristicContent.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardTouristicContentMouseLeave.emit();\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const touristicContentCategory = state.touristicContentCategories.find(touristicContentCategory => touristicContentCategory.id === this.touristicContent.category);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\n }}\n >\n <div\n part=\"touristic-content-card\"\n class={\n this.isLargeView\n ? `touristic-content-card touristic-content-card-large-view-container${\n state.selectedTouristicContentId === this.touristicContent.id ? ' selected-touristic-content-card' : ''\n }${!this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''}`\n : `touristic-content-card touristic-content-card-container${state.selectedTouristicContentId === this.touristicContent.id ? ' selected-touristic-content-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n }\n onClick={() => {\n if (!this.isInsideHorizontalList) {\n this.touristicContentCardPress.emit(this.touristicContent.id);\n }\n }}\n >\n <div part=\"touristic-content-img-container\" class=\"touristic-content-img-container\">\n {this.isInsideHorizontalList ? (\n <div part=\"swiper-touristic-content\" class=\"swiper swiper-touristic-content\" ref={el => (this.swiperTouristicContentRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.touristicContent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n this.touristicContent.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"touristic-content-img\"\n class={`touristic-content-img${this.displayFullscreen ? ' img-fullscreen' : ''}`}\n src={this.displayFullscreen ? attachment.url : attachment.thumbnail}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'default-touristic-event-img';\n event.target.src = defaultImageSrc;\n }}\n onClick={() => this.handleFullscreen()}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"default-touristic-event-img\"\n class=\"default-touristic-content-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n <div\n style={{ display: this.offline ? 'none' : 'flex' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElTouristicContentRef = el)}\n ></div>\n <div\n style={{ display: this.offline ? 'none' : 'flex' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElTouristicContentRef = el)}\n ></div>\n <div\n style={{ display: this.offline ? 'none' : 'flex' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElTouristicContentRef = el)}\n ></div>\n </div>\n ) : this.touristicContent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"touristic-content-img\"\n class=\"touristic-content-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={`${this.touristicContent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n loading=\"lazy\"\n />\n ) : (\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n class=\"image default-touristic-content-img\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n )}\n </div>\n <div part=\"touristic-content-sub-container\" class=\"touristic-content-sub-container\">\n <div part=\"touristic-content-category-container\" class=\"touristic-content-category-container\">\n {touristicContentCategory && touristicContentCategory.pictogram && (\n <img\n part=\"touristic-content-category-img\"\n class=\"touristic-content-category-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={touristicContentCategory.pictogram}\n />\n )}\n <div part=\"touristic-content-category-name\" class=\"touristic-content-category-name\">\n {touristicContentCategory.label}\n </div>\n </div>\n <div part=\"touristic-content-name\" class=\"touristic-content-name\">\n {this.touristicContent.name}\n </div>\n </div>\n {this.isInsideHorizontalList && (\n <div part=\"touristic-content-more-detail-container\" class=\"touristic-content-more-detail-container\">\n <button part=\"more-details-button\" class=\"more-details-button\" onClick={() => this.touristicContentCardPress.emit(this.touristicContent.id)}>\n Plus de détails\n </button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n","@use '~swiper/swiper.scss';\n@use '~swiper/modules/navigation/navigation.scss';\n@use '~swiper/modules/pagination/pagination.scss';\n\n.swiper {\n z-index: 0;\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n:host {\n a {\n color: var(--color-primary-app);\n }\n --swiper-navigation-size: 24px;\n --swiper-navigation-color: var(--color-on-primary-container);\n --swiper-pagination-color: var(--color-primary-container);\n --swiper-pagination-bullet-size: 12px;\n .swiper {\n height: 200px;\n }\n .swiper-button-prev,\n .swiper-button-next {\n background-color: var(--color-primary-container);\n padding: 4px;\n width: 32px;\n height: 32px;\n border-radius: var(--border-radius, 32px);\n box-shadow: var(--elevation-1);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n }\n}\n\n.touristic-event-img-container {\n position: relative;\n height: 200px;\n .touristic-event-img,\n .default-touristic-event-img {\n width: 100%;\n height: 100%;\n max-height: 200px;\n object-fit: cover;\n }\n .touristic-event-img {\n cursor: pointer;\n object-fit: cover;\n }\n .default-touristic-event-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .img-fullscreen {\n max-height: none;\n object-fit: contain;\n }\n .touristic-event-type {\n width: 24px;\n height: 24px;\n padding: 4px;\n border: 2px solid #ffffff;\n border-radius: var(--border-radius, 50%);\n background-color: var(--color-on-surface);\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 200;\n }\n}\n\n.touristic-event-sub-container {\n display: flex;\n flex-direction: column;\n padding: 12px;\n .touristic-event-type-container {\n display: flex;\n align-items: center;\n margin-bottom: 12px;\n .touristic-event-type-name {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n }\n img {\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin-right: 8px;\n background-color: var(--color-primary-app);\n }\n }\n .touristic-event-name {\n font-size: 16px;\n line-height: 24px;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 48px;\n }\n}\n\n.touristic-event-more-detail-container {\n padding: 0px 12px 12px 12px;\n .more-details-button {\n cursor: pointer;\n background-color: var(--color-primary-container);\n color: var(--color-on-primary-container);\n border-radius: var(--border-radius, 8px);\n padding: 8px 16px;\n box-shadow: var(--elevation-1);\n width: 100%;\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n &:hover {\n box-shadow: var(--elevation-2);\n }\n span {\n font-size: 18px;\n }\n }\n}\n\n.touristic-event-card-container,\n.touristic-event-card-large-view-container {\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n color: var(--color-on-surface);\n .touristic-event-img {\n height: 100%;\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n}\n\n.touristic-event-card-container {\n width: 100%;\n max-width: 350px;\n .touristic-event-img {\n width: 100%;\n height: 100%;\n }\n}\n\n.touristic-event-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .touristic-event-img {\n width: 250px;\n height: 100%;\n border-bottom-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 0px);\n }\n}\n\n.is-inside-vertical-list {\n cursor: pointer;\n border: none;\n .touristic-content-img,\n .default-touristic-content-img {\n height: 100%;\n }\n}\n\n.selected-touristic-event-card {\n box-shadow: var(--elevation-2);\n}\n\n.touristic-event-date-container {\n margin-top: 12px;\n}\n","import { Build, Component, Host, getAssetPath, h, State, Prop, Event, EventEmitter, Listen } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport { getDataInStore } from 'services/grw-db.service';\nimport state from 'store/store';\nimport Swiper, { Keyboard, Navigation, Pagination } from 'swiper';\nimport { TouristicEvent, Trek } from 'types/types';\n\n@Component({\n tag: 'grw-touristic-event-card',\n styleUrl: 'grw-touristic-event-card.scss',\n shadow: true,\n})\nexport class GrwTouristicEvent {\n @Event() touristicEventCardPress: EventEmitter<number>;\n swiperTouristicEvent?: Swiper;\n swiperTouristicEventRef?: HTMLDivElement;\n prevElTouristicEventRef?: HTMLDivElement;\n nextElTouristicEventRef?: HTMLDivElement;\n paginationElTouristicEventRef?: HTMLDivElement;\n\n @Prop() fontFamily = 'Roboto';\n\n @Prop() touristicEvent: TouristicEvent;\n @Prop() isLargeView = false;\n @Prop() isInsideHorizontalList = false;\n @State() displayFullscreen = false;\n\n @Event() cardTouristicEventMouseOver: EventEmitter<number>;\n @Event() cardTouristicEventMouseLeave: EventEmitter;\n\n @State() offline = false;\n\n @Listen('trekDownloadedSuccessConfirm', { target: 'window' })\n onTrekDownloadedSuccessConfirm() {\n this.swiperTouristicEvent.slideTo(0);\n this.offline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.offline = false;\n }\n\n componentDidLoad() {\n this.handleOffline();\n if (this.swiperTouristicEventRef) {\n this.swiperTouristicEvent = new Swiper(this.swiperTouristicEventRef, {\n modules: [Navigation, Pagination, Keyboard],\n navigation: {\n prevEl: this.prevElTouristicEventRef,\n nextEl: this.nextElTouristicEventRef,\n },\n pagination: { el: this.paginationElTouristicEventRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperTouristicEventRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen && !this.offline;\n if (this.displayFullscreen) {\n this.swiperTouristicEvent.keyboard.enable();\n } else {\n this.swiperTouristicEvent.keyboard.disable();\n }\n };\n }\n }\n\n async handleOffline() {\n if (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const touristicEventInStore: TouristicEvent = await getDataInStore('touristicEvents', this.touristicEvent.id);\n this.offline = trekInStore && trekInStore.offline && touristicEventInStore && touristicEventInStore.offline;\n }\n }\n\n handleFullscreen() {\n if (this.touristicEvent.attachments && this.touristicEvent.attachments[0] && this.touristicEvent.attachments[0].url) {\n this.swiperTouristicEventRef.requestFullscreen();\n }\n }\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardTouristicEventMouseOver.emit(this.touristicEvent.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardTouristicEventMouseLeave.emit();\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const touristicEventType = state.touristicEventTypes.find(touristicEventType => touristicEventType.id === this.touristicEvent.type);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\n }}\n >\n <div\n part=\"touristic-event-card\"\n class={\n this.isLargeView\n ? `touristic-event-card touristic-event-card-large-view-container${\n state.selectedTouristicEventId === this.touristicEvent.id ? ' selected-touristic-event-card' : ''\n }${!this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''}`\n : ` touristic-event-card touristic-event-card-container${state.selectedTouristicEventId === this.touristicEvent.id ? ' selected-touristic-event-card' : ''}${\n !this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''\n }`\n }\n onClick={() => {\n if (!this.isInsideHorizontalList) {\n this.touristicEventCardPress.emit(this.touristicEvent.id);\n }\n }}\n >\n <div part=\"touristic-event-img-container\" class=\"touristic-event-img-container\">\n {this.isInsideHorizontalList ? (\n <div part=\"swiper-touristic-event\" class=\"swiper swiper-touristic-event\" ref={el => (this.swiperTouristicEventRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.touristicEvent.attachments.length > 0 ? (\n this.touristicEvent.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"touristic-event-img\"\n class={`touristic-event-img${this.displayFullscreen ? ' img-fullscreen' : ''}`}\n src={this.displayFullscreen ? attachment.url : attachment.thumbnail}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'default-touristic-event-img';\n event.target.src = defaultImageSrc;\n }}\n onClick={() => this.handleFullscreen()}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img\n part=\"default-touristic-event-img\"\n class=\"default-touristic-event-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n </div>\n )}\n </div>\n <div\n style={{ display: this.offline ? 'none' : 'flex' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElTouristicEventRef = el)}\n ></div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElTouristicEventRef = el)}></div>\n <div style={{ display: this.offline ? 'none' : 'flex' }} part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElTouristicEventRef = el)}></div>\n </div>\n ) : this.touristicEvent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"touristic-event-img\"\n class=\"touristic-event-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={`${this.touristicEvent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n loading=\"lazy\"\n />\n ) : (\n <img\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n class=\"image default-touristic-event-img\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n )}\n </div>\n <div part=\"touristic-event-sub-container\" class=\"touristic-event-sub-container\">\n <div part=\"touristic-event-type-container\" class=\"touristic-event-type-container\">\n {touristicEventType && touristicEventType.pictogram && (\n <img\n part=\"touristic-event-type-img\"\n class=\"touristic-event-type-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={touristicEventType.pictogram}\n />\n )}\n {touristicEventType && touristicEventType.type && (\n <div part=\"touristic-event-type-name\" class=\"touristic-event-type-name\">\n {touristicEventType.type}\n </div>\n )}\n </div>\n <div part=\"touristic-event-name\" class=\"touristic-event-name\">\n {this.touristicEvent.name}\n </div>\n {(this.touristicEvent.begin_date || this.touristicEvent.end_date) && (\n <div part=\"touristic-event-date-container\" class=\"touristic-event-date-container\">\n {this.touristicEvent.begin_date === this.touristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].date} : {this.touristicEvent.begin_date}\n </div>\n )}\n {this.touristicEvent.begin_date && this.touristicEvent.begin_date !== this.touristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].startDate} : {this.touristicEvent.begin_date}\n </div>\n )}\n {this.touristicEvent.end_date && this.touristicEvent.begin_date !== this.touristicEvent.end_date && (\n <div part=\"touristic-event-date\" class=\"touristic-event-date\">\n {translate[state.language].endDate} : {this.touristicEvent.end_date}\n </div>\n )}\n </div>\n )}\n </div>\n\n {this.isInsideHorizontalList && (\n <div part=\"touristic-event-more-detail-container\" class=\"touristic-event-more-detail-container\">\n <button part=\"more-details-button\" class=\"more-details-button\" onClick={() => this.touristicEventCardPress.emit(this.touristicEvent.id)}>\n Plus de détails\n </button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n",".material-symbols {\n font-family: 'Material Symbols Outlined';\n}\n\n.material-symbols-outlined {\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;\n}\n\n.trek-card-container,\n.trek-card-large-view-container {\n cursor: pointer;\n font-family: var(--font-family);\n border-radius: var(--border-radius, 12px);\n box-shadow: var(--elevation-1);\n background-color: var(--color-surface-container-low);\n .trek-img {\n object-fit: cover;\n border-top-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 12px);\n }\n .default-trek-img {\n background-color: var(--color-primary-container);\n object-fit: contain;\n }\n .trek-sub-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 8px 16px;\n .trek-name {\n color: var(--color-primary-app);\n font-size: 22px;\n line-height: 28px;\n font-weight: 400;\n margin-bottom: 8px;\n }\n .trek-departure {\n color: var(--color-on-surface);\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n margin-bottom: 4px;\n }\n .trek-themes-container {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n .trek-theme {\n background-color: var(--color-secondary-container);\n color: var(--color-on-secondary-container);\n border-radius: var(--border-radius, 40px);\n padding: 8px 16px;\n margin: 0px 8px 8px 0px;\n box-shadow: var(--elevation-0);\n height: 32px;\n gap: 8px;\n box-sizing: border-box;\n text-align: start;\n vertical-align: middle;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n position: relative;\n text-wrap: nowrap;\n }\n }\n .trek-icons-labels-container {\n padding: 0px 0px 8px 0px;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: wrap;\n gap: 16px;\n .trek-icon-label {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: calc((100% / 2) - 16px);\n .trek-icon {\n font-size: 24px;\n width: 24px;\n height: auto;\n color: var(--color-primary-app);\n margin-right: 8px;\n }\n .network {\n &:not(:last-child) {\n margin-right: 16px;\n }\n }\n .trek-label {\n text-overflow: ellipsis;\n overflow: hidden;\n }\n }\n .practice {\n img {\n background-color: var(--color-primary-app);\n }\n }\n }\n }\n}\n\n.selected-trek-card {\n box-shadow: var(--elevation-2);\n}\n\n.trek-card-container {\n width: 100%;\n max-width: 350px;\n .trek-img-container {\n height: 200px;\n .trek-img {\n width: 100%;\n height: 100%;\n }\n }\n}\n\n.trek-card-large-view-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n .trek-img-container {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n .trek-img {\n width: 250px;\n height: inherit;\n border-bottom-left-radius: var(--border-radius, 12px);\n border-top-right-radius: var(--border-radius, 0px);\n }\n }\n}\n\n.trek-step-card {\n width: auto;\n}\n\n.trek-card-container .trek-sub-container .trek-departure {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n height: 56px;\n}\n\n.trek-card-container .trek-sub-container .trek-name {\n height: 56px;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n}\n\n.is-current-step {\n background-color: var(--color-surface-variant);\n}\n\n.practice {\n .trek-icon {\n border-radius: 100%;\n padding: 2px;\n max-height: 20px;\n max-width: 20px;\n }\n}\n\n.trek-img-container {\n position: relative;\n .offline-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n background: #ffffff;\n border-radius: 24px;\n height: 24px;\n width: 24px;\n top: 16px;\n right: 16px;\n position: absolute;\n font-size: 24px;\n color: var(--color-on-surface);\n }\n}\n","import { Component, Host, h, Prop, Event, EventEmitter, State, Listen, Fragment, getAssetPath, Build } from '@stencil/core';\nimport { trekIsAvailableOffline } from 'services/treks.service';\nimport state, { onChange } from 'store/store';\nimport { City, Difficulty, Practice, Route, Themes, Trek } from 'types/types';\nimport { formatDuration, formatLength, formatAscent } from 'utils/utils';\n\n@Component({\n tag: 'grw-trek-card',\n styleUrl: 'grw-trek-card.scss',\n shadow: true,\n})\nexport class GrwTrekCard {\n @Event() trekCardPress: EventEmitter<number>;\n @State() currentTrek: Trek;\n @State() difficulty: Difficulty;\n @State() route: Route;\n @State() practice: Practice;\n @State() themes: Themes;\n @State() departureCity: City;\n @Prop() trek: Trek;\n\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() isLargeView = false;\n @Prop() isStep: false;\n\n @Event() cardTrekMouseOver: EventEmitter<number>;\n @Event() cardTrekMouseLeave: EventEmitter;\n\n @State() isAvailableOffline = false;\n @State() showDefaultImage = false;\n\n @Listen('trekDownloadedSuccessConfirm', { target: 'window' })\n onTrekDownloadedSuccessConfirm() {\n this.isAvailableOffline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.isAvailableOffline = false;\n }\n\n connectedCallback() {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.difficulty = state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);\n this.route = state.routes.find(route => route.id === this.currentTrek.route);\n this.practice = state.practices.find(practice => practice.id === this.currentTrek.practice);\n this.themes = state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));\n this.departureCity = state.cities.find(city => city.id === this.currentTrek.departure_city);\n this.handleOffline(this.currentTrek.id);\n }\n onChange('currentTrek', () => {\n this.currentTrek = this.trek ? this.trek : state.currentTrek;\n if (this.currentTrek) {\n this.difficulty = this.currentTrek.difficulty && state.difficulties ? state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty) : null;\n this.route = this.currentTrek.route && state.routes ? state.routes.find(route => route.id === this.currentTrek.route) : null;\n this.practice = this.currentTrek.practice && state.practices ? state.practices.find(practice => practice.id === this.currentTrek.practice) : null;\n this.themes = this.currentTrek.themes && state.themes ? state.themes.filter(theme => this.currentTrek.themes.includes(theme.id)) : null;\n this.departureCity = this.currentTrek.departure_city && state.cities ? state.cities.find(city => city.id === this.currentTrek.departure_city) : null;\n this.handleOffline(this.currentTrek.id);\n }\n });\n }\n\n async handleOffline(trekId) {\n this.isAvailableOffline = await trekIsAvailableOffline(trekId);\n }\n\n @Listen('mouseover')\n handleMouseOver() {\n this.cardTrekMouseOver.emit(this.currentTrek.id);\n }\n\n @Listen('mouseleave')\n handleMouseLeave() {\n this.cardTrekMouseLeave.emit();\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n 'width': this.isLargeView ? '100%' : 'auto',\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 }}\n >\n {this.currentTrek && (\n <div\n part=\"trek-card\"\n class={\n this.isStep\n ? `trek-card trek-card-container trek-step-card${state.selectedStepId === this.currentTrek.id ? ' selected-trek-card' : ''} ${\n state.currentTrek.id === this.currentTrek.id ? 'is-current-step' : ''\n }`\n : this.isLargeView\n ? `trek-card trek-card-large-view-container${state.selectedTrekId === this.currentTrek.id ? ' selected-trek-card' : ''}`\n : `trek-card trek-card-container${state.selectedTrekId === this.currentTrek.id ? ' selected-trek-card' : ''}`\n }\n onClick={() => this.trekCardPress.emit(this.currentTrek.id)}\n >\n <div part=\"trek-img-container\" class=\"trek-img-container\">\n {this.isAvailableOffline && (\n <div part=\"offline-indicator\" class=\"offline-indicator\">\n {/* @ts-ignore */}\n <span translate={false} part=\"icon\" class=\"material-symbols material-symbols-outlined icon\">\n offline_pin\n </span>\n </div>\n )}\n {this.currentTrek.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n <img\n part=\"trek-img\"\n class=\"trek-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={`${this.currentTrek.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'trek-img default-trek-img';\n event.target.src = defaultImageSrc;\n }}\n />\n ) : (\n <img\n part=\"trek-img\"\n class=\"trek-img default-trek-img\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={defaultImageSrc}\n loading=\"lazy\"\n />\n )}\n </div>\n <div part=\"trek-sub-container\" class=\"trek-sub-container\">\n {this.departureCity && (\n <div part=\"trek-departure\" class=\"trek-departure\">\n {this.departureCity.name}\n </div>\n )}\n <div part=\"trek-name\" class=\"trek-name\">\n {this.currentTrek?.name}\n </div>\n {!this.isStep && this.themes && (\n <div part=\"trek-themes-container\" class=\"trek-themes-container\">\n {this.themes.map(theme => (\n <div part=\"trek-theme\" class=\"trek-theme\">\n {theme.label}\n </div>\n ))}\n </div>\n )}\n <div part=\"trek-icons-labels-container\" class=\"trek-icons-labels-container\">\n {this.difficulty && (\n <div part=\"trek-icon-label\" class=\"trek-icon-label difficulty\">\n {this.difficulty.pictogram && (\n <img\n part=\"trek-icon\"\n class=\"trek-icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.difficulty.pictogram}\n />\n )}\n <span part=\"trek-label\" class=\"trek-label\">\n {this.difficulty.label}\n </span>\n </div>\n )}\n <div part=\"trek-icon-label\" class=\"trek-icon-label duration\">\n {/* @ts-ignore */}\n <span part=\"trek-icon\" class=\"trek-icon material-symbols material-symbols-outlined\" translate={false}>\n timelapse\n </span>\n <span part=\"trek-label\" class=\"trek-label\">\n {formatDuration(this.currentTrek.duration)}\n </span>\n </div>\n <div part=\"trek-icon-label\" class=\"trek-icon-label length\">\n {/* @ts-ignore */}\n <span part=\"trek-icon\" class=\"trek-icon material-symbols material-symbols-outlined\" translate={false}>\n open_in_full\n </span>\n <span part=\"trek-label\" class=\"trek-label\">\n {formatLength(this.currentTrek.length_2d)}\n </span>\n </div>\n <div part=\"trek-icon-label\" class=\"trek-icon-label ascent\">\n {/* @ts-ignore */}\n <span part=\"trek-icon\" class=\"trek-icon material-symbols material-symbols-outlined\" translate={false}>\n moving\n </span>\n <span part=\"trek-label\" class=\"trek-label\">\n {formatAscent(this.currentTrek.ascent)}\n </span>\n </div>\n {!this.isStep && (\n <Fragment>\n <div part=\"trek-icon-label\" class=\"trek-icon-label route\">\n {this.route?.pictogram && (\n <img\n part=\"trek-icon\"\n class=\"trek-icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.route.pictogram}\n />\n )}\n <span part=\"trek-label\" class=\"trek-label\">\n {this.route?.route}\n </span>\n </div>\n <div part=\"trek-icon-label\" class=\"trek-icon-label practice\">\n {this.practice?.pictogram && (\n <img\n part=\"trek-icon\"\n class=\"trek-icon\"\n /* @ts-ignore */\n crossorigin=\"anonymous\"\n src={this.practice.pictogram}\n />\n )}\n <span part=\"trek-label\" class=\"trek-label\">\n {this.practice?.name}\n </span>\n </div>\n </Fragment>\n )}\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -30,7 +30,7 @@ const patchEsm = () => {
30
30
  const defineCustomElements = (win, options) => {
31
31
  if (typeof window === 'undefined') return Promise.resolve();
32
32
  return patchEsm().then(() => {
33
- return index.bootstrapLazy(JSON.parse("[[\"grw-filter.cjs\",[[1,\"grw-filter\",{\"fontFamily\":[1,\"font-family\"],\"filterType\":[1,\"filter-type\"],\"filterName\":[1,\"filter-name\"],\"filterPlaceholder\":[1,\"filter-placeholder\"],\"filterNameProperty\":[1,\"filter-name-property\"],\"segment\":[1]},[[8,\"resetFilter\",\"onResetFilter\"]]]]],[\"grw-information-desk_6.cjs\",[[1,\"grw-information-desk\",{\"informationDesk\":[16],\"displayShortDescription\":[32],\"showInformationDeskDescriptionButton\":[32],\"offline\":[32],\"showDefaultImage\":[32]}],[1,\"grw-poi\",{\"poi\":[16],\"displayShortDescription\":[32],\"showPoiDescriptionButton\":[32],\"displayFullscreen\":[32],\"offline\":[32]},[[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"]]],[1,\"grw-sensitive-area-detail\",{\"sensitiveArea\":[16]}],[1,\"grw-touristic-content-card\",{\"fontFamily\":[1,\"font-family\"],\"touristicContent\":[16],\"isLargeView\":[4,\"is-large-view\"],\"isInsideHorizontalList\":[4,\"is-inside-horizontal-list\"],\"displayFullscreen\":[32],\"offline\":[32]},[[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"],[1,\"mouseover\",\"handleMouseOver\"],[1,\"mouseleave\",\"handleMouseLeave\"]]],[1,\"grw-touristic-event-card\",{\"fontFamily\":[1,\"font-family\"],\"touristicEvent\":[16],\"isLargeView\":[4,\"is-large-view\"],\"isInsideHorizontalList\":[4,\"is-inside-horizontal-list\"],\"displayFullscreen\":[32],\"offline\":[32]},[[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"],[1,\"mouseover\",\"handleMouseOver\"],[1,\"mouseleave\",\"handleMouseLeave\"]]],[1,\"grw-trek-card\",{\"trek\":[16],\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"isLargeView\":[4,\"is-large-view\"],\"isStep\":[4,\"is-step\"],\"currentTrek\":[32],\"difficulty\":[32],\"route\":[32],\"practice\":[32],\"themes\":[32],\"departureCity\":[32],\"isAvailableOffline\":[32],\"showDefaultImage\":[32]},[[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"],[1,\"mouseover\",\"handleMouseOver\"],[1,\"mouseleave\",\"handleMouseLeave\"]]]]],[\"grw-common-button_21.cjs\",[[1,\"grw-trek-detail\",{\"trek\":[16],\"emergencyNumber\":[2,\"emergency-number\"],\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"colorBackground\":[1,\"color-background\"],\"weather\":[4],\"isLargeView\":[4,\"is-large-view\"],\"defaultBackgroundLayerUrl\":[8,\"default-background-layer-url\"],\"defaultBackgroundLayerAttribution\":[8,\"default-background-layer-attribution\"],\"enableOffline\":[4,\"enable-offline\"],\"globalTilesMinZoomOffline\":[2,\"global-tiles-min-zoom-offline\"],\"globalTilesMaxZoomOffline\":[2,\"global-tiles-max-zoom-offline\"],\"trekTilesMinZoomOffline\":[2,\"trek-tiles-min-zoom-offline\"],\"trekTilesMaxZoomOffline\":[2,\"trek-tiles-max-zoom-offline\"],\"currentTrek\":[32],\"difficulty\":[32],\"route\":[32],\"practice\":[32],\"themes\":[32],\"labels\":[32],\"sources\":[32],\"accessibilities\":[32],\"accessibilityLevel\":[32],\"displayFullscreen\":[32],\"cities\":[32],\"options\":[32],\"offline\":[32]},[[8,\"trekDownloadPress\",\"onTrekDownloadPress\"],[8,\"trekDeletePress\",\"onTrekDeletePress\"]]],[1,\"grw-filters\",{\"handleFilters\":[16],\"fontFamily\":[1,\"font-family\"],\"selectedSegment\":[32]}],[1,\"grw-touristic-contents-list\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"isLargeView\":[4,\"is-large-view\"],\"touristicContentsToDisplay\":[32]}],[1,\"grw-touristic-events-list\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"isLargeView\":[4,\"is-large-view\"],\"touristicEventsToDisplay\":[32]}],[1,\"grw-treks-list\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"displayOnlyOfflineTreks\":[4,\"display-only-offline-treks\"],\"isLargeView\":[4,\"is-large-view\"],\"treksToDisplay\":[32]}],[1,\"grw-common-button\",{\"action\":[16],\"icon\":[1],\"name\":[1],\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-extended-fab\",{\"action\":[16],\"icon\":[16],\"name\":[16],\"display\":[1],\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-loader\",{\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"]}],[1,\"grw-map\",{\"nameLayer\":[1,\"name-layer\"],\"urlLayer\":[1,\"url-layer\"],\"attributionLayer\":[1,\"attribution-layer\"],\"center\":[1],\"zoom\":[2],\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorBackground\":[1,\"color-background\"],\"colorTrekLine\":[1,\"color-trek-line\"],\"colorSensitiveArea\":[1,\"color-sensitive-area\"],\"colorPoiIcon\":[1,\"color-poi-icon\"],\"useGradient\":[4,\"use-gradient\"],\"trekTilesMaxZoomOffline\":[2,\"trek-tiles-max-zoom-offline\"],\"isLargeView\":[4,\"is-large-view\"],\"mapIsReady\":[32]},[[8,\"centerOnMap\",\"onCenterOnMap\"],[8,\"stepsIsInViewport\",\"stepsIsInViewport\"],[8,\"descriptionIsInViewport\",\"descriptionIsInViewport\"],[8,\"parkingIsInViewport\",\"parkingIsInViewport\"],[8,\"informationDeskIsInViewport\",\"onInformationDesksIsInViewport\"],[8,\"sensitiveAreaIsInViewport\",\"sensitiveAreaIsInViewport\"],[8,\"poiIsInViewport\",\"poiIsInViewport\"],[8,\"touristicContentsIsInViewport\",\"touristicContentsIsInViewport\"],[8,\"touristicEventsIsInViewport\",\"touristicEventsIsInViewport\"],[8,\"cardTrekMouseOver\",\"onCardTrekMouseOver\"],[8,\"cardTrekMouseLeave\",\"onCardTrekMouseLeave\"],[8,\"cardTouristicContentMouseOver\",\"onTouristicContentMouseOver\"],[8,\"cardTouristicContentMouseLeave\",\"onTouristicContentMouseLeave\"],[8,\"cardTouristicEventMouseOver\",\"onTouristicEventMouseOver\"],[8,\"cardTouristicEventMouseLeave\",\"onTouristicEventMouseLeave\"],[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"]]],[1,\"grw-search\",{\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-segmented-segment\",{\"treks\":[4],\"touristicContents\":[4,\"touristic-contents\"],\"touristicEvents\":[4,\"touristic-events\"],\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-select-language\"],[1,\"grw-switch\",{\"action\":[16],\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-touristic-content-detail\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"colorBackground\":[1,\"color-background\"],\"isLargeView\":[4,\"is-large-view\"],\"displayFullscreen\":[32],\"offline\":[32]}],[1,\"grw-touristic-content-provider\",{\"languages\":[1],\"api\":[1],\"touristicContentId\":[2,\"touristic-content-id\"],\"portals\":[1]}],[1,\"grw-touristic-contents-provider\",{\"languages\":[1],\"api\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"portals\":[1]}],[1,\"grw-touristic-event-detail\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"colorBackground\":[1,\"color-background\"],\"isLargeView\":[4,\"is-large-view\"],\"displayFullscreen\":[32],\"offline\":[32]}],[1,\"grw-touristic-event-provider\",{\"languages\":[1],\"api\":[1],\"touristicEventId\":[1,\"touristic-event-id\"],\"portals\":[1]}],[1,\"grw-touristic-events-provider\",{\"languages\":[1],\"api\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"portals\":[1]}],[1,\"grw-trek-provider\",{\"languages\":[1],\"api\":[1],\"trekId\":[2,\"trek-id\"],\"portals\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"routes\":[1],\"practices\":[1]}],[1,\"grw-treks-provider\",{\"languages\":[1],\"api\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"portals\":[1],\"routes\":[1],\"practices\":[1]}]]],[\"grw-app.cjs\",[[0,\"grw-app\",{\"appWidth\":[1,\"app-width\"],\"appHeight\":[1,\"app-height\"],\"api\":[1],\"languages\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"portals\":[1],\"routes\":[1],\"practices\":[1],\"center\":[1],\"zoom\":[2],\"nameLayer\":[1,\"name-layer\"],\"urlLayer\":[1,\"url-layer\"],\"attributionLayer\":[1,\"attribution-layer\"],\"weather\":[4],\"emergencyNumber\":[2,\"emergency-number\"],\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnPrimary\":[1,\"color-on-primary\"],\"colorSurface\":[1,\"color-surface\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSurfaceVariant\":[1,\"color-surface-variant\"],\"colorOnSurfaceVariant\":[1,\"color-on-surface-variant\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorBackground\":[1,\"color-background\"],\"colorSurfaceContainerHigh\":[1,\"color-surface-container-high\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"fabBackgroundColor\":[1,\"fab-background-color\"],\"fabColor\":[1,\"fab-color\"],\"rounded\":[4],\"colorTrekLine\":[1,\"color-trek-line\"],\"colorSensitiveArea\":[1,\"color-sensitive-area\"],\"colorPoiIcon\":[1,\"color-poi-icon\"],\"useGradient\":[4,\"use-gradient\"],\"treks\":[4],\"touristicContents\":[4,\"touristic-contents\"],\"touristicEvents\":[4,\"touristic-events\"],\"enableOffline\":[4,\"enable-offline\"],\"globalTilesMinZoomOffline\":[2,\"global-tiles-min-zoom-offline\"],\"globalTilesMaxZoomOffline\":[2,\"global-tiles-max-zoom-offline\"],\"trekTilesMinZoomOffline\":[2,\"trek-tiles-min-zoom-offline\"],\"trekTilesMaxZoomOffline\":[2,\"trek-tiles-max-zoom-offline\"],\"showTrek\":[32],\"showTouristicContent\":[32],\"showTouristicEvent\":[32],\"showHomeMap\":[32],\"showTrekMap\":[32],\"showTouristicContentMap\":[32],\"showTouristicEventMap\":[32],\"showFilters\":[32],\"isLargeView\":[32],\"currentTrekId\":[32],\"currentTouristicContentId\":[32],\"currentTouristicEventId\":[32],\"showOfflineModal\":[32],\"showConfirmModal\":[32],\"showLoaderModal\":[32],\"showSuccessModal\":[32],\"showConfirmDeleteModal\":[32],\"showDeletingMessage\":[32],\"showDeleteSuccessMessage\":[32]},[[8,\"trekCardPress\",\"onTrekCardPress\"],[8,\"parentTrekPress\",\"onParentTrekPress\"],[8,\"touristicContentCardPress\",\"onTouristicContentCardPress\"],[8,\"touristicEventCardPress\",\"onTouristiceEventCardPress\"],[9,\"resize\",\"onWindowResize\"],[8,\"centerOnMap\",\"onCenterOnMap\"],[8,\"trekDownloadConfirm\",\"onTrekDownloadConfirm\"],[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteConfirm\",\"onTrekDeleteConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"]]]]]]"), options);
33
+ return index.bootstrapLazy(JSON.parse("[[\"grw-filter.cjs\",[[1,\"grw-filter\",{\"fontFamily\":[1,\"font-family\"],\"filterType\":[1,\"filter-type\"],\"filterName\":[1,\"filter-name\"],\"filterPlaceholder\":[1,\"filter-placeholder\"],\"filterNameProperty\":[1,\"filter-name-property\"],\"segment\":[1]},[[8,\"resetFilter\",\"onResetFilter\"]]]]],[\"grw-information-desk_6.cjs\",[[1,\"grw-information-desk\",{\"informationDesk\":[16],\"displayShortDescription\":[32],\"showInformationDeskDescriptionButton\":[32],\"offline\":[32],\"showDefaultImage\":[32]}],[1,\"grw-poi\",{\"poi\":[16],\"displayShortDescription\":[32],\"showPoiDescriptionButton\":[32],\"displayFullscreen\":[32],\"offline\":[32]},[[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"]]],[1,\"grw-sensitive-area-detail\",{\"sensitiveArea\":[16]}],[1,\"grw-touristic-content-card\",{\"fontFamily\":[1,\"font-family\"],\"touristicContent\":[16],\"isLargeView\":[4,\"is-large-view\"],\"isInsideHorizontalList\":[4,\"is-inside-horizontal-list\"],\"displayFullscreen\":[32],\"offline\":[32]},[[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"],[1,\"mouseover\",\"handleMouseOver\"],[1,\"mouseleave\",\"handleMouseLeave\"]]],[1,\"grw-touristic-event-card\",{\"fontFamily\":[1,\"font-family\"],\"touristicEvent\":[16],\"isLargeView\":[4,\"is-large-view\"],\"isInsideHorizontalList\":[4,\"is-inside-horizontal-list\"],\"displayFullscreen\":[32],\"offline\":[32]},[[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"],[1,\"mouseover\",\"handleMouseOver\"],[1,\"mouseleave\",\"handleMouseLeave\"]]],[1,\"grw-trek-card\",{\"trek\":[16],\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"isLargeView\":[4,\"is-large-view\"],\"isStep\":[4,\"is-step\"],\"currentTrek\":[32],\"difficulty\":[32],\"route\":[32],\"practice\":[32],\"themes\":[32],\"departureCity\":[32],\"isAvailableOffline\":[32],\"showDefaultImage\":[32]},[[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"],[1,\"mouseover\",\"handleMouseOver\"],[1,\"mouseleave\",\"handleMouseLeave\"]]]]],[\"grw-common-button_21.cjs\",[[1,\"grw-trek-detail\",{\"trek\":[16],\"emergencyNumber\":[2,\"emergency-number\"],\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"colorBackground\":[1,\"color-background\"],\"weather\":[4],\"isLargeView\":[4,\"is-large-view\"],\"defaultBackgroundLayerUrl\":[8,\"default-background-layer-url\"],\"defaultBackgroundLayerAttribution\":[8,\"default-background-layer-attribution\"],\"enableOffline\":[4,\"enable-offline\"],\"globalTilesMinZoomOffline\":[2,\"global-tiles-min-zoom-offline\"],\"globalTilesMaxZoomOffline\":[2,\"global-tiles-max-zoom-offline\"],\"trekTilesMinZoomOffline\":[2,\"trek-tiles-min-zoom-offline\"],\"trekTilesMaxZoomOffline\":[2,\"trek-tiles-max-zoom-offline\"],\"currentTrek\":[32],\"difficulty\":[32],\"route\":[32],\"practice\":[32],\"themes\":[32],\"labels\":[32],\"sources\":[32],\"accessibilities\":[32],\"accessibilityLevel\":[32],\"displayFullscreen\":[32],\"cities\":[32],\"options\":[32],\"offline\":[32]},[[8,\"trekDownloadPress\",\"onTrekDownloadPress\"],[8,\"trekDeletePress\",\"onTrekDeletePress\"]]],[1,\"grw-filters\",{\"handleFilters\":[16],\"fontFamily\":[1,\"font-family\"],\"selectedSegment\":[32]}],[1,\"grw-touristic-contents-list\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"isLargeView\":[4,\"is-large-view\"],\"touristicContentsToDisplay\":[32]}],[1,\"grw-touristic-events-list\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"isLargeView\":[4,\"is-large-view\"],\"touristicEventsToDisplay\":[32]}],[1,\"grw-treks-list\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"displayOnlyOfflineTreks\":[4,\"display-only-offline-treks\"],\"isLargeView\":[4,\"is-large-view\"],\"treksToDisplay\":[32]}],[1,\"grw-common-button\",{\"action\":[16],\"icon\":[1],\"name\":[1],\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-extended-fab\",{\"action\":[16],\"icon\":[16],\"name\":[16],\"display\":[1],\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-loader\",{\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"]}],[1,\"grw-map\",{\"nameLayer\":[1,\"name-layer\"],\"urlLayer\":[1,\"url-layer\"],\"attributionLayer\":[1,\"attribution-layer\"],\"center\":[1],\"zoom\":[2],\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorBackground\":[1,\"color-background\"],\"colorTrekLine\":[1,\"color-trek-line\"],\"colorSensitiveArea\":[1,\"color-sensitive-area\"],\"colorPoiIcon\":[1,\"color-poi-icon\"],\"useGradient\":[4,\"use-gradient\"],\"trekTilesMaxZoomOffline\":[2,\"trek-tiles-max-zoom-offline\"],\"isLargeView\":[4,\"is-large-view\"],\"mapIsReady\":[32]},[[8,\"centerOnMap\",\"onCenterOnMap\"],[8,\"stepsIsInViewport\",\"stepsIsInViewport\"],[8,\"descriptionIsInViewport\",\"descriptionIsInViewport\"],[8,\"parkingIsInViewport\",\"parkingIsInViewport\"],[8,\"informationDeskIsInViewport\",\"onInformationDesksIsInViewport\"],[8,\"sensitiveAreaIsInViewport\",\"sensitiveAreaIsInViewport\"],[8,\"poiIsInViewport\",\"poiIsInViewport\"],[8,\"touristicContentsIsInViewport\",\"touristicContentsIsInViewport\"],[8,\"touristicEventsIsInViewport\",\"touristicEventsIsInViewport\"],[8,\"cardTrekMouseOver\",\"onCardTrekMouseOver\"],[8,\"cardTrekMouseLeave\",\"onCardTrekMouseLeave\"],[8,\"cardTouristicContentMouseOver\",\"onTouristicContentMouseOver\"],[8,\"cardTouristicContentMouseLeave\",\"onTouristicContentMouseLeave\"],[8,\"cardTouristicEventMouseOver\",\"onTouristicEventMouseOver\"],[8,\"cardTouristicEventMouseLeave\",\"onTouristicEventMouseLeave\"],[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"]]],[1,\"grw-search\",{\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-segmented-segment\",{\"treks\":[4],\"touristicContents\":[4,\"touristic-contents\"],\"touristicEvents\":[4,\"touristic-events\"],\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-select-language\"],[1,\"grw-switch\",{\"action\":[16],\"fontFamily\":[1,\"font-family\"]}],[1,\"grw-touristic-content-detail\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"colorBackground\":[1,\"color-background\"],\"isLargeView\":[4,\"is-large-view\"],\"displayFullscreen\":[32],\"offline\":[32]}],[1,\"grw-touristic-content-provider\",{\"languages\":[1],\"api\":[1],\"touristicContentId\":[2,\"touristic-content-id\"],\"portals\":[1]}],[1,\"grw-touristic-contents-provider\",{\"languages\":[1],\"api\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"portals\":[1]}],[1,\"grw-touristic-event-detail\",{\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"colorBackground\":[1,\"color-background\"],\"isLargeView\":[4,\"is-large-view\"],\"displayFullscreen\":[32],\"offline\":[32]}],[1,\"grw-touristic-event-provider\",{\"languages\":[1],\"api\":[1],\"touristicEventId\":[1,\"touristic-event-id\"],\"portals\":[1]}],[1,\"grw-touristic-events-provider\",{\"languages\":[1],\"api\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"portals\":[1]}],[1,\"grw-trek-provider\",{\"languages\":[1],\"api\":[1],\"trekId\":[2,\"trek-id\"],\"portals\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"routes\":[1],\"practices\":[1]}],[1,\"grw-treks-provider\",{\"languages\":[1],\"api\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"portals\":[1],\"routes\":[1],\"practices\":[1]}]]],[\"grw-app.cjs\",[[0,\"grw-app\",{\"appWidth\":[1,\"app-width\"],\"appHeight\":[1,\"app-height\"],\"api\":[1],\"languages\":[1],\"inBbox\":[1,\"in-bbox\"],\"cities\":[1],\"districts\":[1],\"structures\":[1],\"themes\":[1],\"portals\":[1],\"routes\":[1],\"practices\":[1],\"center\":[1],\"zoom\":[2],\"nameLayer\":[1,\"name-layer\"],\"urlLayer\":[1,\"url-layer\"],\"attributionLayer\":[1,\"attribution-layer\"],\"weather\":[4],\"emergencyNumber\":[2,\"emergency-number\"],\"fontFamily\":[1,\"font-family\"],\"colorPrimaryApp\":[1,\"color-primary-app\"],\"colorPrimary\":[1,\"color-primary\"],\"colorOnPrimary\":[1,\"color-on-primary\"],\"colorSurface\":[1,\"color-surface\"],\"colorOnSurface\":[1,\"color-on-surface\"],\"colorSurfaceVariant\":[1,\"color-surface-variant\"],\"colorOnSurfaceVariant\":[1,\"color-on-surface-variant\"],\"colorPrimaryContainer\":[1,\"color-primary-container\"],\"colorOnPrimaryContainer\":[1,\"color-on-primary-container\"],\"colorSecondaryContainer\":[1,\"color-secondary-container\"],\"colorOnSecondaryContainer\":[1,\"color-on-secondary-container\"],\"colorBackground\":[1,\"color-background\"],\"colorSurfaceContainerHigh\":[1,\"color-surface-container-high\"],\"colorSurfaceContainerLow\":[1,\"color-surface-container-low\"],\"fabBackgroundColor\":[1,\"fab-background-color\"],\"fabColor\":[1,\"fab-color\"],\"rounded\":[4],\"colorTrekLine\":[1,\"color-trek-line\"],\"colorSensitiveArea\":[1,\"color-sensitive-area\"],\"colorPoiIcon\":[1,\"color-poi-icon\"],\"useGradient\":[4,\"use-gradient\"],\"treks\":[4],\"touristicContents\":[4,\"touristic-contents\"],\"touristicEvents\":[4,\"touristic-events\"],\"enableOffline\":[4,\"enable-offline\"],\"globalTilesMinZoomOffline\":[2,\"global-tiles-min-zoom-offline\"],\"globalTilesMaxZoomOffline\":[2,\"global-tiles-max-zoom-offline\"],\"trekTilesMinZoomOffline\":[2,\"trek-tiles-min-zoom-offline\"],\"trekTilesMaxZoomOffline\":[2,\"trek-tiles-max-zoom-offline\"],\"showTrek\":[32],\"showTouristicContent\":[32],\"showTouristicEvent\":[32],\"showHomeMap\":[32],\"showTrekMap\":[32],\"showTouristicContentMap\":[32],\"showTouristicEventMap\":[32],\"showFilters\":[32],\"isLargeView\":[32],\"currentTrekId\":[32],\"currentTouristicContentId\":[32],\"currentTouristicEventId\":[32],\"showOfflineModal\":[32],\"showConfirmModal\":[32],\"showLoaderModal\":[32],\"showSuccessModal\":[32],\"showConfirmDeleteModal\":[32],\"showDeletingMessage\":[32],\"showDeleteSuccessMessage\":[32]},[[8,\"trekCardPress\",\"onTrekCardPress\"],[8,\"parentTrekPress\",\"onParentTrekPress\"],[8,\"touristicContentCardPress\",\"onTouristicContentCardPress\"],[8,\"touristicEventCardPress\",\"onTouristiceEventCardPress\"],[9,\"resize\",\"onWindowResize\"],[8,\"centerOnMap\",\"onCenterOnMap\"],[8,\"trekDownloadConfirm\",\"onTrekDownloadConfirm\"],[8,\"trekDownloadedSuccessConfirm\",\"onTrekDownloadedSuccessConfirm\"],[8,\"trekDeleteConfirm\",\"onTrekDeleteConfirm\"],[8,\"trekDeleteSuccessConfirm\",\"onTrekDeleteSuccessConfirm\"]]]]]]"), options);
34
34
  });
35
35
  };
36
36
 
Binary file
Binary file
@@ -251,7 +251,7 @@ grw-touristic-event-detail {
251
251
  border: none;
252
252
  -webkit-tap-highlight-color: transparent;
253
253
  line-height: 20px;
254
- color: var(--color-on-primary-container);
254
+ color: var(--color-primary-app);
255
255
  background-color: transparent;
256
256
  font-family: var(--font-family);
257
257
  }