@admin-layout/tailwind-design-pro 10.1.1-alpha.17 → 10.1.1-alpha.18

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DeepLinkWaitingPage.d.ts","sourceRoot":"","sources":["../../../src/components/DeepLinkWaitingPage/DeepLinkWaitingPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,UAAU,wBAAwB;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0K3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DeepLinkWaitingPage.d.ts","sourceRoot":"","sources":["../../../src/components/DeepLinkWaitingPage/DeepLinkWaitingPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,UAAU,wBAAwB;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgW3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';import {useSearchParams,useParams}from'react-router-dom';import {initGA,trackPageView,trackEvent}from'../../utils/analytics.js';import {config}from'../../config/env-config.js';import {EVENT_ACTIONS,EVENT_CATEGORIES}from'../../config/analytics-config.js';const DeepLinkWaitingPage = ({
1
+ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';import {useSearchParams,useParams}from'react-router-dom';import {initGA,trackPageView,trackEvent}from'../../utils/analytics.js';import {config}from'../../config/env-config.js';import {ANALYTICS_CONFIG,EVENT_CATEGORIES,EVENT_ACTIONS}from'../../config/analytics-config.js';import {PARTNER_LOGOS}from'../../config/api.config.js';import {fetchBookingHotelDetails}from'../../utils/fetchBookingHotelDetails.js';import {fetchPricelineHotelDetails}from'../../utils/fetchPricelineHotelDetails.js';const DeepLinkWaitingPage = ({
2
2
  redirectDelay = 5,
3
3
  googleAnalyticsId = config.GOOGLE_ANALYTICS_ID
4
4
  }) => {
@@ -8,6 +8,14 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
8
8
  } = useParams();
9
9
  const [countdown, setCountdown] = useState(redirectDelay);
10
10
  const [redirectUrl, setRedirectUrl] = useState('');
11
+ const [isPending, setIsPending] = useState(false);
12
+ const [partnerName, setPartnerName] = useState('');
13
+ const [partnerLogo, setPartnerLogo] = useState('');
14
+ const [propertyName, setPropertyName] = useState('');
15
+ // Partner logos from config
16
+ const airbnbLogo = PARTNER_LOGOS.AIRBNB;
17
+ const bookingLogo = PARTNER_LOGOS.BOOKING;
18
+ const pricelineLogo = PARTNER_LOGOS.PRICELINE;
11
19
  useEffect(() => {
12
20
  // Initialize Google Analytics if enabled
13
21
  {
@@ -15,13 +23,135 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
15
23
  }
16
24
  // Get the redirect URL from URL parameters
17
25
  const url = searchParams.get('redirectUrl');
18
- if (url) {
26
+ const name = searchParams.get('partnerName');
27
+ const logo = searchParams.get('partnerLogo');
28
+ const propName = searchParams.get('propertyName');
29
+ if (propName) {
30
+ setPropertyName(propName);
31
+ }
32
+ if (url === 'pending') {
33
+ setIsPending(true);
34
+ // Extract query parameters for API calls
35
+ const propertyType = searchParams.get('propertyType');
36
+ const checkIn = searchParams.get('checkIn');
37
+ const checkOut = searchParams.get('checkOut');
38
+ const adults = parseInt(searchParams.get('adults') || '1', 10);
39
+ const children = parseInt(searchParams.get('children') || '0', 10);
40
+ // Process API call in the background
41
+ processRedirection(propertyId, propertyType, checkIn, checkOut, adults, children);
42
+ } else if (url) {
19
43
  setRedirectUrl(url);
44
+ setPartnerName(name || '');
45
+ setPartnerLogo(logo || '');
46
+ startCountdown(url);
20
47
  }
21
48
  // Track page view if enabled
22
49
  {
23
50
  trackPageView(window.location.pathname, `Deep Link Waiting Page - Property: ${propertyId || 'Unknown'}`);
24
51
  }
52
+ }, [searchParams, redirectDelay, propertyId, googleAnalyticsId]);
53
+ const processRedirection = async (propertyId, propertyType, checkIn, checkOut, adults, children) => {
54
+ if (!propertyId || !propertyType) {
55
+ console.error('Missing property ID or type');
56
+ return;
57
+ }
58
+ try {
59
+ let redirectUrl = '';
60
+ let partnerName = '';
61
+ let partnerLogo = '';
62
+ let propertyName = '';
63
+ // Handle different property types
64
+ switch (propertyType) {
65
+ case 'AirbnbProperty':
66
+ try {
67
+ // Airbnb doesn't need API call, construct URL directly
68
+ redirectUrl = `https://www.airbnb.com/rooms/${propertyId}?check_in=${checkIn}&check_out=${checkOut}&guests=${adults + children || 1}`;
69
+ partnerName = 'Airbnb.com';
70
+ partnerLogo = airbnbLogo;
71
+ } catch (error) {
72
+ console.error('Error constructing Airbnb URL:', error);
73
+ // Even though this is a direct URL construction, add a fallback just in case
74
+ redirectUrl = `https://www.airbnb.com/rooms/${propertyId}`;
75
+ partnerName = 'Airbnb.com';
76
+ partnerLogo = airbnbLogo;
77
+ }
78
+ break;
79
+ case 'BookingProperty':
80
+ // Call Booking.com API
81
+ const bookingDetails = await fetchBookingHotelDetails(propertyId, checkIn, checkOut, adults, children);
82
+ console.log('bookingDetails---->', bookingDetails);
83
+ if (bookingDetails && bookingDetails?.data?.url) {
84
+ redirectUrl = bookingDetails.data.url;
85
+ partnerName = 'Booking.com';
86
+ partnerLogo = bookingLogo;
87
+ if (bookingDetails.data.name) {
88
+ propertyName = bookingDetails.data.name;
89
+ }
90
+ } else {
91
+ // Fallback URL for Booking.com
92
+ const checkInFormatted = typeof checkIn === 'string' ? checkIn : '';
93
+ const checkOutFormatted = typeof checkOut === 'string' ? checkOut : '';
94
+ const guestsCount = adults + children || 1;
95
+ redirectUrl = `https://www.booking.com/hotel.html?aid=304142&label=gen173nr-1FCAEoggI46AdIM1gEaLYBiAEBmAEhuAEXyAEM2AEB6AEB-AELiAIBqAIDuALxt6-rBsACAdICJDI2NzI4ZDAwLTdhZWQtNDJjOS1iYzRjLTI3ZDRkMzk5MTRlZNgCBuACAQ&sid=d29e889897f5d24d00e4f8d55c8399bd&all_sr_blocks=${propertyId};checkin=${checkInFormatted};checkout=${checkOutFormatted};dest_id=;dest_type=;group_adults=${adults};group_children=${children};hapos=1;highlighted_blocks=${propertyId};no_rooms=1;req_adults=${adults};req_children=${children};room1=A%2CA;sb_price_type=total;sr_order=popularity;sr_pri_blocks=${propertyId};srepoch=1625097600;srpvid=e8c95a7a7f130034;type=total;ucfs=1&#hotelTmpl`;
96
+ partnerName = 'Booking.com';
97
+ partnerLogo = bookingLogo;
98
+ }
99
+ break;
100
+ case 'PricelineProperty':
101
+ // Call Priceline API
102
+ const pricelineDetails = await fetchPricelineHotelDetails(propertyId);
103
+ if (pricelineDetails && pricelineDetails.getHotelHotelDetails) {
104
+ const hotelInfo = pricelineDetails.getHotelHotelDetails?.results?.hotel_data?.hotel_0;
105
+ if (hotelInfo && hotelInfo.priceline_url) {
106
+ redirectUrl = hotelInfo.priceline_url;
107
+ partnerName = 'Priceline.com';
108
+ partnerLogo = pricelineLogo;
109
+ if (hotelInfo.name) {
110
+ propertyName = hotelInfo.name;
111
+ }
112
+ } else {
113
+ // Fallback URL for Priceline
114
+ const cityId = '';
115
+ const checkInDate = typeof checkIn === 'string' ? checkIn : '';
116
+ const checkOutDate = typeof checkOut === 'string' ? checkOut : '';
117
+ const roomCount = 1;
118
+ const adultCount = adults || 1;
119
+ redirectUrl = `https://www.priceline.com/relax/at/${propertyId}/from/${checkInDate}/to/${checkOutDate}/rooms/${roomCount}/adults/${adultCount}?cityId=${cityId}&cur=USD&psl=${propertyId}`;
120
+ partnerName = 'Priceline.com';
121
+ partnerLogo = pricelineLogo;
122
+ }
123
+ }
124
+ break;
125
+ default:
126
+ redirectUrl = `/property/${propertyId}`;
127
+ partnerName = 'Our Website';
128
+ break;
129
+ }
130
+ // If we have a redirect URL, update the state
131
+ if (redirectUrl) {
132
+ if (ANALYTICS_CONFIG.enabled && ANALYTICS_CONFIG.trackEvents.redirections) {
133
+ trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.AUTO_REDIRECT, `Property ID: ${propertyId}, Provider: ${partnerName}, URL: ${redirectUrl}${propertyName ? `, Property Name: ${propertyName}` : ''}`);
134
+ }
135
+ setRedirectUrl(redirectUrl);
136
+ setPartnerName(partnerName);
137
+ setPartnerLogo(partnerLogo);
138
+ if (propertyName) {
139
+ setPropertyName(propertyName);
140
+ }
141
+ setIsPending(false);
142
+ // Start countdown after we have the URL
143
+ startCountdown(redirectUrl);
144
+ } else {
145
+ console.error('Failed to generate redirect URL');
146
+ }
147
+ } catch (error) {
148
+ console.error('Error in processing redirection:', error);
149
+ {
150
+ trackEvent(EVENT_CATEGORIES.ERROR, EVENT_ACTIONS.API_ERROR, `Property ID: ${propertyId}, Type: ${propertyType}`);
151
+ }
152
+ }
153
+ };
154
+ const startCountdown = url => {
25
155
  // Start countdown
26
156
  const timer = setInterval(() => {
27
157
  setCountdown(prev => {
@@ -29,7 +159,7 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
29
159
  clearInterval(timer);
30
160
  // Track auto-redirect event if enabled
31
161
  {
32
- trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.AUTO_REDIRECT, `To: ${url || 'Unknown'}`);
162
+ trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.AUTO_REDIRECT, `Property ID: ${propertyId}, Provider: ${partnerName}, URL: ${url}${propertyName ? `, Property Name: ${propertyName}` : ''}`);
33
163
  }
34
164
  // Redirect after countdown finishes
35
165
  window.location.href = url || '';
@@ -39,16 +169,17 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
39
169
  });
40
170
  }, 1000);
