@asdp/ferryui 0.1.22-dev.10177 → 0.1.22-dev.10194

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -8388,7 +8388,7 @@ var ModalTotalPassengers = ({
8388
8388
  size: "medium",
8389
8389
  className: styles.submitButton,
8390
8390
  onClick: handleSave,
8391
- disabled: totalPassengerCount === 0,
8391
+ disabled: totalPassengerCount === 0 || companionWarnings.size > 0,
8392
8392
  children: mergedLabels.saveButton
8393
8393
  }
8394
8394
  )
@@ -13644,7 +13644,7 @@ var CardVehicleOwnerForm = ({
13644
13644
  // src/components/CardBookingTicket/CardBookingTicket.constants.ts
13645
13645
  var DEFAULT_LABELS27 = {
13646
13646
  id: {
13647
- bookingDetails: "Booking Details",
13647
+ bookingDetails: "Ringkasan Pemesanan",
13648
13648
  routeTitle: "Rute Perjalanan",
13649
13649
  estimationPrefix: "Estimasi",
13650
13650
  totalPriceLabel: "Total Harga",
@@ -14062,8 +14062,250 @@ var CardBookingTicket = ({
14062
14062
  ] }) });
14063
14063
  };
14064
14064
 
14065
- // src/components/CardFAQ/CardFAQ.constants.ts
14065
+ // src/components/CardBookingAddOn/CardBookingAddOn.constants.ts
14066
14066
  var DEFAULT_LABELS28 = {
14067
+ id: {
14068
+ bookingDetails: "Ringkasan",
14069
+ totalPriceLabel: "Total Add On",
14070
+ currencySymbol: "IDR",
14071
+ notIncludedLabel: "Belum termasuk tiket",
14072
+ backToReviewButton: "Kembali Ke Review Pemesanan",
14073
+ changeAddOnButton: "Ubah Layanan Tambahan",
14074
+ loungeLabel: "Akses Lounge",
14075
+ assuranceLabel: "Asuransi Perjalanan",
14076
+ mealLabel: "Makanan",
14077
+ addOnPrice: "IDR. 125,000"
14078
+ },
14079
+ en: {
14080
+ bookingDetails: "Summary",
14081
+ totalPriceLabel: "Total Add On",
14082
+ currencySymbol: "IDR",
14083
+ notIncludedLabel: "Not including ticket fare",
14084
+ backToReviewButton: "Back To Booking Review",
14085
+ changeAddOnButton: "Change Additional Services",
14086
+ loungeLabel: "Lounge Access",
14087
+ assuranceLabel: "Travel Insurance",
14088
+ mealLabel: "Meal",
14089
+ addOnPrice: "IDR. 125,000"
14090
+ }
14091
+ };
14092
+ var useStyles29 = reactComponents.makeStyles({
14093
+ container: {
14094
+ display: "flex",
14095
+ flexDirection: "column",
14096
+ gap: "2rem"
14097
+ },
14098
+ bookingDetail: {
14099
+ overflow: "visible",
14100
+ borderRadius: reactComponents.tokens.borderRadiusXLarge,
14101
+ boxShadow: reactComponents.tokens.shadow4
14102
+ },
14103
+ bookingDetailTop: {
14104
+ padding: "2rem",
14105
+ borderBottomLeftRadius: 0,
14106
+ borderBottomRightRadius: 0,
14107
+ boxShadow: "none",
14108
+ borderTopLeftRadius: reactComponents.tokens.borderRadiusXLarge,
14109
+ borderTopRightRadius: reactComponents.tokens.borderRadiusXLarge,
14110
+ borderBottom: "0.7em dashed " + reactComponents.tokens.colorNeutralBackground1Hover,
14111
+ overflow: "visible",
14112
+ paddingBottom: "4rem",
14113
+ position: "relative"
14114
+ },
14115
+ bookingDetailBottom: {
14116
+ padding: "2rem",
14117
+ paddingTop: "4rem",
14118
+ borderTopLeftRadius: 0,
14119
+ borderTopRightRadius: 0,
14120
+ boxShadow: "none",
14121
+ borderBottomLeftRadius: reactComponents.tokens.borderRadiusXLarge,
14122
+ borderBottomRightRadius: reactComponents.tokens.borderRadiusXLarge,
14123
+ overflow: "visible",
14124
+ display: "flex",
14125
+ flexDirection: "column",
14126
+ alignItems: "center",
14127
+ justifyContent: "center",
14128
+ gap: "1.5rem"
14129
+ },
14130
+ circularLeft: {
14131
+ position: "absolute",
14132
+ width: "75px",
14133
+ height: "75px",
14134
+ borderRadius: "50%",
14135
+ backgroundColor: reactComponents.tokens.colorNeutralBackground1Hover,
14136
+ left: "-37px",
14137
+ bottom: "-42px",
14138
+ zIndex: 2,
14139
+ boxShadow: "inset -3px 0px 1px rgba(0, 0, 0, 0.1)"
14140
+ },
14141
+ circularRight: {
14142
+ position: "absolute",
14143
+ width: "75px",
14144
+ height: "75px",
14145
+ borderRadius: "50%",
14146
+ backgroundColor: reactComponents.tokens.colorNeutralBackground1Hover,
14147
+ right: "-37px",
14148
+ bottom: "-42px",
14149
+ zIndex: 2,
14150
+ boxShadow: "inset 3px 0px 1px rgba(0, 0, 0, 0.1)"
14151
+ },
14152
+ headerBookingDetail: {
14153
+ rowGap: reactComponents.tokens.spacingHorizontalXXL
14154
+ },
14155
+ shipInfo: {
14156
+ display: "flex",
14157
+ flexDirection: "column",
14158
+ alignItems: "flex-start",
14159
+ gap: "1rem"
14160
+ },
14161
+ ticketInfo: {
14162
+ display: "flex",
14163
+ justifyContent: "space-between",
14164
+ alignItems: "center",
14165
+ gap: "0.5em"
14166
+ },
14167
+ ticketTime: {
14168
+ display: "flex",
14169
+ flexDirection: "column",
14170
+ alignItems: "start",
14171
+ gap: "0.5em"
14172
+ },
14173
+ ticketDuration: {
14174
+ display: "flex",
14175
+ alignItems: "center",
14176
+ justifyContent: "center",
14177
+ gap: "0.5rem"
14178
+ },
14179
+ totalPrice: {
14180
+ display: "flex",
14181
+ alignItems: "center",
14182
+ justifyContent: "space-between",
14183
+ gap: "1rem",
14184
+ width: "100%"
14185
+ },
14186
+ gapButton: {
14187
+ width: "100%",
14188
+ display: "flex",
14189
+ flexDirection: "column",
14190
+ gap: reactComponents.tokens.spacingHorizontalM
14191
+ },
14192
+ priceText: {
14193
+ color: reactComponents.tokens.colorPaletteRedForeground1
14194
+ },
14195
+ notIncluded: {
14196
+ textAlign: "right",
14197
+ width: "100%"
14198
+ },
14199
+ secondaryButton: {
14200
+ border: "1px solid " + reactComponents.tokens.colorBrandStroke1,
14201
+ color: reactComponents.tokens.colorBrandBackground,
14202
+ width: "100%"
14203
+ }
14204
+ });
14205
+ var CardBookingAddOn = ({
14206
+ language = "id",
14207
+ labels,
14208
+ addOnData,
14209
+ totalPrice,
14210
+ onPriceDetailClick,
14211
+ onBackToReviewClick,
14212
+ onChangeAddOnClick,
14213
+ className
14214
+ }) => {
14215
+ const styles = useStyles29();
14216
+ const mergedLabels = { ...DEFAULT_LABELS28[language], ...labels };
14217
+ const addOnRows = [
14218
+ {
14219
+ key: "lounge",
14220
+ label: addOnData?.lounge?.label || mergedLabels.loungeLabel,
14221
+ price: addOnData?.lounge?.price || mergedLabels.addOnPrice
14222
+ },
14223
+ {
14224
+ key: "assurance",
14225
+ label: addOnData?.assurance?.label || mergedLabels.assuranceLabel,
14226
+ price: addOnData?.assurance?.price || mergedLabels.addOnPrice
14227
+ },
14228
+ {
14229
+ key: "meal",
14230
+ label: addOnData?.meal?.label || mergedLabels.mealLabel,
14231
+ price: addOnData?.meal?.price || mergedLabels.addOnPrice
14232
+ }
14233
+ ];
14234
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.container} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.bookingDetail, children: [
14235
+ /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.bookingDetailTop, children: [
14236
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.bookingDetails }),
14237
+ /* @__PURE__ */ jsxRuntime.jsx(
14238
+ reactGridSystem.Row,
14239
+ {
14240
+ direction: "column",
14241
+ nogutter: true,
14242
+ className: styles.headerBookingDetail,
14243
+ children: addOnRows.map((item) => /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, align: "center", justify: "between", children: [
14244
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: item.label }),
14245
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { children: item.price })
14246
+ ] }) }, item.key))
14247
+ }
14248
+ ),
14249
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.circularLeft }),
14250
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.circularRight })
14251
+ ] }),
14252
+ /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.bookingDetailBottom, children: [
14253
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.totalPrice, children: [
14254
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.totalPriceLabel }),
14255
+ /* @__PURE__ */ jsxRuntime.jsxs(
14256
+ "div",
14257
+ {
14258
+ style: {
14259
+ display: "flex",
14260
+ gap: reactComponents.tokens.spacingHorizontalL,
14261
+ alignItems: "center"
14262
+ },
14263
+ children: [
14264
+ /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Title3, { className: styles.priceText, children: [
14265
+ mergedLabels.currencySymbol,
14266
+ " ",
14267
+ totalPrice
14268
+ ] }),
14269
+ /* @__PURE__ */ jsxRuntime.jsx(
14270
+ react.Icon,
14271
+ {
14272
+ icon: "fluent:chevron-down-24-filled",
14273
+ onClick: onPriceDetailClick,
14274
+ style: { cursor: "pointer" }
14275
+ }
14276
+ )
14277
+ ]
14278
+ }
14279
+ )
14280
+ ] }),
14281
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.notIncluded, children: mergedLabels.notIncludedLabel }),
14282
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.gapButton, children: [
14283
+ /* @__PURE__ */ jsxRuntime.jsx(
14284
+ reactComponents.Button,
14285
+ {
14286
+ shape: "circular",
14287
+ appearance: "primary",
14288
+ onClick: onBackToReviewClick,
14289
+ children: mergedLabels.backToReviewButton
14290
+ }
14291
+ ),
14292
+ /* @__PURE__ */ jsxRuntime.jsx(
14293
+ reactComponents.Button,
14294
+ {
14295
+ shape: "circular",
14296
+ appearance: "outline",
14297
+ className: styles.secondaryButton,
14298
+ onClick: onChangeAddOnClick,
14299
+ children: mergedLabels.changeAddOnButton
14300
+ }
14301
+ )
14302
+ ] })
14303
+ ] })
14304
+ ] }) });
14305
+ };
14306
+
14307
+ // src/components/CardFAQ/CardFAQ.constants.ts
14308
+ var DEFAULT_LABELS29 = {
14067
14309
  id: {
14068
14310
  title: "Pertanyaan yang sering diajukan"
14069
14311
  },
@@ -14117,7 +14359,7 @@ var DEFAULT_FAQ_ITEMS = {
14117
14359
  }
14118
14360
  ]
