@influence-society-web/deshotelsetdesiles 4.1.3 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1 @@
1
- "use strict";
2
- (() => {
3
- })();
4
- //# sourceMappingURL=index.js.map
1
+ "use strict";(()=>{})();
@@ -1,409 +1 @@
1
- "use strict";
2
- (() => {
3
- // src/utils/constants.ts
4
- var prefix = "data";
5
- var SELECTORS = {
6
- startingPriceList: `[${prefix}=starting-price-list]`,
7
- price: `[${prefix}=price]`,
8
- discount: `[${prefix}=discount]`,
9
- discountContainer: `[${prefix}=discount-container]`,
10
- currency: `[${prefix}=currency]`,
11
- beHid: `[${prefix}-be-hid]`,
12
- destination: `[${prefix}=destination]`,
13
- offersList: `[${prefix}=offers-list]`,
14
- /** Offer slug page: wrapper with existing main offer. Match both data="..." and data-... for Webflow. */
15
- offerSlugDetail: `[${prefix}=offer-slug-detail], [data-offer-slug-detail]`,
16
- /** Offer slug page: "Nos autres offres" list container. */
17
- offerSlugOthersList: `[${prefix}=offer-slug-others-list], [data-offer-slug-others-list]`,
18
- /** Offer slug page: card template inside offer-slug-others-list (use .offer-others_item if no data-list-item). */
19
- offerSlugOthersListItem: ".offer-others_item",
20
- /** Offer slug page: "Nos autres offres" section wrapper. Shown when other offers are rendered. */
21
- offersMoreWrapper: `[${prefix}=offers-more-wrapper]`,
22
- offersListContainer: `[${prefix}=offers-list-container]`,
23
- listItem: `[${prefix}=list-item]`,
24
- image: `[${prefix}=image]`,
25
- name: `[${prefix}=name]`,
26
- description: `[${prefix}=description]`,
27
- hotelName: `[${prefix}=hotel-name]`,
28
- hotelLink: `[${prefix}=hotel-link]`,
29
- hotelStartingPriceContainer: `[${prefix}=hotel-starting-price-container]`,
30
- moreDetails: `[${prefix}=more-details]`,
31
- offersPopup: `[${prefix}=offers-popup]`,
32
- offersPopupClose: `[${prefix}=close-btn]`,
33
- hotelReserveLink: `[${prefix}=hotel-reserve-link]`,
34
- hotelVillaReserveLink: `[${prefix}=hotel-villa-reserve-link]`,
35
- hotelURLS: `[${prefix}=hotel-urls]`,
36
- languageDropdown: `[${prefix}=language-dropdown]`,
37
- selectedLanguage: `[${prefix}=selected-language]`,
38
- loadingSpinner: `[${prefix}=loading-spinner]`,
39
- cmsFilterEmptyState: `[fs-cmsfilter-element=empty]`,
40
- startingfromItem: (id) => `[${prefix}-be-hid=${id}]`,
41
- popupOverlay: `[fs-smartlightbox-element=trigger-close]`
42
- };
43
- var BE_HID_TO_SNIPPET_CODE = {
44
- DHDICBeach: "gpgos12767",
45
- DHDIJMalanga: "gptro12772",
46
- DHDIToubana: "gpsai12770",
47
- DHDIMahogany: "gpgos12769",
48
- DHDILangleyres: "gpgua27143",
49
- DHDIJungle: "mqros18592",
50
- DHDIJade: "agste21689",
51
- DHDIWINDLAND: "zzzzz25376",
52
- DHDILeCapMaison: "lcgro30400",
53
- DHDIChastenet: "agste21688",
54
- DHDILPSoleil: "mqsai18593",
55
- DHDISHANTI: "zzzzz25378",
56
- DHDIPavillon: "zzzzz25377",
57
- DHDIBELLEMARE: "zzzzz25379",
58
- DHDIPrincemaurice: "mupos25678",
59
- DHDIANAHITA: "zzzzz25380",
60
- DHDISamana: "agstm21687",
61
- FRANTHTLGrandCaseBe1: "frsai31536",
62
- DHDITInn: "ageng20433",
63
- DHDIBWaters: "agcro20496",
64
- DHDICuisinartgolf: "gpang25884",
65
- DMDESHTLSecretBayDom: "dmtib00001"
66
- };
67
- var CURRENCY_TO_SYMBOL = {
68
- AED: "\u062F.\u0625.",
69
- AFN: "Af",
70
- ALL: "L",
71
- AMD: "\u058F",
72
- ANG: "\u0192",
73
- AOA: "Kz",
74
- ARS: "AR$",
75
- AUD: "AU$",
76
- AWG: "\u0192",
77
- AZN: "\u043C\u0430\u043D",
78
- BAM: "KM",
79
- BBD: "BBD$",
80
- BDT: "\u09F3",
81
- BGN: "\u043B\u0432.",
82
- BHD: "BD",
83
- BIF: "FBu",
84
- BMD: "$",
85
- BND: "B$",
86
- BOB: "Bs.",
87
- BRL: "R$",
88
- BSD: "$",
89
- BTN: "Nu.",
90
- BWP: "P",
91
- BYN: "Br",
92
- BZD: "BZ$",
93
- CAD: "CA$",
94
- CDF: "FC",
95
- CHF: "Fr.",
96
- CKD: "$",
97
- CLP: "CL$",
98
- CNY: "CN\xA5",
99
- COP: "CO$",
100
- CRC: "\u20A1",
101
- CUC: "CUC$",
102
- CUP: "$MN",
103
- CVE: "CV$",
104
- CZK: "K\u010D",
105
- DJF: "Fdj",
106
- DKK: "kr.",
107
- DOP: "RD$",
108
- DZD: "DA",
109
- EGP: "E\xA3",
110
- EHP: "Ptas.",
111
- ERN: "Nkf",
112
- ETB: "Br",
113
- EUR: "\u20AC",
114
- FJD: "FJ$",
115
- FKP: "FK\xA3",
116
- FOK: "kr",
117
- GBP: "\xA3",
118
- GEL: "\u20BE",
119
- GGP: "\xA3",
120
- GHS: "GH\u20B5",
121
- GIP: "\xA3",
122
- GMD: "D",
123
- GNF: "FG",
124
- GTQ: "Q",
125
- GYD: "G$",
126
- HKD: "HK$",
127
- HNL: "L",
128
- HRK: "kn",
129
- HTG: "G",
130
- HUF: "Ft",
131
- IDR: "Rp",
132
- ILS: "\u20AA",
133
- IMP: "\xA3",
134
- INR: "Rs.",
135
- IQD: "\u062F.\u0639.",
136
- IRR: "\uFDFC",
137
- ISK: "kr",
138
- JEP: "\xA3",
139
- JMD: "J$",
140
- JOD: "JD",
141
- JPY: "\xA5",
142
- KES: "KSh",
143
- KGS: "\u0441",
144
- KHR: "\u17DB",
145
- KID: "$",
146
- KMF: "CF",
147
- KPW: "\u20A9",
148
- KRW: "\u20A9",
149
- KWD: "KD",
150
- KYD: "CI$",
151
- KZT: "\u20B8",
152
- LAK: "\u20ADN",
153
- LBP: "LL.",
154
- LKR: "Rs.",
155
- LRD: "L$",
156
- LSL: "L",
157
- LYD: "LD",
158
- MAD: "DH",
159
- MDL: "L",
160
- MGA: "Ar",
161
- MKD: "den",
162
- MMK: "Ks",
163
- MNT: "\u20AE",
164
- MOP: "MOP$",
165
- MRU: "UM",
166
- MUR: "Rs.",
167
- MVR: "MRf",
168
- MWK: "MK",
169
- MXN: "MX$",
170
- MYR: "RM",
171
- MZN: "MTn",
172
- NAD: "N$",
173
- NGN: "\u20A6",
174
- NIO: "C$",
175
- NOK: "kr",
176
- NPR: "Rs.",
177
- NZD: "NZ$",
178
- OMR: "OR",
179
- PAB: "B/.",
180
- PEN: "S/.",
181
- PGK: "K",
182
- PHP: "\u20B1",
183
- PKR: "Rs.",
184
- PLN: "z\u0142",
185
- PND: "$",
186
- PRB: "\u0440.",
187
- PYG: "\u20B2",
188
- QAR: "QR",
189
- RON: "L",
190
- RSD: "din",
191
- RUB: "\u20BD",
192
- RWF: "FRw",
193
- SAR: "SR",
194
- SBD: "SI$",
195
- SCR: "Rs.",
196
- SDG: "\xA3SD",
197
- SEK: "kr",
198
- SGD: "S$",
199
- SHP: "\xA3",
200
- SLL: "Le",
201
- SLS: "Sl",
202
- SOS: "Sh.So.",
203
- SRD: "Sr$",
204
- SSP: "SS\xA3",
205
- STN: "Db",
206
- SVC: "\u20A1",
207
- SYP: "LS",
208
- SZL: "L",
209
- THB: "\u0E3F",
210
- TJS: "SM",
211
- TMT: "m.",
212
- TND: "DT",
213
- TOP: "T$",
214
- TRY: "TL",
215
- TTD: "TT$",
216
- TVD: "$",
217
- TWD: "NT$",
218
- TZS: "TSh",
219
- UAH: "\u20B4",
220
- UGX: "USh",
221
- USD: "$",
222
- UYU: "$U",
223
- UZS: "\u0441\u0443\u043C",
224
- VED: "Bs.",
225
- VES: "Bs.F",
226
- VND: "\u20AB",
227
- VUV: "VT",
228
- WST: "T",
229
- XAF: "Fr",
230
- XCD: "$",
231
- XOF: "\u20A3",
232
- XPF: "\u20A3",
233
- YER: "YR",
234
- ZAR: "R",
235
- ZMW: "ZK",
236
- ZWB: "",
237
- ZWL: "Z$",
238
- Abkhazia: "",
239
- Artsakh: "\u0564\u0580."
240
- };
241
- var LANG_TO_LOCALE = {
242
- it: "it_IT",
243
- es: "es_ES",
244
- fr: "fr_FR",
245
- en: "en_GB"
246
- };
247
- var apiBaseUrl = "https://deshotelsetdesiles.ccordier.workers.dev/v2/";
248
-
249
- // src/utils/buildQueryParams.ts
250
- var buildQueryParams = (queryParams) => {
251
- let url = "?";
252
- for (const [key, value] of Object.entries(queryParams)) {
253
- if (value) {
254
- url += `${key}=${value}&`;
255
- }
256
- }
257
- return url;
258
- };
259
-
260
- // src/utils/utils.ts
261
- var listenForLanguageChange = () => {
262
- const isitProduction = isProduction();
263
- if (!isitProduction) {
264
- const currentStagingLang = localStorage.getItem("wglang") || "fr";
265
- window.Weglot.switchTo(currentStagingLang);
266
- }
267
- window.Weglot.on("languageChanged", () => {
268
- if (isitProduction) {
269
- window.location.reload();
270
- } else {
271
- const newLang = window.Weglot.getCurrentLang();
272
- localStorage.setItem("wglang", newLang);
273
- if (window.loadFromServer) {
274
- window.loadFromServer();
275
- }
276
- }
277
- });
278
- };
279
- var isProduction = () => {
280
- return window.location.hostname !== "deshotelsetdesiles.webflow.io";
281
- };
282
- var getLocale = () => {
283
- const lang = getLanguage();
284
- return LANG_TO_LOCALE[lang];
285
- };
286
- var getLanguage = () => {
287
- if (!isProduction()) {
288
- return localStorage.getItem("wglang") || "fr";
289
- }
290
- try {
291
- const language = window.Weglot.getCurrentLang();
292
- if (language) {
293
- return language;
294
- }
295
- } catch (error) {
296
- console.error("Error getting language", error);
297
- return "fr";
298
- }
299
- return "fr";
300
- };
301
-
302
- // src/utils/StartingPrice.ts
303
- var StartingPrice = class {
304
- // The hotel ids
305
- hotelsIds;
306
- // The elements that will be updated with the starting price data for each hotel
307
- itemElements;
308
- // The container elements for each hotel
309
- itemContainerElements = [];
310
- hotelStartingPriceDataMap = /* @__PURE__ */ new Map();
311
- constructor(container) {
312
- this.hotelsIds = [];
313
- this.itemElements = [];
314
- container.querySelectorAll(SELECTORS.beHid).forEach((item) => {
315
- const hid = item.getAttribute(`${prefix}-be-hid`)?.trim();
316
- if (hid && BE_HID_TO_SNIPPET_CODE[hid]) {
317
- this.hotelsIds.push(BE_HID_TO_SNIPPET_CODE[hid]);
318
- this.itemElements.push(item);
319
- this.itemContainerElements.push(item.parentElement);
320
- const priceElement = item.querySelector(SELECTORS.price);
321
- if (priceElement) {
322
- priceElement.style.display = "none";
323
- }
324
- } else if (hid && !BE_HID_TO_SNIPPET_CODE[hid]) {
325
- const hotelStartingPriceContainer = item.querySelector(
326
- SELECTORS.hotelStartingPriceContainer
327
- );
328
- if (hotelStartingPriceContainer) {
329
- this.hidePricingContainer(hotelStartingPriceContainer);
330
- }
331
- }
332
- });
333
- listenForLanguageChange();
334
- }
335
- /**
336
- *
337
- * get the starting price data for each hotel and update the elements with the data
338
- */
339
- async getHotelStartingPrice() {
340
- for (let index = 0; index < this.hotelsIds.length; index++) {
341
- const hid = this.hotelsIds[index];
342
- const element = this.itemElements[index];
343
- const hotelStartingPriceContainer = element.querySelector(SELECTORS.hotelStartingPriceContainer) || this.itemContainerElements[index];
344
- let startingPriceData = this.hotelStartingPriceDataMap.get(hid);
345
- if (startingPriceData === void 0) {
346
- startingPriceData = await this.getHotelStartingPriceData({
347
- property: hid,
348
- locale: getLocale()
349
- });
350
- }
351
- this.hotelStartingPriceDataMap.set(hid, startingPriceData);
352
- if (!startingPriceData) {
353
- this.hidePricingContainer(hotelStartingPriceContainer);
354
- continue;
355
- }
356
- const {
357
- quotation: { pricePerNight, currency }
358
- } = startingPriceData;
359
- if (!pricePerNight) {
360
- this.hidePricingContainer(hotelStartingPriceContainer);
361
- }
362
- const priceElement = element.querySelector(SELECTORS.price);
363
- if (priceElement) {
364
- priceElement.innerHTML = Math.floor(pricePerNight).toString();
365
- priceElement.style.display = "block";
366
- }
367
- const currencyElement = element.querySelector(SELECTORS.currency);
368
- if (currencyElement)
369
- currencyElement.innerHTML = CURRENCY_TO_SYMBOL[currency];
370
- }
371
- }
372
- /**
373
- *
374
- * @param queryParams to include as part of query for the request
375
- * @returns Starting price data
376
- */
377
- async getHotelStartingPriceData(queryParams) {
378
- const url = apiBaseUrl + "startingfrom" + buildQueryParams(queryParams);
379
- const response = await fetch(url);
380
- const body = await response.json();
381
- if (body.error || !body.data)
382
- return null;
383
- return body.data;
384
- }
385
- /**
386
- *
387
- * @param hotelStartingPriceContainer to hide
388
- */
389
- hidePricingContainer(hotelStartingPriceContainer) {
390
- if (hotelStartingPriceContainer) {
391
- hotelStartingPriceContainer.style.display = "none";
392
- }
393
- }
394
- };
395
-
396
- // src/pages/CarnetDeVoyage.ts
397
- window.Webflow ||= [];
398
- window.loadFromServer = () => {
399
- window.Webflow.push(async () => {
400
- const startingPriceList = document.querySelector(SELECTORS.startingPriceList);
401
- if (startingPriceList) {
402
- const startingPrice = new StartingPrice(startingPriceList);
403
- await startingPrice.getHotelStartingPrice();
404
- }
405
- });
406
- };
407
- window.loadFromServer();
408
- })();
409
- //# sourceMappingURL=CarnetDeVoyage.js.map
1
+ "use strict";(()=>{var P=Object.defineProperty;var M=(a,t,i)=>t in a?P(a,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[t]=i;var l=(a,t,i)=>(M(a,typeof t!="symbol"?t+"":t,i),i);var e="data",o={startingPriceList:`[${e}=starting-price-list]`,price:`[${e}=price]`,discount:`[${e}=discount]`,discountContainer:`[${e}=discount-container]`,currency:`[${e}=currency]`,beHid:`[${e}-be-hid]`,destination:`[${e}=destination]`,offersList:`[${e}=offers-list]`,offerSlugDetail:`[${e}=offer-slug-detail], [data-offer-slug-detail]`,offerSlugOthersList:`[${e}=offer-slug-others-list], [data-offer-slug-others-list]`,offerSlugOthersListItem:".offer-others_item",offersMoreWrapper:`[${e}=offers-more-wrapper]`,offersListContainer:`[${e}=offers-list-container]`,listItem:`[${e}=list-item]`,image:`[${e}=image]`,name:`[${e}=name]`,description:`[${e}=description]`,hotelName:`[${e}=hotel-name]`,hotelLink:`[${e}=hotel-link]`,hotelStartingPriceContainer:`[${e}=hotel-starting-price-container]`,moreDetails:`[${e}=more-details]`,offersPopup:`[${e}=offers-popup]`,offersPopupClose:`[${e}=close-btn]`,hotelReserveLink:`[${e}=hotel-reserve-link]`,hotelVillaReserveLink:`[${e}=hotel-villa-reserve-link]`,hotelURLS:`[${e}=hotel-urls]`,languageDropdown:`[${e}=language-dropdown]`,selectedLanguage:`[${e}=selected-language]`,loadingSpinner:`[${e}=loading-spinner]`,cmsFilterEmptyState:"[fs-cmsfilter-element=empty]",startingfromItem:a=>`[${e}-be-hid=${a}]`,popupOverlay:"[fs-smartlightbox-element=trigger-close]"};var c={DHDICBeach:"gpgos12767",DHDIJMalanga:"gptro12772",DHDIToubana:"gpsai12770",DHDIMahogany:"gpgos12769",DHDILangleyres:"gpgua27143",DHDIJungle:"mqros18592",DHDIJade:"agste21689",DHDIWINDLAND:"zzzzz25376",DHDILeCapMaison:"lcgro30400",DHDIChastenet:"agste21688",DHDILPSoleil:"mqsai18593",DHDISHANTI:"zzzzz25378",DHDIPavillon:"zzzzz25377",DHDIBELLEMARE:"zzzzz25379",DHDIPrincemaurice:"mupos25678",DHDIANAHITA:"zzzzz25380",DHDISamana:"agstm21687",FRANTHTLGrandCaseBe1:"frsai31536",DHDITInn:"ageng20433",DHDIBWaters:"agcro20496",DHDICuisinartgolf:"gpang25884",DMDESHTLSecretBayDom:"dmtib00001"};var m={AED:"\u062F.\u0625.",AFN:"Af",ALL:"L",AMD:"\u058F",ANG:"\u0192",AOA:"Kz",ARS:"AR$",AUD:"AU$",AWG:"\u0192",AZN:"\u043C\u0430\u043D",BAM:"KM",BBD:"BBD$",BDT:"\u09F3",BGN:"\u043B\u0432.",BHD:"BD",BIF:"FBu",BMD:"$",BND:"B$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"Br",BZD:"BZ$",CAD:"CA$",CDF:"FC",CHF:"Fr.",CKD:"$",CLP:"CL$",CNY:"CN\xA5",COP:"CO$",CRC:"\u20A1",CUC:"CUC$",CUP:"$MN",CVE:"CV$",CZK:"K\u010D",DJF:"Fdj",DKK:"kr.",DOP:"RD$",DZD:"DA",EGP:"E\xA3",EHP:"Ptas.",ERN:"Nkf",ETB:"Br",EUR:"\u20AC",FJD:"FJ$",FKP:"FK\xA3",FOK:"kr",GBP:"\xA3",GEL:"\u20BE",GGP:"\xA3",GHS:"GH\u20B5",GIP:"\xA3",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"G$",HKD:"HK$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"\u20AA",IMP:"\xA3",INR:"Rs.",IQD:"\u062F.\u0639.",IRR:"\uFDFC",ISK:"kr",JEP:"\xA3",JMD:"J$",JOD:"JD",JPY:"\xA5",KES:"KSh",KGS:"\u0441",KHR:"\u17DB",KID:"$",KMF:"CF",KPW:"\u20A9",KRW:"\u20A9",KWD:"KD",KYD:"CI$",KZT:"\u20B8",LAK:"\u20ADN",LBP:"LL.",LKR:"Rs.",LRD:"L$",LSL:"L",LYD:"LD",MAD:"DH",MDL:"L",MGA:"Ar",MKD:"den",MMK:"Ks",MNT:"\u20AE",MOP:"MOP$",MRU:"UM",MUR:"Rs.",MVR:"MRf",MWK:"MK",MXN:"MX$",MYR:"RM",MZN:"MTn",NAD:"N$",NGN:"\u20A6",NIO:"C$",NOK:"kr",NPR:"Rs.",NZD:"NZ$",OMR:"OR",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"\u20B1",PKR:"Rs.",PLN:"z\u0142",PND:"$",PRB:"\u0440.",PYG:"\u20B2",QAR:"QR",RON:"L",RSD:"din",RUB:"\u20BD",RWF:"FRw",SAR:"SR",SBD:"SI$",SCR:"Rs.",SDG:"\xA3SD",SEK:"kr",SGD:"S$",SHP:"\xA3",SLL:"Le",SLS:"Sl",SOS:"Sh.So.",SRD:"Sr$",SSP:"SS\xA3",STN:"Db",SVC:"\u20A1",SYP:"LS",SZL:"L",THB:"\u0E3F",TJS:"SM",TMT:"m.",TND:"DT",TOP:"T$",TRY:"TL",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"\u20B4",UGX:"USh",USD:"$",UYU:"$U",UZS:"\u0441\u0443\u043C",VED:"Bs.",VES:"Bs.F",VND:"\u20AB",VUV:"VT",WST:"T",XAF:"Fr",XCD:"$",XOF:"\u20A3",XPF:"\u20A3",YER:"YR",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"Z$",Abkhazia:"",Artsakh:"\u0564\u0580."},b={it:"it_IT",es:"es_ES",fr:"fr_FR",en:"en_GB"};var h="https://deshotelsetdesiles.ccordier.workers.dev/v2/";var p=a=>{let t="?";for(let[i,s]of Object.entries(a))s&&(t+=`${i}=${s}&`);return t};var D=()=>{let a=I();if(!a){let t=localStorage.getItem("wglang")||"fr";window.Weglot.switchTo(t)}window.Weglot.on("languageChanged",()=>{if(a)window.location.reload();else{let t=window.Weglot.getCurrentLang();localStorage.setItem("wglang",t),window.loadFromServer&&window.loadFromServer()}})},I=()=>window.location.hostname!=="deshotelsetdesiles.webflow.io",L=()=>{let a=A();return b[a]},A=()=>{if(!I())return localStorage.getItem("wglang")||"fr";try{let a=window.Weglot.getCurrentLang();if(a)return a}catch(a){return console.error("Error getting language",a),"fr"}return"fr"};var d=class{constructor(t){l(this,"hotelsIds");l(this,"itemElements");l(this,"itemContainerElements",[]);l(this,"hotelStartingPriceDataMap",new Map);this.hotelsIds=[],this.itemElements=[],t.querySelectorAll(o.beHid).forEach(i=>{let s=i.getAttribute(`${e}-be-hid`)?.trim();if(s&&c[s]){this.hotelsIds.push(c[s]),this.itemElements.push(i),this.itemContainerElements.push(i.parentElement);let n=i.querySelector(o.price);n&&(n.style.display="none")}else if(s&&!c[s]){let n=i.querySelector(o.hotelStartingPriceContainer);n&&this.hidePricingContainer(n)}}),D()}async getHotelStartingPrice(){for(let t=0;t<this.hotelsIds.length;t++){let i=this.hotelsIds[t],s=this.itemElements[t],n=s.querySelector(o.hotelStartingPriceContainer)||this.itemContainerElements[t],r=this.hotelStartingPriceDataMap.get(i);if(r===void 0&&(r=await this.getHotelStartingPriceData({property:i,locale:L()})),this.hotelStartingPriceDataMap.set(i,r),!r){this.hidePricingContainer(n);continue}let{quotation:{pricePerNight:f,currency:S}}=r;f||this.hidePricingContainer(n);let g=s.querySelector(o.price);g&&(g.innerHTML=Math.floor(f).toString(),g.style.display="block");let u=s.querySelector(o.currency);u&&(u.innerHTML=m[S])}}async getHotelStartingPriceData(t){let i=h+"startingfrom"+p(t),n=await(await fetch(i)).json();return n.error||!n.data?null:n.data}hidePricingContainer(t){t&&(t.style.display="none")}};window.Webflow||(window.Webflow=[]);window.loadFromServer=()=>{window.Webflow.push(async()=>{let a=document.querySelector(o.startingPriceList);a&&await new d(a).getHotelStartingPrice()})};window.loadFromServer();})();