41
171
  return () => clearInterval(timer);
42
- }, [searchParams, redirectDelay, propertyId, googleAnalyticsId]);
172
+ };
43
173
  const handleManualRedirect = () => {
44
174
  if (redirectUrl) {
45
175
  // Track manual click event if enabled
46
176
  {
47
- trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.MANUAL_CLICK, `To: ${redirectUrl}`, countdown);
177
+ trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.MANUAL_CLICK, `Property ID: ${propertyId}, Provider: ${partnerName}, URL: ${redirectUrl}${propertyName ? `, Property Name: ${propertyName}` : ''}`, countdown);
48
178
  }
49
179
  window.location.href = redirectUrl;
50
180
  }
51
181
  };
182
+ // Regular waiting page UI once we have the URL
52
183
  return jsx("div", {
53
184
  className: "flex flex-col items-center justify-center min-h-screen bg-gray-50 p-4",
54
185
  children: jsxs("div", {
@@ -111,11 +242,11 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
111
242
  }), jsxs("div", {
112
243
  className: "text-center",
113
244
  children: [jsx("img", {
114
- src: searchParams.get('partnerLogo') || '/images/partner-logo.png',
245
+ src: partnerLogo || '/images/partner-logo.png',
115
246
  alt: "Partner Logo",
116
247
  className: "w-32 h-auto mb-2"
117
248
  }), jsxs("p", {
118
- children: ["Now complete your booking with", jsx("br", {}), "the property provider ", searchParams.get('partnerName')]
249
+ children: ["Now complete your booking with", jsx("br", {}), "the property provider ", partnerName]
119
250
  })]
120
251
  })]
121
252
  }), jsxs("p", {
@@ -130,12 +261,12 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
130
261
  children: "Continue Now"
131
262
  }), jsxs("p", {
132
263
  className: "mt-8 text-sm text-gray-500",
133
- children: ["If you are not redirected to ", searchParams.get('partnerName') || 'the provider', " in a few seconds, please", ' ', jsx("a", {
264
+ children: ["If you are not redirected to ", partnerName || 'the provider', " in a few seconds, please", ' ', jsx("a", {
134
265
  href: redirectUrl,
135
266
  className: "text-blue-600 hover:underline",
136
267
  onClick: () => {
137
268
  {
138
- trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.LINK_CLICK, `To: ${redirectUrl}`, countdown);
269
+ trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.LINK_CLICK, `Property ID: ${propertyId}, Provider: ${partnerName}, URL: ${redirectUrl}${propertyName ? `, Property Name: ${propertyName}` : ''}`, countdown);
139
270
  }
140
271
  },
141
272
  children: "click here"
@@ -1 +1 @@
1
- {"version":3,"file":"DeepLinkWaitingPage.js","sources":["../../../src/components/DeepLinkWaitingPage/DeepLinkWaitingPage.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"8UAUA,MAAM,mBAAmB,GAAuC,CAAC;AAI7D,EAAA,aAAmB,GAAA,CAAA;AACnB,EAAA,iBAAkB,GAAA,MAAK,CAAA;MACjB;QACA,CAAA,YAAY,CAAA,GAAgB,iBAAI;QAE7B;;AAEL,GAAA,GAAA,SAAoB,EAAA;kBACV,EAAkB,YAAA,CAAA,GAAA,QAAE,CAAA,aAAA,CAAA;QAC9B,CAAC,WAAA,EAAA,cAAA,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;WAE0C,CAAA,MAAA;;IAEjC;YACN,CAAc,iBAAI,CAAC;;;UAInB,GAAA,GAAA,YAAgB,CAAC,GAAA,CAAA,aAAW,CAAA;AAC5B,IAAA,IAAA,GAAA,EAAA;oBACH,CAAA,GAAA,CAAA;;AAGD;AACI,IAAsB;AAClB,MAAA,aAAA,CAAI,MAAI,CAAA,QAAQ,CAAA,QAAA,EAAA,CAAA,mCAAA,EAAA,UAAA,IAAA,SAAA,CAAA,CAAA,CAAA;;;6BAGR,CAAA,MAAA;AACA,MAAA,YAAA,CAAA,IAAA,IAAA;oBAKJ,CAAC,EAAA;uBACmC,CAAA,KAAA,CAAA;;AAEpC,UAAS;sBACZ,CAAA,gBAAA,CAAA,WAAA,EAAA,aAAA,CAAA,aAAA,EAAA,CAAA,IAAA,EAAA,GAAA,IAAA,SAAA,CAAA,CAAA,CAAA;;AAEL;UACH,MAAO,CAAC,QAAA,CAAA,IAAA,GAAA,GAAA,IAAA,EAAA;AAET,UAAA,QAAU;;QAGR,OAAA,IAAA,GAAA,CAAA;QACF;YACI;iBACI,aAAA,CAAA,KAAiB,CAAA;AACjB,GAAA,EAAA,CAAA,YAAA,EAAA,aACI,EAAA,UAAiB,EAAA,iBACJ,CAAA,CAAA;4BAIpB,GAAA,MAAA;AACD,IAAA,IAAA,WAAO,EAAQ;;AAEvB,MAAE;AAEF,QAAA,UACI,CAAA,gBAAc,CAAA,WAAwE,EAAA,aAAA,CAAA,YAAA,EAAA,CAAA,IAAA,EAAA,WAAA,CAAA,CAAA,EAAA,SAAA,CAAA;;AAwF9D,MAAA,MAAA,CAAA,QAAA,CAAA,IAAA,GAAA,WAAA;;AAOR,GAAA;AASxB,EAAE,OAAAA,GAAA,CAAA,KAAA,EAAA;AAEF,IAAA,SAAA,EAAe,uEAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DeepLinkWaitingPage.js","sources":["../../../src/components/DeepLinkWaitingPage/DeepLinkWaitingPage.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"wjBAYA,MAAM,mBAAmB,GAAuC,CAAC;AAI7D,EAAA,aAAmB,GAAA,CAAA;AACnB,EAAA,iBAAkB,GAAA,MAAK,CAAA;MACjB;QACA,CAAA,YAAY,CAAA,GAAgB,iBAAI;QAChC;IACN;MACM,SAAY,EAAA;QACZ,CAAA,SAAa,EAAA,YAAiB,CAAA,GAAA,QAAI,CAAQ,aAAK,CAAA;QAEzB,CAAA,WAAA,EAAA,cAAA,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;AAC5B,EAAA,MAAA,CAAA,SAAgB,EAAA,YAAgB,CAAA,GAAA,QAAQ,CAAA,KAAA,CAAA;AACxC,EAAA,MAAA,CAAA,WAAiB,EAAA,cAAgB,CAAA,WAAS,CAAA,EAAA,CAAA;AAC1C,EAAA,MAAA,CAAA,WAAmB,EAAA,cAAgB,CAAA,GAAC,SAAS,EAAC,CAAA;QAEO,CAAA,YAAA,EAAA,eAAA,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;AACrD;QACI,UAAO,GAAA,aAAA,CAAA,MAAA;mBACG,GAAA,aAAA,CAAA,OAAA;qBACI,GAAA,aAAA,CAAA,SAAA;WAc6B,CAAA,MAAA;;IAEjB;YACpB,CAAA,iBAAmB,CAAA;;;aAIN,GAAA,YAAC,CAAQ,GAAA,CAAA,aAAE,CAAA;UAC7B,IAAA,GAAA,YAAA,CAAA,GAAA,CAAA,aAAA,CAAA;AAED,IAAA,MAAA,IAAO,GAAA,YAAc,CAAA,GAAG,CAAA,aAAA,CAAA;kBACR,GAAA,YAAO,CAAA,GAAA,CAAA,cAAA,CAAA;gBACsB,EAAA;qBACnC,CAAA,QAAY;;gBAEZ,SAAA;AACN,MAAA,YAAM,CAAM,IAAA,CAAA;AACZ;YAEA,YAAqC,GAAA,YAAA,CAAA,GAAA,CAAA,cAAA,CAAA;AACrC,MAAA,MAAA,OAAA,GAAA,YAAmB,CAAA,GAAA,CAAA,SAAY,CAAA;YAClC,QAAA,GAAA,YAAA,CAAA,GAAA,CAAA,UAAA,CAAA;kBAAU,WAAM,CAAA,YAAA,CAAA,GAAA,CAAA,QAAA,CAAA,IAAA,GAAA,EAAA,EAAA,CAAA;YACb,QAAc,GAAA,QAAK,CAAC,YAAA,CAAA,GAAA,CAAA,UAAA,CAAA,IAAA,GAAA,EAAA,EAAA,CAAA;AACpB;AACA,MAAA,kBAAA,CAAA,UAAuB,EAAE,YAAE,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,CAAA;eACb,GAAA,EAAA;oBACjB,CAAA,GAAA,CAAA;oBAE4B,CAAA,IAAA,IAAA,EAAA,CAAA;oBACzB,CAAA,IAAA,IAAiB,EAAA,CAAA;AACjB,MAAA,cAAA,CAAA,GAAA,CAAa;;;AAIrB;AACI,MAAA,aAAe,CAAA,MAAA,CAAI,QAAC,CAAA,QAAe,EAAA,CAAA,mCAAA,EAAA,UAAA,IAAA,SAAA,CAAA,CAAA,CAAA;AAC/B;kBACO,EAAA,aAAA,EAAA,UAAA,EAAA,iBAAA,CAAA,CAAA;QACX,kBAAC,GAAA,OAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,KAAA;AAED,IAAA,IAAA,CAAA,UAAK,IAAA,CAAA,YAAA,EAAA;aACG,CAAA,KAAA,CAAA,6BAAiB,CAAA;;;;qBAKa,GAAA,EAAA;qBAC1B,GAAA,EAAA;AACJ,MAAA,IAAA,WAAK,GAAgB,EAAA;AACjB,MAAA,IAAA,YAAA,GAAK,EAAA;;AAED,MAAA,QAAA,YAAA;6BAGW;;;uBAEN,GAAA,CAAA,6BAAQ,EAAA,UAAA,CAAA,UAAA,EAAA,OAAA,CAAA,WAAA,EAAA,QAAA,CAAA,QAAA,EAAA,MAAA,GAAA,QAAA,IAAA,CAAA,CAAA,CAAA;AACb,YAAA,WAAA,GAAA,YAAc;0BAC+D,UAAA;AAC7E,WAAA,CAAA,OAAA,KAAA,EAAA;yBACW,CAAA,gCAAgB,EAAA,KAAA,CAAA;;uBAE9B,GAAA,CAAA,6BAAA,EAAA,UAAA,CAAA,CAAA;uBACK,GAAA,YAAA;AAEV,YAAA,WAAsB,GAAA,UAAA;;AAElB,UAAA;AAQA,QAAA,KAAA,iBAAW;;AAEP,UAAA,MAAA,cAAA,GAAA,MAA4B,wBAAU,CAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,CAAA;2DACV,CAAA;4BACjB,IAAA,oBAAe,EAAA,GAAA,EAAA;AAC1B,YAAA,WAAA,GAAA,mBAAmB,CAAA,GAAK;AACpB,YAAA,WAAA,GAAA,aAAA;0BACH,WAAA;8BACJ,CAAA,IAAA,CAAA,IAAA,EAAA;0BAAO,GAAA,cAAA,CAAA,IAAA,CAAA,IAAA;;AAEJ,WAAA,MAAA;AACA;AACA,YAAA,MAAA,0BAAoB,YAAiB,QAAA,GAAM,OAAA,GAAA,EAAA;mCAEhC,GAAG;6BACH,GAAA,MAAG,eAAc,CAAA;0BACjB,CAAA,qPAAe,EAAA,UAAA,CAAA,SAAA,EAAA,gBAAA,CAAA,UAAA,EAAA,iBAAA,CAAA,kCAAA,EAAA,MAAA,CAAA,gBAAA,EAAA,QAAA,CAAA,4BAAA,EAAA,UAAA,CAAA,uBAAA,EAAA,MAAA,CAAA,cAAA,EAAA,QAAA,CAAA,mEAAA,EAAA,UAAA,CAAA,wEAAA,CAAA;uBAC7B,GAAA,aAAA;uBACK,GAAA,WAAA;AAEV;;AAEI,QAAA,KAAA;AACA;gCACU,GAAA,MAAY,0BAAiB,CAAA,UAAA,CAAoB;AACvD,UAAA,IAAA,oCAA0B,CAAC,oBAAgB,EAAA;AACvC,YAAA,MAAA,SAAA,GAAA,gBAAc,CAAA,oBAAwB,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA;6BAC3B,SAAA,CAAA;4BACX,SAAW,CAAA;AACX,cAAA,WAAA,GAAA,eAAkB;AACd,cAAA,WAAA,GAAA,aAAA;4BACJ,IAAC,EAAA;4BACJ,GAAA,SAAA,CAAA,IAAA;;;;AAGG,cAAA,MAAA,MAAA,GAAA,EAAA;AACA,cAAA,MAAA,WAAA,GAAM,OAAY,OAAA,KAAU,QAAA,GAAQ,OAAa,GAAA,EAAA;gCAC3C,GAAA,OAAA,QAAc,KAAA,QAAA,GAAA,QAAA,GAAA,EAAA;AACpB,cAAA,MAAA,SAAA,GAAA,CAAA;AAEA,cAAA,MAAA,UAAA,GAAA,MAAW,IAAyC,CAAA;4BACpD,CAAW,mCAAmB,EAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAA,IAAA,EAAA,YAAA,CAAA,OAAA,EAAA,SAAA,CAAA,QAAA,EAAA,UAAA,CAAA,QAAA,EAAA,MAAA,CAAA,aAAA,EAAA,UAAA,CAAA,CAAA;4BAC9B;yBACH,GAAA,aAAA;;;AAIT,UAAA;AACI,QAAA;qBACW,GAAA,CAAA,sBAAgB,CAAC,CAAA;qBACtB,GAAA,aAAA;;;;qBAKN,EAAA;AACA,QAAA,IAAA,gBAAA,CAAA,OACI,IAAA,gBAAiB,CAAA,WACjB,CAAA,YAAc,EAAA;oBAKrB,CAAA,gBAAA,CAAA,WAAA,EAAA,aAAA,CAAA,aAAA,EAAA,CAAA,aAAA,EAAA,UAAA,CAAA,YAAA,EAAA,WAAA,CAAA,OAAA,EAAA,WAAA,CAAA,EAAA,YAAA,GAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA;;sBAGa,CAAA,WAAY,CAAA;sBACZ,CAAA,WAAY,CAAA;sBACtB,CAAA,WAAc,CAAC;wBACA,EAAA;yBAClB,CAAA,YAAA,CAAA;;oBAGuC,CAAA,KAAA,CAAA;;sBAE3C,CAAA,WAAA,CAAA;;AACG,QAAA,OAAA,CAAA,KAAA,CAAA,iCAAc,CAAA;;aAErB,KAAA,EAAA;aAAQ,CAAA,KAAA,CAAK,kCAAG,EAAA,KAAA,CAAA;AACb,MAAyD;kBACrD,CAAA,gBAAiB,CAAA,KAAW,EAAA,aAAA,CAAA,SAA4B,EAAA,CAAA,aAAU,EAAA,UAAA,CAAA,QAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AAClE;;;AAOZ,EAAA,MAAE,cAAA,GAAA,GAAA,IAAA;AAEF;UACsB,KAAA,GAAA,WAAA,CAAA,MAAA;AAClB,MAAA,YAAW,CAAA,IAAc,IAAA;AACrB,QAAA,IAAA,IAAA,IAAA,CAAA,EAAA;AACI,UAAA,aAAQ,CAAA,KAAK,CAAA;;UAE8B;sBACnC,CAAA,gBAAA,CAAgB,WAAY,EAAA,aAAA,CAAA,aAA4B,EAAa,CAAA,aAAG,EAAA,UAAA,CAAA,YAAA,EAAA,WAAA,CAAA,OAAA,EAAA,GAAA,CAAA,EAAA,YAAA,GAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACxE;;yBAQgC,CAAA,IAAA,GAAA,GAAA,IAAA,EAAA;;AAEpC;mBACH,GAAA,CAAA;;AAEL,KAAA,EAAA,IAAA,CAAA;WACD,MAAM,aAAA,CAAA,KAAA,CAAA;AAET,GAAA;AACJ,EAAA,MAAE,oBAAA,GAAA,MAAA;IAEF,IAAM,WAAA,EAAA;;MAEwC;kBAClC,CAAA,gBAAiB,CAAA,WAAW,EAAA,aAA4B,CAAA,YAAO,EAAA,CAAA,aAAG,EAAA,UAAA,CAAA,YAAA,EAAA,WAAA,CAAA,OAAA,EAAA,WAAA,CAAA,EAAA,YAAA,GAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA;AAClE;YAQJ,CAAC,QAAA,CAAA,IAAA,GAAA,WAAA;AACD;;AAER;SAE+CA,GAAA,CAAA,KAAA,EAAA;IAC/C,SACS,EAAA,uEAAU;;AAuFS,MAAA,SAAA,EAAA,gEAEI;;AAOZ,QAAA,SAAA,EAAA,yBAGA;AAMxB,QAAE,QAAA,EAAA;AAEF,OAAA,CAAA,EAAAC,IAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyCard.d.ts","sourceRoot":"","sources":["../../../src/components/UI/PropertyCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAezE,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,iBAAiB,GAAG;IACrB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;CACtB,CAAC;AAgFF,eAAO,MAAM,YAAY,GAAI,sHAW1B,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CA0W1D,CAAC"}
1
+ {"version":3,"file":"PropertyCard.d.ts","sourceRoot":"","sources":["../../../src/components/UI/PropertyCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAezE,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,iBAAiB,GAAG;IACrB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;CACtB,CAAC;AAsGF,eAAO,MAAM,YAAY,GAAI,sHAW1B,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CAoX1D,CAAC"}
@@ -1,30 +1,57 @@
1
- import {jsx,Fragment,jsxs}from'react/jsx-runtime';import {useMemo,useState,useEffect,useCallback}from'react';import {BsHeart}from'@react-icons/all-files/bs/BsHeart.js';import {BsStarFill}from'@react-icons/all-files/bs/BsStarFill.js';import {FaUserAlt}from'@react-icons/all-files/fa/FaUserAlt.js';import {useTranslation}from'react-i18next';import {WithAuthentication}from'@adminide-stack/user-auth0-browser/lib/index.component.js';import {Splide,SplideSlide}from'@cdmbase/react-splide';import {useLocation}from'@remix-run/react';import {format}from'date-fns';import {startCase}from'lodash-es';import {useTailwindTheme}from'../../hooks/useTailwindTheme.js';import {useGetCurrentLongLat}from'../../hooks/use-get-current-lat-long.js';import {LocationIcon}from'./icons/LocationIcon.js';import {renderDynamicIcon}from'../../helpers/DynamicIcon.js';import {config}from'../../config/env-config.js';const convertHotelName = name => {
2
- return name.toLowerCase().replace(/[^a-z0-9\s-]/g, '').replace(/[\s-]+/g, '-').replace(/-+/g, '-');
3
- };
4
- const airbnbLogo = 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Airbnb_Logo_B%C3%A9lo.svg/512px-Airbnb_Logo_B%C3%A9lo.svg.png';
5
- const bookingLogo = 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Booking.com_logo.svg/1920px-Booking.com_logo.svg.png';
6
- const pricelineLogo = 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Priceline.com_logo.svg/1920px-Priceline.com_logo.svg.png';
7
- const generateHref = (room, from, to, adults, children) => {
8
- switch (room.__typename) {
9
- case 'AirbnbProperty':
10
- const airbnbPropertyDeepLink = `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(`https://www.airbnb.com/rooms/${room.id}?check_in=${from}&check_out=${to}&guests=${adults + children || 1}`)}&partnerName=${encodeURIComponent('Airbnb.com')}&partnerLogo=${airbnbLogo}`;
11
- return airbnbPropertyDeepLink;
12
- case 'BookingProperty':
13
- const bookingPropertyDeepLink = `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(`https://www.booking.com/hotel/${room.address.city.state.country.id}/${convertHotelName(room.name)}.html`)}&partnerName=${encodeURIComponent('Booking.com')}&partnerLogo=${bookingLogo}`;
14
- return bookingPropertyDeepLink;
15
- case 'PricelineProperty':
16
- const propertyId = room.metadata?.id_t;
17
- const cityId = room?.metadata?.city?.id || '';
18
- const checkInDate = typeof from === 'string' ? from : format(new Date(from), 'yyyyMMdd');
19
- const checkOutDate = typeof to === 'string' ? to : format(new Date(to), 'yyyyMMdd');
20
- const roomCount = 1;
21
- const adultCount = adults;
22
- const procelinePropertyDeepLink = `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(`https://www.priceline.com/relax/at/${propertyId}/from/${checkInDate}/to/${checkOutDate}/rooms/${roomCount}/adults/${adultCount}?cityId=${cityId}&cur=USD&psl=${propertyId}`)}&partnerName=${encodeURIComponent('Priceline.com')}&partnerLogo=${pricelineLogo}`;
23
- return procelinePropertyDeepLink;
24
- default:
25
- return `/property/${room.id}`;
26
- }
27
- };
1
+ import {jsx,Fragment,jsxs}from'react/jsx-runtime';import {useMemo,useState,useEffect,useCallback}from'react';import {BsHeart}from'@react-icons/all-files/bs/BsHeart.js';import {BsStarFill}from'@react-icons/all-files/bs/BsStarFill.js';import {FaUserAlt}from'@react-icons/all-files/fa/FaUserAlt.js';import {useTranslation}from'react-i18next';import {WithAuthentication}from'@adminide-stack/user-auth0-browser/lib/index.component.js';import {Splide,SplideSlide}from'@cdmbase/react-splide';import {useLocation}from'@remix-run/react';import {startCase}from'lodash-es';import {useTailwindTheme}from'../../hooks/useTailwindTheme.js';import {useGetCurrentLongLat}from'../../hooks/use-get-current-lat-long.js';import {LocationIcon}from'./icons/LocationIcon.js';import {renderDynamicIcon}from'../../helpers/DynamicIcon.js';import {config}from'../../config/env-config.js';// const generateHref = async (room, from, to, adults, children) => {
2
+ // if (!room) return null;
3
+ // switch (room.__typename) {
4
+ // case 'AirbnbProperty':
5
+ // // Airbnb doesn't need API call, just construct URL directly
6
+ // return `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(
7
+ // `https://www.airbnb.com/rooms/${room.id}?check_in=${from}&check_out=${to}&guests=${
8
+ // adults + children || 1
9
+ // }`,
10
+ // )}&partnerName=${encodeURIComponent('Airbnb.com')}&partnerLogo=${airbnbLogo}`;
11
+ // case 'BookingProperty':
12
+ // // Call Booking.com API
13
+ // try {
14
+ // const hotelDetails = await fetchBookingHotelDetails(room.id, from, to, adults, children);
15
+ // console.log('hotelDetails--->', hotelDetails);
16
+ // if (hotelDetails && hotelDetails?.data?.url) {
17
+ // return `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(
18
+ // hotelDetails?.data?.url,
19
+ // )}&partnerName=${encodeURIComponent('Booking.com')}&partnerLogo=${bookingLogo}`;
20
+ // }
21
+ // } catch (error) {
22
+ // console.error('Error getting Booking.com URL:', error);
23
+ // }
24
+ // return null;
25
+ // case 'PricelineProperty':
26
+ // // Call Priceline API
27
+ // try {
28
+ // const pricelineDetails = await fetchPricelineHotelDetails(room.id);
29
+ // console.log('pricelineDetails--->', pricelineDetails);
30
+ // if (pricelineDetails && pricelineDetails.getHotelHotelDetails) {
31
+ // const hotelInfo = pricelineDetails.getHotelHotelDetails?.results?.hotel_data?.hotel_0;
32
+ // if (hotelInfo && hotelInfo.priceline_url) {
33
+ // return `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(
34
+ // hotelInfo.priceline_url,
35
+ // )}&partnerName=${encodeURIComponent('Priceline.com')}&partnerLogo=${pricelineLogo}`;
36
+ // }
37
+ // }
38
+ // } catch (error) {
39
+ // console.error('Error getting Priceline URL:', error);
40
+ // }
41
+ // // If API call fails, construct a fallback URL
42
+ // const propertyId = room.metadata?.id_t;
43
+ // const cityId = room?.metadata?.city?.id || '';
44
+ // const checkInDate = typeof from === 'string' ? from : format(new Date(from), 'yyyyMMdd');
45
+ // const checkOutDate = typeof to === 'string' ? to : format(new Date(to), 'yyyyMMdd');
46
+ // const roomCount = 1;
47
+ // const adultCount = adults || 1;
48
+ // return `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(
49
+ // `https://www.priceline.com/relax/at/${propertyId}/from/${checkInDate}/to/${checkOutDate}/rooms/${roomCount}/adults/${adultCount}?cityId=${cityId}&cur=USD&psl=${propertyId}`,
50
+ // )}&partnerName=${encodeURIComponent('Priceline.com')}&partnerLogo=${pricelineLogo}`;
51
+ // default:
52
+ // return `/property/${room.id}`;
53
+ // }
54
+ // };
28
55
  const DealCard = ({
29
56
  site,
30
57
  price
@@ -93,9 +120,19 @@ const PropertyCard = ({
93
120
  const checkOut = params.get('checkOut') || params.get('to') || '';
94
121
  const duration = calculateDuration(checkIn, checkOut);
95
122
  const formattedDuration = formatDuration(duration);
123
+ const [isRedirecting, setIsRedirecting] = useState(false);
96
124
  useEffect(() => {
97
125
  fetchCurrentLatLong();
98
126
  }, []);
127
+ const handleRedirect = async e => {
128
+ if (e) e.preventDefault();
129
+ setIsRedirecting(true);
130
+ // Open the waiting page immediately with a temporary placeholder
131
+ const intermediateUrl = `/deep-link/property/${item.id}?redirectUrl=pending&partnerName=Loading...&partnerLogo=/images/loading.png&propertyType=${item.__typename}&checkIn=${checkIn}&checkOut=${checkOut}&adults=${adults}&children=${children}`;
132
+ window.open(intermediateUrl, '_blank');
133
+ // No need to make API calls here anymore as they will be handled by DeepLinkWaitingPage
134
+ setIsRedirecting(false);
135
+ };
99
136
  const getPriceType = useCallback(room => {
100
137
  const type = room.preferences?.property?.pricing?.option?.priceType;
101
138
  if (type === 'HOUR') {
@@ -192,8 +229,8 @@ const PropertyCard = ({
192
229
  children: jsx(LikeButton, {})
193
230
  }), images.map((image, i) => jsx(SplideSlide, {
194
231
  children: jsx("a", {
195
- href: generateHref(item, checkIn, checkOut, adults, children),
196
- target: "_blank",
232
+ href: "#",
233
+ onClick: handleRedirect,
197
234
  rel: "noopener noreferrer",
198
235
  children: jsx("div", {
199
236
  className: "w-full h-full rounded-xl",
@@ -366,11 +403,10 @@ const PropertyCard = ({
366
403
  children: [item?.preferences?.property?.pricing?.price?.price_breakdown?.details?.pricing?.basePrice?.perNight, ' ', "per ", getPriceType(item)]
367
404
  })]
368
405
  }), jsx("button", {
369
- className: "bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded w-full",
370
- onClick: () => {
371
- window.open(generateHref(item, checkIn, checkOut, adults, children), '_blank');
372
- },
373
- children: "View deal"
406
+ className: `bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded w-full ${isRedirecting ? 'opacity-75 cursor-wait' : ''}`,
407
+ onClick: handleRedirect,
408
+ disabled: isRedirecting,
409
+ children: isRedirecting ? 'Loading...' : 'View deal'
374
410
  })]
375
411
  })]
376
412
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyCard.js","sources":["../../../src/components/UI/PropertyCard.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"PropertyCard.js","sources":["../../../src/components/UI/PropertyCard.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -25,10 +25,31 @@ const ANALYTICS_CONFIG = {
25
25
  };
26
26
  // Analytics event categories
27
27
  const EVENT_CATEGORIES = {
28
- REDIRECTION: 'Redirection'};
28
+ REDIRECTION: 'Redirection',
29
+ USER_INTERACTION: 'User Interaction',
30
+ SYSTEM: 'System',
31
+ ERROR: 'Error'
32
+ };
29
33
  // Analytics event actions
30
34
  const EVENT_ACTIONS = {
31
35
  // Redirections
32
36
  AUTO_REDIRECT: 'Auto Redirect',
33
37
  MANUAL_CLICK: 'Manual Click',
34
- LINK_CLICK: 'Link Click'};export{ANALYTICS_CONFIG,EVENT_ACTIONS,EVENT_CATEGORIES};//# sourceMappingURL=analytics-config.js.map
38
+ LINK_CLICK: 'Link Click',
39
+ // User interactions
40
+ BUTTON_CLICK: 'Button Click',
41
+ FORM_SUBMIT: 'Form Submit',
42
+ SEARCH: 'Search',
43
+ VIEW_ITEM: 'View Item',
44
+ ADD_TO_CART: 'Add to Cart',
45
+ REMOVE_FROM_CART: 'Remove from Cart',
46
+ BEGIN_CHECKOUT: 'Begin Checkout',
47
+ ADD_PAYMENT_INFO: 'Add Payment Info',
48
+ PURCHASE: 'Purchase',
49
+ // System
50
+ LOAD: 'Load',
51
+ INIT: 'Initialize',
52
+ // Errors
53
+ API_ERROR: 'API Error',
54
+ CLIENT_ERROR: 'Client Error'
55
+ };export{ANALYTICS_CONFIG,EVENT_ACTIONS,EVENT_CATEGORIES};//# sourceMappingURL=analytics-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-config.js","sources":["../../src/config/analytics-config.ts"],"sourcesContent":[null],"names":[],"mappings":"qCAAA;;AAEG;AAIH;AACa,MAAA,gBAAgB,GAAG;;AAE5B,EAAA,OAAA,EAAO,IAAM;;AAGb,EAAA,KAAA,EAAK,OAAS,CAAA,YAAK,kBAA0B;;oBAG3B,EAAA,MAAQ,CAAA,mBAAoB;;AAG9C,EAAA,WAAA,EAAW;AACP,IAAA,SAAA,EAAA,IAAW;AACX,IAAA,MAAA,EAAA,IAAQ;AACR,IAAA,YAAA,EAAA,IAAc;AACd,IAAA,MAAA,EAAA;AACH,GAAA;;AAGD,EAAA,mBAAA,EAAmB;AACf,IAAA,MAAA,EAAA,IAAQ;AACR,IAAA,UAAA,EAAA,IAAY;YACJ,EAAA,KAAO;AAClB;;AAGL;AACa,MAAA,gBAAgB,GAAG;AAC5B,EAAA,WAAA,EAAW;AAMf;AACa,MAAA,aAAa,GAAG;;AAEzB,EAAA,aAAA,EAAa,eAAiB;AAC9B,EAAA,YAAA,EAAY,cAAgB;AAC5B,EAAA,UAAA,EAAU"}
1
+ {"version":3,"file":"analytics-config.js","sources":["../../src/config/analytics-config.ts"],"sourcesContent":[null],"names":[],"mappings":"qCAAA;;AAEG;AAIH;AACa,MAAA,gBAAgB,GAAG;;AAE5B,EAAA,OAAA,EAAO,IAAM;;AAGb,EAAA,KAAA,EAAK,OAAS,CAAA,YAAK,kBAA0B;;oBAG3B,EAAA,MAAQ,CAAA,mBAAoB;;AAG9C,EAAA,WAAA,EAAW;AACP,IAAA,SAAA,EAAA,IAAW;AACX,IAAA,MAAA,EAAA,IAAQ;AACR,IAAA,YAAA,EAAA,IAAc;AACd,IAAA,MAAA,EAAA;AACH,GAAA;;AAGD,EAAA,mBAAA,EAAmB;AACf,IAAA,MAAA,EAAA,IAAQ;AACR,IAAA,UAAA,EAAA,IAAY;YACJ,EAAA,KAAO;AAClB;;AAGL;AACa,MAAA,gBAAgB,GAAG;AAC5B,EAAA,WAAA,EAAW,aAAe;AAC1B,EAAA,gBAAA,EAAgB,kBAAoB;AACpC,EAAA,MAAA,EAAM,QAAU;AAChB,EAAA,KAAA,EAAK;;AAGT;AACa,MAAA,aAAa,GAAG;;AAEzB,EAAA,aAAA,EAAa,eAAiB;AAC9B,EAAA,YAAA,EAAY,cAAgB;AAC5B,EAAA,UAAA,EAAU,YAAc;;AAGxB,EAAA,YAAA,EAAY,cAAgB;AAC5B,EAAA,WAAA,EAAW,aAAe;AAC1B,EAAA,MAAA,EAAM,QAAU;AAChB,EAAA,SAAA,EAAS,WAAa;AACtB,EAAA,WAAA,EAAW,aAAe;AAC1B,EAAA,gBAAA,EAAgB,kBAAoB;AACpC,EAAA,cAAA,EAAc,gBAAkB;AAChC,EAAA,gBAAA,EAAgB,kBAAoB;AACpC,EAAA,QAAA,EAAQ,UAAY;;AAGpB,EAAA,IAAA,EAAI,MAAQ;AACZ,EAAA,IAAA,EAAI,YAAc;;AAGlB,EAAA,SAAA,EAAS,WAAa;AACtB,EAAA,YAAA,EAAY;"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * API Configuration
3
+ * Centralized configuration for all API-related settings
4
+ */
5
+ export declare const RAPID_API_KEY: string;
6
+ export declare const BOOKING_API: {
7
+ BASE_URL: string;
8
+ HOST: string;
9
+ };
10
+ export declare const PRICELINE_API: {
11
+ BASE_URL: string;
12
+ HOST: string;
13
+ DEFAULT_PARAMS: {
14
+ guest_score_breakdown: string;
15
+ videos: string;
16
+ important_info: string;
17
+ sid: string;
18
+ id_lookup: string;
19
+ plugins: string;
20
+ promo: string;
21
+ nearby: string;
22
+ recent: string;
23
+ photos: string;
24
+ reviews: string;
25
+ };
26
+ };
27
+ export declare const PARTNER_LOGOS: {
28
+ AIRBNB: string;
29
+ BOOKING: string;
30
+ PRICELINE: string;
31
+ };
32
+ export declare const formatDate: (date: Date) => string;
33
+ export declare const getDefaultDates: () => {
34
+ arrival: string;
35
+ departure: string;
36
+ };
37
+ //# sourceMappingURL=api.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.config.d.ts","sourceRoot":"","sources":["../../src/config/api.config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,aAAa,QAAuB,CAAC;AAGlD,eAAO,MAAM,WAAW;;;CAGvB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAgBzB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;CAMzB,CAAC;AAGF,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,KAAG,MAKvC,CAAC;AAGF,eAAO,MAAM,eAAe;;;CAS3B,CAAC"}
@@ -0,0 +1,52 @@
1
+ import {config}from'./env-config.js';/**
2
+ * API Configuration
3
+ * Centralized configuration for all API-related settings
4
+ */
5
+ // RapidAPI Key
6
+ const RAPID_API_KEY = config.RAPID_API_KEY;
7
+ // Booking.com API
8
+ const BOOKING_API = {
9
+ BASE_URL: 'https://booking-com15.p.rapidapi.com/api/v1/hotels/getHotelDetails',
10
+ HOST: 'booking-com15.p.rapidapi.com'
11
+ };
12
+ // Priceline API
13
+ const PRICELINE_API = {
14
+ BASE_URL: 'https://priceline-com-provider.p.rapidapi.com/v2/hotels/details',
15
+ HOST: 'priceline-com-provider.p.rapidapi.com',
16
+ DEFAULT_PARAMS: {
17
+ guest_score_breakdown: 'true',
18
+ videos: 'true',
19
+ important_info: 'true',
20
+ sid: 'iSiX639',
21
+ id_lookup: 'true',
22
+ plugins: 'true',
23
+ promo: 'true',
24
+ nearby: 'true',
25
+ recent: 'true',
26
+ photos: 'true',
27
+ reviews: 'true'
28
+ }
29
+ };
30
+ // Partner Logos
31
+ const PARTNER_LOGOS = {
32
+ AIRBNB: 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Airbnb_Logo_B%C3%A9lo.svg/512px-Airbnb_Logo_B%C3%A9lo.svg.png',
33
+ BOOKING: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Booking.com_logo.svg/1920px-Booking.com_logo.svg.png',
34
+ PRICELINE: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Priceline.com_logo.svg/1920px-Priceline.com_logo.svg.png'
35
+ };
36
+ // Date formatting helper
37
+ const formatDate = date => {
38
+ const year = date.getFullYear();
39
+ const month = String(date.getMonth() + 1).padStart(2, '0');
40
+ const day = String(date.getDate()).padStart(2, '0');
41
+ return `${year}-${month}-${day}`;
42
+ };
43
+ // Get default dates (today and today + 2 days)
44
+ const getDefaultDates = () => {
45
+ const today = new Date();
46
+ const twoDaysLater = new Date(today);
47
+ twoDaysLater.setDate(today.getDate() + 2);
48
+ return {
49
+ arrival: formatDate(today),
50
+ departure: formatDate(twoDaysLater)
51
+ };
52
+ };export{BOOKING_API,PARTNER_LOGOS,PRICELINE_API,RAPID_API_KEY,formatDate,getDefaultDates};//# sourceMappingURL=api.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.config.js","sources":["../../src/config/api.config.ts"],"sourcesContent":[null],"names":[],"mappings":"qCAAA;;;AAGG;AAIH;AACa,MAAA,aAAa,GAAG,MAAM,CAAC;AAEpC;AACa,MAAA,WAAW,GAAG;AACvB,EAAA,QAAA,EAAQ,oEAAsE;AAC9E,EAAA,IAAA,EAAI;;AAGR;AACa,MAAA,aAAa,GAAG;AACzB,EAAA,QAAA,EAAQ,iEAAmE;AAC3E,EAAA,IAAA,EAAI,uCAAyC;AAC7C,EAAA,cAAA,EAAc;AACV,IAAA,qBAAA,EAAA,MAA6B;AAC7B,IAAA,MAAA,EAAA,MAAc;AACd,IAAA,cAAA,EAAA,MAAsB;AACtB,IAAA,GAAA,EAAA,SAAc;AACd,IAAA,SAAA,EAAA,MAAiB;AACjB,IAAA,OAAA,EAAA,MAAe;AACf,IAAA,KAAA,EAAA,MAAa;AACb,IAAA,MAAA,EAAA,MAAc;AACd,IAAA,MAAA,EAAA,MAAc;AACd,IAAA,MAAA,EAAA,MAAc;AACd,IAAA,OAAA,EAAA;AACH;;AAGL;AACa,MAAA,aAAa,GAAG;AACzB,EAAA,MAAA,EAAM,yHAA2H;AACjI,EAAA,OAAA,EAAO,gHAC6G;AACpH,EAAA,SAAA,EAAS;;AAIb;AACa,MAAA,UAAU,GAAG,IAAC,IAAsB;AAC7C,EAAA,MAAA,OAAa,IAAA,CAAA,WAAK,EAAW;AAC7B,EAAA,MAAA,QAAc,MAAA,CAAA,IAAW,CAAA,UAAS,GAAE,CAAA,CAAG,CAAC,QAAU,CAAA,CAAA,EAAE,GAAE,CAAA;AACtD,EAAA,MAAA,MAAY,MAAA,CAAA,IAAO,CAAA,OAAY,EAAA,CAAA,CAAE,UAAU,EAAE,GAAE,CAAA;AAC/C,EAAA,OAAA,CAAA,MAAc,CAAA,CAAA,EAAA,OAAS,EAAI,GAAA,CAAA,CAAG;AAClC;AAEA;AACO,MAAM,eAAe,GAAG,MAAK;AAChC,EAAA,MAAA,KAAW,GAAA,IAAO,IAAA,EAAI;AACtB,EAAA,MAAA,eAAqB,IAAA,UAAS,CAAA;cAClB,CAAA,OAAQ,CAAA,KAAM,CAAA,SAAQ,GAAE,CAAA,CAAG;SAEhC;AACH,IAAA,OAAA,EAAA,UAAS,CAAA,KAAW,CAAA;AACpB,IAAA,SAAA,EAAA,UAAW,CAAA,YAAW;;AAE9B"}
@@ -17,5 +17,6 @@ export declare const config: Readonly<{
17
17
  DEFAULT_COORDINATES: string;
18
18
  ENABLE_SETTING_DRAWER: boolean;
19
19
  GOOGLE_ANALYTICS_ID: string;
20
+ RAPID_API_KEY: string;
20
21
  } & import("envalid").CleanedEnvAccessors>;
21
22
  //# sourceMappingURL=env-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;0CAsCjB,CAAC"}
1
+ {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;0CAuCjB,CAAC"}
@@ -75,5 +75,8 @@ const config = cleanEnv(env, {
75
75
  }),
76
76
  GOOGLE_ANALYTICS_ID: str({
77
77
  default: 'G-L5J3SYZ69C'
78
+ }),
79
+ RAPID_API_KEY: str({
80
+ default: '7c2d15ba29msh468be2f129d847cp183e95jsnc7c279116f6e'
78
81
  })
79
82
  });export{config};//# sourceMappingURL=env-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"0JAIA,MAAM,GAAG,GAAG,cAAc,EAAE;AAE5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;KACvC,EAAA,gBAAkB,CAAA,GAAI;KACtB,EAAA,gBAAkB,CAAA,GAAI;MACrB,EAAA,gBAAkB,CAAA,IAAK;SACpB,EAAA,gBAAkB,CAAA;AAC5B,CAAA,CAAC;AAEW,MAAA,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;AAChC,EAAA,WAAA,EAAW,GAAE,CAAA;AACb,IAAA,OAAA,EAAA,aAAA;AACA,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;AACA,EAAA,gCAA4B,EAAI,IAAS,CAAA;AACzC,IAAA,OAAA,EAAA,KAAc;AACd,IAAA,IAAA,EAAA;AAEA,GAAA,CAAA;kBACmB,EAAA,GAAA,CAAA;IACnB,OAAiC,EAAA,sBAAA;AAC7B,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;iBACF,EAAA,GAAA,CAAA;IACF,OAAkC,EAAA,IAAA,CAAA,SAAA,CAAA,eAAK,CAAC;AACpC,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;4BACF,EAAA,GAAA,CAAA;IACF,OAA8B,EAAA,EAAA;QAC1B,EAAO;AACP,GAAA,CAAA;gBACF,EAAA,GAAA,CAAA;IACF,OAA0B,EAAA,EAAA;AACtB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;qBACF,EAAA,GAAA,CAAA;IACF,OAA6B,EAAA,EAAA;AACzB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;eACF,EAAA,GAAA,CAAA;IACF,OAAiB,EAAA,SAAA;IACjB,IAAmB,EAAA;AACf,GAAA,CAAA;AACA,EAAA,mBAA+C,EAAA,GAAA,CAAA;WACjD,EAAA;AACF,GAAA,CAAA;wCACoC,CAAA;AACvC,IAAE,OAAA,EAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"0JAIA,MAAM,GAAG,GAAG,cAAc,EAAE;AAE5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;KACvC,EAAA,gBAAkB,CAAA,GAAI;KACtB,EAAA,gBAAkB,CAAA,GAAI;MACrB,EAAA,gBAAkB,CAAA,IAAK;SACpB,EAAA,gBAAkB,CAAA;AAC5B,CAAA,CAAC;AAEW,MAAA,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;AAChC,EAAA,WAAA,EAAW,GAAE,CAAA;AACb,IAAA,OAAA,EAAA,aAAA;AACA,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;AACA,EAAA,gCAA4B,EAAI,IAAS,CAAA;AACzC,IAAA,OAAA,EAAA,KAAc;AACd,IAAA,IAAA,EAAA;AAEA,GAAA,CAAA;kBACmB,EAAA,GAAA,CAAA;IACnB,OAAiC,EAAA,sBAAA;AAC7B,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;iBACF,EAAA,GAAA,CAAA;IACF,OAAkC,EAAA,IAAA,CAAA,SAAA,CAAA,eAAK,CAAC;AACpC,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;4BACF,EAAA,GAAA,CAAA;IACF,OAA8B,EAAA,EAAA;QAC1B,EAAO;AACP,GAAA,CAAA;gBACF,EAAA,GAAA,CAAA;IACF,OAA0B,EAAA,EAAA;AACtB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;qBACF,EAAA,GAAA,CAAA;IACF,OAA6B,EAAA,EAAA;AACzB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;eACF,EAAA,GAAA,CAAA;IACF,OAAiB,EAAA,SAAA;IACjB,IAAmB,EAAA;AACf,GAAA,CAAA;AACA,EAAA,mBAA+C,EAAA,GAAA,CAAA;WACjD,EAAA;AACF,GAAA,CAAA;wCACoC,CAAA;IACpC,OAAa,EAAA,EAAA;AAChB,IAAE,IAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,3 +1,4 @@
1
1
  export * from './env-config';
2
2
  export * from './analytics-config';
3
+ export * from './api.config';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const fetchBookingHotelDetails: (hotelId: any, checkIn: any, checkOut: any, adults: any, children: any) => Promise<any>;
2
+ //# sourceMappingURL=fetchBookingHotelDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchBookingHotelDetails.d.ts","sourceRoot":"","sources":["../../src/utils/fetchBookingHotelDetails.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,GAAU,YAAO,EAAE,YAAO,EAAE,aAAQ,EAAE,WAAM,EAAE,aAAQ,iBAiC1F,CAAC"}
@@ -0,0 +1,30 @@
1
+ import'../config/env-config.js';import'../config/analytics-config.js';import {getDefaultDates,BOOKING_API,RAPID_API_KEY}from'../config/api.config.js';// Function to fetch hotel details from RapidAPI
2
+ const fetchBookingHotelDetails = async (hotelId, checkIn, checkOut, adults, children) => {
3
+ const url = BOOKING_API.BASE_URL;
4
+ // Get default dates if not provided
5
+ const defaultDates = getDefaultDates();
6
+ const arrivalDate = checkIn || defaultDates.arrival;
7
+ const departureDate = checkOut || defaultDates.departure;
8
+ const params = new URLSearchParams({
9
+ hotel_id: hotelId,
10
+ arrival_date: arrivalDate,
11
+ departure_date: departureDate
12
+ });
13
+ try {
14
+ const response = await fetch(`${url}?${params.toString()}`, {
15
+ method: 'GET',
16
+ headers: {
17
+ 'x-rapidapi-host': BOOKING_API.HOST,
18
+ 'x-rapidapi-key': RAPID_API_KEY
19
+ }
20
+ });
21
+ if (!response.ok) {
22
+ throw new Error('Failed to fetch hotel details');
23
+ }
24
+ const data = await response.json();
25
+ return data;
26
+ } catch (error) {
27
+ console.error('Error fetching hotel details:', error);
28
+ return null;
29
+ }
30
+ };export{fetchBookingHotelDetails};//# sourceMappingURL=fetchBookingHotelDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchBookingHotelDetails.js","sources":["../../src/utils/fetchBookingHotelDetails.ts"],"sourcesContent":[null],"names":[],"mappings":"sJAEA;AACa,MAAA,wBAAwB,GAAG,OAAO,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,KAAI;AAC3F,EAAA,MAAA,GAAS,GAAA,WAAc,CAAA;;AAGvB,EAAA,MAAA,YAAkB,GAAA,eAAkB,EAAA;AACpC,EAAA,MAAA,cAAoB,OAAA,gBAAuB,CAAA;AAC3C,EAAA,MAAA,gBAAsB,QAAA,gBAAwB,CAAA;AAE9C,EAAA,MAAA,MAAY,GAAA,IAAO,eAAA,CAAA;AACf,IAAA,QAAA,EAAA,OAAiB;AACjB,IAAA,YAAA,EAAA,WAAyB;AACzB,IAAA,cAAA,EAAA;AACH,GAAA,CAAA;AAED,EAAA,IAAA;AACI,IAAA,MAAA,QAAc,GAAA,MAAS,KAAA,CAAA,CAAA,EAAK,GAAC,CAAG,CAAG,EAAA,MAAU,CAAA,QAAS,EAAA,CAAA,CAAA,EAAE;AACpD,MAAA,MAAA,EAAA;AACA,MAAA,OAAA,EAAA;yBACqB,EAAA,WAAa,CAAA,IAAA;AAC9B,QAAA,gBAAA,EAAA;AACH;AACJ,KAAA,CAAA;AAED,IAAA,IAAA,CAAA,QAAK,CAAA,EAAA,EAAS;AACV,MAAA,MAAA,IAAA,KAAU,CAAA,+BAAM,CAAA;;AAGpB,IAAA,MAAA,IAAM,SAAO,aAAe,EAAA;AAC5B,IAAA,OAAA,IAAO;IACX,OAAC,KAAA,EAAA;IAAC,OAAO,CAAA,MAAO,+BAAC,EAAA,KAAA,CAAA;AACb,IAAA,OAAA,IAAO;AACP;"}
@@ -0,0 +1,2 @@
1
+ export declare const fetchPricelineHotelDetails: (hotelId: any) => Promise<any>;
2
+ //# sourceMappingURL=fetchPricelineHotelDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPricelineHotelDetails.d.ts","sourceRoot":"","sources":["../../src/utils/fetchPricelineHotelDetails.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,GAAU,YAAO,iBA0BvD,CAAC"}
@@ -0,0 +1,25 @@
1
+ import'../config/env-config.js';import'../config/analytics-config.js';import {PRICELINE_API,RAPID_API_KEY}from'../config/api.config.js';// Function to fetch Priceline property details
2
+ const fetchPricelineHotelDetails = async hotelId => {
3
+ const url = PRICELINE_API.BASE_URL;
4
+ const params = new URLSearchParams({
5
+ hotel_id: hotelId,
6
+ ...PRICELINE_API.DEFAULT_PARAMS
7
+ });
8
+ try {
9
+ const response = await fetch(`${url}?${params.toString()}`, {
10
+ method: 'GET',
11
+ headers: {
12
+ 'x-rapidapi-host': PRICELINE_API.HOST,
13
+ 'x-rapidapi-key': RAPID_API_KEY
14
+ }
15
+ });
16
+ if (!response.ok) {
17
+ throw new Error('Failed to fetch Priceline property details');
18
+ }
19
+ const data = await response.json();
20
+ return data;
21
+ } catch (error) {
22
+ console.error('Error fetching Priceline property details:', error);
23
+ return null;
24
+ }
25
+ };export{fetchPricelineHotelDetails};//# sourceMappingURL=fetchPricelineHotelDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPricelineHotelDetails.js","sources":["../../src/utils/fetchPricelineHotelDetails.ts"],"sourcesContent":[null],"names":[],"mappings":"wIAEA;MACa,0BAA0B,GAAG,MAAO,OAAA,IAAW;AACxD,EAAA,MAAA,GAAS,GAAA,aAAgB,CAAA;AACzB,EAAA,MAAA,MAAY,GAAA,IAAO,eAAA,CAAA;AACf,IAAA,QAAA,EAAA,OAAiB;oBACd,CAAA;AACN,GAAA,CAAA;AAED,EAAA,IAAA;AACI,IAAA,MAAA,QAAc,GAAA,MAAS,KAAA,CAAA,CAAA,EAAK,GAAC,CAAG,CAAG,EAAA,MAAU,CAAA,QAAS,EAAA,CAAA,CAAA,EAAE;AACpD,MAAA,MAAA,EAAA;AACA,MAAA,OAAA,EAAA;yBACqB,EAAA,aAAe,CAAA,IAAA;AAChC,QAAA,gBAAA,EAAA;AACH;AACJ,KAAA,CAAA;AAED,IAAA,IAAA,CAAA,QAAK,CAAA,EAAA,EAAS;AACV,MAAA,MAAA,IAAA,KAAU,CAAA,4CAAM,CAAA;;AAGpB,IAAA,MAAA,IAAM,SAAO,aAAe,EAAA;AAC5B,IAAA,OAAA,IAAO;IACX,OAAC,KAAA,EAAA;IAAC,OAAO,CAAA,MAAO,4CAAC,EAAA,KAAA,CAAA;AACb,IAAA,OAAA,IAAO;AACP;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@admin-layout/tailwind-design-pro",
3
- "version": "10.1.1-alpha.17",
3
+ "version": "10.1.1-alpha.18",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -61,5 +61,5 @@
61
61
  "typescript": {
62
62
  "definition": "lib/index.d.ts"
63
63
  },
64
- "gitHead": "dfb3fcd53042be3b4a49d6aa863ef9ada9f4f2ef"
64
+ "gitHead": "e6c290f722353dce3f56213329e25e5278b44f3d"
65
65
  }