@tripian/react 9.3.26 → 9.3.29
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/index.js +25 -24
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/providers/kiwi/KiwiHotelCard/KiwiHotelCard.d.ts +4 -0
package/index.js
CHANGED
|
@@ -61680,7 +61680,6 @@ const KiwiBookingModal = ({ hotelName, roomTitle, rate, currency, checkIn, check
|
|
|
61680
61680
|
}
|
|
61681
61681
|
};
|
|
61682
61682
|
const handleSubmit = async () => {
|
|
61683
|
-
var _a;
|
|
61684
61683
|
setSubmitting(true);
|
|
61685
61684
|
setApiError('');
|
|
61686
61685
|
const externalId = generateExternalId();
|
|
@@ -61724,8 +61723,8 @@ const KiwiBookingModal = ({ hotelName, roomTitle, rate, currency, checkIn, check
|
|
|
61724
61723
|
...(payment.message_to_hotel ? { message_to_hotel: payment.message_to_hotel } : {}),
|
|
61725
61724
|
};
|
|
61726
61725
|
const res = await onCreateReservation(req);
|
|
61727
|
-
if (
|
|
61728
|
-
setConfirmationId(res.data.confirmationId);
|
|
61726
|
+
if (res.data) {
|
|
61727
|
+
setConfirmationId(res.data.confirmationId || externalId);
|
|
61729
61728
|
setStep(3);
|
|
61730
61729
|
}
|
|
61731
61730
|
else {
|
|
@@ -93685,7 +93684,13 @@ const KiwiHotelCard_scss_1 = __importDefault(__webpack_require__(1134));
|
|
|
93685
93684
|
const KiwiHotelCardImage_1 = __importDefault(__webpack_require__(1135));
|
|
93686
93685
|
const KiwiVisaBenefitsModal_1 = __importDefault(__webpack_require__(450));
|
|
93687
93686
|
const currencySymbol_1 = __webpack_require__(123);
|
|
93688
|
-
const
|
|
93687
|
+
const buildBookingUrl = (catalogUrl, checkIn, checkOut, adults, children) => {
|
|
93688
|
+
const base = catalogUrl.replace(/\/$/, '');
|
|
93689
|
+
if (!checkIn || !checkOut)
|
|
93690
|
+
return base;
|
|
93691
|
+
return `${base}/${checkIn}/${checkOut}/${adults !== null && adults !== void 0 ? adults : 2}/${children !== null && children !== void 0 ? children : 0}/1`;
|
|
93692
|
+
};
|
|
93693
|
+
const KiwiHotelCard = ({ hotel, isFavorite, onFavoriteToggle, showVisaBadge, onHover, onSpecialOffersClick, onCardClick, checkIn, checkOut, adults, children, t }) => {
|
|
93689
93694
|
const [visaModalOpen, setVisaModalOpen] = (0, react_1.useState)(false);
|
|
93690
93695
|
const starCount = Math.min(5, Math.round(parseFloat(hotel.starRating) || 0));
|
|
93691
93696
|
const score = parseFloat(hotel.kiwiOverallScore) || 0;
|
|
@@ -93724,10 +93729,11 @@ const KiwiHotelCard = ({ hotel, isFavorite, onFavoriteToggle, showVisaBadge, onH
|
|
|
93724
93729
|
(0, currencySymbol_1.getCurrencySymbol)(hotel.currencyCode),
|
|
93725
93730
|
price.toFixed(0),
|
|
93726
93731
|
react_1.default.createElement("span", { className: KiwiHotelCard_scss_1.default.priceUnit }, t('kiwi.common.perNight')))),
|
|
93727
|
-
|
|
93732
|
+
react_1.default.createElement("button", { type: "button", className: KiwiHotelCard_scss_1.default.bookBtn, onClick: (e) => {
|
|
93728
93733
|
e.stopPropagation();
|
|
93729
|
-
|
|
93730
|
-
|
|
93734
|
+
if (hotel.catalogUrl)
|
|
93735
|
+
window.open(buildBookingUrl(hotel.catalogUrl, checkIn, checkOut, adults, children), '_blank', 'noopener,noreferrer');
|
|
93736
|
+
} }, t('kiwi.card.book')))),
|
|
93731
93737
|
react_1.default.createElement("div", { className: KiwiHotelCard_scss_1.default.row2 },
|
|
93732
93738
|
react_1.default.createElement("span", { className: KiwiHotelCard_scss_1.default.name }, hotel.title),
|
|
93733
93739
|
starCount > 0 && (react_1.default.createElement("span", { className: KiwiHotelCard_scss_1.default.goldStars }, Array.from({ length: starCount }, (_, i) => (react_1.default.createElement("svg", { key: i, className: KiwiHotelCard_scss_1.default.goldStar, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
|
|
@@ -94803,15 +94809,14 @@ const KiwiHotelInfoModal = ({ hotel, onClose, fetchPropertyDetail, fetchProperty
|
|
|
94803
94809
|
react_1.default.createElement("circle", { cx: "12", cy: "12", r: "10" }),
|
|
94804
94810
|
react_1.default.createElement("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
|
|
94805
94811
|
react_1.default.createElement("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" }))))),
|
|
94806
|
-
|
|
94812
|
+
hotel.catalogUrl && (react_1.default.createElement("button", { type: "button", className: KiwiHotelInfoModal_scss_1.default.bookNowBtn, onClick: () => {
|
|
94807
94813
|
if (onBookNowClick)
|
|
94808
94814
|
onBookNowClick(hotel, room, rate);
|
|
94809
|
-
|
|
94810
|
-
|
|
94811
|
-
|
|
94812
|
-
|
|
94813
|
-
|
|
94814
|
-
}
|
|
94815
|
+
const base = hotel.catalogUrl.replace(/\/$/, '');
|
|
94816
|
+
const url = internalCheckIn && internalCheckOut
|
|
94817
|
+
? `${base}/${internalCheckIn}/${internalCheckOut}/${internalAdults}/${internalChildren}/1`
|
|
94818
|
+
: base;
|
|
94819
|
+
window.open(url, '_blank', 'noopener,noreferrer');
|
|
94815
94820
|
} }, t('kiwi.common.bookNow'))))),
|
|
94816
94821
|
(rate.description || (rate.policies && Object.values(rate.policies).some(Boolean))) && (react_1.default.createElement("button", { type: "button", className: KiwiHotelInfoModal_scss_1.default.seeMoreBtn, onClick: () => { setRoomRateModal({ roomTitle: room.title, rate, currency: rateCurrency }); if (onSeeMoreDetails)
|
|
94817
94822
|
onSeeMoreDetails(hotel, room, rate); } },
|
|
@@ -94886,17 +94891,13 @@ const KiwiHotelInfoModal = ({ hotel, onClose, fetchPropertyDetail, fetchProperty
|
|
|
94886
94891
|
react_1.default.createElement("polyline", { points: "9 18 15 12 9 6" })))))))),
|
|
94887
94892
|
visaModalOpen && react_1.default.createElement(KiwiVisaBenefitsModal_1.default, { onClose: () => setVisaModalOpen(false), t: t }),
|
|
94888
94893
|
offersModalOpen && (react_1.default.createElement(KiwiSpecialOffersModal_1.default, { hotelName: data.title, specialOffers: loadingDetail ? undefined : ((_b = propertyDetail === null || propertyDetail === void 0 ? void 0 : propertyDetail.specialOffers) !== null && _b !== void 0 ? _b : []), onClose: () => setOffersModalOpen(false), t: t })),
|
|
94889
|
-
roomRateModal && (react_1.default.createElement(KiwiRoomRateModal_1.default, { roomTitle: roomRateModal.roomTitle, rate: roomRateModal.rate, currency: roomRateModal.currency, nightCount: nightCount, onClose: () => setRoomRateModal(undefined), t: t, onBookNow:
|
|
94890
|
-
const { rate: rr, currency: rc } = roomRateModal;
|
|
94891
|
-
const matchingRoom = availabilityData === null || availabilityData === void 0 ? void 0 : availabilityData.rooms.find((r) => { var _a; return (_a = r.rates) === null || _a === void 0 ? void 0 : _a.some((rt) => rt.code === rr.code); });
|
|
94894
|
+
roomRateModal && (react_1.default.createElement(KiwiRoomRateModal_1.default, { roomTitle: roomRateModal.roomTitle, rate: roomRateModal.rate, currency: roomRateModal.currency, nightCount: nightCount, onClose: () => setRoomRateModal(undefined), t: t, onBookNow: hotel.catalogUrl ? () => {
|
|
94892
94895
|
setRoomRateModal(undefined);
|
|
94893
|
-
|
|
94894
|
-
|
|
94895
|
-
|
|
94896
|
-
|
|
94897
|
-
|
|
94898
|
-
onBookNow(hotel, matchingRoom, rr);
|
|
94899
|
-
}
|
|
94896
|
+
const base = hotel.catalogUrl.replace(/\/$/, '');
|
|
94897
|
+
const url = internalCheckIn && internalCheckOut
|
|
94898
|
+
? `${base}/${internalCheckIn}/${internalCheckOut}/${internalAdults}/${internalChildren}/1`
|
|
94899
|
+
: base;
|
|
94900
|
+
window.open(url, '_blank', 'noopener,noreferrer');
|
|
94900
94901
|
} : undefined })),
|
|
94901
94902
|
bookingModal && onCreateReservation && (react_1.default.createElement(KiwiBookingModal_1.default, { hotelName: data.title, roomTitle: bookingModal.room.title, rate: bookingModal.rate, currency: bookingModal.currency, checkIn: internalCheckIn, checkOut: internalCheckOut, nightCount: nightCount, adults: internalAdults, children: internalChildren, propertyCode: hotel.code, roomCode: bookingModal.room.code, generateExternalId: generateExternalId || (() => `${hotel.code}-${Date.now()}`), onClose: () => setBookingModal(undefined), onCreateReservation: async (req) => {
|
|
94902
94903
|
const res = await onCreateReservation(req);
|