@admin-layout/tailwind-travel-pro 12.0.16-alpha.7

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.
Files changed (113) hide show
  1. package/LICENSE +21 -0
  2. package/lib/components/CardList.d.ts +61 -0
  3. package/lib/components/CardList.d.ts.map +1 -0
  4. package/lib/components/CardList.js +43 -0
  5. package/lib/components/CardList.js.map +1 -0
  6. package/lib/components/CategoriesTypeList.d.ts +29 -0
  7. package/lib/components/CategoriesTypeList.d.ts.map +1 -0
  8. package/lib/components/CategoriesTypeList.js +139 -0
  9. package/lib/components/CategoriesTypeList.js.map +1 -0
  10. package/lib/components/LazyLoadingGoogleMarker.d.ts +83 -0
  11. package/lib/components/LazyLoadingGoogleMarker.d.ts.map +1 -0
  12. package/lib/components/LazyLoadingGoogleMarker.js +107 -0
  13. package/lib/components/LazyLoadingGoogleMarker.js.map +1 -0
  14. package/lib/components/Pagination.d.ts +6 -0
  15. package/lib/components/Pagination.d.ts.map +1 -0
  16. package/lib/components/Pagination.js +56 -0
  17. package/lib/components/Pagination.js.map +1 -0
  18. package/lib/components/ParamSearchResultContainer.d.ts +99 -0
  19. package/lib/components/ParamSearchResultContainer.d.ts.map +1 -0
  20. package/lib/components/ParamSearchResultContainer.js +120 -0
  21. package/lib/components/ParamSearchResultContainer.js.map +1 -0
  22. package/lib/components/PropertyCard.d.ts +24 -0
  23. package/lib/components/PropertyCard.d.ts.map +1 -0
  24. package/lib/components/PropertyCard.js +423 -0
  25. package/lib/components/PropertyCard.js.map +1 -0
  26. package/lib/components/PropertyCardOnMap.d.ts +10 -0
  27. package/lib/components/PropertyCardOnMap.d.ts.map +1 -0
  28. package/lib/components/PropertyCardOnMap.js +108 -0
  29. package/lib/components/PropertyCardOnMap.js.map +1 -0
  30. package/lib/components/VehicleCard/PricePopover.d.ts +8 -0
  31. package/lib/components/VehicleCard/PricePopover.d.ts.map +1 -0
  32. package/lib/components/VehicleCard/PricePopover.js +98 -0
  33. package/lib/components/VehicleCard/PricePopover.js.map +1 -0
  34. package/lib/components/VehicleCard/VehicleBadge.d.ts +7 -0
  35. package/lib/components/VehicleCard/VehicleBadge.d.ts.map +1 -0
  36. package/lib/components/VehicleCard/VehicleFeature.d.ts +9 -0
  37. package/lib/components/VehicleCard/VehicleFeature.d.ts.map +1 -0
  38. package/lib/components/VehicleCard/VehicleFeature.js +22 -0
  39. package/lib/components/VehicleCard/VehicleFeature.js.map +1 -0
  40. package/lib/components/VehicleCard/types.d.ts +59 -0
  41. package/lib/components/VehicleCard/types.d.ts.map +1 -0
  42. package/lib/components/VehicleCard.d.ts +15 -0
  43. package/lib/components/VehicleCard.d.ts.map +1 -0
  44. package/lib/components/VehicleCard.js +166 -0
  45. package/lib/components/VehicleCard.js.map +1 -0
  46. package/lib/components/VehicleCardList.d.ts +14 -0
  47. package/lib/components/VehicleCardList.d.ts.map +1 -0
  48. package/lib/components/VehicleCardList.js +38 -0
  49. package/lib/components/VehicleCardList.js.map +1 -0
  50. package/lib/components/VehicleParamSearchResultContainer.d.ts +90 -0
  51. package/lib/components/VehicleParamSearchResultContainer.d.ts.map +1 -0
  52. package/lib/components/icons/LocationIcon.d.ts +7 -0
  53. package/lib/components/icons/LocationIcon.d.ts.map +1 -0
  54. package/lib/components/icons/LocationIcon.js +18 -0
  55. package/lib/components/icons/LocationIcon.js.map +1 -0
  56. package/lib/components/icons/index.d.ts +2 -0
  57. package/lib/components/icons/index.d.ts.map +1 -0
  58. package/lib/components/index.d.ts +10 -0
  59. package/lib/components/index.d.ts.map +1 -0
  60. package/lib/config/analytics-config.d.ts +59 -0
  61. package/lib/config/analytics-config.d.ts.map +1 -0
  62. package/lib/config/constants.d.ts +7 -0
  63. package/lib/config/constants.d.ts.map +1 -0
  64. package/lib/config/constants.js +6 -0
  65. package/lib/config/constants.js.map +1 -0
  66. package/lib/config/env-config.d.ts +19 -0
  67. package/lib/config/env-config.d.ts.map +1 -0
  68. package/lib/config/env-config.js +70 -0
  69. package/lib/config/env-config.js.map +1 -0
  70. package/lib/config/index.d.ts +3 -0
  71. package/lib/config/index.d.ts.map +1 -0
  72. package/lib/hooks/index.d.ts +2 -0
  73. package/lib/hooks/index.d.ts.map +1 -0
  74. package/lib/hooks/use-get-current-lat-long.d.ts +18 -0
  75. package/lib/hooks/use-get-current-lat-long.d.ts.map +1 -0
  76. package/lib/hooks/use-get-current-lat-long.js +29 -0
  77. package/lib/hooks/use-get-current-lat-long.js.map +1 -0
  78. package/lib/hooks/useWindowSize.d.ts +5 -0
  79. package/lib/hooks/useWindowSize.d.ts.map +1 -0
  80. package/lib/hooks/useWindowSize.js +20 -0
  81. package/lib/hooks/useWindowSize.js.map +1 -0
  82. package/lib/index.d.ts +4 -0
  83. package/lib/index.d.ts.map +1 -0
  84. package/lib/index.js +1 -0
  85. package/lib/index.js.map +1 -0
  86. package/lib/interfaces/travel.d.ts +6 -0
  87. package/lib/interfaces/travel.d.ts.map +1 -0
  88. package/lib/interfaces/travel.js +6 -0
  89. package/lib/interfaces/travel.js.map +1 -0
  90. package/lib/middlewares/airbnbDatasourcesMiddleware.d.ts +6 -0
  91. package/lib/middlewares/airbnbDatasourcesMiddleware.d.ts.map +1 -0
  92. package/lib/middlewares/airbnbDatasourcesMiddleware.js +121 -0
  93. package/lib/middlewares/airbnbDatasourcesMiddleware.js.map +1 -0
  94. package/lib/middlewares/bookingCarRentalMiddleware.d.ts +6 -0
  95. package/lib/middlewares/bookingCarRentalMiddleware.d.ts.map +1 -0
  96. package/lib/middlewares/bookingCarRentalMiddleware.js +109 -0
  97. package/lib/middlewares/bookingCarRentalMiddleware.js.map +1 -0
  98. package/lib/middlewares/bookingDatasourcesMiddleware.d.ts +7 -0
  99. package/lib/middlewares/bookingDatasourcesMiddleware.d.ts.map +1 -0
  100. package/lib/middlewares/bookingDatasourcesMiddleware.js +137 -0
  101. package/lib/middlewares/bookingDatasourcesMiddleware.js.map +1 -0
  102. package/lib/middlewares/datasourcesMiddleware.d.ts +6 -0
  103. package/lib/middlewares/datasourcesMiddleware.d.ts.map +1 -0
  104. package/lib/middlewares/datasourcesMiddleware.js +29 -0
  105. package/lib/middlewares/datasourcesMiddleware.js.map +1 -0
  106. package/lib/middlewares/index.d.ts +6 -0
  107. package/lib/middlewares/index.d.ts.map +1 -0
  108. package/lib/middlewares/pricelineDatasourcesMiddleware.d.ts +7 -0
  109. package/lib/middlewares/pricelineDatasourcesMiddleware.d.ts.map +1 -0
  110. package/lib/middlewares/pricelineDatasourcesMiddleware.js +95 -0
  111. package/lib/middlewares/pricelineDatasourcesMiddleware.js.map +1 -0
  112. package/lib/routes.json +1 -0
  113. package/package.json +49 -0
