mautourco-components 0.2.78 → 0.2.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/organisms/CarBookingCard/CarBookingCard.js +4 -0
- package/package.json +2 -1
- package/src/components/organisms/CarBookingCard/CarBookingCard.tsx +5 -0
- package/src/types/docket/docket.types.ts +13 -0
- package/src/types/docket/services.types.ts +142 -0
- package/src/types/table/action-dropdown-type.types.ts +6 -0
- package/src/types/table/booking.types.ts +32 -0
- package/src/types/table/detail-resume.types.ts +172 -0
- package/src/types/table/index.ts +3 -0
- package/src/types/table/quotation.types.ts +24 -0
|
@@ -28,6 +28,10 @@ var CarBookingCard = function (_a) {
|
|
|
28
28
|
var _u = useState([]), selectedSupplements = _u[0], setSelectedSupplements = _u[1];
|
|
29
29
|
var dropdownRef = useRef(null);
|
|
30
30
|
var panelRef = useRef(null);
|
|
31
|
+
// Synchronize internal isSelected state with the state prop when it changes from parent
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
setIsSelected(state === 'selected');
|
|
34
|
+
}, [state]);
|
|
31
35
|
var resolvedShowSupplement = showSupplement !== null && showSupplement !== void 0 ? showSupplement : Boolean(supplements.length > 0 && transfers.length > 0);
|
|
32
36
|
var hasSupplementsSelected = selectedSupplements.some(function (s) { return s.value > 0; });
|
|
33
37
|
// Close dropdown when clicking outside
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mautourco-components",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.80",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Bibliothèque de composants Mautourco pour le redesign",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"files": [
|
|
12
12
|
"dist",
|
|
13
13
|
"src/components",
|
|
14
|
+
"src/types",
|
|
14
15
|
"src/styles",
|
|
15
16
|
"README.md"
|
|
16
17
|
],
|
|
@@ -104,6 +104,11 @@ const CarBookingCard: React.FC<CarBookingCardProps> = ({
|
|
|
104
104
|
const dropdownRef = useRef<HTMLDivElement>(null);
|
|
105
105
|
const panelRef = useRef<HTMLDivElement>(null);
|
|
106
106
|
|
|
107
|
+
// Synchronize internal isSelected state with the state prop when it changes from parent
|
|
108
|
+
useEffect(() => {
|
|
109
|
+
setIsSelected(state === 'selected');
|
|
110
|
+
}, [state]);
|
|
111
|
+
|
|
107
112
|
const resolvedShowSupplement =
|
|
108
113
|
showSupplement ?? Boolean(supplements.length > 0 && transfers.length > 0);
|
|
109
114
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ServiceDocket } from './services.types';
|
|
2
|
+
|
|
3
|
+
export interface DocketPrice {
|
|
4
|
+
currency: string;
|
|
5
|
+
amount: number;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface Docket {
|
|
9
|
+
id: number | string;
|
|
10
|
+
services: ServiceDocket[];
|
|
11
|
+
prices: DocketPrice[];
|
|
12
|
+
dockets?: Docket[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { CancellationPolicy, Offer } from '../table';
|
|
2
|
+
|
|
3
|
+
type ServiceType = 'accommodation' | 'transfer' | 'excursion' | 'otherService';
|
|
4
|
+
export interface ServiceDocket {
|
|
5
|
+
type: ServiceType;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface HotelAmenity {
|
|
9
|
+
AmenityIcon: string;
|
|
10
|
+
AmenityName: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface RoomDocket {
|
|
14
|
+
room_detail_id?: number;
|
|
15
|
+
Dates: string[];
|
|
16
|
+
RoomName?: string;
|
|
17
|
+
RoomPrice?: number;
|
|
18
|
+
RoomAmenities?: Record<string, any>;
|
|
19
|
+
RoomImage?: string;
|
|
20
|
+
AdultCount?: number;
|
|
21
|
+
TeenCount?: number;
|
|
22
|
+
ChildCount?: number;
|
|
23
|
+
InfantCount?: number;
|
|
24
|
+
MealPlan?: string;
|
|
25
|
+
Mealsupplement?: number;
|
|
26
|
+
quotationPrice?: number;
|
|
27
|
+
ClientType?: string;
|
|
28
|
+
cancellation_policy?: CancellationPolicy[];
|
|
29
|
+
Offers?: Offer[];
|
|
30
|
+
Status?: string;
|
|
31
|
+
Mandatory?: any[];
|
|
32
|
+
paxAge?: any[];
|
|
33
|
+
isEmpty?: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface AccomodationDocket extends ServiceDocket {
|
|
37
|
+
type: 'accommodation';
|
|
38
|
+
HotelName: string;
|
|
39
|
+
HotelId: number;
|
|
40
|
+
HotelAmenities: HotelAmenity[];
|
|
41
|
+
Dates: [string, string];
|
|
42
|
+
Images: string[];
|
|
43
|
+
Total: string;
|
|
44
|
+
Currency: string;
|
|
45
|
+
Description: string;
|
|
46
|
+
TitleDescription: string;
|
|
47
|
+
Rooms: RoomDocket[];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface TransferDocket extends ServiceDocket {
|
|
51
|
+
type: 'transfer';
|
|
52
|
+
IdTransfer: number;
|
|
53
|
+
TransferDate: string;
|
|
54
|
+
TransferTime: string;
|
|
55
|
+
TransferType: string;
|
|
56
|
+
|
|
57
|
+
LocationFromId: number;
|
|
58
|
+
LocationFromName: string;
|
|
59
|
+
LocationFromDetails: string;
|
|
60
|
+
|
|
61
|
+
LocationToId: number;
|
|
62
|
+
LocationToName: string;
|
|
63
|
+
LocationToDetails: string;
|
|
64
|
+
|
|
65
|
+
Currency: string;
|
|
66
|
+
TotalPrice: number;
|
|
67
|
+
|
|
68
|
+
AdultCount: number;
|
|
69
|
+
TeenCount: number;
|
|
70
|
+
ChildCount: number;
|
|
71
|
+
InfantCount: number;
|
|
72
|
+
|
|
73
|
+
VehicleTypeId: number;
|
|
74
|
+
VehicleTypeName: string;
|
|
75
|
+
vehicleTypeCategory: string;
|
|
76
|
+
Vehicle_type: string;
|
|
77
|
+
capacity: number;
|
|
78
|
+
|
|
79
|
+
CarCount: number;
|
|
80
|
+
Car_selected: boolean;
|
|
81
|
+
luggage: any[];
|
|
82
|
+
LuggageTruck: number;
|
|
83
|
+
LuggageCar: number;
|
|
84
|
+
baby_seat_count: number;
|
|
85
|
+
|
|
86
|
+
HandlingFee: string;
|
|
87
|
+
HandlingFeeAdult: number;
|
|
88
|
+
HandlingFeeChild: number;
|
|
89
|
+
HandlingFeeDetails: string | null;
|
|
90
|
+
HandlingType: string;
|
|
91
|
+
|
|
92
|
+
Remarks: string;
|
|
93
|
+
Flight: string;
|
|
94
|
+
Pic_url: string;
|
|
95
|
+
|
|
96
|
+
IsSearched: boolean;
|
|
97
|
+
IsFieldManually: boolean;
|
|
98
|
+
|
|
99
|
+
paxAge: any[];
|
|
100
|
+
|
|
101
|
+
otherServices: {
|
|
102
|
+
serviceDetailID: number;
|
|
103
|
+
serviceID: number;
|
|
104
|
+
clientRefs: any[];
|
|
105
|
+
}[];
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export interface ExcursionDocket extends ServiceDocket {
|
|
109
|
+
type: 'excursion';
|
|
110
|
+
ExcursionID: number;
|
|
111
|
+
ExcursionName: string;
|
|
112
|
+
ServiceDate: string;
|
|
113
|
+
SelectedHotel?: string;
|
|
114
|
+
SelectedHotelDetails?: string;
|
|
115
|
+
Currency: string;
|
|
116
|
+
TotalPrice: string | number;
|
|
117
|
+
AdultCount: number;
|
|
118
|
+
TeenCount?: number;
|
|
119
|
+
ChildCount?: number;
|
|
120
|
+
InfantCount?: number;
|
|
121
|
+
Duration?: string;
|
|
122
|
+
MealIncluded?: boolean;
|
|
123
|
+
Meal?: string;
|
|
124
|
+
Accessibility?: string;
|
|
125
|
+
VehicleType?: string;
|
|
126
|
+
VehicleTypeName?: string;
|
|
127
|
+
paxAge?: any[];
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface OtherServiceDocket extends ServiceDocket {
|
|
131
|
+
type: 'otherService';
|
|
132
|
+
service_detail_id: number;
|
|
133
|
+
service_for: string;
|
|
134
|
+
service_date?: string;
|
|
135
|
+
Currency: string;
|
|
136
|
+
TotalPrice: string | number;
|
|
137
|
+
AdultCount: number;
|
|
138
|
+
TeenCount?: number;
|
|
139
|
+
ChildCount?: number;
|
|
140
|
+
InfantCount?: number;
|
|
141
|
+
paxAge?: any[];
|
|
142
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TableRowData } from '../../components/organisms/Table/Table';
|
|
2
|
+
|
|
3
|
+
export interface BookingListItem extends TableRowData<BookingListItem> {
|
|
4
|
+
agency_name: string;
|
|
5
|
+
created_by: string;
|
|
6
|
+
created_date: string;
|
|
7
|
+
status: string;
|
|
8
|
+
file_name: string;
|
|
9
|
+
booking_id: number;
|
|
10
|
+
date: string[];
|
|
11
|
+
pax_details: {
|
|
12
|
+
adult: number;
|
|
13
|
+
teen: number;
|
|
14
|
+
child: number;
|
|
15
|
+
infant: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface BookingPaxAge {
|
|
20
|
+
age: string | number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface BookingPax {
|
|
24
|
+
adult: BookingPaxAge[];
|
|
25
|
+
teen: BookingPaxAge[];
|
|
26
|
+
child: BookingPaxAge[];
|
|
27
|
+
infant: BookingPaxAge[];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface BookingPaxDetail {
|
|
31
|
+
pax: BookingPax[];
|
|
32
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { TableRowData } from '../../components/organisms/Table/Table';
|
|
2
|
+
|
|
3
|
+
export enum ServiceType {
|
|
4
|
+
ACCOMMODATION = 'accommodation',
|
|
5
|
+
TRANSFER = 'transfer',
|
|
6
|
+
EXCURSION = 'excursion',
|
|
7
|
+
OTHER_SERVICE = 'otherService',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface HotelAmenity {
|
|
11
|
+
AmenityIcon: string;
|
|
12
|
+
AmenityName: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface CancellationPolicy {
|
|
16
|
+
Description: string;
|
|
17
|
+
Value: number;
|
|
18
|
+
ValidFrom: string;
|
|
19
|
+
ValidTo: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface Offer {
|
|
23
|
+
OfferId: number;
|
|
24
|
+
OfferValue: number;
|
|
25
|
+
OfferName: string;
|
|
26
|
+
OfferType: string;
|
|
27
|
+
OfferDescription: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface RoomItem {
|
|
31
|
+
RoomDetailId: number;
|
|
32
|
+
Offers: Offer[];
|
|
33
|
+
Mandatory: any[];
|
|
34
|
+
RoomStatus: string;
|
|
35
|
+
RoomName: string;
|
|
36
|
+
RoomAmenities: Record<string, any>;
|
|
37
|
+
RoomImage: string;
|
|
38
|
+
AdultCount: number;
|
|
39
|
+
TeenCount: number;
|
|
40
|
+
ChildCount: number;
|
|
41
|
+
InfantCount: number;
|
|
42
|
+
MealPlanId: number;
|
|
43
|
+
MealPlan: string;
|
|
44
|
+
cancellation_policy: CancellationPolicy[];
|
|
45
|
+
ClientCategory: string;
|
|
46
|
+
Total: string;
|
|
47
|
+
GroupingUuid: string;
|
|
48
|
+
ClientDetails: any[];
|
|
49
|
+
ChildAge?: number[];
|
|
50
|
+
TeenAge?: number[];
|
|
51
|
+
InfantAge?: number[];
|
|
52
|
+
Dates: string[];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface Room extends TableRowData<DetailResumeItem>, RoomItem {}
|
|
56
|
+
|
|
57
|
+
export interface DetailResumeAccommodation
|
|
58
|
+
extends TableRowData<DetailResumeItem>, Partial<Room> {
|
|
59
|
+
Type: ServiceType;
|
|
60
|
+
HotelId: number;
|
|
61
|
+
HotelName: string;
|
|
62
|
+
HotelAmenities: HotelAmenity[];
|
|
63
|
+
MainImage: string;
|
|
64
|
+
Images: string[];
|
|
65
|
+
Total: string;
|
|
66
|
+
Currency: string;
|
|
67
|
+
Description: string;
|
|
68
|
+
TitleDescription: string;
|
|
69
|
+
Rooms: Room[];
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export interface DetailResumeTransfer extends TableRowData<DetailResumeItem> {
|
|
73
|
+
Type: ServiceType;
|
|
74
|
+
ServiceId: number;
|
|
75
|
+
TransferType: 'ARV' | 'DEP' | string;
|
|
76
|
+
LocationFromId: number;
|
|
77
|
+
LocationToId: number;
|
|
78
|
+
Remarks: string | null;
|
|
79
|
+
Flight: any | null;
|
|
80
|
+
TransferCategoryId: number;
|
|
81
|
+
VehicleTypeId: number;
|
|
82
|
+
Currency: string;
|
|
83
|
+
TotalPrice: string;
|
|
84
|
+
TransferDate: string;
|
|
85
|
+
TransferTime: string;
|
|
86
|
+
AdultCount: number;
|
|
87
|
+
TeenCount: number;
|
|
88
|
+
ChildCount: number;
|
|
89
|
+
InfantCount: number;
|
|
90
|
+
BabySeat: number;
|
|
91
|
+
AirConditionning: boolean;
|
|
92
|
+
LuggageTruck: number;
|
|
93
|
+
LuggageCar: number;
|
|
94
|
+
CarCount: number;
|
|
95
|
+
ChildAge: number[];
|
|
96
|
+
TeenAge: number[];
|
|
97
|
+
InfantAge: number[];
|
|
98
|
+
HandlingFee: string;
|
|
99
|
+
VehicleImage: string;
|
|
100
|
+
MaxLuggage: string;
|
|
101
|
+
BabySeatId: number;
|
|
102
|
+
BabySeatDetailId: number;
|
|
103
|
+
TransferCategoryName: string;
|
|
104
|
+
VehicleTypeName: string;
|
|
105
|
+
LocationFromName: string;
|
|
106
|
+
LocationFromDetails: string;
|
|
107
|
+
LocationToName: string;
|
|
108
|
+
LocationToDetails: string;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export interface DetailResumeExcursion extends TableRowData<DetailResumeItem> {
|
|
112
|
+
Type: ServiceType;
|
|
113
|
+
ServiceId: number;
|
|
114
|
+
ExcursionID: number;
|
|
115
|
+
ExcursionCategoryID: number;
|
|
116
|
+
ServiceDate: string;
|
|
117
|
+
SelectedHotelId: number;
|
|
118
|
+
Currency: string;
|
|
119
|
+
SelectedHotel: string;
|
|
120
|
+
SelectedHotelDetails: string;
|
|
121
|
+
LocationToName: string;
|
|
122
|
+
LocationToDetails: string;
|
|
123
|
+
ToursType: string;
|
|
124
|
+
Remarks: string;
|
|
125
|
+
ClientDetails: any[];
|
|
126
|
+
AdultCount: number;
|
|
127
|
+
TeenCount: number;
|
|
128
|
+
ChildCount: number;
|
|
129
|
+
InfantCount: number;
|
|
130
|
+
TotalPrice: string;
|
|
131
|
+
Description: string;
|
|
132
|
+
TransferType: string;
|
|
133
|
+
AvailableLanguages: string[];
|
|
134
|
+
Duration: string;
|
|
135
|
+
ExcursionName: string;
|
|
136
|
+
MealIncluded: boolean;
|
|
137
|
+
ServiceName: string;
|
|
138
|
+
TransferIncluded: boolean;
|
|
139
|
+
Tagline: string;
|
|
140
|
+
Region: string;
|
|
141
|
+
MiniDescription: string;
|
|
142
|
+
CancellationPolicy: string;
|
|
143
|
+
MainExcursionImage: string;
|
|
144
|
+
Accessibility: string;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export interface DetailResumeOtherService extends TableRowData<DetailResumeItem> {
|
|
148
|
+
Type: ServiceType;
|
|
149
|
+
quote: number;
|
|
150
|
+
service_for: string;
|
|
151
|
+
service_detail_id: number;
|
|
152
|
+
service_date: string;
|
|
153
|
+
remarks: string;
|
|
154
|
+
currency: string;
|
|
155
|
+
unit: number;
|
|
156
|
+
adult_pax: number;
|
|
157
|
+
child_pax: number;
|
|
158
|
+
teen_pax: number;
|
|
159
|
+
infant_pax: number;
|
|
160
|
+
child_age: number[] | null;
|
|
161
|
+
teen_age: number[] | null;
|
|
162
|
+
infant_age: number[] | null;
|
|
163
|
+
total_price: string;
|
|
164
|
+
created_at: string;
|
|
165
|
+
active: number;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export type DetailResumeItem =
|
|
169
|
+
| DetailResumeAccommodation
|
|
170
|
+
| DetailResumeTransfer
|
|
171
|
+
| DetailResumeExcursion
|
|
172
|
+
| DetailResumeOtherService;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TableRowData } from '../../components/organisms/Table/Table';
|
|
2
|
+
|
|
3
|
+
export interface QuotationListItem extends TableRowData<QuotationListItem> {
|
|
4
|
+
agency_name: string;
|
|
5
|
+
client_type: string;
|
|
6
|
+
created_by: string;
|
|
7
|
+
created_date: string;
|
|
8
|
+
status: string;
|
|
9
|
+
file_name: string;
|
|
10
|
+
file_nb: string;
|
|
11
|
+
date: string[];
|
|
12
|
+
service_count: {
|
|
13
|
+
accom_count: number;
|
|
14
|
+
transfer_count: number;
|
|
15
|
+
tours_count: number;
|
|
16
|
+
others_count: number;
|
|
17
|
+
};
|
|
18
|
+
pax_details: {
|
|
19
|
+
adult: number;
|
|
20
|
+
teen: number;
|
|
21
|
+
child: number;
|
|
22
|
+
infant: number;
|
|
23
|
+
};
|
|
24
|
+
}
|