@asdp/ferryui 0.1.22-dev.8649 → 0.1.22-dev.8661
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 +107 -1
- package/dist/index.d.ts +107 -1
- package/dist/index.js +838 -420
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +835 -417
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -199,6 +199,20 @@ var MODAL_PRESETS = {
|
|
|
199
199
|
PURCHASE_PERIOD_EXPIRED: getModalPreset("PURCHASE_PERIOD_EXPIRED", "id"),
|
|
200
200
|
TRANSACTION_LIMIT: getModalPreset("TRANSACTION_LIMIT", "id")
|
|
201
201
|
};
|
|
202
|
+
|
|
203
|
+
// src/components/CarouselWithCustomNav/CarouselWithCustomNav.constants.ts
|
|
204
|
+
var DEFAULT_LABELS2 = {
|
|
205
|
+
id: {
|
|
206
|
+
carouselAriaLabel: "Carousel",
|
|
207
|
+
slideAriaLabel: "Slide {index}",
|
|
208
|
+
announcementTemplate: "Carousel slide {index} dari {total}"
|
|
209
|
+
},
|
|
210
|
+
en: {
|
|
211
|
+
carouselAriaLabel: "Carousel",
|
|
212
|
+
slideAriaLabel: "Slide {index}",
|
|
213
|
+
announcementTemplate: "Carousel slide {index} of {total}"
|
|
214
|
+
}
|
|
215
|
+
};
|
|
202
216
|
var useStyles2 = reactComponents.makeStyles({
|
|
203
217
|
carousel: {},
|
|
204
218
|
customCarouselNav: {
|
|
@@ -256,32 +270,49 @@ var useStyles2 = reactComponents.makeStyles({
|
|
|
256
270
|
}
|
|
257
271
|
}
|
|
258
272
|
});
|
|
259
|
-
var defaultAnnouncement = (index, totalSlides) => {
|
|
260
|
-
return `Carousel slide ${index + 1} of ${totalSlides}`;
|
|
261
|
-
};
|
|
262
273
|
var CarouselWithCustomNav = ({
|
|
274
|
+
language = "id",
|
|
275
|
+
labels: customLabels,
|
|
263
276
|
children,
|
|
264
277
|
circular = true,
|
|
265
278
|
draggable = true,
|
|
266
279
|
align = "start",
|
|
267
280
|
whitespace = false,
|
|
268
|
-
announcement
|
|
281
|
+
announcement: customAnnouncement,
|
|
269
282
|
activeIndex: controlledIndex,
|
|
270
283
|
onActiveIndexChange,
|
|
271
|
-
ariaLabel
|
|
284
|
+
ariaLabel: deprecatedAriaLabel,
|
|
272
285
|
darkNavBackground = true,
|
|
273
286
|
className,
|
|
274
287
|
cardFocus = false
|
|
275
288
|
}) => {
|
|
276
289
|
const styles = useStyles2();
|
|
277
290
|
const [internalIndex, setInternalIndex] = React5.useState(0);
|
|
291
|
+
const labels = React5__default.default.useMemo(
|
|
292
|
+
() => ({
|
|
293
|
+
...DEFAULT_LABELS2[language],
|
|
294
|
+
...customLabels,
|
|
295
|
+
...deprecatedAriaLabel && { carouselAriaLabel: deprecatedAriaLabel }
|
|
296
|
+
}),
|
|
297
|
+
[language, customLabels, deprecatedAriaLabel]
|
|
298
|
+
);
|
|
278
299
|
const activeIndex = controlledIndex !== void 0 ? controlledIndex : internalIndex;
|
|
279
|
-
const handleIndexChange = React5.useCallback(
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
300
|
+
const handleIndexChange = React5.useCallback(
|
|
301
|
+
(index) => {
|
|
302
|
+
if (controlledIndex === void 0) {
|
|
303
|
+
setInternalIndex(index);
|
|
304
|
+
}
|
|
305
|
+
onActiveIndexChange?.(index);
|
|
306
|
+
},
|
|
307
|
+
[controlledIndex, onActiveIndexChange]
|
|
308
|
+
);
|
|
309
|
+
const defaultAnnouncement = React5.useCallback(
|
|
310
|
+
(index, totalSlides) => {
|
|
311
|
+
return labels.announcementTemplate.replace("{index}", (index + 1).toString()).replace("{total}", totalSlides.toString());
|
|
312
|
+
},
|
|
313
|
+
[labels.announcementTemplate]
|
|
314
|
+
);
|
|
315
|
+
const announcement = customAnnouncement || defaultAnnouncement;
|
|
285
316
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
286
317
|
reactComponents.Carousel,
|
|
287
318
|
{
|
|
@@ -298,7 +329,7 @@ var CarouselWithCustomNav = ({
|
|
|
298
329
|
reactComponents.CarouselSlider,
|
|
299
330
|
{
|
|
300
331
|
cardFocus,
|
|
301
|
-
"aria-label":
|
|
332
|
+
"aria-label": labels.carouselAriaLabel,
|
|
302
333
|
children
|
|
303
334
|
}
|
|
304
335
|
) }),
|
|
@@ -311,7 +342,15 @@ var CarouselWithCustomNav = ({
|
|
|
311
342
|
},
|
|
312
343
|
appearance: "brand",
|
|
313
344
|
className: styles.carouselNavButton,
|
|
314
|
-
children: (index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
345
|
+
children: (index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
346
|
+
reactComponents.CarouselNavButton,
|
|
347
|
+
{
|
|
348
|
+
"aria-label": labels.slideAriaLabel.replace(
|
|
349
|
+
"{index}",
|
|
350
|
+
(index + 1).toString()
|
|
351
|
+
)
|
|
352
|
+
}
|
|
353
|
+
)
|
|
315
354
|
}
|
|
316
355
|
)
|
|
317
356
|
]
|
|
@@ -320,14 +359,20 @@ var CarouselWithCustomNav = ({
|
|
|
320
359
|
};
|
|
321
360
|
|
|
322
361
|
// src/components/CardPromo/CardPromo.constants.ts
|
|
323
|
-
var
|
|
362
|
+
var DEFAULT_LABELS3 = {
|
|
324
363
|
id: {
|
|
325
364
|
defaultImageAlt: "Gambar Promo",
|
|
326
|
-
defaultButtonText: "Lihat Detail"
|
|
365
|
+
defaultButtonText: "Lihat Detail",
|
|
366
|
+
promoAriaLabel: "Promo {index} dari {total}",
|
|
367
|
+
promoAriaLabelSingle: "Promo {index}",
|
|
368
|
+
loadingContent: "Memuat konten"
|
|
327
369
|
},
|
|
328
370
|
en: {
|
|
329
371
|
defaultImageAlt: "Promo Image",
|
|
330
|
-
defaultButtonText: "View Details"
|
|
372
|
+
defaultButtonText: "View Details",
|
|
373
|
+
promoAriaLabel: "Promo {index} of {total}",
|
|
374
|
+
promoAriaLabelSingle: "Promo {index}",
|
|
375
|
+
loadingContent: "Loading content"
|
|
331
376
|
}
|
|
332
377
|
};
|
|
333
378
|
var useStyles3 = reactComponents.makeStyles({
|
|
@@ -431,10 +476,13 @@ var CardPromo = ({
|
|
|
431
476
|
labels
|
|
432
477
|
}) => {
|
|
433
478
|
const classes = useStyles3();
|
|
434
|
-
const mergedLabels = { ...
|
|
479
|
+
const mergedLabels = { ...DEFAULT_LABELS3[language], ...labels };
|
|
435
480
|
const displayImageAlt = imageAlt || mergedLabels.defaultImageAlt;
|
|
436
481
|
const displayButtonText = buttonText || mergedLabels.defaultButtonText;
|
|
437
|
-
const ariaLabel = totalCards ?
|
|
482
|
+
const ariaLabel = totalCards ? mergedLabels.promoAriaLabel.replace("{index}", (index + 1).toString()).replace("{total}", totalCards.toString()) : mergedLabels.promoAriaLabelSingle.replace(
|
|
483
|
+
"{index}",
|
|
484
|
+
(index + 1).toString()
|
|
485
|
+
);
|
|
438
486
|
if (isLoading) {
|
|
439
487
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
440
488
|
reactComponents.CarouselCard,
|
|
@@ -442,7 +490,7 @@ var CardPromo = ({
|
|
|
442
490
|
autoSize: true,
|
|
443
491
|
className: reactComponents.mergeClasses(classes.actionCard, className),
|
|
444
492
|
style: { cursor: "default" },
|
|
445
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { "aria-label":
|
|
493
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Skeleton, { "aria-label": mergedLabels.loadingContent, children: [
|
|
446
494
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: reactComponents.mergeClasses(classes.imageContainer, imageClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
447
495
|
reactComponents.SkeletonItem,
|
|
448
496
|
{
|
|
@@ -532,7 +580,7 @@ var CardPromo = ({
|
|
|
532
580
|
};
|
|
533
581
|
|
|
534
582
|
// src/components/CardBanner/CardBanner.constants.ts
|
|
535
|
-
var
|
|
583
|
+
var DEFAULT_LABELS4 = {
|
|
536
584
|
id: {
|
|
537
585
|
bannerAriaLabel: "Banner {index} dari {total}",
|
|
538
586
|
bannerAriaLabelSingle: "Banner {index}",
|
|
@@ -577,7 +625,7 @@ var CardBanner = ({
|
|
|
577
625
|
}) => {
|
|
578
626
|
const classes = useStyles4();
|
|
579
627
|
const mergedLabels = {
|
|
580
|
-
...
|
|
628
|
+
...DEFAULT_LABELS4[language],
|
|
581
629
|
...labels
|
|
582
630
|
};
|
|
583
631
|
const ariaLabel = totalBanners ? mergedLabels.bannerAriaLabel.replace("{index}", (index + 1).toString()).replace("{total}", totalBanners.toString()) : mergedLabels.bannerAriaLabelSingle.replace(
|
|
@@ -760,7 +808,7 @@ var extendedTokens = {
|
|
|
760
808
|
colorBrandForegroundLinkSelected: customBrand[110]});
|
|
761
809
|
|
|
762
810
|
// src/components/CardTicket/CardTicket.constants.ts
|
|
763
|
-
var
|
|
811
|
+
var DEFAULT_LABELS5 = {
|
|
764
812
|
id: {
|
|
765
813
|
availableSeatsLabel: "Tersedia",
|
|
766
814
|
estimationPrefix: "Estimasi",
|
|
@@ -769,7 +817,9 @@ var DEFAULT_LABELS4 = {
|
|
|
769
817
|
totalPriceLabel: "Total harga",
|
|
770
818
|
facilitiesLabel: "Fasilitas",
|
|
771
819
|
selectTicketButton: "Pilih Tiket",
|
|
772
|
-
timezoneLabel: "WIB"
|
|
820
|
+
timezoneLabel: "WIB",
|
|
821
|
+
currencySymbol: "IDR",
|
|
822
|
+
logoAlt: "Logo ASDP"
|
|
773
823
|
},
|
|
774
824
|
en: {
|
|
775
825
|
availableSeatsLabel: "Available",
|
|
@@ -779,7 +829,9 @@ var DEFAULT_LABELS4 = {
|
|
|
779
829
|
totalPriceLabel: "Total price",
|
|
780
830
|
facilitiesLabel: "Facilities",
|
|
781
831
|
selectTicketButton: "Select Ticket",
|
|
782
|
-
timezoneLabel: "WIB"
|
|
832
|
+
timezoneLabel: "WIB",
|
|
833
|
+
currencySymbol: "IDR",
|
|
834
|
+
logoAlt: "ASDP Logo"
|
|
783
835
|
}
|
|
784
836
|
};
|
|
785
837
|
var useStyles5 = reactComponents.makeStyles({
|
|
@@ -1002,7 +1054,7 @@ var CardTicket = ({
|
|
|
1002
1054
|
}) => {
|
|
1003
1055
|
const styles = useStyles5();
|
|
1004
1056
|
const { width } = useWindowSize();
|
|
1005
|
-
const mergedLabels = { ...
|
|
1057
|
+
const mergedLabels = { ...DEFAULT_LABELS5[language], ...labels };
|
|
1006
1058
|
const getCircularVerticalConfig = () => {
|
|
1007
1059
|
if (width <= 1600) return { count: 6, spacing: 60, top: 10 };
|
|
1008
1060
|
return { count: 5, spacing: 60, top: 18 };
|
|
@@ -1079,7 +1131,7 @@ var CardTicket = ({
|
|
|
1079
1131
|
{
|
|
1080
1132
|
src: "/assets/logo/asdp-default.svg",
|
|
1081
1133
|
className: styles.asdpLogo,
|
|
1082
|
-
alt:
|
|
1134
|
+
alt: mergedLabels.logoAlt,
|
|
1083
1135
|
height: 56,
|
|
1084
1136
|
width: 82
|
|
1085
1137
|
}
|
|
@@ -1284,8 +1336,11 @@ var CardTicket = ({
|
|
|
1284
1336
|
justifyContent: "end"
|
|
1285
1337
|
},
|
|
1286
1338
|
children: [
|
|
1287
|
-
|
|
1288
|
-
|
|
1339
|
+
mergedLabels.currencySymbol,
|
|
1340
|
+
"\xA0",
|
|
1341
|
+
totalPrice.toLocaleString(
|
|
1342
|
+
language === "id" ? "id-ID" : "en-US"
|
|
1343
|
+
)
|
|
1289
1344
|
]
|
|
1290
1345
|
}
|
|
1291
1346
|
)
|
|
@@ -1508,7 +1563,7 @@ var BackgroundTicketCardVertical = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
1508
1563
|
var BackgroundTicketCardVertical_default = BackgroundTicketCardVertical;
|
|
1509
1564
|
|
|
1510
1565
|
// src/components/CardServiceMenu/CardServiceMenu.constants.ts
|
|
1511
|
-
var
|
|
1566
|
+
var DEFAULT_LABELS6 = {
|
|
1512
1567
|
id: {
|
|
1513
1568
|
ferryLabel: "Ferry",
|
|
1514
1569
|
ferryDescription: "Layanan penyeberangan ferry ASDP",
|
|
@@ -1519,7 +1574,8 @@ var DEFAULT_LABELS5 = {
|
|
|
1519
1574
|
hotelLabel: "Hotel",
|
|
1520
1575
|
hotelDescription: "Layanan pemesanan hotel",
|
|
1521
1576
|
otherLabel: "Lainnya",
|
|
1522
|
-
otherDescription: "Layanan lainnya"
|
|
1577
|
+
otherDescription: "Layanan lainnya",
|
|
1578
|
+
serviceAriaLabel: "Layanan"
|
|
1523
1579
|
},
|
|
1524
1580
|
en: {
|
|
1525
1581
|
ferryLabel: "Ferry",
|
|
@@ -1531,7 +1587,8 @@ var DEFAULT_LABELS5 = {
|
|
|
1531
1587
|
hotelLabel: "Hotel",
|
|
1532
1588
|
hotelDescription: "Hotel Booking Service",
|
|
1533
1589
|
otherLabel: "Other",
|
|
1534
|
-
otherDescription: "Other Services"
|
|
1590
|
+
otherDescription: "Other Services",
|
|
1591
|
+
serviceAriaLabel: "Service"
|
|
1535
1592
|
}
|
|
1536
1593
|
};
|
|
1537
1594
|
var ALIAS_MENU_ITEMS = {
|
|
@@ -1657,7 +1714,7 @@ var CardServiceMenu = ({
|
|
|
1657
1714
|
labels
|
|
1658
1715
|
}) => {
|
|
1659
1716
|
const styles = useStyles6();
|
|
1660
|
-
const mergedLabels = { ...
|
|
1717
|
+
const mergedLabels = { ...DEFAULT_LABELS6[language], ...labels };
|
|
1661
1718
|
const getMenuItemClass = (serviceId) => {
|
|
1662
1719
|
const isActive = activeServiceId === serviceId;
|
|
1663
1720
|
return reactComponents.mergeClasses(styles.menuItem, isActive && styles.menuItemActive);
|
|
@@ -1674,6 +1731,7 @@ var CardServiceMenu = ({
|
|
|
1674
1731
|
{
|
|
1675
1732
|
className: getMenuItemClass(item.id),
|
|
1676
1733
|
onClick: () => onServiceClick?.(item.id),
|
|
1734
|
+
"aria-label": `${mergedLabels.serviceAriaLabel} ${label}`,
|
|
1677
1735
|
children: [
|
|
1678
1736
|
/* @__PURE__ */ jsxRuntime.jsx("img", { src: item.logo, alt: label, className: styles.logo }),
|
|
1679
1737
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.textContent, children: [
|
|
@@ -1729,68 +1787,83 @@ var DatePickerInput = React5.forwardRef(
|
|
|
1729
1787
|
}
|
|
1730
1788
|
onClick?.(e);
|
|
1731
1789
|
};
|
|
1732
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
appearance,
|
|
1742
|
-
size,
|
|
1743
|
-
contentBefore,
|
|
1744
|
-
onClick: handleInputClick,
|
|
1745
|
-
style: {
|
|
1746
|
-
cursor: disabled ? "not-allowed" : "pointer",
|
|
1747
|
-
...style
|
|
1748
|
-
},
|
|
1749
|
-
contentAfter: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1750
|
-
"div",
|
|
1790
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1791
|
+
reactComponents.Popover,
|
|
1792
|
+
{
|
|
1793
|
+
open: isOpen,
|
|
1794
|
+
onOpenChange: (_, data) => setIsOpen(data.open),
|
|
1795
|
+
trapFocus: true,
|
|
1796
|
+
children: [
|
|
1797
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.PopoverTrigger, { disableButtonEnhancement: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1798
|
+
reactComponents.Input,
|
|
1751
1799
|
{
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1800
|
+
...restProps,
|
|
1801
|
+
value: formatDate(field.value),
|
|
1802
|
+
readOnly: true,
|
|
1803
|
+
placeholder,
|
|
1804
|
+
disabled,
|
|
1805
|
+
appearance,
|
|
1806
|
+
size,
|
|
1807
|
+
contentBefore,
|
|
1808
|
+
onClick: handleInputClick,
|
|
1758
1809
|
style: {
|
|
1759
1810
|
cursor: disabled ? "not-allowed" : "pointer",
|
|
1760
|
-
|
|
1761
|
-
alignItems: "center"
|
|
1811
|
+
...style
|
|
1762
1812
|
},
|
|
1763
|
-
|
|
1813
|
+
contentAfter: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1814
|
+
"div",
|
|
1815
|
+
{
|
|
1816
|
+
onClick: (e) => {
|
|
1817
|
+
e.stopPropagation();
|
|
1818
|
+
if (!disabled) {
|
|
1819
|
+
setIsOpen(!isOpen);
|
|
1820
|
+
}
|
|
1821
|
+
},
|
|
1822
|
+
style: {
|
|
1823
|
+
cursor: disabled ? "not-allowed" : "pointer",
|
|
1824
|
+
display: "flex",
|
|
1825
|
+
alignItems: "center"
|
|
1826
|
+
},
|
|
1827
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:calendar-24-regular" })
|
|
1828
|
+
}
|
|
1829
|
+
)
|
|
1764
1830
|
}
|
|
1765
|
-
)
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1831
|
+
) }),
|
|
1832
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.PopoverSurface, { tabIndex: -1, style: { maxWidth: "530px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1833
|
+
reactCalendarCompat.Calendar,
|
|
1834
|
+
{
|
|
1835
|
+
value: dateValue,
|
|
1836
|
+
onSelectDate,
|
|
1837
|
+
showGoToToday: true,
|
|
1838
|
+
highlightSelectedMonth: true,
|
|
1839
|
+
showMonthPickerAsOverlay: false,
|
|
1840
|
+
maxDate: max ? new Date(max) : void 0
|
|
1841
|
+
}
|
|
1842
|
+
) })
|
|
1843
|
+
]
|
|
1844
|
+
}
|
|
1845
|
+
);
|
|
1780
1846
|
}
|
|
1781
1847
|
);
|
|
1782
1848
|
DatePickerInput.displayName = "DatePickerInput";
|
|
1783
1849
|
var DatePickerInput_default = DatePickerInput;
|
|
1784
1850
|
|
|
1785
1851
|
// src/components/InputDynamic/InputDynamic.constants.ts
|
|
1786
|
-
var
|
|
1852
|
+
var DEFAULT_LABELS7 = {
|
|
1787
1853
|
id: {
|
|
1788
1854
|
emailOrPhonePlaceholder: "Email atau Nomor HP",
|
|
1789
1855
|
emailPlaceholder: "Email",
|
|
1790
1856
|
phonePlaceholder: "Nomor HP",
|
|
1791
1857
|
identityPlaceholder: "Email, KTP, SIM, Passport, atau Nomor Telepon",
|
|
1792
1858
|
identityPhonePlaceholder: "Nomor telepon",
|
|
1793
|
-
identityIdPlaceholder: "KTP, SIM, atau Passport"
|
|
1859
|
+
identityIdPlaceholder: "KTP, SIM, atau Passport",
|
|
1860
|
+
showPasswordAriaLabel: "Tampilkan kata sandi",
|
|
1861
|
+
hidePasswordAriaLabel: "Sembunyikan kata sandi",
|
|
1862
|
+
datePickerPlaceholder: "Pilih tanggal",
|
|
1863
|
+
phoneDefaultPlaceholder: "Nomor telepon",
|
|
1864
|
+
requiredFieldError: "Field ini wajib diisi",
|
|
1865
|
+
invalidEmailError: "Email tidak valid",
|
|
1866
|
+
emailOrPhoneRequiredError: "Email atau nomor HP wajib diisi"
|
|
1794
1867
|
},
|
|
1795
1868
|
en: {
|
|
1796
1869
|
emailOrPhonePlaceholder: "Email or Phone Number",
|
|
@@ -1798,7 +1871,14 @@ var DEFAULT_LABELS6 = {
|
|
|
1798
1871
|
phonePlaceholder: "Phone Number",
|
|
1799
1872
|
identityPlaceholder: "Email, ID Card, Driving License, Passport, or Phone Number",
|
|
1800
1873
|
identityPhonePlaceholder: "Phone Number",
|
|
1801
|
-
identityIdPlaceholder: "ID Card, Driving License, or Passport"
|
|
1874
|
+
identityIdPlaceholder: "ID Card, Driving License, or Passport",
|
|
1875
|
+
showPasswordAriaLabel: "Show password",
|
|
1876
|
+
hidePasswordAriaLabel: "Hide password",
|
|
1877
|
+
datePickerPlaceholder: "Select date",
|
|
1878
|
+
phoneDefaultPlaceholder: "Phone number",
|
|
1879
|
+
requiredFieldError: "This field is required",
|
|
1880
|
+
invalidEmailError: "Invalid email",
|
|
1881
|
+
emailOrPhoneRequiredError: "Email or phone number is required"
|
|
1802
1882
|
}
|
|
1803
1883
|
};
|
|
1804
1884
|
var PhoneInput = PhoneInputComponent__default.default.default || PhoneInputComponent__default.default;
|
|
@@ -2048,7 +2128,7 @@ var InputDynamic = ({
|
|
|
2048
2128
|
labels
|
|
2049
2129
|
}) => {
|
|
2050
2130
|
const styles = useStyles7();
|
|
2051
|
-
const mergedLabels = { ...
|
|
2131
|
+
const mergedLabels = { ...DEFAULT_LABELS7[language], ...labels };
|
|
2052
2132
|
const [showPassword, setShowPassword] = React5.useState(false);
|
|
2053
2133
|
const [isPhoneMode, setIsPhoneMode] = React5.useState(false);
|
|
2054
2134
|
const [emailOrPhoneType, setEmailOrPhoneType] = React5.useState("none");
|
|
@@ -2481,7 +2561,7 @@ var InputDynamic = ({
|
|
|
2481
2561
|
const cleanedValue = cleanPhoneValue(value || "");
|
|
2482
2562
|
field.onChange(cleanedValue);
|
|
2483
2563
|
},
|
|
2484
|
-
placeholder: placeholder ||
|
|
2564
|
+
placeholder: placeholder || mergedLabels.phoneDefaultPlaceholder,
|
|
2485
2565
|
disabled,
|
|
2486
2566
|
enableSearch: true,
|
|
2487
2567
|
disableSearchIcon: true
|
|
@@ -2522,7 +2602,7 @@ var InputDynamic = ({
|
|
|
2522
2602
|
DatePickerInput_default,
|
|
2523
2603
|
{
|
|
2524
2604
|
field,
|
|
2525
|
-
placeholder,
|
|
2605
|
+
placeholder: placeholder || mergedLabels.datePickerPlaceholder,
|
|
2526
2606
|
disabled,
|
|
2527
2607
|
appearance: error ? "outline" : appearance,
|
|
2528
2608
|
size,
|
|
@@ -2617,7 +2697,7 @@ var InputDynamic = ({
|
|
|
2617
2697
|
{
|
|
2618
2698
|
appearance: "transparent",
|
|
2619
2699
|
icon: showPassword ? /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:eye-off-24-filled" }) : /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:eye-24-filled" }),
|
|
2620
|
-
"aria-label": showPassword ?
|
|
2700
|
+
"aria-label": showPassword ? mergedLabels.hidePasswordAriaLabel : mergedLabels.showPasswordAriaLabel,
|
|
2621
2701
|
onClick: () => setShowPassword(!showPassword),
|
|
2622
2702
|
tabIndex: -1,
|
|
2623
2703
|
type: "button"
|
|
@@ -2782,7 +2862,7 @@ var InputDynamic = ({
|
|
|
2782
2862
|
const getValidationRules = () => {
|
|
2783
2863
|
const rules = {};
|
|
2784
2864
|
if (required) {
|
|
2785
|
-
rules.required = validationRules?.required ||
|
|
2865
|
+
rules.required = validationRules?.required || mergedLabels.requiredFieldError;
|
|
2786
2866
|
}
|
|
2787
2867
|
if (validationRules?.minLength) {
|
|
2788
2868
|
rules.minLength = validationRules.minLength;
|
|
@@ -2805,13 +2885,13 @@ var InputDynamic = ({
|
|
|
2805
2885
|
if (type === "email") {
|
|
2806
2886
|
rules.pattern = {
|
|
2807
2887
|
value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,
|
|
2808
|
-
message:
|
|
2888
|
+
message: mergedLabels.invalidEmailError
|
|
2809
2889
|
};
|
|
2810
2890
|
}
|
|
2811
2891
|
if (type === "emailOrPhone") {
|
|
2812
2892
|
rules.validate = (value) => {
|
|
2813
2893
|
if (required && !value) {
|
|
2814
|
-
return
|
|
2894
|
+
return mergedLabels.emailOrPhoneRequiredError;
|
|
2815
2895
|
}
|
|
2816
2896
|
const stringValue = typeof value === "string" ? value : "";
|
|
2817
2897
|
if (!stringValue) return true;
|
|
@@ -3146,7 +3226,7 @@ var DEFAULT_COUNTRY_CODES = [
|
|
|
3146
3226
|
];
|
|
3147
3227
|
|
|
3148
3228
|
// src/components/CardTicketSearch/CardTicketSearch.constants.ts
|
|
3149
|
-
var
|
|
3229
|
+
var DEFAULT_LABELS8 = {
|
|
3150
3230
|
id: {
|
|
3151
3231
|
fromLabel: "Dari",
|
|
3152
3232
|
toLabel: "Ke",
|
|
@@ -3163,7 +3243,17 @@ var DEFAULT_LABELS7 = {
|
|
|
3163
3243
|
placeholderReturnDate: "Pilih Tanggal Kepulangan",
|
|
3164
3244
|
placeholderTypeClass: "Pilih Kelas Layanan",
|
|
3165
3245
|
placeholderTypeService: "Pilih Jenis Layanan",
|
|
3166
|
-
placeholderPassenger: "Pilih Jumlah Penumpang"
|
|
3246
|
+
placeholderPassenger: "Pilih Jumlah Penumpang",
|
|
3247
|
+
errorOriginRequired: "Pelabuhan asal wajib diisi",
|
|
3248
|
+
errorDestinationRequired: "Pelabuhan tujuan wajib diisi",
|
|
3249
|
+
errorDepartureDateRequired: "Tanggal Berangkat wajib diisi",
|
|
3250
|
+
errorReturnDateRequired: "Tanggal Pulang wajib diisi",
|
|
3251
|
+
switchAriaLabel: "Tukar asal dan tujuan",
|
|
3252
|
+
ferryDescription: "Layanan Penyeberangan Ferry ASDP",
|
|
3253
|
+
ifcsDescription: "Sistem Kontrol Ferry Terintegrasi",
|
|
3254
|
+
skptDescription: "Sistem Tiket Penumpang Terintegrasi",
|
|
3255
|
+
hotelDescription: "Layanan Pemesanan Hotel",
|
|
3256
|
+
otherDescription: "Layanan Lainnya"
|
|
3167
3257
|
},
|
|
3168
3258
|
en: {
|
|
3169
3259
|
fromLabel: "From",
|
|
@@ -3181,7 +3271,17 @@ var DEFAULT_LABELS7 = {
|
|
|
3181
3271
|
placeholderReturnDate: "Select Return Date",
|
|
3182
3272
|
placeholderTypeClass: "Select Service Class",
|
|
3183
3273
|
placeholderTypeService: "Select Service Type",
|
|
3184
|
-
placeholderPassenger: "Select Number of Passengers"
|
|
3274
|
+
placeholderPassenger: "Select Number of Passengers",
|
|
3275
|
+
errorOriginRequired: "Origin port is required",
|
|
3276
|
+
errorDestinationRequired: "Destination port is required",
|
|
3277
|
+
errorDepartureDateRequired: "Departure date is required",
|
|
3278
|
+
errorReturnDateRequired: "Return date is required",
|
|
3279
|
+
switchAriaLabel: "Swap origin and destination",
|
|
3280
|
+
ferryDescription: "ASDP Ferry Crossing Service",
|
|
3281
|
+
ifcsDescription: "Integrated Ferry Control System",
|
|
3282
|
+
skptDescription: "Integrated Passenger Ticketing System",
|
|
3283
|
+
hotelDescription: "Hotel Booking Service",
|
|
3284
|
+
otherDescription: "Other Services"
|
|
3185
3285
|
}
|
|
3186
3286
|
};
|
|
3187
3287
|
var useStyles8 = reactComponents.makeStyles({
|
|
@@ -3322,7 +3422,7 @@ var CardTicketSearch = ({
|
|
|
3322
3422
|
}) => {
|
|
3323
3423
|
const styles = useStyles8();
|
|
3324
3424
|
const labels = React5__default.default.useMemo(
|
|
3325
|
-
() => ({ ...
|
|
3425
|
+
() => ({ ...DEFAULT_LABELS8[language], ...customLabels }),
|
|
3326
3426
|
[language, customLabels]
|
|
3327
3427
|
);
|
|
3328
3428
|
const { control, setValue, getValues, handleSubmit } = reactHookForm.useForm({
|
|
@@ -3351,7 +3451,17 @@ var CardTicketSearch = ({
|
|
|
3351
3451
|
setValue("serviceClass", serviceClass);
|
|
3352
3452
|
setValue("typeOfService", typeOfService);
|
|
3353
3453
|
setValue("passenger", passenger);
|
|
3354
|
-
}, [
|
|
3454
|
+
}, [
|
|
3455
|
+
from,
|
|
3456
|
+
to,
|
|
3457
|
+
startDate,
|
|
3458
|
+
endDate,
|
|
3459
|
+
roundTrip,
|
|
3460
|
+
serviceClass,
|
|
3461
|
+
typeOfService,
|
|
3462
|
+
passenger,
|
|
3463
|
+
setValue
|
|
3464
|
+
]);
|
|
3355
3465
|
React5__default.default.useEffect(() => {
|
|
3356
3466
|
if (onRoundTripChange) {
|
|
3357
3467
|
onRoundTripChange(roundTripValue);
|
|
@@ -3428,114 +3538,151 @@ var CardTicketSearch = ({
|
|
|
3428
3538
|
children: /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleSubmit(handleFormSubmit), children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { width: "100%" }, className: styles.formInnerRow, children: [
|
|
3429
3539
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 6, xxl: 6, xxxl: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { gap: "16px" }, className: styles.formFieldRow, children: [
|
|
3430
3540
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.formField, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { children: [
|
|
3431
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3541
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3542
|
+
reactGridSystem.Col,
|
|
3543
|
+
{
|
|
3544
|
+
xs: 12,
|
|
3545
|
+
sm: 12,
|
|
3546
|
+
md: 12,
|
|
3547
|
+
lg: 12,
|
|
3548
|
+
xl: 12,
|
|
3549
|
+
xxl: 12,
|
|
3550
|
+
xxxl: 12,
|
|
3551
|
+
children: [
|
|
3552
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3553
|
+
InputDynamic_default,
|
|
3441
3554
|
{
|
|
3442
|
-
|
|
3443
|
-
|
|
3555
|
+
name: "from",
|
|
3556
|
+
label: labels.fromLabel,
|
|
3557
|
+
control,
|
|
3558
|
+
type: "text",
|
|
3559
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3560
|
+
iconify_js.Icon,
|
|
3561
|
+
{
|
|
3562
|
+
icon: "fluent:vehicle-ship-16-filled",
|
|
3563
|
+
color: reactComponents.tokens.colorBrandBackground
|
|
3564
|
+
}
|
|
3565
|
+
),
|
|
3566
|
+
appearance: "filled-lighter",
|
|
3567
|
+
size: "medium",
|
|
3568
|
+
placeholder: labels.placeholderPort,
|
|
3569
|
+
onClick: onFromClick,
|
|
3570
|
+
onChange: handleFromChange,
|
|
3571
|
+
validationRules: {
|
|
3572
|
+
required: labels.errorOriginRequired
|
|
3573
|
+
},
|
|
3574
|
+
required: true
|
|
3444
3575
|
}
|
|
3445
3576
|
),
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
validationRules: {
|
|
3452
|
-
required: "Pelabuhan asal wajib diisi"
|
|
3453
|
-
},
|
|
3454
|
-
required: true
|
|
3455
|
-
}
|
|
3456
|
-
),
|
|
3457
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.deviderButton, children: [
|
|
3458
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
3459
|
-
" ",
|
|
3460
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3461
|
-
reactComponents.Button,
|
|
3462
|
-
{
|
|
3463
|
-
onClick: onSwitchClick,
|
|
3464
|
-
className: styles.buttonSwitch,
|
|
3465
|
-
shape: "circular",
|
|
3466
|
-
appearance: "secondary",
|
|
3467
|
-
size: "large",
|
|
3468
|
-
disabled: switchDisabled,
|
|
3469
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3470
|
-
"div",
|
|
3577
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.deviderButton, children: [
|
|
3578
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
3579
|
+
" ",
|
|
3580
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3581
|
+
reactComponents.Button,
|
|
3471
3582
|
{
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3583
|
+
onClick: onSwitchClick,
|
|
3584
|
+
className: styles.buttonSwitch,
|
|
3585
|
+
shape: "circular",
|
|
3586
|
+
appearance: "secondary",
|
|
3587
|
+
size: "large",
|
|
3588
|
+
disabled: switchDisabled,
|
|
3589
|
+
"aria-label": labels.switchAriaLabel,
|
|
3590
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3591
|
+
"div",
|
|
3475
3592
|
{
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3593
|
+
className: `${styles.switchIcon} ${isRotating ? styles.switchIconRotate : ""}`,
|
|
3594
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3595
|
+
"img",
|
|
3596
|
+
{
|
|
3597
|
+
src: "/assets/images/icons/switch.svg",
|
|
3598
|
+
alt: labels.switchAriaLabel,
|
|
3599
|
+
width: 26,
|
|
3600
|
+
height: 26
|
|
3601
|
+
}
|
|
3602
|
+
)
|
|
3480
3603
|
}
|
|
3481
3604
|
)
|
|
3482
3605
|
}
|
|
3483
3606
|
)
|
|
3484
|
-
}
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3489
|
-
|
|
3607
|
+
] })
|
|
3608
|
+
]
|
|
3609
|
+
}
|
|
3610
|
+
),
|
|
3611
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3612
|
+
reactGridSystem.Col,
|
|
3490
3613
|
{
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
|
|
3614
|
+
xs: 12,
|
|
3615
|
+
sm: 12,
|
|
3616
|
+
md: 12,
|
|
3617
|
+
lg: 12,
|
|
3618
|
+
xl: 12,
|
|
3619
|
+
xxl: 12,
|
|
3620
|
+
xxxl: 12,
|
|
3621
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3622
|
+
InputDynamic_default,
|
|
3497
3623
|
{
|
|
3498
|
-
|
|
3499
|
-
|
|
3624
|
+
name: "to",
|
|
3625
|
+
label: labels.toLabel,
|
|
3626
|
+
control,
|
|
3627
|
+
type: "text",
|
|
3628
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3629
|
+
iconify_js.Icon,
|
|
3630
|
+
{
|
|
3631
|
+
icon: "fluent:location-24-filled",
|
|
3632
|
+
color: reactComponents.tokens.colorBrandBackground
|
|
3633
|
+
}
|
|
3634
|
+
),
|
|
3635
|
+
disabled: toDisabled,
|
|
3636
|
+
appearance: "filled-lighter",
|
|
3637
|
+
size: "medium",
|
|
3638
|
+
placeholder: labels.placeholderDestinationPort,
|
|
3639
|
+
onClick: onToClick,
|
|
3640
|
+
validationRules: {
|
|
3641
|
+
required: labels.errorDestinationRequired
|
|
3642
|
+
},
|
|
3643
|
+
required: true
|
|
3500
3644
|
}
|
|
3501
|
-
)
|
|
3502
|
-
disabled: toDisabled,
|
|
3503
|
-
appearance: "filled-lighter",
|
|
3504
|
-
size: "medium",
|
|
3505
|
-
placeholder: labels.placeholderDestinationPort,
|
|
3506
|
-
onClick: onToClick,
|
|
3507
|
-
validationRules: {
|
|
3508
|
-
required: "Pelabuhan tujuan wajib diisi"
|
|
3509
|
-
},
|
|
3510
|
-
required: true
|
|
3645
|
+
)
|
|
3511
3646
|
}
|
|
3512
|
-
)
|
|
3647
|
+
)
|
|
3513
3648
|
] }) }) }),
|
|
3514
3649
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.formField, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { height: "100%" }, children: [
|
|
3515
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3516
|
-
|
|
3650
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3651
|
+
reactGridSystem.Col,
|
|
3517
3652
|
{
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3653
|
+
xs: 7,
|
|
3654
|
+
sm: 7,
|
|
3655
|
+
md: 7,
|
|
3656
|
+
lg: 7,
|
|
3657
|
+
xl: 7,
|
|
3658
|
+
xxl: 7,
|
|
3659
|
+
xxxl: 7,
|
|
3660
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { position: "relative", zIndex: 2 }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3661
|
+
InputDynamic_default,
|
|
3524
3662
|
{
|
|
3525
|
-
|
|
3526
|
-
|
|
3663
|
+
name: "startDate",
|
|
3664
|
+
label: labels.departureDateLabel,
|
|
3665
|
+
control,
|
|
3666
|
+
type: "text",
|
|
3667
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3668
|
+
iconify_js.Icon,
|
|
3669
|
+
{
|
|
3670
|
+
icon: "fluent:calendar-24-filled",
|
|
3671
|
+
color: reactComponents.tokens.colorBrandBackground
|
|
3672
|
+
}
|
|
3673
|
+
),
|
|
3674
|
+
appearance: "filled-lighter",
|
|
3675
|
+
size: "medium",
|
|
3676
|
+
placeholder: labels.placeholderDepartureDate,
|
|
3677
|
+
onClick: onStartDateClick,
|
|
3678
|
+
required: true,
|
|
3679
|
+
validationRules: {
|
|
3680
|
+
required: labels.errorDepartureDateRequired
|
|
3681
|
+
}
|
|
3527
3682
|
}
|
|
3528
|
-
)
|
|
3529
|
-
appearance: "filled-lighter",
|
|
3530
|
-
size: "medium",
|
|
3531
|
-
placeholder: labels.placeholderDepartureDate,
|
|
3532
|
-
onClick: onStartDateClick,
|
|
3533
|
-
required: true,
|
|
3534
|
-
validationRules: {
|
|
3535
|
-
required: "Tanggal Berangkat wajib diisi"
|
|
3536
|
-
}
|
|
3683
|
+
) })
|
|
3537
3684
|
}
|
|
3538
|
-
)
|
|
3685
|
+
),
|
|
3539
3686
|
showRoundTrip && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3540
3687
|
reactGridSystem.Col,
|
|
3541
3688
|
{
|
|
@@ -3560,32 +3707,44 @@ var CardTicketSearch = ({
|
|
|
3560
3707
|
)
|
|
3561
3708
|
}
|
|
3562
3709
|
),
|
|
3563
|
-
roundTripValue && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3564
|
-
|
|
3710
|
+
roundTripValue && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3711
|
+
reactGridSystem.Col,
|
|
3565
3712
|
{
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3713
|
+
xs: 12,
|
|
3714
|
+
sm: 12,
|
|
3715
|
+
md: 12,
|
|
3716
|
+
lg: 12,
|
|
3717
|
+
xl: 12,
|
|
3718
|
+
xxl: 12,
|
|
3719
|
+
xxxl: 12,
|
|
3720
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3721
|
+
InputDynamic_default,
|
|
3572
3722
|
{
|
|
3573
|
-
|
|
3574
|
-
|
|
3723
|
+
name: "endDate",
|
|
3724
|
+
label: labels.returnDateLabel,
|
|
3725
|
+
control,
|
|
3726
|
+
type: "text",
|
|
3727
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3728
|
+
iconify_js.Icon,
|
|
3729
|
+
{
|
|
3730
|
+
icon: "fluent:calendar-24-filled",
|
|
3731
|
+
color: reactComponents.tokens.colorBrandBackground
|
|
3732
|
+
}
|
|
3733
|
+
),
|
|
3734
|
+
appearance: "filled-lighter",
|
|
3735
|
+
size: "medium",
|
|
3736
|
+
placeholder: labels.placeholderReturnDate,
|
|
3737
|
+
onClick: onEndDateClick,
|
|
3738
|
+
disabled: endDateDisabled,
|
|
3739
|
+
style: { borderColor: "transparent" },
|
|
3740
|
+
required: roundTripValue,
|
|
3741
|
+
validationRules: {
|
|
3742
|
+
required: labels.errorReturnDateRequired
|
|
3743
|
+
}
|
|
3575
3744
|
}
|
|
3576
|
-
)
|
|
3577
|
-
appearance: "filled-lighter",
|
|
3578
|
-
size: "medium",
|
|
3579
|
-
placeholder: labels.placeholderReturnDate,
|
|
3580
|
-
onClick: onEndDateClick,
|
|
3581
|
-
disabled: endDateDisabled,
|
|
3582
|
-
style: { borderColor: "transparent" },
|
|
3583
|
-
required: roundTripValue,
|
|
3584
|
-
validationRules: {
|
|
3585
|
-
required: "Tanggal Pulang wajib diisi"
|
|
3586
|
-
}
|
|
3745
|
+
)
|
|
3587
3746
|
}
|
|
3588
|
-
)
|
|
3747
|
+
)
|
|
3589
3748
|
] }) }) })
|
|
3590
3749
|
] }) }),
|
|
3591
3750
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Visible, { xl: true, xxl: true, xxxl: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3597,7 +3756,11 @@ var CardTicketSearch = ({
|
|
|
3597
3756
|
xl: 1,
|
|
3598
3757
|
xxl: 1,
|
|
3599
3758
|
xxxl: 1,
|
|
3600
|
-
style: {
|
|
3759
|
+
style: {
|
|
3760
|
+
display: "flex",
|
|
3761
|
+
alignItems: "center",
|
|
3762
|
+
justifyContent: "center"
|
|
3763
|
+
},
|
|
3601
3764
|
children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { vertical: true, style: { height: "100%" } })
|
|
3602
3765
|
}
|
|
3603
3766
|
) }),
|
|
@@ -3617,71 +3780,107 @@ var CardTicketSearch = ({
|
|
|
3617
3780
|
className: styles.serviceCol,
|
|
3618
3781
|
children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { height: "100%", gap: "16px" }, children: [
|
|
3619
3782
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.formField, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { style: { height: "100%", gap: "16px" }, children: [
|
|
3620
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3621
|
-
|
|
3783
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3784
|
+
reactGridSystem.Col,
|
|
3622
3785
|
{
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3628
|
-
|
|
3786
|
+
xs: 12,
|
|
3787
|
+
sm: 12,
|
|
3788
|
+
md: 12,
|
|
3789
|
+
lg: 12,
|
|
3790
|
+
xl: 12,
|
|
3791
|
+
xxl: 12,
|
|
3792
|
+
xxxl: 12,
|
|
3793
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3794
|
+
InputDynamic_default,
|
|
3629
3795
|
{
|
|
3630
|
-
|
|
3631
|
-
|
|
3796
|
+
name: "serviceClass",
|
|
3797
|
+
label: labels.serviceClassLabel,
|
|
3798
|
+
control,
|
|
3799
|
+
type: "text",
|
|
3800
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3801
|
+
iconify_js.Icon,
|
|
3802
|
+
{
|
|
3803
|
+
icon: "fluent:ribbon-star-24-filled",
|
|
3804
|
+
color: reactComponents.tokens.colorBrandBackground
|
|
3805
|
+
}
|
|
3806
|
+
),
|
|
3807
|
+
appearance: "filled-lighter",
|
|
3808
|
+
size: "medium",
|
|
3809
|
+
placeholder: labels.placeholderTypeClass,
|
|
3810
|
+
onClick: onServiceClassClick,
|
|
3811
|
+
required: true,
|
|
3812
|
+
disabled: serviceClassDisabled
|
|
3632
3813
|
}
|
|
3633
|
-
)
|
|
3634
|
-
appearance: "filled-lighter",
|
|
3635
|
-
size: "medium",
|
|
3636
|
-
placeholder: labels.placeholderTypeClass,
|
|
3637
|
-
onClick: onServiceClassClick,
|
|
3638
|
-
required: true,
|
|
3639
|
-
disabled: serviceClassDisabled
|
|
3814
|
+
)
|
|
3640
3815
|
}
|
|
3641
|
-
)
|
|
3642
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3643
|
-
|
|
3816
|
+
),
|
|
3817
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3818
|
+
reactGridSystem.Col,
|
|
3644
3819
|
{
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3820
|
+
xs: 12,
|
|
3821
|
+
sm: 12,
|
|
3822
|
+
md: 12,
|
|
3823
|
+
lg: 12,
|
|
3824
|
+
xl: 12,
|
|
3825
|
+
xxl: 12,
|
|
3826
|
+
xxxl: 12,
|
|
3827
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3828
|
+
InputDynamic_default,
|
|
3651
3829
|
{
|
|
3652
|
-
|
|
3653
|
-
|
|
3830
|
+
name: "typeOfService",
|
|
3831
|
+
label: labels.typeOfServiceLabel,
|
|
3832
|
+
control,
|
|
3833
|
+
type: "text",
|
|
3834
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3835
|
+
iconify_js.Icon,
|
|
3836
|
+
{
|
|
3837
|
+
icon: "fluent:apps-list-24-filled",
|
|
3838
|
+
color: reactComponents.tokens.colorBrandBackground
|
|
3839
|
+
}
|
|
3840
|
+
),
|
|
3841
|
+
appearance: "filled-lighter",
|
|
3842
|
+
size: "medium",
|
|
3843
|
+
placeholder: labels.placeholderTypeService,
|
|
3844
|
+
onClick: onTypeOfServiceClick,
|
|
3845
|
+
required: true,
|
|
3846
|
+
disabled: typeOfServiceDisabled
|
|
3654
3847
|
}
|
|
3655
|
-
)
|
|
3656
|
-
appearance: "filled-lighter",
|
|
3657
|
-
size: "medium",
|
|
3658
|
-
placeholder: labels.placeholderTypeService,
|
|
3659
|
-
onClick: onTypeOfServiceClick,
|
|
3660
|
-
required: true,
|
|
3661
|
-
disabled: typeOfServiceDisabled
|
|
3848
|
+
)
|
|
3662
3849
|
}
|
|
3663
|
-
)
|
|
3664
|
-
showPassengerField && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3665
|
-
|
|
3850
|
+
),
|
|
3851
|
+
showPassengerField && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3852
|
+
reactGridSystem.Col,
|
|
3666
3853
|
{
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3854
|
+
xs: 12,
|
|
3855
|
+
sm: 12,
|
|
3856
|
+
md: 12,
|
|
3857
|
+
lg: 12,
|
|
3858
|
+
xl: 12,
|
|
3859
|
+
xxl: 12,
|
|
3860
|
+
xxxl: 12,
|
|
3861
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3862
|
+
InputDynamic_default,
|
|
3674
3863
|
{
|
|
3675
|
-
|
|
3676
|
-
|
|
3864
|
+
required: true,
|
|
3865
|
+
name: "passenger",
|
|
3866
|
+
label: labels.passengerLabel,
|
|
3867
|
+
control,
|
|
3868
|
+
type: "text",
|
|
3869
|
+
contentBefore: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3870
|
+
iconify_js.Icon,
|
|
3871
|
+
{
|
|
3872
|
+
icon: "fluent:people-24-filled",
|
|
3873
|
+
color: reactComponents.tokens.colorBrandBackground
|
|
3874
|
+
}
|
|
3875
|
+
),
|
|
3876
|
+
appearance: "filled-lighter",
|
|
3877
|
+
size: "medium",
|
|
3878
|
+
placeholder: labels.placeholderPassenger,
|
|
3879
|
+
onClick: onPassengerClick
|
|
3677
3880
|
}
|
|
3678
|
-
)
|
|
3679
|
-
appearance: "filled-lighter",
|
|
3680
|
-
size: "medium",
|
|
3681
|
-
placeholder: labels.placeholderPassenger,
|
|
3682
|
-
onClick: onPassengerClick
|
|
3881
|
+
)
|
|
3683
3882
|
}
|
|
3684
|
-
)
|
|
3883
|
+
)
|
|
3685
3884
|
] }) }) }),
|
|
3686
3885
|
/* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, lg: 12, xl: 12, xxl: 12, xxxl: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3687
3886
|
reactComponents.Button,
|
|
@@ -3708,7 +3907,7 @@ var CardTicketSearch = ({
|
|
|
3708
3907
|
};
|
|
3709
3908
|
|
|
3710
3909
|
// src/components/CardTicketSearchSummary/CardTicketSearchSummary.constants.ts
|
|
3711
|
-
var
|
|
3910
|
+
var DEFAULT_LABELS9 = {
|
|
3712
3911
|
id: {
|
|
3713
3912
|
originHarbor: "Pelabuhan Keberangkatan",
|
|
3714
3913
|
destinationHarbor: "Pelabuhan Tujuan",
|
|
@@ -3716,7 +3915,8 @@ var DEFAULT_LABELS8 = {
|
|
|
3716
3915
|
serviceClass: "Kelas Layanan",
|
|
3717
3916
|
typeOfService: "Jenis Layanan",
|
|
3718
3917
|
totalPassengers: "Jumlah Penumpang",
|
|
3719
|
-
changeSearchButton: "Ganti Pencarian"
|
|
3918
|
+
changeSearchButton: "Ganti Pencarian",
|
|
3919
|
+
swapAriaLabel: "Tukar asal dan tujuan"
|
|
3720
3920
|
},
|
|
3721
3921
|
en: {
|
|
3722
3922
|
originHarbor: "Departure Port",
|
|
@@ -3725,7 +3925,8 @@ var DEFAULT_LABELS8 = {
|
|
|
3725
3925
|
serviceClass: "Service Class",
|
|
3726
3926
|
typeOfService: "Service Type",
|
|
3727
3927
|
totalPassengers: "Total Passengers",
|
|
3728
|
-
changeSearchButton: "Change Search"
|
|
3928
|
+
changeSearchButton: "Change Search",
|
|
3929
|
+
swapAriaLabel: "Swap origin and destination"
|
|
3729
3930
|
}
|
|
3730
3931
|
};
|
|
3731
3932
|
var useStyles9 = reactComponents.makeStyles({
|
|
@@ -3809,7 +4010,7 @@ var CardTicketSearchSummary = ({
|
|
|
3809
4010
|
children
|
|
3810
4011
|
}) => {
|
|
3811
4012
|
const styles = useStyles9();
|
|
3812
|
-
const mergedLabels = { ...
|
|
4013
|
+
const mergedLabels = { ...DEFAULT_LABELS9[language], ...labels };
|
|
3813
4014
|
const { width } = useWindowSize();
|
|
3814
4015
|
const getCircularConfig = () => {
|
|
3815
4016
|
if (width <= parseInt(extendedTokens.breakpointXs))
|
|
@@ -3905,7 +4106,8 @@ var CardTicketSearchSummary = ({
|
|
|
3905
4106
|
disabled: true,
|
|
3906
4107
|
appearance: "secondary",
|
|
3907
4108
|
size: "medium",
|
|
3908
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:arrow-swap-24-filled" })
|
|
4109
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:arrow-swap-24-filled" }),
|
|
4110
|
+
"aria-label": mergedLabels.swapAriaLabel
|
|
3909
4111
|
}
|
|
3910
4112
|
) })
|
|
3911
4113
|
}
|
|
@@ -4134,7 +4336,7 @@ var CardTicketSearchSummary = ({
|
|
|
4134
4336
|
};
|
|
4135
4337
|
|
|
4136
4338
|
// src/components/ModalSearchHarbor/ModalSearchHarbor.constants.ts
|
|
4137
|
-
var
|
|
4339
|
+
var DEFAULT_LABELS10 = {
|
|
4138
4340
|
id: {
|
|
4139
4341
|
title: "Pilih Pelabuhan",
|
|
4140
4342
|
searchPlaceholder: "Cari Pelabuhan...",
|
|
@@ -4142,7 +4344,8 @@ var DEFAULT_LABELS9 = {
|
|
|
4142
4344
|
clearAllButton: "Hapus Semua",
|
|
4143
4345
|
allHarborsHeader: "Semua Pelabuhan",
|
|
4144
4346
|
loadingData: "Memuat data...",
|
|
4145
|
-
harborNotFound: "Pelabuhan tidak ditemukan"
|
|
4347
|
+
harborNotFound: "Pelabuhan tidak ditemukan",
|
|
4348
|
+
closeAriaLabel: "Tutup"
|
|
4146
4349
|
},
|
|
4147
4350
|
en: {
|
|
4148
4351
|
title: "Select Harbor",
|
|
@@ -4151,7 +4354,8 @@ var DEFAULT_LABELS9 = {
|
|
|
4151
4354
|
clearAllButton: "Clear All",
|
|
4152
4355
|
allHarborsHeader: "All Harbors",
|
|
4153
4356
|
loadingData: "Loading data...",
|
|
4154
|
-
harborNotFound: "Harbor not found"
|
|
4357
|
+
harborNotFound: "Harbor not found",
|
|
4358
|
+
closeAriaLabel: "Close"
|
|
4155
4359
|
}
|
|
4156
4360
|
};
|
|
4157
4361
|
var useStyles10 = reactComponents.makeStyles({
|
|
@@ -4286,7 +4490,7 @@ var ModalSearchHarbor = ({
|
|
|
4286
4490
|
onClearLastSearched
|
|
4287
4491
|
}) => {
|
|
4288
4492
|
const styles = useStyles10();
|
|
4289
|
-
const mergedLabels = { ...
|
|
4493
|
+
const mergedLabels = { ...DEFAULT_LABELS10[language], ...labels };
|
|
4290
4494
|
const handleSelect = (harbor) => {
|
|
4291
4495
|
onAddLastSearched(harbor);
|
|
4292
4496
|
onSelectHarbor(harbor);
|
|
@@ -4313,7 +4517,7 @@ var ModalSearchHarbor = ({
|
|
|
4313
4517
|
reactComponents.Button,
|
|
4314
4518
|
{
|
|
4315
4519
|
appearance: "subtle",
|
|
4316
|
-
"aria-label":
|
|
4520
|
+
"aria-label": mergedLabels.closeAriaLabel,
|
|
4317
4521
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
4318
4522
|
onClick: handleClose,
|
|
4319
4523
|
className: styles.closeButton
|
|
@@ -4434,16 +4638,18 @@ var ModalSearchHarbor = ({
|
|
|
4434
4638
|
};
|
|
4435
4639
|
|
|
4436
4640
|
// src/components/ModalSelectDate/ModalSelectDate.constants.ts
|
|
4437
|
-
var
|
|
4641
|
+
var DEFAULT_LABELS11 = {
|
|
4438
4642
|
id: {
|
|
4439
4643
|
title: "Pilih Tanggal",
|
|
4440
4644
|
oneWay: "Sekali Jalan",
|
|
4441
|
-
roundTrip: "Pulang Pergi"
|
|
4645
|
+
roundTrip: "Pulang Pergi",
|
|
4646
|
+
closeAriaLabel: "Tutup"
|
|
4442
4647
|
},
|
|
4443
4648
|
en: {
|
|
4444
4649
|
title: "Select Date",
|
|
4445
4650
|
oneWay: "One Way",
|
|
4446
|
-
roundTrip: "Round Trip"
|
|
4651
|
+
roundTrip: "Round Trip",
|
|
4652
|
+
closeAriaLabel: "Close"
|
|
4447
4653
|
}
|
|
4448
4654
|
};
|
|
4449
4655
|
var useStyles11 = reactComponents.makeStyles({
|
|
@@ -4567,7 +4773,7 @@ var ModalSelectDate = ({
|
|
|
4567
4773
|
showRoundtrip = true
|
|
4568
4774
|
}) => {
|
|
4569
4775
|
const styles = useStyles11();
|
|
4570
|
-
const mergedLabels = { ...
|
|
4776
|
+
const mergedLabels = { ...DEFAULT_LABELS11[language], ...labels };
|
|
4571
4777
|
React5.useEffect(() => {
|
|
4572
4778
|
moment__default.default.locale(language === "id" ? "id" : "en");
|
|
4573
4779
|
}, [language]);
|
|
@@ -4731,7 +4937,7 @@ var ModalSelectDate = ({
|
|
|
4731
4937
|
reactComponents.Button,
|
|
4732
4938
|
{
|
|
4733
4939
|
appearance: "subtle",
|
|
4734
|
-
"aria-label":
|
|
4940
|
+
"aria-label": mergedLabels.closeAriaLabel,
|
|
4735
4941
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
4736
4942
|
onClick: handleClose,
|
|
4737
4943
|
className: styles.closeButton
|
|
@@ -4790,20 +4996,22 @@ var ModalSelectDate = ({
|
|
|
4790
4996
|
};
|
|
4791
4997
|
|
|
4792
4998
|
// src/components/ModalService/ModalService.constants.ts
|
|
4793
|
-
var
|
|
4999
|
+
var DEFAULT_LABELS12 = {
|
|
4794
5000
|
id: {
|
|
4795
5001
|
title: "Pilih Kelas Layanan",
|
|
4796
5002
|
loading: "Memuat...",
|
|
4797
5003
|
error: "Gagal memuat layanan",
|
|
4798
5004
|
selectAll: "Pilih Semua",
|
|
4799
|
-
saveButton: "Simpan"
|
|
5005
|
+
saveButton: "Simpan",
|
|
5006
|
+
closeAriaLabel: "Tutup"
|
|
4800
5007
|
},
|
|
4801
5008
|
en: {
|
|
4802
5009
|
title: "Select Service Class",
|
|
4803
5010
|
loading: "Loading...",
|
|
4804
5011
|
error: "Error loading services",
|
|
4805
5012
|
selectAll: "Select All",
|
|
4806
|
-
saveButton: "Save"
|
|
5013
|
+
saveButton: "Save",
|
|
5014
|
+
closeAriaLabel: "Close"
|
|
4807
5015
|
}
|
|
4808
5016
|
};
|
|
4809
5017
|
var useStyles12 = reactComponents.makeStyles({
|
|
@@ -4892,7 +5100,7 @@ var ModalService = ({
|
|
|
4892
5100
|
isError = false
|
|
4893
5101
|
}) => {
|
|
4894
5102
|
const styles = useStyles12();
|
|
4895
|
-
const mergedLabels = { ...
|
|
5103
|
+
const mergedLabels = { ...DEFAULT_LABELS12[language], ...labels };
|
|
4896
5104
|
const displayTitle = title || mergedLabels.title;
|
|
4897
5105
|
const [selectedServices, setSelectedServices] = React5.useState(selectedServiceIds);
|
|
4898
5106
|
React5.useEffect(() => {
|
|
@@ -4938,7 +5146,7 @@ var ModalService = ({
|
|
|
4938
5146
|
reactComponents.Button,
|
|
4939
5147
|
{
|
|
4940
5148
|
appearance: "subtle",
|
|
4941
|
-
"aria-label":
|
|
5149
|
+
"aria-label": mergedLabels.closeAriaLabel,
|
|
4942
5150
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
4943
5151
|
onClick: handleClose,
|
|
4944
5152
|
className: styles.closeButton
|
|
@@ -4998,7 +5206,7 @@ var ModalService = ({
|
|
|
4998
5206
|
};
|
|
4999
5207
|
|
|
5000
5208
|
// src/components/ModalTotalPassengers/ModalTotalPassengers.constants.ts
|
|
5001
|
-
var
|
|
5209
|
+
var DEFAULT_LABELS13 = {
|
|
5002
5210
|
id: {
|
|
5003
5211
|
title: "Pilih Jumlah Penumpang",
|
|
5004
5212
|
infoMessage: "Anda dapat menambahkan hingga {maxPassengers} penumpang pada golongan kendaraan ini.",
|
|
@@ -5006,7 +5214,8 @@ var DEFAULT_LABELS12 = {
|
|
|
5006
5214
|
saveButton: "Simpan",
|
|
5007
5215
|
economy: "Ekonomi",
|
|
5008
5216
|
business: "Bisnis",
|
|
5009
|
-
executive: "Eksekutif"
|
|
5217
|
+
executive: "Eksekutif",
|
|
5218
|
+
closeAriaLabel: "Tutup"
|
|
5010
5219
|
},
|
|
5011
5220
|
en: {
|
|
5012
5221
|
title: "Select Total Passengers",
|
|
@@ -5015,7 +5224,8 @@ var DEFAULT_LABELS12 = {
|
|
|
5015
5224
|
saveButton: "Save",
|
|
5016
5225
|
economy: "Economy",
|
|
5017
5226
|
business: "Business",
|
|
5018
|
-
executive: "Executive"
|
|
5227
|
+
executive: "Executive",
|
|
5228
|
+
closeAriaLabel: "Close"
|
|
5019
5229
|
}
|
|
5020
5230
|
};
|
|
5021
5231
|
var DEFAULT_SERVICE_CLASSES = [
|
|
@@ -5105,7 +5315,7 @@ var ModalTotalPassengers = ({
|
|
|
5105
5315
|
infoMessage
|
|
5106
5316
|
}) => {
|
|
5107
5317
|
const styles = useStyles13();
|
|
5108
|
-
const mergedLabels = { ...
|
|
5318
|
+
const mergedLabels = { ...DEFAULT_LABELS13[language], ...labels };
|
|
5109
5319
|
const [passengers, setPassengers] = React5.useState([]);
|
|
5110
5320
|
const [openItems, setOpenItems] = React5.useState([]);
|
|
5111
5321
|
const defaultInfoMessage = mergedLabels.infoMessage.replace(
|
|
@@ -5256,7 +5466,7 @@ var ModalTotalPassengers = ({
|
|
|
5256
5466
|
reactComponents.Button,
|
|
5257
5467
|
{
|
|
5258
5468
|
appearance: "subtle",
|
|
5259
|
-
"aria-label":
|
|
5469
|
+
"aria-label": mergedLabels.closeAriaLabel,
|
|
5260
5470
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-12-regular" }),
|
|
5261
5471
|
onClick: onClose
|
|
5262
5472
|
}
|
|
@@ -5370,18 +5580,20 @@ var ModalTotalPassengers = ({
|
|
|
5370
5580
|
};
|
|
5371
5581
|
|
|
5372
5582
|
// src/components/ModalTypeOfService/ModalTypeOfService.constants.ts
|
|
5373
|
-
var
|
|
5583
|
+
var DEFAULT_LABELS14 = {
|
|
5374
5584
|
id: {
|
|
5375
5585
|
title: "Pilih Tipe Layanan",
|
|
5376
5586
|
cancelButton: "Batal",
|
|
5377
5587
|
saveButton: "Simpan",
|
|
5378
|
-
vehiclesAlt: "kendaraan"
|
|
5588
|
+
vehiclesAlt: "kendaraan",
|
|
5589
|
+
closeAriaLabel: "Tutup"
|
|
5379
5590
|
},
|
|
5380
5591
|
en: {
|
|
5381
5592
|
title: "Select Service Type",
|
|
5382
5593
|
cancelButton: "Cancel",
|
|
5383
5594
|
saveButton: "Save",
|
|
5384
|
-
vehiclesAlt: "vehicles"
|
|
5595
|
+
vehiclesAlt: "vehicles",
|
|
5596
|
+
closeAriaLabel: "Close"
|
|
5385
5597
|
}
|
|
5386
5598
|
};
|
|
5387
5599
|
var DEFAULT_VEHICLE_ICONS = {
|
|
@@ -5451,7 +5663,7 @@ var ModalTypeOfService = ({
|
|
|
5451
5663
|
renderImage
|
|
5452
5664
|
}) => {
|
|
5453
5665
|
const styles = useStyles14();
|
|
5454
|
-
const mergedLabels = { ...
|
|
5666
|
+
const mergedLabels = { ...DEFAULT_LABELS14[language], ...labels };
|
|
5455
5667
|
const [selectedServiceTitle, setSelectedServiceTitle] = React5.useState(
|
|
5456
5668
|
selectedService?.title || ""
|
|
5457
5669
|
);
|
|
@@ -5559,7 +5771,7 @@ var ModalTypeOfService = ({
|
|
|
5559
5771
|
reactComponents.Button,
|
|
5560
5772
|
{
|
|
5561
5773
|
appearance: "subtle",
|
|
5562
|
-
"aria-label":
|
|
5774
|
+
"aria-label": mergedLabels.closeAriaLabel,
|
|
5563
5775
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
5564
5776
|
onClick: onClose,
|
|
5565
5777
|
className: styles.closeButton
|
|
@@ -5693,6 +5905,37 @@ var ModalTypeOfService = ({
|
|
|
5693
5905
|
};
|
|
5694
5906
|
|
|
5695
5907
|
// src/components/SortMenu/SortMenu.constants.ts
|
|
5908
|
+
var DEFAULT_LABELS15 = {
|
|
5909
|
+
id: {
|
|
5910
|
+
filterButtonText: "Filter",
|
|
5911
|
+
sortButtonText: "Urutkan Berdasarkan",
|
|
5912
|
+
clearFiltersText: "{count} Filter Dipilih",
|
|
5913
|
+
recommendation: "Rekomendasi",
|
|
5914
|
+
highestPrice: "Harga Tertinggi",
|
|
5915
|
+
lowestPrice: "Harga Terendah",
|
|
5916
|
+
earliestDeparture: "Keberangkatan Paling Awal",
|
|
5917
|
+
latestDeparture: "Keberangkatan Paling Akhir",
|
|
5918
|
+
resetSortAriaLabel: "Hapus pengurutan"
|
|
5919
|
+
},
|
|
5920
|
+
en: {
|
|
5921
|
+
filterButtonText: "Filter",
|
|
5922
|
+
sortButtonText: "Sort By",
|
|
5923
|
+
clearFiltersText: "{count} Filters Selected",
|
|
5924
|
+
recommendation: "Recommendation",
|
|
5925
|
+
highestPrice: "Highest Price",
|
|
5926
|
+
lowestPrice: "Lowest Price",
|
|
5927
|
+
earliestDeparture: "Earliest Departure",
|
|
5928
|
+
latestDeparture: "Latest Departure",
|
|
5929
|
+
resetSortAriaLabel: "Clear sort"
|
|
5930
|
+
}
|
|
5931
|
+
};
|
|
5932
|
+
var getSortOptions = (labels) => [
|
|
5933
|
+
{ value: "rekomendasi", label: labels.recommendation },
|
|
5934
|
+
{ value: "harga-tertinggi", label: labels.highestPrice },
|
|
5935
|
+
{ value: "harga-terendah", label: labels.lowestPrice },
|
|
5936
|
+
{ value: "keberangkatan-paling-awal", label: labels.earliestDeparture },
|
|
5937
|
+
{ value: "keberangkatan-paling-akhir", label: labels.latestDeparture }
|
|
5938
|
+
];
|
|
5696
5939
|
var DEFAULT_SORT_OPTIONS = [
|
|
5697
5940
|
{ value: "rekomendasi", label: "Rekomendasi" },
|
|
5698
5941
|
{ value: "harga-tertinggi", label: "Harga Tertinggi" },
|
|
@@ -5728,17 +5971,50 @@ var useStyles15 = reactComponents.makeStyles({
|
|
|
5728
5971
|
}
|
|
5729
5972
|
});
|
|
5730
5973
|
var SortMenu = ({
|
|
5974
|
+
language = "id",
|
|
5975
|
+
labels: customLabels,
|
|
5731
5976
|
value,
|
|
5732
5977
|
onChange,
|
|
5733
5978
|
totalActiveFilters = 0,
|
|
5734
5979
|
onFilterClick,
|
|
5735
5980
|
onClearFilters,
|
|
5736
|
-
sortOptions
|
|
5737
|
-
filterButtonText
|
|
5738
|
-
sortButtonText
|
|
5739
|
-
clearFiltersText
|
|
5981
|
+
sortOptions: customSortOptions,
|
|
5982
|
+
filterButtonText: deprecatedFilterButtonText,
|
|
5983
|
+
sortButtonText: deprecatedSortButtonText,
|
|
5984
|
+
clearFiltersText: deprecatedClearFiltersText
|
|
5740
5985
|
}) => {
|
|
5741
5986
|
const styles = useStyles15();
|
|
5987
|
+
const labels = React5__default.default.useMemo(
|
|
5988
|
+
() => ({
|
|
5989
|
+
...DEFAULT_LABELS15[language],
|
|
5990
|
+
...customLabels,
|
|
5991
|
+
// Fallback to deprecated props if provided
|
|
5992
|
+
...deprecatedFilterButtonText && {
|
|
5993
|
+
filterButtonText: deprecatedFilterButtonText
|
|
5994
|
+
},
|
|
5995
|
+
...deprecatedSortButtonText && {
|
|
5996
|
+
sortButtonText: deprecatedSortButtonText
|
|
5997
|
+
},
|
|
5998
|
+
...deprecatedClearFiltersText && {
|
|
5999
|
+
clearFiltersText: deprecatedClearFiltersText
|
|
6000
|
+
}
|
|
6001
|
+
}),
|
|
6002
|
+
[
|
|
6003
|
+
language,
|
|
6004
|
+
customLabels,
|
|
6005
|
+
deprecatedFilterButtonText,
|
|
6006
|
+
deprecatedSortButtonText,
|
|
6007
|
+
deprecatedClearFiltersText
|
|
6008
|
+
]
|
|
6009
|
+
);
|
|
6010
|
+
const sortOptions = React5__default.default.useMemo(
|
|
6011
|
+
() => customSortOptions || getSortOptions(labels),
|
|
6012
|
+
[customSortOptions, labels]
|
|
6013
|
+
);
|
|
6014
|
+
const currentSortLabel = React5__default.default.useMemo(
|
|
6015
|
+
() => sortOptions.find((opt) => opt.value === value)?.label || labels.recommendation,
|
|
6016
|
+
[sortOptions, value, labels.recommendation]
|
|
6017
|
+
);
|
|
5742
6018
|
const handleReset = () => {
|
|
5743
6019
|
onChange("rekomendasi");
|
|
5744
6020
|
};
|
|
@@ -5753,7 +6029,7 @@ var SortMenu = ({
|
|
|
5753
6029
|
shape: "circular",
|
|
5754
6030
|
className: styles.button,
|
|
5755
6031
|
onClick: onFilterClick,
|
|
5756
|
-
children: filterButtonText
|
|
6032
|
+
children: labels.filterButtonText
|
|
5757
6033
|
}
|
|
5758
6034
|
),
|
|
5759
6035
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Menu, { children: [
|
|
@@ -5765,10 +6041,24 @@ var SortMenu = ({
|
|
|
5765
6041
|
type: "button",
|
|
5766
6042
|
shape: "circular",
|
|
5767
6043
|
className: styles.button,
|
|
5768
|
-
children: sortButtonText
|
|
6044
|
+
children: labels.sortButtonText
|
|
5769
6045
|
}
|
|
5770
6046
|
) }),
|
|
5771
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.MenuPopover, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.MenuList, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6047
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.MenuPopover, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.MenuList, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6048
|
+
reactComponents.RadioGroup,
|
|
6049
|
+
{
|
|
6050
|
+
value,
|
|
6051
|
+
onChange: (_, data) => onChange(data.value),
|
|
6052
|
+
children: sortOptions.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6053
|
+
reactComponents.Radio,
|
|
6054
|
+
{
|
|
6055
|
+
value: option.value,
|
|
6056
|
+
label: option.label
|
|
6057
|
+
},
|
|
6058
|
+
option.value
|
|
6059
|
+
))
|
|
6060
|
+
}
|
|
6061
|
+
) }) })
|
|
5772
6062
|
] }),
|
|
5773
6063
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { vertical: true, className: styles.divider }),
|
|
5774
6064
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -5781,7 +6071,8 @@ var SortMenu = ({
|
|
|
5781
6071
|
type: "button",
|
|
5782
6072
|
shape: "circular",
|
|
5783
6073
|
className: styles.button,
|
|
5784
|
-
|
|
6074
|
+
"aria-label": labels.resetSortAriaLabel,
|
|
6075
|
+
children: currentSortLabel
|
|
5785
6076
|
}
|
|
5786
6077
|
),
|
|
5787
6078
|
totalActiveFilters > 0 && onClearFilters && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -5796,7 +6087,10 @@ var SortMenu = ({
|
|
|
5796
6087
|
onClick: onClearFilters,
|
|
5797
6088
|
shape: "circular",
|
|
5798
6089
|
className: styles.button,
|
|
5799
|
-
children: clearFiltersText.replace(
|
|
6090
|
+
children: labels.clearFiltersText.replace(
|
|
6091
|
+
"{count}",
|
|
6092
|
+
totalActiveFilters.toString()
|
|
6093
|
+
)
|
|
5800
6094
|
}
|
|
5801
6095
|
)
|
|
5802
6096
|
] })
|
|
@@ -5804,7 +6098,7 @@ var SortMenu = ({
|
|
|
5804
6098
|
};
|
|
5805
6099
|
|
|
5806
6100
|
// src/components/ModalFilterTicket/ModalFilterTicket.constants.ts
|
|
5807
|
-
var
|
|
6101
|
+
var DEFAULT_LABELS16 = {
|
|
5808
6102
|
id: {
|
|
5809
6103
|
title: "Filter dengan",
|
|
5810
6104
|
serviceTypeLabel: "Jenis Layanan",
|
|
@@ -5818,7 +6112,10 @@ var DEFAULT_LABELS14 = {
|
|
|
5818
6112
|
durationLabel: "Durasi perjalanan",
|
|
5819
6113
|
durationRangeText: (min, max) => `Perjalanan ${min} - ${max} jam`,
|
|
5820
6114
|
resetButton: "Reset",
|
|
5821
|
-
applyButton: "Terapkan"
|
|
6115
|
+
applyButton: "Terapkan",
|
|
6116
|
+
hourUnit: "jam",
|
|
6117
|
+
currencySymbol: "IDR",
|
|
6118
|
+
closeAriaLabel: "Tutup"
|
|
5822
6119
|
},
|
|
5823
6120
|
en: {
|
|
5824
6121
|
title: "Filter by",
|
|
@@ -5833,7 +6130,10 @@ var DEFAULT_LABELS14 = {
|
|
|
5833
6130
|
durationLabel: "Travel duration",
|
|
5834
6131
|
durationRangeText: (min, max) => `${min} - ${max} hours trip`,
|
|
5835
6132
|
resetButton: "Reset",
|
|
5836
|
-
applyButton: "Apply"
|
|
6133
|
+
applyButton: "Apply",
|
|
6134
|
+
hourUnit: "hours",
|
|
6135
|
+
currencySymbol: "IDR",
|
|
6136
|
+
closeAriaLabel: "Close"
|
|
5837
6137
|
}
|
|
5838
6138
|
};
|
|
5839
6139
|
var DEFAULT_SERVICE_TYPES = [
|
|
@@ -5969,7 +6269,7 @@ var ModalFilterTicket = ({
|
|
|
5969
6269
|
maxDuration = DEFAULT_DURATION_RANGE.max
|
|
5970
6270
|
}) => {
|
|
5971
6271
|
const styles = useStyles16();
|
|
5972
|
-
const mergedLabels = { ...
|
|
6272
|
+
const mergedLabels = { ...DEFAULT_LABELS16[language], ...labels };
|
|
5973
6273
|
const [rangeReady, setRangeReady] = React5.useState(false);
|
|
5974
6274
|
React5.useEffect(() => {
|
|
5975
6275
|
if (open) {
|
|
@@ -6004,7 +6304,9 @@ var ModalFilterTicket = ({
|
|
|
6004
6304
|
}
|
|
6005
6305
|
};
|
|
6006
6306
|
const formatPrice = (price) => {
|
|
6007
|
-
return new Intl.NumberFormat("id-ID").format(
|
|
6307
|
+
return new Intl.NumberFormat(language === "id" ? "id-ID" : "en-US").format(
|
|
6308
|
+
price
|
|
6309
|
+
);
|
|
6008
6310
|
};
|
|
6009
6311
|
const renderPriceTrack = React5.useCallback(
|
|
6010
6312
|
({ props, children }) => {
|
|
@@ -6110,7 +6412,7 @@ var ModalFilterTicket = ({
|
|
|
6110
6412
|
reactComponents.Button,
|
|
6111
6413
|
{
|
|
6112
6414
|
appearance: "subtle",
|
|
6113
|
-
"aria-label":
|
|
6415
|
+
"aria-label": mergedLabels.closeAriaLabel,
|
|
6114
6416
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
6115
6417
|
className: styles.closeButton,
|
|
6116
6418
|
onClick: () => onOpenChange(false)
|
|
@@ -6248,11 +6550,13 @@ var ModalFilterTicket = ({
|
|
|
6248
6550
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.sliderValues, children: [
|
|
6249
6551
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
6250
6552
|
minDuration,
|
|
6251
|
-
"
|
|
6553
|
+
" ",
|
|
6554
|
+
mergedLabels.hourUnit
|
|
6252
6555
|
] }),
|
|
6253
6556
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
6254
6557
|
maxDuration,
|
|
6255
|
-
"
|
|
6558
|
+
" ",
|
|
6559
|
+
mergedLabels.hourUnit
|
|
6256
6560
|
] })
|
|
6257
6561
|
] })
|
|
6258
6562
|
] })
|
|
@@ -6275,10 +6579,17 @@ var ModalFilterTicket = ({
|
|
|
6275
6579
|
};
|
|
6276
6580
|
|
|
6277
6581
|
// src/components/DateFilter/DateFilter.constants.ts
|
|
6278
|
-
var
|
|
6279
|
-
|
|
6280
|
-
|
|
6281
|
-
|
|
6582
|
+
var DEFAULT_LABELS17 = {
|
|
6583
|
+
id: {
|
|
6584
|
+
prevButtonAriaLabel: "Tanggal sebelumnya",
|
|
6585
|
+
nextButtonAriaLabel: "Tanggal berikutnya",
|
|
6586
|
+
calendarButtonAriaLabel: "Buka kalender"
|
|
6587
|
+
},
|
|
6588
|
+
en: {
|
|
6589
|
+
prevButtonAriaLabel: "Previous dates",
|
|
6590
|
+
nextButtonAriaLabel: "Next dates",
|
|
6591
|
+
calendarButtonAriaLabel: "Open calendar"
|
|
6592
|
+
}
|
|
6282
6593
|
};
|
|
6283
6594
|
var DEFAULT_SCROLL_AMOUNT = 150;
|
|
6284
6595
|
var useStyles17 = reactComponents.makeStyles({
|
|
@@ -6360,11 +6671,15 @@ var DateFilter = ({
|
|
|
6360
6671
|
showNavigation = true,
|
|
6361
6672
|
showCalendarButton = true,
|
|
6362
6673
|
scrollAmount = DEFAULT_SCROLL_AMOUNT,
|
|
6674
|
+
language = "id",
|
|
6363
6675
|
labels
|
|
6364
6676
|
}) => {
|
|
6365
6677
|
const styles = useStyles17();
|
|
6366
6678
|
const scrollRef = React5.useRef(null);
|
|
6367
|
-
const mergedLabels = {
|
|
6679
|
+
const mergedLabels = {
|
|
6680
|
+
...DEFAULT_LABELS17[language],
|
|
6681
|
+
...labels
|
|
6682
|
+
};
|
|
6368
6683
|
const handlePrev = () => {
|
|
6369
6684
|
scrollRef.current?.scrollBy({ left: -scrollAmount, behavior: "smooth" });
|
|
6370
6685
|
};
|
|
@@ -6422,7 +6737,7 @@ var DateFilter = ({
|
|
|
6422
6737
|
};
|
|
6423
6738
|
|
|
6424
6739
|
// src/components/ModalSearchTicket/ModalSearchTicket.constants.ts
|
|
6425
|
-
var
|
|
6740
|
+
var DEFAULT_LABELS18 = {
|
|
6426
6741
|
id: {
|
|
6427
6742
|
title: "Cari Jadwal Lainnya",
|
|
6428
6743
|
fromLabel: "Dari",
|
|
@@ -6444,7 +6759,8 @@ var DEFAULT_LABELS16 = {
|
|
|
6444
6759
|
typeOfServicePlaceholder: "Pilih Jenis penumpang",
|
|
6445
6760
|
passengerLabel: "Penumpang",
|
|
6446
6761
|
passengerPlaceholder: "Pilih Penumpang",
|
|
6447
|
-
searchButton: "Cari Tiket"
|
|
6762
|
+
searchButton: "Cari Tiket",
|
|
6763
|
+
closeAriaLabel: "Tutup"
|
|
6448
6764
|
},
|
|
6449
6765
|
en: {
|
|
6450
6766
|
title: "Search Other Schedules",
|
|
@@ -6467,7 +6783,8 @@ var DEFAULT_LABELS16 = {
|
|
|
6467
6783
|
typeOfServicePlaceholder: "Select Type of Passenger",
|
|
6468
6784
|
passengerLabel: "Passenger",
|
|
6469
6785
|
passengerPlaceholder: "Select Passenger",
|
|
6470
|
-
searchButton: "Search Ticket"
|
|
6786
|
+
searchButton: "Search Ticket",
|
|
6787
|
+
closeAriaLabel: "Close"
|
|
6471
6788
|
}
|
|
6472
6789
|
};
|
|
6473
6790
|
var DEFAULT_FORM_VALUES = {
|
|
@@ -6583,7 +6900,7 @@ var ModalSearchTicket = ({
|
|
|
6583
6900
|
...props
|
|
6584
6901
|
}) => {
|
|
6585
6902
|
const styles = useStyles18();
|
|
6586
|
-
const mergedLabels = { ...
|
|
6903
|
+
const mergedLabels = { ...DEFAULT_LABELS18[language], ...labels };
|
|
6587
6904
|
const { control, setValue, handleSubmit, watch } = reactHookForm.useForm({
|
|
6588
6905
|
defaultValues: {
|
|
6589
6906
|
...DEFAULT_FORM_VALUES,
|
|
@@ -6637,7 +6954,7 @@ var ModalSearchTicket = ({
|
|
|
6637
6954
|
reactComponents.Button,
|
|
6638
6955
|
{
|
|
6639
6956
|
appearance: "subtle",
|
|
6640
|
-
"aria-label":
|
|
6957
|
+
"aria-label": mergedLabels.closeAriaLabel,
|
|
6641
6958
|
className: styles.closeButton,
|
|
6642
6959
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:dismiss-24-regular" }),
|
|
6643
6960
|
onClick: onClose
|
|
@@ -7020,7 +7337,7 @@ var ModalSearchTicket = ({
|
|
|
7020
7337
|
};
|
|
7021
7338
|
|
|
7022
7339
|
// src/components/Stepper/Stepper.constants.ts
|
|
7023
|
-
var
|
|
7340
|
+
var DEFAULT_LABELS19 = {
|
|
7024
7341
|
id: {
|
|
7025
7342
|
stepperBackgroundAlt: "Latar Belakang Stepper",
|
|
7026
7343
|
ferryIconAlt: "Ikon Kapal"
|
|
@@ -7156,7 +7473,7 @@ var Stepper = ({
|
|
|
7156
7473
|
labels
|
|
7157
7474
|
}) => {
|
|
7158
7475
|
const styles = useStyles19();
|
|
7159
|
-
const mergedLabels = { ...
|
|
7476
|
+
const mergedLabels = { ...DEFAULT_LABELS19[language], ...labels };
|
|
7160
7477
|
const currentStepIndex = React5.useMemo(() => {
|
|
7161
7478
|
if (typeof currentStep === "number") {
|
|
7162
7479
|
return steps.findIndex((step) => step.number === currentStep);
|
|
@@ -7212,7 +7529,7 @@ var Stepper = ({
|
|
|
7212
7529
|
};
|
|
7213
7530
|
|
|
7214
7531
|
// src/components/CardOrdererInfo/CardOrdererInfo.constants.ts
|
|
7215
|
-
var
|
|
7532
|
+
var DEFAULT_LABELS20 = {
|
|
7216
7533
|
id: {
|
|
7217
7534
|
title: "Informasi Pemesan",
|
|
7218
7535
|
ordererName: "Nama Pemesan",
|
|
@@ -7257,7 +7574,7 @@ var CardOrdererInfo = ({
|
|
|
7257
7574
|
className
|
|
7258
7575
|
}) => {
|
|
7259
7576
|
const styles = useStyles20();
|
|
7260
|
-
const mergedLabels = { ...
|
|
7577
|
+
const mergedLabels = { ...DEFAULT_LABELS20[language], ...labels };
|
|
7261
7578
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: className || styles.card, children: [
|
|
7262
7579
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { children: mergedLabels.title }),
|
|
7263
7580
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
|
|
@@ -7278,20 +7595,34 @@ var CardOrdererInfo = ({
|
|
|
7278
7595
|
};
|
|
7279
7596
|
|
|
7280
7597
|
// src/components/ModalListPassenger/ModalListPassenger.constants.ts
|
|
7281
|
-
var
|
|
7598
|
+
var DEFAULT_LABELS21 = {
|
|
7282
7599
|
id: {
|
|
7283
7600
|
title: "Detail Penumpang",
|
|
7284
7601
|
sameAsOrderer: "Sama Dengan Pemesan",
|
|
7285
7602
|
searchPlaceholder: "Cari Penumpang",
|
|
7286
7603
|
addPassengerButton: "Tambah Penumpang",
|
|
7287
|
-
cancelButton: "Batal"
|
|
7604
|
+
cancelButton: "Batal",
|
|
7605
|
+
editPassengerAriaLabel: "Edit data penumpang",
|
|
7606
|
+
categories: {
|
|
7607
|
+
adult: "Dewasa",
|
|
7608
|
+
child: "Anak",
|
|
7609
|
+
infant: "Bayi",
|
|
7610
|
+
elderly: "Lansia"
|
|
7611
|
+
}
|
|
7288
7612
|
},
|
|
7289
7613
|
en: {
|
|
7290
7614
|
title: "Passenger Details",
|
|
7291
7615
|
sameAsOrderer: "Same as Orderer",
|
|
7292
7616
|
searchPlaceholder: "Search Passenger",
|
|
7293
7617
|
addPassengerButton: "Add Passenger",
|
|
7294
|
-
cancelButton: "Cancel"
|
|
7618
|
+
cancelButton: "Cancel",
|
|
7619
|
+
editPassengerAriaLabel: "Edit passenger data",
|
|
7620
|
+
categories: {
|
|
7621
|
+
adult: "Adult",
|
|
7622
|
+
child: "Child",
|
|
7623
|
+
infant: "Infant",
|
|
7624
|
+
elderly: "Elderly"
|
|
7625
|
+
}
|
|
7295
7626
|
}
|
|
7296
7627
|
};
|
|
7297
7628
|
var useStyles21 = reactComponents.makeStyles({
|
|
@@ -7350,7 +7681,7 @@ var ModalListPassenger = ({
|
|
|
7350
7681
|
onSameAsOrdererChange
|
|
7351
7682
|
}) => {
|
|
7352
7683
|
const styles = useStyles21();
|
|
7353
|
-
const mergedLabels = { ...
|
|
7684
|
+
const mergedLabels = { ...DEFAULT_LABELS21[language], ...labels };
|
|
7354
7685
|
const displayTitle = title || mergedLabels.title;
|
|
7355
7686
|
const handleClose = () => {
|
|
7356
7687
|
onClose();
|
|
@@ -7418,20 +7749,31 @@ var ModalListPassenger = ({
|
|
|
7418
7749
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle2, { children: [
|
|
7419
7750
|
passenger.name,
|
|
7420
7751
|
" (",
|
|
7421
|
-
|
|
7752
|
+
(() => {
|
|
7753
|
+
const cat = passenger.category?.toUpperCase();
|
|
7754
|
+
if (cat === "ADULT")
|
|
7755
|
+
return mergedLabels.categories.adult;
|
|
7756
|
+
if (cat === "CHILD")
|
|
7757
|
+
return mergedLabels.categories.child;
|
|
7758
|
+
if (cat === "INFANT")
|
|
7759
|
+
return mergedLabels.categories.infant;
|
|
7760
|
+
if (cat === "ELDERLY")
|
|
7761
|
+
return mergedLabels.categories.elderly;
|
|
7762
|
+
return passenger.category;
|
|
7763
|
+
})(),
|
|
7422
7764
|
")"
|
|
7423
7765
|
] }) }),
|
|
7424
7766
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7425
|
-
|
|
7767
|
+
reactComponents.Button,
|
|
7426
7768
|
{
|
|
7427
|
-
|
|
7769
|
+
appearance: "transparent",
|
|
7770
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:chevron-right-24-regular" }),
|
|
7428
7771
|
onClick: (e) => {
|
|
7429
7772
|
e.preventDefault();
|
|
7430
7773
|
e.stopPropagation();
|
|
7431
7774
|
onEditPassenger(passenger);
|
|
7432
7775
|
},
|
|
7433
|
-
|
|
7434
|
-
height: 20
|
|
7776
|
+
"aria-label": mergedLabels.editPassengerAriaLabel
|
|
7435
7777
|
}
|
|
7436
7778
|
)
|
|
7437
7779
|
]
|
|
@@ -7467,7 +7809,7 @@ var ModalListPassenger = ({
|
|
|
7467
7809
|
};
|
|
7468
7810
|
|
|
7469
7811
|
// src/components/ModalPassengerForm/ModalPassengerForm.constants.ts
|
|
7470
|
-
var
|
|
7812
|
+
var DEFAULT_LABELS22 = {
|
|
7471
7813
|
id: {
|
|
7472
7814
|
title: "Detail Penumpang",
|
|
7473
7815
|
titleLabel: "Title",
|
|
@@ -7568,9 +7910,9 @@ var ModalPassengerForm = ({
|
|
|
7568
7910
|
ticketClassOptions
|
|
7569
7911
|
}) => {
|
|
7570
7912
|
const styles = useStyles22();
|
|
7571
|
-
const mergedLabels = { ...
|
|
7913
|
+
const mergedLabels = { ...DEFAULT_LABELS22[language], ...labels };
|
|
7572
7914
|
const mergedErrors = {
|
|
7573
|
-
...
|
|
7915
|
+
...DEFAULT_LABELS22[language].errors,
|
|
7574
7916
|
...labels?.errors
|
|
7575
7917
|
};
|
|
7576
7918
|
const displayTitle = title || mergedLabels.title;
|
|
@@ -7770,7 +8112,7 @@ var ModalPassengerForm = ({
|
|
|
7770
8112
|
};
|
|
7771
8113
|
|
|
7772
8114
|
// src/components/CardPassengerList/CardPassengerList.constants.ts
|
|
7773
|
-
var
|
|
8115
|
+
var DEFAULT_LABELS23 = {
|
|
7774
8116
|
id: {
|
|
7775
8117
|
defaultTitle: "Data Penumpang",
|
|
7776
8118
|
passengerPrefix: "Penumpang"
|
|
@@ -7892,7 +8234,7 @@ var CardPassengerList = ({
|
|
|
7892
8234
|
className
|
|
7893
8235
|
}) => {
|
|
7894
8236
|
const styles = useStyles23();
|
|
7895
|
-
const mergedLabels = { ...
|
|
8237
|
+
const mergedLabels = { ...DEFAULT_LABELS23[language], ...labels };
|
|
7896
8238
|
const displayTitle = title || mergedLabels.defaultTitle;
|
|
7897
8239
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: className || styles.card, children: [
|
|
7898
8240
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
@@ -7965,7 +8307,7 @@ var CardPassengerList = ({
|
|
|
7965
8307
|
};
|
|
7966
8308
|
|
|
7967
8309
|
// src/components/CardVehicleDetail/CardVehicleDetail.constants.ts
|
|
7968
|
-
var
|
|
8310
|
+
var DEFAULT_LABELS24 = {
|
|
7969
8311
|
id: {
|
|
7970
8312
|
title: "Detail Kendaraan",
|
|
7971
8313
|
vehicleNumberLabel: "Nomor Kendaraan",
|
|
@@ -8023,7 +8365,7 @@ var CardVehicleDetail = ({
|
|
|
8023
8365
|
labels
|
|
8024
8366
|
}) => {
|
|
8025
8367
|
const styles = useStyles24();
|
|
8026
|
-
const mergedLabels = { ...
|
|
8368
|
+
const mergedLabels = { ...DEFAULT_LABELS24[language], ...labels };
|
|
8027
8369
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.card, children: [
|
|
8028
8370
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8029
8371
|
"div",
|
|
@@ -8083,7 +8425,7 @@ var CardVehicleDetail = ({
|
|
|
8083
8425
|
};
|
|
8084
8426
|
|
|
8085
8427
|
// src/components/CardVehicleOwnerForm/CardVehicleOwnerForm.constants.ts
|
|
8086
|
-
var
|
|
8428
|
+
var DEFAULT_LABELS25 = {
|
|
8087
8429
|
id: {
|
|
8088
8430
|
title: "Informasi Pemilik & Muatan",
|
|
8089
8431
|
addOwnerButton: "Tambah Pemilik",
|
|
@@ -8109,6 +8451,7 @@ var DEFAULT_LABELS23 = {
|
|
|
8109
8451
|
cargoReceiverCompanyPlaceholder: "Pilih Nama Perusahaan Penerima Barang",
|
|
8110
8452
|
cargoReceiverIndividualPlaceholder: "Masukkan Nama Penerima Barang",
|
|
8111
8453
|
totalWeightLabel: "Berat Muatan dan Kendaraan (Ton)",
|
|
8454
|
+
commentLabel: "Komentar",
|
|
8112
8455
|
cargoListTitle: "Daftar Muatan",
|
|
8113
8456
|
cargoItemTitle: "Muatan {index}",
|
|
8114
8457
|
commodityLabel: "Data Komoditas",
|
|
@@ -8129,7 +8472,12 @@ var DEFAULT_LABELS23 = {
|
|
|
8129
8472
|
kg: "Kg",
|
|
8130
8473
|
ton: "Ton",
|
|
8131
8474
|
unit: "Unit"
|
|
8132
|
-
}
|
|
8475
|
+
},
|
|
8476
|
+
pricePlaceholder: "Rp. 0",
|
|
8477
|
+
currencySymbol: "Rp.",
|
|
8478
|
+
deleteOwnerAriaLabel: "Hapus pemilik",
|
|
8479
|
+
decrementQuantityAriaLabel: "Kurangi jumlah",
|
|
8480
|
+
incrementQuantityAriaLabel: "Tambah jumlah"
|
|
8133
8481
|
},
|
|
8134
8482
|
en: {
|
|
8135
8483
|
title: "Owner & Cargo Information",
|
|
@@ -8156,6 +8504,7 @@ var DEFAULT_LABELS23 = {
|
|
|
8156
8504
|
cargoReceiverCompanyPlaceholder: "Select Cargo Receiver Company",
|
|
8157
8505
|
cargoReceiverIndividualPlaceholder: "Enter Cargo Receiver Name",
|
|
8158
8506
|
totalWeightLabel: "Cargo & Vehicle Weight (Ton)",
|
|
8507
|
+
commentLabel: "Comment",
|
|
8159
8508
|
cargoListTitle: "Cargo List",
|
|
8160
8509
|
cargoItemTitle: "Cargo {index}",
|
|
8161
8510
|
commodityLabel: "Commodity Data",
|
|
@@ -8176,7 +8525,12 @@ var DEFAULT_LABELS23 = {
|
|
|
8176
8525
|
kg: "Kg",
|
|
8177
8526
|
ton: "Ton",
|
|
8178
8527
|
unit: "Unit"
|
|
8179
|
-
}
|
|
8528
|
+
},
|
|
8529
|
+
pricePlaceholder: "Rp. 0",
|
|
8530
|
+
currencySymbol: "Rp.",
|
|
8531
|
+
deleteOwnerAriaLabel: "Delete owner",
|
|
8532
|
+
decrementQuantityAriaLabel: "Decrease quantity",
|
|
8533
|
+
incrementQuantityAriaLabel: "Increase quantity"
|
|
8180
8534
|
}
|
|
8181
8535
|
};
|
|
8182
8536
|
var useStyles25 = reactComponents.makeStyles({
|
|
@@ -8239,7 +8593,7 @@ var CardVehicleOwnerForm = ({
|
|
|
8239
8593
|
labels
|
|
8240
8594
|
}) => {
|
|
8241
8595
|
const styles = useStyles25();
|
|
8242
|
-
const mergedLabels = { ...
|
|
8596
|
+
const mergedLabels = { ...DEFAULT_LABELS25[language], ...labels };
|
|
8243
8597
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.card, children: [
|
|
8244
8598
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.header, children: [
|
|
8245
8599
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", flex: 1 }, children: [
|
|
@@ -8293,6 +8647,7 @@ var CardVehicleOwnerForm = ({
|
|
|
8293
8647
|
{
|
|
8294
8648
|
appearance: "transparent",
|
|
8295
8649
|
icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: "fluent:delete-24-regular" }),
|
|
8650
|
+
"aria-label": mergedLabels.deleteOwnerAriaLabel,
|
|
8296
8651
|
onClick: (e) => {
|
|
8297
8652
|
e.stopPropagation();
|
|
8298
8653
|
onDeleteOwner(owner.id);
|
|
@@ -8759,6 +9114,7 @@ var CardVehicleOwnerForm = ({
|
|
|
8759
9114
|
}
|
|
8760
9115
|
}
|
|
8761
9116
|
),
|
|
9117
|
+
"aria-label": mergedLabels.decrementQuantityAriaLabel,
|
|
8762
9118
|
size: "small",
|
|
8763
9119
|
onClick: () => {
|
|
8764
9120
|
const currentVal = getValues(
|
|
@@ -8823,6 +9179,7 @@ var CardVehicleOwnerForm = ({
|
|
|
8823
9179
|
}
|
|
8824
9180
|
}
|
|
8825
9181
|
),
|
|
9182
|
+
"aria-label": mergedLabels.incrementQuantityAriaLabel,
|
|
8826
9183
|
size: "small",
|
|
8827
9184
|
onClick: () => {
|
|
8828
9185
|
const currentVal = getValues(
|
|
@@ -8886,7 +9243,7 @@ var CardVehicleOwnerForm = ({
|
|
|
8886
9243
|
{
|
|
8887
9244
|
control,
|
|
8888
9245
|
name: `owners.${index}.price`,
|
|
8889
|
-
placeholder:
|
|
9246
|
+
placeholder: mergedLabels.pricePlaceholder,
|
|
8890
9247
|
disabled: true,
|
|
8891
9248
|
size: "large",
|
|
8892
9249
|
type: "text"
|
|
@@ -9014,7 +9371,7 @@ var CardVehicleOwnerForm = ({
|
|
|
9014
9371
|
};
|
|
9015
9372
|
|
|
9016
9373
|
// src/components/CardBookingTicket/CardBookingTicket.constants.ts
|
|
9017
|
-
var
|
|
9374
|
+
var DEFAULT_LABELS26 = {
|
|
9018
9375
|
id: {
|
|
9019
9376
|
bookingDetails: "Booking Details",
|
|
9020
9377
|
routeTitle: "Rute Perjalanan",
|
|
@@ -9024,7 +9381,8 @@ var DEFAULT_LABELS24 = {
|
|
|
9024
9381
|
previousButton: "Sebelumnya",
|
|
9025
9382
|
viewBookingButton: "Lihat Pemesanan",
|
|
9026
9383
|
changePaymentButton: "Ubah Metode Pembayaran",
|
|
9027
|
-
timezoneLabel: "WIB"
|
|
9384
|
+
timezoneLabel: "WIB",
|
|
9385
|
+
currencySymbol: "IDR"
|
|
9028
9386
|
},
|
|
9029
9387
|
en: {
|
|
9030
9388
|
bookingDetails: "Booking Details",
|
|
@@ -9035,7 +9393,8 @@ var DEFAULT_LABELS24 = {
|
|
|
9035
9393
|
previousButton: "Previous",
|
|
9036
9394
|
viewBookingButton: "View Booking",
|
|
9037
9395
|
changePaymentButton: "Change Payment Method",
|
|
9038
|
-
timezoneLabel: "WIB"
|
|
9396
|
+
timezoneLabel: "WIB",
|
|
9397
|
+
currencySymbol: "IDR"
|
|
9039
9398
|
}
|
|
9040
9399
|
};
|
|
9041
9400
|
var useStyles26 = reactComponents.makeStyles({
|
|
@@ -9171,7 +9530,7 @@ var CardBookingTicket = ({
|
|
|
9171
9530
|
className
|
|
9172
9531
|
}) => {
|
|
9173
9532
|
const styles = useStyles26();
|
|
9174
|
-
const mergedLabels = { ...
|
|
9533
|
+
const mergedLabels = { ...DEFAULT_LABELS26[language], ...labels };
|
|
9175
9534
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.container} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.bookingDetail, children: [
|
|
9176
9535
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.bookingDetailTop, children: [
|
|
9177
9536
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.bookingDetails }),
|
|
@@ -9237,7 +9596,8 @@ var CardBookingTicket = ({
|
|
|
9237
9596
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.totalPrice, children: [
|
|
9238
9597
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.totalPriceLabel }),
|
|
9239
9598
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Title3, { className: styles.priceText, children: [
|
|
9240
|
-
|
|
9599
|
+
mergedLabels.currencySymbol,
|
|
9600
|
+
" ",
|
|
9241
9601
|
totalPrice
|
|
9242
9602
|
] }),
|
|
9243
9603
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -9308,7 +9668,7 @@ var CardBookingTicket = ({
|
|
|
9308
9668
|
};
|
|
9309
9669
|
|
|
9310
9670
|
// src/components/CardFAQ/CardFAQ.constants.ts
|
|
9311
|
-
var
|
|
9671
|
+
var DEFAULT_LABELS27 = {
|
|
9312
9672
|
id: {
|
|
9313
9673
|
title: "Pertanyaan yang sering diajukan"
|
|
9314
9674
|
},
|
|
@@ -9387,7 +9747,7 @@ var CardFAQ = ({
|
|
|
9387
9747
|
className
|
|
9388
9748
|
}) => {
|
|
9389
9749
|
const styles = useStyles27();
|
|
9390
|
-
const mergedLabels = { ...
|
|
9750
|
+
const mergedLabels = { ...DEFAULT_LABELS27[language], ...labels };
|
|
9391
9751
|
const faqItems = items || DEFAULT_FAQ_ITEMS[language];
|
|
9392
9752
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.faqCard, children: [
|
|
9393
9753
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.title }),
|
|
@@ -9424,18 +9784,20 @@ var CardFAQ = ({
|
|
|
9424
9784
|
};
|
|
9425
9785
|
|
|
9426
9786
|
// src/components/CardAddon/CardAddon.constants.ts
|
|
9427
|
-
var
|
|
9787
|
+
var DEFAULT_LABELS28 = {
|
|
9428
9788
|
id: {
|
|
9429
9789
|
viewDetail: "Lihat detail",
|
|
9430
9790
|
totalPrice: "Total Harga",
|
|
9431
9791
|
passengerInsurance: "Asuransi Penumpang",
|
|
9432
|
-
removeOrder: "Hapus Pesanan"
|
|
9792
|
+
removeOrder: "Hapus Pesanan",
|
|
9793
|
+
currencySymbol: "Rp"
|
|
9433
9794
|
},
|
|
9434
9795
|
en: {
|
|
9435
9796
|
viewDetail: "View Details",
|
|
9436
9797
|
totalPrice: "Total Price",
|
|
9437
9798
|
passengerInsurance: "Passenger Insurance",
|
|
9438
|
-
removeOrder: "Remove Order"
|
|
9799
|
+
removeOrder: "Remove Order",
|
|
9800
|
+
currencySymbol: "Rp"
|
|
9439
9801
|
}
|
|
9440
9802
|
};
|
|
9441
9803
|
var useStyles28 = reactComponents.makeStyles({
|
|
@@ -9612,7 +9974,7 @@ var CardAddon = ({
|
|
|
9612
9974
|
className
|
|
9613
9975
|
}) => {
|
|
9614
9976
|
const styles = useStyles28();
|
|
9615
|
-
const mergedLabels = { ...
|
|
9977
|
+
const mergedLabels = { ...DEFAULT_LABELS28[language], ...labels };
|
|
9616
9978
|
return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.gapRow, children: [
|
|
9617
9979
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.titleDivider, children: [
|
|
9618
9980
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { className: styles.textTitle, children: title }),
|
|
@@ -9644,8 +10006,11 @@ var CardAddon = ({
|
|
|
9644
10006
|
footerData.priceLabel,
|
|
9645
10007
|
" ",
|
|
9646
10008
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Caption1Stronger, { children: [
|
|
9647
|
-
|
|
9648
|
-
|
|
10009
|
+
mergedLabels.currencySymbol,
|
|
10010
|
+
" ",
|
|
10011
|
+
footerData.price.toLocaleString(
|
|
10012
|
+
language === "id" ? "id-ID" : "en-US"
|
|
10013
|
+
),
|
|
9649
10014
|
footerData.priceUnit
|
|
9650
10015
|
] })
|
|
9651
10016
|
] }) }),
|
|
@@ -9690,15 +10055,21 @@ var CardAddon = ({
|
|
|
9690
10055
|
")"
|
|
9691
10056
|
] }),
|
|
9692
10057
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { children: [
|
|
9693
|
-
|
|
9694
|
-
|
|
10058
|
+
mergedLabels.currencySymbol,
|
|
10059
|
+
" ",
|
|
10060
|
+
item.totalPrice.toLocaleString(
|
|
10061
|
+
language === "id" ? "id-ID" : "en-US"
|
|
10062
|
+
)
|
|
9695
10063
|
] })
|
|
9696
10064
|
] }, idx)),
|
|
9697
10065
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.breakdownRow, children: [
|
|
9698
10066
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: mergedLabels.totalPrice }),
|
|
9699
10067
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle2, { children: [
|
|
9700
|
-
|
|
9701
|
-
|
|
10068
|
+
mergedLabels.currencySymbol,
|
|
10069
|
+
" ",
|
|
10070
|
+
assuranceData.totalPrice.toLocaleString(
|
|
10071
|
+
language === "id" ? "id-ID" : "en-US"
|
|
10072
|
+
)
|
|
9702
10073
|
] })
|
|
9703
10074
|
] })
|
|
9704
10075
|
] })
|
|
@@ -9718,13 +10089,20 @@ var CardAddon = ({
|
|
|
9718
10089
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: item.name }),
|
|
9719
10090
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: styles.mealDescription, children: item.description }),
|
|
9720
10091
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1Strong, { className: styles.mealPriceInfo, children: [
|
|
9721
|
-
|
|
9722
|
-
|
|
9723
|
-
|
|
10092
|
+
mergedLabels.currencySymbol,
|
|
10093
|
+
" ",
|
|
10094
|
+
item.price.toLocaleString(
|
|
10095
|
+
language === "id" ? "id-ID" : "en-US"
|
|
10096
|
+
),
|
|
10097
|
+
" ",
|
|
10098
|
+
"x ",
|
|
9724
10099
|
item.quantity,
|
|
10100
|
+
" = ",
|
|
10101
|
+
mergedLabels.currencySymbol,
|
|
9725
10102
|
" ",
|
|
9726
|
-
|
|
9727
|
-
|
|
10103
|
+
(item.price * item.quantity).toLocaleString(
|
|
10104
|
+
language === "id" ? "id-ID" : "en-US"
|
|
10105
|
+
)
|
|
9728
10106
|
] })
|
|
9729
10107
|
] }),
|
|
9730
10108
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.mealActions, children: [
|
|
@@ -9779,8 +10157,11 @@ var CardAddon = ({
|
|
|
9779
10157
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.totalContainer, children: [
|
|
9780
10158
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { children: footerData.priceLabel }),
|
|
9781
10159
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle1, { style: { fontSize: reactComponents.tokens.fontSizeBase600 }, children: [
|
|
9782
|
-
|
|
9783
|
-
|
|
10160
|
+
mergedLabels.currencySymbol,
|
|
10161
|
+
" ",
|
|
10162
|
+
footerData.price.toLocaleString(
|
|
10163
|
+
language === "id" ? "id-ID" : "en-US"
|
|
10164
|
+
)
|
|
9784
10165
|
] })
|
|
9785
10166
|
] }),
|
|
9786
10167
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: "100%" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -9804,12 +10185,18 @@ var CardAddon = ({
|
|
|
9804
10185
|
};
|
|
9805
10186
|
|
|
9806
10187
|
// src/components/CardMealCatalog/CardMealCatalog.constants.ts
|
|
9807
|
-
var
|
|
10188
|
+
var DEFAULT_LABELS29 = {
|
|
9808
10189
|
id: {
|
|
9809
|
-
addButton: "Tambah"
|
|
10190
|
+
addButton: "Tambah",
|
|
10191
|
+
currencySymbol: "Rp",
|
|
10192
|
+
decrementAriaLabel: "Kurangi jumlah",
|
|
10193
|
+
incrementAriaLabel: "Tambah jumlah"
|
|
9810
10194
|
},
|
|
9811
10195
|
en: {
|
|
9812
|
-
addButton: "Add"
|
|
10196
|
+
addButton: "Add",
|
|
10197
|
+
currencySymbol: "Rp",
|
|
10198
|
+
decrementAriaLabel: "Decrease quantity",
|
|
10199
|
+
incrementAriaLabel: "Increase quantity"
|
|
9813
10200
|
}
|
|
9814
10201
|
};
|
|
9815
10202
|
var useStyles29 = reactComponents.makeStyles({
|
|
@@ -9952,7 +10339,7 @@ var CardMealCatalog = ({
|
|
|
9952
10339
|
className
|
|
9953
10340
|
}) => {
|
|
9954
10341
|
const styles = useStyles29();
|
|
9955
|
-
const mergedLabels = { ...
|
|
10342
|
+
const mergedLabels = { ...DEFAULT_LABELS29[language], ...labels };
|
|
9956
10343
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
|
|
9957
10344
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.banner, children: [
|
|
9958
10345
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.bannerOverlay }),
|
|
@@ -10001,8 +10388,11 @@ var CardMealCatalog = ({
|
|
|
10001
10388
|
] }),
|
|
10002
10389
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.productFooter, children: [
|
|
10003
10390
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: styles.price, children: [
|
|
10004
|
-
|
|
10005
|
-
|
|
10391
|
+
mergedLabels.currencySymbol,
|
|
10392
|
+
" ",
|
|
10393
|
+
item.price.toLocaleString(
|
|
10394
|
+
language === "id" ? "id-ID" : "en-US"
|
|
10395
|
+
)
|
|
10006
10396
|
] }),
|
|
10007
10397
|
item.quantity > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.quantitySelector, children: [
|
|
10008
10398
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10010,16 +10400,18 @@ var CardMealCatalog = ({
|
|
|
10010
10400
|
{
|
|
10011
10401
|
size: "small",
|
|
10012
10402
|
shape: "circular",
|
|
10403
|
+
"aria-label": mergedLabels.decrementAriaLabel,
|
|
10013
10404
|
icon: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.SubtractRegular, {}),
|
|
10014
10405
|
onClick: () => onUpdateQuantity(item.id, -1)
|
|
10015
10406
|
}
|
|
10016
10407
|
),
|
|
10017
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: item.quantity }),
|
|
10408
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { "aria-live": "polite", children: item.quantity }),
|
|
10018
10409
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10019
10410
|
reactComponents.Button,
|
|
10020
10411
|
{
|
|
10021
10412
|
size: "small",
|
|
10022
10413
|
shape: "circular",
|
|
10414
|
+
"aria-label": mergedLabels.incrementAriaLabel,
|
|
10023
10415
|
icon: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.AddRegular, {}),
|
|
10024
10416
|
onClick: () => onUpdateQuantity(item.id, 1)
|
|
10025
10417
|
}
|
|
@@ -10042,9 +10434,13 @@ var CardMealCatalog = ({
|
|
|
10042
10434
|
};
|
|
10043
10435
|
|
|
10044
10436
|
// src/components/CardReview/CardReview.constants.ts
|
|
10045
|
-
var
|
|
10046
|
-
id: {
|
|
10047
|
-
|
|
10437
|
+
var DEFAULT_LABELS30 = {
|
|
10438
|
+
id: {
|
|
10439
|
+
defaultTitle: "Tinjauan"
|
|
10440
|
+
},
|
|
10441
|
+
en: {
|
|
10442
|
+
defaultTitle: "Review"
|
|
10443
|
+
}
|
|
10048
10444
|
};
|
|
10049
10445
|
var useStyles30 = reactComponents.makeStyles({
|
|
10050
10446
|
card: {
|
|
@@ -10098,10 +10494,10 @@ var CardReview = ({
|
|
|
10098
10494
|
headerAction
|
|
10099
10495
|
}) => {
|
|
10100
10496
|
const styles = useStyles30();
|
|
10101
|
-
|
|
10497
|
+
const mergedLabels = { ...DEFAULT_LABELS30[language], ...labels };
|
|
10102
10498
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: [
|
|
10103
10499
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
10104
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: title }),
|
|
10500
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: title || mergedLabels.defaultTitle }),
|
|
10105
10501
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.headerLine }),
|
|
10106
10502
|
headerAction && /* @__PURE__ */ jsxRuntime.jsx("div", { children: headerAction })
|
|
10107
10503
|
] }),
|
|
@@ -10145,7 +10541,7 @@ var CardReview = ({
|
|
|
10145
10541
|
};
|
|
10146
10542
|
|
|
10147
10543
|
// src/components/CardReviewPassenger/CardReviewPassenger.constants.ts
|
|
10148
|
-
var
|
|
10544
|
+
var DEFAULT_LABELS31 = {
|
|
10149
10545
|
id: {
|
|
10150
10546
|
title: "Penumpang",
|
|
10151
10547
|
idNumber: "Nomor ID"
|
|
@@ -10254,7 +10650,7 @@ var CardReviewPassenger = ({
|
|
|
10254
10650
|
className
|
|
10255
10651
|
}) => {
|
|
10256
10652
|
const styles = useStyles31();
|
|
10257
|
-
const mergedLabels = { ...
|
|
10653
|
+
const mergedLabels = { ...DEFAULT_LABELS31[language], ...labels };
|
|
10258
10654
|
const displayTitle = title || mergedLabels.title;
|
|
10259
10655
|
return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: [
|
|
10260
10656
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
|
|
@@ -10297,7 +10693,7 @@ var CardReviewPassenger = ({
|
|
|
10297
10693
|
};
|
|
10298
10694
|
|
|
10299
10695
|
// src/components/CardPriceDetails/CardPriceDetails.constants.ts
|
|
10300
|
-
var
|
|
10696
|
+
var DEFAULT_LABELS32 = {
|
|
10301
10697
|
id: {
|
|
10302
10698
|
defaultTitle: "Rincian Harga",
|
|
10303
10699
|
totalPayment: "Total Pembayaran",
|
|
@@ -10309,7 +10705,7 @@ var DEFAULT_LABELS30 = {
|
|
|
10309
10705
|
"Tiket akan hangus (expired) apabila Anda belum Masuk Pelabuhan (Check-In) hingga melewati batas waktu jadwal Masuk Pelabuhan yang Anda pilih."
|
|
10310
10706
|
],
|
|
10311
10707
|
agreementInfo: "Dengan menekan tombol \u201CLanjutkan Pembayaran\u201D, maka saya telah membaca dan menyetujui :",
|
|
10312
|
-
agreementLinkFerizy: "Syarat & Ketentuan",
|
|
10708
|
+
agreementLinkFerizy: "Syarat & Ketentuan Ferizy",
|
|
10313
10709
|
agreementCovidInfo: "Ketentuan persyaratan menyeberang sesuai dengan\xA0",
|
|
10314
10710
|
agreementCovidLink: "Surat Edaran Satgas Covid-19 Nomor 23 Tahun 2022.",
|
|
10315
10711
|
agreementFinal: "Bahwa apabila saya didapati tidak memenuhi ketentuan persyaratan menyeberang pada butir 2 (dua) diatas yang mengakibatkan saya terlambat atau tidak dapat melakukan Check-In di pelabuhan tepat waktu, maka saya menerima dan menyetujui untuk diproses sesuai dengan Syarat & Ketentuan Ferizy sebagaimana tersebut pada butir 1 (satu) di atas.",
|
|
@@ -10359,10 +10755,7 @@ var PriceDetailsTerms = ({
|
|
|
10359
10755
|
const linkColor = reactComponents.tokens.colorBrandBackground;
|
|
10360
10756
|
const bookingTerms = labels.bookingTerms;
|
|
10361
10757
|
const agreementTerms = [
|
|
10362
|
-
/* @__PURE__ */ jsxRuntime.
|
|
10363
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/terms-and-conditions", style: { color: linkColor }, children: labels.agreementLinkFerizy }),
|
|
10364
|
-
"\xA0Ferizy."
|
|
10365
|
-
] }),
|
|
10758
|
+
/* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/terms-and-conditions", style: { color: linkColor }, children: labels.agreementLinkFerizy }) }),
|
|
10366
10759
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10367
10760
|
labels.agreementCovidInfo,
|
|
10368
10761
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Link, { href: "/surat-edaran-satgas-covid-19", style: { color: linkColor }, children: labels.agreementCovidLink })
|
|
@@ -10456,7 +10849,7 @@ var CardPriceDetails = ({
|
|
|
10456
10849
|
labels
|
|
10457
10850
|
}) => {
|
|
10458
10851
|
const styles = useStyles33();
|
|
10459
|
-
const mergedLabels = { ...
|
|
10852
|
+
const mergedLabels = { ...DEFAULT_LABELS32[language], ...labels };
|
|
10460
10853
|
const displayTitle = title || mergedLabels.defaultTitle;
|
|
10461
10854
|
const getVariantClass = (variant) => {
|
|
10462
10855
|
switch (variant) {
|
|
@@ -10476,10 +10869,10 @@ var CardPriceDetails = ({
|
|
|
10476
10869
|
isTaxLike ? /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { className: variantClass, children: item.name }) : /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: reactComponents.mergeClasses(styles.label, variantClass), children: item.name }),
|
|
10477
10870
|
isTaxLike ? /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1Strong, { className: reactComponents.mergeClasses(styles.value, variantClass), children: [
|
|
10478
10871
|
mergedLabels.currencyPrefix,
|
|
10479
|
-
item.price.toLocaleString("id-ID")
|
|
10872
|
+
item.price.toLocaleString(language === "id" ? "id-ID" : "en-US")
|
|
10480
10873
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { className: reactComponents.mergeClasses(styles.value, variantClass), children: [
|
|
10481
10874
|
item.isRedeem ? "-" : mergedLabels.currencyPrefix,
|
|
10482
|
-
item.price.toLocaleString("id-ID")
|
|
10875
|
+
item.price.toLocaleString(language === "id" ? "id-ID" : "en-US")
|
|
10483
10876
|
] })
|
|
10484
10877
|
] }),
|
|
10485
10878
|
item.description && /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Caption1, { className: styles.description, children: item.description })
|
|
@@ -10505,7 +10898,7 @@ var CardPriceDetails = ({
|
|
|
10505
10898
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.totalLabel, children: mergedLabels.totalPayment }),
|
|
10506
10899
|
/* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle1, { className: styles.totalValue, children: [
|
|
10507
10900
|
mergedLabels.currencyPrefix,
|
|
10508
|
-
total.toLocaleString("id-ID")
|
|
10901
|
+
total.toLocaleString(language === "id" ? "id-ID" : "en-US")
|
|
10509
10902
|
] })
|
|
10510
10903
|
] }),
|
|
10511
10904
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
@@ -10515,9 +10908,13 @@ var CardPriceDetails = ({
|
|
|
10515
10908
|
};
|
|
10516
10909
|
|
|
10517
10910
|
// src/components/CardPaymentMethodList/CardPaymentMethodList.constants.ts
|
|
10518
|
-
var
|
|
10519
|
-
id: {
|
|
10520
|
-
|
|
10911
|
+
var DEFAULT_LABELS33 = {
|
|
10912
|
+
id: {
|
|
10913
|
+
selectAriaLabel: "Pilih metode pembayaran"
|
|
10914
|
+
},
|
|
10915
|
+
en: {
|
|
10916
|
+
selectAriaLabel: "Select payment method"
|
|
10917
|
+
}
|
|
10521
10918
|
};
|
|
10522
10919
|
var useStyles34 = reactComponents.makeStyles({
|
|
10523
10920
|
container: {
|
|
@@ -10580,7 +10977,7 @@ var CardPaymentMethodList = ({
|
|
|
10580
10977
|
onSelect
|
|
10581
10978
|
}) => {
|
|
10582
10979
|
const styles = useStyles34();
|
|
10583
|
-
|
|
10980
|
+
const mergedLabels = { ...DEFAULT_LABELS33[language], ...labels };
|
|
10584
10981
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.container}`, children: methods.map((category, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
10585
10982
|
index > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.dividerContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}) }),
|
|
10586
10983
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { multiple: true, collapsible: true, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.AccordionItem, { value: category.value, children: [
|
|
@@ -10616,7 +11013,8 @@ var CardPaymentMethodList = ({
|
|
|
10616
11013
|
onChange: () => onSelect(option.value),
|
|
10617
11014
|
value: option.value,
|
|
10618
11015
|
name: "payment-method",
|
|
10619
|
-
disabled: option.disabled
|
|
11016
|
+
disabled: option.disabled,
|
|
11017
|
+
"aria-label": `${mergedLabels.selectAriaLabel} ${option.label}`
|
|
10620
11018
|
}
|
|
10621
11019
|
)
|
|
10622
11020
|
]
|
|
@@ -10628,7 +11026,7 @@ var CardPaymentMethodList = ({
|
|
|
10628
11026
|
};
|
|
10629
11027
|
|
|
10630
11028
|
// src/components/CardPaymentGuide/CardPaymentGuide.constants.ts
|
|
10631
|
-
var
|
|
11029
|
+
var DEFAULT_LABELS34 = {
|
|
10632
11030
|
id: {
|
|
10633
11031
|
title: "Cara Pembayaran"
|
|
10634
11032
|
},
|
|
@@ -10674,7 +11072,7 @@ var CardPaymentGuide = ({
|
|
|
10674
11072
|
className
|
|
10675
11073
|
}) => {
|
|
10676
11074
|
const styles = useStyles35();
|
|
10677
|
-
const mergedLabels = { ...
|
|
11075
|
+
const mergedLabels = { ...DEFAULT_LABELS34[language], ...labels };
|
|
10678
11076
|
const displayTitle = title || mergedLabels.title;
|
|
10679
11077
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
|
|
10680
11078
|
title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.titleContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.title, children: displayTitle }) }),
|
|
@@ -10693,20 +11091,22 @@ var CardPaymentGuide = ({
|
|
|
10693
11091
|
};
|
|
10694
11092
|
|
|
10695
11093
|
// src/components/CardPaymentInfo/CardPaymentInfo.constants.ts
|
|
10696
|
-
var
|
|
11094
|
+
var DEFAULT_LABELS35 = {
|
|
10697
11095
|
id: {
|
|
10698
11096
|
expiryPrefix: "Kode virtual akun berlaku sampai",
|
|
10699
11097
|
copyCodeButton: "Salin Kode",
|
|
10700
11098
|
totalPayment: "Total Pembayaran",
|
|
10701
11099
|
checkStatusInfo: "Klik tombol dibawah ini jika sudah melakukan pembayaran",
|
|
10702
|
-
checkStatusButton: "Cek Status Pembayaran"
|
|
11100
|
+
checkStatusButton: "Cek Status Pembayaran",
|
|
11101
|
+
currencySymbol: "Rp."
|
|
10703
11102
|
},
|
|
10704
11103
|
en: {
|
|
10705
11104
|
expiryPrefix: "Virtual account code valid until",
|
|
10706
11105
|
copyCodeButton: "Copy Code",
|
|
10707
11106
|
totalPayment: "Total Payment",
|
|
10708
11107
|
checkStatusInfo: "Click the button below if you have made the payment",
|
|
10709
|
-
checkStatusButton: "Check Payment Status"
|
|
11108
|
+
checkStatusButton: "Check Payment Status",
|
|
11109
|
+
currencySymbol: "Rp."
|
|
10710
11110
|
}
|
|
10711
11111
|
};
|
|
10712
11112
|
var useStyles36 = reactComponents.makeStyles({
|
|
@@ -10792,7 +11192,7 @@ var CardPaymentInfo = ({
|
|
|
10792
11192
|
onCheckStatus
|
|
10793
11193
|
}) => {
|
|
10794
11194
|
const styles = useStyles36();
|
|
10795
|
-
const mergedLabels = { ...
|
|
11195
|
+
const mergedLabels = { ...DEFAULT_LABELS35[language], ...labels };
|
|
10796
11196
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
|
|
10797
11197
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerRow, children: [
|
|
10798
11198
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.expiryPrefix }),
|
|
@@ -10827,7 +11227,7 @@ var CardPaymentInfo = ({
|
|
|
10827
11227
|
reactComponents.Input,
|
|
10828
11228
|
{
|
|
10829
11229
|
disabled: true,
|
|
10830
|
-
value:
|
|
11230
|
+
value: `${mergedLabels.currencySymbol} ${totalAmount.toLocaleString(language === "id" ? "id-ID" : "en-US")}`,
|
|
10831
11231
|
className: styles.input
|
|
10832
11232
|
}
|
|
10833
11233
|
)
|
|
@@ -10853,7 +11253,7 @@ var CardPaymentInfo = ({
|
|
|
10853
11253
|
};
|
|
10854
11254
|
|
|
10855
11255
|
// src/components/CardStatusOrder/CardStatusOrder.constants.ts
|
|
10856
|
-
var
|
|
11256
|
+
var DEFAULT_LABELS36 = {
|
|
10857
11257
|
id: {
|
|
10858
11258
|
detailTitle: "Detail Pemesanan",
|
|
10859
11259
|
statusLabel: "Status",
|
|
@@ -10865,7 +11265,8 @@ var DEFAULT_LABELS34 = {
|
|
|
10865
11265
|
viewTicketButton: "Lihat E-Tiket",
|
|
10866
11266
|
defaultStatus: "Sudah Dibayar",
|
|
10867
11267
|
defaultTitle: "Pembayaran berhasil",
|
|
10868
|
-
defaultDescription: "Tiket Anda aktif dan siap digunakan."
|
|
11268
|
+
defaultDescription: "Tiket Anda aktif dan siap digunakan.",
|
|
11269
|
+
illustrationAlt: "Ilustrasi E-Tiket"
|
|
10869
11270
|
},
|
|
10870
11271
|
en: {
|
|
10871
11272
|
detailTitle: "Booking Details",
|
|
@@ -10878,7 +11279,8 @@ var DEFAULT_LABELS34 = {
|
|
|
10878
11279
|
viewTicketButton: "View E-Ticket",
|
|
10879
11280
|
defaultStatus: "Paid",
|
|
10880
11281
|
defaultTitle: "Payment successful",
|
|
10881
|
-
defaultDescription: "Your ticket is active and ready to use."
|
|
11282
|
+
defaultDescription: "Your ticket is active and ready to use.",
|
|
11283
|
+
illustrationAlt: "E-Ticket Illustration"
|
|
10882
11284
|
}
|
|
10883
11285
|
};
|
|
10884
11286
|
var useStyles37 = reactComponents.makeStyles({
|
|
@@ -10952,7 +11354,7 @@ var CardStatusOrder = ({
|
|
|
10952
11354
|
className
|
|
10953
11355
|
}) => {
|
|
10954
11356
|
const styles = useStyles37();
|
|
10955
|
-
const mergedLabels = { ...
|
|
11357
|
+
const mergedLabels = { ...DEFAULT_LABELS36[language], ...labels };
|
|
10956
11358
|
const displayStatus = statusLabel || mergedLabels.defaultStatus;
|
|
10957
11359
|
const displayTitle = title || mergedLabels.defaultTitle;
|
|
10958
11360
|
const displayDescription = description || mergedLabels.defaultDescription;
|
|
@@ -10962,7 +11364,7 @@ var CardStatusOrder = ({
|
|
|
10962
11364
|
"img",
|
|
10963
11365
|
{
|
|
10964
11366
|
src: illustrationUrl,
|
|
10965
|
-
alt:
|
|
11367
|
+
alt: mergedLabels.illustrationAlt,
|
|
10966
11368
|
width: 406,
|
|
10967
11369
|
height: 266
|
|
10968
11370
|
}
|
|
@@ -11049,7 +11451,7 @@ var CardStatusOrder = ({
|
|
|
11049
11451
|
};
|
|
11050
11452
|
|
|
11051
11453
|
// src/components/ModalPriceDetail/ModalPriceDetail.constants.ts
|
|
11052
|
-
var
|
|
11454
|
+
var DEFAULT_LABELS37 = {
|
|
11053
11455
|
id: {
|
|
11054
11456
|
title: "Rincian Harga",
|
|
11055
11457
|
addonHeader: "Add On",
|
|
@@ -11059,7 +11461,8 @@ var DEFAULT_LABELS35 = {
|
|
|
11059
11461
|
ppnNote: "*PPN 11% dikenakan untuk biaya layanan dan biaya admin",
|
|
11060
11462
|
grandTotalLabel: "Total Pembayaran",
|
|
11061
11463
|
currencyPrefix: "Rp.",
|
|
11062
|
-
currencyCode: "IDR."
|
|
11464
|
+
currencyCode: "IDR.",
|
|
11465
|
+
closeAriaLabel: "Tutup"
|
|
11063
11466
|
},
|
|
11064
11467
|
en: {
|
|
11065
11468
|
title: "Price Details",
|
|
@@ -11070,7 +11473,8 @@ var DEFAULT_LABELS35 = {
|
|
|
11070
11473
|
ppnNote: "*VAT 11% is charged for service fees and admin fees",
|
|
11071
11474
|
grandTotalLabel: "Total Payment",
|
|
11072
11475
|
currencyPrefix: "Rp.",
|
|
11073
|
-
currencyCode: "IDR."
|
|
11476
|
+
currencyCode: "IDR.",
|
|
11477
|
+
closeAriaLabel: "Close"
|
|
11074
11478
|
}
|
|
11075
11479
|
};
|
|
11076
11480
|
var useStyles38 = reactComponents.makeStyles({
|
|
@@ -11201,7 +11605,7 @@ var ModalPriceDetail = ({
|
|
|
11201
11605
|
...props
|
|
11202
11606
|
}) => {
|
|
11203
11607
|
const styles = useStyles38();
|
|
11204
|
-
const mergedLabels = { ...
|
|
11608
|
+
const mergedLabels = { ...DEFAULT_LABELS37[language], ...labels };
|
|
11205
11609
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11206
11610
|
reactComponents.Dialog,
|
|
11207
11611
|
{
|
|
@@ -11217,7 +11621,7 @@ var ModalPriceDetail = ({
|
|
|
11217
11621
|
reactComponents.Button,
|
|
11218
11622
|
{
|
|
11219
11623
|
appearance: "subtle",
|
|
11220
|
-
"aria-label":
|
|
11624
|
+
"aria-label": mergedLabels.closeAriaLabel,
|
|
11221
11625
|
icon: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11222
11626
|
"path",
|
|
11223
11627
|
{
|
|
@@ -11251,7 +11655,9 @@ var ModalPriceDetail = ({
|
|
|
11251
11655
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.priceValue, children: [
|
|
11252
11656
|
mergedLabels.currencyPrefix,
|
|
11253
11657
|
" ",
|
|
11254
|
-
item.price.toLocaleString(
|
|
11658
|
+
item.price.toLocaleString(
|
|
11659
|
+
language === "id" ? "id-ID" : "en-US"
|
|
11660
|
+
)
|
|
11255
11661
|
] })
|
|
11256
11662
|
] }),
|
|
11257
11663
|
item.list && item.list.map((subItem) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -11263,7 +11669,9 @@ var ModalPriceDetail = ({
|
|
|
11263
11669
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { float: "right" }, children: [
|
|
11264
11670
|
mergedLabels.currencyCode,
|
|
11265
11671
|
" ",
|
|
11266
|
-
item.price.toLocaleString(
|
|
11672
|
+
item.price.toLocaleString(
|
|
11673
|
+
language === "id" ? "id-ID" : "en-US"
|
|
11674
|
+
)
|
|
11267
11675
|
] })
|
|
11268
11676
|
]
|
|
11269
11677
|
},
|
|
@@ -11277,7 +11685,9 @@ var ModalPriceDetail = ({
|
|
|
11277
11685
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.priceValue, children: [
|
|
11278
11686
|
mergedLabels.currencyCode,
|
|
11279
11687
|
" ",
|
|
11280
|
-
item.price.toLocaleString(
|
|
11688
|
+
item.price.toLocaleString(
|
|
11689
|
+
language === "id" ? "id-ID" : "en-US"
|
|
11690
|
+
)
|
|
11281
11691
|
] })
|
|
11282
11692
|
] }, item.key))
|
|
11283
11693
|
] }),
|
|
@@ -11286,14 +11696,18 @@ var ModalPriceDetail = ({
|
|
|
11286
11696
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.totalLabel, children: mergedLabels.subTotalLabel }),
|
|
11287
11697
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.totalValue, children: [
|
|
11288
11698
|
mergedLabels.currencyCode,
|
|
11289
|
-
subTotal.toLocaleString(
|
|
11699
|
+
subTotal.toLocaleString(
|
|
11700
|
+
language === "id" ? "id-ID" : "en-US"
|
|
11701
|
+
)
|
|
11290
11702
|
] })
|
|
11291
11703
|
] }),
|
|
11292
11704
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.row, children: [
|
|
11293
11705
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.totalTagihanLabel, children: mergedLabels.totalTagihanLabel }),
|
|
11294
11706
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.totalTagihanValue, children: [
|
|
11295
11707
|
mergedLabels.currencyCode,
|
|
11296
|
-
subTotal.toLocaleString(
|
|
11708
|
+
subTotal.toLocaleString(
|
|
11709
|
+
language === "id" ? "id-ID" : "en-US"
|
|
11710
|
+
)
|
|
11297
11711
|
] })
|
|
11298
11712
|
] }),
|
|
11299
11713
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: reactComponents.tokens.spacingVerticalL }, children: [
|
|
@@ -11301,7 +11715,9 @@ var ModalPriceDetail = ({
|
|
|
11301
11715
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.ppnLabel, children: mergedLabels.ppnLabel }),
|
|
11302
11716
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.ppnValue, children: [
|
|
11303
11717
|
mergedLabels.currencyCode,
|
|
11304
|
-
taxAmount.toLocaleString(
|
|
11718
|
+
taxAmount.toLocaleString(
|
|
11719
|
+
language === "id" ? "id-ID" : "en-US"
|
|
11720
|
+
)
|
|
11305
11721
|
] })
|
|
11306
11722
|
] }),
|
|
11307
11723
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.ppnNote, children: mergedLabels.ppnNote })
|
|
@@ -11315,7 +11731,9 @@ var ModalPriceDetail = ({
|
|
|
11315
11731
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.grandTotalLabel, children: mergedLabels.grandTotalLabel }),
|
|
11316
11732
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.grandTotalValue, children: [
|
|
11317
11733
|
mergedLabels.currencyPrefix,
|
|
11318
|
-
grandTotal.toLocaleString(
|
|
11734
|
+
grandTotal.toLocaleString(
|
|
11735
|
+
language === "id" ? "id-ID" : "en-US"
|
|
11736
|
+
)
|
|
11319
11737
|
] })
|
|
11320
11738
|
]
|
|
11321
11739
|
}
|
|
@@ -11327,7 +11745,7 @@ var ModalPriceDetail = ({
|
|
|
11327
11745
|
};
|
|
11328
11746
|
|
|
11329
11747
|
// src/components/CardProfileMenu/CardProfileMenu.constants.ts
|
|
11330
|
-
var
|
|
11748
|
+
var DEFAULT_LABELS38 = {
|
|
11331
11749
|
id: {},
|
|
11332
11750
|
en: {}
|
|
11333
11751
|
};
|
|
@@ -11390,7 +11808,7 @@ var CardProfileMenu = ({
|
|
|
11390
11808
|
onTabSelect
|
|
11391
11809
|
}) => {
|
|
11392
11810
|
const styles = useStyles39();
|
|
11393
|
-
({ ...
|
|
11811
|
+
({ ...DEFAULT_LABELS38[language], ...labels });
|
|
11394
11812
|
const handleTabSelect = (_, data) => {
|
|
11395
11813
|
onTabSelect(data.value);
|
|
11396
11814
|
};
|
|
@@ -11440,9 +11858,9 @@ exports.CardServiceMenu = CardServiceMenu;
|
|
|
11440
11858
|
exports.CardStatusOrder = CardStatusOrder;
|
|
11441
11859
|
exports.CardTicket = CardTicket;
|
|
11442
11860
|
exports.CardTicketSearch = CardTicketSearch;
|
|
11443
|
-
exports.CardTicketSearchDefaultLabels =
|
|
11861
|
+
exports.CardTicketSearchDefaultLabels = DEFAULT_LABELS8;
|
|
11444
11862
|
exports.CardTicketSearchSummary = CardTicketSearchSummary;
|
|
11445
|
-
exports.CardTicketSearchSummaryDefaultLabels =
|
|
11863
|
+
exports.CardTicketSearchSummaryDefaultLabels = DEFAULT_LABELS9;
|
|
11446
11864
|
exports.CardVehicleDetail = CardVehicleDetail;
|
|
11447
11865
|
exports.CardVehicleOwnerForm = CardVehicleOwnerForm;
|
|
11448
11866
|
exports.CarouselWithCustomNav = CarouselWithCustomNav;
|
|
@@ -11456,11 +11874,11 @@ exports.DEFAULT_SORT_OPTIONS = DEFAULT_SORT_OPTIONS;
|
|
|
11456
11874
|
exports.DEFAULT_TIME_SLOTS = DEFAULT_TIME_SLOTS;
|
|
11457
11875
|
exports.DEFAULT_VEHICLE_ICONS = DEFAULT_VEHICLE_ICONS;
|
|
11458
11876
|
exports.DateFilter = DateFilter;
|
|
11459
|
-
exports.DateFilterDefaultLabels =
|
|
11877
|
+
exports.DateFilterDefaultLabels = DEFAULT_LABELS17;
|
|
11460
11878
|
exports.InputDynamic = InputDynamic_default;
|
|
11461
11879
|
exports.MODAL_PRESETS = MODAL_PRESETS;
|
|
11462
11880
|
exports.ModalFilterTicket = ModalFilterTicket;
|
|
11463
|
-
exports.ModalFilterTicketDefaultLabels =
|
|
11881
|
+
exports.ModalFilterTicketDefaultLabels = DEFAULT_LABELS16;
|
|
11464
11882
|
exports.ModalIllustration = ModalIllustration;
|
|
11465
11883
|
exports.ModalListPassenger = ModalListPassenger;
|
|
11466
11884
|
exports.ModalPassengerForm = ModalPassengerForm;
|