@tripian/react 9.1.74 → 9.1.75
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.
|
@@ -38,6 +38,7 @@ interface IPoiInfo {
|
|
|
38
38
|
sendFeedback: (value: Model.FeedbackRequest) => Promise<void>;
|
|
39
39
|
placeInfoCallBack: () => void;
|
|
40
40
|
redeemClicked?: () => void;
|
|
41
|
+
onImageModalChange?: (isOpen: boolean) => void;
|
|
41
42
|
t: (value: Model.TranslationKey) => string;
|
|
42
43
|
}
|
|
43
44
|
declare const PoiInfo: React.FC<IPoiInfo>;
|
|
@@ -5,6 +5,7 @@ import 'slick-carousel/slick/slick-theme.css';
|
|
|
5
5
|
interface IPoiInfoImageDesktop {
|
|
6
6
|
poi: Model.Poi;
|
|
7
7
|
t: (key: Model.TranslationKey) => string;
|
|
8
|
+
onImageModalChange?: (isOpen: boolean) => void;
|
|
8
9
|
}
|
|
9
10
|
declare const PoiInfoImageDesktop: React.FC<IPoiInfoImageDesktop>;
|
|
10
11
|
export default PoiInfoImageDesktop;
|
package/index.js
CHANGED
|
@@ -27535,7 +27535,7 @@ const DestinationSelect = ({ options, selectedOptionId, onSelectedOptionChange,
|
|
|
27535
27535
|
react_1.default.createElement(react_select_1.default, { ref: selectRef, options: (0, match_sorter_1.matchSorter)(options, destinationSearchInput, { keys: ['label'] }), defaultValue: selectedOption, value: selectedOption, onChange: handleChange, onInputChange: (e) => setDestinationSearchInput(e), placeholder: placeHolder, className: "destinationSelect", classNamePrefix: "destinationSelect", isDisabled: disabled, isOptionDisabled: (option) => option.isSelected === true, isOptionSelected: (option) => option.isSelected === true, onFocus: () => onFocus && onFocus(), onBlur: () => onBlur && onBlur(), noOptionsMessage: noOptionsMessage, formatOptionLabel: formatOptionLabel, menuPlacement: "auto", components: { DropdownIndicator: null }, menuPortalTarget: document.body, styles: {
|
|
27536
27536
|
menuPortal: (base) => ({ ...base, zIndex: 9999 }),
|
|
27537
27537
|
} }),
|
|
27538
|
-
showAiSuggestions && (react_1.default.createElement(Button_1.default, { onClick: handleOpenSuggestionsModal, className:
|
|
27538
|
+
showAiSuggestions && (react_1.default.createElement(Button_1.default, { onClick: handleOpenSuggestionsModal, className: `px-3 py-1 bg-gradient-to-r from-blue-500 to-purple-600 text-white text-sm rounded-full shadow-md hover:shadow-lg transition-all flex items-center md:text-sm md:px-3 md:py-1 sm:text-xs sm:px-2 sm:py-0.5 ${DestinationSelect_scss_1.default.aiSuggestionsButton}`, style: { zIndex: 1 }, text: t('destination.ai.buttonText'), type: ButtonTypes_1.default.CONTAINED }))),
|
|
27539
27539
|
showAiSuggestions &&
|
|
27540
27540
|
isSuggestionsModalOpen &&
|
|
27541
27541
|
(0, react_dom_1.createPortal)(react_1.default.createElement(CitySearchModal_1.default, { isOpen: isSuggestionsModalOpen, onClose: () => setSuggestionsModalOpen(false), suggestions: suggestions || [], onSelectCity: handleSuggestedCitySelect, searchText: lastSearchText, handleSearchChange: handleSearchChange, isSearching: isSearching, onClearSuggestions: onClearSuggestions, t: t }), document.body)));
|
|
@@ -57792,7 +57792,7 @@ const PoiInfo = ({ poi, favorite, toggleFavorite, close, addRemoveReplacePoi, da
|
|
|
57792
57792
|
// TICKET_PROVIDER_IDS,
|
|
57793
57793
|
RESTAURANT_RESERVATION_PROVIDER_IDS, myOffers, isLoadingOffer, offerButtonClick, offerCardClicked, hideOffers,
|
|
57794
57794
|
// offerClicked,
|
|
57795
|
-
loadingFeedback, feedbackSubjects, isBookingClicked, timezone = 'UTC', sendFeedback, redeemClicked, t, }) => {
|
|
57795
|
+
loadingFeedback, feedbackSubjects, isBookingClicked, timezone = 'UTC', sendFeedback, redeemClicked, onImageModalChange, t, }) => {
|
|
57796
57796
|
const [optInModalWarningMessage, setOptInModalWarningMessage] = (0, react_1.useState)([]);
|
|
57797
57797
|
const [showShareModal, setShowShareModal] = (0, react_1.useState)(false);
|
|
57798
57798
|
const offerRef = react_1.default.createRef();
|
|
@@ -57835,7 +57835,7 @@ loadingFeedback, feedbackSubjects, isBookingClicked, timezone = 'UTC', sendFeedb
|
|
|
57835
57835
|
react_1.default.createElement("div", { className: PoiInfo_scss_1.default.hours },
|
|
57836
57836
|
react_1.default.createElement(OpenedHours_1.default, { hourStr: poi.hours || '', planDate: planDate, timezone: timezone, t: t })))),
|
|
57837
57837
|
react_1.default.createElement("div", { className: PoiInfo_scss_1.default.content },
|
|
57838
|
-
react_1.default.createElement("div", { className: PoiInfo_scss_1.default.gallery }, !isNaN(parseFloat(poi.id)) && react_1.default.createElement(PoiInfoImageDesktop_1.default, { poi: poi, t: t }))),
|
|
57838
|
+
react_1.default.createElement("div", { className: PoiInfo_scss_1.default.gallery }, !isNaN(parseFloat(poi.id)) && react_1.default.createElement(PoiInfoImageDesktop_1.default, { poi: poi, onImageModalChange: onImageModalChange, t: t }))),
|
|
57839
57839
|
react_1.default.createElement(PoiInfoText_1.default, { poi: poi, hideFeatures: hideFeatures, hideCuisine: hideCuisine, hideTours: hideTours, reservationUrl: reservationUrl, hideBookingButton: hideBookingButton, reservationButtonClick: reservationButtonClick, tourProducts: tourProducts, ticketProducts: ticketProducts, addRemoveReplacePoi: addRemoveReplacePoi, partOfDay: partOfDay, hideActionButtons: hideActionButtons, replace: replace, stepOrder: stepOrder, getTourInfo: getTourInfo, tourTicketProductsLoading: tourTicketProductsLoading, RESTAURANT_RESERVATION_PROVIDER_IDS: RESTAURANT_RESERVATION_PROVIDER_IDS, loadingFeedback: loadingFeedback, feedbackSubjects: feedbackSubjects, sendFeedback: sendFeedback, isBookingClicked: isBookingClicked, t: t }),
|
|
57840
57840
|
!hideOffers && poi.offers && poi.offers.length > 0 && (react_1.default.createElement("div", { className: "col col12 px5 pb5" },
|
|
57841
57841
|
poi.offers.map((offer, i) => {
|
|
@@ -57884,6 +57884,8 @@ exports.default = PoiInfo;
|
|
|
57884
57884
|
|
|
57885
57885
|
"use strict";
|
|
57886
57886
|
|
|
57887
|
+
/* eslint-disable react-hooks/exhaustive-deps */
|
|
57888
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
57887
57889
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
57888
57890
|
if (k2 === undefined) k2 = k;
|
|
57889
57891
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -57911,7 +57913,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
57911
57913
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
57912
57914
|
};
|
|
57913
57915
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57914
|
-
/* eslint-disable import/no-extraneous-dependencies */
|
|
57915
57916
|
const react_1 = __importStar(__webpack_require__(0));
|
|
57916
57917
|
const model_1 = __webpack_require__(9);
|
|
57917
57918
|
const react_dom_1 = __importDefault(__webpack_require__(14));
|
|
@@ -57922,10 +57923,28 @@ const ImgLazy_1 = __importDefault(__webpack_require__(16));
|
|
|
57922
57923
|
const CloseIconButton_1 = __importDefault(__webpack_require__(20));
|
|
57923
57924
|
const Icons_1 = __webpack_require__(11);
|
|
57924
57925
|
const PoiInfoImageDesktop_scss_1 = __importDefault(__webpack_require__(1005));
|
|
57925
|
-
const PoiInfoImageDesktop = ({ poi, t }) => {
|
|
57926
|
+
const PoiInfoImageDesktop = ({ poi, t, onImageModalChange }) => {
|
|
57926
57927
|
var _a;
|
|
57927
57928
|
const [imageZoomed, setImageZoomed] = (0, react_1.useState)({ clicked: false, url: '' });
|
|
57928
57929
|
const [selectedImage, setSelectedImage] = (0, react_1.useState)('');
|
|
57930
|
+
(0, react_1.useEffect)(() => {
|
|
57931
|
+
if (onImageModalChange)
|
|
57932
|
+
onImageModalChange(imageZoomed.clicked);
|
|
57933
|
+
}, [imageZoomed.clicked]);
|
|
57934
|
+
(0, react_1.useEffect)(() => {
|
|
57935
|
+
const handleEsc = (e) => {
|
|
57936
|
+
if (e.key === 'Escape') {
|
|
57937
|
+
setImageZoomed({ clicked: false, url: '' });
|
|
57938
|
+
setSelectedImage('');
|
|
57939
|
+
}
|
|
57940
|
+
};
|
|
57941
|
+
if (imageZoomed.clicked) {
|
|
57942
|
+
document.addEventListener('keydown', handleEsc);
|
|
57943
|
+
}
|
|
57944
|
+
return () => {
|
|
57945
|
+
document.removeEventListener('keydown', handleEsc);
|
|
57946
|
+
};
|
|
57947
|
+
}, [imageZoomed.clicked]);
|
|
57929
57948
|
const images = poi.gallery.length === 0 ? [{ url: emptyImage_1.default, imageOwner: null }] : poi.gallery.map((img) => ({ url: model_1.helper.imgUrl(img.url, 1200), imageOwner: img.imageOwner }));
|
|
57930
57949
|
const mainImage = images[0];
|
|
57931
57950
|
if (!(mainImage === null || mainImage === void 0 ? void 0 : mainImage.url))
|
|
@@ -57982,8 +58001,19 @@ const PoiInfoImageDesktop = ({ poi, t }) => {
|
|
|
57982
58001
|
});
|
|
57983
58002
|
return (react_1.default.createElement("div", { className: PoiInfoImageDesktop_scss_1.default.container },
|
|
57984
58003
|
imageZoomed.clicked &&
|
|
57985
|
-
react_dom_1.default.createPortal(react_1.default.createElement("div", { className: PoiInfoImageDesktop_scss_1.default.modalWrapper
|
|
57986
|
-
|
|
58004
|
+
react_dom_1.default.createPortal(react_1.default.createElement("div", { className: PoiInfoImageDesktop_scss_1.default.modalWrapper, role: "button", "aria-label": "Close image modal", tabIndex: 0, onClick: (e) => {
|
|
58005
|
+
if (e.target === e.currentTarget) {
|
|
58006
|
+
setImageZoomed({ clicked: false, url: '' });
|
|
58007
|
+
setSelectedImage('');
|
|
58008
|
+
}
|
|
58009
|
+
}, onKeyDown: (e) => {
|
|
58010
|
+
if (e.key === 'Escape' || e.key === 'Enter' || e.key === ' ') {
|
|
58011
|
+
e.preventDefault();
|
|
58012
|
+
setImageZoomed({ clicked: false, url: '' });
|
|
58013
|
+
setSelectedImage('');
|
|
58014
|
+
}
|
|
58015
|
+
} },
|
|
58016
|
+
react_1.default.createElement("div", { className: PoiInfoImageDesktop_scss_1.default.modalContent, role: "dialog", "aria-modal": "true", tabIndex: -1 },
|
|
57987
58017
|
react_1.default.createElement("div", { className: PoiInfoImageDesktop_scss_1.default.modalHeader, style: { position: 'relative' } },
|
|
57988
58018
|
react_1.default.createElement("div", { className: PoiInfoImageDesktop_scss_1.default.modalCloseIcon, style: { position: 'absolute', top: '0.5rem', right: '0.5rem' } },
|
|
57989
58019
|
react_1.default.createElement(CloseIconButton_1.default, { fill: "#333", clicked: () => {
|
|
@@ -78442,7 +78472,7 @@ exports.default = CitySearchModal;
|
|
|
78442
78472
|
/***/ (function(module, exports, __webpack_require__) {
|
|
78443
78473
|
|
|
78444
78474
|
// extracted by mini-css-extract-plugin
|
|
78445
|
-
module.exports = {"optionLabel":"components-DestinationSelect-DestinationSelect__optionLabel--2Gare","optionLabelText":"components-DestinationSelect-DestinationSelect__optionLabelText--2CoVy"};
|
|
78475
|
+
module.exports = {"optionLabel":"components-DestinationSelect-DestinationSelect__optionLabel--2Gare","optionLabelText":"components-DestinationSelect-DestinationSelect__optionLabelText--2CoVy","aiSuggestionsButton":"components-DestinationSelect-DestinationSelect__aiSuggestionsButton--13IWJ"};
|
|
78446
78476
|
|
|
78447
78477
|
/***/ }),
|
|
78448
78478
|
/* 829 */
|
|
@@ -89204,14 +89234,14 @@ const StepInfo = ({ step, favorite, toggleFavorite, removeStep, close, dayNumber
|
|
|
89204
89234
|
hidePartOfDay, hideFeatures, hideCuisine, reservationButtonClick, planDate, favoriteLoading, reservationUrl, hideBookingButton, hideTours, getTourInfo, tourProducts, ticketProducts, tourTicketProductsLoading,
|
|
89205
89235
|
// TOUR_PROVIDER_IDS,
|
|
89206
89236
|
// TICKET_PROVIDER_IDS,
|
|
89207
|
-
RESTAURANT_RESERVATION_PROVIDER_IDS, myOffers, isLoadingOffer, offerButtonClick, offerCardClicked, hideOffers, loadingFeedback, feedbackSubjects, sendFeedback, placeInfoCallBack, isBookingClicked, timezone, t, }) => (react_1.default.createElement(PoiInfo_1.default, { dayNumbers: dayNumbers, poi: step.poi, favorite: favorite, toggleFavorite: toggleFavorite, close: close, addRemoveReplacePoi: () => {
|
|
89237
|
+
RESTAURANT_RESERVATION_PROVIDER_IDS, myOffers, isLoadingOffer, offerButtonClick, offerCardClicked, hideOffers, loadingFeedback, feedbackSubjects, sendFeedback, placeInfoCallBack, isBookingClicked, timezone, onImageModalChange, t, }) => (react_1.default.createElement(PoiInfo_1.default, { dayNumbers: dayNumbers, poi: step.poi, favorite: favorite, toggleFavorite: toggleFavorite, close: close, addRemoveReplacePoi: () => {
|
|
89208
89238
|
removeStep(step.id);
|
|
89209
89239
|
}, stepOrder: step.order, hideActionButtons: hideActionButtons, hideFavoriteIcon: hideFavoriteIcon,
|
|
89210
89240
|
// hideScore={hideScore}
|
|
89211
89241
|
hidePartOfDay: hidePartOfDay, hideFeatures: hideFeatures, hideCuisine: hideCuisine, reservationButtonClick: reservationButtonClick, planDate: planDate, favoriteLoading: favoriteLoading, reservationUrl: reservationUrl, hideBookingButton: hideBookingButton, square: false, hideTours: hideTours, getTourInfo: getTourInfo, tourProducts: tourProducts, ticketProducts: ticketProducts, tourTicketProductsLoading: tourTicketProductsLoading,
|
|
89212
89242
|
// TOUR_PROVIDER_IDS={TOUR_PROVIDER_IDS}
|
|
89213
89243
|
// TICKET_PROVIDER_IDS={TICKET_PROVIDER_IDS}
|
|
89214
|
-
RESTAURANT_RESERVATION_PROVIDER_IDS: RESTAURANT_RESERVATION_PROVIDER_IDS, myOffers: myOffers, isLoadingOffer: isLoadingOffer, offerButtonClick: offerButtonClick, offerCardClicked: offerCardClicked, hideOffers: hideOffers, loadingFeedback: loadingFeedback, feedbackSubjects: feedbackSubjects, sendFeedback: sendFeedback, placeInfoCallBack: placeInfoCallBack, isBookingClicked: isBookingClicked, timezone: timezone, t: t }));
|
|
89244
|
+
RESTAURANT_RESERVATION_PROVIDER_IDS: RESTAURANT_RESERVATION_PROVIDER_IDS, myOffers: myOffers, isLoadingOffer: isLoadingOffer, offerButtonClick: offerButtonClick, offerCardClicked: offerCardClicked, hideOffers: hideOffers, loadingFeedback: loadingFeedback, feedbackSubjects: feedbackSubjects, sendFeedback: sendFeedback, placeInfoCallBack: placeInfoCallBack, isBookingClicked: isBookingClicked, timezone: timezone, onImageModalChange: onImageModalChange, t: t }));
|
|
89215
89245
|
exports.default = StepInfo;
|
|
89216
89246
|
|
|
89217
89247
|
|