@asdp/ferryui 0.1.22-dev.8932 → 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 +159 -143
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +160 -143
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4395,7 +4395,8 @@ var DEFAULT_LABELS10 = {
|
|
|
4395
4395
|
allHarborsHeader: "Semua Pelabuhan",
|
|
4396
4396
|
loadingData: "Memuat data...",
|
|
4397
4397
|
harborNotFound: "Pelabuhan tidak ditemukan",
|
|
4398
|
-
closeAriaLabel: "Tutup"
|
|
4398
|
+
closeAriaLabel: "Tutup",
|
|
4399
|
+
popularHarborHeader: "Pelabuhan Populer"
|
|
4399
4400
|
},
|
|
4400
4401
|
en: {
|
|
4401
4402
|
title: "Select Harbor",
|
|
@@ -4405,7 +4406,8 @@ var DEFAULT_LABELS10 = {
|
|
|
4405
4406
|
allHarborsHeader: "All Harbors",
|
|
4406
4407
|
loadingData: "Loading data...",
|
|
4407
4408
|
harborNotFound: "Harbor not found",
|
|
4408
|
-
closeAriaLabel: "Close"
|
|
4409
|
+
closeAriaLabel: "Close",
|
|
4410
|
+
popularHarborHeader: "Popular Harbor"
|
|
4409
4411
|
}
|
|
4410
4412
|
};
|
|
4411
4413
|
var useStyles10 = reactComponents.makeStyles({
|
|
@@ -4482,8 +4484,8 @@ var useStyles10 = reactComponents.makeStyles({
|
|
|
4482
4484
|
headerRow: {
|
|
4483
4485
|
display: "flex",
|
|
4484
4486
|
justifyContent: "space-between",
|
|
4485
|
-
marginTop: "1rem"
|
|
4486
|
-
marginBottom: "1rem"
|
|
4487
|
+
marginTop: "1rem"
|
|
4488
|
+
// marginBottom: "1rem",
|
|
4487
4489
|
},
|
|
4488
4490
|
dangerText: {
|
|
4489
4491
|
color: reactComponents.tokens.colorStatusDangerForeground1
|
|
@@ -4537,7 +4539,8 @@ var ModalSearchHarbor = ({
|
|
|
4537
4539
|
onToggleFavorite,
|
|
4538
4540
|
onAddLastSearched,
|
|
4539
4541
|
onRemoveLastSearched,
|
|
4540
|
-
onClearLastSearched
|
|
4542
|
+
onClearLastSearched,
|
|
4543
|
+
popularHarbors
|
|
4541
4544
|
}) => {
|
|
4542
4545
|
const styles = useStyles10();
|
|
4543
4546
|
const mergedLabels = { ...DEFAULT_LABELS10[language], ...labels };
|
|
@@ -4603,9 +4606,9 @@ var ModalSearchHarbor = ({
|
|
|
4603
4606
|
iconPosition: "before",
|
|
4604
4607
|
className: styles.circularButton,
|
|
4605
4608
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:ribbon-20-filled" }),
|
|
4606
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: harbor.
|
|
4609
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: harbor.portName + ", " + harbor.branchName })
|
|
4607
4610
|
},
|
|
4608
|
-
harbor.
|
|
4611
|
+
harbor.portId
|
|
4609
4612
|
)) }),
|
|
4610
4613
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
4611
4614
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.resultList, children: [
|
|
@@ -4635,20 +4638,41 @@ var ModalSearchHarbor = ({
|
|
|
4635
4638
|
className: styles.iconMargin
|
|
4636
4639
|
}
|
|
4637
4640
|
),
|
|
4638
|
-
harbor.
|
|
4641
|
+
harbor.portName + ", " + harbor.branchName
|
|
4639
4642
|
]
|
|
4640
4643
|
}
|
|
4641
4644
|
),
|
|
4642
4645
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4643
4646
|
react.Icon,
|
|
4644
4647
|
{
|
|
4645
|
-
onClick: () => onRemoveLastSearched(harbor
|
|
4648
|
+
onClick: () => onRemoveLastSearched(harbor),
|
|
4646
4649
|
icon: "fluent:dismiss-24-regular",
|
|
4647
4650
|
color: reactComponents.tokens.colorStatusDangerForeground1,
|
|
4648
4651
|
className: styles.cursorPointer
|
|
4649
4652
|
}
|
|
4650
4653
|
)
|
|
4651
|
-
] }, harbor.
|
|
4654
|
+
] }, harbor.portId)) }),
|
|
4655
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {})
|
|
4656
|
+
] }),
|
|
4657
|
+
popularHarbors.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4658
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.headerRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: mergedLabels.popularHarborHeader }) }),
|
|
4659
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { children: popularHarbors.map((harbor) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.historyItem, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4660
|
+
"div",
|
|
4661
|
+
{
|
|
4662
|
+
style: { cursor: "pointer" },
|
|
4663
|
+
onClick: () => handleSelect(harbor),
|
|
4664
|
+
children: [
|
|
4665
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4666
|
+
react.Icon,
|
|
4667
|
+
{
|
|
4668
|
+
icon: "fluent:vehicle-ship-24-regular",
|
|
4669
|
+
className: styles.iconMargin
|
|
4670
|
+
}
|
|
4671
|
+
),
|
|
4672
|
+
harbor.portName + ", " + harbor.branchName
|
|
4673
|
+
]
|
|
4674
|
+
}
|
|
4675
|
+
) }, harbor.portId)) }),
|
|
4652
4676
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {})
|
|
4653
4677
|
] }),
|
|
4654
4678
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { className: styles.sectionTitle, children: mergedLabels.allHarborsHeader }),
|
|
@@ -4666,14 +4690,14 @@ var ModalSearchHarbor = ({
|
|
|
4666
4690
|
className: styles.iconMargin
|
|
4667
4691
|
}
|
|
4668
4692
|
),
|
|
4669
|
-
harbor.
|
|
4693
|
+
harbor.portName + ", " + harbor.branchName
|
|
4670
4694
|
]
|
|
4671
4695
|
}
|
|
4672
4696
|
),
|
|
4673
4697
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4674
4698
|
react.Icon,
|
|
4675
4699
|
{
|
|
4676
|
-
icon:
|
|
4700
|
+
icon: harbor.isFavorite ? "fluent:star-24-filled" : "fluent:star-24-regular",
|
|
4677
4701
|
color: reactComponents.tokens.colorBrandBackground,
|
|
4678
4702
|
className: styles.cursorPointer,
|
|
4679
4703
|
onClick: () => onToggleFavorite(harbor)
|
|
@@ -5221,7 +5245,6 @@ var ModalService = ({
|
|
|
5221
5245
|
"div",
|
|
5222
5246
|
{
|
|
5223
5247
|
className: styles.serviceItem,
|
|
5224
|
-
onClick: () => handleToggleService(service.serviceTypeId),
|
|
5225
5248
|
children: [
|
|
5226
5249
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.serviceContent, children: [
|
|
5227
5250
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.serviceName, children: service.serviceTypeName }),
|
|
@@ -5262,9 +5285,6 @@ var DEFAULT_LABELS13 = {
|
|
|
5262
5285
|
infoMessage: "Anda dapat menambahkan hingga {maxPassengers} penumpang pada golongan kendaraan ini.",
|
|
5263
5286
|
loading: "Memuat...",
|
|
5264
5287
|
saveButton: "Simpan",
|
|
5265
|
-
economy: "Ekonomi",
|
|
5266
|
-
business: "Bisnis",
|
|
5267
|
-
executive: "Eksekutif",
|
|
5268
5288
|
closeAriaLabel: "Tutup"
|
|
5269
5289
|
},
|
|
5270
5290
|
en: {
|
|
@@ -5272,17 +5292,9 @@ var DEFAULT_LABELS13 = {
|
|
|
5272
5292
|
infoMessage: "You can add up to {maxPassengers} passengers in this vehicle category.",
|
|
5273
5293
|
loading: "Loading...",
|
|
5274
5294
|
saveButton: "Save",
|
|
5275
|
-
economy: "Economy",
|
|
5276
|
-
business: "Business",
|
|
5277
|
-
executive: "Executive",
|
|
5278
5295
|
closeAriaLabel: "Close"
|
|
5279
5296
|
}
|
|
5280
5297
|
};
|
|
5281
|
-
var DEFAULT_SERVICE_CLASSES = [
|
|
5282
|
-
{ id: 1, name: "Ekonomi", key: "ekonomi", serviceName: "ECONOMY", labelKey: "economy" },
|
|
5283
|
-
{ id: 2, name: "Bisnis", key: "bisnis", serviceName: "BUSINESS", labelKey: "business" },
|
|
5284
|
-
{ id: 3, name: "Eksekutif", key: "eksekutif", serviceName: "EXECUTIVE", labelKey: "executive" }
|
|
5285
|
-
];
|
|
5286
5298
|
var useStyles13 = reactComponents.makeStyles({
|
|
5287
5299
|
dialogSurface: {
|
|
5288
5300
|
maxWidth: "600px",
|
|
@@ -5357,7 +5369,6 @@ var ModalTotalPassengers = ({
|
|
|
5357
5369
|
onClose,
|
|
5358
5370
|
title,
|
|
5359
5371
|
passengerTypes,
|
|
5360
|
-
serviceClasses = DEFAULT_SERVICE_CLASSES,
|
|
5361
5372
|
selectedPassengers,
|
|
5362
5373
|
onSave,
|
|
5363
5374
|
isLoading = false,
|
|
@@ -5376,12 +5387,9 @@ var ModalTotalPassengers = ({
|
|
|
5376
5387
|
if (passengerTypes.length === 0) return;
|
|
5377
5388
|
const defaultPassengers = passengerTypes.map(
|
|
5378
5389
|
(passengerType) => ({
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
services: serviceClasses.map((sc) => ({
|
|
5383
|
-
serviceId: sc.id,
|
|
5384
|
-
serviceName: sc.serviceName,
|
|
5390
|
+
...passengerType,
|
|
5391
|
+
classes: (passengerType.classes || []).map((cls) => ({
|
|
5392
|
+
...cls,
|
|
5385
5393
|
count: 0,
|
|
5386
5394
|
passengers: []
|
|
5387
5395
|
}))
|
|
@@ -5389,28 +5397,28 @@ var ModalTotalPassengers = ({
|
|
|
5389
5397
|
);
|
|
5390
5398
|
if (selectedPassengers && selectedPassengers.length > 0) {
|
|
5391
5399
|
const mergedPassengers = defaultPassengers.map((defaultP) => {
|
|
5392
|
-
const selectedP = selectedPassengers
|
|
5393
|
-
(p) => p.
|
|
5400
|
+
const selectedP = selectedPassengers?.find(
|
|
5401
|
+
(p) => p.passengerAgeCode === defaultP.passengerAgeCode
|
|
5394
5402
|
);
|
|
5395
5403
|
if (selectedP) {
|
|
5396
|
-
const
|
|
5397
|
-
const
|
|
5398
|
-
(
|
|
5404
|
+
const mergedClasses = defaultP.classes.map((defaultC) => {
|
|
5405
|
+
const selectedC = selectedP.classes?.find(
|
|
5406
|
+
(c) => c.classCode === defaultC.classCode
|
|
5399
5407
|
);
|
|
5400
|
-
return
|
|
5401
|
-
...
|
|
5402
|
-
count:
|
|
5403
|
-
passengers:
|
|
5404
|
-
} :
|
|
5408
|
+
return selectedC ? {
|
|
5409
|
+
...defaultC,
|
|
5410
|
+
count: selectedC.count,
|
|
5411
|
+
passengers: selectedC.passengers || []
|
|
5412
|
+
} : defaultC;
|
|
5405
5413
|
});
|
|
5406
|
-
return { ...defaultP,
|
|
5414
|
+
return { ...defaultP, classes: mergedClasses };
|
|
5407
5415
|
}
|
|
5408
5416
|
return defaultP;
|
|
5409
5417
|
});
|
|
5410
5418
|
setPassengers(mergedPassengers);
|
|
5411
|
-
const itemsWithData = selectedPassengers.filter((p) => p.
|
|
5419
|
+
const itemsWithData = selectedPassengers.filter((p) => p.classes.some((c) => (c.count ?? 0) > 0)).map((p) => {
|
|
5412
5420
|
const passengerType = passengerTypes.find(
|
|
5413
|
-
(pt) => pt.
|
|
5421
|
+
(pt) => pt.passengerAgeCode === p.passengerAgeCode
|
|
5414
5422
|
);
|
|
5415
5423
|
return passengerType ? String(passengerType.id) : "";
|
|
5416
5424
|
}).filter((id) => id !== "");
|
|
@@ -5419,54 +5427,55 @@ var ModalTotalPassengers = ({
|
|
|
5419
5427
|
setPassengers(defaultPassengers);
|
|
5420
5428
|
setOpenItems([]);
|
|
5421
5429
|
}
|
|
5422
|
-
}, [open, passengerTypes,
|
|
5423
|
-
const getServiceCount = (
|
|
5430
|
+
}, [open, passengerTypes, selectedPassengers]);
|
|
5431
|
+
const getServiceCount = (passengerAgeCode, classCode) => {
|
|
5424
5432
|
const passenger = passengers.find(
|
|
5425
|
-
(p) => p.
|
|
5433
|
+
(p) => p.passengerAgeCode === passengerAgeCode
|
|
5426
5434
|
);
|
|
5427
5435
|
if (!passenger) return 0;
|
|
5428
|
-
const
|
|
5429
|
-
(
|
|
5436
|
+
const cls = passenger.classes.find(
|
|
5437
|
+
(c) => c.classCode === classCode
|
|
5430
5438
|
);
|
|
5431
|
-
return
|
|
5439
|
+
return cls?.count ?? 0;
|
|
5432
5440
|
};
|
|
5433
|
-
const getTotalForType = (
|
|
5441
|
+
const getTotalForType = (passengerAgeCode) => {
|
|
5434
5442
|
const passenger = passengers.find(
|
|
5435
|
-
(p) => p.
|
|
5443
|
+
(p) => p.passengerAgeCode === passengerAgeCode
|
|
5436
5444
|
);
|
|
5437
5445
|
if (!passenger) return "0";
|
|
5438
5446
|
const parts = [];
|
|
5439
|
-
passenger.
|
|
5440
|
-
if (
|
|
5441
|
-
const
|
|
5442
|
-
|
|
5443
|
-
);
|
|
5444
|
-
const serviceName = serviceClass ? mergedLabels[serviceClass.labelKey] : service.serviceName;
|
|
5445
|
-
parts.push(`${service.count} ${serviceName}`);
|
|
5447
|
+
passenger.classes.forEach((cls) => {
|
|
5448
|
+
if ((cls.count ?? 0) > 0) {
|
|
5449
|
+
const displayName = cls.classCode?.toUpperCase();
|
|
5450
|
+
parts.push(`${cls.count} ${displayName}`);
|
|
5446
5451
|
}
|
|
5447
5452
|
});
|
|
5448
5453
|
return parts.length > 0 ? parts.join(", ") : "0";
|
|
5449
5454
|
};
|
|
5450
|
-
const
|
|
5455
|
+
const totalPassengerCount = passengers.reduce(
|
|
5456
|
+
(total, passenger) => total + passenger.classes.reduce((sum, cls) => sum + (cls.count ?? 0), 0),
|
|
5457
|
+
0
|
|
5458
|
+
);
|
|
5459
|
+
const handleIncrement = (passengerAgeCode, classCode) => {
|
|
5451
5460
|
setPassengers(
|
|
5452
5461
|
(prev) => prev.map((passenger) => {
|
|
5453
|
-
if (passenger.
|
|
5462
|
+
if (passenger.passengerAgeCode === passengerAgeCode) {
|
|
5454
5463
|
return {
|
|
5455
5464
|
...passenger,
|
|
5456
|
-
|
|
5457
|
-
if (
|
|
5458
|
-
const newCount =
|
|
5459
|
-
const newPassengers = [...
|
|
5465
|
+
classes: passenger.classes.map((cls) => {
|
|
5466
|
+
if (cls.classCode === classCode) {
|
|
5467
|
+
const newCount = (cls.count ?? 0) + 1;
|
|
5468
|
+
const newPassengers = [...cls.passengers || []];
|
|
5460
5469
|
while (newPassengers.length < newCount) {
|
|
5461
5470
|
newPassengers.push({});
|
|
5462
5471
|
}
|
|
5463
5472
|
return {
|
|
5464
|
-
...
|
|
5473
|
+
...cls,
|
|
5465
5474
|
count: newCount,
|
|
5466
5475
|
passengers: newPassengers
|
|
5467
5476
|
};
|
|
5468
5477
|
}
|
|
5469
|
-
return
|
|
5478
|
+
return cls;
|
|
5470
5479
|
})
|
|
5471
5480
|
};
|
|
5472
5481
|
}
|
|
@@ -5474,26 +5483,26 @@ var ModalTotalPassengers = ({
|
|
|
5474
5483
|
})
|
|
5475
5484
|
);
|
|
5476
5485
|
};
|
|
5477
|
-
const handleDecrement = (
|
|
5486
|
+
const handleDecrement = (passengerAgeCode, classCode) => {
|
|
5478
5487
|
setPassengers(
|
|
5479
5488
|
(prev) => prev.map((passenger) => {
|
|
5480
|
-
if (passenger.
|
|
5489
|
+
if (passenger.passengerAgeCode === passengerAgeCode) {
|
|
5481
5490
|
return {
|
|
5482
5491
|
...passenger,
|
|
5483
|
-
|
|
5484
|
-
if (
|
|
5485
|
-
const newCount =
|
|
5486
|
-
const newPassengers = (
|
|
5492
|
+
classes: passenger.classes.map((cls) => {
|
|
5493
|
+
if (cls.classCode === classCode && (cls.count ?? 0) > 0) {
|
|
5494
|
+
const newCount = (cls.count ?? 0) - 1;
|
|
5495
|
+
const newPassengers = (cls.passengers || []).slice(
|
|
5487
5496
|
0,
|
|
5488
5497
|
newCount
|
|
5489
5498
|
);
|
|
5490
5499
|
return {
|
|
5491
|
-
...
|
|
5500
|
+
...cls,
|
|
5492
5501
|
count: newCount,
|
|
5493
5502
|
passengers: newPassengers
|
|
5494
5503
|
};
|
|
5495
5504
|
}
|
|
5496
|
-
return
|
|
5505
|
+
return cls;
|
|
5497
5506
|
})
|
|
5498
5507
|
};
|
|
5499
5508
|
}
|
|
@@ -5504,8 +5513,8 @@ var ModalTotalPassengers = ({
|
|
|
5504
5513
|
const handleSave = () => {
|
|
5505
5514
|
const filteredPassengers = passengers.map((passenger) => ({
|
|
5506
5515
|
...passenger,
|
|
5507
|
-
|
|
5508
|
-
})).filter((passenger) => passenger.
|
|
5516
|
+
classes: passenger.classes.filter((cls) => (cls.count ?? 0) > 0)
|
|
5517
|
+
})).filter((passenger) => passenger.classes.length > 0);
|
|
5509
5518
|
onSave(filteredPassengers);
|
|
5510
5519
|
};
|
|
5511
5520
|
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Dialog, { open, onOpenChange: (_, data) => !data.open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogSurface, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogBody, { children: [
|
|
@@ -5536,6 +5545,7 @@ var ModalTotalPassengers = ({
|
|
|
5536
5545
|
onToggle: (_, data) => setOpenItems(data.openItems),
|
|
5537
5546
|
className: styles.passengerSection,
|
|
5538
5547
|
children: passengerTypes.map((passengerType) => {
|
|
5548
|
+
const classes = passengerType.classes || [];
|
|
5539
5549
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5540
5550
|
reactComponents.AccordionItem,
|
|
5541
5551
|
{
|
|
@@ -5548,19 +5558,19 @@ var ModalTotalPassengers = ({
|
|
|
5548
5558
|
className: styles.accordionHeader,
|
|
5549
5559
|
expandIconPosition: "end",
|
|
5550
5560
|
children: [
|
|
5551
|
-
passengerType.
|
|
5561
|
+
passengerType.passengerAgeName,
|
|
5552
5562
|
" (",
|
|
5553
|
-
getTotalForType(passengerType.
|
|
5563
|
+
getTotalForType(passengerType.passengerAgeCode),
|
|
5554
5564
|
")"
|
|
5555
5565
|
]
|
|
5556
5566
|
}
|
|
5557
5567
|
),
|
|
5558
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionPanel, { className: styles.accordionPanel, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.nestedSection, children:
|
|
5568
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionPanel, { className: styles.accordionPanel, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.nestedSection, children: classes.map((cls) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5559
5569
|
"div",
|
|
5560
5570
|
{
|
|
5561
5571
|
className: styles.nestedRow,
|
|
5562
5572
|
children: [
|
|
5563
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children:
|
|
5573
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: cls.classCode.toUpperCase() }),
|
|
5564
5574
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.passengerCount, children: [
|
|
5565
5575
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5566
5576
|
reactComponents.Button,
|
|
@@ -5572,19 +5582,19 @@ var ModalTotalPassengers = ({
|
|
|
5572
5582
|
onClick: (e) => {
|
|
5573
5583
|
e.stopPropagation();
|
|
5574
5584
|
handleDecrement(
|
|
5575
|
-
passengerType.
|
|
5576
|
-
|
|
5585
|
+
passengerType.passengerAgeCode,
|
|
5586
|
+
cls.classCode
|
|
5577
5587
|
);
|
|
5578
5588
|
},
|
|
5579
5589
|
disabled: getServiceCount(
|
|
5580
|
-
passengerType.
|
|
5581
|
-
|
|
5590
|
+
passengerType.passengerAgeCode,
|
|
5591
|
+
cls.classCode
|
|
5582
5592
|
) === 0
|
|
5583
5593
|
}
|
|
5584
5594
|
),
|
|
5585
5595
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.countText, children: getServiceCount(
|
|
5586
|
-
passengerType.
|
|
5587
|
-
|
|
5596
|
+
passengerType.passengerAgeCode,
|
|
5597
|
+
cls.classCode
|
|
5588
5598
|
) }),
|
|
5589
5599
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5590
5600
|
reactComponents.Button,
|
|
@@ -5593,11 +5603,15 @@ var ModalTotalPassengers = ({
|
|
|
5593
5603
|
className: styles.counterButton,
|
|
5594
5604
|
size: "small",
|
|
5595
5605
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:add-12-regular" }),
|
|
5606
|
+
disabled: getServiceCount(
|
|
5607
|
+
passengerType.passengerAgeCode,
|
|
5608
|
+
cls.classCode
|
|
5609
|
+
) >= cls.maxCapacity || totalPassengerCount >= maxPassengers,
|
|
5596
5610
|
onClick: (e) => {
|
|
5597
5611
|
e.stopPropagation();
|
|
5598
5612
|
handleIncrement(
|
|
5599
|
-
passengerType.
|
|
5600
|
-
|
|
5613
|
+
passengerType.passengerAgeCode,
|
|
5614
|
+
cls.classCode
|
|
5601
5615
|
);
|
|
5602
5616
|
}
|
|
5603
5617
|
}
|
|
@@ -5605,7 +5619,7 @@ var ModalTotalPassengers = ({
|
|
|
5605
5619
|
] })
|
|
5606
5620
|
]
|
|
5607
5621
|
},
|
|
5608
|
-
|
|
5622
|
+
cls.id
|
|
5609
5623
|
)) }) })
|
|
5610
5624
|
]
|
|
5611
5625
|
},
|
|
@@ -5714,22 +5728,22 @@ var ModalTypeOfService = ({
|
|
|
5714
5728
|
}) => {
|
|
5715
5729
|
const styles = useStyles14();
|
|
5716
5730
|
const mergedLabels = { ...DEFAULT_LABELS14[language], ...labels };
|
|
5717
|
-
const [
|
|
5718
|
-
selectedService?.
|
|
5731
|
+
const [selectedServiceId, setSelectedServiceId] = React5.useState(
|
|
5732
|
+
selectedService?.id || 0
|
|
5719
5733
|
);
|
|
5720
5734
|
const [openItems, setOpenItems] = React5.useState(() => {
|
|
5721
|
-
if (!selectedService) return
|
|
5735
|
+
if (!selectedService) return [];
|
|
5722
5736
|
for (const item of serviceTypes) {
|
|
5723
|
-
if (item.
|
|
5724
|
-
const hasSelectedChild = item.
|
|
5725
|
-
(child) => child.
|
|
5737
|
+
if (item.children && item.children.length > 0) {
|
|
5738
|
+
const hasSelectedChild = item.children.some(
|
|
5739
|
+
(child) => child.id === selectedService.id
|
|
5726
5740
|
);
|
|
5727
5741
|
if (hasSelectedChild) {
|
|
5728
|
-
return item.id;
|
|
5742
|
+
return [item.id];
|
|
5729
5743
|
}
|
|
5730
5744
|
}
|
|
5731
5745
|
}
|
|
5732
|
-
return
|
|
5746
|
+
return [];
|
|
5733
5747
|
});
|
|
5734
5748
|
const defaultRenderImage = ({
|
|
5735
5749
|
src,
|
|
@@ -5748,61 +5762,57 @@ var ModalTypeOfService = ({
|
|
|
5748
5762
|
);
|
|
5749
5763
|
const imageRenderer = renderImage || defaultRenderImage;
|
|
5750
5764
|
React5.useEffect(() => {
|
|
5751
|
-
const
|
|
5752
|
-
if (
|
|
5753
|
-
|
|
5765
|
+
const newId = selectedService?.id || 0;
|
|
5766
|
+
if (newId !== selectedServiceId) {
|
|
5767
|
+
setSelectedServiceId(newId);
|
|
5754
5768
|
}
|
|
5755
5769
|
if (selectedService) {
|
|
5756
5770
|
for (const item of serviceTypes) {
|
|
5757
|
-
if (item.
|
|
5758
|
-
const hasSelectedChild = item.
|
|
5759
|
-
(child) => child.
|
|
5771
|
+
if (item.children && item.children.length > 0) {
|
|
5772
|
+
const hasSelectedChild = item.children.some(
|
|
5773
|
+
(child) => child.id === selectedService.id
|
|
5760
5774
|
);
|
|
5761
|
-
if (hasSelectedChild && openItems
|
|
5762
|
-
setOpenItems(item.id);
|
|
5775
|
+
if (hasSelectedChild && !openItems.includes(item.id)) {
|
|
5776
|
+
setOpenItems([item.id]);
|
|
5763
5777
|
break;
|
|
5764
5778
|
}
|
|
5765
5779
|
}
|
|
5766
5780
|
}
|
|
5767
|
-
} else if (openItems
|
|
5768
|
-
setOpenItems(
|
|
5781
|
+
} else if (openItems.length > 0) {
|
|
5782
|
+
setOpenItems([]);
|
|
5769
5783
|
}
|
|
5770
|
-
}, [open, selectedService?.
|
|
5784
|
+
}, [open, selectedService?.id]);
|
|
5771
5785
|
const handleConfirm = () => {
|
|
5772
|
-
if (
|
|
5786
|
+
if (selectedServiceId) {
|
|
5773
5787
|
let selectedItem = null;
|
|
5774
5788
|
for (const item of serviceTypes) {
|
|
5775
|
-
if (item.
|
|
5789
|
+
if (item.id === selectedServiceId) {
|
|
5776
5790
|
selectedItem = {
|
|
5777
5791
|
id: item.id,
|
|
5778
|
-
|
|
5792
|
+
loadType: item.loadType,
|
|
5793
|
+
group: item.group,
|
|
5779
5794
|
title: item.title,
|
|
5780
5795
|
info: item.info,
|
|
5781
|
-
|
|
5782
|
-
|
|
5783
|
-
|
|
5784
|
-
type: item.type,
|
|
5785
|
-
typeOfPassanger: item.typeOfPassanger,
|
|
5786
|
-
child: []
|
|
5796
|
+
image: item.image,
|
|
5797
|
+
children: [],
|
|
5798
|
+
capacity: item.capacity
|
|
5787
5799
|
};
|
|
5788
5800
|
break;
|
|
5789
5801
|
}
|
|
5790
|
-
if (item.
|
|
5791
|
-
const childItem = item.
|
|
5792
|
-
(child) => child.
|
|
5802
|
+
if (item.children && item.children.length > 0) {
|
|
5803
|
+
const childItem = item.children.find(
|
|
5804
|
+
(child) => child.id === selectedServiceId
|
|
5793
5805
|
);
|
|
5794
5806
|
if (childItem) {
|
|
5795
5807
|
selectedItem = {
|
|
5796
5808
|
id: childItem.id,
|
|
5797
|
-
|
|
5809
|
+
loadType: childItem.loadType,
|
|
5810
|
+
group: childItem.group,
|
|
5798
5811
|
title: childItem.title,
|
|
5799
5812
|
info: childItem.info,
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
type: childItem.type,
|
|
5804
|
-
typeOfPassanger: childItem.typeOfPassanger,
|
|
5805
|
-
child: []
|
|
5813
|
+
image: childItem.image,
|
|
5814
|
+
children: [],
|
|
5815
|
+
capacity: childItem.capacity
|
|
5806
5816
|
};
|
|
5807
5817
|
break;
|
|
5808
5818
|
}
|
|
@@ -5836,19 +5846,19 @@ var ModalTypeOfService = ({
|
|
|
5836
5846
|
{
|
|
5837
5847
|
collapsible: true,
|
|
5838
5848
|
openItems,
|
|
5839
|
-
onToggle: (_, data) => setOpenItems(data.openItems
|
|
5849
|
+
onToggle: (_, data) => setOpenItems(data.openItems),
|
|
5840
5850
|
className: styles.passengerSection,
|
|
5841
5851
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5842
5852
|
reactComponents.RadioGroup,
|
|
5843
5853
|
{
|
|
5844
|
-
value:
|
|
5845
|
-
onChange: (_, data) =>
|
|
5854
|
+
value: String(selectedServiceId),
|
|
5855
|
+
onChange: (_, data) => setSelectedServiceId(Number(data.value)),
|
|
5846
5856
|
children: serviceTypes.map((item, index) => {
|
|
5847
|
-
if (item.
|
|
5857
|
+
if (item.children.length > 0) {
|
|
5848
5858
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5849
5859
|
reactComponents.AccordionItem,
|
|
5850
5860
|
{
|
|
5851
|
-
value: item
|
|
5861
|
+
value: item?.id,
|
|
5852
5862
|
className: styles.accordionItem,
|
|
5853
5863
|
children: [
|
|
5854
5864
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -5859,7 +5869,7 @@ var ModalTypeOfService = ({
|
|
|
5859
5869
|
children: [
|
|
5860
5870
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: imageRenderer({
|
|
5861
5871
|
src: item.image,
|
|
5862
|
-
alt:
|
|
5872
|
+
alt: item.title,
|
|
5863
5873
|
width: 74,
|
|
5864
5874
|
height: 74
|
|
5865
5875
|
}) }),
|
|
@@ -5870,7 +5880,7 @@ var ModalTypeOfService = ({
|
|
|
5870
5880
|
]
|
|
5871
5881
|
}
|
|
5872
5882
|
),
|
|
5873
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionPanel, { className: styles.accordionBody, children: item.
|
|
5883
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionPanel, { className: styles.accordionBody, children: item.children.length > 0 && item.children.map((childItem, childIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5874
5884
|
"div",
|
|
5875
5885
|
{
|
|
5876
5886
|
className: reactComponents.mergeClasses(
|
|
@@ -5889,7 +5899,7 @@ var ModalTypeOfService = ({
|
|
|
5889
5899
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: childItem.title }),
|
|
5890
5900
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: childItem.info })
|
|
5891
5901
|
] }),
|
|
5892
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: childItem.
|
|
5902
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: String(childItem.id) })
|
|
5893
5903
|
]
|
|
5894
5904
|
},
|
|
5895
5905
|
childIndex
|
|
@@ -5898,7 +5908,7 @@ var ModalTypeOfService = ({
|
|
|
5898
5908
|
},
|
|
5899
5909
|
index
|
|
5900
5910
|
);
|
|
5901
|
-
} else if (item.
|
|
5911
|
+
} else if (item.children.length === 0) {
|
|
5902
5912
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5903
5913
|
"div",
|
|
5904
5914
|
{
|
|
@@ -5925,7 +5935,7 @@ var ModalTypeOfService = ({
|
|
|
5925
5935
|
]
|
|
5926
5936
|
}
|
|
5927
5937
|
),
|
|
5928
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: item.
|
|
5938
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: String(item.id) })
|
|
5929
5939
|
]
|
|
5930
5940
|
},
|
|
5931
5941
|
index
|
|
@@ -5945,7 +5955,7 @@ var ModalTypeOfService = ({
|
|
|
5945
5955
|
appearance: "primary",
|
|
5946
5956
|
shape: "circular",
|
|
5947
5957
|
onClick: handleConfirm,
|
|
5948
|
-
disabled: !
|
|
5958
|
+
disabled: !selectedServiceId,
|
|
5949
5959
|
children: mergedLabels.saveButton
|
|
5950
5960
|
}
|
|
5951
5961
|
)
|
|
@@ -12820,9 +12830,12 @@ var FileUpload = React5__default.default.forwardRef(
|
|
|
12820
12830
|
action: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogTrigger, { action: "close", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12821
12831
|
reactComponents.Button,
|
|
12822
12832
|
{
|
|
12823
|
-
appearance: "subtle",
|
|
12824
12833
|
"aria-label": "close",
|
|
12825
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.Dismiss24Regular, {})
|
|
12834
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.Dismiss24Regular, {}),
|
|
12835
|
+
style: {
|
|
12836
|
+
backgroundColor: reactComponents.tokens.colorNeutralForeground2,
|
|
12837
|
+
color: reactComponents.tokens.colorNeutralBackground1
|
|
12838
|
+
}
|
|
12826
12839
|
}
|
|
12827
12840
|
) })
|
|
12828
12841
|
}
|
|
@@ -13065,7 +13078,11 @@ var FileUpload = React5__default.default.forwardRef(
|
|
|
13065
13078
|
{
|
|
13066
13079
|
appearance: "subtle",
|
|
13067
13080
|
"aria-label": "close",
|
|
13068
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.Dismiss24Regular, {})
|
|
13081
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.Dismiss24Regular, {}),
|
|
13082
|
+
style: {
|
|
13083
|
+
backgroundColor: reactComponents.tokens.colorNeutralForeground2,
|
|
13084
|
+
color: reactComponents.tokens.colorNeutralBackground1
|
|
13085
|
+
}
|
|
13069
13086
|
}
|
|
13070
13087
|
) })
|
|
13071
13088
|
}
|
|
@@ -13224,7 +13241,6 @@ exports.CarouselWithCustomNav = CarouselWithCustomNav;
|
|
|
13224
13241
|
exports.DEFAULT_DURATION_RANGE = DEFAULT_DURATION_RANGE;
|
|
13225
13242
|
exports.DEFAULT_PRICE_RANGE = DEFAULT_PRICE_RANGE;
|
|
13226
13243
|
exports.DEFAULT_SCROLL_AMOUNT = DEFAULT_SCROLL_AMOUNT;
|
|
13227
|
-
exports.DEFAULT_SERVICE_CLASSES = DEFAULT_SERVICE_CLASSES;
|
|
13228
13244
|
exports.DEFAULT_SERVICE_TYPES = DEFAULT_SERVICE_TYPES;
|
|
13229
13245
|
exports.DEFAULT_SORT_OPTIONS = DEFAULT_SORT_OPTIONS;
|
|
13230
13246
|
exports.DEFAULT_TIME_SLOTS = DEFAULT_TIME_SLOTS;
|