@asdp/ferryui 0.1.22-dev.10391 → 0.1.22-dev.10407

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 CHANGED
@@ -3145,6 +3145,9 @@ interface CardBookingTicketLabels {
3145
3145
  routeTitle: string;
3146
3146
  estimationPrefix: string;
3147
3147
  totalPriceLabel: string;
3148
+ agreementPrefix: string;
3149
+ termsAndConditions: string;
3150
+ agreementSuffix: string;
3148
3151
  nextButton: string;
3149
3152
  cancelButton: string;
3150
3153
  previousButton: string;
@@ -3235,6 +3238,10 @@ interface CardBookingTicketProps {
3235
3238
  * Callback for price detail click
3236
3239
  */
3237
3240
  onPriceDetailClick: () => void;
3241
+ /**
3242
+ * Optional click handler for Terms & Conditions text inside the review checkbox
3243
+ */
3244
+ onTermsAndConditionsClick?: () => void;
3238
3245
  onCancel: () => void;
3239
3246
  /**
3240
3247
  * Callback for Next button (Lanjutkan / Lihat Pemesanan)
@@ -3573,6 +3580,7 @@ declare const CardReview: React$1.FC<CardReviewProps>;
3573
3580
 
3574
3581
  interface ReviewPassengerItem {
3575
3582
  id: string | number;
3583
+ titleName?: string;
3576
3584
  name: string;
3577
3585
  identityNumber: string;
3578
3586
  ageLabel: string;
package/dist/index.d.ts CHANGED
@@ -3145,6 +3145,9 @@ interface CardBookingTicketLabels {
3145
3145
  routeTitle: string;
3146
3146
  estimationPrefix: string;
3147
3147
  totalPriceLabel: string;
3148
+ agreementPrefix: string;
3149
+ termsAndConditions: string;
3150
+ agreementSuffix: string;
3148
3151
  nextButton: string;
3149
3152
  cancelButton: string;
3150
3153
  previousButton: string;
@@ -3235,6 +3238,10 @@ interface CardBookingTicketProps {
3235
3238
  * Callback for price detail click
3236
3239
  */
3237
3240
  onPriceDetailClick: () => void;
3241
+ /**
3242
+ * Optional click handler for Terms & Conditions text inside the review checkbox
3243
+ */
3244
+ onTermsAndConditionsClick?: () => void;
3238
3245
  onCancel: () => void;
3239
3246
  /**
3240
3247
  * Callback for Next button (Lanjutkan / Lihat Pemesanan)
@@ -3573,6 +3580,7 @@ declare const CardReview: React$1.FC<CardReviewProps>;
3573
3580
 
3574
3581
  interface ReviewPassengerItem {
3575
3582
  id: string | number;
3583
+ titleName?: string;
3576
3584
  name: string;
3577
3585
  identityNumber: string;
3578
3586
  ageLabel: string;
package/dist/index.js CHANGED
@@ -292,6 +292,8 @@ var foundationColors = {
292
292
  "Foundation_Danger_error": "#FD3A3A"
293
293
  };
294
294
  var lightModeColors = {
295
+ "Neutral_Background_2_Hover": "#f0f0f0",
296
+ "Neutral_Background_3_Pressed": "#d6d6d6",
295
297
  "Neutral_Foreground_Disabled_Rest": "#bdbdbd",
296
298
  "Brand_Stroke_1_Rest": "#00B3BD"};
297
299
  var tokensV2_default = {
@@ -13890,6 +13892,9 @@ var DEFAULT_LABELS27 = {
13890
13892
  routeTitle: "Rute Perjalanan",
13891
13893
  estimationPrefix: "Estimasi",
13892
13894
  totalPriceLabel: "Total Harga",
13895
+ agreementPrefix: "Saya menyetujui",
13896
+ termsAndConditions: "Syarat & Ketentuan",
13897
+ agreementSuffix: "Ferizy",
13893
13898
  nextButton: "Lanjutkan",
13894
13899
  cancelButton: "Batalkan Pesanan",
13895
13900
  previousButton: "Sebelumnya",
@@ -13907,6 +13912,9 @@ var DEFAULT_LABELS27 = {
13907
13912
  routeTitle: "Travel Route",
13908
13913
  estimationPrefix: "Estimation",
13909
13914
  totalPriceLabel: "Total Price",
13915
+ agreementPrefix: "I agree to the",
13916
+ termsAndConditions: "Terms & Conditions",
13917
+ agreementSuffix: "Ferizy",
13910
13918
  nextButton: "Continue",
13911
13919
  cancelButton: "Cancel Booking",
13912
13920
  previousButton: "Previous",
@@ -13995,7 +14003,14 @@ var useStyles28 = reactComponents.makeStyles({
13995
14003
  display: "flex",
13996
14004
  justifyContent: "space-between",
13997
14005
  alignItems: "center",
13998
- gap: "0.5em"
14006
+ gap: "0.5em",
14007
+ backgroundColor: lightModeColors.Neutral_Background_2_Hover,
14008
+ ...reactComponents.shorthands.padding(
14009
+ reactComponents.tokens.spacingHorizontalM,
14010
+ reactComponents.tokens.spacingHorizontalMNudge
14011
+ ),
14012
+ border: `${reactComponents.tokens.strokeWidthThin} solid ${lightModeColors.Neutral_Background_3_Pressed}`,
14013
+ borderRadius: reactComponents.tokens.borderRadiusXLarge
13999
14014
  },
14000
14015
  ticketTime: {
14001
14016
  display: "flex",
@@ -14080,6 +14095,7 @@ var CardBookingTicket = ({
14080
14095
  reservationStep,
14081
14096
  paymentStep,
14082
14097
  onPriceDetailClick,
14098
+ onTermsAndConditionsClick,
14083
14099
  onCancel,
14084
14100
  onNext,
14085
14101
  onPrevious,
@@ -14088,6 +14104,9 @@ var CardBookingTicket = ({
14088
14104
  const styles = useStyles28();
14089
14105
  const mergedLabels = { ...DEFAULT_LABELS27[language], ...labels };
14090
14106
  const [cancelDialogOpen, setCancelDialogOpen] = React.useState(false);
14107
+ const handleTermsAndConditionsClick = () => {
14108
+ onTermsAndConditionsClick?.();
14109
+ };
14091
14110
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.container} ${className || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.bookingDetail, children: [
14092
14111
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.bookingDetailTop, children: [
14093
14112
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.bookingDetails }),
@@ -14135,7 +14154,7 @@ var CardBookingTicket = ({
14135
14154
  {
14136
14155
  style: {
14137
14156
  height: "1px",
14138
- backgroundColor: reactComponents.tokens.colorNeutralStroke2,
14157
+ backgroundColor: "tokens.colorNeutralStroke2",
14139
14158
  margin: "1rem 0"
14140
14159
  }
14141
14160
  }
@@ -14167,22 +14186,58 @@ var CardBookingTicket = ({
14167
14186
  /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Card, { className: styles.bookingDetailBottom, children: [
14168
14187
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.totalPrice, children: [
14169
14188
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle1, { children: mergedLabels.totalPriceLabel }),
14170
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", gap: reactComponents.tokens.spacingHorizontalL, alignItems: "center" }, children: [
14171
- /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Title3, { className: styles.priceText, children: [
14172
- mergedLabels.currencySymbol,
14173
- " ",
14174
- totalPrice
14175
- ] }),
14176
- /* @__PURE__ */ jsxRuntime.jsx(
14177
- react.Icon,
14178
- {
14179
- icon: "fluent:chevron-down-24-filled",
14180
- onClick: onPriceDetailClick,
14181
- style: { cursor: "pointer" }
14182
- }
14183
- )
14184
- ] })
14189
+ /* @__PURE__ */ jsxRuntime.jsxs(
14190
+ "div",
14191
+ {
14192
+ style: {
14193
+ display: "flex",
14194
+ gap: reactComponents.tokens.spacingHorizontalL,
14195
+ alignItems: "center"
14196
+ },
14197
+ children: [
14198
+ /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Title3, { className: styles.priceText, children: [
14199
+ mergedLabels.currencySymbol,
14200
+ " ",
14201
+ totalPrice
14202
+ ] }),
14203
+ /* @__PURE__ */ jsxRuntime.jsx(
14204
+ react.Icon,
14205
+ {
14206
+ icon: "fluent:chevron-down-24-filled",
14207
+ onClick: onPriceDetailClick,
14208
+ style: { cursor: "pointer" }
14209
+ }
14210
+ )
14211
+ ]
14212
+ }
14213
+ )
14185
14214
  ] }),
