@admin-layout/tailwind-design-pro 10.1.1-alpha.2 → 10.1.1-alpha.22

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 (76) hide show
  1. package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
  2. package/lib/components/Layout/BasicLayout/index.js +3 -2
  3. package/lib/components/Layout/BasicLayout/index.js.map +1 -1
  4. package/lib/components/Layout/GlobalHeader/SearchBar.d.ts.map +1 -1
  5. package/lib/components/Layout/GlobalHeader/SearchBar.js.map +1 -1
  6. package/lib/components/Layout/Sidebar/Sidebar.d.ts.map +1 -1
  7. package/lib/components/Layout/Sidebar/Sidebar.js +20 -27
  8. package/lib/components/Layout/Sidebar/Sidebar.js.map +1 -1
  9. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts.map +1 -1
  10. package/lib/components/Layout/Sidebar/SidebarMenu.js +9 -6
  11. package/lib/components/Layout/Sidebar/SidebarMenu.js.map +1 -1
  12. package/lib/components/Layout/TailwindLayout.js +5 -2
  13. package/lib/components/Layout/TailwindLayout.js.map +1 -1
  14. package/lib/components/UI/CardList.js +1 -1
  15. package/lib/components/UI/ParamSearchResultContainer.d.ts +1 -3
  16. package/lib/components/UI/ParamSearchResultContainer.d.ts.map +1 -1
  17. package/lib/components/UI/PropertyCard.d.ts +2 -2
  18. package/lib/components/UI/PropertyCard.d.ts.map +1 -1
  19. package/lib/components/UI/PropertyCard.js +75 -33
  20. package/lib/components/UI/PropertyCard.js.map +1 -1
  21. package/lib/components/UI/VehicleCard/PricePopover.d.ts +8 -0
  22. package/lib/components/UI/VehicleCard/PricePopover.d.ts.map +1 -0
  23. package/lib/components/UI/VehicleCard/PricePopover.js +98 -0
  24. package/lib/components/UI/VehicleCard/PricePopover.js.map +1 -0
  25. package/lib/components/UI/VehicleCard/VehicleBadge.d.ts +7 -0
  26. package/lib/components/UI/VehicleCard/VehicleBadge.d.ts.map +1 -0
  27. package/lib/components/UI/VehicleCard/VehicleFeature.d.ts +9 -0
  28. package/lib/components/UI/VehicleCard/VehicleFeature.d.ts.map +1 -0
  29. package/lib/components/UI/VehicleCard/VehicleFeature.js +23 -0
  30. package/lib/components/UI/VehicleCard/VehicleFeature.js.map +1 -0
  31. package/lib/components/UI/VehicleCard/types.d.ts +59 -0
  32. package/lib/components/UI/VehicleCard/types.d.ts.map +1 -0
  33. package/lib/components/UI/VehicleCard.d.ts +11 -11
  34. package/lib/components/UI/VehicleCard.d.ts.map +1 -1
  35. package/lib/components/UI/VehicleCard.js +166 -0
  36. package/lib/components/UI/VehicleCard.js.map +1 -0
  37. package/lib/components/UI/VehicleCardList.js +38 -0
  38. package/lib/components/UI/VehicleCardList.js.map +1 -0
  39. package/lib/components/UI/index.d.ts +2 -1
  40. package/lib/components/UI/index.d.ts.map +1 -1
  41. package/lib/components/index.js +1 -1
  42. package/lib/compute.d.ts.map +1 -1
  43. package/lib/compute.js.map +1 -1
  44. package/lib/config/analytics-config.d.ts +59 -0
  45. package/lib/config/analytics-config.d.ts.map +1 -0
  46. package/lib/config/env-config.d.ts +3 -0
  47. package/lib/config/env-config.d.ts.map +1 -1
  48. package/lib/config/env-config.js +11 -1
  49. package/lib/config/env-config.js.map +1 -1
  50. package/lib/config/index.d.ts +3 -0
  51. package/lib/config/index.d.ts.map +1 -0
  52. package/lib/machines/settingsMachine.d.ts.map +1 -1
  53. package/lib/machines/settingsMachine.js +13 -77
  54. package/lib/machines/settingsMachine.js.map +1 -1
  55. package/lib/redux/searchReducer.d.ts +1 -1
  56. package/lib/redux/searchReducer.d.ts.map +1 -1
  57. package/lib/redux/searchReducer.js.map +1 -1
  58. package/lib/utils/analytics-utils.d.ts +43 -0
  59. package/lib/utils/analytics-utils.d.ts.map +1 -0
  60. package/lib/utils/analytics.d.ts +48 -0
  61. package/lib/utils/analytics.d.ts.map +1 -0
  62. package/package.json +4 -4
  63. package/lib/components/UI/VehicleComponents/CarCardFooter.d.ts +0 -7
  64. package/lib/components/UI/VehicleComponents/CarCardFooter.d.ts.map +0 -1
  65. package/lib/components/UI/VehicleComponents/CarCardFooter.js +0 -61
  66. package/lib/components/UI/VehicleComponents/CarCardFooter.js.map +0 -1
  67. package/lib/components/UI/VehicleComponents/CarCardImage.d.ts +0 -9
  68. package/lib/components/UI/VehicleComponents/CarCardImage.d.ts.map +0 -1
  69. package/lib/components/UI/VehicleComponents/CarCardImage.js +0 -32
  70. package/lib/components/UI/VehicleComponents/CarCardImage.js.map +0 -1
  71. package/lib/components/UI/VehicleComponents/CarCardInfo.d.ts +0 -13
  72. package/lib/components/UI/VehicleComponents/CarCardInfo.d.ts.map +0 -1
  73. package/lib/components/UI/VehicleComponents/CarCardInfo.js +0 -49
  74. package/lib/components/UI/VehicleComponents/CarCardInfo.js.map +0 -1
  75. package/lib/components/UI/VehicleComponents/index.d.ts +0 -4
  76. package/lib/components/UI/VehicleComponents/index.d.ts.map +0 -1
