@asdp/ferryui 0.1.22-dev.8641 → 0.1.22-dev.8653

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
@@ -199,6 +199,20 @@ var MODAL_PRESETS = {
199
199
  PURCHASE_PERIOD_EXPIRED: getModalPreset("PURCHASE_PERIOD_EXPIRED", "id"),
200
200
  TRANSACTION_LIMIT: getModalPreset("TRANSACTION_LIMIT", "id")
201
201
  };
202
+
203
+ // src/components/CarouselWithCustomNav/CarouselWithCustomNav.constants.ts
204
+ var DEFAULT_LABELS2 = {
205
+ id: {
206
+ carouselAriaLabel: "Carousel",
207
+ slideAriaLabel: "Slide {index}",
208
+ announcementTemplate: "Carousel slide {index} dari {total}"
209
+ },
210
+ en: {
211
+ carouselAriaLabel: "Carousel",
212
+ slideAriaLabel: "Slide {index}",
213
+ announcementTemplate: "Carousel slide {index} of {total}"
214
+ }
215
+ };
202
216
  var useStyles2 = reactComponents.makeStyles({
203
217
  carousel: {},
204
218
  customCarouselNav: {
@@ -256,32 +270,49 @@ var useStyles2 = reactComponents.makeStyles({
256
270
  }
257
271
  }
258
272
  });
259
- var defaultAnnouncement = (index, totalSlides) => {
260
- return `Carousel slide ${index + 1} of ${totalSlides}`;
261
- };
262
273
  var CarouselWithCustomNav = ({
274
+ language = "id",
275
+ labels: customLabels,
263
276
  children,
264
277
  circular = true,
265
278
  draggable = true,
266
279
  align = "start",
267
280
  whitespace = false,
268
- announcement = defaultAnnouncement,
281
+ announcement: customAnnouncement,
269
282
  activeIndex: controlledIndex,
270
283
  onActiveIndexChange,
271
- ariaLabel = "Carousel",
284
+ ariaLabel: deprecatedAriaLabel,
272
285
  darkNavBackground = true,
273
286
  className,
274
287
  cardFocus = false
275
288
  }) => {
276
289
  const styles = useStyles2();
277
290
  const [internalIndex, setInternalIndex] = React5.useState(0);
291
+ const labels = React5__default.default.useMemo(
292
+ () => ({
293
+ ...DEFAULT_LABELS2[language],
294
+ ...customLabels,
295
+ ...deprecatedAriaLabel && { carouselAriaLabel: deprecatedAriaLabel }
296
+ }),
297
+ [language, customLabels, deprecatedAriaLabel]
298
+ );
278
299
  const activeIndex = controlledIndex !== void 0 ? controlledIndex : internalIndex;
279
- const handleIndexChange = React5.useCallback((index) => {
280
- if (controlledIndex === void 0) {
281
- setInternalIndex(index);
282
- }
283
- onActiveIndexChange?.(index);
284
- }, [controlledIndex, onActiveIndexChange]);
300
+ const handleIndexChange = React5.useCallback(
301
+ (index) => {
302
+ if (controlledIndex === void 0) {
303
+ setInternalIndex(index);
304
+ }
305
+ onActiveIndexChange?.(index);
306
+ },
307
+ [controlledIndex, onActiveIndexChange]
308
+ );
309
+ const defaultAnnouncement = React5.useCallback(
310
+ (index, totalSlides) => {
311
+ return labels.announcementTemplate.replace("{index}", (index + 1).toString()).replace("{total}", totalSlides.toString());
312
+ },
313
+ [labels.announcementTemplate]
314
+ );
315
+ const announcement = customAnnouncement || defaultAnnouncement;
285
316
  return /* @__PURE__ */ jsxRuntime.jsxs(
286
317
  reactComponents.Carousel,
287
318
  {
@@ -298,7 +329,7 @@ var CarouselWithCustomNav = ({
298
329
  reactComponents.CarouselSlider,
299
330
  {
300
331
  cardFocus,
301
- "aria-label": ariaLabel,
332
+ "aria-label": labels.carouselAriaLabel,
302
333
  children
303
334
  }
304
335
  ) }),
@@ -311,7 +342,15 @@ var CarouselWithCustomNav = ({
311
342
  },
312
343
  appearance: "brand",
313
344
  className: styles.carouselNavButton,
314
- children: (index) => /* @__PURE__ */ jsxRuntime.jsx(reactComponents.CarouselNavButton, { "aria-label": `Slide ${index + 1}` })
345
+ children: (index) => /* @__PURE__ */ jsxRuntime.jsx(
346
+ reactComponents.CarouselNavButton,
347
+ {
348
+ "aria-label": labels.slideAriaLabel.replace(
349
+ "{index}",
350
+ (index + 1).toString()
351
+ )
352
+ }
353
+ )
315
354
  }
316
355
  )
317
356
  ]
@@ -320,7 +359,7 @@ var CarouselWithCustomNav = ({
320
359
  };
321
360
 
322
361
  // src/components/CardPromo/CardPromo.constants.ts
323
- var DEFAULT_LABELS2 = {
362
+ var DEFAULT_LABELS3 = {
324
363
  id: {
325
364
  defaultImageAlt: "Gambar Promo",
326
365
  defaultButtonText: "Lihat Detail"
@@ -431,7 +470,7 @@ var CardPromo = ({
431
470
  labels
432
471
  }) => {
433
472
  const classes = useStyles3();
434
- const mergedLabels = { ...DEFAULT_LABELS2[language], ...labels };
473
+ const mergedLabels = { ...DEFAULT_LABELS3[language], ...labels };
435
474
  const displayImageAlt = imageAlt || mergedLabels.defaultImageAlt;
436
475
  const displayButtonText = buttonText || mergedLabels.defaultButtonText;
437
476
  const ariaLabel = totalCards ? `Card ${index + 1} of ${totalCards}` : `Promo card ${index + 1}`;
@@ -532,7 +571,7 @@ var CardPromo = ({
532
571
  };
533
572
 
534
573
  // src/components/CardBanner/CardBanner.constants.ts
535
- var DEFAULT_LABELS3 = {
574
+ var DEFAULT_LABELS4 = {
536
575
  id: {
537
576
  bannerAriaLabel: "Banner {index} dari {total}",
538
577
  bannerAriaLabelSingle: "Banner {index}",
@@ -577,7 +616,7 @@ var CardBanner = ({
577
616
  }) => {
578
617
  const classes = useStyles4();
579
618
  const mergedLabels = {
580
- ...DEFAULT_LABELS3[language],
619
+ ...DEFAULT_LABELS4[language],
581
620
  ...labels
582
621
  };
583
622
  const ariaLabel = totalBanners ? mergedLabels.bannerAriaLabel.replace("{index}", (index + 1).toString()).replace("{total}", totalBanners.toString()) : mergedLabels.bannerAriaLabelSingle.replace(
@@ -760,7 +799,7 @@ var extendedTokens = {
760
799
  colorBrandForegroundLinkSelected: customBrand[110]});
761
800
 
762
801
  // src/components/CardTicket/CardTicket.constants.ts
763
- var DEFAULT_LABELS4 = {
802
+ var DEFAULT_LABELS5 = {
764
803
  id: {
765
804
  availableSeatsLabel: "Tersedia",
766
805
  estimationPrefix: "Estimasi",
@@ -769,7 +808,8 @@ var DEFAULT_LABELS4 = {
769
808
  totalPriceLabel: "Total harga",
770
809
  facilitiesLabel: "Fasilitas",
771
810
  selectTicketButton: "Pilih Tiket",
772
- timezoneLabel: "WIB"
811
+ timezoneLabel: "WIB",
812
+ currencySymbol: "IDR"
773
813
  },
774
814
  en: {
775
815
  availableSeatsLabel: "Available",
@@ -779,7 +819,8 @@ var DEFAULT_LABELS4 = {
779
819
  totalPriceLabel: "Total price",
780
820
  facilitiesLabel: "Facilities",
781
821
  selectTicketButton: "Select Ticket",
782
- timezoneLabel: "WIB"
822
+ timezoneLabel: "WIB",
823
+ currencySymbol: "IDR"
783
824
  }
784
825
  };
785
826
  var useStyles5 = reactComponents.makeStyles({
@@ -1002,7 +1043,7 @@ var CardTicket = ({
1002
1043
  }) => {
1003
1044
  const styles = useStyles5();
1004
1045
  const { width } = useWindowSize();
1005
- const mergedLabels = { ...DEFAULT_LABELS4[language], ...labels };
1046
+ const mergedLabels = { ...DEFAULT_LABELS5[language], ...labels };
1006
1047
  const getCircularVerticalConfig = () => {
1007
1048
  if (width <= 1600) return { count: 6, spacing: 60, top: 10 };
1008
1049
  return { count: 5, spacing: 60, top: 18 };
@@ -1284,8 +1325,11 @@ var CardTicket = ({
1284
1325
  justifyContent: "end"
1285
1326
  },
1286
1327
  children: [
1287
- "IDR\xA0",
1288
- totalPrice.toLocaleString("id-ID")
1328
+ mergedLabels.currencySymbol,
1329
+ "\xA0",
1330
+ totalPrice.toLocaleString(
1331
+ language === "id" ? "id-ID" : "en-US"
1332
+ )
1289
1333
  ]
1290
1334
  }
1291
1335
  )
@@ -1508,7 +1552,7 @@ var BackgroundTicketCardVertical = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
1508
1552
  var BackgroundTicketCardVertical_default = BackgroundTicketCardVertical;
1509
1553
 
1510
1554
  // src/components/CardServiceMenu/CardServiceMenu.constants.ts
1511
- var DEFAULT_LABELS5 = {
1555
+ var DEFAULT_LABELS6 = {
1512
1556
  id: {
1513
1557
  ferryLabel: "Ferry",
1514
1558
  ferryDescription: "Layanan penyeberangan ferry ASDP",
@@ -1657,7 +1701,7 @@ var CardServiceMenu = ({
1657
1701
  labels
1658
1702
  }) => {
1659
1703
  const styles = useStyles6();
1660
- const mergedLabels = { ...DEFAULT_LABELS5[language], ...labels };
1704
+ const mergedLabels = { ...DEFAULT_LABELS6[language], ...labels };
1661
1705
  const getMenuItemClass = (serviceId) => {
1662
1706
  const isActive = activeServiceId === serviceId;
1663
1707
  return reactComponents.mergeClasses(styles.menuItem, isActive && styles.menuItemActive);
@@ -1783,7 +1827,7 @@ DatePickerInput.displayName = "DatePickerInput";
1783
1827
  var DatePickerInput_default = DatePickerInput;
1784
1828
 
1785
1829
  // src/components/InputDynamic/InputDynamic.constants.ts
1786
- var DEFAULT_LABELS6 = {
1830
+ var DEFAULT_LABELS7 = {
1787
1831
  id: {
1788
1832
  emailOrPhonePlaceholder: "Email atau Nomor HP",
1789
1833
  emailPlaceholder: "Email",
@@ -2048,7 +2092,7 @@ var InputDynamic = ({
2048
2092
  labels
2049
2093
  }) => {
2050
2094
  const styles = useStyles7();
2051
- const mergedLabels = { ...DEFAULT_LABELS6[language], ...labels };
2095
+ const mergedLabels = { ...DEFAULT_LABELS7[language], ...labels };
2052
2096
  const [showPassword, setShowPassword] = React5.useState(false);
2053
2097
  const [isPhoneMode, setIsPhoneMode] = React5.useState(false);
2054
2098
  const [emailOrPhoneType, setEmailOrPhoneType] = React5.useState("none");
@@ -3146,7 +3190,7 @@ var DEFAULT_COUNTRY_CODES = [
3146
3190
  ];
3147
3191
 
3148
3192
  // src/components/CardTicketSearch/CardTicketSearch.constants.ts
3149
- var DEFAULT_LABELS7 = {
3193
+ var DEFAULT_LABELS8 = {
3150
3194
  id: {
3151
3195
  fromLabel: "Dari",
3152
3196
  toLabel: "Ke",
@@ -3163,7 +3207,11 @@ var DEFAULT_LABELS7 = {
3163
3207
  placeholderReturnDate: "Pilih Tanggal Kepulangan",
3164
3208
  placeholderTypeClass: "Pilih Kelas Layanan",
3165
3209
  placeholderTypeService: "Pilih Jenis Layanan",
3166
- placeholderPassenger: "Pilih Jumlah Penumpang"
3210
+ placeholderPassenger: "Pilih Jumlah Penumpang",
3211
+ errorOriginRequired: "Pelabuhan asal wajib diisi",
3212
+ errorDestinationRequired: "Pelabuhan tujuan wajib diisi",
3213
+ errorDepartureDateRequired: "Tanggal Berangkat wajib diisi",
3214
+ errorReturnDateRequired: "Tanggal Pulang wajib diisi"
3167
3215
  },
3168
3216
  en: {
3169
3217
  fromLabel: "From",
@@ -3181,7 +3229,11 @@ var DEFAULT_LABELS7 = {
3181
3229
  placeholderReturnDate: "Select Return Date",
3182
3230
  placeholderTypeClass: "Select Service Class",
3183
3231
  placeholderTypeService: "Select Service Type",
3184
- placeholderPassenger: "Select Number of Passengers"
3232
+ placeholderPassenger: "Select Number of Passengers",
3233
+ errorOriginRequired: "Origin port is required",
3234
+ errorDestinationRequired: "Destination port is required",
3235
+ errorDepartureDateRequired: "Departure date is required",
3236
+ errorReturnDateRequired: "Return date is required"
3185
3237
  }
3186
3238
  };
3187
3239
  var useStyles8 = reactComponents.makeStyles({
@@ -3322,7 +3374,7 @@ var CardTicketSearch = ({
3322
3374
  }) => {
3323
3375
  const styles = useStyles8();
3324
3376
  const labels = React5__default.default.useMemo(
3325
- () => ({ ...DEFAULT_LABELS7[language], ...customLabels }),
3377
+ () => ({ ...DEFAULT_LABELS8[language], ...customLabels }),
3326
3378
  [language, customLabels]
3327
3379
  );
3328
3380
  const { control, setValue, getValues, handleSubmit } = reactHookForm.useForm({
@@ -3351,7 +3403,17 @@ var CardTicketSearch = ({
3351
3403
  setValue("serviceClass", serviceClass);
3352
3404
  setValue("typeOfService", typeOfService);
3353
3405
  setValue("passenger", passenger);
3354
- }, [from, to, startDate, endDate, roundTrip, serviceClass, typeOfService, passenger, setValue]);
3406
+ }, [
3407
+ from,
3408
+ to,
3409
+ startDate,
3410
+ endDate,
3411
+ roundTrip,
3412
+ serviceClass,
3413
+ typeOfService,
3414
+ passenger,
3415
+ setValue
3416
+ ]);
3355
3417
  React5__default.default.useEffect(() => {
3356
3418
  if (onRoundTripChange) {
3357
3419
  onRoundTripChange(roundTripValue);
@@ -3428,114 +3490,150 @@ var CardTicketSearch = ({
3428
3490
  children: /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleSubmit(handleFormSubmit), children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { width: "100%" }, className: styles.formInnerRow, children: [
3429
3491
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 6, xxl: 6, xxxl: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { gap: "16px" }, className: styles.formFieldRow, children: [
3430
3492
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.formField, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
3431
- /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { xs: 12, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: [
3432
- /* @__PURE__ */ jsxRuntime.jsx(
3433
- InputDynamic_default,
3434
- {
3435
- name: "from",
3436
- label: labels.fromLabel,
3437
- control,
3438
- type: "text",
3439
- contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3440
- iconify_js.Icon,
3493
+ /* @__PURE__ */ jsxRuntime.jsxs(
3494
+ reactGridSystem.Col,
3495
+ {
3496
+ xs: 12,
3497
+ sm: 12,
3498
+ md: 12,
3499
+ lg: 12,
3500
+ xl: 12,
3501
+ xxl: 12,
3502
+ xxxl: 12,
3503
+ children: [
3504
+ /* @__PURE__ */ jsxRuntime.jsx(
3505
+ InputDynamic_default,
3441
3506
  {
3442
- icon: "fluent:vehicle-ship-16-filled",
3443
- color: reactComponents.tokens.colorBrandBackground
3507
+ name: "from",
3508
+ label: labels.fromLabel,
3509
+ control,
3510
+ type: "text",
3511
+ contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3512
+ iconify_js.Icon,
3513
+ {
3514
+ icon: "fluent:vehicle-ship-16-filled",
3515
+ color: reactComponents.tokens.colorBrandBackground
3516
+ }
3517
+ ),
3518
+ appearance: "filled-lighter",
3519
+ size: "medium",
3520
+ placeholder: labels.placeholderPort,
3521
+ onClick: onFromClick,
3522
+ onChange: handleFromChange,
3523
+ validationRules: {
3524
+ required: labels.errorOriginRequired
3525
+ },
3526
+ required: true
3444
3527
  }
3445
3528
  ),
3446
- appearance: "filled-lighter",
3447
- size: "medium",
3448
- placeholder: labels.placeholderPort,
3449
- onClick: onFromClick,
3450
- onChange: handleFromChange,
3451
- validationRules: {
3452
- required: "Pelabuhan asal wajib diisi"
3453
- },
3454
- required: true
3455
- }
3456
- ),
3457
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.deviderButton, children: [
3458
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
3459
- " ",
3460
- /* @__PURE__ */ jsxRuntime.jsx(
3461
- reactComponents.Button,
3462
- {
3463
- onClick: onSwitchClick,
3464
- className: styles.buttonSwitch,
3465
- shape: "circular",
3466
- appearance: "secondary",
3467
- size: "large",
3468
- disabled: switchDisabled,
3469
- icon: /* @__PURE__ */ jsxRuntime.jsx(
3470
- "div",
3529
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.deviderButton, children: [
3530
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
3531
+ " ",
3532
+ /* @__PURE__ */ jsxRuntime.jsx(
3533
+ reactComponents.Button,
3471
3534
  {
3472
- className: `${styles.switchIcon} ${isRotating ? styles.switchIconRotate : ""}`,
3473
- children: /* @__PURE__ */ jsxRuntime.jsx(
3474
- "img",
3535
+ onClick: onSwitchClick,
3536
+ className: styles.buttonSwitch,
3537
+ shape: "circular",
3538
+ appearance: "secondary",
3539
+ size: "large",
3540
+ disabled: switchDisabled,
3541
+ icon: /* @__PURE__ */ jsxRuntime.jsx(
3542
+ "div",
3475
3543
  {
3476
- src: "/assets/images/icons/switch.svg",
3477
- alt: "Switch",
3478
- width: 26,
3479
- height: 26
3544
+ className: `${styles.switchIcon} ${isRotating ? styles.switchIconRotate : ""}`,
3545
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3546
+ "img",
3547
+ {
3548
+ src: "/assets/images/icons/switch.svg",
3549
+ alt: "Switch",
3550
+ width: 26,
3551
+ height: 26
3552
+ }
3553
+ )
3480
3554
  }
3481
3555
  )
3482
3556
  }
3483
3557
  )
3484
- }
3485
- )
3486
- ] })
3487
- ] }),
3488
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
3489
- InputDynamic_default,
3558
+ ] })
3559
+ ]
3560
+ }
3561
+ ),
3562
+ /* @__PURE__ */ jsxRuntime.jsx(
3563
+ reactGridSystem.Col,
3490
3564
  {
3491
- name: "to",
3492
- label: labels.toLabel,
3493
- control,
3494
- type: "text",
3495
- contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3496
- iconify_js.Icon,
3565
+ xs: 12,
3566
+ sm: 12,
3567
+ md: 12,
3568
+ lg: 12,
3569
+ xl: 12,
3570
+ xxl: 12,
3571
+ xxxl: 12,
3572
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3573
+ InputDynamic_default,
3497
3574
  {
3498
- icon: "fluent:location-24-filled",
3499
- color: reactComponents.tokens.colorBrandBackground
3575
+ name: "to",
3576
+ label: labels.toLabel,
3577
+ control,
3578
+ type: "text",
3579
+ contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3580
+ iconify_js.Icon,
3581
+ {
3582
+ icon: "fluent:location-24-filled",
3583
+ color: reactComponents.tokens.colorBrandBackground
3584
+ }
3585
+ ),
3586
+ disabled: toDisabled,
3587
+ appearance: "filled-lighter",
3588
+ size: "medium",
3589
+ placeholder: labels.placeholderDestinationPort,
3590
+ onClick: onToClick,
3591
+ validationRules: {
3592
+ required: labels.errorDestinationRequired
3593
+ },
3594
+ required: true
3500
3595
  }
3501
- ),
3502
- disabled: toDisabled,
3503
- appearance: "filled-lighter",
3504
- size: "medium",
3505
- placeholder: labels.placeholderDestinationPort,
3506
- onClick: onToClick,
3507
- validationRules: {
3508
- required: "Pelabuhan tujuan wajib diisi"
3509
- },
3510
- required: true
3596
+ )
3511
3597
  }
3512
- ) })
3598
+ )
3513
3599
  ] }) }) }),
3514
3600
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.formField, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { height: "100%" }, children: [
3515
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 7, sm: 7, md: 7, lg: 7, xl: 7, xxl: 7, xxxl: 7, children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { position: "relative", zIndex: 2 }, children: /* @__PURE__ */ jsxRuntime.jsx(
3516
- InputDynamic_default,
3601
+ /* @__PURE__ */ jsxRuntime.jsx(
3602
+ reactGridSystem.Col,
3517
3603
  {
3518
- name: "startDate",
3519
- label: labels.departureDateLabel,
3520
- control,
3521
- type: "text",
3522
- contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3523
- iconify_js.Icon,
3604
+ xs: 7,
3605
+ sm: 7,
3606
+ md: 7,
3607
+ lg: 7,
3608
+ xl: 7,
3609
+ xxl: 7,
3610
+ xxxl: 7,
3611
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { position: "relative", zIndex: 2 }, children: /* @__PURE__ */ jsxRuntime.jsx(
3612
+ InputDynamic_default,
3524
3613
  {
3525
- icon: "fluent:calendar-24-filled",
3526
- color: reactComponents.tokens.colorBrandBackground
3614
+ name: "startDate",
3615
+ label: labels.departureDateLabel,
3616
+ control,
3617
+ type: "text",
3618
+ contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3619
+ iconify_js.Icon,
3620
+ {
3621
+ icon: "fluent:calendar-24-filled",
3622
+ color: reactComponents.tokens.colorBrandBackground
3623
+ }
3624
+ ),
3625
+ appearance: "filled-lighter",
3626
+ size: "medium",
3627
+ placeholder: labels.placeholderDepartureDate,
3628
+ onClick: onStartDateClick,
3629
+ required: true,
3630
+ validationRules: {
3631
+ required: labels.errorDepartureDateRequired
3632
+ }
3527
3633
  }
3528
- ),
3529
- appearance: "filled-lighter",
3530
- size: "medium",
3531
- placeholder: labels.placeholderDepartureDate,
3532
- onClick: onStartDateClick,
3533
- required: true,
3534
- validationRules: {
3535
- required: "Tanggal Berangkat wajib diisi"
3536
- }
3634
+ ) })
3537
3635
  }
3538
- ) }) }),
3636
+ ),
3539
3637
  showRoundTrip && /* @__PURE__ */ jsxRuntime.jsx(
3540
3638
  reactGridSystem.Col,
3541
3639
  {
@@ -3560,32 +3658,44 @@ var CardTicketSearch = ({
3560
3658
  )
3561
3659
  }
3562
3660
  ),
3563
- roundTripValue && /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
3564
- InputDynamic_default,
3661
+ roundTripValue && /* @__PURE__ */ jsxRuntime.jsx(
3662
+ reactGridSystem.Col,
3565
3663
  {
3566
- name: "endDate",
3567
- label: labels.returnDateLabel,
3568
- control,
3569
- type: "text",
3570
- contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3571
- iconify_js.Icon,
3664
+ xs: 12,
3665
+ sm: 12,
3666
+ md: 12,
3667
+ lg: 12,
3668
+ xl: 12,
3669
+ xxl: 12,
3670
+ xxxl: 12,
3671
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3672
+ InputDynamic_default,
3572
3673
  {
3573
- icon: "fluent:calendar-24-filled",
3574
- color: reactComponents.tokens.colorBrandBackground
3674
+ name: "endDate",
3675
+ label: labels.returnDateLabel,
3676
+ control,
3677
+ type: "text",
3678
+ contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3679
+ iconify_js.Icon,
3680
+ {
3681
+ icon: "fluent:calendar-24-filled",
3682
+ color: reactComponents.tokens.colorBrandBackground
3683
+ }
3684
+ ),
3685
+ appearance: "filled-lighter",
3686
+ size: "medium",
3687
+ placeholder: labels.placeholderReturnDate,
3688
+ onClick: onEndDateClick,
3689
+ disabled: endDateDisabled,
3690
+ style: { borderColor: "transparent" },
3691
+ required: roundTripValue,
3692
+ validationRules: {
3693
+ required: labels.errorReturnDateRequired
3694
+ }
3575
3695
  }
3576
- ),
3577
- appearance: "filled-lighter",
3578
- size: "medium",
3579
- placeholder: labels.placeholderReturnDate,
3580
- onClick: onEndDateClick,
3581
- disabled: endDateDisabled,
3582
- style: { borderColor: "transparent" },
3583
- required: roundTripValue,
3584
- validationRules: {
3585
- required: "Tanggal Pulang wajib diisi"
3586
- }
3696
+ )
3587
3697
  }
3588
- ) })
3698
+ )
3589
3699
  ] }) }) })
3590
3700
  ] }) }),