@@ -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,7 @@
1
+ export declare const SCROLL_THRESHOLD: {
2
+ readonly MIN: 0;
3
+ readonly MAX: 1000;
4
+ readonly STEP: 10;
5
+ readonly DEFAULT: 50;
6
+ };
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -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,6 @@
1
+ const SCROLL_THRESHOLD = {
2
+ MIN: 0,
3
+ MAX: 1000,
4
+ STEP: 10,
5
+ DEFAULT: 50
6
+ };export{SCROLL_THRESHOLD};//# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../src/config/constants.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAa,MAAA,gBAAgB,GAAG;AAC5B,EAAA,GAAA,EAAG;AACH,EAAA,GAAA,EAAG,IAAM;AACT,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;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,gCAAA,EAAgC,IAAE,CAAA;AAClC,IAAA,OAAA,EAAA,KAAA;AACA,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;AACA,EAAA,gBAAA,EAAA,GAAmB,CAAE;AAErB,IAAA,OAAA,EAAA,sBAAuC;IACvC,IAAmB,EAAA;IACnB;AACI,EAAA,0BAAW,EAAA,GAAA,CAAA;AACX,IAAA,OAAA,IAAmD;QACrD,EAAA;IACF;AACI,EAAA,gBAAW,GAAA,CAAA;AACX,IAAA,OAAA,IAAkD;QACpD,EAAA;IACF;qBACmB,EAAA,GAAoD,CAAA;AACnE,IAAA,OAAA,IAAiE;QACnE,EAAA;IACF;AACI,EAAA,aAAO,EAAE,GAAC,CAAA;AACV,IAAA,OAAA,WAAmD;QACrD,EAAA;IACF;AACI,EAAA,mBAAW,EAAA,GAAA,CAAA;AACX,IAAA,OAAA;;qCAE8B,GAAE;IACpC,OAAmB,EAAA,EAAA;AACf,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;oCACF,EAAA,GAAA,CAAA;IACF,OAAmB,EAAA,EAAA;IACnB,IAAa,EAAA;AAChB,GAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,3 @@
1
+ export * from './env-config';
2
+ export * from './analytics-config';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export * from './use-get-current-lat-long';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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;QAC1B,CAAA,gBAAiB,EAAA,mBAAqB,CAAA,WAAY,CAAA,KAAM,CAAA;;AAG9D,EAAA,MAAA,CAAA,KAAY,EAAA,mBAAqB,CAAA,aAAc,CAAA,MACxC,IACK,OAAA,CAAA,OAAS;aACA,CAAA,8BAAa,CAAA,QACjB,IAAA;yBACsB,CAAA,KAAA,CAAC;AACpB,MAAA,OAAA,CAAA;AACJ,QAAA,QACI,EAAI,QAAA,CAAA,MAAA,CAAA,QAAA;iBACe,EAAA,QAAA,CAAA,MAAK,CAAA;;cAElB;AACV,MAAA,mBACc,KAAK,CAAE;;MAK9B,MAAA,CAAA,GAAA,CAAA;;gBAEK,EAAE,KAAK;aACV,EAAE,IAAK;wBACI,EAAA;;KAEnB;AACL,EAAC,OAAA;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ export declare function useWindowSize(): {
2
+ width: number;
3
+ height: number;
4
+ };
5
+ //# sourceMappingURL=useWindowSize.d.ts.map
@@ -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,UAAiB,EAAA,iBAAgB;AAC7B,IAAA,KAAA,EAAA,OAAc,MAAA,KAAW,WAAA,GAAA,MAAoB,CAAA,cAAW;AACxD;AACH,IAAA,MAAE,EAAA,OAAA,MAAA,KAAA,WAAA,GAAA,MAAA,CAAA,WAAA,GAAA,CAAA;IAEH;AACI,EAAA,SAAA,CAAA,MAAqB;AACjB,IAAA,SAAA,YAAa,GAAC;mBACL,CAAA;qBACC,CAAA,UAAoB;AAC7B,QAAA,MAAC,EAAC,MAAA,CAAA;QACP;;AAGA;UAEkD,CAAA,gBAAA,CAAA,QAAA,EAAA,YAAA,CAAA;;IAEtD,OAAO,MAAA,MAAA,CAAA,mBAAA,CAAA,QAAA,EAAA,YAAA,CAAA;AAEP,GAAA,EAAA,EAAA,CAAA;AACJ,EAAC,OAAA,UAAA;"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './components';
2
+ export * from './middlewares';
3
+ export * from './hooks';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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/jsx-runtime';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';import'@admin-layout/tailwind-design-pro/lib/helpers/DynamicIcon.js';import'react';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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export declare enum TravelType {
2
+ HOTELS = "HOTELS",
3
+ FLIGHTS = "FLIGHTS",
4
+ CARS = "CARS"
5
+ }
6
+ //# sourceMappingURL=travel.d.ts.map
@@ -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,6 @@
1
+ var TravelType;
2
+ (function (TravelType) {
3
+ TravelType["HOTELS"] = "HOTELS";
4
+ TravelType["FLIGHTS"] = "FLIGHTS";
5
+ TravelType["CARS"] = "CARS";
6
+ })(TravelType || (TravelType = {}));export{TravelType};//# sourceMappingURL=travel.js.map
@@ -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,GAIrB,EAAA,CAAA,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const middleware: ({ context, request, params }: {
2
+ context: any;
3
+ request: any;
4
+ params: any;
5
+ }, dataLoader: any, next: any) => Promise<void>;
6
+ //# sourceMappingURL=airbnbDatasourcesMiddleware.d.ts.map
@@ -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,6 @@
1
+ export declare const middleware: ({ context, request, params }: {
2
+ context: any;
3
+ request: any;
4
+ params: any;
5
+ }, dataLoader: any, next: any) => Promise<void>;
6
+ //# sourceMappingURL=bookingCarRentalMiddleware.d.ts.map
@@ -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"}
@@ -0,0 +1,109 @@
1
+ import {config}from'../config/env-config.js';const middleware = async ({
2
+ context,
3
+ request,
4
+ params
5
+ }, dataLoader, next) => {
6
+ const {
7
+ logger
8
+ } = context;
9
+ let carRentalQuery;
10
+ try {
11
+ const url = new URL(request.url);
12
+ const searchParams = url.searchParams;
13
+ // Parse and validate parameters
14
+ const currency = searchParams.get('currency') || 'USD';
15
+ const locale = searchParams.get('locale') || 'en-gb';
16
+ const pickUpDateTime = searchParams.get('pick_up_datetime');
17
+ const dropOffDateTime = searchParams.get('drop_off_datetime');
18
+ const pickUpLongitude = parseFloat(searchParams.get('pick_up_longitude') || '0');
19
+ const dropOffLongitude = parseFloat(searchParams.get('drop_off_longitude') || '0');
20
+ const pickUpLatitude = parseFloat(searchParams.get('pick_up_latitude') || '0');
21
+ const dropOffLatitude = parseFloat(searchParams.get('drop_off_latitude') || '0');
22
+ const fromCountry = searchParams.get('from_country') || 'us';
23
+ const sortBy = searchParams.get('sort_by') || 'recommended';
24
+ // Validate required parameters
25
+ if (!dropOffDateTime) {
26
+ throw new Error('Drop-off date is required');
27
+ }
28
+ // Validate coordinates
29
+ if (isNaN(pickUpLongitude) || isNaN(dropOffLongitude) || isNaN(pickUpLatitude) || isNaN(dropOffLatitude)) {
30
+ throw new Error('Invalid coordinates provided');
31
+ }
32
+ // Create a promise that will fetch the car rental data
33
+ carRentalQuery = new Promise(async (resolve, reject) => {
34
+ try {
35
+ // Create carRentalParams with the defined type
36
+ const carRentalParams = {
37
+ currency,
38
+ locale,
39
+ pick_up_longitude: pickUpLongitude.toString(),
40
+ from_country: fromCountry,
41
+ drop_off_datetime: dropOffDateTime,
42
+ drop_off_longitude: dropOffLongitude.toString(),
43
+ sort_by: sortBy,
44
+ drop_off_latitude: dropOffLatitude.toString(),
45
+ pick_up_latitude: pickUpLatitude.toString()
46
+ };
47
+ // Add pick_up_datetime only if it exists
48
+ if (pickUpDateTime) {
49
+ carRentalParams.pick_up_datetime = pickUpDateTime;
50
+ }
51
+ const rapidApiKey = config.BOOKING_CAR_RENTAL_API_KEY;
52
+ const response = await fetch('https://booking-com.p.rapidapi.com/v1/car-rental/search?' + new URLSearchParams(carRentalParams), {
53
+ headers: {
54
+ 'X-RapidAPI-Key': rapidApiKey,
55
+ 'X-RapidAPI-Host': 'booking-com.p.rapidapi.com'
56
+ }
57
+ });
58
+ if (!response.ok) {
59
+ throw new Error(`API request failed with status ${response.status}`);
60
+ }
61
+ const responseData = await response.json();
62
+ // const formattedData = formatCarRentalResponse(responseData);
63
+ const results = responseData.search_results || [];
64
+ const restructuredData = {
65
+ ...responseData,
66
+ data: results,
67
+ metadata: {
68
+ filters: {
69
+ currency,
70
+ locale,
71
+ fromCountry,
72
+ sortBy,
73
+ pickUpDateTime,
74
+ dropOffDateTime,
75
+ coordinates: {
76
+ pickUp: {
77
+ latitude: pickUpLatitude,
78
+ longitude: pickUpLongitude
79
+ },
80
+ dropOff: {
81
+ latitude: dropOffLatitude,
82
+ longitude: dropOffLongitude
83
+ }
84
+ }
85
+ }
86
+ }
87
+ };
88
+ resolve(restructuredData);
89
+ } catch (error) {
90
+ logger.error(error, 'Failed to load car rental data:');
91
+ resolve({
92
+ data: [],
93
+ metadata: {
94
+ filters: {}
95
+ }
96
+ });
97
+ }
98
+ });
99
+ logger.info('Car rental data loaded and cached');
100
+ // Ensure componentData is initialized
101
+ dataLoader.componentData = dataLoader.componentData || {};
102
+ // Store as an async function that returns the promise
103
+ dataLoader.componentData.bookingCarRentalResults = async () => await carRentalQuery;
104
+ await next();
105
+ } catch (error) {
106
+ logger.error(error, 'Failed to load car rental data:');
107
+ throw error;
108
+ }
109
+ };export{middleware};//# sourceMappingURL=bookingCarRentalMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bookingCarRentalMiddleware.js","sources":["../../src/middlewares/bookingCarRentalMiddleware.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ declare const middleware: ({ context, request, params }: {
2
+ context: any;
3
+ request: any;
4
+ params: any;
5
+ }, dataLoader: any, next: any) => Promise<void>;
6
+ export { middleware };
7
+ //# sourceMappingURL=bookingDatasourcesMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bookingDatasourcesMiddleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/bookingDatasourcesMiddleware.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,GAAU;;;;CAA4B,EAAE,eAAU,EAAE,SAAI,kBAmIvE,CAAC;AACF,OAAO,EAAE,UAAU,EAAE,CAAC"}