@@ -0,0 +1,98 @@
1
+ import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {BiTag}from'@react-icons/all-files/bi/BiTag.js';const PricePopover = ({
2
+ pricing
3
+ }) => {
4
+ const [position, setPosition] = useState({
5
+ top: 0,
6
+ left: 0
7
+ });
8
+ const popoverRef = useRef(null);
9
+ const triggerRef = useRef(null);
10
+ useEffect(() => {
11
+ const updatePosition = () => {
12
+ if (!popoverRef.current || !triggerRef.current) return;
13
+ const trigger = triggerRef.current.getBoundingClientRect();
14
+ const popover = popoverRef.current.getBoundingClientRect();
15
+ const viewport = {
16
+ width: window.innerWidth,
17
+ height: window.innerHeight
18
+ };
19
+ let top = trigger.bottom + 8;
20
+ let left = trigger.left;
21
+ if (top + popover.height > viewport.height) {
22
+ top = trigger.top - popover.height - 8;
23
+ }
24
+ if (left + popover.width > viewport.width) {
25
+ left = viewport.width - popover.width - 16;
26
+ }
27
+ left = Math.max(16, left);
28
+ setPosition({
29
+ top,
30
+ left
31
+ });
32
+ };
33
+ updatePosition();
34
+ window.addEventListener('scroll', updatePosition);
35
+ window.addEventListener('resize', updatePosition);
36
+ return () => {
37
+ window.removeEventListener('scroll', updatePosition);
38
+ window.removeEventListener('resize', updatePosition);
39
+ };
40
+ }, []);
41
+ return jsxs(Fragment, {
42
+ children: [jsx("div", {
43
+ ref: triggerRef,
44
+ className: "absolute inset-0"
45
+ }), jsx("div", {
46
+ ref: popoverRef,
47
+ style: {
48
+ top: position.top,
49
+ left: position.left,
50
+ position: 'fixed'
51
+ },
52
+ className: "invisible group-hover:visible opacity-0 group-hover:opacity-100 transition-all duration-200 bg-white rounded-lg shadow-xl border border-gray-100 p-4 min-w-[280px] z-50",
53
+ children: jsxs("div", {
54
+ className: "flex flex-col gap-3",
55
+ children: [jsxs("div", {
56
+ className: "flex items-center justify-between text-[15px]",
57
+ children: [jsx("span", {
58
+ className: "text-gray-600",
59
+ children: "Base rate"
60
+ }), jsxs("span", {
61
+ className: "font-medium",
62
+ children: [pricing.currency, " ", pricing.amount]
63
+ })]
64
+ }), pricing.discount && jsxs("div", {
65
+ className: "flex items-center justify-between text-green-600",
66
+ children: [jsxs("div", {
67
+ className: "flex items-center",
68
+ children: [jsx(BiTag, {
69
+ className: "h-4 w-4 mr-1"
70
+ }), jsx("span", {
71
+ children: "Discount"
72
+ })]
73
+ }), jsxs("span", {
74
+ children: ["-", pricing.discount]
75
+ })]
76
+ }), jsx("div", {
77
+ className: "border-t border-gray-200 mt-1 pt-3",
78
+ children: jsxs("div", {
79
+ className: "flex items-center justify-between",
80
+ children: [jsxs("span", {
81
+ className: "font-medium text-[15px]",
82
+ children: ["Total ", pricing.period && `(${pricing.period})`]
83
+ }), jsxs("div", {
84
+ className: "text-right",
85
+ children: [jsxs("span", {
86
+ className: "text-xl font-semibold",
87
+ children: [pricing.currency, " ", pricing.amount]
88
+ }), pricing.beforeTaxes && jsx("div", {
89
+ className: "text-sm text-gray-500",
90
+ children: "before taxes"
91
+ })]
92
+ })]
93
+ })
94
+ })]
95
+ })
96
+ })]
97
+ });
98
+ };export{PricePopover as default};//# sourceMappingURL=PricePopover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PricePopover.js","sources":["../../../../src/components/UI/VehicleCard/PricePopover.tsx"],"sourcesContent":[null],"names":[],"mappings":"uJAQA,MAAM,YAAY,GAAgC,CAAC;AAC/C,EAAA;AACA,CAAA,KAAA;AACA,EAAA,MAAA,CAAA,qBAA0C,CAAA,GAAI,QAAE,CAAA;IAEhD,GAAS,EAAA,CAAA;QACL,EAAM;;kBACqD,GAAA,MAAA,CAAA,IAAA,CAAA;kBAEjD,GAAA,OAAU,IAAU,CAAA;YAC1B,MAAM;AACN,IAAA,MAAA,iBAAiB,MAAA;qBACR,CAAA,OAAQ,IAAW,CAAA,UAAA,CAAA,OAAA,EAAA;mBAClB,GAAA,UAAoB,CAAA,OAAA,CAAA,qBAAA,EAAA;mBAC5B,GAAA,UAAA,CAAA,OAAA,CAAA,qBAAA,EAAA;AAEF,MAAA,MAAA,QAAU,GAAA;AACV,QAAA,KAAA,EAAA,MAAQ,CAAA;cAEJ,EAAA,MAAM,CAAA;;aAET,GAAA,OAAA,CAAA,MAAA,GAAA,CAAA;cAEG,GAAA,OAAO,CAAA,IAAA;gBACP,OAAO,CAAQ,MAAA,GAAM,eAAW,EAAA;cACnC,OAAA,CAAA,GAAA,GAAA,OAAA,CAAA,MAAA,GAAA,CAAA;;AAID,MAAA,IAAA,IAAA,GAAA,OAAY,CAAE,QAAS,QAAI,CAAA,KAAA,EAAA;AAC/B,QAAA,IAAE,GAAA,QAAA,CAAA,KAAA,GAAA,OAAA,CAAA,KAAA,GAAA,EAAA;AAEF;AACA,MAAA,IAAA,GAAA,IAAuB,CAAA,GAAA,CAAA,EAAA,EAAA,IAAA,CAAA;AACvB,MAAA,WAAuB,CAAA;AAEvB,QAAA,GAAA;AACI,QAAA;AACA,OAAA,CAAA;AACJ,KAAA;IACJ,cAAO,EAAA;AAEP,IAAA,MAAA,CAAO,gBAEC,CAAA,QAAA,EAAA,cAAA,CAAA;2BAIqB,CAAA,QAAI,EAAA,cAAA,CAAA;;AAEjB,MAAA,MAAA,CAAA,mBAAiB,CAAA,QAAA,EAAA,cAAA,CAAA;AACpB,MAAA,MAAA,CAAA,mBACkL,CAAA,QAAA,EAAA,cAAA,CAAA;AAqCnM,KAAE;AAEF,GAAA,EAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface CardBadgeProps {
3
+ label: string;
4
+ }
5
+ declare const VehicleBadge: React.FC<CardBadgeProps>;
6
+ export default VehicleBadge;
7
+ //# sourceMappingURL=VehicleBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VehicleBadge.d.ts","sourceRoot":"","sources":["../../../../src/components/UI/VehicleCard/VehicleBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,cAAc;IACpB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAY1C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React, { ReactNode } from 'react';
2
+ interface CardFeatureProps {
3
+ icon: ReactNode;
4
+ label: string;
5
+ iconColor?: string;
6
+ }
7
+ declare const VehicleFeature: React.FC<CardFeatureProps>;
8
+ export default VehicleFeature;
9
+ //# sourceMappingURL=VehicleFeature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VehicleFeature.d.ts","sourceRoot":"","sources":["../../../../src/components/UI/VehicleCard/VehicleFeature.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,UAAU,gBAAgB;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiB9C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {renderDynamicIcon}from'../../../helpers/DynamicIcon.js';const VehicleFeature = ({
2
+ icon,
3
+ label,
4
+ iconColor = '#6B7280'
5
+ }) => {
6
+ // gray-500
7
+ return jsxs("div", {
8
+ className: "flex items-center bg-gray-50 px-1.5 py-0.5 rounded text-[11px] text-gray-700",
9
+ children: [jsx("div", {
10
+ className: "text-gray-500 mr-0.5",
11
+ children: renderDynamicIcon({
12
+ name: icon,
13
+ style: {
14
+ iconColor: iconColor,
15
+ w: '20px',
16
+ h: '20px'
17
+ }
18
+ })
19
+ }), jsx("span", {
20
+ children: label
21
+ })]
22
+ });
23
+ };export{VehicleFeature as default};//# sourceMappingURL=VehicleFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VehicleFeature.js","sources":["../../../../src/components/UI/VehicleCard/VehicleFeature.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"yGASA,MAAM,cAAc,GAA+B,CAAC;MACrC;AACX,EAAA,KAAA;AAIgB,EAAA,SAAA,GAAA;AACA,CAAA,KAAA;AACI;AACA,EAAA,OAAAA,IAAA,CAAA,KAAA,EAAA;AACA,IAAA,SAAA,EAAA,8EAAS;AACZ,IAAA,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA;AACJ,MAAA,SAAA,EAAA,sBAEL;AAGZ,MAAE,QAAA,EAAA,iBAAA,CAAA;AAEF,QAAA,IAAA,EAAA;;;;;;;;;;;"}
@@ -0,0 +1,59 @@
1
+ export interface CarBags {
2
+ count: number;
3
+ size?: string;
4
+ }
5
+ export interface RentalCompany {
6
+ name: string;
7
+ logo?: string;
8
+ rating?: number;
9
+ reviewCount?: string;
10
+ }
11
+ export interface PickupInfo {
12
+ location: string;
13
+ description?: string;
14
+ freePickup?: boolean;
15
+ }
16
+ export interface CarPricing {
17
+ currency: string;
18
+ amount: number | string;
19
+ originalPrice?: string;
20
+ discount?: string;
21
+ period?: string;
22
+ beforeTaxes?: boolean;
23
+ freeCancel?: boolean;
24
+ deals?: number;
25
+ }
26
+ export interface CarActions {
27
+ showInfo?: boolean;
28
+ showEmail?: boolean;
29
+ }
30
+ export interface Car {
31
+ id: string;
32
+ make: string;
33
+ model: string;
34
+ image?: string;
35
+ subtitle?: string;
36
+ tags?: string[];
37
+ isNewListing?: boolean;
38
+ isFavorite?: boolean;
39
+ rating?: number;
40
+ reviews?: string;
41
+ hostStatus?: string;
42
+ location?: string;
43
+ hasAC?: boolean;
44
+ transmission?: string;
45
+ seats?: number;
46
+ bags?: CarBags;
47
+ mileage?: string;
48
+ rentalCompany?: RentalCompany;
49
+ pickupInfo?: PickupInfo;
50
+ pricing?: CarPricing;
51
+ actions?: CarActions;
52
+ source?: string;
53
+ }
54
+ export interface CarCardProps {
55
+ car: Car;
56
+ onFavorite?: (id: string) => void;
57
+ onViewDeal?: (id: string) => void;
58
+ }
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/UI/VehicleCard/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IACzB,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC"}
@@ -1,15 +1,15 @@
1
1
  import React from 'react';
