@geotrekce/geotrek-rando-widget 0.18.0 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/grw-app.cjs.entry.js +5 -5
- package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-app.cjs.entry.js.map +1 -1
- package/dist/cjs/grw-common-button_27.cjs.entry.js +496 -374
- package/dist/cjs/grw-common-button_27.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-common-button_27.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-common-button_27.cjs.entry.js.map +1 -1
- package/dist/cjs/grw-information-desk_3.cjs.entry.js +1 -1
- package/dist/cjs/grw-information-desk_3.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-information-desk_3.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-poi_3.cjs.entry.js +58 -38
- package/dist/cjs/grw-poi_3.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-poi_3.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-poi_3.cjs.entry.js.map +1 -1
- package/dist/cjs/{i18n-2df02bcf.js → i18n-736691e8.js} +5 -1
- package/dist/cjs/i18n-736691e8.js.br +0 -0
- package/dist/cjs/i18n-736691e8.js.gz +0 -0
- package/dist/cjs/i18n-736691e8.js.map +1 -0
- package/dist/collection/components/grw-app/grw-app.js +4 -4
- package/dist/collection/components/grw-app/grw-app.js.br +0 -0
- package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
- package/dist/collection/components/grw-app/grw-app.js.map +1 -1
- package/dist/collection/components/grw-common-button/grw-common-button.css +1 -0
- package/dist/collection/components/grw-common-button/grw-common-button.css.br +0 -0
- package/dist/collection/components/grw-common-button/grw-common-button.css.gz +0 -0
- package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js +104 -77
- package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js.br +0 -0
- package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js.gz +0 -0
- package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js.map +1 -1
- package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js +185 -143
- package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js.br +0 -0
- package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js.gz +0 -0
- package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js.map +1 -1
- package/dist/collection/components/grw-poi-detail/grw-poi.js +31 -23
- package/dist/collection/components/grw-poi-detail/grw-poi.js.br +0 -0
- package/dist/collection/components/grw-poi-detail/grw-poi.js.gz +0 -0
- package/dist/collection/components/grw-poi-detail/grw-poi.js.map +1 -1
- package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js +13 -7
- package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.br +0 -0
- package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.gz +0 -0
- package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.map +1 -1
- package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js +24 -16
- package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js.br +0 -0
- package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js.gz +0 -0
- package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js.map +1 -1
- package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js +13 -7
- package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.br +0 -0
- package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.gz +0 -0
- package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.map +1 -1
- package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js +24 -16
- package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js.br +0 -0
- package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js.gz +0 -0
- package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js.map +1 -1
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +157 -120
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
- package/dist/collection/i18n/i18n.js +4 -0
- package/dist/collection/i18n/i18n.js.br +0 -0
- package/dist/collection/i18n/i18n.js.gz +0 -0
- package/dist/collection/i18n/i18n.js.map +1 -1
- package/dist/collection/stories/App.js +2 -1
- package/dist/collection/stories/App.js.br +0 -0
- package/dist/collection/stories/App.js.gz +0 -0
- package/dist/collection/stories/App.stories.js +1 -0
- package/dist/collection/stories/App.stories.js.br +0 -0
- package/dist/collection/stories/App.stories.js.gz +0 -0
- package/dist/esm/grw-app.entry.js +5 -5
- package/dist/esm/grw-app.entry.js.br +0 -0
- package/dist/esm/grw-app.entry.js.gz +0 -0
- package/dist/esm/grw-app.entry.js.map +1 -1
- package/dist/esm/grw-common-button_27.entry.js +496 -374
- package/dist/esm/grw-common-button_27.entry.js.br +0 -0
- package/dist/esm/grw-common-button_27.entry.js.gz +0 -0
- package/dist/esm/grw-common-button_27.entry.js.map +1 -1
- package/dist/esm/grw-information-desk_3.entry.js +1 -1
- package/dist/esm/grw-information-desk_3.entry.js.br +0 -0
- package/dist/esm/grw-information-desk_3.entry.js.gz +0 -0
- package/dist/esm/grw-poi_3.entry.js +58 -38
- package/dist/esm/grw-poi_3.entry.js.br +0 -0
- package/dist/esm/grw-poi_3.entry.js.gz +0 -0
- package/dist/esm/grw-poi_3.entry.js.map +1 -1
- package/dist/esm/{i18n-9a7ac609.js → i18n-84192695.js} +5 -1
- package/dist/esm/i18n-84192695.js.br +0 -0
- package/dist/esm/i18n-84192695.js.gz +0 -0
- package/dist/esm/i18n-84192695.js.map +1 -0
- package/dist/esm-es5/grw-app.entry.js +1 -1
- package/dist/esm-es5/grw-app.entry.js.br +0 -0
- package/dist/esm-es5/grw-app.entry.js.gz +0 -0
- package/dist/esm-es5/grw-app.entry.js.map +1 -1
- package/dist/esm-es5/grw-common-button_27.entry.js +3 -3
- package/dist/esm-es5/grw-common-button_27.entry.js.br +0 -0
- package/dist/esm-es5/grw-common-button_27.entry.js.gz +0 -0
- package/dist/esm-es5/grw-common-button_27.entry.js.map +1 -1
- package/dist/esm-es5/grw-information-desk_3.entry.js +1 -1
- package/dist/esm-es5/grw-information-desk_3.entry.js.br +0 -0
- package/dist/esm-es5/grw-information-desk_3.entry.js.gz +0 -0
- package/dist/esm-es5/grw-poi_3.entry.js +1 -1
- package/dist/esm-es5/grw-poi_3.entry.js.br +0 -0
- package/dist/esm-es5/grw-poi_3.entry.js.gz +0 -0
- package/dist/esm-es5/grw-poi_3.entry.js.map +1 -1
- package/dist/esm-es5/i18n-84192695.js +2 -0
- package/dist/esm-es5/i18n-84192695.js.br +0 -0
- package/dist/esm-es5/i18n-84192695.js.gz +0 -0
- package/dist/esm-es5/i18n-84192695.js.map +1 -0
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
- package/dist/geotrek-rando-widget/{p-989276bc.entry.js → p-2ed1025e.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-2ed1025e.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-2ed1025e.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/{p-6f7d6ea5.system.entry.js → p-3ea6b596.system.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-3ea6b596.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-3ea6b596.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-45fc47d9.entry.js +10 -0
- package/dist/geotrek-rando-widget/p-45fc47d9.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-45fc47d9.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-45fc47d9.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-5d955904.system.js +2 -0
- package/dist/geotrek-rando-widget/p-5d955904.system.js.br +0 -0
- package/dist/geotrek-rando-widget/p-5d955904.system.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-5d955904.system.js.map +1 -0
- package/dist/geotrek-rando-widget/p-6b64ae12.js +2 -0
- package/dist/geotrek-rando-widget/p-6b64ae12.js.br +0 -0
- package/dist/geotrek-rando-widget/p-6b64ae12.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-6b64ae12.js.map +1 -0
- package/dist/geotrek-rando-widget/p-76e3667f.system.entry.js +2 -0
- package/dist/geotrek-rando-widget/p-76e3667f.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-76e3667f.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-76e3667f.system.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-775aaaa7.system.js +1 -1
- package/dist/geotrek-rando-widget/p-775aaaa7.system.js.br +0 -0
- package/dist/geotrek-rando-widget/p-775aaaa7.system.js.gz +0 -0
- package/dist/geotrek-rando-widget/{p-6ac9b3f1.entry.js → p-9d7b3f9a.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-9d7b3f9a.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-9d7b3f9a.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-9d7b3f9a.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-bee90815.system.entry.js +10 -0
- package/dist/geotrek-rando-widget/p-bee90815.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-bee90815.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-bee90815.system.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-c61ad2b7.entry.js +2 -0
- package/dist/geotrek-rando-widget/p-c61ad2b7.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-c61ad2b7.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-c61ad2b7.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/{p-01061bf4.system.entry.js → p-f3a9a20f.system.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-f3a9a20f.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-f3a9a20f.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-f3a9a20f.system.entry.js.map +1 -0
- package/dist/types/components/grw-outdoor-course-detail/grw-outdoor-course-detail.d.ts +3 -0
- package/dist/types/components/grw-outdoor-site-detail/grw-outdoor-site-detail.d.ts +3 -0
- package/dist/types/components/grw-poi-detail/grw-poi.d.ts +2 -0
- package/dist/types/components/grw-touristic-content-card/grw-touristic-content-card.d.ts +2 -0
- package/dist/types/components/grw-touristic-content-detail/grw-touristic-content-detail.d.ts +2 -0
- package/dist/types/components/grw-touristic-event-card/grw-touristic-event-card.d.ts +2 -0
- package/dist/types/components/grw-touristic-event-detail/grw-touristic-event-detail.d.ts +2 -0
- package/dist/types/components/grw-trek-detail/grw-trek-detail.d.ts +1 -0
- package/dist/types/i18n/i18n.d.ts +2 -0
- package/package.json +1 -1
- package/dist/cjs/i18n-2df02bcf.js.br +0 -0
- package/dist/cjs/i18n-2df02bcf.js.gz +0 -0
- package/dist/cjs/i18n-2df02bcf.js.map +0 -1
- package/dist/esm/i18n-9a7ac609.js.br +0 -0
- package/dist/esm/i18n-9a7ac609.js.gz +0 -0
- package/dist/esm/i18n-9a7ac609.js.map +0 -1
- package/dist/esm-es5/i18n-9a7ac609.js +0 -2
- package/dist/esm-es5/i18n-9a7ac609.js.br +0 -0
- package/dist/esm-es5/i18n-9a7ac609.js.gz +0 -0
- package/dist/esm-es5/i18n-9a7ac609.js.map +0 -1
- package/dist/geotrek-rando-widget/p-01061bf4.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-01061bf4.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-01061bf4.system.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-105ea0c8.js +0 -2
- package/dist/geotrek-rando-widget/p-105ea0c8.js.br +0 -0
- package/dist/geotrek-rando-widget/p-105ea0c8.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-105ea0c8.js.map +0 -1
- package/dist/geotrek-rando-widget/p-2b7b2f0b.entry.js +0 -2
- package/dist/geotrek-rando-widget/p-2b7b2f0b.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-2b7b2f0b.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-2b7b2f0b.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-6ac9b3f1.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-6ac9b3f1.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-6ac9b3f1.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-6f7d6ea5.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-6f7d6ea5.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-7e28980f.system.entry.js +0 -10
- package/dist/geotrek-rando-widget/p-7e28980f.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-7e28980f.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-7e28980f.system.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-989276bc.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-989276bc.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-a2af6c11.entry.js +0 -10
- package/dist/geotrek-rando-widget/p-a2af6c11.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-a2af6c11.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-a2af6c11.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-b4942f58.system.js +0 -2
- package/dist/geotrek-rando-widget/p-b4942f58.system.js.br +0 -0
- package/dist/geotrek-rando-widget/p-b4942f58.system.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-b4942f58.system.js.map +0 -1
- package/dist/geotrek-rando-widget/p-c5a341b3.system.entry.js +0 -2
- package/dist/geotrek-rando-widget/p-c5a341b3.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-c5a341b3.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-c5a341b3.system.entry.js.map +0 -1
- /package/dist/geotrek-rando-widget/{p-989276bc.entry.js.map → p-2ed1025e.entry.js.map} +0 -0
- /package/dist/geotrek-rando-widget/{p-6f7d6ea5.system.entry.js.map → p-3ea6b596.system.entry.js.map} +0 -0
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-2febcb90.js');
|
|
6
6
|
const utils = require('./utils-5eb791dc.js');
|
|
7
|
-
const i18n = require('./i18n-
|
|
7
|
+
const i18n = require('./i18n-736691e8.js');
|
|
8
8
|
const grwDb_service = require('./grw-db.service-8542603e.js');
|
|
9
9
|
const call = require('./call-cf7e5fa6.js');
|
|
10
10
|
|
|
Binary file
|
|
Binary file
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-2febcb90.js');
|
|
6
6
|
const pagination = require('./pagination-00dcc9db.js');
|
|
7
7
|
const utils = require('./utils-5eb791dc.js');
|
|
8
|
-
const i18n = require('./i18n-
|
|
8
|
+
const i18n = require('./i18n-736691e8.js');
|
|
9
9
|
const grwDb_service = require('./grw-db.service-8542603e.js');
|
|
10
10
|
|
|
11
11
|
const grwPoiCss = "@font-face{font-family:\"swiper-icons\";src:url(\"data:application/font-woff;charset=utf-8;base64, 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\") format(\"woff\");font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff;}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-slide,swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-backface-hidden .swiper-slide{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{-webkit-perspective:1200px;perspective:1200px}.swiper-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0, 0, 0, 0.15)}.swiper-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{-webkit-scroll-snap-type:none;-ms-scroll-snap-type:none;scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-centered>.swiper-wrapper::before{content:\"\";-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:9999;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-centered-offset-before);margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-centered-offset-before);margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;transform-origin:50%;-webkit-box-sizing:border-box;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{-webkit-animation:swiper-preloader-spin 1s infinite linear;animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@-webkit-keyframes swiper-preloader-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}:root{--swiper-navigation-size:44px;}.swiper-button-prev,.swiper-button-next{position:absolute;top:var(--swiper-navigation-top-offset, 50%);width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - var(--swiper-navigation-size) / 2);z-index:10;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev.swiper-button-hidden,.swiper-button-next.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next{display:none !important}.swiper-button-prev:after,.swiper-button-next:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none !important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset, 10px);right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:\"prev\"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset, 10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:\"next\"}.swiper-button-lock{display:none}:root{}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none !important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, 0.2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none !important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));position:absolute;}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper{z-index:0}:host{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;border:1px solid gray;border-radius:var(--border-radius, 12px);background-color:var(--color-surface-container-low);color:var(--color-on-surface);--swiper-navigation-size:24px;--swiper-navigation-color:var(--color-on-primary-container);--swiper-pagination-color:var(--color-primary-container);--swiper-pagination-bullet-size:12px}:host a{color:var(--color-primary-app)}:host .swiper-button-prev,:host .swiper-button-next{background-color:var(--color-primary-container);padding:4px;width:32px;height:32px;border-radius:var(--border-radius, 32px);-webkit-box-shadow:var(--elevation-1);box-shadow:var(--elevation-1)}:host .swiper-button-prev:hover,:host .swiper-button-next:hover{-webkit-box-shadow:var(--elevation-2);box-shadow:var(--elevation-2)}.poi-type-img-container{position:relative}.poi-type-img-container .poi-img,.poi-type-img-container .default-poi-img{width:100%;height:100%;height:200px;-o-object-fit:cover;object-fit:cover}.poi-type-img-container .poi-img{cursor:pointer;-o-object-fit:cover;object-fit:cover}.poi-type-img-container .default-poi-img{background-color:var(--color-primary-container);-o-object-fit:contain;object-fit:contain}.poi-type-img-container .img-fullscreen{max-height:none;-o-object-fit:contain;object-fit:contain}.poi-type-img-container .poi-type{width:24px;height:24px;padding:4px;border:2px solid #ffffff;border-radius:var(--border-radius, 50%);background-color:var(--color-on-surface);position:absolute;top:8px;left:8px;z-index:200}.poi-sub-container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:12px}.poi-name{font-size:16px;line-height:24px;height:64px}.poi-description{font-size:14px;line-height:20px}.poi-description-short{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.handle-poi-description{cursor:pointer;color:var(--color-primary-app);text-decoration:underline;margin-top:12px;height:22px}p{margin:0}";
|
|
@@ -29,29 +29,37 @@ const GrwPoiDetail = class {
|
|
|
29
29
|
onTrekDeleteSuccessConfirm() {
|
|
30
30
|
this.offline = false;
|
|
31
31
|
}
|
|
32
|
+
handleSwipers() {
|
|
33
|
+
if (this.swiperPoiRef && !this.swiperPoi) {
|
|
34
|
+
this.swiperPoi = new pagination.Swiper(this.swiperPoiRef, {
|
|
35
|
+
modules: [pagination.Navigation, pagination.Pagination, pagination.Keyboard],
|
|
36
|
+
navigation: {
|
|
37
|
+
prevEl: this.prevElPoiRef,
|
|
38
|
+
nextEl: this.nextElPoiRef,
|
|
39
|
+
},
|
|
40
|
+
pagination: { el: this.paginationElPoiRef },
|
|
41
|
+
allowTouchMove: false,
|
|
42
|
+
keyboard: false,
|
|
43
|
+
loop: true,
|
|
44
|
+
});
|
|
45
|
+
this.swiperPoiRef.onfullscreenchange = () => {
|
|
46
|
+
this.displayFullscreen = !this.displayFullscreen && !this.offline;
|
|
47
|
+
if (this.displayFullscreen) {
|
|
48
|
+
this.swiperPoi.keyboard.enable();
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.swiperPoi.keyboard.disable();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
this.showPoiDescriptionButton = this.descriptionRef.clientHeight < this.descriptionRef.scrollHeight;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
componentDidUpdate() {
|
|
58
|
+
this.handleSwipers();
|
|
59
|
+
}
|
|
32
60
|
componentDidLoad() {
|
|
33
61
|
this.handleOffline();
|
|
34
|
-
this.
|
|
35
|
-
modules: [pagination.Navigation, pagination.Pagination, pagination.Keyboard],
|
|
36
|
-
navigation: {
|
|
37
|
-
prevEl: this.prevElPoiRef,
|
|
38
|
-
nextEl: this.nextElPoiRef,
|
|
39
|
-
},
|
|
40
|
-
pagination: { el: this.paginationElPoiRef },
|
|
41
|
-
allowTouchMove: false,
|
|
42
|
-
keyboard: false,
|
|
43
|
-
loop: true,
|
|
44
|
-
});
|
|
45
|
-
this.swiperPoiRef.onfullscreenchange = () => {
|
|
46
|
-
this.displayFullscreen = !this.displayFullscreen && !this.offline;
|
|
47
|
-
if (this.displayFullscreen) {
|
|
48
|
-
this.swiperPoi.keyboard.enable();
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
this.swiperPoi.keyboard.disable();
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
this.showPoiDescriptionButton = this.descriptionRef.clientHeight < this.descriptionRef.scrollHeight;
|
|
62
|
+
this.handleSwipers();
|
|
55
63
|
}
|
|
56
64
|
handlePoiDescription() {
|
|
57
65
|
this.displayShortDescription = !this.displayShortDescription;
|
|
@@ -80,7 +88,7 @@ const GrwPoiDetail = class {
|
|
|
80
88
|
render() {
|
|
81
89
|
var _a;
|
|
82
90
|
const defaultImageSrc = index.getAssetPath(`${''}assets/default-image.svg`);
|
|
83
|
-
return (index.h(index.Host, { key: '
|
|
91
|
+
return (index.h(index.Host, { key: '51c84c570ebe6a3c123dd559ced1ef73703ad1c6' }, index.h("div", { key: 'b9ab37b1b71bdc28af03072df707cff175d9abeb', part: "poi-type-img-container", class: "poi-type-img-container" }, index.h("img", { key: '020f4a7365acda4c5d4433fd45726187aff25c4d', part: "poi-type", class: "poi-type", src: `${(_a = utils.state.poiTypes.find(poiType => poiType.id === this.poi.type)) === null || _a === void 0 ? void 0 : _a.pictogram}`, alt: "" }), index.h("div", { key: '55b4c670c214cfa4ddd06752caad1f43bf0f779a', part: "swiper-poi", class: "swiper swiper-poi", ref: el => (this.swiperPoiRef = el) }, index.h("div", { key: '81ec24810f7b13846c15669ec480044851b5a964', part: "swiper-wrapper", class: "swiper-wrapper" }, this.poi.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (this.poi.attachments
|
|
84
92
|
.filter(attachment => attachment.type === 'image')
|
|
85
93
|
.map(attachment => (index.h("div", { part: "swiper-slide", class: "swiper-slide" }, index.h("img", { part: "poi-iamg", class: `poi-img${this.displayFullscreen ? ' img-fullscreen' : ''}`, src: this.displayFullscreen ? attachment.url : attachment.thumbnail, alt: attachment.legend, loading: "lazy",
|
|
86
94
|
/* @ts-ignore */
|
|
@@ -88,7 +96,7 @@ const GrwPoiDetail = class {
|
|
|
88
96
|
event.target.onerror = null;
|
|
89
97
|
event.target.className = 'default-poi-img';
|
|
90
98
|
event.target.src = defaultImageSrc;
|
|
91
|
-
}, onClick: () => this.handleFullscreen() }))))) : (index.h("div", { part: "swiper-slide", class: "swiper-slide" }, index.h("img", { part: "default-poi-img", class: "default-poi-img", src: defaultImageSrc, alt: "", loading: "lazy" })))), index.h("div", { key: '
|
|
99
|
+
}, onClick: () => this.handleFullscreen() }))))) : (index.h("div", { part: "swiper-slide", class: "swiper-slide" }, index.h("img", { part: "default-poi-img", class: "default-poi-img", src: defaultImageSrc, alt: "", loading: "lazy" })))), index.h("div", { key: 'ad45324ca7b75a831dcc1ef67c8c39393bce78ca', style: { display: this.offline ? 'none' : 'block' }, part: "swiper-pagination", class: "swiper-pagination", ref: el => (this.paginationElPoiRef = el) }), index.h("div", { key: 'c0932197c3580e9cbb412c050afa271ade756192', style: { display: this.offline ? 'none' : 'flex' }, part: "swiper-button-prev", class: "swiper-button-prev", ref: el => (this.prevElPoiRef = el) }), index.h("div", { key: 'b66ddb0cd5880f5895eac6ea024ee71048a319a2', style: { display: this.offline ? 'none' : 'flex' }, part: "swiper-button-next", class: "swiper-button-next", ref: el => (this.nextElPoiRef = el) }))), index.h("div", { key: '049b2849529671a31da1ed75976b519d2f42bc90', part: "poi-sub-container", class: "poi-sub-container" }, index.h("div", { key: 'b34bfcbc2533bab1c21910c4e860823e3892dba6', part: "poi-name", class: "poi-name" }, this.poi.name), index.h("div", { key: 'cd65421b578819cdd7ee5bde4af57981da625628', part: "poi-description", class: this.displayShortDescription ? 'poi-description poi-description-short' : 'poi-description', innerHTML: this.poi.description, ref: el => (this.descriptionRef = el) }), index.h("div", { key: '32d0afd9faf442cf3a6fc6cb6d77f71eec33ae18', part: "handle-poi-description", class: "handle-poi-description", onClick: () => this.handlePoiDescription() }, this.showPoiDescriptionButton && (this.displayShortDescription ? i18n.translate[utils.state.language].readMore : i18n.translate[utils.state.language].readLess)))));
|
|
92
100
|
}
|
|
93
101
|
};
|
|
94
102
|
GrwPoiDetail.style = GrwPoiStyle0;
|
|
@@ -118,9 +126,8 @@ const GrwTouristicContentCard = class {
|
|
|
118
126
|
onTrekDeleteSuccessConfirm() {
|
|
119
127
|
this.offline = false;
|
|
120
128
|
}
|
|
121
|
-
|
|
122
|
-
this.
|
|
123
|
-
if (this.swiperTouristicContentRef) {
|
|
129
|
+
handleSwipers() {
|
|
130
|
+
if (this.swiperTouristicContentRef && !this.swiperTouristicContent) {
|
|
124
131
|
this.swiperTouristicContent = new pagination.Swiper(this.swiperTouristicContentRef, {
|
|
125
132
|
modules: [pagination.Navigation, pagination.Pagination, pagination.Keyboard],
|
|
126
133
|
navigation: {
|
|
@@ -143,6 +150,13 @@ const GrwTouristicContentCard = class {
|
|
|
143
150
|
};
|
|
144
151
|
}
|
|
145
152
|
}
|
|
153
|
+
componentDidUpdate() {
|
|
154
|
+
this.handleSwipers();
|
|
155
|
+
}
|
|
156
|
+
componentDidLoad() {
|
|
157
|
+
this.handleOffline();
|
|
158
|
+
this.handleSwipers();
|
|
159
|
+
}
|
|
146
160
|
async handleOffline() {
|
|
147
161
|
if (utils.state.currentTrek) {
|
|
148
162
|
const trekInStore = await grwDb_service.getDataInStore('treks', utils.state.currentTrek.id);
|
|
@@ -173,16 +187,16 @@ const GrwTouristicContentCard = class {
|
|
|
173
187
|
render() {
|
|
174
188
|
const defaultImageSrc = index.getAssetPath(`${''}assets/default-image.svg`);
|
|
175
189
|
const touristicContentCategory = utils.state.touristicContentCategories.find(touristicContentCategory => touristicContentCategory.id === this.touristicContent.category);
|
|
176
|
-
return (index.h(index.Host, { key: '
|
|
190
|
+
return (index.h(index.Host, { key: 'fae16e24fd7f9b2ae395c4393d3a9fb26acc18db', style: {
|
|
177
191
|
'--font-family': this.fontFamily,
|
|
178
192
|
'width': this.isLargeView ? '100%' : 'auto',
|
|
179
|
-
} }, index.h("div", { key: '
|
|
193
|
+
} }, index.h("div", { key: 'cc30449024b21d5b474c596be39bf86247193b58', part: "touristic-content-card", class: this.isLargeView
|
|
180
194
|
? `touristic-content-card touristic-content-card-large-view-container${utils.state.selectedTouristicContentId === this.touristicContent.id ? ' selected-touristic-content-card' : ''}${!this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''}`
|
|
181
195
|
: `touristic-content-card touristic-content-card-container${utils.state.selectedTouristicContentId === this.touristicContent.id ? ' selected-touristic-content-card' : ''}${!this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''}`, onClick: () => {
|
|
182
196
|
if (!this.isInsideHorizontalList) {
|
|
183
197
|
this.touristicContentCardPress.emit(this.touristicContent.id);
|
|
184
198
|
}
|
|
185
|
-
} }, index.h("div", { key: '
|
|
199
|
+
} }, index.h("div", { key: 'be3b7a0d92aacbb446edfb1fd0411677b95413d2', part: "touristic-content-img-container", class: "touristic-content-img-container" }, this.isInsideHorizontalList ? (index.h("div", { part: "swiper-touristic-content", class: "swiper swiper-touristic-content", ref: el => (this.swiperTouristicContentRef = el) }, index.h("div", { part: "swiper-wrapper", class: "swiper-wrapper" }, this.touristicContent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (this.touristicContent.attachments
|
|
186
200
|
.filter(attachment => attachment.type === 'image')
|
|
187
201
|
.map(attachment => (index.h("div", { part: "swiper-slide", class: "swiper-slide" }, index.h("img", { part: "touristic-content-img", class: `touristic-content-img${this.displayFullscreen ? ' img-fullscreen' : ''}`, src: this.displayFullscreen ? (this.offline ? attachment.thumbnail : attachment.url) : attachment.thumbnail, loading: "lazy",
|
|
188
202
|
/* @ts-ignore */
|
|
@@ -190,7 +204,7 @@ const GrwTouristicContentCard = class {
|
|
|
190
204
|
event.target.onerror = null;
|
|
191
205
|
event.target.className = 'default-touristic-content-img';
|
|
192
206
|
event.target.src = defaultImageSrc;
|
|
193
|
-
}, onClick: () => this.handleFullscreen(), alt: attachment.legend }))))) : (index.h("div", { part: "swiper-slide", class: "swiper-slide" }, index.h("img", { part: "default-touristic-content-img", src: defaultImageSrc, class: "default-touristic-content-img", alt: "", loading: "lazy" })))), index.h("div", { style: { display: this.offline
|
|
207
|
+
}, onClick: () => this.handleFullscreen(), alt: attachment.legend }))))) : (index.h("div", { part: "swiper-slide", class: "swiper-slide" }, index.h("img", { part: "default-touristic-content-img", src: defaultImageSrc, class: "default-touristic-content-img", alt: "", loading: "lazy" })))), index.h("div", { style: { display: this.offline ? 'none' : 'block' }, part: "swiper-pagination", class: "swiper-pagination", ref: el => (this.paginationElTouristicContentRef = el) }), index.h("div", { style: { display: this.offline ? 'none' : 'flex' }, part: "swiper-button-prev", class: "swiper-button-prev", ref: el => (this.prevElTouristicContentRef = el) }), index.h("div", { style: { display: this.offline ? 'none' : 'flex' }, part: "swiper-button-next", class: "swiper-button-next", ref: el => (this.nextElTouristicContentRef = el) }))) : this.touristicContent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (index.h("img", { part: "touristic-content-img", class: "touristic-content-img", src: `${this.touristicContent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`, alt: `${this.touristicContent.attachments.filter(attachment => attachment.type === 'image')[0].legend}`, loading: "lazy" })) : (index.h("img", { class: "image default-touristic-content-img", src: defaultImageSrc, loading: "lazy", alt: "" }))), index.h("div", { key: 'f9238be9feb7faff38f04d4a367ebaf7df83522e', part: "touristic-content-sub-container", class: "touristic-content-sub-container" }, index.h("div", { key: '9eada8f244529c1fa64b9162185a315b89634802', part: "touristic-content-category-container", class: "touristic-content-category-container" }, touristicContentCategory && touristicContentCategory.pictogram && (index.h("img", { part: "touristic-content-category-img", class: "touristic-content-category-img", src: touristicContentCategory.pictogram, alt: "" })), index.h("div", { key: '7f371b852730cddde844e5c7255c67a84b43e2aa', part: "touristic-content-category-name", class: "touristic-content-category-name" }, touristicContentCategory.label)), index.h("div", { key: 'ac31930c2f67b4f4f253e02da4db8e43188fe1bb', part: "touristic-content-name", class: "touristic-content-name" }, this.touristicContent.name)), this.isInsideHorizontalList && (index.h("div", { part: "touristic-content-more-detail-container", class: "touristic-content-more-detail-container" }, index.h("button", { part: "more-details-button", class: "more-details-button", onClick: () => this.touristicContentCardPress.emit(this.touristicContent.id) }, "Plus de d\u00E9tails"))))));
|
|
194
208
|
}
|
|
195
209
|
};
|
|
196
210
|
GrwTouristicContentCard.style = GrwTouristicContentCardStyle0;
|
|
@@ -220,9 +234,8 @@ const GrwTouristicEvent = class {
|
|
|
220
234
|
onTrekDeleteSuccessConfirm() {
|
|
221
235
|
this.offline = false;
|
|
222
236
|
}
|
|
223
|
-
|
|
224
|
-
this.
|
|
225
|
-
if (this.swiperTouristicEventRef) {
|
|
237
|
+
handleSwipers() {
|
|
238
|
+
if (this.swiperTouristicEventRef && !this.swiperTouristicEvent) {
|
|
226
239
|
this.swiperTouristicEvent = new pagination.Swiper(this.swiperTouristicEventRef, {
|
|
227
240
|
modules: [pagination.Navigation, pagination.Pagination, pagination.Keyboard],
|
|
228
241
|
navigation: {
|
|
@@ -245,6 +258,13 @@ const GrwTouristicEvent = class {
|
|
|
245
258
|
};
|
|
246
259
|
}
|
|
247
260
|
}
|
|
261
|
+
componentDidUpdate() {
|
|
262
|
+
this.handleSwipers();
|
|
263
|
+
}
|
|
264
|
+
componentDidLoad() {
|
|
265
|
+
this.handleOffline();
|
|
266
|
+
this.handleSwipers();
|
|
267
|
+
}
|
|
248
268
|
async handleOffline() {
|
|
249
269
|
if (utils.state.currentTrek) {
|
|
250
270
|
const trekInStore = await grwDb_service.getDataInStore('treks', utils.state.currentTrek.id);
|
|
@@ -275,16 +295,16 @@ const GrwTouristicEvent = class {
|
|
|
275
295
|
render() {
|
|
276
296
|
const defaultImageSrc = index.getAssetPath(`${''}assets/default-image.svg`);
|
|
277
297
|
const touristicEventType = utils.state.touristicEventTypes.find(touristicEventType => touristicEventType.id === this.touristicEvent.type);
|
|
278
|
-
return (index.h(index.Host, { key: '
|
|
298
|
+
return (index.h(index.Host, { key: 'f45a2624a4fc98418107d15d27c1eca21a3c2b08', style: {
|
|
279
299
|
'--font-family': this.fontFamily,
|
|
280
300
|
'width': this.isLargeView ? '100%' : 'auto',
|
|
281
|
-
} }, index.h("div", { key: '
|
|
301
|
+
} }, index.h("div", { key: 'e88664547e283bc7fc4f3b1c1712886d942753bd', part: "touristic-event-card", class: this.isLargeView
|
|
282
302
|
? `touristic-event-card touristic-event-card-large-view-container${utils.state.selectedTouristicEventId === this.touristicEvent.id ? ' selected-touristic-event-card' : ''}${!this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''}`
|
|
283
303
|
: ` touristic-event-card touristic-event-card-container${utils.state.selectedTouristicEventId === this.touristicEvent.id ? ' selected-touristic-event-card' : ''}${!this.isInsideHorizontalList ? ' is-inside-vertical-list' : ''}`, onClick: () => {
|
|
284
304
|
if (!this.isInsideHorizontalList) {
|
|
285
305
|
this.touristicEventCardPress.emit(this.touristicEvent.id);
|
|
286
306
|
}
|
|
287
|
-
} }, index.h("div", { key: '
|
|
307
|
+
} }, index.h("div", { key: '82e1fe19a6f8a5885e59521f798813555f1dc604', part: "touristic-event-img-container", class: "touristic-event-img-container" }, this.isInsideHorizontalList ? (index.h("div", { part: "swiper-touristic-event", class: "swiper swiper-touristic-event", ref: el => (this.swiperTouristicEventRef = el) }, index.h("div", { part: "swiper-wrapper", class: "swiper-wrapper" }, this.touristicEvent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (this.touristicEvent.attachments
|
|
288
308
|
.filter(attachment => attachment.type === 'image')
|
|
289
309
|
.map(attachment => (index.h("div", { part: "swiper-slide", class: "swiper-slide" }, index.h("img", { part: "touristic-event-img", class: `touristic-event-img${this.displayFullscreen ? ' img-fullscreen' : ''}`, src: this.displayFullscreen ? (this.offline ? attachment.thumbnail : attachment.url) : attachment.thumbnail, loading: "lazy",
|
|
290
310
|
/* @ts-ignore */
|
|
@@ -292,7 +312,7 @@ const GrwTouristicEvent = class {
|
|
|
292
312
|
event.target.onerror = null;
|
|
293
313
|
event.target.className = 'default-touristic-event-img';
|
|
294
314
|
event.target.src = defaultImageSrc;
|
|
295
|
-
}, onClick: () => this.handleFullscreen(), alt: attachment.legend }))))) : (index.h("div", { part: "swiper-slide", class: "swiper-slide" }, index.h("img", { part: "default-touristic-event-img", class: "default-touristic-event-img", src: defaultImageSrc, alt: "", loading: "lazy" })))), index.h("div", { style: { display: this.offline
|
|
315
|
+
}, onClick: () => this.handleFullscreen(), alt: attachment.legend }))))) : (index.h("div", { part: "swiper-slide", class: "swiper-slide" }, index.h("img", { part: "default-touristic-event-img", class: "default-touristic-event-img", src: defaultImageSrc, alt: "", loading: "lazy" })))), index.h("div", { style: { display: this.offline ? 'none' : 'block' }, part: "swiper-pagination", class: "swiper-pagination", ref: el => (this.paginationElTouristicEventRef = el) }), index.h("div", { style: { display: this.offline ? 'none' : 'flex' }, part: "swiper-button-prev", class: "swiper-button-prev", ref: el => (this.prevElTouristicEventRef = el) }), index.h("div", { style: { display: this.offline ? 'none' : 'flex' }, part: "swiper-button-next", class: "swiper-button-next", ref: el => (this.nextElTouristicEventRef = el) }))) : this.touristicEvent.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (index.h("img", { part: "touristic-event-img", class: "touristic-event-img", src: `${this.touristicEvent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`, alt: `${this.touristicEvent.attachments.filter(attachment => attachment.type === 'image')[0].legend}`, loading: "lazy" })) : (index.h("img", { class: "image default-touristic-event-img", src: defaultImageSrc, alt: "", loading: "lazy" }))), index.h("div", { key: '2c8301acd32a3b4d39fa0fa979afdffd1b8c9376', part: "touristic-event-sub-container", class: "touristic-event-sub-container" }, index.h("div", { key: 'f8a15aa9cd7f2682cc91065a2a486425d5c68f1f', part: "touristic-event-type-container", class: "touristic-event-type-container" }, touristicEventType && touristicEventType.pictogram && (index.h("img", { part: "touristic-event-type-img", class: "touristic-event-type-img", src: touristicEventType.pictogram, alt: "" })), touristicEventType && touristicEventType.type && (index.h("div", { part: "touristic-event-type-name", class: "touristic-event-type-name" }, touristicEventType.type))), index.h("div", { key: '86ebde91c4e37899e74b30549cc0721ea49706fb', part: "touristic-event-name", class: "touristic-event-name" }, this.touristicEvent.name), (this.touristicEvent.begin_date || this.touristicEvent.end_date) && (index.h("div", { part: "touristic-event-date-container", class: "touristic-event-date-container" }, this.touristicEvent.begin_date === this.touristicEvent.end_date && (index.h("div", { part: "touristic-event-date", class: "touristic-event-date" }, i18n.translate[utils.state.language].date, " : ", this.touristicEvent.begin_date)), this.touristicEvent.begin_date && this.touristicEvent.begin_date !== this.touristicEvent.end_date && (index.h("div", { part: "touristic-event-date", class: "touristic-event-date" }, i18n.translate[utils.state.language].startDate, " : ", this.touristicEvent.begin_date)), this.touristicEvent.end_date && this.touristicEvent.begin_date !== this.touristicEvent.end_date && (index.h("div", { part: "touristic-event-date", class: "touristic-event-date" }, i18n.translate[utils.state.language].endDate, " : ", this.touristicEvent.end_date))))), this.isInsideHorizontalList && (index.h("div", { part: "touristic-event-more-detail-container", class: "touristic-event-more-detail-container" }, index.h("button", { part: "more-details-button", class: "more-details-button", onClick: () => this.touristicEventCardPress.emit(this.touristicEvent.id) }, "Plus de d\u00E9tails"))))));
|
|
296
316
|
}
|
|
297
317
|
};
|
|
298
318
|
GrwTouristicEvent.style = GrwTouristicEventCardStyle0;
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"grw-poi.grw-touristic-content-card.grw-touristic-event-card.entry.cjs.js","mappings":";;;;;;;;;;AAAA,MAAM,SAAS,GAAG,skkBAAskkB,CAAC;AACzlkB,qBAAe,SAAS;;MCWX,YAAY;;;;uCASY,IAAI;wCACH,KAAK;iCACZ,KAAK;uBAEf,KAAK;;IAGxB,8BAA8B;QAC5B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAGD,0BAA0B;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAIA,iBAAM,CAAC,IAAI,CAAC,YAAY,EAAE;YAC7C,OAAO,EAAE,CAACC,qBAAU,EAAEC,qBAAU,EAAEC,mBAAQ,CAAC;YAC3C,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B;YACD,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE;YAC3C,cAAc,EAAE,KAAK;YACrB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG;YACrC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClE,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aACnC;SACF,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;KACrG;IAED,oBAAoB;QAClB,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC;KAC9D;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;YAClF,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;SACvC;KACF;IAED,MAAM,aAAa;QACjB,IAAIC,WAAK,CAAC,WAAW,EAAE;YACrB,MAAM,WAAW,GAAS,MAAMC,4BAAc,CAAC,OAAO,EAAED,WAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9E,MAAM,UAAU,GAAQ,MAAMC,4BAAc,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,EAAE;gBACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;aACpC;SACF;aAAM,IAAID,WAAK,CAAC,kBAAkB,EAAE;YACnC,MAAM,kBAAkB,GAAgB,MAAMC,4BAAc,CAAC,cAAc,EAAED,WAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC1G,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,OAAO,EAAE;gBACpD,MAAM,UAAU,GAAQ,MAAMC,4BAAc,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;aACpC;SACF;KACF;IAED,MAAM;;QACJ,MAAM,eAAe,GAAGC,kBAAY,CAAC,GAAuB,EAAE,0BAA0B,CAAC,CAAC;QAC1F,QACEC,QAACC,UAAI,uDACHD,kEAAK,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAC,wBAAwB,IAC/DA,kEAAK,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,EAAC,GAAG,EAAE,GAAG,MAAAH,WAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,SAAS,EAAE,EAAE,GAAG,EAAC,EAAE,GAAG,EAClIG,kEAAK,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,mBAAmB,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,IAClFA,kEAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,gBAAgB,IAC9C,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAChF,IAAI,CAAC,GAAG,CAAC,WAAW;aACjB,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC;aACjD,GAAG,CAAC,UAAU,KACbA,iBAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,IAC3CA,iBACE,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,UAAU,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,EAAE,EAAE,EAClE,GAAG,EAAE,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,SAAS,EACnE,GAAG,EAAE,UAAU,CAAC,MAAM,EACtB,OAAO,EAAC,MAAM;;YAEd,OAAO,EAAE,KAAK;gBACZ,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC;gBAC3C,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,eAAe,CAAC;aACpC,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,GACtC,CACE,CACP,CAAC,KAEJA,iBAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,IAC3CA,iBAAK,IAAI,EAAC,iBAAiB,EAAC,KAAK,EAAC,iBAAiB,EAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAC,EAAE,EAAC,OAAO,EAAC,MAAM,GAAG,CAC9F,CACP,CACG,EACNA,kEACE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,EACzI,IAAI,EAAC,mBAAmB,EACxB,KAAK,EAAC,mBAAmB,EACzB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,GACpC,EACPA,kEACE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,EACxI,IAAI,EAAC,oBAAoB,EACzB,KAAK,EAAC,oBAAoB,EAC1B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,GAC9B,EACPA,kEACE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,EACxI,IAAI,EAAC,oBAAoB,EACzB,KAAK,EAAC,oBAAoB,EAC1B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,GAC9B,CACH,CACF,EACNA,kEAAK,IAAI,EAAC,mBAAmB,EAAC,KAAK,EAAC,mBAAmB,IACrDA,kEAAK,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,IAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CACV,EACNA,kEACE,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAE,IAAI,CAAC,uBAAuB,GAAG,uCAAuC,GAAG,iBAAiB,EACjG,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAC/B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,GAChC,EACPA,kEAAK,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAC,wBAAwB,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE,IACzG,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC,uBAAuB,GAAGE,cAAS,CAACL,WAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAGK,cAAS,CAACL,WAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACtI,CACF,CACD,EACP;KACH;;;;ACjKH,MAAM,0BAA0B,GAAG,+opBAA+opB,CAAC;AACnrpB,sCAAe,0BAA0B;;MCU5B,uBAAuB;;;;;;0BAQb,QAAQ;;2BAGP,KAAK;sCACM,KAAK;iCACT,KAAK;uBAKf,KAAK;;IAGxB,8BAA8B;QAC5B,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAGD,0BAA0B;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAClC,IAAI,CAAC,sBAAsB,GAAG,IAAIJ,iBAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACvE,OAAO,EAAE,CAACC,qBAAU,EAAEC,qBAAU,EAAEC,mBAAQ,CAAC;gBAC3C,UAAU,EAAE;oBACV,MAAM,EAAE,IAAI,CAAC,yBAAyB;oBACtC,MAAM,EAAE,IAAI,CAAC,yBAAyB;iBACvC;gBACD,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,+BAA+B,EAAE;gBACxD,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YACH,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,GAAG;gBAClD,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBAClE,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBAC1B,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBAC/C;qBAAM;oBACL,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBAChD;aACF,CAAC;SACH;KACF;IAED,MAAM,aAAa;QACjB,IAAIC,WAAK,CAAC,WAAW,EAAE;YACrB,MAAM,WAAW,GAAS,MAAMC,4BAAc,CAAC,OAAO,EAAED,WAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,EAAE;gBACtC,MAAM,uBAAuB,GAAqB,MAAMC,4BAAc,CAAC,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACtH,IAAI,CAAC,OAAO,GAAG,uBAAuB,IAAI,uBAAuB,CAAC,OAAO,CAAC;aAC3E;SACF;aAAM,IAAID,WAAK,CAAC,kBAAkB,EAAE;YACnC,MAAM,kBAAkB,GAAgB,MAAMC,4BAAc,CAAC,cAAc,EAAED,WAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC1G,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,OAAO,EAAE;gBACpD,MAAM,uBAAuB,GAAqB,MAAMC,4BAAc,CAAC,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACtH,IAAI,CAAC,OAAO,GAAG,uBAAuB,IAAI,uBAAuB,CAAC,OAAO,CAAC;aAC3E;SACF;KACF;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;YACzH,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,CAAC;SACpD;KACF;IAGD,eAAe;QACb,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;KACnE;IAGD,gBAAgB;QACd,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;KAC5C;IAED,MAAM;QACJ,MAAM,eAAe,GAAGC,kBAAY,CAAC,GAAuB,EAAE,0BAA0B,CAAC,CAAC;QAC1F,MAAM,wBAAwB,GAAGF,WAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC,wBAAwB,IAAI,wBAAwB,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACnK,QACEG,QAACC,UAAI,qDACH,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI,CAAC,UAAU;gBAChC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,MAAM;aAC5C,IAEDD,kEACE,IAAI,EAAC,wBAAwB,EAC7B,KAAK,EACH,IAAI,CAAC,WAAW;kBACZ,qEACEH,WAAK,CAAC,0BAA0B,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,kCAAkC,GAAG,EACvG,GAAG,CAAC,IAAI,CAAC,sBAAsB,GAAG,0BAA0B,GAAG,EAAE,EAAE;kBACnE,0DAA0DA,WAAK,CAAC,0BAA0B,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,kCAAkC,GAAG,EAAE,GAC/J,CAAC,IAAI,CAAC,sBAAsB,GAAG,0BAA0B,GAAG,EAC9D,EAAE,EAER,OAAO,EAAE;gBACP,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBAChC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;iBAC/D;aACF,IAEDG,kEAAK,IAAI,EAAC,iCAAiC,EAAC,KAAK,EAAC,iCAAiC,IAChF,IAAI,CAAC,sBAAsB,IAC1BA,iBAAK,IAAI,EAAC,0BAA0B,EAAC,KAAK,EAAC,iCAAiC,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,IAC3HA,iBAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,gBAAgB,IAC9C,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAC7F,IAAI,CAAC,gBAAgB,CAAC,WAAW;aAC9B,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC;aACjD,GAAG,CAAC,UAAU,KACbA,iBAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,IAC3CA,iBACE,IAAI,EAAC,uBAAuB,EAC5B,KAAK,EAAE,wBAAwB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,EAAE,EAAE,EAChF,GAAG,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,EAC3G,OAAO,EAAC,MAAM;;YAEd,OAAO,EAAE,KAAK;gBACZ,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,+BAA+B,CAAC;gBACzD,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,eAAe,CAAC;aACpC,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,EACtC,GAAG,EAAE,UAAU,CAAC,MAAM,GACtB,CACE,CACP,CAAC,KAEJA,iBAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,IAC3CA,iBAAK,IAAI,EAAC,+BAA+B,EAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAC,+BAA+B,EAAC,GAAG,EAAC,EAAE,EAAC,OAAO,EAAC,MAAM,GAAG,CAC1H,CACP,CACG,EACNA,iBACE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,EACtJ,IAAI,EAAC,mBAAmB,EACxB,KAAK,EAAC,mBAAmB,EACzB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,GACjD,EACPA,iBACE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,EACtJ,IAAI,EAAC,oBAAoB,EACzB,KAAK,EAAC,oBAAoB,EAC1B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,GAC3C,EACPA,iBACE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,EACtJ,IAAI,EAAC,oBAAoB,EACzB,KAAK,EAAC,oBAAoB,EAC1B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,GAC3C,CACH,IACJ,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAChGA,iBACE,IAAI,EAAC,uBAAuB,EAC5B,KAAK,EAAC,uBAAuB,EAC7B,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAC1G,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EACvG,OAAO,EAAC,MAAM,GACd,KAEFA,iBAAK,KAAK,EAAC,qCAAqC,EAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,GAAG,CAChG,CACG,EACNA,kEAAK,IAAI,EAAC,iCAAiC,EAAC,KAAK,EAAC,iCAAiC,IACjFA,kEAAK,IAAI,EAAC,sCAAsC,EAAC,KAAK,EAAC,sCAAsC,IAC1F,wBAAwB,IAAI,wBAAwB,CAAC,SAAS,KAC7DA,iBAAK,IAAI,EAAC,gCAAgC,EAAC,KAAK,EAAC,gCAAgC,EAAC,GAAG,EAAE,wBAAwB,CAAC,SAAS,EAAE,GAAG,EAAC,EAAE,GAAG,CACrI,EACDA,kEAAK,IAAI,EAAC,iCAAiC,EAAC,KAAK,EAAC,iCAAiC,IAChF,wBAAwB,CAAC,KAAK,CAC3B,CACF,EACNA,kEAAK,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAC,wBAAwB,IAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACvB,CACF,EACL,IAAI,CAAC,sBAAsB,KAC1BA,iBAAK,IAAI,EAAC,yCAAyC,EAAC,KAAK,EAAC,yCAAyC,IACjGA,oBAAQ,IAAI,EAAC,qBAAqB,EAAC,KAAK,EAAC,qBAAqB,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,2BAElI,CACL,CACP,CACG,CACD,EACP;KACH;;;;ACrNH,MAAM,wBAAwB,GAAG,kgpBAAkgpB,CAAC;AACpipB,oCAAe,wBAAwB;;MCW1B,iBAAiB;;;;;;0BAQP,QAAQ;;2BAGP,KAAK;sCACM,KAAK;iCACT,KAAK;uBAKf,KAAK;;IAGxB,8BAA8B;QAC5B,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACtC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAGD,0BAA0B;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,oBAAoB,GAAG,IAAIP,iBAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACnE,OAAO,EAAE,CAACC,qBAAU,EAAEC,qBAAU,EAAEC,mBAAQ,CAAC;gBAC3C,UAAU,EAAE;oBACV,MAAM,EAAE,IAAI,CAAC,uBAAuB;oBACpC,MAAM,EAAE,IAAI,CAAC,uBAAuB;iBACrC;gBACD,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,6BAA6B,EAAE;gBACtD,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YACH,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,GAAG;gBAChD,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBAClE,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBAC1B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBAC7C;qBAAM;oBACL,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBAC9C;aACF,CAAC;SACH;KACF;IAED,MAAM,aAAa;QACjB,IAAIC,WAAK,CAAC,WAAW,EAAE;YACrB,MAAM,WAAW,GAAS,MAAMC,4BAAc,CAAC,OAAO,EAAED,WAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,EAAE;gBACtC,MAAM,qBAAqB,GAAmB,MAAMC,4BAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC9G,IAAI,CAAC,OAAO,GAAG,WAAW,IAAI,WAAW,CAAC,OAAO,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,OAAO,CAAC;aAC7G;SACF;aAAM,IAAID,WAAK,CAAC,kBAAkB,EAAE;YACnC,MAAM,kBAAkB,GAAgB,MAAMC,4BAAc,CAAC,cAAc,EAAED,WAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC1G,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,OAAO,EAAE;gBACpD,MAAM,qBAAqB,GAAmB,MAAMC,4BAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC9G,IAAI,CAAC,OAAO,GAAG,qBAAqB,IAAI,qBAAqB,CAAC,OAAO,CAAC;aACvE;SACF;KACF;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;YACnH,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,CAAC;SAClD;KACF;IAGD,eAAe;QACb,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KAC/D;IAGD,gBAAgB;QACd,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;KAC1C;IAED,MAAM;QACJ,MAAM,eAAe,GAAGC,kBAAY,CAAC,GAAuB,EAAE,0BAA0B,CAAC,CAAC;QAC1F,MAAM,kBAAkB,GAAGF,WAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACpI,QACEG,QAACC,UAAI,qDACH,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI,CAAC,UAAU;gBAChC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,MAAM;aAC5C,IAEDD,kEACE,IAAI,EAAC,sBAAsB,EAC3B,KAAK,EACH,IAAI,CAAC,WAAW;kBACZ,iEACEH,WAAK,CAAC,wBAAwB,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,gCAAgC,GAAG,EACjG,GAAG,CAAC,IAAI,CAAC,sBAAsB,GAAG,0BAA0B,GAAG,EAAE,EAAE;kBACnE,uDAAuDA,WAAK,CAAC,wBAAwB,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,gCAAgC,GAAG,EAAE,GACtJ,CAAC,IAAI,CAAC,sBAAsB,GAAG,0BAA0B,GAAG,EAC9D,EAAE,EAER,OAAO,EAAE;gBACP,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBAChC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;iBAC3D;aACF,IAEDG,kEAAK,IAAI,EAAC,+BAA+B,EAAC,KAAK,EAAC,+BAA+B,IAC5E,IAAI,CAAC,sBAAsB,IAC1BA,iBAAK,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAC,+BAA+B,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,IACrHA,iBAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,gBAAgB,IAC9C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAC3F,IAAI,CAAC,cAAc,CAAC,WAAW;aAC5B,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC;aACjD,GAAG,CAAC,UAAU,KACbA,iBAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,IAC3CA,iBACE,IAAI,EAAC,qBAAqB,EAC1B,KAAK,EAAE,sBAAsB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,EAAE,EAAE,EAC9E,GAAG,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,EAC3G,OAAO,EAAC,MAAM;;YAEd,OAAO,EAAE,KAAK;gBACZ,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,6BAA6B,CAAC;gBACvD,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,eAAe,CAAC;aACpC,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,EACtC,GAAG,EAAE,UAAU,CAAC,MAAM,GACtB,CACE,CACP,CAAC,KAEJA,iBAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,IAC3CA,iBAAK,IAAI,EAAC,6BAA6B,EAAC,KAAK,EAAC,6BAA6B,EAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAC,EAAE,EAAC,OAAO,EAAC,MAAM,GAAG,CACtH,CACP,CACG,EACNA,iBACE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,EACpJ,IAAI,EAAC,mBAAmB,EACxB,KAAK,EAAC,mBAAmB,EACzB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC,GAC/C,EACPA,iBACE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,EACpJ,IAAI,EAAC,oBAAoB,EACzB,KAAK,EAAC,oBAAoB,EAC1B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,GACzC,EACPA,iBACE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,EACpJ,IAAI,EAAC,oBAAoB,EACzB,KAAK,EAAC,oBAAoB,EAC1B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,GACzC,CACH,IACJ,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAC9FA,iBACE,IAAI,EAAC,qBAAqB,EAC1B,KAAK,EAAC,qBAAqB,EAC3B,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EACxG,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EACrG,OAAO,EAAC,MAAM,GACd,KAEFA,iBAAK,KAAK,EAAC,mCAAmC,EAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAC,EAAE,EAAC,OAAO,EAAC,MAAM,GAAG,CAC9F,CACG,EACNA,kEAAK,IAAI,EAAC,+BAA+B,EAAC,KAAK,EAAC,+BAA+B,IAC7EA,kEAAK,IAAI,EAAC,gCAAgC,EAAC,KAAK,EAAC,gCAAgC,IAC9E,kBAAkB,IAAI,kBAAkB,CAAC,SAAS,KACjDA,iBAAK,IAAI,EAAC,0BAA0B,EAAC,KAAK,EAAC,0BAA0B,EAAC,GAAG,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAC,EAAE,GAAG,CACnH,EACA,kBAAkB,IAAI,kBAAkB,CAAC,IAAI,KAC5CA,iBAAK,IAAI,EAAC,2BAA2B,EAAC,KAAK,EAAC,2BAA2B,IACpE,kBAAkB,CAAC,IAAI,CACpB,CACP,CACG,EACNA,kEAAK,IAAI,EAAC,sBAAsB,EAAC,KAAK,EAAC,sBAAsB,IAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,CACrB,EACL,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,MAC9DA,iBAAK,IAAI,EAAC,gCAAgC,EAAC,KAAK,EAAC,gCAAgC,IAC9E,IAAI,CAAC,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,KAC9DA,iBAAK,IAAI,EAAC,sBAAsB,EAAC,KAAK,EAAC,sBAAsB,IAC1DE,cAAS,CAACL,WAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAK,IAAI,CAAC,cAAc,CAAC,UAAU,CAC9D,CACP,EACA,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,KAChGG,iBAAK,IAAI,EAAC,sBAAsB,EAAC,KAAK,EAAC,sBAAsB,IAC1DE,cAAS,CAACL,WAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,SAAK,IAAI,CAAC,cAAc,CAAC,UAAU,CACnE,CACP,EACA,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,KAC9FG,iBAAK,IAAI,EAAC,sBAAsB,EAAC,KAAK,EAAC,sBAAsB,IAC1DE,cAAS,CAACL,WAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,SAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC/D,CACP,CACG,CACP,CACG,EAEL,IAAI,CAAC,sBAAsB,KAC1BG,iBAAK,IAAI,EAAC,uCAAuC,EAAC,KAAK,EAAC,uCAAuC,IAC7FA,oBAAQ,IAAI,EAAC,qBAAqB,EAAC,KAAK,EAAC,qBAAqB,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,2BAE9H,CACL,CACP,CACG,CACD,EACP;KACH;;;;;;;;","names":["Swiper","Navigation","Pagination","Keyboard","state","getDataInStore","getAssetPath","h","Host","translate"],"sources":["src/components/grw-poi-detail/grw-poi.scss?tag=grw-poi&encapsulation=shadow","src/components/grw-poi-detail/grw-poi.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"],"sourcesContent":["@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: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 { OutdoorSite, 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 if (this.swiperPoi) {\n this.swiperPoi.slideTo(0);\n }\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 (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const poiInStore: Poi = await getDataInStore('pois', this.poi.id);\n if (trekInStore && trekInStore.offline) {\n this.offline = Boolean(poiInStore);\n }\n } else if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const poiInStore: Poi = await getDataInStore('pois', this.poi.id);\n this.offline = Boolean(poiInStore);\n }\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 part=\"poi-type\" class=\"poi-type\" src={`${state.poiTypes.find(poiType => poiType.id === this.poi.type)?.pictogram}`} alt=\"\" />\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.filter(attachment => attachment.type === 'image').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-iamg\"\n class={`poi-img${this.displayFullscreen ? ' img-fullscreen' : ''}`}\n src={this.displayFullscreen ? attachment.url : attachment.thumbnail}\n alt={attachment.legend}\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 part=\"default-poi-img\" class=\"default-poi-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n </div>\n )}\n </div>\n <div\n style={{ display: this.offline || this.poi.attachments.filter(attachment => attachment.type === 'image').length <= 1 ? 'none' : 'block' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElPoiRef = el)}\n ></div>\n <div\n style={{ display: this.offline || this.poi.attachments.filter(attachment => attachment.type === 'image').length <= 1 ? 'none' : 'flex' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElPoiRef = el)}\n ></div>\n <div\n style={{ display: this.offline || this.poi.attachments.filter(attachment => attachment.type === 'image').length <= 1 ? 'none' : 'flex' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElPoiRef = el)}\n ></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","@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: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 { OutdoorSite, 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 if (this.swiperTouristicContent) {\n this.swiperTouristicContent.slideTo(0);\n }\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 if (trekInStore && trekInStore.offline) {\n const touristicContentInStore: TouristicContent = await getDataInStore('touristicContents', this.touristicContent.id);\n this.offline = touristicContentInStore && touristicContentInStore.offline;\n }\n } else if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const touristicContentInStore: TouristicContent = await getDataInStore('touristicContents', this.touristicContent.id);\n this.offline = touristicContentInStore && touristicContentInStore.offline;\n }\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 ? (this.offline ? attachment.thumbnail : attachment.url) : attachment.thumbnail}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'default-touristic-content-img';\n event.target.src = defaultImageSrc;\n }}\n onClick={() => this.handleFullscreen()}\n alt={attachment.legend}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img part=\"default-touristic-content-img\" src={defaultImageSrc} class=\"default-touristic-content-img\" alt=\"\" loading=\"lazy\" />\n </div>\n )}\n </div>\n <div\n style={{ display: this.offline || this.touristicContent.attachments.filter(attachment => attachment.type === 'image').length <= 1 ? 'none' : 'block' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElTouristicContentRef = el)}\n ></div>\n <div\n style={{ display: this.offline || this.touristicContent.attachments.filter(attachment => attachment.type === 'image').length <= 1 ? 'none' : 'block' }}\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 || this.touristicContent.attachments.filter(attachment => attachment.type === 'image').length <= 1 ? 'none' : 'block' }}\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 src={`${this.touristicContent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n alt={`${this.touristicContent.attachments.filter(attachment => attachment.type === 'image')[0].legend}`}\n loading=\"lazy\"\n />\n ) : (\n <img class=\"image default-touristic-content-img\" src={defaultImageSrc} loading=\"lazy\" alt=\"\" />\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 part=\"touristic-content-category-img\" class=\"touristic-content-category-img\" src={touristicContentCategory.pictogram} alt=\"\" />\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: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-event-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 { OutdoorSite, 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 if (this.swiperTouristicEvent) {\n this.swiperTouristicEvent.slideTo(0);\n }\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 if (trekInStore && trekInStore.offline) {\n const touristicEventInStore: TouristicEvent = await getDataInStore('touristicEvents', this.touristicEvent.id);\n this.offline = trekInStore && trekInStore.offline && touristicEventInStore && touristicEventInStore.offline;\n }\n } else if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const touristicEventInStore: TouristicEvent = await getDataInStore('touristicEvents', this.touristicEvent.id);\n this.offline = touristicEventInStore && touristicEventInStore.offline;\n }\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.filter(attachment => attachment.type === 'image').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 ? (this.offline ? attachment.thumbnail : 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 alt={attachment.legend}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img part=\"default-touristic-event-img\" class=\"default-touristic-event-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n </div>\n )}\n </div>\n <div\n style={{ display: this.offline || this.touristicEvent.attachments.filter(attachment => attachment.type === 'image').length <= 1 ? 'none' : 'block' }}\n part=\"swiper-pagination\"\n class=\"swiper-pagination\"\n ref={el => (this.paginationElTouristicEventRef = el)}\n ></div>\n <div\n style={{ display: this.offline || this.touristicEvent.attachments.filter(attachment => attachment.type === 'image').length <= 1 ? 'none' : 'block' }}\n part=\"swiper-button-prev\"\n class=\"swiper-button-prev\"\n ref={el => (this.prevElTouristicEventRef = el)}\n ></div>\n <div\n style={{ display: this.offline || this.touristicEvent.attachments.filter(attachment => attachment.type === 'image').length <= 1 ? 'none' : 'block' }}\n part=\"swiper-button-next\"\n class=\"swiper-button-next\"\n ref={el => (this.nextElTouristicEventRef = el)}\n ></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 src={`${this.touristicEvent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n alt={`${this.touristicEvent.attachments.filter(attachment => attachment.type === 'image')[0].legend}`}\n loading=\"lazy\"\n />\n ) : (\n <img class=\"image default-touristic-event-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\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 part=\"touristic-event-type-img\" class=\"touristic-event-type-img\" src={touristicEventType.pictogram} alt=\"\" />\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"],"version":3}
|
|
1
|
+
{"file":"grw-poi.grw-touristic-content-card.grw-touristic-event-card.entry.cjs.js","mappings":"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","names":["Swiper","Navigation","Pagination","Keyboard","state","getDataInStore","getAssetPath","h","Host","translate"],"sources":["src/components/grw-poi-detail/grw-poi.scss?tag=grw-poi&encapsulation=shadow","src/components/grw-poi-detail/grw-poi.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"],"sourcesContent":["@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: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 { OutdoorSite, 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 if (this.swiperPoi) {\n this.swiperPoi.slideTo(0);\n }\n this.offline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.offline = false;\n }\n\n handleSwipers() {\n if (this.swiperPoiRef && !this.swiperPoi) {\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\n componentDidUpdate() {\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.handleOffline();\n this.handleSwipers();\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 (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n const poiInStore: Poi = await getDataInStore('pois', this.poi.id);\n if (trekInStore && trekInStore.offline) {\n this.offline = Boolean(poiInStore);\n }\n } else if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const poiInStore: Poi = await getDataInStore('pois', this.poi.id);\n this.offline = Boolean(poiInStore);\n }\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 part=\"poi-type\" class=\"poi-type\" src={`${state.poiTypes.find(poiType => poiType.id === this.poi.type)?.pictogram}`} alt=\"\" />\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.filter(attachment => attachment.type === 'image').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-iamg\"\n class={`poi-img${this.displayFullscreen ? ' img-fullscreen' : ''}`}\n src={this.displayFullscreen ? attachment.url : attachment.thumbnail}\n alt={attachment.legend}\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 part=\"default-poi-img\" class=\"default-poi-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n </div>\n )}\n </div>\n <div style={{ display: this.offline ? 'none' : 'block' }} 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","@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: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 { OutdoorSite, 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 if (this.swiperTouristicContent) {\n this.swiperTouristicContent.slideTo(0);\n }\n this.offline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.offline = false;\n }\n\n handleSwipers() {\n if (this.swiperTouristicContentRef && !this.swiperTouristicContent) {\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 componentDidUpdate() {\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.handleOffline();\n this.handleSwipers();\n }\n\n async handleOffline() {\n if (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n if (trekInStore && trekInStore.offline) {\n const touristicContentInStore: TouristicContent = await getDataInStore('touristicContents', this.touristicContent.id);\n this.offline = touristicContentInStore && touristicContentInStore.offline;\n }\n } else if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const touristicContentInStore: TouristicContent = await getDataInStore('touristicContents', this.touristicContent.id);\n this.offline = touristicContentInStore && touristicContentInStore.offline;\n }\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 ? (this.offline ? attachment.thumbnail : attachment.url) : attachment.thumbnail}\n loading=\"lazy\"\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'default-touristic-content-img';\n event.target.src = defaultImageSrc;\n }}\n onClick={() => this.handleFullscreen()}\n alt={attachment.legend}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img part=\"default-touristic-content-img\" src={defaultImageSrc} class=\"default-touristic-content-img\" alt=\"\" loading=\"lazy\" />\n </div>\n )}\n </div>\n <div\n style={{ display: this.offline ? 'none' : 'block' }}\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 src={`${this.touristicContent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n alt={`${this.touristicContent.attachments.filter(attachment => attachment.type === 'image')[0].legend}`}\n loading=\"lazy\"\n />\n ) : (\n <img class=\"image default-touristic-content-img\" src={defaultImageSrc} loading=\"lazy\" alt=\"\" />\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 part=\"touristic-content-category-img\" class=\"touristic-content-category-img\" src={touristicContentCategory.pictogram} alt=\"\" />\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: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-event-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 { OutdoorSite, 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 if (this.swiperTouristicEvent) {\n this.swiperTouristicEvent.slideTo(0);\n }\n this.offline = true;\n }\n\n @Listen('trekDeleteSuccessConfirm', { target: 'window' })\n onTrekDeleteSuccessConfirm() {\n this.offline = false;\n }\n\n handleSwipers() {\n if (this.swiperTouristicEventRef && !this.swiperTouristicEvent) {\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 componentDidUpdate() {\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.handleOffline();\n this.handleSwipers();\n }\n\n async handleOffline() {\n if (state.currentTrek) {\n const trekInStore: Trek = await getDataInStore('treks', state.currentTrek.id);\n if (trekInStore && trekInStore.offline) {\n const touristicEventInStore: TouristicEvent = await getDataInStore('touristicEvents', this.touristicEvent.id);\n this.offline = trekInStore && trekInStore.offline && touristicEventInStore && touristicEventInStore.offline;\n }\n } else if (state.currentOutdoorSite) {\n const outdoorSiteInStore: OutdoorSite = await getDataInStore('outdoorSites', state.currentOutdoorSite.id);\n if (outdoorSiteInStore && outdoorSiteInStore.offline) {\n const touristicEventInStore: TouristicEvent = await getDataInStore('touristicEvents', this.touristicEvent.id);\n this.offline = touristicEventInStore && touristicEventInStore.offline;\n }\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.filter(attachment => attachment.type === 'image').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 ? (this.offline ? attachment.thumbnail : 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 alt={attachment.legend}\n />\n </div>\n ))\n ) : (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <img part=\"default-touristic-event-img\" class=\"default-touristic-event-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\n </div>\n )}\n </div>\n <div\n style={{ display: this.offline ? 'none' : 'block' }}\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 src={`${this.touristicEvent.attachments.filter(attachment => attachment.type === 'image')[0].thumbnail}`}\n alt={`${this.touristicEvent.attachments.filter(attachment => attachment.type === 'image')[0].legend}`}\n loading=\"lazy\"\n />\n ) : (\n <img class=\"image default-touristic-event-img\" src={defaultImageSrc} alt=\"\" loading=\"lazy\" />\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 part=\"touristic-event-type-img\" class=\"touristic-event-type-img\" src={touristicEventType.pictogram} alt=\"\" />\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"],"version":3}
|