3591
3701
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Visible, { xl: true, xxl: true, xxxl: true, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -3597,7 +3707,11 @@ var CardTicketSearch = ({
3597
3707
  xl: 1,
3598
3708
  xxl: 1,
3599
3709
  xxxl: 1,
3600
- style: { display: "flex", alignItems: "center", justifyContent: "center" },
3710
+ style: {
3711
+ display: "flex",
3712
+ alignItems: "center",
3713
+ justifyContent: "center"
3714
+ },
3601
3715
  children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { vertical: true, style: { height: "100%" } })
3602
3716
  }
3603
3717
  ) }),
@@ -3617,71 +3731,107 @@ var CardTicketSearch = ({
3617
3731
  className: styles.serviceCol,
3618
3732
  children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { height: "100%", gap: "16px" }, children: [
3619
3733
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.formField, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { height: "100%", gap: "16px" }, children: [
3620
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
3621
- InputDynamic_default,
3734
+ /* @__PURE__ */ jsxRuntime.jsx(
3735
+ reactGridSystem.Col,
3622
3736
  {
3623
- name: "serviceClass",
3624
- label: labels.serviceClassLabel,
3625
- control,
3626
- type: "text",
3627
- contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3628
- iconify_js.Icon,
3737
+ xs: 12,
3738
+ sm: 12,
3739
+ md: 12,
3740
+ lg: 12,
3741
+ xl: 12,
3742
+ xxl: 12,
3743
+ xxxl: 12,
3744
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3745
+ InputDynamic_default,
3629
3746
  {
3630
- icon: "fluent:ribbon-star-24-filled",
3631
- color: reactComponents.tokens.colorBrandBackground
3747
+ name: "serviceClass",
3748
+ label: labels.serviceClassLabel,
3749
+ control,
3750
+ type: "text",
3751
+ contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3752
+ iconify_js.Icon,
3753
+ {
3754
+ icon: "fluent:ribbon-star-24-filled",
3755
+ color: reactComponents.tokens.colorBrandBackground
3756
+ }
3757
+ ),
3758
+ appearance: "filled-lighter",
3759
+ size: "medium",
3760
+ placeholder: labels.placeholderTypeClass,
3761
+ onClick: onServiceClassClick,
3762
+ required: true,
3763
+ disabled: serviceClassDisabled
3632
3764
  }
3633
- ),
3634
- appearance: "filled-lighter",
3635
- size: "medium",
3636
- placeholder: labels.placeholderTypeClass,
3637
- onClick: onServiceClassClick,
3638
- required: true,
3639
- disabled: serviceClassDisabled
3765
+ )
3640
3766
  }
3641
- ) }),
3642
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
3643
- InputDynamic_default,
3767
+ ),
3768
+ /* @__PURE__ */ jsxRuntime.jsx(
3769
+ reactGridSystem.Col,
3644
3770
  {
3645
- name: "typeOfService",
3646
- label: labels.typeOfServiceLabel,
3647
- control,
3648
- type: "text",
3649
- contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3650
- iconify_js.Icon,
3771
+ xs: 12,
3772
+ sm: 12,
3773
+ md: 12,
3774
+ lg: 12,
3775
+ xl: 12,
3776
+ xxl: 12,
3777
+ xxxl: 12,
3778
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3779
+ InputDynamic_default,
3651
3780
  {
3652
- icon: "fluent:apps-list-24-filled",
3653
- color: reactComponents.tokens.colorBrandBackground
3781
+ name: "typeOfService",
3782
+ label: labels.typeOfServiceLabel,
3783
+ control,
3784
+ type: "text",
3785
+ contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3786
+ iconify_js.Icon,
3787
+ {
3788
+ icon: "fluent:apps-list-24-filled",
3789
+ color: reactComponents.tokens.colorBrandBackground
3790
+ }
3791
+ ),
3792
+ appearance: "filled-lighter",
3793
+ size: "medium",
3794
+ placeholder: labels.placeholderTypeService,
3795
+ onClick: onTypeOfServiceClick,
3796
+ required: true,
3797
+ disabled: typeOfServiceDisabled
3654
3798
  }
3655
- ),
3656
- appearance: "filled-lighter",
3657
- size: "medium",
3658
- placeholder: labels.placeholderTypeService,
3659
- onClick: onTypeOfServiceClick,
3660
- required: true,
3661
- disabled: typeOfServiceDisabled
3799
+ )
3662
3800
  }