2
2
  type VehicleCardProps = {
3
- car: any;
4
- isSaved: boolean;
5
- setFocus: (index: number) => void;
6
- setBlur: (index: number) => void;
7
- handleLike: (index: number) => void;
8
- likeBtnLoading: boolean;
9
- vehicleTypes: any[];
10
- authenticated: boolean;
11
- extraIcons: any[];
3
+ item?: any;
4
+ isSaved?: boolean;
5
+ setFocus?: (index: number) => void;
6
+ setBlur?: (index: number) => void;
7
+ handleLike?: (index: number) => void;
8
+ likeBtnLoading?: boolean;
9
+ categoryTypes?: any[];
10
+ authenticated?: boolean;
11
+ extraIcons?: any[];
12
12
  };
13
- export declare const VehicleCard: ({ car, isSaved, setFocus, setBlur, handleLike, likeBtnLoading, vehicleTypes, authenticated, extraIcons, ...props }: VehicleCardProps & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
14
- export {};
13
+ declare const VehicleCard: React.FC<VehicleCardProps>;
14
+ export default VehicleCard;
15
15
  //# sourceMappingURL=VehicleCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VehicleCard.d.ts","sourceRoot":"","sources":["../../../src/components/UI/VehicleCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAsGzE,KAAK,gBAAgB,GAAG;IACpB,GAAG,EAAE,GAAG,CAAC;IACT,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,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,GAAG,EAAE,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,oHAWzB,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CA6BzD,CAAC"}
1
+ {"version":3,"file":"VehicleCard.d.ts","sourceRoot":"","sources":["../../../src/components/UI/VehicleCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAoC1B,KAAK,gBAAgB,GAAG;IACpB,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,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuK3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,166 @@
1
+ import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {AiFillHeart}from'@react-icons/all-files/ai/AiFillHeart.js';import {AiFillStar}from'@react-icons/all-files/ai/AiFillStar.js';import {AiOutlineHeart}from'@react-icons/all-files/ai/AiOutlineHeart.js';import {FaAward}from'@react-icons/all-files/fa/FaAward.js';import {FaShieldAlt}from'@react-icons/all-files/fa/FaShieldAlt.js';import {FiMapPin}from'@react-icons/all-files/fi/FiMapPin.js';import VehicleFeature from'./VehicleCard/VehicleFeature.js';import PricePopover from'./VehicleCard/PricePopover.js';import {useMemo}from'react';const startCase = str => {
2
+ return str.toLowerCase().split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
3
+ };
4
+ const seatWordToNumber = word => {
5
+ const map = {
6
+ ONE: 1,
7
+ TWO: 2,
8
+ THREE: 3,
9
+ FOUR: 4,
10
+ FIVE: 5,
11
+ SIX: 6,
12
+ SEVEN: 7,
13
+ EIGHT: 8,
14
+ NINE: 9,
15
+ TEN: 10
16
+ };
17
+ return map[word.toUpperCase()] || word;
18
+ };
19
+ const VehicleCard = ({
20
+ item,
21
+ isSaved,
22
+ setFocus,
23
+ setBlur,
24
+ handleLike,
25
+ likeBtnLoading,
26
+ categoryTypes,
27
+ authenticated,
28
+ extraIcons = []
29
+ }) => {
30
+ useMemo(() => categoryTypes?.filter(type => item?.types?.includes(type.id)), [item, categoryTypes]);
31
+ return jsx("div", {
32
+ className: "bg-white rounded-lg overflow-hidden border border-gray-200 sm:h-[250px]",
33
+ onMouseEnter: () => setFocus(item.id),
34
+ onMouseLeave: () => setBlur(item.id),
35
+ children: jsxs("div", {
36
+ className: "flex flex-col sm:flex-row sm:h-full",
37
+ children: [jsxs("div", {
38
+ className: "relative w-full sm:w-[240px] h-[200px] sm:h-full flex-shrink-0",
39
+ children: [item.thumbnail?.url && jsx("img", {
40
+ src: item.thumbnail.url,
41
+ alt: item.title,
42
+ className: "w-full h-full object-contain bg-gray-50 p-2"
43
+ }), jsx("button", {
44
+ onClick: () => handleLike?.(item.id),
45
+ className: "absolute top-2 right-2 p-1.5 bg-white/90 backdrop-blur-sm rounded-full hover:bg-white transition-colors duration-200",
46
+ children: item.isUserLike ? jsx(AiFillHeart, {
47
+ className: "h-4 w-4 text-red-500"
48
+ }) : jsx(AiOutlineHeart, {
49
+ className: "h-4 w-4 text-gray-500"
50
+ })
51
+ })]
52
+ }), jsxs("div", {
53
+ className: "flex-1 p-4 flex flex-col",
54
+ children: [jsxs("div", {
55
+ children: [jsxs("div", {
56
+ className: "flex items-start justify-between gap-2 mb-2",
57
+ children: [jsx("h2", {
58
+ className: "text-base font-semibold text-gray-900 truncate",
59
+ children: item.title
60
+ }), item.stats?.averageRating && jsxs("div", {
61
+ className: "flex items-center shrink-0",
62
+ children: [jsx("span", {
63
+ className: "font-semibold text-black-700",
64
+ children: item.stats.averageRating
65
+ }), jsx(AiFillStar, {
66
+ className: "h-3.5 w-3.5 text-yellow-500 ml-0.5"
67
+ }), item.stats?.totalReviews && jsxs("span", {
68
+ className: "text-xs text-gray-600 ml-1",
69
+ children: ["(", item.stats.totalReviews, ")"]
70
+ })]
71
+ })]
72
+ }), jsxs("div", {
73
+ className: "flex flex-wrap items-center gap-2 text-xs mb-2",
74
+ children: [item.orgName && jsxs("span", {
75
+ className: "text-purple-600 flex items-center",
76
+ children: [jsx(FaAward, {
77
+ className: "h-3.5 w-3.5 mr-0.5"
78
+ }), item.orgName]
79
+ }), item.preferences?.details?.freeCancellation && jsxs("span", {
80
+ className: "text-green-600 flex items-center",
81
+ children: [jsx(FaShieldAlt, {
82
+ className: "h-3.5 w-3.5 mr-0.5"
83
+ }), "Free cancellation"]
84
+ })]
85
+ }), item.address?.description && jsxs("div", {
86
+ className: "flex items-center text-xs text-gray-400 mb-3",
87
+ children: [jsx(FiMapPin, {
88
+ className: "h-3.5 w-3.5 mr-0.5 flex-shrink-0"
89
+ }), jsx("span", {
90
+ className: "truncate",
91
+ children: item.address.description
92
+ })]
93
+ })]
94
+ }), jsx("div", {
95
+ className: "flex flex-wrap gap-1.5 mb-4",
96
+ children: Object.entries(item.preferences?.details?.metadata || {}).map(([key, value]) => {
97
+ // Skip non-feature metadata
98
+ if (key === '__typename' || key === 'suitcases') return null;
99
+ const feature = value;
100
+ if (!feature.enable) return null;
101
+ let label = '';
102
+ switch (key) {
103
+ case 'aircon':
104
+ label = 'AC';
105
+ break;
106
+ case 'seats':
107
+ label = `${seatWordToNumber(item.preferences.details.seats.replace('_SEATER', ''))} Seats`;
108
+ break;
109
+ case 'suitcases':
110
+ const small = value.small?.value || 0;
111
+ const big = value.big?.value || 0;
112
+ label = `${small + big} Bags`;
113
+ break;
114
+ case 'unlimitedMileage':
115
+ label = startCase(item.mileage);
116
+ break;
117
+ default:
118
+ label = startCase(key);
119
+ }
120
+ return jsx(VehicleFeature, {
121
+ icon: feature.icon,
122
+ label: label
123
+ }, key);
124
+ })
125
+ }), jsx("div", {
126
+ className: "mt-auto",
127
+ children: jsxs("div", {
128
+ className: "flex items-end justify-between",
129
+ children: [jsxs("div", {
130
+ className: "relative group",
131
+ children: [item.pricingInfo && jsxs(Fragment, {
132
+ children: [jsx("div", {
133
+ className: "space-y-0.5",
134
+ children: jsxs("div", {
135
+ className: "flex items-baseline",
136
+ children: [jsxs("span", {
137
+ className: "text-lg font-bold",
138
+ children: [item.pricingInfo.currency, item.pricingInfo.basePrice]
139
+ }), jsx("span", {
140
+ className: "text-gray-500 text-xs ml-1",
141
+ children: "total"
142
+ })]
143
+ })
144
+ }), jsx(PricePopover, {
145
+ pricing: {
146
+ freeCancel: item.preferences?.details?.freeCancellation,
147
+ currency: item.pricingInfo.currency,
148
+ amount: item.pricingInfo.basePrice,
149
+ period: 'total'
150
+ }
151
+ })]
152
+ }), item.__typename && jsxs("span", {
153
+ className: "text-xs text-gray-400 block mt-1",
154
+ children: ["via ", item.__typename.replace('Vehicle', '')]
155
+ })]
156
+ }), jsx("button", {
157
+ onClick: () => {},
158
+ className: "bg-blue-600 text-white px-4 py-2 text-sm rounded-lg font-medium hover:bg-blue-700 transition-colors duration-200",
159
+ children: "View deal"
160
+ })]
161
+ })
162
+ })]
163
+ })]
164
+ })
165
+ });
166
+ };export{VehicleCard as default};//# sourceMappingURL=VehicleCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VehicleCard.js","sources":["../../../src/components/UI/VehicleCard.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"0kBAYA,MAAM,SAAS,GAAG,GAAC,IAAe;AAC9B,EAAA,OAAA,GAAU,CAAA,WAAA,EAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,IAAA,IAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,WAAA,EAAA,GAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,GAAA,CAAA;AACL,CAAA;sBACU,GAAA,IAAA,IAAA;WACP,GAAE;SACL,CAAI;AACb,IAAE,GAAA,EAAA,CAAA;AAEF,IAAA,KAAsB,EAAA,CAAA;AAClB,IAAA,IAAA,EAAM;AACF,IAAA,IAAA,EAAA,CAAG;AACH,IAAA,GAAA,EAAA,CAAA;AACA,IAAA,KAAA,EAAA,CAAA;AACA,IAAA,KAAA,EAAA,CAAI;AACJ,IAAA,IAAA,EAAA,CAAA;AACA,IAAA,GAAA,EAAA;AACA,GAAA;AACA,EAAA,OAAA,GAAA,CAAK,IAAG,CAAA,WAAA,EAAA,CAAA,IAAA,IAAA;AACR,CAAA;AACA,MAAA,WAAO,GAAA,CAAA;MACT;SACK;AACX,EAAE,QAAA;AAcF,EAAM,OAAA;AAWF,EAAA,UAAW;AAEX,EAAA,cACI;;AA8EoB,EAAA,aAAA;AAAiD,EAAA,UAAA,GAAA;;6BAGrC,EAAC,MAAM,CAAA,IAAA,IAAA,IAAA,EAAA,KAAA,EAAA,QAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,IAAA,EAAA,aAAA,CAAA;AAAE,EAAA,OAAAA,GAAA,CAAA,KAAA,EAAA;wFAEN;gCACf,CAAQ,IAAA,CAAA,EAAA,CAAA;AACJ,IAAA,YAAA,EAAA,MAAA,OAAA,CAAA,IAAA,CAAA,EAAA,CAAA;;sDAEU;AACV,MAAA,QAAA,EAAA,CAAAC,IAAA,CAAA,KAAA,EAAA;mFAEa;0CAEHD,GAAA,CAAA,KAAA,EAAA;AACV,UAAA,GAAA,EAAA,IAAA,CAAA,SAAA,CAAA,GAAA;;;AAGI,SAAA,CAAA,EAAAA,GAAA,CAAA,QAAA,EAAA;0CACM,CAAA,EAAA,CAAA;AACV,UAAA,SAAA,EAAA,sHAAuB;AACnB,UAAA,QAAA,EAAA,IAAA,CAAA,UAAA,GAAAA,GAAA,CAAA,WAAiB,EAAA;;AAErB,WAAA,CAAA,GAAAA,GAAA,CAAA,cAAA,EAAA;AACI,YAAA,SAAA,EAAA;;AAGR,SAAA,CAAA;AACJ,OAAA,CAAA,EAAAC,IAAA,CAAA,KAAA,EAAA;AAoBwB,QAAA,SAAA,EAAA,0BAAA;AACA,QAAA,QAAA,EAAA,CAAAA,IAAA,CAAA,KAAA,EAAA;AACA,UAAA,QAAA,EAAA,CAAAA,IAAA,CAAA,KAAA,EAAA;AACA,YAAA,SAAA,EAAA,6CAAQ;;AAwBxD,cAAE,SAAA,EAAA,gDAAA;AAEF,cAAA,cAA2B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,38 @@
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';import VehicleCard from'./VehicleCard.js';const VehicleCardList = props => {
2
+ const {
3
+ setBlur,
4
+ setFocus,
5
+ cars,
6
+ handleLike,
7
+ likeBtnLoading,
8
+ vehicleTypes,
9
+ extraIcons,
10
+ className = ''
11
+ } = props;
12
+ const {
13
+ t
14
+ } = useTranslation();
15
+ const {
16
+ authenticated
17
+ } = isUserAuthenticated();
18
+ if (isEmpty(cars)) {
19
+ return jsx("div", {
20
+ className: "text-base",
21
+ children: t('property.not_found_any_room')
22
+ });
23
+ }
24
+ return jsx("div", {
25
+ className: "flex flex-wrap gap-4 flex-col",
26
+ children: cars.map((car, index) => jsx(VehicleCard, {
27
+ item: car,
28
+ isSaved: false,
29
+ setFocus: () => setFocus(index),
30
+ setBlur: setBlur,
31
+ handleLike: handleLike,
32
+ likeBtnLoading: likeBtnLoading,
33
+ categoryTypes: vehicleTypes,
34
+ authenticated: authenticated,
35
+ extraIcons: extraIcons
36
+ }, car.id))
37
+ });
38
+ };export{VehicleCardList};//# sourceMappingURL=VehicleCardList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VehicleCardList.js","sources":["../../../src/components/UI/VehicleCardList.tsx"],"sourcesContent":[null],"names":[],"mappings":"6NAiBa,MAAA,eAAe,GAAmC,KAAC,IAAS;QAC/D;AACN,IAAA;AACA,IAAA,QAAQ;AAER,IAAA,IAAI;cACO;IACX,cAAC;AACD,IAAA,YACI;AAiBR,IAAE,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,5 +5,6 @@ export * from './ParamSearchResultContainer';
5
5
  export * from './CardList';
6
6
  export * from './PropertyCard';
7
7
  export * from './Pagination';
8
- export * from './VehicleComponents';
8
+ export * from './VehicleCard';
9
+ export * from './VehicleCardList';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UI/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,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UI/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"}
@@ -1 +1 @@
1
- export{CategoriesTypeList}from'./UI/CategoriesTypeList.js';export{PropertyCardOnMap}from'./UI/PropertyCardOnMap.js';export{LazyLoadingGoogleMarker}from'./UI/LazyLoadingGoogleMarker.js';export{ParamSearchResultContainer}from'./UI/ParamSearchResultContainer.js';export{CardList}from'./UI/CardList.js';export{PropertyCard}from'./UI/PropertyCard.js';export{Pagination}from'./UI/Pagination.js';export{CarCardFooter}from'./UI/VehicleComponents/CarCardFooter.js';export{CarCardInfo}from'./UI/VehicleComponents/CarCardInfo.js';export{CarCardImage}from'./UI/VehicleComponents/CarCardImage.js';export{MainHeader,defaultRenderLogo,defaultRenderLogoAndTitle}from'./Layout/GlobalHeader/MainHeader.js';export{Logo}from'./Layout/GlobalHeader/Logo.js';export{RightMenu}from'./Layout/GlobalHeader/RightMenu.js';export{ThemeProviderTailwind,useTheme}from'./ThemeProvider/ThemeProvider.js';export{ThemeToggle}from'./ThemeProvider/ThemeToggle.js';//# sourceMappingURL=index.js.map
1
+ export{CategoriesTypeList}from'./UI/CategoriesTypeList.js';export{PropertyCardOnMap}from'./UI/PropertyCardOnMap.js';export{LazyLoadingGoogleMarker}from'./UI/LazyLoadingGoogleMarker.js';export{ParamSearchResultContainer}from'./UI/ParamSearchResultContainer.js';export{CardList}from'./UI/CardList.js';export{PropertyCard}from'./UI/PropertyCard.js';export{Pagination}from'./UI/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'../helpers/DynamicIcon.js';import'react';import'@react-icons/all-files/bi/BiTag.js';export{VehicleCardList}from'./UI/VehicleCardList.js';export{MainHeader,defaultRenderLogo,defaultRenderLogoAndTitle}from'./Layout/GlobalHeader/MainHeader.js';export{Logo}from'./Layout/GlobalHeader/Logo.js';export{RightMenu}from'./Layout/GlobalHeader/RightMenu.js';export{ThemeProviderTailwind,useTheme}from'./ThemeProvider/ThemeProvider.js';export{ThemeToggle}from'./ThemeProvider/ThemeToggle.js';//# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AA0BA,QAAA,MAAM,aAAa,0CAA0C,CAAC;AAG9D,QAAA,MAAM,cAAc,0CAA2C,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AA2BA,QAAA,MAAM,aAAa,0CAA0C,CAAC;AAG9D,QAAA,MAAM,cAAc,0CAA2C,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"oJAEA,MAAM,GAAG,GAAG,aAAa;AAEzB,MAAM,qBAAqB,GAAU,CAAA;AACjC,EAAA,GAAA,EAAA,GAAA;AACI,EAAA,IAAA,EAAA,aAAQ;AACR,EAAA,IAAA,EAAA,MAAM,CAAa,WAAA;QACnB,UAAY;AACZ,EAAA,gBAAgB,EAAA,CAAA,GAAA,CAAA;SACA,KAAA;AAChB,EAAA,SAAA,EAAK,MAAO,OAAA,0CAAA;AACZ,CAAA,EAAA;AACH,EAAA,GAAA,EAAA,0BAAA;AACD,EAAA,aAAA,EAAA,IAAA;AACI,EAAA,IAAA,EAAA,wBAA+B;AAC/B,EAAA,eAAA,EAAA,IAAe;AACf,EAAA,IAAA,EAAA;AACA,EAAA,SAAA,EAAA,MAAA,OAAqB,+DAAA,CAAA;AACrB,EAAA,IAAA,EAAA;AACA,CAAA,CAAA;AACA;AACH,gBAAA,CAAA,qBAAA;;AAGO,MAAA,cAAA,GAAA,iBAAA,CAAA,qBAAA"}
1
+ {"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"oJAGA,MAAM,GAAG,GAAG,aAAa;AAEzB,MAAM,qBAAqB,GAAU,CAAA;AACjC,EAAA,GAAA,EAAA,GAAA;AACI,EAAA,IAAA,EAAA,aAAQ;AACR,EAAA,IAAA,EAAA,MAAM,CAAa,WAAA;QACnB,UAAY;AACZ,EAAA,gBAAgB,EAAA,CAAA,GAAA,CAAA;SACA,KAAA;AAChB,EAAA,SAAA,EAAK,MAAO,OAAA,0CAAA;AACZ,CAAA,EAAA;AACH,EAAA,GAAA,EAAA,0BAAA;AACD,EAAA,aAAA,EAAA,IAAA;AACI,EAAA,IAAA,EAAA,wBAA+B;AAC/B,EAAA,eAAA,EAAA,IAAe;AACf,EAAA,IAAA,EAAA;AACA,EAAA,SAAA,EAAA,MAAA,OAAqB,+DAAA,CAAA;AACrB,EAAA,IAAA,EAAA;AACA,CAAA,CAAA;AACA;AACH,gBAAA,CAAA,qBAAA;;AAGO,MAAA,cAAA,GAAA,iBAAA,CAAA,qBAAA"}
@@ -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"}
@@ -15,5 +15,8 @@ export declare const config: Readonly<{
15
15
  BOOKING_COM_DEFAULT_PAGE_SIZE: number;
16
16
  PRICELINE_API_KEY: string;
17
17
  DEFAULT_COORDINATES: string;
18
+ ENABLE_SETTING_DRAWER: boolean;
19
+ GOOGLE_ANALYTICS_ID: string;
20
+ RAPID_API_KEY: string;
18
21
  } & import("envalid").CleanedEnvAccessors>;
19
22
  //# sourceMappingURL=env-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;0CAoCjB,CAAC"}
1
+ {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;0CAuCjB,CAAC"}
@@ -1,4 +1,4 @@
1
- import {cleanEnv,str,num,bool}from'envalid';import {getEnvironment}from'@common-stack/core';import {SCROLL_THRESHOLD,LAYOUT_SETTINGS}from'./constants.js';const env = getEnvironment();
1
+ import {cleanEnv,str,bool,num}from'envalid';import {getEnvironment}from'@common-stack/core';import {SCROLL_THRESHOLD,LAYOUT_SETTINGS}from'./constants.js';const env = getEnvironment();
2
2
  const defaultScrollThreshold = JSON.stringify({
3
3
  MIN: SCROLL_THRESHOLD.MIN,
4
4
  MAX: SCROLL_THRESHOLD.MAX,
@@ -68,5 +68,15 @@ const config = cleanEnv(env, {
68
68
  DEFAULT_COORDINATES: str({
69
69
  default: '{"lat":40.7127281,"lng":-74.0060152}',
70
70
  desc: 'Default coordinates for property search'
71
+ }),
72
+ ENABLE_SETTING_DRAWER: bool({
73
+ default: false,
74
+ desc: 'Enable setting drawer'
75
+ }),
76
+ GOOGLE_ANALYTICS_ID: str({
77
+ default: 'G-L5J3SYZ69C'
78
+ }),
79
+ RAPID_API_KEY: str({
80
+ default: '7c2d15ba29msh468be2f129d847cp183e95jsnc7c279116f6e'
71
81
  })
72
82
  });export{config};//# sourceMappingURL=env-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"0JAIA,MAAM,GAAG,GAAG,cAAc,EAAE;AAE5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;KACvC,EAAA,gBAAkB,CAAA,GAAI;KACtB,EAAA,gBAAkB,CAAA,GAAI;MACrB,EAAA,gBAAkB,CAAA,IAAK;SACpB,EAAA,gBAAkB,CAAA;AAC5B,CAAA,CAAC;AAEW,MAAA,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;AAChC,EAAA,WAAA,EAAW,GAAE,CAAA;AACb,IAAA,OAAA,EAAA,aAAA;AACA,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;AACA,EAAA,gCAA4B,EAAI,IAAS,CAAA;AACzC,IAAA,OAAA,EAAA,KAAc;AACd,IAAA,IAAA,EAAA;AAEA,GAAA,CAAA;kBACmB,EAAA,GAAA,CAAA;IACnB,OAAiC,EAAA,sBAAA;AAC7B,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;iBACF,EAAA,GAAA,CAAA;IACF,OAAkC,EAAA,IAAA,CAAA,SAAA,CAAA,eAAK,CAAC;AACpC,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;4BACF,EAAA,GAAA,CAAA;IACF,OAA8B,EAAA,EAAA;QAC1B,EAAO;AACP,GAAA,CAAA;gBACF,EAAA,GAAA,CAAA;IACF,OAA0B,EAAA,EAAA;AACtB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;qBACF,EAAA,GAAA,CAAA;IACF,OAA6B,EAAA,EAAA;AACzB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;eACF,EAAA,GAAA,CAAA;IACF,OAAiB,EAAA,SAAA;IACjB,IAAmB,EAAA;AACf,GAAA,CAAA;AACA,EAAA,mBAA+C,EAAA,GAAA,CAAA;WACjD,EAAA;AACL,GAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"0JAIA,MAAM,GAAG,GAAG,cAAc,EAAE;AAE5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;KACvC,EAAA,gBAAkB,CAAA,GAAI;KACtB,EAAA,gBAAkB,CAAA,GAAI;MACrB,EAAA,gBAAkB,CAAA,IAAK;SACpB,EAAA,gBAAkB,CAAA;AAC5B,CAAA,CAAC;AAEW,MAAA,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;AAChC,EAAA,WAAA,EAAW,GAAE,CAAA;AACb,IAAA,OAAA,EAAA,aAAA;AACA,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;AACA,EAAA,gCAA4B,EAAI,IAAS,CAAA;AACzC,IAAA,OAAA,EAAA,KAAc;AACd,IAAA,IAAA,EAAA;AAEA,GAAA,CAAA;kBACmB,EAAA,GAAA,CAAA;IACnB,OAAiC,EAAA,sBAAA;AAC7B,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;iBACF,EAAA,GAAA,CAAA;IACF,OAAkC,EAAA,IAAA,CAAA,SAAA,CAAA,eAAK,CAAC;AACpC,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;4BACF,EAAA,GAAA,CAAA;IACF,OAA8B,EAAA,EAAA;QAC1B,EAAO;AACP,GAAA,CAAA;gBACF,EAAA,GAAA,CAAA;IACF,OAA0B,EAAA,EAAA;AACtB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;qBACF,EAAA,GAAA,CAAA;IACF,OAA6B,EAAA,EAAA;AACzB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;eACF,EAAA,GAAA,CAAA;IACF,OAAiB,EAAA,SAAA;IACjB,IAAmB,EAAA;AACf,GAAA,CAAA;AACA,EAAA,mBAA+C,EAAA,GAAA,CAAA;WACjD,EAAA;AACF,GAAA,CAAA;wCACoC,CAAA;IACpC,OAAa,EAAA,EAAA;AAChB,IAAE,IAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settingsMachine.d.ts","sourceRoot":"","sources":["../../src/machines/settingsMachine.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,YAAY,EACZ,eAAe,EAMlB,MAAM,SAAS,CAAC;AAyFjB,eAAO,MAAM,eAAe;cAON,eAAe;oBACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;sEAiNlE,CAAC"}
1
+ {"version":3,"file":"settingsMachine.d.ts","sourceRoot":"","sources":["../../src/machines/settingsMachine.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,YAAY,EACZ,eAAe,EAMlB,MAAM,SAAS,CAAC;AAyFjB,eAAO,MAAM,eAAe;cAMN,eAAe;oBACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;sEAsIlE,CAAC"}