@asdp/ferryui 0.1.22-dev.8945 → 0.1.22-dev.8978
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/index.d.mts +60 -52
- package/dist/index.d.ts +60 -52
- package/dist/index.js +149 -140
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +150 -140
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4386,7 +4386,8 @@ var DEFAULT_LABELS10 = {
|
|
|
4386
4386
|
allHarborsHeader: "Semua Pelabuhan",
|
|
4387
4387
|
loadingData: "Memuat data...",
|
|
4388
4388
|
harborNotFound: "Pelabuhan tidak ditemukan",
|
|
4389
|
-
closeAriaLabel: "Tutup"
|
|
4389
|
+
closeAriaLabel: "Tutup",
|
|
4390
|
+
popularHarborHeader: "Pelabuhan Populer"
|
|
4390
4391
|
},
|
|
4391
4392
|
en: {
|
|
4392
4393
|
title: "Select Harbor",
|
|
@@ -4396,7 +4397,8 @@ var DEFAULT_LABELS10 = {
|
|
|
4396
4397
|
allHarborsHeader: "All Harbors",
|
|
4397
4398
|
loadingData: "Loading data...",
|
|
4398
4399
|
harborNotFound: "Harbor not found",
|
|
4399
|
-
closeAriaLabel: "Close"
|
|
4400
|
+
closeAriaLabel: "Close",
|
|
4401
|
+
popularHarborHeader: "Popular Harbor"
|
|
4400
4402
|
}
|
|
4401
4403
|
};
|
|
4402
4404
|
var useStyles10 = makeStyles({
|
|
@@ -4473,8 +4475,8 @@ var useStyles10 = makeStyles({
|
|
|
4473
4475
|
headerRow: {
|
|
4474
4476
|
display: "flex",
|
|
4475
4477
|
justifyContent: "space-between",
|
|
4476
|
-
marginTop: "1rem"
|
|
4477
|
-
marginBottom: "1rem"
|
|
4478
|
+
marginTop: "1rem"
|
|
4479
|
+
// marginBottom: "1rem",
|
|
4478
4480
|
},
|
|
4479
4481
|
dangerText: {
|
|
4480
4482
|
color: tokens.colorStatusDangerForeground1
|
|
@@ -4528,7 +4530,8 @@ var ModalSearchHarbor = ({
|
|
|
4528
4530
|
onToggleFavorite,
|
|
4529
4531
|
onAddLastSearched,
|
|
4530
4532
|
onRemoveLastSearched,
|
|
4531
|
-
onClearLastSearched
|
|
4533
|
+
onClearLastSearched,
|
|
4534
|
+
popularHarbors
|
|
4532
4535
|
}) => {
|
|
4533
4536
|
const styles = useStyles10();
|
|
4534
4537
|
const mergedLabels = { ...DEFAULT_LABELS10[language], ...labels };
|
|
@@ -4594,9 +4597,9 @@ var ModalSearchHarbor = ({
|
|
|
4594
4597
|
iconPosition: "before",
|
|
4595
4598
|
className: styles.circularButton,
|
|
4596
4599
|
icon: /* @__PURE__ */ jsx(Icon, { icon: "fluent:ribbon-20-filled" }),
|
|
4597
|
-
children: /* @__PURE__ */ jsx(Body1, { children: harbor.
|
|
4600
|
+
children: /* @__PURE__ */ jsx(Body1, { children: harbor.portName + ", " + harbor.branchName })
|
|
4598
4601
|
},
|
|
4599
|
-
harbor.
|
|
4602
|
+
harbor.portId
|
|
4600
4603
|
)) }),
|
|
4601
4604
|
/* @__PURE__ */ jsx(Divider, {}),
|
|
4602
4605
|
/* @__PURE__ */ jsxs("div", { className: styles.resultList, children: [
|
|
@@ -4626,20 +4629,41 @@ var ModalSearchHarbor = ({
|
|
|
4626
4629
|
className: styles.iconMargin
|
|
4627
4630
|
}
|
|
4628
4631
|
),
|
|
4629
|
-
harbor.
|
|
4632
|
+
harbor.portName + ", " + harbor.branchName
|
|
4630
4633
|
]
|
|
4631
4634
|
}
|
|
4632
4635
|
),
|
|
4633
4636
|
/* @__PURE__ */ jsx(
|
|
4634
4637
|
Icon,
|
|
4635
4638
|
{
|
|
4636
|
-
onClick: () => onRemoveLastSearched(harbor
|
|
4639
|
+
onClick: () => onRemoveLastSearched(harbor),
|
|
4637
4640
|
icon: "fluent:dismiss-24-regular",
|
|
4638
4641
|
color: tokens.colorStatusDangerForeground1,
|
|
4639
4642
|
className: styles.cursorPointer
|
|
4640
4643
|
}
|
|
4641
4644
|
)
|
|
4642
|
-
] }, harbor.
|
|
4645
|
+
] }, harbor.portId)) }),
|
|
4646
|
+
/* @__PURE__ */ jsx(Divider, {})
|
|
4647
|
+
] }),
|
|
4648
|
+
popularHarbors.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4649
|
+
/* @__PURE__ */ jsx("div", { className: styles.headerRow, children: /* @__PURE__ */ jsx(Body1Strong, { children: mergedLabels.popularHarborHeader }) }),
|
|
4650
|
+
/* @__PURE__ */ jsx("div", { children: popularHarbors.map((harbor) => /* @__PURE__ */ jsx("div", { className: styles.historyItem, children: /* @__PURE__ */ jsxs(
|
|
4651
|
+
"div",
|
|
4652
|
+
{
|
|
4653
|
+
style: { cursor: "pointer" },
|
|
4654
|
+
onClick: () => handleSelect(harbor),
|
|
4655
|
+
children: [
|
|
4656
|
+
/* @__PURE__ */ jsx(
|
|
4657
|
+
Icon,
|
|
4658
|
+
{
|
|
4659
|
+
icon: "fluent:vehicle-ship-24-regular",
|
|
4660
|
+
className: styles.iconMargin
|
|
4661
|
+
}
|
|
4662
|
+
),
|
|
4663
|
+
harbor.portName + ", " + harbor.branchName
|
|
4664
|
+
]
|
|
4665
|
+
}
|
|
4666
|
+
) }, harbor.portId)) }),
|
|
4643
4667
|
/* @__PURE__ */ jsx(Divider, {})
|
|
4644
4668
|
] }),
|
|
4645
4669
|
/* @__PURE__ */ jsx(Body1Strong, { className: styles.sectionTitle, children: mergedLabels.allHarborsHeader }),
|
|
@@ -4657,14 +4681,14 @@ var ModalSearchHarbor = ({
|
|
|
4657
4681
|
className: styles.iconMargin
|
|
4658
4682
|
}
|
|
4659
4683
|
),
|
|
4660
|
-
harbor.
|
|
4684
|
+
harbor.portName + ", " + harbor.branchName
|
|
4661
4685
|
]
|
|
4662
4686
|
}
|
|
4663
4687
|
),
|
|
4664
4688
|
/* @__PURE__ */ jsx(
|
|
4665
4689
|
Icon,
|
|
4666
4690
|
{
|
|
4667
|
-
icon:
|
|
4691
|
+
icon: harbor.isFavorite ? "fluent:star-24-filled" : "fluent:star-24-regular",
|
|
4668
4692
|
color: tokens.colorBrandBackground,
|
|
4669
4693
|
className: styles.cursorPointer,
|
|
4670
4694
|
onClick: () => onToggleFavorite(harbor)
|
|
@@ -5212,7 +5236,6 @@ var ModalService = ({
|
|
|
5212
5236
|
"div",
|
|
5213
5237
|
{
|
|
5214
5238
|
className: styles.serviceItem,
|
|
5215
|
-
onClick: () => handleToggleService(service.serviceTypeId),
|
|
5216
5239
|
children: [
|
|
5217
5240
|
/* @__PURE__ */ jsxs("div", { className: styles.serviceContent, children: [
|
|
5218
5241
|
/* @__PURE__ */ jsx(Body1, { className: styles.serviceName, children: service.serviceTypeName }),
|
|
@@ -5253,9 +5276,6 @@ var DEFAULT_LABELS13 = {
|
|
|
5253
5276
|
infoMessage: "Anda dapat menambahkan hingga {maxPassengers} penumpang pada golongan kendaraan ini.",
|
|
5254
5277
|
loading: "Memuat...",
|
|
5255
5278
|
saveButton: "Simpan",
|
|
5256
|
-
economy: "Ekonomi",
|
|
5257
|
-
business: "Bisnis",
|
|
5258
|
-
executive: "Eksekutif",
|
|
5259
5279
|
closeAriaLabel: "Tutup"
|
|
5260
5280
|
},
|
|
5261
5281
|
en: {
|
|
@@ -5263,17 +5283,9 @@ var DEFAULT_LABELS13 = {
|
|
|
5263
5283
|
infoMessage: "You can add up to {maxPassengers} passengers in this vehicle category.",
|
|
5264
5284
|
loading: "Loading...",
|
|
5265
5285
|
saveButton: "Save",
|
|
5266
|
-
economy: "Economy",
|
|
5267
|
-
business: "Business",
|
|
5268
|
-
executive: "Executive",
|
|
5269
5286
|
closeAriaLabel: "Close"
|
|
5270
5287
|
}
|
|
5271
5288
|
};
|
|
5272
|
-
var DEFAULT_SERVICE_CLASSES = [
|
|
5273
|
-
{ id: 1, name: "Ekonomi", key: "ekonomi", serviceName: "ECONOMY", labelKey: "economy" },
|
|
5274
|
-
{ id: 2, name: "Bisnis", key: "bisnis", serviceName: "BUSINESS", labelKey: "business" },
|
|
5275
|
-
{ id: 3, name: "Eksekutif", key: "eksekutif", serviceName: "EXECUTIVE", labelKey: "executive" }
|
|
5276
|
-
];
|
|
5277
5289
|
var useStyles13 = makeStyles({
|
|
5278
5290
|
dialogSurface: {
|
|
5279
5291
|
maxWidth: "600px",
|
|
@@ -5348,7 +5360,6 @@ var ModalTotalPassengers = ({
|
|
|
5348
5360
|
onClose,
|
|
5349
5361
|
title,
|
|
5350
5362
|
passengerTypes,
|
|
5351
|
-
serviceClasses = DEFAULT_SERVICE_CLASSES,
|
|
5352
5363
|
selectedPassengers,
|
|
5353
5364
|
onSave,
|
|
5354
5365
|
isLoading = false,
|
|
@@ -5367,12 +5378,9 @@ var ModalTotalPassengers = ({
|
|
|
5367
5378
|
if (passengerTypes.length === 0) return;
|
|
5368
5379
|
const defaultPassengers = passengerTypes.map(
|
|
5369
5380
|
(passengerType) => ({
|
|
5370
|
-
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
services: serviceClasses.map((sc) => ({
|
|
5374
|
-
serviceId: sc.id,
|
|
5375
|
-
serviceName: sc.serviceName,
|
|
5381
|
+
...passengerType,
|
|
5382
|
+
classes: (passengerType.classes || []).map((cls) => ({
|
|
5383
|
+
...cls,
|
|
5376
5384
|
count: 0,
|
|
5377
5385
|
passengers: []
|
|
5378
5386
|
}))
|
|
@@ -5380,28 +5388,28 @@ var ModalTotalPassengers = ({
|
|
|
5380
5388
|
);
|
|
5381
5389
|
if (selectedPassengers && selectedPassengers.length > 0) {
|
|
5382
5390
|
const mergedPassengers = defaultPassengers.map((defaultP) => {
|
|
5383
|
-
const selectedP = selectedPassengers
|
|
5384
|
-
(p) => p.
|
|
5391
|
+
const selectedP = selectedPassengers?.find(
|
|
5392
|
+
(p) => p.passengerAgeCode === defaultP.passengerAgeCode
|
|
5385
5393
|
);
|
|
5386
5394
|
if (selectedP) {
|
|
5387
|
-
const
|
|
5388
|
-
const
|
|
5389
|
-
(
|
|
5395
|
+
const mergedClasses = defaultP.classes.map((defaultC) => {
|
|
5396
|
+
const selectedC = selectedP.classes?.find(
|
|
5397
|
+
(c) => c.classCode === defaultC.classCode
|
|
5390
5398
|
);
|
|
5391
|
-
return
|
|
5392
|
-
...
|
|
5393
|
-
count:
|
|
5394
|
-
passengers:
|
|
5395
|
-
} :
|
|
5399
|
+
return selectedC ? {
|
|
5400
|
+
...defaultC,
|
|
5401
|
+
count: selectedC.count,
|
|
5402
|
+
passengers: selectedC.passengers || []
|
|
5403
|
+
} : defaultC;
|
|
5396
5404
|
});
|
|
5397
|
-
return { ...defaultP,
|
|
5405
|
+
return { ...defaultP, classes: mergedClasses };
|
|
5398
5406
|
}
|
|
5399
5407
|
return defaultP;
|
|
5400
5408
|
});
|
|
5401
5409
|
setPassengers(mergedPassengers);
|
|
5402
|
-
const itemsWithData = selectedPassengers.filter((p) => p.
|
|
5410
|
+
const itemsWithData = selectedPassengers.filter((p) => p.classes.some((c) => (c.count ?? 0) > 0)).map((p) => {
|
|
5403
5411
|
const passengerType = passengerTypes.find(
|
|
5404
|
-
(pt) => pt.
|
|
5412
|
+
(pt) => pt.passengerAgeCode === p.passengerAgeCode
|
|
5405
5413
|
);
|
|
5406
5414
|
return passengerType ? String(passengerType.id) : "";
|
|
5407
5415
|
}).filter((id) => id !== "");
|
|
@@ -5410,54 +5418,55 @@ var ModalTotalPassengers = ({
|
|
|
5410
5418
|
setPassengers(defaultPassengers);
|
|
5411
5419
|
setOpenItems([]);
|
|
5412
5420
|
}
|
|
5413
|
-
}, [open, passengerTypes,
|
|
5414
|
-
const getServiceCount = (
|
|
5421
|
+
}, [open, passengerTypes, selectedPassengers]);
|
|
5422
|
+
const getServiceCount = (passengerAgeCode, classCode) => {
|
|
5415
5423
|
const passenger = passengers.find(
|
|
5416
|
-
(p) => p.
|
|
5424
|
+
(p) => p.passengerAgeCode === passengerAgeCode
|
|
5417
5425
|
);
|
|
5418
5426
|
if (!passenger) return 0;
|
|
5419
|
-
const
|
|
5420
|
-
(
|
|
5427
|
+
const cls = passenger.classes.find(
|
|
5428
|
+
(c) => c.classCode === classCode
|
|
5421
5429
|
);
|
|
5422
|
-
return
|
|
5430
|
+
return cls?.count ?? 0;
|
|
5423
5431
|
};
|
|
5424
|
-
const getTotalForType = (
|
|
5432
|
+
const getTotalForType = (passengerAgeCode) => {
|
|
5425
5433
|
const passenger = passengers.find(
|
|
5426
|
-
(p) => p.
|
|
5434
|
+
(p) => p.passengerAgeCode === passengerAgeCode
|
|
5427
5435
|
);
|
|
5428
5436
|
if (!passenger) return "0";
|
|
5429
5437
|
const parts = [];
|
|
5430
|
-
passenger.
|
|
5431
|
-
if (
|
|
5432
|
-
const
|
|
5433
|
-
|
|
5434
|
-
);
|
|
5435
|
-
const serviceName = serviceClass ? mergedLabels[serviceClass.labelKey] : service.serviceName;
|
|
5436
|
-
parts.push(`${service.count} ${serviceName}`);
|
|
5438
|
+
passenger.classes.forEach((cls) => {
|
|
5439
|
+
if ((cls.count ?? 0) > 0) {
|
|
5440
|
+
const displayName = cls.classCode?.toUpperCase();
|
|
5441
|
+
parts.push(`${cls.count} ${displayName}`);
|
|
5437
5442
|
}
|
|
5438
5443
|
});
|
|
5439
5444
|
return parts.length > 0 ? parts.join(", ") : "0";
|
|
5440
5445
|
};
|
|
5441
|
-
const
|
|
5446
|
+
const totalPassengerCount = passengers.reduce(
|
|
5447
|
+
(total, passenger) => total + passenger.classes.reduce((sum, cls) => sum + (cls.count ?? 0), 0),
|
|
5448
|
+
0
|
|
5449
|
+
);
|
|
5450
|
+
const handleIncrement = (passengerAgeCode, classCode) => {
|
|
5442
5451
|
setPassengers(
|
|
5443
5452
|
(prev) => prev.map((passenger) => {
|
|
5444
|
-
if (passenger.
|
|
5453
|
+
if (passenger.passengerAgeCode === passengerAgeCode) {
|
|
5445
5454
|
return {
|
|
5446
5455
|
...passenger,
|
|
5447
|
-
|
|
5448
|
-
if (
|
|
5449
|
-
const newCount =
|
|
5450
|
-
const newPassengers = [...
|
|
5456
|
+
classes: passenger.classes.map((cls) => {
|
|
5457
|
+
if (cls.classCode === classCode) {
|
|
5458
|
+
const newCount = (cls.count ?? 0) + 1;
|
|
5459
|
+
const newPassengers = [...cls.passengers || []];
|
|
5451
5460
|
while (newPassengers.length < newCount) {
|
|
5452
5461
|
newPassengers.push({});
|
|
5453
5462
|
}
|
|
5454
5463
|
return {
|
|
5455
|
-
...
|
|
5464
|
+
...cls,
|
|
5456
5465
|
count: newCount,
|
|
5457
5466
|
passengers: newPassengers
|
|
5458
5467
|
};
|
|
5459
5468
|
}
|
|
5460
|
-
return
|
|
5469
|
+
return cls;
|
|
5461
5470
|
})
|
|
5462
5471
|
};
|
|
5463
5472
|
}
|
|
@@ -5465,26 +5474,26 @@ var ModalTotalPassengers = ({
|
|
|
5465
5474
|
})
|
|
5466
5475
|
);
|
|
5467
5476
|
};
|
|
5468
|
-
const handleDecrement = (
|
|
5477
|
+
const handleDecrement = (passengerAgeCode, classCode) => {
|
|
5469
5478
|
setPassengers(
|
|
5470
5479
|
(prev) => prev.map((passenger) => {
|
|
5471
|
-
if (passenger.
|
|
5480
|
+
if (passenger.passengerAgeCode === passengerAgeCode) {
|
|
5472
5481
|
return {
|
|
5473
5482
|
...passenger,
|
|
5474
|
-
|
|
5475
|
-
if (
|
|
5476
|
-
const newCount =
|
|
5477
|
-
const newPassengers = (
|
|
5483
|
+
classes: passenger.classes.map((cls) => {
|
|
5484
|
+
if (cls.classCode === classCode && (cls.count ?? 0) > 0) {
|
|
5485
|
+
const newCount = (cls.count ?? 0) - 1;
|
|
5486
|
+
const newPassengers = (cls.passengers || []).slice(
|
|
5478
5487
|
0,
|
|
5479
5488
|
newCount
|
|
5480
5489
|
);
|
|
5481
5490
|
return {
|
|
5482
|
-
...
|
|
5491
|
+
...cls,
|
|
5483
5492
|
count: newCount,
|
|
5484
5493
|
passengers: newPassengers
|
|
5485
5494
|
};
|
|
5486
5495
|
}
|
|
5487
|
-
return
|
|
5496
|
+
return cls;
|
|
5488
5497
|
})
|
|
5489
5498
|
};
|
|
5490
5499
|
}
|
|
@@ -5495,8 +5504,8 @@ var ModalTotalPassengers = ({
|
|
|
5495
5504
|
const handleSave = () => {
|
|
5496
5505
|
const filteredPassengers = passengers.map((passenger) => ({
|
|
5497
5506
|
...passenger,
|
|
5498
|
-
|
|
5499
|
-
})).filter((passenger) => passenger.
|
|
5507
|
+
classes: passenger.classes.filter((cls) => (cls.count ?? 0) > 0)
|
|
5508
|
+
})).filter((passenger) => passenger.classes.length > 0);
|
|
5500
5509
|
onSave(filteredPassengers);
|
|
5501
5510
|
};
|
|
5502
5511
|
return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange: (_, data) => !data.open && onClose(), children: /* @__PURE__ */ jsx(DialogSurface, { children: /* @__PURE__ */ jsxs(DialogBody, { children: [
|
|
@@ -5527,6 +5536,7 @@ var ModalTotalPassengers = ({
|
|
|
5527
5536
|
onToggle: (_, data) => setOpenItems(data.openItems),
|
|
5528
5537
|
className: styles.passengerSection,
|
|
5529
5538
|
children: passengerTypes.map((passengerType) => {
|
|
5539
|
+
const classes = passengerType.classes || [];
|
|
5530
5540
|
return /* @__PURE__ */ jsxs(
|
|
5531
5541
|
AccordionItem,
|
|
5532
5542
|
{
|
|
@@ -5539,19 +5549,19 @@ var ModalTotalPassengers = ({
|
|
|
5539
5549
|
className: styles.accordionHeader,
|
|
5540
5550
|
expandIconPosition: "end",
|
|
5541
5551
|
children: [
|
|
5542
|
-
passengerType.
|
|
5552
|
+
passengerType.passengerAgeName,
|
|
5543
5553
|
" (",
|
|
5544
|
-
getTotalForType(passengerType.
|
|
5554
|
+
getTotalForType(passengerType.passengerAgeCode),
|
|
5545
5555
|
")"
|
|
5546
5556
|
]
|
|
5547
5557
|
}
|
|
5548
5558
|
),
|
|
5549
|
-
/* @__PURE__ */ jsx(AccordionPanel, { className: styles.accordionPanel, children: /* @__PURE__ */ jsx("div", { className: styles.nestedSection, children:
|
|
5559
|
+
/* @__PURE__ */ jsx(AccordionPanel, { className: styles.accordionPanel, children: /* @__PURE__ */ jsx("div", { className: styles.nestedSection, children: classes.map((cls) => /* @__PURE__ */ jsxs(
|
|
5550
5560
|
"div",
|
|
5551
5561
|
{
|
|
5552
5562
|
className: styles.nestedRow,
|
|
5553
5563
|
children: [
|
|
5554
|
-
/* @__PURE__ */ jsx(Body1, { children:
|
|
5564
|
+
/* @__PURE__ */ jsx(Body1, { children: cls.classCode.toUpperCase() }),
|
|
5555
5565
|
/* @__PURE__ */ jsxs("div", { className: styles.passengerCount, children: [
|
|
5556
5566
|
/* @__PURE__ */ jsx(
|
|
5557
5567
|
Button,
|
|
@@ -5563,19 +5573,19 @@ var ModalTotalPassengers = ({
|
|
|
5563
5573
|
onClick: (e) => {
|
|
5564
5574
|
e.stopPropagation();
|
|
5565
5575
|
handleDecrement(
|
|
5566
|
-
passengerType.
|
|
5567
|
-
|
|
5576
|
+
passengerType.passengerAgeCode,
|
|
5577
|
+
cls.classCode
|
|
5568
5578
|
);
|
|
5569
5579
|
},
|
|
5570
5580
|
disabled: getServiceCount(
|
|
5571
|
-
passengerType.
|
|
5572
|
-
|
|
5581
|
+
passengerType.passengerAgeCode,
|
|
5582
|
+
cls.classCode
|
|
5573
5583
|
) === 0
|
|
5574
5584
|
}
|
|
5575
5585
|
),
|
|
5576
5586
|
/* @__PURE__ */ jsx(Body1, { className: styles.countText, children: getServiceCount(
|
|
5577
|
-
passengerType.
|
|
5578
|
-
|
|
5587
|
+
passengerType.passengerAgeCode,
|
|
5588
|
+
cls.classCode
|
|
5579
5589
|
) }),
|
|
5580
5590
|
/* @__PURE__ */ jsx(
|
|
5581
5591
|
Button,
|
|
@@ -5584,11 +5594,15 @@ var ModalTotalPassengers = ({
|
|
|
5584
5594
|
className: styles.counterButton,
|
|
5585
5595
|
size: "small",
|
|
5586
5596
|
icon: /* @__PURE__ */ jsx(Icon, { icon: "fluent:add-12-regular" }),
|
|
5597
|
+
disabled: getServiceCount(
|
|
5598
|
+
passengerType.passengerAgeCode,
|
|
5599
|
+
cls.classCode
|
|
5600
|
+
) >= cls.maxCapacity || totalPassengerCount >= maxPassengers,
|
|
5587
5601
|
onClick: (e) => {
|
|
5588
5602
|
e.stopPropagation();
|
|
5589
5603
|
handleIncrement(
|
|
5590
|
-
passengerType.
|
|
5591
|
-
|
|
5604
|
+
passengerType.passengerAgeCode,
|
|
5605
|
+
cls.classCode
|
|
5592
5606
|
);
|
|
5593
5607
|
}
|
|
5594
5608
|
}
|
|
@@ -5596,7 +5610,7 @@ var ModalTotalPassengers = ({
|
|
|
5596
5610
|
] })
|
|
5597
5611
|
]
|
|
5598
5612
|
},
|
|
5599
|
-
|
|
5613
|
+
cls.id
|
|
5600
5614
|
)) }) })
|
|
5601
5615
|
]
|
|
5602
5616
|
},
|
|
@@ -5705,22 +5719,22 @@ var ModalTypeOfService = ({
|
|
|
5705
5719
|
}) => {
|
|
5706
5720
|
const styles = useStyles14();
|
|
5707
5721
|
const mergedLabels = { ...DEFAULT_LABELS14[language], ...labels };
|
|
5708
|
-
const [
|
|
5709
|
-
selectedService?.
|
|
5722
|
+
const [selectedServiceId, setSelectedServiceId] = useState(
|
|
5723
|
+
selectedService?.id || 0
|
|
5710
5724
|
);
|
|
5711
5725
|
const [openItems, setOpenItems] = useState(() => {
|
|
5712
|
-
if (!selectedService) return
|
|
5726
|
+
if (!selectedService) return [];
|
|
5713
5727
|
for (const item of serviceTypes) {
|
|
5714
|
-
if (item.
|
|
5715
|
-
const hasSelectedChild = item.
|
|
5716
|
-
(child) => child.
|
|
5728
|
+
if (item.children && item.children.length > 0) {
|
|
5729
|
+
const hasSelectedChild = item.children.some(
|
|
5730
|
+
(child) => child.id === selectedService.id
|
|
5717
5731
|
);
|
|
5718
5732
|
if (hasSelectedChild) {
|
|
5719
|
-
return item.id;
|
|
5733
|
+
return [item.id];
|
|
5720
5734
|
}
|
|
5721
5735
|
}
|
|
5722
5736
|
}
|
|
5723
|
-
return
|
|
5737
|
+
return [];
|
|
5724
5738
|
});
|
|
5725
5739
|
const defaultRenderImage = ({
|
|
5726
5740
|
src,
|
|
@@ -5739,61 +5753,57 @@ var ModalTypeOfService = ({
|
|
|
5739
5753
|
);
|
|
5740
5754
|
const imageRenderer = renderImage || defaultRenderImage;
|
|
5741
5755
|
useEffect(() => {
|
|
5742
|
-
const
|
|
5743
|
-
if (
|
|
5744
|
-
|
|
5756
|
+
const newId = selectedService?.id || 0;
|
|
5757
|
+
if (newId !== selectedServiceId) {
|
|
5758
|
+
setSelectedServiceId(newId);
|
|
5745
5759
|
}
|
|
5746
5760
|
if (selectedService) {
|
|
5747
5761
|
for (const item of serviceTypes) {
|
|
5748
|
-
if (item.
|
|
5749
|
-
const hasSelectedChild = item.
|
|
5750
|
-
(child) => child.
|
|
5762
|
+
if (item.children && item.children.length > 0) {
|
|
5763
|
+
const hasSelectedChild = item.children.some(
|
|
5764
|
+
(child) => child.id === selectedService.id
|
|
5751
5765
|
);
|
|
5752
|
-
if (hasSelectedChild && openItems
|
|
5753
|
-
setOpenItems(item.id);
|
|
5766
|
+
if (hasSelectedChild && !openItems.includes(item.id)) {
|
|
5767
|
+
setOpenItems([item.id]);
|
|
5754
5768
|
break;
|
|
5755
5769
|
}
|
|
5756
5770
|
}
|
|
5757
5771
|
}
|
|
5758
|
-
} else if (openItems
|
|
5759
|
-
setOpenItems(
|
|
5772
|
+
} else if (openItems.length > 0) {
|
|
5773
|
+
setOpenItems([]);
|
|
5760
5774
|
}
|
|
5761
|
-
}, [open, selectedService?.
|
|
5775
|
+
}, [open, selectedService?.id]);
|
|
5762
5776
|
const handleConfirm = () => {
|
|
5763
|
-
if (
|
|
5777
|
+
if (selectedServiceId) {
|
|
5764
5778
|
let selectedItem = null;
|
|
5765
5779
|
for (const item of serviceTypes) {
|
|
5766
|
-
if (item.
|
|
5780
|
+
if (item.id === selectedServiceId) {
|
|
5767
5781
|
selectedItem = {
|
|
5768
5782
|
id: item.id,
|
|
5769
|
-
|
|
5783
|
+
loadType: item.loadType,
|
|
5784
|
+
group: item.group,
|
|
5770
5785
|
title: item.title,
|
|
5771
5786
|
info: item.info,
|
|
5772
|
-
|
|
5773
|
-
|
|
5774
|
-
|
|
5775
|
-
type: item.type,
|
|
5776
|
-
typeOfPassanger: item.typeOfPassanger,
|
|
5777
|
-
child: []
|
|
5787
|
+
image: item.image,
|
|
5788
|
+
children: [],
|
|
5789
|
+
capacity: item.capacity
|
|
5778
5790
|
};
|
|
5779
5791
|
break;
|
|
5780
5792
|
}
|
|
5781
|
-
if (item.
|
|
5782
|
-
const childItem = item.
|
|
5783
|
-
(child) => child.
|
|
5793
|
+
if (item.children && item.children.length > 0) {
|
|
5794
|
+
const childItem = item.children.find(
|
|
5795
|
+
(child) => child.id === selectedServiceId
|
|
5784
5796
|
);
|
|
5785
5797
|
if (childItem) {
|
|
5786
5798
|
selectedItem = {
|
|
5787
5799
|
id: childItem.id,
|
|
5788
|
-
|
|
5800
|
+
loadType: childItem.loadType,
|
|
5801
|
+
group: childItem.group,
|
|
5789
5802
|
title: childItem.title,
|
|
5790
5803
|
info: childItem.info,
|
|
5791
|
-
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
type: childItem.type,
|
|
5795
|
-
typeOfPassanger: childItem.typeOfPassanger,
|
|
5796
|
-
child: []
|
|
5804
|
+
image: childItem.image,
|
|
5805
|
+
children: [],
|
|
5806
|
+
capacity: childItem.capacity
|
|
5797
5807
|
};
|
|
5798
5808
|
break;
|
|
5799
5809
|
}
|
|
@@ -5827,19 +5837,19 @@ var ModalTypeOfService = ({
|
|
|
5827
5837
|
{
|
|
5828
5838
|
collapsible: true,
|
|
5829
5839
|
openItems,
|
|
5830
|
-
onToggle: (_, data) => setOpenItems(data.openItems
|
|
5840
|
+
onToggle: (_, data) => setOpenItems(data.openItems),
|
|
5831
5841
|
className: styles.passengerSection,
|
|
5832
5842
|
children: /* @__PURE__ */ jsx(
|
|
5833
5843
|
RadioGroup,
|
|
5834
5844
|
{
|
|
5835
|
-
value:
|
|
5836
|
-
onChange: (_, data) =>
|
|
5845
|
+
value: String(selectedServiceId),
|
|
5846
|
+
onChange: (_, data) => setSelectedServiceId(Number(data.value)),
|
|
5837
5847
|
children: serviceTypes.map((item, index) => {
|
|
5838
|
-
if (item.
|
|
5848
|
+
if (item.children.length > 0) {
|
|
5839
5849
|
return /* @__PURE__ */ jsxs(
|
|
5840
5850
|
AccordionItem,
|
|
5841
5851
|
{
|
|
5842
|
-
value: item
|
|
5852
|
+
value: item?.id,
|
|
5843
5853
|
className: styles.accordionItem,
|
|
5844
5854
|
children: [
|
|
5845
5855
|
/* @__PURE__ */ jsxs(
|
|
@@ -5850,7 +5860,7 @@ var ModalTypeOfService = ({
|
|
|
5850
5860
|
children: [
|
|
5851
5861
|
/* @__PURE__ */ jsx("div", { children: imageRenderer({
|
|
5852
5862
|
src: item.image,
|
|
5853
|
-
alt:
|
|
5863
|
+
alt: item.title,
|
|
5854
5864
|
width: 74,
|
|
5855
5865
|
height: 74
|
|
5856
5866
|
}) }),
|
|
@@ -5861,7 +5871,7 @@ var ModalTypeOfService = ({
|
|
|
5861
5871
|
]
|
|
5862
5872
|
}
|
|
5863
5873
|
),
|
|
5864
|
-
/* @__PURE__ */ jsx(AccordionPanel, { className: styles.accordionBody, children: item.
|
|
5874
|
+
/* @__PURE__ */ jsx(AccordionPanel, { className: styles.accordionBody, children: item.children.length > 0 && item.children.map((childItem, childIndex) => /* @__PURE__ */ jsxs(
|
|
5865
5875
|
"div",
|
|
5866
5876
|
{
|
|
5867
5877
|
className: mergeClasses(
|
|
@@ -5880,7 +5890,7 @@ var ModalTypeOfService = ({
|
|
|
5880
5890
|
/* @__PURE__ */ jsx(Body1, { children: childItem.title }),
|
|
5881
5891
|
/* @__PURE__ */ jsx(Caption1, { children: childItem.info })
|
|
5882
5892
|
] }),
|
|
5883
|
-
/* @__PURE__ */ jsx(Radio, { value: childItem.
|
|
5893
|
+
/* @__PURE__ */ jsx(Radio, { value: String(childItem.id) })
|
|
5884
5894
|
]
|
|
5885
5895
|
},
|
|
5886
5896
|
childIndex
|
|
@@ -5889,7 +5899,7 @@ var ModalTypeOfService = ({
|
|
|
5889
5899
|
},
|
|
5890
5900
|
index
|
|
5891
5901
|
);
|
|
5892
|
-
} else if (item.
|
|
5902
|
+
} else if (item.children.length === 0) {
|
|
5893
5903
|
return /* @__PURE__ */ jsxs(
|
|
5894
5904
|
"div",
|
|
5895
5905
|
{
|
|
@@ -5916,7 +5926,7 @@ var ModalTypeOfService = ({
|
|
|
5916
5926
|
]
|
|
5917
5927
|
}
|
|
5918
5928
|
),
|
|
5919
|
-
/* @__PURE__ */ jsx(Radio, { value: item.
|
|
5929
|
+
/* @__PURE__ */ jsx(Radio, { value: String(item.id) })
|
|
5920
5930
|
]
|
|
5921
5931
|
},
|
|
5922
5932
|
index
|
|
@@ -5936,7 +5946,7 @@ var ModalTypeOfService = ({
|
|
|
5936
5946
|
appearance: "primary",
|
|
5937
5947
|
shape: "circular",
|
|
5938
5948
|
onClick: handleConfirm,
|
|
5939
|
-
disabled: !
|
|
5949
|
+
disabled: !selectedServiceId,
|
|
5940
5950
|
children: mergedLabels.saveButton
|
|
5941
5951
|
}
|
|
5942
5952
|
)
|
|
@@ -13191,6 +13201,6 @@ var CardProfileMenu = ({
|
|
|
13191
13201
|
) });
|
|
13192
13202
|
};
|
|
13193
13203
|
|
|
13194
|
-
export { BackgroundTicketCard_default as BackgroundTicketCard, BackgroundTicketCardVertical_default as BackgroundTicketCardVertical, COUNTRIES, CardAddon, CardBanner, CardBookingTicket, CardFAQ, CardMealCatalog, CardOrdererInfo, CardPassengerList, CardPaymentGuide, CardPaymentInfo, CardPaymentMethodList, CardPriceDetails, CardProfileMenu, CardPromo, CardReview, CardReviewPassenger, CardServiceMenu, CardStatusOrder, CardTicket, CardTicketSearch, DEFAULT_LABELS8 as CardTicketSearchDefaultLabels, CardTicketSearchSummary, DEFAULT_LABELS9 as CardTicketSearchSummaryDefaultLabels, CardVehicleDetail, CardVehicleOwnerForm, CarouselWithCustomNav, DEFAULT_DURATION_RANGE, DEFAULT_PRICE_RANGE, DEFAULT_SCROLL_AMOUNT,
|
|
13204
|
+
export { BackgroundTicketCard_default as BackgroundTicketCard, BackgroundTicketCardVertical_default as BackgroundTicketCardVertical, COUNTRIES, CardAddon, CardBanner, CardBookingTicket, CardFAQ, CardMealCatalog, CardOrdererInfo, CardPassengerList, CardPaymentGuide, CardPaymentInfo, CardPaymentMethodList, CardPriceDetails, CardProfileMenu, CardPromo, CardReview, CardReviewPassenger, CardServiceMenu, CardStatusOrder, CardTicket, CardTicketSearch, DEFAULT_LABELS8 as CardTicketSearchDefaultLabels, CardTicketSearchSummary, DEFAULT_LABELS9 as CardTicketSearchSummaryDefaultLabels, CardVehicleDetail, CardVehicleOwnerForm, CarouselWithCustomNav, DEFAULT_DURATION_RANGE, DEFAULT_PRICE_RANGE, DEFAULT_SCROLL_AMOUNT, DEFAULT_SERVICE_TYPES, DEFAULT_SORT_OPTIONS, DEFAULT_TIME_SLOTS, DEFAULT_VEHICLE_ICONS, DateFilter, DEFAULT_LABELS17 as DateFilterDefaultLabels, FileUpload_default as FileUpload, InputDynamic_default as InputDynamic, MODAL_PRESETS, ModalFilterTicket, DEFAULT_LABELS16 as ModalFilterTicketDefaultLabels, ModalIllustration, ModalListPassenger, ModalPassengerForm, ModalPriceDetail, ModalSearchHarbor, ModalSearchTicket, ModalSelectDate, ModalService, ModalTotalPassengers, ModalTypeOfService, SortMenu, Stepper, getBadgeConfig, getModalPreset, getSortLabel };
|
|
13195
13205
|
//# sourceMappingURL=index.mjs.map
|
|
13196
13206
|
//# sourceMappingURL=index.mjs.map
|