@asdp/ferryui 0.1.22-dev.10751 → 0.1.22-dev.10769

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.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { makeStyles, tokens, createLightTheme, createDarkTheme, shorthands, Popover, PopoverTrigger, Input, PopoverSurface, Field, Caption1Strong, Caption2, Button, InfoLabel, Body1, Body1Strong, Caption1, Dialog, DialogSurface, DialogBody, DialogTitle, DialogTrigger, DialogContent, Carousel, CarouselButton, CarouselViewport, mergeClasses, CarouselSlider, CarouselNav, CarouselNavButton, CarouselCard, Skeleton, SkeletonItem, Subtitle2, Card, Tooltip, Badge, Subtitle1, Title2, Divider, Title3, Spinner, Label, Text, Checkbox, MessageBar, MessageBarBody, Accordion, AccordionItem, AccordionHeader, AccordionPanel, RadioGroup, Menu, MenuTrigger, MenuPopover, MenuList, Radio, DialogActions, Caption2Strong, Link, Body2, Body1Stronger, Caption1Stronger, Display, Image, Title1, TabList, Tab, typographyStyles, Switch, Textarea } from '@fluentui/react-components';
2
2
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import React, { forwardRef, useState, useRef, useEffect, useCallback, useMemo, Fragment as Fragment$1 } from 'react';
4
- import { ArrowDownloadRegular, Dismiss24Regular, DismissRegular, SubtractRegular, AddRegular, DeleteRegular, InfoRegular, SearchRegular, ArrowRightRegular } from '@fluentui/react-icons';
4
+ import { ArrowDownloadRegular, Dismiss24Regular, DismissRegular, SubtractRegular, AddRegular, DeleteRegular, InfoRegular, SearchRegular, ChevronDownRegular, ArrowRightRegular } from '@fluentui/react-icons';
5
5
  import { Container, Row, Col, Visible } from 'react-grid-system';
6
6
  import { Icon } from '@iconify/react';
7
7
  import { Controller, useForm, useWatch } from 'react-hook-form';
