@admin-layout/tailwind-design-pro 10.1.1-alpha.0 → 10.1.1-alpha.11

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 (66) hide show
  1. package/lib/components/Layout/TailwindLayout.js +5 -2
  2. package/lib/components/Layout/TailwindLayout.js.map +1 -1
  3. package/lib/components/UI/CardList.d.ts +61 -0
  4. package/lib/components/UI/CardList.d.ts.map +1 -0
  5. package/lib/components/UI/CardList.js +43 -0
  6. package/lib/components/UI/CardList.js.map +1 -0
  7. package/lib/components/UI/ParamSearchResultContainer.d.ts +47 -38
  8. package/lib/components/UI/ParamSearchResultContainer.d.ts.map +1 -1
  9. package/lib/components/UI/ParamSearchResultContainer.js +52 -12
  10. package/lib/components/UI/ParamSearchResultContainer.js.map +1 -1
  11. package/lib/components/UI/PropertyCard.d.ts +10 -10
  12. package/lib/components/UI/PropertyCard.d.ts.map +1 -1
  13. package/lib/components/UI/PropertyCard.js +34 -34
  14. package/lib/components/UI/PropertyCard.js.map +1 -1
  15. package/lib/components/UI/VehicleCard/PricePopover.d.ts +8 -0
  16. package/lib/components/UI/VehicleCard/PricePopover.d.ts.map +1 -0
  17. package/lib/components/UI/VehicleCard/PricePopover.js +98 -0
  18. package/lib/components/UI/VehicleCard/PricePopover.js.map +1 -0
  19. package/lib/components/UI/VehicleCard/VehicleBadge.d.ts +7 -0
  20. package/lib/components/UI/VehicleCard/VehicleBadge.d.ts.map +1 -0
  21. package/lib/components/UI/VehicleCard/VehicleFeature.d.ts +9 -0
  22. package/lib/components/UI/VehicleCard/VehicleFeature.d.ts.map +1 -0
  23. package/lib/components/UI/VehicleCard/VehicleFeature.js +23 -0
  24. package/lib/components/UI/VehicleCard/VehicleFeature.js.map +1 -0
  25. package/lib/components/UI/VehicleCard/types.d.ts +59 -0
  26. package/lib/components/UI/VehicleCard/types.d.ts.map +1 -0
  27. package/lib/components/UI/VehicleCard.d.ts +15 -0
  28. package/lib/components/UI/VehicleCard.d.ts.map +1 -0
  29. package/lib/components/UI/VehicleCard.js +166 -0
  30. package/lib/components/UI/VehicleCard.js.map +1 -0
  31. package/lib/components/UI/VehicleCardList.d.ts +14 -0
  32. package/lib/components/UI/VehicleCardList.d.ts.map +1 -0
  33. package/lib/components/UI/VehicleCardList.js +38 -0
  34. package/lib/components/UI/VehicleCardList.js.map +1 -0
  35. package/lib/components/UI/{PropertyCardList.d.ts → VehicleParamSearchResultContainer.d.ts} +18 -21
  36. package/lib/components/UI/VehicleParamSearchResultContainer.d.ts.map +1 -0
  37. package/lib/components/UI/index.d.ts +3 -1
  38. package/lib/components/UI/index.d.ts.map +1 -1
  39. package/lib/components/index.js +1 -1
  40. package/lib/components/typings.d.ts +5 -0
  41. package/lib/components/typings.d.ts.map +1 -1
  42. package/lib/components/typings.js +6 -0
  43. package/lib/components/typings.js.map +1 -0
  44. package/lib/config/env-config.d.ts +12 -0
  45. package/lib/config/env-config.d.ts.map +1 -1
  46. package/lib/config/env-config.js +48 -1
  47. package/lib/config/env-config.js.map +1 -1
  48. package/lib/machines/settingsMachine.d.ts.map +1 -1
  49. package/lib/machines/settingsMachine.js +13 -77
  50. package/lib/machines/settingsMachine.js.map +1 -1
  51. package/lib/middlewares/airbnbDatasourcesMiddleware.d.ts +6 -0
  52. package/lib/middlewares/airbnbDatasourcesMiddleware.d.ts.map +1 -0
  53. package/lib/middlewares/bookingCarRentalMiddleware.d.ts +6 -0
  54. package/lib/middlewares/bookingCarRentalMiddleware.d.ts.map +1 -0
  55. package/lib/middlewares/bookingDatasourcesMiddleware.d.ts +7 -0
  56. package/lib/middlewares/bookingDatasourcesMiddleware.d.ts.map +1 -0
  57. package/lib/middlewares/datasourcesMiddleware.d.ts +6 -0
  58. package/lib/middlewares/datasourcesMiddleware.d.ts.map +1 -0
  59. package/lib/middlewares/pricelineDatasourcesMiddleware.d.ts +7 -0
  60. package/lib/middlewares/pricelineDatasourcesMiddleware.d.ts.map +1 -0
  61. package/lib/utils/formateCarData.d.ts +2 -0
  62. package/lib/utils/formateCarData.d.ts.map +1 -0
  63. package/package.json +3 -3
  64. package/lib/components/UI/PropertyCardList.d.ts.map +0 -1
  65. package/lib/components/UI/PropertyCardList.js +0 -41
  66. package/lib/components/UI/PropertyCardList.js.map +0 -1