3663
- ) }),
3664
- showPassengerField && /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
3665
- InputDynamic_default,
3801
+ ),
3802
+ showPassengerField && /* @__PURE__ */ jsxRuntime.jsx(
3803
+ reactGridSystem.Col,
3666
3804
  {
3667
- required: true,
3668
- name: "passenger",
3669
- label: labels.passengerLabel,
3670
- control,
3671
- type: "text",
3672
- contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3673
- iconify_js.Icon,
3805
+ xs: 12,
3806
+ sm: 12,
3807
+ md: 12,
3808
+ lg: 12,
3809
+ xl: 12,
3810
+ xxl: 12,
3811
+ xxxl: 12,
3812
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3813
+ InputDynamic_default,
3674
3814
  {
3675
- icon: "fluent:people-24-filled",
3676
- color: reactComponents.tokens.colorBrandBackground
3815
+ required: true,
3816
+ name: "passenger",
3817
+ label: labels.passengerLabel,
3818
+ control,
3819
+ type: "text",
3820
+ contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
3821
+ iconify_js.Icon,
3822
+ {
3823
+ icon: "fluent:people-24-filled",
3824
+ color: reactComponents.tokens.colorBrandBackground
3825
+ }
3826
+ ),
3827
+ appearance: "filled-lighter",
3828
+ size: "medium",
3829
+ placeholder: labels.placeholderPassenger,
3830
+ onClick: onPassengerClick
3677
3831
  }
3678
- ),
3679
- appearance: "filled-lighter",
3680
- size: "medium",
3681
- placeholder: labels.placeholderPassenger,
3682
- onClick: onPassengerClick
3832
+ )
3683
3833
  }
3684
- ) })
3834
+ )
3685
3835
  ] }) }) }),
3686
3836
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
3687
3837
  reactComponents.Button,
