@asdp/ferryui 0.1.22-dev.8633 → 0.1.22-dev.8649
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 +346 -120
- package/dist/index.d.ts +346 -120
- package/dist/index.js +1702 -1069
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1699 -1066
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -21,6 +21,77 @@ var PhoneInputComponent__default = /*#__PURE__*/_interopDefault(PhoneInputCompon
|
|
|
21
21
|
var Select__default = /*#__PURE__*/_interopDefault(Select);
|
|
22
22
|
var moment__default = /*#__PURE__*/_interopDefault(moment);
|
|
23
23
|
|
|
24
|
+
// src/components/ModalIllustration/ModalIllustration.constants.ts
|
|
25
|
+
var DEFAULT_LABELS = {
|
|
26
|
+
id: {
|
|
27
|
+
defaultImageAlt: "Ilustrasi",
|
|
28
|
+
defaultTitle: "Informasi",
|
|
29
|
+
defaultButtonText: "Tutup"
|
|
30
|
+
},
|
|
31
|
+
en: {
|
|
32
|
+
defaultImageAlt: "Illustration",
|
|
33
|
+
defaultTitle: "Information",
|
|
34
|
+
defaultButtonText: "Close"
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var PRESET_CONTENT = {
|
|
38
|
+
RADIUS: {
|
|
39
|
+
id: {
|
|
40
|
+
title: "Anda berada di luar area pemesanan",
|
|
41
|
+
message: "Pemesanan tiket tidak dapat dilakukan dari lokasi Anda saat ini. Fitur pembatasan wilayah sedang aktif untuk mencegah pemesanan tidak sah.",
|
|
42
|
+
imageSrc: "/assets/images/illustrations/radius.svg",
|
|
43
|
+
imageAlt: "Radius Limitation Illustration"
|
|
44
|
+
},
|
|
45
|
+
en: {
|
|
46
|
+
title: "You are outside the booking area",
|
|
47
|
+
message: "Ticket booking cannot be done from your current location. Location restriction feature is active to prevent unauthorized booking.",
|
|
48
|
+
imageSrc: "/assets/images/illustrations/radius.svg",
|
|
49
|
+
imageAlt: "Radius Limitation Illustration"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
SESSION_EXPIRED: {
|
|
53
|
+
id: {
|
|
54
|
+
title: "Sesi anda telah berakhir",
|
|
55
|
+
message: "Waktu sesi Anda telah habis untuk alasan keamanan. Silakan klik tombol dibawah untuk masuk kembali.",
|
|
56
|
+
imageSrc: "/assets/images/illustrations/sessionexp.svg",
|
|
57
|
+
imageAlt: "Session Expired Illustration"
|
|
58
|
+
},
|
|
59
|
+
en: {
|
|
60
|
+
title: "Your session has expired",
|
|
61
|
+
message: "Your session time has run out for security reasons. Please click the button below to sign in again.",
|
|
62
|
+
imageSrc: "/assets/images/illustrations/sessionexp.svg",
|
|
63
|
+
imageAlt: "Session Expired Illustration"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
PURCHASE_PERIOD_EXPIRED: {
|
|
67
|
+
id: {
|
|
68
|
+
title: "Waktu pembelian telah berakhir",
|
|
69
|
+
message: "Pemesanan tiket ditutup 1 jam sebelum jadwal keberangkatan. Silakan pilih jadwal keberangkatan lain yang masih tersedia.",
|
|
70
|
+
imageSrc: "/assets/images/illustrations/pay.svg",
|
|
71
|
+
imageAlt: "Purchase Period Expired Illustration"
|
|
72
|
+
},
|
|
73
|
+
en: {
|
|
74
|
+
title: "Purchase period has expired",
|
|
75
|
+
message: "Ticket booking closes 1 hour before departure schedule. Please choose another available departure schedule.",
|
|
76
|
+
imageSrc: "/assets/images/illustrations/pay.svg",
|
|
77
|
+
imageAlt: "Purchase Period Expired Illustration"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
TRANSACTION_LIMIT: {
|
|
81
|
+
id: {
|
|
82
|
+
title: "Anda mencapai batas transaksi tertunda",
|
|
83
|
+
message: "Anda telah mencapai batas transaksi tertunda. Pemesanan dapat dilakukan kembali setelah transaksi sebelumnya diselesaikan.",
|
|
84
|
+
imageSrc: "/assets/images/illustrations/mobile-pay.svg",
|
|
85
|
+
imageAlt: "Transaction Limit Illustration"
|
|
86
|
+
},
|
|
87
|
+
en: {
|
|
88
|
+
title: "Pending transaction limit reached",
|
|
89
|
+
message: "You have reached the pending transaction limit. Booking can be done again after the previous transaction is completed.",
|
|
90
|
+
imageSrc: "/assets/images/illustrations/mobile-pay.svg",
|
|
91
|
+
imageAlt: "Transaction Limit Illustration"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
24
95
|
var useStyles = reactComponents.makeStyles({
|
|
25
96
|
dialogSurface: {
|
|
26
97
|
maxWidth: "600px",
|
|
@@ -51,96 +122,82 @@ var ModalIllustration = ({
|
|
|
51
122
|
title,
|
|
52
123
|
message,
|
|
53
124
|
imageSrc = "/assets/images/illustrations/radius.svg",
|
|
54
|
-
imageAlt
|
|
125
|
+
imageAlt,
|
|
55
126
|
imageWidth = 361,
|
|
56
127
|
imageHeight = 203,
|
|
57
128
|
primaryButton,
|
|
58
|
-
secondaryButton
|
|
129
|
+
secondaryButton,
|
|
130
|
+
language = "id",
|
|
131
|
+
labels
|
|
59
132
|
}) => {
|
|
60
133
|
const styles = useStyles();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
134
|
+
const mergedLabels = { ...DEFAULT_LABELS[language], ...labels };
|
|
135
|
+
const displayImageAlt = imageAlt || mergedLabels.defaultImageAlt;
|
|
136
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
137
|
+
reactComponents.Dialog,
|
|
138
|
+
{
|
|
139
|
+
open,
|
|
140
|
+
onOpenChange: (_, data) => !data.open && onClose(),
|
|
141
|
+
modalType: "modal",
|
|
142
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogSurface, { className: styles.dialogSurface, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogBody, { children: [
|
|
143
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogTitle, { children: title }),
|
|
144
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogContent, { children: [
|
|
145
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.iconContainer, children: [
|
|
146
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
147
|
+
"img",
|
|
148
|
+
{
|
|
149
|
+
src: imageSrc,
|
|
150
|
+
alt: displayImageAlt,
|
|
151
|
+
width: imageWidth,
|
|
152
|
+
height: imageHeight,
|
|
153
|
+
className: styles.image
|
|
154
|
+
}
|
|
155
|
+
),
|
|
156
|
+
typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { style: { textAlign: "center" }, children: message }) : message
|
|
157
|
+
] }),
|
|
158
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.buttonContainer, children: [
|
|
159
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
160
|
+
reactComponents.Button,
|
|
161
|
+
{
|
|
162
|
+
style: { width: "100%" },
|
|
163
|
+
type: "button",
|
|
164
|
+
appearance: primaryButton.appearance || "primary",
|
|
165
|
+
onClick: primaryButton.onClick,
|
|
166
|
+
children: primaryButton.text
|
|
167
|
+
}
|
|
168
|
+
),
|
|
169
|
+
secondaryButton && /* @__PURE__ */ jsxRuntime.jsx(
|
|
170
|
+
reactComponents.Button,
|
|
171
|
+
{
|
|
172
|
+
style: { width: "100%" },
|
|
173
|
+
type: "button",
|
|
174
|
+
appearance: secondaryButton.appearance || "outline",
|
|
175
|
+
onClick: secondaryButton.onClick,
|
|
176
|
+
children: secondaryButton.text
|
|
177
|
+
}
|
|
178
|
+
)
|
|
179
|
+
] })
|
|
180
|
+
] })
|
|
181
|
+
] }) })
|
|
182
|
+
}
|
|
183
|
+
);
|
|
101
184
|
};
|
|
102
185
|
|
|
103
186
|
// src/components/ModalIllustration/presets.ts
|
|
104
|
-
var
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
imageAlt: "Radius Limitation Illustration"
|
|
113
|
-
},
|
|
114
|
-
/**
|
|
115
|
-
* Modal for expired session
|
|
116
|
-
*/
|
|
117
|
-
SESSION_EXPIRED: {
|
|
118
|
-
title: "Sesi anda telah berakhir",
|
|
119
|
-
message: "Waktu sesi Anda telah habis untuk alasan keamanan. Silakan klik tombol dibawah untuk masuk kembali.",
|
|
120
|
-
imageSrc: "/assets/images/illustrations/sessionexp.svg",
|
|
121
|
-
imageAlt: "Session Expired Illustration"
|
|
122
|
-
},
|
|
123
|
-
/**
|
|
124
|
-
* Modal for purchase period expired
|
|
125
|
-
*/
|
|
126
|
-
PURCHASE_PERIOD_EXPIRED: {
|
|
127
|
-
title: "Waktu pembelian telah berakhir",
|
|
128
|
-
message: "Pemesanan tiket ditutup 1 jam sebelum jadwal keberangkatan. Silakan pilih jadwal keberangkatan lain yang masih tersedia.",
|
|
129
|
-
imageSrc: "/assets/images/illustrations/pay.svg",
|
|
130
|
-
imageAlt: "Purchase Period Expired Illustration"
|
|
131
|
-
},
|
|
132
|
-
/**
|
|
133
|
-
* Modal for transaction limit reached
|
|
134
|
-
*/
|
|
135
|
-
TRANSACTION_LIMIT: {
|
|
136
|
-
title: "Anda mencapai batas transaksi tertunda",
|
|
137
|
-
message: "Anda telah mencapai batas transaksi tertunda. Pemesanan dapat dilakukan kembali setelah transaksi sebelumnya diselesaikan.",
|
|
138
|
-
imageSrc: "/assets/images/illustrations/mobile-pay.svg",
|
|
139
|
-
imageAlt: "Transaction Limit Illustration"
|
|
140
|
-
}
|
|
187
|
+
var getModalPreset = (presetKey, language = "id") => {
|
|
188
|
+
const content = PRESET_CONTENT[presetKey][language];
|
|
189
|
+
return {
|
|
190
|
+
title: content.title,
|
|
191
|
+
message: content.message,
|
|
192
|
+
imageSrc: content.imageSrc,
|
|
193
|
+
imageAlt: content.imageAlt
|
|
194
|
+
};
|
|
141
195
|
};
|
|
142
|
-
var
|
|
143
|
-
|
|
196
|
+
var MODAL_PRESETS = {
|
|
197
|
+
RADIUS: getModalPreset("RADIUS", "id"),
|
|
198
|
+
SESSION_EXPIRED: getModalPreset("SESSION_EXPIRED", "id"),
|
|
199
|
+
PURCHASE_PERIOD_EXPIRED: getModalPreset("PURCHASE_PERIOD_EXPIRED", "id"),
|
|
200
|
+
TRANSACTION_LIMIT: getModalPreset("TRANSACTION_LIMIT", "id")
|
|
144
201
|
};
|
|
145
202
|
var useStyles2 = reactComponents.makeStyles({
|
|
146
203
|
carousel: {},
|
|
@@ -263,7 +320,7 @@ var CarouselWithCustomNav = ({
|
|
|
263
320
|
};
|
|
264
321
|
|
|
265
322
|
// src/components/CardPromo/CardPromo.constants.ts
|
|
266
|
-
var
|
|
323
|
+
var DEFAULT_LABELS2 = {
|
|
267
324
|
id: {
|
|
268
325
|
defaultImageAlt: "Gambar Promo",
|
|
269
326
|
defaultButtonText: "Lihat Detail"
|
|
@@ -374,7 +431,7 @@ var CardPromo = ({
|
|
|
374
431
|
labels
|
|
375
432
|
}) => {
|
|
376
433
|
const classes = useStyles3();
|
|
377
|
-
const mergedLabels = { ...
|
|
434
|
+
const mergedLabels = { ...DEFAULT_LABELS2[language], ...labels };
|
|
378
435
|
const displayImageAlt = imageAlt || mergedLabels.defaultImageAlt;
|
|
379
436
|
const displayButtonText = buttonText || mergedLabels.defaultButtonText;
|
|
380
437
|
const ariaLabel = totalCards ? `Card ${index + 1} of ${totalCards}` : `Promo card ${index + 1}`;
|
|
@@ -473,6 +530,20 @@ var CardPromo = ({
|
|
|
473
530
|
}
|
|
474
531
|
);
|
|
475
532
|
};
|
|
533
|
+
|
|
534
|
+
// src/components/CardBanner/CardBanner.constants.ts
|
|
535
|
+
var DEFAULT_LABELS3 = {
|
|
536
|
+
id: {
|
|
537
|
+
bannerAriaLabel: "Banner {index} dari {total}",
|
|
538
|
+
bannerAriaLabelSingle: "Banner {index}",
|
|
539
|
+
loadingBanner: "Memuat banner"
|
|
540
|
+
},
|
|
541
|
+
en: {
|
|
542
|
+
bannerAriaLabel: "Banner {index} of {total}",
|
|
543
|
+
bannerAriaLabelSingle: "Banner {index}",
|
|
544
|
+
loadingBanner: "Loading banner"
|
|
545
|
+
}
|
|
546
|
+
};
|
|
476
547
|
var useStyles4 = reactComponents.makeStyles({
|
|
477
548
|
bannerCard: {
|
|
478
549
|
overflow: "hidden",
|
|
@@ -500,41 +571,50 @@ var CardBanner = ({
|
|
|
500
571
|
index = 0,
|
|
501
572
|
totalBanners,
|
|
502
573
|
onClick,
|
|
503
|
-
isLoading = false
|
|
574
|
+
isLoading = false,
|
|
575
|
+
language = "id",
|
|
576
|
+
labels
|
|
504
577
|
}) => {
|
|
505
578
|
const classes = useStyles4();
|
|
506
|
-
const
|
|
579
|
+
const mergedLabels = {
|
|
580
|
+
...DEFAULT_LABELS3[language],
|
|
581
|
+
...labels
|
|
582
|
+
};
|
|
583
|
+
const ariaLabel = totalBanners ? mergedLabels.bannerAriaLabel.replace("{index}", (index + 1).toString()).replace("{total}", totalBanners.toString()) : mergedLabels.bannerAriaLabelSingle.replace(
|
|
584
|
+
"{index}",
|
|
585
|
+
(index + 1).toString()
|
|
586
|
+
);
|
|
507
587
|
if (isLoading) {
|
|
508
|
-
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.CarouselCard, { className: classes.bannerCard, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
509
|
-
reactComponents.
|
|
588
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.CarouselCard, { className: classes.bannerCard, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
589
|
+
reactComponents.Skeleton,
|
|
510
590
|
{
|
|
511
|
-
|
|
512
|
-
style: {
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
591
|
+
"aria-label": mergedLabels.loadingBanner,
|
|
592
|
+
style: { width: "100%", height: "100%" },
|
|
593
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
594
|
+
reactComponents.SkeletonItem,
|
|
595
|
+
{
|
|
596
|
+
shape: "rectangle",
|
|
597
|
+
style: {
|
|
598
|
+
width: "100%",
|
|
599
|
+
height: "100%",
|
|
600
|
+
borderRadius: reactComponents.tokens.borderRadiusXLarge
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
)
|
|
517
604
|
}
|
|
518
|
-
) })
|
|
605
|
+
) });
|
|
519
606
|
}
|
|
520
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
521
|
-
|
|
607
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.CarouselCard, { className: classes.bannerCard, "aria-label": ariaLabel, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
608
|
+
"img",
|
|
522
609
|
{
|
|
523
|
-
className: classes.
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
src: imageUrl,
|
|
530
|
-
alt,
|
|
531
|
-
role: "presentation",
|
|
532
|
-
onClick,
|
|
533
|
-
style: { cursor: onClick ? "pointer" : "default" }
|
|
534
|
-
}
|
|
535
|
-
)
|
|
610
|
+
className: classes.bannerImage,
|
|
611
|
+
src: imageUrl,
|
|
612
|
+
alt,
|
|
613
|
+
role: "presentation",
|
|
614
|
+
onClick,
|
|
615
|
+
style: { cursor: onClick ? "pointer" : "default" }
|
|
536
616
|
}
|
|
537
|
-
);
|
|
617
|
+
) });
|
|
538
618
|
};
|
|
539
619
|
function useWindowSize() {
|
|
540
620
|
const [windowSize, setWindowSize] = React5.useState({
|
|
@@ -680,7 +760,7 @@ var extendedTokens = {
|
|
|
680
760
|
colorBrandForegroundLinkSelected: customBrand[110]});
|
|
681
761
|
|
|
682
762
|
// src/components/CardTicket/CardTicket.constants.ts
|
|
683
|
-
var
|
|
763
|
+
var DEFAULT_LABELS4 = {
|
|
684
764
|
id: {
|
|
685
765
|
availableSeatsLabel: "Tersedia",
|
|
686
766
|
estimationPrefix: "Estimasi",
|
|
@@ -922,7 +1002,7 @@ var CardTicket = ({
|
|
|
922
1002
|
}) => {
|
|
923
1003
|
const styles = useStyles5();
|
|
924
1004
|
const { width } = useWindowSize();
|
|
925
|
-
const mergedLabels = { ...
|
|
1005
|
+
const mergedLabels = { ...DEFAULT_LABELS4[language], ...labels };
|
|
926
1006
|
const getCircularVerticalConfig = () => {
|
|
927
1007
|
if (width <= 1600) return { count: 6, spacing: 60, top: 10 };
|
|
928
1008
|
return { count: 5, spacing: 60, top: 18 };
|
|
@@ -1426,6 +1506,56 @@ var BackgroundTicketCardVertical = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
1426
1506
|
}
|
|
1427
1507
|
);
|
|
1428
1508
|
var BackgroundTicketCardVertical_default = BackgroundTicketCardVertical;
|
|
1509
|
+
|
|
1510
|
+
// src/components/CardServiceMenu/CardServiceMenu.constants.ts
|
|
1511
|
+
var DEFAULT_LABELS5 = {
|
|
1512
|
+
id: {
|
|
1513
|
+
ferryLabel: "Ferry",
|
|
1514
|
+
ferryDescription: "Layanan penyeberangan ferry ASDP",
|
|
1515
|
+
ifcsLabel: "IFCS",
|
|
1516
|
+
ifcsDescription: "Integrated Ferry Control System",
|
|
1517
|
+
skptLabel: "SKPT",
|
|
1518
|
+
skptDescription: "Sistem Karcis Penumpang Terpadu",
|
|
1519
|
+
hotelLabel: "Hotel",
|
|
1520
|
+
hotelDescription: "Layanan pemesanan hotel",
|
|
1521
|
+
otherLabel: "Lainnya",
|
|
1522
|
+
otherDescription: "Layanan lainnya"
|
|
1523
|
+
},
|
|
1524
|
+
en: {
|
|
1525
|
+
ferryLabel: "Ferry",
|
|
1526
|
+
ferryDescription: "ASDP Ferry Crossing Service",
|
|
1527
|
+
ifcsLabel: "IFCS",
|
|
1528
|
+
ifcsDescription: "Integrated Ferry Control System",
|
|
1529
|
+
skptLabel: "SKPT",
|
|
1530
|
+
skptDescription: "Integrated Passenger Ticketing System",
|
|
1531
|
+
hotelLabel: "Hotel",
|
|
1532
|
+
hotelDescription: "Hotel Booking Service",
|
|
1533
|
+
otherLabel: "Other",
|
|
1534
|
+
otherDescription: "Other Services"
|
|
1535
|
+
}
|
|
1536
|
+
};
|
|
1537
|
+
var ALIAS_MENU_ITEMS = {
|
|
1538
|
+
ferry: {
|
|
1539
|
+
id: "ferry",
|
|
1540
|
+
logo: "/assets/images/icons/ferry.svg"
|
|
1541
|
+
},
|
|
1542
|
+
ifcs: {
|
|
1543
|
+
id: "ifcs",
|
|
1544
|
+
logo: "/assets/logo/asdp-default.svg"
|
|
1545
|
+
},
|
|
1546
|
+
skpt: {
|
|
1547
|
+
id: "skpt",
|
|
1548
|
+
logo: "/assets/logo/asdp-default.svg"
|
|
1549
|
+
},
|
|
1550
|
+
hotel: {
|
|
1551
|
+
id: "hotel",
|
|
1552
|
+
logo: "/assets/images/icons/hotel.svg"
|
|
1553
|
+
},
|
|
1554
|
+
other: {
|
|
1555
|
+
id: "other",
|
|
1556
|
+
logo: "/assets/images/icons/other.svg"
|
|
1557
|
+
}
|
|
1558
|
+
};
|
|
1429
1559
|
var useStyles6 = reactComponents.makeStyles({
|
|
1430
1560
|
card: {
|
|
1431
1561
|
width: "100%",
|
|
@@ -1518,66 +1648,26 @@ var useStyles6 = reactComponents.makeStyles({
|
|
|
1518
1648
|
}
|
|
1519
1649
|
}
|
|
1520
1650
|
});
|
|
1521
|
-
var SERVICE_MENU_ITEMS = {
|
|
1522
|
-
ferry: {
|
|
1523
|
-
id: "ferry",
|
|
1524
|
-
logo: "/assets/images/icons/ferry.svg",
|
|
1525
|
-
labels: {
|
|
1526
|
-
id: { label: "Ferry", description: "Layanan penyeberangan ferry ASDP" },
|
|
1527
|
-
en: { label: "Ferry", description: "ASDP Ferry Crossing Service" }
|
|
1528
|
-
}
|
|
1529
|
-
},
|
|
1530
|
-
ifcs: {
|
|
1531
|
-
id: "ifcs",
|
|
1532
|
-
logo: "/assets/logo/asdp-default.svg",
|
|
1533
|
-
labels: {
|
|
1534
|
-
id: { label: "IFCS", description: "Integrated Ferry Control System" },
|
|
1535
|
-
en: { label: "IFCS", description: "Integrated Ferry Control System" }
|
|
1536
|
-
}
|
|
1537
|
-
},
|
|
1538
|
-
skpt: {
|
|
1539
|
-
id: "skpt",
|
|
1540
|
-
logo: "/assets/logo/asdp-default.svg",
|
|
1541
|
-
labels: {
|
|
1542
|
-
id: { label: "SKPT", description: "Sistem Karcis Penumpang Terpadu" },
|
|
1543
|
-
en: { label: "SKPT", description: "Integrated Passenger Ticketing System" }
|
|
1544
|
-
}
|
|
1545
|
-
},
|
|
1546
|
-
hotel: {
|
|
1547
|
-
id: "hotel",
|
|
1548
|
-
logo: "/assets/images/icons/hotel.svg",
|
|
1549
|
-
labels: {
|
|
1550
|
-
id: { label: "Hotel", description: "Layanan pemesanan hotel" },
|
|
1551
|
-
en: { label: "Hotel", description: "Hotel Booking Service" }
|
|
1552
|
-
}
|
|
1553
|
-
},
|
|
1554
|
-
other: {
|
|
1555
|
-
id: "other",
|
|
1556
|
-
logo: "/assets/images/icons/other.svg",
|
|
1557
|
-
labels: {
|
|
1558
|
-
id: { label: "Lainnya", description: "Layanan lainnya" },
|
|
1559
|
-
en: { label: "Other", description: "Other Services" }
|
|
1560
|
-
}
|
|
1561
|
-
}
|
|
1562
|
-
};
|
|
1563
1651
|
var CardServiceMenu = ({
|
|
1564
1652
|
activeServiceId = "ferry",
|
|
1565
1653
|
language = "id",
|
|
1566
1654
|
onServiceClick,
|
|
1567
1655
|
showDescriptions = true,
|
|
1568
|
-
className
|
|
1656
|
+
className,
|
|
1657
|
+
labels
|
|
1569
1658
|
}) => {
|
|
1570
1659
|
const styles = useStyles6();
|
|
1660
|
+
const mergedLabels = { ...DEFAULT_LABELS5[language], ...labels };
|
|
1571
1661
|
const getMenuItemClass = (serviceId) => {
|
|
1572
1662
|
const isActive = activeServiceId === serviceId;
|
|
1573
|
-
return reactComponents.mergeClasses(
|
|
1574
|
-
styles.menuItem,
|
|
1575
|
-
isActive && styles.menuItemActive
|
|
1576
|
-
);
|
|
1663
|
+
return reactComponents.mergeClasses(styles.menuItem, isActive && styles.menuItemActive);
|
|
1577
1664
|
};
|
|
1578
|
-
const menuItems = Object.values(
|
|
1665
|
+
const menuItems = Object.values(ALIAS_MENU_ITEMS);
|
|
1579
1666
|
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: reactComponents.mergeClasses(styles.card, className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.menuList, children: menuItems.map((item, index) => {
|
|
1580
|
-
const
|
|
1667
|
+
const labelKey = `${item.id}Label`;
|
|
1668
|
+
const descriptionKey = `${item.id}Description`;
|
|
1669
|
+
const label = mergedLabels[labelKey];
|
|
1670
|
+
const description = mergedLabels[descriptionKey];
|
|
1581
1671
|
return /* @__PURE__ */ jsxRuntime.jsxs(React5__default.default.Fragment, { children: [
|
|
1582
1672
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1583
1673
|
reactComponents.Button,
|
|
@@ -1585,14 +1675,7 @@ var CardServiceMenu = ({
|
|
|
1585
1675
|
className: getMenuItemClass(item.id),
|
|
1586
1676
|
onClick: () => onServiceClick?.(item.id),
|
|
1587
1677
|
children: [
|
|
1588
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1589
|
-
"img",
|
|
1590
|
-
{
|
|
1591
|
-
src: item.logo,
|
|
1592
|
-
alt: label,
|
|
1593
|
-
className: styles.logo
|
|
1594
|
-
}
|
|
1595
|
-
),
|
|
1678
|
+
/* @__PURE__ */ jsxRuntime.jsx("img", { src: item.logo, alt: label, className: styles.logo }),
|
|
1596
1679
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.textContent, children: [
|
|
1597
1680
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.label, children: label }),
|
|
1598
1681
|
showDescriptions && /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.description, children: description })
|
|
@@ -1698,6 +1781,26 @@ var DatePickerInput = React5.forwardRef(
|
|
|
1698
1781
|
);
|
|
1699
1782
|
DatePickerInput.displayName = "DatePickerInput";
|
|
1700
1783
|
var DatePickerInput_default = DatePickerInput;
|
|
1784
|
+
|
|
1785
|
+
// src/components/InputDynamic/InputDynamic.constants.ts
|
|
1786
|
+
var DEFAULT_LABELS6 = {
|
|
1787
|
+
id: {
|
|
1788
|
+
emailOrPhonePlaceholder: "Email atau Nomor HP",
|
|
1789
|
+
emailPlaceholder: "Email",
|
|
1790
|
+
phonePlaceholder: "Nomor HP",
|
|
1791
|
+
identityPlaceholder: "Email, KTP, SIM, Passport, atau Nomor Telepon",
|
|
1792
|
+
identityPhonePlaceholder: "Nomor telepon",
|
|
1793
|
+
identityIdPlaceholder: "KTP, SIM, atau Passport"
|
|
1794
|
+
},
|
|
1795
|
+
en: {
|
|
1796
|
+
emailOrPhonePlaceholder: "Email or Phone Number",
|
|
1797
|
+
emailPlaceholder: "Email",
|
|
1798
|
+
phonePlaceholder: "Phone Number",
|
|
1799
|
+
identityPlaceholder: "Email, ID Card, Driving License, Passport, or Phone Number",
|
|
1800
|
+
identityPhonePlaceholder: "Phone Number",
|
|
1801
|
+
identityIdPlaceholder: "ID Card, Driving License, or Passport"
|
|
1802
|
+
}
|
|
1803
|
+
};
|
|
1701
1804
|
var PhoneInput = PhoneInputComponent__default.default.default || PhoneInputComponent__default.default;
|
|
1702
1805
|
var useStyles7 = reactComponents.makeStyles({
|
|
1703
1806
|
field: {
|
|
@@ -1940,13 +2043,18 @@ var InputDynamic = ({
|
|
|
1940
2043
|
autoComplete,
|
|
1941
2044
|
onInput,
|
|
1942
2045
|
contentAfter,
|
|
1943
|
-
onChange
|
|
2046
|
+
onChange,
|
|
2047
|
+
language = "id",
|
|
2048
|
+
labels
|
|
1944
2049
|
}) => {
|
|
1945
2050
|
const styles = useStyles7();
|
|
2051
|
+
const mergedLabels = { ...DEFAULT_LABELS6[language], ...labels };
|
|
1946
2052
|
const [showPassword, setShowPassword] = React5.useState(false);
|
|
1947
2053
|
const [isPhoneMode, setIsPhoneMode] = React5.useState(false);
|
|
1948
2054
|
const [emailOrPhoneType, setEmailOrPhoneType] = React5.useState("none");
|
|
1949
|
-
const [identityType, setIdentityType] = React5.useState(
|
|
2055
|
+
const [identityType, setIdentityType] = React5.useState(
|
|
2056
|
+
"id"
|
|
2057
|
+
);
|
|
1950
2058
|
const [lastPhoneValue, setLastPhoneValue] = React5.useState("");
|
|
1951
2059
|
const [lastEmailOrPhoneValue, setLastEmailOrPhoneValue] = React5.useState("");
|
|
1952
2060
|
const inputRef = React5.useRef(null);
|
|
@@ -2111,13 +2219,13 @@ var InputDynamic = ({
|
|
|
2111
2219
|
updateEmailOrPhoneType(field.value);
|
|
2112
2220
|
const stringValue = typeof field.value === "string" ? field.value : "";
|
|
2113
2221
|
let inputType = "text";
|
|
2114
|
-
let inputPlaceholder = placeholder ||
|
|
2222
|
+
let inputPlaceholder = placeholder || mergedLabels.emailOrPhonePlaceholder;
|
|
2115
2223
|
if (emailOrPhoneType === "email") {
|
|
2116
2224
|
inputType = "email";
|
|
2117
|
-
inputPlaceholder = placeholder ||
|
|
2225
|
+
inputPlaceholder = placeholder || mergedLabels.emailPlaceholder;
|
|
2118
2226
|
} else if (emailOrPhoneType === "phone") {
|
|
2119
2227
|
inputType = "tel";
|
|
2120
|
-
inputPlaceholder = placeholder ||
|
|
2228
|
+
inputPlaceholder = placeholder || mergedLabels.phonePlaceholder;
|
|
2121
2229
|
}
|
|
2122
2230
|
const normalizePhoneNumber = (val) => {
|
|
2123
2231
|
if (!val) return val;
|
|
@@ -2218,16 +2326,16 @@ var InputDynamic = ({
|
|
|
2218
2326
|
updateIdentityType(field.value);
|
|
2219
2327
|
const stringValue = typeof field.value === "string" ? field.value : "";
|
|
2220
2328
|
let inputType = "text";
|
|
2221
|
-
let inputPlaceholder = placeholder ||
|
|
2329
|
+
let inputPlaceholder = placeholder || mergedLabels.identityPlaceholder;
|
|
2222
2330
|
if (identityType === "email") {
|
|
2223
2331
|
inputType = "email";
|
|
2224
|
-
inputPlaceholder = placeholder ||
|
|
2332
|
+
inputPlaceholder = placeholder || mergedLabels.emailPlaceholder;
|
|
2225
2333
|
} else if (identityType === "phone") {
|
|
2226
2334
|
inputType = "tel";
|
|
2227
|
-
inputPlaceholder = placeholder ||
|
|
2335
|
+
inputPlaceholder = placeholder || mergedLabels.identityPhonePlaceholder;
|
|
2228
2336
|
} else if (identityType === "id") {
|
|
2229
2337
|
inputType = "text";
|
|
2230
|
-
inputPlaceholder = placeholder ||
|
|
2338
|
+
inputPlaceholder = placeholder || mergedLabels.identityIdPlaceholder;
|
|
2231
2339
|
}
|
|
2232
2340
|
const cleanPhoneValue = (val) => {
|
|
2233
2341
|
if (!val) return val;
|
|
@@ -2333,7 +2441,9 @@ var InputDynamic = ({
|
|
|
2333
2441
|
autoCapitalize: "off",
|
|
2334
2442
|
spellCheck: "false"
|
|
2335
2443
|
},
|
|
2336
|
-
value: isMultiSelect ? options.filter(
|
|
2444
|
+
value: isMultiSelect ? options.filter(
|
|
2445
|
+
(option) => field.value?.includes(option.value)
|
|
2446
|
+
) : options.find((option) => option.value === field.value) || null,
|
|
2337
2447
|
onChange: (selectedOption) => {
|
|
2338
2448
|
if (isMultiSelect) {
|
|
2339
2449
|
const values = selectedOption ? selectedOption.map((opt) => opt.value) : [];
|
|
@@ -2358,21 +2468,27 @@ var InputDynamic = ({
|
|
|
2358
2468
|
return stringVal;
|
|
2359
2469
|
};
|
|
2360
2470
|
const cleanedFieldValue = cleanPhoneValue(field.value || "");
|
|
2361
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2362
|
-
|
|
2471
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2472
|
+
"div",
|
|
2363
2473
|
{
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2474
|
+
className: `${styles.phoneInputWrapper} ${error ? styles.phoneInputError : ""}`,
|
|
2475
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2476
|
+
PhoneInput,
|
|
2477
|
+
{
|
|
2478
|
+
country: defaultCountry.toLowerCase(),
|
|
2479
|
+
value: cleanedFieldValue,
|
|
2480
|
+
onChange: (value, data) => {
|
|
2481
|
+
const cleanedValue = cleanPhoneValue(value || "");
|
|
2482
|
+
field.onChange(cleanedValue);
|
|
2483
|
+
},
|
|
2484
|
+
placeholder: placeholder || "Nomor telepon",
|
|
2485
|
+
disabled,
|
|
2486
|
+
enableSearch: true,
|
|
2487
|
+
disableSearchIcon: true
|
|
2488
|
+
}
|
|
2489
|
+
)
|
|
2374
2490
|
}
|
|
2375
|
-
)
|
|
2491
|
+
);
|
|
2376
2492
|
}
|
|
2377
2493
|
case "file":
|
|
2378
2494
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2417,15 +2533,23 @@ var InputDynamic = ({
|
|
|
2417
2533
|
);
|
|
2418
2534
|
}
|
|
2419
2535
|
case "radio":
|
|
2420
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2421
|
-
reactComponents.
|
|
2536
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2537
|
+
reactComponents.RadioGroup,
|
|
2422
2538
|
{
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2539
|
+
...field,
|
|
2540
|
+
disabled,
|
|
2541
|
+
layout: layout ?? "vertical",
|
|
2542
|
+
children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2543
|
+
reactComponents.Radio,
|
|
2544
|
+
{
|
|
2545
|
+
value: option.value,
|
|
2546
|
+
label: option.label,
|
|
2547
|
+
disabled: option.disabled
|
|
2548
|
+
},
|
|
2549
|
+
option.value
|
|
2550
|
+
))
|
|
2551
|
+
}
|
|
2552
|
+
);
|
|
2429
2553
|
case "radiobutton":
|
|
2430
2554
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2431
2555
|
reactComponents.RadioGroup,
|
|
@@ -2560,7 +2684,9 @@ var InputDynamic = ({
|
|
|
2560
2684
|
if (otpIndex2) {
|
|
2561
2685
|
let lastFilledIndex = 0;
|
|
2562
2686
|
for (let i = 1; i <= 6; i++) {
|
|
2563
|
-
const input = document.querySelector(
|
|
2687
|
+
const input = document.querySelector(
|
|
2688
|
+
`[data-otp-index="${i}"]`
|
|
2689
|
+
);
|
|
2564
2690
|
if (input && input.value) {
|
|
2565
2691
|
lastFilledIndex = i;
|
|
2566
2692
|
} else {
|
|
@@ -2760,7 +2886,15 @@ var InputDynamic = ({
|
|
|
2760
2886
|
children: [
|
|
2761
2887
|
label && type !== "checkbox" && /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Label, { required, children: label }),
|
|
2762
2888
|
renderInput(field, error?.message),
|
|
2763
|
-
helperText && !error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2889
|
+
helperText && !error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2890
|
+
reactComponents.Text,
|
|
2891
|
+
{
|
|
2892
|
+
size: 200,
|
|
2893
|
+
style: { textAlign: "left" },
|
|
2894
|
+
className: styles.helperText,
|
|
2895
|
+
children: helperText
|
|
2896
|
+
}
|
|
2897
|
+
)
|
|
2764
2898
|
]
|
|
2765
2899
|
}
|
|
2766
2900
|
)
|
|
@@ -3012,7 +3146,7 @@ var DEFAULT_COUNTRY_CODES = [
|
|
|
3012
3146
|
];
|
|
3013
3147
|
|
|
3014
3148
|
// src/components/CardTicketSearch/CardTicketSearch.constants.ts
|
|
3015
|
-
var
|
|
3149
|
+
var DEFAULT_LABELS7 = {
|
|
3016
3150
|
id: {
|
|
3017
3151
|
fromLabel: "Dari",
|
|
3018
3152
|
toLabel: "Ke",
|
|
@@ -3188,7 +3322,7 @@ var CardTicketSearch = ({
|
|
|
3188
3322
|
}) => {
|
|
3189
3323
|
const styles = useStyles8();
|
|
3190
3324
|
const labels = React5__default.default.useMemo(
|
|
3191
|
-
() => ({ ...
|
|
3325
|
+
() => ({ ...DEFAULT_LABELS7[language], ...customLabels }),
|
|
3192
3326
|
[language, customLabels]
|
|
3193
3327
|
);
|
|
3194
3328
|
const { control, setValue, getValues, handleSubmit } = reactHookForm.useForm({
|
|
@@ -3574,7 +3708,7 @@ var CardTicketSearch = ({
|
|
|
3574
3708
|
};
|
|
3575
3709
|
|
|
3576
3710
|
// src/components/CardTicketSearchSummary/CardTicketSearchSummary.constants.ts
|
|
3577
|
-
var
|
|
3711
|
+
var DEFAULT_LABELS8 = {
|
|
3578
3712
|
id: {
|
|
3579
3713
|
originHarbor: "Pelabuhan Keberangkatan",
|
|
3580
3714
|
destinationHarbor: "Pelabuhan Tujuan",
|
|
@@ -3675,7 +3809,7 @@ var CardTicketSearchSummary = ({
|
|
|
3675
3809
|
children
|
|
3676
3810
|
}) => {
|
|
3677
3811
|
const styles = useStyles9();
|
|
3678
|
-
const mergedLabels = { ...
|
|
3812
|
+
const mergedLabels = { ...DEFAULT_LABELS8[language], ...labels };
|
|
3679
3813
|
const { width } = useWindowSize();
|
|
3680
3814
|
const getCircularConfig = () => {
|
|
3681
3815
|
if (width <= parseInt(extendedTokens.breakpointXs))
|
|
@@ -4000,7 +4134,7 @@ var CardTicketSearchSummary = ({
|
|
|
4000
4134
|
};
|
|
4001
4135
|
|
|
4002
4136
|
// src/components/ModalSearchHarbor/ModalSearchHarbor.constants.ts
|
|
4003
|
-
var
|
|
4137
|
+
var DEFAULT_LABELS9 = {
|
|
4004
4138
|
id: {
|
|
4005
4139
|
title: "Pilih Pelabuhan",
|
|
4006
4140
|
searchPlaceholder: "Cari Pelabuhan...",
|
|
@@ -4152,7 +4286,7 @@ var ModalSearchHarbor = ({
|
|
|
4152
4286
|
onClearLastSearched
|
|
4153
4287
|
}) => {
|
|
4154
4288
|
const styles = useStyles10();
|
|
4155
|
-
const mergedLabels = { ...
|
|
4289
|
+
const mergedLabels = { ...DEFAULT_LABELS9[language], ...labels };
|
|
4156
4290
|
const handleSelect = (harbor) => {
|
|
4157
4291
|
onAddLastSearched(harbor);
|
|
4158
4292
|
onSelectHarbor(harbor);
|
|
@@ -4300,7 +4434,7 @@ var ModalSearchHarbor = ({
|
|
|
4300
4434
|
};
|
|
4301
4435
|
|
|
4302
4436
|
// src/components/ModalSelectDate/ModalSelectDate.constants.ts
|
|
4303
|
-
var
|
|
4437
|
+
var DEFAULT_LABELS10 = {
|
|
4304
4438
|
id: {
|
|
4305
4439
|
title: "Pilih Tanggal",
|
|
4306
4440
|
oneWay: "Sekali Jalan",
|
|
@@ -4433,7 +4567,7 @@ var ModalSelectDate = ({
|
|
|
4433
4567
|
showRoundtrip = true
|
|
4434
4568
|
}) => {
|
|
4435
4569
|
const styles = useStyles11();
|
|
4436
|
-
const mergedLabels = { ...
|
|
4570
|
+
const mergedLabels = { ...DEFAULT_LABELS10[language], ...labels };
|
|
4437
4571
|
React5.useEffect(() => {
|
|
4438
4572
|
moment__default.default.locale(language === "id" ? "id" : "en");
|
|
4439
4573
|
}, [language]);
|
|
@@ -4654,6 +4788,24 @@ var ModalSelectDate = ({
|
|
|
4654
4788
|
}
|
|
4655
4789
|
);
|
|
4656
4790
|
};
|
|
4791
|
+
|
|
4792
|
+
// src/components/ModalService/ModalService.constants.ts
|
|
4793
|
+
var DEFAULT_LABELS11 = {
|
|
4794
|
+
id: {
|
|
4795
|
+
title: "Pilih Kelas Layanan",
|
|
4796
|
+
loading: "Memuat...",
|
|
4797
|
+
error: "Gagal memuat layanan",
|
|
4798
|
+
selectAll: "Pilih Semua",
|
|
4799
|
+
saveButton: "Simpan"
|
|
4800
|
+
},
|
|
4801
|
+
en: {
|
|
4802
|
+
title: "Select Service Class",
|
|
4803
|
+
loading: "Loading...",
|
|
4804
|
+
error: "Error loading services",
|
|
4805
|
+
selectAll: "Select All",
|
|
4806
|
+
saveButton: "Save"
|
|
4807
|
+
}
|
|
4808
|
+
};
|
|
4657
4809
|
var useStyles12 = reactComponents.makeStyles({
|
|
4658
4810
|
dialogSurface: {
|
|
4659
4811
|
maxWidth: "600px",
|
|
@@ -4728,9 +4880,11 @@ var useStyles12 = reactComponents.makeStyles({
|
|
|
4728
4880
|
}
|
|
4729
4881
|
});
|
|
4730
4882
|
var ModalService = ({
|
|
4883
|
+
language = "id",
|
|
4884
|
+
labels,
|
|
4731
4885
|
open,
|
|
4732
4886
|
onClose,
|
|
4733
|
-
title
|
|
4887
|
+
title,
|
|
4734
4888
|
services,
|
|
4735
4889
|
selectedServiceIds,
|
|
4736
4890
|
onSave,
|
|
@@ -4738,6 +4892,8 @@ var ModalService = ({
|
|
|
4738
4892
|
isError = false
|
|
4739
4893
|
}) => {
|
|
4740
4894
|
const styles = useStyles12();
|
|
4895
|
+
const mergedLabels = { ...DEFAULT_LABELS11[language], ...labels };
|
|
4896
|
+
const displayTitle = title || mergedLabels.title;
|
|
4741
4897
|
const [selectedServices, setSelectedServices] = React5.useState(selectedServiceIds);
|
|
4742
4898
|
React5.useEffect(() => {
|
|
4743
4899
|
if (open) {
|
|
@@ -4769,85 +4925,80 @@ var ModalService = ({
|
|
|
4769
4925
|
}
|
|
4770
4926
|
};
|
|
4771
4927
|
const handleSave = () => {
|
|
4772
|
-
const selectedServiceItems = services.filter(
|
|
4928
|
+
const selectedServiceItems = services.filter(
|
|
4929
|
+
(s) => selectedServices.includes(s.id)
|
|
4930
|
+
);
|
|
4773
4931
|
onSave(selectedServiceItems);
|
|
4774
4932
|
};
|
|
4775
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4782
|
-
reactComponents.DialogTitle,
|
|
4933
|
+
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: [
|
|
4934
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4935
|
+
reactComponents.DialogTitle,
|
|
4936
|
+
{
|
|
4937
|
+
action: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4938
|
+
reactComponents.Button,
|
|
4783
4939
|
{
|
|
4784
|
-
|
|
4785
|
-
|
|
4786
|
-
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
4790
|
-
onClick: handleClose,
|
|
4791
|
-
className: styles.closeButton
|
|
4792
|
-
}
|
|
4793
|
-
),
|
|
4794
|
-
children: title
|
|
4940
|
+
appearance: "subtle",
|
|
4941
|
+
"aria-label": "close",
|
|
4942
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
4943
|
+
onClick: handleClose,
|
|
4944
|
+
className: styles.closeButton
|
|
4795
4945
|
}
|
|
4796
4946
|
),
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
|
|
4800
|
-
|
|
4947
|
+
children: displayTitle
|
|
4948
|
+
}
|
|
4949
|
+
),
|
|
4950
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogContent, { className: styles.content, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.loading }) : isError ? /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.error }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4951
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.serviceList, children: [
|
|
4952
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerRow, children: [
|
|
4953
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: mergedLabels.selectAll }),
|
|
4954
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4955
|
+
reactComponents.Checkbox,
|
|
4956
|
+
{
|
|
4957
|
+
checked: selectedServices.length === services.length,
|
|
4958
|
+
onChange: handleToggleAll
|
|
4959
|
+
}
|
|
4960
|
+
)
|
|
4961
|
+
] }),
|
|
4962
|
+
services.map((service) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4963
|
+
"div",
|
|
4964
|
+
{
|
|
4965
|
+
className: styles.serviceItem,
|
|
4966
|
+
onClick: () => handleToggleService(service.id),
|
|
4967
|
+
children: [
|
|
4968
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.serviceContent, children: [
|
|
4969
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.serviceName, children: service.serviceTypeName }),
|
|
4970
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: styles.serviceType, children: service.serviceTypeCode }),
|
|
4971
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: styles.serviceDescription, children: service.serviceDescription })
|
|
4972
|
+
] }),
|
|
4801
4973
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4802
4974
|
reactComponents.Checkbox,
|
|
4803
4975
|
{
|
|
4804
|
-
checked: selectedServices.
|
|
4805
|
-
onChange:
|
|
4976
|
+
checked: selectedServices.includes(service.id),
|
|
4977
|
+
onChange: () => handleToggleService(service.id)
|
|
4806
4978
|
}
|
|
4807
4979
|
)
|
|
4808
|
-
]
|
|
4809
|
-
|
|
4810
|
-
|
|
4811
|
-
|
|
4812
|
-
|
|
4813
|
-
|
|
4814
|
-
|
|
4815
|
-
|
|
4816
|
-
|
|
4817
|
-
|
|
4818
|
-
|
|
4819
|
-
|
|
4820
|
-
|
|
4821
|
-
|
|
4822
|
-
|
|
4823
|
-
|
|
4824
|
-
|
|
4825
|
-
|
|
4826
|
-
)
|
|
4827
|
-
]
|
|
4828
|
-
},
|
|
4829
|
-
service.id
|
|
4830
|
-
))
|
|
4831
|
-
] }),
|
|
4832
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.footer, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4833
|
-
reactComponents.Button,
|
|
4834
|
-
{
|
|
4835
|
-
appearance: "primary",
|
|
4836
|
-
size: "medium",
|
|
4837
|
-
className: styles.saveButton,
|
|
4838
|
-
onClick: handleSave,
|
|
4839
|
-
disabled: selectedServices.length === 0,
|
|
4840
|
-
children: "Simpan"
|
|
4841
|
-
}
|
|
4842
|
-
) })
|
|
4843
|
-
] }) })
|
|
4844
|
-
] }) })
|
|
4845
|
-
}
|
|
4846
|
-
);
|
|
4980
|
+
]
|
|
4981
|
+
},
|
|
4982
|
+
service.id
|
|
4983
|
+
))
|
|
4984
|
+
] }),
|
|
4985
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.footer, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4986
|
+
reactComponents.Button,
|
|
4987
|
+
{
|
|
4988
|
+
appearance: "primary",
|
|
4989
|
+
size: "medium",
|
|
4990
|
+
className: styles.saveButton,
|
|
4991
|
+
onClick: handleSave,
|
|
4992
|
+
disabled: selectedServices.length === 0,
|
|
4993
|
+
children: mergedLabels.saveButton
|
|
4994
|
+
}
|
|
4995
|
+
) })
|
|
4996
|
+
] }) })
|
|
4997
|
+
] }) }) });
|
|
4847
4998
|
};
|
|
4848
4999
|
|
|
4849
5000
|
// src/components/ModalTotalPassengers/ModalTotalPassengers.constants.ts
|
|
4850
|
-
var
|
|
5001
|
+
var DEFAULT_LABELS12 = {
|
|
4851
5002
|
id: {
|
|
4852
5003
|
title: "Pilih Jumlah Penumpang",
|
|
4853
5004
|
infoMessage: "Anda dapat menambahkan hingga {maxPassengers} penumpang pada golongan kendaraan ini.",
|
|
@@ -4954,7 +5105,7 @@ var ModalTotalPassengers = ({
|
|
|
4954
5105
|
infoMessage
|
|
4955
5106
|
}) => {
|
|
4956
5107
|
const styles = useStyles13();
|
|
4957
|
-
const mergedLabels = { ...
|
|
5108
|
+
const mergedLabels = { ...DEFAULT_LABELS12[language], ...labels };
|
|
4958
5109
|
const [passengers, setPassengers] = React5.useState([]);
|
|
4959
5110
|
const [openItems, setOpenItems] = React5.useState([]);
|
|
4960
5111
|
const defaultInfoMessage = mergedLabels.infoMessage.replace(
|
|
@@ -5219,7 +5370,7 @@ var ModalTotalPassengers = ({
|
|
|
5219
5370
|
};
|
|
5220
5371
|
|
|
5221
5372
|
// src/components/ModalTypeOfService/ModalTypeOfService.constants.ts
|
|
5222
|
-
var
|
|
5373
|
+
var DEFAULT_LABELS13 = {
|
|
5223
5374
|
id: {
|
|
5224
5375
|
title: "Pilih Tipe Layanan",
|
|
5225
5376
|
cancelButton: "Batal",
|
|
@@ -5300,7 +5451,7 @@ var ModalTypeOfService = ({
|
|
|
5300
5451
|
renderImage
|
|
5301
5452
|
}) => {
|
|
5302
5453
|
const styles = useStyles14();
|
|
5303
|
-
const mergedLabels = { ...
|
|
5454
|
+
const mergedLabels = { ...DEFAULT_LABELS13[language], ...labels };
|
|
5304
5455
|
const [selectedServiceTitle, setSelectedServiceTitle] = React5.useState(
|
|
5305
5456
|
selectedService?.title || ""
|
|
5306
5457
|
);
|
|
@@ -5653,7 +5804,7 @@ var SortMenu = ({
|
|
|
5653
5804
|
};
|
|
5654
5805
|
|
|
5655
5806
|
// src/components/ModalFilterTicket/ModalFilterTicket.constants.ts
|
|
5656
|
-
var
|
|
5807
|
+
var DEFAULT_LABELS14 = {
|
|
5657
5808
|
id: {
|
|
5658
5809
|
title: "Filter dengan",
|
|
5659
5810
|
serviceTypeLabel: "Jenis Layanan",
|
|
@@ -5818,7 +5969,7 @@ var ModalFilterTicket = ({
|
|
|
5818
5969
|
maxDuration = DEFAULT_DURATION_RANGE.max
|
|
5819
5970
|
}) => {
|
|
5820
5971
|
const styles = useStyles16();
|
|
5821
|
-
const mergedLabels = { ...
|
|
5972
|
+
const mergedLabels = { ...DEFAULT_LABELS14[language], ...labels };
|
|
5822
5973
|
const [rangeReady, setRangeReady] = React5.useState(false);
|
|
5823
5974
|
React5.useEffect(() => {
|
|
5824
5975
|
if (open) {
|
|
@@ -6124,7 +6275,7 @@ var ModalFilterTicket = ({
|
|
|
6124
6275
|
};
|
|
6125
6276
|
|
|
6126
6277
|
// src/components/DateFilter/DateFilter.constants.ts
|
|
6127
|
-
var
|
|
6278
|
+
var DEFAULT_LABELS15 = {
|
|
6128
6279
|
prevButtonAriaLabel: "Previous dates",
|
|
6129
6280
|
nextButtonAriaLabel: "Next dates",
|
|
6130
6281
|
calendarButtonAriaLabel: "Open calendar"
|
|
@@ -6213,7 +6364,7 @@ var DateFilter = ({
|
|
|
6213
6364
|
}) => {
|
|
6214
6365
|
const styles = useStyles17();
|
|
6215
6366
|
const scrollRef = React5.useRef(null);
|
|
6216
|
-
const mergedLabels = { ...
|
|
6367
|
+
const mergedLabels = { ...DEFAULT_LABELS15, ...labels };
|
|
6217
6368
|
const handlePrev = () => {
|
|
6218
6369
|
scrollRef.current?.scrollBy({ left: -scrollAmount, behavior: "smooth" });
|
|
6219
6370
|
};
|
|
@@ -6271,7 +6422,7 @@ var DateFilter = ({
|
|
|
6271
6422
|
};
|
|
6272
6423
|
|
|
6273
6424
|
// src/components/ModalSearchTicket/ModalSearchTicket.constants.ts
|
|
6274
|
-
var
|
|
6425
|
+
var DEFAULT_LABELS16 = {
|
|
6275
6426
|
id: {
|
|
6276
6427
|
title: "Cari Jadwal Lainnya",
|
|
6277
6428
|
fromLabel: "Dari",
|
|
@@ -6432,7 +6583,7 @@ var ModalSearchTicket = ({
|
|
|
6432
6583
|
...props
|
|
6433
6584
|
}) => {
|
|
6434
6585
|
const styles = useStyles18();
|
|
6435
|
-
const mergedLabels = { ...
|
|
6586
|
+
const mergedLabels = { ...DEFAULT_LABELS16[language], ...labels };
|
|
6436
6587
|
const { control, setValue, handleSubmit, watch } = reactHookForm.useForm({
|
|
6437
6588
|
defaultValues: {
|
|
6438
6589
|
...DEFAULT_FORM_VALUES,
|
|
@@ -6867,6 +7018,18 @@ var ModalSearchTicket = ({
|
|
|
6867
7018
|
}
|
|
6868
7019
|
);
|
|
6869
7020
|
};
|
|
7021
|
+
|
|
7022
|
+
// src/components/Stepper/Stepper.constants.ts
|
|
7023
|
+
var DEFAULT_LABELS17 = {
|
|
7024
|
+
id: {
|
|
7025
|
+
stepperBackgroundAlt: "Latar Belakang Stepper",
|
|
7026
|
+
ferryIconAlt: "Ikon Kapal"
|
|
7027
|
+
},
|
|
7028
|
+
en: {
|
|
7029
|
+
stepperBackgroundAlt: "Stepper Background",
|
|
7030
|
+
ferryIconAlt: "Ferry Icon"
|
|
7031
|
+
}
|
|
7032
|
+
};
|
|
6870
7033
|
var useStyles19 = reactComponents.makeStyles({
|
|
6871
7034
|
stepperWrapper: {
|
|
6872
7035
|
position: "relative",
|
|
@@ -6988,9 +7151,12 @@ var useStyles19 = reactComponents.makeStyles({
|
|
|
6988
7151
|
var Stepper = ({
|
|
6989
7152
|
steps,
|
|
6990
7153
|
currentStep,
|
|
6991
|
-
className
|
|
7154
|
+
className,
|
|
7155
|
+
language = "id",
|
|
7156
|
+
labels
|
|
6992
7157
|
}) => {
|
|
6993
7158
|
const styles = useStyles19();
|
|
7159
|
+
const mergedLabels = { ...DEFAULT_LABELS17[language], ...labels };
|
|
6994
7160
|
const currentStepIndex = React5.useMemo(() => {
|
|
6995
7161
|
if (typeof currentStep === "number") {
|
|
6996
7162
|
return steps.findIndex((step) => step.number === currentStep);
|
|
@@ -7009,7 +7175,8 @@ var Stepper = ({
|
|
|
7009
7175
|
const status = getStepStatus(stepNumber);
|
|
7010
7176
|
const baseClass = styles.stepCircle;
|
|
7011
7177
|
if (status === "active") return `${baseClass} ${styles.stepCircleActive}`;
|
|
7012
|
-
if (status === "completed")
|
|
7178
|
+
if (status === "completed")
|
|
7179
|
+
return `${baseClass} ${styles.stepCircleCompleted}`;
|
|
7013
7180
|
return `${baseClass} ${styles.stepCircleInactive}`;
|
|
7014
7181
|
};
|
|
7015
7182
|
const getConnectorClass = (currentStepNumber) => {
|
|
@@ -7023,7 +7190,7 @@ var Stepper = ({
|
|
|
7023
7190
|
"img",
|
|
7024
7191
|
{
|
|
7025
7192
|
src: "/assets/images/reservation/stepper_bg.svg",
|
|
7026
|
-
alt:
|
|
7193
|
+
alt: mergedLabels.stepperBackgroundAlt,
|
|
7027
7194
|
className: styles.stepperBackground
|
|
7028
7195
|
}
|
|
7029
7196
|
),
|
|
@@ -7033,7 +7200,7 @@ var Stepper = ({
|
|
|
7033
7200
|
"img",
|
|
7034
7201
|
{
|
|
7035
7202
|
src: "/assets/images/reservation/ferry_step.svg",
|
|
7036
|
-
alt:
|
|
7203
|
+
alt: mergedLabels.ferryIconAlt,
|
|
7037
7204
|
className: styles.ferryIcon
|
|
7038
7205
|
}
|
|
7039
7206
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: getCircleClass(step.number), children: step.number }),
|
|
@@ -7045,7 +7212,7 @@ var Stepper = ({
|
|
|
7045
7212
|
};
|
|
7046
7213
|
|
|
7047
7214
|
// src/components/CardOrdererInfo/CardOrdererInfo.constants.ts
|
|
7048
|
-
var
|
|
7215
|
+
var DEFAULT_LABELS18 = {
|
|
7049
7216
|
id: {
|
|
7050
7217
|
title: "Informasi Pemesan",
|
|
7051
7218
|
ordererName: "Nama Pemesan",
|
|
@@ -7090,7 +7257,7 @@ var CardOrdererInfo = ({
|
|
|
7090
7257
|
className
|
|
7091
7258
|
}) => {
|
|
7092
7259
|
const styles = useStyles20();
|
|
7093
|
-
const mergedLabels = { ...
|
|
7260
|
+
const mergedLabels = { ...DEFAULT_LABELS18[language], ...labels };
|
|
7094
7261
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: className || styles.card, children: [
|
|
7095
7262
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { children: mergedLabels.title }),
|
|
7096
7263
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
|
|
@@ -7109,6 +7276,24 @@ var CardOrdererInfo = ({
|
|
|
7109
7276
|
] })
|
|
7110
7277
|
] });
|
|
7111
7278
|
};
|
|
7279
|
+
|
|
7280
|
+
// src/components/ModalListPassenger/ModalListPassenger.constants.ts
|
|
7281
|
+
var DEFAULT_LABELS19 = {
|
|
7282
|
+
id: {
|
|
7283
|
+
title: "Detail Penumpang",
|
|
7284
|
+
sameAsOrderer: "Sama Dengan Pemesan",
|
|
7285
|
+
searchPlaceholder: "Cari Penumpang",
|
|
7286
|
+
addPassengerButton: "Tambah Penumpang",
|
|
7287
|
+
cancelButton: "Batal"
|
|
7288
|
+
},
|
|
7289
|
+
en: {
|
|
7290
|
+
title: "Passenger Details",
|
|
7291
|
+
sameAsOrderer: "Same as Orderer",
|
|
7292
|
+
searchPlaceholder: "Search Passenger",
|
|
7293
|
+
addPassengerButton: "Add Passenger",
|
|
7294
|
+
cancelButton: "Cancel"
|
|
7295
|
+
}
|
|
7296
|
+
};
|
|
7112
7297
|
var useStyles21 = reactComponents.makeStyles({
|
|
7113
7298
|
dialogSurface: {
|
|
7114
7299
|
maxWidth: "600px",
|
|
@@ -7150,9 +7335,11 @@ var useStyles21 = reactComponents.makeStyles({
|
|
|
7150
7335
|
}
|
|
7151
7336
|
});
|
|
7152
7337
|
var ModalListPassenger = ({
|
|
7338
|
+
language = "id",
|
|
7339
|
+
labels,
|
|
7153
7340
|
open,
|
|
7154
7341
|
onClose,
|
|
7155
|
-
title
|
|
7342
|
+
title,
|
|
7156
7343
|
passengers,
|
|
7157
7344
|
searchQuery,
|
|
7158
7345
|
onSearchChange,
|
|
@@ -7163,6 +7350,8 @@ var ModalListPassenger = ({
|
|
|
7163
7350
|
onSameAsOrdererChange
|
|
7164
7351
|
}) => {
|
|
7165
7352
|
const styles = useStyles21();
|
|
7353
|
+
const mergedLabels = { ...DEFAULT_LABELS19[language], ...labels };
|
|
7354
|
+
const displayTitle = title || mergedLabels.title;
|
|
7166
7355
|
const handleClose = () => {
|
|
7167
7356
|
onClose();
|
|
7168
7357
|
onSearchChange("");
|
|
@@ -7174,7 +7363,7 @@ var ModalListPassenger = ({
|
|
|
7174
7363
|
const filteredPassengers = passengers.filter((passenger) => {
|
|
7175
7364
|
if (!searchQuery) return true;
|
|
7176
7365
|
const query = searchQuery.toLowerCase();
|
|
7177
|
-
return passenger.name
|
|
7366
|
+
return passenger.name && passenger.name.toLowerCase().includes(query) || passenger.category && passenger.category.toLowerCase().includes(query);
|
|
7178
7367
|
});
|
|
7179
7368
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7180
7369
|
reactComponents.Dialog,
|
|
@@ -7192,12 +7381,12 @@ var ModalListPassenger = ({
|
|
|
7192
7381
|
action: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7193
7382
|
reactComponents.Switch,
|
|
7194
7383
|
{
|
|
7195
|
-
label:
|
|
7384
|
+
label: mergedLabels.sameAsOrderer,
|
|
7196
7385
|
checked: sameAsOrderer,
|
|
7197
7386
|
onChange: (_, data) => onSameAsOrdererChange(data.checked)
|
|
7198
7387
|
}
|
|
7199
7388
|
),
|
|
7200
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children:
|
|
7389
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: displayTitle })
|
|
7201
7390
|
}
|
|
7202
7391
|
),
|
|
7203
7392
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogContent, { className: styles.content, children: [
|
|
@@ -7206,7 +7395,7 @@ var ModalListPassenger = ({
|
|
|
7206
7395
|
{
|
|
7207
7396
|
className: styles.searchInput,
|
|
7208
7397
|
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:search-24-regular" }),
|
|
7209
|
-
placeholder:
|
|
7398
|
+
placeholder: mergedLabels.searchPlaceholder,
|
|
7210
7399
|
value: searchQuery,
|
|
7211
7400
|
onChange: (_, data) => onSearchChange(data.value),
|
|
7212
7401
|
size: "large"
|
|
@@ -7257,7 +7446,7 @@ var ModalListPassenger = ({
|
|
|
7257
7446
|
size: "large",
|
|
7258
7447
|
shape: "circular",
|
|
7259
7448
|
onClick: onAddPassenger,
|
|
7260
|
-
children:
|
|
7449
|
+
children: mergedLabels.addPassengerButton
|
|
7261
7450
|
}
|
|
7262
7451
|
),
|
|
7263
7452
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7267,7 +7456,7 @@ var ModalListPassenger = ({
|
|
|
7267
7456
|
size: "large",
|
|
7268
7457
|
shape: "circular",
|
|
7269
7458
|
onClick: handleClose,
|
|
7270
|
-
children:
|
|
7459
|
+
children: mergedLabels.cancelButton
|
|
7271
7460
|
}
|
|
7272
7461
|
)
|
|
7273
7462
|
] })
|
|
@@ -7276,6 +7465,76 @@ var ModalListPassenger = ({
|
|
|
7276
7465
|
}
|
|
7277
7466
|
);
|
|
7278
7467
|
};
|
|
7468
|
+
|
|
7469
|
+
// src/components/ModalPassengerForm/ModalPassengerForm.constants.ts
|
|
7470
|
+
var DEFAULT_LABELS20 = {
|
|
7471
|
+
id: {
|
|
7472
|
+
title: "Detail Penumpang",
|
|
7473
|
+
titleLabel: "Title",
|
|
7474
|
+
titlePlaceholder: "Pilih",
|
|
7475
|
+
nameLabel: "Nama Lengkap",
|
|
7476
|
+
namePlaceholder: "Masukkan Nama",
|
|
7477
|
+
idTypeLabel: "Jenis ID",
|
|
7478
|
+
idTypePlaceholder: "Pilih",
|
|
7479
|
+
idNumberLabel: "Nomor Identitas",
|
|
7480
|
+
idNumberPlaceholder: "Masukkan Nomor Identitas",
|
|
7481
|
+
ageLabel: "Usia",
|
|
7482
|
+
agePlaceholder: "Masukkan Usia",
|
|
7483
|
+
dateLabel: "Tanggal Lahir",
|
|
7484
|
+
datePlaceholder: "Masukkan Tanggal Lahir",
|
|
7485
|
+
cityLabel: "Kota Kabupaten",
|
|
7486
|
+
cityPlaceholder: "Masukkan Nama Kota/Kabupaten",
|
|
7487
|
+
ticketClassLabel: "Kelas penumpang",
|
|
7488
|
+
saveButton: "Simpan",
|
|
7489
|
+
cancelButton: "Batal",
|
|
7490
|
+
errors: {
|
|
7491
|
+
requiredTitle: "Title harus dipilih",
|
|
7492
|
+
requiredName: "Nama lengkap harus diisi",
|
|
7493
|
+
minLengthName: "Nama minimal 3 karakter",
|
|
7494
|
+
requiredIdType: "Jenis ID harus dipilih",
|
|
7495
|
+
requiredIdNumber: "Nomor identitas harus diisi",
|
|
7496
|
+
minLengthIdNumber: "Nomor identitas minimal 6 karakter",
|
|
7497
|
+
requiredAge: "Usia harus diisi",
|
|
7498
|
+
minAge: "Usia minimal 1 tahun",
|
|
7499
|
+
maxAge: "Usia maksimal 150 tahun",
|
|
7500
|
+
requiredDate: "Tanggal lahir harus diisi",
|
|
7501
|
+
requiredCity: "Kota/Kabupaten harus diisi"
|
|
7502
|
+
}
|
|
7503
|
+
},
|
|
7504
|
+
en: {
|
|
7505
|
+
title: "Passenger Details",
|
|
7506
|
+
titleLabel: "Title",
|
|
7507
|
+
titlePlaceholder: "Select",
|
|
7508
|
+
nameLabel: "Full Name",
|
|
7509
|
+
namePlaceholder: "Enter Name",
|
|
7510
|
+
idTypeLabel: "ID Type",
|
|
7511
|
+
idTypePlaceholder: "Select",
|
|
7512
|
+
idNumberLabel: "Identity Number",
|
|
7513
|
+
idNumberPlaceholder: "Enter Identity Number",
|
|
7514
|
+
ageLabel: "Age",
|
|
7515
|
+
agePlaceholder: "Enter Age",
|
|
7516
|
+
dateLabel: "Date of Birth",
|
|
7517
|
+
datePlaceholder: "Enter Date of Birth",
|
|
7518
|
+
cityLabel: "City/Regency",
|
|
7519
|
+
cityPlaceholder: "Enter City/Regency Name",
|
|
7520
|
+
ticketClassLabel: "Passenger Class",
|
|
7521
|
+
saveButton: "Save",
|
|
7522
|
+
cancelButton: "Cancel",
|
|
7523
|
+
errors: {
|
|
7524
|
+
requiredTitle: "Title is required",
|
|
7525
|
+
requiredName: "Full name is required",
|
|
7526
|
+
minLengthName: "Name must be at least 3 characters",
|
|
7527
|
+
requiredIdType: "ID type is required",
|
|
7528
|
+
requiredIdNumber: "Identity number is required",
|
|
7529
|
+
minLengthIdNumber: "Identity number must be at least 6 characters",
|
|
7530
|
+
requiredAge: "Age is required",
|
|
7531
|
+
minAge: "Age must be at least 1 year",
|
|
7532
|
+
maxAge: "Age must be at most 150 years",
|
|
7533
|
+
requiredDate: "Date of birth is required",
|
|
7534
|
+
requiredCity: "City/Regency is required"
|
|
7535
|
+
}
|
|
7536
|
+
}
|
|
7537
|
+
};
|
|
7279
7538
|
var useStyles22 = reactComponents.makeStyles({
|
|
7280
7539
|
dialogSurface: {
|
|
7281
7540
|
maxWidth: "600px",
|
|
@@ -7295,9 +7554,11 @@ var useStyles22 = reactComponents.makeStyles({
|
|
|
7295
7554
|
}
|
|
7296
7555
|
});
|
|
7297
7556
|
var ModalPassengerForm = ({
|
|
7557
|
+
language = "id",
|
|
7558
|
+
labels,
|
|
7298
7559
|
open,
|
|
7299
7560
|
onClose,
|
|
7300
|
-
title
|
|
7561
|
+
title,
|
|
7301
7562
|
onSubmit,
|
|
7302
7563
|
defaultValues,
|
|
7303
7564
|
isAdultForm = true,
|
|
@@ -7307,6 +7568,12 @@ var ModalPassengerForm = ({
|
|
|
7307
7568
|
ticketClassOptions
|
|
7308
7569
|
}) => {
|
|
7309
7570
|
const styles = useStyles22();
|
|
7571
|
+
const mergedLabels = { ...DEFAULT_LABELS20[language], ...labels };
|
|
7572
|
+
const mergedErrors = {
|
|
7573
|
+
...DEFAULT_LABELS20[language].errors,
|
|
7574
|
+
...labels?.errors
|
|
7575
|
+
};
|
|
7576
|
+
const displayTitle = title || mergedLabels.title;
|
|
7310
7577
|
const { control, handleSubmit, reset } = reactHookForm.useForm({
|
|
7311
7578
|
defaultValues
|
|
7312
7579
|
});
|
|
@@ -7331,7 +7598,7 @@ var ModalPassengerForm = ({
|
|
|
7331
7598
|
}
|
|
7332
7599
|
},
|
|
7333
7600
|
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogSurface, { className: styles.dialogSurface, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogBody, { children: [
|
|
7334
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children:
|
|
7601
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: displayTitle }) }),
|
|
7335
7602
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogContent, { className: styles.content, children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit(handleFormSubmit), children: [
|
|
7336
7603
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7337
7604
|
InputDynamic_default,
|
|
@@ -7339,13 +7606,13 @@ var ModalPassengerForm = ({
|
|
|
7339
7606
|
name: "title",
|
|
7340
7607
|
control,
|
|
7341
7608
|
type: "select",
|
|
7342
|
-
label:
|
|
7343
|
-
placeholder:
|
|
7609
|
+
label: mergedLabels.titleLabel,
|
|
7610
|
+
placeholder: mergedLabels.titlePlaceholder,
|
|
7344
7611
|
options: titleOptions,
|
|
7345
7612
|
size: "large",
|
|
7346
7613
|
required: true,
|
|
7347
7614
|
validationRules: {
|
|
7348
|
-
required:
|
|
7615
|
+
required: mergedErrors.requiredTitle
|
|
7349
7616
|
}
|
|
7350
7617
|
}
|
|
7351
7618
|
),
|
|
@@ -7355,15 +7622,15 @@ var ModalPassengerForm = ({
|
|
|
7355
7622
|
name: "name",
|
|
7356
7623
|
control,
|
|
7357
7624
|
type: "text",
|
|
7358
|
-
label:
|
|
7359
|
-
placeholder:
|
|
7625
|
+
label: mergedLabels.nameLabel,
|
|
7626
|
+
placeholder: mergedLabels.namePlaceholder,
|
|
7360
7627
|
size: "large",
|
|
7361
7628
|
required: true,
|
|
7362
7629
|
validationRules: {
|
|
7363
|
-
required:
|
|
7630
|
+
required: mergedErrors.requiredName,
|
|
7364
7631
|
minLength: {
|
|
7365
7632
|
value: 3,
|
|
7366
|
-
message:
|
|
7633
|
+
message: mergedErrors.minLengthName
|
|
7367
7634
|
}
|
|
7368
7635
|
}
|
|
7369
7636
|
}
|
|
@@ -7375,13 +7642,13 @@ var ModalPassengerForm = ({
|
|
|
7375
7642
|
name: "idType",
|
|
7376
7643
|
control,
|
|
7377
7644
|
type: "select",
|
|
7378
|
-
label:
|
|
7379
|
-
placeholder:
|
|
7645
|
+
label: mergedLabels.idTypeLabel,
|
|
7646
|
+
placeholder: mergedLabels.idTypePlaceholder,
|
|
7380
7647
|
options: idTypeOptions,
|
|
7381
7648
|
size: "large",
|
|
7382
7649
|
required: true,
|
|
7383
7650
|
validationRules: {
|
|
7384
|
-
required:
|
|
7651
|
+
required: mergedErrors.requiredIdType
|
|
7385
7652
|
}
|
|
7386
7653
|
}
|
|
7387
7654
|
),
|
|
@@ -7391,15 +7658,15 @@ var ModalPassengerForm = ({
|
|
|
7391
7658
|
name: "idNumber",
|
|
7392
7659
|
control,
|
|
7393
7660
|
type: "text",
|
|
7394
|
-
label:
|
|
7395
|
-
placeholder:
|
|
7661
|
+
label: mergedLabels.idNumberLabel,
|
|
7662
|
+
placeholder: mergedLabels.idNumberPlaceholder,
|
|
7396
7663
|
size: "large",
|
|
7397
7664
|
required: true,
|
|
7398
7665
|
validationRules: {
|
|
7399
|
-
required:
|
|
7666
|
+
required: mergedErrors.requiredIdNumber,
|
|
7400
7667
|
minLength: {
|
|
7401
7668
|
value: 6,
|
|
7402
|
-
message:
|
|
7669
|
+
message: mergedErrors.minLengthIdNumber
|
|
7403
7670
|
}
|
|
7404
7671
|
}
|
|
7405
7672
|
}
|
|
@@ -7410,19 +7677,19 @@ var ModalPassengerForm = ({
|
|
|
7410
7677
|
name: "age",
|
|
7411
7678
|
control,
|
|
7412
7679
|
type: "number",
|
|
7413
|
-
label:
|
|
7414
|
-
placeholder:
|
|
7680
|
+
label: mergedLabels.ageLabel,
|
|
7681
|
+
placeholder: mergedLabels.agePlaceholder,
|
|
7415
7682
|
size: "large",
|
|
7416
7683
|
required: true,
|
|
7417
7684
|
validationRules: {
|
|
7418
|
-
required:
|
|
7685
|
+
required: mergedErrors.requiredAge,
|
|
7419
7686
|
min: {
|
|
7420
7687
|
value: 1,
|
|
7421
|
-
message:
|
|
7688
|
+
message: mergedErrors.minAge
|
|
7422
7689
|
},
|
|
7423
7690
|
max: {
|
|
7424
7691
|
value: 150,
|
|
7425
|
-
message:
|
|
7692
|
+
message: mergedErrors.maxAge
|
|
7426
7693
|
}
|
|
7427
7694
|
}
|
|
7428
7695
|
}
|
|
@@ -7433,12 +7700,12 @@ var ModalPassengerForm = ({
|
|
|
7433
7700
|
name: "date",
|
|
7434
7701
|
control,
|
|
7435
7702
|
type: "date",
|
|
7436
|
-
label:
|
|
7437
|
-
placeholder:
|
|
7703
|
+
label: mergedLabels.dateLabel,
|
|
7704
|
+
placeholder: mergedLabels.datePlaceholder,
|
|
7438
7705
|
size: "large",
|
|
7439
7706
|
required: true,
|
|
7440
7707
|
validationRules: {
|
|
7441
|
-
required:
|
|
7708
|
+
required: mergedErrors.requiredDate
|
|
7442
7709
|
}
|
|
7443
7710
|
}
|
|
7444
7711
|
) }),
|
|
@@ -7448,13 +7715,13 @@ var ModalPassengerForm = ({
|
|
|
7448
7715
|
name: "cityId",
|
|
7449
7716
|
control,
|
|
7450
7717
|
type: "select",
|
|
7451
|
-
label:
|
|
7718
|
+
label: mergedLabels.cityLabel,
|
|
7452
7719
|
options: cityOptions,
|
|
7453
|
-
placeholder:
|
|
7720
|
+
placeholder: mergedLabels.cityPlaceholder,
|
|
7454
7721
|
size: "large",
|
|
7455
7722
|
required: true,
|
|
7456
7723
|
validationRules: {
|
|
7457
|
-
required:
|
|
7724
|
+
required: mergedErrors.requiredCity
|
|
7458
7725
|
}
|
|
7459
7726
|
}
|
|
7460
7727
|
),
|
|
@@ -7467,14 +7734,23 @@ var ModalPassengerForm = ({
|
|
|
7467
7734
|
name: "ticketClass",
|
|
7468
7735
|
control,
|
|
7469
7736
|
type: "radiobutton",
|
|
7470
|
-
label:
|
|
7737
|
+
label: mergedLabels.ticketClassLabel,
|
|
7471
7738
|
options: ticketClassOptions,
|
|
7472
7739
|
required: true,
|
|
7473
7740
|
disabled: true
|
|
7474
7741
|
}
|
|
7475
7742
|
),
|
|
7476
7743
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.actions, children: [
|
|
7477
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7744
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7745
|
+
reactComponents.Button,
|
|
7746
|
+
{
|
|
7747
|
+
appearance: "primary",
|
|
7748
|
+
size: "large",
|
|
7749
|
+
shape: "circular",
|
|
7750
|
+
type: "submit",
|
|
7751
|
+
children: mergedLabels.saveButton
|
|
7752
|
+
}
|
|
7753
|
+
),
|
|
7478
7754
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7479
7755
|
reactComponents.Button,
|
|
7480
7756
|
{
|
|
@@ -7483,7 +7759,7 @@ var ModalPassengerForm = ({
|
|
|
7483
7759
|
shape: "circular",
|
|
7484
7760
|
type: "button",
|
|
7485
7761
|
onClick: handleClose,
|
|
7486
|
-
children:
|
|
7762
|
+
children: mergedLabels.cancelButton
|
|
7487
7763
|
}
|
|
7488
7764
|
)
|
|
7489
7765
|
] })
|
|
@@ -7494,7 +7770,7 @@ var ModalPassengerForm = ({
|
|
|
7494
7770
|
};
|
|
7495
7771
|
|
|
7496
7772
|
// src/components/CardPassengerList/CardPassengerList.constants.ts
|
|
7497
|
-
var
|
|
7773
|
+
var DEFAULT_LABELS21 = {
|
|
7498
7774
|
id: {
|
|
7499
7775
|
defaultTitle: "Data Penumpang",
|
|
7500
7776
|
passengerPrefix: "Penumpang"
|
|
@@ -7616,7 +7892,7 @@ var CardPassengerList = ({
|
|
|
7616
7892
|
className
|
|
7617
7893
|
}) => {
|
|
7618
7894
|
const styles = useStyles23();
|
|
7619
|
-
const mergedLabels = { ...
|
|
7895
|
+
const mergedLabels = { ...DEFAULT_LABELS21[language], ...labels };
|
|
7620
7896
|
const displayTitle = title || mergedLabels.defaultTitle;
|
|
7621
7897
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: className || styles.card, children: [
|
|
7622
7898
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
@@ -7687,6 +7963,26 @@ var CardPassengerList = ({
|
|
|
7687
7963
|
}) })
|
|
7688
7964
|
] });
|
|
7689
7965
|
};
|
|
7966
|
+
|
|
7967
|
+
// src/components/CardVehicleDetail/CardVehicleDetail.constants.ts
|
|
7968
|
+
var DEFAULT_LABELS22 = {
|
|
7969
|
+
id: {
|
|
7970
|
+
title: "Detail Kendaraan",
|
|
7971
|
+
vehicleNumberLabel: "Nomor Kendaraan",
|
|
7972
|
+
vehicleNumberPlaceholder: "Contoh: B1234CD",
|
|
7973
|
+
hasLoadLabel: "Apakah kendaraan membawa muatan?",
|
|
7974
|
+
yesLabel: "Ya",
|
|
7975
|
+
noLabel: "Tidak"
|
|
7976
|
+
},
|
|
7977
|
+
en: {
|
|
7978
|
+
title: "Vehicle Details",
|
|
7979
|
+
vehicleNumberLabel: "Vehicle Number",
|
|
7980
|
+
vehicleNumberPlaceholder: "Example: B1234CD",
|
|
7981
|
+
hasLoadLabel: "Does the vehicle carry a load?",
|
|
7982
|
+
yesLabel: "Yes",
|
|
7983
|
+
noLabel: "No"
|
|
7984
|
+
}
|
|
7985
|
+
};
|
|
7690
7986
|
var useStyles24 = reactComponents.makeStyles({
|
|
7691
7987
|
card: {
|
|
7692
7988
|
padding: "1.5rem",
|
|
@@ -7722,14 +8018,27 @@ var CardVehicleDetail = ({
|
|
|
7722
8018
|
vehicleNumberName = "vehicleNumber",
|
|
7723
8019
|
showLoadOption = false,
|
|
7724
8020
|
hasLoad,
|
|
7725
|
-
onHasLoadChange
|
|
8021
|
+
onHasLoadChange,
|
|
8022
|
+
language = "id",
|
|
8023
|
+
labels
|
|
7726
8024
|
}) => {
|
|
7727
8025
|
const styles = useStyles24();
|
|
8026
|
+
const mergedLabels = { ...DEFAULT_LABELS22[language], ...labels };
|
|
7728
8027
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.card, children: [
|
|
7729
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7730
|
-
|
|
7731
|
-
|
|
7732
|
-
|
|
8028
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8029
|
+
"div",
|
|
8030
|
+
{
|
|
8031
|
+
style: {
|
|
8032
|
+
display: "flex",
|
|
8033
|
+
justifyContent: "space-between",
|
|
8034
|
+
alignItems: "center"
|
|
8035
|
+
},
|
|
8036
|
+
children: [
|
|
8037
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: mergedLabels.title }),
|
|
8038
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { flex: 1, marginLeft: "1rem" }, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}) })
|
|
8039
|
+
]
|
|
8040
|
+
}
|
|
8041
|
+
),
|
|
7733
8042
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.vehicleType, children: [
|
|
7734
8043
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7735
8044
|
"img",
|
|
@@ -7744,19 +8053,19 @@ var CardVehicleDetail = ({
|
|
|
7744
8053
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: serviceTitle })
|
|
7745
8054
|
] }),
|
|
7746
8055
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.25rem" }, children: [
|
|
7747
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { style: { color: reactComponents.tokens.colorNeutralForeground1 }, children:
|
|
8056
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { style: { color: reactComponents.tokens.colorNeutralForeground1 }, children: mergedLabels.vehicleNumberLabel }),
|
|
7748
8057
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7749
8058
|
InputDynamic_default,
|
|
7750
8059
|
{
|
|
7751
8060
|
control,
|
|
7752
8061
|
name: vehicleNumberName,
|
|
7753
|
-
placeholder:
|
|
8062
|
+
placeholder: mergedLabels.vehicleNumberPlaceholder,
|
|
7754
8063
|
type: "text"
|
|
7755
8064
|
}
|
|
7756
8065
|
)
|
|
7757
8066
|
] }),
|
|
7758
8067
|
showLoadOption && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.radioGroup, children: [
|
|
7759
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.question, children:
|
|
8068
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.question, children: mergedLabels.hasLoadLabel }),
|
|
7760
8069
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7761
8070
|
reactComponents.RadioGroup,
|
|
7762
8071
|
{
|
|
@@ -7764,14 +8073,112 @@ var CardVehicleDetail = ({
|
|
|
7764
8073
|
onChange: (_, data) => onHasLoadChange?.(data.value),
|
|
7765
8074
|
layout: "horizontal",
|
|
7766
8075
|
children: [
|
|
7767
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "true", label:
|
|
7768
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "false", label:
|
|
8076
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "true", label: mergedLabels.yesLabel }),
|
|
8077
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "false", label: mergedLabels.noLabel })
|
|
7769
8078
|
]
|
|
7770
8079
|
}
|
|
7771
8080
|
)
|
|
7772
8081
|
] })
|
|
7773
8082
|
] });
|
|
7774
8083
|
};
|
|
8084
|
+
|
|
8085
|
+
// src/components/CardVehicleOwnerForm/CardVehicleOwnerForm.constants.ts
|
|
8086
|
+
var DEFAULT_LABELS23 = {
|
|
8087
|
+
id: {
|
|
8088
|
+
title: "Informasi Pemilik & Muatan",
|
|
8089
|
+
addOwnerButton: "Tambah Pemilik",
|
|
8090
|
+
ownerInfoTitle: "Informasi Pemilik {index}",
|
|
8091
|
+
senderNameLabel: "Nama Pengirim",
|
|
8092
|
+
senderTypeCompany: "Perusahaan",
|
|
8093
|
+
senderTypeIndividual: "Perseorangan",
|
|
8094
|
+
selectCompanyPlaceholder: "Pilih Nama Perusahaan",
|
|
8095
|
+
inputSenderNamePlaceholder: "Masukkan Nama Pengirim",
|
|
8096
|
+
estimatedWeightLabel: "Data Estimasi Berat Muatan dan Kendaraan (Ton)",
|
|
8097
|
+
inputNumberPlaceholder: "Masukkan Angka",
|
|
8098
|
+
originCityLabel: "Kota Asal",
|
|
8099
|
+
destinationCityLabel: "Kota Tujuan",
|
|
8100
|
+
selectPlaceholder: "Pilih",
|
|
8101
|
+
cargoOwnerTitle: "Nama Perusahaan Pemilik Barang",
|
|
8102
|
+
cargoOwnerCompanyPlaceholder: "Pilih Nama Perusahaan Pemilik Barang",
|
|
8103
|
+
cargoOwnerIndividualPlaceholder: "Masukkan Nama Pemilik Barang",
|
|
8104
|
+
otherCompanyHelperText: 'Apabila nama perusahaan belum tersedia dapat memilih "Lainnya" dan silakan isi nama perusahaan',
|
|
8105
|
+
logisticsCompanyTitle: "Nama Perusahaan Logistik",
|
|
8106
|
+
logisticsCompanyPlaceholder: "Pilih Nama Perusahaan Logistik",
|
|
8107
|
+
logisticsIndividualPlaceholder: "Masukkan Nama Logistik",
|
|
8108
|
+
cargoReceiverTitle: "Nama Perusahaan Penerima Barang",
|
|
8109
|
+
cargoReceiverCompanyPlaceholder: "Pilih Nama Perusahaan Penerima Barang",
|
|
8110
|
+
cargoReceiverIndividualPlaceholder: "Masukkan Nama Penerima Barang",
|
|
8111
|
+
totalWeightLabel: "Berat Muatan dan Kendaraan (Ton)",
|
|
8112
|
+
cargoListTitle: "Daftar Muatan",
|
|
8113
|
+
cargoItemTitle: "Muatan {index}",
|
|
8114
|
+
commodityLabel: "Data Komoditas",
|
|
8115
|
+
commodityHelperTextPrefix: "Pahami definisi, jenis dan contoh komoditas",
|
|
8116
|
+
hereLinkText: "disini",
|
|
8117
|
+
cargoTypeLabel: "Data Jenis Muatan",
|
|
8118
|
+
cargoTypeHelperText: 'Apabila jenis muatan belum tersedia dapat memilih "Lainnya" dan silakan isi jenis muatannya.',
|
|
8119
|
+
cargoQuantityLabel: "Jumlah Muatan",
|
|
8120
|
+
priceLabel: "Harga",
|
|
8121
|
+
industryTypeLabel: "Data Jenis Industri",
|
|
8122
|
+
industryTypeHelperText: 'Apabila jenis industri belum tersedia dapat memilih "Lainnya" dan silakan isi jenis muatannya.',
|
|
8123
|
+
cargoCategoryLabel: "Kategori Muatan",
|
|
8124
|
+
cargoCategoryHelperTextPrefix: "Pahami definisi, jenis dan contoh kategori muatan",
|
|
8125
|
+
deleteCargoButton: "Hapus Muatan",
|
|
8126
|
+
addCargoButton: "Tambah Muatan",
|
|
8127
|
+
cargoTypeOptions: {
|
|
8128
|
+
karung: "Karung",
|
|
8129
|
+
kg: "Kg",
|
|
8130
|
+
ton: "Ton",
|
|
8131
|
+
unit: "Unit"
|
|
8132
|
+
}
|
|
8133
|
+
},
|
|
8134
|
+
en: {
|
|
8135
|
+
title: "Owner & Cargo Information",
|
|
8136
|
+
addOwnerButton: "Add Owner",
|
|
8137
|
+
ownerInfoTitle: "Owner Information {index}",
|
|
8138
|
+
senderNameLabel: "Sender Name",
|
|
8139
|
+
senderTypeCompany: "Company",
|
|
8140
|
+
senderTypeIndividual: "Individual",
|
|
8141
|
+
selectCompanyPlaceholder: "Select Company Name",
|
|
8142
|
+
inputSenderNamePlaceholder: "Enter Sender Name",
|
|
8143
|
+
estimatedWeightLabel: "Estimated Cargo & Vehicle Weight (Ton)",
|
|
8144
|
+
inputNumberPlaceholder: "Enter Number",
|
|
8145
|
+
originCityLabel: "Origin City",
|
|
8146
|
+
destinationCityLabel: "Destination City",
|
|
8147
|
+
selectPlaceholder: "Select",
|
|
8148
|
+
cargoOwnerTitle: "Cargo Owner Company Name",
|
|
8149
|
+
cargoOwnerCompanyPlaceholder: "Select Cargo Owner Company",
|
|
8150
|
+
cargoOwnerIndividualPlaceholder: "Enter Cargo Owner Name",
|
|
8151
|
+
otherCompanyHelperText: 'If the company name is not available, select "Other" and enter the company name',
|
|
8152
|
+
logisticsCompanyTitle: "Logistics Company Name",
|
|
8153
|
+
logisticsCompanyPlaceholder: "Select Logistics Company",
|
|
8154
|
+
logisticsIndividualPlaceholder: "Enter Logistics Name",
|
|
8155
|
+
cargoReceiverTitle: "Cargo Receiver Company Name",
|
|
8156
|
+
cargoReceiverCompanyPlaceholder: "Select Cargo Receiver Company",
|
|
8157
|
+
cargoReceiverIndividualPlaceholder: "Enter Cargo Receiver Name",
|
|
8158
|
+
totalWeightLabel: "Cargo & Vehicle Weight (Ton)",
|
|
8159
|
+
cargoListTitle: "Cargo List",
|
|
8160
|
+
cargoItemTitle: "Cargo {index}",
|
|
8161
|
+
commodityLabel: "Commodity Data",
|
|
8162
|
+
commodityHelperTextPrefix: "Understand definition, types and examples of commodities",
|
|
8163
|
+
hereLinkText: "here",
|
|
8164
|
+
cargoTypeLabel: "Cargo Type Data",
|
|
8165
|
+
cargoTypeHelperText: 'If the cargo type is not available, select "Other" and enter the cargo type.',
|
|
8166
|
+
cargoQuantityLabel: "Cargo Quantity",
|
|
8167
|
+
priceLabel: "Price",
|
|
8168
|
+
industryTypeLabel: "Industry Type Data",
|
|
8169
|
+
industryTypeHelperText: 'If the industry type is not available, select "Other" and enter the industry type.',
|
|
8170
|
+
cargoCategoryLabel: "Cargo Category",
|
|
8171
|
+
cargoCategoryHelperTextPrefix: "Understand definition, types and examples of cargo categories",
|
|
8172
|
+
deleteCargoButton: "Delete Cargo",
|
|
8173
|
+
addCargoButton: "Add Cargo",
|
|
8174
|
+
cargoTypeOptions: {
|
|
8175
|
+
karung: "Sack",
|
|
8176
|
+
kg: "Kg",
|
|
8177
|
+
ton: "Ton",
|
|
8178
|
+
unit: "Unit"
|
|
8179
|
+
}
|
|
8180
|
+
}
|
|
8181
|
+
};
|
|
7775
8182
|
var useStyles25 = reactComponents.makeStyles({
|
|
7776
8183
|
card: {
|
|
7777
8184
|
padding: "1.5rem",
|
|
@@ -7827,13 +8234,16 @@ var CardVehicleOwnerForm = ({
|
|
|
7827
8234
|
onDeleteCargo,
|
|
7828
8235
|
onUpdateCargoQuantity,
|
|
7829
8236
|
companyOptions = [],
|
|
7830
|
-
cityOptions = []
|
|
8237
|
+
cityOptions = [],
|
|
8238
|
+
language = "id",
|
|
8239
|
+
labels
|
|
7831
8240
|
}) => {
|
|
7832
8241
|
const styles = useStyles25();
|
|
8242
|
+
const mergedLabels = { ...DEFAULT_LABELS23[language], ...labels };
|
|
7833
8243
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.card, children: [
|
|
7834
8244
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.header, children: [
|
|
7835
8245
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", flex: 1 }, children: [
|
|
7836
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { style: { marginRight: "1rem" }, children:
|
|
8246
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { style: { marginRight: "1rem" }, children: mergedLabels.title }),
|
|
7837
8247
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { style: { flex: 1 } })
|
|
7838
8248
|
] }),
|
|
7839
8249
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7843,639 +8253,768 @@ var CardVehicleOwnerForm = ({
|
|
|
7843
8253
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:add-24-regular" }),
|
|
7844
8254
|
style: { color: reactComponents.tokens.colorNeutralForeground2 },
|
|
7845
8255
|
onClick: onAddOwner,
|
|
7846
|
-
children:
|
|
8256
|
+
children: mergedLabels.addOwnerButton
|
|
7847
8257
|
}
|
|
7848
8258
|
)
|
|
7849
8259
|
] }),
|
|
7850
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7851
|
-
reactComponents.
|
|
8260
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8261
|
+
reactComponents.Accordion,
|
|
7852
8262
|
{
|
|
7853
|
-
|
|
7854
|
-
|
|
7855
|
-
|
|
7856
|
-
|
|
7857
|
-
|
|
7858
|
-
|
|
7859
|
-
|
|
7860
|
-
|
|
7861
|
-
|
|
7862
|
-
|
|
7863
|
-
|
|
7864
|
-
|
|
7865
|
-
|
|
7866
|
-
|
|
7867
|
-
|
|
7868
|
-
|
|
7869
|
-
] }),
|
|
7870
|
-
owners.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7871
|
-
reactComponents.Button,
|
|
7872
|
-
{
|
|
7873
|
-
appearance: "transparent",
|
|
7874
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:delete-24-regular" }),
|
|
7875
|
-
onClick: (e) => {
|
|
7876
|
-
e.stopPropagation();
|
|
7877
|
-
onDeleteOwner(owner.id);
|
|
7878
|
-
},
|
|
7879
|
-
style: { color: reactComponents.tokens.colorPaletteRedForeground1 }
|
|
7880
|
-
}
|
|
7881
|
-
)
|
|
7882
|
-
]
|
|
7883
|
-
}
|
|
7884
|
-
) }),
|
|
7885
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionPanel, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.form, children: [
|
|
7886
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
7887
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { lg: 12, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: "Nama Pengirim" }) }),
|
|
7888
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { lg: 6, children: [
|
|
7889
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", gap: "2rem", marginBottom: "0.5rem" }, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7890
|
-
reactComponents.RadioGroup,
|
|
7891
|
-
{
|
|
7892
|
-
layout: "horizontal",
|
|
7893
|
-
value: owner.senderType,
|
|
7894
|
-
onChange: (_, data) => onUpdateOwner(owner.id, {
|
|
7895
|
-
senderType: data.value
|
|
7896
|
-
}),
|
|
7897
|
-
children: [
|
|
7898
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "Perusahaan", label: "Perusahaan" }),
|
|
7899
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "Perseorangan", label: "Perseorangan" })
|
|
7900
|
-
]
|
|
7901
|
-
}
|
|
7902
|
-
) }),
|
|
7903
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7904
|
-
InputDynamic_default,
|
|
7905
|
-
{
|
|
7906
|
-
control,
|
|
7907
|
-
name: `owners.${index}.senderName`,
|
|
7908
|
-
placeholder: owner.senderType === "Perusahaan" ? "Pilih Nama Perusahaan" : "Masukkan Nama Pengirim",
|
|
7909
|
-
size: "large",
|
|
7910
|
-
type: owner.senderType === "Perusahaan" ? "select" : "text",
|
|
7911
|
-
options: owner.senderType === "Perusahaan" ? companyOptions : []
|
|
7912
|
-
}
|
|
7913
|
-
)
|
|
7914
|
-
] }),
|
|
7915
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { lg: 6, children: [
|
|
7916
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { height: "1rem" } }),
|
|
7917
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
7918
|
-
"Data Estimasi Berat Muatan dan Kendaraan (Ton)",
|
|
7919
|
-
" ",
|
|
7920
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
7921
|
-
] }),
|
|
7922
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7923
|
-
InputDynamic_default,
|
|
7924
|
-
{
|
|
7925
|
-
control,
|
|
7926
|
-
name: `owners.${index}.estimatedWeight`,
|
|
7927
|
-
placeholder: "Masukkan Angka",
|
|
7928
|
-
size: "large",
|
|
7929
|
-
type: "number"
|
|
7930
|
-
}
|
|
7931
|
-
)
|
|
7932
|
-
] })
|
|
7933
|
-
] }),
|
|
7934
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
7935
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
7936
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: "Kota Asal" }),
|
|
7937
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7938
|
-
InputDynamic_default,
|
|
7939
|
-
{
|
|
7940
|
-
control,
|
|
7941
|
-
name: `looseCargoOwners.${index}.originCity`,
|
|
7942
|
-
placeholder: "Pilih",
|
|
7943
|
-
type: "select",
|
|
7944
|
-
options: cityOptions
|
|
7945
|
-
}
|
|
7946
|
-
)
|
|
7947
|
-
] }),
|
|
7948
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
7949
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: "Kota Tujuan" }),
|
|
7950
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7951
|
-
InputDynamic_default,
|
|
7952
|
-
{
|
|
7953
|
-
control,
|
|
7954
|
-
name: `looseCargoOwners.${index}.destinationCity`,
|
|
7955
|
-
placeholder: "Pilih",
|
|
7956
|
-
type: "select",
|
|
7957
|
-
options: cityOptions
|
|
7958
|
-
}
|
|
7959
|
-
)
|
|
7960
|
-
] })
|
|
7961
|
-
] }),
|
|
7962
|
-
hasLoad && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
7963
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
7964
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
7965
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
7966
|
-
"Nama Perusahaan Pemilik Barang ",
|
|
7967
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
7968
|
-
] }),
|
|
7969
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", gap: "2rem", marginBottom: "0.5rem" }, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7970
|
-
reactComponents.RadioGroup,
|
|
7971
|
-
{
|
|
7972
|
-
layout: "horizontal",
|
|
7973
|
-
value: owner.cargoOwnerType || "Perusahaan",
|
|
7974
|
-
onChange: (_, data) => onUpdateOwner(owner.id, {
|
|
7975
|
-
cargoOwnerType: data.value
|
|
7976
|
-
}),
|
|
7977
|
-
children: [
|
|
7978
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "Perusahaan", label: "Perusahaan" }),
|
|
7979
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "Perseorangan", label: "Perseorangan" })
|
|
7980
|
-
]
|
|
7981
|
-
}
|
|
7982
|
-
) }),
|
|
7983
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7984
|
-
InputDynamic_default,
|
|
7985
|
-
{
|
|
7986
|
-
control,
|
|
7987
|
-
name: `looseCargoOwners.${index}.cargoOwnerName`,
|
|
7988
|
-
placeholder: owner.cargoOwnerType === "Perusahaan" ? "Pilih Nama Perusahaan Pemilik Barang" : "Masukkan Nama Pemilik Barang",
|
|
7989
|
-
size: "large",
|
|
7990
|
-
type: owner.cargoOwnerType === "Perusahaan" ? "select" : "text",
|
|
7991
|
-
options: owner.cargoOwnerType === "Perusahaan" ? companyOptions : []
|
|
7992
|
-
}
|
|
7993
|
-
),
|
|
7994
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7995
|
-
reactComponents.Caption1,
|
|
8263
|
+
collapsible: true,
|
|
8264
|
+
defaultOpenItems: owners.map((o) => String(o.id)),
|
|
8265
|
+
multiple: true,
|
|
8266
|
+
children: owners.map((owner, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8267
|
+
reactComponents.AccordionItem,
|
|
8268
|
+
{
|
|
8269
|
+
value: String(owner.id),
|
|
8270
|
+
className: styles.accordion,
|
|
8271
|
+
children: [
|
|
8272
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8273
|
+
reactComponents.AccordionHeader,
|
|
8274
|
+
{
|
|
8275
|
+
className: styles.accordionHeader,
|
|
8276
|
+
expandIconPosition: "end",
|
|
8277
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8278
|
+
"div",
|
|
7996
8279
|
{
|
|
7997
8280
|
style: {
|
|
7998
|
-
|
|
7999
|
-
|
|
8281
|
+
display: "flex",
|
|
8282
|
+
justifyContent: "space-between",
|
|
8283
|
+
alignItems: "center",
|
|
8284
|
+
width: "100%"
|
|
8000
8285
|
},
|
|
8001
|
-
children: 'Apabila nama perusahaan belum tersedia dapat memilih "Lainnya" dan silakan isi nama perusahaan'
|
|
8002
|
-
}
|
|
8003
|
-
)
|
|
8004
|
-
] }),
|
|
8005
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
8006
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8007
|
-
"Nama Perusahaan Logistik ",
|
|
8008
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8009
|
-
] }),
|
|
8010
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", gap: "2rem", marginBottom: "0.5rem" }, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8011
|
-
reactComponents.RadioGroup,
|
|
8012
|
-
{
|
|
8013
|
-
layout: "horizontal",
|
|
8014
|
-
value: owner.logisticsCompanyType || "Perseorangan",
|
|
8015
|
-
onChange: (_, data) => onUpdateOwner(owner.id, {
|
|
8016
|
-
logisticsCompanyType: data.value
|
|
8017
|
-
}),
|
|
8018
8286
|
children: [
|
|
8019
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.
|
|
8020
|
-
|
|
8287
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: mergedLabels.ownerInfoTitle.replace(
|
|
8288
|
+
"{index}",
|
|
8289
|
+
(index + 1).toString()
|
|
8290
|
+
) }),
|
|
8291
|
+
owners.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8292
|
+
reactComponents.Button,
|
|
8293
|
+
{
|
|
8294
|
+
appearance: "transparent",
|
|
8295
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:delete-24-regular" }),
|
|
8296
|
+
onClick: (e) => {
|
|
8297
|
+
e.stopPropagation();
|
|
8298
|
+
onDeleteOwner(owner.id);
|
|
8299
|
+
},
|
|
8300
|
+
style: { color: reactComponents.tokens.colorPaletteRedForeground1 }
|
|
8301
|
+
}
|
|
8302
|
+
)
|
|
8021
8303
|
]
|
|
8022
8304
|
}
|
|
8023
|
-
) }),
|
|
8024
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8025
|
-
InputDynamic_default,
|
|
8026
|
-
{
|
|
8027
|
-
control,
|
|
8028
|
-
name: `looseCargoOwners.${index}.logisticsCompanyName`,
|
|
8029
|
-
placeholder: owner.logisticsCompanyType === "Perusahaan" ? "Pilih Nama Perusahaan Logistik" : "Masukkan Nama Logistik",
|
|
8030
|
-
size: "large",
|
|
8031
|
-
type: owner.logisticsCompanyType === "Perusahaan" ? "select" : "text",
|
|
8032
|
-
options: owner.logisticsCompanyType === "Perusahaan" ? companyOptions : []
|
|
8033
|
-
}
|
|
8034
|
-
),
|
|
8035
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8036
|
-
reactComponents.Caption1,
|
|
8037
|
-
{
|
|
8038
|
-
style: {
|
|
8039
|
-
color: reactComponents.tokens.colorNeutralForeground3,
|
|
8040
|
-
marginTop: "0.25rem"
|
|
8041
|
-
},
|
|
8042
|
-
children: 'Apabila nama perusahaan belum tersedia dapat memilih "Lainnya" dan silakan isi nama perusahaan'
|
|
8043
|
-
}
|
|
8044
8305
|
)
|
|
8045
|
-
|
|
8046
|
-
|
|
8047
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8048
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8049
|
-
|
|
8050
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8051
|
-
|
|
8052
|
-
|
|
8053
|
-
layout: "horizontal",
|
|
8054
|
-
value: owner.cargoReceiverType || "Perusahaan",
|
|
8055
|
-
onChange: (_, data) => onUpdateOwner(owner.id, {
|
|
8056
|
-
cargoReceiverType: data.value
|
|
8057
|
-
}),
|
|
8058
|
-
children: [
|
|
8059
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "Perusahaan", label: "Perusahaan" }),
|
|
8060
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Radio, { value: "Perseorangan", label: "Perseorangan" })
|
|
8061
|
-
]
|
|
8062
|
-
}
|
|
8063
|
-
),
|
|
8064
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8065
|
-
InputDynamic_default,
|
|
8066
|
-
{
|
|
8067
|
-
control,
|
|
8068
|
-
name: `looseCargoOwners.${index}.cargoReceiverName`,
|
|
8069
|
-
placeholder: owner.cargoReceiverType === "Perusahaan" ? "Pilih Nama Perusahaan Penerima Barang" : "Masukkan Nama Penerima Barang",
|
|
8070
|
-
size: "large",
|
|
8071
|
-
type: owner.cargoReceiverType === "Perusahaan" ? "select" : "text",
|
|
8072
|
-
options: owner.cargoReceiverType === "Perusahaan" ? companyOptions : []
|
|
8073
|
-
}
|
|
8074
|
-
),
|
|
8075
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8076
|
-
reactComponents.Caption1,
|
|
8077
|
-
{
|
|
8078
|
-
style: {
|
|
8079
|
-
color: reactComponents.tokens.colorNeutralForeground3,
|
|
8080
|
-
marginTop: "0.25rem"
|
|
8081
|
-
},
|
|
8082
|
-
children: 'Apabila nama perusahaan belum tersedia dapat memilih "Lainnya" dan silakan isi nama perusahaan'
|
|
8083
|
-
}
|
|
8084
|
-
)
|
|
8085
|
-
] }),
|
|
8086
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
8087
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { height: ".5rem" } }),
|
|
8088
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8089
|
-
"Berat Muatan dan Kendaraan (Ton)",
|
|
8090
|
-
" ",
|
|
8091
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8092
|
-
] }),
|
|
8093
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8094
|
-
InputDynamic_default,
|
|
8095
|
-
{
|
|
8096
|
-
control,
|
|
8097
|
-
name: `looseCargoOwners.${index}.cargoWeight`,
|
|
8098
|
-
placeholder: "Masukkan Angka",
|
|
8099
|
-
type: "number",
|
|
8100
|
-
size: "large"
|
|
8101
|
-
}
|
|
8102
|
-
)
|
|
8103
|
-
] })
|
|
8104
|
-
] }),
|
|
8105
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: "Daftar Muatan" }) }) }),
|
|
8106
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { xs: 12, children: [
|
|
8107
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8108
|
-
reactComponents.Accordion,
|
|
8109
|
-
{
|
|
8110
|
-
collapsible: true,
|
|
8111
|
-
defaultOpenItems: owner.cargoItems?.map((cargo) => `cargo-${cargo.id}`) || [],
|
|
8112
|
-
multiple: true,
|
|
8113
|
-
children: owner.cargoItems?.map((cargo, cargoIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8114
|
-
reactComponents.AccordionItem,
|
|
8306
|
+
}
|
|
8307
|
+
),
|
|
8308
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionPanel, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.form, children: [
|
|
8309
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
8310
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { lg: 12, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: mergedLabels.senderNameLabel }) }),
|
|
8311
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { lg: 6, children: [
|
|
8312
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8313
|
+
"div",
|
|
8115
8314
|
{
|
|
8116
|
-
|
|
8117
|
-
|
|
8118
|
-
|
|
8119
|
-
|
|
8120
|
-
|
|
8121
|
-
|
|
8122
|
-
|
|
8123
|
-
|
|
8124
|
-
|
|
8125
|
-
|
|
8315
|
+
style: {
|
|
8316
|
+
display: "flex",
|
|
8317
|
+
gap: "2rem",
|
|
8318
|
+
marginBottom: "0.5rem"
|
|
8319
|
+
},
|
|
8320
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8321
|
+
reactComponents.RadioGroup,
|
|
8322
|
+
{
|
|
8323
|
+
layout: "horizontal",
|
|
8324
|
+
value: owner.senderType,
|
|
8325
|
+
onChange: (_, data) => onUpdateOwner(owner.id, {
|
|
8326
|
+
senderType: data.value
|
|
8327
|
+
}),
|
|
8328
|
+
children: [
|
|
8329
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8330
|
+
reactComponents.Radio,
|
|
8126
8331
|
{
|
|
8127
|
-
|
|
8128
|
-
|
|
8129
|
-
|
|
8130
|
-
|
|
8131
|
-
|
|
8132
|
-
|
|
8133
|
-
|
|
8134
|
-
|
|
8135
|
-
|
|
8136
|
-
] })
|
|
8332
|
+
value: "Perusahaan",
|
|
8333
|
+
label: mergedLabels.senderTypeCompany
|
|
8334
|
+
}
|
|
8335
|
+
),
|
|
8336
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8337
|
+
reactComponents.Radio,
|
|
8338
|
+
{
|
|
8339
|
+
value: "Perseorangan",
|
|
8340
|
+
label: mergedLabels.senderTypeIndividual
|
|
8137
8341
|
}
|
|
8138
8342
|
)
|
|
8139
|
-
|
|
8140
|
-
|
|
8141
|
-
|
|
8142
|
-
|
|
8143
|
-
|
|
8144
|
-
|
|
8145
|
-
|
|
8146
|
-
|
|
8147
|
-
|
|
8343
|
+
]
|
|
8344
|
+
}
|
|
8345
|
+
)
|
|
8346
|
+
}
|
|
8347
|
+
),
|
|
8348
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8349
|
+
InputDynamic_default,
|
|
8350
|
+
{
|
|
8351
|
+
control,
|
|
8352
|
+
name: `owners.${index}.senderName`,
|
|
8353
|
+
placeholder: owner.senderType === "Perusahaan" ? mergedLabels.selectCompanyPlaceholder : mergedLabels.inputSenderNamePlaceholder,
|
|
8354
|
+
size: "large",
|
|
8355
|
+
type: owner.senderType === "Perusahaan" ? "select" : "text",
|
|
8356
|
+
options: owner.senderType === "Perusahaan" ? companyOptions : []
|
|
8357
|
+
}
|
|
8358
|
+
)
|
|
8359
|
+
] }),
|
|
8360
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { lg: 6, children: [
|
|
8361
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { height: "1rem" } }),
|
|
8362
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8363
|
+
mergedLabels.estimatedWeightLabel,
|
|
8364
|
+
" ",
|
|
8365
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8366
|
+
] }),
|
|
8367
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8368
|
+
InputDynamic_default,
|
|
8369
|
+
{
|
|
8370
|
+
control,
|
|
8371
|
+
name: `owners.${index}.estimatedWeight`,
|
|
8372
|
+
placeholder: mergedLabels.inputNumberPlaceholder,
|
|
8373
|
+
size: "large",
|
|
8374
|
+
type: "number"
|
|
8375
|
+
}
|
|
8376
|
+
)
|
|
8377
|
+
] })
|
|
8378
|
+
] }),
|
|
8379
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
8380
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
8381
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: mergedLabels.originCityLabel }),
|
|
8382
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8383
|
+
InputDynamic_default,
|
|
8384
|
+
{
|
|
8385
|
+
control,
|
|
8386
|
+
name: `looseCargoOwners.${index}.originCity`,
|
|
8387
|
+
placeholder: mergedLabels.selectPlaceholder,
|
|
8388
|
+
type: "select",
|
|
8389
|
+
options: cityOptions
|
|
8390
|
+
}
|
|
8391
|
+
)
|
|
8392
|
+
] }),
|
|
8393
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
8394
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: mergedLabels.destinationCityLabel }),
|
|
8395
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8396
|
+
InputDynamic_default,
|
|
8397
|
+
{
|
|
8398
|
+
control,
|
|
8399
|
+
name: `looseCargoOwners.${index}.destinationCity`,
|
|
8400
|
+
placeholder: mergedLabels.selectPlaceholder,
|
|
8401
|
+
type: "select",
|
|
8402
|
+
options: cityOptions
|
|
8403
|
+
}
|
|
8404
|
+
)
|
|
8405
|
+
] })
|
|
8406
|
+
] }),
|
|
8407
|
+
hasLoad && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
8408
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
8409
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
8410
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8411
|
+
mergedLabels.cargoOwnerTitle,
|
|
8412
|
+
" ",
|
|
8413
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8414
|
+
] }),
|
|
8415
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8416
|
+
"div",
|
|
8417
|
+
{
|
|
8418
|
+
style: {
|
|
8419
|
+
display: "flex",
|
|
8420
|
+
gap: "2rem",
|
|
8421
|
+
marginBottom: "0.5rem"
|
|
8422
|
+
},
|
|
8423
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8424
|
+
reactComponents.RadioGroup,
|
|
8425
|
+
{
|
|
8426
|
+
layout: "horizontal",
|
|
8427
|
+
value: owner.cargoOwnerType || "Perusahaan",
|
|
8428
|
+
onChange: (_, data) => onUpdateOwner(owner.id, {
|
|
8429
|
+
cargoOwnerType: data.value
|
|
8430
|
+
}),
|
|
8431
|
+
children: [
|
|
8148
8432
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8149
|
-
|
|
8433
|
+
reactComponents.Radio,
|
|
8150
8434
|
{
|
|
8151
|
-
|
|
8152
|
-
|
|
8153
|
-
placeholder: "Pilih",
|
|
8154
|
-
type: "select",
|
|
8155
|
-
options: []
|
|
8435
|
+
value: "Perusahaan",
|
|
8436
|
+
label: mergedLabels.senderTypeCompany
|
|
8156
8437
|
}
|
|
8157
8438
|
),
|
|
8158
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8159
|
-
reactComponents.
|
|
8439
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8440
|
+
reactComponents.Radio,
|
|
8160
8441
|
{
|
|
8161
|
-
|
|
8162
|
-
|
|
8163
|
-
marginTop: "0.25rem"
|
|
8164
|
-
},
|
|
8165
|
-
children: [
|
|
8166
|
-
"Pahami definisi, jenis dan contoh komoditas",
|
|
8167
|
-
" ",
|
|
8168
|
-
/* @__PURE__ */ jsxRuntime.jsx("a", { href: "#", className: styles.link, children: "disini" })
|
|
8169
|
-
]
|
|
8442
|
+
value: "Perseorangan",
|
|
8443
|
+
label: mergedLabels.senderTypeIndividual
|
|
8170
8444
|
}
|
|
8171
8445
|
)
|
|
8172
|
-
]
|
|
8173
|
-
|
|
8174
|
-
|
|
8175
|
-
|
|
8176
|
-
|
|
8177
|
-
|
|
8178
|
-
|
|
8446
|
+
]
|
|
8447
|
+
}
|
|
8448
|
+
)
|
|
8449
|
+
}
|
|
8450
|
+
),
|
|
8451
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8452
|
+
InputDynamic_default,
|
|
8453
|
+
{
|
|
8454
|
+
control,
|
|
8455
|
+
name: `looseCargoOwners.${index}.cargoOwnerName`,
|
|
8456
|
+
placeholder: owner.cargoOwnerType === "Perusahaan" ? mergedLabels.cargoOwnerCompanyPlaceholder : mergedLabels.cargoOwnerIndividualPlaceholder,
|
|
8457
|
+
size: "large",
|
|
8458
|
+
type: owner.cargoOwnerType === "Perusahaan" ? "select" : "text",
|
|
8459
|
+
options: owner.cargoOwnerType === "Perusahaan" ? companyOptions : []
|
|
8460
|
+
}
|
|
8461
|
+
),
|
|
8462
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8463
|
+
reactComponents.Caption1,
|
|
8464
|
+
{
|
|
8465
|
+
style: {
|
|
8466
|
+
color: reactComponents.tokens.colorNeutralForeground3,
|
|
8467
|
+
marginTop: "0.25rem"
|
|
8468
|
+
},
|
|
8469
|
+
children: mergedLabels.otherCompanyHelperText
|
|
8470
|
+
}
|
|
8471
|
+
)
|
|
8472
|
+
] }),
|
|
8473
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
8474
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8475
|
+
mergedLabels.logisticsCompanyTitle,
|
|
8476
|
+
" ",
|
|
8477
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8478
|
+
] }),
|
|
8479
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8480
|
+
"div",
|
|
8481
|
+
{
|
|
8482
|
+
style: {
|
|
8483
|
+
display: "flex",
|
|
8484
|
+
gap: "2rem",
|
|
8485
|
+
marginBottom: "0.5rem"
|
|
8486
|
+
},
|
|
8487
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8488
|
+
reactComponents.RadioGroup,
|
|
8489
|
+
{
|
|
8490
|
+
layout: "horizontal",
|
|
8491
|
+
value: owner.logisticsCompanyType || "Perseorangan",
|
|
8492
|
+
onChange: (_, data) => onUpdateOwner(owner.id, {
|
|
8493
|
+
logisticsCompanyType: data.value
|
|
8494
|
+
}),
|
|
8495
|
+
children: [
|
|
8179
8496
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8180
|
-
|
|
8497
|
+
reactComponents.Radio,
|
|
8181
8498
|
{
|
|
8182
|
-
|
|
8183
|
-
|
|
8184
|
-
placeholder: "Pilih",
|
|
8185
|
-
type: "select",
|
|
8186
|
-
options: [
|
|
8187
|
-
{ value: "karung", label: "Karung" },
|
|
8188
|
-
{ value: "kg", label: "Kg" },
|
|
8189
|
-
{ value: "ton", label: "Ton" },
|
|
8190
|
-
{ value: "unit", label: "Unit" }
|
|
8191
|
-
]
|
|
8499
|
+
value: "Perusahaan",
|
|
8500
|
+
label: mergedLabels.senderTypeCompany
|
|
8192
8501
|
}
|
|
8193
8502
|
),
|
|
8194
8503
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8195
|
-
reactComponents.
|
|
8504
|
+
reactComponents.Radio,
|
|
8196
8505
|
{
|
|
8197
|
-
|
|
8198
|
-
|
|
8199
|
-
marginTop: "0.25rem"
|
|
8200
|
-
},
|
|
8201
|
-
children: 'Apabila jenis muatan belum tersedia dapat memilih "Lainnya" dan silakan isi jenis muatannya.'
|
|
8506
|
+
value: "Perseorangan",
|
|
8507
|
+
label: mergedLabels.senderTypeIndividual
|
|
8202
8508
|
}
|
|
8203
8509
|
)
|
|
8204
|
-
]
|
|
8205
|
-
|
|
8206
|
-
|
|
8207
|
-
|
|
8208
|
-
|
|
8209
|
-
|
|
8210
|
-
|
|
8211
|
-
|
|
8212
|
-
|
|
8213
|
-
|
|
8214
|
-
|
|
8215
|
-
|
|
8216
|
-
|
|
8217
|
-
|
|
8218
|
-
|
|
8219
|
-
|
|
8220
|
-
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
|
|
8510
|
+
]
|
|
8511
|
+
}
|
|
8512
|
+
)
|
|
8513
|
+
}
|
|
8514
|
+
),
|
|
8515
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8516
|
+
InputDynamic_default,
|
|
8517
|
+
{
|
|
8518
|
+
control,
|
|
8519
|
+
name: `looseCargoOwners.${index}.logisticsCompanyName`,
|
|
8520
|
+
placeholder: owner.logisticsCompanyType === "Perusahaan" ? mergedLabels.logisticsCompanyPlaceholder : mergedLabels.logisticsIndividualPlaceholder,
|
|
8521
|
+
size: "large",
|
|
8522
|
+
type: owner.logisticsCompanyType === "Perusahaan" ? "select" : "text",
|
|
8523
|
+
options: owner.logisticsCompanyType === "Perusahaan" ? companyOptions : []
|
|
8524
|
+
}
|
|
8525
|
+
),
|
|
8526
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8527
|
+
reactComponents.Caption1,
|
|
8528
|
+
{
|
|
8529
|
+
style: {
|
|
8530
|
+
color: reactComponents.tokens.colorNeutralForeground3,
|
|
8531
|
+
marginTop: "0.25rem"
|
|
8532
|
+
},
|
|
8533
|
+
children: mergedLabels.otherCompanyHelperText
|
|
8534
|
+
}
|
|
8535
|
+
)
|
|
8536
|
+
] })
|
|
8537
|
+
] }),
|
|
8538
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
8539
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, md: 12, lg: 12, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: mergedLabels.cargoReceiverTitle }) }),
|
|
8540
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
8541
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8542
|
+
reactComponents.RadioGroup,
|
|
8543
|
+
{
|
|
8544
|
+
layout: "horizontal",
|
|
8545
|
+
value: owner.cargoReceiverType || "Perusahaan",
|
|
8546
|
+
onChange: (_, data) => onUpdateOwner(owner.id, {
|
|
8547
|
+
cargoReceiverType: data.value
|
|
8548
|
+
}),
|
|
8549
|
+
children: [
|
|
8550
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8551
|
+
reactComponents.Radio,
|
|
8552
|
+
{
|
|
8553
|
+
value: "Perusahaan",
|
|
8554
|
+
label: mergedLabels.senderTypeCompany
|
|
8555
|
+
}
|
|
8556
|
+
),
|
|
8557
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8558
|
+
reactComponents.Radio,
|
|
8559
|
+
{
|
|
8560
|
+
value: "Perseorangan",
|
|
8561
|
+
label: mergedLabels.senderTypeIndividual
|
|
8562
|
+
}
|
|
8563
|
+
)
|
|
8564
|
+
]
|
|
8565
|
+
}
|
|
8566
|
+
),
|
|
8567
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8568
|
+
InputDynamic_default,
|
|
8569
|
+
{
|
|
8570
|
+
control,
|
|
8571
|
+
name: `looseCargoOwners.${index}.cargoReceiverName`,
|
|
8572
|
+
placeholder: owner.cargoReceiverType === "Perusahaan" ? mergedLabels.cargoReceiverCompanyPlaceholder : mergedLabels.cargoReceiverIndividualPlaceholder,
|
|
8573
|
+
size: "large",
|
|
8574
|
+
type: owner.cargoReceiverType === "Perusahaan" ? "select" : "text",
|
|
8575
|
+
options: owner.cargoReceiverType === "Perusahaan" ? companyOptions : []
|
|
8576
|
+
}
|
|
8577
|
+
),
|
|
8578
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8579
|
+
reactComponents.Caption1,
|
|
8580
|
+
{
|
|
8581
|
+
style: {
|
|
8582
|
+
color: reactComponents.tokens.colorNeutralForeground3,
|
|
8583
|
+
marginTop: "0.25rem"
|
|
8584
|
+
},
|
|
8585
|
+
children: mergedLabels.otherCompanyHelperText
|
|
8586
|
+
}
|
|
8587
|
+
)
|
|
8588
|
+
] }),
|
|
8589
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { children: [
|
|
8590
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { height: ".5rem" } }),
|
|
8591
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8592
|
+
mergedLabels.totalWeightLabel,
|
|
8593
|
+
" ",
|
|
8594
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8595
|
+
] }),
|
|
8596
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8597
|
+
InputDynamic_default,
|
|
8598
|
+
{
|
|
8599
|
+
control,
|
|
8600
|
+
name: `looseCargoOwners.${index}.cargoWeight`,
|
|
8601
|
+
placeholder: mergedLabels.inputNumberPlaceholder,
|
|
8602
|
+
type: "number",
|
|
8603
|
+
size: "large"
|
|
8604
|
+
}
|
|
8605
|
+
)
|
|
8606
|
+
] })
|
|
8607
|
+
] }),
|
|
8608
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: mergedLabels.cargoListTitle }) }) }),
|
|
8609
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { xs: 12, children: [
|
|
8610
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8611
|
+
reactComponents.Accordion,
|
|
8612
|
+
{
|
|
8613
|
+
collapsible: true,
|
|
8614
|
+
defaultOpenItems: owner.cargoItems?.map(
|
|
8615
|
+
(cargo) => `cargo-${cargo.id}`
|
|
8616
|
+
) || [],
|
|
8617
|
+
multiple: true,
|
|
8618
|
+
children: owner.cargoItems?.map((cargo, cargoIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8619
|
+
reactComponents.AccordionItem,
|
|
8620
|
+
{
|
|
8621
|
+
value: `cargo-${cargo.id}`,
|
|
8622
|
+
className: styles.accordion,
|
|
8623
|
+
children: [
|
|
8624
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8625
|
+
reactComponents.AccordionHeader,
|
|
8626
|
+
{
|
|
8627
|
+
className: styles.accordionHeader,
|
|
8628
|
+
expandIconPosition: "end",
|
|
8629
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8630
|
+
"div",
|
|
8631
|
+
{
|
|
8632
|
+
style: {
|
|
8633
|
+
display: "flex",
|
|
8634
|
+
justifyContent: "space-between",
|
|
8635
|
+
alignItems: "center",
|
|
8636
|
+
width: "100%"
|
|
8637
|
+
},
|
|
8638
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: mergedLabels.cargoItemTitle.replace(
|
|
8639
|
+
"{index}",
|
|
8640
|
+
(cargoIndex + 1).toString()
|
|
8641
|
+
) })
|
|
8642
|
+
}
|
|
8643
|
+
)
|
|
8644
|
+
}
|
|
8645
|
+
),
|
|
8646
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.AccordionPanel, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.form, children: [
|
|
8647
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
8648
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { md: 3, children: [
|
|
8649
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8650
|
+
mergedLabels.commodityLabel,
|
|
8651
|
+
" ",
|
|
8652
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8653
|
+
] }),
|
|
8654
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8655
|
+
InputDynamic_default,
|
|
8656
|
+
{
|
|
8657
|
+
control,
|
|
8658
|
+
name: `looseCargoOwners.${index}.cargo.${cargoIndex}.commodity`,
|
|
8659
|
+
placeholder: mergedLabels.selectPlaceholder,
|
|
8660
|
+
type: "select",
|
|
8661
|
+
options: []
|
|
8662
|
+
}
|
|
8663
|
+
),
|
|
8664
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8665
|
+
reactComponents.Caption1,
|
|
8666
|
+
{
|
|
8667
|
+
style: {
|
|
8668
|
+
color: reactComponents.tokens.colorNeutralForeground3,
|
|
8669
|
+
marginTop: "0.25rem"
|
|
8670
|
+
},
|
|
8671
|
+
children: [
|
|
8672
|
+
mergedLabels.commodityHelperTextPrefix,
|
|
8673
|
+
" ",
|
|
8674
|
+
/* @__PURE__ */ jsxRuntime.jsx("a", { href: "#", className: styles.link, children: mergedLabels.hereLinkText })
|
|
8675
|
+
]
|
|
8676
|
+
}
|
|
8677
|
+
)
|
|
8678
|
+
] }),
|
|
8679
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { md: 3, children: [
|
|
8680
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8681
|
+
mergedLabels.cargoTypeLabel,
|
|
8682
|
+
" ",
|
|
8683
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8684
|
+
] }),
|
|
8685
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8686
|
+
InputDynamic_default,
|
|
8687
|
+
{
|
|
8688
|
+
control,
|
|
8689
|
+
name: `looseCargoOwners.${index}.cargo.${cargoIndex}.cargoType`,
|
|
8690
|
+
placeholder: mergedLabels.selectPlaceholder,
|
|
8691
|
+
type: "select",
|
|
8692
|
+
options: [
|
|
8693
|
+
{
|
|
8694
|
+
value: "karung",
|
|
8695
|
+
label: mergedLabels.cargoTypeOptions.karung
|
|
8696
|
+
},
|
|
8697
|
+
{
|
|
8698
|
+
value: "kg",
|
|
8699
|
+
label: mergedLabels.cargoTypeOptions.kg
|
|
8700
|
+
},
|
|
8701
|
+
{
|
|
8702
|
+
value: "ton",
|
|
8703
|
+
label: mergedLabels.cargoTypeOptions.ton
|
|
8228
8704
|
},
|
|
8229
|
-
|
|
8230
|
-
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
|
-
|
|
8705
|
+
{
|
|
8706
|
+
value: "unit",
|
|
8707
|
+
label: mergedLabels.cargoTypeOptions.unit
|
|
8708
|
+
}
|
|
8709
|
+
]
|
|
8710
|
+
}
|
|
8711
|
+
),
|
|
8712
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8713
|
+
reactComponents.Caption1,
|
|
8714
|
+
{
|
|
8715
|
+
style: {
|
|
8716
|
+
color: reactComponents.tokens.colorNeutralForeground3,
|
|
8717
|
+
marginTop: "0.25rem"
|
|
8718
|
+
},
|
|
8719
|
+
children: mergedLabels.cargoTypeHelperText
|
|
8720
|
+
}
|
|
8721
|
+
)
|
|
8722
|
+
] }),
|
|
8723
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { md: 3, children: [
|
|
8724
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: mergedLabels.cargoQuantityLabel }),
|
|
8725
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8726
|
+
"div",
|
|
8727
|
+
{
|
|
8728
|
+
style: {
|
|
8729
|
+
display: "flex",
|
|
8730
|
+
alignItems: "center",
|
|
8731
|
+
border: `1px solid ${reactComponents.tokens.colorNeutralStroke1}`,
|
|
8732
|
+
borderRadius: reactComponents.tokens.borderRadiusMedium,
|
|
8733
|
+
height: "40px",
|
|
8734
|
+
padding: "0 12px",
|
|
8735
|
+
backgroundColor: reactComponents.tokens.colorNeutralBackground1
|
|
8736
|
+
},
|
|
8737
|
+
children: [
|
|
8738
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { flex: 0.5 } }),
|
|
8739
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8740
|
+
"div",
|
|
8741
|
+
{
|
|
8742
|
+
style: {
|
|
8743
|
+
display: "flex",
|
|
8744
|
+
alignItems: "center",
|
|
8745
|
+
gap: "12px"
|
|
8746
|
+
},
|
|
8747
|
+
children: [
|
|
8748
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8749
|
+
reactComponents.Button,
|
|
8236
8750
|
{
|
|
8237
|
-
|
|
8751
|
+
appearance: "transparent",
|
|
8752
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8753
|
+
react.Icon,
|
|
8754
|
+
{
|
|
8755
|
+
icon: "fluent:subtract-circle-24-regular",
|
|
8756
|
+
style: {
|
|
8757
|
+
fontSize: "24px",
|
|
8758
|
+
color: reactComponents.tokens.colorNeutralForeground4
|
|
8759
|
+
}
|
|
8760
|
+
}
|
|
8761
|
+
),
|
|
8762
|
+
size: "small",
|
|
8763
|
+
onClick: () => {
|
|
8764
|
+
const currentVal = getValues(
|
|
8765
|
+
`looseCargoOwners.${index}.cargo.${cargoIndex}.quantity`
|
|
8766
|
+
) || 0;
|
|
8767
|
+
const currentQty = Number(currentVal);
|
|
8768
|
+
if (currentQty > 0) {
|
|
8769
|
+
const newVal = currentQty - 1;
|
|
8770
|
+
setValue(
|
|
8771
|
+
`looseCargoOwners.${index}.cargo.${cargoIndex}.quantity`,
|
|
8772
|
+
newVal
|
|
8773
|
+
);
|
|
8774
|
+
onUpdateCargoQuantity(
|
|
8775
|
+
owner.id,
|
|
8776
|
+
cargo.id,
|
|
8777
|
+
newVal
|
|
8778
|
+
);
|
|
8779
|
+
}
|
|
8780
|
+
},
|
|
8238
8781
|
style: {
|
|
8239
|
-
|
|
8240
|
-
|
|
8782
|
+
minWidth: "32px",
|
|
8783
|
+
padding: "0"
|
|
8241
8784
|
}
|
|
8242
8785
|
}
|
|
8243
8786
|
),
|
|
8244
|
-
|
|
8245
|
-
|
|
8246
|
-
const currentVal = getValues(
|
|
8247
|
-
`looseCargoOwners.${index}.cargo.${cargoIndex}.quantity`
|
|
8248
|
-
) || 0;
|
|
8249
|
-
const currentQty = Number(currentVal);
|
|
8250
|
-
if (currentQty > 0) {
|
|
8251
|
-
const newVal = currentQty - 1;
|
|
8252
|
-
setValue(
|
|
8253
|
-
`looseCargoOwners.${index}.cargo.${cargoIndex}.quantity`,
|
|
8254
|
-
newVal
|
|
8255
|
-
);
|
|
8256
|
-
onUpdateCargoQuantity(owner.id, cargo.id, newVal);
|
|
8257
|
-
}
|
|
8258
|
-
},
|
|
8259
|
-
style: { minWidth: "32px", padding: "0" }
|
|
8260
|
-
}
|
|
8261
|
-
),
|
|
8262
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: "40px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8263
|
-
reactHookForm.Controller,
|
|
8264
|
-
{
|
|
8265
|
-
name: `looseCargoOwners.${index}.cargo.${cargoIndex}.quantity`,
|
|
8266
|
-
control,
|
|
8267
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
8268
|
-
"input",
|
|
8787
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: "40px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8788
|
+
reactHookForm.Controller,
|
|
8269
8789
|
{
|
|
8270
|
-
|
|
8271
|
-
|
|
8272
|
-
|
|
8273
|
-
|
|
8274
|
-
|
|
8275
|
-
|
|
8276
|
-
|
|
8277
|
-
|
|
8278
|
-
|
|
8279
|
-
|
|
8280
|
-
|
|
8281
|
-
|
|
8282
|
-
|
|
8790
|
+
name: `looseCargoOwners.${index}.cargo.${cargoIndex}.quantity`,
|
|
8791
|
+
control,
|
|
8792
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
8793
|
+
"input",
|
|
8794
|
+
{
|
|
8795
|
+
...field,
|
|
8796
|
+
type: "number",
|
|
8797
|
+
style: {
|
|
8798
|
+
border: "none",
|
|
8799
|
+
width: "100%",
|
|
8800
|
+
textAlign: "center",
|
|
8801
|
+
outline: "none",
|
|
8802
|
+
backgroundColor: "transparent",
|
|
8803
|
+
color: reactComponents.tokens.colorNeutralForeground1,
|
|
8804
|
+
fontSize: reactComponents.tokens.fontSizeBase400,
|
|
8805
|
+
fontFamily: reactComponents.tokens.fontFamilyBase
|
|
8806
|
+
},
|
|
8807
|
+
onWheel: (e) => e.target.blur()
|
|
8808
|
+
}
|
|
8809
|
+
)
|
|
8283
8810
|
}
|
|
8284
|
-
)
|
|
8285
|
-
|
|
8286
|
-
|
|
8287
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8288
|
-
reactComponents.Button,
|
|
8289
|
-
{
|
|
8290
|
-
appearance: "transparent",
|
|
8291
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8292
|
-
react.Icon,
|
|
8811
|
+
) }),
|
|
8812
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8813
|
+
reactComponents.Button,
|
|
8293
8814
|
{
|
|
8294
|
-
|
|
8815
|
+
appearance: "transparent",
|
|
8816
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8817
|
+
react.Icon,
|
|
8818
|
+
{
|
|
8819
|
+
icon: "fluent:add-circle-24-regular",
|
|
8820
|
+
style: {
|
|
8821
|
+
fontSize: "24px",
|
|
8822
|
+
color: reactComponents.tokens.colorBrandStroke1
|
|
8823
|
+
}
|
|
8824
|
+
}
|
|
8825
|
+
),
|
|
8826
|
+
size: "small",
|
|
8827
|
+
onClick: () => {
|
|
8828
|
+
const currentVal = getValues(
|
|
8829
|
+
`looseCargoOwners.${index}.cargo.${cargoIndex}.quantity`
|
|
8830
|
+
) || 0;
|
|
8831
|
+
const currentQty = Number(currentVal);
|
|
8832
|
+
const newVal = currentQty + 1;
|
|
8833
|
+
setValue(
|
|
8834
|
+
`looseCargoOwners.${index}.cargo.${cargoIndex}.quantity`,
|
|
8835
|
+
newVal
|
|
8836
|
+
);
|
|
8837
|
+
onUpdateCargoQuantity(
|
|
8838
|
+
owner.id,
|
|
8839
|
+
cargo.id,
|
|
8840
|
+
newVal
|
|
8841
|
+
);
|
|
8842
|
+
},
|
|
8295
8843
|
style: {
|
|
8296
|
-
|
|
8297
|
-
|
|
8844
|
+
minWidth: "32px",
|
|
8845
|
+
padding: "0"
|
|
8298
8846
|
}
|
|
8299
8847
|
}
|
|
8300
|
-
)
|
|
8301
|
-
|
|
8302
|
-
|
|
8303
|
-
|
|
8304
|
-
|
|
8305
|
-
|
|
8306
|
-
|
|
8307
|
-
|
|
8308
|
-
|
|
8309
|
-
|
|
8310
|
-
|
|
8311
|
-
|
|
8312
|
-
|
|
8313
|
-
|
|
8314
|
-
|
|
8315
|
-
|
|
8316
|
-
|
|
8317
|
-
|
|
8318
|
-
|
|
8319
|
-
|
|
8320
|
-
|
|
8321
|
-
|
|
8322
|
-
|
|
8323
|
-
|
|
8324
|
-
|
|
8325
|
-
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
|
|
8329
|
-
|
|
8330
|
-
|
|
8331
|
-
|
|
8332
|
-
|
|
8333
|
-
|
|
8334
|
-
|
|
8335
|
-
|
|
8336
|
-
|
|
8337
|
-
|
|
8338
|
-
|
|
8339
|
-
|
|
8340
|
-
}
|
|
8341
|
-
|
|
8342
|
-
|
|
8343
|
-
|
|
8344
|
-
|
|
8345
|
-
|
|
8346
|
-
|
|
8347
|
-
|
|
8348
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8349
|
-
InputDynamic_default,
|
|
8350
|
-
{
|
|
8351
|
-
control,
|
|
8352
|
-
name: `owners.${index}.price`,
|
|
8353
|
-
placeholder: "Rp. 0",
|
|
8354
|
-
disabled: true,
|
|
8355
|
-
size: "large",
|
|
8356
|
-
type: "text"
|
|
8357
|
-
}
|
|
8358
|
-
)
|
|
8359
|
-
] })
|
|
8360
|
-
] }),
|
|
8361
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
8362
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { md: 6, children: [
|
|
8363
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8364
|
-
"Data Jenis Industri",
|
|
8365
|
-
" ",
|
|
8366
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8848
|
+
)
|
|
8849
|
+
]
|
|
8850
|
+
}
|
|
8851
|
+
),
|
|
8852
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8853
|
+
"div",
|
|
8854
|
+
{
|
|
8855
|
+
style: {
|
|
8856
|
+
flex: 1,
|
|
8857
|
+
textAlign: "left",
|
|
8858
|
+
color: reactComponents.tokens.colorNeutralForeground1,
|
|
8859
|
+
fontSize: reactComponents.tokens.fontSizeBase300,
|
|
8860
|
+
paddingRight: "8px"
|
|
8861
|
+
},
|
|
8862
|
+
children: (() => {
|
|
8863
|
+
const type = watch(
|
|
8864
|
+
`looseCargoOwners.${index}.cargo.${cargoIndex}.cargoType`
|
|
8865
|
+
);
|
|
8866
|
+
if (type === "karung")
|
|
8867
|
+
return mergedLabels.cargoTypeOptions.karung;
|
|
8868
|
+
if (type === "kg")
|
|
8869
|
+
return mergedLabels.cargoTypeOptions.kg;
|
|
8870
|
+
if (type === "ton")
|
|
8871
|
+
return mergedLabels.cargoTypeOptions.ton;
|
|
8872
|
+
if (type === "unit")
|
|
8873
|
+
return mergedLabels.cargoTypeOptions.unit;
|
|
8874
|
+
return "";
|
|
8875
|
+
})()
|
|
8876
|
+
}
|
|
8877
|
+
)
|
|
8878
|
+
]
|
|
8879
|
+
}
|
|
8880
|
+
)
|
|
8881
|
+
] }),
|
|
8882
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { md: 3, children: [
|
|
8883
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.label, children: mergedLabels.priceLabel }),
|
|
8884
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8885
|
+
InputDynamic_default,
|
|
8886
|
+
{
|
|
8887
|
+
control,
|
|
8888
|
+
name: `owners.${index}.price`,
|
|
8889
|
+
placeholder: "Rp. 0",
|
|
8890
|
+
disabled: true,
|
|
8891
|
+
size: "large",
|
|
8892
|
+
type: "text"
|
|
8893
|
+
}
|
|
8894
|
+
)
|
|
8895
|
+
] })
|
|
8367
8896
|
] }),
|
|
8368
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8369
|
-
|
|
8370
|
-
|
|
8371
|
-
|
|
8372
|
-
|
|
8373
|
-
|
|
8374
|
-
|
|
8375
|
-
|
|
8376
|
-
|
|
8377
|
-
|
|
8378
|
-
|
|
8379
|
-
|
|
8380
|
-
|
|
8381
|
-
|
|
8382
|
-
|
|
8383
|
-
|
|
8384
|
-
|
|
8385
|
-
|
|
8386
|
-
|
|
8387
|
-
|
|
8388
|
-
|
|
8389
|
-
|
|
8390
|
-
|
|
8391
|
-
|
|
8392
|
-
|
|
8897
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
8898
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { md: 6, children: [
|
|
8899
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8900
|
+
mergedLabels.industryTypeLabel,
|
|
8901
|
+
" ",
|
|
8902
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8903
|
+
] }),
|
|
8904
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8905
|
+
InputDynamic_default,
|
|
8906
|
+
{
|
|
8907
|
+
control,
|
|
8908
|
+
name: `looseCargoOwners.${index}.cargo.${cargoIndex}.industryType`,
|
|
8909
|
+
placeholder: mergedLabels.selectPlaceholder,
|
|
8910
|
+
type: "select",
|
|
8911
|
+
options: []
|
|
8912
|
+
}
|
|
8913
|
+
),
|
|
8914
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8915
|
+
reactComponents.Caption1,
|
|
8916
|
+
{
|
|
8917
|
+
style: {
|
|
8918
|
+
color: reactComponents.tokens.colorNeutralForeground3,
|
|
8919
|
+
marginTop: "0.25rem"
|
|
8920
|
+
},
|
|
8921
|
+
children: mergedLabels.industryTypeHelperText
|
|
8922
|
+
}
|
|
8923
|
+
)
|
|
8924
|
+
] }),
|
|
8925
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Col, { md: 6, children: [
|
|
8926
|
+
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.label, children: [
|
|
8927
|
+
mergedLabels.cargoCategoryLabel,
|
|
8928
|
+
" ",
|
|
8929
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
8930
|
+
] }),
|
|
8931
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8932
|
+
InputDynamic_default,
|
|
8933
|
+
{
|
|
8934
|
+
control,
|
|
8935
|
+
name: `looseCargoOwners.${index}.cargo.${cargoIndex}.cargoCategory`,
|
|
8936
|
+
placeholder: mergedLabels.selectPlaceholder,
|
|
8937
|
+
type: "select",
|
|
8938
|
+
options: []
|
|
8939
|
+
}
|
|
8940
|
+
),
|
|
8941
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8942
|
+
reactComponents.Caption1,
|
|
8943
|
+
{
|
|
8944
|
+
style: {
|
|
8945
|
+
color: reactComponents.tokens.colorNeutralForeground3,
|
|
8946
|
+
marginTop: "0.25rem"
|
|
8947
|
+
},
|
|
8948
|
+
children: [
|
|
8949
|
+
mergedLabels.cargoCategoryHelperTextPrefix,
|
|
8950
|
+
" ",
|
|
8951
|
+
/* @__PURE__ */ jsxRuntime.jsx("a", { href: "#", className: styles.link, children: mergedLabels.hereLinkText })
|
|
8952
|
+
]
|
|
8953
|
+
}
|
|
8954
|
+
)
|
|
8955
|
+
] })
|
|
8393
8956
|
] }),
|
|
8394
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8395
|
-
|
|
8396
|
-
{
|
|
8397
|
-
control,
|
|
8398
|
-
name: `looseCargoOwners.${index}.cargo.${cargoIndex}.cargoCategory`,
|
|
8399
|
-
placeholder: "Pilih",
|
|
8400
|
-
type: "select",
|
|
8401
|
-
options: []
|
|
8402
|
-
}
|
|
8403
|
-
),
|
|
8404
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8405
|
-
reactComponents.Caption1,
|
|
8957
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: (owner.cargoItems?.length || 0) > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8958
|
+
reactComponents.Button,
|
|
8406
8959
|
{
|
|
8960
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:delete-24-regular" }),
|
|
8961
|
+
onClick: (e) => {
|
|
8962
|
+
e.stopPropagation();
|
|
8963
|
+
onDeleteCargo(owner.id, cargo.id);
|
|
8964
|
+
},
|
|
8965
|
+
onKeyDown: (e) => {
|
|
8966
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
8967
|
+
e.stopPropagation();
|
|
8968
|
+
onDeleteCargo(owner.id, cargo.id);
|
|
8969
|
+
}
|
|
8970
|
+
},
|
|
8971
|
+
size: "medium",
|
|
8972
|
+
shape: "circular",
|
|
8407
8973
|
style: {
|
|
8408
|
-
|
|
8409
|
-
|
|
8974
|
+
border: `1px solid ${reactComponents.tokens.colorPaletteRedForeground1}`,
|
|
8975
|
+
color: reactComponents.tokens.colorPaletteRedForeground1,
|
|
8976
|
+
width: "100%"
|
|
8410
8977
|
},
|
|
8411
|
-
children:
|
|
8412
|
-
"Pahami definisi, jenis dan contoh kategori muatan",
|
|
8413
|
-
" ",
|
|
8414
|
-
/* @__PURE__ */ jsxRuntime.jsx("a", { href: "#", className: styles.link, children: "disini" })
|
|
8415
|
-
]
|
|
8416
|
-
}
|
|
8417
|
-
)
|
|
8418
|
-
] })
|
|
8419
|
-
] }),
|
|
8420
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Row, { children: /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: (owner.cargoItems?.length || 0) > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8421
|
-
reactComponents.Button,
|
|
8422
|
-
{
|
|
8423
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:delete-24-regular" }),
|
|
8424
|
-
onClick: (e) => {
|
|
8425
|
-
e.stopPropagation();
|
|
8426
|
-
onDeleteCargo(owner.id, cargo.id);
|
|
8427
|
-
},
|
|
8428
|
-
onKeyDown: (e) => {
|
|
8429
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
8430
|
-
e.stopPropagation();
|
|
8431
|
-
onDeleteCargo(owner.id, cargo.id);
|
|
8978
|
+
children: mergedLabels.deleteCargoButton
|
|
8432
8979
|
}
|
|
8433
|
-
}
|
|
8434
|
-
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
|
|
8442
|
-
|
|
8443
|
-
|
|
8444
|
-
|
|
8445
|
-
|
|
8446
|
-
|
|
8447
|
-
|
|
8448
|
-
|
|
8449
|
-
|
|
8450
|
-
|
|
8451
|
-
|
|
8452
|
-
|
|
8453
|
-
|
|
8454
|
-
|
|
8455
|
-
|
|
8456
|
-
|
|
8457
|
-
|
|
8458
|
-
|
|
8459
|
-
color: reactComponents.tokens.colorBrandBackground,
|
|
8460
|
-
marginTop: "1rem",
|
|
8461
|
-
width: "100%"
|
|
8462
|
-
},
|
|
8463
|
-
onClick: () => onAddCargo(owner.id),
|
|
8464
|
-
children: "Tambah Muatan"
|
|
8465
|
-
}
|
|
8466
|
-
)
|
|
8980
|
+
) }) })
|
|
8981
|
+
] }) })
|
|
8982
|
+
]
|
|
8983
|
+
},
|
|
8984
|
+
cargo.id
|
|
8985
|
+
))
|
|
8986
|
+
}
|
|
8987
|
+
),
|
|
8988
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8989
|
+
reactComponents.Button,
|
|
8990
|
+
{
|
|
8991
|
+
appearance: "secondary",
|
|
8992
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:add-24-regular" }),
|
|
8993
|
+
shape: "circular",
|
|
8994
|
+
style: {
|
|
8995
|
+
borderColor: reactComponents.tokens.colorBrandStroke1,
|
|
8996
|
+
color: reactComponents.tokens.colorBrandBackground,
|
|
8997
|
+
marginTop: "1rem",
|
|
8998
|
+
width: "100%"
|
|
8999
|
+
},
|
|
9000
|
+
onClick: () => onAddCargo(owner.id),
|
|
9001
|
+
children: mergedLabels.addCargoButton
|
|
9002
|
+
}
|
|
9003
|
+
)
|
|
9004
|
+
] }) })
|
|
9005
|
+
] })
|
|
8467
9006
|
] }) })
|
|
8468
|
-
]
|
|
8469
|
-
|
|
8470
|
-
|
|
8471
|
-
|
|
8472
|
-
|
|
8473
|
-
)
|
|
9007
|
+
]
|
|
9008
|
+
},
|
|
9009
|
+
owner.id
|
|
9010
|
+
))
|
|
9011
|
+
}
|
|
9012
|
+
)
|
|
8474
9013
|
] });
|
|
8475
9014
|
};
|
|
8476
9015
|
|
|
8477
9016
|
// src/components/CardBookingTicket/CardBookingTicket.constants.ts
|
|
8478
|
-
var
|
|
9017
|
+
var DEFAULT_LABELS24 = {
|
|
8479
9018
|
id: {
|
|
8480
9019
|
bookingDetails: "Booking Details",
|
|
8481
9020
|
routeTitle: "Rute Perjalanan",
|
|
@@ -8632,7 +9171,7 @@ var CardBookingTicket = ({
|
|
|
8632
9171
|
className
|
|
8633
9172
|
}) => {
|
|
8634
9173
|
const styles = useStyles26();
|
|
8635
|
-
const mergedLabels = { ...
|
|
9174
|
+
const mergedLabels = { ...DEFAULT_LABELS24[language], ...labels };
|
|
8636
9175
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.container} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.bookingDetail, children: [
|
|
8637
9176
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.bookingDetailTop, children: [
|
|
8638
9177
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.bookingDetails }),
|
|
@@ -8769,14 +9308,60 @@ var CardBookingTicket = ({
|
|
|
8769
9308
|
};
|
|
8770
9309
|
|
|
8771
9310
|
// src/components/CardFAQ/CardFAQ.constants.ts
|
|
8772
|
-
var
|
|
9311
|
+
var DEFAULT_LABELS25 = {
|
|
8773
9312
|
id: {
|
|
8774
|
-
title: "
|
|
9313
|
+
title: "Pertanyaan yang sering diajukan"
|
|
8775
9314
|
},
|
|
8776
9315
|
en: {
|
|
8777
|
-
title: "
|
|
9316
|
+
title: "Frequently Asked Questions"
|
|
8778
9317
|
}
|
|
8779
9318
|
};
|
|
9319
|
+
var DEFAULT_FAQ_ITEMS = {
|
|
9320
|
+
id: [
|
|
9321
|
+
{
|
|
9322
|
+
value: "1",
|
|
9323
|
+
question: "Bagaimana cara memesan tiket?",
|
|
9324
|
+
answer: "Anda dapat memesan tiket melalui halaman pencarian tiket dengan memilih pelabuhan asal, tujuan, dan tanggal keberangkatan."
|
|
9325
|
+
},
|
|
9326
|
+
{
|
|
9327
|
+
value: "2",
|
|
9328
|
+
question: "Apakah bisa mengajukan refund?",
|
|
9329
|
+
answer: "Ya, pengajuan refund dapat dilakukan melalui menu Riwayat Pesanan sesuai dengan syarat dan ketentuan yang berlaku."
|
|
9330
|
+
},
|
|
9331
|
+
{
|
|
9332
|
+
value: "3",
|
|
9333
|
+
question: "Metode pembayaran apa saja yang tersedia?",
|
|
9334
|
+
answer: "Kami mendukung berbagai metode pembayaran termasuk Virtual Account, E-Wallet, dan Kartu Kredit/Debit."
|
|
9335
|
+
},
|
|
9336
|
+
{
|
|
9337
|
+
value: "4",
|
|
9338
|
+
question: "Apakah tiket perlu dicetak?",
|
|
9339
|
+
answer: "Tidak perlu. Anda dapat menunjukkan E-Tiket atau QR Code pada saat check-in di pelabuhan."
|
|
9340
|
+
}
|
|
9341
|
+
],
|
|
9342
|
+
en: [
|
|
9343
|
+
{
|
|
9344
|
+
value: "1",
|
|
9345
|
+
question: "How to book a ticket?",
|
|
9346
|
+
answer: "You can book tickets through the ticket search page by selecting origin, destination, and departure date."
|
|
9347
|
+
},
|
|
9348
|
+
{
|
|
9349
|
+
value: "2",
|
|
9350
|
+
question: "Can I request a refund?",
|
|
9351
|
+
answer: "Yes, refund requests can be made via the Order History menu subject to applicable terms and conditions."
|
|
9352
|
+
},
|
|
9353
|
+
{
|
|
9354
|
+
value: "3",
|
|
9355
|
+
question: "What payment methods are available?",
|
|
9356
|
+
answer: "We support various payment methods including Virtual Account, E-Wallet, and Credit/Debit Cards."
|
|
9357
|
+
},
|
|
9358
|
+
{
|
|
9359
|
+
value: "4",
|
|
9360
|
+
question: "Do I need to print the ticket?",
|
|
9361
|
+
answer: "No physically printed ticket needed. You can show your E-Ticket or QR Code during check-in at the port."
|
|
9362
|
+
}
|
|
9363
|
+
]
|
|
9364
|
+
};
|
|
8780
9365
|
var useStyles27 = reactComponents.makeStyles({
|
|
8781
9366
|
faqSection: {
|
|
8782
9367
|
// marginTop: '2rem', // Let parent control spacing if needed, or keep consistent
|
|
@@ -8795,38 +9380,18 @@ var useStyles27 = reactComponents.makeStyles({
|
|
|
8795
9380
|
fontWeight: reactComponents.tokens.fontWeightBold
|
|
8796
9381
|
}
|
|
8797
9382
|
});
|
|
8798
|
-
var FAQ_ITEMS = [
|
|
8799
|
-
{
|
|
8800
|
-
value: "1",
|
|
8801
|
-
question: "FAQ 1",
|
|
8802
|
-
answer: "Lorem ipsum dolor, sit amet consectetur adipisicing elit. Minus saepe repudiandae dolore pariatur veniam! Aliquam nesciunt saepe, optio inventore fuga quam dignissimos possimus, dolorem alias, blanditiis veniam voluptatibus eaque ex?"
|
|
8803
|
-
},
|
|
8804
|
-
{
|
|
8805
|
-
value: "2",
|
|
8806
|
-
question: "FAQ 2",
|
|
8807
|
-
answer: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Quae dolor consequatur, sit facere ex, ullam quos natus sapiente nihil cum libero velit, labore necessitatibus rem? Tenetur omnis tempora alias totam."
|
|
8808
|
-
},
|
|
8809
|
-
{
|
|
8810
|
-
value: "3",
|
|
8811
|
-
question: "FAQ 3",
|
|
8812
|
-
answer: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Recusandae officiis modi quaerat eum illo, consectetur aperiam atque? Corrupti cupiditate sequi iusto reiciendis dignissimos, eius, nihil temporibus eaque delectus, saepe ullam!"
|
|
8813
|
-
},
|
|
8814
|
-
{
|
|
8815
|
-
value: "4",
|
|
8816
|
-
question: "FAQ 4",
|
|
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!"
|
|
8818
|
-
}
|
|
8819
|
-
];
|
|
8820
9383
|
var CardFAQ = ({
|
|
8821
9384
|
language = "id",
|
|
8822
9385
|
labels,
|
|
9386
|
+
items,
|
|
8823
9387
|
className
|
|
8824
9388
|
}) => {
|
|
8825
9389
|
const styles = useStyles27();
|
|
8826
|
-
const mergedLabels = { ...
|
|
9390
|
+
const mergedLabels = { ...DEFAULT_LABELS25[language], ...labels };
|
|
9391
|
+
const faqItems = items || DEFAULT_FAQ_ITEMS[language];
|
|
8827
9392
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.faqCard, children: [
|
|
8828
9393
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.title }),
|
|
8829
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { collapsible: true, children:
|
|
9394
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { collapsible: true, children: faqItems.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8830
9395
|
reactComponents.AccordionItem,
|
|
8831
9396
|
{
|
|
8832
9397
|
value: item.value,
|
|
@@ -8859,7 +9424,7 @@ var CardFAQ = ({
|
|
|
8859
9424
|
};
|
|
8860
9425
|
|
|
8861
9426
|
// src/components/CardAddon/CardAddon.constants.ts
|
|
8862
|
-
var
|
|
9427
|
+
var DEFAULT_LABELS26 = {
|
|
8863
9428
|
id: {
|
|
8864
9429
|
viewDetail: "Lihat detail",
|
|
8865
9430
|
totalPrice: "Total Harga",
|
|
@@ -9047,7 +9612,7 @@ var CardAddon = ({
|
|
|
9047
9612
|
className
|
|
9048
9613
|
}) => {
|
|
9049
9614
|
const styles = useStyles28();
|
|
9050
|
-
const mergedLabels = { ...
|
|
9615
|
+
const mergedLabels = { ...DEFAULT_LABELS26[language], ...labels };
|
|
9051
9616
|
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.gapRow, children: [
|
|
9052
9617
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.titleDivider, children: [
|
|
9053
9618
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { className: styles.textTitle, children: title }),
|
|
@@ -9239,7 +9804,7 @@ var CardAddon = ({
|
|
|
9239
9804
|
};
|
|
9240
9805
|
|
|
9241
9806
|
// src/components/CardMealCatalog/CardMealCatalog.constants.ts
|
|
9242
|
-
var
|
|
9807
|
+
var DEFAULT_LABELS27 = {
|
|
9243
9808
|
id: {
|
|
9244
9809
|
addButton: "Tambah"
|
|
9245
9810
|
},
|
|
@@ -9387,7 +9952,7 @@ var CardMealCatalog = ({
|
|
|
9387
9952
|
className
|
|
9388
9953
|
}) => {
|
|
9389
9954
|
const styles = useStyles29();
|
|
9390
|
-
const mergedLabels = { ...
|
|
9955
|
+
const mergedLabels = { ...DEFAULT_LABELS27[language], ...labels };
|
|
9391
9956
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
|
|
9392
9957
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.banner, children: [
|
|
9393
9958
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.bannerOverlay }),
|
|
@@ -9477,7 +10042,7 @@ var CardMealCatalog = ({
|
|
|
9477
10042
|
};
|
|
9478
10043
|
|
|
9479
10044
|
// src/components/CardReview/CardReview.constants.ts
|
|
9480
|
-
var
|
|
10045
|
+
var DEFAULT_LABELS28 = {
|
|
9481
10046
|
id: {},
|
|
9482
10047
|
en: {}
|
|
9483
10048
|
};
|
|
@@ -9533,7 +10098,7 @@ var CardReview = ({
|
|
|
9533
10098
|
headerAction
|
|
9534
10099
|
}) => {
|
|
9535
10100
|
const styles = useStyles30();
|
|
9536
|
-
({ ...
|
|
10101
|
+
({ ...DEFAULT_LABELS28[language], ...labels });
|
|
9537
10102
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: [
|
|
9538
10103
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
9539
10104
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: title }),
|
|
@@ -9580,7 +10145,7 @@ var CardReview = ({
|
|
|
9580
10145
|
};
|
|
9581
10146
|
|
|
9582
10147
|
// src/components/CardReviewPassenger/CardReviewPassenger.constants.ts
|
|
9583
|
-
var
|
|
10148
|
+
var DEFAULT_LABELS29 = {
|
|
9584
10149
|
id: {
|
|
9585
10150
|
title: "Penumpang",
|
|
9586
10151
|
idNumber: "Nomor ID"
|
|
@@ -9689,7 +10254,7 @@ var CardReviewPassenger = ({
|
|
|
9689
10254
|
className
|
|
9690
10255
|
}) => {
|
|
9691
10256
|
const styles = useStyles31();
|
|
9692
|
-
const mergedLabels = { ...
|
|
10257
|
+
const mergedLabels = { ...DEFAULT_LABELS29[language], ...labels };
|
|
9693
10258
|
const displayTitle = title || mergedLabels.title;
|
|
9694
10259
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: [
|
|
9695
10260
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
@@ -9732,7 +10297,7 @@ var CardReviewPassenger = ({
|
|
|
9732
10297
|
};
|
|
9733
10298
|
|
|
9734
10299
|
// src/components/CardPriceDetails/CardPriceDetails.constants.ts
|
|
9735
|
-
var
|
|
10300
|
+
var DEFAULT_LABELS30 = {
|
|
9736
10301
|
id: {
|
|
9737
10302
|
defaultTitle: "Rincian Harga",
|
|
9738
10303
|
totalPayment: "Total Pembayaran",
|
|
@@ -9747,7 +10312,8 @@ var DEFAULT_LABELS20 = {
|
|
|
9747
10312
|
agreementLinkFerizy: "Syarat & Ketentuan",
|
|
9748
10313
|
agreementCovidInfo: "Ketentuan persyaratan menyeberang sesuai dengan\xA0",
|
|
9749
10314
|
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."
|
|
10315
|
+
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.",
|
|
10316
|
+
currencyPrefix: "Rp. "
|
|
9751
10317
|
},
|
|
9752
10318
|
en: {
|
|
9753
10319
|
defaultTitle: "Price Details",
|
|
@@ -9763,7 +10329,8 @@ var DEFAULT_LABELS20 = {
|
|
|
9763
10329
|
agreementLinkFerizy: "Ferizy Terms & Conditions",
|
|
9764
10330
|
agreementCovidInfo: "Crossing requirement provisions in accordance with\xA0",
|
|
9765
10331
|
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."
|
|
10332
|
+
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.",
|
|
10333
|
+
currencyPrefix: "Rp. "
|
|
9767
10334
|
}
|
|
9768
10335
|
};
|
|
9769
10336
|
var useStyles32 = reactComponents.makeStyles({
|
|
@@ -9785,11 +10352,11 @@ var useStyles32 = reactComponents.makeStyles({
|
|
|
9785
10352
|
}
|
|
9786
10353
|
});
|
|
9787
10354
|
var PriceDetailsTerms = ({
|
|
9788
|
-
language = "id"
|
|
10355
|
+
language = "id",
|
|
10356
|
+
labels
|
|
9789
10357
|
}) => {
|
|
9790
10358
|
const styles = useStyles32();
|
|
9791
10359
|
const linkColor = reactComponents.tokens.colorBrandBackground;
|
|
9792
|
-
const labels = DEFAULT_LABELS20[language];
|
|
9793
10360
|
const bookingTerms = labels.bookingTerms;
|
|
9794
10361
|
const agreementTerms = [
|
|
9795
10362
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -9889,7 +10456,7 @@ var CardPriceDetails = ({
|
|
|
9889
10456
|
labels
|
|
9890
10457
|
}) => {
|
|
9891
10458
|
const styles = useStyles33();
|
|
9892
|
-
const mergedLabels = { ...
|
|
10459
|
+
const mergedLabels = { ...DEFAULT_LABELS30[language], ...labels };
|
|
9893
10460
|
const displayTitle = title || mergedLabels.defaultTitle;
|
|
9894
10461
|
const getVariantClass = (variant) => {
|
|
9895
10462
|
switch (variant) {
|
|
@@ -9908,10 +10475,10 @@ var CardPriceDetails = ({
|
|
|
9908
10475
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.row, children: [
|
|
9909
10476
|
isTaxLike ? /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { className: variantClass, children: item.name }) : /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: reactComponents.mergeClasses(styles.label, variantClass), children: item.name }),
|
|
9910
10477
|
isTaxLike ? /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1Strong, { className: reactComponents.mergeClasses(styles.value, variantClass), children: [
|
|
9911
|
-
|
|
10478
|
+
mergedLabels.currencyPrefix,
|
|
9912
10479
|
item.price.toLocaleString("id-ID")
|
|
9913
10480
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: reactComponents.mergeClasses(styles.value, variantClass), children: [
|
|
9914
|
-
item.isRedeem ? "-" :
|
|
10481
|
+
item.isRedeem ? "-" : mergedLabels.currencyPrefix,
|
|
9915
10482
|
item.price.toLocaleString("id-ID")
|
|
9916
10483
|
] })
|
|
9917
10484
|
] }),
|
|
@@ -9937,18 +10504,18 @@ var CardPriceDetails = ({
|
|
|
9937
10504
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.totalRow, children: [
|
|
9938
10505
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.totalLabel, children: mergedLabels.totalPayment }),
|
|
9939
10506
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle1, { className: styles.totalValue, children: [
|
|
9940
|
-
|
|
10507
|
+
mergedLabels.currencyPrefix,
|
|
9941
10508
|
total.toLocaleString("id-ID")
|
|
9942
10509
|
] })
|
|
9943
10510
|
] }),
|
|
9944
10511
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
9945
|
-
/* @__PURE__ */ jsxRuntime.jsx(PriceDetailsTerms, { language })
|
|
10512
|
+
/* @__PURE__ */ jsxRuntime.jsx(PriceDetailsTerms, { language, labels: mergedLabels })
|
|
9946
10513
|
] })
|
|
9947
10514
|
] });
|
|
9948
10515
|
};
|
|
9949
10516
|
|
|
9950
10517
|
// src/components/CardPaymentMethodList/CardPaymentMethodList.constants.ts
|
|
9951
|
-
var
|
|
10518
|
+
var DEFAULT_LABELS31 = {
|
|
9952
10519
|
id: {},
|
|
9953
10520
|
en: {}
|
|
9954
10521
|
};
|
|
@@ -10013,7 +10580,7 @@ var CardPaymentMethodList = ({
|
|
|
10013
10580
|
onSelect
|
|
10014
10581
|
}) => {
|
|
10015
10582
|
const styles = useStyles34();
|
|
10016
|
-
({ ...
|
|
10583
|
+
({ ...DEFAULT_LABELS31[language], ...labels });
|
|
10017
10584
|
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: [
|
|
10018
10585
|
index > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.dividerContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}) }),
|
|
10019
10586
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { multiple: true, collapsible: true, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.AccordionItem, { value: category.value, children: [
|
|
@@ -10048,7 +10615,8 @@ var CardPaymentMethodList = ({
|
|
|
10048
10615
|
checked: selectedValue === option.value,
|
|
10049
10616
|
onChange: () => onSelect(option.value),
|
|
10050
10617
|
value: option.value,
|
|
10051
|
-
name: "payment-method"
|
|
10618
|
+
name: "payment-method",
|
|
10619
|
+
disabled: option.disabled
|
|
10052
10620
|
}
|
|
10053
10621
|
)
|
|
10054
10622
|
]
|
|
@@ -10060,7 +10628,7 @@ var CardPaymentMethodList = ({
|
|
|
10060
10628
|
};
|
|
10061
10629
|
|
|
10062
10630
|
// src/components/CardPaymentGuide/CardPaymentGuide.constants.ts
|
|
10063
|
-
var
|
|
10631
|
+
var DEFAULT_LABELS32 = {
|
|
10064
10632
|
id: {
|
|
10065
10633
|
title: "Cara Pembayaran"
|
|
10066
10634
|
},
|
|
@@ -10106,7 +10674,7 @@ var CardPaymentGuide = ({
|
|
|
10106
10674
|
className
|
|
10107
10675
|
}) => {
|
|
10108
10676
|
const styles = useStyles35();
|
|
10109
|
-
const mergedLabels = { ...
|
|
10677
|
+
const mergedLabels = { ...DEFAULT_LABELS32[language], ...labels };
|
|
10110
10678
|
const displayTitle = title || mergedLabels.title;
|
|
10111
10679
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
|
|
10112
10680
|
title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.titleContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.title, children: displayTitle }) }),
|
|
@@ -10125,7 +10693,7 @@ var CardPaymentGuide = ({
|
|
|
10125
10693
|
};
|
|
10126
10694
|
|
|
10127
10695
|
// src/components/CardPaymentInfo/CardPaymentInfo.constants.ts
|
|
10128
|
-
var
|
|
10696
|
+
var DEFAULT_LABELS33 = {
|
|
10129
10697
|
id: {
|
|
10130
10698
|
expiryPrefix: "Kode virtual akun berlaku sampai",
|
|
10131
10699
|
copyCodeButton: "Salin Kode",
|
|
@@ -10224,7 +10792,7 @@ var CardPaymentInfo = ({
|
|
|
10224
10792
|
onCheckStatus
|
|
10225
10793
|
}) => {
|
|
10226
10794
|
const styles = useStyles36();
|
|
10227
|
-
const mergedLabels = { ...
|
|
10795
|
+
const mergedLabels = { ...DEFAULT_LABELS33[language], ...labels };
|
|
10228
10796
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
|
|
10229
10797
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerRow, children: [
|
|
10230
10798
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.expiryPrefix }),
|
|
@@ -10285,7 +10853,7 @@ var CardPaymentInfo = ({
|
|
|
10285
10853
|
};
|
|
10286
10854
|
|
|
10287
10855
|
// src/components/CardStatusOrder/CardStatusOrder.constants.ts
|
|
10288
|
-
var
|
|
10856
|
+
var DEFAULT_LABELS34 = {
|
|
10289
10857
|
id: {
|
|
10290
10858
|
detailTitle: "Detail Pemesanan",
|
|
10291
10859
|
statusLabel: "Status",
|
|
@@ -10384,7 +10952,7 @@ var CardStatusOrder = ({
|
|
|
10384
10952
|
className
|
|
10385
10953
|
}) => {
|
|
10386
10954
|
const styles = useStyles37();
|
|
10387
|
-
const mergedLabels = { ...
|
|
10955
|
+
const mergedLabels = { ...DEFAULT_LABELS34[language], ...labels };
|
|
10388
10956
|
const displayStatus = statusLabel || mergedLabels.defaultStatus;
|
|
10389
10957
|
const displayTitle = title || mergedLabels.defaultTitle;
|
|
10390
10958
|
const displayDescription = description || mergedLabels.defaultDescription;
|
|
@@ -10479,6 +11047,32 @@ var CardStatusOrder = ({
|
|
|
10479
11047
|
) }) })
|
|
10480
11048
|
] }) });
|
|
10481
11049
|
};
|
|
11050
|
+
|
|
11051
|
+
// src/components/ModalPriceDetail/ModalPriceDetail.constants.ts
|
|
11052
|
+
var DEFAULT_LABELS35 = {
|
|
11053
|
+
id: {
|
|
11054
|
+
title: "Rincian Harga",
|
|
11055
|
+
addonHeader: "Add On",
|
|
11056
|
+
subTotalLabel: "Sub Tagihan",
|
|
11057
|
+
totalTagihanLabel: "Total Tagihan",
|
|
11058
|
+
ppnLabel: "PPN (Pajak Pertambahan Nilai) 11%",
|
|
11059
|
+
ppnNote: "*PPN 11% dikenakan untuk biaya layanan dan biaya admin",
|
|
11060
|
+
grandTotalLabel: "Total Pembayaran",
|
|
11061
|
+
currencyPrefix: "Rp.",
|
|
11062
|
+
currencyCode: "IDR."
|
|
11063
|
+
},
|
|
11064
|
+
en: {
|
|
11065
|
+
title: "Price Details",
|
|
11066
|
+
addonHeader: "Add On",
|
|
11067
|
+
subTotalLabel: "Sub Total",
|
|
11068
|
+
totalTagihanLabel: "Total Bill",
|
|
11069
|
+
ppnLabel: "VAT (Value Added Tax) 11%",
|
|
11070
|
+
ppnNote: "*VAT 11% is charged for service fees and admin fees",
|
|
11071
|
+
grandTotalLabel: "Total Payment",
|
|
11072
|
+
currencyPrefix: "Rp.",
|
|
11073
|
+
currencyCode: "IDR."
|
|
11074
|
+
}
|
|
11075
|
+
};
|
|
10482
11076
|
var useStyles38 = reactComponents.makeStyles({
|
|
10483
11077
|
surface: {
|
|
10484
11078
|
width: "680px",
|
|
@@ -10495,7 +11089,10 @@ var useStyles38 = reactComponents.makeStyles({
|
|
|
10495
11089
|
card: {
|
|
10496
11090
|
backgroundColor: reactComponents.tokens.colorNeutralBackground1,
|
|
10497
11091
|
...reactComponents.shorthands.border("1px", "solid", reactComponents.tokens.colorNeutralStroke2),
|
|
10498
|
-
...reactComponents.shorthands.padding(
|
|
11092
|
+
...reactComponents.shorthands.padding(
|
|
11093
|
+
reactComponents.tokens.spacingVerticalXXL,
|
|
11094
|
+
reactComponents.tokens.spacingHorizontalXXL
|
|
11095
|
+
),
|
|
10499
11096
|
boxShadow: "none"
|
|
10500
11097
|
},
|
|
10501
11098
|
content: {
|
|
@@ -10592,6 +11189,8 @@ var useStyles38 = reactComponents.makeStyles({
|
|
|
10592
11189
|
}
|
|
10593
11190
|
});
|
|
10594
11191
|
var ModalPriceDetail = ({
|
|
11192
|
+
language = "id",
|
|
11193
|
+
labels,
|
|
10595
11194
|
isOpen,
|
|
10596
11195
|
onOpenChange,
|
|
10597
11196
|
detailItems,
|
|
@@ -10602,99 +11201,133 @@ var ModalPriceDetail = ({
|
|
|
10602
11201
|
...props
|
|
10603
11202
|
}) => {
|
|
10604
11203
|
const styles = useStyles38();
|
|
10605
|
-
|
|
10606
|
-
|
|
10607
|
-
|
|
10608
|
-
|
|
10609
|
-
|
|
10610
|
-
|
|
10611
|
-
|
|
11204
|
+
const mergedLabels = { ...DEFAULT_LABELS35[language], ...labels };
|
|
11205
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11206
|
+
reactComponents.Dialog,
|
|
11207
|
+
{
|
|
11208
|
+
open: isOpen,
|
|
11209
|
+
onOpenChange: (_, data) => onOpenChange(data.open),
|
|
11210
|
+
...props,
|
|
11211
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogSurface, { className: styles.surface, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogBody, { children: [
|
|
11212
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11213
|
+
reactComponents.DialogTitle,
|
|
10612
11214
|
{
|
|
10613
|
-
|
|
10614
|
-
|
|
10615
|
-
|
|
10616
|
-
"path",
|
|
11215
|
+
className: styles.dialogTitle,
|
|
11216
|
+
action: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogTrigger, { action: "close", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11217
|
+
reactComponents.Button,
|
|
10617
11218
|
{
|
|
10618
|
-
|
|
10619
|
-
|
|
10620
|
-
|
|
10621
|
-
|
|
10622
|
-
|
|
11219
|
+
appearance: "subtle",
|
|
11220
|
+
"aria-label": "close",
|
|
11221
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11222
|
+
"path",
|
|
11223
|
+
{
|
|
11224
|
+
d: "M18 6L6 18M6 6L18 18",
|
|
11225
|
+
stroke: "currentColor",
|
|
11226
|
+
strokeWidth: "2",
|
|
11227
|
+
strokeLinecap: "round",
|
|
11228
|
+
strokeLinejoin: "round"
|
|
11229
|
+
}
|
|
11230
|
+
) })
|
|
10623
11231
|
}
|
|
10624
|
-
) })
|
|
11232
|
+
) }),
|
|
11233
|
+
children: mergedLabels.title
|
|
10625
11234
|
}
|
|
10626
|
-
)
|
|
10627
|
-
children: "
|
|
10628
|
-
|
|
10629
|
-
|
|
10630
|
-
|
|
10631
|
-
|
|
10632
|
-
|
|
10633
|
-
|
|
10634
|
-
|
|
10635
|
-
|
|
11235
|
+
),
|
|
11236
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogContent, { className: styles.content, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: styles.card, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.section, children: [
|
|
11237
|
+
detailItems.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
11238
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.row, children: [
|
|
11239
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [
|
|
11240
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.vehicleTitle, children: item.label }),
|
|
11241
|
+
item.badge && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11242
|
+
reactComponents.Badge,
|
|
11243
|
+
{
|
|
11244
|
+
size: "medium",
|
|
11245
|
+
shape: "rounded",
|
|
11246
|
+
className: styles.badge,
|
|
11247
|
+
children: item.badge
|
|
11248
|
+
}
|
|
11249
|
+
)
|
|
11250
|
+
] }),
|
|
11251
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.priceValue, children: [
|
|
11252
|
+
mergedLabels.currencyPrefix,
|
|
11253
|
+
" ",
|
|
11254
|
+
item.price.toLocaleString("id-ID")
|
|
11255
|
+
] })
|
|
11256
|
+
] }),
|
|
11257
|
+
item.list && item.list.map((subItem) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11258
|
+
"div",
|
|
11259
|
+
{
|
|
11260
|
+
className: styles.passengerDetail,
|
|
11261
|
+
children: [
|
|
11262
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: subItem.label }),
|
|
11263
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { float: "right" }, children: [
|
|
11264
|
+
mergedLabels.currencyCode,
|
|
11265
|
+
" ",
|
|
11266
|
+
item.price.toLocaleString("id-ID")
|
|
11267
|
+
] })
|
|
11268
|
+
]
|
|
11269
|
+
},
|
|
11270
|
+
subItem.key
|
|
11271
|
+
))
|
|
11272
|
+
] }, item.key)),
|
|
11273
|
+
addonItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11274
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.addonHeader, children: mergedLabels.addonHeader }),
|
|
11275
|
+
addonItems.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.row, children: [
|
|
11276
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.itemLabel, children: item.label }),
|
|
11277
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.priceValue, children: [
|
|
11278
|
+
mergedLabels.currencyCode,
|
|
11279
|
+
" ",
|
|
11280
|
+
item.price.toLocaleString("id-ID")
|
|
11281
|
+
] })
|
|
11282
|
+
] }, item.key))
|
|
10636
11283
|
] }),
|
|
10637
|
-
/* @__PURE__ */ jsxRuntime.
|
|
10638
|
-
|
|
10639
|
-
|
|
10640
|
-
|
|
10641
|
-
|
|
10642
|
-
|
|
10643
|
-
|
|
10644
|
-
|
|
10645
|
-
|
|
10646
|
-
|
|
10647
|
-
|
|
10648
|
-
|
|
10649
|
-
|
|
10650
|
-
|
|
10651
|
-
|
|
10652
|
-
|
|
10653
|
-
|
|
10654
|
-
|
|
10655
|
-
|
|
10656
|
-
|
|
10657
|
-
|
|
10658
|
-
|
|
10659
|
-
|
|
10660
|
-
|
|
10661
|
-
|
|
10662
|
-
|
|
10663
|
-
|
|
10664
|
-
|
|
10665
|
-
|
|
10666
|
-
|
|
10667
|
-
|
|
10668
|
-
|
|
10669
|
-
|
|
10670
|
-
|
|
10671
|
-
|
|
10672
|
-
|
|
10673
|
-
|
|
10674
|
-
|
|
10675
|
-
|
|
10676
|
-
|
|
10677
|
-
|
|
10678
|
-
|
|
10679
|
-
|
|
10680
|
-
taxAmount.toLocaleString("id-ID")
|
|
10681
|
-
] })
|
|
10682
|
-
] }),
|
|
10683
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.ppnNote, children: "*PPN 11% dikenakan untuk biaya layanan dan biaya admin" })
|
|
10684
|
-
] }),
|
|
10685
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.row, style: { marginTop: reactComponents.tokens.spacingVerticalXXL }, children: [
|
|
10686
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.grandTotalLabel, children: "Total Pembayaran" }),
|
|
10687
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.grandTotalValue, children: [
|
|
10688
|
-
"Rp.",
|
|
10689
|
-
grandTotal.toLocaleString("id-ID")
|
|
10690
|
-
] })
|
|
10691
|
-
] })
|
|
10692
|
-
] }) }) })
|
|
10693
|
-
] }) }) });
|
|
11284
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { className: styles.divider }),
|
|
11285
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.row, children: [
|
|
11286
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.totalLabel, children: mergedLabels.subTotalLabel }),
|
|
11287
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.totalValue, children: [
|
|
11288
|
+
mergedLabels.currencyCode,
|
|
11289
|
+
subTotal.toLocaleString("id-ID")
|
|
11290
|
+
] })
|
|
11291
|
+
] }),
|
|
11292
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.row, children: [
|
|
11293
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.totalTagihanLabel, children: mergedLabels.totalTagihanLabel }),
|
|
11294
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.totalTagihanValue, children: [
|
|
11295
|
+
mergedLabels.currencyCode,
|
|
11296
|
+
subTotal.toLocaleString("id-ID")
|
|
11297
|
+
] })
|
|
11298
|
+
] }),
|
|
11299
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: reactComponents.tokens.spacingVerticalL }, children: [
|
|
11300
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.row, children: [
|
|
11301
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.ppnLabel, children: mergedLabels.ppnLabel }),
|
|
11302
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.ppnValue, children: [
|
|
11303
|
+
mergedLabels.currencyCode,
|
|
11304
|
+
taxAmount.toLocaleString("id-ID")
|
|
11305
|
+
] })
|
|
11306
|
+
] }),
|
|
11307
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.ppnNote, children: mergedLabels.ppnNote })
|
|
11308
|
+
] }),
|
|
11309
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11310
|
+
"div",
|
|
11311
|
+
{
|
|
11312
|
+
className: styles.row,
|
|
11313
|
+
style: { marginTop: reactComponents.tokens.spacingVerticalXXL },
|
|
11314
|
+
children: [
|
|
11315
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.grandTotalLabel, children: mergedLabels.grandTotalLabel }),
|
|
11316
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.grandTotalValue, children: [
|
|
11317
|
+
mergedLabels.currencyPrefix,
|
|
11318
|
+
grandTotal.toLocaleString("id-ID")
|
|
11319
|
+
] })
|
|
11320
|
+
]
|
|
11321
|
+
}
|
|
11322
|
+
)
|
|
11323
|
+
] }) }) })
|
|
11324
|
+
] }) })
|
|
11325
|
+
}
|
|
11326
|
+
);
|
|
10694
11327
|
};
|
|
10695
11328
|
|
|
10696
11329
|
// src/components/CardProfileMenu/CardProfileMenu.constants.ts
|
|
10697
|
-
var
|
|
11330
|
+
var DEFAULT_LABELS36 = {
|
|
10698
11331
|
id: {},
|
|
10699
11332
|
en: {}
|
|
10700
11333
|
};
|
|
@@ -10757,7 +11390,7 @@ var CardProfileMenu = ({
|
|
|
10757
11390
|
onTabSelect
|
|
10758
11391
|
}) => {
|
|
10759
11392
|
const styles = useStyles39();
|
|
10760
|
-
({ ...
|
|
11393
|
+
({ ...DEFAULT_LABELS36[language], ...labels });
|
|
10761
11394
|
const handleTabSelect = (_, data) => {
|
|
10762
11395
|
onTabSelect(data.value);
|
|
10763
11396
|
};
|
|
@@ -10807,9 +11440,9 @@ exports.CardServiceMenu = CardServiceMenu;
|
|
|
10807
11440
|
exports.CardStatusOrder = CardStatusOrder;
|
|
10808
11441
|
exports.CardTicket = CardTicket;
|
|
10809
11442
|
exports.CardTicketSearch = CardTicketSearch;
|
|
10810
|
-
exports.CardTicketSearchDefaultLabels =
|
|
11443
|
+
exports.CardTicketSearchDefaultLabels = DEFAULT_LABELS7;
|
|
10811
11444
|
exports.CardTicketSearchSummary = CardTicketSearchSummary;
|
|
10812
|
-
exports.CardTicketSearchSummaryDefaultLabels =
|
|
11445
|
+
exports.CardTicketSearchSummaryDefaultLabels = DEFAULT_LABELS8;
|
|
10813
11446
|
exports.CardVehicleDetail = CardVehicleDetail;
|
|
10814
11447
|
exports.CardVehicleOwnerForm = CardVehicleOwnerForm;
|
|
10815
11448
|
exports.CarouselWithCustomNav = CarouselWithCustomNav;
|
|
@@ -10823,11 +11456,11 @@ exports.DEFAULT_SORT_OPTIONS = DEFAULT_SORT_OPTIONS;
|
|
|
10823
11456
|
exports.DEFAULT_TIME_SLOTS = DEFAULT_TIME_SLOTS;
|
|
10824
11457
|
exports.DEFAULT_VEHICLE_ICONS = DEFAULT_VEHICLE_ICONS;
|
|
10825
11458
|
exports.DateFilter = DateFilter;
|
|
10826
|
-
exports.DateFilterDefaultLabels =
|
|
11459
|
+
exports.DateFilterDefaultLabels = DEFAULT_LABELS15;
|
|
10827
11460
|
exports.InputDynamic = InputDynamic_default;
|
|
10828
11461
|
exports.MODAL_PRESETS = MODAL_PRESETS;
|
|
10829
11462
|
exports.ModalFilterTicket = ModalFilterTicket;
|
|
10830
|
-
exports.ModalFilterTicketDefaultLabels =
|
|
11463
|
+
exports.ModalFilterTicketDefaultLabels = DEFAULT_LABELS14;
|
|
10831
11464
|
exports.ModalIllustration = ModalIllustration;
|
|
10832
11465
|
exports.ModalListPassenger = ModalListPassenger;
|
|
10833
11466
|
exports.ModalPassengerForm = ModalPassengerForm;
|