@@ -1,5 +1,8 @@
1
- import {jsx}from'react/jsx-runtime';import {useLayoutSettings}from'@admin-layout/client';import {userSelector}from'@adminide-stack/user-auth0-client';import {useMachine}from'@xstate/react';import React__default,{useMemo,useCallback}from'react';import {connect,useSelector}from'react-redux';import {settingsMachine}from'../../machines/settingsMachine.js';import {ThemeProviderTailwind}from'../ThemeProvider/ThemeProvider.js';import {BasicLayout}from'./BasicLayout/index.js';function BasicLayoutWithAuthorities(props) {
1
+ import {jsx}from'react/jsx-runtime';import {useLayoutSettings}from'@admin-layout/client';import {userSelector}from'@adminide-stack/user-auth0-client';import {useMachine}from'@xstate/react';import React__default,{useMemo,useCallback}from'react';import {connect,useSelector}from'react-redux';import {settingsMachine}from'../../machines/settingsMachine.js';import {ThemeProviderTailwind}from'../ThemeProvider/ThemeProvider.js';import {BasicLayout}from'./BasicLayout/index.js';import {useRouteLoaderData}from'@remix-run/react';function BasicLayoutWithAuthorities(props) {
2
2
  const userData = useSelector(userSelector);
3
+ const {
4
+ settings: settingsFromLoader
5
+ } = useRouteLoaderData('root');
3
6
  const {
4
7
  settings,
5
8
  setSettings
@@ -14,7 +17,7 @@ import {jsx}from'react/jsx-runtime';import {useLayoutSettings}from'@admin-layout
14
17
  }
15
18
  }), {
16
19
  input: {
17
- settings
20
+ settings: settingsFromLoader
18
21
  }
19
22
  });
