@asdp/ferryui 0.1.22-dev.8631 → 0.1.22-dev.8633
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +406 -34
- package/dist/index.d.ts +406 -34
- package/dist/index.js +1252 -490
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1249 -487
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -261,6 +261,18 @@ var CarouselWithCustomNav = ({
|
|
|
261
261
|
}
|
|
262
262
|
);
|
|
263
263
|
};
|
|
264
|
+
|
|
265
|
+
// src/components/CardPromo/CardPromo.constants.ts
|
|
266
|
+
var DEFAULT_LABELS = {
|
|
267
|
+
id: {
|
|
268
|
+
defaultImageAlt: "Gambar Promo",
|
|
269
|
+
defaultButtonText: "Lihat Detail"
|
|
270
|
+
},
|
|
271
|
+
en: {
|
|
272
|
+
defaultImageAlt: "Promo Image",
|
|
273
|
+
defaultButtonText: "View Details"
|
|
274
|
+
}
|
|
275
|
+
};
|
|
264
276
|
var useStyles3 = reactComponents.makeStyles({
|
|
265
277
|
actionCard: {
|
|
266
278
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
@@ -344,22 +356,27 @@ var useStyles3 = reactComponents.makeStyles({
|
|
|
344
356
|
}
|
|
345
357
|
});
|
|
346
358
|
var CardPromo = ({
|
|
359
|
+
language = "id",
|
|
347
360
|
imageUrl,
|
|
348
361
|
title,
|
|
349
362
|
description,
|
|
350
|
-
imageAlt
|
|
363
|
+
imageAlt,
|
|
351
364
|
index = 0,
|
|
352
365
|
totalCards,
|
|
353
366
|
onClick,
|
|
354
367
|
showButton = false,
|
|
355
|
-
buttonText
|
|
368
|
+
buttonText,
|
|
356
369
|
className,
|
|
357
370
|
imageClassName,
|
|
358
371
|
descriptionClassName,
|
|
359
372
|
isLoading = false,
|
|
360
|
-
imageOnly = false
|
|
373
|
+
imageOnly = false,
|
|
374
|
+
labels
|
|
361
375
|
}) => {
|
|
362
376
|
const classes = useStyles3();
|
|
377
|
+
const mergedLabels = { ...DEFAULT_LABELS[language], ...labels };
|
|
378
|
+
const displayImageAlt = imageAlt || mergedLabels.defaultImageAlt;
|
|
379
|
+
const displayButtonText = buttonText || mergedLabels.defaultButtonText;
|
|
363
380
|
const ariaLabel = totalCards ? `Card ${index + 1} of ${totalCards}` : `Promo card ${index + 1}`;
|
|
364
381
|
if (isLoading) {
|
|
365
382
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -369,7 +386,13 @@ var CardPromo = ({
|
|
|
369
386
|
className: reactComponents.mergeClasses(classes.actionCard, className),
|
|
370
387
|
style: { cursor: "default" },
|
|
371
388
|
children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { "aria-label": "Loading content", children: [
|
|
372
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: reactComponents.mergeClasses(classes.imageContainer, imageClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
389
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: reactComponents.mergeClasses(classes.imageContainer, imageClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
390
|
+
reactComponents.SkeletonItem,
|
|
391
|
+
{
|
|
392
|
+
shape: "rectangle",
|
|
393
|
+
style: { width: "100%", height: "100%" }
|
|
394
|
+
}
|
|
395
|
+
) }),
|
|
373
396
|
!imageOnly && /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { className: classes.infoWrapper, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { className: classes.info, xs: 12, children: [
|
|
374
397
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "70%", height: "20px" } }),
|
|
375
398
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.SkeletonItem, { style: { width: "90%", height: "16px" } }),
|
|
@@ -394,25 +417,57 @@ var CardPromo = ({
|
|
|
394
417
|
className: classes.image,
|
|
395
418
|
src: imageUrl,
|
|
396
419
|
role: "presentation",
|
|
397
|
-
alt:
|
|
420
|
+
alt: displayImageAlt
|
|
398
421
|
}
|
|
399
422
|
) }),
|
|
400
423
|
!imageOnly && /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: classes.infoWrapper, children: [
|
|
401
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
402
|
-
|
|
403
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: reactComponents.mergeClasses(classes.title, descriptionClassName), children: description })
|
|
404
|
-
] }),
|
|
405
|
-
showButton && /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { className: classes.buttonWrapper, xs: 12, sm: 12, md: 12, lg: showButton ? 4 : 0, xl: showButton ? 4 : 0, xxl: showButton ? 4 : 0, xxxl: showButton ? 4 : 0, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
406
|
-
reactComponents.Button,
|
|
424
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
425
|
+
reactGridSystem.Col,
|
|
407
426
|
{
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
427
|
+
className: classes.info,
|
|
428
|
+
xs: 12,
|
|
429
|
+
sm: 12,
|
|
430
|
+
md: 12,
|
|
431
|
+
lg: showButton ? 8 : 12,
|
|
432
|
+
xl: showButton ? 8 : 12,
|
|
433
|
+
xxl: showButton ? 8 : 12,
|
|
434
|
+
xxxl: showButton ? 8 : 12,
|
|
435
|
+
children: [
|
|
436
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { className: classes.title, children: title }),
|
|
437
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
438
|
+
reactComponents.Body1,
|
|
439
|
+
{
|
|
440
|
+
className: reactComponents.mergeClasses(classes.title, descriptionClassName),
|
|
441
|
+
children: description
|
|
442
|
+
}
|
|
443
|
+
)
|
|
444
|
+
]
|
|
414
445
|
}
|
|
415
|
-
)
|
|
446
|
+
),
|
|
447
|
+
showButton && /* @__PURE__ */ jsxRuntime.jsx(
|
|
448
|
+
reactGridSystem.Col,
|
|
449
|
+
{
|
|
450
|
+
className: classes.buttonWrapper,
|
|
451
|
+
xs: 12,
|
|
452
|
+
sm: 12,
|
|
453
|
+
md: 12,
|
|
454
|
+
lg: showButton ? 4 : 0,
|
|
455
|
+
xl: showButton ? 4 : 0,
|
|
456
|
+
xxl: showButton ? 4 : 0,
|
|
457
|
+
xxxl: showButton ? 4 : 0,
|
|
458
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
459
|
+
reactComponents.Button,
|
|
460
|
+
{
|
|
461
|
+
appearance: "primary",
|
|
462
|
+
size: "small",
|
|
463
|
+
onClick,
|
|
464
|
+
style: { cursor: onClick ? "pointer" : "default" },
|
|
465
|
+
shape: "circular",
|
|
466
|
+
children: displayButtonText
|
|
467
|
+
}
|
|
468
|
+
)
|
|
469
|
+
}
|
|
470
|
+
)
|
|
416
471
|
] })
|
|
417
472
|
]
|
|
418
473
|
}
|
|
@@ -623,7 +678,31 @@ var extendedTokens = {
|
|
|
623
678
|
colorBrandForegroundLinkHover: customBrand[120],
|
|
624
679
|
colorBrandForegroundLinkPressed: customBrand[130],
|
|
625
680
|
colorBrandForegroundLinkSelected: customBrand[110]});
|
|
626
|
-
|
|
681
|
+
|
|
682
|
+
// src/components/CardTicket/CardTicket.constants.ts
|
|
683
|
+
var DEFAULT_LABELS2 = {
|
|
684
|
+
id: {
|
|
685
|
+
availableSeatsLabel: "Tersedia",
|
|
686
|
+
estimationPrefix: "Estimasi",
|
|
687
|
+
priceDetailsButton: "Rincian Harga",
|
|
688
|
+
policyButton: "Kebijakan",
|
|
689
|
+
totalPriceLabel: "Total harga",
|
|
690
|
+
facilitiesLabel: "Fasilitas",
|
|
691
|
+
selectTicketButton: "Pilih Tiket",
|
|
692
|
+
timezoneLabel: "WIB"
|
|
693
|
+
},
|
|
694
|
+
en: {
|
|
695
|
+
availableSeatsLabel: "Available",
|
|
696
|
+
estimationPrefix: "Estimation",
|
|
697
|
+
priceDetailsButton: "Price Details",
|
|
698
|
+
policyButton: "Policy",
|
|
699
|
+
totalPriceLabel: "Total price",
|
|
700
|
+
facilitiesLabel: "Facilities",
|
|
701
|
+
selectTicketButton: "Select Ticket",
|
|
702
|
+
timezoneLabel: "WIB"
|
|
703
|
+
}
|
|
704
|
+
};
|
|
705
|
+
var useStyles5 = reactComponents.makeStyles({
|
|
627
706
|
dividerContainer: {
|
|
628
707
|
position: "relative",
|
|
629
708
|
display: "flex",
|
|
@@ -819,6 +898,8 @@ var useStyle = reactComponents.makeStyles({
|
|
|
819
898
|
}
|
|
820
899
|
});
|
|
821
900
|
var CardTicket = ({
|
|
901
|
+
language = "id",
|
|
902
|
+
labels,
|
|
822
903
|
id,
|
|
823
904
|
shipName,
|
|
824
905
|
shipType,
|
|
@@ -834,13 +915,14 @@ var CardTicket = ({
|
|
|
834
915
|
duration,
|
|
835
916
|
facilities,
|
|
836
917
|
totalPrice,
|
|
837
|
-
buttonText
|
|
918
|
+
buttonText,
|
|
838
919
|
onPriceDetailClick,
|
|
839
920
|
onPolicyClick,
|
|
840
921
|
onSelectTicket
|
|
841
922
|
}) => {
|
|
842
|
-
const styles =
|
|
923
|
+
const styles = useStyles5();
|
|
843
924
|
const { width } = useWindowSize();
|
|
925
|
+
const mergedLabels = { ...DEFAULT_LABELS2[language], ...labels };
|
|
844
926
|
const getCircularVerticalConfig = () => {
|
|
845
927
|
if (width <= 1600) return { count: 6, spacing: 60, top: 10 };
|
|
846
928
|
return { count: 5, spacing: 60, top: 18 };
|
|
@@ -952,7 +1034,8 @@ var CardTicket = ({
|
|
|
952
1034
|
shape: "rounded",
|
|
953
1035
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:ticket-diagonal-24-regular" }),
|
|
954
1036
|
children: [
|
|
955
|
-
|
|
1037
|
+
mergedLabels.availableSeatsLabel,
|
|
1038
|
+
" ",
|
|
956
1039
|
availableSeats
|
|
957
1040
|
]
|
|
958
1041
|
}
|
|
@@ -978,16 +1061,18 @@ var CardTicket = ({
|
|
|
978
1061
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.circularLeftMd }),
|
|
979
1062
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.circularRightMd })
|
|
980
1063
|
] }),
|
|
981
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Visible, { xl: true, xxl: true, xxxl: true, children: Array.from({ length: circularVerticalConfig.count }).map(
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
1064
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Visible, { xl: true, xxl: true, xxxl: true, children: Array.from({ length: circularVerticalConfig.count }).map(
|
|
1065
|
+
(_, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1066
|
+
"div",
|
|
1067
|
+
{
|
|
1068
|
+
className: styles.circularLeft,
|
|
1069
|
+
style: {
|
|
1070
|
+
top: `${circularVerticalConfig.top + index * circularVerticalConfig.spacing}px`
|
|
1071
|
+
}
|
|
1072
|
+
},
|
|
1073
|
+
index
|
|
1074
|
+
)
|
|
1075
|
+
) })
|
|
991
1076
|
] })
|
|
992
1077
|
}
|
|
993
1078
|
),
|
|
@@ -1016,7 +1101,8 @@ var CardTicket = ({
|
|
|
1016
1101
|
shape: "rounded",
|
|
1017
1102
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:ticket-diagonal-24-regular" }),
|
|
1018
1103
|
children: [
|
|
1019
|
-
|
|
1104
|
+
mergedLabels.availableSeatsLabel,
|
|
1105
|
+
" ",
|
|
1020
1106
|
availableSeats
|
|
1021
1107
|
]
|
|
1022
1108
|
}
|
|
@@ -1024,19 +1110,28 @@ var CardTicket = ({
|
|
|
1024
1110
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.ticketInfo, children: [
|
|
1025
1111
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.ticketTime, children: [
|
|
1026
1112
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: departureDay }),
|
|
1027
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1113
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Title2, { children: [
|
|
1114
|
+
departureTime,
|
|
1115
|
+
" ",
|
|
1116
|
+
mergedLabels.timezoneLabel
|
|
1117
|
+
] }),
|
|
1028
1118
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: departureLocation })
|
|
1029
1119
|
] }),
|
|
1030
1120
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.ticketDuration, children: [
|
|
1031
1121
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Caption2, { children: [
|
|
1032
|
-
|
|
1122
|
+
mergedLabels.estimationPrefix,
|
|
1123
|
+
" ",
|
|
1033
1124
|
duration
|
|
1034
1125
|
] }),
|
|
1035
1126
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.dividerContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { children: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:vehicle-ship-24-regular", height: 24 }) }) })
|
|
1036
1127
|
] }),
|
|
1037
1128
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.ticketTime, children: [
|
|
1038
1129
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: arrivalDay }),
|
|
1039
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1130
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Title2, { children: [
|
|
1131
|
+
arrivalTime,
|
|
1132
|
+
" ",
|
|
1133
|
+
mergedLabels.timezoneLabel
|
|
1134
|
+
] }),
|
|
1040
1135
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: arrivalLocation })
|
|
1041
1136
|
] })
|
|
1042
1137
|
] }) }),
|
|
@@ -1054,7 +1149,7 @@ var CardTicket = ({
|
|
|
1054
1149
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:money-24-regular" }),
|
|
1055
1150
|
size: "medium",
|
|
1056
1151
|
onClick: onPriceDetailClick,
|
|
1057
|
-
children:
|
|
1152
|
+
children: mergedLabels.priceDetailsButton
|
|
1058
1153
|
}
|
|
1059
1154
|
),
|
|
1060
1155
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1070,7 +1165,7 @@ var CardTicket = ({
|
|
|
1070
1165
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:document-bullet-list-24-regular" }),
|
|
1071
1166
|
size: "medium",
|
|
1072
1167
|
onClick: onPolicyClick,
|
|
1073
|
-
children:
|
|
1168
|
+
children: mergedLabels.policyButton
|
|
1074
1169
|
}
|
|
1075
1170
|
)
|
|
1076
1171
|
] })
|
|
@@ -1090,13 +1185,33 @@ var CardTicket = ({
|
|
|
1090
1185
|
style: { padding: 0, margin: 0 },
|
|
1091
1186
|
children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.ticketRightCard, children: [
|
|
1092
1187
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.priceCard, children: [
|
|
1093
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1188
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1189
|
+
"div",
|
|
1190
|
+
{
|
|
1191
|
+
style: {
|
|
1192
|
+
display: "flex",
|
|
1193
|
+
flexDirection: "column",
|
|
1194
|
+
gap: "0.25rem"
|
|
1195
|
+
},
|
|
1196
|
+
children: [
|
|
1197
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: mergedLabels.totalPriceLabel }),
|
|
1198
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1199
|
+
reactComponents.Title3,
|
|
1200
|
+
{
|
|
1201
|
+
style: {
|
|
1202
|
+
display: "flex",
|
|
1203
|
+
flex: "column",
|
|
1204
|
+
justifyContent: "end"
|
|
1205
|
+
},
|
|
1206
|
+
children: [
|
|
1207
|
+
"IDR\xA0",
|
|
1208
|
+
totalPrice.toLocaleString("id-ID")
|
|
1209
|
+
]
|
|
1210
|
+
}
|
|
1211
|
+
)
|
|
1212
|
+
]
|
|
1213
|
+
}
|
|
1214
|
+
),
|
|
1100
1215
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1101
1216
|
reactComponents.Button,
|
|
1102
1217
|
{
|
|
@@ -1106,27 +1221,29 @@ var CardTicket = ({
|
|
|
1106
1221
|
size: "medium",
|
|
1107
1222
|
shape: "circular",
|
|
1108
1223
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:ticket-diagonal-24-filled" }),
|
|
1109
|
-
children: buttonText
|
|
1224
|
+
children: buttonText || mergedLabels.selectTicketButton
|
|
1110
1225
|
}
|
|
1111
1226
|
)
|
|
1112
1227
|
] }),
|
|
1113
1228
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.facilitiesSection, children: [
|
|
1114
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children:
|
|
1229
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: mergedLabels.facilitiesLabel }),
|
|
1115
1230
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.facilitiesList, children: facilities.map((facility, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.facilityItem, children: [
|
|
1116
1231
|
/* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:checkmark-circle-24-filled" }),
|
|
1117
1232
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Strong, { children: facility })
|
|
1118
1233
|
] }, idx)) })
|
|
1119
1234
|
] }),
|
|
1120
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Visible, { xl: true, xxl: true, xxxl: true, children: Array.from({ length: circularVerticalConfig.count }).map(
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1235
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Visible, { xl: true, xxl: true, xxxl: true, children: Array.from({ length: circularVerticalConfig.count }).map(
|
|
1236
|
+
(_, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1237
|
+
"div",
|
|
1238
|
+
{
|
|
1239
|
+
className: styles.circularRight,
|
|
1240
|
+
style: {
|
|
1241
|
+
top: `${circularVerticalConfig.top + index * circularVerticalConfig.spacing}px`
|
|
1242
|
+
}
|
|
1243
|
+
},
|
|
1244
|
+
index
|
|
1245
|
+
)
|
|
1246
|
+
) })
|
|
1130
1247
|
] })
|
|
1131
1248
|
}
|
|
1132
1249
|
)
|
|
@@ -1309,7 +1426,7 @@ var BackgroundTicketCardVertical = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
1309
1426
|
}
|
|
1310
1427
|
);
|
|
1311
1428
|
var BackgroundTicketCardVertical_default = BackgroundTicketCardVertical;
|
|
1312
|
-
var
|
|
1429
|
+
var useStyles6 = reactComponents.makeStyles({
|
|
1313
1430
|
card: {
|
|
1314
1431
|
width: "100%",
|
|
1315
1432
|
boxSizing: "border-box",
|
|
@@ -1450,7 +1567,7 @@ var CardServiceMenu = ({
|
|
|
1450
1567
|
showDescriptions = true,
|
|
1451
1568
|
className
|
|
1452
1569
|
}) => {
|
|
1453
|
-
const styles =
|
|
1570
|
+
const styles = useStyles6();
|
|
1454
1571
|
const getMenuItemClass = (serviceId) => {
|
|
1455
1572
|
const isActive = activeServiceId === serviceId;
|
|
1456
1573
|
return reactComponents.mergeClasses(
|
|
@@ -1582,7 +1699,7 @@ var DatePickerInput = React5.forwardRef(
|
|
|
1582
1699
|
DatePickerInput.displayName = "DatePickerInput";
|
|
1583
1700
|
var DatePickerInput_default = DatePickerInput;
|
|
1584
1701
|
var PhoneInput = PhoneInputComponent__default.default.default || PhoneInputComponent__default.default;
|
|
1585
|
-
var
|
|
1702
|
+
var useStyles7 = reactComponents.makeStyles({
|
|
1586
1703
|
field: {
|
|
1587
1704
|
display: "flex",
|
|
1588
1705
|
flexDirection: "column",
|
|
@@ -1825,7 +1942,7 @@ var InputDynamic = ({
|
|
|
1825
1942
|
contentAfter,
|
|
1826
1943
|
onChange
|
|
1827
1944
|
}) => {
|
|
1828
|
-
const styles =
|
|
1945
|
+
const styles = useStyles7();
|
|
1829
1946
|
const [showPassword, setShowPassword] = React5.useState(false);
|
|
1830
1947
|
const [isPhoneMode, setIsPhoneMode] = React5.useState(false);
|
|
1831
1948
|
const [emailOrPhoneType, setEmailOrPhoneType] = React5.useState("none");
|
|
@@ -2895,7 +3012,7 @@ var DEFAULT_COUNTRY_CODES = [
|
|
|
2895
3012
|
];
|
|
2896
3013
|
|
|
2897
3014
|
// src/components/CardTicketSearch/CardTicketSearch.constants.ts
|
|
2898
|
-
var
|
|
3015
|
+
var DEFAULT_LABELS3 = {
|
|
2899
3016
|
id: {
|
|
2900
3017
|
fromLabel: "Dari",
|
|
2901
3018
|
toLabel: "Ke",
|
|
@@ -2933,7 +3050,7 @@ var DEFAULT_LABELS = {
|
|
|
2933
3050
|
placeholderPassenger: "Select Number of Passengers"
|
|
2934
3051
|
}
|
|
2935
3052
|
};
|
|
2936
|
-
var
|
|
3053
|
+
var useStyles8 = reactComponents.makeStyles({
|
|
2937
3054
|
card: {
|
|
2938
3055
|
position: "relative",
|
|
2939
3056
|
width: "100%",
|
|
@@ -3069,9 +3186,9 @@ var CardTicketSearch = ({
|
|
|
3069
3186
|
showRoundTrip = true,
|
|
3070
3187
|
onServiceClick
|
|
3071
3188
|
}) => {
|
|
3072
|
-
const styles =
|
|
3189
|
+
const styles = useStyles8();
|
|
3073
3190
|
const labels = React5__default.default.useMemo(
|
|
3074
|
-
() => ({ ...
|
|
3191
|
+
() => ({ ...DEFAULT_LABELS3[language], ...customLabels }),
|
|
3075
3192
|
[language, customLabels]
|
|
3076
3193
|
);
|
|
3077
3194
|
const { control, setValue, getValues, handleSubmit } = reactHookForm.useForm({
|
|
@@ -3457,16 +3574,27 @@ var CardTicketSearch = ({
|
|
|
3457
3574
|
};
|
|
3458
3575
|
|
|
3459
3576
|
// src/components/CardTicketSearchSummary/CardTicketSearchSummary.constants.ts
|
|
3460
|
-
var
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3577
|
+
var DEFAULT_LABELS4 = {
|
|
3578
|
+
id: {
|
|
3579
|
+
originHarbor: "Pelabuhan Keberangkatan",
|
|
3580
|
+
destinationHarbor: "Pelabuhan Tujuan",
|
|
3581
|
+
departureDate: "Tanggal Keberangkatan",
|
|
3582
|
+
serviceClass: "Kelas Layanan",
|
|
3583
|
+
typeOfService: "Jenis Layanan",
|
|
3584
|
+
totalPassengers: "Jumlah Penumpang",
|
|
3585
|
+
changeSearchButton: "Ganti Pencarian"
|
|
3586
|
+
},
|
|
3587
|
+
en: {
|
|
3588
|
+
originHarbor: "Departure Port",
|
|
3589
|
+
destinationHarbor: "Destination Port",
|
|
3590
|
+
departureDate: "Departure Date",
|
|
3591
|
+
serviceClass: "Service Class",
|
|
3592
|
+
typeOfService: "Service Type",
|
|
3593
|
+
totalPassengers: "Total Passengers",
|
|
3594
|
+
changeSearchButton: "Change Search"
|
|
3595
|
+
}
|
|
3468
3596
|
};
|
|
3469
|
-
var
|
|
3597
|
+
var useStyles9 = reactComponents.makeStyles({
|
|
3470
3598
|
cardSearchTicket: {
|
|
3471
3599
|
borderRadius: "32px",
|
|
3472
3600
|
// borderBottomLeftRadius: '0',
|
|
@@ -3534,6 +3662,7 @@ var useStyles8 = reactComponents.makeStyles({
|
|
|
3534
3662
|
}
|
|
3535
3663
|
});
|
|
3536
3664
|
var CardTicketSearchSummary = ({
|
|
3665
|
+
language = "id",
|
|
3537
3666
|
originHarbor,
|
|
3538
3667
|
destinationHarbor,
|
|
3539
3668
|
departureDate,
|
|
@@ -3545,8 +3674,8 @@ var CardTicketSearchSummary = ({
|
|
|
3545
3674
|
showSwapButton = false,
|
|
3546
3675
|
children
|
|
3547
3676
|
}) => {
|
|
3548
|
-
const styles =
|
|
3549
|
-
const mergedLabels = { ...
|
|
3677
|
+
const styles = useStyles9();
|
|
3678
|
+
const mergedLabels = { ...DEFAULT_LABELS4[language], ...labels };
|
|
3550
3679
|
const { width } = useWindowSize();
|
|
3551
3680
|
const getCircularConfig = () => {
|
|
3552
3681
|
if (width <= parseInt(extendedTokens.breakpointXs))
|
|
@@ -3591,24 +3720,31 @@ var CardTicketSearchSummary = ({
|
|
|
3591
3720
|
xxl: 5,
|
|
3592
3721
|
xxxl: 5,
|
|
3593
3722
|
className: styles.paddingResponsive,
|
|
3594
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3595
|
-
reactComponents.
|
|
3723
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3724
|
+
reactComponents.Field,
|
|
3596
3725
|
{
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
react.Icon,
|
|
3726
|
+
label: mergedLabels.originHarbor,
|
|
3727
|
+
className: styles.field,
|
|
3728
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3729
|
+
reactComponents.Input,
|
|
3602
3730
|
{
|
|
3603
|
-
|
|
3604
|
-
|
|
3731
|
+
name: "from",
|
|
3732
|
+
disabled: true,
|
|
3733
|
+
type: "text",
|
|
3734
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3735
|
+
react.Icon,
|
|
3736
|
+
{
|
|
3737
|
+
icon: "fluent:vehicle-ship-16-filled",
|
|
3738
|
+
color: reactComponents.tokens.colorNeutralForegroundDisabled
|
|
3739
|
+
}
|
|
3740
|
+
),
|
|
3741
|
+
value: originHarbor,
|
|
3742
|
+
appearance: "outline",
|
|
3743
|
+
size: "medium"
|
|
3605
3744
|
}
|
|
3606
|
-
)
|
|
3607
|
-
value: originHarbor,
|
|
3608
|
-
appearance: "outline",
|
|
3609
|
-
size: "medium"
|
|
3745
|
+
)
|
|
3610
3746
|
}
|
|
3611
|
-
)
|
|
3747
|
+
)
|
|
3612
3748
|
}
|
|
3613
3749
|
),
|
|
3614
3750
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3651,24 +3787,31 @@ var CardTicketSearchSummary = ({
|
|
|
3651
3787
|
xxl: 6,
|
|
3652
3788
|
xxxl: 6,
|
|
3653
3789
|
className: styles.paddingResponsive,
|
|
3654
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3655
|
-
reactComponents.
|
|
3790
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3791
|
+
reactComponents.Field,
|
|
3656
3792
|
{
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3793
|
+
label: mergedLabels.destinationHarbor,
|
|
3794
|
+
className: styles.field,
|
|
3795
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3796
|
+
reactComponents.Input,
|
|
3661
3797
|
{
|
|
3662
|
-
|
|
3663
|
-
|
|
3798
|
+
name: "to",
|
|
3799
|
+
type: "text",
|
|
3800
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3801
|
+
react.Icon,
|
|
3802
|
+
{
|
|
3803
|
+
icon: "fluent:location-24-filled",
|
|
3804
|
+
color: reactComponents.tokens.colorNeutralForegroundDisabled
|
|
3805
|
+
}
|
|
3806
|
+
),
|
|
3807
|
+
disabled: true,
|
|
3808
|
+
appearance: "outline",
|
|
3809
|
+
size: "medium",
|
|
3810
|
+
value: destinationHarbor
|
|
3664
3811
|
}
|
|
3665
|
-
)
|
|
3666
|
-
disabled: true,
|
|
3667
|
-
appearance: "outline",
|
|
3668
|
-
size: "medium",
|
|
3669
|
-
value: destinationHarbor
|
|
3812
|
+
)
|
|
3670
3813
|
}
|
|
3671
|
-
)
|
|
3814
|
+
)
|
|
3672
3815
|
}
|
|
3673
3816
|
)
|
|
3674
3817
|
] }) })
|
|
@@ -3829,7 +3972,10 @@ var CardTicketSearchSummary = ({
|
|
|
3829
3972
|
type: "button",
|
|
3830
3973
|
appearance: "primary",
|
|
3831
3974
|
size: "medium",
|
|
3832
|
-
style: {
|
|
3975
|
+
style: {
|
|
3976
|
+
width: "100%",
|
|
3977
|
+
borderRadius: reactComponents.tokens.borderRadiusCircular
|
|
3978
|
+
},
|
|
3833
3979
|
iconPosition: "before",
|
|
3834
3980
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:search-24-filled" }),
|
|
3835
3981
|
onClick: onChangeSearch,
|
|
@@ -3852,7 +3998,29 @@ var CardTicketSearchSummary = ({
|
|
|
3852
3998
|
))
|
|
3853
3999
|
] });
|
|
3854
4000
|
};
|
|
3855
|
-
|
|
4001
|
+
|
|
4002
|
+
// src/components/ModalSearchHarbor/ModalSearchHarbor.constants.ts
|
|
4003
|
+
var DEFAULT_LABELS5 = {
|
|
4004
|
+
id: {
|
|
4005
|
+
title: "Pilih Pelabuhan",
|
|
4006
|
+
searchPlaceholder: "Cari Pelabuhan...",
|
|
4007
|
+
lastSearchedHeader: "Terakhir dicari",
|
|
4008
|
+
clearAllButton: "Hapus Semua",
|
|
4009
|
+
allHarborsHeader: "Semua Pelabuhan",
|
|
4010
|
+
loadingData: "Memuat data...",
|
|
4011
|
+
harborNotFound: "Pelabuhan tidak ditemukan"
|
|
4012
|
+
},
|
|
4013
|
+
en: {
|
|
4014
|
+
title: "Select Harbor",
|
|
4015
|
+
searchPlaceholder: "Search Harbor...",
|
|
4016
|
+
lastSearchedHeader: "Last searched",
|
|
4017
|
+
clearAllButton: "Clear All",
|
|
4018
|
+
allHarborsHeader: "All Harbors",
|
|
4019
|
+
loadingData: "Loading data...",
|
|
4020
|
+
harborNotFound: "Harbor not found"
|
|
4021
|
+
}
|
|
4022
|
+
};
|
|
4023
|
+
var useStyles10 = reactComponents.makeStyles({
|
|
3856
4024
|
dialogTitle: {
|
|
3857
4025
|
display: "flex",
|
|
3858
4026
|
justifyContent: "space-between",
|
|
@@ -3965,9 +4133,11 @@ var useStyles9 = reactComponents.makeStyles({
|
|
|
3965
4133
|
}
|
|
3966
4134
|
});
|
|
3967
4135
|
var ModalSearchHarbor = ({
|
|
4136
|
+
language = "id",
|
|
4137
|
+
labels,
|
|
3968
4138
|
open,
|
|
3969
4139
|
onClose,
|
|
3970
|
-
title
|
|
4140
|
+
title,
|
|
3971
4141
|
modalType = "origin",
|
|
3972
4142
|
harbors,
|
|
3973
4143
|
favoriteHarbors,
|
|
@@ -3981,7 +4151,8 @@ var ModalSearchHarbor = ({
|
|
|
3981
4151
|
onRemoveLastSearched,
|
|
3982
4152
|
onClearLastSearched
|
|
3983
4153
|
}) => {
|
|
3984
|
-
const styles =
|
|
4154
|
+
const styles = useStyles10();
|
|
4155
|
+
const mergedLabels = { ...DEFAULT_LABELS5[language], ...labels };
|
|
3985
4156
|
const handleSelect = (harbor) => {
|
|
3986
4157
|
onAddLastSearched(harbor);
|
|
3987
4158
|
onSelectHarbor(harbor);
|
|
@@ -4014,7 +4185,7 @@ var ModalSearchHarbor = ({
|
|
|
4014
4185
|
className: styles.closeButton
|
|
4015
4186
|
}
|
|
4016
4187
|
),
|
|
4017
|
-
children: title
|
|
4188
|
+
children: title || mergedLabels.title
|
|
4018
4189
|
}
|
|
4019
4190
|
),
|
|
4020
4191
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogContent, { className: styles.content, children: [
|
|
@@ -4024,8 +4195,14 @@ var ModalSearchHarbor = ({
|
|
|
4024
4195
|
className: styles.searchInput,
|
|
4025
4196
|
value: searchQuery,
|
|
4026
4197
|
onChange: (e) => onSearchChange(e.target.value),
|
|
4027
|
-
placeholder:
|
|
4028
|
-
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4198
|
+
placeholder: mergedLabels.searchPlaceholder,
|
|
4199
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4200
|
+
react.Icon,
|
|
4201
|
+
{
|
|
4202
|
+
icon: "fluent:search-24-regular",
|
|
4203
|
+
color: reactComponents.tokens.colorNeutralForeground3
|
|
4204
|
+
}
|
|
4205
|
+
),
|
|
4029
4206
|
size: "large"
|
|
4030
4207
|
}
|
|
4031
4208
|
) }),
|
|
@@ -4046,13 +4223,13 @@ var ModalSearchHarbor = ({
|
|
|
4046
4223
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.resultList, children: [
|
|
4047
4224
|
lastSearchedHarbors.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4048
4225
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerRow, children: [
|
|
4049
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children:
|
|
4226
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: mergedLabels.lastSearchedHeader }),
|
|
4050
4227
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4051
4228
|
reactComponents.Caption1,
|
|
4052
4229
|
{
|
|
4053
4230
|
className: `${styles.dangerText} ${styles.cursorPointer}`,
|
|
4054
4231
|
onClick: onClearLastSearched,
|
|
4055
|
-
children:
|
|
4232
|
+
children: mergedLabels.clearAllButton
|
|
4056
4233
|
}
|
|
4057
4234
|
)
|
|
4058
4235
|
] }),
|
|
@@ -4063,7 +4240,13 @@ var ModalSearchHarbor = ({
|
|
|
4063
4240
|
style: { cursor: "pointer" },
|
|
4064
4241
|
onClick: () => handleSelect(harbor),
|
|
4065
4242
|
children: [
|
|
4066
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4243
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4244
|
+
react.Icon,
|
|
4245
|
+
{
|
|
4246
|
+
icon: "fluent:vehicle-ship-24-regular",
|
|
4247
|
+
className: styles.iconMargin
|
|
4248
|
+
}
|
|
4249
|
+
),
|
|
4067
4250
|
harbor.name
|
|
4068
4251
|
]
|
|
4069
4252
|
}
|
|
@@ -4080,15 +4263,21 @@ var ModalSearchHarbor = ({
|
|
|
4080
4263
|
] }, harbor.id)) }),
|
|
4081
4264
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {})
|
|
4082
4265
|
] }),
|
|
4083
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { className: styles.sectionTitle, children:
|
|
4084
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.harborList, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.emptyState, children:
|
|
4266
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { className: styles.sectionTitle, children: mergedLabels.allHarborsHeader }),
|
|
4267
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.harborList, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.emptyState, children: mergedLabels.loadingData }) : harbors.length > 0 ? harbors.map((harbor, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.harborItem, children: [
|
|
4085
4268
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4086
4269
|
"div",
|
|
4087
4270
|
{
|
|
4088
4271
|
className: styles.cursorPointer,
|
|
4089
4272
|
onClick: () => handleSelect(harbor),
|
|
4090
4273
|
children: [
|
|
4091
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4274
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4275
|
+
react.Icon,
|
|
4276
|
+
{
|
|
4277
|
+
icon: "fluent:vehicle-ship-24-regular",
|
|
4278
|
+
className: styles.iconMargin
|
|
4279
|
+
}
|
|
4280
|
+
),
|
|
4092
4281
|
harbor.name
|
|
4093
4282
|
]
|
|
4094
4283
|
}
|
|
@@ -4102,14 +4291,28 @@ var ModalSearchHarbor = ({
|
|
|
4102
4291
|
onClick: () => onToggleFavorite(harbor)
|
|
4103
4292
|
}
|
|
4104
4293
|
)
|
|
4105
|
-
] }, index)) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.emptyState, children:
|
|
4294
|
+
] }, index)) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.emptyState, children: mergedLabels.harborNotFound }) })
|
|
4106
4295
|
] })
|
|
4107
4296
|
] })
|
|
4108
4297
|
] }) })
|
|
4109
4298
|
}
|
|
4110
4299
|
);
|
|
4111
4300
|
};
|
|
4112
|
-
|
|
4301
|
+
|
|
4302
|
+
// src/components/ModalSelectDate/ModalSelectDate.constants.ts
|
|
4303
|
+
var DEFAULT_LABELS6 = {
|
|
4304
|
+
id: {
|
|
4305
|
+
title: "Pilih Tanggal",
|
|
4306
|
+
oneWay: "Sekali Jalan",
|
|
4307
|
+
roundTrip: "Pulang Pergi"
|
|
4308
|
+
},
|
|
4309
|
+
en: {
|
|
4310
|
+
title: "Select Date",
|
|
4311
|
+
oneWay: "One Way",
|
|
4312
|
+
roundTrip: "Round Trip"
|
|
4313
|
+
}
|
|
4314
|
+
};
|
|
4315
|
+
var useStyles11 = reactComponents.makeStyles({
|
|
4113
4316
|
dialogSurface: {
|
|
4114
4317
|
maxWidth: "600px",
|
|
4115
4318
|
width: "100%"
|
|
@@ -4212,9 +4415,11 @@ var useStyles10 = reactComponents.makeStyles({
|
|
|
4212
4415
|
}
|
|
4213
4416
|
});
|
|
4214
4417
|
var ModalSelectDate = ({
|
|
4418
|
+
language = "id",
|
|
4419
|
+
labels,
|
|
4215
4420
|
open,
|
|
4216
4421
|
onClose,
|
|
4217
|
-
title
|
|
4422
|
+
title,
|
|
4218
4423
|
selectedDepartureDate,
|
|
4219
4424
|
selectedReturnDate,
|
|
4220
4425
|
initialTab = "one-way",
|
|
@@ -4227,9 +4432,17 @@ var ModalSelectDate = ({
|
|
|
4227
4432
|
dateFormat = "DD MMMM YYYY",
|
|
4228
4433
|
showRoundtrip = true
|
|
4229
4434
|
}) => {
|
|
4230
|
-
const styles =
|
|
4231
|
-
const [
|
|
4232
|
-
|
|
4435
|
+
const styles = useStyles11();
|
|
4436
|
+
const mergedLabels = { ...DEFAULT_LABELS6[language], ...labels };
|
|
4437
|
+
React5.useEffect(() => {
|
|
4438
|
+
moment__default.default.locale(language === "id" ? "id" : "en");
|
|
4439
|
+
}, [language]);
|
|
4440
|
+
const [selectedDate, setSelectedDate] = React5.useState(
|
|
4441
|
+
selectedDepartureDate
|
|
4442
|
+
);
|
|
4443
|
+
const [selectedEndDate, setSelectedEndDate] = React5.useState(
|
|
4444
|
+
selectedReturnDate
|
|
4445
|
+
);
|
|
4233
4446
|
const [hoveredDate, setHoveredDate] = React5.useState();
|
|
4234
4447
|
const [activeTab, setActiveTab] = React5.useState(initialTab);
|
|
4235
4448
|
const previewEndDate = React5.useMemo(() => {
|
|
@@ -4390,7 +4603,7 @@ var ModalSelectDate = ({
|
|
|
4390
4603
|
className: styles.closeButton
|
|
4391
4604
|
}
|
|
4392
4605
|
),
|
|
4393
|
-
children: title
|
|
4606
|
+
children: title || mergedLabels.title
|
|
4394
4607
|
}
|
|
4395
4608
|
),
|
|
4396
4609
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogContent, { className: styles.content, children: [
|
|
@@ -4401,7 +4614,7 @@ var ModalSelectDate = ({
|
|
|
4401
4614
|
disabled: activeTab === "round-trip",
|
|
4402
4615
|
className: `${styles.tab} ${activeTab === "one-way" ? styles.tabActive : ""}`,
|
|
4403
4616
|
onClick: () => handleTabChange("one-way"),
|
|
4404
|
-
children:
|
|
4617
|
+
children: mergedLabels.oneWay
|
|
4405
4618
|
}
|
|
4406
4619
|
),
|
|
4407
4620
|
showRoundtrip && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4410,32 +4623,38 @@ var ModalSelectDate = ({
|
|
|
4410
4623
|
className: `${styles.tab} ${activeTab === "round-trip" ? styles.tabActive : ""}`,
|
|
4411
4624
|
onClick: () => handleTabChange("round-trip"),
|
|
4412
4625
|
disabled: activeTab === "one-way",
|
|
4413
|
-
children:
|
|
4626
|
+
children: mergedLabels.roundTrip
|
|
4414
4627
|
}
|
|
4415
4628
|
)
|
|
4416
4629
|
] }),
|
|
4417
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.calendarContainer, children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: "100%" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4418
|
-
|
|
4630
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.calendarContainer, children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: "100%" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4631
|
+
"div",
|
|
4419
4632
|
{
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4633
|
+
className: activeTab === "round-trip" ? styles.rangeCalendar : "",
|
|
4634
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4635
|
+
reactCalendarCompat.Calendar,
|
|
4636
|
+
{
|
|
4637
|
+
minDate,
|
|
4638
|
+
maxDate,
|
|
4639
|
+
value: selectedDate,
|
|
4640
|
+
onSelectDate: handleDateSelect,
|
|
4641
|
+
showGoToToday: true,
|
|
4642
|
+
highlightSelectedMonth: true,
|
|
4643
|
+
showMonthPickerAsOverlay: false,
|
|
4644
|
+
allFocusable: true,
|
|
4645
|
+
calendarDayProps: {
|
|
4646
|
+
customDayCellRef: handleCustomDayCellRef
|
|
4647
|
+
}
|
|
4648
|
+
}
|
|
4649
|
+
)
|
|
4431
4650
|
}
|
|
4432
|
-
) }) })
|
|
4651
|
+
) }) })
|
|
4433
4652
|
] })
|
|
4434
4653
|
] }) })
|
|
4435
4654
|
}
|
|
4436
4655
|
);
|
|
4437
4656
|
};
|
|
4438
|
-
var
|
|
4657
|
+
var useStyles12 = reactComponents.makeStyles({
|
|
4439
4658
|
dialogSurface: {
|
|
4440
4659
|
maxWidth: "600px",
|
|
4441
4660
|
width: "100%"
|
|
@@ -4518,7 +4737,7 @@ var ModalService = ({
|
|
|
4518
4737
|
isLoading = false,
|
|
4519
4738
|
isError = false
|
|
4520
4739
|
}) => {
|
|
4521
|
-
const styles =
|
|
4740
|
+
const styles = useStyles12();
|
|
4522
4741
|
const [selectedServices, setSelectedServices] = React5.useState(selectedServiceIds);
|
|
4523
4742
|
React5.useEffect(() => {
|
|
4524
4743
|
if (open) {
|
|
@@ -4627,13 +4846,33 @@ var ModalService = ({
|
|
|
4627
4846
|
);
|
|
4628
4847
|
};
|
|
4629
4848
|
|
|
4630
|
-
// src/components/ModalTotalPassengers/constants.ts
|
|
4849
|
+
// src/components/ModalTotalPassengers/ModalTotalPassengers.constants.ts
|
|
4850
|
+
var DEFAULT_LABELS7 = {
|
|
4851
|
+
id: {
|
|
4852
|
+
title: "Pilih Jumlah Penumpang",
|
|
4853
|
+
infoMessage: "Anda dapat menambahkan hingga {maxPassengers} penumpang pada golongan kendaraan ini.",
|
|
4854
|
+
loading: "Memuat...",
|
|
4855
|
+
saveButton: "Simpan",
|
|
4856
|
+
economy: "Ekonomi",
|
|
4857
|
+
business: "Bisnis",
|
|
4858
|
+
executive: "Eksekutif"
|
|
4859
|
+
},
|
|
4860
|
+
en: {
|
|
4861
|
+
title: "Select Total Passengers",
|
|
4862
|
+
infoMessage: "You can add up to {maxPassengers} passengers in this vehicle category.",
|
|
4863
|
+
loading: "Loading...",
|
|
4864
|
+
saveButton: "Save",
|
|
4865
|
+
economy: "Economy",
|
|
4866
|
+
business: "Business",
|
|
4867
|
+
executive: "Executive"
|
|
4868
|
+
}
|
|
4869
|
+
};
|
|
4631
4870
|
var DEFAULT_SERVICE_CLASSES = [
|
|
4632
|
-
{ id: 1, name: "Ekonomi", key: "ekonomi", serviceName: "ECONOMY" },
|
|
4633
|
-
{ id: 2, name: "Bisnis", key: "bisnis", serviceName: "BUSINESS" },
|
|
4634
|
-
{ id: 3, name: "Eksekutif", key: "eksekutif", serviceName: "EXECUTIVE" }
|
|
4871
|
+
{ id: 1, name: "Ekonomi", key: "ekonomi", serviceName: "ECONOMY", labelKey: "economy" },
|
|
4872
|
+
{ id: 2, name: "Bisnis", key: "bisnis", serviceName: "BUSINESS", labelKey: "business" },
|
|
4873
|
+
{ id: 3, name: "Eksekutif", key: "eksekutif", serviceName: "EXECUTIVE", labelKey: "executive" }
|
|
4635
4874
|
];
|
|
4636
|
-
var
|
|
4875
|
+
var useStyles13 = reactComponents.makeStyles({
|
|
4637
4876
|
dialogSurface: {
|
|
4638
4877
|
maxWidth: "600px",
|
|
4639
4878
|
width: "100%"
|
|
@@ -4701,9 +4940,11 @@ var useStyles12 = reactComponents.makeStyles({
|
|
|
4701
4940
|
}
|
|
4702
4941
|
});
|
|
4703
4942
|
var ModalTotalPassengers = ({
|
|
4943
|
+
language = "id",
|
|
4944
|
+
labels,
|
|
4704
4945
|
open,
|
|
4705
4946
|
onClose,
|
|
4706
|
-
title
|
|
4947
|
+
title,
|
|
4707
4948
|
passengerTypes,
|
|
4708
4949
|
serviceClasses = DEFAULT_SERVICE_CLASSES,
|
|
4709
4950
|
selectedPassengers,
|
|
@@ -4712,10 +4953,14 @@ var ModalTotalPassengers = ({
|
|
|
4712
4953
|
maxPassengers = 10,
|
|
4713
4954
|
infoMessage
|
|
4714
4955
|
}) => {
|
|
4715
|
-
const styles =
|
|
4956
|
+
const styles = useStyles13();
|
|
4957
|
+
const mergedLabels = { ...DEFAULT_LABELS7[language], ...labels };
|
|
4716
4958
|
const [passengers, setPassengers] = React5.useState([]);
|
|
4717
4959
|
const [openItems, setOpenItems] = React5.useState([]);
|
|
4718
|
-
const defaultInfoMessage =
|
|
4960
|
+
const defaultInfoMessage = mergedLabels.infoMessage.replace(
|
|
4961
|
+
"{maxPassengers}",
|
|
4962
|
+
String(maxPassengers)
|
|
4963
|
+
);
|
|
4719
4964
|
React5.useEffect(() => {
|
|
4720
4965
|
if (passengerTypes.length === 0) return;
|
|
4721
4966
|
const defaultPassengers = passengerTypes.map(
|
|
@@ -4785,7 +5030,7 @@ var ModalTotalPassengers = ({
|
|
|
4785
5030
|
const serviceClass = serviceClasses.find(
|
|
4786
5031
|
(sc) => sc.serviceName === service.serviceName
|
|
4787
5032
|
);
|
|
4788
|
-
const serviceName = serviceClass
|
|
5033
|
+
const serviceName = serviceClass ? mergedLabels[serviceClass.labelKey] : service.serviceName;
|
|
4789
5034
|
parts.push(`${service.count} ${serviceName}`);
|
|
4790
5035
|
}
|
|
4791
5036
|
});
|
|
@@ -4865,12 +5110,12 @@ var ModalTotalPassengers = ({
|
|
|
4865
5110
|
onClick: onClose
|
|
4866
5111
|
}
|
|
4867
5112
|
),
|
|
4868
|
-
children: title
|
|
5113
|
+
children: title || mergedLabels.title
|
|
4869
5114
|
}
|
|
4870
5115
|
),
|
|
4871
5116
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogContent, { children: [
|
|
4872
5117
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.MessageBar, { shape: "rounded", children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.MessageBarBody, { children: infoMessage || defaultInfoMessage }) }),
|
|
4873
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children:
|
|
5118
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.loading }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4874
5119
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4875
5120
|
reactComponents.Accordion,
|
|
4876
5121
|
{
|
|
@@ -4904,7 +5149,7 @@ var ModalTotalPassengers = ({
|
|
|
4904
5149
|
{
|
|
4905
5150
|
className: styles.nestedRow,
|
|
4906
5151
|
children: [
|
|
4907
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: service.
|
|
5152
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels[service.labelKey] }),
|
|
4908
5153
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.passengerCount, children: [
|
|
4909
5154
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4910
5155
|
reactComponents.Button,
|
|
@@ -4965,23 +5210,51 @@ var ModalTotalPassengers = ({
|
|
|
4965
5210
|
size: "medium",
|
|
4966
5211
|
className: styles.submitButton,
|
|
4967
5212
|
onClick: handleSave,
|
|
4968
|
-
children:
|
|
5213
|
+
children: mergedLabels.saveButton
|
|
4969
5214
|
}
|
|
4970
5215
|
)
|
|
4971
5216
|
] })
|
|
4972
5217
|
] })
|
|
4973
5218
|
] }) }) });
|
|
4974
5219
|
};
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
|
|
5220
|
+
|
|
5221
|
+
// src/components/ModalTypeOfService/ModalTypeOfService.constants.ts
|
|
5222
|
+
var DEFAULT_LABELS8 = {
|
|
5223
|
+
id: {
|
|
5224
|
+
title: "Pilih Tipe Layanan",
|
|
5225
|
+
cancelButton: "Batal",
|
|
5226
|
+
saveButton: "Simpan",
|
|
5227
|
+
vehiclesAlt: "kendaraan"
|
|
4983
5228
|
},
|
|
4984
|
-
|
|
5229
|
+
en: {
|
|
5230
|
+
title: "Select Service Type",
|
|
5231
|
+
cancelButton: "Cancel",
|
|
5232
|
+
saveButton: "Save",
|
|
5233
|
+
vehiclesAlt: "vehicles"
|
|
5234
|
+
}
|
|
5235
|
+
};
|
|
5236
|
+
var DEFAULT_VEHICLE_ICONS = {
|
|
5237
|
+
pedestrian: "/assets/images/icons/pedestrian.webp",
|
|
5238
|
+
roadbike: "/assets/images/icons/roadbike.webp",
|
|
5239
|
+
motorbike1: "/assets/images/icons/motorbike-1.webp",
|
|
5240
|
+
motorbike2: "/assets/images/icons/motorbike-2.svg",
|
|
5241
|
+
smallCar: "/assets/images/icons/small-car.webp",
|
|
5242
|
+
smallBus: "/assets/images/icons/small-bus.webp",
|
|
5243
|
+
bigBus: "/assets/images/icons/big-bus.webp",
|
|
5244
|
+
truck: "/assets/images/icons/truck.webp",
|
|
5245
|
+
bigTruck: "/assets/images/icons/big-truck.webp",
|
|
5246
|
+
looseLoad: "/assets/images/icons/loose-load.webp"
|
|
5247
|
+
};
|
|
5248
|
+
var useStyles14 = reactComponents.makeStyles({
|
|
5249
|
+
dialogSurface: {
|
|
5250
|
+
maxWidth: "600px",
|
|
5251
|
+
width: "100%"
|
|
5252
|
+
},
|
|
5253
|
+
closeButton: {
|
|
5254
|
+
minWidth: "32px",
|
|
5255
|
+
minHeight: "32px"
|
|
5256
|
+
},
|
|
5257
|
+
passengerSection: {
|
|
4985
5258
|
marginTop: reactComponents.tokens.spacingHorizontalM,
|
|
4986
5259
|
display: "flex",
|
|
4987
5260
|
flexDirection: "column"
|
|
@@ -5016,15 +5289,18 @@ var useStyles13 = reactComponents.makeStyles({
|
|
|
5016
5289
|
}
|
|
5017
5290
|
});
|
|
5018
5291
|
var ModalTypeOfService = ({
|
|
5292
|
+
language = "id",
|
|
5293
|
+
labels,
|
|
5019
5294
|
open,
|
|
5020
5295
|
onClose,
|
|
5021
|
-
title
|
|
5296
|
+
title,
|
|
5022
5297
|
serviceTypes,
|
|
5023
5298
|
selectedService,
|
|
5024
5299
|
onSave,
|
|
5025
5300
|
renderImage
|
|
5026
5301
|
}) => {
|
|
5027
|
-
const styles =
|
|
5302
|
+
const styles = useStyles14();
|
|
5303
|
+
const mergedLabels = { ...DEFAULT_LABELS8[language], ...labels };
|
|
5028
5304
|
const [selectedServiceTitle, setSelectedServiceTitle] = React5.useState(
|
|
5029
5305
|
selectedService?.title || ""
|
|
5030
5306
|
);
|
|
@@ -5042,7 +5318,21 @@ var ModalTypeOfService = ({
|
|
|
5042
5318
|
}
|
|
5043
5319
|
return void 0;
|
|
5044
5320
|
});
|
|
5045
|
-
const defaultRenderImage = ({
|
|
5321
|
+
const defaultRenderImage = ({
|
|
5322
|
+
src,
|
|
5323
|
+
alt,
|
|
5324
|
+
width,
|
|
5325
|
+
height
|
|
5326
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
5327
|
+
"img",
|
|
5328
|
+
{
|
|
5329
|
+
src,
|
|
5330
|
+
alt,
|
|
5331
|
+
width,
|
|
5332
|
+
height,
|
|
5333
|
+
style: { objectFit: "contain" }
|
|
5334
|
+
}
|
|
5335
|
+
);
|
|
5046
5336
|
const imageRenderer = renderImage || defaultRenderImage;
|
|
5047
5337
|
React5.useEffect(() => {
|
|
5048
5338
|
const newTitle = selectedService?.title || "";
|
|
@@ -5085,7 +5375,9 @@ var ModalTypeOfService = ({
|
|
|
5085
5375
|
break;
|
|
5086
5376
|
}
|
|
5087
5377
|
if (item.child && item.child.length > 0) {
|
|
5088
|
-
const childItem = item.child.find(
|
|
5378
|
+
const childItem = item.child.find(
|
|
5379
|
+
(child) => child.title === selectedServiceTitle
|
|
5380
|
+
);
|
|
5089
5381
|
if (childItem) {
|
|
5090
5382
|
selectedItem = {
|
|
5091
5383
|
id: childItem.id,
|
|
@@ -5108,51 +5400,56 @@ var ModalTypeOfService = ({
|
|
|
5108
5400
|
}
|
|
5109
5401
|
}
|
|
5110
5402
|
};
|
|
5111
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5118
|
-
reactComponents.DialogTitle,
|
|
5403
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Dialog, { open, onOpenChange: (_, data) => !data.open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogSurface, { className: styles.dialogSurface, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogBody, { children: [
|
|
5404
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5405
|
+
reactComponents.DialogTitle,
|
|
5406
|
+
{
|
|
5407
|
+
action: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5408
|
+
reactComponents.Button,
|
|
5119
5409
|
{
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
5126
|
-
onClick: onClose,
|
|
5127
|
-
className: styles.closeButton
|
|
5128
|
-
}
|
|
5129
|
-
),
|
|
5130
|
-
children: title
|
|
5410
|
+
appearance: "subtle",
|
|
5411
|
+
"aria-label": "close",
|
|
5412
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
5413
|
+
onClick: onClose,
|
|
5414
|
+
className: styles.closeButton
|
|
5131
5415
|
}
|
|
5132
5416
|
),
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5417
|
+
children: title || mergedLabels.title
|
|
5418
|
+
}
|
|
5419
|
+
),
|
|
5420
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogContent, { children: [
|
|
5421
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5422
|
+
reactComponents.Accordion,
|
|
5423
|
+
{
|
|
5424
|
+
collapsible: true,
|
|
5425
|
+
openItems,
|
|
5426
|
+
onToggle: (_, data) => setOpenItems(data.openItems[0]),
|
|
5427
|
+
className: styles.passengerSection,
|
|
5428
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5429
|
+
reactComponents.RadioGroup,
|
|
5136
5430
|
{
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
|
-
if (item.type === "accordion") {
|
|
5148
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.AccordionItem, { value: item.id, className: styles.accordionItem, children: [
|
|
5431
|
+
value: selectedServiceTitle,
|
|
5432
|
+
onChange: (_, data) => setSelectedServiceTitle(data.value),
|
|
5433
|
+
children: serviceTypes.map((item, index) => {
|
|
5434
|
+
if (item.type === "accordion") {
|
|
5435
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5436
|
+
reactComponents.AccordionItem,
|
|
5437
|
+
{
|
|
5438
|
+
value: item.id,
|
|
5439
|
+
className: styles.accordionItem,
|
|
5440
|
+
children: [
|
|
5149
5441
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5150
5442
|
reactComponents.AccordionHeader,
|
|
5151
5443
|
{
|
|
5152
5444
|
className: styles.accordionHeader,
|
|
5153
5445
|
expandIconPosition: "end",
|
|
5154
5446
|
children: [
|
|
5155
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { children: imageRenderer({
|
|
5447
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { children: imageRenderer({
|
|
5448
|
+
src: item.image,
|
|
5449
|
+
alt: mergedLabels.vehiclesAlt,
|
|
5450
|
+
width: 74,
|
|
5451
|
+
height: 74
|
|
5452
|
+
}) }),
|
|
5156
5453
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.accordionTitleAndInfo, children: [
|
|
5157
5454
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: item.title }),
|
|
5158
5455
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: item.info })
|
|
@@ -5184,62 +5481,64 @@ var ModalTypeOfService = ({
|
|
|
5184
5481
|
},
|
|
5185
5482
|
childIndex
|
|
5186
5483
|
)) })
|
|
5187
|
-
]
|
|
5188
|
-
}
|
|
5189
|
-
|
|
5190
|
-
|
|
5191
|
-
|
|
5192
|
-
|
|
5193
|
-
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
|
|
5484
|
+
]
|
|
5485
|
+
},
|
|
5486
|
+
index
|
|
5487
|
+
);
|
|
5488
|
+
} else if (item.type === "radio") {
|
|
5489
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5490
|
+
"div",
|
|
5491
|
+
{
|
|
5492
|
+
className: reactComponents.mergeClasses(
|
|
5493
|
+
styles.accordionHeader,
|
|
5494
|
+
styles.accordionItem
|
|
5495
|
+
),
|
|
5496
|
+
style: { padding: reactComponents.tokens.spacingHorizontalXS },
|
|
5497
|
+
children: [
|
|
5498
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginLeft: 2 }, children: imageRenderer({
|
|
5499
|
+
src: item.image,
|
|
5500
|
+
alt: item.title,
|
|
5501
|
+
width: 74,
|
|
5502
|
+
height: 74
|
|
5503
|
+
}) }),
|
|
5504
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5505
|
+
"div",
|
|
5506
|
+
{
|
|
5507
|
+
className: styles.accordionTitleAndInfo,
|
|
5508
|
+
style: { marginLeft: 18 },
|
|
5509
|
+
children: [
|
|
5197
5510
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: item.title }),
|
|
5198
5511
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: item.info })
|
|
5199
|
-
]
|
|
5200
|
-
|
|
5201
|
-
|
|
5202
|
-
}
|
|
5203
|
-
|
|
5204
|
-
|
|
5205
|
-
|
|
5206
|
-
|
|
5207
|
-
})
|
|
5512
|
+
]
|
|
5513
|
+
}
|
|
5514
|
+
),
|
|
5515
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: item.title })
|
|
5516
|
+
]
|
|
5517
|
+
},
|
|
5518
|
+
index
|
|
5519
|
+
);
|
|
5208
5520
|
}
|
|
5209
|
-
|
|
5521
|
+
return null;
|
|
5522
|
+
})
|
|
5210
5523
|
}
|
|
5211
|
-
)
|
|
5212
|
-
|
|
5213
|
-
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
|
|
5217
|
-
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
|
|
5221
|
-
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
] })
|
|
5227
|
-
}
|
|
5228
|
-
);
|
|
5229
|
-
};
|
|
5230
|
-
|
|
5231
|
-
// src/components/ModalTypeOfService/constants.ts
|
|
5232
|
-
var DEFAULT_VEHICLE_ICONS = {
|
|
5233
|
-
pedestrian: "/assets/images/icons/pedestrian.webp",
|
|
5234
|
-
roadbike: "/assets/images/icons/roadbike.webp",
|
|
5235
|
-
motorbike1: "/assets/images/icons/motorbike-1.webp",
|
|
5236
|
-
motorbike2: "/assets/images/icons/motorbike-2.svg",
|
|
5237
|
-
smallCar: "/assets/images/icons/small-car.webp",
|
|
5238
|
-
smallBus: "/assets/images/icons/small-bus.webp",
|
|
5239
|
-
bigBus: "/assets/images/icons/big-bus.webp",
|
|
5240
|
-
truck: "/assets/images/icons/truck.webp",
|
|
5241
|
-
bigTruck: "/assets/images/icons/big-truck.webp",
|
|
5242
|
-
looseLoad: "/assets/images/icons/loose-load.webp"
|
|
5524
|
+
)
|
|
5525
|
+
}
|
|
5526
|
+
),
|
|
5527
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.footer, children: [
|
|
5528
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Button, { appearance: "secondary", shape: "circular", onClick: onClose, children: mergedLabels.cancelButton }),
|
|
5529
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5530
|
+
reactComponents.Button,
|
|
5531
|
+
{
|
|
5532
|
+
appearance: "primary",
|
|
5533
|
+
shape: "circular",
|
|
5534
|
+
onClick: handleConfirm,
|
|
5535
|
+
disabled: !selectedServiceTitle,
|
|
5536
|
+
children: mergedLabels.saveButton
|
|
5537
|
+
}
|
|
5538
|
+
)
|
|
5539
|
+
] })
|
|
5540
|
+
] })
|
|
5541
|
+
] }) }) });
|
|
5243
5542
|
};
|
|
5244
5543
|
|
|
5245
5544
|
// src/components/SortMenu/SortMenu.constants.ts
|
|
@@ -5254,7 +5553,7 @@ var getSortLabel = (value) => {
|
|
|
5254
5553
|
const option = DEFAULT_SORT_OPTIONS.find((opt) => opt.value === value);
|
|
5255
5554
|
return option?.label || "Rekomendasi";
|
|
5256
5555
|
};
|
|
5257
|
-
var
|
|
5556
|
+
var useStyles15 = reactComponents.makeStyles({
|
|
5258
5557
|
container: {
|
|
5259
5558
|
display: "flex",
|
|
5260
5559
|
width: "100%",
|
|
@@ -5288,7 +5587,7 @@ var SortMenu = ({
|
|
|
5288
5587
|
sortButtonText = "Urutkan Berdasarkan",
|
|
5289
5588
|
clearFiltersText = "{count} Filter Dipilih"
|
|
5290
5589
|
}) => {
|
|
5291
|
-
const styles =
|
|
5590
|
+
const styles = useStyles15();
|
|
5292
5591
|
const handleReset = () => {
|
|
5293
5592
|
onChange("rekomendasi");
|
|
5294
5593
|
};
|
|
@@ -5354,20 +5653,37 @@ var SortMenu = ({
|
|
|
5354
5653
|
};
|
|
5355
5654
|
|
|
5356
5655
|
// src/components/ModalFilterTicket/ModalFilterTicket.constants.ts
|
|
5357
|
-
var
|
|
5358
|
-
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
|
|
5656
|
+
var DEFAULT_LABELS9 = {
|
|
5657
|
+
id: {
|
|
5658
|
+
title: "Filter dengan",
|
|
5659
|
+
serviceTypeLabel: "Jenis Layanan",
|
|
5660
|
+
departureTimeLabel: "Waktu pergi",
|
|
5661
|
+
arrivalTimeLabel: "Waktu tiba",
|
|
5662
|
+
priceLabel: "Harga",
|
|
5663
|
+
priceRangeText: (min, max) => {
|
|
5664
|
+
const formatPrice = (price) => new Intl.NumberFormat("id-ID").format(price);
|
|
5665
|
+
return `Mulai dari IDR ${formatPrice(min)} - ${formatPrice(max)}`;
|
|
5666
|
+
},
|
|
5667
|
+
durationLabel: "Durasi perjalanan",
|
|
5668
|
+
durationRangeText: (min, max) => `Perjalanan ${min} - ${max} jam`,
|
|
5669
|
+
resetButton: "Reset",
|
|
5670
|
+
applyButton: "Terapkan"
|
|
5671
|
+
},
|
|
5672
|
+
en: {
|
|
5673
|
+
title: "Filter by",
|
|
5674
|
+
serviceTypeLabel: "Service Type",
|
|
5675
|
+
departureTimeLabel: "Departure time",
|
|
5676
|
+
arrivalTimeLabel: "Arrival time",
|
|
5677
|
+
priceLabel: "Price",
|
|
5678
|
+
priceRangeText: (min, max) => {
|
|
5679
|
+
const formatPrice = (price) => new Intl.NumberFormat("en-US").format(price);
|
|
5680
|
+
return `From IDR ${formatPrice(min)} - ${formatPrice(max)}`;
|
|
5681
|
+
},
|
|
5682
|
+
durationLabel: "Travel duration",
|
|
5683
|
+
durationRangeText: (min, max) => `${min} - ${max} hours trip`,
|
|
5684
|
+
resetButton: "Reset",
|
|
5685
|
+
applyButton: "Apply"
|
|
5686
|
+
}
|
|
5371
5687
|
};
|
|
5372
5688
|
var DEFAULT_SERVICE_TYPES = [
|
|
5373
5689
|
{ value: "ropax-regular", label: "Ropax Regular" },
|
|
@@ -5392,7 +5708,7 @@ var DEFAULT_DURATION_RANGE = {
|
|
|
5392
5708
|
min: 0,
|
|
5393
5709
|
max: 8
|
|
5394
5710
|
};
|
|
5395
|
-
var
|
|
5711
|
+
var useStyles16 = reactComponents.makeStyles({
|
|
5396
5712
|
dialogSurface: {
|
|
5397
5713
|
maxWidth: "600px",
|
|
5398
5714
|
width: "100%"
|
|
@@ -5431,7 +5747,10 @@ var useStyles15 = reactComponents.makeStyles({
|
|
|
5431
5747
|
display: "flex",
|
|
5432
5748
|
flexDirection: "column",
|
|
5433
5749
|
gap: reactComponents.tokens.spacingVerticalS,
|
|
5434
|
-
...reactComponents.shorthands.padding(
|
|
5750
|
+
...reactComponents.shorthands.padding(
|
|
5751
|
+
reactComponents.tokens.spacingHorizontalNone,
|
|
5752
|
+
reactComponents.tokens.spacingHorizontalSNudge
|
|
5753
|
+
)
|
|
5435
5754
|
},
|
|
5436
5755
|
sliderValues: {
|
|
5437
5756
|
display: "flex",
|
|
@@ -5475,6 +5794,7 @@ var useStyles15 = reactComponents.makeStyles({
|
|
|
5475
5794
|
}
|
|
5476
5795
|
});
|
|
5477
5796
|
var ModalFilterTicket = ({
|
|
5797
|
+
language = "id",
|
|
5478
5798
|
open,
|
|
5479
5799
|
onOpenChange,
|
|
5480
5800
|
selectedServiceTypes,
|
|
@@ -5497,8 +5817,8 @@ var ModalFilterTicket = ({
|
|
|
5497
5817
|
minDuration = DEFAULT_DURATION_RANGE.min,
|
|
5498
5818
|
maxDuration = DEFAULT_DURATION_RANGE.max
|
|
5499
5819
|
}) => {
|
|
5500
|
-
const styles =
|
|
5501
|
-
const mergedLabels = { ...
|
|
5820
|
+
const styles = useStyles16();
|
|
5821
|
+
const mergedLabels = { ...DEFAULT_LABELS9[language], ...labels };
|
|
5502
5822
|
const [rangeReady, setRangeReady] = React5.useState(false);
|
|
5503
5823
|
React5.useEffect(() => {
|
|
5504
5824
|
if (open) {
|
|
@@ -5653,7 +5973,9 @@ var ModalFilterTicket = ({
|
|
|
5653
5973
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.section, children: [
|
|
5654
5974
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.serviceTypeLabel }),
|
|
5655
5975
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.buttonGrid, children: serviceTypes.map((service) => {
|
|
5656
|
-
const isSelected = selectedServiceTypes.includes(
|
|
5976
|
+
const isSelected = selectedServiceTypes.includes(
|
|
5977
|
+
service.value
|
|
5978
|
+
);
|
|
5657
5979
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5658
5980
|
reactComponents.Button,
|
|
5659
5981
|
{
|
|
@@ -5671,26 +5993,58 @@ var ModalFilterTicket = ({
|
|
|
5671
5993
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
5672
5994
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.section, children: [
|
|
5673
5995
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.departureTimeLabel }),
|
|
5674
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: timeSlots.map((slot) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
5675
|
-
|
|
5996
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: timeSlots.map((slot) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
5997
|
+
reactGridSystem.Col,
|
|
5676
5998
|
{
|
|
5677
|
-
|
|
5678
|
-
|
|
5679
|
-
|
|
5680
|
-
|
|
5681
|
-
|
|
5999
|
+
xs: 6,
|
|
6000
|
+
sm: 6,
|
|
6001
|
+
md: 6,
|
|
6002
|
+
lg: 3,
|
|
6003
|
+
xl: 3,
|
|
6004
|
+
xxl: 3,
|
|
6005
|
+
xxxl: 3,
|
|
6006
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.checkboxWrapper, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6007
|
+
reactComponents.Checkbox,
|
|
6008
|
+
{
|
|
6009
|
+
label: slot.label,
|
|
6010
|
+
checked: departureTime.includes(slot.value),
|
|
6011
|
+
onChange: (_, data) => handleDepartureTimeChange(
|
|
6012
|
+
slot.value,
|
|
6013
|
+
data.checked
|
|
6014
|
+
)
|
|
6015
|
+
}
|
|
6016
|
+
) })
|
|
6017
|
+
},
|
|
6018
|
+
slot.value
|
|
6019
|
+
)) })
|
|
5682
6020
|
] }),
|
|
5683
6021
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
5684
6022
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.section, children: [
|
|
5685
6023
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.arrivalTimeLabel }),
|
|
5686
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: timeSlots.map((slot) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
5687
|
-
|
|
6024
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: timeSlots.map((slot) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6025
|
+
reactGridSystem.Col,
|
|
5688
6026
|
{
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
|
|
6027
|
+
xs: 6,
|
|
6028
|
+
sm: 6,
|
|
6029
|
+
md: 6,
|
|
6030
|
+
lg: 3,
|
|
6031
|
+
xl: 3,
|
|
6032
|
+
xxl: 3,
|
|
6033
|
+
xxxl: 3,
|
|
6034
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.checkboxWrapper, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6035
|
+
reactComponents.Checkbox,
|
|
6036
|
+
{
|
|
6037
|
+
label: slot.label,
|
|
6038
|
+
checked: arrivalTime.includes(slot.value),
|
|
6039
|
+
onChange: (_, data) => handleArrivalTimeChange(
|
|
6040
|
+
slot.value,
|
|
6041
|
+
data.checked
|
|
6042
|
+
)
|
|
6043
|
+
}
|
|
6044
|
+
) })
|
|
6045
|
+
},
|
|
6046
|
+
slot.value
|
|
6047
|
+
)) })
|
|
5694
6048
|
] }),
|
|
5695
6049
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
5696
6050
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.containerRange, children: [
|
|
@@ -5721,7 +6075,10 @@ var ModalFilterTicket = ({
|
|
|
5721
6075
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.containerRange, children: [
|
|
5722
6076
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.spaceText, children: [
|
|
5723
6077
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: mergedLabels.durationLabel }),
|
|
5724
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.durationRangeText(
|
|
6078
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.durationRangeText(
|
|
6079
|
+
durationRange[0],
|
|
6080
|
+
durationRange[1]
|
|
6081
|
+
) })
|
|
5725
6082
|
] }),
|
|
5726
6083
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.sliderContainer, children: [
|
|
5727
6084
|
rangeReady && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -5767,13 +6124,13 @@ var ModalFilterTicket = ({
|
|
|
5767
6124
|
};
|
|
5768
6125
|
|
|
5769
6126
|
// src/components/DateFilter/DateFilter.constants.ts
|
|
5770
|
-
var
|
|
6127
|
+
var DEFAULT_LABELS10 = {
|
|
5771
6128
|
prevButtonAriaLabel: "Previous dates",
|
|
5772
6129
|
nextButtonAriaLabel: "Next dates",
|
|
5773
6130
|
calendarButtonAriaLabel: "Open calendar"
|
|
5774
6131
|
};
|
|
5775
6132
|
var DEFAULT_SCROLL_AMOUNT = 150;
|
|
5776
|
-
var
|
|
6133
|
+
var useStyles17 = reactComponents.makeStyles({
|
|
5777
6134
|
container: {
|
|
5778
6135
|
display: "flex",
|
|
5779
6136
|
alignItems: "stretch",
|
|
@@ -5854,9 +6211,9 @@ var DateFilter = ({
|
|
|
5854
6211
|
scrollAmount = DEFAULT_SCROLL_AMOUNT,
|
|
5855
6212
|
labels
|
|
5856
6213
|
}) => {
|
|
5857
|
-
const styles =
|
|
6214
|
+
const styles = useStyles17();
|
|
5858
6215
|
const scrollRef = React5.useRef(null);
|
|
5859
|
-
const mergedLabels = { ...
|
|
6216
|
+
const mergedLabels = { ...DEFAULT_LABELS10, ...labels };
|
|
5860
6217
|
const handlePrev = () => {
|
|
5861
6218
|
scrollRef.current?.scrollBy({ left: -scrollAmount, behavior: "smooth" });
|
|
5862
6219
|
};
|
|
@@ -5914,6 +6271,54 @@ var DateFilter = ({
|
|
|
5914
6271
|
};
|
|
5915
6272
|
|
|
5916
6273
|
// src/components/ModalSearchTicket/ModalSearchTicket.constants.ts
|
|
6274
|
+
var DEFAULT_LABELS11 = {
|
|
6275
|
+
id: {
|
|
6276
|
+
title: "Cari Jadwal Lainnya",
|
|
6277
|
+
fromLabel: "Dari",
|
|
6278
|
+
fromPlaceholder: "Pilih pelabuhan asal",
|
|
6279
|
+
fromRequired: "Pelabuhan asal wajib diisi",
|
|
6280
|
+
toLabel: "Ke",
|
|
6281
|
+
toPlaceholder: "Pilih pelabuhan tujuan",
|
|
6282
|
+
toRequired: "Pelabuhan tujuan wajib diisi",
|
|
6283
|
+
departureDateLabel: "Tanggal Berangkat",
|
|
6284
|
+
departureDatePlaceholder: "Pilih Tanggal Berangkat",
|
|
6285
|
+
departureDateRequired: "Tanggal Berangkat wajib diisi",
|
|
6286
|
+
roundTripLabel: "Pulang Pergi",
|
|
6287
|
+
returnDateLabel: "Tanggal Pulang",
|
|
6288
|
+
returnDatePlaceholder: "Pilih Tanggal Pulang",
|
|
6289
|
+
returnDateRequired: "Tanggal Pulang wajib diisi",
|
|
6290
|
+
serviceClassLabel: "Kelas Layanan",
|
|
6291
|
+
serviceClassPlaceholder: "Pilih Kelas Layanan",
|
|
6292
|
+
typeOfServiceLabel: "Jenis penumpang",
|
|
6293
|
+
typeOfServicePlaceholder: "Pilih Jenis penumpang",
|
|
6294
|
+
passengerLabel: "Penumpang",
|
|
6295
|
+
passengerPlaceholder: "Pilih Penumpang",
|
|
6296
|
+
searchButton: "Cari Tiket"
|
|
6297
|
+
},
|
|
6298
|
+
en: {
|
|
6299
|
+
title: "Search Other Schedules",
|
|
6300
|
+
fromLabel: "From",
|
|
6301
|
+
fromPlaceholder: "Select origin harbor",
|
|
6302
|
+
fromRequired: "Origin harbor is required",
|
|
6303
|
+
toLabel: "To",
|
|
6304
|
+
toPlaceholder: "Select destination harbor",
|
|
6305
|
+
toRequired: "Destination harbor is required",
|
|
6306
|
+
departureDateLabel: "Departure Date",
|
|
6307
|
+
departureDatePlaceholder: "Select Departure Date",
|
|
6308
|
+
departureDateRequired: "Departure date is required",
|
|
6309
|
+
roundTripLabel: "Round Trip",
|
|
6310
|
+
returnDateLabel: "Return Date",
|
|
6311
|
+
returnDatePlaceholder: "Select Return Date",
|
|
6312
|
+
returnDateRequired: "Return date is required",
|
|
6313
|
+
serviceClassLabel: "Service Class",
|
|
6314
|
+
serviceClassPlaceholder: "Select Service Class",
|
|
6315
|
+
typeOfServiceLabel: "Type of Passenger",
|
|
6316
|
+
typeOfServicePlaceholder: "Select Type of Passenger",
|
|
6317
|
+
passengerLabel: "Passenger",
|
|
6318
|
+
passengerPlaceholder: "Select Passenger",
|
|
6319
|
+
searchButton: "Search Ticket"
|
|
6320
|
+
}
|
|
6321
|
+
};
|
|
5917
6322
|
var DEFAULT_FORM_VALUES = {
|
|
5918
6323
|
from: "",
|
|
5919
6324
|
to: "",
|
|
@@ -5924,7 +6329,7 @@ var DEFAULT_FORM_VALUES = {
|
|
|
5924
6329
|
typeOfService: "",
|
|
5925
6330
|
passenger: ""
|
|
5926
6331
|
};
|
|
5927
|
-
var
|
|
6332
|
+
var useStyles18 = reactComponents.makeStyles({
|
|
5928
6333
|
dialogSurface: {
|
|
5929
6334
|
maxWidth: "900px",
|
|
5930
6335
|
width: "100%"
|
|
@@ -5997,6 +6402,8 @@ var useStyles17 = reactComponents.makeStyles({
|
|
|
5997
6402
|
}
|
|
5998
6403
|
});
|
|
5999
6404
|
var ModalSearchTicket = ({
|
|
6405
|
+
language = "id",
|
|
6406
|
+
labels,
|
|
6000
6407
|
open,
|
|
6001
6408
|
onClose,
|
|
6002
6409
|
defaultValues,
|
|
@@ -6024,7 +6431,8 @@ var ModalSearchTicket = ({
|
|
|
6024
6431
|
showRoundTrip = true,
|
|
6025
6432
|
...props
|
|
6026
6433
|
}) => {
|
|
6027
|
-
const styles =
|
|
6434
|
+
const styles = useStyles18();
|
|
6435
|
+
const mergedLabels = { ...DEFAULT_LABELS11[language], ...labels };
|
|
6028
6436
|
const { control, setValue, handleSubmit, watch } = reactHookForm.useForm({
|
|
6029
6437
|
defaultValues: {
|
|
6030
6438
|
...DEFAULT_FORM_VALUES,
|
|
@@ -6084,7 +6492,7 @@ var ModalSearchTicket = ({
|
|
|
6084
6492
|
onClick: onClose
|
|
6085
6493
|
}
|
|
6086
6494
|
),
|
|
6087
|
-
children:
|
|
6495
|
+
children: mergedLabels.title
|
|
6088
6496
|
}
|
|
6089
6497
|
),
|
|
6090
6498
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogContent, { className: styles.content, children: /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleSubmit(onFormSubmit), children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { width: "100%" }, className: styles.formInnerRow, children: [
|
|
@@ -6105,7 +6513,7 @@ var ModalSearchTicket = ({
|
|
|
6105
6513
|
InputDynamic_default,
|
|
6106
6514
|
{
|
|
6107
6515
|
name: "from",
|
|
6108
|
-
label:
|
|
6516
|
+
label: mergedLabels.fromLabel,
|
|
6109
6517
|
control,
|
|
6110
6518
|
type: "text",
|
|
6111
6519
|
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6117,11 +6525,11 @@ var ModalSearchTicket = ({
|
|
|
6117
6525
|
),
|
|
6118
6526
|
appearance: "filled-lighter",
|
|
6119
6527
|
size: "medium",
|
|
6120
|
-
placeholder:
|
|
6528
|
+
placeholder: mergedLabels.fromPlaceholder,
|
|
6121
6529
|
onClick: onSelectOrigin,
|
|
6122
6530
|
onChange: handleFromChange,
|
|
6123
6531
|
validationRules: {
|
|
6124
|
-
required:
|
|
6532
|
+
required: mergedLabels.fromRequired
|
|
6125
6533
|
},
|
|
6126
6534
|
required: true
|
|
6127
6535
|
}
|
|
@@ -6173,7 +6581,7 @@ var ModalSearchTicket = ({
|
|
|
6173
6581
|
InputDynamic_default,
|
|
6174
6582
|
{
|
|
6175
6583
|
name: "to",
|
|
6176
|
-
label:
|
|
6584
|
+
label: mergedLabels.toLabel,
|
|
6177
6585
|
control,
|
|
6178
6586
|
type: "text",
|
|
6179
6587
|
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6186,10 +6594,10 @@ var ModalSearchTicket = ({
|
|
|
6186
6594
|
disabled: toDisabled,
|
|
6187
6595
|
appearance: "filled-lighter",
|
|
6188
6596
|
size: "medium",
|
|
6189
|
-
placeholder:
|
|
6597
|
+
placeholder: mergedLabels.toPlaceholder,
|
|
6190
6598
|
onClick: onSelectDestination,
|
|
6191
6599
|
validationRules: {
|
|
6192
|
-
required:
|
|
6600
|
+
required: mergedLabels.toRequired
|
|
6193
6601
|
},
|
|
6194
6602
|
required: true
|
|
6195
6603
|
}
|
|
@@ -6212,7 +6620,7 @@ var ModalSearchTicket = ({
|
|
|
6212
6620
|
InputDynamic_default,
|
|
6213
6621
|
{
|
|
6214
6622
|
name: "startDate",
|
|
6215
|
-
label:
|
|
6623
|
+
label: mergedLabels.departureDateLabel,
|
|
6216
6624
|
control,
|
|
6217
6625
|
type: "text",
|
|
6218
6626
|
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6224,11 +6632,11 @@ var ModalSearchTicket = ({
|
|
|
6224
6632
|
),
|
|
6225
6633
|
appearance: "filled-lighter",
|
|
6226
6634
|
size: "medium",
|
|
6227
|
-
placeholder:
|
|
6635
|
+
placeholder: mergedLabels.departureDatePlaceholder,
|
|
6228
6636
|
onClick: onSelectDepartureDate,
|
|
6229
6637
|
required: true,
|
|
6230
6638
|
validationRules: {
|
|
6231
|
-
required:
|
|
6639
|
+
required: mergedLabels.departureDateRequired
|
|
6232
6640
|
}
|
|
6233
6641
|
}
|
|
6234
6642
|
) })
|
|
@@ -6249,7 +6657,7 @@ var ModalSearchTicket = ({
|
|
|
6249
6657
|
InputDynamic_default,
|
|
6250
6658
|
{
|
|
6251
6659
|
name: "roundTrip",
|
|
6252
|
-
label:
|
|
6660
|
+
label: mergedLabels.roundTripLabel,
|
|
6253
6661
|
control,
|
|
6254
6662
|
type: "switch",
|
|
6255
6663
|
disabled: roundTripDisabled,
|
|
@@ -6272,7 +6680,7 @@ var ModalSearchTicket = ({
|
|
|
6272
6680
|
InputDynamic_default,
|
|
6273
6681
|
{
|
|
6274
6682
|
name: "endDate",
|
|
6275
|
-
label:
|
|
6683
|
+
label: mergedLabels.returnDateLabel,
|
|
6276
6684
|
control,
|
|
6277
6685
|
type: "text",
|
|
6278
6686
|
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6284,13 +6692,13 @@ var ModalSearchTicket = ({
|
|
|
6284
6692
|
),
|
|
6285
6693
|
appearance: "filled-lighter",
|
|
6286
6694
|
size: "medium",
|
|
6287
|
-
placeholder:
|
|
6695
|
+
placeholder: mergedLabels.returnDatePlaceholder,
|
|
6288
6696
|
onClick: onSelectReturnDate,
|
|
6289
6697
|
disabled: endDateDisabled,
|
|
6290
6698
|
style: { borderColor: "transparent" },
|
|
6291
6699
|
required: roundTripValue,
|
|
6292
6700
|
validationRules: {
|
|
6293
|
-
required:
|
|
6701
|
+
required: mergedLabels.returnDateRequired
|
|
6294
6702
|
}
|
|
6295
6703
|
}
|
|
6296
6704
|
)
|
|
@@ -6340,7 +6748,7 @@ var ModalSearchTicket = ({
|
|
|
6340
6748
|
InputDynamic_default,
|
|
6341
6749
|
{
|
|
6342
6750
|
name: "serviceClass",
|
|
6343
|
-
label:
|
|
6751
|
+
label: mergedLabels.serviceClassLabel,
|
|
6344
6752
|
control,
|
|
6345
6753
|
type: "text",
|
|
6346
6754
|
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6352,7 +6760,7 @@ var ModalSearchTicket = ({
|
|
|
6352
6760
|
),
|
|
6353
6761
|
appearance: "filled-lighter",
|
|
6354
6762
|
size: "medium",
|
|
6355
|
-
placeholder:
|
|
6763
|
+
placeholder: mergedLabels.serviceClassPlaceholder,
|
|
6356
6764
|
onClick: onSelectServiceClass,
|
|
6357
6765
|
required: true,
|
|
6358
6766
|
disabled: serviceClassDisabled
|
|
@@ -6374,7 +6782,7 @@ var ModalSearchTicket = ({
|
|
|
6374
6782
|
InputDynamic_default,
|
|
6375
6783
|
{
|
|
6376
6784
|
name: "typeOfService",
|
|
6377
|
-
label:
|
|
6785
|
+
label: mergedLabels.typeOfServiceLabel,
|
|
6378
6786
|
control,
|
|
6379
6787
|
type: "text",
|
|
6380
6788
|
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6386,7 +6794,7 @@ var ModalSearchTicket = ({
|
|
|
6386
6794
|
),
|
|
6387
6795
|
appearance: "filled-lighter",
|
|
6388
6796
|
size: "medium",
|
|
6389
|
-
placeholder:
|
|
6797
|
+
placeholder: mergedLabels.typeOfServicePlaceholder,
|
|
6390
6798
|
onClick: onSelectTypeOfService,
|
|
6391
6799
|
required: true,
|
|
6392
6800
|
disabled: typeOfServiceDisabled
|
|
@@ -6409,7 +6817,7 @@ var ModalSearchTicket = ({
|
|
|
6409
6817
|
{
|
|
6410
6818
|
required: true,
|
|
6411
6819
|
name: "passenger",
|
|
6412
|
-
label:
|
|
6820
|
+
label: mergedLabels.passengerLabel,
|
|
6413
6821
|
control,
|
|
6414
6822
|
type: "text",
|
|
6415
6823
|
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6421,7 +6829,7 @@ var ModalSearchTicket = ({
|
|
|
6421
6829
|
),
|
|
6422
6830
|
appearance: "filled-lighter",
|
|
6423
6831
|
size: "medium",
|
|
6424
|
-
placeholder:
|
|
6832
|
+
placeholder: mergedLabels.passengerPlaceholder,
|
|
6425
6833
|
onClick: onSelectPassenger
|
|
6426
6834
|
}
|
|
6427
6835
|
)
|
|
@@ -6449,7 +6857,7 @@ var ModalSearchTicket = ({
|
|
|
6449
6857
|
type: "submit",
|
|
6450
6858
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:vehicle-ship-20-filled" }),
|
|
6451
6859
|
disabled: isSubmitDisabled,
|
|
6452
|
-
children:
|
|
6860
|
+
children: mergedLabels.searchButton
|
|
6453
6861
|
}
|
|
6454
6862
|
)
|
|
6455
6863
|
}
|
|
@@ -6459,7 +6867,7 @@ var ModalSearchTicket = ({
|
|
|
6459
6867
|
}
|
|
6460
6868
|
);
|
|
6461
6869
|
};
|
|
6462
|
-
var
|
|
6870
|
+
var useStyles19 = reactComponents.makeStyles({
|
|
6463
6871
|
stepperWrapper: {
|
|
6464
6872
|
position: "relative",
|
|
6465
6873
|
width: "100%",
|
|
@@ -6582,7 +6990,7 @@ var Stepper = ({
|
|
|
6582
6990
|
currentStep,
|
|
6583
6991
|
className
|
|
6584
6992
|
}) => {
|
|
6585
|
-
const styles =
|
|
6993
|
+
const styles = useStyles19();
|
|
6586
6994
|
const currentStepIndex = React5.useMemo(() => {
|
|
6587
6995
|
if (typeof currentStep === "number") {
|
|
6588
6996
|
return steps.findIndex((step) => step.number === currentStep);
|
|
@@ -6635,7 +7043,23 @@ var Stepper = ({
|
|
|
6635
7043
|
] }, step.id)) })
|
|
6636
7044
|
] }) });
|
|
6637
7045
|
};
|
|
6638
|
-
|
|
7046
|
+
|
|
7047
|
+
// src/components/CardOrdererInfo/CardOrdererInfo.constants.ts
|
|
7048
|
+
var DEFAULT_LABELS12 = {
|
|
7049
|
+
id: {
|
|
7050
|
+
title: "Informasi Pemesan",
|
|
7051
|
+
ordererName: "Nama Pemesan",
|
|
7052
|
+
phoneNumber: "Nomor Handphone",
|
|
7053
|
+
email: "Email"
|
|
7054
|
+
},
|
|
7055
|
+
en: {
|
|
7056
|
+
title: "Orderer Information",
|
|
7057
|
+
ordererName: "Orderer Name",
|
|
7058
|
+
phoneNumber: "Phone Number",
|
|
7059
|
+
email: "Email"
|
|
7060
|
+
}
|
|
7061
|
+
};
|
|
7062
|
+
var useStyles20 = reactComponents.makeStyles({
|
|
6639
7063
|
card: {
|
|
6640
7064
|
padding: "1.5rem",
|
|
6641
7065
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
@@ -6660,29 +7084,32 @@ var useStyles19 = reactComponents.makeStyles({
|
|
|
6660
7084
|
}
|
|
6661
7085
|
});
|
|
6662
7086
|
var CardOrdererInfo = ({
|
|
7087
|
+
language = "id",
|
|
6663
7088
|
orderer,
|
|
7089
|
+
labels,
|
|
6664
7090
|
className
|
|
6665
7091
|
}) => {
|
|
6666
|
-
const styles =
|
|
7092
|
+
const styles = useStyles20();
|
|
7093
|
+
const mergedLabels = { ...DEFAULT_LABELS12[language], ...labels };
|
|
6667
7094
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: className || styles.card, children: [
|
|
6668
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { children:
|
|
7095
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { children: mergedLabels.title }),
|
|
6669
7096
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
|
|
6670
7097
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.fieldGroup, children: [
|
|
6671
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { className: styles.label, children:
|
|
7098
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { className: styles.label, children: mergedLabels.ordererName }),
|
|
6672
7099
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.value, children: orderer?.name || "-" })
|
|
6673
7100
|
] }),
|
|
6674
7101
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.fieldGroup, children: [
|
|
6675
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { className: styles.label, children:
|
|
7102
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { className: styles.label, children: mergedLabels.phoneNumber }),
|
|
6676
7103
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.value, children: orderer?.phoneNumber || "-" })
|
|
6677
7104
|
] }),
|
|
6678
7105
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.fieldGroup, children: [
|
|
6679
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { className: styles.label, children:
|
|
7106
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { className: styles.label, children: mergedLabels.email }),
|
|
6680
7107
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.value, children: orderer?.email || "-" })
|
|
6681
7108
|
] })
|
|
6682
7109
|
] })
|
|
6683
7110
|
] });
|
|
6684
7111
|
};
|
|
6685
|
-
var
|
|
7112
|
+
var useStyles21 = reactComponents.makeStyles({
|
|
6686
7113
|
dialogSurface: {
|
|
6687
7114
|
maxWidth: "600px",
|
|
6688
7115
|
width: "100%",
|
|
@@ -6735,7 +7162,7 @@ var ModalListPassenger = ({
|
|
|
6735
7162
|
sameAsOrderer,
|
|
6736
7163
|
onSameAsOrdererChange
|
|
6737
7164
|
}) => {
|
|
6738
|
-
const styles =
|
|
7165
|
+
const styles = useStyles21();
|
|
6739
7166
|
const handleClose = () => {
|
|
6740
7167
|
onClose();
|
|
6741
7168
|
onSearchChange("");
|
|
@@ -6849,7 +7276,7 @@ var ModalListPassenger = ({
|
|
|
6849
7276
|
}
|
|
6850
7277
|
);
|
|
6851
7278
|
};
|
|
6852
|
-
var
|
|
7279
|
+
var useStyles22 = reactComponents.makeStyles({
|
|
6853
7280
|
dialogSurface: {
|
|
6854
7281
|
maxWidth: "600px",
|
|
6855
7282
|
width: "100%",
|
|
@@ -6879,7 +7306,7 @@ var ModalPassengerForm = ({
|
|
|
6879
7306
|
cityOptions,
|
|
6880
7307
|
ticketClassOptions
|
|
6881
7308
|
}) => {
|
|
6882
|
-
const styles =
|
|
7309
|
+
const styles = useStyles22();
|
|
6883
7310
|
const { control, handleSubmit, reset } = reactHookForm.useForm({
|
|
6884
7311
|
defaultValues
|
|
6885
7312
|
});
|
|
@@ -7065,6 +7492,18 @@ var ModalPassengerForm = ({
|
|
|
7065
7492
|
}
|
|
7066
7493
|
);
|
|
7067
7494
|
};
|
|
7495
|
+
|
|
7496
|
+
// src/components/CardPassengerList/CardPassengerList.constants.ts
|
|
7497
|
+
var DEFAULT_LABELS13 = {
|
|
7498
|
+
id: {
|
|
7499
|
+
defaultTitle: "Data Penumpang",
|
|
7500
|
+
passengerPrefix: "Penumpang"
|
|
7501
|
+
},
|
|
7502
|
+
en: {
|
|
7503
|
+
defaultTitle: "Passenger Data",
|
|
7504
|
+
passengerPrefix: "Passenger"
|
|
7505
|
+
}
|
|
7506
|
+
};
|
|
7068
7507
|
var getBadgeConfig = (ticketClass) => {
|
|
7069
7508
|
const normalizedClass = ticketClass?.toUpperCase();
|
|
7070
7509
|
switch (normalizedClass) {
|
|
@@ -7093,7 +7532,7 @@ var getBadgeConfig = (ticketClass) => {
|
|
|
7093
7532
|
};
|
|
7094
7533
|
}
|
|
7095
7534
|
};
|
|
7096
|
-
var
|
|
7535
|
+
var useStyles23 = reactComponents.makeStyles({
|
|
7097
7536
|
card: {
|
|
7098
7537
|
padding: "1.5rem",
|
|
7099
7538
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
@@ -7169,15 +7608,19 @@ var useStyles22 = reactComponents.makeStyles({
|
|
|
7169
7608
|
}
|
|
7170
7609
|
});
|
|
7171
7610
|
var CardPassengerList = ({
|
|
7172
|
-
|
|
7611
|
+
language = "id",
|
|
7612
|
+
title,
|
|
7173
7613
|
passengers,
|
|
7174
7614
|
onPassengerClick,
|
|
7615
|
+
labels,
|
|
7175
7616
|
className
|
|
7176
7617
|
}) => {
|
|
7177
|
-
const styles =
|
|
7618
|
+
const styles = useStyles23();
|
|
7619
|
+
const mergedLabels = { ...DEFAULT_LABELS13[language], ...labels };
|
|
7620
|
+
const displayTitle = title || mergedLabels.defaultTitle;
|
|
7178
7621
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: className || styles.card, children: [
|
|
7179
7622
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
7180
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { className: styles.headerTitle, children:
|
|
7623
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { className: styles.headerTitle, children: displayTitle }),
|
|
7181
7624
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.headerLine })
|
|
7182
7625
|
] }),
|
|
7183
7626
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.passengerList, children: passengers.map((passenger, index) => {
|
|
@@ -7197,32 +7640,46 @@ var CardPassengerList = ({
|
|
|
7197
7640
|
},
|
|
7198
7641
|
children: [
|
|
7199
7642
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.passengerInfo, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle2, { className: styles.passengerText, children: [
|
|
7200
|
-
passenger.name ||
|
|
7201
|
-
"
|
|
7643
|
+
passenger.name || `${mergedLabels.passengerPrefix} ${index + 1}`,
|
|
7644
|
+
" ",
|
|
7645
|
+
"(",
|
|
7202
7646
|
passenger.passengerType,
|
|
7203
7647
|
")"
|
|
7204
7648
|
] }) }),
|
|
7205
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7206
|
-
|
|
7207
|
-
|
|
7208
|
-
|
|
7209
|
-
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7213
|
-
|
|
7214
|
-
|
|
7215
|
-
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
|
|
7219
|
-
|
|
7220
|
-
|
|
7221
|
-
|
|
7222
|
-
|
|
7223
|
-
|
|
7224
|
-
|
|
7225
|
-
|
|
7649
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7650
|
+
"div",
|
|
7651
|
+
{
|
|
7652
|
+
style: { display: "flex", alignItems: "center", gap: "1rem" },
|
|
7653
|
+
children: [
|
|
7654
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.badgeContainer, children: [
|
|
7655
|
+
badgeConfig.icon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7656
|
+
"img",
|
|
7657
|
+
{
|
|
7658
|
+
src: badgeConfig.icon,
|
|
7659
|
+
alt: passenger.serviceName,
|
|
7660
|
+
className: styles.badgeIcon
|
|
7661
|
+
}
|
|
7662
|
+
),
|
|
7663
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7664
|
+
"div",
|
|
7665
|
+
{
|
|
7666
|
+
className: styles.badgeContent,
|
|
7667
|
+
style: { backgroundColor: badgeConfig.color },
|
|
7668
|
+
children: passenger.serviceName
|
|
7669
|
+
}
|
|
7670
|
+
)
|
|
7671
|
+
] }),
|
|
7672
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7673
|
+
react.Icon,
|
|
7674
|
+
{
|
|
7675
|
+
icon: "fluent:chevron-right-24-regular",
|
|
7676
|
+
width: 20,
|
|
7677
|
+
height: 20
|
|
7678
|
+
}
|
|
7679
|
+
)
|
|
7680
|
+
]
|
|
7681
|
+
}
|
|
7682
|
+
)
|
|
7226
7683
|
]
|
|
7227
7684
|
},
|
|
7228
7685
|
passenger.id || `passenger-${index}`
|
|
@@ -7230,7 +7687,7 @@ var CardPassengerList = ({
|
|
|
7230
7687
|
}) })
|
|
7231
7688
|
] });
|
|
7232
7689
|
};
|
|
7233
|
-
var
|
|
7690
|
+
var useStyles24 = reactComponents.makeStyles({
|
|
7234
7691
|
card: {
|
|
7235
7692
|
padding: "1.5rem",
|
|
7236
7693
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
@@ -7267,7 +7724,7 @@ var CardVehicleDetail = ({
|
|
|
7267
7724
|
hasLoad,
|
|
7268
7725
|
onHasLoadChange
|
|
7269
7726
|
}) => {
|
|
7270
|
-
const styles =
|
|
7727
|
+
const styles = useStyles24();
|
|
7271
7728
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.card, children: [
|
|
7272
7729
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [
|
|
7273
7730
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: "Detail Kendaraan" }),
|
|
@@ -7315,7 +7772,7 @@ var CardVehicleDetail = ({
|
|
|
7315
7772
|
] })
|
|
7316
7773
|
] });
|
|
7317
7774
|
};
|
|
7318
|
-
var
|
|
7775
|
+
var useStyles25 = reactComponents.makeStyles({
|
|
7319
7776
|
card: {
|
|
7320
7777
|
padding: "1.5rem",
|
|
7321
7778
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
@@ -7372,7 +7829,7 @@ var CardVehicleOwnerForm = ({
|
|
|
7372
7829
|
companyOptions = [],
|
|
7373
7830
|
cityOptions = []
|
|
7374
7831
|
}) => {
|
|
7375
|
-
const styles =
|
|
7832
|
+
const styles = useStyles25();
|
|
7376
7833
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.card, children: [
|
|
7377
7834
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.header, children: [
|
|
7378
7835
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", flex: 1 }, children: [
|
|
@@ -8016,7 +8473,33 @@ var CardVehicleOwnerForm = ({
|
|
|
8016
8473
|
)) })
|
|
8017
8474
|
] });
|
|
8018
8475
|
};
|
|
8019
|
-
|
|
8476
|
+
|
|
8477
|
+
// src/components/CardBookingTicket/CardBookingTicket.constants.ts
|
|
8478
|
+
var DEFAULT_LABELS14 = {
|
|
8479
|
+
id: {
|
|
8480
|
+
bookingDetails: "Booking Details",
|
|
8481
|
+
routeTitle: "Rute Perjalanan",
|
|
8482
|
+
estimationPrefix: "Estimasi",
|
|
8483
|
+
totalPriceLabel: "Total Harga",
|
|
8484
|
+
nextButton: "Lanjutkan",
|
|
8485
|
+
previousButton: "Sebelumnya",
|
|
8486
|
+
viewBookingButton: "Lihat Pemesanan",
|
|
8487
|
+
changePaymentButton: "Ubah Metode Pembayaran",
|
|
8488
|
+
timezoneLabel: "WIB"
|
|
8489
|
+
},
|
|
8490
|
+
en: {
|
|
8491
|
+
bookingDetails: "Booking Details",
|
|
8492
|
+
routeTitle: "Travel Route",
|
|
8493
|
+
estimationPrefix: "Estimation",
|
|
8494
|
+
totalPriceLabel: "Total Price",
|
|
8495
|
+
nextButton: "Continue",
|
|
8496
|
+
previousButton: "Previous",
|
|
8497
|
+
viewBookingButton: "View Booking",
|
|
8498
|
+
changePaymentButton: "Change Payment Method",
|
|
8499
|
+
timezoneLabel: "WIB"
|
|
8500
|
+
}
|
|
8501
|
+
};
|
|
8502
|
+
var useStyles26 = reactComponents.makeStyles({
|
|
8020
8503
|
container: {
|
|
8021
8504
|
display: "flex",
|
|
8022
8505
|
flexDirection: "column",
|
|
@@ -8128,6 +8611,8 @@ var useStyles25 = reactComponents.makeStyles({
|
|
|
8128
8611
|
}
|
|
8129
8612
|
});
|
|
8130
8613
|
var CardBookingTicket = ({
|
|
8614
|
+
language = "id",
|
|
8615
|
+
labels,
|
|
8131
8616
|
shipName = "KMP PORTLINK",
|
|
8132
8617
|
shipType = "Water Taxi",
|
|
8133
8618
|
shipTypeColor = "success",
|
|
@@ -8146,13 +8631,22 @@ var CardBookingTicket = ({
|
|
|
8146
8631
|
onPrevious,
|
|
8147
8632
|
className
|
|
8148
8633
|
}) => {
|
|
8149
|
-
const styles =
|
|
8634
|
+
const styles = useStyles26();
|
|
8635
|
+
const mergedLabels = { ...DEFAULT_LABELS14[language], ...labels };
|
|
8150
8636
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.container} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.bookingDetail, children: [
|
|
8151
8637
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.bookingDetailTop, children: [
|
|
8152
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children:
|
|
8638
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.bookingDetails }),
|
|
8153
8639
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerBookingDetail, children: [
|
|
8154
8640
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.shipInfo, children: [
|
|
8155
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8641
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8642
|
+
"img",
|
|
8643
|
+
{
|
|
8644
|
+
src: "/assets/logo/asdp-default.svg",
|
|
8645
|
+
width: 81,
|
|
8646
|
+
height: 54,
|
|
8647
|
+
alt: "asdp"
|
|
8648
|
+
}
|
|
8649
|
+
),
|
|
8156
8650
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: shipName })
|
|
8157
8651
|
] }),
|
|
8158
8652
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8168,20 +8662,22 @@ var CardBookingTicket = ({
|
|
|
8168
8662
|
}
|
|
8169
8663
|
)
|
|
8170
8664
|
] }),
|
|
8171
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children:
|
|
8665
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: mergedLabels.routeTitle }),
|
|
8172
8666
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.ticketInfo, children: [
|
|
8173
8667
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.ticketTime, children: [
|
|
8174
8668
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption2, { children: departureDay }),
|
|
8175
8669
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1Stronger, { children: [
|
|
8176
8670
|
departureTime,
|
|
8177
|
-
"
|
|
8671
|
+
" ",
|
|
8672
|
+
mergedLabels.timezoneLabel
|
|
8178
8673
|
] }),
|
|
8179
8674
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption2, { children: departureLocation })
|
|
8180
8675
|
] }),
|
|
8181
8676
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.ticketDuration, children: [
|
|
8182
8677
|
/* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:vehicle-ship-24-regular" }),
|
|
8183
8678
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Caption2, { children: [
|
|
8184
|
-
|
|
8679
|
+
mergedLabels.estimationPrefix,
|
|
8680
|
+
" ",
|
|
8185
8681
|
duration
|
|
8186
8682
|
] })
|
|
8187
8683
|
] }),
|
|
@@ -8189,7 +8685,8 @@ var CardBookingTicket = ({
|
|
|
8189
8685
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption2, { children: arrivalDay }),
|
|
8190
8686
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1Stronger, { children: [
|
|
8191
8687
|
arrivalTime,
|
|
8192
|
-
"
|
|
8688
|
+
" ",
|
|
8689
|
+
mergedLabels.timezoneLabel
|
|
8193
8690
|
] }),
|
|
8194
8691
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption2, { children: arrivalLocation })
|
|
8195
8692
|
] })
|
|
@@ -8199,7 +8696,7 @@ var CardBookingTicket = ({
|
|
|
8199
8696
|
] }),
|
|
8200
8697
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.bookingDetailBottom, children: [
|
|
8201
8698
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.totalPrice, children: [
|
|
8202
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children:
|
|
8699
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.totalPriceLabel }),
|
|
8203
8700
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Title3, { className: styles.priceText, children: [
|
|
8204
8701
|
"IDR ",
|
|
8205
8702
|
totalPrice
|
|
@@ -8224,10 +8721,12 @@ var CardBookingTicket = ({
|
|
|
8224
8721
|
style: { width: "100%" },
|
|
8225
8722
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:chevron-right-20-regular" }),
|
|
8226
8723
|
iconPosition: "after",
|
|
8227
|
-
children:
|
|
8724
|
+
children: mergedLabels.nextButton
|
|
8228
8725
|
}
|
|
8229
8726
|
),
|
|
8230
|
-
["addon", "meals", "review", "payment", "eticket"].includes(
|
|
8727
|
+
["addon", "meals", "review", "payment", "eticket"].includes(
|
|
8728
|
+
reservationStep
|
|
8729
|
+
) && !["pay"].includes(paymentStep) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8231
8730
|
reactComponents.Button,
|
|
8232
8731
|
{
|
|
8233
8732
|
appearance: "secondary",
|
|
@@ -8237,7 +8736,7 @@ var CardBookingTicket = ({
|
|
|
8237
8736
|
className: styles.secondaryButton,
|
|
8238
8737
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:chevron-left-20-regular" }),
|
|
8239
8738
|
iconPosition: "before",
|
|
8240
|
-
children:
|
|
8739
|
+
children: mergedLabels.previousButton
|
|
8241
8740
|
}
|
|
8242
8741
|
)
|
|
8243
8742
|
] }),
|
|
@@ -8250,7 +8749,7 @@ var CardBookingTicket = ({
|
|
|
8250
8749
|
size: "large",
|
|
8251
8750
|
style: { width: "100%" },
|
|
8252
8751
|
onClick: onNext,
|
|
8253
|
-
children:
|
|
8752
|
+
children: mergedLabels.viewBookingButton
|
|
8254
8753
|
}
|
|
8255
8754
|
),
|
|
8256
8755
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8261,14 +8760,24 @@ var CardBookingTicket = ({
|
|
|
8261
8760
|
size: "large",
|
|
8262
8761
|
className: styles.secondaryButton,
|
|
8263
8762
|
onClick: onPrevious,
|
|
8264
|
-
children:
|
|
8763
|
+
children: mergedLabels.changePaymentButton
|
|
8265
8764
|
}
|
|
8266
8765
|
)
|
|
8267
8766
|
] })
|
|
8268
8767
|
] })
|
|
8269
8768
|
] }) });
|
|
8270
8769
|
};
|
|
8271
|
-
|
|
8770
|
+
|
|
8771
|
+
// src/components/CardFAQ/CardFAQ.constants.ts
|
|
8772
|
+
var DEFAULT_LABELS15 = {
|
|
8773
|
+
id: {
|
|
8774
|
+
title: "FAQ"
|
|
8775
|
+
},
|
|
8776
|
+
en: {
|
|
8777
|
+
title: "FAQ"
|
|
8778
|
+
}
|
|
8779
|
+
};
|
|
8780
|
+
var useStyles27 = reactComponents.makeStyles({
|
|
8272
8781
|
faqSection: {
|
|
8273
8782
|
// marginTop: '2rem', // Let parent control spacing if needed, or keep consistent
|
|
8274
8783
|
},
|
|
@@ -8308,27 +8817,63 @@ var FAQ_ITEMS = [
|
|
|
8308
8817
|
answer: "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint maiores debitis, earum animi dolorum unde asperiores accusantium nemo consectetur nulla reiciendis eveniet pariatur autem rerum adipisci sequi officia vero ipsam!"
|
|
8309
8818
|
}
|
|
8310
8819
|
];
|
|
8311
|
-
var CardFAQ = ({
|
|
8312
|
-
|
|
8820
|
+
var CardFAQ = ({
|
|
8821
|
+
language = "id",
|
|
8822
|
+
labels,
|
|
8823
|
+
className
|
|
8824
|
+
}) => {
|
|
8825
|
+
const styles = useStyles27();
|
|
8826
|
+
const mergedLabels = { ...DEFAULT_LABELS15[language], ...labels };
|
|
8313
8827
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.faqCard, children: [
|
|
8314
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children:
|
|
8315
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { collapsible: true, children: FAQ_ITEMS.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8316
|
-
|
|
8317
|
-
|
|
8318
|
-
|
|
8319
|
-
|
|
8320
|
-
|
|
8321
|
-
|
|
8322
|
-
|
|
8323
|
-
|
|
8324
|
-
|
|
8325
|
-
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
|
|
8828
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.title }),
|
|
8829
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { collapsible: true, children: FAQ_ITEMS.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8830
|
+
reactComponents.AccordionItem,
|
|
8831
|
+
{
|
|
8832
|
+
value: item.value,
|
|
8833
|
+
className: styles.accordionItem,
|
|
8834
|
+
children: [
|
|
8835
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8836
|
+
reactComponents.AccordionHeader,
|
|
8837
|
+
{
|
|
8838
|
+
className: styles.accordionHeader,
|
|
8839
|
+
expandIconPosition: "end",
|
|
8840
|
+
children: [
|
|
8841
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8842
|
+
react.Icon,
|
|
8843
|
+
{
|
|
8844
|
+
icon: "fluent:question-circle-28-regular",
|
|
8845
|
+
style: { marginRight: "5px" }
|
|
8846
|
+
}
|
|
8847
|
+
),
|
|
8848
|
+
" ",
|
|
8849
|
+
item.question
|
|
8850
|
+
]
|
|
8851
|
+
}
|
|
8852
|
+
),
|
|
8853
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionPanel, { children: item.answer })
|
|
8854
|
+
]
|
|
8855
|
+
},
|
|
8856
|
+
item.value
|
|
8857
|
+
)) })
|
|
8329
8858
|
] });
|
|
8330
8859
|
};
|
|
8331
|
-
|
|
8860
|
+
|
|
8861
|
+
// src/components/CardAddon/CardAddon.constants.ts
|
|
8862
|
+
var DEFAULT_LABELS16 = {
|
|
8863
|
+
id: {
|
|
8864
|
+
viewDetail: "Lihat detail",
|
|
8865
|
+
totalPrice: "Total Harga",
|
|
8866
|
+
passengerInsurance: "Asuransi Penumpang",
|
|
8867
|
+
removeOrder: "Hapus Pesanan"
|
|
8868
|
+
},
|
|
8869
|
+
en: {
|
|
8870
|
+
viewDetail: "View Details",
|
|
8871
|
+
totalPrice: "Total Price",
|
|
8872
|
+
passengerInsurance: "Passenger Insurance",
|
|
8873
|
+
removeOrder: "Remove Order"
|
|
8874
|
+
}
|
|
8875
|
+
};
|
|
8876
|
+
var useStyles28 = reactComponents.makeStyles({
|
|
8332
8877
|
card: {
|
|
8333
8878
|
backgroundColor: reactComponents.tokens.colorNeutralBackground1,
|
|
8334
8879
|
boxShadow: reactComponents.tokens.shadow4,
|
|
@@ -8393,7 +8938,10 @@ var useStyles27 = reactComponents.makeStyles({
|
|
|
8393
8938
|
},
|
|
8394
8939
|
// Assurance Styles
|
|
8395
8940
|
badge: {
|
|
8396
|
-
...reactComponents.shorthands.padding(
|
|
8941
|
+
...reactComponents.shorthands.padding(
|
|
8942
|
+
reactComponents.tokens.spacingVerticalNone,
|
|
8943
|
+
reactComponents.tokens.spacingHorizontalL
|
|
8944
|
+
),
|
|
8397
8945
|
backgroundColor: reactComponents.tokens.colorPaletteBlueBackground2,
|
|
8398
8946
|
// Approximate for Shared_Dark_blue_Primary if not avail
|
|
8399
8947
|
color: reactComponents.tokens.colorNeutralForegroundOnBrand,
|
|
@@ -8484,6 +9032,8 @@ var useStyles27 = reactComponents.makeStyles({
|
|
|
8484
9032
|
}
|
|
8485
9033
|
});
|
|
8486
9034
|
var CardAddon = ({
|
|
9035
|
+
language = "id",
|
|
9036
|
+
labels,
|
|
8487
9037
|
title,
|
|
8488
9038
|
itemTitle,
|
|
8489
9039
|
itemSubtitle,
|
|
@@ -8496,7 +9046,8 @@ var CardAddon = ({
|
|
|
8496
9046
|
children,
|
|
8497
9047
|
className
|
|
8498
9048
|
}) => {
|
|
8499
|
-
const styles =
|
|
9049
|
+
const styles = useStyles28();
|
|
9050
|
+
const mergedLabels = { ...DEFAULT_LABELS16[language], ...labels };
|
|
8500
9051
|
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.gapRow, children: [
|
|
8501
9052
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.titleDivider, children: [
|
|
8502
9053
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { className: styles.textTitle, children: title }),
|
|
@@ -8544,7 +9095,7 @@ var CardAddon = ({
|
|
|
8544
9095
|
onClick: footerData.onActionClick,
|
|
8545
9096
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:chevron-down-12-regular" }),
|
|
8546
9097
|
iconPosition: "after",
|
|
8547
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: styles.detailToogle, children: footerData.actionLabel ||
|
|
9098
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: styles.detailToogle, children: footerData.actionLabel || mergedLabels.viewDetail })
|
|
8548
9099
|
}
|
|
8549
9100
|
) })
|
|
8550
9101
|
] }) }),
|
|
@@ -8560,7 +9111,8 @@ var CardAddon = ({
|
|
|
8560
9111
|
style: { backgroundColor: "rgb(30, 57, 141)" },
|
|
8561
9112
|
children: [
|
|
8562
9113
|
assuranceData.totalPassenger,
|
|
8563
|
-
"
|
|
9114
|
+
" ",
|
|
9115
|
+
mergedLabels.passengerInsurance
|
|
8564
9116
|
]
|
|
8565
9117
|
}
|
|
8566
9118
|
) }),
|
|
@@ -8578,7 +9130,7 @@ var CardAddon = ({
|
|
|
8578
9130
|
] })
|
|
8579
9131
|
] }, idx)),
|
|
8580
9132
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.breakdownRow, children: [
|
|
8581
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children:
|
|
9133
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: mergedLabels.totalPrice }),
|
|
8582
9134
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle2, { children: [
|
|
8583
9135
|
"Rp",
|
|
8584
9136
|
assuranceData.totalPrice.toLocaleString("id-ID")
|
|
@@ -8605,7 +9157,8 @@ var CardAddon = ({
|
|
|
8605
9157
|
item.price.toLocaleString("id-ID"),
|
|
8606
9158
|
" x ",
|
|
8607
9159
|
item.quantity,
|
|
8608
|
-
"
|
|
9160
|
+
" ",
|
|
9161
|
+
"= Rp",
|
|
8609
9162
|
(item.price * item.quantity).toLocaleString("id-ID")
|
|
8610
9163
|
] })
|
|
8611
9164
|
] }),
|
|
@@ -8651,7 +9204,7 @@ var CardAddon = ({
|
|
|
8651
9204
|
onClick: () => mealData.onDelete(item.id),
|
|
8652
9205
|
children: [
|
|
8653
9206
|
/* @__PURE__ */ jsxRuntime.jsx(reactIcons.DeleteRegular, { fontSize: 18 }),
|
|
8654
|
-
|
|
9207
|
+
mergedLabels.removeOrder
|
|
8655
9208
|
]
|
|
8656
9209
|
}
|
|
8657
9210
|
)
|
|
@@ -8684,7 +9237,17 @@ var CardAddon = ({
|
|
|
8684
9237
|
] })
|
|
8685
9238
|
] }) });
|
|
8686
9239
|
};
|
|
8687
|
-
|
|
9240
|
+
|
|
9241
|
+
// src/components/CardMealCatalog/CardMealCatalog.constants.ts
|
|
9242
|
+
var DEFAULT_LABELS17 = {
|
|
9243
|
+
id: {
|
|
9244
|
+
addButton: "Tambah"
|
|
9245
|
+
},
|
|
9246
|
+
en: {
|
|
9247
|
+
addButton: "Add"
|
|
9248
|
+
}
|
|
9249
|
+
};
|
|
9250
|
+
var useStyles29 = reactComponents.makeStyles({
|
|
8688
9251
|
container: {
|
|
8689
9252
|
display: "flex",
|
|
8690
9253
|
flexDirection: "column",
|
|
@@ -8814,6 +9377,8 @@ var useStyles28 = reactComponents.makeStyles({
|
|
|
8814
9377
|
}
|
|
8815
9378
|
});
|
|
8816
9379
|
var CardMealCatalog = ({
|
|
9380
|
+
language = "id",
|
|
9381
|
+
labels,
|
|
8817
9382
|
banner,
|
|
8818
9383
|
disclaimerText,
|
|
8819
9384
|
categories,
|
|
@@ -8821,7 +9386,8 @@ var CardMealCatalog = ({
|
|
|
8821
9386
|
onUpdateQuantity,
|
|
8822
9387
|
className
|
|
8823
9388
|
}) => {
|
|
8824
|
-
const styles =
|
|
9389
|
+
const styles = useStyles29();
|
|
9390
|
+
const mergedLabels = { ...DEFAULT_LABELS17[language], ...labels };
|
|
8825
9391
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
|
|
8826
9392
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.banner, children: [
|
|
8827
9393
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.bannerOverlay }),
|
|
@@ -8844,11 +9410,25 @@ var CardMealCatalog = ({
|
|
|
8844
9410
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: disclaimerText })
|
|
8845
9411
|
] }),
|
|
8846
9412
|
categories.map((cat, index) => /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
8847
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9413
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9414
|
+
reactComponents.Title3,
|
|
9415
|
+
{
|
|
9416
|
+
className: styles.sectionTitle,
|
|
9417
|
+
style: { textTransform: "capitalize" },
|
|
9418
|
+
children: cat.category
|
|
9419
|
+
}
|
|
9420
|
+
),
|
|
8848
9421
|
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
8849
9422
|
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
8850
9423
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.grid, children: cat.list.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.productCard, children: [
|
|
8851
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9424
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9425
|
+
reactComponents.Image,
|
|
9426
|
+
{
|
|
9427
|
+
src: item.image,
|
|
9428
|
+
alt: item.name,
|
|
9429
|
+
className: styles.productImage
|
|
9430
|
+
}
|
|
9431
|
+
),
|
|
8852
9432
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.productInfo, children: [
|
|
8853
9433
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
8854
9434
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: item.name }),
|
|
@@ -8886,7 +9466,7 @@ var CardMealCatalog = ({
|
|
|
8886
9466
|
shape: "rounded",
|
|
8887
9467
|
className: styles.customAddButton,
|
|
8888
9468
|
onClick: () => onAdd(item),
|
|
8889
|
-
children:
|
|
9469
|
+
children: mergedLabels.addButton
|
|
8890
9470
|
}
|
|
8891
9471
|
)
|
|
8892
9472
|
] })
|
|
@@ -8895,7 +9475,13 @@ var CardMealCatalog = ({
|
|
|
8895
9475
|
] }, index))
|
|
8896
9476
|
] });
|
|
8897
9477
|
};
|
|
8898
|
-
|
|
9478
|
+
|
|
9479
|
+
// src/components/CardReview/CardReview.constants.ts
|
|
9480
|
+
var DEFAULT_LABELS18 = {
|
|
9481
|
+
id: {},
|
|
9482
|
+
en: {}
|
|
9483
|
+
};
|
|
9484
|
+
var useStyles30 = reactComponents.makeStyles({
|
|
8899
9485
|
card: {
|
|
8900
9486
|
padding: "1.5rem",
|
|
8901
9487
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
@@ -8938,13 +9524,16 @@ var useStyles29 = reactComponents.makeStyles({
|
|
|
8938
9524
|
}
|
|
8939
9525
|
});
|
|
8940
9526
|
var CardReview = ({
|
|
9527
|
+
language = "id",
|
|
9528
|
+
labels,
|
|
8941
9529
|
title,
|
|
8942
9530
|
items,
|
|
8943
9531
|
children,
|
|
8944
9532
|
className,
|
|
8945
9533
|
headerAction
|
|
8946
9534
|
}) => {
|
|
8947
|
-
const styles =
|
|
9535
|
+
const styles = useStyles30();
|
|
9536
|
+
({ ...DEFAULT_LABELS18[language], ...labels });
|
|
8948
9537
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: [
|
|
8949
9538
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
8950
9539
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: title }),
|
|
@@ -8953,19 +9542,55 @@ var CardReview = ({
|
|
|
8953
9542
|
] }),
|
|
8954
9543
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.contentContainer, children: [
|
|
8955
9544
|
items?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.row} ${item.className || ""}`, children: [
|
|
8956
|
-
typeof item.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
9545
|
+
typeof item.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
9546
|
+
reactComponents.Caption1,
|
|
9547
|
+
{
|
|
9548
|
+
className: `${styles.defaultLabel} ${item.labelClassName || ""}`,
|
|
9549
|
+
children: item.label
|
|
9550
|
+
}
|
|
9551
|
+
) : (
|
|
8957
9552
|
// Clone element to append className if it's a valid React element
|
|
8958
9553
|
React5__default.default.isValidElement(item.label) ? React5__default.default.cloneElement(item.label, {
|
|
8959
9554
|
className: `${styles.defaultLabel} ${item.labelClassName || ""}${item.label.props.className ? " " + item.label.props.className : ""}`
|
|
8960
|
-
}) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
9555
|
+
}) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
9556
|
+
"div",
|
|
9557
|
+
{
|
|
9558
|
+
className: `${styles.defaultLabel} ${item.labelClassName || ""}`,
|
|
9559
|
+
children: item.label
|
|
9560
|
+
}
|
|
9561
|
+
)
|
|
8961
9562
|
),
|
|
8962
|
-
typeof item.value === "string" || typeof item.value === "number" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
9563
|
+
typeof item.value === "string" || typeof item.value === "number" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
9564
|
+
reactComponents.Body1,
|
|
9565
|
+
{
|
|
9566
|
+
className: `${styles.defaultValue} ${item.valueClassName || ""}`,
|
|
9567
|
+
children: item.value
|
|
9568
|
+
}
|
|
9569
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
9570
|
+
"div",
|
|
9571
|
+
{
|
|
9572
|
+
className: `${styles.defaultValue} ${item.valueClassName || ""}`,
|
|
9573
|
+
children: item.value
|
|
9574
|
+
}
|
|
9575
|
+
)
|
|
8963
9576
|
] }, index)),
|
|
8964
9577
|
children
|
|
8965
9578
|
] })
|
|
8966
9579
|
] });
|
|
8967
9580
|
};
|
|
8968
|
-
|
|
9581
|
+
|
|
9582
|
+
// src/components/CardReviewPassenger/CardReviewPassenger.constants.ts
|
|
9583
|
+
var DEFAULT_LABELS19 = {
|
|
9584
|
+
id: {
|
|
9585
|
+
title: "Penumpang",
|
|
9586
|
+
idNumber: "Nomor ID"
|
|
9587
|
+
},
|
|
9588
|
+
en: {
|
|
9589
|
+
title: "Passenger",
|
|
9590
|
+
idNumber: "ID Number"
|
|
9591
|
+
}
|
|
9592
|
+
};
|
|
9593
|
+
var useStyles31 = reactComponents.makeStyles({
|
|
8969
9594
|
card: {
|
|
8970
9595
|
padding: "1.5rem",
|
|
8971
9596
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
@@ -9057,14 +9682,18 @@ var useStyles30 = reactComponents.makeStyles({
|
|
|
9057
9682
|
}
|
|
9058
9683
|
});
|
|
9059
9684
|
var CardReviewPassenger = ({
|
|
9060
|
-
|
|
9685
|
+
language = "id",
|
|
9686
|
+
labels,
|
|
9687
|
+
title,
|
|
9061
9688
|
passengers,
|
|
9062
9689
|
className
|
|
9063
9690
|
}) => {
|
|
9064
|
-
const styles =
|
|
9691
|
+
const styles = useStyles31();
|
|
9692
|
+
const mergedLabels = { ...DEFAULT_LABELS19[language], ...labels };
|
|
9693
|
+
const displayTitle = title || mergedLabels.title;
|
|
9065
9694
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: [
|
|
9066
9695
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
9067
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children:
|
|
9696
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: displayTitle }),
|
|
9068
9697
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.headerLine })
|
|
9069
9698
|
] }),
|
|
9070
9699
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.contentContainer, children: passengers.map((passenger, index) => {
|
|
@@ -9094,21 +9723,50 @@ var CardReviewPassenger = ({
|
|
|
9094
9723
|
] })
|
|
9095
9724
|
] }),
|
|
9096
9725
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.fields, children: [
|
|
9097
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label:
|
|
9098
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9099
|
-
reactComponents.Field,
|
|
9100
|
-
{
|
|
9101
|
-
label: passenger.ageLabel,
|
|
9102
|
-
size: "small",
|
|
9103
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.inputBox, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: passenger.ageValue }) })
|
|
9104
|
-
}
|
|
9105
|
-
)
|
|
9726
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.idNumber, size: "small", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.inputBox, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: passenger.identityNumber }) }) }),
|
|
9727
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: passenger.ageLabel, size: "small", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.inputBox, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: passenger.ageValue }) }) })
|
|
9106
9728
|
] })
|
|
9107
9729
|
] }, passenger.id || index);
|
|
9108
9730
|
}) })
|
|
9109
9731
|
] });
|
|
9110
9732
|
};
|
|
9111
|
-
|
|
9733
|
+
|
|
9734
|
+
// src/components/CardPriceDetails/CardPriceDetails.constants.ts
|
|
9735
|
+
var DEFAULT_LABELS20 = {
|
|
9736
|
+
id: {
|
|
9737
|
+
defaultTitle: "Rincian Harga",
|
|
9738
|
+
totalPayment: "Total Pembayaran",
|
|
9739
|
+
bookingTerms: [
|
|
9740
|
+
"Transaksi booking akan dibatalkan secara otomatis apabila Anda tidak menyelesaikan pembayaran pada periode waktu yang telah ditentukan.",
|
|
9741
|
+
"Setelah pembayaran berhasil, dokumen E-Tiket dapat di unduh melalui E-Mail atau menu \u201CPesanan Saya\u201D di Web Reservation atau Mobile Application Ferizy.",
|
|
9742
|
+
"Dokumen E-Tiket wajib ditunjukan saat melakukan proses Masuk Pelabuhan (Check-In)",
|
|
9743
|
+
"Anda sudah dapat Masuk Pelabuhan (Check-In) mulai dari 2 (dua) jam sebelum jadwal masukpelabuhan yang Anda pilih.",
|
|
9744
|
+
"Tiket akan hangus (expired) apabila Anda belum Masuk Pelabuhan (Check-In) hingga melewati batas waktu jadwal Masuk Pelabuhan yang Anda pilih."
|
|
9745
|
+
],
|
|
9746
|
+
agreementInfo: "Dengan menekan tombol \u201CLanjutkan Pembayaran\u201D, maka saya telah membaca dan menyetujui :",
|
|
9747
|
+
agreementLinkFerizy: "Syarat & Ketentuan",
|
|
9748
|
+
agreementCovidInfo: "Ketentuan persyaratan menyeberang sesuai dengan\xA0",
|
|
9749
|
+
agreementCovidLink: "Surat Edaran Satgas Covid-19 Nomor 23 Tahun 2022.",
|
|
9750
|
+
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."
|
|
9751
|
+
},
|
|
9752
|
+
en: {
|
|
9753
|
+
defaultTitle: "Price Details",
|
|
9754
|
+
totalPayment: "Total Payment",
|
|
9755
|
+
bookingTerms: [
|
|
9756
|
+
"Booking transaction will be canceled automatically if you do not complete the payment within the specified time period.",
|
|
9757
|
+
'Once payment is successful, E-Ticket document can be downloaded via E-Mail or the "My Orders" menu on Ferizy Web Reservation or Mobile Application.',
|
|
9758
|
+
"E-Ticket document must be shown during the Port Entrance (Check-In) process.",
|
|
9759
|
+
"You can enter the Port (Check-In) starting from 2 (two) hours before the port entrance schedule you selected.",
|
|
9760
|
+
"Ticket will expire if you have not entered the Port (Check-In) and have passed the Port entrance schedule time you selected."
|
|
9761
|
+
],
|
|
9762
|
+
agreementInfo: 'By clicking the "Continue Payment" button, I have read and agree to:',
|
|
9763
|
+
agreementLinkFerizy: "Ferizy Terms & Conditions",
|
|
9764
|
+
agreementCovidInfo: "Crossing requirement provisions in accordance with\xA0",
|
|
9765
|
+
agreementCovidLink: "Covid-19 Task Force Circular Letter Number 23 of 2022.",
|
|
9766
|
+
agreementFinal: "That if I am found not to meet the crossing requirement provisions in point 2 (two) above which results in me being late or unable to Check-In at the port on time, then I accept and agree to be processed in accordance with the Ferizy Terms & Conditions as mentioned in point 1 (one) above."
|
|
9767
|
+
}
|
|
9768
|
+
};
|
|
9769
|
+
var useStyles32 = reactComponents.makeStyles({
|
|
9112
9770
|
list: {
|
|
9113
9771
|
margin: 0,
|
|
9114
9772
|
padding: 0,
|
|
@@ -9126,37 +9784,34 @@ var useStyles31 = reactComponents.makeStyles({
|
|
|
9126
9784
|
}
|
|
9127
9785
|
}
|
|
9128
9786
|
});
|
|
9129
|
-
var PriceDetailsTerms = (
|
|
9130
|
-
|
|
9787
|
+
var PriceDetailsTerms = ({
|
|
9788
|
+
language = "id"
|
|
9789
|
+
}) => {
|
|
9790
|
+
const styles = useStyles32();
|
|
9131
9791
|
const linkColor = reactComponents.tokens.colorBrandBackground;
|
|
9132
|
-
const
|
|
9133
|
-
|
|
9134
|
-
"Setelah pembyaran berhasil, dikumen E-Tiket dapat di unduh melailui E-Mail atau menu \u201CPesanan Saya\u201D di Web Reservation atau Mobile Application Ferizy.",
|
|
9135
|
-
"Dokumen E-Tiket wajib ditunjukan saat melakukan proses Masuk Pelabuhan (Check-In)",
|
|
9136
|
-
"Anda sudah dapat Masuk Pelabuhan (Check-In) mulai dari 2 (dua) jam sebelum jadwal masukpelabuhan yang Anda pilih.",
|
|
9137
|
-
"Tiket akan hangus (expired) apabila Anda belum Masuk Pelabuhan (Check-In) hingga melewati batas waktu jadwal Masuk Pelabuhan yang Anda pilih."
|
|
9138
|
-
];
|
|
9792
|
+
const labels = DEFAULT_LABELS20[language];
|
|
9793
|
+
const bookingTerms = labels.bookingTerms;
|
|
9139
9794
|
const agreementTerms = [
|
|
9140
9795
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9141
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/terms-and-conditions", style: { color: linkColor }, children:
|
|
9796
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/terms-and-conditions", style: { color: linkColor }, children: labels.agreementLinkFerizy }),
|
|
9142
9797
|
"\xA0Ferizy."
|
|
9143
9798
|
] }),
|
|
9144
9799
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9145
|
-
|
|
9146
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/surat-edaran-satgas-covid-19", style: { color: linkColor }, children:
|
|
9800
|
+
labels.agreementCovidInfo,
|
|
9801
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/surat-edaran-satgas-covid-19", style: { color: linkColor }, children: labels.agreementCovidLink })
|
|
9147
9802
|
] }),
|
|
9148
|
-
|
|
9803
|
+
labels.agreementFinal
|
|
9149
9804
|
];
|
|
9150
9805
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9151
9806
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: styles.list, children: bookingTerms.map((term, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: styles.listItem, children: term }, index)) }) }),
|
|
9152
9807
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
9153
9808
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { children: [
|
|
9154
|
-
|
|
9809
|
+
labels.agreementInfo,
|
|
9155
9810
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: styles.list, children: agreementTerms.map((term, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: styles.listItem, children: term }, index)) })
|
|
9156
9811
|
] })
|
|
9157
9812
|
] });
|
|
9158
9813
|
};
|
|
9159
|
-
var
|
|
9814
|
+
var useStyles33 = reactComponents.makeStyles({
|
|
9160
9815
|
card: {
|
|
9161
9816
|
padding: "1.5rem",
|
|
9162
9817
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
@@ -9227,11 +9882,15 @@ var useStyles32 = reactComponents.makeStyles({
|
|
|
9227
9882
|
}
|
|
9228
9883
|
});
|
|
9229
9884
|
var CardPriceDetails = ({
|
|
9230
|
-
|
|
9885
|
+
language = "id",
|
|
9886
|
+
title,
|
|
9231
9887
|
sections,
|
|
9232
|
-
total
|
|
9888
|
+
total,
|
|
9889
|
+
labels
|
|
9233
9890
|
}) => {
|
|
9234
|
-
const styles =
|
|
9891
|
+
const styles = useStyles33();
|
|
9892
|
+
const mergedLabels = { ...DEFAULT_LABELS20[language], ...labels };
|
|
9893
|
+
const displayTitle = title || mergedLabels.defaultTitle;
|
|
9235
9894
|
const getVariantClass = (variant) => {
|
|
9236
9895
|
switch (variant) {
|
|
9237
9896
|
case "danger":
|
|
@@ -9261,7 +9920,7 @@ var CardPriceDetails = ({
|
|
|
9261
9920
|
};
|
|
9262
9921
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.card, children: [
|
|
9263
9922
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
9264
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children:
|
|
9923
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: displayTitle }),
|
|
9265
9924
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.headerLine })
|
|
9266
9925
|
] }),
|
|
9267
9926
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
|
|
@@ -9276,18 +9935,24 @@ var CardPriceDetails = ({
|
|
|
9276
9935
|
}),
|
|
9277
9936
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
9278
9937
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.totalRow, children: [
|
|
9279
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.totalLabel, children:
|
|
9938
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.totalLabel, children: mergedLabels.totalPayment }),
|
|
9280
9939
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle1, { className: styles.totalValue, children: [
|
|
9281
9940
|
"Rp. ",
|
|
9282
9941
|
total.toLocaleString("id-ID")
|
|
9283
9942
|
] })
|
|
9284
9943
|
] }),
|
|
9285
9944
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
9286
|
-
/* @__PURE__ */ jsxRuntime.jsx(PriceDetailsTerms, {})
|
|
9945
|
+
/* @__PURE__ */ jsxRuntime.jsx(PriceDetailsTerms, { language })
|
|
9287
9946
|
] })
|
|
9288
9947
|
] });
|
|
9289
9948
|
};
|
|
9290
|
-
|
|
9949
|
+
|
|
9950
|
+
// src/components/CardPaymentMethodList/CardPaymentMethodList.constants.ts
|
|
9951
|
+
var DEFAULT_LABELS21 = {
|
|
9952
|
+
id: {},
|
|
9953
|
+
en: {}
|
|
9954
|
+
};
|
|
9955
|
+
var useStyles34 = reactComponents.makeStyles({
|
|
9291
9956
|
container: {
|
|
9292
9957
|
display: "flex",
|
|
9293
9958
|
flexDirection: "column",
|
|
@@ -9332,17 +9997,23 @@ var useStyles33 = reactComponents.makeStyles({
|
|
|
9332
9997
|
card: {
|
|
9333
9998
|
position: "relative",
|
|
9334
9999
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
9335
|
-
...reactComponents.shorthands.padding(
|
|
10000
|
+
...reactComponents.shorthands.padding(
|
|
10001
|
+
reactComponents.tokens.spacingHorizontalXL,
|
|
10002
|
+
reactComponents.tokens.spacingVerticalXXL
|
|
10003
|
+
),
|
|
9336
10004
|
backgroundColor: reactComponents.tokens.colorNeutralBackground1,
|
|
9337
10005
|
zIndex: 3
|
|
9338
10006
|
}
|
|
9339
10007
|
});
|
|
9340
10008
|
var CardPaymentMethodList = ({
|
|
10009
|
+
language = "id",
|
|
10010
|
+
labels,
|
|
9341
10011
|
methods,
|
|
9342
10012
|
selectedValue,
|
|
9343
10013
|
onSelect
|
|
9344
10014
|
}) => {
|
|
9345
|
-
const styles =
|
|
10015
|
+
const styles = useStyles34();
|
|
10016
|
+
({ ...DEFAULT_LABELS21[language], ...labels });
|
|
9346
10017
|
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: [
|
|
9347
10018
|
index > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.dividerContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}) }),
|
|
9348
10019
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { multiple: true, collapsible: true, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.AccordionItem, { value: category.value, children: [
|
|
@@ -9387,7 +10058,17 @@ var CardPaymentMethodList = ({
|
|
|
9387
10058
|
] }) })
|
|
9388
10059
|
] }, category.value || index)) }) });
|
|
9389
10060
|
};
|
|
9390
|
-
|
|
10061
|
+
|
|
10062
|
+
// src/components/CardPaymentGuide/CardPaymentGuide.constants.ts
|
|
10063
|
+
var DEFAULT_LABELS22 = {
|
|
10064
|
+
id: {
|
|
10065
|
+
title: "Cara Pembayaran"
|
|
10066
|
+
},
|
|
10067
|
+
en: {
|
|
10068
|
+
title: "Payment Method"
|
|
10069
|
+
}
|
|
10070
|
+
};
|
|
10071
|
+
var useStyles35 = reactComponents.makeStyles({
|
|
9391
10072
|
container: {
|
|
9392
10073
|
display: "flex",
|
|
9393
10074
|
flexDirection: "column",
|
|
@@ -9418,20 +10099,49 @@ var useStyles34 = reactComponents.makeStyles({
|
|
|
9418
10099
|
}
|
|
9419
10100
|
});
|
|
9420
10101
|
var CardPaymentGuide = ({
|
|
9421
|
-
|
|
10102
|
+
language = "id",
|
|
10103
|
+
labels,
|
|
10104
|
+
title,
|
|
9422
10105
|
guides,
|
|
9423
10106
|
className
|
|
9424
10107
|
}) => {
|
|
9425
|
-
const styles =
|
|
10108
|
+
const styles = useStyles35();
|
|
10109
|
+
const mergedLabels = { ...DEFAULT_LABELS22[language], ...labels };
|
|
10110
|
+
const displayTitle = title || mergedLabels.title;
|
|
9426
10111
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
|
|
9427
|
-
title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.titleContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.title, children:
|
|
9428
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { collapsible: true, multiple: true, children: guides.map((guide, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9429
|
-
|
|
9430
|
-
|
|
9431
|
-
|
|
10112
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.titleContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.title, children: displayTitle }) }),
|
|
10113
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { collapsible: true, multiple: true, children: guides.map((guide, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10114
|
+
reactComponents.AccordionItem,
|
|
10115
|
+
{
|
|
10116
|
+
value: guide.value || String(index),
|
|
10117
|
+
children: [
|
|
10118
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionHeader, { expandIconPosition: "end", children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: guide.title }) }),
|
|
10119
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionPanel, { children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: styles.list, children: guide.steps.map((step, stepIndex) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: styles.listItem, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: step }) }, stepIndex)) }) })
|
|
10120
|
+
]
|
|
10121
|
+
},
|
|
10122
|
+
guide.value || index
|
|
10123
|
+
)) })
|
|
9432
10124
|
] });
|
|
9433
10125
|
};
|
|
9434
|
-
|
|
10126
|
+
|
|
10127
|
+
// src/components/CardPaymentInfo/CardPaymentInfo.constants.ts
|
|
10128
|
+
var DEFAULT_LABELS23 = {
|
|
10129
|
+
id: {
|
|
10130
|
+
expiryPrefix: "Kode virtual akun berlaku sampai",
|
|
10131
|
+
copyCodeButton: "Salin Kode",
|
|
10132
|
+
totalPayment: "Total Pembayaran",
|
|
10133
|
+
checkStatusInfo: "Klik tombol dibawah ini jika sudah melakukan pembayaran",
|
|
10134
|
+
checkStatusButton: "Cek Status Pembayaran"
|
|
10135
|
+
},
|
|
10136
|
+
en: {
|
|
10137
|
+
expiryPrefix: "Virtual account code valid until",
|
|
10138
|
+
copyCodeButton: "Copy Code",
|
|
10139
|
+
totalPayment: "Total Payment",
|
|
10140
|
+
checkStatusInfo: "Click the button below if you have made the payment",
|
|
10141
|
+
checkStatusButton: "Check Payment Status"
|
|
10142
|
+
}
|
|
10143
|
+
};
|
|
10144
|
+
var useStyles36 = reactComponents.makeStyles({
|
|
9435
10145
|
container: {
|
|
9436
10146
|
display: "flex",
|
|
9437
10147
|
flexDirection: "column",
|
|
@@ -9503,6 +10213,8 @@ var useStyles35 = reactComponents.makeStyles({
|
|
|
9503
10213
|
}
|
|
9504
10214
|
});
|
|
9505
10215
|
var CardPaymentInfo = ({
|
|
10216
|
+
language = "id",
|
|
10217
|
+
labels,
|
|
9506
10218
|
expiryDate,
|
|
9507
10219
|
bank,
|
|
9508
10220
|
virtualAccount,
|
|
@@ -9511,10 +10223,11 @@ var CardPaymentInfo = ({
|
|
|
9511
10223
|
onCopyVA,
|
|
9512
10224
|
onCheckStatus
|
|
9513
10225
|
}) => {
|
|
9514
|
-
const styles =
|
|
10226
|
+
const styles = useStyles36();
|
|
10227
|
+
const mergedLabels = { ...DEFAULT_LABELS23[language], ...labels };
|
|
9515
10228
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
|
|
9516
10229
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerRow, children: [
|
|
9517
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children:
|
|
10230
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.expiryPrefix }),
|
|
9518
10231
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title2, { className: styles.expiryTitle, children: expiryDate })
|
|
9519
10232
|
] }),
|
|
9520
10233
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.infoCard, children: [
|
|
@@ -9532,7 +10245,7 @@ var CardPaymentInfo = ({
|
|
|
9532
10245
|
size: "large",
|
|
9533
10246
|
shape: "circular",
|
|
9534
10247
|
onClick: onCopyVA,
|
|
9535
|
-
children:
|
|
10248
|
+
children: mergedLabels.copyCodeButton
|
|
9536
10249
|
}
|
|
9537
10250
|
)
|
|
9538
10251
|
] })
|
|
@@ -9541,7 +10254,7 @@ var CardPaymentInfo = ({
|
|
|
9541
10254
|
reactComponents.Field,
|
|
9542
10255
|
{
|
|
9543
10256
|
size: "large",
|
|
9544
|
-
label: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { style: { color: reactComponents.tokens.colorNeutralForeground1 }, children:
|
|
10257
|
+
label: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { style: { color: reactComponents.tokens.colorNeutralForeground1 }, children: mergedLabels.totalPayment }),
|
|
9545
10258
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9546
10259
|
reactComponents.Input,
|
|
9547
10260
|
{
|
|
@@ -9554,7 +10267,7 @@ var CardPaymentInfo = ({
|
|
|
9554
10267
|
)
|
|
9555
10268
|
] }),
|
|
9556
10269
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
9557
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: reactComponents.tokens.spacingVerticalM }, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { style: { color: reactComponents.tokens.colorNeutralForeground2 }, children:
|
|
10270
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: reactComponents.tokens.spacingVerticalM }, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { style: { color: reactComponents.tokens.colorNeutralForeground2 }, children: mergedLabels.checkStatusInfo }) }),
|
|
9558
10271
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9559
10272
|
reactComponents.Button,
|
|
9560
10273
|
{
|
|
@@ -9563,14 +10276,44 @@ var CardPaymentInfo = ({
|
|
|
9563
10276
|
shape: "circular",
|
|
9564
10277
|
className: styles.checkStatusButton,
|
|
9565
10278
|
onClick: onCheckStatus,
|
|
9566
|
-
children:
|
|
10279
|
+
children: mergedLabels.checkStatusButton
|
|
9567
10280
|
}
|
|
9568
10281
|
)
|
|
9569
10282
|
] }),
|
|
9570
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardPaymentGuide, { guides })
|
|
10283
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardPaymentGuide, { guides, language })
|
|
9571
10284
|
] }) });
|
|
9572
10285
|
};
|
|
9573
|
-
|
|
10286
|
+
|
|
10287
|
+
// src/components/CardStatusOrder/CardStatusOrder.constants.ts
|
|
10288
|
+
var DEFAULT_LABELS24 = {
|
|
10289
|
+
id: {
|
|
10290
|
+
detailTitle: "Detail Pemesanan",
|
|
10291
|
+
statusLabel: "Status",
|
|
10292
|
+
bookingCodeLabel: "Kode Booking",
|
|
10293
|
+
scheduleLabel: "Jadwal Masuk Pelabuhan",
|
|
10294
|
+
routeLabel: "Rute",
|
|
10295
|
+
userTypeLabel: "Jenis Pengguna Jasa",
|
|
10296
|
+
serviceLabel: "Layanan",
|
|
10297
|
+
viewTicketButton: "Lihat E-Tiket",
|
|
10298
|
+
defaultStatus: "Sudah Dibayar",
|
|
10299
|
+
defaultTitle: "Pembayaran berhasil",
|
|
10300
|
+
defaultDescription: "Tiket Anda aktif dan siap digunakan."
|
|
10301
|
+
},
|
|
10302
|
+
en: {
|
|
10303
|
+
detailTitle: "Booking Details",
|
|
10304
|
+
statusLabel: "Status",
|
|
10305
|
+
bookingCodeLabel: "Booking Code",
|
|
10306
|
+
scheduleLabel: "Port Entrance Schedule",
|
|
10307
|
+
routeLabel: "Route",
|
|
10308
|
+
userTypeLabel: "User Service Type",
|
|
10309
|
+
serviceLabel: "Service",
|
|
10310
|
+
viewTicketButton: "View E-Ticket",
|
|
10311
|
+
defaultStatus: "Paid",
|
|
10312
|
+
defaultTitle: "Payment successful",
|
|
10313
|
+
defaultDescription: "Your ticket is active and ready to use."
|
|
10314
|
+
}
|
|
10315
|
+
};
|
|
10316
|
+
var useStyles37 = reactComponents.makeStyles({
|
|
9574
10317
|
activeCard: {
|
|
9575
10318
|
width: "100%",
|
|
9576
10319
|
// padding: tokens.spacingHorizontalNone, // default
|
|
@@ -9617,6 +10360,8 @@ var useStyles36 = reactComponents.makeStyles({
|
|
|
9617
10360
|
}
|
|
9618
10361
|
});
|
|
9619
10362
|
var CardStatusOrder = ({
|
|
10363
|
+
language = "id",
|
|
10364
|
+
labels,
|
|
9620
10365
|
bookingCode,
|
|
9621
10366
|
departureDate,
|
|
9622
10367
|
departureTime,
|
|
@@ -9629,16 +10374,20 @@ var CardStatusOrder = ({
|
|
|
9629
10374
|
serviceType,
|
|
9630
10375
|
vehicleNumber,
|
|
9631
10376
|
shipType,
|
|
9632
|
-
statusLabel
|
|
10377
|
+
statusLabel,
|
|
9633
10378
|
statusIcon,
|
|
9634
10379
|
statusColor = "success",
|
|
9635
10380
|
illustrationUrl = "/assets/images/illustrations/ticket.svg",
|
|
9636
|
-
title
|
|
9637
|
-
description
|
|
10381
|
+
title,
|
|
10382
|
+
description,
|
|
9638
10383
|
onClickViewTicket,
|
|
9639
10384
|
className
|
|
9640
10385
|
}) => {
|
|
9641
|
-
const styles =
|
|
10386
|
+
const styles = useStyles37();
|
|
10387
|
+
const mergedLabels = { ...DEFAULT_LABELS24[language], ...labels };
|
|
10388
|
+
const displayStatus = statusLabel || mergedLabels.defaultStatus;
|
|
10389
|
+
const displayTitle = title || mergedLabels.defaultTitle;
|
|
10390
|
+
const displayDescription = description || mergedLabels.defaultDescription;
|
|
9642
10391
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.activeCard} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.colGap, children: [
|
|
9643
10392
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { direction: "column", nogutter: true, children: [
|
|
9644
10393
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -9651,8 +10400,8 @@ var CardStatusOrder = ({
|
|
|
9651
10400
|
}
|
|
9652
10401
|
) }),
|
|
9653
10402
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { direction: "column", justify: "center", align: "center", nogutter: true, children: [
|
|
9654
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children:
|
|
9655
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children:
|
|
10403
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: displayTitle }) }),
|
|
10404
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: displayDescription }) })
|
|
9656
10405
|
] }) })
|
|
9657
10406
|
] }) }),
|
|
9658
10407
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.cardInfo, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -9665,11 +10414,11 @@ var CardStatusOrder = ({
|
|
|
9665
10414
|
className: styles.rowGap,
|
|
9666
10415
|
children: [
|
|
9667
10416
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.titleDivider, children: [
|
|
9668
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children:
|
|
10417
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.detailTitle }),
|
|
9669
10418
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { style: { width: 0 } })
|
|
9670
10419
|
] }) }),
|
|
9671
10420
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { justify: "center", align: "center", nogutter: true, children: [
|
|
9672
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children:
|
|
10421
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.statusLabel }) }),
|
|
9673
10422
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9674
10423
|
reactComponents.Badge,
|
|
9675
10424
|
{
|
|
@@ -9678,17 +10427,17 @@ var CardStatusOrder = ({
|
|
|
9678
10427
|
appearance: "filled",
|
|
9679
10428
|
shape: "rounded",
|
|
9680
10429
|
icon: statusIcon || /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:checkmark-circle-20-regular" }),
|
|
9681
|
-
children:
|
|
10430
|
+
children: displayStatus
|
|
9682
10431
|
}
|
|
9683
10432
|
) })
|
|
9684
10433
|
] }) }),
|
|
9685
10434
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { direction: "column", nogutter: true, className: styles.gapdetail, children: [
|
|
9686
10435
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.itemDetail, children: [
|
|
9687
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children:
|
|
10436
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children: mergedLabels.bookingCodeLabel }),
|
|
9688
10437
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: bookingCode })
|
|
9689
10438
|
] }) }),
|
|
9690
10439
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.itemDetail, children: [
|
|
9691
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children:
|
|
10440
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children: mergedLabels.scheduleLabel }),
|
|
9692
10441
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Caption1, { children: [
|
|
9693
10442
|
departureDate,
|
|
9694
10443
|
", ",
|
|
@@ -9696,7 +10445,7 @@ var CardStatusOrder = ({
|
|
|
9696
10445
|
] })
|
|
9697
10446
|
] }) }),
|
|
9698
10447
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.itemDetail, children: [
|
|
9699
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children:
|
|
10448
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children: mergedLabels.routeLabel }),
|
|
9700
10449
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Caption1, { children: [
|
|
9701
10450
|
origin,
|
|
9702
10451
|
" ",
|
|
@@ -9706,11 +10455,11 @@ var CardStatusOrder = ({
|
|
|
9706
10455
|
] })
|
|
9707
10456
|
] }) }),
|
|
9708
10457
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.itemDetail, children: [
|
|
9709
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children:
|
|
10458
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children: mergedLabels.userTypeLabel }),
|
|
9710
10459
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: vehicleClass })
|
|
9711
10460
|
] }) }),
|
|
9712
10461
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.itemDetail, children: [
|
|
9713
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children:
|
|
10462
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1Stronger, { children: mergedLabels.serviceLabel }),
|
|
9714
10463
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { children: shipType || serviceType })
|
|
9715
10464
|
] }) })
|
|
9716
10465
|
] }) }),
|
|
@@ -9722,7 +10471,7 @@ var CardStatusOrder = ({
|
|
|
9722
10471
|
style: { width: "100%" },
|
|
9723
10472
|
shape: "circular",
|
|
9724
10473
|
onClick: onClickViewTicket,
|
|
9725
|
-
children:
|
|
10474
|
+
children: mergedLabels.viewTicketButton
|
|
9726
10475
|
}
|
|
9727
10476
|
) })
|
|
9728
10477
|
]
|
|
@@ -9730,7 +10479,7 @@ var CardStatusOrder = ({
|
|
|
9730
10479
|
) }) })
|
|
9731
10480
|
] }) });
|
|
9732
10481
|
};
|
|
9733
|
-
var
|
|
10482
|
+
var useStyles38 = reactComponents.makeStyles({
|
|
9734
10483
|
surface: {
|
|
9735
10484
|
width: "680px",
|
|
9736
10485
|
maxWidth: "90vw",
|
|
@@ -9852,7 +10601,7 @@ var ModalPriceDetail = ({
|
|
|
9852
10601
|
grandTotal,
|
|
9853
10602
|
...props
|
|
9854
10603
|
}) => {
|
|
9855
|
-
const styles =
|
|
10604
|
+
const styles = useStyles38();
|
|
9856
10605
|
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Dialog, { open: isOpen, onOpenChange: (_, data) => onOpenChange(data.open), ...props, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogSurface, { className: styles.surface, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogBody, { children: [
|
|
9857
10606
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9858
10607
|
reactComponents.DialogTitle,
|
|
@@ -9943,13 +10692,23 @@ var ModalPriceDetail = ({
|
|
|
9943
10692
|
] }) }) })
|
|
9944
10693
|
] }) }) });
|
|
9945
10694
|
};
|
|
9946
|
-
|
|
10695
|
+
|
|
10696
|
+
// src/components/CardProfileMenu/CardProfileMenu.constants.ts
|
|
10697
|
+
var DEFAULT_LABELS25 = {
|
|
10698
|
+
id: {},
|
|
10699
|
+
en: {}
|
|
10700
|
+
};
|
|
10701
|
+
var useStyles39 = reactComponents.makeStyles({
|
|
9947
10702
|
container: {
|
|
9948
10703
|
display: "flex",
|
|
9949
10704
|
flexDirection: "column",
|
|
9950
10705
|
backgroundColor: reactComponents.tokens.colorNeutralBackground1,
|
|
9951
10706
|
...reactComponents.shorthands.padding(reactComponents.tokens.spacingVerticalL),
|
|
9952
|
-
...reactComponents.shorthands.border(
|
|
10707
|
+
...reactComponents.shorthands.border(
|
|
10708
|
+
reactComponents.tokens.strokeWidthThin,
|
|
10709
|
+
"solid",
|
|
10710
|
+
reactComponents.tokens.colorNeutralStroke1
|
|
10711
|
+
),
|
|
9953
10712
|
borderRadius: reactComponents.tokens.borderRadiusXLarge,
|
|
9954
10713
|
rowGap: reactComponents.tokens.spacingHorizontalXXL,
|
|
9955
10714
|
width: "100%"
|
|
@@ -9991,11 +10750,14 @@ var useStyles38 = reactComponents.makeStyles({
|
|
|
9991
10750
|
}
|
|
9992
10751
|
});
|
|
9993
10752
|
var CardProfileMenu = ({
|
|
10753
|
+
language = "id",
|
|
10754
|
+
labels,
|
|
9994
10755
|
sections,
|
|
9995
10756
|
selectedValue,
|
|
9996
10757
|
onTabSelect
|
|
9997
10758
|
}) => {
|
|
9998
|
-
const styles =
|
|
10759
|
+
const styles = useStyles39();
|
|
10760
|
+
({ ...DEFAULT_LABELS25[language], ...labels });
|
|
9999
10761
|
const handleTabSelect = (_, data) => {
|
|
10000
10762
|
onTabSelect(data.value);
|
|
10001
10763
|
};
|
|
@@ -10045,9 +10807,9 @@ exports.CardServiceMenu = CardServiceMenu;
|
|
|
10045
10807
|
exports.CardStatusOrder = CardStatusOrder;
|
|
10046
10808
|
exports.CardTicket = CardTicket;
|
|
10047
10809
|
exports.CardTicketSearch = CardTicketSearch;
|
|
10048
|
-
exports.CardTicketSearchDefaultLabels =
|
|
10810
|
+
exports.CardTicketSearchDefaultLabels = DEFAULT_LABELS3;
|
|
10049
10811
|
exports.CardTicketSearchSummary = CardTicketSearchSummary;
|
|
10050
|
-
exports.CardTicketSearchSummaryDefaultLabels =
|
|
10812
|
+
exports.CardTicketSearchSummaryDefaultLabels = DEFAULT_LABELS4;
|
|
10051
10813
|
exports.CardVehicleDetail = CardVehicleDetail;
|
|
10052
10814
|
exports.CardVehicleOwnerForm = CardVehicleOwnerForm;
|
|
10053
10815
|
exports.CarouselWithCustomNav = CarouselWithCustomNav;
|
|
@@ -10061,11 +10823,11 @@ exports.DEFAULT_SORT_OPTIONS = DEFAULT_SORT_OPTIONS;
|
|
|
10061
10823
|
exports.DEFAULT_TIME_SLOTS = DEFAULT_TIME_SLOTS;
|
|
10062
10824
|
exports.DEFAULT_VEHICLE_ICONS = DEFAULT_VEHICLE_ICONS;
|
|
10063
10825
|
exports.DateFilter = DateFilter;
|
|
10064
|
-
exports.DateFilterDefaultLabels =
|
|
10826
|
+
exports.DateFilterDefaultLabels = DEFAULT_LABELS10;
|
|
10065
10827
|
exports.InputDynamic = InputDynamic_default;
|
|
10066
10828
|
exports.MODAL_PRESETS = MODAL_PRESETS;
|
|
10067
10829
|
exports.ModalFilterTicket = ModalFilterTicket;
|
|
10068
|
-
exports.ModalFilterTicketDefaultLabels =
|
|
10830
|
+
exports.ModalFilterTicketDefaultLabels = DEFAULT_LABELS9;
|
|
10069
10831
|
exports.ModalIllustration = ModalIllustration;
|
|
10070
10832
|
exports.ModalListPassenger = ModalListPassenger;
|
|
10071
10833
|
exports.ModalPassengerForm = ModalPassengerForm;
|