@geotrekce/geotrek-rando-widget 0.0.2 → 0.0.5
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/geotrek-rando-widget.cjs.js +2 -2
- package/dist/cjs/grw-app.cjs.entry.js +93 -0
- package/dist/cjs/{grw-app_7.cjs.entry.js → grw-filter_6.cjs.entry.js} +424 -384
- package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js +52 -0
- package/dist/cjs/grw-trek-card.cjs.entry.js +47 -0
- package/dist/cjs/{index-c6f73e30.js → index-c2c4531d.js} +46 -1
- package/dist/cjs/length-d315d156.js +34 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/store-972b8d2a.js +209 -0
- package/dist/collection/collection-manifest.json +4 -0
- package/dist/collection/components/grw-app/grw-app.css +70 -5
- package/dist/collection/components/grw-app/grw-app.js +139 -33
- package/dist/collection/components/grw-filter/grw-filter.css +29 -0
- package/dist/collection/components/grw-filter/grw-filter.js +132 -0
- package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.css +31 -0
- package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.js +53 -0
- package/dist/collection/components/grw-map/grw-map.css +99 -0
- package/dist/collection/components/grw-map/grw-map.js +315 -42
- package/dist/collection/components/grw-poi-detail/grw-poi-detail.css +31 -0
- package/dist/collection/components/grw-poi-detail/grw-poi-detail.js +41 -0
- package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.css +39 -0
- package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.js +52 -0
- package/dist/collection/components/grw-trek-card/grw-trek-card.css +67 -30
- package/dist/collection/components/grw-trek-card/grw-trek-card.js +37 -13
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.css +160 -1
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +123 -8
- package/dist/collection/components/grw-treks-list/grw-treks-list.css +17 -3
- package/dist/collection/components/grw-treks-list/grw-treks-list.js +29 -7
- package/dist/collection/store/grw-trek-provider.js +36 -8
- package/dist/collection/store/grw-treks-provider.js +16 -7
- package/dist/collection/store/store.js +10 -0
- package/dist/collection/stories/App.js +22 -16
- package/dist/collection/stories/App.stories.js +14 -9
- package/dist/collection/stories/TrekCard.js +2 -1
- package/dist/collection/stories/TrekCard.stories.js +4 -3
- package/dist/collection/stories/TrekDetail.js +3 -1
- package/dist/collection/stories/TrekDetail.stories.js +5 -3
- package/dist/collection/stories/TrekMap.js +6 -4
- package/dist/collection/stories/TrekMap.stories.js +10 -7
- package/dist/collection/stories/TreksList.js +10 -9
- package/dist/collection/stories/TreksList.stories.js +4 -3
- package/dist/collection/stories/TreksMap.stories.js +6 -5
- package/dist/collection/utils/utils.js +2 -2
- package/dist/components/grw-app.js +76 -11
- package/dist/components/grw-filter.d.ts +11 -0
- package/dist/components/grw-filter.js +6 -0
- package/dist/components/grw-filter2.js +95 -0
- package/dist/components/grw-information-desk-detail.d.ts +11 -0
- package/dist/components/grw-information-desk-detail.js +6 -0
- package/dist/components/grw-information-desk-detail2.js +34 -0
- package/dist/components/grw-map2.js +263 -39
- package/dist/components/grw-poi-detail.d.ts +11 -0
- package/dist/components/grw-poi-detail.js +6 -0
- package/dist/components/grw-poi-detail2.js +32 -0
- package/dist/components/grw-sensitive-area-detail.d.ts +11 -0
- package/dist/components/grw-sensitive-area-detail.js +6 -0
- package/dist/components/grw-sensitive-area-detail2.js +37 -0
- package/dist/components/grw-trek-card2.js +11 -6
- package/dist/components/grw-trek-detail2.js +40 -7
- package/dist/components/grw-trek-provider2.js +36 -8
- package/dist/components/grw-treks-list2.js +10 -7
- package/dist/components/grw-treks-provider2.js +16 -7
- package/dist/components/length.js +2 -2
- package/dist/components/store.js +10 -0
- package/dist/esm/geotrek-rando-widget.js +2 -2
- package/dist/esm/grw-app.entry.js +89 -0
- package/dist/esm/{grw-app_7.entry.js → grw-filter_6.entry.js} +398 -357
- package/dist/esm/grw-information-desk-detail_3.entry.js +46 -0
- package/dist/esm/grw-trek-card.entry.js +43 -0
- package/dist/esm/{index-7aa9e822.js → index-192d910f.js} +47 -2
- package/dist/esm/length-d82189db.js +27 -0
- package/dist/esm/loader.js +2 -2
- package/dist/esm/store-5a42b5d8.js +206 -0
- package/dist/geotrek-rando-widget/geotrek-rando-widget.css +1 -1
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
- package/dist/geotrek-rando-widget/p-206a52d9.entry.js +1 -0
- package/dist/geotrek-rando-widget/p-2d9ae918.entry.js +1 -0
- package/dist/geotrek-rando-widget/p-6dce5e6c.js +2 -0
- package/dist/geotrek-rando-widget/p-8cfa03c0.entry.js +1 -0
- package/dist/geotrek-rando-widget/p-d3aa9819.entry.js +1 -0
- package/dist/geotrek-rando-widget/p-e63213a9.js +1 -0
- package/dist/geotrek-rando-widget/p-f3f7d6be.js +1 -0
- package/dist/types/components/grw-app/grw-app.d.ts +13 -2
- package/dist/types/components/grw-filter/grw-filter.d.ts +9 -0
- package/dist/types/components/grw-information-desk-detail/grw-information-desk-detail.d.ts +5 -0
- package/dist/types/components/grw-map/grw-map.d.ts +14 -4
- package/dist/types/components/grw-poi-detail/grw-poi-detail.d.ts +5 -0
- package/dist/types/components/grw-sensitive-area-detail/grw-sensitive-area-detail.d.ts +5 -0
- package/dist/types/components/grw-trek-card/grw-trek-card.d.ts +6 -4
- package/dist/types/components/grw-trek-detail/grw-trek-detail.d.ts +10 -4
- package/dist/types/components/grw-treks-list/grw-treks-list.d.ts +1 -0
- package/dist/types/components.d.ts +88 -3
- package/dist/types/store/store.d.ts +21 -1
- package/dist/types/types/types.d.ts +119 -3
- package/package.json +9 -10
- package/readme.md +19 -1
- package/dist/geotrek-rando-widget/p-332ba9ab.js +0 -2
- package/dist/geotrek-rando-widget/p-b7c66d2d.entry.js +0 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-c2c4531d.js');
|
|
6
|
+
const store = require('./store-972b8d2a.js');
|
|
7
|
+
|
|
8
|
+
const grwInformationDeskDetailCss = ":host{display:flex;flex-direction:column}:host a{color:var(--color-primary)}.information-desk-img{width:180px}.information-desk-img img{width:180px;border-radius:8px}.information-desk-sub-container{display:flex;flex-direction:column}.information-desk-name{color:var(--color-primary);font-size:24px;font-weight:bold;padding:12px 0px}.information-desk-description{font-size:16px}";
|
|
9
|
+
|
|
10
|
+
const GrwInformationDeskDetail = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
return (index.h(index.Host, null, this.informationDesk.photo_url && (index.h("div", { class: "information-desk-img" }, index.h("img", { src: this.informationDesk.photo_url, loading: "lazy" }))), index.h("div", { class: "information-desk-sub-container" }, this.informationDesk.name && index.h("div", { class: "information-desk-name" }, this.informationDesk.name), this.informationDesk.description && index.h("div", { class: "information-desk-description", innerHTML: this.informationDesk.description }), this.informationDesk.postal_code ||
|
|
16
|
+
this.informationDesk.municipality ||
|
|
17
|
+
(this.informationDesk.street && (index.h("div", null, this.informationDesk.postal_code, ` ${this.informationDesk.municipality}`, ` ${this.informationDesk.street}`))), this.informationDesk.phone && (index.h("div", null, index.h("a", { href: `tel:${this.informationDesk.phone}` }, this.informationDesk.phone))), this.informationDesk.email && (index.h("div", null, index.h("a", { href: `mailto:${this.informationDesk.email}` }, this.informationDesk.email))), this.informationDesk.website && (index.h("div", null, index.h("a", { href: `${this.informationDesk.website}` }, this.informationDesk.website))))));
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
GrwInformationDeskDetail.style = grwInformationDeskDetailCss;
|
|
21
|
+
|
|
22
|
+
const grwPoiDetailCss = ":host{display:flex;flex-direction:column}:host a{color:var(--color-primary)}.poi-img{width:180px}.poi-img img{width:180px;border-radius:8px}.poi-sub-container{display:flex;flex-direction:column}.poi-name{color:var(--color-primary);font-size:24px;font-weight:bold;padding:12px 0px}.poi-description{font-size:16px}";
|
|
23
|
+
|
|
24
|
+
const GrwPoiDetail = class {
|
|
25
|
+
constructor(hostRef) {
|
|
26
|
+
index.registerInstance(this, hostRef);
|
|
27
|
+
}
|
|
28
|
+
render() {
|
|
29
|
+
return (index.h(index.Host, null, this.poi.attachments && this.poi.attachments[0] && this.poi.attachments[0].thumbnail && (index.h("div", { class: "poi-img" }, index.h("img", { src: this.poi.attachments[0].thumbnail, loading: "lazy" }))), index.h("div", { class: "poi-sub-container" }, index.h("div", { class: "poi-name" }, this.poi.name), index.h("div", { class: "poi-description", innerHTML: this.poi.description }))));
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
GrwPoiDetail.style = grwPoiDetailCss;
|
|
33
|
+
|
|
34
|
+
const grwSensitiveAreaDetailCss = ":host{display:flex;flex-direction:column}:host a{color:var(--color-primary)}.sensitive-area-title{color:var(--color-primary);font-size:24px;padding:12px 0px}.sensitive-area-description{font-size:16px}.sensitive-area-period-container .sensitive-area-period-title,.sensitive-area-period-container .sensitive-area-practice-title,.sensitive-area-period-container .sensitive-area-contact-title,.sensitive-area-practice-container .sensitive-area-period-title,.sensitive-area-practice-container .sensitive-area-practice-title,.sensitive-area-practice-container .sensitive-area-contact-title,.sensitive-area-contact-container .sensitive-area-period-title,.sensitive-area-contact-container .sensitive-area-practice-title,.sensitive-area-contact-container .sensitive-area-contact-title{color:var(--color-primary);font-size:24px;padding:12px 0px}.sensitive-area-period-container .sensitive-area-period-values,.sensitive-area-period-container .sensitive-area-practice-values,.sensitive-area-practice-container .sensitive-area-period-values,.sensitive-area-practice-container .sensitive-area-practice-values,.sensitive-area-contact-container .sensitive-area-period-values,.sensitive-area-contact-container .sensitive-area-practice-values{display:flex}";
|
|
35
|
+
|
|
36
|
+
const GrwSensitiveAreaDetail = class {
|
|
37
|
+
constructor(hostRef) {
|
|
38
|
+
index.registerInstance(this, hostRef);
|
|
39
|
+
}
|
|
40
|
+
render() {
|
|
41
|
+
return (index.h(index.Host, null, index.h("div", { class: "sensitive-area-title" }, this.sensitiveArea.name), index.h("div", { class: "sensitive-area-description", innerHTML: this.sensitiveArea.description }), this.sensitiveArea.practices && this.sensitiveArea.practices.length > 0 && (index.h("div", { class: "sensitive-area-practice-container" }, index.h("div", { class: "sensitive-area-practice-title" }, "Domaines d'activit\u00E9s concern\u00E9s :"), index.h("div", { class: "sensitive-area-practice-values" }, this.sensitiveArea.practices.map((practice, index$1) => (index.h("div", { innerHTML: `${store.state.practices.find(statePractice => statePractice.id === practice).name.toUpperCase()}${index$1 + 1 !== this.sensitiveArea.practices.length ? ' - ' : ''}` })))))), this.sensitiveArea.period && this.sensitiveArea.period.length > 0 && (index.h("div", { class: "sensitive-area-period-container" }, index.h("div", { class: "sensitive-area-period-title" }, "P\u00E9riodes de sensibilit\u00E9"), index.h("div", { class: "sensitive-area-period-values" }, this.sensitiveArea.period.map((month, index$1) => {
|
|
42
|
+
if (month) {
|
|
43
|
+
return (index.h("div", { innerHTML: `${new Date(0, index$1 + 1, 0).toLocaleDateString('fr', { month: 'long' }).toUpperCase()}${this.sensitiveArea.period.slice(index$1 + 1).find(month => month) ? ' - ' : ''}` }));
|
|
44
|
+
}
|
|
45
|
+
})))), index.h("div", { class: "sensitive-area-contact-container" }, index.h("div", { class: "sensitive-area-contact-title" }, "Contact"), index.h("div", { innerHTML: this.sensitiveArea.contact, class: "sensitive-area-contact-value" }))));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
GrwSensitiveAreaDetail.style = grwSensitiveAreaDetailCss;
|
|
49
|
+
|
|
50
|
+
exports.grw_information_desk_detail = GrwInformationDeskDetail;
|
|
51
|
+
exports.grw_poi_detail = GrwPoiDetail;
|
|
52
|
+
exports.grw_sensitive_area_detail = GrwSensitiveAreaDetail;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-c2c4531d.js');
|
|
6
|
+
const store = require('./store-972b8d2a.js');
|
|
7
|
+
const length = require('./length-d315d156.js');
|
|
8
|
+
|
|
9
|
+
const grwTrekCardCss = ".trek-card-container,.trek-card-large-view-container{font-family:\"Roboto\";border-radius:8px;box-shadow:4px 8px 24px rgba(0, 0, 0, 0.25);cursor:pointer}.trek-card-container .image,.trek-card-large-view-container .image{object-fit:cover}.trek-card-container .sub-container,.trek-card-large-view-container .sub-container{display:flex;flex-direction:column;justify-content:center;padding:12px}.trek-card-container .sub-container .name,.trek-card-large-view-container .sub-container .name{color:var(--color-primary);font-size:24px;font-weight:bold;margin-bottom:8px}.trek-card-container .sub-container .departure,.trek-card-large-view-container .sub-container .departure{color:rgba(0, 0, 0, 0.7);font-size:16px;margin:4px 0px}.trek-card-container .sub-container .themes-container,.trek-card-large-view-container .sub-container .themes-container{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.trek-card-container .sub-container .themes-container .theme,.trek-card-large-view-container .sub-container .themes-container .theme{background-color:var(--color-primary-tint);color:#ffffff;border-radius:8px;padding:8px;margin:0px 8px 8px 0px}.trek-card-container .sub-container .icons-labels-container,.trek-card-large-view-container .sub-container .icons-labels-container{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.trek-card-container .sub-container .icons-labels-container .row,.trek-card-large-view-container .sub-container .icons-labels-container .row{display:flex;justify-content:space-between;align-items:center;width:100%}.trek-card-container .sub-container .icons-labels-container .row:not(:last-child),.trek-card-large-view-container .sub-container .icons-labels-container .row:not(:last-child){margin-bottom:12px}.trek-card-container .sub-container .icons-labels-container .row .icon-label,.trek-card-large-view-container .sub-container .icons-labels-container .row .icon-label{display:flex;align-items:center;width:50%}.trek-card-container .sub-container .icons-labels-container .row .icon-label:nth-child(2),.trek-card-large-view-container .sub-container .icons-labels-container .row .icon-label:nth-child(2){margin:0px 4px}.trek-card-container .sub-container .icons-labels-container .row .icon-label img,.trek-card-container .sub-container .icons-labels-container .row .icon-label .svg-icon svg,.trek-card-large-view-container .sub-container .icons-labels-container .row .icon-label img,.trek-card-large-view-container .sub-container .icons-labels-container .row .icon-label .svg-icon svg{width:24px;height:auto;margin-right:8px}.trek-card-container .sub-container .icons-labels-container .row .practice img,.trek-card-large-view-container .sub-container .icons-labels-container .row .practice img{background-color:var(--color-primary)}.trek-card-container{width:350px;height:auto}.trek-card-container .image{width:100%}.trek-card-large-view-container{height:auto;display:flex;flex-direction:row}.trek-card-large-view-container .image{width:250px}";
|
|
10
|
+
|
|
11
|
+
const GrwTrekCard = class {
|
|
12
|
+
constructor(hostRef) {
|
|
13
|
+
index.registerInstance(this, hostRef);
|
|
14
|
+
this.trekCardPress = index.createEvent(this, "trekCardPress", 7);
|
|
15
|
+
this.colorPrimary = '#6b0030';
|
|
16
|
+
this.colorPrimaryTint = '#974c6e';
|
|
17
|
+
this.isLargeView = false;
|
|
18
|
+
}
|
|
19
|
+
componentWillLoad() {
|
|
20
|
+
this.currentTrek = this.trek ? this.trek : store.state.currentTrek;
|
|
21
|
+
if (this.currentTrek) {
|
|
22
|
+
this.difficulty = store.state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);
|
|
23
|
+
this.route = store.state.routes.find(route => route.id === this.currentTrek.route);
|
|
24
|
+
this.practice = store.state.practices.find(practice => practice.id === this.currentTrek.practice);
|
|
25
|
+
this.themes = store.state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));
|
|
26
|
+
}
|
|
27
|
+
store.onChange('currentTrek', () => {
|
|
28
|
+
this.currentTrek = this.trek ? this.trek : store.state.currentTrek;
|
|
29
|
+
if (this.currentTrek) {
|
|
30
|
+
this.difficulty = store.state.difficulties.find(difficulty => difficulty.id === this.currentTrek.difficulty);
|
|
31
|
+
this.route = store.state.routes.find(route => route.id === this.currentTrek.route);
|
|
32
|
+
this.practice = store.state.practices.find(practice => practice.id === this.currentTrek.practice);
|
|
33
|
+
this.themes = store.state.themes.filter(theme => this.currentTrek.themes.includes(theme.id));
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
39
|
+
return (index.h(index.Host, { onClick: () => this.trekCardPress.emit(this.currentTrek.id), style: { 'width': this.isLargeView ? '100%' : 'auto', '--color-primary': this.colorPrimary, '--color-primary-tint': this.colorPrimaryTint } }, this.currentTrek && (index.h("div", { class: this.isLargeView ? 'trek-card-large-view-container' : 'trek-card-container' }, this.currentTrek.attachments && this.currentTrek.attachments[0] && this.currentTrek.attachments[0].thumbnail && (index.h("img", { class: "image", src: `${this.currentTrek.attachments[0].thumbnail}`, loading: "lazy" })), index.h("div", { class: "sub-container" }, index.h("div", { class: "departure" }, (_a = this.currentTrek) === null || _a === void 0 ? void 0 : _a.departure), index.h("div", { class: "name" }, (_b = this.currentTrek) === null || _b === void 0 ? void 0 : _b.name), index.h("div", { class: "themes-container" }, this.themes.map(theme => (index.h("div", { class: "theme" }, theme.label)))), index.h("div", { class: "icons-labels-container" }, index.h("div", { class: "row" }, index.h("div", { class: "icon-label difficulty" }, ((_c = this.difficulty) === null || _c === void 0 ? void 0 : _c.pictogram) && index.h("img", { src: this.difficulty.pictogram }), (_d = this.difficulty) === null || _d === void 0 ? void 0 :
|
|
40
|
+
_d.label), index.h("div", { class: "icon-label duration" }, index.h("div", { class: "svg-icon", innerHTML: length.durationImage }), length.formatDuration(this.currentTrek.duration))), index.h("div", { class: "row" }, index.h("div", { class: "icon-label length" }, index.h("div", { class: "svg-icon", innerHTML: length.lengthImage }), length.formatLength(this.currentTrek.length_2d)), index.h("div", { class: "icon-label ascent" }, index.h("div", { class: "svg-icon", innerHTML: length.ascentImage }), length.formatAscent(this.currentTrek.ascent))), index.h("div", { class: "row" }, index.h("div", { class: "icon-label route" }, ((_e = this.route) === null || _e === void 0 ? void 0 : _e.pictogram) && index.h("img", { src: this.route.pictogram }), (_f = this.route) === null || _f === void 0 ? void 0 :
|
|
41
|
+
_f.route), index.h("div", { class: "icon-label practice" }, ((_g = this.practice) === null || _g === void 0 ? void 0 : _g.pictogram) && index.h("img", { src: this.practice.pictogram }), (_h = this.practice) === null || _h === void 0 ? void 0 :
|
|
42
|
+
_h.name))))))));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
GrwTrekCard.style = grwTrekCardCss;
|
|
46
|
+
|
|
47
|
+
exports.grw_trek_card = GrwTrekCard;
|
|
@@ -189,6 +189,7 @@ const isComplexType = (o) => {
|
|
|
189
189
|
// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
|
|
190
190
|
const h = (nodeName, vnodeData, ...children) => {
|
|
191
191
|
let child = null;
|
|
192
|
+
let key = null;
|
|
192
193
|
let simple = false;
|
|
193
194
|
let lastSimple = false;
|
|
194
195
|
const vNodeChildren = [];
|
|
@@ -216,6 +217,10 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
216
217
|
};
|
|
217
218
|
walk(children);
|
|
218
219
|
if (vnodeData) {
|
|
220
|
+
// normalize class / classname attributes
|
|
221
|
+
if (vnodeData.key) {
|
|
222
|
+
key = vnodeData.key;
|
|
223
|
+
}
|
|
219
224
|
{
|
|
220
225
|
const classData = vnodeData.className || vnodeData.class;
|
|
221
226
|
if (classData) {
|
|
@@ -233,6 +238,9 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
233
238
|
if (vNodeChildren.length > 0) {
|
|
234
239
|
vnode.$children$ = vNodeChildren;
|
|
235
240
|
}
|
|
241
|
+
{
|
|
242
|
+
vnode.$key$ = key;
|
|
243
|
+
}
|
|
236
244
|
return vnode;
|
|
237
245
|
};
|
|
238
246
|
const newVNode = (tag, text) => {
|
|
@@ -246,6 +254,9 @@ const newVNode = (tag, text) => {
|
|
|
246
254
|
{
|
|
247
255
|
vnode.$attrs$ = null;
|
|
248
256
|
}
|
|
257
|
+
{
|
|
258
|
+
vnode.$key$ = null;
|
|
259
|
+
}
|
|
249
260
|
return vnode;
|
|
250
261
|
};
|
|
251
262
|
const Host = {};
|
|
@@ -294,6 +305,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
294
305
|
}
|
|
295
306
|
}
|
|
296
307
|
}
|
|
308
|
+
else if (memberName === 'key')
|
|
309
|
+
;
|
|
297
310
|
else if ((!isProp ) &&
|
|
298
311
|
memberName[0] === 'o' &&
|
|
299
312
|
memberName[1] === 'n') {
|
|
@@ -458,6 +471,8 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
|
|
|
458
471
|
const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
459
472
|
let oldStartIdx = 0;
|
|
460
473
|
let newStartIdx = 0;
|
|
474
|
+
let idxInOld = 0;
|
|
475
|
+
let i = 0;
|
|
461
476
|
let oldEndIdx = oldCh.length - 1;
|
|
462
477
|
let oldStartVnode = oldCh[0];
|
|
463
478
|
let oldEndVnode = oldCh[oldEndIdx];
|
|
@@ -465,6 +480,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
465
480
|
let newStartVnode = newCh[0];
|
|
466
481
|
let newEndVnode = newCh[newEndIdx];
|
|
467
482
|
let node;
|
|
483
|
+
let elmToMove;
|
|
468
484
|
while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
|
|
469
485
|
if (oldStartVnode == null) {
|
|
470
486
|
// Vnode might have been moved left
|
|
@@ -502,7 +518,29 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
502
518
|
newStartVnode = newCh[++newStartIdx];
|
|
503
519
|
}
|
|
504
520
|
else {
|
|
521
|
+
// createKeyToOldIdx
|
|
522
|
+
idxInOld = -1;
|
|
505
523
|
{
|
|
524
|
+
for (i = oldStartIdx; i <= oldEndIdx; ++i) {
|
|
525
|
+
if (oldCh[i] && oldCh[i].$key$ !== null && oldCh[i].$key$ === newStartVnode.$key$) {
|
|
526
|
+
idxInOld = i;
|
|
527
|
+
break;
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
if (idxInOld >= 0) {
|
|
532
|
+
elmToMove = oldCh[idxInOld];
|
|
533
|
+
if (elmToMove.$tag$ !== newStartVnode.$tag$) {
|
|
534
|
+
node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld);
|
|
535
|
+
}
|
|
536
|
+
else {
|
|
537
|
+
patch(elmToMove, newStartVnode);
|
|
538
|
+
oldCh[idxInOld] = undefined;
|
|
539
|
+
node = elmToMove.$elm$;
|
|
540
|
+
}
|
|
541
|
+
newStartVnode = newCh[++newStartIdx];
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
506
544
|
// new element
|
|
507
545
|
node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
|
|
508
546
|
newStartVnode = newCh[++newStartIdx];
|
|
@@ -525,7 +563,9 @@ const isSameVnode = (vnode1, vnode2) => {
|
|
|
525
563
|
// compare if two vnode to see if they're "technically" the same
|
|
526
564
|
// need to have the same element tag, and same key to be the same
|
|
527
565
|
if (vnode1.$tag$ === vnode2.$tag$) {
|
|
528
|
-
|
|
566
|
+
{
|
|
567
|
+
return vnode1.$key$ === vnode2.$key$;
|
|
568
|
+
}
|
|
529
569
|
}
|
|
530
570
|
return false;
|
|
531
571
|
};
|
|
@@ -815,6 +855,11 @@ const addHydratedFlag = (elm) => elm.classList.add('hydrated')
|
|
|
815
855
|
const parsePropertyValue = (propValue, propType) => {
|
|
816
856
|
// ensure this value is of the correct prop type
|
|
817
857
|
if (propValue != null && !isComplexType(propValue)) {
|
|
858
|
+
if (propType & 4 /* Boolean */) {
|
|
859
|
+
// per the HTML spec, any string value means it is a boolean true value
|
|
860
|
+
// but we'll cheat here and say that the string "false" is the boolean false
|
|
861
|
+
return propValue === 'false' ? false : propValue === '' || !!propValue;
|
|
862
|
+
}
|
|
818
863
|
if (propType & 2 /* Number */) {
|
|
819
864
|
// force it to be a number
|
|
820
865
|
return parseFloat(propValue);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function formatDuration(duration) {
|
|
4
|
+
let formattedDuration;
|
|
5
|
+
if (duration < 24) {
|
|
6
|
+
formattedDuration = `${Math.floor(duration)}h`;
|
|
7
|
+
if (duration % 1 > 0) {
|
|
8
|
+
formattedDuration += `${Math.round(60 * (duration % 1))}min`;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
formattedDuration = `${duration / 24}j`;
|
|
13
|
+
}
|
|
14
|
+
return formattedDuration;
|
|
15
|
+
}
|
|
16
|
+
function formatLength(length) {
|
|
17
|
+
return `${Math.round(length / 1000)}km`;
|
|
18
|
+
}
|
|
19
|
+
function formatAscent(ascent) {
|
|
20
|
+
return `${ascent}m`;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const ascentImage = `<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><polyline points="352 144 464 144 464 256" style="fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/><path d="M48,368,169.37,246.63a32,32,0,0,1,45.26,0l50.74,50.74a32,32,0,0,0,45.26,0L448,160" style="fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/></svg>`;
|
|
24
|
+
|
|
25
|
+
const durationImage = `<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><path d="M145.61,464H366.39c19.8,0,35.55-16.29,33.42-35.06C386.06,308,304,310,304,256s83.11-51,95.8-172.94c2-18.78-13.61-35.06-33.41-35.06H145.61c-19.8,0-35.37,16.28-33.41,35.06C124.89,205,208,201,208,256s-82.06,52-95.8,172.94C110.06,447.71,125.81,464,145.61,464Z" style="fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/><path d="M343.3,432H169.13c-15.6,0-20-18-9.06-29.16C186.55,376,240,356.78,240,326V224c0-19.85-38-35-61.51-67.2-3.88-5.31-3.49-12.8,6.37-12.8H327.59c8.41,0,10.23,7.43,6.4,12.75C310.82,189,272,204.05,272,224V326c0,30.53,55.71,47,80.4,76.87C362.35,414.91,358.87,432,343.3,432Z"/></svg>`;
|
|
26
|
+
|
|
27
|
+
const lengthImage = `<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><polyline points="304 96 416 96 416 208" style="fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/><line x1="405.77" y1="106.2" x2="111.98" y2="400.02" style="fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/><polyline points="208 416 96 416 96 304" style="fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/></svg>`;
|
|
28
|
+
|
|
29
|
+
exports.ascentImage = ascentImage;
|
|
30
|
+
exports.durationImage = durationImage;
|
|
31
|
+
exports.formatAscent = formatAscent;
|
|
32
|
+
exports.formatDuration = formatDuration;
|
|
33
|
+
exports.formatLength = formatLength;
|
|
34
|
+
exports.lengthImage = lengthImage;
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-c2c4531d.js');
|
|
6
6
|
|
|
7
7
|
/*
|
|
8
8
|
Stencil Client Patch Esm v2.16.1 | MIT Licensed | https://stenciljs.com
|
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy([["grw-
|
|
17
|
+
return index.bootstrapLazy([["grw-trek-card.cjs",[[1,"grw-trek-card",{"trek":[16],"colorPrimary":[1,"color-primary"],"colorPrimaryTint":[1,"color-primary-tint"],"isLargeView":[4,"is-large-view"],"currentTrek":[32],"difficulty":[32],"route":[32],"practice":[32],"themes":[32]}]]],["grw-information-desk-detail_3.cjs",[[1,"grw-information-desk-detail",{"informationDesk":[16]}],[1,"grw-poi-detail",{"poi":[16]}],[1,"grw-sensitive-area-detail",{"sensitiveArea":[16]}]]],["grw-filter_6.cjs",[[1,"grw-trek-detail",{"trek":[16],"colorPrimary":[1,"color-primary"],"colorPrimaryShade":[1,"color-primary-shade"],"colorPrimaryTint":[1,"color-primary-tint"],"difficulty":[32],"route":[32],"practice":[32],"themes":[32],"labels":[32],"sources":[32],"accessibilities":[32],"accessibilityLevel":[32],"currentTrek":[32]}],[1,"grw-treks-list",{"colorPrimary":[1,"color-primary"],"colorPrimaryTint":[1,"color-primary-tint"],"isLargeView":[4,"is-large-view"],"treksToDisplay":[32]}],[1,"grw-filter",{"filterType":[1,"filter-type"],"filterName":[1,"filter-name"],"filterNameProperty":[1,"filter-name-property"]}],[0,"grw-map",{"urlLayer":[1,"url-layer"],"attribution":[1],"center":[1],"zoom":[2],"colorPrimary":[1,"color-primary"],"colorPrimaryTint":[1,"color-primary-tint"],"colorTrekLine":[1,"color-trek-line"],"colorDepartureIcon":[1,"color-departure-icon"],"colorArrivalIcon":[1,"color-arrival-icon"],"colorSensitiveArea":[1,"color-sensitive-area"],"colorPoiIcon":[1,"color-poi-icon"],"mapIsReady":[32]}],[1,"grw-trek-provider",{"language":[1],"api":[1],"trekId":[1,"trek-id"]}],[1,"grw-treks-provider",{"language":[1],"api":[1],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1],"routes":[1],"practices":[1]}]]],["grw-app.cjs",[[1,"grw-app",{"api":[1],"language":[1],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1],"routes":[1],"practices":[1],"urlLayer":[1,"url-layer"],"center":[1],"zoom":[8],"attribution":[1],"colorPrimary":[1,"color-primary"],"colorPrimaryShade":[1,"color-primary-shade"],"colorPrimaryTint":[1,"color-primary-tint"],"colorTrekLine":[1,"color-trek-line"],"colorDepartureIcon":[1,"color-departure-icon"],"colorArrivalIcon":[1,"color-arrival-icon"],"colorSensitiveArea":[1,"color-sensitive-area"],"colorPoiIcon":[1,"color-poi-icon"],"showTrek":[32],"showTreksMap":[32],"showTrekMap":[32],"showFilters":[32],"isLargeView":[32],"currentTrekId":[32]},[[0,"trekCardPress","onTrekCardPress"],[9,"resize","onWindowResize"]]]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index = require('./index-c2c4531d.js');
|
|
4
|
+
|
|
5
|
+
const appendToMap = (map, propName, value) => {
|
|
6
|
+
const items = map.get(propName);
|
|
7
|
+
if (!items) {
|
|
8
|
+
map.set(propName, [value]);
|
|
9
|
+
}
|
|
10
|
+
else if (!items.includes(value)) {
|
|
11
|
+
items.push(value);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const debounce = (fn, ms) => {
|
|
15
|
+
let timeoutId;
|
|
16
|
+
return (...args) => {
|
|
17
|
+
if (timeoutId) {
|
|
18
|
+
clearTimeout(timeoutId);
|
|
19
|
+
}
|
|
20
|
+
timeoutId = setTimeout(() => {
|
|
21
|
+
timeoutId = 0;
|
|
22
|
+
fn(...args);
|
|
23
|
+
}, ms);
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Check if a possible element isConnected.
|
|
29
|
+
* The property might not be there, so we check for it.
|
|
30
|
+
*
|
|
31
|
+
* We want it to return true if isConnected is not a property,
|
|
32
|
+
* otherwise we would remove these elements and would not update.
|
|
33
|
+
*
|
|
34
|
+
* Better leak in Edge than to be useless.
|
|
35
|
+
*/
|
|
36
|
+
const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
|
|
37
|
+
const cleanupElements = debounce((map) => {
|
|
38
|
+
for (let key of map.keys()) {
|
|
39
|
+
map.set(key, map.get(key).filter(isConnected));
|
|
40
|
+
}
|
|
41
|
+
}, 2000);
|
|
42
|
+
const stencilSubscription = () => {
|
|
43
|
+
if (typeof index.getRenderingRef !== 'function') {
|
|
44
|
+
// If we are not in a stencil project, we do nothing.
|
|
45
|
+
// This function is not really exported by @stencil/core.
|
|
46
|
+
return {};
|
|
47
|
+
}
|
|
48
|
+
const elmsToUpdate = new Map();
|
|
49
|
+
return {
|
|
50
|
+
dispose: () => elmsToUpdate.clear(),
|
|
51
|
+
get: (propName) => {
|
|
52
|
+
const elm = index.getRenderingRef();
|
|
53
|
+
if (elm) {
|
|
54
|
+
appendToMap(elmsToUpdate, propName, elm);
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
set: (propName) => {
|
|
58
|
+
const elements = elmsToUpdate.get(propName);
|
|
59
|
+
if (elements) {
|
|
60
|
+
elmsToUpdate.set(propName, elements.filter(index.forceUpdate));
|
|
61
|
+
}
|
|
62
|
+
cleanupElements(elmsToUpdate);
|
|
63
|
+
},
|
|
64
|
+
reset: () => {
|
|
65
|
+
elmsToUpdate.forEach((elms) => elms.forEach(index.forceUpdate));
|
|
66
|
+
cleanupElements(elmsToUpdate);
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
|
|
72
|
+
let states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));
|
|
73
|
+
const handlers = {
|
|
74
|
+
dispose: [],
|
|
75
|
+
get: [],
|
|
76
|
+
set: [],
|
|
77
|
+
reset: [],
|
|
78
|
+
};
|
|
79
|
+
const reset = () => {
|
|
80
|
+
states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));
|
|
81
|
+
handlers.reset.forEach((cb) => cb());
|
|
82
|
+
};
|
|
83
|
+
const dispose = () => {
|
|
84
|
+
// Call first dispose as resetting the state would
|
|
85
|
+
// cause less updates ;)
|
|
86
|
+
handlers.dispose.forEach((cb) => cb());
|
|
87
|
+
reset();
|
|
88
|
+
};
|
|
89
|
+
const get = (propName) => {
|
|
90
|
+
handlers.get.forEach((cb) => cb(propName));
|
|
91
|
+
return states.get(propName);
|
|
92
|
+
};
|
|
93
|
+
const set = (propName, value) => {
|
|
94
|
+
const oldValue = states.get(propName);
|
|
95
|
+
if (shouldUpdate(value, oldValue, propName)) {
|
|
96
|
+
states.set(propName, value);
|
|
97
|
+
handlers.set.forEach((cb) => cb(propName, value, oldValue));
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const state = (typeof Proxy === 'undefined'
|
|
101
|
+
? {}
|
|
102
|
+
: new Proxy(defaultState, {
|
|
103
|
+
get(_, propName) {
|
|
104
|
+
return get(propName);
|
|
105
|
+
},
|
|
106
|
+
ownKeys(_) {
|
|
107
|
+
return Array.from(states.keys());
|
|
108
|
+
},
|
|
109
|
+
getOwnPropertyDescriptor() {
|
|
110
|
+
return {
|
|
111
|
+
enumerable: true,
|
|
112
|
+
configurable: true,
|
|
113
|
+
};
|
|
114
|
+
},
|
|
115
|
+
has(_, propName) {
|
|
116
|
+
return states.has(propName);
|
|
117
|
+
},
|
|
118
|
+
set(_, propName, value) {
|
|
119
|
+
set(propName, value);
|
|
120
|
+
return true;
|
|
121
|
+
},
|
|
122
|
+
}));
|
|
123
|
+
const on = (eventName, callback) => {
|
|
124
|
+
handlers[eventName].push(callback);
|
|
125
|
+
return () => {
|
|
126
|
+
removeFromArray(handlers[eventName], callback);
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
const onChange = (propName, cb) => {
|
|
130
|
+
const unSet = on('set', (key, newValue) => {
|
|
131
|
+
if (key === propName) {
|
|
132
|
+
cb(newValue);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
const unReset = on('reset', () => cb(defaultState[propName]));
|
|
136
|
+
return () => {
|
|
137
|
+
unSet();
|
|
138
|
+
unReset();
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
const use = (...subscriptions) => {
|
|
142
|
+
const unsubs = subscriptions.reduce((unsubs, subscription) => {
|
|
143
|
+
if (subscription.set) {
|
|
144
|
+
unsubs.push(on('set', subscription.set));
|
|
145
|
+
}
|
|
146
|
+
if (subscription.get) {
|
|
147
|
+
unsubs.push(on('get', subscription.get));
|
|
148
|
+
}
|
|
149
|
+
if (subscription.reset) {
|
|
150
|
+
unsubs.push(on('reset', subscription.reset));
|
|
151
|
+
}
|
|
152
|
+
if (subscription.dispose) {
|
|
153
|
+
unsubs.push(on('dispose', subscription.dispose));
|
|
154
|
+
}
|
|
155
|
+
return unsubs;
|
|
156
|
+
}, []);
|
|
157
|
+
return () => unsubs.forEach((unsub) => unsub());
|
|
158
|
+
};
|
|
159
|
+
const forceUpdate = (key) => {
|
|
160
|
+
const oldValue = states.get(key);
|
|
161
|
+
handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
|
|
162
|
+
};
|
|
163
|
+
return {
|
|
164
|
+
state,
|
|
165
|
+
get,
|
|
166
|
+
set,
|
|
167
|
+
on,
|
|
168
|
+
onChange,
|
|
169
|
+
use,
|
|
170
|
+
dispose,
|
|
171
|
+
reset,
|
|
172
|
+
forceUpdate,
|
|
173
|
+
};
|
|
174
|
+
};
|
|
175
|
+
const removeFromArray = (array, item) => {
|
|
176
|
+
const index = array.indexOf(item);
|
|
177
|
+
if (index >= 0) {
|
|
178
|
+
array[index] = array[array.length - 1];
|
|
179
|
+
array.length--;
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
const createStore = (defaultState, shouldUpdate) => {
|
|
184
|
+
const map = createObservableMap(defaultState, shouldUpdate);
|
|
185
|
+
map.use(stencilSubscription());
|
|
186
|
+
return map;
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
const { state, onChange } = createStore({
|
|
190
|
+
api: '',
|
|
191
|
+
treks: [],
|
|
192
|
+
currentTreks: [],
|
|
193
|
+
difficulties: [],
|
|
194
|
+
routes: [],
|
|
195
|
+
practices: [],
|
|
196
|
+
themes: [],
|
|
197
|
+
durations: [],
|
|
198
|
+
currentSensitiveAreas: null,
|
|
199
|
+
labels: null,
|
|
200
|
+
sources: null,
|
|
201
|
+
accessibilities: null,
|
|
202
|
+
accessibilitiesLevel: null,
|
|
203
|
+
currentTrek: null,
|
|
204
|
+
currentPois: null,
|
|
205
|
+
currentInformationDesks: null,
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
exports.onChange = onChange;
|
|
209
|
+
exports.state = state;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entries": [
|
|
3
3
|
"./components/grw-app/grw-app.js",
|
|
4
|
+
"./components/grw-filter/grw-filter.js",
|
|
5
|
+
"./components/grw-information-desk-detail/grw-information-desk-detail.js",
|
|
4
6
|
"./components/grw-map/grw-map.js",
|
|
7
|
+
"./components/grw-poi-detail/grw-poi-detail.js",
|
|
8
|
+
"./components/grw-sensitive-area-detail/grw-sensitive-area-detail.js",
|
|
5
9
|
"./components/grw-trek-card/grw-trek-card.js",
|
|
6
10
|
"./components/grw-trek-detail/grw-trek-detail.js",
|
|
7
11
|
"./components/grw-treks-list/grw-treks-list.js",
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
position: relative;
|
|
3
3
|
height: 100%;
|
|
4
4
|
max-height: 100vh;
|
|
5
|
+
font-family: "Roboto";
|
|
5
6
|
}
|
|
6
7
|
|
|
7
8
|
.header-container,
|
|
@@ -11,11 +12,6 @@
|
|
|
11
12
|
background-color: var(--color-primary);
|
|
12
13
|
height: 64px;
|
|
13
14
|
}
|
|
14
|
-
.header-container .title,
|
|
15
|
-
.large-view-header-container .title {
|
|
16
|
-
color: #ffffff;
|
|
17
|
-
margin-left: 24px;
|
|
18
|
-
}
|
|
19
15
|
.header-container .arrow-back-icon,
|
|
20
16
|
.large-view-header-container .arrow-back-icon {
|
|
21
17
|
width: 48px;
|
|
@@ -28,6 +24,75 @@
|
|
|
28
24
|
width: 48px;
|
|
29
25
|
height: auto;
|
|
30
26
|
}
|
|
27
|
+
.header-container .handle-filters-button,
|
|
28
|
+
.large-view-header-container .handle-filters-button {
|
|
29
|
+
user-select: none;
|
|
30
|
+
cursor: pointer;
|
|
31
|
+
color: var(--color-primary);
|
|
32
|
+
background-color: #ffffff;
|
|
33
|
+
margin-left: 36px;
|
|
34
|
+
border-radius: 8px;
|
|
35
|
+
padding: 8px;
|
|
36
|
+
}
|
|
37
|
+
.header-container .attribution-container,
|
|
38
|
+
.large-view-header-container .attribution-container {
|
|
39
|
+
position: absolute;
|
|
40
|
+
right: 24px;
|
|
41
|
+
}
|
|
42
|
+
.header-container .attribution-container a,
|
|
43
|
+
.large-view-header-container .attribution-container a {
|
|
44
|
+
color: #ffffff;
|
|
45
|
+
text-decoration: none;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.options-container {
|
|
49
|
+
height: calc(100% - 64px);
|
|
50
|
+
position: absolute;
|
|
51
|
+
width: 100%;
|
|
52
|
+
z-index: 1100;
|
|
53
|
+
top: 64px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.filters-container {
|
|
57
|
+
position: absolute;
|
|
58
|
+
width: 100%;
|
|
59
|
+
background-color: #ffffff;
|
|
60
|
+
padding: 36px 0px;
|
|
61
|
+
z-index: 1100;
|
|
62
|
+
}
|
|
63
|
+
.filters-container .close-filters-button {
|
|
64
|
+
cursor: pointer;
|
|
65
|
+
font-weight: bold;
|
|
66
|
+
position: absolute;
|
|
67
|
+
top: 12px;
|
|
68
|
+
right: 12px;
|
|
69
|
+
padding: 12px;
|
|
70
|
+
border-radius: 12px;
|
|
71
|
+
color: var(--color-primary);
|
|
72
|
+
border: 1px var(--color-primary) solid;
|
|
73
|
+
}
|
|
74
|
+
.filters-container .close-filters-button:hover {
|
|
75
|
+
background-color: var(--color-primary);
|
|
76
|
+
color: #ffffff;
|
|
77
|
+
}
|
|
78
|
+
.filters-container .filter-margin-top {
|
|
79
|
+
margin-top: 24px;
|
|
80
|
+
}
|
|
81
|
+
.filters-container .current-treks-length {
|
|
82
|
+
margin: 0px 0px 32px 8px;
|
|
83
|
+
color: var(--color-primary);
|
|
84
|
+
font-size: 24px;
|
|
85
|
+
font-weight: bold;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.back-filters-container {
|
|
89
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
90
|
+
width: 100%;
|
|
91
|
+
height: calc(100% - 64px);
|
|
92
|
+
position: absolute;
|
|
93
|
+
z-index: 1099;
|
|
94
|
+
top: 64px;
|
|
95
|
+
}
|
|
31
96
|
|
|
32
97
|
.loader-container,
|
|
33
98
|
.large-view-loader-container {
|