20
23
  const settingXstate = state?.context;
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindLayout.js","sources":["../../../src/components/Layout/TailwindLayout.tsx"],"sourcesContent":[null],"names":[],"mappings":"ydAWA,SAAS,0BAA0B,CAAC,KAAgF,EAAA;AAChH,EAAA,MAAA,WAAiB,WAAA,CAAA,YAAY,CAAA;QACvB;AAEN,IAAA,QAAO;AAEC,IAAA;AACI,GAAA,GAAA,iBAAA,EAAA;gBACI,IAAW,EAAA,aAAQ,CAAC,GAAC,UAAA,CAAA,eAAA,CAAA,OAAA,CAAA;aACxB;AACJ,MAAA,mBAAA,EAAA,CAAA;AACJ,QACD;AACI,OAAA,KAAA;mBACY,CAAA,OAAA,CAAA;AACX;AACJ;AAGL,GAAA,CAAA,EAAA;AAEA,IAAA,KAAA,EAAQ;AAER,MAAA;AAEQ;AACH,GAAA,CAAA;AAIL,EAAA,MAAA,qBAAwB,EAAA,OAAA;QAEhB;;AAEJ,GAAA,GACA,KAAY;QAGJ,eAAA,GAAA,OAAA,CAAA,OAAA;IACZ,OAAM,EAAa,QAAA,GAAA,QAAI,EAAO,OAAO,EAAE,OAAG,GAAM;AAEhD,GAAA,CAAA,EAAA,CAAA,QACK,CAAA,CAAA;AAYT,EAAC,MAAA,eAAA,GAAA,WAAA,CAAA,MAAA,IAAA;AAED;IACI,WAAQ,CAAA,MAAA,CAAA;KACA,CAAA,WAAQ,CAAA,CAAA;AACnB;AAMD,EAAA;AAIA,IAAM,WAAA,EAAA;AAKN,MAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TailwindLayout.js","sources":["../../../src/components/Layout/TailwindLayout.tsx"],"sourcesContent":[null],"names":[],"mappings":"2gBAUA,SAAS,0BAA0B,CAAC,KAAgF,EAAA;AAChH,EAAA,MAAA,WAAiB,WAAA,CAAA,YAAY,CAAA;QACvB;IACN,QAAQ;AAER,GAAA,GAAA,kBAAoB,CAAA,MAAA,CAAA;AAEZ,EAAA,MAAA;AACI,IAAA,QAAA;;uBAEC,EAAA;AACJ,EAAA,MAAA,CAAA,KAAA,EAAA,IAAA,EAAA,aAAA,CAAA,GAAA,UAAA,CAAA,eAAA,CAAA,OAAA,CAAA;AACJ,IAAA,OACD,EAAA;AACI,MAAA,mBAAO,EAAA,CAAA;AACH,QAAA;AACH,OAAA,KAAA;AACJ,QACH,WAAA,CAAA,OAAA,CAAA;AAEF;AAEA;AAEA,GAAA,CAAA,EAAA;AAEQ,IAAA,KAAA,EAAA;AACH,MAAC,QACO,EAAA;AAGb;;QAGQ,aAAkB,GAAA,KAAE,EAAA,OAAA;AACxB,EAAA,MACC;IAGL;MACM,KAAA;AAEN,EAAA,MAAA,eACK,GAAA,OAAA,CAAA;AAYT,IAAC,OAAA,EAAA,QAAA,GAAA,QAAA,EAAA,OAAA,EAAA,OAAA,GAAA;AAED,GAAM,CAAA,EAAA,CAAA,QAAW,CAAA,CAAA;QACL,eAAA,GAAA,WAAA,CAAA,MAAA,IAAA;;AAEX,IAAE,WAAA,CAAA,MAAA,CAAA;AAMH,GAAA,EAAA,CAAM,WAAY,CAAA,CAAA;AAIlB;AAKA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,61 @@
1
+ import React from 'react';
2
+ interface IBaseItem {
3
+ id: string;
4
+ title: string;
5
+ types: string[];
6
+ name: string;
7
+ description?: string;
8
+ introduction?: string;
9
+ address: any;
10
+ location: string;
11
+ images: any;
12
+ thumbnailUrl?: string;
13
+ thumbnailAlt?: string;
14
+ verificationDocuments?: any;
15
+ info?: any;
16
+ user: any;
17
+ status?: any;
18
+ errors?: any;
19
+ preferences?: any;
20
+ orgName?: string;
21
+ serviceConfiguration?: any;
22
+ totalReview?: number;
23
+ totalStar?: number;
24
+ reviews?: any;
25
+ comments?: any;
26
+ userLikes?: any;
27
+ calendarEvents?: any[];
28
+ isUserLike?: boolean;
29
+ formattedPrice?: number;
30
+ timeZone: string;
31
+ createdAt: any;
32
+ updatedAt?: any;
33
+ stats?: any;
34
+ guideBookId?: string;
35
+ guestSharing?: any;
36
+ }
37
+ type CardListProps = {
38
+ items?: IBaseItem[];
39
+ setFocus: (index: number) => void;
40
+ setBlur: (index: number) => void;
41
+ handleLike: (index: number) => void;
42
+ likeBtnLoading: boolean;
43
+ categoryTypes: any[];
44
+ extraIcons?: any;
45
+ className?: string;
46
+ customCardComponent?: (props: {
47
+ item: IBaseItem;
48
+ index: number;
49
+ setFocus: () => void;
50
+ setBlur: (index: number) => void;
51
+ handleLike: (index: number) => void;
52
+ likeBtnLoading: boolean;
53
+ categoryTypes: any[];
54
+ extraIcons?: any;
55
+ authenticated: boolean;
56
+ }) => React.ReactNode;
57
+ emptyMessage?: string;
58
+ };
59
+ export declare const CardList: React.FC<CardListProps>;
60
+ export {};
61
+ //# sourceMappingURL=CardList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardList.d.ts","sourceRoot":"","sources":["../../../src/components/UI/CardList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,SAAS;IACf,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;CACtB;AAYD,KAAK,aAAa,GAAG;IACjB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1B,IAAI,EAAE,SAAS,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACjC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,GAAG,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,aAAa,EAAE,OAAO,CAAC;KAC1B,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAuC5C,CAAC"}
@@ -0,0 +1,43 @@
1
+ import {jsx}from'react/jsx-runtime';import {useTranslation}from'react-i18next';import {isEmpty}from'lodash-es';import {isUserAuthenticated}from'@adminide-stack/user-auth0-client';const CardList = props => {
2
+ const {
3
+ setBlur,
4
+ setFocus,
5
+ items,
6
+ handleLike,
7
+ likeBtnLoading,
8
+ categoryTypes,
9
+ extraIcons,
10
+ className = '',
11
+ customCardComponent,
12
+ emptyMessage = 'No items found'
13
+ } = props;
14
+ const {
15
+ t
16
+ } = useTranslation();
17
+ const {
18
+ authenticated
19
+ } = isUserAuthenticated();
20
+ if (isEmpty(items)) {
21
+ return jsx("div", {
22
+ className: "text-base",
23
+ children: emptyMessage
24
+ });
25
+ }
26
+ return jsx("div", {
27
+ className: `flex flex-wrap justify-evenly ${className}`,
28
+ children: items?.map((item, index) => jsx("div", {
29
+ className: "max-w-[100%] mb-4",
30
+ children: customCardComponent?.({
31
+ item,
32
+ index,
33
+ setFocus: () => setFocus(index),
34
+ setBlur,
35
+ handleLike,
36
+ likeBtnLoading,
37
+ categoryTypes,
38
+ extraIcons,
39
+ authenticated
40
+ })
41
+ }, index))
42
+ });
43
+ };export{CardList};//# sourceMappingURL=CardList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardList.js","sources":["../../../src/components/UI/CardList.tsx"],"sourcesContent":[null],"names":[],"mappings":"mLA0Ea,MAAA,QAAQ,GAA4B,KAAC,IAAS;QACjD;AAYN,IAAA;AACA,IAAA,QAAQ;AAER,IAAA,KAAW;AACP,IAAA,UAAA;IACJ,cAAC;IAED,aACS;;gBAKW,EAAK;AACL,IAAA,mBAAA;gBACA,GAAO;;;;oBAIG,EAAA;;AAEb,IAAA;AAKrB,GAAE,GAAA,mBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
- import { MutableRefObject } from 'react';
2
1
  import { GraphQLError } from 'graphql';
