@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.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.name })
4609
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: harbor.portName + ", " + harbor.branchName })
4607
4610
  },
4608
- harbor.id
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.name
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.id),
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.id)) }),
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.name
4693
+ harbor.portName + ", " + harbor.branchName
4670
4694
  ]
4671
4695
  }
4672
4696
  ),
4673
4697
  /* @__PURE__ */ jsxRuntime.jsx(
4674
4698
  react.Icon,
4675
4699
  {
4676
- icon: favoriteHarbors.find((fav) => fav.id === harbor.id) ? "fluent:star-24-filled" : "fluent:star-24-regular",
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
- passengerTypeId: passengerType.id,
5380
- passengerTypeCode: passengerType.passengerTypeCode,
5381
- passengerTypeName: passengerType.passengerTypeName,
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.find(
5393
- (p) => p.passengerTypeCode === defaultP.passengerTypeCode
5400
+ const selectedP = selectedPassengers?.find(
5401
+ (p) => p.passengerAgeCode === defaultP.passengerAgeCode
5394
5402
  );
5395
5403
  if (selectedP) {
5396
- const mergedServices = defaultP.services.map((defaultS) => {
5397
- const selectedS = selectedP.services.find(
5398
- (s) => s.serviceName === defaultS.serviceName
5404
+ const mergedClasses = defaultP.classes.map((defaultC) => {
5405
+ const selectedC = selectedP.classes?.find(
5406
+ (c) => c.classCode === defaultC.classCode
5399
5407
  );
5400
- return selectedS ? {
5401
- ...defaultS,
5402
- count: selectedS.count,
5403
- passengers: selectedS.passengers || []
5404
- } : defaultS;
5408
+ return selectedC ? {
5409
+ ...defaultC,
5410
+ count: selectedC.count,
5411
+ passengers: selectedC.passengers || []
5412
+ } : defaultC;
5405
5413
  });
5406
- return { ...defaultP, services: mergedServices };
5414
+ return { ...defaultP, classes: mergedClasses };
5407
5415
  }
5408
5416
  return defaultP;
5409
5417
  });
5410
5418
  setPassengers(mergedPassengers);
5411
- const itemsWithData = selectedPassengers.filter((p) => p.services.some((s) => s.count > 0)).map((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.passengerTypeCode === p.passengerTypeCode
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, serviceClasses, selectedPassengers]);
5423
- const getServiceCount = (passengerTypeCode, serviceName) => {
5430
+ }, [open, passengerTypes, selectedPassengers]);
5431
+ const getServiceCount = (passengerAgeCode, classCode) => {
5424
5432
  const passenger = passengers.find(
5425
- (p) => p.passengerTypeCode === passengerTypeCode
5433
+ (p) => p.passengerAgeCode === passengerAgeCode
5426
5434
  );
5427
5435
  if (!passenger) return 0;
5428
- const service = passenger.services.find(
5429
- (s) => s.serviceName === serviceName
5436
+ const cls = passenger.classes.find(
5437
+ (c) => c.classCode === classCode
5430
5438
  );
5431
- return service?.count || 0;
5439
+ return cls?.count ?? 0;
5432
5440
  };
5433
- const getTotalForType = (passengerTypeCode) => {
5441
+ const getTotalForType = (passengerAgeCode) => {
5434
5442
  const passenger = passengers.find(
5435
- (p) => p.passengerTypeCode === passengerTypeCode
5443
+ (p) => p.passengerAgeCode === passengerAgeCode
5436
5444
  );
5437
5445
  if (!passenger) return "0";
5438
5446
  const parts = [];
5439
- passenger.services.forEach((service) => {
5440
- if (service.count > 0) {
5441
- const serviceClass = serviceClasses.find(
5442
- (sc) => sc.serviceName === service.serviceName
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 handleIncrement = (passengerTypeCode, serviceName) => {
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.passengerTypeCode === passengerTypeCode) {
5462
+ if (passenger.passengerAgeCode === passengerAgeCode) {
5454
5463
  return {
5455
5464
  ...passenger,
5456
- services: passenger.services.map((service) => {
5457
- if (service.serviceName === serviceName) {
5458
- const newCount = service.count + 1;
5459
- const newPassengers = [...service.passengers || []];
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
- ...service,
5473
+ ...cls,
5465
5474
  count: newCount,
5466
5475
  passengers: newPassengers
5467
5476
  };
5468
5477
  }
5469
- return service;
5478
+ return cls;
5470
5479
  })
5471
5480
  };
5472
5481
  }
@@ -5474,26 +5483,26 @@ var ModalTotalPassengers = ({
5474
5483
  })
5475
5484
  );
5476
5485
  };
5477
- const handleDecrement = (passengerTypeCode, serviceName) => {
5486
+ const handleDecrement = (passengerAgeCode, classCode) => {
5478
5487
  setPassengers(
5479
5488
  (prev) => prev.map((passenger) => {
5480
- if (passenger.passengerTypeCode === passengerTypeCode) {
5489
+ if (passenger.passengerAgeCode === passengerAgeCode) {
5481
5490
  return {
5482
5491
  ...passenger,
5483
- services: passenger.services.map((service) => {
5484
- if (service.serviceName === serviceName && service.count > 0) {
5485
- const newCount = service.count - 1;
5486
- const newPassengers = (service.passengers || []).slice(
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
- ...service,
5500
+ ...cls,
5492
5501
  count: newCount,
5493
5502
  passengers: newPassengers
5494
5503
  };
5495
5504
  }
5496
- return service;
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
- services: passenger.services.filter((service) => service.count > 0)
5508
- })).filter((passenger) => passenger.services.length > 0);
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.passengerTypeName,
5561
+ passengerType.passengerAgeName,
5552
5562
  " (",
5553
- getTotalForType(passengerType.passengerTypeCode),
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: serviceClasses.map((service) => /* @__PURE__ */ jsxRuntime.jsxs(
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: mergedLabels[service.labelKey] }),
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.passengerTypeCode,
5576
- service.serviceName
5585
+ passengerType.passengerAgeCode,
5586
+ cls.classCode
5577
5587
  );
5578
5588
  },
5579
5589
  disabled: getServiceCount(
5580
- passengerType.passengerTypeCode,
5581
- service.serviceName
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.passengerTypeCode,
5587
- service.serviceName
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.passengerTypeCode,
5600
- service.serviceName
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
- service.key
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 [selectedServiceTitle, setSelectedServiceTitle] = React5.useState(
5718
- selectedService?.title || ""
5731
+ const [selectedServiceId, setSelectedServiceId] = React5.useState(
5732
+ selectedService?.id || 0
5719
5733
  );
5720
5734
  const [openItems, setOpenItems] = React5.useState(() => {
5721
- if (!selectedService) return void 0;
5735
+ if (!selectedService) return [];
5722
5736
  for (const item of serviceTypes) {
5723
- if (item.type === "accordion" && item.child.length > 0) {
5724
- const hasSelectedChild = item.child.some(
5725
- (child) => child.title === selectedService.title
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 void 0;
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 newTitle = selectedService?.title || "";
5752
- if (newTitle !== selectedServiceTitle) {
5753
- setSelectedServiceTitle(newTitle);
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.type === "accordion" && item.child.length > 0) {
5758
- const hasSelectedChild = item.child.some(
5759
- (child) => child.title === selectedService.title
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 !== item.id) {
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 !== void 0) {
5768
- setOpenItems(void 0);
5781
+ } else if (openItems.length > 0) {
5782
+ setOpenItems([]);
5769
5783
  }
5770
- }, [open, selectedService?.title]);
5784
+ }, [open, selectedService?.id]);
5771
5785
  const handleConfirm = () => {
5772
- if (selectedServiceTitle) {
5786
+ if (selectedServiceId) {
5773
5787
  let selectedItem = null;
5774
5788
  for (const item of serviceTypes) {
5775
- if (item.title === selectedServiceTitle) {
5789
+ if (item.id === selectedServiceId) {
5776
5790
  selectedItem = {
5777
5791
  id: item.id,
5778
- image: item.image,
5792
+ loadType: item.loadType,
5793
+ group: item.group,
5779
5794
  title: item.title,
5780
5795
  info: item.info,
5781
- price: item.price,
5782
- parentTitle: "",
5783
- parentId: 0,
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.child && item.child.length > 0) {
5791
- const childItem = item.child.find(
5792
- (child) => child.title === selectedServiceTitle
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
- image: childItem.image,
5809
+ loadType: childItem.loadType,
5810
+ group: childItem.group,
5798
5811
  title: childItem.title,
5799
5812
  info: childItem.info,
5800
- price: childItem.price,
5801
- parentTitle: childItem.parentTitle,
5802
- parentId: childItem.parentId,
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[0]),
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: selectedServiceTitle,
5845
- onChange: (_, data) => setSelectedServiceTitle(data.value),
5854
+ value: String(selectedServiceId),
5855
+ onChange: (_, data) => setSelectedServiceId(Number(data.value)),
5846
5856
  children: serviceTypes.map((item, index) => {
5847
- if (item.type === "accordion") {
5857
+ if (item.children.length > 0) {
5848
5858
  return /* @__PURE__ */ jsxRuntime.jsxs(
5849
5859
  reactComponents.AccordionItem,
5850
5860
  {
5851
- value: item.id,
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: mergedLabels.vehiclesAlt,
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.child.length > 0 && item.child.map((childItem, childIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
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.title })
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.type === "radio") {
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.title })
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: !selectedServiceTitle,
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;