14119
14361
  };
14120
- var useStyles29 = reactComponents.makeStyles({
14362
+ var useStyles30 = reactComponents.makeStyles({
14121
14363
  faqSection: {
14122
14364
  // marginTop: '2rem', // Let parent control spacing if needed, or keep consistent
14123
14365
  },
@@ -14141,8 +14383,8 @@ var CardFAQ = ({
14141
14383
  items,
14142
14384
  className
14143
14385
  }) => {
14144
- const styles = useStyles29();
14145
- const mergedLabels = { ...DEFAULT_LABELS28[language], ...labels };
14386
+ const styles = useStyles30();
14387
+ const mergedLabels = { ...DEFAULT_LABELS29[language], ...labels };
14146
14388
  const faqItems = items || DEFAULT_FAQ_ITEMS[language];
14147
14389
  return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.faqCard, children: [
14148
14390
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.title }),
@@ -14179,7 +14421,7 @@ var CardFAQ = ({
14179
14421
  };
14180
14422
 
14181
14423
  // src/components/CardAddon/CardAddon.constants.ts
14182
- var DEFAULT_LABELS29 = {
14424
+ var DEFAULT_LABELS30 = {
14183
14425
  id: {
14184
14426
  viewDetail: "Lihat detail",
14185
14427
  totalPrice: "Total Harga",
@@ -14195,7 +14437,7 @@ var DEFAULT_LABELS29 = {
14195
14437
  currencySymbol: "Rp"
14196
14438
  }
14197
14439
  };
14198
- var useStyles30 = reactComponents.makeStyles({
14440
+ var useStyles31 = reactComponents.makeStyles({
14199
14441
  card: {
14200
14442
  backgroundColor: reactComponents.tokens.colorNeutralBackground1,
14201
14443
  boxShadow: reactComponents.tokens.shadow4,
@@ -14368,8 +14610,8 @@ var CardAddon = ({
14368
14610
  children,
14369
14611
  className
14370
14612
  }) => {
14371
- const styles = useStyles30();
14372
- const mergedLabels = { ...DEFAULT_LABELS29[language], ...labels };
14613
+ const styles = useStyles31();
14614
+ const mergedLabels = { ...DEFAULT_LABELS30[language], ...labels };
14373
14615
  return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.gapRow, children: [
14374
14616
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.titleDivider, children: [
14375
14617
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Title3, { className: styles.textTitle, children: title }),
@@ -14580,7 +14822,7 @@ var CardAddon = ({
14580
14822
  };
14581
14823
 
14582
14824
  // src/components/CardMealCatalog/CardMealCatalog.constants.ts
14583
- var DEFAULT_LABELS30 = {
14825
+ var DEFAULT_LABELS31 = {
14584
14826
  id: {
14585
14827
  addButton: "Tambah",
14586
14828
  currencySymbol: "Rp",
@@ -14596,7 +14838,7 @@ var DEFAULT_LABELS30 = {
14596
14838
  searchPlaceholder: "Search for food or drinks you want"
14597
14839
  }
14598
14840
  };
14599
- var useStyles31 = reactComponents.makeStyles({
14841
+ var useStyles32 = reactComponents.makeStyles({
14600
14842
  container: {
14601
14843
  display: "flex",
14602
14844
  flexDirection: "column",
@@ -14740,8 +14982,8 @@ var CardMealCatalog = ({
14740
14982
  searchValue,
14741
14983
  onSearchChange
14742
14984
  }) => {
14743
- const styles = useStyles31();
14744
- const mergedLabels = { ...DEFAULT_LABELS30[language], ...labels };
14985
+ const styles = useStyles32();
14986
+ const mergedLabels = { ...DEFAULT_LABELS31[language], ...labels };
14745
14987
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
14746
14988
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.banner, children: [
14747
14989
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.bannerOverlay }),
@@ -14846,7 +15088,7 @@ var CardMealCatalog = ({
14846
15088
  };
14847
15089
 
14848
15090
  // src/components/CardReview/CardReview.constants.ts
14849
- var DEFAULT_LABELS31 = {
15091
+ var DEFAULT_LABELS32 = {
14850
15092
  id: {
14851
15093
  defaultTitle: "Tinjauan"
14852
15094
  },
@@ -14854,7 +15096,7 @@ var DEFAULT_LABELS31 = {
14854
15096
  defaultTitle: "Review"
14855
15097
  }
14856
15098
  };
14857
- var useStyles32 = reactComponents.makeStyles({
15099
+ var useStyles33 = reactComponents.makeStyles({
14858
15100
  card: {
14859
15101
  padding: "1.5rem",
14860
15102
  borderRadius: reactComponents.tokens.borderRadiusXLarge,
@@ -14906,8 +15148,8 @@ var CardReview = ({
14906
15148
  className,
14907
15149
  headerAction
14908
15150
  }) => {
14909
- const styles = useStyles32();
14910
- const mergedLabels = { ...DEFAULT_LABELS31[language], ...labels };
15151
+ const styles = useStyles33();
15152
+ const mergedLabels = { ...DEFAULT_LABELS32[language], ...labels };
14911
15153
  return /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: [
14912
15154
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerContainer, children: [
14913
15155
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.headerTitle, children: title || mergedLabels.defaultTitle }),
@@ -14954,17 +15196,17 @@ var CardReview = ({
14954
15196
  };
14955
15197
 
14956
15198
  // src/components/CardReviewPassenger/CardReviewPassenger.constants.ts
14957
- var DEFAULT_LABELS32 = {
15199
+ var DEFAULT_LABELS33 = {
14958
15200
  id: {
14959
15201
  title: "Penumpang",
14960
- idNumber: "Nomor ID"
15202
+ idNumber: "ID"
14961
15203
  },
14962
15204
  en: {
14963
15205
  title: "Passenger",
14964
- idNumber: "ID Number"
15206
+ idNumber: "ID"
14965
15207
  }
14966
15208
  };
14967
- var useStyles33 = reactComponents.makeStyles({
15209
+ var useStyles34 = reactComponents.makeStyles({
14968
15210
  card: {
14969
15211
  boxShadow: "none",
14970
15212
  border: `${reactComponents.tokens.strokeWidthThin} solid ${reactComponents.tokens.colorNeutralStroke1}`,
@@ -15038,8 +15280,8 @@ var CardReviewPassenger = ({
15038
15280
  passengers,
15039
15281
  className
15040
15282
  }) => {
15041
- const styles = useStyles33();
15042
- const mergedLabels = { ...DEFAULT_LABELS32[language], ...labels };
15283
+ const styles = useStyles34();
15284
+ const mergedLabels = { ...DEFAULT_LABELS33[language], ...labels };
15043
15285
  const displayTitle = title || mergedLabels.title;
15044
15286
  return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { direction: "column", nogutter: true, className: styles.list, children: [
15045
15287
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.titleRow, children: [
@@ -15078,7 +15320,7 @@ var CardReviewPassenger = ({
15078
15320
  };
15079
15321
 
15080
15322
  // src/components/CardReviewDetail/CardReviewDetail.constants.ts
15081
- var DEFAULT_LABELS33 = {
15323
+ var DEFAULT_LABELS34 = {
15082
15324
  id: {
15083
15325
  title: "Detail Pemesanan",
15084
15326
  fromLabel: "Dari",
@@ -15087,7 +15329,9 @@ var DEFAULT_LABELS33 = {
15087
15329
  bookingNameLabel: "Nama Pemesanan",
15088
15330
  passengerTypeLabel: "Jenis Penumpang",
15089
15331
  addOnLabel: "Add On",
15090
- viewDetail: "Lihat Detail"
15332
+ viewDetail: "Lihat Detail",
15333
+ noAddOnsLabel: "Tidak ada layanan",
15334
+ serviceLabel: "Layanan"
15091
15335
  },
15092
15336
  en: {
15093
15337
  title: "Booking Details",
@@ -15097,10 +15341,12 @@ var DEFAULT_LABELS33 = {
15097
15341
  bookingNameLabel: "Booking Name",
15098
15342
  passengerTypeLabel: "Passenger Type",
15099
15343
  addOnLabel: "Add On",
15100
- viewDetail: "View Details"
15344
+ viewDetail: "View Details",
15345
+ noAddOnsLabel: "No services",
15346
+ serviceLabel: "Service"
15101
15347
  }
15102
15348
  };
15103
- var useStyles34 = reactComponents.makeStyles({
15349
+ var useStyles35 = reactComponents.makeStyles({
15104
15350
  card: {
15105
15351
  boxShadow: "none",
15106
15352
  border: `${reactComponents.tokens.strokeWidthThin} solid ${reactComponents.tokens.colorNeutralStroke1}`,
@@ -15113,9 +15359,7 @@ var useStyles34 = reactComponents.makeStyles({
15113
15359
  gap: reactComponents.tokens.spacingHorizontalS
15114
15360
  },
15115
15361
  fieldRow: {
15116
- display: "flex",
15117
- alignItems: "flex-start",
15118
- gap: reactComponents.tokens.spacingHorizontalL
15362
+ rowGap: reactComponents.tokens.spacingHorizontalL
15119
15363
  },
15120
15364
  addOnRow: {
15121
15365
  display: "flex",
@@ -15136,45 +15380,49 @@ var CardReviewDetail = ({
15136
15380
  onViewAddOns,
15137
15381
  className
15138
15382
  }) => {
15139
- const styles = useStyles34();
15140
- const mergedLabels = { ...DEFAULT_LABELS33[language], ...labels };
15141
- return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, direction: "column", style: { gap: reactComponents.tokens.spacingHorizontalL }, children: [
15142
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.titleRow, children: [
15143
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.title }),
15144
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { style: { width: 0 } })
15145
- ] }) }),
15146
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.fieldRow, children: [
15147
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.fromLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: from }) }) }),
15148
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.toLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: to }) }) })
15149
- ] }) }),
15150
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.fieldRow, children: [
15151
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.scheduleLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: scheduleTime }) }) }),
15152
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.bookingNameLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: bookingName }) }) })
15153
- ] }) }),
15154
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.fieldRow, children: [
15155
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.passengerTypeLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: passengerType }) }) }),
15156
- /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.addOnLabel, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.addOnRow, children: [
15157
- /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1Strong, { children: [
15158
- addOnsCount,
15159
- " ",
15160
- addOnsCount === 1 ? "Layanan" : "Layanan"
15161
- ] }),
15162
- /* @__PURE__ */ jsxRuntime.jsx(
15163
- reactComponents.Button,
15164
- {
15165
- appearance: "transparent",
15166
- onClick: onViewAddOns,
15167
- style: { color: brandColors[80] },
15168
- children: mergedLabels.viewDetail
15169
- }
15170
- )
15171
- ] }) }) })
15172
- ] }) })
15173
- ] }) });
15383
+ const styles = useStyles35();
15384
+ const mergedLabels = { ...DEFAULT_LABELS34[language], ...labels };
15385
+ return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs(
15386
+ reactGridSystem.Row,
15387
+ {
15388
+ nogutter: true,
15389
+ direction: "column",
15390
+ style: { gap: reactComponents.tokens.spacingHorizontalL },
15391
+ children: [
15392
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.titleRow, children: [
15393
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.title }),
15394
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, { style: { width: 0 } })
15395
+ ] }) }),
15396
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: styles.fieldRow, children: [
15397
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.fromLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: from }) }) }),
15398
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.toLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: to }) }) })
15399
+ ] }) }),
15400
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: styles.fieldRow, children: [
15401
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.scheduleLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: scheduleTime }) }) }),
15402
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.bookingNameLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: bookingName }) }) })
15403
+ ] }) }),
15404
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { className: styles.fieldRow, children: [
15405
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.passengerTypeLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: passengerType }) }) }),
15406
+ /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, sm: 12, md: 6, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Field, { label: mergedLabels.addOnLabel, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.addOnRow, children: [
15407
+ /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1Strong, { children: addOnsCount === 0 ? mergedLabels.noAddOnsLabel : `${addOnsCount} ${addOnsCount === 1 ? mergedLabels.serviceLabel : mergedLabels.serviceLabel}` }),
15408
+ addOnsCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
15409
+ reactComponents.Button,
15410
+ {
15411
+ appearance: "transparent",
15412
+ onClick: onViewAddOns,
15413
+ style: { color: brandColors[80] },
15414
+ children: mergedLabels.viewDetail
15415
+ }
15416
+ )
15417
+ ] }) }) })
15418
+ ] }) })
15419
+ ]
15420
+ }
15421
+ ) });
15174
15422
  };