3
- interface IProperty {
2
+ import React, { MutableRefObject } from 'react';
3
+ import { TravelType } from '../typings';
4
+ interface IBaseItem {
4
5
  id: string;
5
6
  title: string;
6
7
  types: string[];
@@ -35,44 +36,18 @@ interface IProperty {
35
36
  guideBookId?: string;
36
37
  guestSharing?: any;
37
38
  }
38
- interface IAirbnbProperty {
39
- id: string;
40
- title: string;
41
- types: string[];
42
- name: string;
43
- description?: string;
44
- introduction?: string;
45
- address: any;
46
- location: string;
47
- images: any;
48
- thumbnailUrl?: string;
49
- thumbnailAlt?: string;
50
- verificationDocuments?: any;
51
- info?: any;
52
- user: any;
53
- status?: any;
54
- errors?: any;
55
- preferences?: any;
56
- orgName?: string;
57
- serviceConfiguration?: any;
58
- totalReview?: number;
59
- totalStar?: number;
60
- reviews?: any;
61
- comments?: any;
62
- userLikes?: any;
63
- calendarEvents?: any[];
64
- isUserLike?: boolean;
65
- formattedPrice?: number;
66
- timeZone: string;
67
- createdAt: any;
68
- updatedAt?: any;
69
- stats?: any;
70
- guideBookId?: string;
71
- guestSharing?: any;
39
+ interface IProperty extends IBaseItem {
40
+ }
41
+ interface IAirbnbProperty extends IBaseItem {
42
+ }
43
+ interface IFlight extends IBaseItem {
72
44
  }
73
45
  interface IParamSearchResultContainer {
74
- data: IProperty[] | IAirbnbProperty[];
75
- error: GraphQLError | Error;
46
+ propertiesData?: IProperty[] | IAirbnbProperty[];
47
+ carsData?: any[];
48
+ flightsData?: IFlight[];
49
+ selectedTravelType: TravelType;
50
+ error: GraphQLError | Error | null;
76
51
  listInnerRef: MutableRefObject<HTMLDivElement>;
77
52
  handleSetFocus?: (index: number) => void;
78
53
  handleRemoveFocus?: (index: number) => void;
@@ -84,6 +59,40 @@ interface IParamSearchResultContainer {
84
59
  onPageChange: (page: number) => void;
85
60
  likeBtnLoading?: boolean;
86
61
  propertyTypes?: any[];
62
+ vehicleTypes?: any[];
63
+ propertyCardComponent?: (props: {
64
+ item?: IBaseItem;
65
+ index?: number;
66
+ setFocus?: () => void;
67
+ setBlur?: (index: number) => void;
68
+ handleLike?: (index: number) => void;
69
+ likeBtnLoading?: boolean;
70
+ categoryTypes?: any[];
71
+ extraIcons?: any;
72
+ authenticated?: boolean;
73
+ }) => React.ReactNode;
74
+ vehicleCardComponent?: (props: {
75
+ item?: IBaseItem;
76
+ index?: number;
77
+ setFocus?: () => void;
78
+ setBlur?: (index: number) => void;
79
+ handleLike?: (index: number) => void;
80
+ likeBtnLoading?: boolean;
81
+ categoryTypes?: any[];
82
+ extraIcons?: any;
83
+ authenticated?: boolean;
84
+ }) => React.ReactNode;
85
+ flightCardComponent?: (props: {
86
+ item?: IBaseItem;
87
+ index?: number;
88
+ setFocus?: () => void;
89
+ setBlur?: (index: number) => void;
90
+ handleLike?: (index: number) => void;
91
+ likeBtnLoading?: boolean;
92
+ categoryTypes?: any[];
93
+ extraIcons?: any;
94
+ authenticated?: boolean;
95
+ }) => React.ReactNode;
87
96
  }
88
97
  export declare const ParamSearchResultContainer: (props: IParamSearchResultContainer) => import("react/jsx-runtime").JSX.Element;
89
98
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ParamSearchResultContainer.d.ts","sourceRoot":"","sources":["../../../src/components/UI/ParamSearchResultContainer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParamSearchResultContainer.d.ts","sourceRoot":"","sources":["../../../src/components/UI/ParamSearchResultContainer.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
- import {jsxs,jsx}from'react/jsx-runtime';import {useEffect}from'react';import {useTranslation}from'react-i18next';import {PropertyCardList}from'./PropertyCardList.js';import {Pagination}from'./Pagination.js';const ParamSearchResultContainer = props => {
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {useEffect}from'react';import {useTranslation}from'react-i18next';import {CardList}from'./CardList.js';import {Pagination}from'./Pagination.js';import {TravelType}from'../typings.js';const ParamSearchResultContainer = props => {
2
2
  const {
3
- data,
3
+ propertiesData,
4
+ carsData,
5
+ flightsData,
6
+ selectedTravelType,
4
7
  error,
5
8
  currentPage,
6
9
  totalPropertiesCount,
@@ -11,7 +14,10 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useEffect}from'react';import {u
11
14
  handleLike,
12
15
  likeBtnLoading,
13
16
  propertyTypes,
14
- extraIcons
17
+ vehicleTypes,
18
+ propertyCardComponent,
19
+ vehicleCardComponent,
20
+ flightCardComponent
15
21
  } = props;
16
22
  const {
17
23
  t
@@ -47,6 +53,48 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useEffect}from'react';import {u
47
53
  }, 5000);
48
54
  }
49
55
  }, [error]);
56
+ const renderContent = () => {
57
+ switch (selectedTravelType) {
58
+ case TravelType.HOTELS:
59
+ return propertiesData?.length ? jsx(CardList, {
60
+ items: propertiesData,
61
+ setFocus: handleSetFocus,
62
+ setBlur: handleRemoveFocus,
63
+ handleLike: handleLike,
64
+ likeBtnLoading: likeBtnLoading,
65
+ categoryTypes: propertyTypes,
66
+ extraIcons: props.extraIcons,
67
+ customCardComponent: propertyCardComponent,
68
+ emptyMessage: t('property.not_found_any_room')
69
+ }) : null;
70
+ case TravelType.CARS:
71
+ return carsData?.length ? jsx(CardList, {
72
+ items: carsData,
73
+ setFocus: handleSetFocus,
74
+ setBlur: handleRemoveFocus,
75
+ handleLike: handleLike,
76
+ likeBtnLoading: likeBtnLoading,
77
+ categoryTypes: vehicleTypes,
78
+ extraIcons: props.extraIcons,
79
+ customCardComponent: vehicleCardComponent,
80
+ emptyMessage: t('property.not_found_any_vehicle')
81
+ }) : null;
82
+ case TravelType.FLIGHTS:
83
+ return flightsData?.length ? jsx(CardList, {
84
+ items: flightsData,
85
+ setFocus: handleSetFocus,
86
+ setBlur: handleRemoveFocus,
87
+ handleLike: handleLike,
88
+ likeBtnLoading: likeBtnLoading,
89
+ categoryTypes: vehicleTypes,
90
+ extraIcons: props.extraIcons,
91
+ customCardComponent: flightCardComponent,
92
+ emptyMessage: t('property.not_found_any_flight')
93
+ }) : null;
94
+ default:
95
+ return null;
96
+ }
97
+ };
50
98
  return jsxs("div", {
51
99
  className: "flex flex-col self-stretch relative w-full px-3 sm:px-5 lg:px-7",
52
100
  children: [jsx("div", {
@@ -60,15 +108,7 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useEffect}from'react';import {u
60
108
  totalCount: totalPropertiesCount
61
109
  })
62
110
  })
63
- }), jsx(PropertyCardList, {
64
- rooms: data,
65
- setFocus: handleSetFocus,
66
- setBlur: handleRemoveFocus,
67
- handleLike: handleLike,
68
- likeBtnLoading: likeBtnLoading,
69
- propertyTypes: propertyTypes,
70
- extraIcons: extraIcons
71
- }), totalPages > 1 && jsx("div", {
111
+ }), renderContent(), totalPages > 1 && jsx("div", {
72
112
  className: "mt-8 mb-8",
73
113
  children: jsx(Pagination, {
74
114
  currentPage: currentPage,
@@ -1 +1 @@
1
- {"version":3,"file":"ParamSearchResultContainer.js","sources":["../../../src/components/UI/ParamSearchResultContainer.tsx"],"sourcesContent":[null],"names":[],"mappings":"gNA2Ga,MAAA,0BAA0B,GAAG,KAAC,IAAsC;QACvE;IAeN,IAAM;IAEN,KAAS;eACD;wBACuC;cACjC;AACN,IAAA,YAAA;AACI,IAAA,cAAA;qBACK;;;;;;;;;;AAUyC,IAAA,IAAA,KAAA,EAAA;;;;;;;;;;AAUlD;;;gEAIS,EAAA,CAAA,CAAA,+BAAA,CAAA,CAAA;4DACZ,EAAA,KAAA,CAAA,OAAA,CAAA;AACL;;AAwBJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ParamSearchResultContainer.js","sources":["../../../src/components/UI/ParamSearchResultContainer.tsx"],"sourcesContent":[null],"names":[],"mappings":"uOA+Ga,MAAA,0BAA0B,GAAG,KAAC,IAAsC;AAC7E,EAAA,MAAA;IAqBA,cAAc;IAEd,QAAS;eACD;sBACuC;;AAEvC,IAAA,WAAA;AACI,IAAA,oBAAA;cACI;;;;;;;;;;AAU0C,IAAA;;;;;;;;;cAShD,CAAA,SAAA,GAAA,wFAAA;AACF,MAAA,QAAA,CAAA,SAAa;;;;;AAMrB;;;;gEAOoB,EAAA,CAAA,CAAA,+BACU,CAAc,CAAA;4DAUhB,EAAA,KAAA,CAAA,OAAA,CAAA;;;;AA4BpB;AACI;;AAEZ;AAEA;AAcJ,YAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -9,16 +9,16 @@ interface IPropertyType {
9
9
  created_at: string;
10
10
  }
11
11
  type PropertyCardProps = {
12
- room: any;
13
- isSaved: boolean;
14
- setFocus: (index: number) => void;
15
- setBlur: (index: number) => void;
16
- handleLike: (index: number) => void;
17
- authenticated: boolean;
18
- likeBtnLoading: boolean;
19
- propertyTypes: IPropertyType[];
20
- extraIcons: any[];
12
+ item?: any;
13
+ isSaved?: boolean;
14
+ setFocus?: (index: number) => void;
15
+ setBlur?: (index: number) => void;
16
+ handleLike?: (index: number) => void;
17
+ authenticated?: boolean;
18
+ likeBtnLoading?: boolean;
19
+ categoryTypes?: IPropertyType[];
20
+ extraIcons?: any[];
21
21
  };
22
- export declare const PropertyCard: ({ room, isSaved, setFocus, setBlur, handleLike, likeBtnLoading, propertyTypes, authenticated, extraIcons, ...props }: PropertyCardProps & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const PropertyCard: ({ item, isSaved, setFocus, setBlur, handleLike, likeBtnLoading, categoryTypes, authenticated, extraIcons, ...props }: PropertyCardProps & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
23
23
  export {};
24
24
  //# sourceMappingURL=PropertyCard.d.ts.map
@@ -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,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,UAAU,EAAE,GAAG,EAAE,CAAC;CACrB,CAAC;AAgEF,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;AAgEF,eAAO,MAAM,YAAY,GAAI,sHAW1B,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CA0W1D,CAAC"}
@@ -52,24 +52,24 @@ function formatDuration(days) {
52
52
  }
53
53
  }
54
54
  const PropertyCard = ({
55
- room,
55
+ item,
56
56
  isSaved,
57
57
  setFocus,
58
58
  setBlur,
59
59
  handleLike,
60
60
  likeBtnLoading,
61
- propertyTypes,
61
+ categoryTypes,
62
62
  authenticated,
63
63
  extraIcons = [],
64
64
  ...props
65
65
  }) => {
66
- const images = useMemo(() => room?.images?.data.map(({
66
+ const images = useMemo(() => item?.images?.data.map(({
67
67
  url
68
68
  }) => ({
69
69
  src: url
70
- })), [room]);
70
+ })), [item]);
71
71
  const [didLike, setDidLike] = useState(false);
72
- useMemo(() => room?.totalReview == 0 ? 0 : room?.totalStar / room?.totalReview || 0, [room]);
72
+ useMemo(() => item?.totalReview == 0 ? 0 : item?.totalStar / item?.totalReview || 0, [item]);
73
73
  const {
74
74
  isDark,
75
75
  grayColor
@@ -77,7 +77,7 @@ const PropertyCard = ({
77
77
  const {
78
78
  t
79
79
  } = useTranslation(['common', 'property-types']);
80
- const types = useMemo(() => propertyTypes.filter(item => room?.types?.includes(item.id)), [room, propertyTypes]);
80
+ const types = useMemo(() => categoryTypes?.filter(type => item?.types?.includes(type.id)), [item, categoryTypes]);
81
81
  const {
82
82
  fetchCurrentLatLong,
83
83
  location} = useGetCurrentLongLat();
@@ -117,9 +117,9 @@ const PropertyCard = ({
117
117
  const searchParams = new URLSearchParams(window.location.search);
118
118
  const adults = parseInt(searchParams.get('adults') || '0', 10) || 1;
119
119
  const children = parseInt(searchParams.get('children') || '0', 10);
120
- const amenities = room?.preferences?.property?.amenities;
121
- const displayedIcons = amenities ? Object.entries(amenities).flatMap(([key, value]) => {
122
- const enabledAmenities = Object.entries(value ?? {}).filter(([key1, value1]) => value1?.enable && value1?.icon);
120
+ const amenities = item?.preferences?.property?.amenities;
121
+ const displayedIcons = amenities ? Object.entries(amenities)?.flatMap(([key, value]) => {
122
+ const enabledAmenities = Object.entries(value ?? {})?.filter(([key1, value1]) => value1?.enable && value1?.icon);
123
123
  const displayedAmenities = enabledAmenities.slice(0, 8);
124
124
  return displayedAmenities.length > 0 ? displayedAmenities.map(([key1, value1]) => renderDynamicIcon({
125
125
  name: value1.icon,
@@ -135,7 +135,7 @@ const PropertyCard = ({
135
135
  className: "w-12 h-12 border-4 border-t-blue-500 rounded-full animate-spin border-gray-200"
136
136
  }) : jsx("button", {
137
137
  className: `w-7 h-9.5 rounded-full flex items-center justify-center ${didLike ? 'bg-blue-400' : isDark ? 'bg-gray-800' : 'bg-white'}`,
138
- onClick: () => handleLike(room.id),
138
+ onClick: () => handleLike(item.id),
139
139
  "aria-label": "Select as your favourite",
140
140
  children: jsx(BsHeart, {
141
141
  className: isDark ? 'text-white' : 'text-gray-800'
@@ -145,11 +145,11 @@ const PropertyCard = ({
145
145
  WithAuthentication(LikeButton);
146
146
  return jsx(Fragment, {
147
147
  children: jsxs("div", {
148
- className: "flex flex-row p-2 relative",
149
- onMouseEnter: () => setFocus(room.id),
150
- onMouseLeave: () => setBlur(room.id),
148
+ className: "flex flex-row p-2 relative max-w-[370px]",
149
+ onMouseEnter: () => setFocus(item.id),
150
+ onMouseLeave: () => setBlur(item.id),
151
151
  ...props,
152
- children: [room.status === 'pending' && jsxs(Fragment, {
152
+ children: [item?.status === 'pending' && jsxs(Fragment, {
153
153
  children: [jsx("div", {
154
154
  className: "absolute w-full h-full bg-black bg-opacity-60 rounded-2xl z-10"
155
155
  }), jsx("div", {
@@ -160,7 +160,7 @@ const PropertyCard = ({
160
160
  })
161
161
  })]
162
162
  }), jsx("div", {
163
- className: "w-full max-w-[350px] border border-solid border-gray-200 rounded-2xl overflow-hidden shadow-md transition-all duration-300 hover:transform hover:-translate-y-1 hover:shadow-lg",
163
+ className: "w-full max-w-[100%] border border-solid border-gray-200 rounded-2xl overflow-hidden shadow-md transition-all duration-300 hover:transform hover:-translate-y-1 hover:shadow-lg",
164
164
  children: jsxs("div", {
165
165
  className: "w-full h-full flex flex-col justify-between space-y-4",
166
166
  children: [jsxs("div", {
@@ -186,7 +186,7 @@ const PropertyCard = ({
186
186
  children: jsx(LikeButton, {})
187
187
  }), images.map((image, i) => jsx(SplideSlide, {
188
188
  children: jsx("a", {
189
- href: generateHref(room, checkIn, checkOut, adults, children),
189
+ href: generateHref(item, checkIn, checkOut, adults, children),
190
190
  target: "_blank",
191
191
  rel: "noopener noreferrer",
192
192
  children: jsx("div", {
@@ -214,25 +214,25 @@ const PropertyCard = ({
214
214
  }, index))]
215
215
  }), jsx("h3", {
216
216
  className: "text-lg font-medium mb-2 line-clamp-2",
217
- children: room?.title
218
- }), room?.address && room?.address.city && room?.address.city.state && jsxs("div", {
217
+ children: item?.title
218
+ }), item?.address && item?.address.city && item?.address.city.state && jsxs("div", {
219
219
  className: "flex items-center text-sm text-gray-500 mb-2",
220
220
  children: [jsx(LocationIcon, {
221
221
  w: "16px",
222
222
  h: "20px"
223
223
  }), jsxs("span", {
224
224
  className: "truncate",
225
- children: [room?.address.city.name + ', ' + room?.address.city.state.name, room?.address?.number ? ' · ' + room?.address?.number : '']
225
+ children: [item?.address.city.name + ', ' + item?.address.city.state.name, item?.address?.number ? ' · ' + item?.address?.number : '']
226
226
  })]
227
227
  }), displayedIcons.length > 0 && jsx("div", {
228
228
  className: "flex space-x-3 mt-2 mb-3",
229
229
  children: displayedIcons
230
230
  }), jsxs("div", {
231
231
  className: "flex flex-wrap space-x-2 mt-1 mb-3",
232
- children: [room?.preferences?.property?.booking?.policy?.instantBookingEnabled && jsx("span", {
232
+ children: [item?.preferences?.property?.booking?.policy?.instantBookingEnabled && jsx("span", {
233
233
  className: "bg-blue-100 text-blue-800 px-2 py-1 rounded-md text-xs capitalize",
234
234
  children: t('property.instant_book')
235
- }), room?.preferences?.property?.booking?.policy?.cancellation && jsx("span", {
235
+ }), item?.preferences?.property?.booking?.policy?.cancellation && jsx("span", {
236
236
  className: "bg-green-100 text-green-800 px-2 py-1 rounded-md text-xs capitalize",
237
237
  children: t('property.cancellation_policy')
238
238
  })]
@@ -242,7 +242,7 @@ const PropertyCard = ({
242
242
  className: "text-gray-500"
243
243
  }), jsxs("span", {
244
244
  className: "text-sm text-gray-600 ml-2",
245
- children: [room?.preferences?.property?.boarding?.maxPeople, " ", t('property.guests')]
245
+ children: [item?.preferences?.property?.boarding?.maxPeople, " ", t('property.guests')]
246
246
  })]
247
247
  })]
248
248
  }), config.ENABLE_PROPERTY_PRICE_COMPARISON && jsx("div", {
@@ -277,11 +277,11 @@ const PropertyCard = ({
277
277
  className: "text-yellow-500 w-3 h-3 mr-1"
278
278
  }), jsxs("span", {
279
279
  className: "text-[0.832rem] font-bold text-gray-600",
280
- children: [room?.reviewsOverview ? room.reviewsOverview.rating : 0, " (", room.reviewsOverview ? room.reviewsOverview.ratingCount : 0, ' ', t('property.reviews'), ")"]
280
+ children: [item?.reviewsOverview ? item.reviewsOverview.rating : 0, " (", item.reviewsOverview ? item.reviewsOverview.ratingCount : 0, ' ', t('property.reviews'), ")"]
281
281
  })]
282
- }), room?.__typename && jsxs("span", {
282
+ }), item?.__typename && jsxs("span", {
283
283
  className: "text-[0.832rem] text-gray-500",
284
- children: ["Booking through ", startCase(room.__typename.replace('Property', ''))]
284
+ children: ["Booking through ", startCase(item.__typename.replace('Property', ''))]
285
285
  })]
286
286
  }), jsxs("div", {
287
287
  className: "flex flex-col items-end space-y-2 w-full sm:w-auto",
@@ -292,19 +292,19 @@ const PropertyCard = ({
292
292
  children: [formattedDuration, ", ", adults + children, ' ', adults + children === 1 ? 'guest' : 'guests']
293
293
  }), jsxs("div", {
294
294
  className: "flex flex-col items-end space-y-0 w-full",
295
- children: [room.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.total !== room.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.totalBeforeDiscount && jsxs("div", {
295
+ children: [item.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.total !== item.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.totalBeforeDiscount && jsxs("div", {
296
296
  className: "flex items-center group relative",
297
297
  children: [jsx("span", {
298
298
  className: "text-xs text-gray-500",
299
299
  children: "from"
300
300
  }), jsx("span", {
301
301
  className: "text-sm font-semibold text-gray-500 line-through ml-1 cursor-help hover:text-gray-600 group-hover:text-gray-600",
302
- children: room.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.totalBeforeDiscount
302
+ children: item.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.totalBeforeDiscount
303
303
  }), jsx("div", {
304
304
  className: "hidden group-hover:block absolute top-0 right-0 transform -translate-y-full mt-2 w-[300px] shadow-lg bg-white rounded-md p-4 z-50",
305
305
  children: jsxs("div", {
306
306
  className: "flex flex-col space-y-2",
307
- children: [room.preferences?.property?.pricing?.price?.price_breakdown?.details?.discounts?.items.map((charge, index) => jsxs("div", {
307
+ children: [item.preferences?.property?.pricing?.price?.price_breakdown?.details?.discounts?.items.map((charge, index) => jsxs("div", {
308
308
  className: "flex flex-col",
309
309
  children: [jsxs("div", {
310
310
  className: "flex justify-between",
@@ -324,7 +324,7 @@ const PropertyCard = ({
324
324
  children: [jsx("span", {
325
325
  children: "Total discount"
326
326
  }), jsx("span", {
327
- children: room.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.savings
327
+ children: item.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.savings
328
328
  })]
329
329
  })]
330
330
  })
@@ -333,7 +333,7 @@ const PropertyCard = ({
333
333
  className: "relative group",
334
334
  children: [jsx("span", {
335
335
  className: "text-2xl font-semibold text-right underline cursor-help",
336
- children: room.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.total
336
+ children: item.preferences?.property?.pricing?.price?.price_breakdown?.details?.summary?.total
337
337
  }), jsxs("div", {
338
338
  className: "hidden group-hover:block absolute bottom-0 right-0 transform translate-y-full mt-2 w-[300px] shadow-lg bg-white rounded-md z-50",
339
339
  children: [jsx("div", {
@@ -343,7 +343,7 @@ const PropertyCard = ({
343
343
  className: "p-4",
344
344
  children: jsx("div", {
345
345
  className: "flex flex-col space-y-2",
346
- children: room.preferences?.property?.pricing?.price?.price_breakdown?.details?.charges?.items?.map((item, index) => jsxs("div", {
346
+ children: item.preferences?.property?.pricing?.price?.price_breakdown?.details?.charges?.items?.map((item, index) => jsxs("div", {
347
347
  className: "flex justify-between",
348
348
  children: [jsx("span", {
349
349
  children: item.name
@@ -357,12 +357,12 @@ const PropertyCard = ({
357
357
  })]
358
358
  }), jsxs("span", {
359
359
  className: "text-xs text-gray-500 text-right w-full",
360
- children: [room?.preferences?.property?.pricing?.price?.price_breakdown?.details?.pricing?.basePrice?.perNight, ' ', "per ", getPriceType(room)]
360
+ children: [item?.preferences?.property?.pricing?.price?.price_breakdown?.details?.pricing?.basePrice?.perNight, ' ', "per ", getPriceType(item)]
361
361
  })]
362
362
  }), jsx("button", {
363
363
  className: "bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded w-full",
364
364
  onClick: () => {
365
- window.open(generateHref(room, checkIn, checkOut, adults, children), '_blank');
365
+ window.open(generateHref(item, checkIn, checkOut, adults, children), '_blank');
366
366
  },
367
367
  children: "View deal"
368
368
  })]
@@ -370,6 +370,6 @@ const PropertyCard = ({
370
370
  })]
371
371
  })
372
372
  })]
373
- }, room.id)
373
+ }, item.id)
374
374
  });
375
375
  };export{PropertyCard};//# sourceMappingURL=PropertyCard.js.map