14215
+ reservationStep === "review" && /* @__PURE__ */ jsxRuntime.jsx(
14216
+ reactComponents.Checkbox,
14217
+ {
14218
+ label: /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Body1, { children: [
14219
+ mergedLabels.agreementPrefix,
14220
+ " ",
14221
+ /* @__PURE__ */ jsxRuntime.jsx(
14222
+ "button",
14223
+ {
14224
+ type: "button",
14225
+ onClick: handleTermsAndConditionsClick,
14226
+ style: {
14227
+ color: brandColors[80],
14228
+ background: "transparent",
14229
+ border: "none",
14230
+ padding: 0,
14231
+ cursor: "pointer"
14232
+ },
14233
+ children: mergedLabels.termsAndConditions
14234
+ }
14235
+ ),
14236
+ " ",
14237
+ mergedLabels.agreementSuffix
14238
+ ] })
14239
+ }
14240
+ ),
14186
14241
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.gapButton, children: [
14187
14242
  !(paymentStep === "pay") && /* @__PURE__ */ jsxRuntime.jsx(
14188
14243
  reactComponents.Button,
@@ -15475,7 +15530,8 @@ var useStyles34 = reactComponents.makeStyles({
15475
15530
  boxShadow: "none",
15476
15531
  border: `${reactComponents.tokens.strokeWidthThin} solid ${reactComponents.tokens.colorNeutralStroke1}`,
15477
15532
  borderRadius: reactComponents.tokens.borderRadiusXLarge,
15478
- padding: `${reactComponents.tokens.spacingHorizontalL} ${reactComponents.tokens.spacingHorizontalXXL}`
15533
+ padding: `${reactComponents.tokens.spacingHorizontalL} ${reactComponents.tokens.spacingHorizontalXXL}`,
15534
+ zIndex: 10
15479
15535
  },
15480
15536
  titleRow: {
15481
15537
  display: "flex",
@@ -15562,9 +15618,14 @@ var CardReviewPassenger = ({
15562
15618
  ] }) }) }, index)) : passengers.map((passenger, index) => {
15563
15619
  const badgeConfig = getBadgeConfig(passenger.serviceClass);
15564
15620
  const passengerMeta = `${passenger.ageLabel} \xB7 ${mergedLabels.idNumber} ${passenger.identityNumber}`;
15621
+ const passengerTitle = passenger.titleName?.trim() || "Tuan";
15565
15622
  return /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Card, { className: styles.passengerCard, children: /* @__PURE__ */ jsxRuntime.jsxs(reactGridSystem.Row, { nogutter: true, className: styles.passengerRow, children: [
15566
15623
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.passengerInfo, children: [
15567
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Subtitle2, { className: styles.passengerName, children: passenger.name }),
15624
+ /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.Subtitle2, { className: styles.passengerName, children: [
15625
+ passengerTitle,
15626
+ " ",
15627
+ passenger.name
15628
+ ] }),
15568
15629
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Body1, { className: styles.passengerMeta, children: passengerMeta })
15569
15630
  ] }) }),
15570
15631
  /* @__PURE__ */ jsxRuntime.jsx(reactGridSystem.Col, { xs: "content", children: /* @__PURE__ */ jsxRuntime.jsxs(