15175
15423
 
15176
15424
  // src/components/CardPriceDetails/CardPriceDetails.constants.ts
15177
- var DEFAULT_LABELS34 = {
15425
+ var DEFAULT_LABELS35 = {
15178
15426
  id: {
15179
15427
  defaultTitle: "Rincian Harga",
15180
15428
  totalPayment: "Total Pembayaran",
@@ -15210,7 +15458,7 @@ var DEFAULT_LABELS34 = {
15210
15458
  currencyPrefix: "Rp. "
15211
15459
  }
15212
15460
  };
15213
- var useStyles35 = reactComponents.makeStyles({
15461
+ var useStyles36 = reactComponents.makeStyles({
15214
15462
  list: {
15215
15463
  margin: 0,
15216
15464
  padding: 0,
@@ -15232,7 +15480,7 @@ var PriceDetailsTerms = ({
15232
15480
  language = "id",
15233
15481
  labels
15234
15482
  }) => {
15235
- const styles = useStyles35();
15483
+ const styles = useStyles36();
15236
15484
  const linkColor = reactComponents.tokens.colorBrandBackground;
15237
15485
  const bookingTerms = labels.bookingTerms;
15238
15486
  const agreementTerms = [
@@ -15252,7 +15500,7 @@ var PriceDetailsTerms = ({
15252
15500
  ] })
15253
15501
  ] });
15254
15502
  };
15255
- var useStyles36 = reactComponents.makeStyles({
15503
+ var useStyles37 = reactComponents.makeStyles({
15256
15504
  card: {
15257
15505
  padding: "1.5rem",
15258
15506
  borderRadius: reactComponents.tokens.borderRadiusXLarge,
@@ -15329,8 +15577,8 @@ var CardPriceDetails = ({
15329
15577
  total,
15330
15578
  labels
15331
15579
  }) => {
15332
- const styles = useStyles36();
15333
- const mergedLabels = { ...DEFAULT_LABELS34[language], ...labels };
15580
+ const styles = useStyles37();
15581
+ const mergedLabels = { ...DEFAULT_LABELS35[language], ...labels };
15334
15582
  const displayTitle = title || mergedLabels.defaultTitle;
15335
15583
  const getVariantClass = (variant) => {
15336
15584
  switch (variant) {
@@ -15389,7 +15637,7 @@ var CardPriceDetails = ({
15389
15637
  };
15390
15638
 
15391
15639
  // src/components/CardPaymentMethodList/CardPaymentMethodList.constants.ts
15392
- var DEFAULT_LABELS35 = {
15640
+ var DEFAULT_LABELS36 = {
15393
15641
  id: {
15394
15642
  selectAriaLabel: "Pilih metode pembayaran"
15395
15643
  },
@@ -15397,7 +15645,7 @@ var DEFAULT_LABELS35 = {
15397
15645
  selectAriaLabel: "Select payment method"
15398
15646
  }
15399
15647
  };
15400
- var useStyles37 = reactComponents.makeStyles({
15648
+ var useStyles38 = reactComponents.makeStyles({
15401
15649
  container: {
15402
15650
  display: "flex",
15403
15651
  flexDirection: "column",
@@ -15457,8 +15705,8 @@ var CardPaymentMethodList = ({
15457
15705
  selectedValue,
15458
15706
  onSelect
15459
15707
  }) => {
15460
- const styles = useStyles37();
15461
- const mergedLabels = { ...DEFAULT_LABELS35[language], ...labels };
15708
+ const styles = useStyles38();
15709
+ const mergedLabels = { ...DEFAULT_LABELS36[language], ...labels };
15462
15710
  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: [
15463
15711
  index > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.dividerContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}) }),
15464
15712
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Accordion, { multiple: true, collapsible: true, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.AccordionItem, { value: category.value, children: [
@@ -15507,7 +15755,7 @@ var CardPaymentMethodList = ({
15507
15755
  };
15508
15756
 
15509
15757
  // src/components/CardPaymentGuide/CardPaymentGuide.constants.ts
15510
- var DEFAULT_LABELS36 = {
15758
+ var DEFAULT_LABELS37 = {
15511
15759
  id: {
15512
15760
  title: "Cara Pembayaran"
15513
15761
  },
@@ -15515,7 +15763,7 @@ var DEFAULT_LABELS36 = {
15515
15763
  title: "Payment Method"
15516
15764
  }
15517
15765
  };
15518
- var useStyles38 = reactComponents.makeStyles({
15766
+ var useStyles39 = reactComponents.makeStyles({
15519
15767
  container: {
15520
15768
  display: "flex",
15521
15769
  flexDirection: "column",
@@ -15551,8 +15799,8 @@ var CardPaymentGuide = ({
15551
15799
  guides,
15552
15800
  className
15553
15801
  }) => {
15554
- const styles = useStyles38();
15555
- const mergedLabels = { ...DEFAULT_LABELS36[language], ...labels };
15802
+ const styles = useStyles39();
15803
+ const mergedLabels = { ...DEFAULT_LABELS37[language], ...labels };
15556
15804
  const displayTitle = title || mergedLabels.title;
15557
15805
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
15558
15806
  displayTitle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.titleContainer, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { className: styles.title, children: displayTitle }) }),
@@ -15571,7 +15819,7 @@ var CardPaymentGuide = ({
15571
15819
  };
15572
15820
 
15573
15821
  // src/components/CardPaymentInfo/CardPaymentInfo.constants.ts
15574
- var DEFAULT_LABELS37 = {
15822
+ var DEFAULT_LABELS38 = {
15575
15823
  id: {
15576
15824
  expiryPrefix: "Kode virtual akun berlaku sampai",
15577
15825
  copyCodeButton: "Salin Kode",
@@ -15591,7 +15839,7 @@ var DEFAULT_LABELS37 = {
15591
15839
  changePayment: "Change Payment Method"
15592
15840
  }
15593
15841
  };
15594
- var useStyles39 = reactComponents.makeStyles({
15842
+ var useStyles40 = reactComponents.makeStyles({
15595
15843
  container: {
15596
15844
  display: "flex",
15597
15845
  flexDirection: "column",
@@ -15683,8 +15931,8 @@ var CardPaymentInfo = ({
15683
15931
  onCheckStatus,
15684
15932
  onChangePayment
15685
15933
  }) => {
15686
- const styles = useStyles39();
15687
- const mergedLabels = { ...DEFAULT_LABELS37[language], ...labels };
15934
+ const styles = useStyles40();
15935
+ const mergedLabels = { ...DEFAULT_LABELS38[language], ...labels };
15688
15936
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
15689
15937
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.headerRow, children: [
15690
15938
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.expiryPrefix }),
@@ -15756,7 +16004,7 @@ var CardPaymentInfo = ({
15756
16004
  };
15757
16005
 
15758
16006
  // src/components/CardStatusOrder/CardStatusOrder.constants.ts
15759
- var DEFAULT_LABELS38 = {
16007
+ var DEFAULT_LABELS39 = {
15760
16008
  id: {
15761
16009
  detailTitle: "Detail Pemesanan",
15762
16010
  statusLabel: "Status",
@@ -15786,7 +16034,7 @@ var DEFAULT_LABELS38 = {
15786
16034
  illustrationAlt: "E-Ticket Illustration"
15787
16035
  }
15788
16036
  };
15789
- var useStyles40 = reactComponents.makeStyles({
16037
+ var useStyles41 = reactComponents.makeStyles({
15790
16038
  activeCard: {
15791
16039
  width: "100%",
15792
16040
  // padding: tokens.spacingHorizontalNone, // default
@@ -15856,8 +16104,8 @@ var CardStatusOrder = ({
15856
16104
  onClickViewTicket,
15857
16105
  className
15858
16106
  }) => {
15859
- const styles = useStyles40();
15860
- const mergedLabels = { ...DEFAULT_LABELS38[language], ...labels };
16107
+ const styles = useStyles41();
16108
+ const mergedLabels = { ...DEFAULT_LABELS39[language], ...labels };
15861
16109
  const displayStatus = statusLabel || mergedLabels.defaultStatus;
15862
16110
  const displayTitle = title || mergedLabels.defaultTitle;
15863
16111
  const displayDescription = description || mergedLabels.defaultDescription;
@@ -15954,7 +16202,7 @@ var CardStatusOrder = ({
15954
16202
  };
15955
16203
 
15956
16204
  // src/components/ModalPriceDetail/ModalPriceDetail.constants.ts
15957
- var DEFAULT_LABELS39 = {
16205
+ var DEFAULT_LABELS40 = {
15958
16206
  id: {
15959
16207
  title: "Rincian Harga",
15960
16208
  addonHeader: "Add On",
@@ -15980,7 +16228,7 @@ var DEFAULT_LABELS39 = {
15980
16228
  closeAriaLabel: "Close"
15981
16229
  }
15982
16230
  };
15983
- var useStyles41 = reactComponents.makeStyles({
16231
+ var useStyles42 = reactComponents.makeStyles({
15984
16232
  surface: {
15985
16233
  width: "680px",
15986
16234
  maxWidth: "90vw",
@@ -16107,8 +16355,8 @@ var ModalPriceDetail = ({
16107
16355
  grandTotal,
16108
16356
  ...props
16109
16357
  }) => {
16110
- const styles = useStyles41();
16111
- const mergedLabels = { ...DEFAULT_LABELS39[language], ...labels };
16358
+ const styles = useStyles42();
16359
+ const mergedLabels = { ...DEFAULT_LABELS40[language], ...labels };
16112
16360
  return /* @__PURE__ */ jsxRuntime.jsx(
16113
16361
  reactComponents.Dialog,
16114
16362
  {
@@ -16250,7 +16498,7 @@ var ModalPriceDetail = ({
16250
16498
  // src/components/FileUpload/FileUpload.constants.ts
16251
16499
  var ACCEPTED_FILES = ".pdf,.jpg,.jpeg,.png";
16252
16500
  var MAX_FILE_SIZE_MB = 10;
16253
- var DEFAULT_LABELS40 = {
16501
+ var DEFAULT_LABELS41 = {
16254
16502
  id: {
16255
16503
  placeholder: "Ketuk untuk pilih file",
16256
16504
  maxSizeWarning: "Maksimal {maxSize}MB per file dalam format PDF, JPG, JPEG, PNG.",
@@ -16268,7 +16516,7 @@ var DEFAULT_LABELS40 = {
16268
16516
  downloadTemplateDocument: "Download Template Document"
16269
16517
  }
16270
16518
  };
16271
- var useStyles42 = reactComponents.makeStyles({
16519
+ var useStyles43 = reactComponents.makeStyles({
16272
16520
  surface: {
16273
16521
  maxWidth: "90vw",
16274
16522
  maxHeight: "90vh",
@@ -16295,7 +16543,7 @@ var ModalPreviewImage = ({
16295
16543
  imageUrl,
16296
16544
  alt = "Preview"
16297
16545
  }) => {
16298
- const styles = useStyles42();
16546
+ const styles = useStyles43();
16299
16547
  return /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Dialog, { open, onOpenChange: (_, data) => onOpenChange(data.open), children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.DialogSurface, { className: styles.surface, children: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.DialogBody, { children: [
16300
16548
  /* @__PURE__ */ jsxRuntime.jsx(
16301
16549
  reactComponents.DialogTitle,
@@ -16421,7 +16669,7 @@ var FileUpload = React__default.default.forwardRef(
16421
16669
  downloadTemplateDocument = false,
16422
16670
  infoLabel
16423
16671
  }, ref) => {
16424
- const mergedLabels = { ...DEFAULT_LABELS40[language], ...customLabels };
16672
+ const mergedLabels = { ...DEFAULT_LABELS41[language], ...customLabels };
16425
16673
  const styles = uploadStyles();
16426
16674
  const fileInputRef = React.useRef(null);
16427
16675
  const [, setIsDragOver] = React.useState(false);
@@ -16858,11 +17106,11 @@ function hexToRgba(hex, alpha = 1) {
16858
17106
  }
16859
17107
 
16860
17108
  // src/components/CardProfileMenu/CardProfileMenu.constants.ts
16861
- var DEFAULT_LABELS41 = {
17109
+ var DEFAULT_LABELS42 = {
16862
17110
  id: {},
16863
17111
  en: {}
16864
17112
  };
16865
- var useStyles43 = reactComponents.makeStyles({
17113
+ var useStyles44 = reactComponents.makeStyles({
16866
17114
  container: {
16867
17115
  display: "flex",
16868
17116
  flexDirection: "column",
@@ -16922,8 +17170,8 @@ var CardProfileMenu = ({
16922
17170
  selectedValue,
16923
17171
  onTabSelect
16924
17172
  }) => {
16925
- const styles = useStyles43();
16926
- ({ ...DEFAULT_LABELS41[language], ...labels });
17173
+ const styles = useStyles44();
17174
+ ({ ...DEFAULT_LABELS42[language], ...labels });
16927
17175
  const handleTabSelect = (_, data) => {
16928
17176
  onTabSelect(data.value);
16929
17177
  };
@@ -16960,6 +17208,7 @@ exports.BackgroundTicketCardVertical = BackgroundTicketCardVertical_default;
16960
17208
  exports.COUNTRIES = COUNTRIES;
16961
17209
  exports.CardAddon = CardAddon;
16962
17210
  exports.CardBanner = CardBanner;
17211
+ exports.CardBookingAddOn = CardBookingAddOn;
16963
17212
  exports.CardBookingTicket = CardBookingTicket;
16964
17213
  exports.CardFAQ = CardFAQ;
16965
17214
  exports.CardMealCatalog = CardMealCatalog;