@@ -3708,7 +3858,7 @@ var CardTicketSearch = ({
3708
3858
  };
3709
3859
 
3710
3860
  // src/components/CardTicketSearchSummary/CardTicketSearchSummary.constants.ts
3711
- var DEFAULT_LABELS8 = {
3861
+ var DEFAULT_LABELS9 = {
3712
3862
  id: {
3713
3863
  originHarbor: "Pelabuhan Keberangkatan",
3714
3864
  destinationHarbor: "Pelabuhan Tujuan",
@@ -3809,7 +3959,7 @@ var CardTicketSearchSummary = ({
3809
3959
  children
3810
3960
  }) => {
3811
3961
  const styles = useStyles9();
3812
- const mergedLabels = { ...DEFAULT_LABELS8[language], ...labels };
3962
+ const mergedLabels = { ...DEFAULT_LABELS9[language], ...labels };
3813
3963
  const { width } = useWindowSize();
3814
3964
  const getCircularConfig = () => {
3815
3965
  if (width <= parseInt(extendedTokens.breakpointXs))
@@ -4134,7 +4284,7 @@ var CardTicketSearchSummary = ({
4134
4284
  };
4135
4285
 
4136
4286
  // src/components/ModalSearchHarbor/ModalSearchHarbor.constants.ts
4137
- var DEFAULT_LABELS9 = {
4287
+ var DEFAULT_LABELS10 = {
4138
4288
  id: {
4139
4289
  title: "Pilih Pelabuhan",
4140
4290
  searchPlaceholder: "Cari Pelabuhan...",
@@ -4286,7 +4436,7 @@ var ModalSearchHarbor = ({
4286
4436
  onClearLastSearched
4287
4437
  }) => {
4288
4438
  const styles = useStyles10();
4289
- const mergedLabels = { ...DEFAULT_LABELS9[language], ...labels };
4439
+ const mergedLabels = { ...DEFAULT_LABELS10[language], ...labels };
4290
4440
  const handleSelect = (harbor) => {
4291
4441
  onAddLastSearched(harbor);
4292
4442
  onSelectHarbor(harbor);
@@ -4434,7 +4584,7 @@ var ModalSearchHarbor = ({
4434
4584
  };
4435
4585
 
4436
4586
  // src/components/ModalSelectDate/ModalSelectDate.constants.ts
4437
- var DEFAULT_LABELS10 = {
4587
+ var DEFAULT_LABELS11 = {
4438
4588
  id: {
4439
4589
  title: "Pilih Tanggal",
4440
4590
  oneWay: "Sekali Jalan",
@@ -4567,7 +4717,7 @@ var ModalSelectDate = ({
4567
4717
  showRoundtrip = true
4568
4718
  }) => {
4569
4719
  const styles = useStyles11();
4570
- const mergedLabels = { ...DEFAULT_LABELS10[language], ...labels };
4720
+ const mergedLabels = { ...DEFAULT_LABELS11[language], ...labels };
4571
4721
  React5.useEffect(() => {
4572
4722
  moment__default.default.locale(language === "id" ? "id" : "en");
4573
4723
  }, [language]);
@@ -4790,7 +4940,7 @@ var ModalSelectDate = ({
4790
4940
  };
4791
4941
 
4792
4942
  // src/components/ModalService/ModalService.constants.ts
4793
- var DEFAULT_LABELS11 = {
4943
+ var DEFAULT_LABELS12 = {
4794
4944
  id: {
4795
4945
  title: "Pilih Kelas Layanan",
4796
4946
  loading: "Memuat...",
@@ -4892,7 +5042,7 @@ var ModalService = ({
4892
5042
  isError = false
4893
5043
  }) => {
4894
5044
  const styles = useStyles12();
4895
- const mergedLabels = { ...DEFAULT_LABELS11[language], ...labels };
5045
+ const mergedLabels = { ...DEFAULT_LABELS12[language], ...labels };
4896
5046
  const displayTitle = title || mergedLabels.title;
4897
5047
  const [selectedServices, setSelectedServices] = React5.useState(selectedServiceIds);
4898
5048
  React5.useEffect(() => {
@@ -4998,7 +5148,7 @@ var ModalService = ({
4998
5148
  };
4999
5149
 
5000
5150
  // src/components/ModalTotalPassengers/ModalTotalPassengers.constants.ts
5001
- var DEFAULT_LABELS12 = {
5151
+ var DEFAULT_LABELS13 = {
5002
5152
  id: {
5003
5153
  title: "Pilih Jumlah Penumpang",
5004
5154
  infoMessage: "Anda dapat menambahkan hingga {maxPassengers} penumpang pada golongan kendaraan ini.",
@@ -5105,7 +5255,7 @@ var ModalTotalPassengers = ({
5105
5255
  infoMessage
5106
5256
  }) => {
5107
5257
  const styles = useStyles13();
5108
- const mergedLabels = { ...DEFAULT_LABELS12[language], ...labels };
5258
+ const mergedLabels = { ...DEFAULT_LABELS13[language], ...labels };
5109
5259
  const [passengers, setPassengers] = React5.useState([]);
5110
5260
  const [openItems, setOpenItems] = React5.useState([]);
5111
5261
  const defaultInfoMessage = mergedLabels.infoMessage.replace(
@@ -5370,7 +5520,7 @@ var ModalTotalPassengers = ({
5370
5520
  };
5371
5521
 
5372
5522
  // src/components/ModalTypeOfService/ModalTypeOfService.constants.ts
5373
- var DEFAULT_LABELS13 = {
5523
+ var DEFAULT_LABELS14 = {
5374
5524
  id: {
5375
5525
  title: "Pilih Tipe Layanan",
5376
5526
  cancelButton: "Batal",
@@ -5451,7 +5601,7 @@ var ModalTypeOfService = ({
5451
5601
  renderImage
5452
5602
  }) => {
5453
5603
  const styles = useStyles14();
5454
- const mergedLabels = { ...DEFAULT_LABELS13[language], ...labels };
5604
+ const mergedLabels = { ...DEFAULT_LABELS14[language], ...labels };
5455
5605
  const [selectedServiceTitle, setSelectedServiceTitle] = React5.useState(
5456
5606
  selectedService?.title || ""
5457
5607
  );
@@ -5693,6 +5843,35 @@ var ModalTypeOfService = ({
5693
5843
  };
5694
5844
 
5695
5845
  // src/components/SortMenu/SortMenu.constants.ts
5846
+ var DEFAULT_LABELS15 = {
5847
+ id: {
5848
+ filterButtonText: "Filter",
5849
+ sortButtonText: "Urutkan Berdasarkan",
5850
+ clearFiltersText: "{count} Filter Dipilih",
5851
+ recommendation: "Rekomendasi",
5852
+ highestPrice: "Harga Tertinggi",
5853
+ lowestPrice: "Harga Terendah",
5854
+ earliestDeparture: "Keberangkatan Paling Awal",
5855
+ latestDeparture: "Keberangkatan Paling Akhir"
5856
+ },
5857
+ en: {
5858
+ filterButtonText: "Filter",
5859
+ sortButtonText: "Sort By",
5860
+ clearFiltersText: "{count} Filters Selected",
5861
+ recommendation: "Recommendation",
5862
+ highestPrice: "Highest Price",
5863
+ lowestPrice: "Lowest Price",
5864
+ earliestDeparture: "Earliest Departure",
5865
+ latestDeparture: "Latest Departure"
5866
+ }
5867
+ };
5868
+ var getSortOptions = (labels) => [
5869
+ { value: "rekomendasi", label: labels.recommendation },
5870
+ { value: "harga-tertinggi", label: labels.highestPrice },
5871
+ { value: "harga-terendah", label: labels.lowestPrice },
5872
+ { value: "keberangkatan-paling-awal", label: labels.earliestDeparture },
5873
+ { value: "keberangkatan-paling-akhir", label: labels.latestDeparture }
5874
+ ];
5696
5875
  var DEFAULT_SORT_OPTIONS = [
5697
5876
  { value: "rekomendasi", label: "Rekomendasi" },
5698
5877
  { value: "harga-tertinggi", label: "Harga Tertinggi" },
@@ -5728,17 +5907,50 @@ var useStyles15 = reactComponents.makeStyles({
5728
5907
  }
5729
5908
  });
5730
5909
  var SortMenu = ({
5910
+ language = "id",
5911
+ labels: customLabels,
5731
5912
  value,
5732
5913
  onChange,
5733
5914
  totalActiveFilters = 0,
5734
5915
  onFilterClick,
5735
5916
  onClearFilters,
5736
- sortOptions = DEFAULT_SORT_OPTIONS,
5737
- filterButtonText = "Filter",
5738
- sortButtonText = "Urutkan Berdasarkan",
5739
- clearFiltersText = "{count} Filter Dipilih"
5917
+ sortOptions: customSortOptions,
5918
+ filterButtonText: deprecatedFilterButtonText,
5919
+ sortButtonText: deprecatedSortButtonText,
5920
+ clearFiltersText: deprecatedClearFiltersText
5740
5921
  }) => {
5741
5922
  const styles = useStyles15();
5923
+ const labels = React5__default.default.useMemo(
5924
+ () => ({
5925
+ ...DEFAULT_LABELS15[language],
5926
+ ...customLabels,
5927
+ // Fallback to deprecated props if provided
5928
+ ...deprecatedFilterButtonText && {
5929
+ filterButtonText: deprecatedFilterButtonText
5930
+ },
5931
+ ...deprecatedSortButtonText && {
5932
+ sortButtonText: deprecatedSortButtonText
5933
+ },
5934
+ ...deprecatedClearFiltersText && {
5935
+ clearFiltersText: deprecatedClearFiltersText
5936
+ }
5937
+ }),
5938
+ [
5939
+ language,
5940
+ customLabels,
5941
+ deprecatedFilterButtonText,
5942
+ deprecatedSortButtonText,
5943
+ deprecatedClearFiltersText
5944
+ ]
5945
+ );
5946
+ const sortOptions = React5__default.default.useMemo(
5947
+ () => customSortOptions || getSortOptions(labels),
5948
+ [customSortOptions, labels]
5949
+ );
5950
+ const currentSortLabel = React5__default.default.useMemo(
5951
+ () => sortOptions.find((opt) => opt.value === value)?.label || labels.recommendation,
5952
+ [sortOptions, value, labels.recommendation]
5953
+ );
5742
5954
  const handleReset = () => {
5743
5955
  onChange("rekomendasi");
5744
5956
  };
@@ -5753,7 +5965,7 @@ var SortMenu = ({
5753
5965
  shape: "circular",
5754
5966
  className: styles.button,
5755
5967
  onClick: onFilterClick,
5756
- children: filterButtonText
5968
+ children: labels.filterButtonText
5757
5969
  }
5758
5970
  ),
5759
5971
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Menu, { children: [
@@ -5765,10 +5977,24 @@ var SortMenu = ({
5765
5977
  type: "button",
5766
5978
  shape: "circular",
5767
5979
  className: styles.button,
5768
- children: sortButtonText
5980
+ children: labels.sortButtonText
5769
5981
  }
5770
5982
  ) }),
5771
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.MenuPopover, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.MenuList, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.RadioGroup, { value, onChange: (_, data) => onChange(data.value), children: sortOptions.map((option) => /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: option.value, label: option.label }, option.value)) }) }) })
5983
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.MenuPopover, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.MenuList, { children: /* @__PURE__ */ jsxRuntime.jsx(
5984
+ reactComponents.RadioGroup,
5985
+ {
5986
+ value,
5987
+ onChange: (_, data) => onChange(data.value),
5988
+ children: sortOptions.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
5989
+ reactComponents.Radio,
5990
+ {
5991
+ value: option.value,
5992
+ label: option.label
5993
+ },
5994
+ option.value
5995
+ ))
5996
+ }
5997
+ ) }) })
5772
5998
  ] }),
5773
5999
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { vertical: true, className: styles.divider }),
5774
6000
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -5781,7 +6007,7 @@ var SortMenu = ({
5781
6007
  type: "button",
5782
6008
  shape: "circular",
5783
6009
  className: styles.button,
5784
- children: getSortLabel(value)
6010
+ children: currentSortLabel
5785
6011
  }
5786
6012
  ),
5787
6013
  totalActiveFilters > 0 && onClearFilters && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -5796,7 +6022,10 @@ var SortMenu = ({
5796
6022
  onClick: onClearFilters,
5797
6023
  shape: "circular",
5798
6024
  className: styles.button,
5799
- children: clearFiltersText.replace("{count}", totalActiveFilters.toString())
6025
+ children: labels.clearFiltersText.replace(
6026
+ "{count}",
6027
+ totalActiveFilters.toString()
6028
+ )
5800
6029
  }
5801
6030
  )
5802
6031
  ] })
@@ -5804,7 +6033,7 @@ var SortMenu = ({
5804
6033
  };
5805
6034
 
5806
6035
  // src/components/ModalFilterTicket/ModalFilterTicket.constants.ts
5807
- var DEFAULT_LABELS14 = {
6036
+ var DEFAULT_LABELS16 = {
5808
6037
  id: {
5809
6038
  title: "Filter dengan",
5810
6039
  serviceTypeLabel: "Jenis Layanan",
@@ -5818,7 +6047,9 @@ var DEFAULT_LABELS14 = {
5818
6047
  durationLabel: "Durasi perjalanan",
5819
6048
  durationRangeText: (min, max) => `Perjalanan ${min} - ${max} jam`,
5820
6049
  resetButton: "Reset",
5821
- applyButton: "Terapkan"
6050
+ applyButton: "Terapkan",
6051
+ hourUnit: "jam",
6052
+ currencySymbol: "IDR"
5822
6053
  },
5823
6054
  en: {
5824
6055
  title: "Filter by",
@@ -5833,7 +6064,9 @@ var DEFAULT_LABELS14 = {
5833
6064
  durationLabel: "Travel duration",
5834
6065
  durationRangeText: (min, max) => `${min} - ${max} hours trip`,
5835
6066
  resetButton: "Reset",
5836
- applyButton: "Apply"
6067
+ applyButton: "Apply",
6068
+ hourUnit: "hours",
6069
+ currencySymbol: "IDR"
5837
6070
  }
5838
6071
  };
5839
6072
  var DEFAULT_SERVICE_TYPES = [
@@ -5969,7 +6202,7 @@ var ModalFilterTicket = ({
5969
6202
  maxDuration = DEFAULT_DURATION_RANGE.max
5970
6203
  }) => {
5971
6204
  const styles = useStyles16();
5972
- const mergedLabels = { ...DEFAULT_LABELS14[language], ...labels };
6205
+ const mergedLabels = { ...DEFAULT_LABELS16[language], ...labels };
5973
6206
  const [rangeReady, setRangeReady] = React5.useState(false);
5974
6207
  React5.useEffect(() => {
5975
6208
  if (open) {
@@ -6004,7 +6237,9 @@ var ModalFilterTicket = ({
6004
6237
  }
6005
6238
  };
6006
6239
  const formatPrice = (price) => {
6007
- return new Intl.NumberFormat("id-ID").format(price);
6240
+ return new Intl.NumberFormat(language === "id" ? "id-ID" : "en-US").format(
6241
+ price
6242
+ );
6008
6243
  };
6009
6244
  const renderPriceTrack = React5.useCallback(
6010
6245
  ({ props, children }) => {
@@ -6248,11 +6483,13 @@ var ModalFilterTicket = ({
6248
6483
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.sliderValues, children: [
6249
6484
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
6250
6485
  minDuration,
6251
- " jam"
6486
+ " ",
6487
+ mergedLabels.hourUnit
6252
6488
  ] }),
6253
6489
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
6254
6490
  maxDuration,
6255
- " jam"
6491
+ " ",
6492
+ mergedLabels.hourUnit
6256
6493
  ] })
6257
6494
  ] })
6258
6495
  ] })
@@ -6275,10 +6512,17 @@ var ModalFilterTicket = ({
6275
6512
  };
6276
6513
 
6277
6514
  // src/components/DateFilter/DateFilter.constants.ts
6278
- var DEFAULT_LABELS15 = {
6279
- prevButtonAriaLabel: "Previous dates",
6280
- nextButtonAriaLabel: "Next dates",
6281
- calendarButtonAriaLabel: "Open calendar"
6515
+ var DEFAULT_LABELS17 = {
6516
+ id: {
6517
+ prevButtonAriaLabel: "Tanggal sebelumnya",
6518
+ nextButtonAriaLabel: "Tanggal berikutnya",
6519
+ calendarButtonAriaLabel: "Buka kalender"
6520
+ },
6521
+ en: {
6522
+ prevButtonAriaLabel: "Previous dates",
6523
+ nextButtonAriaLabel: "Next dates",
6524
+ calendarButtonAriaLabel: "Open calendar"
6525
+ }
6282
6526
  };
6283
6527
  var DEFAULT_SCROLL_AMOUNT = 150;
6284
6528
  var useStyles17 = reactComponents.makeStyles({
@@ -6360,11 +6604,15 @@ var DateFilter = ({
6360
6604
  showNavigation = true,
6361
6605
  showCalendarButton = true,
6362
6606
  scrollAmount = DEFAULT_SCROLL_AMOUNT,
6607
+ language = "id",
6363
6608
  labels
6364
6609
  }) => {
6365
6610
  const styles = useStyles17();
6366
6611
  const scrollRef = React5.useRef(null);
6367
- const mergedLabels = { ...DEFAULT_LABELS15, ...labels };
6612
+ const mergedLabels = {
6613
+ ...DEFAULT_LABELS17[language],
6614
+ ...labels
6615
+ };
6368
6616
  const handlePrev = () => {
6369
6617
  scrollRef.current?.scrollBy({ left: -scrollAmount, behavior: "smooth" });
6370
6618
  };
@@ -6422,7 +6670,7 @@ var DateFilter = ({
6422
6670
  };
6423
6671
 
6424
6672
  // src/components/ModalSearchTicket/ModalSearchTicket.constants.ts
6425
- var DEFAULT_LABELS16 = {
6673
+ var DEFAULT_LABELS18 = {
6426
6674
  id: {
6427
6675
  title: "Cari Jadwal Lainnya",
6428
6676
  fromLabel: "Dari",
@@ -6583,7 +6831,7 @@ var ModalSearchTicket = ({
6583
6831
  ...props
6584
6832
  }) => {
6585
6833
  const styles = useStyles18();
6586
- const mergedLabels = { ...DEFAULT_LABELS16[language], ...labels };
6834
+ const mergedLabels = { ...DEFAULT_LABELS18[language], ...labels };
6587
6835
  const { control, setValue, handleSubmit, watch } = reactHookForm.useForm({
6588
6836
  defaultValues: {
6589
6837
  ...DEFAULT_FORM_VALUES,
@@ -7020,7 +7268,7 @@ var ModalSearchTicket = ({
7020
7268
  };
7021
7269
 
7022
7270
  // src/components/Stepper/Stepper.constants.ts
7023
- var DEFAULT_LABELS17 = {
7271
+ var DEFAULT_LABELS19 = {
7024
7272
  id: {
7025
7273
  stepperBackgroundAlt: "Latar Belakang Stepper",
7026
7274
  ferryIconAlt: "Ikon Kapal"
@@ -7156,7 +7404,7 @@ var Stepper = ({
7156
7404
  labels
7157
7405
  }) => {
7158
7406
  const styles = useStyles19();
7159
- const mergedLabels = { ...DEFAULT_LABELS17[language], ...labels };
7407
+ const mergedLabels = { ...DEFAULT_LABELS19[language], ...labels };
7160
7408
  const currentStepIndex = React5.useMemo(() => {
7161
7409
  if (typeof currentStep === "number") {
7162
7410
  return steps.findIndex((step) => step.number === currentStep);
@@ -7212,7 +7460,7 @@ var Stepper = ({
7212
7460
  };
7213
7461
 
7214
7462
  // src/components/CardOrdererInfo/CardOrdererInfo.constants.ts
7215
- var DEFAULT_LABELS18 = {
7463
+ var DEFAULT_LABELS20 = {
7216
7464
  id: {
7217
7465
  title: "Informasi Pemesan",
7218
7466
  ordererName: "Nama Pemesan",
@@ -7257,7 +7505,7 @@ var CardOrdererInfo = ({
7257
7505
  className
7258
7506
  }) => {
7259
7507
  const styles = useStyles20();
7260
- const mergedLabels = { ...DEFAULT_LABELS18[language], ...labels };
7508
+ const mergedLabels = { ...DEFAULT_LABELS20[language], ...labels };
7261
7509
  return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: className || styles.card, children: [
7262
7510
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { children: mergedLabels.title }),
7263
7511
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
@@ -7278,7 +7526,7 @@ var CardOrdererInfo = ({
7278
7526
  };
7279
7527
 
7280
7528
  // src/components/ModalListPassenger/ModalListPassenger.constants.ts
7281
- var DEFAULT_LABELS19 = {
7529
+ var DEFAULT_LABELS21 = {
7282
7530
  id: {
7283
7531
  title: "Detail Penumpang",
7284
7532
  sameAsOrderer: "Sama Dengan Pemesan",
@@ -7350,7 +7598,7 @@ var ModalListPassenger = ({
7350
7598
  onSameAsOrdererChange
7351
7599
  }) => {
7352
7600
  const styles = useStyles21();
7353
- const mergedLabels = { ...DEFAULT_LABELS19[language], ...labels };
7601
+ const mergedLabels = { ...DEFAULT_LABELS21[language], ...labels };
7354
7602
  const displayTitle = title || mergedLabels.title;
7355
7603
  const handleClose = () => {
7356
7604
  onClose();
@@ -7467,7 +7715,7 @@ var ModalListPassenger = ({
7467
7715
  };
7468
7716
 
7469
7717
  // src/components/ModalPassengerForm/ModalPassengerForm.constants.ts
7470
- var DEFAULT_LABELS20 = {
7718
+ var DEFAULT_LABELS22 = {
7471
7719
  id: {
7472
7720
  title: "Detail Penumpang",
7473
7721
  titleLabel: "Title",
@@ -7568,9 +7816,9 @@ var ModalPassengerForm = ({
7568
7816
  ticketClassOptions
7569
7817
  }) => {
7570
7818
  const styles = useStyles22();
7571
- const mergedLabels = { ...DEFAULT_LABELS20[language], ...labels };
7819
+ const mergedLabels = { ...DEFAULT_LABELS22[language], ...labels };
7572
7820
  const mergedErrors = {
7573
- ...DEFAULT_LABELS20[language].errors,
7821
+ ...DEFAULT_LABELS22[language].errors,
7574
7822
  ...labels?.errors
7575
7823
  };
7576
7824
  const displayTitle = title || mergedLabels.title;
@@ -7770,7 +8018,7 @@ var ModalPassengerForm = ({
7770
8018
  };
7771
8019
 
7772
8020
  // src/components/CardPassengerList/CardPassengerList.constants.ts
7773
- var DEFAULT_LABELS21 = {
8021
+ var DEFAULT_LABELS23 = {
7774
8022
  id: {
7775
8023
  defaultTitle: "Data Penumpang",
7776
8024
  passengerPrefix: "Penumpang"
@@ -7892,7 +8140,7 @@ var CardPassengerList = ({
7892
8140
  className
7893
8141
  }) => {
7894
8142
  const styles = useStyles23();
7895
- const mergedLabels = { ...DEFAULT_LABELS21[language], ...labels };
8143
+ const mergedLabels = { ...DEFAULT_LABELS23[language], ...labels };
7896
8144
  const displayTitle = title || mergedLabels.defaultTitle;
7897
8145
  return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: className || styles.card, children: [
7898
8146
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
@@ -7965,7 +8213,7 @@ var CardPassengerList = ({
7965
8213
  };
7966
8214
 
7967
8215
  // src/components/CardVehicleDetail/CardVehicleDetail.constants.ts
7968
- var DEFAULT_LABELS22 = {
8216
+ var DEFAULT_LABELS24 = {
7969
8217
  id: {
7970
8218
  title: "Detail Kendaraan",
7971
8219
  vehicleNumberLabel: "Nomor Kendaraan",
@@ -8023,7 +8271,7 @@ var CardVehicleDetail = ({
8023
8271
  labels
8024
8272
  }) => {
8025
8273
  const styles = useStyles24();
8026
- const mergedLabels = { ...DEFAULT_LABELS22[language], ...labels };
8274
+ const mergedLabels = { ...DEFAULT_LABELS24[language], ...labels };
8027
8275
  return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.card, children: [
8028
8276
  /* @__PURE__ */ jsxRuntime.jsxs(
8029
8277
  "div",
@@ -8083,7 +8331,7 @@ var CardVehicleDetail = ({
8083
8331
  };
8084
8332
 
8085
8333
  // src/components/CardVehicleOwnerForm/CardVehicleOwnerForm.constants.ts
8086
- var DEFAULT_LABELS23 = {
8334
+ var DEFAULT_LABELS25 = {
8087
8335
  id: {
8088
8336
  title: "Informasi Pemilik & Muatan",
8089
8337
  addOwnerButton: "Tambah Pemilik",
@@ -8109,6 +8357,7 @@ var DEFAULT_LABELS23 = {
8109
8357
  cargoReceiverCompanyPlaceholder: "Pilih Nama Perusahaan Penerima Barang",
8110
8358
  cargoReceiverIndividualPlaceholder: "Masukkan Nama Penerima Barang",
8111
8359
  totalWeightLabel: "Berat Muatan dan Kendaraan (Ton)",
8360
+ commentLabel: "Komentar",
8112
8361
  cargoListTitle: "Daftar Muatan",
8113
8362
  cargoItemTitle: "Muatan {index}",
8114
8363
  commodityLabel: "Data Komoditas",
@@ -8129,7 +8378,9 @@ var DEFAULT_LABELS23 = {
8129
8378
  kg: "Kg",
8130
8379
  ton: "Ton",
8131
8380
  unit: "Unit"
8132
- }
8381
+ },
8382
+ pricePlaceholder: "Rp. 0",
8383
+ currencySymbol: "Rp."
8133
8384
  },
8134
8385
  en: {
8135
8386
  title: "Owner & Cargo Information",
@@ -8156,6 +8407,7 @@ var DEFAULT_LABELS23 = {
8156
8407
  cargoReceiverCompanyPlaceholder: "Select Cargo Receiver Company",
8157
8408
  cargoReceiverIndividualPlaceholder: "Enter Cargo Receiver Name",
8158
8409
  totalWeightLabel: "Cargo & Vehicle Weight (Ton)",
8410
+ commentLabel: "Comment",
8159
8411
  cargoListTitle: "Cargo List",
8160
8412
  cargoItemTitle: "Cargo {index}",
8161
8413
  commodityLabel: "Commodity Data",
@@ -8176,7 +8428,9 @@ var DEFAULT_LABELS23 = {
8176
8428
  kg: "Kg",
8177
8429
  ton: "Ton",
8178
8430
  unit: "Unit"
8179
- }
8431
+ },
8432
+ pricePlaceholder: "Rp. 0",
8433
+ currencySymbol: "Rp."
8180
8434
  }
8181
8435
  };
8182
8436
  var useStyles25 = reactComponents.makeStyles({
@@ -8239,7 +8493,7 @@ var CardVehicleOwnerForm = ({
8239
8493
  labels
8240
8494
  }) => {
8241
8495
  const styles = useStyles25();
8242
- const mergedLabels = { ...DEFAULT_LABELS23[language], ...labels };
8496
+ const mergedLabels = { ...DEFAULT_LABELS25[language], ...labels };
8243
8497
  return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.card, children: [
8244
8498
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.header, children: [
8245
8499
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", flex: 1 }, children: [
@@ -8886,7 +9140,7 @@ var CardVehicleOwnerForm = ({
8886
9140
  {
8887
9141
  control,
8888
9142
  name: `owners.${index}.price`,
8889
- placeholder: "Rp. 0",
9143
+ placeholder: mergedLabels.pricePlaceholder,
8890
9144
  disabled: true,
8891
9145
  size: "large",
8892
9146
  type: "text"
@@ -9014,7 +9268,7 @@ var CardVehicleOwnerForm = ({
9014
9268
  };
9015
9269
 
9016
9270
  // src/components/CardBookingTicket/CardBookingTicket.constants.ts
9017
- var DEFAULT_LABELS24 = {
9271
+ var DEFAULT_LABELS26 = {
9018
9272
  id: {
9019
9273
  bookingDetails: "Booking Details",
9020
9274
  routeTitle: "Rute Perjalanan",
@@ -9024,7 +9278,8 @@ var DEFAULT_LABELS24 = {
9024
9278
  previousButton: "Sebelumnya",
9025
9279
  viewBookingButton: "Lihat Pemesanan",
9026
9280
  changePaymentButton: "Ubah Metode Pembayaran",
9027
- timezoneLabel: "WIB"
9281
+ timezoneLabel: "WIB",
9282
+ currencySymbol: "IDR"
9028
9283
  },
9029
9284
  en: {
9030
9285
  bookingDetails: "Booking Details",
@@ -9035,7 +9290,8 @@ var DEFAULT_LABELS24 = {
9035
9290
  previousButton: "Previous",
9036
9291
  viewBookingButton: "View Booking",
9037
9292
  changePaymentButton: "Change Payment Method",
9038
- timezoneLabel: "WIB"
9293
+ timezoneLabel: "WIB",
9294
+ currencySymbol: "IDR"
9039
9295
  }
9040
9296
  };
9041
9297
  var useStyles26 = reactComponents.makeStyles({
@@ -9171,7 +9427,7 @@ var CardBookingTicket = ({
9171
9427
  className
9172
9428
  }) => {
9173
9429
  const styles = useStyles26();
9174
- const mergedLabels = { ...DEFAULT_LABELS24[language], ...labels };
9430
+ const mergedLabels = { ...DEFAULT_LABELS26[language], ...labels };
9175
9431
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.container} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.bookingDetail, children: [
9176
9432
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.bookingDetailTop, children: [
9177
9433
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.bookingDetails }),
@@ -9237,7 +9493,8 @@ var CardBookingTicket = ({
9237
9493
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.totalPrice, children: [
9238
9494
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.totalPriceLabel }),
9239
9495
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Title3, { className: styles.priceText, children: [
9240
- "IDR ",
9496
+ mergedLabels.currencySymbol,
9497
+ " ",
9241
9498
  totalPrice
9242
9499
  ] }),
9243
9500
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -9308,7 +9565,7 @@ var CardBookingTicket = ({
9308
9565
  };
9309
9566
 
9310
9567
  // src/components/CardFAQ/CardFAQ.constants.ts
9311
- var DEFAULT_LABELS25 = {
9568
+ var DEFAULT_LABELS27 = {
9312
9569
  id: {
9313
9570
  title: "Pertanyaan yang sering diajukan"
9314
9571
  },
@@ -9387,7 +9644,7 @@ var CardFAQ = ({
9387
9644
  className
9388
9645
  }) => {
9389
9646
  const styles = useStyles27();
9390
- const mergedLabels = { ...DEFAULT_LABELS25[language], ...labels };
9647
+ const mergedLabels = { ...DEFAULT_LABELS27[language], ...labels };
9391
9648
  const faqItems = items || DEFAULT_FAQ_ITEMS[language];
9392
9649
  return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.faqCard, children: [
9393
9650
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.title }),
@@ -9424,18 +9681,20 @@ var CardFAQ = ({
9424
9681
  };
9425
9682
 
9426
9683
  // src/components/CardAddon/CardAddon.constants.ts
9427
- var DEFAULT_LABELS26 = {
9684
+ var DEFAULT_LABELS28 = {
9428
9685
  id: {
9429
9686
  viewDetail: "Lihat detail",
9430
9687
  totalPrice: "Total Harga",
9431
9688
  passengerInsurance: "Asuransi Penumpang",
9432
- removeOrder: "Hapus Pesanan"
9689
+ removeOrder: "Hapus Pesanan",
9690
+ currencySymbol: "Rp"
9433
9691
  },
9434
9692
  en: {
9435
9693
  viewDetail: "View Details",
9436
9694
  totalPrice: "Total Price",
9437
9695
  passengerInsurance: "Passenger Insurance",
9438
- removeOrder: "Remove Order"
9696
+ removeOrder: "Remove Order",
9697
+ currencySymbol: "Rp"
9439
9698
  }
9440
9699
  };
9441
9700
  var useStyles28 = reactComponents.makeStyles({
@@ -9612,7 +9871,7 @@ var CardAddon = ({
9612
9871
  className
9613
9872
  }) => {
9614
9873
  const styles = useStyles28();
9615
- const mergedLabels = { ...DEFAULT_LABELS26[language], ...labels };
9874
+ const mergedLabels = { ...DEFAULT_LABELS28[language], ...labels };
9616
9875
  return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.gapRow, children: [
9617
9876
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.titleDivider, children: [
9618
9877
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { className: styles.textTitle, children: title }),
@@ -9644,8 +9903,11 @@ var CardAddon = ({
9644
9903
  footerData.priceLabel,
9645
9904
  " ",
9646
9905
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Caption1Stronger, { children: [
9647
- "Rp",
9648
- footerData.price.toLocaleString("id-ID"),
9906
+ mergedLabels.currencySymbol,
9907
+ " ",
9908
+ footerData.price.toLocaleString(
9909
+ language === "id" ? "id-ID" : "en-US"
9910
+ ),
9649
9911
  footerData.priceUnit
9650
9912
  ] })
9651
9913
  ] }) }),
@@ -9690,15 +9952,21 @@ var CardAddon = ({
9690
9952
  ")"
9691
9953
  ] }),
9692
9954
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { children: [
9693
- "Rp",
9694
- item.totalPrice.toLocaleString("id-ID")
9955
+ mergedLabels.currencySymbol,
9956
+ " ",
9957
+ item.totalPrice.toLocaleString(
9958
+ language === "id" ? "id-ID" : "en-US"
9959
+ )
9695
9960
  ] })
9696
9961
  ] }, idx)),
9697
9962
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.breakdownRow, children: [
9698
9963
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: mergedLabels.totalPrice }),
9699
9964
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle2, { children: [
9700
- "Rp",
9701
- assuranceData.totalPrice.toLocaleString("id-ID")
9965
+ mergedLabels.currencySymbol,
9966
+ " ",
9967
+ assuranceData.totalPrice.toLocaleString(
9968
+ language === "id" ? "id-ID" : "en-US"
9969
+ )
9702
9970
  ] })
9703
9971
  ] })
9704
9972
  ] })
@@ -9718,13 +9986,20 @@ var CardAddon = ({
9718
9986
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: item.name }),
9719
9987
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: styles.mealDescription, children: item.description }),
9720
9988
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1Strong, { className: styles.mealPriceInfo, children: [
9721
- "Rp",
9722
- item.price.toLocaleString("id-ID"),
9723
- " x ",
9989
+ mergedLabels.currencySymbol,
9990
+ " ",
9991
+ item.price.toLocaleString(
9992
+ language === "id" ? "id-ID" : "en-US"
9993
+ ),
9994
+ " ",
9995
+ "x ",
9724
9996
  item.quantity,
9997
+ " = ",
9998
+ mergedLabels.currencySymbol,
9725
9999
  " ",
9726
- "= Rp",
9727
- (item.price * item.quantity).toLocaleString("id-ID")
10000
+ (item.price * item.quantity).toLocaleString(
10001
+ language === "id" ? "id-ID" : "en-US"
10002
+ )
9728
10003
  ] })
9729
10004
  ] }),
9730
10005
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.mealActions, children: [
@@ -9779,8 +10054,11 @@ var CardAddon = ({
9779
10054
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.totalContainer, children: [
9780
10055
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: footerData.priceLabel }),
9781
10056
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle1, { style: { fontSize: reactComponents.tokens.fontSizeBase600 }, children: [
9782
- "Rp. ",
9783
- footerData.price.toLocaleString("id-ID")
10057
+ mergedLabels.currencySymbol,
10058
+ " ",
10059
+ footerData.price.toLocaleString(
10060
+ language === "id" ? "id-ID" : "en-US"
10061
+ )
9784
10062
  ] })
9785
10063
  ] }),
9786
10064
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: "100%" }, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -9804,12 +10082,14 @@ var CardAddon = ({
9804
10082
  };
9805
10083
 
9806
10084
  // src/components/CardMealCatalog/CardMealCatalog.constants.ts
9807
- var DEFAULT_LABELS27 = {
10085
+ var DEFAULT_LABELS29 = {
9808
10086
  id: {
9809
- addButton: "Tambah"
10087
+ addButton: "Tambah",
10088
+ currencySymbol: "Rp"
9810
10089
  },
9811
10090
  en: {
9812
- addButton: "Add"
10091
+ addButton: "Add",
10092
+ currencySymbol: "Rp"
9813
10093
  }
9814
10094
  };
9815
10095
  var useStyles29 = reactComponents.makeStyles({
@@ -9952,7 +10232,7 @@ var CardMealCatalog = ({
9952
10232
  className
9953
10233
  }) => {
9954
10234
  const styles = useStyles29();
9955
- const mergedLabels = { ...DEFAULT_LABELS27[language], ...labels };
10235
+ const mergedLabels = { ...DEFAULT_LABELS29[language], ...labels };
9956
10236
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
9957
10237
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.banner, children: [
9958
10238
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.bannerOverlay }),
@@ -10001,8 +10281,11 @@ var CardMealCatalog = ({
10001
10281
  ] }),
10002
10282
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.productFooter, children: [
10003
10283
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.price, children: [
10004
- "Rp",
10005
- item.price.toLocaleString("id-ID")
10284
+ mergedLabels.currencySymbol,
10285
+ " ",
10286
+ item.price.toLocaleString(
10287
+ language === "id" ? "id-ID" : "en-US"
10288
+ )
10006
10289
  ] }),
10007
10290
  item.quantity > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.quantitySelector, children: [
10008
10291
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -10042,7 +10325,7 @@ var CardMealCatalog = ({
10042
10325
  };
10043
10326
 
10044
10327
  // src/components/CardReview/CardReview.constants.ts
10045
- var DEFAULT_LABELS28 = {
10328
+ var DEFAULT_LABELS30 = {
10046
10329
  id: {},
10047
10330
  en: {}
10048
10331
  };
@@ -10098,7 +10381,7 @@ var CardReview = ({
10098
10381
  headerAction
10099
10382
  }) => {
10100
10383
  const styles = useStyles30();
10101
- ({ ...DEFAULT_LABELS28[language], ...labels });
10384
+ ({ ...DEFAULT_LABELS30[language], ...labels });
10102
10385
  return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: [
10103
10386
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
10104
10387
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: title }),
@@ -10145,7 +10428,7 @@ var CardReview = ({
10145
10428
  };
10146
10429
 
10147
10430
  // src/components/CardReviewPassenger/CardReviewPassenger.constants.ts
10148
- var DEFAULT_LABELS29 = {
10431
+ var DEFAULT_LABELS31 = {
10149
10432
  id: {
10150
10433
  title: "Penumpang",
10151
10434
  idNumber: "Nomor ID"
@@ -10254,7 +10537,7 @@ var CardReviewPassenger = ({
10254
10537
  className
10255
10538
  }) => {
10256
10539
  const styles = useStyles31();
10257
- const mergedLabels = { ...DEFAULT_LABELS29[language], ...labels };
10540
+ const mergedLabels = { ...DEFAULT_LABELS31[language], ...labels };
10258
10541
  const displayTitle = title || mergedLabels.title;
10259
10542
  return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: [
10260
10543
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
@@ -10297,7 +10580,7 @@ var CardReviewPassenger = ({
10297
10580
  };
10298
10581
 
10299
10582
  // src/components/CardPriceDetails/CardPriceDetails.constants.ts
10300
- var DEFAULT_LABELS30 = {
10583
+ var DEFAULT_LABELS32 = {
10301
10584
  id: {
10302
10585
  defaultTitle: "Rincian Harga",
10303
10586
  totalPayment: "Total Pembayaran",
@@ -10309,7 +10592,7 @@ var DEFAULT_LABELS30 = {
10309
10592
  "Tiket akan hangus (expired) apabila Anda belum Masuk Pelabuhan (Check-In) hingga melewati batas waktu jadwal Masuk Pelabuhan yang Anda pilih."
10310
10593
  ],
10311
10594
  agreementInfo: "Dengan menekan tombol \u201CLanjutkan Pembayaran\u201D, maka saya telah membaca dan menyetujui :",
10312
- agreementLinkFerizy: "Syarat & Ketentuan",
10595
+ agreementLinkFerizy: "Syarat & Ketentuan Ferizy",
10313
10596
  agreementCovidInfo: "Ketentuan persyaratan menyeberang sesuai dengan\xA0",
10314
10597
  agreementCovidLink: "Surat Edaran Satgas Covid-19 Nomor 23 Tahun 2022.",
10315
10598
  agreementFinal: "Bahwa apabila saya didapati tidak memenuhi ketentuan persyaratan menyeberang pada butir 2 (dua) diatas yang mengakibatkan saya terlambat atau tidak dapat melakukan Check-In di pelabuhan tepat waktu, maka saya menerima dan menyetujui untuk diproses sesuai dengan Syarat & Ketentuan Ferizy sebagaimana tersebut pada butir 1 (satu) di atas.",
@@ -10359,10 +10642,7 @@ var PriceDetailsTerms = ({
10359
10642
  const linkColor = reactComponents.tokens.colorBrandBackground;
10360
10643
  const bookingTerms = labels.bookingTerms;
10361
10644
  const agreementTerms = [
10362
- /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10363
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/terms-and-conditions", style: { color: linkColor }, children: labels.agreementLinkFerizy }),
10364
- "\xA0Ferizy."
10365
- ] }),
10645
+ /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/terms-and-conditions", style: { color: linkColor }, children: labels.agreementLinkFerizy }) }),
10366
10646
  /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10367
10647
  labels.agreementCovidInfo,
10368
10648
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/surat-edaran-satgas-covid-19", style: { color: linkColor }, children: labels.agreementCovidLink })
@@ -10456,7 +10736,7 @@ var CardPriceDetails = ({
10456
10736
  labels
10457
10737
  }) => {
10458
10738
  const styles = useStyles33();
10459
- const mergedLabels = { ...DEFAULT_LABELS30[language], ...labels };
10739
+ const mergedLabels = { ...DEFAULT_LABELS32[language], ...labels };
10460
10740
  const displayTitle = title || mergedLabels.defaultTitle;
10461
10741
  const getVariantClass = (variant) => {
10462
10742
  switch (variant) {
@@ -10476,10 +10756,10 @@ var CardPriceDetails = ({
10476
10756
  isTaxLike ? /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { className: variantClass, children: item.name }) : /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: reactComponents.mergeClasses(styles.label, variantClass), children: item.name }),
10477
10757
  isTaxLike ? /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1Strong, { className: reactComponents.mergeClasses(styles.value, variantClass), children: [
10478
10758
  mergedLabels.currencyPrefix,
10479
- item.price.toLocaleString("id-ID")
10759
+ item.price.toLocaleString(language === "id" ? "id-ID" : "en-US")
10480
10760
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: reactComponents.mergeClasses(styles.value, variantClass), children: [
10481
10761
  item.isRedeem ? "-" : mergedLabels.currencyPrefix,
10482
- item.price.toLocaleString("id-ID")
10762
+ item.price.toLocaleString(language === "id" ? "id-ID" : "en-US")
10483
10763
  ] })
10484
10764
  ] }),
10485
10765
  item.description && /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: styles.description, children: item.description })
@@ -10505,7 +10785,7 @@ var CardPriceDetails = ({
10505
10785
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.totalLabel, children: mergedLabels.totalPayment }),
10506
10786
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle1, { className: styles.totalValue, children: [
10507
10787
  mergedLabels.currencyPrefix,
10508
- total.toLocaleString("id-ID")
10788
+ total.toLocaleString(language === "id" ? "id-ID" : "en-US")
10509
10789
  ] })
10510
10790
  ] }),
10511
10791
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
@@ -10515,7 +10795,7 @@ var CardPriceDetails = ({
10515
10795
  };
10516
10796
 
10517
10797
  // src/components/CardPaymentMethodList/CardPaymentMethodList.constants.ts
10518
- var DEFAULT_LABELS31 = {
10798
+ var DEFAULT_LABELS33 = {
10519
10799
  id: {},
10520
10800
  en: {}
10521
10801
  };
@@ -10580,7 +10860,7 @@ var CardPaymentMethodList = ({
10580
10860
  onSelect
10581
10861
  }) => {
10582
10862
  const styles = useStyles34();
10583
- ({ ...DEFAULT_LABELS31[language], ...labels });
10863
+ ({ ...DEFAULT_LABELS33[language], ...labels });
10584
10864
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.container}`, children: methods.map((category, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
10585
10865
  index > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.dividerContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}) }),
10586
10866
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { multiple: true, collapsible: true, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.AccordionItem, { value: category.value, children: [
@@ -10615,7 +10895,8 @@ var CardPaymentMethodList = ({
10615
10895
  checked: selectedValue === option.value,
10616
10896
  onChange: () => onSelect(option.value),
10617
10897
  value: option.value,
10618
- name: "payment-method"
10898
+ name: "payment-method",
10899
+ disabled: option.disabled
10619
10900
  }
10620
10901
  )
10621
10902
  ]
@@ -10627,7 +10908,7 @@ var CardPaymentMethodList = ({
10627
10908
  };
10628
10909
 
10629
10910
  // src/components/CardPaymentGuide/CardPaymentGuide.constants.ts
10630
- var DEFAULT_LABELS32 = {
10911
+ var DEFAULT_LABELS34 = {
10631
10912
  id: {
10632
10913
  title: "Cara Pembayaran"
10633
10914
  },
@@ -10673,7 +10954,7 @@ var CardPaymentGuide = ({
10673
10954
  className
10674
10955
  }) => {
10675
10956
  const styles = useStyles35();
10676
- const mergedLabels = { ...DEFAULT_LABELS32[language], ...labels };
10957
+ const mergedLabels = { ...DEFAULT_LABELS34[language], ...labels };
10677
10958
  const displayTitle = title || mergedLabels.title;
10678
10959
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
10679
10960
  title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.titleContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.title, children: displayTitle }) }),
@@ -10692,20 +10973,22 @@ var CardPaymentGuide = ({
10692
10973
  };
10693
10974
 
10694
10975
  // src/components/CardPaymentInfo/CardPaymentInfo.constants.ts
10695
- var DEFAULT_LABELS33 = {
10976
+ var DEFAULT_LABELS35 = {
10696
10977
  id: {
10697
10978
  expiryPrefix: "Kode virtual akun berlaku sampai",
10698
10979
  copyCodeButton: "Salin Kode",
10699
10980
  totalPayment: "Total Pembayaran",
10700
10981
  checkStatusInfo: "Klik tombol dibawah ini jika sudah melakukan pembayaran",
10701
- checkStatusButton: "Cek Status Pembayaran"
10982
+ checkStatusButton: "Cek Status Pembayaran",
10983
+ currencySymbol: "Rp."
10702
10984
  },
10703
10985
  en: {
10704
10986
  expiryPrefix: "Virtual account code valid until",
10705
10987
  copyCodeButton: "Copy Code",
10706
10988
  totalPayment: "Total Payment",
10707
10989
  checkStatusInfo: "Click the button below if you have made the payment",
10708
- checkStatusButton: "Check Payment Status"
10990
+ checkStatusButton: "Check Payment Status",
10991
+ currencySymbol: "Rp."
10709
10992
  }
10710
10993
  };
10711
10994
  var useStyles36 = reactComponents.makeStyles({
@@ -10791,7 +11074,7 @@ var CardPaymentInfo = ({
10791
11074
  onCheckStatus
10792
11075
  }) => {
10793
11076
  const styles = useStyles36();
10794
- const mergedLabels = { ...DEFAULT_LABELS33[language], ...labels };
11077
+ const mergedLabels = { ...DEFAULT_LABELS35[language], ...labels };
10795
11078
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
10796
11079
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerRow, children: [
10797
11080
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.expiryPrefix }),
@@ -10826,7 +11109,7 @@ var CardPaymentInfo = ({
10826
11109
  reactComponents.Input,
10827
11110
  {
10828
11111
  disabled: true,
10829
- value: `Rp. ${totalAmount.toLocaleString("id-ID")}`,
11112
+ value: `${mergedLabels.currencySymbol} ${totalAmount.toLocaleString(language === "id" ? "id-ID" : "en-US")}`,
10830
11113
  className: styles.input
10831
11114
  }
10832
11115
  )
@@ -10852,7 +11135,7 @@ var CardPaymentInfo = ({
10852
11135
  };
10853
11136
 
10854
11137
  // src/components/CardStatusOrder/CardStatusOrder.constants.ts
10855
- var DEFAULT_LABELS34 = {
11138
+ var DEFAULT_LABELS36 = {
10856
11139
  id: {
10857
11140
  detailTitle: "Detail Pemesanan",
10858
11141
  statusLabel: "Status",
@@ -10951,7 +11234,7 @@ var CardStatusOrder = ({
10951
11234
  className
10952
11235
  }) => {
10953
11236
  const styles = useStyles37();
10954
- const mergedLabels = { ...DEFAULT_LABELS34[language], ...labels };
11237
+ const mergedLabels = { ...DEFAULT_LABELS36[language], ...labels };
10955
11238
  const displayStatus = statusLabel || mergedLabels.defaultStatus;
10956
11239
  const displayTitle = title || mergedLabels.defaultTitle;
10957
11240
  const displayDescription = description || mergedLabels.defaultDescription;
@@ -11048,7 +11331,7 @@ var CardStatusOrder = ({
11048
11331
  };
11049
11332
 
11050
11333
  // src/components/ModalPriceDetail/ModalPriceDetail.constants.ts
11051
- var DEFAULT_LABELS35 = {
11334
+ var DEFAULT_LABELS37 = {
11052
11335
  id: {
11053
11336
  title: "Rincian Harga",
11054
11337
  addonHeader: "Add On",
@@ -11200,7 +11483,7 @@ var ModalPriceDetail = ({
11200
11483
  ...props
11201
11484
  }) => {
11202
11485
  const styles = useStyles38();
11203
- const mergedLabels = { ...DEFAULT_LABELS35[language], ...labels };
11486
+ const mergedLabels = { ...DEFAULT_LABELS37[language], ...labels };
11204
11487
  return /* @__PURE__ */ jsxRuntime.jsx(
11205
11488
  reactComponents.Dialog,
11206
11489
  {
@@ -11250,7 +11533,9 @@ var ModalPriceDetail = ({
11250
11533
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.priceValue, children: [
11251
11534
  mergedLabels.currencyPrefix,
11252
11535
  " ",
11253
- item.price.toLocaleString("id-ID")
11536
+ item.price.toLocaleString(
11537
+ language === "id" ? "id-ID" : "en-US"
11538
+ )
11254
11539
  ] })
11255
11540
  ] }),
11256
11541
  item.list && item.list.map((subItem) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -11262,7 +11547,9 @@ var ModalPriceDetail = ({
11262
11547
  /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { float: "right" }, children: [
11263
11548
  mergedLabels.currencyCode,
11264
11549
  " ",
11265
- item.price.toLocaleString("id-ID")
11550
+ item.price.toLocaleString(
11551
+ language === "id" ? "id-ID" : "en-US"
11552
+ )
11266
11553
  ] })
11267
11554
  ]
11268
11555
  },
@@ -11276,7 +11563,9 @@ var ModalPriceDetail = ({
11276
11563
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.priceValue, children: [
11277
11564
  mergedLabels.currencyCode,
11278
11565
  " ",
11279
- item.price.toLocaleString("id-ID")
11566
+ item.price.toLocaleString(
11567
+ language === "id" ? "id-ID" : "en-US"
11568
+ )
11280
11569
  ] })
11281
11570
  ] }, item.key))
11282
11571
  ] }),
@@ -11285,14 +11574,18 @@ var ModalPriceDetail = ({
11285
11574
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.totalLabel, children: mergedLabels.subTotalLabel }),
11286
11575
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.totalValue, children: [
11287
11576
  mergedLabels.currencyCode,
11288
- subTotal.toLocaleString("id-ID")
11577
+ subTotal.toLocaleString(
11578
+ language === "id" ? "id-ID" : "en-US"
11579
+ )
11289
11580
  ] })
11290
11581
  ] }),
11291
11582
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.row, children: [
11292
11583
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.totalTagihanLabel, children: mergedLabels.totalTagihanLabel }),
11293
11584
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.totalTagihanValue, children: [
11294
11585
  mergedLabels.currencyCode,
11295
- subTotal.toLocaleString("id-ID")
11586
+ subTotal.toLocaleString(
11587
+ language === "id" ? "id-ID" : "en-US"
11588
+ )
11296
11589
  ] })
11297
11590
  ] }),
11298
11591
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: reactComponents.tokens.spacingVerticalL }, children: [
@@ -11300,7 +11593,9 @@ var ModalPriceDetail = ({
11300
11593
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.ppnLabel, children: mergedLabels.ppnLabel }),
11301
11594
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.ppnValue, children: [
11302
11595
  mergedLabels.currencyCode,
11303
- taxAmount.toLocaleString("id-ID")
11596
+ taxAmount.toLocaleString(
11597
+ language === "id" ? "id-ID" : "en-US"
11598
+ )
11304
11599
  ] })
11305
11600
  ] }),
11306
11601
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.ppnNote, children: mergedLabels.ppnNote })
@@ -11314,7 +11609,9 @@ var ModalPriceDetail = ({
11314
11609
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.grandTotalLabel, children: mergedLabels.grandTotalLabel }),
11315
11610
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.grandTotalValue, children: [
11316
11611
  mergedLabels.currencyPrefix,
11317
- grandTotal.toLocaleString("id-ID")
11612
+ grandTotal.toLocaleString(
11613
+ language === "id" ? "id-ID" : "en-US"
11614
+ )
11318
11615
  ] })
11319
11616
  ]
11320
11617
  }
@@ -11326,7 +11623,7 @@ var ModalPriceDetail = ({
11326
11623
  };
11327
11624
 
11328
11625
  // src/components/CardProfileMenu/CardProfileMenu.constants.ts
11329
- var DEFAULT_LABELS36 = {
11626
+ var DEFAULT_LABELS38 = {
11330
11627
  id: {},
11331
11628
  en: {}
11332
11629
  };
@@ -11389,7 +11686,7 @@ var CardProfileMenu = ({
11389
11686
  onTabSelect
11390
11687
  }) => {
11391
11688
  const styles = useStyles39();
11392
- ({ ...DEFAULT_LABELS36[language], ...labels });
11689
+ ({ ...DEFAULT_LABELS38[language], ...labels });
11393
11690
  const handleTabSelect = (_, data) => {
11394
11691
  onTabSelect(data.value);
11395
11692
  };
@@ -11439,9 +11736,9 @@ exports.CardServiceMenu = CardServiceMenu;
11439
11736
  exports.CardStatusOrder = CardStatusOrder;
11440
11737
  exports.CardTicket = CardTicket;
11441
11738
  exports.CardTicketSearch = CardTicketSearch;
11442
- exports.CardTicketSearchDefaultLabels = DEFAULT_LABELS7;
11739
+ exports.CardTicketSearchDefaultLabels = DEFAULT_LABELS8;
11443
11740
  exports.CardTicketSearchSummary = CardTicketSearchSummary;
11444
- exports.CardTicketSearchSummaryDefaultLabels = DEFAULT_LABELS8;
11741
+ exports.CardTicketSearchSummaryDefaultLabels = DEFAULT_LABELS9;
11445
11742
  exports.CardVehicleDetail = CardVehicleDetail;
11446
11743
  exports.CardVehicleOwnerForm = CardVehicleOwnerForm;
11447
11744
  exports.CarouselWithCustomNav = CarouselWithCustomNav;
@@ -11455,11 +11752,11 @@ exports.DEFAULT_SORT_OPTIONS = DEFAULT_SORT_OPTIONS;
11455
11752
  exports.DEFAULT_TIME_SLOTS = DEFAULT_TIME_SLOTS;
11456
11753
  exports.DEFAULT_VEHICLE_ICONS = DEFAULT_VEHICLE_ICONS;
11457
11754
  exports.DateFilter = DateFilter;
11458
- exports.DateFilterDefaultLabels = DEFAULT_LABELS15;
11755
+ exports.DateFilterDefaultLabels = DEFAULT_LABELS17;
11459
11756
  exports.InputDynamic = InputDynamic_default;
11460
11757
  exports.MODAL_PRESETS = MODAL_PRESETS;
11461
11758
  exports.ModalFilterTicket = ModalFilterTicket;
11462
- exports.ModalFilterTicketDefaultLabels = DEFAULT_LABELS14;
11759
+ exports.ModalFilterTicketDefaultLabels = DEFAULT_LABELS16;
11463
11760
  exports.ModalIllustration = ModalIllustration;
11464
11761
  exports.ModalListPassenger = ModalListPassenger;
11465
11762
  exports.ModalPassengerForm = ModalPassengerForm;