@admin-layout/tailwind-travel-pro 11.2.1-alpha.1
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/LICENSE +21 -0
- package/lib/components/CardList.d.ts +61 -0
- package/lib/components/CardList.d.ts.map +1 -0
- package/lib/components/CardList.js +41 -0
- package/lib/components/CardList.js.map +1 -0
- package/lib/components/CategoriesTypeList.d.ts +27 -0
- package/lib/components/CategoriesTypeList.d.ts.map +1 -0
- package/lib/components/CategoriesTypeList.js +163 -0
- package/lib/components/CategoriesTypeList.js.map +1 -0
- package/lib/components/LazyLoadingGoogleMarker.d.ts +83 -0
- package/lib/components/LazyLoadingGoogleMarker.d.ts.map +1 -0
- package/lib/components/LazyLoadingGoogleMarker.js +104 -0
- package/lib/components/LazyLoadingGoogleMarker.js.map +1 -0
- package/lib/components/Pagination.d.ts +7 -0
- package/lib/components/Pagination.d.ts.map +1 -0
- package/lib/components/Pagination.js +55 -0
- package/lib/components/Pagination.js.map +1 -0
- package/lib/components/ParamSearchResultContainer.d.ts +99 -0
- package/lib/components/ParamSearchResultContainer.d.ts.map +1 -0
- package/lib/components/ParamSearchResultContainer.js +115 -0
- package/lib/components/ParamSearchResultContainer.js.map +1 -0
- package/lib/components/PropertyCard.d.ts +25 -0
- package/lib/components/PropertyCard.d.ts.map +1 -0
- package/lib/components/PropertyCard.js +310 -0
- package/lib/components/PropertyCard.js.map +1 -0
- package/lib/components/PropertyCardOnMap.d.ts +10 -0
- package/lib/components/PropertyCardOnMap.d.ts.map +1 -0
- package/lib/components/PropertyCardOnMap.js +113 -0
- package/lib/components/PropertyCardOnMap.js.map +1 -0
- package/lib/components/VehicleCard/PricePopover.d.ts +8 -0
- package/lib/components/VehicleCard/PricePopover.d.ts.map +1 -0
- package/lib/components/VehicleCard/PricePopover.js +79 -0
- package/lib/components/VehicleCard/PricePopover.js.map +1 -0
- package/lib/components/VehicleCard/VehicleBadge.d.ts +7 -0
- package/lib/components/VehicleCard/VehicleBadge.d.ts.map +1 -0
- package/lib/components/VehicleCard/VehicleFeature.d.ts +9 -0
- package/lib/components/VehicleCard/VehicleFeature.d.ts.map +1 -0
- package/lib/components/VehicleCard/VehicleFeature.js +18 -0
- package/lib/components/VehicleCard/VehicleFeature.js.map +1 -0
- package/lib/components/VehicleCard/types.d.ts +59 -0
- package/lib/components/VehicleCard/types.d.ts.map +1 -0
- package/lib/components/VehicleCard.d.ts +15 -0
- package/lib/components/VehicleCard.d.ts.map +1 -0
- package/lib/components/VehicleCard.js +138 -0
- package/lib/components/VehicleCard.js.map +1 -0
- package/lib/components/VehicleCardList.d.ts +14 -0
- package/lib/components/VehicleCardList.d.ts.map +1 -0
- package/lib/components/VehicleCardList.js +37 -0
- package/lib/components/VehicleCardList.js.map +1 -0
- package/lib/components/VehicleParamSearchResultContainer.d.ts +90 -0
- package/lib/components/VehicleParamSearchResultContainer.d.ts.map +1 -0
- package/lib/components/icons/LocationIcon.d.ts +8 -0
- package/lib/components/icons/LocationIcon.d.ts.map +1 -0
- package/lib/components/icons/LocationIcon.js +17 -0
- package/lib/components/icons/LocationIcon.js.map +1 -0
- package/lib/components/icons/index.d.ts +2 -0
- package/lib/components/icons/index.d.ts.map +1 -0
- package/lib/components/index.d.ts +10 -0
- package/lib/components/index.d.ts.map +1 -0
- package/lib/config/analytics-config.d.ts +59 -0
- package/lib/config/analytics-config.d.ts.map +1 -0
- package/lib/config/constants.d.ts +7 -0
- package/lib/config/constants.d.ts.map +1 -0
- package/lib/config/constants.js +6 -0
- package/lib/config/constants.js.map +1 -0
- package/lib/config/env-config.d.ts +19 -0
- package/lib/config/env-config.d.ts.map +1 -0
- package/lib/config/env-config.js +70 -0
- package/lib/config/env-config.js.map +1 -0
- package/lib/config/index.d.ts +3 -0
- package/lib/config/index.d.ts.map +1 -0
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/index.d.ts.map +1 -0
- package/lib/hooks/use-get-current-lat-long.d.ts +18 -0
- package/lib/hooks/use-get-current-lat-long.d.ts.map +1 -0
- package/lib/hooks/use-get-current-lat-long.js +29 -0
- package/lib/hooks/use-get-current-lat-long.js.map +1 -0
- package/lib/hooks/useWindowSize.d.ts +5 -0
- package/lib/hooks/useWindowSize.d.ts.map +1 -0
- package/lib/hooks/useWindowSize.js +20 -0
- package/lib/hooks/useWindowSize.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -0
- package/lib/interfaces/travel.d.ts +6 -0
- package/lib/interfaces/travel.d.ts.map +1 -0
- package/lib/interfaces/travel.js +6 -0
- package/lib/interfaces/travel.js.map +1 -0
- package/lib/middlewares/airbnbDatasourcesMiddleware.d.ts +6 -0
- package/lib/middlewares/airbnbDatasourcesMiddleware.d.ts.map +1 -0
- package/lib/middlewares/airbnbDatasourcesMiddleware.js +121 -0
- package/lib/middlewares/airbnbDatasourcesMiddleware.js.map +1 -0
- package/lib/middlewares/bookingCarRentalMiddleware.d.ts +6 -0
- package/lib/middlewares/bookingCarRentalMiddleware.d.ts.map +1 -0
- package/lib/middlewares/bookingCarRentalMiddleware.js +109 -0
- package/lib/middlewares/bookingCarRentalMiddleware.js.map +1 -0
- package/lib/middlewares/bookingDatasourcesMiddleware.d.ts +7 -0
- package/lib/middlewares/bookingDatasourcesMiddleware.d.ts.map +1 -0
- package/lib/middlewares/bookingDatasourcesMiddleware.js +137 -0
- package/lib/middlewares/bookingDatasourcesMiddleware.js.map +1 -0
- package/lib/middlewares/datasourcesMiddleware.d.ts +6 -0
- package/lib/middlewares/datasourcesMiddleware.d.ts.map +1 -0
- package/lib/middlewares/datasourcesMiddleware.js +29 -0
- package/lib/middlewares/datasourcesMiddleware.js.map +1 -0
- package/lib/middlewares/index.d.ts +6 -0
- package/lib/middlewares/index.d.ts.map +1 -0
- package/lib/middlewares/pricelineDatasourcesMiddleware.d.ts +7 -0
- package/lib/middlewares/pricelineDatasourcesMiddleware.d.ts.map +1 -0
- package/lib/middlewares/pricelineDatasourcesMiddleware.js +95 -0
- package/lib/middlewares/pricelineDatasourcesMiddleware.js.map +1 -0
- package/lib/routes.json +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VehicleParamSearchResultContainer.d.ts","sourceRoot":"","sources":["../../src/components/VehicleParamSearchResultContainer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationIcon.d.ts","sourceRoot":"","sources":["../../../src/components/icons/LocationIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,YAAY,GAAI;;;;;CAAkC,sBAY9D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from'react';const LocationIcon = ({
|
|
2
|
+
className = '',
|
|
3
|
+
w,
|
|
4
|
+
h,
|
|
5
|
+
...props
|
|
6
|
+
}) => React.createElement("svg", {
|
|
7
|
+
viewBox: "0 0 24 24",
|
|
8
|
+
className: `inline-block ${className}`,
|
|
9
|
+
style: {
|
|
10
|
+
width: w || '1em',
|
|
11
|
+
height: h || '1em'
|
|
12
|
+
},
|
|
13
|
+
...props
|
|
14
|
+
}, React.createElement("path", {
|
|
15
|
+
d: "M12.0001 1.49866C7.85965 1.49866 4.50012 4.52256 4.50012 8.24865C4.50012 14.2487 12.0001 22.4986 12.0001 22.4986C12.0001 22.4986 19.5001 14.2487 19.5001 8.24865C19.5001 4.52256 16.1406 1.49866 12.0001 1.49866ZM12.0001 11.9987C11.4068 11.9987 10.8268 11.8227 10.3334 11.4931C9.84006 11.1634 9.45554 10.6949 9.22848 10.1467C9.00142 9.59853 8.94201 8.99533 9.05776 8.41338C9.17352 7.83144 9.45924 7.29689 9.8788 6.87733C10.2984 6.45778 10.8329 6.17205 11.4148 6.0563C11.9968 5.94054 12.6 5.99995 13.1482 6.22702C13.6963 6.45408 14.1649 6.8386 14.4945 7.33194C14.8242 7.82529 15.0001 8.40531 15.0001 8.99865C14.9992 9.79404 14.6829 10.5566 14.1205 11.119C13.5581 11.6814 12.7955 11.9978 12.0001 11.9987Z",
|
|
16
|
+
fill: "currentColor"
|
|
17
|
+
}));export{LocationIcon};//# sourceMappingURL=LocationIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationIcon.js","sources":["../../../src/components/icons/LocationIcon.tsx"],"sourcesContent":[null],"names":[],"mappings":"+BAEa,YAAY,GAAG,CAAC;WAOrB,GAAA,EAAA;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './CategoriesTypeList';
|
|
2
|
+
export * from './PropertyCardOnMap';
|
|
3
|
+
export * from './LazyLoadingGoogleMarker';
|
|
4
|
+
export * from './ParamSearchResultContainer';
|
|
5
|
+
export * from './CardList';
|
|
6
|
+
export * from './PropertyCard';
|
|
7
|
+
export * from './Pagination';
|
|
8
|
+
export * from './VehicleCard';
|
|
9
|
+
export * from './VehicleCardList';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Google Analytics Configuration
|
|
3
|
+
*/
|
|
4
|
+
export declare const ANALYTICS_CONFIG: {
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
debug: boolean;
|
|
7
|
+
GA4_MEASUREMENT_ID: string;
|
|
8
|
+
trackEvents: {
|
|
9
|
+
pageViews: boolean;
|
|
10
|
+
clicks: boolean;
|
|
11
|
+
redirections: boolean;
|
|
12
|
+
errors: boolean;
|
|
13
|
+
};
|
|
14
|
+
trackUserProperties: {
|
|
15
|
+
userId: boolean;
|
|
16
|
+
deviceInfo: boolean;
|
|
17
|
+
location: boolean;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export declare const EVENT_CATEGORIES: {
|
|
21
|
+
REDIRECTION: string;
|
|
22
|
+
USER_INTERACTION: string;
|
|
23
|
+
SYSTEM: string;
|
|
24
|
+
ERROR: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const EVENT_ACTIONS: {
|
|
27
|
+
AUTO_REDIRECT: string;
|
|
28
|
+
MANUAL_CLICK: string;
|
|
29
|
+
LINK_CLICK: string;
|
|
30
|
+
BUTTON_CLICK: string;
|
|
31
|
+
FORM_SUBMIT: string;
|
|
32
|
+
SEARCH: string;
|
|
33
|
+
VIEW_ITEM: string;
|
|
34
|
+
ADD_TO_CART: string;
|
|
35
|
+
REMOVE_FROM_CART: string;
|
|
36
|
+
BEGIN_CHECKOUT: string;
|
|
37
|
+
ADD_PAYMENT_INFO: string;
|
|
38
|
+
PURCHASE: string;
|
|
39
|
+
LOAD: string;
|
|
40
|
+
INIT: string;
|
|
41
|
+
API_ERROR: string;
|
|
42
|
+
CLIENT_ERROR: string;
|
|
43
|
+
};
|
|
44
|
+
export declare const GA4_EVENTS: {
|
|
45
|
+
PAGE_VIEW: string;
|
|
46
|
+
SEARCH: string;
|
|
47
|
+
VIEW_ITEM: string;
|
|
48
|
+
VIEW_ITEM_LIST: string;
|
|
49
|
+
SELECT_ITEM: string;
|
|
50
|
+
ADD_TO_CART: string;
|
|
51
|
+
REMOVE_FROM_CART: string;
|
|
52
|
+
BEGIN_CHECKOUT: string;
|
|
53
|
+
ADD_PAYMENT_INFO: string;
|
|
54
|
+
PURCHASE: string;
|
|
55
|
+
LOGIN: string;
|
|
56
|
+
SIGN_UP: string;
|
|
57
|
+
USER_ENGAGEMENT: string;
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=analytics-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-config.d.ts","sourceRoot":"","sources":["../../src/config/analytics-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;CAwB5B,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;CAK5B,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;CAwBzB,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;CActB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/config/constants.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAO,MAAM,gBAAgB,GAAG;AAC5B,EAAA,GAAA,EAAG;AACH,EAAA,GAAA,EAAG,IAAE;AACL,EAAA,IAAA,EAAI,EAAE;AACN,EAAA,OAAA,EAAO;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const config: Readonly<{
|
|
2
|
+
ENABLE_PROPERTY_PRICE_COMPARISON: boolean;
|
|
3
|
+
SCROLL_THRESHOLD: string;
|
|
4
|
+
BOOKING_CAR_RENTAL_API_KEY: string;
|
|
5
|
+
AIRBNB_API_KEY: string;
|
|
6
|
+
BOOKING_COM_API_KEY: string;
|
|
7
|
+
SEARCH_LAYOUT: string;
|
|
8
|
+
GOOGLE_MAPS_API_KEY: string;
|
|
9
|
+
PROPERTY_SEARCH_DEFAULT_PAGE_SIZE: number;
|
|
10
|
+
PROPERTY_COUPONS_DEFAULT_PAGE_SIZE: number;
|
|
11
|
+
DEFAULT_NEARBY_PROPERTY_RADIUS: number;
|
|
12
|
+
AIRBNB_DEFAULT_TOTAL_PAGES: number;
|
|
13
|
+
BOOKING_COM_DEFAULT_PAGE_SIZE: number;
|
|
14
|
+
PRICELINE_API_KEY: string;
|
|
15
|
+
DEFAULT_COORDINATES: string;
|
|
16
|
+
GOOGLE_ANALYTICS_ID: string;
|
|
17
|
+
RAPID_API_KEY: string;
|
|
18
|
+
} & import("envalid").CleanedEnvAccessors>;
|
|
19
|
+
//# sourceMappingURL=env-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;0CAoCjB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {cleanEnv,str,num,bool}from'envalid';import {getEnvironment}from'@common-stack/core';import {SCROLL_THRESHOLD}from'./constants.js';const env = getEnvironment();
|
|
2
|
+
const defaultScrollThreshold = JSON.stringify({
|
|
3
|
+
MIN: SCROLL_THRESHOLD.MIN,
|
|
4
|
+
MAX: SCROLL_THRESHOLD.MAX,
|
|
5
|
+
STEP: SCROLL_THRESHOLD.STEP,
|
|
6
|
+
DEFAULT: SCROLL_THRESHOLD.DEFAULT
|
|
7
|
+
});
|
|
8
|
+
const config = cleanEnv(env, {
|
|
9
|
+
ENABLE_PROPERTY_PRICE_COMPARISON: bool({
|
|
10
|
+
default: false,
|
|
11
|
+
desc: 'Enable property price comparison section'
|
|
12
|
+
}),
|
|
13
|
+
SCROLL_THRESHOLD: str({
|
|
14
|
+
default: defaultScrollThreshold,
|
|
15
|
+
desc: 'Scroll threshold configuration'
|
|
16
|
+
}),
|
|
17
|
+
BOOKING_CAR_RENTAL_API_KEY: str({
|
|
18
|
+
default: '',
|
|
19
|
+
desc: 'Booking car rental API key'
|
|
20
|
+
}),
|
|
21
|
+
AIRBNB_API_KEY: str({
|
|
22
|
+
default: '',
|
|
23
|
+
desc: 'Airbnb API key'
|
|
24
|
+
}),
|
|
25
|
+
BOOKING_COM_API_KEY: str({
|
|
26
|
+
default: '',
|
|
27
|
+
desc: 'Booking com API key'
|
|
28
|
+
}),
|
|
29
|
+
SEARCH_LAYOUT: str({
|
|
30
|
+
default: '/search',
|
|
31
|
+
desc: 'Layout Search route'
|
|
32
|
+
}),
|
|
33
|
+
GOOGLE_MAPS_API_KEY: str({
|
|
34
|
+
default: 'AIzaSyCtMaqd4AQayEx4-QTbuM_uL91pQrUsbK8'
|
|
35
|
+
}),
|
|
36
|
+
PROPERTY_SEARCH_DEFAULT_PAGE_SIZE: num({
|
|
37
|
+
default: 10,
|
|
38
|
+
desc: 'Number of property to fetch in each request'
|
|
39
|
+
}),
|
|
40
|
+
PROPERTY_COUPONS_DEFAULT_PAGE_SIZE: num({
|
|
41
|
+
default: 10,
|
|
42
|
+
desc: 'Number of coupons to fetch in each request'
|
|
43
|
+
}),
|
|
44
|
+
DEFAULT_NEARBY_PROPERTY_RADIUS: num({
|
|
45
|
+
default: 160934,
|
|
46
|
+
// The value is in meter so its actually 100 miles
|
|
47
|
+
desc: 'Sets the default distance for searching nearby properties'
|
|
48
|
+
}),
|
|
49
|
+
AIRBNB_DEFAULT_TOTAL_PAGES: num({
|
|
50
|
+
default: 8,
|
|
51
|
+
desc: 'Number of property to fetch in each request'
|
|
52
|
+
}),
|
|
53
|
+
BOOKING_COM_DEFAULT_PAGE_SIZE: num({
|
|
54
|
+
default: 20,
|
|
55
|
+
desc: 'Number of property to fetch in each request'
|
|
56
|
+
}),
|
|
57
|
+
PRICELINE_API_KEY: str({
|
|
58
|
+
default: ''
|
|
59
|
+
}),
|
|
60
|
+
DEFAULT_COORDINATES: str({
|
|
61
|
+
default: '{"lat":40.7127281,"lng":-74.0060152}',
|
|
62
|
+
desc: 'Default coordinates for property search'
|
|
63
|
+
}),
|
|
64
|
+
GOOGLE_ANALYTICS_ID: str({
|
|
65
|
+
default: 'G-L5J3SYZ69C'
|
|
66
|
+
}),
|
|
67
|
+
RAPID_API_KEY: str({
|
|
68
|
+
default: '7c2d15ba29msh468be2f129d847cp183e95jsnc7c279116f6e'
|
|
69
|
+
})
|
|
70
|
+
});export{config};//# sourceMappingURL=env-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"0IAIA,MAAM,GAAG,GAAG,cAAc,EAAE;AAE5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;KAC1C,EAAG,gBAAE,CAAA,GAAiB;KACtB,EAAG,gBAAE,CAAA,GAAiB;MACtB,EAAI,gBAAE,CAAA,IAAiB;SACvB,EAAO,gBAAE,CAAA;AACZ,CAAA,CAAC;AAEK,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;AAChC,EAAA,gCAAA,EAAgC,IAAE,CAAA;AAClC,IAAA,OAAA,EAAA,KAAA;AACA,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;AACA,EAAA,gBAAA,EAAA,GAAmB,CAAA;AAEnB,IAAA,OAAA,EAAA,sBAA8B;IAC9B,IAAA,EAAA;IACA;AACI,EAAA,0BAAW,EAAA,GAAA,CAAA;AACX,IAAA,OAAA,IAAM;QACR,EAAA;IACF;AACI,EAAA,gBAAS,GAAE,CAAA;AACX,IAAA,OAAA,IAAM;QACR,EAAA;IACF;qBACa,EAAM,GAAE,CAAA;AACjB,IAAA,OAAA,IAAM;QACR,EAAA;IACF;AACI,EAAA,aAAO,EAAE,GAAC,CAAA;AACV,IAAA,OAAA,WAAM;QACR,EAAA;IACF;AACI,EAAA,mBAAW,EAAA,GAAA,CAAA;AACX,IAAA,OAAA;;qCAE4B,GAAI;IACpC,OAAA,EAAA,EAAA;AACI,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;oCACF,EAAA,GAAA,CAAA;IACF,OAAA,EAAA,EAAA;IACA,IAAA,EAAA;AACH,GAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Gets the current Ip address details of user by calling the geolocation
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
interface CurrentLocationLongLatInterface {
|
|
7
|
+
loading: boolean;
|
|
8
|
+
error: Error;
|
|
9
|
+
fetchCurrentLatLong: () => void;
|
|
10
|
+
permissionDenied: boolean;
|
|
11
|
+
location: {
|
|
12
|
+
latitude: number;
|
|
13
|
+
longitude: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare function useGetCurrentLongLat(): CurrentLocationLongLatInterface;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=use-get-current-lat-long.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-get-current-lat-long.d.ts","sourceRoot":"","sources":["../../src/hooks/use-get-current-lat-long.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,UAAU,+BAA+B;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,wBAAgB,oBAAoB,IAAI,+BAA+B,CA6BtE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {reject}from'lodash-es';import originalAsyncFunc from'react-use/lib/useAsyncFn.js';import {useState}from'react';const useAsyncFn = originalAsyncFunc?.default || originalAsyncFunc;
|
|
2
|
+
function useGetCurrentLongLat() {
|
|
3
|
+
const [permissionDenied, setPermissionDenied] = useState(false);
|
|
4
|
+
// const { toastError } = Toast();
|
|
5
|
+
const [state, fetchCurrentLatLong] = useAsyncFn(() => new Promise(resolve => {
|
|
6
|
+
navigator.geolocation.getCurrentPosition(position => {
|
|
7
|
+
setPermissionDenied(false);
|
|
8
|
+
resolve({
|
|
9
|
+
latitude: position.coords.latitude,
|
|
10
|
+
longitude: position.coords.longitude
|
|
11
|
+
});
|
|
12
|
+
}, err => {
|
|
13
|
+
setPermissionDenied(true);
|
|
14
|
+
// toastError(err.message);
|
|
15
|
+
reject(err);
|
|
16
|
+
}, {
|
|
17
|
+
maximumAge: 60000,
|
|
18
|
+
timeout: 5000,
|
|
19
|
+
enableHighAccuracy: true
|
|
20
|
+
});
|
|
21
|
+
}));
|
|
22
|
+
return {
|
|
23
|
+
loading: state.loading,
|
|
24
|
+
location: state.value,
|
|
25
|
+
error: state.error,
|
|
26
|
+
permissionDenied,
|
|
27
|
+
fetchCurrentLatLong
|
|
28
|
+
};
|
|
29
|
+
}export{useGetCurrentLongLat};//# sourceMappingURL=use-get-current-lat-long.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-get-current-lat-long.js","sources":["../../src/hooks/use-get-current-lat-long.ts"],"sourcesContent":[null],"names":[],"mappings":"uHAIA,MAAM,UAAU,GAAI,iBAAyB,EAAE,OAAO,IAAI,iBAAiB;SAiB3D,oBAAoB,GAAA;QAChC,CAAA,gBAAO,EAAgB,mBAAE,CAAA,WAAuB,CAAA,KAAS,CAAA;;AAGzD,EAAA,MAAA,CAAA,KAAO,EAAK,mBAAE,CAAA,aAAuB,CAAA,MAC9B,IACC,OAAI,CAAA,OAAS;aACT,CAAA,8BAAsB,CAAA,QACjB,IAAA;yBACG,CAAA,KAAmB,CAAC;AACpB,MAAA,OAAA,CAAA;AACJ,QAAA,QACI,EAAE,QAAE,CAAA,MAAA,CAAA,QAAA;iBACJ,EAAA,QAAA,CAAA,MAAoB,CAAA;;cAEpB;AACJ,MAAA,mBACc,KAAK,CAAA;;MAKnC,MAAO,CAAA,GAAA,CAAA;;gBAEK,EAAE,KAAK;aACV,EAAE,IAAA;wBACS,EAAA;;KAEnB;AACL,EAAC,OAAA;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWindowSize.d.ts","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa;;;EAsB5B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {useState,useEffect}from'react';function useWindowSize() {
|
|
2
|
+
const [windowSize, setWindowSize] = useState({
|
|
3
|
+
width: typeof window !== 'undefined' ? window.innerWidth : 0,
|
|
4
|
+
// Check if window is defined
|
|
5
|
+
height: typeof window !== 'undefined' ? window.innerHeight : 0 // Check if window is defined
|
|
6
|
+
});
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
function handleResize() {
|
|
9
|
+
setWindowSize({
|
|
10
|
+
width: window.innerWidth,
|
|
11
|
+
height: window.innerHeight
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
// Add event listener for window resize
|
|
15
|
+
window.addEventListener('resize', handleResize);
|
|
16
|
+
// Cleanup the event listener on component unmount
|
|
17
|
+
return () => window.removeEventListener('resize', handleResize);
|
|
18
|
+
}, []);
|
|
19
|
+
return windowSize;
|
|
20
|
+
}export{useWindowSize};//# sourceMappingURL=useWindowSize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWindowSize.js","sources":["../../src/hooks/useWindowSize.ts"],"sourcesContent":[null],"names":[],"mappings":"gDAEgB,aAAa,GAAA;AACzB,EAAA,MAAA,CAAA,UAAO,EAAU,iBAAgB;AAC7B,IAAA,KAAA,EAAA,OAAO,MAAO,KAAM,WAAK,GAAA,MAAc,CAAA,cAAiB;AACxD;AACH,IAAA,MAAE,EAAA,OAAA,MAAA,KAAA,WAAA,GAAA,MAAA,CAAA,WAAA,GAAA,CAAA;IAEH;AACI,EAAA,SAAA,CAAA,MAAS;AACL,IAAA,SAAA,YAAa,GAAC;mBACV,CAAA;qBACA,CAAM,UAAS;AAClB,QAAA,MAAC,EAAC,MAAA,CAAA;QACP;;AAGA;UAEA,CAAA,gBAAA,CAAA,QAAA,EAAA,YAAA,CAAA;;IAEJ,OAAO,MAAA,MAAA,CAAA,mBAAA,CAAA,QAAA,EAAA,YAAA,CAAA;AAEP,EAAA,CAAA,EAAA,EAAA,CAAA;AACJ,EAAC,OAAA,UAAA;"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{CategoriesTypeList}from'./components/CategoriesTypeList.js';export{PropertyCardOnMap}from'./components/PropertyCardOnMap.js';export{LazyLoadingGoogleMarker}from'./components/LazyLoadingGoogleMarker.js';export{ParamSearchResultContainer}from'./components/ParamSearchResultContainer.js';export{CardList}from'./components/CardList.js';export{PropertyCard}from'./components/PropertyCard.js';export{Pagination}from'./components/Pagination.js';import'react';import'@react-icons/all-files/ai/AiFillHeart.js';import'@react-icons/all-files/ai/AiFillStar.js';import'@react-icons/all-files/ai/AiOutlineHeart.js';import'@react-icons/all-files/fa/FaAward.js';import'@react-icons/all-files/fa/FaShieldAlt.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@admin-layout/tailwind-ui/lib/shardui/button';import'@admin-layout/tailwind-design-pro/lib/helpers/DynamicIcon.js';import'@react-icons/all-files/bi/BiTag.js';export{VehicleCardList}from'./components/VehicleCardList.js';export{middleware as airbnbDatasourcesMiddleware}from'./middlewares/airbnbDatasourcesMiddleware.js';export{middleware as bookingCarRentalDatasourcesMiddleware}from'./middlewares/bookingCarRentalMiddleware.js';export{middleware as bookingDatasourcesMiddleware}from'./middlewares/bookingDatasourcesMiddleware.js';export{middleware as datasourcesMiddleware}from'./middlewares/datasourcesMiddleware.js';export{middleware as pricelineDatasourcesMiddleware}from'./middlewares/pricelineDatasourcesMiddleware.js';export{useGetCurrentLongLat}from'./hooks/use-get-current-lat-long.js';//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"travel.d.ts","sourceRoot":"","sources":["../../src/interfaces/travel.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"travel.js","sources":["../../src/interfaces/travel.ts"],"sourcesContent":[null],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,UAAU,EAAA;AAClB,EAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAA;AACA,EAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAA;AACA,EAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAA;AACJ,CAAC,EAJW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"airbnbDatasourcesMiddleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/airbnbDatasourcesMiddleware.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,UAAU,GAAU;;;;CAA4B,EAAE,eAAU,EAAE,SAAI,kBAsI9E,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import {config}from'../config/env-config.js';const middleware = async ({
|
|
2
|
+
context,
|
|
3
|
+
request,
|
|
4
|
+
params
|
|
5
|
+
}, dataLoader, next) => {
|
|
6
|
+
const {
|
|
7
|
+
apolloClient,
|
|
8
|
+
logger
|
|
9
|
+
} = context;
|
|
10
|
+
let airbnbQuery;
|
|
11
|
+
try {
|
|
12
|
+
const url = new URL(request.url);
|
|
13
|
+
const searchParams = url.searchParams;
|
|
14
|
+
// Parse basic parameters
|
|
15
|
+
const from = searchParams.get('from') ? new Date(searchParams.get('from')) : null;
|
|
16
|
+
const to = searchParams.get('to') ? new Date(searchParams.get('to')) : null;
|
|
17
|
+
const adults = parseInt(searchParams.get('adults') || '0', 10);
|
|
18
|
+
const children = parseInt(searchParams.get('children') || '0', 10);
|
|
19
|
+
const infants = parseInt(searchParams.get('infants') || '0', 10);
|
|
20
|
+
// Parse viewport coordinates
|
|
21
|
+
let viewport = {};
|
|
22
|
+
try {
|
|
23
|
+
viewport = searchParams.get('viewport') ? JSON.parse(searchParams.get('viewport')) : null;
|
|
24
|
+
} catch (e) {
|
|
25
|
+
logger.warn('Failed to parse viewport parameter');
|
|
26
|
+
}
|
|
27
|
+
// Validate total passengers
|
|
28
|
+
const totalPassengers = adults + children + infants;
|
|
29
|
+
if (totalPassengers > 16) {
|
|
30
|
+
throw new Error('Maximum total number of passengers cannot exceed 16');
|
|
31
|
+
}
|
|
32
|
+
// Validate infants range
|
|
33
|
+
if (infants < 0 || infants > 5) {
|
|
34
|
+
throw new Error('Number of infants must be between 0 and 5');
|
|
35
|
+
}
|
|
36
|
+
// Parse additional parameters
|
|
37
|
+
const minBeds = parseInt(searchParams.get('minBeds') || '0', 10);
|
|
38
|
+
const minBedrooms = parseInt(searchParams.get('minBedrooms') || '0', 10);
|
|
39
|
+
const page = parseInt(searchParams.get('page') || '1', 10);
|
|
40
|
+
// Create a promise that will fetch the Airbnb data
|
|
41
|
+
airbnbQuery = new Promise(async (resolve, reject) => {
|
|
42
|
+
try {
|
|
43
|
+
// Create apiParams with the defined type
|
|
44
|
+
const apiParams = {
|
|
45
|
+
checkin: from ? from.toISOString().split('T')[0] : '',
|
|
46
|
+
checkout: to ? to.toISOString().split('T')[0] : '',
|
|
47
|
+
adults: adults.toString(),
|
|
48
|
+
children: children.toString(),
|
|
49
|
+
infants: infants.toString(),
|
|
50
|
+
page: page.toString(),
|
|
51
|
+
currency: 'USD' // You might want to make this configurable
|
|
52
|
+
};
|
|
53
|
+
// Add viewport parameters if available
|
|
54
|
+
if (viewport && viewport.northeast && viewport.southwest) {
|
|
55
|
+
apiParams.ne_lat = viewport.northeast.lat.toString();
|
|
56
|
+
apiParams.ne_lng = viewport.northeast.lng.toString();
|
|
57
|
+
apiParams.sw_lat = viewport.southwest.lat.toString();
|
|
58
|
+
apiParams.sw_lng = viewport.southwest.lng.toString();
|
|
59
|
+
}
|
|
60
|
+
// Add optional parameters if they exist
|
|
61
|
+
if (minBeds > 0) apiParams.min_beds = minBeds.toString();
|
|
62
|
+
if (minBedrooms > 0) apiParams.min_bedrooms = minBedrooms.toString();
|
|
63
|
+
const rapidApiKey = config.AIRBNB_API_KEY;
|
|
64
|
+
const response = await fetch('https://airbnb13.p.rapidapi.com/search-geo?' + new URLSearchParams(apiParams), {
|
|
65
|
+
headers: {
|
|
66
|
+
'x-rapidapi-host': 'airbnb13.p.rapidapi.com',
|
|
67
|
+
'x-rapidapi-key': rapidApiKey
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
const responseData = await response.json();
|
|
71
|
+
// Restructure the response data
|
|
72
|
+
const results = responseData.results || [];
|
|
73
|
+
const resultsPerPage = 40; // Assuming each page can have up to 40 results
|
|
74
|
+
const totalResults = (page - 1) * resultsPerPage + results.length; // Calculate total results seen so far
|
|
75
|
+
// Determine if there might be a next page
|
|
76
|
+
const hasNextPage = results.length === resultsPerPage;
|
|
77
|
+
const totalPages = hasNextPage ? page + 1 : page; // If current page is full, assume next page exists
|
|
78
|
+
const restructuredData = {
|
|
79
|
+
...responseData,
|
|
80
|
+
data: results,
|
|
81
|
+
pagination: {
|
|
82
|
+
currentPage: page,
|
|
83
|
+
totalPages: totalPages,
|
|
84
|
+
// Use the calculated totalPages
|
|
85
|
+
totalCount: totalResults // Use the calculated totalResults
|
|
86
|
+
},
|
|
87
|
+
metadata: {
|
|
88
|
+
viewport: viewport,
|
|
89
|
+
filters: {
|
|
90
|
+
adults,
|
|
91
|
+
children,
|
|
92
|
+
infants,
|
|
93
|
+
minBeds,
|
|
94
|
+
minBedrooms
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
resolve(restructuredData);
|
|
99
|
+
} catch (error) {
|
|
100
|
+
logger.error(error, 'Failed to load Airbnb properties data:');
|
|
101
|
+
resolve({
|
|
102
|
+
pagination: {
|
|
103
|
+
currentPage: page,
|
|
104
|
+
totalCount: 0,
|
|
105
|
+
totalPages: 0
|
|
106
|
+
},
|
|
107
|
+
data: []
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
logger.info('Airbnb properties data loaded and cached');
|
|
112
|
+
// Ensure componentData is initialized
|
|
113
|
+
dataLoader.componentData = dataLoader.componentData || {};
|
|
114
|
+
// Store as an async function that returns the promise
|
|
115
|
+
dataLoader.componentData.airbnbResults = async () => await airbnbQuery;
|
|
116
|
+
await next();
|
|
117
|
+
} catch (error) {
|
|
118
|
+
logger.error(error, 'Failed to load Airbnb properties data:');
|
|
119
|
+
throw error;
|
|
120
|
+
}
|
|
121
|
+
};export{middleware};//# sourceMappingURL=airbnbDatasourcesMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"airbnbDatasourcesMiddleware.js","sources":["../../src/middlewares/airbnbDatasourcesMiddleware.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bookingCarRentalMiddleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/bookingCarRentalMiddleware.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,UAAU,GAAU;;;;CAA4B,EAAE,eAAU,EAAE,SAAI,kBAwH9E,CAAC"}
|