@@ -14453,7 +14453,7 @@ var CardBookingTicket = ({
14453
14453
  /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs(
14454
14454
  "div",
14455
14455
  {
14456
- className: reservationStep === "review" ? styles.ticketinfoCard : styles.ticketInfo,
14456
+ className: reservationStep === "review" || paymentStep === "pay" || paymentStep === "method" ? styles.ticketinfoCard : styles.ticketInfo,
14457
14457
  children: [
14458
14458
  /* @__PURE__ */ jsxs("div", { className: styles.ticketTime, children: [
14459
14459
  /* @__PURE__ */ jsx(Caption2, { children: departureDay }),
@@ -16543,8 +16543,110 @@ var CardPaymentMethodList = ({
16543
16543
  ] }) });
16544
16544
  };
16545
16545
 
16546
- // src/components/CardPaymentGuide/CardPaymentGuide.constants.ts
16546
+ // src/components/CardPaymentMethodFavorite/CardPaymentMethodFavorite.constants.ts
16547
16547
  var DEFAULT_LABELS37 = {
16548
+ id: {
16549
+ method: "Metode Pembayaran Favorit",
16550
+ warningMessage: "Harap pilih salah satu metode pembayaran di bawah ini untuk melanjutkan.",
16551
+ viewAllMethods: "Lihat Semua Metode Pembayaran",
16552
+ selectAriaLabel: "Pilih metode pembayaran"
16553
+ },
16554
+ en: {
16555
+ method: "Favorite Payment Method",
16556
+ warningMessage: "Please select one of the payment methods below to continue.",
16557
+ viewAllMethods: "View All Payment Methods",
16558
+ selectAriaLabel: "Select payment method"
16559
+ }
16560
+ };
16561
+ var useStyles39 = makeStyles({
16562
+ container: {
16563
+ display: "flex",
16564
+ flexDirection: "column",
16565
+ width: "100%",
16566
+ rowGap: tokens.spacingHorizontalXXL
16567
+ },
16568
+ image: {
16569
+ width: "40px",
16570
+ height: "40px",
16571
+ objectFit: "contain"
16572
+ },
16573
+ card: {
16574
+ position: "relative",
16575
+ borderRadius: tokens.borderRadiusXLarge,
16576
+ ...shorthands.padding(
16577
+ tokens.spacingHorizontalXL,
16578
+ tokens.spacingVerticalXXL
16579
+ ),
16580
+ backgroundColor: tokens.colorNeutralBackground1,
16581
+ zIndex: 3
16582
+ }
16583
+ });
16584
+ var CardPaymentMethodFavorite = ({
16585
+ language = "id",
16586
+ labels,
16587
+ methods,
16588
+ selectedValue,
16589
+ onSelect,
16590
+ onViewAllMethods,
16591
+ showWarning = true,
16592
+ showViewAllButton = true
16593
+ }) => {
16594
+ const styles = useStyles39();
16595
+ const mergedLabels = { ...DEFAULT_LABELS37[language], ...labels };
16596
+ return /* @__PURE__ */ jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxs("div", { className: `${styles.container}`, children: [
16597
+ /* @__PURE__ */ jsx(Subtitle1, { children: mergedLabels.method }),
16598
+ showWarning && /* @__PURE__ */ jsx(
16599
+ MessageBar,
16600
+ {
16601
+ intent: "warning",
16602
+ style: { borderRadius: tokens.borderRadiusLarge },
16603
+ children: /* @__PURE__ */ jsx(
16604
+ Caption1Strong,
16605
+ {
16606
+ style: { color: tokens.colorStatusWarningForeground1 },
16607
+ children: mergedLabels.warningMessage
16608
+ }
16609
+ )
16610
+ }
16611
+ ),
16612
+ /* @__PURE__ */ jsx(Row, { nogutter: true, style: { gap: tokens.spacingVerticalL }, children: methods.map((option) => /* @__PURE__ */ jsx(Col, { xs: 12, children: /* @__PURE__ */ jsxs(Row, { justify: "between", children: [
16613
+ /* @__PURE__ */ jsx(Col, { xs: "content", children: /* @__PURE__ */ jsx(
16614
+ "img",
16615
+ {
16616
+ src: option.image,
16617
+ alt: option.label,
16618
+ className: styles.image
16619
+ }
16620
+ ) }),
16621
+ /* @__PURE__ */ jsx(Col, { children: /* @__PURE__ */ jsx(Subtitle2, { children: option.label }) }),
16622
+ /* @__PURE__ */ jsx(Col, { xs: "content", children: /* @__PURE__ */ jsx(
16623
+ Radio,
16624
+ {
16625
+ checked: selectedValue === option.value,
16626
+ onChange: () => onSelect(option.value),
16627
+ value: option.value,
16628
+ name: "payment-method-favorite",
16629
+ disabled: option.disabled,
16630
+ "aria-label": `${mergedLabels.selectAriaLabel} ${option.label}`
16631
+ }
16632
+ ) })
16633
+ ] }) }, option.value)) }),
16634
+ showViewAllButton && /* @__PURE__ */ jsx(
16635
+ Button,
16636
+ {
16637
+ style: { width: "100%" },
16638
+ appearance: "transparent",
16639
+ iconPosition: "after",
16640
+ icon: /* @__PURE__ */ jsx(ChevronDownRegular, {}),
16641
+ onClick: onViewAllMethods,
16642
+ children: mergedLabels.viewAllMethods
16643
+ }
16644
+ )
16645
+ ] }) });
16646
+ };
16647
+
16648
+ // src/components/CardPaymentGuide/CardPaymentGuide.constants.ts
16649
+ var DEFAULT_LABELS38 = {
16548
16650
  id: {
16549
16651
  title: "Cara Pembayaran"
16550
16652
  },
@@ -16552,7 +16654,7 @@ var DEFAULT_LABELS37 = {
16552
16654
  title: "Payment Method"
16553
16655
  }
16554
16656
  };
16555
- var useStyles39 = makeStyles({
16657
+ var useStyles40 = makeStyles({
16556
16658
  container: {
16557
16659
  display: "flex",
16558
16660
  flexDirection: "column",
@@ -16588,8 +16690,8 @@ var CardPaymentGuide = ({
16588
16690
  guides,
16589
16691
  className
16590
16692
  }) => {
16591
- const styles = useStyles39();
16592
- const mergedLabels = { ...DEFAULT_LABELS37[language], ...labels };
16693
+ const styles = useStyles40();
16694
+ const mergedLabels = { ...DEFAULT_LABELS38[language], ...labels };
16593
16695
  const displayTitle = title || mergedLabels.title;
16594
16696
  return /* @__PURE__ */ jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
16595
16697
  displayTitle && /* @__PURE__ */ jsx("div", { className: styles.titleContainer, children: /* @__PURE__ */ jsx(Subtitle1, { className: styles.title, children: displayTitle }) }),
@@ -16608,7 +16710,7 @@ var CardPaymentGuide = ({
16608
16710
  };
16609
16711
 
16610
16712
  // src/components/CardPaymentInfo/CardPaymentInfo.constants.ts
16611
- var DEFAULT_LABELS38 = {
16713
+ var DEFAULT_LABELS39 = {
16612
16714
  id: {
16613
16715
  expiryPrefix: "Kode virtual akun berlaku sampai",
16614
16716
  copyCodeButton: "Salin Kode",
@@ -16628,7 +16730,7 @@ var DEFAULT_LABELS38 = {
16628
16730
  changePayment: "Change Payment Method"
16629
16731
  }
16630
16732
  };
16631
- var useStyles40 = makeStyles({
16733
+ var useStyles41 = makeStyles({
16632
16734
  container: {
16633
16735
  display: "flex",
16634
16736
  flexDirection: "column",
@@ -16720,8 +16822,8 @@ var CardPaymentInfo = ({
16720
16822
  onCheckStatus,
16721
16823
  onChangePayment
16722
16824
  }) => {
16723
- const styles = useStyles40();
16724
- const mergedLabels = { ...DEFAULT_LABELS38[language], ...labels };
16825
+ const styles = useStyles41();
16826
+ const mergedLabels = { ...DEFAULT_LABELS39[language], ...labels };
16725
16827
  return /* @__PURE__ */ jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxs("div", { className: styles.container, children: [
16726
16828
  /* @__PURE__ */ jsxs("div", { className: styles.headerRow, children: [
16727
16829
  /* @__PURE__ */ jsx(Subtitle1, { children: mergedLabels.expiryPrefix }),
@@ -16793,7 +16895,7 @@ var CardPaymentInfo = ({
16793
16895
  };
16794
16896
 
16795
16897
  // src/components/CardStatusOrder/CardStatusOrder.constants.ts
16796
- var DEFAULT_LABELS39 = {
16898
+ var DEFAULT_LABELS40 = {
16797
16899
  id: {
16798
16900
  detailTitle: "Detail Pemesanan",
16799
16901
  statusLabel: "Status",
@@ -16823,7 +16925,7 @@ var DEFAULT_LABELS39 = {
16823
16925
  illustrationAlt: "E-Ticket Illustration"
16824
16926
  }
16825
16927
  };
16826
- var useStyles41 = makeStyles({
16928
+ var useStyles42 = makeStyles({
16827
16929
  activeCard: {
16828
16930
  width: "100%",
16829
16931
  // padding: tokens.spacingHorizontalNone, // default
@@ -16893,8 +16995,8 @@ var CardStatusOrder = ({
16893
16995
  onClickViewTicket,
16894
16996
  className
16895
16997
  }) => {
16896
- const styles = useStyles41();
16897
- const mergedLabels = { ...DEFAULT_LABELS39[language], ...labels };
16998
+ const styles = useStyles42();
16999
+ const mergedLabels = { ...DEFAULT_LABELS40[language], ...labels };
16898
17000
  const displayStatus = statusLabel || mergedLabels.defaultStatus;
16899
17001
  const displayTitle = title || mergedLabels.defaultTitle;
16900
17002
  const displayDescription = description || mergedLabels.defaultDescription;
@@ -16991,7 +17093,7 @@ var CardStatusOrder = ({
16991
17093
  };
16992
17094
 
16993
17095
  // src/components/ModalPriceDetail/ModalPriceDetail.constants.ts
16994
- var DEFAULT_LABELS40 = {
17096
+ var DEFAULT_LABELS41 = {
16995
17097
  id: {
16996
17098
  title: "Rincian Harga",
16997
17099
  passengerDetailHeader: "Detail Penumpang",
@@ -17023,7 +17125,7 @@ var DEFAULT_LABELS40 = {
17023
17125
  closeAriaLabel: "Close"
17024
17126
  }
17025
17127
  };
17026
- var useStyles42 = makeStyles({
17128
+ var useStyles43 = makeStyles({
17027
17129
  surface: {
17028
17130
  width: "680px",
17029
17131
  maxWidth: "90vw",
@@ -17183,8 +17285,8 @@ var ModalPriceDetail = ({
17183
17285
  roundTripGrandTotal,
17184
17286
  ...props
17185
17287
  }) => {
17186
- const styles = useStyles42();
17187
- const mergedLabels = { ...DEFAULT_LABELS40[language], ...labels };
17288
+ const styles = useStyles43();
17289
+ const mergedLabels = { ...DEFAULT_LABELS41[language], ...labels };
17188
17290
  const locale = language === "id" ? "id-ID" : "en-US";
17189
17291
  const formatCurrency = (value) => `${mergedLabels.currencyCode} ${value.toLocaleString(locale)}`;
17190
17292
  const passengerItemsFromNested = detailItems.flatMap(
@@ -17713,7 +17815,7 @@ var ModalPriceDetail = ({
17713
17815
  // src/components/FileUpload/FileUpload.constants.ts
17714
17816
  var ACCEPTED_FILES = ".pdf,.jpg,.jpeg,.png";
17715
17817
  var MAX_FILE_SIZE_MB = 10;
17716
- var DEFAULT_LABELS41 = {
17818
+ var DEFAULT_LABELS42 = {
17717
17819
  id: {
17718
17820
  placeholder: "Ketuk untuk pilih file",
17719
17821
  maxSizeWarning: "Maksimal {maxSize}MB per file dalam format PDF, JPG, JPEG, PNG.",
@@ -17731,7 +17833,7 @@ var DEFAULT_LABELS41 = {
17731
17833
  downloadTemplateDocument: "Download Template Document"
17732
17834
  }
17733
17835
  };
17734
- var useStyles43 = makeStyles({
17836
+ var useStyles44 = makeStyles({
17735
17837
  surface: {
17736
17838
  maxWidth: "90vw",
17737
17839
  maxHeight: "90vh",
@@ -17758,7 +17860,7 @@ var ModalPreviewImage = ({
17758
17860
  imageUrl,
17759
17861
  alt = "Preview"
17760
17862
  }) => {
17761
- const styles = useStyles43();
17863
+ const styles = useStyles44();
17762
17864
  return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange: (_, data) => onOpenChange(data.open), children: /* @__PURE__ */ jsx(DialogSurface, { className: styles.surface, children: /* @__PURE__ */ jsxs(DialogBody, { children: [
17763
17865
  /* @__PURE__ */ jsx(
17764
17866
  DialogTitle,
@@ -17884,7 +17986,7 @@ var FileUpload = React.forwardRef(
17884
17986
  downloadTemplateDocument = false,
17885
17987
  infoLabel
17886
17988
  }, ref) => {
17887
- const mergedLabels = { ...DEFAULT_LABELS41[language], ...customLabels };
17989
+ const mergedLabels = { ...DEFAULT_LABELS42[language], ...customLabels };
17888
17990
  const styles = uploadStyles();
17889
17991
  const fileInputRef = useRef(null);
17890
17992
  const [, setIsDragOver] = useState(false);
@@ -18321,11 +18423,11 @@ function hexToRgba(hex, alpha = 1) {
18321
18423
  }
18322
18424
 
18323
18425
  // src/components/CardProfileMenu/CardProfileMenu.constants.ts
18324
- var DEFAULT_LABELS42 = {
18426
+ var DEFAULT_LABELS43 = {
18325
18427
  id: {},
18326
18428
  en: {}
18327
18429
  };
18328
- var useStyles44 = makeStyles({
18430
+ var useStyles45 = makeStyles({
18329
18431
  container: {
18330
18432
  display: "flex",
18331
18433
  flexDirection: "column",
@@ -18385,8 +18487,8 @@ var CardProfileMenu = ({
18385
18487
  selectedValue,
18386
18488
  onTabSelect
18387
18489
  }) => {
18388
- const styles = useStyles44();
18389
- ({ ...DEFAULT_LABELS42[language], ...labels });
18490
+ const styles = useStyles45();
18491
+ ({ ...DEFAULT_LABELS43[language], ...labels });
18390
18492
  const handleTabSelect = (_, data) => {
18391
18493
  onTabSelect(data.value);
18392
18494
  };
@@ -18415,6 +18517,6 @@ var CardProfileMenu = ({
18415
18517
  ) });
18416
18518
  };
18417
18519
 
18418
- export { API_CONFIG, API_ERROR_MESSAGES, BackgroundTicketCard_default as BackgroundTicketCard, BackgroundTicketCardVertical_default as BackgroundTicketCardVertical, COUNTRIES, CardAddon, CardBanner, CardBookingAddOn, CardBookingTicket, CardFAQ, CardMealCatalog, CardOrdererInfo, CardPassengerList, CardPaymentGuide, CardPaymentInfo, CardPaymentMethodList, CardPriceDetails, CardProfileMenu, CardPromo, CardReview, CardReviewDetail, CardReviewPassenger, CardServiceMenu, CardStatusOrder, CardTicket, CardTicketSearch, DEFAULT_LABELS8 as CardTicketSearchDefaultLabels, CardTicketSearchSummary, DEFAULT_LABELS9 as CardTicketSearchSummaryDefaultLabels, CardVehicleDetail, CardVehicleOwnerForm, CarouselWithCustomNav, DEFAULT_DURATION_RANGE, DEFAULT_PRICE_RANGE, DEFAULT_SCROLL_AMOUNT, DEFAULT_SERVICE_TYPES, DEFAULT_SORT_OPTIONS, DEFAULT_TIME_SLOTS, DEFAULT_VEHICLE_ICONS, DateFilter, DEFAULT_LABELS18 as DateFilterDefaultLabels, EmptyContent, DEFAULT_LABELS11 as EmptyContentDefaultLabels, FileUpload_default as FileUpload, GENDER, HARDCODED_ID, HARDCODED_NAME, HTTP_STATUS, IDENTITY_TYPE, InputDynamic_default as InputDynamic, LOAD_TYPE, MANIFEST_ENTITY, MODAL_PRESETS, MY_TICKET_STATUS, MY_TICKET_TAB, ModalFilterTicket, DEFAULT_LABELS17 as ModalFilterTicketDefaultLabels, ModalIllustration, ModalListMenuService, ModalListPassenger, ModalPassengerForm, ModalPreviewImage, ModalPriceDetail, ModalSearchHarbor, ModalSearchTicket, ModalSelectDate, ModalService, ModalTotalPassengers, ModalTypeOfService, PASSENGER_TYPE, SortMenu, Stepper, calculateAge, getBadgeConfig, getModalPreset, getSortLabel, hexToRgba };
18520
+ export { API_CONFIG, API_ERROR_MESSAGES, BackgroundTicketCard_default as BackgroundTicketCard, BackgroundTicketCardVertical_default as BackgroundTicketCardVertical, COUNTRIES, CardAddon, CardBanner, CardBookingAddOn, CardBookingTicket, CardFAQ, CardMealCatalog, CardOrdererInfo, CardPassengerList, CardPaymentGuide, CardPaymentInfo, CardPaymentMethodFavorite, CardPaymentMethodList, CardPriceDetails, CardProfileMenu, CardPromo, CardReview, CardReviewDetail, CardReviewPassenger, CardServiceMenu, CardStatusOrder, CardTicket, CardTicketSearch, DEFAULT_LABELS8 as CardTicketSearchDefaultLabels, CardTicketSearchSummary, DEFAULT_LABELS9 as CardTicketSearchSummaryDefaultLabels, CardVehicleDetail, CardVehicleOwnerForm, CarouselWithCustomNav, DEFAULT_DURATION_RANGE, DEFAULT_PRICE_RANGE, DEFAULT_SCROLL_AMOUNT, DEFAULT_SERVICE_TYPES, DEFAULT_SORT_OPTIONS, DEFAULT_TIME_SLOTS, DEFAULT_VEHICLE_ICONS, DateFilter, DEFAULT_LABELS18 as DateFilterDefaultLabels, EmptyContent, DEFAULT_LABELS11 as EmptyContentDefaultLabels, FileUpload_default as FileUpload, GENDER, HARDCODED_ID, HARDCODED_NAME, HTTP_STATUS, IDENTITY_TYPE, InputDynamic_default as InputDynamic, LOAD_TYPE, MANIFEST_ENTITY, MODAL_PRESETS, MY_TICKET_STATUS, MY_TICKET_TAB, ModalFilterTicket, DEFAULT_LABELS17 as ModalFilterTicketDefaultLabels, ModalIllustration, ModalListMenuService, ModalListPassenger, ModalPassengerForm, ModalPreviewImage, ModalPriceDetail, ModalSearchHarbor, ModalSearchTicket, ModalSelectDate, ModalService, ModalTotalPassengers, ModalTypeOfService, PASSENGER_TYPE, SortMenu, Stepper, calculateAge, getBadgeConfig, getModalPreset, getSortLabel, hexToRgba };
18419
18521
  //# sourceMappingURL=index.mjs.map
18420
18522
  //# sourceMappingURL=index.mjs.map